@openclaw/ai 2026.9.1 → 2026.9.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 (71) hide show
  1. package/dist/{anthropic-hk7F7ptG.mjs → anthropic-BDdqdVLK.mjs} +208 -205
  2. package/dist/{anthropic-compaction-replay-OMJZ0uyo.mjs → anthropic-compaction-replay-DB2FGLQc.mjs} +130 -41
  3. package/dist/{anthropic-payload-policy-DBT1itQ-.d.mts → anthropic-payload-policy-d46X2pR0.d.mts} +27 -3
  4. package/dist/{api-registry-Cs6HGNqY.d.mts → api-registry-DWtPjzyn.d.mts} +2 -2
  5. package/dist/{azure-openai-responses-CN4Fy5zV.mjs → azure-openai-responses-C5bZRfAP.mjs} +5 -5
  6. package/dist/{diagnostics-KhXK-QJI.mjs → diagnostics-DfFyKeX_.mjs} +1 -1
  7. package/dist/diagnostics.mjs +2 -2
  8. package/dist/{event-stream-uSMZJ3FA.mjs → event-stream-BgDvQeum.mjs} +3 -9
  9. package/dist/{event-stream-vK_7r3bj.d.mts → event-stream-BhT5T1Ay.d.mts} +1 -1
  10. package/dist/event-stream-zctLx0yr.d.mts +1 -0
  11. package/dist/event-stream.d.mts +2 -2
  12. package/dist/event-stream.mjs +1 -1
  13. package/dist/{google-CC-nrwXg.mjs → google-4qeuE8iX.mjs} +4 -4
  14. package/dist/{google-shared-CjPY0hZM.mjs → google-shared-CWeG8RIl.mjs} +7 -5
  15. package/dist/{google-vertex-DCr0pyzQ.mjs → google-vertex-O9BcnB6X.mjs} +4 -4
  16. package/dist/{host-BIaiBURL.mjs → host-CEvLw30U.mjs} +54 -9
  17. package/dist/{host-BztR4tQj.d.mts → host-DjzGmdZ2.d.mts} +3 -3
  18. package/dist/{index-AfaxKT8w.d.mts → index-FnHM2FcI.d.mts} +11 -5
  19. package/dist/index.d.mts +7 -7
  20. package/dist/index.mjs +4 -4
  21. package/dist/internal/anthropic.d.mts +12 -9
  22. package/dist/internal/anthropic.mjs +5 -5
  23. package/dist/internal/openai-responses-payload-policy.d.mts +1 -1
  24. package/dist/internal/openai-responses-payload-policy.mjs +1 -1
  25. package/dist/internal/openai.d.mts +7 -7
  26. package/dist/internal/openai.mjs +10 -10
  27. package/dist/internal/runtime.d.mts +5 -5
  28. package/dist/internal/runtime.mjs +3 -3
  29. package/dist/internal/shared.d.mts +2 -2
  30. package/dist/internal/shared.mjs +3 -3
  31. package/dist/{mistral-B7etBd_H.mjs → mistral-Tb6oalqH.mjs} +10 -8
  32. package/dist/{openai-chatgpt-responses-BAJ4gq3i.mjs → openai-chatgpt-responses-yUXjPNfu.mjs} +26 -28
  33. package/dist/{openai-completions-D0QZ0AyB.mjs → openai-completions-BIUV3RDT.mjs} +8 -8
  34. package/dist/{openai-completions-compat-4IjSBpr6.d.mts → openai-completions-compat-CpjYUArk.d.mts} +3 -3
  35. package/dist/{openai-completions-stream-DZjwK8vp.mjs → openai-completions-stream-BsrBe3Gg.mjs} +16 -16
  36. package/dist/openai-prompt-cache-CGnVB74a.mjs +21 -0
  37. package/dist/openai-prompt-cache-CNoIfHYC.d.mts +16 -0
  38. package/dist/{openai-responses-BEUlxfDu.mjs → openai-responses-CCL41ALM.mjs} +8 -11
  39. package/dist/{openai-responses-compaction-window-DO7yV7az.mjs → openai-responses-compaction-window-BMVHFOtq.mjs} +18 -7
  40. package/dist/{openai-responses-contracts-bPzSN_Ba.d.mts → openai-responses-contracts-rF5DDRNS.d.mts} +12 -4
  41. package/dist/{openai-responses-prompt-observer-internal-C7x4IK7r.mjs → openai-responses-prompt-observer-internal-D0bhBfgL.mjs} +3 -3
  42. package/dist/{openai-responses-shared-DiAdpNAM.mjs → openai-responses-shared-Bmma_3Qc.mjs} +185 -109
  43. package/dist/{openai-tool-schema-BMiHFH36.mjs → openai-tool-schema-_pTAJqKF.mjs} +20 -32
  44. package/dist/{provider-error-B6EGq6gg.mjs → provider-error-9TraxGvt.mjs} +6 -7
  45. package/dist/{provider-options-CxFPtvh7.d.mts → provider-options-Bcc_p-TU.d.mts} +18 -6
  46. package/dist/provider-replay-context-BuSUaAk5.mjs +21 -0
  47. package/dist/{provider-transcript-transform-WvJmFUAf.mjs → provider-transcript-transform-BaMbI1hr.mjs} +1 -1
  48. package/dist/provider-types.d.mts +6 -6
  49. package/dist/providers.d.mts +2 -2
  50. package/dist/providers.mjs +11 -11
  51. package/dist/{reasoning-tag-text-partitioner-C-4uedDb.mjs → reasoning-tag-text-partitioner-DLCNXki6.mjs} +72 -24
  52. package/dist/{sanitize-unicode-S6binQG-.mjs → sanitize-unicode-D6xUvZaS.mjs} +1 -1
  53. package/dist/{simple-options-0PLDyJ-d.mjs → simple-options-BjHCCh4v.mjs} +2 -2
  54. package/dist/{src-C8U7lkoa.mjs → src-2qBGKg8O.mjs} +9 -1
  55. package/dist/{tool-schema-json-projection-BtZiml7r.mjs → tool-schema-json-projection-mJhXDcyz.mjs} +1 -1
  56. package/dist/{transport-stream-shared-CytPVLIg.mjs → transport-stream-shared-CZqMhfIw.mjs} +4 -4
  57. package/dist/{transport-stream-shared-BrvFTkoO.d.mts → transport-stream-shared-xnaqxmbP.d.mts} +4 -4
  58. package/dist/{transport-utils-CtuS1Upe.mjs → transport-utils-7il795_9.mjs} +1 -1
  59. package/dist/transports.d.mts +11 -10
  60. package/dist/transports.mjs +567 -253
  61. package/dist/types-3Lnm-QSJ.d.mts +1 -0
  62. package/dist/{types-DbrhszyQ.d.mts → types-CJ1-Ht7A.d.mts} +29 -7
  63. package/dist/types.d.mts +6 -6
  64. package/dist/types.mjs +3 -3
  65. package/dist/{validation-BOwtcl9X.d.mts → validation-AKZBDGQd.d.mts} +1 -1
  66. package/dist/validation.d.mts +1 -1
  67. package/package.json +2 -2
  68. package/dist/event-stream-DeDhbCc5.d.mts +0 -1
  69. package/dist/openai-prompt-cache-2uo_1OR1.d.mts +0 -7
  70. package/dist/openai-prompt-cache-mZTCdRPo.mjs +0 -12
  71. package/dist/types-B5EFUmXs.d.mts +0 -1
