@librechat/agents 3.8.0 → 3.8.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 (209) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +13 -3
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/graphs/Graph.cjs +174 -53
  4. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  5. package/dist/cjs/graphs/MultiAgentGraph.cjs +15 -5
  6. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  7. package/dist/cjs/langfuse.cjs +42 -0
  8. package/dist/cjs/langfuse.cjs.map +1 -1
  9. package/dist/cjs/langfuseToolOutputTracing.cjs +42 -0
  10. package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
  11. package/dist/cjs/langfuseTraceShaping.cjs +7 -1
  12. package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
  13. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +5 -9
  14. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  15. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +2 -7
  16. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
  17. package/dist/cjs/llm/contextPressureMeter.cjs +51 -10
  18. package/dist/cjs/llm/contextPressureMeter.cjs.map +1 -1
  19. package/dist/cjs/llm/init.cjs +1 -1
  20. package/dist/cjs/llm/invoke.cjs +2 -2
  21. package/dist/cjs/llm/openai/index.cjs +4 -3
  22. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  23. package/dist/cjs/llm/openai/utils/index.cjs +5 -4
  24. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  25. package/dist/cjs/llm/preempt.cjs +3 -2
  26. package/dist/cjs/llm/preempt.cjs.map +1 -1
  27. package/dist/cjs/llm/prepareProviderRequest.cjs +9 -7
  28. package/dist/cjs/llm/prepareProviderRequest.cjs.map +1 -1
  29. package/dist/cjs/llm/providers.cjs +1 -1
  30. package/dist/cjs/main.cjs +11 -5
  31. package/dist/cjs/messages/alternation.cjs +1 -5
  32. package/dist/cjs/messages/alternation.cjs.map +1 -1
  33. package/dist/cjs/messages/budget.cjs +206 -7
  34. package/dist/cjs/messages/budget.cjs.map +1 -1
  35. package/dist/cjs/messages/cache.cjs +3 -9
  36. package/dist/cjs/messages/cache.cjs.map +1 -1
  37. package/dist/cjs/messages/core.cjs +25 -37
  38. package/dist/cjs/messages/core.cjs.map +1 -1
  39. package/dist/cjs/messages/format.cjs +131 -42
  40. package/dist/cjs/messages/format.cjs.map +1 -1
  41. package/dist/cjs/messages/index.cjs +2 -0
  42. package/dist/cjs/messages/prune.cjs +12 -7
  43. package/dist/cjs/messages/prune.cjs.map +1 -1
  44. package/dist/cjs/messages/reasoningTypes.cjs +21 -0
  45. package/dist/cjs/messages/reasoningTypes.cjs.map +1 -0
  46. package/dist/cjs/messages/recency.cjs +15 -94
  47. package/dist/cjs/messages/recency.cjs.map +1 -1
  48. package/dist/cjs/messages/toolHistoryProjection.cjs +243 -0
  49. package/dist/cjs/messages/toolHistoryProjection.cjs.map +1 -0
  50. package/dist/cjs/messages/toolResultTypes.cjs +145 -4
  51. package/dist/cjs/messages/toolResultTypes.cjs.map +1 -1
  52. package/dist/cjs/run.cjs +5 -4
  53. package/dist/cjs/run.cjs.map +1 -1
  54. package/dist/cjs/session/AgentSession.cjs +6 -4
  55. package/dist/cjs/session/AgentSession.cjs.map +1 -1
  56. package/dist/cjs/session/JsonlSessionStore.cjs +3 -0
  57. package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
  58. package/dist/cjs/session/index.cjs +1 -1
  59. package/dist/cjs/session/sessionProjection.cjs +75 -0
  60. package/dist/cjs/session/sessionProjection.cjs.map +1 -0
  61. package/dist/cjs/stream.cjs +18 -17
  62. package/dist/cjs/stream.cjs.map +1 -1
  63. package/dist/cjs/summarization/index.cjs.map +1 -1
  64. package/dist/cjs/summarization/node.cjs +18 -8
  65. package/dist/cjs/summarization/node.cjs.map +1 -1
  66. package/dist/cjs/summarization/shared.cjs +9 -0
  67. package/dist/cjs/summarization/shared.cjs.map +1 -1
  68. package/dist/cjs/tools/local/CompileCheckTool.cjs +1 -1
  69. package/dist/cjs/tools/local/LocalCodingTools.cjs +1 -1
  70. package/dist/cjs/utils/events.cjs +13 -0
  71. package/dist/cjs/utils/events.cjs.map +1 -1
  72. package/dist/cjs/utils/tokens.cjs +105 -0
  73. package/dist/cjs/utils/tokens.cjs.map +1 -1
  74. package/dist/esm/agents/AgentContext.mjs +13 -3
  75. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  76. package/dist/esm/graphs/Graph.mjs +176 -55
  77. package/dist/esm/graphs/Graph.mjs.map +1 -1
  78. package/dist/esm/graphs/MultiAgentGraph.mjs +15 -5
  79. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  80. package/dist/esm/langfuse.mjs +43 -2
  81. package/dist/esm/langfuse.mjs.map +1 -1
  82. package/dist/esm/langfuseToolOutputTracing.mjs +41 -1
  83. package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
  84. package/dist/esm/langfuseTraceShaping.mjs +7 -1
  85. package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
  86. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +5 -9
  87. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  88. package/dist/esm/llm/bedrock/utils/message_inputs.mjs +2 -7
  89. package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
  90. package/dist/esm/llm/contextPressureMeter.mjs +52 -11
  91. package/dist/esm/llm/contextPressureMeter.mjs.map +1 -1
  92. package/dist/esm/llm/init.mjs +1 -1
  93. package/dist/esm/llm/invoke.mjs +2 -2
  94. package/dist/esm/llm/openai/index.mjs +2 -1
  95. package/dist/esm/llm/openai/index.mjs.map +1 -1
  96. package/dist/esm/llm/openai/utils/index.mjs +5 -4
  97. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  98. package/dist/esm/llm/preempt.mjs +2 -1
  99. package/dist/esm/llm/preempt.mjs.map +1 -1
  100. package/dist/esm/llm/prepareProviderRequest.mjs +9 -7
  101. package/dist/esm/llm/prepareProviderRequest.mjs.map +1 -1
  102. package/dist/esm/llm/providers.mjs +1 -1
  103. package/dist/esm/main.mjs +10 -7
  104. package/dist/esm/messages/alternation.mjs +2 -6
  105. package/dist/esm/messages/alternation.mjs.map +1 -1
  106. package/dist/esm/messages/budget.mjs +206 -8
  107. package/dist/esm/messages/budget.mjs.map +1 -1
  108. package/dist/esm/messages/cache.mjs +3 -9
  109. package/dist/esm/messages/cache.mjs.map +1 -1
  110. package/dist/esm/messages/core.mjs +23 -33
  111. package/dist/esm/messages/core.mjs.map +1 -1
  112. package/dist/esm/messages/format.mjs +132 -43
  113. package/dist/esm/messages/format.mjs.map +1 -1
  114. package/dist/esm/messages/index.mjs +2 -0
  115. package/dist/esm/messages/prune.mjs +12 -7
  116. package/dist/esm/messages/prune.mjs.map +1 -1
  117. package/dist/esm/messages/reasoningTypes.mjs +20 -0
  118. package/dist/esm/messages/reasoningTypes.mjs.map +1 -0
  119. package/dist/esm/messages/recency.mjs +16 -95
  120. package/dist/esm/messages/recency.mjs.map +1 -1
  121. package/dist/esm/messages/toolHistoryProjection.mjs +237 -0
  122. package/dist/esm/messages/toolHistoryProjection.mjs.map +1 -0
  123. package/dist/esm/messages/toolResultTypes.mjs +141 -4
  124. package/dist/esm/messages/toolResultTypes.mjs.map +1 -1
  125. package/dist/esm/run.mjs +5 -4
  126. package/dist/esm/run.mjs.map +1 -1
  127. package/dist/esm/session/AgentSession.mjs +6 -4
  128. package/dist/esm/session/AgentSession.mjs.map +1 -1
  129. package/dist/esm/session/JsonlSessionStore.mjs +3 -0
  130. package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
  131. package/dist/esm/session/index.mjs +1 -1
  132. package/dist/esm/session/sessionProjection.mjs +72 -0
  133. package/dist/esm/session/sessionProjection.mjs.map +1 -0
  134. package/dist/esm/stream.mjs +15 -14
  135. package/dist/esm/stream.mjs.map +1 -1
  136. package/dist/esm/summarization/index.mjs.map +1 -1
  137. package/dist/esm/summarization/node.mjs +19 -9
  138. package/dist/esm/summarization/node.mjs.map +1 -1
  139. package/dist/esm/summarization/shared.mjs +9 -1
  140. package/dist/esm/summarization/shared.mjs.map +1 -1
  141. package/dist/esm/tools/local/CompileCheckTool.mjs +1 -1
  142. package/dist/esm/tools/local/LocalCodingTools.mjs +1 -1
  143. package/dist/esm/utils/events.mjs +13 -0
  144. package/dist/esm/utils/events.mjs.map +1 -1
  145. package/dist/esm/utils/tokens.mjs +105 -1
  146. package/dist/esm/utils/tokens.mjs.map +1 -1
  147. package/dist/types/agents/AgentContext.d.ts +13 -1
  148. package/dist/types/graphs/Graph.d.ts +27 -0
  149. package/dist/types/hooks/types.d.ts +4 -2
  150. package/dist/types/index.d.ts +1 -0
  151. package/dist/types/langfuse.d.ts +5 -0
  152. package/dist/types/langfuseToolOutputTracing.d.ts +2 -0
  153. package/dist/types/llm/contextPressureMeter.d.ts +2 -1
  154. package/dist/types/llm/prepareProviderRequest.d.ts +7 -1
  155. package/dist/types/messages/budget.d.ts +15 -10
  156. package/dist/types/messages/core.d.ts +8 -17
  157. package/dist/types/messages/format.d.ts +3 -2
  158. package/dist/types/messages/index.d.ts +1 -1
  159. package/dist/types/messages/prune.d.ts +1 -1
  160. package/dist/types/messages/reasoningTypes.d.ts +7 -0
  161. package/dist/types/messages/recency.d.ts +3 -0
  162. package/dist/types/messages/toolHistoryProjection.d.ts +65 -0
  163. package/dist/types/messages/toolResultTypes.d.ts +31 -1
  164. package/dist/types/session/sessionProjection.d.ts +10 -0
  165. package/dist/types/summarization/index.d.ts +2 -1
  166. package/dist/types/summarization/node.d.ts +1 -0
  167. package/dist/types/summarization/shared.d.ts +12 -0
  168. package/dist/types/types/graph.d.ts +20 -0
  169. package/dist/types/types/run.d.ts +4 -0
  170. package/dist/types/types/summarize.d.ts +4 -1
  171. package/dist/types/utils/tokens.d.ts +2 -1
  172. package/package.json +1 -1
  173. package/src/agents/AgentContext.ts +34 -3
  174. package/src/graphs/Graph.ts +465 -147
  175. package/src/graphs/MultiAgentGraph.ts +28 -6
  176. package/src/hooks/types.ts +4 -1
  177. package/src/index.ts +1 -0
  178. package/src/langfuse.ts +67 -9
  179. package/src/langfuseToolOutputTracing.ts +91 -0
  180. package/src/langfuseTraceShaping.ts +17 -4
  181. package/src/llm/anthropic/utils/message_inputs.ts +5 -10
  182. package/src/llm/bedrock/utils/message_inputs.ts +2 -8
  183. package/src/llm/contextPressureMeter.ts +80 -12
  184. package/src/llm/openai/utils/index.ts +5 -4
  185. package/src/llm/prepareProviderRequest.ts +21 -16
  186. package/src/messages/alternation.ts +2 -15
  187. package/src/messages/budget.ts +439 -23
  188. package/src/messages/cache.ts +8 -9
  189. package/src/messages/core.ts +65 -95
  190. package/src/messages/format.ts +262 -78
  191. package/src/messages/index.ts +1 -1
  192. package/src/messages/prune.ts +31 -12
  193. package/src/messages/reasoningTypes.ts +23 -0
  194. package/src/messages/recency.ts +35 -179
  195. package/src/messages/toolHistoryProjection.ts +460 -0
  196. package/src/messages/toolResultTypes.ts +331 -100
  197. package/src/run.ts +10 -2
  198. package/src/session/AgentSession.ts +33 -16
  199. package/src/session/JsonlSessionStore.ts +6 -0
  200. package/src/session/sessionProjection.ts +126 -0
  201. package/src/stream.ts +14 -19
  202. package/src/summarization/index.ts +2 -0
  203. package/src/summarization/node.ts +62 -13
  204. package/src/summarization/shared.ts +23 -0
  205. package/src/types/graph.ts +20 -0
  206. package/src/types/run.ts +4 -0
  207. package/src/types/summarize.ts +4 -1
  208. package/src/utils/events.ts +19 -0
  209. package/src/utils/tokens.ts +183 -0
