@librechat/agents 3.3.0 → 3.3.1

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 (129) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +116 -2
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/common/enum.cjs +2 -0
  4. package/dist/cjs/common/enum.cjs.map +1 -1
  5. package/dist/cjs/graphs/Graph.cjs +229 -48
  6. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  7. package/dist/cjs/graphs/MultiAgentGraph.cjs +102 -27
  8. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  9. package/dist/cjs/llm/bedrock/index.cjs +11 -2
  10. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  11. package/dist/cjs/llm/contextOverflowRecovery.cjs +132 -0
  12. package/dist/cjs/llm/contextOverflowRecovery.cjs.map +1 -0
  13. package/dist/cjs/llm/google/index.cjs +1 -1
  14. package/dist/cjs/llm/invoke.cjs +60 -3
  15. package/dist/cjs/llm/invoke.cjs.map +1 -1
  16. package/dist/cjs/main.cjs +20 -7
  17. package/dist/cjs/messages/prune.cjs +16 -5
  18. package/dist/cjs/messages/prune.cjs.map +1 -1
  19. package/dist/cjs/messages/recency.cjs +2 -0
  20. package/dist/cjs/messages/recency.cjs.map +1 -1
  21. package/dist/cjs/run.cjs +15 -2
  22. package/dist/cjs/run.cjs.map +1 -1
  23. package/dist/cjs/stream.cjs +205 -49
  24. package/dist/cjs/stream.cjs.map +1 -1
  25. package/dist/cjs/summarization/node.cjs +55 -7
  26. package/dist/cjs/summarization/node.cjs.map +1 -1
  27. package/dist/cjs/tools/BashExecutor.cjs +2 -2
  28. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  29. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +2 -2
  30. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  31. package/dist/cjs/tools/CodeExecutor.cjs +69 -8
  32. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  33. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +19 -15
  34. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  35. package/dist/cjs/tools/ToolNode.cjs +32 -3
  36. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  37. package/dist/cjs/utils/errors.cjs +317 -52
  38. package/dist/cjs/utils/errors.cjs.map +1 -1
  39. package/dist/esm/agents/AgentContext.mjs +117 -3
  40. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  41. package/dist/esm/common/enum.mjs +2 -0
  42. package/dist/esm/common/enum.mjs.map +1 -1
  43. package/dist/esm/graphs/Graph.mjs +227 -46
  44. package/dist/esm/graphs/Graph.mjs.map +1 -1
  45. package/dist/esm/graphs/MultiAgentGraph.mjs +102 -27
  46. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  47. package/dist/esm/llm/bedrock/index.mjs +11 -2
  48. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  49. package/dist/esm/llm/contextOverflowRecovery.mjs +130 -0
  50. package/dist/esm/llm/contextOverflowRecovery.mjs.map +1 -0
  51. package/dist/esm/llm/google/index.mjs +1 -1
  52. package/dist/esm/llm/invoke.mjs +59 -4
  53. package/dist/esm/llm/invoke.mjs.map +1 -1
  54. package/dist/esm/main.mjs +9 -9
  55. package/dist/esm/messages/prune.mjs +14 -6
  56. package/dist/esm/messages/prune.mjs.map +1 -1
  57. package/dist/esm/messages/recency.mjs +2 -1
  58. package/dist/esm/messages/recency.mjs.map +1 -1
  59. package/dist/esm/run.mjs +15 -2
  60. package/dist/esm/run.mjs.map +1 -1
  61. package/dist/esm/stream.mjs +205 -49
  62. package/dist/esm/stream.mjs.map +1 -1
  63. package/dist/esm/summarization/node.mjs +55 -7
  64. package/dist/esm/summarization/node.mjs.map +1 -1
  65. package/dist/esm/tools/BashExecutor.mjs +3 -3
  66. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  67. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +3 -3
  68. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  69. package/dist/esm/tools/CodeExecutor.mjs +62 -9
  70. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  71. package/dist/esm/tools/ProgrammaticToolCalling.mjs +20 -16
  72. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  73. package/dist/esm/tools/ToolNode.mjs +32 -3
  74. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  75. package/dist/esm/utils/errors.mjs +317 -53
  76. package/dist/esm/utils/errors.mjs.map +1 -1
  77. package/dist/types/agents/AgentContext.d.ts +62 -3
  78. package/dist/types/common/enum.d.ts +2 -0
  79. package/dist/types/graphs/Graph.d.ts +16 -2
  80. package/dist/types/graphs/MultiAgentGraph.d.ts +1 -0
  81. package/dist/types/llm/contextOverflowRecovery.d.ts +85 -0
  82. package/dist/types/llm/invoke.d.ts +35 -6
  83. package/dist/types/messages/prune.d.ts +10 -2
  84. package/dist/types/messages/recency.d.ts +1 -0
  85. package/dist/types/run.d.ts +2 -0
  86. package/dist/types/tools/CodeExecutor.d.ts +14 -1
  87. package/dist/types/types/llm.d.ts +7 -4
  88. package/dist/types/types/stream.d.ts +5 -4
  89. package/dist/types/types/summarize.d.ts +22 -0
  90. package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +40 -0
  91. package/dist/types/utils/errors.d.ts +65 -16
  92. package/dist/types/utils/redactSecrets.d.ts +3 -0
  93. package/package.json +7 -8
  94. package/src/agents/AgentContext.ts +188 -7
  95. package/src/agents/__tests__/AgentContext.overflow.test.ts +205 -0
  96. package/src/common/enum.ts +2 -0
  97. package/src/graphs/Graph.ts +389 -58
  98. package/src/graphs/MultiAgentGraph.ts +184 -46
  99. package/src/graphs/__tests__/Graph.contextOverflow.test.ts +631 -0
  100. package/src/llm/__tests__/contextOverflowRecovery.test.ts +401 -0
  101. package/src/llm/__tests__/fallbackOverflow.test.ts +287 -0
  102. package/src/llm/bedrock/index.ts +25 -12
  103. package/src/llm/contextOverflowRecovery.ts +292 -0
  104. package/src/llm/invoke.ts +119 -4
  105. package/src/messages/prune.ts +24 -11
  106. package/src/messages/recency.ts +3 -1
  107. package/src/run.ts +24 -1
  108. package/src/scripts/context-overflow-probe.ts +997 -0
  109. package/src/specs/agent-handoffs.test.ts +903 -1
  110. package/src/specs/context-overflow-recovery.live.test.ts +213 -0
  111. package/src/splitStream.test.ts +882 -0
  112. package/src/stream.ts +315 -51
  113. package/src/summarization/__tests__/aggregator.test.ts +83 -0
  114. package/src/summarization/__tests__/node.test.ts +139 -0
  115. package/src/summarization/node.ts +99 -14
  116. package/src/tools/BashExecutor.ts +4 -2
  117. package/src/tools/BashProgrammaticToolCalling.ts +4 -7
  118. package/src/tools/CodeExecutor.ts +119 -8
  119. package/src/tools/ProgrammaticToolCalling.ts +29 -27
  120. package/src/tools/ToolNode.ts +50 -8
  121. package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +297 -3
  122. package/src/types/llm.ts +8 -1
  123. package/src/types/stream.ts +5 -4
  124. package/src/types/summarize.ts +22 -0
  125. package/src/utils/__tests__/errors.test.ts +270 -0
  126. package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +336 -0
  127. package/src/utils/__tests__/redactSecrets.test.ts +56 -0
  128. package/src/utils/errors.ts +484 -66
  129. package/src/utils/redactSecrets.ts +61 -0
