From 08439a511aaf91de6f4f979d6910ff41d49827e5 Mon Sep 17 00:00:00 2001 From: justsisyphus Date: Sun, 1 Feb 2026 14:16:28 +0900 Subject: [PATCH] fix(test): add missing ToolContext fields to test mocks @opencode-ai/plugin ToolContext now requires directory, worktree, metadata, and ask fields. Updated all tool test mocks to comply. --- src/tools/look-at/tools.test.ts | 19 ++++++++++++++++--- src/tools/session-manager/tools.test.ts | 6 ++++++ src/tools/skill-mcp/tools.test.ts | 7 ++++++- src/tools/skill/tools.test.ts | 7 ++++++- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/tools/look-at/tools.test.ts b/src/tools/look-at/tools.test.ts index eef461f28..55ffb9bc1 100644 --- a/src/tools/look-at/tools.test.ts +++ b/src/tools/look-at/tools.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "bun:test" +import type { ToolContext } from "@opencode-ai/plugin/tool" import { normalizeArgs, validateArgs, createLookAt } from "./tools" describe("look-at tool", () => { @@ -92,11 +93,15 @@ describe("look-at tool", () => { directory: "/project", } as any) - const toolContext = { + const toolContext: ToolContext = { sessionID: "parent-session", messageID: "parent-message", agent: "sisyphus", + directory: "/project", + worktree: "/project", abort: new AbortController().signal, + metadata: () => {}, + ask: async () => {}, } const result = await tool.execute( @@ -130,11 +135,15 @@ describe("look-at tool", () => { directory: "/project", } as any) - const toolContext = { + const toolContext: ToolContext = { sessionID: "parent-session", messageID: "parent-message", agent: "sisyphus", + directory: "/project", + worktree: "/project", abort: new AbortController().signal, + metadata: () => {}, + ask: async () => {}, } const result = await tool.execute( @@ -186,11 +195,15 @@ describe("look-at tool", () => { directory: "/project", } as any) - const toolContext = { + const toolContext: ToolContext = { sessionID: "parent-session", messageID: "parent-message", agent: "sisyphus", + directory: "/project", + worktree: "/project", abort: new AbortController().signal, + metadata: () => {}, + ask: async () => {}, } await tool.execute( diff --git a/src/tools/session-manager/tools.test.ts b/src/tools/session-manager/tools.test.ts index a44f7dbe7..233595cb9 100644 --- a/src/tools/session-manager/tools.test.ts +++ b/src/tools/session-manager/tools.test.ts @@ -2,11 +2,17 @@ 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 projectDir = "/Users/yeongyu/local-workspaces/oh-my-opencode" + const mockContext: ToolContext = { sessionID: "test-session", messageID: "test-message", agent: "test-agent", + directory: projectDir, + worktree: projectDir, abort: new AbortController().signal, + metadata: () => {}, + ask: async () => {}, } describe("session-manager tools", () => { diff --git a/src/tools/skill-mcp/tools.test.ts b/src/tools/skill-mcp/tools.test.ts index a8184fe49..43622617b 100644 --- a/src/tools/skill-mcp/tools.test.ts +++ b/src/tools/skill-mcp/tools.test.ts @@ -1,4 +1,5 @@ import { describe, it, expect, beforeEach, mock } from "bun:test" +import type { ToolContext } from "@opencode-ai/plugin/tool" import { createSkillMcpTool, applyGrepFilter } from "./tools" import { SkillMcpManager } from "../../features/skill-mcp-manager" import type { LoadedSkill } from "../../features/opencode-skill-loader/types" @@ -18,11 +19,15 @@ function createMockSkillWithMcp(name: string, mcpServers: Record {}, + ask: async () => {}, } describe("skill_mcp tool", () => { diff --git a/src/tools/skill/tools.test.ts b/src/tools/skill/tools.test.ts index ee042274d..1d93101ae 100644 --- a/src/tools/skill/tools.test.ts +++ b/src/tools/skill/tools.test.ts @@ -1,4 +1,5 @@ import { describe, it, expect, beforeEach, mock, spyOn } from "bun:test" +import type { ToolContext } from "@opencode-ai/plugin/tool" import * as fs from "node:fs" import { createSkillTool } from "./tools" import { SkillMcpManager } from "../../features/skill-mcp-manager" @@ -50,11 +51,15 @@ function createMockSkillWithMcp(name: string, mcpServers: Record {}, + ask: async () => {}, } describe("skill tool - synchronous description", () => {