fix(session-manager): add missing context parameter to tool execute functions

The tool() wrapper from @opencode-ai/plugin requires execute(args, context: ToolContext) signature. Updated all session-manager tool functions (session_list, session_read, session_search, session_info) to accept the context parameter, and updated corresponding tests with mockContext.

🤖 Generated with assistance of OhMyOpenCode
This commit is contained in:
YeonGyu-Kim
2025-12-25 18:31:35 +09:00
parent f06c36a75a
commit 9496e5eee0
2 changed files with 24 additions and 16 deletions
+20 -12
View File
@@ -1,15 +1,23 @@
import { describe, test, expect } from "bun:test"
import { session_list, session_read, session_search, session_info } from "./tools"
import type { ToolContext } from "@opencode-ai/plugin/tool"
const mockContext: ToolContext = {
sessionID: "test-session",
messageID: "test-message",
agent: "test-agent",
abort: new AbortController().signal,
}
describe("session-manager tools", () => {
test("session_list executes without error", async () => {
const result = await session_list.execute({})
const result = await session_list.execute({}, mockContext)
expect(typeof result).toBe("string")
})
test("session_list respects limit parameter", async () => {
const result = await session_list.execute({ limit: 5 })
const result = await session_list.execute({ limit: 5 }, mockContext)
expect(typeof result).toBe("string")
})
@@ -18,13 +26,13 @@ describe("session-manager tools", () => {
const result = await session_list.execute({
from_date: "2025-12-01T00:00:00Z",
to_date: "2025-12-31T23:59:59Z",
})
}, mockContext)
expect(typeof result).toBe("string")
})
test("session_read handles non-existent session", async () => {
const result = await session_read.execute({ session_id: "ses_nonexistent" })
const result = await session_read.execute({ session_id: "ses_nonexistent" }, mockContext)
expect(result).toContain("not found")
})
@@ -34,7 +42,7 @@ describe("session-manager tools", () => {
session_id: "ses_test123",
include_todos: true,
include_transcript: true,
})
}, mockContext)
expect(typeof result).toBe("string")
})
@@ -43,13 +51,13 @@ describe("session-manager tools", () => {
const result = await session_read.execute({
session_id: "ses_test123",
limit: 10,
})
}, mockContext)
expect(typeof result).toBe("string")
})
test("session_search executes without error", async () => {
const result = await session_search.execute({ query: "test" })
const result = await session_search.execute({ query: "test" }, mockContext)
expect(typeof result).toBe("string")
})
@@ -58,7 +66,7 @@ describe("session-manager tools", () => {
const result = await session_search.execute({
query: "test",
session_id: "ses_test123",
})
}, mockContext)
expect(typeof result).toBe("string")
})
@@ -67,7 +75,7 @@ describe("session-manager tools", () => {
const result = await session_search.execute({
query: "TEST",
case_sensitive: true,
})
}, mockContext)
expect(typeof result).toBe("string")
})
@@ -76,19 +84,19 @@ describe("session-manager tools", () => {
const result = await session_search.execute({
query: "test",
limit: 5,
})
}, mockContext)
expect(typeof result).toBe("string")
})
test("session_info handles non-existent session", async () => {
const result = await session_info.execute({ session_id: "ses_nonexistent" })
const result = await session_info.execute({ session_id: "ses_nonexistent" }, mockContext)
expect(result).toContain("not found")
})
test("session_info executes with valid session", async () => {
const result = await session_info.execute({ session_id: "ses_test123" })
const result = await session_info.execute({ session_id: "ses_test123" }, mockContext)
expect(typeof result).toBe("string")
})