@qwen-code/arena-agent 0.0.10-dev.10 → 0.0.10-dev.12

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.
Files changed (56) hide show
  1. package/.env.example +12 -1
  2. package/CHANGELOG.md +37 -1
  3. package/README.md +106 -28
  4. package/dist/agent.d.ts +1 -1
  5. package/dist/agent.js +90 -30
  6. package/dist/agent.js.map +1 -1
  7. package/dist/anthropic.js +17 -15
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/canonical-data.d.ts +2 -0
  10. package/dist/canonical-data.js +2 -0
  11. package/dist/canonical-data.js.map +1 -1
  12. package/dist/code-tools.js +34 -9
  13. package/dist/code-tools.js.map +1 -1
  14. package/dist/compaction.d.ts +3 -2
  15. package/dist/compaction.js +87 -21
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/config.d.ts +6 -0
  18. package/dist/config.js +5 -0
  19. package/dist/config.js.map +1 -1
  20. package/dist/connector-mcp.d.ts +47 -0
  21. package/dist/connector-mcp.js +314 -0
  22. package/dist/connector-mcp.js.map +1 -0
  23. package/dist/connectors.d.ts +8 -0
  24. package/dist/connectors.js +57 -0
  25. package/dist/connectors.js.map +1 -0
  26. package/dist/midturn-checkpoint-hook.d.ts +14 -1
  27. package/dist/midturn-checkpoint-hook.js.map +1 -1
  28. package/dist/model-router-media.js +50 -0
  29. package/dist/model-router-media.js.map +1 -1
  30. package/dist/prompts.d.ts +0 -1
  31. package/dist/prompts.js +10 -36
  32. package/dist/prompts.js.map +1 -1
  33. package/dist/provider.js +3 -0
  34. package/dist/provider.js.map +1 -1
  35. package/dist/server.js +4 -2
  36. package/dist/server.js.map +1 -1
  37. package/dist/session-memory-prompts.js +1 -1
  38. package/dist/session-memory-prompts.js.map +1 -1
  39. package/dist/spec.d.ts +5 -4
  40. package/dist/spec.js +15 -9
  41. package/dist/spec.js.map +1 -1
  42. package/dist/{legacy-compaction.d.ts → summary-compaction.d.ts} +7 -0
  43. package/dist/{legacy-compaction.js → summary-compaction.js} +54 -10
  44. package/dist/summary-compaction.js.map +1 -0
  45. package/dist/tools.d.ts +3 -1
  46. package/dist/tools.js +35 -9
  47. package/dist/tools.js.map +1 -1
  48. package/dist/types.d.ts +4 -0
  49. package/dist/workspace.js +61 -14
  50. package/dist/workspace.js.map +1 -1
  51. package/docs/MODES_AND_RELEASES.md +55 -1
  52. package/modes/code-arena/full-stack/dependencies.lock.json +8670 -0
  53. package/modes/code-arena/react/dependencies.lock.json +2707 -0
  54. package/package.json +2 -1
  55. package/scripts/README.md +23 -4
  56. package/dist/legacy-compaction.js.map +0 -1
