@openclaw/ai 2026.7.2-beta.7 → 2026.8.1-beta.2

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 (91) hide show
  1. package/dist/{anthropic-CH4UUnZr.mjs → anthropic-B6dLpq5L.mjs} +55 -203
  2. package/dist/{src-QkygScBs.mjs → anthropic-JsNA5KCu.mjs} +0 -1
  3. package/dist/anthropic-compaction-replay-8lJNKXOE.mjs +840 -0
  4. package/dist/anthropic-payload-policy-CiEuQS72.d.mts +49 -0
  5. package/dist/{api-registry-DlMgPR39.d.mts → api-registry-k3zTz0cV.d.mts} +1 -1
  6. package/dist/{azure-openai-responses-CImcwB83.mjs → azure-openai-responses-mxIOtUnn.mjs} +23 -29
  7. package/dist/diagnostics.d.mts +24 -1
  8. package/dist/diagnostics.mjs +2 -1
  9. package/dist/{event-stream-YjaPW20U.d.mts → event-stream-BP6AWT8j.d.mts} +4 -1
  10. package/dist/{event-stream-D8n2uFee.mjs → event-stream-uSMZJ3FA.mjs} +26 -5
  11. package/dist/event-stream.d.mts +1 -1
  12. package/dist/event-stream.mjs +1 -1
  13. package/dist/{google-CtSg0iTS.mjs → google-C7h2QzDX.mjs} +5 -5
  14. package/dist/{google-shared-DNBz5rcD.mjs → google-shared-B0Qr9OR7.mjs} +146 -89
  15. package/dist/google-thinking-level-C-V3tecN.mjs +9 -0
  16. package/dist/{google-vertex-31f1uS9L.mjs → google-vertex-Bhc3TjDl.mjs} +11 -7
  17. package/dist/{llm-request-activity-BjtkplhG.mjs → headers-DdOQtGuU.mjs} +9 -1
  18. package/dist/host-DTqNc7ad.mjs +466 -0
  19. package/dist/{host-B9GUmcra.d.mts → host-vWgMMhiJ.d.mts} +9 -4
  20. package/dist/index.d.mts +6 -6
  21. package/dist/index.mjs +7 -5
  22. package/dist/internal/anthropic.d.mts +29 -5
  23. package/dist/internal/anthropic.mjs +5 -5
  24. package/dist/internal/openai-responses-payload-policy.d.mts +3 -0
  25. package/dist/internal/openai-responses-payload-policy.mjs +3 -0
  26. package/dist/internal/openai.d.mts +6 -6
  27. package/dist/internal/openai.mjs +8 -7
  28. package/dist/internal/runtime.d.mts +17 -5
  29. package/dist/internal/runtime.mjs +85 -73
  30. package/dist/internal/shared.d.mts +1 -6
  31. package/dist/internal/shared.mjs +3 -5
  32. package/dist/{json-parse-BvXNt1-7.mjs → json-parse-CDnesDM_.mjs} +4 -6
  33. package/dist/{mistral-CWmpvWYh.mjs → mistral-CEWoQI_g.mjs} +45 -48
  34. package/dist/number-coercion-H9qHik3g.mjs +71 -0
  35. package/dist/openai-chatgpt-jwt-KWcgd0d_.mjs +19 -0
  36. package/dist/{openai-chatgpt-responses-B84Ibtrd.mjs → openai-chatgpt-responses-CrPmqERt.mjs} +284 -240
  37. package/dist/{openai-completions-DsOxhOD1.mjs → openai-completions-BPnt4Sml.mjs} +65 -99
  38. package/dist/{openai-completions-compat-DBWjXoMZ.d.mts → openai-completions-compat-Dt3dcawL.d.mts} +2 -2
  39. package/dist/{openai-responses-BT7A3sLu.mjs → openai-responses-DhIKtOup.mjs} +18 -41
  40. package/dist/openai-responses-contracts-CyfIkQi5.mjs +253 -0
  41. package/dist/openai-responses-contracts-XpZJxrRG.d.mts +68 -0
  42. package/dist/openai-responses-payload-policy-BDxV-W0c.mjs +206 -0
  43. package/dist/openai-responses-payload-policy-BSs371VM.d.mts +40 -0
  44. package/dist/openai-responses-prompt-observer-internal-DgNTYnRY.mjs +46 -0
  45. package/dist/{openai-responses-stream-internal-Cw5txaGW.mjs → openai-responses-shared-DXIt3iY5.mjs} +1406 -940
  46. package/dist/{openai-reasoning-compat-YgeLncHw.mjs → openai-stop-reason-BkFkqqK0.mjs} +204 -37
  47. package/dist/openai-tool-projection-CY04OcvQ.mjs +338 -0
  48. package/dist/provider-error-BUwEnjXq.mjs +429 -0
  49. package/dist/provider-error-CzNw4BWX.d.mts +12 -0
  50. package/dist/{provider-options-D8bB3z9b.d.mts → provider-options-B96RdNpH.d.mts} +9 -3
  51. package/dist/provider-transcript-transform-ePx-Bbfr.mjs +155 -0
  52. package/dist/provider-types.d.mts +31 -0
  53. package/dist/provider-types.mjs +8 -0
  54. package/dist/providers.d.mts +1 -1
  55. package/dist/providers.mjs +17 -19
  56. package/dist/{reasoning-tag-text-partitioner-CGDyLWUR.mjs → reasoning-tag-text-partitioner-rnPwX2pg.mjs} +14 -8
  57. package/dist/record-coerce-DdXsgUd_.mjs +23 -0
  58. package/dist/sanitize-unicode-BYqrYtC_.mjs +90 -0
  59. package/dist/session-resources-CkR4WWy1.mjs +21 -0
  60. package/dist/simple-options-D58D5Kvw.mjs +117 -0
  61. package/dist/src-D2H6yKkH.mjs +2 -0
  62. package/dist/{stream-first-event-timeout-BBys9hSb.mjs → stream-first-event-timeout-MK28puvq.mjs} +2 -2
  63. package/dist/string-coerce-fsri9iCu.mjs +34 -0
  64. package/dist/{tool-schema-json-projection-BwNu3nDi.mjs → tool-schema-json-projection-q5d7QX5c.mjs} +32 -7
  65. package/dist/transport-utils-DJqkxbhC.mjs +138 -0
  66. package/dist/transports.d.mts +166 -241
  67. package/dist/transports.mjs +1979 -1825
  68. package/dist/types-BDdaOVi2.mjs +6 -0
  69. package/dist/{types-bzp5k29J.d.mts → types-BHNrPS1l.d.mts} +23 -1
  70. package/dist/types.d.mts +4 -4
  71. package/dist/types.mjs +6 -4
  72. package/dist/utf16-slice-CvGodqok.mjs +29 -0
  73. package/dist/{validation-DAa_yFOM.mjs → validation-B61OhAio.mjs} +6 -6
  74. package/dist/{validation-B-j7cOYp.d.mts → validation-DT9SrFn3.d.mts} +1 -1
  75. package/dist/validation.d.mts +1 -1
  76. package/dist/validation.mjs +1 -1
  77. package/package.json +15 -1
  78. package/dist/anthropic-usage-DWU-x8MI.mjs +0 -459
  79. package/dist/error-coercion-DgxlWC0n.mjs +0 -15
  80. package/dist/headers-B_e4-1J0.mjs +0 -9
  81. package/dist/host-Dog2WQiR.mjs +0 -369
  82. package/dist/number-coercion-DvG7SNMg.mjs +0 -129
  83. package/dist/openai-chatgpt-jwt-DhAAzLkj.mjs +0 -39
  84. package/dist/openai-responses-shared-pXl6Wd8S.mjs +0 -392
  85. package/dist/openai-tool-projection-OhX64DoP.mjs +0 -215
  86. package/dist/provider-error-CAEvRjry.mjs +0 -47
  87. package/dist/sanitize-unicode-DT5o51ur.mjs +0 -26
  88. package/dist/simple-options-9lhRrN73.mjs +0 -50
  89. package/dist/tool-result-text-CTpIRbYd.mjs +0 -225
  90. package/dist/transform-messages-C8mBqZxF.mjs +0 -2
  91. package/dist/transport-stream-shared-D81p90xq.mjs +0 -297
