UNPKG

@baseai/core

Version:

The Web AI Framework's core - BaseAI.dev

75 lines (73 loc) 2.54 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/helpers/index.ts var helpers_exports = {}; __export(helpers_exports, { fromReadableStream: () => fromReadableStream, getRunner: () => getRunner, getTextPart: () => getTextPart, getToolsFromStream: () => getToolsFromStream, handleResponseStream: () => handleResponseStream }); module.exports = __toCommonJS(helpers_exports); // src/helpers/stream.ts var import_ChatCompletionStream = require("openai/lib/ChatCompletionStream"); var import_streaming = require("openai/streaming"); var fromReadableStream = (readableStream) => { return import_ChatCompletionStream.ChatCompletionStream.fromReadableStream(readableStream); }; var getRunner = (readableStream) => { return fromReadableStream(readableStream); }; var getTextPart = (chunk) => { var _a, _b; return ((_b = (_a = chunk.choices[0]) == null ? void 0 : _a.delta) == null ? void 0 : _b.content) || ""; }; function handleResponseStream({ response, rawResponse }) { const controller = new AbortController(); const streamSSE = import_streaming.Stream.fromSSEResponse(response, controller); const stream = streamSSE.toReadableStream(); const result = { stream, threadId: response.headers.get("lb-thread-id") }; if (rawResponse) { result.rawResponse = { headers: Object.fromEntries(response.headers.entries()) }; } return result; } async function getToolsFromStream(stream) { let run = getRunner(stream); const { choices } = await run.finalChatCompletion(); return choices[0].message.tool_calls; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { fromReadableStream, getRunner, getTextPart, getToolsFromStream, handleResponseStream }); //# sourceMappingURL=index.js.map