@@ -0,0 +1,314 @@
1
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
+ import { StreamableHTTPClientTransport, StreamableHTTPError } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
3
+ import { CallToolResultSchema, ListToolsResultSchema } from "@modelcontextprotocol/sdk/types.js";
4
+ import { Ajv } from "ajv";
5
+ import { Ajv2020 } from "ajv/dist/2020.js";
6
+ import addFormats from "ajv-formats";
7
+ import { connectorCatalogJson } from "./canonical-data.js";
8
+ import { normalizeConnectors } from "./connectors.js";
9
+ export function mergeConnectorConfigFromEnv() {
10
+ const timeout = process.env.ARENA_CONNECTOR_TIMEOUT_MS;
11
+ if (timeout && (!Number.isSafeInteger(Number(timeout)) || Number(timeout) <= 0)) {
12
+ throw new Error("ARENA_CONNECTOR_TIMEOUT_MS must be a positive integer");
13
+ }
14
+ return {
15
+ accessKey: process.env.ARENA_MERGE_ACCESS_KEY,
16
+ toolPackId: process.env.ARENA_MERGE_TOOL_PACK_ID,
17
+ registeredUserId: process.env.ARENA_MERGE_REGISTERED_USER_ID,
18
+ apiBase: process.env.ARENA_MERGE_API_BASE,
19
+ timeoutMs: timeout ? Number(timeout) : undefined,
20
+ };
21
+ }
22
+ const catalog = JSON.parse(connectorCatalogJson);
23
+ export function capturedConnectorCatalog(service) {
24
+ return structuredClone(catalog[service]);
25
+ }
26
+ // 1008-dashscope.jsonl, row 359 (also duplicated in rows 1706 and 1871).
27
+ export const connectorFailureText = "Something went wrong. Please try again.";
28
+ export const connectorTruncationMarker = "\n...[middle of result omitted]...\n";
29
+ export const connectorTruncationNote = "This result is not complete. It holds the start and the end of a larger result, and the middle is missing. Do not parse it as JSON. The same call with the same arguments returns this same truncated result. Make the query more narrow with a filter, or use a pagination option that this tool provides.";
30
+ /** Captured display shape, independent of the backend's negotiated MCP revision. */
31
+ export function formatConnectorResult(result) {
32
+ if (result.isError)
33
+ return connectorFailureText;
34
+ // Newer MCP revisions duplicate text into structuredContent. The captured
35
+ // Arena surface only exposes these fields; do not re-serialize content.text.
36
+ const text = JSON.stringify({
37
+ content: result.content,
38
+ ...(result.isError === undefined ? {} : { isError: result.isError }),
39
+ ...(result._meta === undefined ? {} : { _meta: result._meta }),
40
+ });
41
+ // Head/tail lengths and marker are observed. 20k is a local boundary choice:
42
+ // this export has no untruncated examples close enough to prove the threshold.
43
+ const characters = Array.from(text);
44
+ if (characters.length > 20_000) {
45
+ return JSON.stringify({ status: "success", truncated: true,
46
+ result_text: characters.slice(0, 15_000).join("") + connectorTruncationMarker + characters.slice(-4_000).join(""),
47
+ truncation_note: connectorTruncationNote });
48
+ }
49
+ return JSON.stringify({ status: "success", result_text: text });
50
+ }
51
+ function localDiscoveryError(service, error, message) {
52
+ // Unconnected/disabled discovery responses were not captured. These are
53
+ // explicit local diagnostics, never fabricated official enabled responses.
54
+ return JSON.stringify({ status: "error", connector: service, error, message });
55
+ }
56
+ function mergeUrl(config, service) {
57
+ const url = new URL(config.apiBase || "https://ah-api.merge.dev");
58
+ const loopback = ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname);
59
+ if ((url.protocol !== "https:" && !(url.protocol === "http:" && loopback)) ||
60
+ url.username || url.password || url.search || url.hash) {
61
+ throw new Error("ARENA_MERGE_API_BASE must be an HTTPS origin (HTTP loopback is allowed for testing)");
62
+ }
63
+ url.pathname = `${url.pathname.replace(/\/$/, "")}/api/v1/tool-packs/${encodeURIComponent(config.toolPackId)}/registered-users/${encodeURIComponent(config.registeredUserId)}/mcp`;
64
+ url.searchParams.set("connectors", service);
65
+ url.searchParams.set("paginated", "true");
66
+ return url;
67
+ }
68
+ /** One serialized stream per service, so rotating MCP session IDs stay ordered. */
69
+ class MergeConnection {
70
+ url;
71
+ config;
72
+ signal;
73
+ client;
74
+ tail = Promise.resolve();
75
+ constructor(url, config, signal) {
76
+ this.url = url;
77
+ this.config = config;
78
+ this.signal = signal;
79
+ }
80
+ async withClient(operation) {
81
+ const pending = this.tail.then(async () => {
82
+ this.signal?.throwIfAborted();
83
+ try {
84
+ if (!this.client) {
85
+ const client = new Client({ name: "arena-harness-connectors", version: "1" });
86
+ const transport = new StreamableHTTPClientTransport(this.url, {
87
+ requestInit: { headers: { Authorization: `Bearer ${this.config.accessKey}` }, redirect: "error" },
88
+ reconnectionOptions: { maxRetries: 0, initialReconnectionDelay: 1000,
89
+ maxReconnectionDelay: 1000, reconnectionDelayGrowFactor: 1 },
90
+ });
91
+ this.client = client;
92
+ // No OAuth provider and no POST retries: a timed-out create may already
93
+ // have succeeded. Reconnect only for a subsequent, explicit invocation.
94
+ // SDK request timeouts cover initialize, but not the subsequent
95
+ // notifications/initialized HTTP request. Bound the whole handshake.
96
+ const cancelConnect = () => { void transport.close(); };
97
+ const timer = setTimeout(cancelConnect, this.config.timeoutMs ?? 60_000);
98
+ this.signal?.addEventListener("abort", cancelConnect, { once: true });
99
+ try {
100
+ await client.connect(transport, this.requestOptions());
101
+ this.signal?.throwIfAborted();
102
+ }
103
+ finally {
104
+ clearTimeout(timer);
105
+ this.signal?.removeEventListener("abort", cancelConnect);
106
+ }
107
+ }
108
+ return await operation(this.client);
109
+ }
110
+ catch (error) {
111
+ await this.disconnect();
112
+ throw error;
113
+ }
114
+ });
115
+ this.tail = pending.catch(() => { });
116
+ return pending;
117
+ }
118
+ requestOptions() {
119
+ return { signal: this.signal, timeout: this.config.timeoutMs ?? 60_000 };
120
+ }
121
+ listTools() {
122
+ return this.withClient(async (client) => {
123
+ const tools = [];
124
+ const cursors = new Set();
125
+ let cursor;
126
+ do {
127
+ const page = await client.request({ method: "tools/list", params: cursor ? { cursor } : {} }, ListToolsResultSchema, this.requestOptions());
128
+ tools.push(...page.tools);
129
+ cursor = page.nextCursor;
130
+ if (cursor && cursors.has(cursor))
131
+ throw new Error("MCP tools/list repeated its cursor");
132
+ if (cursor)
133
+ cursors.add(cursor);
134
+ if (cursors.size > 100)
135
+ throw new Error("MCP tool catalog exceeded the pagination limit");
136
+ } while (cursor);
137
+ return tools;
138
+ });
139
+ }
140
+ callTool(name, args) {
141
+ return this.withClient(client => client.request({ method: "tools/call", params: { name, arguments: args } }, CallToolResultSchema, this.requestOptions()));
142
+ }
143
+ async disconnect() {
144
+ const client = this.client;
145
+ this.client = undefined;
146
+ await client?.close().catch(() => { });
147
+ }
148
+ async close() {
149
+ await this.tail;
150
+ await this.disconnect();
151
+ }
152
+ }
153
+ export class ConnectorTools {
154
+ config;
155
+ disallowed;
156
+ signal;
157
+ allowed;
158
+ registered = new Map();
159
+ connections = new Map();
160
+ loading = new Map();
161
+ loaded = [];
162
+ constructor(allowed, config = {}, disallowed = [], signal) {
163
+ this.config = config;
164
+ this.disallowed = disallowed;
165
+ this.signal = signal;
166
+ this.allowed = normalizeConnectors(allowed);
167
+ }
168
+ definitions() {
169
+ return [...this.registered.values()].map(tool => structuredClone(tool.definition));
170
+ }
171
+ validator(name) { return this.registered.get(name)?.validate; }
172
+ has(name) { return this.registered.has(name); }
173
+ recognizes(name) {
174
+ return this.allowed.some(service => catalog[service].some(tool => `${service}__${tool.name}` === name));
175
+ }
176
+ async discover(service) {
177
+ if (!this.allowed.includes(service) || this.disallowed.includes("list_connector_tools")) {
178
+ return localDiscoveryError(service, "connector_not_enabled", "This app is not enabled by ARENA_CONNECTORS.");
179
+ }
180
+ const slug = service;
181
+ if (this.loaded.includes(slug))
182
+ return this.discoveryResult(slug);
183
+ const existing = this.loading.get(slug);
184
+ if (existing)
185
+ return existing;
186
+ const pending = this.load(slug);
187
+ this.loading.set(slug, pending);
188
+ try {
189
+ return await pending;
190
+ }
191
+ finally {
192
+ this.loading.delete(slug);
193
+ }
194
+ }
195
+ discoveryResult(service) {
196
+ return JSON.stringify({ tools: catalog[service].filter(tool => this.registered.has(`${service}__${tool.name}`)),
197
+ status: "enabled", connector: service });
198
+ }
199
+ async load(service) {
200
+ const missing = [["accessKey", "ARENA_MERGE_ACCESS_KEY"], ["toolPackId", "ARENA_MERGE_TOOL_PACK_ID"],
201
+ ["registeredUserId", "ARENA_MERGE_REGISTERED_USER_ID"]]
202
+ .filter(([key]) => !this.config[key]?.trim()).map(([, variable]) => variable);
203
+ if (missing.length)
204
+ return localDiscoveryError(service, "connector_backend_not_configured", `Set ${missing.join(", ")} and authorize this app for the Registered User in Merge.`);
205
+ try {
206
+ const connection = this.connections.get(service) || new MergeConnection(mergeUrl(this.config, service), this.config, this.signal);
207
+ this.connections.set(service, connection);
208
+ const remote = await connection.listTools();
209
+ const byName = new Map(remote.map(tool => [tool.name, tool]));
210
+ if (byName.size !== remote.length)
211
+ throw new Error("MCP returned duplicate tool names");
212
+ const expected = catalog[service].filter(tool => !this.disallowed.includes(`${service}__${tool.name}`));
213
+ const absent = expected.filter(tool => !byName.has(`${service}__${tool.name}`));
214
+ if (absent.length)
215
+ return localDiscoveryError(service, "connector_toolset_mismatch", `The Merge Tool Pack is missing captured tools: ${absent.map(tool => tool.name).join(", ")}.`);
216
+ const pending = [];
217
+ for (const captured of expected) {
218
+ const name = `${service}__${captured.name}`;
219
+ const tool = byName.get(name);
220
+ // Keep the captured description/order, but never invent missing schemas.
221
+ // Independent non-mutating validation preserves open JSON dictionaries.
222
+ const schema = structuredClone(tool.inputSchema);
223
+ const ajvOptions = { strict: false, allErrors: true, removeAdditional: false,
224
+ coerceTypes: false, useDefaults: false };
225
+ const ajv = String(schema.$schema || "").includes("draft-07")
226
+ ? new Ajv(ajvOptions) : new Ajv2020(ajvOptions);
227
+ addFormats(ajv);
228
+ pending.push({ service, definition: { type: "function", function: { name,
229
+ description: captured.description, parameters: schema } }, validate: ajv.compile(schema) });
230
+ }
231
+ // Publish atomically: a failed page or schema never leaves half an app loaded.
232
+ for (const tool of pending)
233
+ this.registered.set(tool.definition.function.name, tool);
234
+ this.loaded.push(service);
235
+ return this.discoveryResult(service);
236
+ }
237
+ catch (error) {
238
+ if (this.signal?.aborted)
239
+ throw error;
240
+ // Avoid echoing server bodies, URLs, or authorization headers to the model.
241
+ const detail = error instanceof StreamableHTTPError ? ` (HTTP ${error.code})` : "";
242
+ return localDiscoveryError(service, "connector_discovery_failed", `Unable to load the Merge tool catalog${detail}. Check backend configuration, authorization and schema compatibility.`);
243
+ }
244
+ }
245
+ async call(name, args) {
246
+ const tool = this.registered.get(name);
247
+ if (!tool)
248
+ return connectorFailureText;
249
+ try {
250
+ const result = await this.connections.get(tool.service).callTool(name, args);
251
+ return formatConnectorResult(result);
252
+ }
253
+ catch (error) {
254
+ if (this.signal?.aborted)
255
+ throw error;
256
+ return connectorFailureText;
257
+ }
258
+ }
259
+ async beginTurn(history) {
260
+ this.registered.clear();
261
+ this.loaded.length = 0;
262
+ if (!history)
263
+ return;
264
+ for (const service of loadedConnectorsFromHistory(history)) {
265
+ if (!this.allowed.includes(service))
266
+ continue;
267
+ const result = JSON.parse(await this.discover(service));
268
+ if (result.status !== "enabled")
269
+ throw new Error(result.message);
270
+ }
271
+ }
272
+ async close() {
273
+ await Promise.all([...this.connections.values()].map(connection => connection.close()));
274
+ this.connections.clear();
275
+ this.registered.clear();
276
+ this.loaded.length = 0;
277
+ }
278
+ }
279
+ /** Restore discovery only, never replay page/event writes when resuming a turn. */
280
+ export function loadedConnectorsFromHistory(history) {
281
+ const calls = new Map();
282
+ const loaded = new Set();
283
+ for (const message of history) {
284
+ if (message.role === "user") {
285
+ const text = typeof message.content === "string" ? message.content : message.content.flatMap(part => "text" in part ? [part.text] : []).join("\n");
286
+ const toolImage = /^<arena-system-message>\nThe image\(s\) below are the result of the preceding tool call\.[\s\S]*?<\/arena-system-message>\s*$/.test(text);
287
+ if (!toolImage) {
288
+ calls.clear();
289
+ loaded.clear();
290
+ }
291
+ }
292
+ if (message.role === "assistant") {
293
+ for (const call of message.tool_calls || []) {
294
+ if (call.function.name !== "list_connector_tools")
295
+ continue;
296
+ try {
297
+ calls.set(call.id, JSON.parse(call.function.arguments).service);
298
+ }
299
+ catch { /* malformed history */ }
300
+ }
301
+ }
302
+ if (message.role === "tool" && calls.has(message.tool_call_id)) {
303
+ try {
304
+ const service = calls.get(message.tool_call_id);
305
+ const result = JSON.parse(message.content);
306
+ if ((service === "notion" || service === "google_calendar") && result.status === "enabled" && result.connector === service)
307
+ loaded.add(service);
308
+ }
309
+ catch { /* Only a paired, successful discovery enables restoration. */ }
310
+ }
311
+ }
312
+ return [...loaded];
313
+ }
314
+ //# sourceMappingURL=connector-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-mcp.js","sourceRoot":"","sources":["../src/connector-mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ToolDefinition } from "./types.js";
2
+ export declare const connectorServices: readonly ["notion", "google_calendar"];
3
+ export type ConnectorService = typeof connectorServices[number];
4
+ /** Conversation opt-in only; this does not establish an authenticated connection. */
5
+ export declare function normalizeConnectors(value: unknown, name?: string): ConnectorService[];
6
+ export declare function connectorsFromEnv(value: string | undefined): ConnectorService[];
7
+ export declare function appendConnectorPrompt(content: string, connectors?: readonly ConnectorService[]): string;
8
+ export declare function connectorDiscoveryTool(): ToolDefinition;
@@ -0,0 +1,57 @@
1
+ import { connectorSystemPromptTemplate } from "./canonical-data.js";
2
+ export const connectorServices = ["notion", "google_calendar"];
3
+ /** Conversation opt-in only; this does not establish an authenticated connection. */
4
+ export function normalizeConnectors(value, name = "connectors") {
5
+ if (value === undefined)
6
+ return [];
7
+ if (!Array.isArray(value) ||
8
+ value.some((item) => typeof item !== "string" ||
9
+ !connectorServices.includes(item))) {
10
+ throw new Error(`${name} must be a JSON array containing only "notion" or "google_calendar"`);
11
+ }
12
+ return [...new Set(value)];
13
+ }
14
+ export function connectorsFromEnv(value) {
15
+ if (!value?.trim())
16
+ return [];
17
+ let parsed;
18
+ try {
19
+ parsed = JSON.parse(value);
20
+ }
21
+ catch {
22
+ throw new Error("ARENA_CONNECTORS must be a JSON array, for example [\"notion\",\"google_calendar\"]");
23
+ }
24
+ return normalizeConnectors(parsed, "ARENA_CONNECTORS");
25
+ }
26
+ export function appendConnectorPrompt(content, connectors) {
27
+ const enabled = normalizeConnectors(connectors);
28
+ if (!enabled.length)
29
+ return content;
30
+ return content + "\n" + connectorSystemPromptTemplate.replace("{{CONNECTORS}}", enabled.join(", "));
31
+ }
32
+ // The export contains only this tool's name and observed {service} arguments.
33
+ // This is a local definition, not a captured official description or schema.
34
+ // Keep service open-ended: the captured prompt asks the model to query apps
35
+ // even when they are absent from the conversation's enabled-app list.
36
+ export function connectorDiscoveryTool() {
37
+ return {
38
+ type: "function",
39
+ function: {
40
+ name: "list_connector_tools",
41
+ description: "Check one connector's state and load its tools for the current reply. Pass the connector's service slug. Follow the returned state before calling that connector's tools.",
42
+ parameters: {
43
+ type: "object",
44
+ properties: {
45
+ service: {
46
+ type: "string",
47
+ minLength: 1,
48
+ description: "The connector service slug, such as notion or google_calendar.",
49
+ },
50
+ },
51
+ required: ["service"],
52
+ additionalProperties: false,
53
+ },
54
+ },
55
+ };
56
+ }
57
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAGpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAU,CAAC;AAGxE,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,IAAI,GAAG,YAAY;IAEnB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAwB,CAAC,CAAC,EACxD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qEAAqE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAuB,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,UAAwC;IAExC,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IACpC,OAAO,OAAO,GAAG,IAAI,GAAG,6BAA6B,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,sEAAsE;AACtE,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,2KAA2K;YACxL,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC;wBACZ,WAAW,EAAE,gEAAgE;qBAC9E;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -23,7 +23,20 @@ export interface RepetitiveOutputHookEvent {
23
23
  sample: string;
24
24
  };
