diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/question/service.ts | 7 |
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[] }) { |