@@ -0,0 +1,21 @@
1
+ //#region packages/ai/src/providers/openai-prompt-cache.ts
2
+ /** Selects the documented cache lifetime fields for a Responses request. */
3
+ function resolveOpenAIResponsesCacheParams(model, cacheRetention, supportsLongCacheRetention) {
4
+ if (cacheRetention === "none") return {};
5
+ if (model.id === "gpt-6-astra" && model.api === "openai-responses") {
6
+ const endpoint = URL.parse(model.baseUrl ?? "https://api.openai.com/v1");
7
+ if (endpoint?.protocol === "https:" && (endpoint.hostname === "api.openai.com" || endpoint.hostname.endsWith(".api.openai.com"))) return { prompt_cache_options: { ttl: "30m" } };
8
+ }
9
+ return cacheRetention === "long" && supportsLongCacheRetention ? { prompt_cache_retention: "24h" } : {};
10
+ }
11
+ /** Maximum prompt cache key length accepted by OpenAI-compatible request metadata. */
12
+ const OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH = 64;
13
+ /** Truncates a prompt cache key by Unicode code point count. */
14
+ function clampOpenAIPromptCacheKey(key) {
15
+ if (key === void 0) return;
16
+ const chars = Array.from(key);
17
+ if (chars.length <= 64) return key;
18
+ return chars.slice(0, 64).join("");
19
+ }
20
+ //#endregion
21
+ export { clampOpenAIPromptCacheKey as n, resolveOpenAIResponsesCacheParams as r, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH as t };
@@ -0,0 +1,16 @@
1
+ import { D as Model, l as CacheRetention } from "./types-CJ1-Ht7A.mjs";
2
+ import "./types-3Lnm-QSJ.mjs";
3
+ //#region packages/ai/src/providers/openai-prompt-cache.d.ts
4
+ /** Selects the documented cache lifetime fields for a Responses request. */
5
+ declare function resolveOpenAIResponsesCacheParams(model: Pick<Model, "id" | "api" | "baseUrl">, cacheRetention: CacheRetention, supportsLongCacheRetention: boolean): {
6
+ prompt_cache_retention?: "24h";
7
+ prompt_cache_options?: {
8
+ ttl: "30m";
9
+ };
10
+ };
11
+ /** Maximum prompt cache key length accepted by OpenAI-compatible request metadata. */
12
+ declare const OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH = 64;
13
+ /** Truncates a prompt cache key by Unicode code point count. */
14
+ declare function clampOpenAIPromptCacheKey(key: string | undefined): string | undefined;
15
+ //#endregion
16
+ export { clampOpenAIPromptCacheKey as n, resolveOpenAIResponsesCacheParams as r, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH as t };
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
2
- import { t as AssistantMessageEventStream } from "./event-stream-uSMZJ3FA.mjs";
3
- import { n as getAiTransportHost } from "./host-BIaiBURL.mjs";
4
- import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-mZTCdRPo.mjs";
2
+ import { t as AssistantMessageEventStream } from "./event-stream-BgDvQeum.mjs";
3
+ import { n as getAiTransportHost } from "./host-CEvLw30U.mjs";
4
+ import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIResponsesCacheParams } from "./openai-prompt-cache-CGnVB74a.mjs";
5
5
  import { t as resolveCacheRetention } from "./cache-retention-0x979a5V.mjs";
