/** * Shared chunk shapes for OpenAI Chat / OpenAI-compatible Chat fixture tests. * Multiple test files build the same `{ id, choices: [{ delta, finish_reason }], usage }` * envelope; consolidating here keeps tool-call event shapes consistent. */ const FIXTURE_ID = "chatcmpl_fixture" export const deltaChunk = (delta: object, finishReason: string | null = null) => ({ id: FIXTURE_ID, choices: [{ delta, finish_reason: finishReason }], usage: null, }) export const usageChunk = (usage: object) => ({ id: FIXTURE_ID, choices: [], usage, }) export const finishChunk = (reason: string) => deltaChunk({}, reason) export const toolCallChunk = (id: string, name: string, args: string, index = 0) => deltaChunk({ role: "assistant", tool_calls: [{ index, id, function: { name, arguments: args } }], })