@librechat/agents 3.6.11 → 3.6.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 (33) hide show
  1. package/dist/cjs/graphs/Graph.cjs +44 -116
  2. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  3. package/dist/cjs/llm/contextPressureMeter.cjs +132 -0
  4. package/dist/cjs/llm/contextPressureMeter.cjs.map +1 -0
  5. package/dist/cjs/llm/invoke.cjs +46 -75
  6. package/dist/cjs/llm/invoke.cjs.map +1 -1
  7. package/dist/cjs/llm/prepareProviderRequest.cjs +108 -0
  8. package/dist/cjs/llm/prepareProviderRequest.cjs.map +1 -0
  9. package/dist/cjs/main.cjs +2 -0
  10. package/dist/cjs/messages/content.cjs +5 -4
  11. package/dist/cjs/messages/content.cjs.map +1 -1
  12. package/dist/esm/graphs/Graph.mjs +47 -119
  13. package/dist/esm/graphs/Graph.mjs.map +1 -1
  14. package/dist/esm/llm/contextPressureMeter.mjs +132 -0
  15. package/dist/esm/llm/contextPressureMeter.mjs.map +1 -0
  16. package/dist/esm/llm/invoke.mjs +48 -75
  17. package/dist/esm/llm/invoke.mjs.map +1 -1
  18. package/dist/esm/llm/prepareProviderRequest.mjs +105 -0
  19. package/dist/esm/llm/prepareProviderRequest.mjs.map +1 -0
  20. package/dist/esm/main.mjs +2 -1
  21. package/dist/esm/messages/content.mjs +5 -4
  22. package/dist/esm/messages/content.mjs.map +1 -1
  23. package/dist/types/index.d.ts +2 -0
  24. package/dist/types/llm/contextPressureMeter.d.ts +30 -0
  25. package/dist/types/llm/invoke.d.ts +31 -33
  26. package/dist/types/llm/prepareProviderRequest.d.ts +55 -0
  27. package/package.json +1 -1
  28. package/src/graphs/Graph.ts +69 -276
  29. package/src/index.ts +8 -0
  30. package/src/llm/contextPressureMeter.ts +284 -0
  31. package/src/llm/invoke.ts +136 -296
  32. package/src/llm/prepareProviderRequest.ts +357 -0
  33. package/src/messages/content.ts +3 -3
