콘텐츠로 이동

IRStreamEvent

이 콘텐츠는 아직 번역되지 않았습니다.

type IRStreamEvent =
| {
model: string;
t: "message_start";
}
| {
block: | {
t: "text";
text: string;
}
| {
signature?: string;
t: "thinking";
text: string;
}
| {
payload?: unknown;
provider: string;
t: "opaque";
}
| {
args?: unknown;
id: string;
name: string;
t: "tool_call";
}
| {
callId: string;
content: (
| {
t: "text";
text: string;
}
| {
data: string;
mime: string;
t: "image";
})[];
isError?: boolean;
t: "tool_result";
}
| {
data: string;
mime: string;
t: "image";
};
index: number;
t: "block_start";
}
| {
index: number;
t: "text_delta";
text: string;
}
| {
index: number;
t: "thinking_delta";
text: string;
}
| {
index: number;
t: "signature_delta";
text: string;
}
| {
index: number;
json: string;
t: "tool_args_delta";
}
| {
index: number;
t: "block_stop";
}
| {
stopReason: string;
t: "message_stop";
ttftMs?: number;
usage?: {
cacheCreationInputTokens?: number;
cacheDeletedInputTokens?: number;
cacheReadInputTokens?: number;
dims?: Record<string, number>;
inputTokens: number;
outputTokens: number;
reasoningOutputTokens?: number;
saved?: string;
};
}
| {
detail?: Record<string, unknown>;
idempotencyConsumed?: boolean;
kind: | "rate_limited"
| "context_overflow"
| "auth"
| "server"
| "network"
| "connect"
| "stream_interrupted"
| "invalid_request"
| "policy_denied";
message: string;
recoverable: boolean;
retryAfterMs?: number;
retrySummary?: {
attempts: number;
elapsedMs: number;
};
t: "error";
};

类型化流事件(IRStreamEventSchema 推导)。