summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--bun.lock1
-rw-r--r--packages/opencode/src/tool/registry.ts3
-rw-r--r--packages/plugin/package.json1
-rw-r--r--packages/plugin/src/tool.ts3
4 files changed, 5 insertions, 3 deletions
diff --git a/bun.lock b/bun.lock
index 3d6bf4f0f..cdffa8ea4 100644
--- a/bun.lock
+++ b/bun.lock
@@ -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 = {