@openclaw/ai 2026.9.5 → 2026.9.6

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 (87) hide show
  1. package/dist/{anthropic-COtDvgtt.mjs → anthropic-DZQ_7gD1.mjs} +35 -35
  2. package/dist/{anthropic-payload-policy-5Erq1Nzy.d.mts → anthropic-payload-policy-DyfwikYJ.d.mts} +4 -4
  3. package/dist/{anthropic-stream-reducer-BvdYYWL8.mjs → anthropic-stream-reducer-D6ZI1wwj.mjs} +32 -16
  4. package/dist/{api-registry-Ba2Cv-ut.d.mts → api-registry-C2T3lTV7.d.mts} +2 -2
  5. package/dist/{assistant-output-BsEkB-vU.mjs → assistant-output-DM1JBNs1.mjs} +1 -1
  6. package/dist/{azure-openai-responses-YrgnD583.mjs → azure-openai-responses-DS86GYzq.mjs} +5 -5
  7. package/dist/{base64-BQOzsvUH.mjs → base64-CPmadnUf.mjs} +8 -8
  8. package/dist/{diagnostics-Dm4bisWG.mjs → diagnostics-CH8j2wIG.mjs} +55 -10
  9. package/dist/{diagnostics-CPeq9F7y.mjs → diagnostics-DzrF1h4J.mjs} +18 -1
  10. package/dist/diagnostics.d.mts +11 -5
  11. package/dist/diagnostics.mjs +4 -4
  12. package/dist/event-stream-C0nsgbj2.d.mts +1 -0
  13. package/dist/{event-stream-CCoa-qSI.d.mts → event-stream-CjnIZZst.d.mts} +1 -1
  14. package/dist/event-stream.d.mts +2 -2
  15. package/dist/{google-BuhpRO9r.mjs → google-BZJFjhuC.mjs} +5 -5
  16. package/dist/{google-messages-CyWnYlh0.mjs → google-messages-DB7GKkDk.mjs} +3 -3
  17. package/dist/{google-shared-BT5ZeNer.mjs → google-shared-Bok4I6zB.mjs} +5 -5
  18. package/dist/{google-vertex-C7EplRvt.mjs → google-vertex-3eVNR2qW.mjs} +4 -4
  19. package/dist/{host-FZ1RA_qD.d.mts → host-DH-Z-LDb.d.mts} +3 -3
  20. package/dist/{host-policy-DUnXSx0I.mjs → host-policy-DZO3oPPk.mjs} +1 -1
  21. package/dist/{host-B4MeUNBc.mjs → host-yTvBrYM2.mjs} +41 -7
  22. package/dist/{index-DaF2QbwS.d.mts → index-C25RT6bP.d.mts} +36 -8
  23. package/dist/index.d.mts +7 -7
  24. package/dist/index.mjs +4 -4
  25. package/dist/internal/anthropic.d.mts +12 -8
  26. package/dist/internal/anthropic.mjs +5 -5
  27. package/dist/internal/openai-completions-compat.d.mts +1 -1
  28. package/dist/internal/openai-completions-compat.mjs +1 -1
  29. package/dist/internal/openai-responses-payload-policy.d.mts +1 -1
  30. package/dist/internal/openai-responses-payload-policy.mjs +1 -1
  31. package/dist/internal/openai.d.mts +22 -8
  32. package/dist/internal/openai.mjs +11 -10
  33. package/dist/internal/runtime.d.mts +6 -6
  34. package/dist/internal/runtime.mjs +5 -5
  35. package/dist/internal/shared.d.mts +5 -4
  36. package/dist/internal/shared.mjs +4 -4
  37. package/dist/internal/tool-schema.d.mts +1 -1
  38. package/dist/internal/tool-schema.mjs +1 -1
  39. package/dist/{mistral-moA-mbwl.mjs → mistral-C_13dVBn.mjs} +5 -5
  40. package/dist/{model-transport-url-DKocrEsb.d.mts → model-transport-url-C5f59L3Y.d.mts} +1 -1
  41. package/dist/{openai-chatgpt-responses-DWID3EFO.mjs → openai-chatgpt-responses-sTxPl4zM.mjs} +107 -84
  42. package/dist/{openai-completions-DJ1Vm-CD.mjs → openai-completions-BO6D_hrB.mjs} +10 -10
  43. package/dist/{openai-completions-compat-CkwdxTZx.mjs → openai-completions-compat-CUollwl6.mjs} +1 -1
  44. package/dist/{openai-completions-compat-JE7gqxb9.d.mts → openai-completions-compat-DfJG1wSO.d.mts} +3 -3
  45. package/dist/{openai-completions-stream-Bu98b0Hv.mjs → openai-completions-stream-BpuJ0ZOA.mjs} +38 -25
  46. package/dist/{openai-prompt-cache-CJ_xEevu.d.mts → openai-prompt-cache-C4RHdN4n.d.mts} +2 -2
  47. package/dist/{openai-prompt-cache-1wfaIszn.mjs → openai-prompt-cache-CjV_2IRI.mjs} +1 -1
  48. package/dist/{openai-provider-client-DPo0Hmak.mjs → openai-provider-client-BP8J1aeg.mjs} +2 -2
  49. package/dist/{openai-reasoning-effort-NlFZmfEu.mjs → openai-reasoning-effort-ash8dPrd.mjs} +12 -4
  50. package/dist/{openai-responses-BejZzQCP.mjs → openai-responses-BJ_IEoMU.mjs} +7 -7
  51. package/dist/{openai-responses-compaction-window-D6P5oZP5.mjs → openai-responses-compaction-window-BiNCT0bS.mjs} +3 -3
  52. package/dist/{openai-responses-contracts-Dflvrfa8.d.mts → openai-responses-contracts-B1ENJFpI.d.mts} +4 -4
  53. package/dist/{openai-responses-prompt-observer-internal-C15_-OwV.mjs → openai-responses-prompt-observer-internal-DPHWgbBH.mjs} +14 -11
  54. package/dist/openai-responses-request-lifecycle-DFuyO1pQ.mjs +36 -0
  55. package/dist/{openai-responses-shared-CwsziD_m.mjs → openai-responses-shared-DvSqtJ6_.mjs} +481 -410
  56. package/dist/{openai-responses-terminal-usage-Dl3J6zrf.d.mts → openai-responses-terminal-usage-BNFbvY9f.d.mts} +2 -2
  57. package/dist/{openai-tool-schema-BO8rwyAD.mjs → openai-tool-schema-D4BMcj2D.mjs} +171 -95
  58. package/dist/{openai-transport-params-DQeuAvBl.mjs → openai-transport-params-DZKOTSfH.mjs} +9 -9
  59. package/dist/{positive-integer-DtjCkbue.mjs → positive-integer-BiUxrd71.mjs} +1 -1
  60. package/dist/{provider-error-DDqw9Qda.mjs → provider-error-CRhW7lkJ.mjs} +40 -7
  61. package/dist/{provider-error-CzNw4BWX.d.mts → provider-error-xumb1V3F.d.mts} +3 -1
  62. package/dist/{provider-options-DprLsWh9.d.mts → provider-options-DZYq53lj.d.mts} +6 -4
  63. package/dist/{provider-replay-context-CnUSOwhr.mjs → provider-replay-context-DPr3w20a.mjs} +1 -1
  64. package/dist/{provider-transcript-transform-BsRAhuWJ.mjs → provider-transcript-transform-BTocjCRs.mjs} +1 -1
  65. package/dist/{provider-transport-turn-state-CkGToCD2.mjs → provider-transport-turn-state-lrXEFkYr.mjs} +1 -1
  66. package/dist/{provider-types-CAKRC7N5.d.mts → provider-types-w1rEqrGP.d.mts} +3 -3
  67. package/dist/provider-types.d.mts +6 -6
  68. package/dist/providers.d.mts +2 -2
  69. package/dist/providers.mjs +10 -10
  70. package/dist/{reasoning-tag-text-partitioner-Dy9IO8Dc.mjs → reasoning-tag-text-partitioner-Di38crhI.mjs} +154 -35
  71. package/dist/{simple-options-C6cFWj_f.mjs → simple-options-np1XPuhm.mjs} +2 -2
  72. package/dist/{src-DeKjbE8I.mjs → src-DwGYYyZp.mjs} +15 -6
  73. package/dist/{stream-first-event-timeout-C9ZadkJW.mjs → stream-first-event-timeout-BeptfRL6.mjs} +1 -1
  74. package/dist/{transport-stream-shared-D-6FQSHm.mjs → transport-stream-shared-B5RioB_Q.mjs} +5 -13
  75. package/dist/{transport-stream-shared-BbUkFaHi.d.mts → transport-stream-shared-B7Z9oCYg.d.mts} +5 -5
  76. package/dist/{transport-utils-1cyq5Y7x.mjs → transport-utils-03Qi0CN2.mjs} +3 -3
  77. package/dist/transports.d.mts +11 -11
  78. package/dist/transports.mjs +70 -45
  79. package/dist/types-DTvddOfm.d.mts +1 -0
  80. package/dist/{types-4_uVs5WH.d.mts → types-qZFbaDbK.d.mts} +2 -0
  81. package/dist/types.d.mts +6 -6
  82. package/dist/types.mjs +3 -3
  83. package/dist/{validation-Ctzu2DhF.d.mts → validation-DhQhmt6t.d.mts} +1 -1
  84. package/dist/validation.d.mts +1 -1
  85. package/package.json +5 -5
  86. package/dist/event-stream-DmSCpi1T.d.mts +0 -1
  87. package/dist/types-DkJfb4W3.d.mts +0 -1