@@ -1,14 +1,213 @@
1
+ require("../common/enum.cjs");
2
+ require("../common/index.cjs");
3
+ const require_provenance = require("./provenance.cjs");
4
+ const require_reasoningTypes = require("./reasoningTypes.cjs");
5
+ const require_toolResultTypes = require("./toolResultTypes.cjs");
6
+ const require_tokens = require("../utils/tokens.cjs");
7
+ const require_events = require("../utils/events.cjs");
1
8
  //#region src/messages/budget.ts
2
- function syncBudgetDerivedFields(usage) {
9
+ const UNKNOWN_TOOL = "unknown_tool";
10
+ const BLANK_TEXT = /^\s*$/u;
11
+ function safeCount(value) {
12
+ if (!Number.isSafeInteger(value) || value < 0) throw new RangeError("Invalid tool context token count");
13
+ return value;
14
+ }
15
+ function toCount(value) {
16
+ if (!Number.isFinite(value) || value < 0) throw new RangeError("Invalid tool context token count");
17
+ return safeCount(Math.round(value));
18
+ }
19
+ function safeRawCount(value) {
20
+ if (!Number.isFinite(value) || value < 0 || value > Number.MAX_SAFE_INTEGER) throw new RangeError("Invalid tool context token count");
21
+ return value;
22
+ }
23
+ let warnedUnavailableToolShare = false;
24
+ function warnUnavailableToolShare(config, error) {
25
+ if (warnedUnavailableToolShare || config == null) return;
26
+ warnedUnavailableToolShare = true;
27
+ require_events.emitAgentLog(config, "warn", "budget", "Tool-message context share unavailable: the token counter must return finite, non-negative counts within the safe range", { error: error instanceof Error ? error.message : String(error) });
28
+ }
29
+ function isBlankTextPart(part) {
30
+ if (typeof part === "string") return BLANK_TEXT.test(part);
31
+ return part.type === "text" && typeof part.text === "string" && BLANK_TEXT.test(part.text);
32
+ }
33
+ function readLegacyFunctionName(message) {
34
+ const name = message.additional_kwargs.function_call?.name;
35
+ return typeof name === "string" && name.length > 0 ? name : void 0;
36
+ }
37
+ function pairResult(descriptor, calls, previousPart) {
38
+ const name = descriptor.toolCallId == null ? void 0 : calls.get(descriptor.toolCallId)?.descriptor.name;
39
+ const paired = require_toolResultTypes.consumeProviderToolResultPair(descriptor, calls, previousPart);
40
+ return paired ? {
41
+ paired,
42
+ name
43
+ } : { paired };
44
+ }
45
+ function isFoldedToolHistory(message) {
46
+ const parts = require_provenance.getProviderMessageProvenance(message)?.parts;
47
+ return parts != null && parts.some((part) => part.attribution === "tool");
48
+ }
49
+ function scanInvocation(message, calls, provider) {
50
+ let recognizedCalls = require_toolResultTypes.appendProviderMessageToolCalls(message, calls, provider);
51
+ if (typeof message.content === "string") return {
52
+ recognizedCalls,
53
+ toolOnly: BLANK_TEXT.test(message.content)
54
+ };
55
+ const parts = message.content;
56
+ let toolOnly = true;
57
+ let previousPart;
58
+ for (const part of parts) {
59
+ if (typeof part === "string") {
60
+ toolOnly &&= BLANK_TEXT.test(part);
61
+ previousPart = part;
62
+ continue;
63
+ }
64
+ const call = require_toolResultTypes.getProviderToolCallPartDescriptor(part);
65
+ if (call != null) {
66
+ require_toolResultTypes.appendProviderToolCallDescriptor(calls, call);
67
+ recognizedCalls += 1;
68
+ previousPart = part;
69
+ continue;
70
+ }
71
+ if (require_toolResultTypes.isExecutableCodePart(part)) {
72
+ recognizedCalls += 1;
73
+ previousPart = part;
74
+ continue;
75
+ }
76
+ const result = require_toolResultTypes.getProviderToolResultPartDescriptor(part);
77
+ if (result != null) {
78
+ pairResult(result, calls, previousPart);
79
+ previousPart = part;
80
+ continue;
81
+ }
82
+ previousPart = part;
83
+ if (require_reasoningTypes.isReasoningContentBlock(part)) continue;
84
+ toolOnly &&= isBlankTextPart(part);
85
+ }
86
+ return {
87
+ recognizedCalls,
88
+ toolOnly
89
+ };
90
+ }
91
+ function getToolMessageResultName(message, calls, pendingLegacyName, provider) {
92
+ const descriptor = require_toolResultTypes.getProviderToolMessageResultDescriptor(message, provider);
93
+ const pairing = descriptor == null ? void 0 : pairResult(descriptor, calls);
94
+ if (pairing?.name != null) return pairing.name;
95
+ if (message.name != null && message.name.length > 0) return message.name;
96
+ return pendingLegacyName ?? UNKNOWN_TOOL;
97
+ }
98
+ function takeUserToolResultName(message, calls) {
99
+ if (typeof message.content === "string" || message.content.length === 0) return;
100
+ const candidate = new Map(calls);
101
+ let name;
102
+ let mixed = false;
103
+ let previousPart;
104
+ for (const part of message.content) {
105
+ const descriptor = require_toolResultTypes.getProviderToolResultPartDescriptor(part);
106
+ if (descriptor?.allowHumanMessagePairing !== true) return;
107
+ const pairing = pairResult(descriptor, candidate, previousPart);
108
+ if (!pairing.paired) return;
109
+ mixed ||= name != null && pairing.name !== name;
110
+ name = pairing.name;
111
+ previousPart = part;
112
+ }
113
+ calls.clear();
114
+ for (const [callId, entry] of candidate) calls.set(callId, entry);
115
+ return mixed || name == null ? UNKNOWN_TOOL : name;
116
+ }
117
+ function createToolMessageUsageAccumulator(provider) {
118
+ const calls = /* @__PURE__ */ new Map();
119
+ const counts = Object.create(null);
120
+ let pendingLegacyName;
121
+ let total = 0;
122
+ let resultTotal = 0;
123
+ const addRaw = (current, increment) => safeRawCount(current + safeRawCount(increment));
124
+ const countResult = (tokens, name) => {
125
+ total = addRaw(total, tokens);
126
+ if (tokens === 0) return;
127
+ counts[name] = addRaw(counts[name] ?? 0, tokens);
128
+ resultTotal = addRaw(resultTotal, tokens);
129
+ };
130
+ const add = (message, getRawTokens) => {
131
+ const readTokens = () => safeRawCount(getRawTokens());
132
+ const role = require_toolResultTypes.getProviderMessageRole(message, provider);
133
+ if (role === "assistant") {
134
+ const scan = scanInvocation(message, calls, provider);
135
+ pendingLegacyName = readLegacyFunctionName(message);
136
+ if (scan.recognizedCalls > 0 && scan.toolOnly) total = addRaw(total, readTokens());
137
+ return;
138
+ }
139
+ if (role === "tool" || role === "function") {
140
+ const legacyName = role === "function" ? pendingLegacyName : void 0;
141
+ countResult(readTokens(), getToolMessageResultName(message, calls, legacyName, provider));
142
+ if (role === "function") pendingLegacyName = void 0;
143
+ return;
144
+ }
145
+ if (role === "user" && isFoldedToolHistory(message)) {
146
+ total = addRaw(total, readTokens());
147
+ return;
148
+ }
149
+ const userResultName = role === "user" ? takeUserToolResultName(message, calls) : void 0;
150
+ if (userResultName != null) {
151
+ countResult(readTokens(), userResultName);
152
+ return;
153
+ }
154
+ if (role === "user") calls.clear();
155
+ pendingLegacyName = void 0;
156
+ };
157
+ const finish = (calibrationRatio = 1) => {
158
+ const ratio = Number.isFinite(calibrationRatio) && calibrationRatio > 0 ? calibrationRatio : 1;
159
+ const toolMessageTokens = safeCount(Math.round(total * ratio));
160
+ const resultTokens = Math.min(toolMessageTokens, safeCount(Math.round(resultTotal * ratio)));
161
+ return {
162
+ toolMessageTokens,
163
+ toolMessageTokenCounts: resultTotal > 0 && resultTokens > 0 ? require_tokens.apportionTokenCounts(counts, ratio, resultTokens) : void 0
164
+ };
165
+ };
166
+ return {
167
+ add,
168
+ finish
169
+ };
170
+ }
171
+ function computeToolMessageUsage(context, tokenCounter, calibrationRatio = 1, provider) {
172
+ const accumulator = createToolMessageUsageAccumulator(provider);
173
+ for (const message of context) accumulator.add(message, () => tokenCounter(message));
174
+ return accumulator.finish(calibrationRatio);
175
+ }
176
+ function syncToolMessageShare(usage, context, tokenCounter, provider) {
177
+ const { breakdown } = usage;
178
+ if (context != null && tokenCounter != null) Object.assign(breakdown, computeToolMessageUsage(context, tokenCounter, usage.calibrationRatio, provider));
179
+ if (breakdown.toolMessageTokens == null) return;
180
+ const total = toCount(breakdown.toolMessageTokens);
181
+ const clamped = Math.min(total, toCount(breakdown.messageTokens));
182
+ if (clamped !== total && breakdown.toolMessageTokenCounts != null) {
183
+ let resultTotal = 0;
184
+ for (const count of Object.values(breakdown.toolMessageTokenCounts)) resultTotal = safeCount(resultTotal + toCount(count));
185
+ const factor = total > 0 ? clamped / total : 0;
186
+ const target = Math.min(clamped, Math.round(resultTotal * factor));
187
+ breakdown.toolMessageTokenCounts = target > 0 ? require_tokens.apportionTokenCounts(breakdown.toolMessageTokenCounts, factor, target) : void 0;
188
+ }
189
+ breakdown.toolMessageTokens = clamped;
190
+ }
191
+ function syncBudgetDerivedFields(usage, context, tokenCounter, config, provider, toolMessageUsageError) {
3
192
  const { breakdown, contextBudget, effectiveInstructionTokens } = usage;
4
- if (effectiveInstructionTokens == null) return;
5
- breakdown.instructionTokens = effectiveInstructionTokens;
6
- if (contextBudget == null) return;
7
- breakdown.availableForMessages = Math.max(0, contextBudget - effectiveInstructionTokens);
8
- if (usage.remainingContextTokens == null) return;
9
- breakdown.messageTokens = Math.max(0, contextBudget - effectiveInstructionTokens - usage.remainingContextTokens);
193
+ if (effectiveInstructionTokens != null) {
194
+ breakdown.instructionTokens = effectiveInstructionTokens;
195
+ if (contextBudget != null) {
196
+ breakdown.availableForMessages = Math.max(0, contextBudget - effectiveInstructionTokens);
197
+ if (usage.remainingContextTokens != null) breakdown.messageTokens = Math.max(0, contextBudget - effectiveInstructionTokens - usage.remainingContextTokens);
198
+ }
199
+ }
200
+ try {
201
+ if (toolMessageUsageError != null) throw toolMessageUsageError;
202
+ syncToolMessageShare(usage, context, tokenCounter, provider);
203
+ } catch (error) {
204
+ warnUnavailableToolShare(config, error);
205
+ delete breakdown.toolMessageTokens;
206
+ delete breakdown.toolMessageTokenCounts;
207
+ }
10
208
  }
11
209
  //#endregion
210
+ exports.createToolMessageUsageAccumulator = createToolMessageUsageAccumulator;
12
211
  exports.syncBudgetDerivedFields = syncBudgetDerivedFields;
13
212
 
14
213
  //# sourceMappingURL=budget.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"budget.cjs","names":[],"sources":["../../../src/messages/budget.ts"],"mappings":";AAWA,SAAgB,wBAAwB,OAAkC;CACxE,MAAM,EAAE,WAAW,eAAe,+BAA+B;CACjE,IAAI,8BAA8B,MAChC;CAEF,UAAU,oBAAoB;CAC9B,IAAI,iBAAiB,MACnB;CAEF,UAAU,uBAAuB,KAAK,IACpC,GACA,gBAAgB,0BAClB;CACA,IAAI,MAAM,0BAA0B,MAClC;CAEF,UAAU,gBAAgB,KAAK,IAC7B,GACA,gBAAgB,6BAA6B,MAAM,sBACrD;AACF"}
1
+ {"version":3,"file":"budget.cjs","names":["consumeProviderToolResultPair","getProviderMessageProvenance","appendProviderMessageToolCalls","getProviderToolCallPartDescriptor","isExecutableCodePart","getProviderToolResultPartDescriptor","isReasoningContentBlock","getProviderToolMessageResultDescriptor","getProviderMessageRole","apportionTokenCounts"],"sources":["../../../src/messages/budget.ts"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  require("../common/enum.cjs");
2
2
  const require_toolContent = require("../utils/toolContent.cjs");
3
3
  const require_langchain = require("./langchain.cjs");
4
+ const require_reasoningTypes = require("./reasoningTypes.cjs");
4
5
  let _langchain_core_messages = require("@langchain/core/messages");
5
6
  let node_util_types = require("node:util/types");
6
7
  //#region src/messages/cache.ts
@@ -166,18 +167,11 @@ function isCachePoint(block) {
166
167
  return false;
167
168
  }
168
169
  }
169
- const NON_ANCHORABLE_BLOCK_TYPES = new Set([
170
- "thinking",
171
- "redacted_thinking",
172
- "reasoning_content",
173
- "reasoning",
174
- "think",
175
- "input_json_delta"
176
- ]);
170
+ const NON_ANCHORABLE_BLOCK_TYPES = new Set(["input_json_delta"]);
177
171
  function isTailCacheableBlock(block) {
178
172
  if (isCachePoint(block)) return false;
179
173
  const type = block.type;
180
- if (type == null || NON_ANCHORABLE_BLOCK_TYPES.has(type)) return false;
174
+ if (type == null || require_reasoningTypes.isReasoningContentBlock(block) || NON_ANCHORABLE_BLOCK_TYPES.has(type)) return false;
181
175
  if (type === "text") {
182
176
  const text = block.text;
183
177
  return text != null && text.trim() !== "";
@@ -1 +1 @@
1
- {"version":3,"file":"cache.cjs","names":["BaseMessage","toLangChainContent","hasComputerCallOutputMarker"],"sources":["../../../src/messages/cache.ts"],"mappings":"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"}
1
+ {"version":3,"file":"cache.cjs","names":["BaseMessage","toLangChainContent","isReasoningContentBlock","hasComputerCallOutputMarker"],"sources":["../../../src/messages/cache.ts"],"mappings":"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"}
@@ -4,7 +4,9 @@ require("../common/index.cjs");
4
4
  const require_toolContent = require("../utils/toolContent.cjs");
5
5
  const require_provenance = require("./provenance.cjs");
6
6
  const require_langchain = require("./langchain.cjs");
7
+ const require_reasoningTypes = require("./reasoningTypes.cjs");
7
8
  const require_cache = require("./cache.cjs");
9
+ const require_toolHistoryProjection = require("./toolHistoryProjection.cjs");
8
10
  let _langchain_core_messages = require("@langchain/core/messages");
9
11
  let node_util_types = require("node:util/types");
10
12
  //#region src/messages/core.ts
@@ -95,17 +97,9 @@ function getAdditionalReasoningContent(message) {
95
97
  if (reasoning != null) return reasoning;
96
98
  return getReasoningDetailsText(additionalKwargs.reasoning_details);
97
99
  }
98
- function isReasoningContentBlock(block) {
99
- const type = block.type;
100
- if (type == null) return false;
101
- return type.startsWith("thinking") || type.startsWith("reasoning") || type === "redacted_thinking";
102
- }
103
100
  function hasReasoningContent(content) {
104
101
  if (!Array.isArray(content)) return false;
105
- return content.some((item) => {
106
- if (typeof item !== "object" || !("type" in item)) return false;
107
- return item.type === "think" || item.type === "thinking" || item.type === "reasoning" || item.type === "reasoning_content" || item.type === "redacted_thinking";
108
- });
102
+ return content.some((item) => typeof item === "object" && require_reasoningTypes.isReasoningContentBlock(item));
109
103
  }
110
104
  function modifyDeltaProperties(provider, obj) {
111
105
  if (!obj || typeof obj !== "object") return obj;
@@ -445,7 +439,6 @@ function hasReplayableEncryptedReasoning(reasoning) {
445
439
  const item = reasoning;
446
440
  return item.type === "reasoning" && typeof item.id === "string" && item.id.length > 0 && Array.isArray(item.summary) && typeof item.encrypted_content === "string" && item.encrypted_content.length > 0 && (item.status === void 0 || item.status === "completed" || item.status === "incomplete");
447
441
  }
448
- const OPENAI_RESPONSES_REPLAY_POSITIONS_KEY = "__openai_responses_replay_positions__";
449
442
  const OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY = "__openai_responses_active_reasoning_id__";
450
443
  function isProviderGeneratedImageBlock(block, generatedImages, allowDataFallback = true) {
451
444
  if (typeof block.id === "string" && block.id.length > 0) return generatedImages.ids.has(block.id);
@@ -655,21 +648,7 @@ function projectPreemptedResponsesV1Content(content, reasoning, maxChars, replay
655
648
  };
656
649
  }
657
650
  function getAuthoritativeResponsesOutput(message) {
658
- const responseOutput = message.response_metadata.output;
659
- const toolOutputs = message.additional_kwargs.tool_outputs;
660
- if (Array.isArray(responseOutput) && responseOutput.length > 0) return responseOutput;
661
- return Array.isArray(toolOutputs) ? toolOutputs : [];
662
- }
663
- function isResponsesReplayPosition(value) {
664
- if (value == null || typeof value !== "object") return false;
665
- const position = value;
666
- return (position.kind === "message" || position.kind === "output" || position.kind === "reasoning" || position.kind === "text") && typeof position.itemId === "string" && position.itemId.length > 0 && typeof position.outputIndex === "number" && Number.isSafeInteger(position.outputIndex) && position.outputIndex >= 0 && (position.contentIndex == null || typeof position.contentIndex === "number" && Number.isSafeInteger(position.contentIndex) && position.contentIndex >= 0);
667
- }
668
- function getGeneratedImageMimeType(data) {
669
- const bytes = Buffer.from(data.slice(0, 16), "base64");
670
- if (bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255) return "image/jpeg";
671
- if (bytes[0] === 82 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 70 && bytes[8] === 87 && bytes[9] === 69 && bytes[10] === 66 && bytes[11] === 80) return "image/webp";
672
- return "image/png";
651
+ return require_toolHistoryProjection.getResponsesHistorySource(message)?.items ?? [];
673
652
  }
674
653
  function getResponsesReplayItemKey(item) {
675
654
  if (typeof item.id === "string" && item.id.length > 0) return item.id;
@@ -683,7 +662,7 @@ const RESPONSES_REPLAY_OUTPUT_TOOL_NAMES = {
683
662
  local_shell_call_output: "local_shell",
684
663
  shell_call_output: "shell"
685
664
  };
686
- function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayPositionValue) {
665
+ function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayPositionValue, history) {
687
666
  const blocks = [];
688
667
  const data = /* @__PURE__ */ new Set();
689
668
  const ids = /* @__PURE__ */ new Set();
@@ -692,7 +671,7 @@ function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayP
692
671
  const positionedServerToolResultIds = /* @__PURE__ */ new Set();
693
672
  const rawOutputIndices = /* @__PURE__ */ new Map();
694
673
  const serverToolResults = [];
695
- const replayPositions = Array.isArray(replayPositionValue) ? replayPositionValue.filter(isResponsesReplayPosition) : [];
674
+ const replayPositions = Array.isArray(replayPositionValue) ? replayPositionValue.filter(require_toolHistoryProjection.isResponsesReplayPosition) : [];
696
675
  const authoritativeOutputIndicesByItemId = /* @__PURE__ */ new Map();
697
676
  const messagePositionsByKey = /* @__PURE__ */ new Map();
698
677
  const outputPositionsByItemId = /* @__PURE__ */ new Map();
@@ -724,7 +703,7 @@ function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayP
724
703
  kind: "message",
725
704
  outputIndex
726
705
  });
727
- if (!("content" in item) || !Array.isArray(item.content)) continue;
706
+ if (history != null || !("content" in item) || !Array.isArray(item.content)) continue;
728
707
  for (let contentIndex = 0; contentIndex < item.content.length; contentIndex++) {
729
708
  const content = item.content[contentIndex];
730
709
  if (content == null || typeof content !== "object" || !("type" in content) || content.type !== "output_text" || !("text" in content) || typeof content.text !== "string" || content.text.length === 0) continue;
@@ -737,6 +716,16 @@ function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayP
737
716
  });
738
717
  }
739
718
  }
719
+ if (history?.source.coverage === "complete-output") for (const contribution of history.contributions) {
720
+ if (contribution.kind !== "text") continue;
721
+ const itemId = contribution.itemId ?? `message-${contribution.outputIndex}`;
722
+ textPositionsByKey.set(`${itemId}:${contribution.outputIndex}:${contribution.contentIndex ?? 0}`, {
723
+ itemId,
724
+ kind: "text",
725
+ outputIndex: contribution.outputIndex,
726
+ contentIndex: contribution.contentIndex
727
+ });
728
+ }
740
729
  if (hasAuthoritativeMessage) for (const [itemId, outputIndex] of authoritativeOutputIndicesByItemId) outputPositionsByItemId.set(itemId, {
741
730
  itemId,
742
731
  kind: "output",
@@ -873,7 +862,7 @@ function getResponsesReplayArtifacts(output, maxChars, replayProjection, replayP
873
862
  blocks.push({
874
863
  block: {
875
864
  type: "image",
876
- mimeType: getGeneratedImageMimeType(item.result),
865
+ mimeType: require_toolHistoryProjection.getGeneratedImageMimeType(item.result),
877
866
  data: item.result,
878
867
  extras: createServerToolResultExtras("image_generation")
879
868
  },
@@ -937,13 +926,14 @@ function isPreemptedOpenAIResponsesMessage(message) {
937
926
  if (message.id?.startsWith("msg_") === true || message.id?.startsWith("resp_") === true || typeof metadata.id === "string" && metadata.id.startsWith("resp_") || Array.isArray(metadata.output) || metadata.tool_outputs != null || Array.isArray(message.additional_kwargs.tool_outputs) || message.additional_kwargs["__openai_responses_replay_positions__"] != null || message.additional_kwargs.__openai_function_call_ids__ != null || message.additional_kwargs.__openai_custom_tool_call_ids__ != null || message.additional_kwargs.reasoning != null && typeof message.additional_kwargs.reasoning === "object") return true;
938
927
  return false;
939
928
  }
940
- function projectPreemptedOpenAIResponsesMessage(message, maxChars, replayProjection) {
929
+ function projectPreemptedOpenAIResponsesMessage(message, maxChars, replayProjection, preparation = require_toolHistoryProjection.createToolHistoryPreparation()) {
941
930
  if (!isPreemptedOpenAIResponsesMessage(message)) return message;
942
931
  const metadata = message.response_metadata;
943
932
  const additionalKwargs = { ...message.additional_kwargs };
944
933
  const retainsEncryptedReasoning = replayProjection === "native" && hasReplayableEncryptedReasoning(additionalKwargs.reasoning);
945
- const authoritativeOutput = getAuthoritativeResponsesOutput(message);
946
- const { generatedImages, messagePositions, positionedServerToolResultIds, positionsByItemId, serverToolResults, textPositions } = getResponsesReplayArtifacts(authoritativeOutput, maxChars, replayProjection, additionalKwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY]);
934
+ const history = preparation.get(message);
935
+ const authoritativeOutput = history?.source.items ?? getAuthoritativeResponsesOutput(message);
936
+ const { generatedImages, messagePositions, positionedServerToolResultIds, positionsByItemId, serverToolResults, textPositions } = getResponsesReplayArtifacts(authoritativeOutput, maxChars, replayProjection, additionalKwargs[require_toolHistoryProjection.OPENAI_RESPONSES_REPLAY_POSITIONS_KEY], history);
947
937
  const reasoningItemId = retainsEncryptedReasoning && additionalKwargs.reasoning != null && typeof additionalKwargs.reasoning === "object" && "id" in additionalKwargs.reasoning && typeof additionalKwargs.reasoning.id === "string" ? additionalKwargs.reasoning.id : void 0;
948
938
  const reasoningPosition = reasoningItemId != null ? positionsByItemId.get(reasoningItemId) : void 0;
949
939
  const isV1 = metadata.output_version === "v1";
@@ -958,7 +948,7 @@ function projectPreemptedOpenAIResponsesMessage(message, maxChars, replayProject
958
948
  if (!(content !== message.content || message.id?.startsWith("msg_") === true || !retainsEncryptedReasoning && additionalKwargs.reasoning != null || additionalKwargs.tool_outputs != null || additionalKwargs["__openai_responses_replay_positions__"] != null || additionalKwargs.__openai_function_call_ids__ != null || additionalKwargs.__openai_custom_tool_call_ids__ != null || metadata.id != null || metadata.output != null || metadata.tool_outputs != null)) return message;
959
949
  if (!retainsEncryptedReasoning) delete additionalKwargs.reasoning;
960
950
  delete additionalKwargs.tool_outputs;
961
- delete additionalKwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY];
951
+ delete additionalKwargs[require_toolHistoryProjection.OPENAI_RESPONSES_REPLAY_POSITIONS_KEY];
962
952
  delete additionalKwargs[OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY];
963
953
  delete additionalKwargs.__openai_function_call_ids__;
964
954
  delete additionalKwargs.__openai_custom_tool_call_ids__;
@@ -969,14 +959,14 @@ function projectPreemptedOpenAIResponsesMessage(message, maxChars, replayProject
969
959
  if (promotesV0) responseMetadata.output_version = "v1";
970
960
  return cloneAIMessageWithResponsesReplayState(message, content, message.id?.startsWith("msg_") === true ? void 0 : message.id, additionalKwargs, responseMetadata);
971
961
  }
972
- function projectToolStreamContentForProvider(messages, responsesReplayProjection, maxChars = require_truncation.HARD_MAX_TOOL_RESULT_CHARS) {
962
+ function projectToolStreamContentForProvider(messages, responsesReplayProjection, maxChars = require_truncation.HARD_MAX_TOOL_RESULT_CHARS, preparation = require_toolHistoryProjection.createToolHistoryPreparation()) {
973
963
  let projected;
974
964
  for (let i = 0; i < messages.length; i++) {
975
965
  const message = messages[i];
976
966
  if (message.getType() !== "ai") continue;
977
967
  const assistantMessage = message;
978
968
  if (responsesReplayProjection != null && isPreemptedOpenAIResponsesMessage(assistantMessage)) {
979
- const replaySafeMessage = projectPreemptedOpenAIResponsesMessage(assistantMessage, maxChars, responsesReplayProjection);
969
+ const replaySafeMessage = projectPreemptedOpenAIResponsesMessage(assistantMessage, maxChars, responsesReplayProjection, preparation);
980
970
  if (replaySafeMessage !== assistantMessage) {
981
971
  projected ??= [...messages];
982
972
  projected[i] = replaySafeMessage;
@@ -1303,7 +1293,6 @@ function hasNonEmptyTextContent(content) {
1303
1293
  }
1304
1294
  //#endregion
1305
1295
  exports.OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY = OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY;
1306
- exports.OPENAI_RESPONSES_REPLAY_POSITIONS_KEY = OPENAI_RESPONSES_REPLAY_POSITIONS_KEY;
1307
1296
  exports.convertMessagesToContent = convertMessagesToContent;
1308
1297
  exports.dropIncompleteToolStreamContent = dropIncompleteToolStreamContent;
1309
1298
  exports.findLastIndex = findLastIndex;
@@ -1312,7 +1301,6 @@ exports.formatAnthropicMessage = formatAnthropicMessage;
1312
1301
  exports.formatArtifactPayload = formatArtifactPayload;
1313
1302
  exports.getConverseOverrideMessage = getConverseOverrideMessage;
1314
1303
  exports.hasNonEmptyTextContent = hasNonEmptyTextContent;
1315
- exports.isReasoningContentBlock = isReasoningContentBlock;
1316
1304
  exports.modifyDeltaProperties = modifyDeltaProperties;
1317
1305
  exports.projectAnthropicArtifactContent = projectAnthropicArtifactContent;
1318
1306
  exports.projectArtifactPayload = projectArtifactPayload;