25
25
  }
26
- export type MidturnCheckpointHookEvent = ToolValidationHookEvent | RepetitiveOutputHookEvent;
26
+ export interface BeforeCompactionHookEvent {
27
+ type: "before_compaction";
28
+ sessionId: string;
29
+ toolCalls: [];
30
+ compaction: {
31
+ /** One-based ordinal: active history compactions plus this pending one. */
32
+ count: number;
33
+ mode: "summary" | "rolling";
34
+ source: "outer" | "inner";
35
+ estimatedTokensBefore: number;
36
+ thresholdTokens: number;
37
+ };
38
+ }
39
+ export type MidturnCheckpointHookEvent = ToolValidationHookEvent | RepetitiveOutputHookEvent | BeforeCompactionHookEvent;
27
40
  export type CheckpointAction = "continue" | "snapshot_continue" | "snapshot_exit";
28
41
  export type CheckpointDecision = CheckpointAction | boolean;
29
42
  export type MidturnCheckpointHook = (event: MidturnCheckpointHookEvent) => CheckpointDecision | Promise<CheckpointDecision>;
@@ -1 +1 @@
1
- {"version":3,"file":"midturn-checkpoint-hook.js","sourceRoot":"","sources":["../src/midturn-checkpoint-hook.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,2BAA2B,GACtC,+BAAwC,CAAC;AA6C3C,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,mBAAmB,CAAC;IAC/C,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,MAAM,cAAc,GAAG,GAAG,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAe,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,EAAE;YACtE,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,4DAA4D,QAAQ,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAgC,CAAC;IACrD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"midturn-checkpoint-hook.js","sourceRoot":"","sources":["../src/midturn-checkpoint-hook.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,2BAA2B,GACtC,+BAAwC,CAAC;AA4D3C,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,mBAAmB,CAAC;IAC/C,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,MAAM,cAAc,GAAG,GAAG,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAe,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,EAAE;YACtE,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,4DAA4D,QAAQ,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAgC,CAAC;IACrD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import { setTimeout as delay } from "node:timers/promises";
3
3
  import { encodeSpeechPcm } from "./speech-audio.js";
4
4
  import { isGeminiSpeechModel } from "./speech-model.js";
5
5
  const defaultVertexBaseUrl = "https://routify-pub.alibaba-inc.com/protocol/vertex/v1beta";
6
+ const defaultOpenAIBaseUrl = "https://routify-pub.alibaba-inc.com/protocol/openai/v1";
6
7
  const doubaoSpeechUrl = "https://routify-pub.alibaba-inc.com/protocol/volcengine/api/v1/tts";
7
8
  const maximumGeneratedFileBytes = 25 * 1024 * 1024;
8
9
  const maximumJsonResponseBytes = 35 * 1024 * 1024;
@@ -159,6 +160,9 @@ function inlineDataFromResponse(payload, label, expectedMimePrefix) {
159
160
  return { bytes, mimeType };
160
161
  }
161
162
  }
163
+ return missingMediaData(payload, label, expectedMimePrefix);
164
+ }
165
+ function missingMediaData(payload, label, expectedMimePrefix) {
162
166
  const diagnosticMetadata = JSON.stringify(responseDiagnosticMetadata(payload));
163
167
  const upstreamResponse = JSON.stringify(payload);
164
168
  const message = `${label} response did not include ${expectedMimePrefix} data. ` +
@@ -197,6 +201,9 @@ function geminiImageConfig(size) {
197
201
  return { aspectRatio, imageSize };
198
202
  }
199
203
  export async function generateImageWithModelRouter(options) {
204
+ if (options.model.startsWith("gpt-image-")) {
205
+ return generateOpenAIImage(options);
206
+ }
200
207
  const parts = [{ text: options.prompt }];
201
208
  for (const image of options.images || []) {
202
209
  parts.push({
@@ -221,6 +228,49 @@ export async function generateImageWithModelRouter(options) {
221
228
  const payload = parseJsonResponse(await responseBytes(response, maximumJsonResponseBytes), "generate_image");
222
229
  return inlineDataFromResponse(payload, "generate_image", "image/");
223
230
  }
231
+ async function generateOpenAIImage(options) {
232
+ const baseUrl = (process.env.ROUTIFY_OPENAI_BASE_URL || defaultOpenAIBaseUrl).replace(/\/+$/, "");
233
+ const parameters = {
234
+ model: options.model,
235
+ prompt: options.prompt,
236
+ n: 1,
237
+ size: options.size.replace("*", "x"),
238
+ output_format: "png",
239
+ };
240
+ const images = options.images || [];
241
+ const editing = images.length > 0;
242
+ let body = JSON.stringify(parameters);
243
+ if (editing) {
244
+ const form = new FormData();
245
+ for (const [name, value] of Object.entries(parameters)) {
246
+ form.append(name, String(value));
247
+ }
248
+ for (const image of images) {
249
+ form.append("image[]", new Blob([new Uint8Array(image.bytes)], { type: image.mimeType }), image.fileName);
250
+ }
251
+ body = form;
252
+ }
253
+ const response = await modelRouterFetch(`${baseUrl}/images/${editing ? "edits" : "generations"}`, {
254
+ method: "POST",
255
+ ...(editing ? {} : { headers: { "content-type": "application/json" } }),
256
+ body,
257
+ signal: options.signal,
258
+ }, "generate_image", "bearer");
259
+ const payload = parseJsonResponse(await responseBytes(response, maximumJsonResponseBytes), "generate_image");
260
+ const data = Array.isArray(payload.data) ? payload.data : [];
261
+ for (const item of data) {
262
+ const encodedImage = stringValue(record(item).b64_json);
263
+ if (!encodedImage)
264
+ continue;
265
+ const bytes = Buffer.from(encodedImage, "base64");
266
+ if (bytes.length > maximumGeneratedFileBytes) {
267
+ throw new Error(`generated file exceeds ${maximumGeneratedFileBytes} bytes`);
268
+ }
269
+ if (bytes.length)
270
+ return { bytes, mimeType: "image/png" };
271
+ }
272
+ return missingMediaData(payload, "generate_image", "image/");
273
+ }
224
274
  function validateSpeechAudio(bytes, format) {
225
275
  const matches = format === "wav"
226
276
  ? bytes.length >= 12 &&
@@ -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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"}
package/dist/prompts.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /** Arena Agent Mode (workspace) system prompt. */
2
1
  export declare const agentSystemPromptTemplate: string;
3
2
  /** Arena repo mode system prompt. */
4
3
  export declare const repoAgentSystemPromptTemplate: string;