package/dist/cjs/main.cjs CHANGED
@@ -30,6 +30,10 @@ const require_schema = require("./utils/schema.cjs");
30
30
  const require_errors = require("./utils/errors.cjs");
31
31
  require("./utils/index.cjs");
32
32
  const require_index$3 = require("./llm/openai/index.cjs");
33
+ const require_index$4 = require("./llm/openrouter/index.cjs");
34
+ const require_providers = require("./llm/providers.cjs");
35
+ const require_init = require("./llm/init.cjs");
36
+ const require_invoke = require("./llm/invoke.cjs");
33
37
  const require_bashAst = require("./tools/local/bashAst.cjs");
34
38
  const require_LocalExecutionEngine = require("./tools/local/LocalExecutionEngine.cjs");
35
39
  const require_CompileCheckTool = require("./tools/local/CompileCheckTool.cjs");
@@ -44,7 +48,7 @@ const require_executeHooks = require("./hooks/executeHooks.cjs");
44
48
  const require_createToolPolicyHook = require("./hooks/createToolPolicyHook.cjs");
45
49
  const require_createWorkspacePolicyHook = require("./hooks/createWorkspacePolicyHook.cjs");
46
50
  const require_types = require("./hooks/types.cjs");
47
- const require_index$4 = require("./hooks/index.cjs");
51
+ const require_index$5 = require("./hooks/index.cjs");
48
52
  const require_LocalProgrammaticToolCalling = require("./tools/local/LocalProgrammaticToolCalling.cjs");
