@qwen-code/arena-agent 0.0.10-dev.16 → 0.0.10-dev.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +5 -4
- package/CHANGELOG.md +34 -1
- package/README.md +18 -12
- package/dist/agent.js +31 -9
- package/dist/agent.js.map +1 -1
- package/dist/anthropic.js +33 -49
- package/dist/anthropic.js.map +1 -1
- package/dist/attachment-limits.d.ts +4 -0
- package/dist/attachment-limits.js +10 -0
- package/dist/attachment-limits.js.map +1 -0
- package/dist/attachments.d.ts +4 -2
- package/dist/attachments.js +9 -11
- package/dist/attachments.js.map +1 -1
- package/dist/brave-search.js +4 -3
- package/dist/brave-search.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/compaction-threshold.d.ts +3 -0
- package/dist/compaction-threshold.js +6 -0
- package/dist/compaction-threshold.js.map +1 -0
- package/dist/compaction.d.ts +4 -3
- package/dist/compaction.js +72 -39
- package/dist/compaction.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +8 -8
- package/dist/config.js.map +1 -1
- package/dist/history.js +2 -1
- package/dist/history.js.map +1 -1
- package/dist/image-input-fallback.js +5 -0
- package/dist/image-input-fallback.js.map +1 -1
- package/dist/mode.js +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/model-stream.d.ts +16 -0
- package/dist/model-stream.js +129 -0
- package/dist/model-stream.js.map +1 -0
- package/dist/openai-responses.d.ts +1 -0
- package/dist/openai-responses.js +79 -85
- package/dist/openai-responses.js.map +1 -1
- package/dist/provider.js +42 -33
- package/dist/provider.js.map +1 -1
- package/dist/server.js +16 -11
- package/dist/server.js.map +1 -1
- package/dist/session-memory-prompts.d.ts +1 -0
- package/dist/session-memory-prompts.js +2 -1
- package/dist/session-memory-prompts.js.map +1 -1
- package/dist/side-query.js +5 -0
- package/dist/side-query.js.map +1 -1
- package/dist/startup-config.js +2 -1
- package/dist/startup-config.js.map +1 -1
- package/dist/summary-compaction.js +5 -0
- package/dist/summary-compaction.js.map +1 -1
- package/dist/tui.js +3 -0
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/web/app.js +22 -5
- package/dist/web/app.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +36 -4
- package/docs/MODES_AND_RELEASES.md +7 -2
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export const INCOMPLETE_MODEL_RESPONSE = "ARENA_INCOMPLETE_MODEL_RESPONSE";
|
|
2
|
+
export const TRANSIENT_MODEL_ERROR = "ARENA_UPSTREAM_TRANSIENT";
|
|
3
|
+
export const CAPACITY_MODEL_ERROR = "ARENA_UPSTREAM_CAPACITY";
|
|
4
|
+
export function isCapacityErrorMessage(message) {
|
|
5
|
+
const normalized = message.toLowerCase();
|
|
6
|
+
return normalized.includes("experiencing high demand") ||
|
|
7
|
+
normalized.includes("maximum usage size allowed during peak load") ||
|
|
8
|
+
normalized.includes("provisioned throughput");
|
|
9
|
+
}
|
|
10
|
+
const transientTypes = new Set([
|
|
11
|
+
"api_error", "overloaded_error", "rate_limit_error", "rate_limit_exceeded",
|
|
12
|
+
"request_timeout", "server_error", "service_unavailable", "temporarily_unavailable", "timeout",
|
|
13
|
+
"internal_server_error", "service_unavailable_error", "timeout_error",
|
|
14
|
+
].map(value => value.replace(/_/g, "")));
|
|
15
|
+
export function modelErrorStatus(...values) {
|
|
16
|
+
return values.map(value => typeof value === "number" || typeof value === "string" ? Number(value) : NaN)
|
|
17
|
+
.find(value => Number.isInteger(value) && value >= 100 && value <= 599);
|
|
18
|
+
}
|
|
19
|
+
export function modelErrorCode(...values) {
|
|
20
|
+
const value = values.find(value => (typeof value === "string" && value) ||
|
|
21
|
+
(typeof value === "number" && Number.isFinite(value)));
|
|
22
|
+
return value === undefined ? undefined : String(value);
|
|
23
|
+
}
|
|
24
|
+
export function isTransientModelError(code, type, status) {
|
|
25
|
+
// An explicit HTTP error status is more specific than a generic APIError.
|
|
26
|
+
if (status !== undefined)
|
|
27
|
+
return status === 408 || status === 409 || status === 429 || (status >= 500 && status <= 599);
|
|
28
|
+
return [code, type].some(value => value !== undefined && transientTypes.has(value.toLowerCase().replace(/[_-]/g, "")));
|
|
29
|
+
}
|
|
30
|
+
export function incompleteModelResponse(message) {
|
|
31
|
+
return Object.assign(new Error(message), { code: INCOMPLETE_MODEL_RESPONSE });
|
|
32
|
+
}
|
|
33
|
+
/** Tool-free callers must not publish text from an explicitly unfinished turn. */
|
|
34
|
+
export function assertCompleteTextResponse(finishReason) {
|
|
35
|
+
if (finishReason && finishReason !== "stop") {
|
|
36
|
+
throw new Error(`Model text response was incomplete (finish_reason=${finishReason})`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function modelResponseJson(response) {
|
|
40
|
+
let value;
|
|
41
|
+
try {
|
|
42
|
+
value = await response.json();
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof SyntaxError)
|
|
46
|
+
throw incompleteModelResponse("Model response contained invalid JSON");
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
50
|
+
throw incompleteModelResponse("Model response is not an object");
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
export function modelRecord(value) {
|
|
54
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
55
|
+
? value : {};
|
|
56
|
+
}
|
|
57
|
+
/** Preserve upstream error metadata even when HTTP headers already said 200. */
|
|
58
|
+
export function upstreamModelError(event, protocol) {
|
|
59
|
+
const error = modelRecord(event.error);
|
|
60
|
+
const text = (...values) => values.find(value => typeof value === "string" && value);
|
|
61
|
+
const upstreamCode = modelErrorCode(error.code, event.code);
|
|
62
|
+
const upstreamType = text(error.type, event.type === "error" ? undefined : event.type);
|
|
63
|
+
const status = modelErrorStatus(error.status, error.status_code, event.status, event.status_code, error.code, event.code);
|
|
64
|
+
const transient = isTransientModelError(upstreamCode, upstreamType, status);
|
|
65
|
+
const message = text(error.message, event.message, event.error) || "upstream request failed";
|
|
66
|
+
return Object.assign(new Error(`${protocol} error: ${message}`), {
|
|
67
|
+
code: isCapacityErrorMessage(message) ? CAPACITY_MODEL_ERROR : transient ? TRANSIENT_MODEL_ERROR : upstreamCode,
|
|
68
|
+
upstreamCode, upstreamType, status,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/** Decode SSE consistently; each adapter decides what completes its protocol. */
|
|
72
|
+
export async function* modelSseEvents(stream, invalid = incompleteModelResponse) {
|
|
73
|
+
const reader = stream.getReader();
|
|
74
|
+
const decoder = new TextDecoder();
|
|
75
|
+
let buffer = "";
|
|
76
|
+
const parse = (frame) => {
|
|
77
|
+
const lines = frame.split("\n");
|
|
78
|
+
const payload = lines.filter(line => line.startsWith("data:")).map(line => line.slice(5).trimStart()).join("\n");
|
|
79
|
+
if (!payload)
|
|
80
|
+
return;
|
|
81
|
+
if (payload === "[DONE]")
|
|
82
|
+
return payload;
|
|
83
|
+
let value;
|
|
84
|
+
try {
|
|
85
|
+
value = JSON.parse(payload);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
throw invalid("Model stream contained invalid JSON");
|
|
89
|
+
}
|
|
90
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
91
|
+
throw invalid("Model stream contained a non-object event");
|
|
92
|
+
const event = value;
|
|
93
|
+
const eventType = lines.find(line => line.startsWith("event:"))?.slice(6).trim();
|
|
94
|
+
if (eventType === "error" && event.type !== "error" && !event.error) {
|
|
95
|
+
// The SSE name declares a failure; data.type may name its exception class.
|
|
96
|
+
return { ...event, type: "error", error: event };
|
|
97
|
+
}
|
|
98
|
+
if (!event.type && eventType)
|
|
99
|
+
event.type = eventType;
|
|
100
|
+
return event;
|
|
101
|
+
};
|
|
102
|
+
try {
|
|
103
|
+
while (true) {
|
|
104
|
+
const { done, value } = await reader.read();
|
|
105
|
+
buffer = (buffer + decoder.decode(value, { stream: !done })).replace(/\r\n/g, "\n");
|
|
106
|
+
let boundary = buffer.indexOf("\n\n");
|
|
107
|
+
while (boundary !== -1) {
|
|
108
|
+
const event = parse(buffer.slice(0, boundary));
|
|
109
|
+
buffer = buffer.slice(boundary + 2);
|
|
110
|
+
if (event !== undefined)
|
|
111
|
+
yield event;
|
|
112
|
+
boundary = buffer.indexOf("\n\n");
|
|
113
|
+
}
|
|
114
|
+
if (done)
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
const event = parse(buffer);
|
|
118
|
+
if (event !== undefined)
|
|
119
|
+
yield event;
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
try {
|
|
123
|
+
await reader.cancel();
|
|
124
|
+
}
|
|
125
|
+
catch { /* Keep the original failure. */ }
|
|
126
|
+
reader.releaseLock();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=model-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-stream.js","sourceRoot":"","sources":["../src/model-stream.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpD,UAAU,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAClE,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB;IAC1E,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,SAAS;IAC9F,uBAAuB,EAAE,2BAA2B,EAAE,eAAe;CACtE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,GAAG,MAAiB;IACnD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACrG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAG,MAAiB;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC;QACrE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa,EAAE,IAAa,EAAE,MAAe;IACjF,0EAA0E;IAC1E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;IACxH,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACzH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,YAAuC;IAChF,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qDAAqD,YAAY,GAAG,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IACxD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IACtC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,WAAW;YAAE,MAAM,uBAAuB,CAAC,uCAAuC,CAAC,CAAC;QACzG,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,uBAAuB,CAAC,iCAAiC,CAAC,CAAC;IAClI,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,KAA8B,EAAE,QAAgB;IACjF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,GAAG,MAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAuB,CAAC;IACtH,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1H,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC;IAC7F,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,WAAW,OAAO,EAAE,CAAC,EAAE;QAC/D,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY;QAC/G,YAAY,EAAE,YAAY,EAAE,MAAM;KACnC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACnC,MAAkC,EAClC,OAAO,GAA+B,uBAAuB;IAE7D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAkD,EAAE;QAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjH,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QACzC,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACpC,MAAM,CAAC;YAAC,MAAM,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC5H,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpE,2EAA2E;YAC3E,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpF,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAC;gBACrC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,IAAI;gBAAE,MAAM;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -6,6 +6,7 @@ export declare function responsesInput(messages: ModelMessage[]): ResponseInputI
|
|
|
6
6
|
export declare function responsesRequestBody(request: ModelRequest, model: string, includeToolStrict?: boolean): Record<string, unknown>;
|
|
7
7
|
export declare const RESPONSES_CAPACITY_ERROR_CODE = "ARENA_UPSTREAM_CAPACITY";
|
|
8
8
|
export declare const RESPONSES_TRANSIENT_ERROR_CODE = "ARENA_UPSTREAM_TRANSIENT";
|
|
9
|
+
export declare const RESPONSES_INCOMPLETE_STREAM_ERROR_CODE = "ARENA_RESPONSES_INCOMPLETE_STREAM";
|
|
9
10
|
/** Structured failure delivered inside an otherwise-successful Responses SSE request. */
|
|
10
11
|
export declare class OpenAIResponsesStreamError extends Error {
|
|
11
12
|
readonly eventType: string;
|
package/dist/openai-responses.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CAPACITY_MODEL_ERROR, TRANSIENT_MODEL_ERROR, isCapacityErrorMessage, isTransientModelError, modelErrorCode, modelErrorStatus, modelSseEvents } from "./model-stream.js";
|
|
1
2
|
function record(value) {
|
|
2
3
|
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
3
4
|
? value
|
|
@@ -6,14 +7,6 @@ function record(value) {
|
|
|
6
7
|
function stringValue(value) {
|
|
7
8
|
return typeof value === "string" ? value : "";
|
|
8
9
|
}
|
|
9
|
-
function numericValue(value) {
|
|
10
|
-
if (typeof value === "number" && Number.isFinite(value))
|
|
11
|
-
return value;
|
|
12
|
-
if (typeof value !== "string" || !value.trim())
|
|
13
|
-
return undefined;
|
|
14
|
-
const parsed = Number(value);
|
|
15
|
-
return Number.isFinite(parsed) ? parsed : undefined;
|
|
16
|
-
}
|
|
17
10
|
function responsesUserContent(content) {
|
|
18
11
|
if (!Array.isArray(content))
|
|
19
12
|
return content;
|
|
@@ -138,33 +131,9 @@ function responsesUsage(value) {
|
|
|
138
131
|
...(typeof totalTokens === "number" ? { total_tokens: totalTokens } : {}),
|
|
139
132
|
};
|
|
140
133
|
}
|
|
141
|
-
export const RESPONSES_CAPACITY_ERROR_CODE =
|
|
142
|
-
export const RESPONSES_TRANSIENT_ERROR_CODE =
|
|
143
|
-
const
|
|
144
|
-
"overloaded_error",
|
|
145
|
-
"rate_limit_exceeded",
|
|
146
|
-
"request_timeout",
|
|
147
|
-
"server_error",
|
|
148
|
-
"service_unavailable",
|
|
149
|
-
"temporarily_unavailable",
|
|
150
|
-
"timeout",
|
|
151
|
-
]);
|
|
152
|
-
function isCapacityErrorMessage(message) {
|
|
153
|
-
const normalized = message.toLowerCase();
|
|
154
|
-
return (normalized.includes("experiencing high demand") ||
|
|
155
|
-
normalized.includes("maximum usage size allowed during peak load") ||
|
|
156
|
-
normalized.includes("provisioned throughput"));
|
|
157
|
-
}
|
|
158
|
-
function isTransientResponsesError(upstreamCode, upstreamType, status) {
|
|
159
|
-
if (status === 408 ||
|
|
160
|
-
status === 409 ||
|
|
161
|
-
status === 429 ||
|
|
162
|
-
(status !== undefined && status >= 500 && status <= 599)) {
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
return [upstreamCode, upstreamType].some((value) => value !== undefined &&
|
|
166
|
-
transientResponsesErrorIdentifiers.has(value.toLowerCase()));
|
|
167
|
-
}
|
|
134
|
+
export const RESPONSES_CAPACITY_ERROR_CODE = CAPACITY_MODEL_ERROR;
|
|
135
|
+
export const RESPONSES_TRANSIENT_ERROR_CODE = TRANSIENT_MODEL_ERROR;
|
|
136
|
+
export const RESPONSES_INCOMPLETE_STREAM_ERROR_CODE = "ARENA_RESPONSES_INCOMPLETE_STREAM";
|
|
168
137
|
/** Structured failure delivered inside an otherwise-successful Responses SSE request. */
|
|
169
138
|
export class OpenAIResponsesStreamError extends Error {
|
|
170
139
|
eventType;
|
|
@@ -182,7 +151,7 @@ export class OpenAIResponsesStreamError extends Error {
|
|
|
182
151
|
if (isCapacityErrorMessage(options.message)) {
|
|
183
152
|
this.code = RESPONSES_CAPACITY_ERROR_CODE;
|
|
184
153
|
}
|
|
185
|
-
else if (
|
|
154
|
+
else if (isTransientModelError(options.upstreamCode, options.upstreamType, options.status)) {
|
|
186
155
|
this.code = RESPONSES_TRANSIENT_ERROR_CODE;
|
|
187
156
|
}
|
|
188
157
|
else {
|
|
@@ -201,19 +170,31 @@ function responsesError(event) {
|
|
|
201
170
|
return new OpenAIResponsesStreamError({
|
|
202
171
|
message,
|
|
203
172
|
eventType: stringValue(event.type) || "unknown",
|
|
204
|
-
upstreamCode:
|
|
205
|
-
stringValue(responseError.code) ||
|
|
206
|
-
stringValue(event.code) ||
|
|
207
|
-
undefined,
|
|
173
|
+
upstreamCode: modelErrorCode(error.code, responseError.code, event.code),
|
|
208
174
|
upstreamType: stringValue(error.type) ||
|
|
209
175
|
stringValue(responseError.type) ||
|
|
210
176
|
undefined,
|
|
211
|
-
status:
|
|
212
|
-
numericValue(responseError.status) ??
|
|
213
|
-
numericValue(response.status) ??
|
|
214
|
-
numericValue(event.status),
|
|
177
|
+
status: modelErrorStatus(error.status, error.status_code, responseError.status, responseError.status_code, response.status, response.status_code, event.status, event.status_code, error.code, responseError.code, event.code),
|
|
215
178
|
});
|
|
216
179
|
}
|
|
180
|
+
function incompleteResponsesStream(message) {
|
|
181
|
+
return new OpenAIResponsesStreamError({
|
|
182
|
+
message,
|
|
183
|
+
eventType: "stream.incomplete",
|
|
184
|
+
upstreamCode: RESPONSES_INCOMPLETE_STREAM_ERROR_CODE,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function checkResponseStatus(response, terminalStatus) {
|
|
188
|
+
if (response.status === "failed" || Object.keys(record(response.error)).length) {
|
|
189
|
+
throw responsesError({ type: "response.failed", response });
|
|
190
|
+
}
|
|
191
|
+
if (response.status === "cancelled") {
|
|
192
|
+
throw responsesError({ type: "response.cancelled", response });
|
|
193
|
+
}
|
|
194
|
+
if (!["completed", "incomplete"].includes(String(response.status ?? terminalStatus))) {
|
|
195
|
+
throw incompleteResponsesStream("OpenAI Responses response did not reach a terminal status");
|
|
196
|
+
}
|
|
197
|
+
}
|
|
217
198
|
function toolIndex(event, fallback) {
|
|
218
199
|
return typeof event.output_index === "number" ? event.output_index : fallback;
|
|
219
200
|
}
|
|
@@ -241,11 +222,21 @@ function toolDelta(state, values) {
|
|
|
241
222
|
}
|
|
242
223
|
/** Translate native Responses SSE events into Arena's provider-neutral chunks. */
|
|
243
224
|
export async function* responsesChunks(stream) {
|
|
244
|
-
const reader = stream.getReader();
|
|
245
|
-
const decoder = new TextDecoder();
|
|
246
225
|
const tools = new Map();
|
|
247
226
|
const completedItemIndexes = new Set();
|
|
248
|
-
|
|
227
|
+
const textParts = new Map();
|
|
228
|
+
let sawTerminal = false;
|
|
229
|
+
const emitText = function* (index, contentIndex, text, complete = false) {
|
|
230
|
+
const key = `${index}:${contentIndex}`;
|
|
231
|
+
const previous = textParts.get(key) || "";
|
|
232
|
+
if (complete && !text.startsWith(previous)) {
|
|
233
|
+
throw incompleteResponsesStream("OpenAI Responses completed text disagrees with its streamed prefix");
|
|
234
|
+
}
|
|
235
|
+
const delta = complete ? text.slice(previous.length) : text;
|
|
236
|
+
textParts.set(key, complete ? text : previous + text);
|
|
237
|
+
if (delta)
|
|
238
|
+
yield { choices: [{ delta: { content: delta } }] };
|
|
239
|
+
};
|
|
249
240
|
const captureOutputItem = function* (index, item, replace = false) {
|
|
250
241
|
if (!Object.keys(item).length ||
|
|
251
242
|
(!replace && completedItemIndexes.has(index))) {
|
|
@@ -259,16 +250,15 @@ export async function* responsesChunks(stream) {
|
|
|
259
250
|
const processEvent = function* (event) {
|
|
260
251
|
const type = stringValue(event.type);
|
|
261
252
|
const response = record(event.response);
|
|
262
|
-
if (type === "error" || type === "response.failed"
|
|
253
|
+
if (type === "error" || type === "response.failed" || type === "response.cancelled" ||
|
|
254
|
+
Object.keys(record(event.error)).length) {
|
|
263
255
|
throw responsesError(event);
|
|
264
256
|
}
|
|
265
257
|
if (type === "response.created" || type === "response.in_progress") {
|
|
266
258
|
return;
|
|
267
259
|
}
|
|
268
260
|
if (type === "response.output_text.delta" || type === "response.refusal.delta") {
|
|
269
|
-
yield
|
|
270
|
-
choices: [{ delta: { content: stringValue(event.delta) } }],
|
|
271
|
-
};
|
|
261
|
+
yield* emitText(toolIndex(event, 0), typeof event.content_index === "number" ? event.content_index : 0, stringValue(event.delta));
|
|
272
262
|
return;
|
|
273
263
|
}
|
|
274
264
|
if (type === "response.reasoning_summary_text.delta" ||
|
|
@@ -323,6 +313,14 @@ export async function* responsesChunks(stream) {
|
|
|
323
313
|
const index = toolIndex(event, tools.size);
|
|
324
314
|
if (type === "response.output_item.done") {
|
|
325
315
|
yield* captureOutputItem(index, item);
|
|
316
|
+
if (item.type === "message" && Array.isArray(item.content)) {
|
|
317
|
+
for (const [contentIndex, rawPart] of item.content.entries()) {
|
|
318
|
+
const part = record(rawPart);
|
|
319
|
+
if (part.type === "output_text" || part.type === "refusal") {
|
|
320
|
+
yield* emitText(index, contentIndex, stringValue(part.text) || stringValue(part.refusal), true);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
326
324
|
}
|
|
327
325
|
if (type === "response.output_item.done" && item.type !== "function_call") {
|
|
328
326
|
return;
|
|
@@ -336,36 +334,45 @@ export async function* responsesChunks(stream) {
|
|
|
336
334
|
};
|
|
337
335
|
const id = stringValue(item.call_id) || state.id;
|
|
338
336
|
const name = stringValue(item.name) || state.name;
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
337
|
+
if ((state.id && id !== state.id) || (state.name && name !== state.name)) {
|
|
338
|
+
throw incompleteResponsesStream("OpenAI Responses completed tool identity disagrees with its streamed header");
|
|
339
|
+
}
|
|
340
|
+
const completeArguments = typeof event.arguments === "string" ? event.arguments
|
|
341
|
+
: typeof item.arguments === "string" ? item.arguments : undefined;
|
|
342
|
+
if (completeArguments !== undefined && !completeArguments.startsWith(state.arguments)) {
|
|
343
|
+
throw incompleteResponsesStream("OpenAI Responses completed tool arguments disagree with their streamed prefix");
|
|
344
|
+
}
|
|
345
|
+
const suffix = completeArguments?.slice(state.arguments.length) || "";
|
|
346
|
+
const missingId = !state.headerEmitted || !state.id;
|
|
347
|
+
const missingName = !state.headerEmitted || !state.name;
|
|
348
|
+
if (!state.headerEmitted || (missingId && id) || (missingName && name) || suffix) {
|
|
346
349
|
yield {
|
|
347
350
|
...toolDelta(state, {
|
|
348
|
-
...(
|
|
349
|
-
...(
|
|
351
|
+
...(missingId && id ? { id } : {}),
|
|
352
|
+
...(missingName && name ? { name } : {}),
|
|
350
353
|
...(suffix ? { arguments: suffix } : {}),
|
|
351
354
|
}),
|
|
352
355
|
};
|
|
353
356
|
}
|
|
354
357
|
state.id = id;
|
|
355
358
|
state.name = name;
|
|
356
|
-
state.arguments = completeArguments
|
|
359
|
+
state.arguments = completeArguments ?? state.arguments;
|
|
357
360
|
state.headerEmitted = true;
|
|
358
361
|
tools.set(index, state);
|
|
359
362
|
return;
|
|
360
363
|
}
|
|
361
364
|
if (type === "response.completed" || type === "response.incomplete") {
|
|
362
365
|
const completed = response;
|
|
366
|
+
checkResponseStatus(completed, type.slice("response.".length));
|
|
363
367
|
if (Array.isArray(completed.output)) {
|
|
364
368
|
for (const [index, rawItem] of completed.output.entries()) {
|
|
365
369
|
// The completed response is authoritative and may carry fields such
|
|
366
370
|
// as encrypted_content that were absent from an earlier added/done
|
|
367
371
|
// event emitted by a compatible gateway.
|
|
368
372
|
yield* captureOutputItem(index, record(rawItem), true);
|
|
373
|
+
// Some gateways send the final output without all delta/done events.
|
|
374
|
+
// Recover missing text and tool arguments without duplicating deltas.
|
|
375
|
+
yield* processEvent({ type: "response.output_item.done", output_index: index, item: rawItem });
|
|
369
376
|
}
|
|
370
377
|
}
|
|
371
378
|
const incompleteDetails = record(completed.incomplete_details);
|
|
@@ -377,7 +384,7 @@ export async function* responsesChunks(stream) {
|
|
|
377
384
|
choices: [
|
|
378
385
|
{
|
|
379
386
|
delta: {},
|
|
380
|
-
finish_reason: type === "response.incomplete" || incompleteReason
|
|
387
|
+
finish_reason: type === "response.incomplete" || completed.status === "incomplete" || incompleteReason
|
|
381
388
|
? incompleteReason === "max_output_tokens"
|
|
382
389
|
? "length"
|
|
383
390
|
: "incomplete"
|
|
@@ -387,35 +394,22 @@ export async function* responsesChunks(stream) {
|
|
|
387
394
|
},
|
|
388
395
|
],
|
|
389
396
|
};
|
|
397
|
+
sawTerminal = true;
|
|
390
398
|
}
|
|
391
399
|
};
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
.split("\n")
|
|
395
|
-
.filter((line) => line.startsWith("data:"))
|
|
396
|
-
.map((line) => line.slice(5).trimStart())
|
|
397
|
-
.join("\n");
|
|
398
|
-
if (!payload || payload === "[DONE]")
|
|
399
|
-
return;
|
|
400
|
-
yield* processEvent(JSON.parse(payload));
|
|
401
|
-
};
|
|
402
|
-
while (true) {
|
|
403
|
-
const { done, value } = await reader.read();
|
|
404
|
-
buffer += decoder.decode(value, { stream: !done }).replace(/\r\n/g, "\n");
|
|
405
|
-
let boundary = buffer.indexOf("\n\n");
|
|
406
|
-
while (boundary !== -1) {
|
|
407
|
-
yield* consumeFrame(buffer.slice(0, boundary));
|
|
408
|
-
buffer = buffer.slice(boundary + 2);
|
|
409
|
-
boundary = buffer.indexOf("\n\n");
|
|
410
|
-
}
|
|
411
|
-
if (done)
|
|
400
|
+
for await (const event of modelSseEvents(stream, incompleteResponsesStream)) {
|
|
401
|
+
if (event === "[DONE]")
|
|
412
402
|
break;
|
|
403
|
+
yield* processEvent(event);
|
|
404
|
+
if (sawTerminal)
|
|
405
|
+
return;
|
|
413
406
|
}
|
|
414
|
-
if (
|
|
415
|
-
|
|
407
|
+
if (!sawTerminal)
|
|
408
|
+
throw incompleteResponsesStream("OpenAI Responses stream ended before a terminal response event");
|
|
416
409
|
}
|
|
417
410
|
/** Translate a non-streaming Responses object into one Arena chunk. */
|
|
418
411
|
export function responsesFallbackChunk(value) {
|
|
412
|
+
checkResponseStatus(value);
|
|
419
413
|
const output = Array.isArray(value.output) ? value.output : [];
|
|
420
414
|
const content = [];
|
|
421
415
|
const reasoning = [];
|
|
@@ -464,7 +458,7 @@ export function responsesFallbackChunk(value) {
|
|
|
464
458
|
: {}),
|
|
465
459
|
...(toolCalls.length ? { tool_calls: toolCalls } : {}),
|
|
466
460
|
},
|
|
467
|
-
finish_reason: incompleteReason
|
|
461
|
+
finish_reason: value.status === "incomplete" || incompleteReason
|
|
468
462
|
? incompleteReason === "max_output_tokens"
|
|
469
463
|
? "length"
|
|
470
464
|
: "incomplete"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../src/openai-responses.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../src/openai-responses.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.js
CHANGED
|
@@ -2,6 +2,7 @@ import crypto from "node:crypto";
|
|
|
2
2
|
import { anthropicChunks, anthropicFallbackChunk, anthropicRequestBody, } from "./anthropic.js";
|
|
3
3
|
import { codeArenaRequestTools } from "./code-tool-schema.js";
|
|
4
4
|
import { isCodeArenaMode } from "./mode.js";
|
|
5
|
+
import { incompleteModelResponse, modelRecord, modelResponseJson, modelSseEvents, upstreamModelError } from "./model-stream.js";
|
|
5
6
|
import { diagnosticError, diagnosticValue, rawDiagnosticValue, requestDiagnosticSummary, requestMediaTypes, responseRequestIds, safeEndpoint, } from "./model-diagnostics.js";
|
|
6
7
|
import { responsesChunks, responsesFallbackChunk, responsesRequestBody, } from "./openai-responses.js";
|
|
7
8
|
const defaultModelTransportTimeoutMs = 300_000;
|
|
@@ -363,52 +364,60 @@ export function withIdleTimeout(stream, timeoutMs) {
|
|
|
363
364
|
});
|
|
364
365
|
}
|
|
365
366
|
async function* parseSse(stream) {
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
.
|
|
378
|
-
.filter((line) => line.startsWith("data:"))
|
|
379
|
-
.map((line) => line.slice(5).trimStart())
|
|
380
|
-
.join("\n");
|
|
381
|
-
if (payload && payload !== "[DONE]") {
|
|
382
|
-
yield JSON.parse(payload);
|
|
367
|
+
const pending = new Set();
|
|
368
|
+
let finished = false;
|
|
369
|
+
for await (const event of modelSseEvents(stream)) {
|
|
370
|
+
if (event === "[DONE]")
|
|
371
|
+
break;
|
|
372
|
+
if (event.error || event.type === "error")
|
|
373
|
+
throw upstreamModelError(event, "Chat Completions");
|
|
374
|
+
const chunk = event;
|
|
375
|
+
for (const [position, choice] of (chunk.choices || []).entries()) {
|
|
376
|
+
const delta = modelRecord(choice.delta);
|
|
377
|
+
if (!delta.content && typeof delta.refusal === "string") {
|
|
378
|
+
choice.delta = { ...choice.delta, content: delta.refusal };
|
|
383
379
|
}
|
|
384
|
-
|
|
380
|
+
const choiceIndex = modelRecord(choice).index;
|
|
381
|
+
const index = typeof choiceIndex === "number" ? choiceIndex : position;
|
|
382
|
+
if (choice.finish_reason != null) {
|
|
383
|
+
choice.finish_reason = chatFinishReason(choice.finish_reason);
|
|
384
|
+
pending.delete(index);
|
|
385
|
+
if (index === 0)
|
|
386
|
+
finished = true;
|
|
387
|
+
}
|
|
388
|
+
else
|
|
389
|
+
pending.add(index);
|
|
385
390
|
}
|
|
386
|
-
|
|
387
|
-
break;
|
|
388
|
-
}
|
|
389
|
-
const payload = buffer
|
|
390
|
-
.split("\n")
|
|
391
|
-
.filter((line) => line.startsWith("data:"))
|
|
392
|
-
.map((line) => line.slice(5).trimStart())
|
|
393
|
-
.join("\n");
|
|
394
|
-
if (payload && payload !== "[DONE]") {
|
|
395
|
-
yield JSON.parse(payload);
|
|
391
|
+
yield chunk;
|
|
396
392
|
}
|
|
393
|
+
// A finish chunk may be followed by a usage-only chunk. Consume those until
|
|
394
|
+
// DONE/EOF, but neither sentinel can stand in for a finished choice.
|
|
395
|
+
if (!finished || pending.size)
|
|
396
|
+
throw incompleteModelResponse("Chat Completions stream ended before finish_reason");
|
|
397
|
+
}
|
|
398
|
+
function chatFinishReason(value) {
|
|
399
|
+
if (typeof value !== "string" || !value)
|
|
400
|
+
throw incompleteModelResponse("Chat Completions response is missing finish_reason");
|
|
401
|
+
return ["stop", "tool_calls", "length", "content_filter"].includes(value) ? value : "incomplete";
|
|
397
402
|
}
|
|
398
403
|
function fallbackChunk(value) {
|
|
404
|
+
if (value.error || value.type === "error")
|
|
405
|
+
throw upstreamModelError(value, "Chat Completions");
|
|
399
406
|
const choices = (value.choices || []);
|
|
407
|
+
if (!Array.isArray(choices) || !choices.length)
|
|
408
|
+
throw incompleteModelResponse("Chat Completions response is missing choices");
|
|
400
409
|
return {
|
|
401
410
|
usage: value.usage,
|
|
402
411
|
choices: choices.map((choice) => {
|
|
403
412
|
const message = (choice.message || {});
|
|
404
413
|
return {
|
|
405
414
|
delta: {
|
|
406
|
-
content: message.content,
|
|
415
|
+
content: (message.content || (typeof message.refusal === "string" ? message.refusal : undefined)),
|
|
407
416
|
reasoning_content: (message.reasoning_content ||
|
|
408
417
|
message.reasoning),
|
|
409
418
|
tool_calls: message.tool_calls,
|
|
410
419
|
},
|
|
411
|
-
finish_reason: choice.finish_reason,
|
|
420
|
+
finish_reason: chatFinishReason(choice.finish_reason),
|
|
412
421
|
};
|
|
413
422
|
}),
|
|
414
423
|
};
|
|
@@ -814,7 +823,7 @@ export class HttpModelClient {
|
|
|
814
823
|
}
|
|
815
824
|
}
|
|
816
825
|
else {
|
|
817
|
-
const value =
|
|
826
|
+
const value = await modelResponseJson(response);
|
|
818
827
|
const chunk = fallbackChunk(value);
|
|
819
828
|
chunks = 1;
|
|
820
829
|
aggregatedResponse.add(chunk);
|
|
@@ -943,7 +952,7 @@ export class HttpModelClient {
|
|
|
943
952
|
}
|
|
944
953
|
}
|
|
945
954
|
else {
|
|
946
|
-
const value =
|
|
955
|
+
const value = await modelResponseJson(response);
|
|
947
956
|
const chunk = responsesFallbackChunk(value);
|
|
948
957
|
chunks = 1;
|
|
949
958
|
aggregatedResponse.add(chunk);
|
|
@@ -1032,7 +1041,7 @@ export class HttpModelClient {
|
|
|
1032
1041
|
}
|
|
1033
1042
|
}
|
|
1034
1043
|
else {
|
|
1035
|
-
const value =
|
|
1044
|
+
const value = await modelResponseJson(response);
|
|
1036
1045
|
const chunk = anthropicFallbackChunk(value);
|
|
1037
1046
|
chunks = 1;
|
|
1038
1047
|
aggregatedResponse.add(chunk);
|