@openclaw/ai 2026.9.5 → 2026.9.7
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/dist/{anthropic-COtDvgtt.mjs → anthropic-Cw2pgccz.mjs} +59 -88
- package/dist/{anthropic-payload-policy-5Erq1Nzy.d.mts → anthropic-payload-policy-NIPVYXPq.d.mts} +8 -6
- package/dist/{anthropic-stream-reducer-BvdYYWL8.mjs → anthropic-stream-reducer-D9MCkl8Z.mjs} +194 -247
- package/dist/{api-registry-Ba2Cv-ut.d.mts → api-registry-D-nbmSqr.d.mts} +2 -2
- package/dist/{azure-openai-responses-YrgnD583.mjs → azure-openai-responses-BwT3-X8P.mjs} +22 -33
- package/dist/{base64-BQOzsvUH.mjs → base64-C1PsYcRQ.mjs} +22 -16
- package/dist/{diagnostics-Dm4bisWG.mjs → diagnostics-CJaB6g8J.mjs} +55 -10
- package/dist/{diagnostics-CPeq9F7y.mjs → diagnostics-DzrF1h4J.mjs} +18 -1
- package/dist/diagnostics.d.mts +11 -5
- package/dist/diagnostics.mjs +4 -4
- package/dist/{env-api-keys-bktO00EJ.mjs → env-api-keys-CyX4VKGO.mjs} +7 -5
- package/dist/event-stream-CMQfX_yr.d.mts +1 -0
- package/dist/{event-stream-CCoa-qSI.d.mts → event-stream-DOPFYVqs.d.mts} +2 -2
- package/dist/{event-stream-D8PARQfL.mjs → event-stream-vd9UnCAU.mjs} +10 -0
- package/dist/event-stream.d.mts +2 -2
- package/dist/event-stream.mjs +1 -1
- package/dist/{google-BuhpRO9r.mjs → google-BfapkS_K.mjs} +8 -11
- package/dist/google-interactions-DW3iXzjc.mjs +574 -0
- package/dist/{google-messages-CyWnYlh0.mjs → google-messages-CtjVtVot.mjs} +35 -71
- package/dist/{google-shared-BT5ZeNer.mjs → google-shared-Y2YfotEu.mjs} +43 -47
- package/dist/{google-vertex-C7EplRvt.mjs → google-vertex-Dov4kBWu.mjs} +16 -30
- package/dist/{host-B4MeUNBc.mjs → host-CHi3X87F.mjs} +64 -189
- package/dist/{host-policy-DUnXSx0I.mjs → host-policy-BOAwRg_M.mjs} +2 -14
- package/dist/{host-FZ1RA_qD.d.mts → host-rxlNaBwm.d.mts} +9 -3
- package/dist/{index-DaF2QbwS.d.mts → index-D6KsSE74.d.mts} +57 -9
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +7 -7
- package/dist/internal/anthropic.d.mts +13 -8
- package/dist/internal/anthropic.mjs +5 -5
- package/dist/internal/openai-completions-compat.d.mts +1 -1
- package/dist/internal/openai-completions-compat.mjs +1 -1
- package/dist/internal/openai-responses-payload-policy.d.mts +1 -1
- package/dist/internal/openai-responses-payload-policy.mjs +2 -2
- package/dist/internal/openai.d.mts +46 -9
- package/dist/internal/openai.mjs +13 -12
- package/dist/internal/runtime.d.mts +31 -70
- package/dist/internal/runtime.mjs +11 -66
- package/dist/internal/shared.d.mts +16 -13
- package/dist/internal/shared.mjs +6 -5
- package/dist/internal/tool-schema.d.mts +2 -2
- package/dist/internal/tool-schema.mjs +2 -2
- package/dist/{mistral-moA-mbwl.mjs → mistral-RS6mboC-.mjs} +46 -93
- package/dist/{model-transport-url-DKocrEsb.d.mts → model-transport-url-C5f59L3Y.d.mts} +1 -1
- package/dist/{openai-chatgpt-responses-DWID3EFO.mjs → openai-chatgpt-responses-CYbidtrn.mjs} +118 -99
- package/dist/{openai-completions-DJ1Vm-CD.mjs → openai-completions-D14ihPYk.mjs} +14 -12
- package/dist/{openai-completions-compat-CkwdxTZx.mjs → openai-completions-compat-BOVWBZDn.mjs} +3 -5
- package/dist/{openai-completions-compat-JE7gqxb9.d.mts → openai-completions-compat-qJjmqQ71.d.mts} +3 -3
- package/dist/{openai-completions-stream-Bu98b0Hv.mjs → openai-completions-stream-CDCuw3DP.mjs} +124 -183
- package/dist/{openai-prompt-cache-CJ_xEevu.d.mts → openai-prompt-cache-CouErLh7.d.mts} +2 -2
- package/dist/{openai-prompt-cache-1wfaIszn.mjs → openai-prompt-cache-D2V7MqR7.mjs} +1 -1
- package/dist/{openai-provider-client-DPo0Hmak.mjs → openai-provider-client-CwfsGBbA.mjs} +2 -2
- package/dist/{openai-reasoning-effort-NlFZmfEu.mjs → openai-reasoning-effort-ConhwkeX.mjs} +14 -5
- package/dist/{openai-responses-BejZzQCP.mjs → openai-responses-CKCBEc2W.mjs} +12 -11
- package/dist/openai-responses-compaction-replay-DiYn-gFM.d.mts +12 -0
- package/dist/{openai-responses-compaction-window-D6P5oZP5.mjs → openai-responses-compaction-window-UNK1GDpy.mjs} +5 -5
- package/dist/{openai-responses-contracts-DWrfMODE.mjs → openai-responses-contracts-CLxnqS9p.mjs} +1 -1
- package/dist/{openai-responses-contracts-Dflvrfa8.d.mts → openai-responses-contracts-D1iZ0njF.d.mts} +4 -4
- package/dist/{openai-responses-prompt-observer-internal-C15_-OwV.mjs → openai-responses-prompt-observer-internal-iAqLb4tk.mjs} +16 -13
- package/dist/openai-responses-request-lifecycle-Fsag-IGZ.mjs +36 -0
- package/dist/{openai-responses-shared-CwsziD_m.mjs → openai-responses-shared-DL4ulQn7.mjs} +838 -577
- package/dist/{openai-responses-terminal-usage-Dl3J6zrf.d.mts → openai-responses-terminal-usage-BE7lf7nW.d.mts} +2 -2
- package/dist/{openai-stop-reason-Drnn_6Qj.mjs → openai-stop-reason-8s70vDXj.mjs} +2 -12
- package/dist/{openai-tool-schema-ynZBgqW-.d.mts → openai-tool-schema-a5ysBBga.d.mts} +0 -6
- package/dist/{openai-tool-schema-BO8rwyAD.mjs → openai-tool-schema-vsl-cE-n.mjs} +365 -429
- package/dist/{openai-transport-params-DQeuAvBl.mjs → openai-transport-params-BwlpzX-2.mjs} +61 -106
- package/dist/{positive-integer-DtjCkbue.mjs → positive-integer-CjN5OJbH.mjs} +1 -1
- package/dist/{provider-error-DDqw9Qda.mjs → provider-error-CwT_j2v0.mjs} +82 -10
- package/dist/{provider-error-CzNw4BWX.d.mts → provider-error-xumb1V3F.d.mts} +3 -1
- package/dist/{provider-options-DprLsWh9.d.mts → provider-options-Df7ov0K1.d.mts} +6 -4
- package/dist/{provider-replay-context-CnUSOwhr.mjs → provider-replay-context-DsyI5jOP.mjs} +1 -1
- package/dist/{provider-transcript-transform-BsRAhuWJ.mjs → provider-transcript-transform-JbFbHV8h.mjs} +17 -2
- package/dist/{provider-transport-turn-state-CkGToCD2.mjs → provider-transport-turn-state-BheUi_hl.mjs} +1 -1
- package/dist/{provider-types-CAKRC7N5.d.mts → provider-types-d4XnoZMd.d.mts} +3 -3
- package/dist/provider-types.d.mts +6 -6
- package/dist/providers.d.mts +2 -2
- package/dist/providers.mjs +15 -11
- package/dist/{reasoning-tag-text-partitioner-Dy9IO8Dc.mjs → reasoning-tag-text-partitioner-B6FIIBt6.mjs} +193 -98
- package/dist/{record-coerce-DwRYMj3t.mjs → record-coerce-CNDovvft.mjs} +1 -1
- package/dist/simple-options-CGAkCwtM.mjs +349 -0
- package/dist/{src-DeKjbE8I.mjs → src-H4aXcFuX.mjs} +53 -26
- package/dist/{stream-CREqxHgU.mjs → stream-DDsCBgd-.mjs} +1 -7
- package/dist/{stream-first-event-timeout-C9ZadkJW.mjs → stream-first-event-timeout-B9o0S4SZ.mjs} +1 -1
- package/dist/{tool-schema-json-projection-CD9c_fK8.mjs → tool-schema-json-projection-Ct8SeBeJ.mjs} +63 -23
- package/dist/{transport-stream-shared-D-6FQSHm.mjs → transport-stream-shared-Dh5qKJ8e.mjs} +63 -37
- package/dist/{transport-stream-shared-BbUkFaHi.d.mts → transport-stream-shared-yYhXa4kX.d.mts} +13 -7
- package/dist/{transport-utils-1cyq5Y7x.mjs → transport-utils-C-4bf2Ok.mjs} +3 -4
- package/dist/transports.d.mts +37 -33
- package/dist/transports.mjs +208 -239
- package/dist/types-CB-_vNyI.d.mts +1 -0
- package/dist/{types-4_uVs5WH.d.mts → types-CLLR3eB4.d.mts} +5 -1
- package/dist/types.d.mts +6 -6
- package/dist/types.mjs +5 -5
- package/dist/{validation-Dw7cb6BV.mjs → validation-BFZc40Ig.mjs} +80 -54
- package/dist/{validation-Ctzu2DhF.d.mts → validation-Cat2wQsc.d.mts} +1 -1
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +6 -6
- package/dist/assistant-output-BsEkB-vU.mjs +0 -16
- package/dist/event-stream-DmSCpi1T.d.mts +0 -1
- package/dist/simple-options-C6cFWj_f.mjs +0 -175
- package/dist/types-DkJfb4W3.d.mts +0 -1
- package/dist/utf16-slice-CvGodqok.mjs +0 -29
|
@@ -1,10 +1,36 @@
|
|
|
1
|
-
import { n as createAssistantMessageDiagnostic, t as appendAssistantMessageDiagnostic } from "./diagnostics-
|
|
2
|
-
import { i as createAssistantMessageEventStream } from "./event-stream-
|
|
3
|
-
import { i as asOptionalRecord, n as asNullableRecord, t as asNonArrayRecord } from "./record-coerce-
|
|
4
|
-
import {
|
|
5
|
-
import { i as projectDiagnosticValue, n as projectProviderError } from "./provider-error-
|
|
6
|
-
import { c as isTransientNetworkError } from "./diagnostics-
|
|
1
|
+
import { n as createAssistantMessageDiagnostic, t as appendAssistantMessageDiagnostic } from "./diagnostics-DzrF1h4J.mjs";
|
|
2
|
+
import { i as createAssistantMessageEventStream } from "./event-stream-vd9UnCAU.mjs";
|
|
3
|
+
import { i as asOptionalRecord, n as asNullableRecord, t as asNonArrayRecord } from "./record-coerce-CNDovvft.mjs";
|
|
4
|
+
import { S as headersToRecord, n as getAiTransportHost } from "./host-CHi3X87F.mjs";
|
|
5
|
+
import { i as projectDiagnosticValue, n as projectProviderError } from "./provider-error-CwT_j2v0.mjs";
|
|
6
|
+
import { c as isTransientNetworkError } from "./diagnostics-CJaB6g8J.mjs";
|
|
7
7
|
import { parse } from "partial-json";
|
|
8
|
+
//#region packages/ai/src/utils/sanitize-unicode.ts
|
|
9
|
+
/**
|
|
10
|
+
* Removes unpaired Unicode surrogate characters from a string.
|
|
11
|
+
*
|
|
12
|
+
* Unpaired surrogates (high surrogates 0xD800-0xDBFF without matching low surrogates 0xDC00-0xDFFF,
|
|
13
|
+
* or vice versa) cause JSON serialization errors in many API providers.
|
|
14
|
+
*
|
|
15
|
+
* Valid emoji and other characters outside the Basic Multilingual Plane use properly paired
|
|
16
|
+
* surrogates and will NOT be affected by this function.
|
|
17
|
+
*
|
|
18
|
+
* @param text - The text to sanitize
|
|
19
|
+
* @returns The sanitized text with unpaired surrogates removed
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Valid emoji (properly paired surrogates) are preserved
|
|
23
|
+
* sanitizeSurrogates("Hello 🙈 World") // => "Hello 🙈 World"
|
|
24
|
+
*
|
|
25
|
+
* // Unpaired high surrogate is removed
|
|
26
|
+
* const unpaired = String.fromCharCode(0xD83D); // high surrogate without low
|
|
27
|
+
* sanitizeSurrogates(`Text ${unpaired} here`) // => "Text here"
|
|
28
|
+
*/
|
|
29
|
+
function sanitizeSurrogates(text) {
|
|
30
|
+
if (text.isWellFormed()) return text;
|
|
31
|
+
return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g, "");
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
8
34
|
//#region packages/ai/src/utils/hash.ts
|
|
9
35
|
/** Fast deterministic hash to shorten long strings */
|
|
10
36
|
function shortHash(str) {
|
|
@@ -20,14 +46,6 @@ function shortHash(str) {
|
|
|
20
46
|
return (h2 >>> 0).toString(36) + (h1 >>> 0).toString(36);
|
|
21
47
|
}
|
|
22
48
|
//#endregion
|
|
23
|
-
//#region packages/ai/src/utils/headers.ts
|
|
24
|
-
/** Converts a Headers object to a plain record for provider request handling. */
|
|
25
|
-
function headersToRecord(headers) {
|
|
26
|
-
const result = {};
|
|
27
|
-
for (const [key, value] of headers.entries()) result[key] = value;
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
//#endregion
|
|
31
49
|
//#region packages/ai/src/utils/json-parse.ts
|
|
32
50
|
const VALID_JSON_ESCAPES = /* @__PURE__ */ new Set([
|
|
33
51
|
"\"",
|
|
@@ -51,16 +69,6 @@ function isControlCharacter(char) {
|
|
|
51
69
|
const codePoint = char.codePointAt(0);
|
|
52
70
|
return codePoint !== void 0 && codePoint >= 0 && codePoint <= 31;
|
|
53
71
|
}
|
|
54
|
-
function escapeControlCharacter(char) {
|
|
55
|
-
switch (char) {
|
|
56
|
-
case "\b": return "\\b";
|
|
57
|
-
case "\f": return "\\f";
|
|
58
|
-
case "\n": return "\\n";
|
|
59
|
-
case "\r": return "\\r";
|
|
60
|
-
case " ": return "\\t";
|
|
61
|
-
default: return `\\u${char.codePointAt(0)?.toString(16).padStart(4, "0") ?? "0000"}`;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
72
|
/**
|
|
65
73
|
* Repairs malformed JSON string literals by:
|
|
66
74
|
* - escaping raw control characters inside strings
|
|
@@ -129,7 +137,7 @@ function repairJson(json, options) {
|
|
|
129
137
|
stringValuePrefix += "\\";
|
|
130
138
|
continue;
|
|
131
139
|
}
|
|
132
|
-
repaired += isControlCharacter(char) ?
|
|
140
|
+
repaired += isControlCharacter(char) ? JSON.stringify(char).slice(1, -1) : char;
|
|
133
141
|
stringValuePrefix += char;
|
|
134
142
|
}
|
|
135
143
|
return repaired;
|
|
@@ -355,17 +363,6 @@ function mergeTransportHeaders(...headerSources) {
|
|
|
355
363
|
}
|
|
356
364
|
return Object.keys(merged).length > 0 ? merged : void 0;
|
|
357
365
|
}
|
|
358
|
-
function mergeTransportMetadata(payload, metadata) {
|
|
359
|
-
if (!metadata || Object.keys(metadata).length === 0) return payload;
|
|
360
|
-
const existingMetadata = asOptionalRecord(payload.metadata);
|
|
361
|
-
return {
|
|
362
|
-
...payload,
|
|
363
|
-
metadata: {
|
|
364
|
-
...existingMetadata,
|
|
365
|
-
...metadata
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
}
|
|
369
366
|
function createEmptyTransportUsage() {
|
|
370
367
|
return {
|
|
371
368
|
input: 0,
|
|
@@ -403,6 +400,35 @@ function transportAbortError(signal) {
|
|
|
403
400
|
const reason = signal?.reason;
|
|
404
401
|
return reason instanceof Error && typeof reason.code === "string" ? reason : /* @__PURE__ */ new Error("Request was aborted");
|
|
405
402
|
}
|
|
403
|
+
const MODEL_STREAM_COOPERATIVE_YIELD_INTERVAL_MS = 12;
|
|
404
|
+
const MODEL_STREAM_COOPERATIVE_YIELD_MAX_EVENTS = 64;
|
|
405
|
+
function throwIfModelStreamAborted(signal) {
|
|
406
|
+
if (signal?.aborted) throw transportAbortError(signal);
|
|
407
|
+
}
|
|
408
|
+
function createModelStreamCooperativeScheduler(signal) {
|
|
409
|
+
let lastYieldedAt = Date.now();
|
|
410
|
+
let eventsSinceYield = 0;
|
|
411
|
+
return { async afterEvent() {
|
|
412
|
+
throwIfModelStreamAborted(signal);
|
|
413
|
+
eventsSinceYield += 1;
|
|
414
|
+
if (eventsSinceYield < MODEL_STREAM_COOPERATIVE_YIELD_MAX_EVENTS && Date.now() - lastYieldedAt < MODEL_STREAM_COOPERATIVE_YIELD_INTERVAL_MS) return;
|
|
415
|
+
eventsSinceYield = 0;
|
|
416
|
+
await new Promise((resolve) => {
|
|
417
|
+
setTimeout(resolve, 0);
|
|
418
|
+
});
|
|
419
|
+
throwIfModelStreamAborted(signal);
|
|
420
|
+
lastYieldedAt = Date.now();
|
|
421
|
+
} };
|
|
422
|
+
}
|
|
423
|
+
/** Keep ready provider events from monopolizing the main loop, including ignored events. */
|
|
424
|
+
async function* iterateModelStream(events, signal) {
|
|
425
|
+
const scheduler = createModelStreamCooperativeScheduler(signal);
|
|
426
|
+
for await (const event of events) {
|
|
427
|
+
throwIfModelStreamAborted(signal);
|
|
428
|
+
yield event;
|
|
429
|
+
await scheduler.afterEvent();
|
|
430
|
+
}
|
|
431
|
+
}
|
|
406
432
|
const providerAcceptanceObserver = Symbol("openclaw.providerAcceptanceObserver");
|
|
407
433
|
function readProviderAcceptanceObserver(options) {
|
|
408
434
|
if (options === null || typeof options !== "object") return;
|
|
@@ -564,4 +590,4 @@ function failTransportStream(params) {
|
|
|
564
590
|
stream.end();
|
|
565
591
|
}
|
|
566
592
|
//#endregion
|
|
567
|
-
export {
|
|
593
|
+
export { shortHash as A, parseJsonObjectPreservingUnsafeIntegers as C, parseJsonWithRepair as D, createToolArgumentPreviewSchedule as E, parseStreamingJson as O, withProviderResponseHook as S, quoteUnsafeIntegerLiterals as T, sanitizeNonEmptyTransportPayloadText as _, createEmptyTransportUsage as a, transportAbortError as b, failTransportStream as c, iterateModelStream as d, mergeTransportHeaders as f, parseTerminalToolCallArguments as g, notifyProviderStreamOpened as h, copyProviderAcceptanceObserver as i, sanitizeSurrogates as j, repairJson as k, finalizeTerminalToolCallArguments as l, notifyProviderHttpResponse as m, assignTransportErrorDetails as n, createModelStreamCooperativeScheduler as o, notifyProviderHttpMetadata as p, coerceTransportToolCallArguments as r, createWritableTransportEventStream as s, IncompleteToolCallError as t, finalizeTransportStream as u, sanitizeTransportPayloadText as v, parseJsonPreservingUnsafeIntegers as w, withProviderAcceptanceObserver as x, throwIfModelStreamAborted as y };
|
package/dist/{transport-stream-shared-BbUkFaHi.d.mts → transport-stream-shared-yYhXa4kX.d.mts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "./index-
|
|
2
|
-
import { O as Model, V as ProviderResponse, Y as StreamOptions, a as AssistantMessage, ot as Usage } from "./types-
|
|
3
|
-
import { r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-
|
|
4
|
-
import "./event-stream-
|
|
5
|
-
import { t as ProviderErrorProjection } from "./provider-error-
|
|
1
|
+
import "./index-D6KsSE74.mjs";
|
|
2
|
+
import { O as Model, V as ProviderResponse, Y as StreamOptions, a as AssistantMessage, ot as Usage } from "./types-CLLR3eB4.mjs";
|
|
3
|
+
import { r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-DOPFYVqs.mjs";
|
|
4
|
+
import "./event-stream-CMQfX_yr.mjs";
|
|
5
|
+
import { t as ProviderErrorProjection } from "./provider-error-xumb1V3F.mjs";
|
|
6
6
|
//#region packages/ai/src/transports/transport-stream-shared.d.ts
|
|
7
7
|
type ContextUsage = NonNullable<Usage["contextUsage"]>;
|
|
8
8
|
type TransportUsage = {
|
|
@@ -43,7 +43,6 @@ declare function finalizeTerminalToolCallArguments<T extends {
|
|
|
43
43
|
repairStringLiterals?: boolean;
|
|
44
44
|
}): void;
|
|
45
45
|
declare function mergeTransportHeaders(...headerSources: Array<Record<string, string> | undefined>): Record<string, string> | undefined;
|
|
46
|
-
declare function mergeTransportMetadata<T extends Record<string, unknown>>(payload: T, metadata?: Record<string, string>): T;
|
|
47
46
|
declare function createEmptyTransportUsage(): TransportUsage;
|
|
48
47
|
declare function createWritableTransportEventStream(): {
|
|
49
48
|
eventStream: AssistantMessageEventStream;
|
|
@@ -60,6 +59,13 @@ declare function createWritableTransportEventStream(): {
|
|
|
60
59
|
* already emits rather than churning it.
|
|
61
60
|
*/
|
|
62
61
|
declare function transportAbortError(signal?: AbortSignal): Error;
|
|
62
|
+
type ModelStreamCooperativeScheduler = {
|
|
63
|
+
afterEvent: () => Promise<void>;
|
|
64
|
+
};
|
|
65
|
+
declare function throwIfModelStreamAborted(signal?: AbortSignal): void;
|
|
66
|
+
declare function createModelStreamCooperativeScheduler(signal?: AbortSignal): ModelStreamCooperativeScheduler;
|
|
67
|
+
/** Keep ready provider events from monopolizing the main loop, including ignored events. */
|
|
68
|
+
declare function iterateModelStream<T>(events: AsyncIterable<T> | Iterable<T>, signal?: AbortSignal): AsyncGenerator<T>;
|
|
63
69
|
type ProviderAcceptance = {
|
|
64
70
|
kind: "http_response";
|
|
65
71
|
status: number;
|
|
@@ -119,4 +125,4 @@ declare function failTransportStream(params: {
|
|
|
119
125
|
cleanup?: () => void;
|
|
120
126
|
}): void;
|
|
121
127
|
//#endregion
|
|
122
|
-
export {
|
|
128
|
+
export { withProviderAcceptanceObserver as C, transportAbortError as S, notifyProviderStreamOpened as _, coerceTransportToolCallArguments as a, sanitizeTransportPayloadText as b, createModelStreamCooperativeScheduler as c, finalizeTerminalToolCallArguments as d, finalizeTransportStream as f, notifyProviderHttpResponse as g, notifyProviderHttpMetadata as h, assignTransportErrorDetails as i, createWritableTransportEventStream as l, mergeTransportHeaders as m, ProviderAcceptance as n, copyProviderAcceptanceObserver as o, iterateModelStream as p, WritableTransportStream as r, createEmptyTransportUsage as s, IncompleteToolCallError as t, failTransportStream as u, parseTerminalToolCallArguments as v, withProviderResponseHook as w, throwIfModelStreamAborted as x, sanitizeNonEmptyTransportPayloadText as y };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { n as getAiTransportHost } from "./host-
|
|
2
|
-
import {
|
|
3
|
-
import "./provider-error-DDqw9Qda.mjs";
|
|
1
|
+
import { n as getAiTransportHost } from "./host-CHi3X87F.mjs";
|
|
2
|
+
import { o as truncateUtf16Safe } from "./provider-error-CwT_j2v0.mjs";
|
|
4
3
|
import "./internal/retry-after.mjs";
|
|
5
|
-
import "./positive-integer-
|
|
4
|
+
import "./positive-integer-CjN5OJbH.mjs";
|
|
6
5
|
//#region packages/normalization-core/src/response-bytes.ts
|
|
7
6
|
async function consumeResponseBytes(options) {
|
|
8
7
|
let size = 0;
|
package/dist/transports.d.mts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import "./index-
|
|
2
|
-
import { $ as ThinkingContent, B as ProviderReplayState, K as StopReason, M as OpenAICompletionsCompat, O as Model, X as TextContent, Y as StreamOptions, _t as ModelDataThinkingFormat, a as AssistantMessage, d as Context, l as CacheRetention, n as Api, nt as Tool, ot as Usage, q as StreamFn, rt as ToolCall } from "./types-
|
|
3
|
-
import { n as ApiRegistry } from "./api-registry-
|
|
4
|
-
import {
|
|
1
|
+
import "./index-D6KsSE74.mjs";
|
|
2
|
+
import { $ as ThinkingContent, B as ProviderReplayState, K as StopReason, M as OpenAICompletionsCompat, O as Model, X as TextContent, Y as StreamOptions, _t as ModelDataThinkingFormat, a as AssistantMessage, d as Context, l as CacheRetention, n as Api, nt as Tool, ot as Usage, q as StreamFn, rt as ToolCall } from "./types-CLLR3eB4.mjs";
|
|
3
|
+
import { n as ApiRegistry } from "./api-registry-D-nbmSqr.mjs";
|
|
4
|
+
import { o as AiProviderStreamHookContext } from "./host-rxlNaBwm.mjs";
|
|
5
|
+
import { a as BaseOpenAIStreamOptions, c as OpenAIResponsesCompactionRejection, o as CodeModeToolSurfaceObservation, s as OpenAICompletionsOptions } from "./provider-options-Df7ov0K1.mjs";
|
|
5
6
|
import { n as OpenAIToolProjection } from "./openai-tool-projection-793cE3QX.mjs";
|
|
6
|
-
import "./types-
|
|
7
|
-
import { a as buildAnthropicSystemBlocks, c as logAnthropicContextEdits, d as
|
|
8
|
-
import { a as resolveOpenAICompletionsCompat, i as isOpenAICodexResponsesModel, n as detectOpenAICompletionsCompat, o as resolveOpenAIPromptCacheKeySupport, r as isNativeOpenAIEndpoint, s as usesNativeOpenAICodexResponsesBackend, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-
|
|
9
|
-
import {
|
|
7
|
+
import "./types-CB-_vNyI.mjs";
|
|
8
|
+
import { a as buildAnthropicSystemBlocks, c as logAnthropicContextEdits, d as resolveAnthropicPayloadPolicy, f as resolveAnthropicRequestBetaHeader, i as applyAnthropicRequestCacheControl, l as resolveAnthropicCacheOptions, n as applyAnthropicEphemeralCacheControlMarkers, o as isAnthropicServerToolClearingEnabled, p as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, s as isDirectAnthropicModel, t as applyAnthropicContextManagementToRequest, u as resolveAnthropicEphemeralCacheControl } from "./anthropic-payload-policy-NIPVYXPq.mjs";
|
|
9
|
+
import { a as resolveOpenAICompletionsCompat, i as isOpenAICodexResponsesModel, n as detectOpenAICompletionsCompat, o as resolveOpenAIPromptCacheKeySupport, r as isNativeOpenAIEndpoint, s as usesNativeOpenAICodexResponsesBackend, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-qJjmqQ71.mjs";
|
|
10
|
+
import { n as OpenAIResponsesOptions, r as OpenAIResponsesReasoningReplayMetadata, s as OpenAIResponsesCompactionOutput } from "./openai-responses-contracts-D1iZ0njF.mjs";
|
|
10
11
|
import { i as resolveOpenAIResponsesServerCompactionPlan, n as resolveOpenAIResponsesCompactEndpointPlan, r as resolveOpenAIResponsesPayloadPolicy, t as applyOpenAIResponsesPayloadPolicy } from "./openai-responses-payload-policy-C7GsA1y0.mjs";
|
|
11
|
-
import {
|
|
12
|
+
import { n as captureOpenAIResponsesCompaction, t as CompactionReplayRefreshRequiredError } from "./openai-responses-compaction-replay-DiYn-gFM.mjs";
|
|
13
|
+
import { C as withProviderAcceptanceObserver, S as transportAbortError, _ as notifyProviderStreamOpened, a as coerceTransportToolCallArguments, b as sanitizeTransportPayloadText, c as createModelStreamCooperativeScheduler, d as finalizeTerminalToolCallArguments, f as finalizeTransportStream, g as notifyProviderHttpResponse, h as notifyProviderHttpMetadata, i as assignTransportErrorDetails, l as createWritableTransportEventStream, m as mergeTransportHeaders, n as ProviderAcceptance, o as copyProviderAcceptanceObserver, p as iterateModelStream, r as WritableTransportStream, s as createEmptyTransportUsage, t as IncompleteToolCallError, u as failTransportStream, v as parseTerminalToolCallArguments, w as withProviderResponseHook, x as throwIfModelStreamAborted, y as sanitizeNonEmptyTransportPayloadText } from "./transport-stream-shared-yYhXa4kX.mjs";
|
|
12
14
|
import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-Cwcjv_fx.mjs";
|
|
13
|
-
import { r as normalizeOpenAIStrictToolParameters } from "./openai-tool-schema-
|
|
14
|
-
import { d as VideoContent, i as ProviderContext, s as ProviderModel } from "./provider-types-
|
|
15
|
-
import { a as resolveModelSseDebugMode, i as resolveModelPayloadDebugMode, n as formatModelTransportDebugUrl, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl } from "./model-transport-url-
|
|
15
|
+
import { r as normalizeOpenAIStrictToolParameters } from "./openai-tool-schema-a5ysBBga.mjs";
|
|
16
|
+
import { d as VideoContent, i as ProviderContext, s as ProviderModel } from "./provider-types-d4XnoZMd.mjs";
|
|
17
|
+
import { a as resolveModelSseDebugMode, i as resolveModelPayloadDebugMode, n as formatModelTransportDebugUrl, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl } from "./model-transport-url-C5f59L3Y.mjs";
|
|
16
18
|
import OpenAI from "openai";
|
|
17
19
|
import { Part } from "@google/genai";
|
|
18
|
-
import "openai/resources/responses/responses.js";
|
|
19
20
|
import { ChatCompletionChunk } from "openai/resources/chat/completions.js";
|
|
20
21
|
//#region packages/ai/src/transports/anthropic-transport-stream.d.ts
|
|
21
22
|
/** Resolve the Anthropic Messages endpoint URL for the effective base URL. */
|
|
@@ -143,16 +144,11 @@ export declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCo
|
|
|
143
144
|
}): MutableAssistantOutput["usage"];
|
|
144
145
|
export declare function createOpenAIResponseHook(onResponse: BaseOpenAIStreamOptions["onResponse"], response: Response, model: Model): (() => void | Promise<void>) | undefined;
|
|
145
146
|
export declare function createOpenAIProviderAcceptanceHook(options: Pick<BaseOpenAIStreamOptions, "onResponse" | "signal"> | undefined, response: Response, model: Model): () => Promise<void>;
|
|
146
|
-
type ModelStreamCooperativeScheduler = {
|
|
147
|
-
afterEvent: () => Promise<void>;
|
|
148
|
-
};
|
|
149
|
-
export declare function throwIfModelStreamAborted(signal?: AbortSignal): void;
|
|
150
147
|
/** Measure one UTF-8 append without double-counting a surrogate pair split across chunks. */
|
|
151
148
|
export declare function measureUtf8AppendBytes(bufferEndsWithHighSurrogate: boolean, chunk: string): {
|
|
152
149
|
bytes: number;
|
|
153
150
|
endsWithHighSurrogate: boolean;
|
|
154
151
|
};
|
|
155
|
-
export declare function createModelStreamCooperativeScheduler(signal?: AbortSignal): ModelStreamCooperativeScheduler;
|
|
156
152
|
export declare function resolvePromptCacheKey(options: Pick<BaseOpenAIStreamOptions, "promptCacheKey" | "sessionId"> | undefined, cacheRetention: "short" | "long" | "none"): string | undefined;
|
|
157
153
|
export declare function isOpenAICompletionsThinkingEnabled(effort: string): boolean;
|
|
158
154
|
export declare function readOpenAICompletionsContentDeltas(content: unknown, topLevelRefusal?: unknown, mirroredThinking?: readonly string[]): OpenAICompletionsContentDelta[];
|
|
@@ -201,6 +197,18 @@ export declare function resolveReplayableResponsesMessageId(params: {
|
|
|
201
197
|
previousReplayItemWasReasoning: boolean;
|
|
202
198
|
}): string | undefined;
|
|
203
199
|
//#endregion
|
|
200
|
+
//#region packages/ai/src/transports/openai-responses-tool-call-id-shape.d.ts
|
|
201
|
+
export declare const OPENAI_RESPONSES_ID_MAX_LENGTH = 64;
|
|
202
|
+
export declare const OPENAI_RESPONSES_CALL_ID_RE: RegExp;
|
|
203
|
+
export declare const OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE: RegExp;
|
|
204
|
+
export declare function splitOpenAIFunctionCallPairing(id: string): {
|
|
205
|
+
callId: string;
|
|
206
|
+
itemId?: string;
|
|
207
|
+
};
|
|
208
|
+
/** Same shaping `normalizeOpenAIResponsesToolCallIds` applies to a replayed `call_id`/`call_id|fc_id` pair. */
|
|
209
|
+
export declare function normalizeOpenAIResponsesFunctionCallId(id: string): string;
|
|
210
|
+
export declare function shouldNormalizeOpenAIResponsesToolCallId(id: string): boolean;
|
|
211
|
+
//#endregion
|
|
204
212
|
//#region packages/ai/src/transports/openai-responses-client.d.ts
|
|
205
213
|
export declare function createOpenAIResponsesTransportStreamFn(): StreamFn;
|
|
206
214
|
export declare function createAzureOpenAIResponsesTransportStreamFn(): StreamFn;
|
|
@@ -224,12 +232,6 @@ type OpenAIResponsesCompactEndpointResult = {
|
|
|
224
232
|
/** Run a compact-endpoint request through the session's prepared stream stack. */
|
|
225
233
|
export declare function requestPreparedOpenAIResponsesCompaction(streamFn: StreamFn, model: Model, context: Context, options: OpenAIResponsesOptions): Promise<OpenAIResponsesCompactEndpointResult>;
|
|
226
234
|
//#endregion
|
|
227
|
-
//#region packages/ai/src/transports/openai-responses-compaction-replay.d.ts
|
|
228
|
-
export declare function captureOpenAIResponsesCompaction(output: Pick<AssistantMessage, "providerReplay">, item: ReplayableResponseCompactionItem, boundary: number | "retained-users", model: Model, captureMetadata?: OpenAIResponsesReasoningReplayMetadata, compactedOutput?: OpenAIResponsesCompactionOutput): void;
|
|
229
|
-
export declare class CompactionReplayRefreshRequiredError extends Error {
|
|
230
|
-
constructor();
|
|
231
|
-
}
|
|
232
|
-
//#endregion
|
|
233
235
|
//#region packages/ai/src/transports/openai-transport-params.d.ts
|
|
234
236
|
export declare function readCodeModePayloadToolName(tool: unknown): string | undefined;
|
|
235
237
|
export declare function filterCodeModePayloadTools(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>, observer?: (observation: CodeModeToolSurfaceObservation) => void): void;
|
|
@@ -255,15 +257,10 @@ export declare function buildOpenAISdkRequestOptions(model: Model, signal?: Abor
|
|
|
255
257
|
headers?: Record<string, string>;
|
|
256
258
|
} | undefined;
|
|
257
259
|
export declare function getCompat(model: OpenAIModeModel): {
|
|
258
|
-
cacheControlFormat: "anthropic" | undefined;
|
|
259
|
-
reasoningEffortMap: Record<string, string>;
|
|
260
|
-
openRouterRouting: Record<string, unknown>;
|
|
261
|
-
vercelGatewayRouting: Record<string, unknown>;
|
|
262
|
-
requiresStringContent: boolean;
|
|
263
|
-
strictMessageKeys: boolean;
|
|
264
260
|
supportsStore: boolean;
|
|
265
261
|
supportsDeveloperRole: boolean;
|
|
266
262
|
supportsReasoningEffort: boolean;
|
|
263
|
+
supportedReasoningEfforts?: string[];
|
|
267
264
|
supportsUsageInStreaming: boolean;
|
|
268
265
|
maxTokensField: "max_completion_tokens" | "max_tokens";
|
|
269
266
|
requiresToolResultName: boolean;
|
|
@@ -276,11 +273,16 @@ export declare function getCompat(model: OpenAIModeModel): {
|
|
|
276
273
|
supportsJsonSchemaResponseFormat: boolean;
|
|
277
274
|
supportsPromptCacheKey: boolean;
|
|
278
275
|
supportsLongCacheRetention: boolean;
|
|
279
|
-
|
|
280
|
-
sessionAffinity: "openai" | "openrouter" | "none";
|
|
276
|
+
sessionAffinity: "none" | "openai" | "openrouter";
|
|
281
277
|
visibleReasoningDetailTypes: string[];
|
|
282
278
|
requiresNonEmptyUserOrAssistantMessage: boolean;
|
|
283
279
|
configuredSupportsLongCacheRetention?: boolean;
|
|
280
|
+
cacheControlFormat: "anthropic" | undefined;
|
|
281
|
+
reasoningEffortMap: Record<string, string>;
|
|
282
|
+
openRouterRouting: Record<string, unknown>;
|
|
283
|
+
vercelGatewayRouting: Record<string, unknown>;
|
|
284
|
+
requiresStringContent: boolean;
|
|
285
|
+
strictMessageKeys: boolean;
|
|
284
286
|
};
|
|
285
287
|
//#endregion
|
|
286
288
|
//#region packages/ai/src/transports/provider-compaction-replay.d.ts
|
|
@@ -353,6 +355,8 @@ export declare function prepareModelForSimpleCompletion<TApi extends Api>(params
|
|
|
353
355
|
apiRegistry: ApiRegistry;
|
|
354
356
|
model: Model<TApi>;
|
|
355
357
|
cfg?: unknown;
|
|
358
|
+
auth?: AiProviderStreamHookContext["auth"];
|
|
359
|
+
agentId?: string;
|
|
356
360
|
}): Model;
|
|
357
361
|
//#endregion
|
|
358
362
|
//#region packages/ai/src/transports/transport-utils.d.ts
|
|
@@ -428,4 +432,4 @@ export declare function convertGoogleTools(tools: Tool[]): {
|
|
|
428
432
|
functionDeclarations: Record<string, unknown>[];
|
|
429
433
|
}[] | undefined;
|
|
430
434
|
//#endregion
|
|
431
|
-
export { type GoogleStreamChunk, IncompleteToolCallError, type OpenAICompletionsOptions, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyOpenAIResponsesPayloadPolicy, assignTransportErrorDetails, buildAnthropicSystemBlocks, coerceTransportToolCallArguments, copyProviderAcceptanceObserver, createEmptyTransportUsage, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, failTransportStream, finalizeTerminalToolCallArguments, finalizeTransportStream, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, isAnthropicServerToolClearingEnabled, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, logAnthropicContextEdits, mergeTransportHeaders,
|
|
435
|
+
export { CompactionReplayRefreshRequiredError, type GoogleStreamChunk, IncompleteToolCallError, type OpenAICompletionsOptions, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyOpenAIResponsesPayloadPolicy, assignTransportErrorDetails, buildAnthropicSystemBlocks, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, copyProviderAcceptanceObserver, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, failTransportStream, finalizeTerminalToolCallArguments, finalizeTransportStream, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, isAnthropicServerToolClearingEnabled, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, iterateModelStream, logAnthropicContextEdits, mergeTransportHeaders, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseTerminalToolCallArguments, resolveAnthropicCacheOptions, resolveAnthropicEphemeralCacheControl, resolveAnthropicPayloadPolicy, resolveAnthropicRequestBetaHeader, resolveAnthropicServerCompactionPlan, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, sanitizeNonEmptyTransportPayloadText, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };
|