diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 2fb4aa556..74874f669 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -1447,6 +1447,34 @@ ToolRegistry.register({ }, }) +ToolRegistry.register({ + name: "codesearch", + container: "inline", + render(props: ToolProps) { + const input = props.input as any + const metadata = props.metadata as any + return ( + + Exa Code Search "{input.query}" ({metadata.results} results) + + ) + }, +}) + +ToolRegistry.register({ + name: "websearch", + container: "inline", + render(props: ToolProps) { + const input = props.input as any + const metadata = props.metadata as any + return ( + + Exa Web Search "{input.query}" ({metadata.numResults} results) + + ) + }, +}) + ToolRegistry.register({ name: "edit", container: "block", diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts index cdebad4bd..4edbd5ace 100644 --- a/packages/opencode/src/flag/flag.ts +++ b/packages/opencode/src/flag/flag.ts @@ -17,7 +17,6 @@ export namespace Flag { // Experimental export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL") export const OPENCODE_EXPERIMENTAL_WATCHER = OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_WATCHER") - export const OPENCODE_EXPERIMENTAL_EXA = OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_EXA") function truthy(key: string) { const value = process.env[key]?.toLowerCase() diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index a741e12be..adeab43f6 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -97,8 +97,9 @@ export namespace ToolRegistry { WebFetchTool, TodoWriteTool, TodoReadTool, + WebSearchTool, + CodeSearchTool, ...(config.experimental?.batch_tool === true ? [BatchTool] : []), - ...(Flag.OPENCODE_EXPERIMENTAL_EXA ? [WebSearchTool, CodeSearchTool] : []), ...custom, ] }