mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-15 00:52:35 +00:00
28 lines
827 B
TypeScript
28 lines
827 B
TypeScript
/**
|
|
* 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 } }],
|
|
})
|