@@ -0,0 +1,71 @@
1
+ //#region packages/normalization-core/src/number-coercion.ts
2
+ /** Returns a number only when the input is already finite. */
3
+ function asFiniteNumber(value) {
4
+ return Number.isFinite(value) ? value : void 0;
5
+ }
6
+ /** Returns a finite number only when it is zero or greater. */
7
+ function asNonNegativeFiniteNumber(value) {
8
+ const number = asFiniteNumber(value);
9
+ return number && number < 0 ? void 0 : number;
10
+ }
11
+ /** Returns a finite number only when it satisfies the supplied inclusive/exclusive bounds. */
12
+ function asFiniteNumberInRange(value, range) {
13
+ const number = asFiniteNumber(value);
14
+ if (number === void 0) return;
15
+ if (range.min !== void 0) {
16
+ if (range.minExclusive ? number <= range.min : number < range.min) return;
17
+ }
18
+ if (range.max !== void 0) {
19
+ if (range.maxExclusive ? number >= range.max : number > range.max) return;
20
+ }
21
+ return number;
22
+ }
23
+ function normalizeNumericString(value) {
24
+ const trimmed = value.trim();
25
+ return trimmed ? trimmed : void 0;
26
+ }
27
+ /** Parses only safe integer numbers or base-10 integer strings. */
28
+ function parseStrictInteger(value) {
29
+ if (typeof value === "number") return Number.isSafeInteger(value) ? value : void 0;
30
+ if (typeof value !== "string") return;
31
+ const normalized = normalizeNumericString(value);
32
+ if (!normalized || !/^[+-]?\d+$/.test(normalized)) return;
33
+ const parsed = Number(normalized);
34
+ return Number.isSafeInteger(parsed) ? parsed : void 0;
35
+ }
36
+ /** Parses only finite decimal/scientific string tokens, rejecting partial numbers. */
37
+ function parseStrictFiniteNumber(value) {
38
+ if (typeof value === "number") return Number.isFinite(value) ? value : void 0;
39
+ if (typeof value !== "string") return;
40
+ const normalized = normalizeNumericString(value);
41
+ if (!normalized || !/^[+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:e[+-]?\d+)?$/i.test(normalized)) return;
42
+ const parsed = Number(normalized);
43
+ return Number.isFinite(parsed) ? parsed : void 0;
44
+ }
45
+ /** Conservative upper bound for Node timer delays. */
46
+ const MAX_TIMER_TIMEOUT_MS = 2147e6;
47
+ /** Clamps finite millisecond values into the Node-safe timer range. */
48
+ function clampTimerTimeoutMs(valueMs, minMs = 1) {
49
+ const value = asFiniteNumber(valueMs);
50
+ if (value === void 0) return;
51
+ return Math.min(Math.max(Math.floor(value), Math.max(1, Math.floor(minMs))), MAX_TIMER_TIMEOUT_MS);
52
+ }
53
+ /** Resolves arbitrary timeout input with fallback and minimum timer bounds. */
54
+ function resolveTimerTimeoutMs(valueMs, fallbackMs, minMs = 1) {
55
+ const value = asFiniteNumber(valueMs) ?? asFiniteNumber(fallbackMs);
56
+ const min = Math.max(0, Math.floor(minMs));
57
+ if (value === void 0) return min;
58
+ return Math.min(Math.max(Math.floor(value), min), MAX_TIMER_TIMEOUT_MS);
59
+ }
60
+ /** Parses strict positive integer values from numbers or strings. */
61
+ function parseStrictPositiveInteger(value) {
62
+ const parsed = parseStrictInteger(value);
63
+ return parsed !== void 0 && parsed > 0 ? parsed : void 0;
64
+ }
65
+ /** Parses strict non-negative integer values from numbers or strings. */
66
+ function parseStrictNonNegativeInteger(value) {
67
+ const parsed = parseStrictInteger(value);
68
+ return parsed !== void 0 && parsed >= 0 ? parsed : void 0;
69
+ }
70
+ //#endregion
71
+ export { parseStrictFiniteNumber as a, resolveTimerTimeoutMs as c, clampTimerTimeoutMs as i, asFiniteNumberInRange as n, parseStrictNonNegativeInteger as o, asNonNegativeFiniteNumber as r, parseStrictPositiveInteger as s, asFiniteNumber as t };
@@ -0,0 +1,19 @@
1
+ //#region packages/ai/src/utils/oauth/openai-chatgpt-jwt.ts
2
+ const OPENAI_CODEX_AUTH_CLAIM = "https://api.openai.com/auth";
3
+ function decodeOpenAICodexJwtPayload(token) {
4
+ const parts = token.split(".");
5
+ if (parts.length !== 3) return null;
6
+ try {
7
+ const decoded = Buffer.from(parts[1] ?? "", "base64url").toString("utf8");
8
+ const parsed = JSON.parse(decoded);
9
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
10
+ } catch {
11
+ return null;
12
+ }
13
+ }
14
+ function resolveOpenAICodexAccountId(token) {
15
+ const accountId = decodeOpenAICodexJwtPayload(token)?.[OPENAI_CODEX_AUTH_CLAIM]?.chatgpt_account_id;
16
+ return typeof accountId === "string" && accountId.length > 0 ? accountId : null;
17
+ }
18
+ //#endregion
19
+ export { resolveOpenAICodexAccountId as n, decodeOpenAICodexJwtPayload as t };