UNPKG

@assistant-ui/react

Version:

React components for AI chat.

110 lines (109 loc) 3.76 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/runtimes/edge/streams/assistantEncoderStream.ts var assistantEncoderStream_exports = {}; __export(assistantEncoderStream_exports, { assistantEncoderStream: () => assistantEncoderStream }); module.exports = __toCommonJS(assistantEncoderStream_exports); var import_AssistantStreamChunkType = require("./AssistantStreamChunkType.cjs"); function assistantEncoderStream() { const toolCalls = /* @__PURE__ */ new Set(); return new TransformStream({ transform(chunk, controller) { const chunkType = chunk.type; switch (chunkType) { case "text-delta": { if (!chunk.textDelta) break; controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.TextDelta, value: chunk.textDelta }); break; } case "tool-call-delta": { if (!toolCalls.has(chunk.toolCallId)) { toolCalls.add(chunk.toolCallId); controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.ToolCallBegin, value: { toolCallId: chunk.toolCallId, toolName: chunk.toolName } }); } controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.ToolCallDelta, value: { toolCallId: chunk.toolCallId, argsTextDelta: chunk.argsTextDelta } }); break; } // ignore case "tool-call": case "response-metadata": break; case "tool-result": { controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.ToolCallResult, value: { toolCallId: chunk.toolCallId, result: chunk.result } }); break; } case "step-finish": { const { type, ...rest } = chunk; controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.StepFinish, value: rest }); break; } case "finish": { const { type, ...rest } = chunk; controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.Finish, value: rest }); break; } case "error": { controller.enqueue({ type: import_AssistantStreamChunkType.AssistantStreamChunkType.Error, value: chunk.error }); break; } default: { const unhandledType = chunkType; throw new Error(`Unhandled chunk type: ${unhandledType}`); } } } }); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { assistantEncoderStream }); //# sourceMappingURL=assistantEncoderStream.js.map