@@ -1,15 +1,15 @@
1
1
  import { o as isRecord } from "./record-coerce-DwRYMj3t.mjs";
2
- import { u as supportsOpenAITemperature } from "./openai-reasoning-effort-NlFZmfEu.mjs";
3
- import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-1wfaIszn.mjs";
4
- import { o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-CkwdxTZx.mjs";
5
- import { r as resolveOpenAIStrictToolSetting } from "./host-policy-DUnXSx0I.mjs";
2
+ import { d as supportsOpenAITemperature, i as isOpenAIGpt6Model, m as resolveOpenAIThinkingApi } from "./openai-reasoning-effort-ash8dPrd.mjs";
3
+ import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-CjV_2IRI.mjs";
4
+ import { o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-CUollwl6.mjs";
5
+ import { r as resolveOpenAIStrictToolSetting } from "./host-policy-DZO3oPPk.mjs";
6
6
  import { t as resolveCacheRetention } from "./cache-retention-0x979a5V.mjs";
7
- import { m as stripSystemPromptCacheBoundary } from "./simple-options-C6cFWj_f.mjs";
8
- import { A as resolvePromptCacheKey, g as resolveOpenAISimpleReasoningEffort, h as resolveOpenAIRequestReasoning, m as reconcileOpenAIResponsesToolChoice, s as getCompat } from "./openai-transport-params-DQeuAvBl.mjs";
9
- import { _ as sanitizeTransportPayloadText } from "./transport-stream-shared-D-6FQSHm.mjs";
7
+ import { m as stripSystemPromptCacheBoundary } from "./simple-options-np1XPuhm.mjs";
8
+ import { A as resolvePromptCacheKey, g as resolveOpenAISimpleReasoningEffort, h as resolveOpenAIRequestReasoning, m as reconcileOpenAIResponsesToolChoice, s as getCompat } from "./openai-transport-params-DZKOTSfH.mjs";
9
+ import { _ as sanitizeTransportPayloadText } from "./transport-stream-shared-B5RioB_Q.mjs";
10
10
  import { h as responsesPromptObserver, r as OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS } from "./openai-responses-contracts-DWrfMODE.mjs";
11
- import { a as applyOpenAIResponsesPayloadPolicy, s as resolveOpenAIResponsesPayloadPolicy } from "./openai-responses-compaction-window-D6P5oZP5.mjs";
12
- import { N as buildResponsesInputMessage, P as convertResponsesMessages, s as prepareResponsesTools } from "./openai-responses-shared-CwsziD_m.mjs";
11
+ import { a as applyOpenAIResponsesPayloadPolicy, s as resolveOpenAIResponsesPayloadPolicy } from "./openai-responses-compaction-window-BiNCT0bS.mjs";
12
+ import { F as convertResponsesMessages, P as buildResponsesInputMessage, s as prepareResponsesTools } from "./openai-responses-shared-DvSqtJ6_.mjs";
13
13
  //#region packages/ai/src/transports/openai-responses-params-internal.ts
14
14
  const OPENAI_RESPONSES_TOOL_CALL_PROVIDERS = /* @__PURE__ */ new Set([
15
15
  "openai",
@@ -126,7 +126,7 @@ function buildOpenAIResponsesParams(model, context, options, metadata, replayMod
126
126
  const effectiveMaxTokens = options?.maxTokens || model.maxTokens;
127
127
  if (effectiveMaxTokens) params.max_output_tokens = Math.max(effectiveMaxTokens, 16);
128
128
  if (options?.temperature !== void 0 && supportsOpenAITemperature(model)) params.temperature = options.temperature;
129
- if (options?.topP !== void 0 && model.id !== "gpt-6-astra") params.top_p = options.topP;
129
+ if (options?.topP !== void 0 && (!isOpenAIGpt6Model(model) || resolveOpenAIThinkingApi(model.api) === "azure-openai-responses")) params.top_p = options.topP;
130
130
  if (options?.responseFormat !== void 0) params.text = {
131
131
  ...params.text,
132
132
  format: resolveOpenAIResponsesTextFormat(options.responseFormat)
@@ -134,7 +134,10 @@ function buildOpenAIResponsesParams(model, context, options, metadata, replayMod
134
134
  if (options?.serviceTier !== void 0 && payloadPolicy.allowsServiceTier) params.service_tier = options.serviceTier;
135
135
  if (context.tools) {
136
136
  const tools = context.tools;
137
- const strict = resolveOpenAIStrictToolSetting(model, { transport: "stream" });
137
+ const strict = resolveOpenAIStrictToolSetting(model, {
138
+ transport: "stream",
139
+ supportsStrictMode: compat.supportsStrictMode
140
+ });
138
141
  const { projection, tools: converted } = prepareResponsesTools(tools, strict, model);
139
142
  if (converted.length > 0 || projection.inputToolCount === 0 && projection.diagnostics.length === 0) params.tools = converted;
140
143
  if (options?.toolChoice) {
@@ -0,0 +1,36 @@
1
+ import { o as isRecord } from "./record-coerce-DwRYMj3t.mjs";
2
+ //#region packages/ai/src/transports/openai-responses-request-lifecycle.ts
3
+ const lifecycleKey = Symbol("openclaw.responsesRequestLifecycle");
4
+ /** Private transport carrier: serialized options cannot mint host authority. */
5
+ const responsesRequestLifecycle = {
6
+ set(options, lifecycle) {
7
+ Object.defineProperty(options, lifecycleKey, {
8
+ value: lifecycle,
9
+ enumerable: true
10
+ });
11
+ },
12
+ get(options) {
13
+ if (!options) return;
14
+ return Reflect.get(options, lifecycleKey);
15
+ }
16
+ };
17
+ /** A transport receipt must settle before model output can authorize later work. */
18
+ function withResponsesRequestAcceptance(events, lifecycle, signal) {
19
+ if (!lifecycle) return events;
20
+ return { async *[Symbol.asyncIterator]() {
21
+ for await (const event of events) {
22
+ if (isRecord(event) && event.type === "response.created") {
23
+ const response = isRecord(event.response) ? event.response : void 0;
24
+ if (typeof response?.id !== "string" || !response.id.trim()) throw new Error("Provider continuation response has no identity");
25
+ signal?.throwIfAborted();
26
+ lifecycle.assertCurrent();
27
+ await lifecycle.accepted(response.id, signal);
28
+ signal?.throwIfAborted();
29
+ lifecycle.assertCurrent();
30
+ }
31
+ yield event;
32
+ }
33
+ } };
34
+ }
35
+ //#endregion
36
+ export { withResponsesRequestAcceptance as n, responsesRequestLifecycle as t };