fix: use ctx.directory instead of process.cwd() in tools for Desktop app support

Convert grep, glob, ast-grep, and session-manager tools from static exports to factory functions that receive PluginInput context. This allows them to use ctx.directory instead of process.cwd(), fixing issue #658 where tools search from wrong directory in OpenCode Desktop app.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-02-07 19:04:31 +09:00
parent 4d7f85a7c3
commit ad17f5eb0a
10 changed files with 282 additions and 287 deletions
+4 -22
View File
@@ -10,21 +10,11 @@ import {
export { lspManager }
import {
ast_grep_search,
ast_grep_replace,
} from "./ast-grep"
import { grep } from "./grep"
import { glob } from "./glob"
export { createAstGrepTools } from "./ast-grep"
export { createGrepTools } from "./grep"
export { createGlobTools } from "./glob"
export { createSlashcommandTool, discoverCommandsSync } from "./slashcommand"
import {
session_list,
session_read,
session_search,
session_info,
} from "./session-manager"
export { createSessionManagerTools } from "./session-manager"
export { sessionExists } from "./session-manager/storage"
@@ -70,12 +60,4 @@ export const builtinTools: Record<string, ToolDefinition> = {
lsp_diagnostics,
lsp_prepare_rename,
lsp_rename,
ast_grep_search,
ast_grep_replace,
grep,
glob,
session_list,
session_read,
session_search,
session_info,
}