49
53
  const require_BashExecutor = require("./tools/BashExecutor.cjs");
50
54
  const require_LocalExecutionTools = require("./tools/local/LocalExecutionTools.cjs");
@@ -63,10 +67,6 @@ require("./tools/local/index.cjs");
63
67
  const require_ToolNode = require("./tools/ToolNode.cjs");
64
68
  const require_SubagentExecutor = require("./tools/subagent/SubagentExecutor.cjs");
65
69
  require("./tools/subagent/index.cjs");
66
- const require_index$8 = require("./llm/openrouter/index.cjs");
67
- const require_providers = require("./llm/providers.cjs");
68
- const require_init = require("./llm/init.cjs");
69
- const require_invoke = require("./llm/invoke.cjs");
70
70
  const require_SubagentTool = require("./tools/SubagentTool.cjs");
71
71
  const require_index$9 = require("./summarization/index.cjs");
72
72
  const require_request = require("./llm/request.cjs");
@@ -141,8 +141,15 @@ exports.BashProgrammaticToolCallingDescription = require_BashProgrammaticToolCal
141
141
  exports.BashProgrammaticToolCallingName = require_BashProgrammaticToolCalling.BashProgrammaticToolCallingName;
142
142
  exports.BashProgrammaticToolCallingSchema = require_BashProgrammaticToolCalling.BashProgrammaticToolCallingSchema;
143
143
  exports.BashToolOutputReferencesGuide = require_BashExecutor.BashToolOutputReferencesGuide;
144
+ exports.CALIBRATION_RATIO_MAX = require_prune.CALIBRATION_RATIO_MAX;
145
+ exports.CALIBRATION_RATIO_MIN = require_prune.CALIBRATION_RATIO_MIN;
144
146
  exports.CLOUDFLARE_BASH_CODING_TOOL_NAMES = require_CloudflareSandboxTools.CLOUDFLARE_BASH_CODING_TOOL_NAMES;
145
147
  exports.CLOUDFLARE_CODING_TOOL_NAMES = require_CloudflareSandboxTools.CLOUDFLARE_CODING_TOOL_NAMES;
148
+ exports.CODE_API_AUTHORIZATION_ERROR_MESSAGE = require_CodeExecutor.CODE_API_AUTHORIZATION_ERROR_MESSAGE;
149
+ exports.CODE_API_EXECUTION_FAILED_ERROR_MESSAGE = require_CodeExecutor.CODE_API_EXECUTION_FAILED_ERROR_MESSAGE;
150
+ exports.CODE_API_INVALID_REQUEST_ERROR_MESSAGE = require_CodeExecutor.CODE_API_INVALID_REQUEST_ERROR_MESSAGE;
151
+ exports.CODE_API_RATE_LIMITED_ERROR_MESSAGE = require_CodeExecutor.CODE_API_RATE_LIMITED_ERROR_MESSAGE;
152
+ exports.CODE_API_UNAVAILABLE_ERROR_MESSAGE = require_CodeExecutor.CODE_API_UNAVAILABLE_ERROR_MESSAGE;
146
153
  exports.CODE_ARTIFACT_PATH_GUIDANCE = require_CodeExecutor.CODE_ARTIFACT_PATH_GUIDANCE;
147
154
  exports.CODE_EXECUTION_TOOLS = require_enum.CODE_EXECUTION_TOOLS;
148
155
  exports.Calculator = require_Calculator.Calculator;