@@ -0,0 +1,132 @@
1
+ import { apportionTokenCounts } from "../utils/tokens.mjs";
2
+ import "../messages/prune.mjs";
3
+ import { isSyntheticProviderContextMessage } from "../messages/format.mjs";
4
+ import "../messages/index.mjs";
5
+ import "../utils/index.mjs";
6
+ import { ToolMessage } from "@langchain/core/messages";
7
+ //#region src/llm/contextPressureMeter.ts
8
+ function getProviderMessageOriginKey(message) {
9
+ const type = message.getType();
10
+ if (message instanceof ToolMessage && typeof message.tool_call_id === "string" && message.tool_call_id.length > 0) return `tool:call:${message.tool_call_id}`;
11
+ if (typeof message.id === "string" && message.id.length > 0) return `${type}:id:${message.id}`;
12
+ }
13
+ function createContextPressureMeter({ tokenCounter, sourceMessages, retainedMessages, indexTokenCountMap, contextUsage, instructionTokens, calibrationRatio }) {
14
+ const tokenCounts = /* @__PURE__ */ new WeakMap();
15
+ const origins = /* @__PURE__ */ new WeakMap();
16
+ const baselineAttributions = /* @__PURE__ */ new Map();
17
+ let baseline;
18
+ let baselineWeights;
19
+ let totalBaselineWeight = 0;
20
+ const count = (message) => {
21
+ const cached = tokenCounts.get(message);
22
+ if (cached != null) return cached;
23
+ const tokens = tokenCounter?.(message) ?? 0;
24
+ tokenCounts.set(message, tokens);
25
+ return tokens;
26
+ };
27
+ if (contextUsage != null && tokenCounter != null) {
28
+ const sourceIndices = /* @__PURE__ */ new WeakMap();
29
+ for (let i = 0; i < sourceMessages.length; i++) sourceIndices.set(sourceMessages[i], i);
30
+ baseline = retainedMessages.map((message, index) => {
31
+ const rawTokens = count(message);
32
+ const sourceIndex = sourceIndices.get(message);
33
+ const indexedTokens = sourceIndex != null ? indexTokenCountMap[sourceIndex] : void 0;
34
+ const accountingWeight = indexedTokens != null && Number.isFinite(indexedTokens) && indexedTokens >= 0 ? indexedTokens : rawTokens;
35
+ if (!origins.has(message)) origins.set(message, index);
36
+ return {
37
+ rawTokens,
38
+ accountingWeight
39
+ };
40
+ });
41
+ baselineWeights = {};
42
+ for (let i = 0; i < baseline.length; i++) {
43
+ baselineWeights[i] = baseline[i].accountingWeight;
44
+ totalBaselineWeight += baseline[i].accountingWeight;
45
+ }
46
+ }
47
+ const trackClone = (source, clone) => {
48
+ const origin = origins.get(source);
49
+ if (origin != null && !origins.has(clone)) origins.set(clone, origin);
50
+ };
51
+ const trackProjection = (before, after) => {
52
+ if (baseline == null || before === after) return after;
53
+ if (before.length === after.length) {
54
+ for (let i = 0; i < after.length; i++) if (before[i].getType() === after[i].getType() && !isSyntheticProviderContextMessage(after[i])) trackClone(before[i], after[i]);
55
+ return after;
56
+ }
57
+ const keyedOrigins = /* @__PURE__ */ new Map();
58
+ for (const message of before) {
59
+ const origin = origins.get(message);
60
+ const key = getProviderMessageOriginKey(message);
61
+ if (origin == null || key == null) continue;
62
+ keyedOrigins.set(key, keyedOrigins.has(key) ? null : origin);
63
+ }
64
+ for (const message of after) {
65
+ if (origins.has(message) || isSyntheticProviderContextMessage(message)) continue;
66
+ const key = getProviderMessageOriginKey(message);
67
+ const origin = key != null ? keyedOrigins.get(key) : void 0;
68
+ if (origin != null) origins.set(message, origin);
69
+ }
70
+ return after;
71
+ };
72
+ const measure = (messages, options) => {
73
+ const contextBudget = options?.contextBudget ?? contextUsage?.contextBudget;
74
+ const forceRawRecount = options?.forceRawRecount === true;
75
+ const effectiveInstructionTokens = contextUsage?.effectiveInstructionTokens ?? (forceRawRecount ? instructionTokens : void 0);
76
+ if (tokenCounter == null || contextBudget == null || effectiveInstructionTokens == null) return { fits: true };
77
+ const availableMessageTokens = Math.max(0, contextBudget - effectiveInstructionTokens);
78
+ let usageRatio = calibrationRatio > 0 ? calibrationRatio : 1;
79
+ if (contextUsage?.calibrationRatio != null && contextUsage.calibrationRatio > 0) usageRatio = contextUsage.calibrationRatio;
80
+ if (forceRawRecount) usageRatio = Math.max(1, usageRatio);
81
+ const baselineRemaining = contextUsage?.remainingContextTokens;
82
+ const accountedMessageTokens = !forceRawRecount && baseline != null && baselineRemaining != null && Number.isFinite(baselineRemaining) ? availableMessageTokens - Math.min(availableMessageTokens, Math.max(0, baselineRemaining)) : void 0;
83
+ let projectedMessageTokens;
84
+ if (accountedMessageTokens != null && baseline != null && baselineWeights != null) {
85
+ let attribution = baselineAttributions.get(availableMessageTokens);
86
+ if (attribution == null) {
87
+ const replyPrimerTokens = Math.round(3 * usageRatio);
88
+ const attributableTokens = totalBaselineWeight > 0 ? Math.min(Math.max(0, accountedMessageTokens - replyPrimerTokens), Math.round(totalBaselineWeight * usageRatio)) : 0;
89
+ const apportionedTokens = totalBaselineWeight > 0 ? apportionTokenCounts(baselineWeights, attributableTokens / totalBaselineWeight, attributableTokens) : {};
90
+ attribution = {
91
+ attributedByOrigin: baseline.map((_, origin) => apportionedTokens[origin] || 0),
92
+ projectedBaseTokens: Math.max(replyPrimerTokens, accountedMessageTokens - attributableTokens)
93
+ };
94
+ baselineAttributions.set(availableMessageTokens, attribution);
95
+ }
96
+ projectedMessageTokens = attribution.projectedBaseTokens;
97
+ let newRawTokens = 0;
98
+ const usedOrigins = /* @__PURE__ */ new Set();
99
+ for (const message of messages) {
100
+ const rawTokens = count(message);
101
+ const origin = origins.get(message);
102
+ if (origin == null || usedOrigins.has(origin)) {
103
+ newRawTokens += rawTokens;
104
+ continue;
105
+ }
106
+ usedOrigins.add(origin);
107
+ projectedMessageTokens += Math.max(0, attribution.attributedByOrigin[origin] + Math.round((rawTokens - baseline[origin].rawTokens) * usageRatio));
108
+ }
109
+ projectedMessageTokens += Math.round(newRawTokens * usageRatio);
110
+ } else {
111
+ let rawTokens = 3;
112
+ for (const message of messages) rawTokens += count(message);
113
+ projectedMessageTokens = Math.round(rawTokens * usageRatio);
114
+ }
115
+ return {
116
+ fits: projectedMessageTokens <= availableMessageTokens,
117
+ projectedMessageTokens,
118
+ availableMessageTokens,
119
+ contextBudget,
120
+ effectiveInstructionTokens
121
+ };
122
+ };
123
+ return {
124
+ trackProjection,
125
+ trackClone,
126
+ measure
127
+ };
128
+ }
129
+ //#endregion
130
+ export { createContextPressureMeter };
131
+
132
+ //# sourceMappingURL=contextPressureMeter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextPressureMeter.mjs","names":[],"sources":["../../../src/llm/contextPressureMeter.ts"],"mappings":"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"}
@@ -1,17 +1,13 @@
1
1
  import "../common/enum.mjs";
