UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

50 lines (49 loc) 1.29 kB
import { EventType } from "@ag-ui/core"; import { toRunErrorPayload } from "./error-payload.js"; function createId(prefix) { return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`; } async function* streamGenerationResult(generator, options) { const runId = createId("run"); const threadId = createId("thread"); yield { type: EventType.RUN_STARTED, runId, threadId, timestamp: Date.now() }; try { const result = await generator(); yield { type: EventType.CUSTOM, name: "generation:result", value: result, timestamp: Date.now() }; yield { type: EventType.RUN_FINISHED, runId, threadId, finishReason: "stop", timestamp: Date.now() }; } catch (error) { const payload = toRunErrorPayload(error, "Generation failed"); const codeFields = payload.code !== void 0 ? { code: payload.code } : void 0; yield { type: EventType.RUN_ERROR, message: payload.message, ...codeFields, // Deprecated nested form for backward compatibility error: { message: payload.message, ...codeFields }, timestamp: Date.now() }; } } export { streamGenerationResult }; //# sourceMappingURL=stream-generation-result.js.map