{"version":3,"sources":["../src/streams/assistant-response.ts"],"sourcesContent":["import { AssistantMessage, formatStreamPart } from \"@copilotkit/shared\";\n\nexport function experimental_AssistantResponse(\n  { threadId, messageId }: { threadId: string; messageId: string },\n  process: (stream: {\n    threadId: string;\n    messageId: string;\n    sendMessage: (message: AssistantMessage) => void;\n  }) => Promise<void>,\n): Response {\n  const stream = new ReadableStream({\n    async start(controller): Promise<void> {\n      const textEncoder = new TextEncoder();\n\n      const sendMessage = (message: AssistantMessage) => {\n        controller.enqueue(textEncoder.encode(formatStreamPart(\"assistant_message\", message)));\n      };\n\n      const sendError = (errorMessage: string) => {\n        controller.enqueue(textEncoder.encode(formatStreamPart(\"error\", errorMessage)));\n      };\n\n      // send the threadId and messageId as the first message:\n      controller.enqueue(\n        textEncoder.encode(\n          formatStreamPart(\"assistant_control_data\", {\n            threadId,\n            messageId,\n          }),\n        ),\n      );\n\n      try {\n        await process({\n          threadId,\n          messageId,\n          sendMessage,\n        });\n      } catch (error) {\n        sendError((error as any).message ?? `${error}`);\n      } finally {\n        controller.close();\n      }\n    },\n    pull(controller) {},\n    cancel() {},\n  });\n\n  return new Response(stream, {\n    status: 200,\n    headers: {\n      \"Content-Type\": \"application/json\",\n    },\n  });\n}\n"],"mappings":";AAAA,SAA2B,wBAAwB;AAE5C,SAAS,+BACd,EAAE,UAAU,UAAU,GACtB,SAKU;AACV,QAAM,SAAS,IAAI,eAAe;AAAA,IAChC,MAAM,MAAM,YAA2B;AACrC,YAAM,cAAc,IAAI,YAAY;AAEpC,YAAM,cAAc,CAAC,YAA8B;AACjD,mBAAW,QAAQ,YAAY,OAAO,iBAAiB,qBAAqB,OAAO,CAAC,CAAC;AAAA,MACvF;AAEA,YAAM,YAAY,CAAC,iBAAyB;AAC1C,mBAAW,QAAQ,YAAY,OAAO,iBAAiB,SAAS,YAAY,CAAC,CAAC;AAAA,MAChF;AAGA,iBAAW;AAAA,QACT,YAAY;AAAA,UACV,iBAAiB,0BAA0B;AAAA,YACzC;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAEA,UAAI;AACF,cAAM,QAAQ;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH,SAAS,OAAP;AACA,kBAAW,MAAc,WAAW,GAAG,OAAO;AAAA,MAChD,UAAE;AACA,mBAAW,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,IACA,KAAK,YAAY;AAAA,IAAC;AAAA,IAClB,SAAS;AAAA,IAAC;AAAA,EACZ,CAAC;AAED,SAAO,IAAI,SAAS,QAAQ;AAAA,IAC1B,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,gBAAgB;AAAA,IAClB;AAAA,EACF,CAAC;AACH;","names":[]}