2
2
  import "../common/index.mjs";
3
3
  import { appendCallbacks } from "../utils/callbacks.mjs";
4
- import { stripAnthropicCacheControl, stripBedrockCacheControl } from "../messages/cache.mjs";
5
- import { modifyDeltaProperties, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolStreamContentForProvider } from "../messages/core.mjs";
4
+ import { modifyDeltaProperties } from "../messages/core.mjs";
6
5
  import { safeDispatchCustomEvent } from "../utils/events.mjs";
7
- import { coalesceAdjacentUserTurns, strictAlternationProviders } from "../messages/alternation.mjs";
8
- import { appendPredecessorHandoffCue, removePredecessorHandoffCue } from "../messages/handoffCue.mjs";
9
6
  import "../messages/index.mjs";
10
- import { isAnthropicLike, isOpenAILike } from "../utils/llm.mjs";
11
7
  import { STREAM_LIMIT_ATTEMPT_KEY, STREAM_LIMIT_REDISPATCH_KEY, StreamLimitExceededError, enforceStreamLimitsForWireChunk, registerActiveStreamLimitGeneration, releaseStreamLimitGeneration, resolveGenerationKey, streamLimitAccountingEnabled } from "./streamLimits.mjs";
12
- import { annotateMessagesForLLM } from "../tools/toolOutputReferences.mjs";
13
8
  import { ChatModelStreamHandler, dispatchesChatModelStream } from "../stream.mjs";
14
9
  import { getContextOverflowInfo } from "../utils/errors.mjs";
10
+ import { assertPreparedProviderRequestFor, prepareProviderRequest } from "./prepareProviderRequest.mjs";
15
11
  import { assertNotTruncatedToolCall } from "./truncation.mjs";
16
12
  import { manualToolStreamProviders } from "./providers.mjs";
17
13
  import { canSealPreempt } from "./preempt.mjs";
@@ -22,47 +18,6 @@ import { CallbackManager, CallbackManagerForLLMRun } from "@langchain/core/callb
22
18
  import { concat } from "@langchain/core/utils/stream";
23
19
  //#region src/llm/invoke.ts
24
20
  let streamLimitAttemptSeq = 0;
