summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/question/service.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/opencode/src/question/service.ts b/packages/opencode/src/question/service.ts
index 4a151f908..30a47bee9 100644
--- a/packages/opencode/src/question/service.ts
+++ b/packages/opencode/src/question/service.ts
@@ -129,7 +129,12 @@ export class QuestionService extends ServiceMap.Service<QuestionService, Questio
pending.set(id, { info, deferred })
Bus.publish(Event.Asked, info)
- return yield* Deferred.await(deferred)
+ return yield* Effect.ensuring(
+ Deferred.await(deferred),
+ Effect.sync(() => {
+ pending.delete(id)
+ }),
+ )
})
const reply = Effect.fn("QuestionService.reply")(function* (input: { requestID: QuestionID; answers: Answer[] }) {