UNPKG

assistant-stream

Version:

Streaming utilities for AI assistants

44 lines (43 loc) • 1.3 kB
import { asAsyncIterableStream } from "../../utils/AsyncIterableStream.js"; import { AssistantMessageAccumulator } from "./assistant-message-accumulator.js"; // src/core/accumulators/AssistantMessageStream.ts var AssistantMessageStream = class AssistantMessageStream { readable; constructor(readable) { this.readable = readable; } static fromAssistantStream(stream) { return new AssistantMessageStream(stream.pipeThrough(new AssistantMessageAccumulator())); } /** @deprecated Experimental since 2025-01-14. Not scheduled for removal; the API may change in any release. */ async unstable_result() { let last; for await (const chunk of this) last = chunk; if (!last) return { role: "assistant", status: { type: "complete", reason: "unknown" }, parts: [], content: [], metadata: { unstable_state: null, unstable_data: [], unstable_annotations: [], steps: [], custom: {} } }; return last; } [Symbol.asyncIterator]() { return asAsyncIterableStream(this.readable)[Symbol.asyncIterator](); } tee() { const [readable1, readable2] = this.readable.tee(); return [new AssistantMessageStream(readable1), new AssistantMessageStream(readable2)]; } }; export { AssistantMessageStream }; //# sourceMappingURL=AssistantMessageStream.js.map