25
- function usesNativeOpenAIResponses(model, provider, callOptions) {
26
- if (!isOpenAILike(provider)) return false;
27
- let candidate = model;
28
- let effectiveCallOptions = callOptions;
29
- const seen = /* @__PURE__ */ new Set();
30
- for (let depth = 0; depth < 20; depth++) {
31
- if (candidate == null || typeof candidate !== "object") return false;
32
- if (seen.has(candidate)) return false;
33
- seen.add(candidate);
34
- const runnable = candidate;
35
- try {
36
- if (runnable.defaultOptions != null && typeof runnable.defaultOptions === "object" && !Array.isArray(runnable.defaultOptions) && effectiveCallOptions != null && typeof effectiveCallOptions === "object" && !Array.isArray(effectiveCallOptions)) effectiveCallOptions = {
37
- ...runnable.defaultOptions,
38
- ...effectiveCallOptions
39
- };
40
- else if (effectiveCallOptions == null) effectiveCallOptions = runnable.defaultOptions;
41
- if (runnable._useResponsesApi?.(effectiveCallOptions) === true || runnable._useResponsesApi?.(void 0) === true) return true;
42
- } catch {}
43
- if (typeof runnable.constructor?.name === "string" && runnable.constructor.name.includes("Responses")) return true;
44
- if (runnable.last != null && typeof runnable.last === "object") {
45
- candidate = runnable.last;
46
- continue;
47
- }
48
- if (runnable.bound != null && typeof runnable.bound === "object") {
49
- candidate = runnable.bound;
50
- continue;
51
- }
52
- return false;
53
- }
54
- return false;
55
- }
56
- function projectMessagesForProvider({ model, messages, provider, maxToolResultChars, callOptions }) {
57
- const nativeOpenAIResponses = usesNativeOpenAIResponses(model, provider, callOptions);
58
- const providerInputMessages = projectToolStreamContentForProvider(messages, nativeOpenAIResponses ? "native" : "fallback", maxToolResultChars);
59
- if (nativeOpenAIResponses) return projectOpenAIResponsesToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars);
60
- if (provider === "openrouter") return projectComputerCallOutputsToText(projectOpenRouterToolMessageContent(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
61
- if (isOpenAILike(provider)) return projectComputerCallOutputsToText(projectOpenAIChatToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars));
62
- if (provider === "anthropic") return projectComputerCallOutputsToText(projectSingleTextToolOutputsToText(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
63
- if (provider === "bedrock") return stripAnthropicCacheControl(projectComputerCallOutputsToText(projectCacheControlledToolOutputsToText(providerInputMessages, maxToolResultChars)));
64
- return projectComputerCallOutputsToText(projectStructuredToolOutputsToText(projectSingleTextToolOutputsToText(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars), maxToolResultChars));
65
- }
66
21
  function getRegisteredDefaultChatStreamHandler(context) {
67
22
  const handler = context?.handlerRegistry?.getHandler("on_chat_model_stream");
68
23
  return dispatchesChatModelStream(handler) ? handler : void 0;
@@ -161,16 +116,6 @@ function collectModelCallbackSources(model) {
161
116
  }
162
117
  return sources;
163
118
  }
164
- function resolveServingModelId(model) {
165
- const seen = /* @__PURE__ */ new Set();
166
- let current = model;
167
- while (current != null && typeof current === "object" && !seen.has(current)) {
168
- seen.add(current);
169
- const wrapper = current;
170
- if (typeof wrapper.model === "string" && wrapper.model !== "") return wrapper.model;
171
- current = wrapper.bound ?? wrapper.last ?? (Array.isArray(wrapper.steps) ? wrapper.steps[wrapper.steps.length - 1] : void 0);
172
- }
173
- }
174
119
  async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model) {
175
120
  const metadata = config?.metadata;
176
121
  synthesizeSealedUsage(context, chunk, prompt, metadata);
@@ -202,12 +147,30 @@ function appendStreamChunk({ current, next, provider }) {
202
147
  provider
203
148
  }));
204
149
  }
