2025-12-29 15:30:57 +05:30
|
|
|
import { z } from "zod";
|
|
|
|
|
import { ProviderOptions } from "./message.js";
|
|
|
|
|
|
|
|
|
|
const BaseEvent = z.object({
|
|
|
|
|
providerOptions: ProviderOptions.optional(),
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamReasoningStartEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("reasoning-start"),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamReasoningDeltaEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("reasoning-delta"),
|
|
|
|
|
delta: z.string(),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamReasoningEndEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("reasoning-end"),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamTextStartEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("text-start"),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamTextDeltaEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("text-delta"),
|
|
|
|
|
delta: z.string(),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamTextEndEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("text-end"),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamToolCallEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("tool-call"),
|
|
|
|
|
toolCallId: z.string(),
|
|
|
|
|
toolName: z.string(),
|
|
|
|
|
input: z.any(),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const LlmStepStreamFinishStepEvent = z.object({
|
|
|
|
|
type: z.literal("finish-step"),
|
|
|
|
|
finishReason: z.enum(["stop", "tool-calls", "length", "content-filter", "error", "other", "unknown"]),
|
|
|
|
|
usage: z.object({
|
|
|
|
|
inputTokens: z.number().optional(),
|
|
|
|
|
outputTokens: z.number().optional(),
|
|
|
|
|
totalTokens: z.number().optional(),
|
|
|
|
|
reasoningTokens: z.number().optional(),
|
|
|
|
|
cachedInputTokens: z.number().optional(),
|
|
|
|
|
}),
|
|
|
|
|
providerOptions: ProviderOptions.optional(),
|
|
|
|
|
});
|
|
|
|
|
|
2026-02-16 08:34:51 +05:30
|
|
|
export const LlmStepStreamErrorEvent = BaseEvent.extend({
|
|
|
|
|
type: z.literal("error"),
|
|
|
|
|
error: z.string(),
|
|
|
|
|
});
|
|
|
|
|
|
2025-12-29 15:30:57 +05:30
|
|
|
export const LlmStepStreamEvent = z.union([
|
|
|
|
|
LlmStepStreamReasoningStartEvent,
|
|
|
|
|
LlmStepStreamReasoningDeltaEvent,
|
|
|
|
|
LlmStepStreamReasoningEndEvent,
|
|
|
|
|
LlmStepStreamTextStartEvent,
|
|
|
|
|
LlmStepStreamTextDeltaEvent,
|
|
|
|
|
LlmStepStreamTextEndEvent,
|
|
|
|
|
LlmStepStreamToolCallEvent,
|
|
|
|
|
LlmStepStreamFinishStepEvent,
|
2026-02-16 08:34:51 +05:30
|
|
|
LlmStepStreamErrorEvent,
|
|
|
|
|
]);
|