6
- import { n as buildBaseOptions } from "./simple-options-0PLDyJ-d.mjs";
6
+ import { n as buildBaseOptions } from "./simple-options-BjHCCh4v.mjs";
7
7
  import { n as getEnvApiKey } from "./env-api-keys-bktO00EJ.mjs";
8
- import { a as resolveResponsesReasoningEffort, i as createResponsesAssistantOutput, n as applyResponsesServiceTierPricing, o as runResponsesStreamLifecycle, r as convertResponsesMessages, t as applyCommonResponsesParams } from "./openai-responses-shared-DiAdpNAM.mjs";
9
- import { j as resolveOpenAIClientBaseUrl } from "./openai-tool-schema-BMiHFH36.mjs";
10
- import { A as supportsOpenAITemperature } from "./openai-responses-compaction-window-DO7yV7az.mjs";
8
+ import { a as resolveResponsesReasoningEffort, i as createResponsesAssistantOutput, n as applyResponsesServiceTierPricing, r as convertResponsesMessages, s as runResponsesStreamLifecycle, t as applyCommonResponsesParams } from "./openai-responses-shared-Bmma_3Qc.mjs";
9
+ import { j as resolveOpenAIClientBaseUrl } from "./openai-tool-schema-_pTAJqKF.mjs";
10
+ import { j as supportsOpenAITemperature } from "./openai-responses-compaction-window-BMVHFOtq.mjs";
11
11
  import { i as resolveCloudflareBaseUrl, n as hasCopilotVisionInput, r as isCloudflareProvider, t as buildCopilotDynamicHeaders } from "./github-copilot-headers-NCJtz9i0.mjs";
