Skip to content

Commit 601fe03

Browse files
committed
refactor(task): simplify effect wrappers
1 parent 3f4b9d9 commit 601fe03

2 files changed

Lines changed: 11 additions & 14 deletions

File tree

packages/opencode/src/tool/task.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,9 @@ export const TaskTool = Tool.define(
8181
const sessions = yield* Session.Service
8282
const status = yield* SessionStatus.Service
8383

84-
const run = Effect.fn("TaskTool.execute")(function* (
85-
params: Schema.Schema.Type<typeof Parameters>,
86-
ctx: Tool.Context,
87-
) {
84+
const run = Effect.fn(
85+
"TaskTool.execute",
86+
)(function* (params: Schema.Schema.Type<typeof Parameters>, ctx: Tool.Context) {
8887
const cfg = yield* config.get()
8988

9089
if (!ctx.extra?.bypassAgentCheck) {
@@ -274,13 +273,12 @@ export const TaskTool = Tool.define(
274273
ctx.abort.removeEventListener("abort", cancel)
275274
}),
276275
)
277-
})
276+
}, Effect.orDie)
278277

279278
return {
280279
description: DESCRIPTION,
281280
parameters: Parameters,
282-
execute: (params: Schema.Schema.Type<typeof Parameters>, ctx: Tool.Context) =>
283-
run(params, ctx).pipe(Effect.orDie),
281+
execute: run,
284282
}
285283
}),
286284
)

packages/opencode/src/tool/task_status.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,13 @@ export const TaskStatusTool = Tool.define(
110110
if (result.state !== "running") return { result, timedOut: false }
111111
if (timeout <= 0) return { result, timedOut: true }
112112
const sleep = Math.min(POLL_MS, timeout)
113-
yield* Effect.sleep(`${sleep} millis`)
113+
yield* Effect.sleep(sleep)
114114
return yield* waitForTerminal(taskID, timeout - sleep)
115115
})
116116

117-
const run = Effect.fn("TaskStatusTool.execute")(function* (
118-
params: Schema.Schema.Type<typeof Parameters>,
119-
_ctx: Tool.Context,
120-
) {
117+
const run = Effect.fn(
118+
"TaskStatusTool.execute",
119+
)(function* (params: Schema.Schema.Type<typeof Parameters>, _ctx: Tool.Context) {
121120
yield* sessions.get(params.task_id)
122121

123122
const waited =
@@ -142,12 +141,12 @@ export const TaskStatusTool = Tool.define(
142141
text: outputText,
143142
}),
144143
}
145-
})
144+
}, Effect.orDie)
146145

147146
return {
148147
description: DESCRIPTION,
149148
parameters: Parameters,
150-
execute: (params: Schema.Schema.Type<typeof Parameters>, ctx: Tool.Context) => run(params, ctx).pipe(Effect.orDie),
149+
execute: run,
151150
}
152151
}),
153152
)

0 commit comments

Comments
 (0)