@@ -152,9 +159,10 @@ exports.CalculatorToolDescription = require_Calculator.CalculatorToolDescription
152
159
  exports.CalculatorToolName = require_Calculator.CalculatorToolName;
153
160
  exports.Callback = require_enum.Callback;
154
161
  exports.ChatModelStreamHandler = require_stream.ChatModelStreamHandler;
155
- exports.ChatOpenRouter = require_index$8.ChatOpenRouter;
162
+ exports.ChatOpenRouter = require_index$4.ChatOpenRouter;
156
163
  exports.CloudflareBashExecutionToolDescription = require_CloudflareSandboxTools.CloudflareBashExecutionToolDescription;
157
164
  exports.CloudflareCodeExecutionToolDescription = require_CloudflareSandboxTools.CloudflareCodeExecutionToolDescription;
165
+ exports.CodeApiRequestError = require_CodeExecutor.CodeApiRequestError;
158
166
  exports.CodeExecutionToolDefinition = require_CodeExecutor.CodeExecutionToolDefinition;
159
167
  exports.CodeExecutionToolDescription = require_CodeExecutor.CodeExecutionToolDescription;
160
168
  exports.CodeExecutionToolName = require_CodeExecutor.CodeExecutionToolName;
@@ -177,6 +185,7 @@ exports.DEFAULT_HOOK_TIMEOUT_MS = require_executeHooks.DEFAULT_HOOK_TIMEOUT_MS;
177
185
  exports.DEFAULT_PROMPT_CACHE_TTL = require_cache.DEFAULT_PROMPT_CACHE_TTL;
178
186
  exports.DEFAULT_QUERY_DESCRIPTION = require_schema$2.DEFAULT_QUERY_DESCRIPTION;
179
187
  exports.DEFAULT_RESERVE_RATIO = require_prune.DEFAULT_RESERVE_RATIO;
188
+ exports.DEFAULT_RETAIN_RECENT_TURNS = require_recency.DEFAULT_RETAIN_RECENT_TURNS;
180
189
  exports.DEFAULT_TOOL_TOKEN_MULTIPLIER = require_constants.DEFAULT_TOOL_TOKEN_MULTIPLIER;
