@qwen-code/arena-agent 0.0.10-dev.8-test.0 → 0.0.10-test.0
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 +61 -10
- package/CHANGELOG.md +148 -17
- package/README.md +309 -46
- package/dist/agent.d.ts +20 -6
- package/dist/agent.js +353 -72
- package/dist/agent.js.map +1 -1
- package/dist/anthropic.d.ts +1 -1
- package/dist/anthropic.js +46 -57
- package/dist/anthropic.js.map +1 -1
- package/dist/arena-history.d.ts +12 -0
- package/dist/arena-history.js +119 -0
- package/dist/arena-history.js.map +1 -0
- package/dist/ask-user.js +44 -2
- package/dist/ask-user.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 +11 -7
- package/dist/brave-search.js.map +1 -1
- package/dist/canonical-data.d.ts +9 -0
- package/dist/canonical-data.js +12 -3
- package/dist/canonical-data.js.map +1 -1
- package/dist/cli.js +140 -40
- package/dist/cli.js.map +1 -1
- package/dist/code-tool-schema.d.ts +3 -0
- package/dist/code-tool-schema.js +92 -0
- package/dist/code-tool-schema.js.map +1 -0
- package/dist/code-tools.d.ts +2 -1
- package/dist/code-tools.js +103 -31
- package/dist/code-tools.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 +24 -7
- package/dist/compaction.js +242 -66
- package/dist/compaction.js.map +1 -1
- package/dist/config.d.ts +17 -0
- package/dist/config.js +30 -5
- package/dist/config.js.map +1 -1
- package/dist/connector-errors.d.ts +16 -0
- package/dist/connector-errors.js +69 -0
- package/dist/connector-errors.js.map +1 -0
- package/dist/connector-files.d.ts +31 -0
- package/dist/connector-files.js +249 -0
- package/dist/connector-files.js.map +1 -0
- package/dist/connector-input.d.ts +10 -0
- package/dist/connector-input.js +79 -0
- package/dist/connector-input.js.map +1 -0
- package/dist/connector-mcp.d.ts +60 -0
- package/dist/connector-mcp.js +474 -0
- package/dist/connector-mcp.js.map +1 -0
- package/dist/connectors.d.ts +13 -0
- package/dist/connectors.js +69 -0
- package/dist/connectors.js.map +1 -0
- package/dist/fetch-page.js +2 -2
- package/dist/fetch-page.js.map +1 -1
- package/dist/history.d.ts +16 -5
- package/dist/history.js +73 -14
- package/dist/history.js.map +1 -1
- package/dist/image-choice.d.ts +23 -0
- package/dist/image-choice.js +190 -0
- package/dist/image-choice.js.map +1 -0
- package/dist/image-input-fallback.js +5 -0
- package/dist/image-input-fallback.js.map +1 -1
- package/dist/image-model.d.ts +6 -0
- package/dist/image-model.js +32 -0
- package/dist/image-model.js.map +1 -0
- package/dist/midturn-checkpoint-hook.d.ts +14 -1
- package/dist/midturn-checkpoint-hook.js.map +1 -1
- package/dist/mode.js +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/model-capabilities.js +18 -8
- package/dist/model-capabilities.js.map +1 -1
- package/dist/model-router-media.js +55 -3
- package/dist/model-router-media.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 +2 -1
- package/dist/openai-responses.js +85 -88
- package/dist/openai-responses.js.map +1 -1
- package/dist/process-manager.js +9 -9
- package/dist/process-manager.js.map +1 -1
- package/dist/prompts.d.ts +0 -2
- package/dist/prompts.js +10 -60
- package/dist/prompts.js.map +1 -1
- package/dist/protocol.d.ts +5 -1
- package/dist/protocol.js +23 -2
- package/dist/protocol.js.map +1 -1
- package/dist/provider.d.ts +18 -0
- package/dist/provider.js +120 -51
- package/dist/provider.js.map +1 -1
- package/dist/repo.d.ts +1 -1
- package/dist/repo.js +26 -4
- package/dist/repo.js.map +1 -1
- package/dist/routify-web-fetch.js +2 -2
- package/dist/routify-web-fetch.js.map +1 -1
- package/dist/server.js +55 -27
- package/dist/server.js.map +1 -1
- package/dist/session-memory-prompts.d.ts +3 -1
- package/dist/session-memory-prompts.js +4 -2
- 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/spec.d.ts +5 -4
- package/dist/spec.js +31 -23
- package/dist/spec.js.map +1 -1
- package/dist/startup-config.d.ts +39 -0
- package/dist/startup-config.js +347 -0
- package/dist/startup-config.js.map +1 -0
- package/dist/startup-main-config.d.ts +63 -0
- package/dist/startup-main-config.js +94 -0
- package/dist/startup-main-config.js.map +1 -0
- package/dist/startup-tool-config.d.ts +8 -0
- package/dist/startup-tool-config.js +116 -0
- package/dist/startup-tool-config.js.map +1 -0
- package/dist/summary-compaction.d.ts +29 -0
- package/dist/{legacy-compaction.js → summary-compaction.js} +79 -14
- package/dist/summary-compaction.js.map +1 -0
- package/dist/tools.d.ts +5 -1
- package/dist/tools.js +195 -68
- package/dist/tools.js.map +1 -1
- package/dist/tui.js +26 -6
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +21 -1
- package/dist/web/app.js +30 -5
- package/dist/web/app.js.map +1 -1
- package/dist/workspace.js +61 -13
- package/dist/workspace.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +44 -8
- package/docs/MODES_AND_RELEASES.md +79 -6
- package/docs/SDK.md +1 -0
- package/modes/code-arena/capture-provenance.json +57 -0
- package/modes/code-arena/full-stack/dependencies.lock.json +8670 -0
- package/modes/code-arena/full-stack/system-prompt.txt +1 -1
- package/modes/code-arena/full-stack/template/eslint.config.mjs +3 -4
- package/modes/code-arena/full-stack/template/postcss.config.mjs +2 -2
- package/modes/code-arena/full-stack/tools.json +186 -186
- package/modes/code-arena/html/system-prompt.txt +1 -1
- package/modes/code-arena/html/tools.json +123 -123
- package/modes/code-arena/react/dependencies.lock.json +2707 -0
- package/modes/code-arena/react/system-prompt.txt +4 -3
- package/modes/code-arena/react/tools.json +178 -184
- package/package.json +7 -2
- package/scripts/README.md +23 -4
- package/web/styles.css +22 -0
- package/dist/legacy-compaction.d.ts +0 -16
- package/dist/legacy-compaction.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-router-media.js","sourceRoot":"","sources":["../src/model-router-media.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-router-media.js","sourceRoot":"","sources":["../src/model-router-media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const INCOMPLETE_MODEL_RESPONSE = "ARENA_INCOMPLETE_MODEL_RESPONSE";
|
|
2
|
+
export declare const TRANSIENT_MODEL_ERROR = "ARENA_UPSTREAM_TRANSIENT";
|
|
3
|
+
export declare const CAPACITY_MODEL_ERROR = "ARENA_UPSTREAM_CAPACITY";
|
|
4
|
+
export declare function isCapacityErrorMessage(message: string): boolean;
|
|
5
|
+
export declare function modelErrorStatus(...values: unknown[]): number | undefined;
|
|
6
|
+
export declare function modelErrorCode(...values: unknown[]): string | undefined;
|
|
7
|
+
export declare function isTransientModelError(code?: string, type?: string, status?: number): boolean;
|
|
8
|
+
export declare function incompleteModelResponse(message: string): Error;
|
|
9
|
+
/** Tool-free callers must not publish text from an explicitly unfinished turn. */
|
|
10
|
+
export declare function assertCompleteTextResponse(finishReason: string | null | undefined): void;
|
|
11
|
+
export declare function modelResponseJson(response: Response): Promise<Record<string, unknown>>;
|
|
12
|
+
export declare function modelRecord(value: unknown): Record<string, unknown>;
|
|
13
|
+
/** Preserve upstream error metadata even when HTTP headers already said 200. */
|
|
14
|
+
export declare function upstreamModelError(event: Record<string, unknown>, protocol: string): Error;
|
|
15
|
+
/** Decode SSE consistently; each adapter decides what completes its protocol. */
|
|
16
|
+
export declare function modelSseEvents(stream: ReadableStream<Uint8Array>, invalid?: (message: string) => Error): AsyncGenerator<Record<string, unknown> | "[DONE]">;
|
|
@@ -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":"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"}
|
|
@@ -3,9 +3,10 @@ type ResponseInputItem = Record<string, unknown>;
|
|
|
3
3
|
/** Convert Arena's durable history into Responses API input items. */
|
|
4
4
|
export declare function responsesInput(messages: ModelMessage[]): ResponseInputItem[];
|
|
5
5
|
/** Build a native OpenAI Responses request without Chat Completions fields. */
|
|
6
|
-
export declare function responsesRequestBody(request: ModelRequest, model: string): Record<string, unknown>;
|
|
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;
|
|
@@ -78,7 +71,7 @@ export function responsesInput(messages) {
|
|
|
78
71
|
}
|
|
79
72
|
return input;
|
|
80
73
|
}
|
|
81
|
-
function responsesTools(tools) {
|
|
74
|
+
function responsesTools(tools, includeToolStrict) {
|
|
82
75
|
return tools.map((tool) => ({
|
|
83
76
|
type: "function",
|
|
84
77
|
name: tool.function.name,
|
|
@@ -86,10 +79,13 @@ function responsesTools(tools) {
|
|
|
86
79
|
? { description: tool.function.description }
|
|
87
80
|
: {}),
|
|
88
81
|
parameters: tool.function.parameters,
|
|
82
|
+
...(includeToolStrict && tool.function.strict !== undefined
|
|
83
|
+
? { strict: tool.function.strict }
|
|
84
|
+
: {}),
|
|
89
85
|
}));
|
|
90
86
|
}
|
|
91
87
|
/** Build a native OpenAI Responses request without Chat Completions fields. */
|
|
92
|
-
export function responsesRequestBody(request, model) {
|
|
88
|
+
export function responsesRequestBody(request, model, includeToolStrict = false) {
|
|
93
89
|
const allTurnsReasoning = model.toLowerCase().includes("gpt-5.6");
|
|
94
90
|
const reasoning = request.reasoningEffort || allTurnsReasoning
|
|
95
91
|
? {
|
|
@@ -103,7 +99,7 @@ export function responsesRequestBody(request, model) {
|
|
|
103
99
|
model,
|
|
104
100
|
input: responsesInput(request.messages),
|
|
105
101
|
...(request.tools.length
|
|
106
|
-
? { tools: responsesTools(request.tools), tool_choice: request.toolChoice }
|
|
102
|
+
? { tools: responsesTools(request.tools, includeToolStrict), tool_choice: request.toolChoice }
|
|
107
103
|
: {}),
|
|
108
104
|
...(request.maxTokens !== undefined
|
|
109
105
|
? { max_output_tokens: request.maxTokens }
|
|
@@ -135,33 +131,9 @@ function responsesUsage(value) {
|
|
|
135
131
|
...(typeof totalTokens === "number" ? { total_tokens: totalTokens } : {}),
|
|
136
132
|
};
|
|
137
133
|
}
|
|
138
|
-
export const RESPONSES_CAPACITY_ERROR_CODE =
|
|
139
|
-
export const RESPONSES_TRANSIENT_ERROR_CODE =
|
|
140
|
-
const
|
|
141
|
-
"overloaded_error",
|
|
142
|
-
"rate_limit_exceeded",
|
|
143
|
-
"request_timeout",
|
|
144
|
-
"server_error",
|
|
145
|
-
"service_unavailable",
|
|
146
|
-
"temporarily_unavailable",
|
|
147
|
-
"timeout",
|
|
148
|
-
]);
|
|
149
|
-
function isCapacityErrorMessage(message) {
|
|
150
|
-
const normalized = message.toLowerCase();
|
|
151
|
-
return (normalized.includes("experiencing high demand") ||
|
|
152
|
-
normalized.includes("maximum usage size allowed during peak load") ||
|
|
153
|
-
normalized.includes("provisioned throughput"));
|
|
154
|
-
}
|
|
155
|
-
function isTransientResponsesError(upstreamCode, upstreamType, status) {
|
|
156
|
-
if (status === 408 ||
|
|
157
|
-
status === 409 ||
|
|
158
|
-
status === 429 ||
|
|
159
|
-
(status !== undefined && status >= 500 && status <= 599)) {
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
return [upstreamCode, upstreamType].some((value) => value !== undefined &&
|
|
163
|
-
transientResponsesErrorIdentifiers.has(value.toLowerCase()));
|
|
164
|
-
}
|
|
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";
|
|
165
137
|
/** Structured failure delivered inside an otherwise-successful Responses SSE request. */
|
|
166
138
|
export class OpenAIResponsesStreamError extends Error {
|
|
167
139
|
eventType;
|
|
@@ -179,7 +151,7 @@ export class OpenAIResponsesStreamError extends Error {
|
|
|
179
151
|
if (isCapacityErrorMessage(options.message)) {
|
|
180
152
|
this.code = RESPONSES_CAPACITY_ERROR_CODE;
|
|
181
153
|
}
|
|
182
|
-
else if (
|
|
154
|
+
else if (isTransientModelError(options.upstreamCode, options.upstreamType, options.status)) {
|
|
183
155
|
this.code = RESPONSES_TRANSIENT_ERROR_CODE;
|
|
184
156
|
}
|
|
185
157
|
else {
|
|
@@ -198,19 +170,31 @@ function responsesError(event) {
|
|
|
198
170
|
return new OpenAIResponsesStreamError({
|
|
199
171
|
message,
|
|
200
172
|
eventType: stringValue(event.type) || "unknown",
|
|
201
|
-
upstreamCode:
|
|
202
|
-
stringValue(responseError.code) ||
|
|
203
|
-
stringValue(event.code) ||
|
|
204
|
-
undefined,
|
|
173
|
+
upstreamCode: modelErrorCode(error.code, responseError.code, event.code),
|
|
205
174
|
upstreamType: stringValue(error.type) ||
|
|
206
175
|
stringValue(responseError.type) ||
|
|
207
176
|
undefined,
|
|
208
|
-
status:
|
|
209
|
-
numericValue(responseError.status) ??
|
|
210
|
-
numericValue(response.status) ??
|
|
211
|
-
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),
|
|
212
178
|
});
|
|
213
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
|
+
}
|
|
214
198
|
function toolIndex(event, fallback) {
|
|
215
199
|
return typeof event.output_index === "number" ? event.output_index : fallback;
|
|
216
200
|
}
|
|
@@ -238,11 +222,21 @@ function toolDelta(state, values) {
|
|
|
238
222
|
}
|
|
239
223
|
/** Translate native Responses SSE events into Arena's provider-neutral chunks. */
|
|
240
224
|
export async function* responsesChunks(stream) {
|
|
241
|
-
const reader = stream.getReader();
|
|
242
|
-
const decoder = new TextDecoder();
|
|
243
225
|
const tools = new Map();
|
|
244
226
|
const completedItemIndexes = new Set();
|
|
245
|
-
|
|
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
|
+
};
|
|
246
240
|
const captureOutputItem = function* (index, item, replace = false) {
|
|
247
241
|
if (!Object.keys(item).length ||
|
|
248
242
|
(!replace && completedItemIndexes.has(index))) {
|
|
@@ -256,16 +250,15 @@ export async function* responsesChunks(stream) {
|
|
|
256
250
|
const processEvent = function* (event) {
|
|
257
251
|
const type = stringValue(event.type);
|
|
258
252
|
const response = record(event.response);
|
|
259
|
-
if (type === "error" || type === "response.failed"
|
|
253
|
+
if (type === "error" || type === "response.failed" || type === "response.cancelled" ||
|
|
254
|
+
Object.keys(record(event.error)).length) {
|
|
260
255
|
throw responsesError(event);
|
|
261
256
|
}
|
|
262
257
|
if (type === "response.created" || type === "response.in_progress") {
|
|
263
258
|
return;
|
|
264
259
|
}
|
|
265
260
|
if (type === "response.output_text.delta" || type === "response.refusal.delta") {
|
|
266
|
-
yield
|
|
267
|
-
choices: [{ delta: { content: stringValue(event.delta) } }],
|
|
268
|
-
};
|
|
261
|
+
yield* emitText(toolIndex(event, 0), typeof event.content_index === "number" ? event.content_index : 0, stringValue(event.delta));
|
|
269
262
|
return;
|
|
270
263
|
}
|
|
271
264
|
if (type === "response.reasoning_summary_text.delta" ||
|
|
@@ -320,6 +313,14 @@ export async function* responsesChunks(stream) {
|
|
|
320
313
|
const index = toolIndex(event, tools.size);
|
|
321
314
|
if (type === "response.output_item.done") {
|
|
322
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
|
+
}
|
|
323
324
|
}
|
|
324
325
|
if (type === "response.output_item.done" && item.type !== "function_call") {
|
|
325
326
|
return;
|
|
@@ -333,36 +334,45 @@ export async function* responsesChunks(stream) {
|
|
|
333
334
|
};
|
|
334
335
|
const id = stringValue(item.call_id) || state.id;
|
|
335
336
|
const name = stringValue(item.name) || state.name;
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
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) {
|
|
343
349
|
yield {
|
|
344
350
|
...toolDelta(state, {
|
|
345
|
-
...(
|
|
346
|
-
...(
|
|
351
|
+
...(missingId && id ? { id } : {}),
|
|
352
|
+
...(missingName && name ? { name } : {}),
|
|
347
353
|
...(suffix ? { arguments: suffix } : {}),
|
|
348
354
|
}),
|
|
349
355
|
};
|
|
350
356
|
}
|
|
351
357
|
state.id = id;
|
|
352
358
|
state.name = name;
|
|
353
|
-
state.arguments = completeArguments
|
|
359
|
+
state.arguments = completeArguments ?? state.arguments;
|
|
354
360
|
state.headerEmitted = true;
|
|
355
361
|
tools.set(index, state);
|
|
356
362
|
return;
|
|
357
363
|
}
|
|
358
364
|
if (type === "response.completed" || type === "response.incomplete") {
|
|
359
365
|
const completed = response;
|
|
366
|
+
checkResponseStatus(completed, type.slice("response.".length));
|
|
360
367
|
if (Array.isArray(completed.output)) {
|
|
361
368
|
for (const [index, rawItem] of completed.output.entries()) {
|
|
362
369
|
// The completed response is authoritative and may carry fields such
|
|
363
370
|
// as encrypted_content that were absent from an earlier added/done
|
|
364
371
|
// event emitted by a compatible gateway.
|
|
365
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 });
|
|
366
376
|
}
|
|
367
377
|
}
|
|
368
378
|
const incompleteDetails = record(completed.incomplete_details);
|
|
@@ -374,7 +384,7 @@ export async function* responsesChunks(stream) {
|
|
|
374
384
|
choices: [
|
|
375
385
|
{
|
|
376
386
|
delta: {},
|
|
377
|
-
finish_reason: type === "response.incomplete" || incompleteReason
|
|
387
|
+
finish_reason: type === "response.incomplete" || completed.status === "incomplete" || incompleteReason
|
|
378
388
|
? incompleteReason === "max_output_tokens"
|
|
379
389
|
? "length"
|
|
380
390
|
: "incomplete"
|
|
@@ -384,35 +394,22 @@ export async function* responsesChunks(stream) {
|
|
|
384
394
|
},
|
|
385
395
|
],
|
|
386
396
|
};
|
|
397
|
+
sawTerminal = true;
|
|
387
398
|
}
|
|
388
399
|
};
|
|
389
|
-
const
|
|
390
|
-
|
|
391
|
-
.split("\n")
|
|
392
|
-
.filter((line) => line.startsWith("data:"))
|
|
393
|
-
.map((line) => line.slice(5).trimStart())
|
|
394
|
-
.join("\n");
|
|
395
|
-
if (!payload || payload === "[DONE]")
|
|
396
|
-
return;
|
|
397
|
-
yield* processEvent(JSON.parse(payload));
|
|
398
|
-
};
|
|
399
|
-
while (true) {
|
|
400
|
-
const { done, value } = await reader.read();
|
|
401
|
-
buffer += decoder.decode(value, { stream: !done }).replace(/\r\n/g, "\n");
|
|
402
|
-
let boundary = buffer.indexOf("\n\n");
|
|
403
|
-
while (boundary !== -1) {
|
|
404
|
-
yield* consumeFrame(buffer.slice(0, boundary));
|
|
405
|
-
buffer = buffer.slice(boundary + 2);
|
|
406
|
-
boundary = buffer.indexOf("\n\n");
|
|
407
|
-
}
|
|
408
|
-
if (done)
|
|
400
|
+
for await (const event of modelSseEvents(stream, incompleteResponsesStream)) {
|
|
401
|
+
if (event === "[DONE]")
|
|
409
402
|
break;
|
|
403
|
+
yield* processEvent(event);
|
|
404
|
+
if (sawTerminal)
|
|
405
|
+
return;
|
|
410
406
|
}
|
|
411
|
-
if (
|
|
412
|
-
|
|
407
|
+
if (!sawTerminal)
|
|
408
|
+
throw incompleteResponsesStream("OpenAI Responses stream ended before a terminal response event");
|
|
413
409
|
}
|
|
414
410
|
/** Translate a non-streaming Responses object into one Arena chunk. */
|
|
415
411
|
export function responsesFallbackChunk(value) {
|
|
412
|
+
checkResponseStatus(value);
|
|
416
413
|
const output = Array.isArray(value.output) ? value.output : [];
|
|
417
414
|
const content = [];
|
|
418
415
|
const reasoning = [];
|
|
@@ -461,7 +458,7 @@ export function responsesFallbackChunk(value) {
|
|
|
461
458
|
: {}),
|
|
462
459
|
...(toolCalls.length ? { tool_calls: toolCalls } : {}),
|
|
463
460
|
},
|
|
464
|
-
finish_reason: incompleteReason
|
|
461
|
+
finish_reason: value.status === "incomplete" || incompleteReason
|
|
465
462
|
? incompleteReason === "max_output_tokens"
|
|
466
463
|
? "length"
|
|
467
464
|
: "incomplete"
|