150
+ function resolveAttemptProvider(params) {
151
+ if (params.request != null) return params.request.provider;
152
+ return params.provider;
153
+ }
154
+ function resolveAttemptRequest(params, config) {
155
+ if (params.request != null) {
156
+ assertPreparedProviderRequestFor(params.request, params.request.model, params.request.provider, config);
157
+ return params.request;
158
+ }
159
+ return prepareProviderRequest({
160
+ model: params.model,
161
+ messages: params.messages,
162
+ provider: params.provider,
163
+ context: params.context,
164
+ config
165
+ });
166
+ }
205
167
  async function attemptInvoke(params, config) {
168
+ const provider = resolveAttemptProvider(params);
206
169
  const stampedConfig = {
207
170
  ...config,
208
171
  metadata: {
209
172
  ...config?.metadata ?? {},
210
- ["__invoked_provider"]: params.provider,
173
+ ["__invoked_provider"]: provider,
211
174
  [STREAM_LIMIT_ATTEMPT_KEY]: ++streamLimitAttemptSeq
212
175
  }
213
176
  };
@@ -216,24 +179,17 @@ async function attemptInvoke(params, config) {
216
179
  const generationKey = leaseTarget != null ? resolveGenerationKey(stampedConfig.metadata) : void 0;
217
180
  if (leaseTarget != null && generationKey != null) registerActiveStreamLimitGeneration(leaseTarget, generationKey);
218
181
  try {
219
- return await attemptInvokeBody(params, stampedConfig);
182
+ return await attemptInvokeBody({
183
+ request: resolveAttemptRequest(params, stampedConfig),
184
+ context: params.context,
185
+ onChunk: params.onChunk
186
+ }, stampedConfig);
220
187
  } finally {
221
188
  if (leaseTarget != null && generationKey != null) releaseStreamLimitGeneration(leaseTarget, generationKey);
222
189
  }
223
190
  }
224
- async function attemptInvokeBody({ model, messages, provider, context, onChunk }, config) {
225
- const invocationMessages = projectMessagesForProvider({
226
- model,
227
- messages,
228
- provider,
229
- callOptions: config
230
- });
231
- const registry = context?.getOrCreateToolOutputRegistry();
232
- const runId = config.configurable?.run_id;
233
- const annotated = annotateMessagesForLLM(invocationMessages, registry, runId);
234
- const isRunProduced = context?.isRunProducedMessage;
235
- const cued = isAnthropicLike(provider, { model: resolveServingModelId(model) }) ? appendPredecessorHandoffCue(annotated, isRunProduced == null ? void 0 : (message) => isRunProduced.call(context, message)) : removePredecessorHandoffCue(annotated);
236
- const messagesForProvider = strictAlternationProviders.has(provider) ? coalesceAdjacentUserTurns(cued) : cued;
191
+ async function attemptInvokeBody({ request, context, onChunk }, config) {
192
+ const { model, messages: messagesForProvider, provider } = request;
237
193
  if (model.stream) {
238
194
  let sealedRunId;
239
195
  const streamConfig = context?.preemption == null ? config : {
@@ -360,7 +316,7 @@ function extractClientOptionsModel(clientOptions) {
360
316
  if (typeof options?.model === "string" && options.model !== "") return options.model;
361
317
  if (typeof options?.modelName === "string" && options.modelName !== "") return options.modelName;
362
318
  }
363
- async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderMessages }) {
319
+ async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderRequest: prepareFallbackRequest, prepareProviderMessages }) {
364
320
  const isOverflow = (error, contextOverride = overflowContext) => getContextOverflowInfo(error, contextOverride) != null;
365
321
  let lastError = primaryError;
366
322
  const overflowCandidates = [];
@@ -379,7 +335,18 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
379
335
  ["__invoked_model"]: fbModelName
380
336
  }
381
337
  };
382
- const fallbackMessages = await prepareProviderMessages?.({
338
+ const preparationInput = {
339
+ model: fbModel,
340
+ messages,
341
+ provider: fb.provider,
342
+ clientOptions: fb.clientOptions,
343
+ maxContextTokens: fb.maxContextTokens,
344
+ config: fbConfig
345
+ };
346
+ const preparedRequest = await prepareFallbackRequest?.(preparationInput);
347
+ if (preparedRequest != null) assertPreparedProviderRequestFor(preparedRequest, fbModel, fb.provider, fbConfig);
348
+ let fallbackMessages = messages;
349
+ if (preparedRequest == null) fallbackMessages = await prepareProviderMessages?.({
383
350
  model: fbModel,
384
351
  messages,
385
352
  provider: fb.provider,
@@ -388,6 +355,12 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
388
355
  config: fbConfig
389
356
  }) ?? messages;
390
357
  if (config?.signal?.aborted === true && config.signal.reason instanceof StreamLimitExceededError) throw config.signal.reason;
358
+ if (preparedRequest != null) return await attemptInvoke({
359
+ request: preparedRequest,
360
+ context,
361
+ onChunk,
362
+ streamLimitState
363
+ }, fbConfig);
391
364
  return await attemptInvoke({
392
365
  model: fbModel,
393
366
  messages: fallbackMessages,
@@ -423,6 +396,6 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
423
396
  if (preferred !== void 0) throw preferred;
424
397
  }
425
398
  //#endregion
426
- export { attemptInvoke, getFallbackErrorContext, getFallbackOverflowCandidates, projectMessagesForProvider, resolveServingModelId, tryFallbackProviders };
399
+ export { attemptInvoke, getFallbackErrorContext, getFallbackOverflowCandidates, tryFallbackProviders };
427
400
 
428
401
  //# sourceMappingURL=invoke.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.mjs","names":[],"sources":["../../../src/llm/invoke.ts"],"mappings":"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"}
1
+ {"version":3,"file":"invoke.mjs","names":[],"sources":["../../../src/llm/invoke.ts"],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import "../common/enum.mjs";
2
+ import "../common/index.mjs";
3
+ import { stripAnthropicCacheControl, stripBedrockCacheControl } from "../messages/cache.mjs";
4
+ import { projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolStreamContentForProvider } from "../messages/core.mjs";
5
+ import { coalesceAdjacentUserTurns, strictAlternationProviders } from "../messages/alternation.mjs";
6
+ import { appendPredecessorHandoffCue, removePredecessorHandoffCue } from "../messages/handoffCue.mjs";
7
+ import "../messages/index.mjs";
8
+ import { isAnthropicLike, isOpenAILike } from "../utils/llm.mjs";
9
+ import { annotateMessagesForLLM } from "../tools/toolOutputReferences.mjs";
10
+ //#region src/llm/prepareProviderRequest.ts
11
+ const preparedProviderRequestBrand = Symbol("PreparedProviderRequest");
12
+ function usesNativeOpenAIResponses(model, provider, callOptions) {
13
+ if (!isOpenAILike(provider)) return false;
14
+ let candidate = model;
15
+ let effectiveCallOptions = callOptions;
16
+ const seen = /* @__PURE__ */ new Set();
17
+ for (let depth = 0; depth < 20; depth++) {
18
+ if (candidate == null || typeof candidate !== "object") return false;
19
+ if (seen.has(candidate)) return false;
20
+ seen.add(candidate);
21
+ const runnable = candidate;
22
+ try {
23
+ if (runnable.defaultOptions != null && typeof runnable.defaultOptions === "object" && !Array.isArray(runnable.defaultOptions) && effectiveCallOptions != null && typeof effectiveCallOptions === "object" && !Array.isArray(effectiveCallOptions)) effectiveCallOptions = {
24
+ ...runnable.defaultOptions,
25
+ ...effectiveCallOptions
26
+ };
27
+ else if (effectiveCallOptions == null) effectiveCallOptions = runnable.defaultOptions;
28
+ if (runnable._useResponsesApi?.(effectiveCallOptions) === true || runnable._useResponsesApi?.(void 0) === true) return true;
29
+ } catch {}
30
+ if (typeof runnable.constructor?.name === "string" && runnable.constructor.name.includes("Responses")) return true;
31
+ if (runnable.last != null && typeof runnable.last === "object") {
32
+ candidate = runnable.last;
33
+ continue;
34
+ }
35
+ if (runnable.bound != null && typeof runnable.bound === "object") {
36
+ candidate = runnable.bound;
37
+ continue;
38
+ }
39
+ return false;
40
+ }
41
+ return false;
42
+ }
43
+ function resolveProviderMessageProjectionMode(model, provider, callOptions) {
44
+ return usesNativeOpenAIResponses(model, provider, callOptions) ? "openai-responses" : "chat-messages";
45
+ }
46
+ function projectMessagesForProviderMode({ messages, provider, maxToolResultChars }, projectionMode) {
47
+ const nativeOpenAIResponses = projectionMode === "openai-responses";
48
+ const providerInputMessages = projectToolStreamContentForProvider(messages, nativeOpenAIResponses ? "native" : "fallback", maxToolResultChars);
49
+ if (nativeOpenAIResponses) return projectOpenAIResponsesToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars);
50
+ if (provider === "openrouter") return projectComputerCallOutputsToText(projectOpenRouterToolMessageContent(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
51
+ if (isOpenAILike(provider)) return projectComputerCallOutputsToText(projectOpenAIChatToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars));
52
+ if (provider === "anthropic") return projectComputerCallOutputsToText(projectSingleTextToolOutputsToText(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
53
+ if (provider === "bedrock") return stripAnthropicCacheControl(projectComputerCallOutputsToText(projectCacheControlledToolOutputsToText(providerInputMessages, maxToolResultChars)));
54
+ return projectComputerCallOutputsToText(projectStructuredToolOutputsToText(projectSingleTextToolOutputsToText(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars), maxToolResultChars));
55
+ }
56
+ function resolveServingModelId(model) {
57
+ const seen = /* @__PURE__ */ new Set();
58
+ let current = model;
59
+ while (current != null && typeof current === "object" && !seen.has(current)) {
60
+ seen.add(current);
61
+ const wrapper = current;
62
+ if (typeof wrapper.model === "string" && wrapper.model !== "") return wrapper.model;
63
+ current = wrapper.bound ?? wrapper.last ?? (Array.isArray(wrapper.steps) ? wrapper.steps[wrapper.steps.length - 1] : void 0);
64
+ }
65
+ }
66
+ function prepareProviderRequest({ model, messages, provider, context, config, maxToolResultChars, measure }) {
67
+ const projectionMode = resolveProviderMessageProjectionMode(model, provider, config);
68
+ const projected = projectMessagesForProviderMode({
69
+ model,
70
+ messages,
71
+ provider,
72
+ maxToolResultChars,
73
+ callOptions: config
74
+ }, projectionMode);
75
+ const registry = context?.getOrCreateToolOutputRegistry?.();
76
+ const runId = config?.configurable?.run_id;
77
+ const annotated = annotateMessagesForLLM(projected, registry, runId);
78
+ const isRunProduced = context?.isRunProducedMessage;
79
+ const modelId = resolveServingModelId(model);
80
+ const cued = isAnthropicLike(provider, { model: modelId }) ? appendPredecessorHandoffCue(annotated, isRunProduced == null ? void 0 : (message) => isRunProduced.call(context, message)) : removePredecessorHandoffCue(annotated);
81
+ const preparedMessages = strictAlternationProviders.has(provider) ? coalesceAdjacentUserTurns(cued) : cued;
82
+ const request = {
83
+ model,
84
+ modelId,
85
+ provider,
86
+ projectionMode,
87
+ messages: preparedMessages,
88
+ measurement: measure?.(preparedMessages)
89
+ };
90
+ Object.defineProperty(request, preparedProviderRequestBrand, {
91
+ value: true,
92
+ enumerable: false
93
+ });
94
+ return Object.freeze(request);
95
+ }
96
+ function assertPreparedProviderRequestFor(request, model, provider, config) {
97
+ if (!Object.prototype.hasOwnProperty.call(request, preparedProviderRequestBrand)) throw new Error("Invalid prepared provider request");
98
+ if (request.model !== model) throw new Error("Prepared provider request does not match serving model");
99
+ if (request.provider !== provider) throw new Error("Prepared provider request does not match serving provider");
100
+ if (request.projectionMode !== resolveProviderMessageProjectionMode(model, provider, config)) throw new Error("Prepared provider request does not match invocation options");
101
+ }
102
+ //#endregion
103
+ export { assertPreparedProviderRequestFor, prepareProviderRequest, resolveServingModelId, usesNativeOpenAIResponses };
104
+
105
+ //# sourceMappingURL=prepareProviderRequest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareProviderRequest.mjs","names":[],"sources":["../../../src/llm/prepareProviderRequest.ts"],"mappings":"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"}
package/dist/esm/main.mjs CHANGED
@@ -36,6 +36,7 @@ import { RunnableCallable, sleep } from "./utils/run.mjs";
36
36
  import { isZodSchema, toJsonSchema } from "./utils/schema.mjs";
37
37
  import { extractErrorMessage, getContextOverflowInfo, isContextOverflowError, isLikelyContextOverflowError } from "./utils/errors.mjs";
38
38
  import "./utils/index.mjs";
39
+ import { prepareProviderRequest } from "./llm/prepareProviderRequest.mjs";
39
40
  import { DEFAULT_STREAM_DELAY, computeAdaptivePieceSize, resolveStreamDelay, smoothStream } from "./llm/stream/smoother.mjs";
40
41
  import { CustomChatMistralAI } from "./llm/mistral/index.mjs";
41
42
  import { CustomOpenAIClient } from "./llm/openai/index.mjs";
@@ -113,4 +114,4 @@ import { Runnable, RunnableLambda, RunnableSequence } from "./langchain/runnable
113
114
  import { DynamicStructuredTool, StructuredTool, Tool, tool } from "./langchain/tools.mjs";
114
115
  import "./langchain/index.mjs";
115
116
  import { BaseCheckpointSaver, Command, INTERRUPT, MemorySaver, interrupt, isInterrupted } from "@langchain/langgraph";
116
- export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, ChatOpenRouter, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, CustomChatMistralAI, CustomOpenAIClient, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_MAX_SEALS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deserializeMessage, dispatchesChatModelStream, emptyOutputMessage, encodeFile, encodingForModel, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, maskConsumedToolResults, matchesQuery, messagesStateReducer, modifyDeltaProperties, newsSchema, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFetchProxyAgent, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, selectRuntimeSessionHint, serializeMessage, serializeToolCallInput, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent };
117
+ export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, ChatOpenRouter, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, CustomChatMistralAI, CustomOpenAIClient, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_MAX_SEALS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deserializeMessage, dispatchesChatModelStream, emptyOutputMessage, encodeFile, encodingForModel, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, maskConsumedToolResults, matchesQuery, messagesStateReducer, modifyDeltaProperties, newsSchema, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, prepareProviderRequest, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFetchProxyAgent, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, selectRuntimeSessionHint, serializeMessage, serializeToolCallInput, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent };
@@ -1,5 +1,6 @@
1
1
  import "../common/enum.mjs";
2
2
  import "../common/index.mjs";
3
+ import { cloneMessage } from "./cache.mjs";
3
4
  //#region src/messages/content.ts
4
5
  const isLegacyConvertible = (message) => {
5
6
  const messageType = message.getType();
@@ -14,11 +15,11 @@ const formatContentStrings = (payload) => {
14
15
  result.push(message);
15
16
  continue;
16
17
  }
17
- message.content = message.content.reduce((acc, curr) => {
18
- if (curr.type === "text") return `${acc}${curr["text"] || ""}\n`;
18
+ const content = message.content.reduce((acc, curr) => {
19
+ if (curr.type === "text") return `${acc}${curr["text"] ?? ""}\n`;
19
20
  return acc;
20
- }, "").trim();
21
- result.push(message);
21
+ }, "");
22
+ result.push(cloneMessage(message, content.trim()));
22
23
  }
23
24
  return result;
24
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"content.mjs","names":[],"sources":["../../../src/messages/content.ts"],"mappings":";;;AAUA,MAAa,uBAAuB,YAAkC;CACpE,MAAM,cAAc,QAAQ,QAAQ;CAGpC,IAAI,EADF,gBAAgB,WAAW,gBAAgB,QAAQ,gBAAgB,WAEnE,OAAO;CAET,IAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,GAChC,OAAO;CAET,OAAO,QAAQ,QAAQ,OAAO,UAAU,MAAM,SAAA,MAA0B;AAC1E;AAOA,MAAa,wBACX,YACuB;CAEvB,MAAM,SAA6B,CAAC;CAEpC,KAAK,MAAM,WAAW,SAAS;EAC7B,IAAI,CAAC,oBAAoB,OAAO,GAAG;GACjC,OAAO,KAAK,OAAO;GACnB;EACF;EAWA,QAAQ,UARO,QAAQ,QACA,QAAQ,KAAK,SAAS;GAC3C,IAAI,KAAK,SAAA,QACP,OAAO,GAAG,MAAM,KAAA,WAA2B,GAAG;GAEhD,OAAO;EACT,GAAG,EAEqB,CAAC,CAAC,KAAK;EAC/B,OAAO,KAAK,OAAO;CACrB;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"content.mjs","names":[],"sources":["../../../src/messages/content.ts"],"mappings":";;;;AAWA,MAAa,uBAAuB,YAAkC;CACpE,MAAM,cAAc,QAAQ,QAAQ;CAGpC,IAAI,EADF,gBAAgB,WAAW,gBAAgB,QAAQ,gBAAgB,WAEnE,OAAO;CAET,IAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,GAChC,OAAO;CAET,OAAO,QAAQ,QAAQ,OAAO,UAAU,MAAM,SAAA,MAA0B;AAC1E;AAOA,MAAa,wBACX,YACuB;CAEvB,MAAM,SAA6B,CAAC;CAEpC,KAAK,MAAM,WAAW,SAAS;EAC7B,IAAI,CAAC,oBAAoB,OAAO,GAAG;GACjC,OAAO,KAAK,OAAO;GACnB;EACF;EAIA,MAAM,UADS,QAAQ,QACA,QAAQ,KAAK,SAAS;GAC3C,IAAI,KAAK,SAAA,QACP,OAAO,GAAG,MAAM,KAAA,WAA2B,GAAG;GAEhD,OAAO;EACT,GAAG,EAAE;EAEL,OAAO,KAAK,aAAa,SAAS,QAAQ,KAAK,CAAC,CAAC;CACnD;CAEA,OAAO;AACT"}
@@ -48,6 +48,8 @@ export type { SmoothItem, SmoothPiece } from './llm/stream/smoother';
48
48
  export { FakeChatModel, createFakeStreamingLLM } from './llm/fake';
49
49
  export { initializeModel } from './llm/init';
50
50
  export { attemptInvoke, tryFallbackProviders } from './llm/invoke';
51
+ export { prepareProviderRequest } from './llm/prepareProviderRequest';
52
+ export type { PreparedProviderRequest, PrepareProviderRequestParams, ProviderMessageProjectionMode, ProviderPayloadMeasurement, ProviderRequestContext, } from './llm/prepareProviderRequest';
51
53
  export { canSealPreempt } from './llm/preempt';
52
54
  export { isThinkingEnabled, getMaxOutputTokensKey } from './llm/request';
53
55
  export { DEFAULT_MAX_TOOL_CALL_ARG_BYTES, StreamLimitExceededError, resolveStreamLimits, } from './llm/streamLimits';