diff options
| author | Kit Langton <[email protected]> | 2026-04-10 23:50:50 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-10 23:50:50 -0400 |
| commit | d84cc337428d3825caba14f97ec463c7781b5c77 (patch) | |
| tree | 477b354a5b5179ece35c8b6e6e203825a3f8f3ff | |
| parent | c92c462148a48a9e9496735f7754a69e4a695b31 (diff) | |
| download | opencode-d84cc337428d3825caba14f97ec463c7781b5c77.tar.gz opencode-d84cc337428d3825caba14f97ec463c7781b5c77.zip | |
refactor(plugin): return Effect from ToolContext.ask (#21986)
| -rw-r--r-- | bun.lock | 1 | ||||
| -rw-r--r-- | packages/opencode/src/tool/registry.ts | 3 | ||||
| -rw-r--r-- | packages/plugin/package.json | 1 | ||||
| -rw-r--r-- | packages/plugin/src/tool.ts | 3 |
4 files changed, 5 insertions, 3 deletions
@@ -450,6 +450,7 @@ "version": "1.4.3", "dependencies": { "@opencode-ai/sdk": "workspace:*", + "effect": "catalog:", "zod": "catalog:", }, "devDependencies": { diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 0cd6d312f..afb19a468 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -30,7 +30,6 @@ import { Glob } from "../util/glob" import path from "path" import { pathToFileURL } from "url" import { Effect, Layer, Context } from "effect" -import { EffectLogger } from "@/effect/logger" import { FetchHttpClient, HttpClient } from "effect/unstable/http" import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner" import * as CrossSpawnSpawner from "@/effect/cross-spawn-spawner" @@ -137,7 +136,7 @@ export namespace ToolRegistry { Effect.gen(function* () { const pluginCtx: PluginToolContext = { ...toolCtx, - ask: (req) => Effect.runPromise(toolCtx.ask(req).pipe(Effect.provide(EffectLogger.layer))), + ask: (req) => toolCtx.ask(req), directory: ctx.directory, worktree: ctx.worktree, } diff --git a/packages/plugin/package.json b/packages/plugin/package.json index ced1523da..ba4735371 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -18,6 +18,7 @@ ], "dependencies": { "@opencode-ai/sdk": "workspace:*", + "effect": "catalog:", "zod": "catalog:" }, "peerDependencies": { diff --git a/packages/plugin/src/tool.ts b/packages/plugin/src/tool.ts index 23aa512d9..b568d0371 100644 --- a/packages/plugin/src/tool.ts +++ b/packages/plugin/src/tool.ts @@ -1,4 +1,5 @@ import { z } from "zod" +import { Effect } from "effect" export type ToolContext = { sessionID: string @@ -16,7 +17,7 @@ export type ToolContext = { worktree: string abort: AbortSignal metadata(input: { title?: string; metadata?: { [key: string]: any } }): void - ask(input: AskInput): Promise<void> + ask(input: AskInput): Effect.Effect<void> } type AskInput = { |