12
12
  import OpenAI from "openai";
13
13
  //#region packages/ai/src/providers/openai-responses.ts
@@ -22,9 +22,6 @@ function getCompat(model) {
22
22
  supportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? true
23
23
  };
24
24
  }
25
- function getPromptCacheRetention(compat, cacheRetention) {
26
- return cacheRetention === "long" && compat.supportsLongCacheRetention ? "24h" : void 0;
27
- }
28
25
  /**
29
26
  * Generate function for OpenAI Responses API
30
27
  */
@@ -107,7 +104,7 @@ function buildParams(model, context, options, replayMode = "checkpoint") {
107
104
  input: messages,
108
105
  stream: true,
109
106
  prompt_cache_key: cacheRetention === "none" ? void 0 : clampOpenAIPromptCacheKey(options?.promptCacheKey ?? options?.sessionId),
110
- prompt_cache_retention: getPromptCacheRetention(compat, cacheRetention),
107
+ ...resolveOpenAIResponsesCacheParams(model, cacheRetention, compat.supportsLongCacheRetention),
111
108
  store: false
112
109
  };
113
110
  if (options?.maxTokens) params.max_output_tokens = options?.maxTokens;
@@ -1,9 +1,9 @@
1
- import "./src-C8U7lkoa.mjs";
1
+ import "./src-2qBGKg8O.mjs";
2
2
  import { n as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE } from "./types-BDdaOVi2.mjs";
3
3
  import { c as normalizeLowercaseStringOrEmpty, o as isRecord, p as readStringValue, u as normalizeOptionalLowercaseString } from "./utf16-slice-qz3nsy87.mjs";
4
4
  import { t as canonicalizeBase64 } from "./base64-CEFBpSkN.mjs";
5
5
  import { n as uniqueStrings, t as normalizeStringEntries } from "./string-normalization--fwJ4S2q.mjs";
6
- import { s as parsePositiveInteger } from "./transport-utils-CtuS1Upe.mjs";
6
+ import { s as parsePositiveInteger } from "./transport-utils-7il795_9.mjs";
7
7
  import { t as createSseByteGuard } from "./streaming-byte-guard-CC-HMn_u.mjs";
8
8
  //#region packages/ai/src/providers/openai-reasoning-effort.ts
9
9
  /**
@@ -38,6 +38,13 @@ const GPT_56_REASONING_EFFORTS = [
38
38
  "xhigh",
39
39
  "max"
40
40
  ];
41
+ const GPT_6_ASTRA_REASONING_EFFORTS = [
42
+ "low",
43
+ "medium",
44
+ "high",
45
+ "xhigh",
46
+ "max"
47
+ ];
41
48
  const GPT_CODEX_REASONING_EFFORTS = [
42
49
  "low",
43
50
  "medium",
@@ -111,9 +118,14 @@ function isDisabledReasoningEffort(effort) {
111
118
  }
112
119
  /** Resolve the reasoning efforts accepted by a specific OpenAI-compatible model. */