181
190
  Object.defineProperty(exports, "DynamicStructuredTool", {
182
191
  enumerable: true,
@@ -194,7 +203,7 @@ exports.GraphNodeKeys = require_enum.GraphNodeKeys;
194
203
  exports.HARD_MAX_TOOL_RESULT_CHARS = require_truncation.HARD_MAX_TOOL_RESULT_CHARS;
195
204
  exports.HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE = require_truncation.HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE;
196
205
  exports.HOOK_EVENTS = require_types.HOOK_EVENTS;
197
- exports.HOOK_INJECTED_MESSAGES_CAPABLE = require_index$4.HOOK_INJECTED_MESSAGES_CAPABLE;
206
+ exports.HOOK_INJECTED_MESSAGES_CAPABLE = require_index$5.HOOK_INJECTED_MESSAGES_CAPABLE;
198
207
  exports.HandlerRegistry = require_events.HandlerRegistry;
199
208
  exports.HookRegistry = require_HookRegistry.HookRegistry;
200
209
  Object.defineProperty(exports, "HumanMessage", {
@@ -359,6 +368,7 @@ exports.buildBashExecutionToolDescription = require_BashExecutor.buildBashExecut
359
368
  exports.buildBashExecutionToolSchema = require_BashExecutor.buildBashExecutionToolSchema;
360
369
  exports.buildBedrockCachePoint = require_cache.buildBedrockCachePoint;
361
370
  exports.buildChildInputs = require_SubagentExecutor.buildChildInputs;
371
+ exports.buildCodeApiExecutionErrorMessage = require_CodeExecutor.buildCodeApiExecutionErrorMessage;
362
372
  exports.buildCodeApiHttpErrorMessage = require_CodeExecutor.buildCodeApiHttpErrorMessage;
363
373
  exports.buildCodeExecutionToolDescription = require_CodeExecutor.buildCodeExecutionToolDescription;
364
374
  exports.buildCodeExecutionToolSchema = require_CodeExecutor.buildCodeExecutionToolSchema;
@@ -368,6 +378,7 @@ exports.calculateMaxToolResultChars = require_truncation.calculateMaxToolResultC
368
378
  exports.calculateMaxTotalToolOutputSize = require_truncation.calculateMaxTotalToolOutputSize;
369
379
  exports.calculateTotalTokens = require_prune.calculateTotalTokens;
370
380
  exports.checkValidNumber = require_prune.checkValidNumber;
381
+ exports.clampCalibrationRatio = require_prune.clampCalibrationRatio;
371
382
  exports.classifyAttachment = require_attachments.classifyAttachment;
372
383
  exports.clientExecTimeoutMs = require_CloudflareSandboxExecutionEngine.clientExecTimeoutMs;
373
384
  exports.clientFsTimeoutMs = require_CloudflareSandboxExecutionEngine.clientFsTimeoutMs;
@@ -487,6 +498,7 @@ exports.getChatModelClass = require_providers.getChatModelClass;
487
498
  exports.getChunkContent = require_stream.getChunkContent;
488
499
  exports.getCloudflareWorkspaceRoot = require_CloudflareSandboxExecutionEngine.getCloudflareWorkspaceRoot;
489
500
  exports.getCodeBaseURL = require_CodeExecutor.getCodeBaseURL;
501
+ exports.getContextOverflowInfo = require_errors.getContextOverflowInfo;
490
502
  exports.getConverseOverrideMessage = require_core.getConverseOverrideMessage;
491
503
  exports.getDeferredToolsListing = require_ToolSearch.getDeferredToolsListing;
492
504
  exports.getLocalCwd = require_LocalExecutionEngine.getLocalCwd;
@@ -562,6 +574,7 @@ exports.messagesStateReducer = require_reducer.messagesStateReducer;
562
574
  exports.modifyDeltaProperties = require_core.modifyDeltaProperties;
563
575
  exports.newsSchema = require_schema$2.newsSchema;
564
576
  exports.normalizeBashToolResultsForReplay = require_BashProgrammaticToolCalling.normalizeBashToolResultsForReplay;
577
+ exports.normalizeCodeApiRequestError = require_CodeExecutor.normalizeCodeApiRequestError;
565
578
  exports.normalizeServerFilter = require_ToolSearch.normalizeServerFilter;
566
579
  exports.normalizeToBashIdentifier = require_BashProgrammaticToolCalling.normalizeToBashIdentifier;
567
580
  exports.normalizeToPythonIdentifier = require_ProgrammaticToolCalling.normalizeToPythonIdentifier;
@@ -50,6 +50,10 @@ function enforceOriginalContentCap(map) {
50
50
  const CALIBRATION_RATIO_MIN = .5;
51
51
  /** Maximum cumulative calibration ratio — sanity cap for the running ratio. */
52
52
  const CALIBRATION_RATIO_MAX = 5;
53
+ /** Keeps provider/local token calibration within the shared safe range. */
54
+ function clampCalibrationRatio(ratio) {
55
+ return Math.max(CALIBRATION_RATIO_MIN, Math.min(5, ratio));
56
+ }
53
57
  function getToolCallIds(message) {
54
58
  if (message.getType() !== "ai") return /* @__PURE__ */ new Set();
55
59
  const ids = /* @__PURE__ */ new Set();
@@ -542,7 +546,7 @@ function maskConsumedToolResults(params) {
542
546
  if (content.length <= maxChars) continue;
543
547
  if (params.originalContentStore && !params.originalContentStore.has(i)) {
544
548
  params.originalContentStore.set(i, content);
545
- if (params.onContentStored) params.onContentStored(content.length);
549
+ if (params.onContentStored) params.onContentStored(i, content);
546
550
  }
547
551
  const cloned = new _langchain_core_messages.ToolMessage({
548
552
  content: require_truncation.truncateToolResultContent(content, maxChars),
@@ -685,6 +689,7 @@ function createPruneMessages(factoryParams) {
685
689
  let originalToolContentSize = 0;
686
690
  const contextPruningSettings = require_contextPruningSettings.resolveContextPruningSettings(factoryParams.contextPruningConfig);
687
691
  return function pruneMessages(params) {
692
+ let newOriginalToolContent;
688
693
  if (params.messages.length === 0) {
689
694
  /** Post-compaction calls still invoke the model — report the same
690
695
  * reserve-adjusted budget fields as the populated paths */
@@ -760,8 +765,7 @@ function createPruneMessages(factoryParams) {
760
765
  if (calibrationSkipReason == null) {
761
766
  cumulativeRawSent += rawSentThisTurn;
762
767
  cumulativeProviderReported += providerMessageTokens;
763
- const newRatio = cumulativeProviderReported / cumulativeRawSent;
764
- calibrationRatio = Math.max(CALIBRATION_RATIO_MIN, Math.min(CALIBRATION_RATIO_MAX, newRatio));
768
+ calibrationRatio = clampCalibrationRatio(cumulativeProviderReported / cumulativeRawSent);
765
769
  const calibratedOurTotal = instructionOverhead + rawSentThisTurn * calibrationRatio;
766
770
  const overallRatio = calibratedOurTotal > 0 ? providerInputTokens / calibratedOurTotal : 0;
767
771
  const variancePct = Math.round((overallRatio - 1) * 100);
@@ -840,8 +844,10 @@ function createPruneMessages(factoryParams) {
840
844
  tokenCounter: factoryParams.tokenCounter,
841
845
  availableRawBudget: rawMessageBudget + reserveHeadroom,
842
846
  originalContentStore: factoryParams.summarizationEnabled === true ? originalToolContent : void 0,
843
- onContentStored: factoryParams.summarizationEnabled === true ? (charLen) => {
844
- originalToolContentSize += charLen;
847
+ onContentStored: factoryParams.summarizationEnabled === true ? (index, content) => {
848
+ originalToolContentSize += content.length;
849
+ if (newOriginalToolContent == null) newOriginalToolContent = /* @__PURE__ */ new Map();
850
+ newOriginalToolContent.set(index, content);
845
851
  while (originalToolContentSize > 2e6 && originalToolContent.size > 0) {
846
852
  const oldest = originalToolContent.keys().next();
847
853
  if (oldest.done === true) break;
@@ -914,6 +920,7 @@ function createPruneMessages(factoryParams) {
914
920
  remainingContextTokens: pruningBudget - calibratedTotalTokens - currentInstructionTokens,
915
921
  contextPressure,
916
922
  originalToolContent: originalToolContent.size > 0 ? originalToolContent : void 0,
923
+ newOriginalToolContent,
917
924
  calibrationRatio,
918
925
  resolvedInstructionOverhead: bestInstructionOverhead,
919
926
  contextBudget: pruningBudget,
@@ -1125,6 +1132,7 @@ function createPruneMessages(factoryParams) {
1125
1132
  remainingContextTokens,
1126
1133
  contextPressure,
1127
1134
  originalToolContent: originalToolContent.size > 0 ? originalToolContent : void 0,
1135
+ newOriginalToolContent,
1128
1136
  calibrationRatio,
1129
1137
  resolvedInstructionOverhead: bestInstructionOverhead,
1130
1138
  contextBudget: pruningBudget,
@@ -1133,10 +1141,13 @@ function createPruneMessages(factoryParams) {
1133
1141
  };
1134
1142
  }
1135
1143
  //#endregion
1144
+ exports.CALIBRATION_RATIO_MAX = CALIBRATION_RATIO_MAX;
1145
+ exports.CALIBRATION_RATIO_MIN = CALIBRATION_RATIO_MIN;
1136
1146
  exports.DEFAULT_RESERVE_RATIO = DEFAULT_RESERVE_RATIO;
1137
1147
  exports.ORIGINAL_CONTENT_MAX_CHARS = ORIGINAL_CONTENT_MAX_CHARS;
1138
1148
  exports.calculateTotalTokens = calculateTotalTokens;
1139
1149
  exports.checkValidNumber = checkValidNumber;
1150
+ exports.clampCalibrationRatio = clampCalibrationRatio;
1140
1151
  exports.createPruneMessages = createPruneMessages;
1141
1152
  exports.enforceOriginalContentCap = enforceOriginalContentCap;
1142
1153
  exports.getMessagesWithinTokenLimit = getMessagesWithinTokenLimit;