handlers
.handle("chat", ({ payload }) =>
pipe(
Effect.gen(function* () {
const { messages, id: sessionId } = payload
const chatService = yield* ChatService
const abort = new AbortController()
yield* Effect.addFinalizer(() => Effect.succeed(abort.abort()))
return yield* chatService.chat({
sessionId,
messages: messages as DialogMessage[],
signal: abort.signal,
})
}),
...
handlers
.handle("chat", ({ payload }) =>
pipe(
Effect.gen(function* () {
const { messages, id: sessionId } = payload
const chatService = yield* ChatService
const abort = new AbortController()
yield* Effect.addFinalizer(() => Effect.succeed(abort.abort()))
return yield* chatService.chat({
sessionId,
messages: messages as DialogMessage[],
signal: abort.signal,
})
}),
...