113
120
  function resolveOpenAISupportedReasoningEfforts(model) {
121
+ return resolveOpenAIModelReasoningEfforts(model) ?? GENERIC_REASONING_EFFORTS;
122
+ }
123
+ /** Read a declared or known model contract, leaving unknown compatible models unspecified. */
124
+ function resolveOpenAIModelReasoningEfforts(model) {
114
125
  const compatEfforts = readCompatReasoningEfforts(model.compat);
115
126
  if (compatEfforts) return compatEfforts;
116
127
  const id = normalizeModelId(typeof model.id === "string" ? model.id : void 0);
128
+ if (id === "gpt-6-astra" && model.api !== "azure-openai-responses") return GPT_6_ASTRA_REASONING_EFFORTS;
117
129
  if (/^gpt-5\.6(?:-|$)/u.test(id)) return GPT_56_REASONING_EFFORTS;
118
130
  if (id === "gpt-5.1-codex-mini") return GPT_51_CODEX_MINI_REASONING_EFFORTS;
119
131
  if (id === "gpt-5.1-codex-max") return GPT_51_CODEX_MAX_REASONING_EFFORTS;
@@ -123,11 +135,10 @@ function resolveOpenAISupportedReasoningEfforts(model) {
123
135
  if (/^gpt-5\.[2-9](?:\.\d+)?(?:-|$)/u.test(id)) return GPT_52_REASONING_EFFORTS;
124
136
  if (/^gpt-5\.1(?:-|$)/u.test(id)) return GPT_51_REASONING_EFFORTS;
125
137
  if (/^gpt-5(?:-|$)/u.test(id)) return GPT_5_REASONING_EFFORTS;
126
- return GENERIC_REASONING_EFFORTS;
127
138
  }
128
139
  /**
129
- * Return whether a model accepts the temperature parameter. The GPT-5.6
130
- * family rejects it with a 400; catalog compat can override per model.
140
+ * Return whether a model accepts temperature. GPT-5.6 and GPT-6 Astra
141
+ * reject it with a 400; catalog compat can override per model.
131
142
  */
132
143
  function supportsOpenAITemperature(model) {
133
144
  const compat = model.compat;
@@ -136,7 +147,7 @@ function supportsOpenAITemperature(model) {
136
147
  if (typeof declared === "boolean") return declared;
137
148
  }
138
149
  const id = normalizeModelId(typeof model.id === "string" ? model.id : void 0);
139
- return !/^gpt-5\.6(?:-|$)/u.test(id);
150
+ return (id !== "gpt-6-astra" || model.api === "azure-openai-responses") && !/^gpt-5\.6(?:-|$)/u.test(id);
140
151
  }
141
152
  /** Return whether a model accepts a requested reasoning effort. */
142
153
  function supportsOpenAIReasoningEffort(model, effort) {
@@ -683,4 +694,4 @@ function createBoundedOpenAIResponsesCompactionFetch(upstreamFetch) {
683
694
  };
684
695
  }
685
696
  //#endregion
686
- export { supportsOpenAITemperature as A, isOpenAIGpt54MiniModel as C, resolveOpenAIReasoningEffortForModel as D, normalizeOpenAIReasoningEffort as E, resolveOpenAISupportedReasoningEfforts as O, responsesPromptObserver as S, isOpenAIGpt56Model as T, OpenAIResponsesWebSocketPostDispatchError as _, applyOpenAIResponsesPayloadPolicy as a, RESPONSE_FAILED_NO_DETAILS_MESSAGE as b, resolveOpenAIResponsesServerCompactionPlan as c, OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS as d, OPENAI_RESPONSES_APIS as f, OPENAI_RESPONSES_RETAINED_COMPACTION_REPLAY_TYPE as g, OPENAI_RESPONSES_REASONING_REPLAY_META_KEY as h, sanitizeResponsesImagePayload as i, supportsOpenAIReasoningEffort as k, AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS as l, OPENAI_RESPONSES_REASONING_REPLAY_BLOCK_META_KEY as m, isOpenAIResponsesCompactionOutput as n, resolveOpenAIResponsesCompactEndpointPlan as o, OPENAI_RESPONSES_COMPACTION_REPLAY_TYPE as p, readOpenAIResponsesCompactionWindow as r, resolveOpenAIResponsesPayloadPolicy as s, createBoundedOpenAIResponsesCompactionFetch as t, DEFAULT_AZURE_OPENAI_API_VERSION as u, OpenAIResponsesWebSocketPreDispatchError as v, isOpenAIGpt55Model as w, parseOpenAIResponsesWebSocketServerError as x, OpenAIResponsesWebSocketSafeRetryError as y };
697
+ export { supportsOpenAIReasoningEffort as A, isOpenAIGpt54MiniModel as C, resolveOpenAIModelReasoningEfforts as D, normalizeOpenAIReasoningEffort as E, resolveOpenAIReasoningEffortForModel as O, responsesPromptObserver as S, isOpenAIGpt56Model as T, OpenAIResponsesWebSocketPostDispatchError as _, applyOpenAIResponsesPayloadPolicy as a, RESPONSE_FAILED_NO_DETAILS_MESSAGE as b, resolveOpenAIResponsesServerCompactionPlan as c, OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS as d, OPENAI_RESPONSES_APIS as f, OPENAI_RESPONSES_RETAINED_COMPACTION_REPLAY_TYPE as g, OPENAI_RESPONSES_REASONING_REPLAY_META_KEY as h, sanitizeResponsesImagePayload as i, supportsOpenAITemperature as j, resolveOpenAISupportedReasoningEfforts as k, AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS as l, OPENAI_RESPONSES_REASONING_REPLAY_BLOCK_META_KEY as m, isOpenAIResponsesCompactionOutput as n, resolveOpenAIResponsesCompactEndpointPlan as o, OPENAI_RESPONSES_COMPACTION_REPLAY_TYPE as p, readOpenAIResponsesCompactionWindow as r, resolveOpenAIResponsesPayloadPolicy as s, createBoundedOpenAIResponsesCompactionFetch as t, DEFAULT_AZURE_OPENAI_API_VERSION as u, OpenAIResponsesWebSocketPreDispatchError as v, isOpenAIGpt55Model as w, parseOpenAIResponsesWebSocketServerError as x, OpenAIResponsesWebSocketSafeRetryError as y };
@@ -1,6 +1,6 @@
1
- import "./index-AfaxKT8w.mjs";
2
- import { D as Model, n as Api } from "./types-DbrhszyQ.mjs";
3
- import { g as OpenAIReasoningEffort, h as OpenAIApiReasoningEffort, i as BaseOpenAIStreamOptions } from "./provider-options-CxFPtvh7.mjs";
1
+ import "./index-FnHM2FcI.mjs";
2
+ import { D as Model, n as Api } from "./types-CJ1-Ht7A.mjs";
3
+ import { _ as OpenAIReasoningEffort, a as BaseOpenAIStreamOptions, g as OpenAIApiReasoningEffort } from "./provider-options-Bcc_p-TU.mjs";
4
4
  import { FunctionTool, ResponseCompactionItem, ResponseCreateParamsStreaming, ResponseInput, ResponseInputItem } from "openai/resources/responses/responses.js";
5
5
  //#region packages/ai/src/transports/openai-responses-compaction-window.d.ts
6
6
  type OpenAIResponsesCompactionOutput = Array<ResponseInputItem.Message | ReplayableResponseCompactionItem>;
@@ -55,6 +55,9 @@ type OpenAIResponsesRequestParams = {
55
55
  instructions?: string;
56
56
  prompt_cache_key?: string;
57
57
  prompt_cache_retention?: "24h";
58
+ prompt_cache_options?: {
59
+ ttl: "30m";
60
+ };
58
61
  metadata?: Record<string, string>;
59
62
  previous_response_id?: string;
60
63
  store?: boolean;
@@ -63,7 +66,12 @@ type OpenAIResponsesRequestParams = {
63
66
  top_p?: number;
64
67
  text?: ResponseCreateParamsStreaming["text"];
65
68
  service_tier?: ResponseCreateParamsStreaming["service_tier"];
66
- tools?: FunctionTool[];
69
+ tools?: Array<FunctionTool & {
70
+ async?: boolean;
71
+ }>;
72
+ multi_agent?: {
73
+ enabled?: boolean;
74
+ };
67
75
  tool_choice?: ResponseCreateParamsStreaming["tool_choice"];
68
76
  reasoning?: {
69
77
  effort: OpenAIApiReasoningEffort;
@@ -1,6 +1,6 @@
1
- import { d as stripSystemPromptCacheBoundary } from "./simple-options-0PLDyJ-d.mjs";
2
- import { g as sanitizeTransportPayloadText } from "./transport-stream-shared-CytPVLIg.mjs";
3
- import { S as responsesPromptObserver } from "./openai-responses-compaction-window-DO7yV7az.mjs";
1
+ import { d as stripSystemPromptCacheBoundary } from "./simple-options-BjHCCh4v.mjs";
2
+ import { g as sanitizeTransportPayloadText } from "./transport-stream-shared-CZqMhfIw.mjs";
3
+ import { S as responsesPromptObserver } from "./openai-responses-compaction-window-BMVHFOtq.mjs";
4
4
  //#region packages/ai/src/transports/openai-responses-prompt-observer-internal.ts
5
5
  function readFinalResponsesPrompt(request) {
6
6
  if (typeof request.instructions === "string") return ["instructions", request.instructions];