@librechat/agents 3.8.0 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/agents/AgentContext.cjs +13 -3
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +176 -55
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +16 -6
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/hitl/approvalReview.cjs +89 -0
- package/dist/cjs/hitl/approvalReview.cjs.map +1 -0
- package/dist/cjs/langfuse.cjs +42 -0
- package/dist/cjs/langfuse.cjs.map +1 -1
- package/dist/cjs/langfuseToolOutputTracing.cjs +42 -0
- package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
- package/dist/cjs/langfuseTraceShaping.cjs +7 -1
- package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +6 -10
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +2 -7
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/contextPressureMeter.cjs +51 -10
- package/dist/cjs/llm/contextPressureMeter.cjs.map +1 -1
- package/dist/cjs/llm/init.cjs +1 -1
- package/dist/cjs/llm/invoke.cjs +2 -2
- package/dist/cjs/llm/openai/index.cjs +4 -3
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs +5 -4
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/llm/preempt.cjs +3 -2
- package/dist/cjs/llm/preempt.cjs.map +1 -1
- package/dist/cjs/llm/prepareProviderRequest.cjs +9 -7
- package/dist/cjs/llm/prepareProviderRequest.cjs.map +1 -1
- package/dist/cjs/llm/providers.cjs +1 -1
- package/dist/cjs/main.cjs +14 -8
- package/dist/cjs/messages/alternation.cjs +1 -5
- package/dist/cjs/messages/alternation.cjs.map +1 -1
- package/dist/cjs/messages/budget.cjs +206 -7
- package/dist/cjs/messages/budget.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +3 -9
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/core.cjs +26 -38
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +132 -43
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/index.cjs +2 -0
- package/dist/cjs/messages/prune.cjs +14 -9
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/messages/reasoningTypes.cjs +21 -0
- package/dist/cjs/messages/reasoningTypes.cjs.map +1 -0
- package/dist/cjs/messages/recency.cjs +15 -94
- package/dist/cjs/messages/recency.cjs.map +1 -1
- package/dist/cjs/messages/toolHistoryProjection.cjs +243 -0
- package/dist/cjs/messages/toolHistoryProjection.cjs.map +1 -0
- package/dist/cjs/messages/toolResultTypes.cjs +145 -4
- package/dist/cjs/messages/toolResultTypes.cjs.map +1 -1
- package/dist/cjs/run.cjs +22 -10
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/session/AgentSession.cjs +7 -5
- package/dist/cjs/session/AgentSession.cjs.map +1 -1
- package/dist/cjs/session/JsonlSessionStore.cjs +3 -0
- package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
- package/dist/cjs/session/index.cjs +1 -1
- package/dist/cjs/session/sessionProjection.cjs +75 -0
- package/dist/cjs/session/sessionProjection.cjs.map +1 -0
- package/dist/cjs/stream.cjs +20 -19
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/index.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +19 -9
- package/dist/cjs/summarization/node.cjs.map +1 -1
- package/dist/cjs/summarization/shared.cjs +9 -0
- package/dist/cjs/summarization/shared.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +256 -84
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/local/CompileCheckTool.cjs +1 -1
- package/dist/cjs/tools/local/LocalCodingTools.cjs +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +24 -9
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentReplay.cjs +2 -0
- package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
- package/dist/cjs/tools/toolBatchReplay.cjs +187 -0
- package/dist/cjs/tools/toolBatchReplay.cjs.map +1 -0
- package/dist/cjs/tools/toolOutputReferences.cjs +12 -0
- package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
- package/dist/cjs/types/hitl.cjs +4 -0
- package/dist/cjs/types/hitl.cjs.map +1 -1
- package/dist/cjs/utils/events.cjs +13 -0
- package/dist/cjs/utils/events.cjs.map +1 -1
- package/dist/cjs/utils/tokens.cjs +105 -0
- package/dist/cjs/utils/tokens.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +13 -3
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +178 -57
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +16 -6
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/hitl/approvalReview.mjs +83 -0
- package/dist/esm/hitl/approvalReview.mjs.map +1 -0
- package/dist/esm/langfuse.mjs +43 -2
- package/dist/esm/langfuse.mjs.map +1 -1
- package/dist/esm/langfuseToolOutputTracing.mjs +41 -1
- package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
- package/dist/esm/langfuseTraceShaping.mjs +7 -1
- package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +6 -10
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +2 -7
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/contextPressureMeter.mjs +52 -11
- package/dist/esm/llm/contextPressureMeter.mjs.map +1 -1
- package/dist/esm/llm/init.mjs +1 -1
- package/dist/esm/llm/invoke.mjs +2 -2
- package/dist/esm/llm/openai/index.mjs +2 -1
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs +5 -4
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/llm/preempt.mjs +2 -1
- package/dist/esm/llm/preempt.mjs.map +1 -1
- package/dist/esm/llm/prepareProviderRequest.mjs +9 -7
- package/dist/esm/llm/prepareProviderRequest.mjs.map +1 -1
- package/dist/esm/llm/providers.mjs +1 -1
- package/dist/esm/main.mjs +13 -10
- package/dist/esm/messages/alternation.mjs +2 -6
- package/dist/esm/messages/alternation.mjs.map +1 -1
- package/dist/esm/messages/budget.mjs +206 -8
- package/dist/esm/messages/budget.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +3 -9
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/core.mjs +24 -34
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +133 -44
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/index.mjs +2 -0
- package/dist/esm/messages/prune.mjs +14 -9
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/messages/reasoningTypes.mjs +20 -0
- package/dist/esm/messages/reasoningTypes.mjs.map +1 -0
- package/dist/esm/messages/recency.mjs +16 -95
- package/dist/esm/messages/recency.mjs.map +1 -1
- package/dist/esm/messages/toolHistoryProjection.mjs +237 -0
- package/dist/esm/messages/toolHistoryProjection.mjs.map +1 -0
- package/dist/esm/messages/toolResultTypes.mjs +141 -4
- package/dist/esm/messages/toolResultTypes.mjs.map +1 -1
- package/dist/esm/run.mjs +23 -11
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/session/AgentSession.mjs +7 -5
- package/dist/esm/session/AgentSession.mjs.map +1 -1
- package/dist/esm/session/JsonlSessionStore.mjs +3 -0
- package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
- package/dist/esm/session/index.mjs +1 -1
- package/dist/esm/session/sessionProjection.mjs +72 -0
- package/dist/esm/session/sessionProjection.mjs.map +1 -0
- package/dist/esm/stream.mjs +17 -16
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/index.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +20 -10
- package/dist/esm/summarization/node.mjs.map +1 -1
- package/dist/esm/summarization/shared.mjs +9 -1
- package/dist/esm/summarization/shared.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +256 -84
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/local/CompileCheckTool.mjs +1 -1
- package/dist/esm/tools/local/LocalCodingTools.mjs +1 -1
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +24 -9
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentReplay.mjs +1 -1
- package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
- package/dist/esm/tools/toolBatchReplay.mjs +176 -0
- package/dist/esm/tools/toolBatchReplay.mjs.map +1 -0
- package/dist/esm/tools/toolOutputReferences.mjs +12 -0
- package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
- package/dist/esm/types/hitl.mjs +4 -1
- package/dist/esm/types/hitl.mjs.map +1 -1
- package/dist/esm/utils/events.mjs +13 -0
- package/dist/esm/utils/events.mjs.map +1 -1
- package/dist/esm/utils/tokens.mjs +105 -1
- package/dist/esm/utils/tokens.mjs.map +1 -1
- package/dist/types/agents/AgentContext.d.ts +13 -1
- package/dist/types/graphs/Graph.d.ts +27 -0
- package/dist/types/hitl/approvalReview.d.ts +32 -0
- package/dist/types/hooks/types.d.ts +4 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/langfuse.d.ts +5 -0
- package/dist/types/langfuseToolOutputTracing.d.ts +2 -0
- package/dist/types/llm/contextPressureMeter.d.ts +2 -1
- package/dist/types/llm/prepareProviderRequest.d.ts +7 -1
- package/dist/types/messages/budget.d.ts +15 -10
- package/dist/types/messages/core.d.ts +8 -17
- package/dist/types/messages/format.d.ts +3 -2
- package/dist/types/messages/index.d.ts +1 -1
- package/dist/types/messages/prune.d.ts +1 -1
- package/dist/types/messages/reasoningTypes.d.ts +7 -0
- package/dist/types/messages/recency.d.ts +3 -0
- package/dist/types/messages/toolHistoryProjection.d.ts +65 -0
- package/dist/types/messages/toolResultTypes.d.ts +31 -1
- package/dist/types/session/sessionProjection.d.ts +10 -0
- package/dist/types/summarization/index.d.ts +2 -1
- package/dist/types/summarization/node.d.ts +1 -0
- package/dist/types/summarization/shared.d.ts +12 -0
- package/dist/types/tools/ToolNode.d.ts +12 -6
- package/dist/types/tools/subagent/SubagentReplay.d.ts +2 -0
- package/dist/types/tools/toolBatchReplay.d.ts +54 -0
- package/dist/types/tools/toolOutputReferences.d.ts +2 -0
- package/dist/types/types/graph.d.ts +20 -0
- package/dist/types/types/run.d.ts +4 -0
- package/dist/types/types/summarize.d.ts +4 -1
- package/dist/types/utils/tokens.d.ts +2 -1
- package/package.json +1 -1
- package/src/agents/AgentContext.ts +34 -3
- package/src/graphs/Graph.ts +465 -147
- package/src/graphs/MultiAgentGraph.ts +28 -6
- package/src/hitl/approvalReview.ts +209 -0
- package/src/hooks/types.ts +4 -1
- package/src/index.ts +1 -0
- package/src/langfuse.ts +67 -9
- package/src/langfuseToolOutputTracing.ts +91 -0
- package/src/langfuseTraceShaping.ts +17 -4
- package/src/llm/anthropic/utils/message_inputs.ts +5 -10
- package/src/llm/bedrock/utils/message_inputs.ts +2 -8
- package/src/llm/contextPressureMeter.ts +80 -12
- package/src/llm/openai/utils/index.ts +5 -4
- package/src/llm/prepareProviderRequest.ts +21 -16
- package/src/messages/alternation.ts +2 -15
- package/src/messages/budget.ts +439 -23
- package/src/messages/cache.ts +8 -9
- package/src/messages/core.ts +65 -95
- package/src/messages/format.ts +262 -78
- package/src/messages/index.ts +1 -1
- package/src/messages/prune.ts +31 -12
- package/src/messages/reasoningTypes.ts +23 -0
- package/src/messages/recency.ts +35 -179
- package/src/messages/toolHistoryProjection.ts +460 -0
- package/src/messages/toolResultTypes.ts +331 -100
- package/src/run.ts +44 -22
- package/src/session/AgentSession.ts +33 -16
- package/src/session/JsonlSessionStore.ts +6 -0
- package/src/session/sessionProjection.ts +126 -0
- package/src/stream.ts +14 -19
- package/src/summarization/index.ts +2 -0
- package/src/summarization/node.ts +62 -13
- package/src/summarization/shared.ts +23 -0
- package/src/tools/ToolNode.ts +518 -184
- package/src/tools/subagent/SubagentExecutor.ts +35 -6
- package/src/tools/subagent/SubagentReplay.ts +2 -2
- package/src/tools/toolBatchReplay.ts +395 -0
- package/src/tools/toolOutputReferences.ts +16 -0
- package/src/types/graph.ts +20 -0
- package/src/types/run.ts +4 -0
- package/src/types/summarize.ts +4 -1
- package/src/utils/events.ts +19 -0
- package/src/utils/tokens.ts +183 -0
|
@@ -453,6 +453,10 @@ export type TokenBudgetBreakdown = {
|
|
|
453
453
|
toolTokenCounts?: Record<string, number>;
|
|
454
454
|
/** Names of counted tools that are deferred (`defer_loading`) and discovered. */
|
|
455
455
|
deferredToolNames?: string[];
|
|
456
|
+
/** Calibrated retained tool traffic: tool results plus assistant turns made only of tool calls, inline provider tool results and reasoning. A subset of messageTokens, not an additional budget category. */
|
|
457
|
+
toolMessageTokens?: number;
|
|
458
|
+
/** Per-tool result-message share; excludes assistant invocation overhead. */
|
|
459
|
+
toolMessageTokenCounts?: Record<string, number>;
|
|
456
460
|
};
|
|
457
461
|
export type EventStreamOptions = {
|
|
458
462
|
callbacks?: g.ClientCallbacks;
|
|
@@ -104,8 +104,11 @@ export interface SummarizationNodeInput {
|
|
|
104
104
|
* is compacting to recover. When summarization is not enabled, this
|
|
105
105
|
* variant performs no model call — the corrected budget alone is what the
|
|
106
106
|
* retry needs.
|
|
107
|
+
* - `manual`: the host asked for a summary outright (a summarize-only run).
|
|
108
|
+
* The recency window is not applied unless the host configured
|
|
109
|
+
* `retainRecent` explicitly, so the summary replaces the whole history.
|
|
107
110
|
*/
|
|
108
|
-
reason?: 'trigger' | 'overflow';
|
|
111
|
+
reason?: 'trigger' | 'overflow' | 'manual';
|
|
109
112
|
/**
|
|
110
113
|
* Whether an overflow recovery may spend a summarization model call.
|
|
111
114
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
2
2
|
export type EncodingName = 'o200k_base' | 'claude';
|
|
3
|
-
export type UnsafeTokenMeasurementReason = 'message_proxy' | 'content_proxy' | 'metadata_proxy' | 'metadata_accessor' | 'invalid_count';
|
|
3
|
+
export type UnsafeTokenMeasurementReason = 'message_proxy' | 'content_proxy' | 'metadata_proxy' | 'metadata_accessor' | 'metadata_limit' | 'invalid_count';
|
|
4
4
|
export declare class UnsafeTokenMeasurementError extends Error {
|
|
5
5
|
readonly type = "unsafe_token_measurement";
|
|
6
6
|
readonly reason: UnsafeTokenMeasurementReason;
|
|
@@ -61,6 +61,7 @@ export declare function encodingForModel(model: string): EncodingName;
|
|
|
61
61
|
* unsafe so the caller can normalize or reject them conservatively.
|
|
62
62
|
*/
|
|
63
63
|
export declare function hasUnsafeStructuredSerialization(value: unknown): boolean;
|
|
64
|
+
export declare function readTokenMetadataProperty(value: object, key: PropertyKey, path: string): unknown;
|
|
64
65
|
export declare function getTokenCountForMessage(message: BaseMessage, getTokenCount: (text: string) => number, encoding?: EncodingName): number;
|
|
65
66
|
/**
|
|
66
67
|
* Largest-remainder apportionment: scales each count by `multiplier` and
|
package/package.json
CHANGED
|
@@ -123,6 +123,7 @@ export class AgentContext {
|
|
|
123
123
|
useLegacyContent,
|
|
124
124
|
discoveredTools,
|
|
125
125
|
summarizationEnabled,
|
|
126
|
+
summarizeOnly,
|
|
126
127
|
summarizationConfig,
|
|
127
128
|
compactionSemanticIndex,
|
|
128
129
|
initialSummary,
|
|
@@ -158,6 +159,7 @@ export class AgentContext {
|
|
|
158
159
|
useLegacyContent,
|
|
159
160
|
discoveredTools,
|
|
160
161
|
summarizationEnabled,
|
|
162
|
+
summarizeOnly,
|
|
161
163
|
summarizationConfig,
|
|
162
164
|
compactionSemanticIndex,
|
|
163
165
|
contextPruningConfig,
|
|
@@ -383,6 +385,10 @@ export class AgentContext {
|
|
|
383
385
|
useLegacyContent: boolean = false;
|
|
384
386
|
/** Enables graph-level summarization for this agent */
|
|
385
387
|
summarizationEnabled?: boolean;
|
|
388
|
+
/** Summarize-only run: request a summary on the first model step and end after it */
|
|
389
|
+
summarizeOnly?: boolean;
|
|
390
|
+
/** Whether the summarize-only run has already issued its one request */
|
|
391
|
+
private _manualSummarizationRequested: boolean = false;
|
|
386
392
|
/** Summarization runtime settings used by graph pruning hooks */
|
|
387
393
|
summarizationConfig?: t.SummarizationConfig;
|
|
388
394
|
/** Host-supplied advisory guidance consumed only when compaction runs. */
|
|
@@ -480,6 +486,7 @@ export class AgentContext {
|
|
|
480
486
|
useLegacyContent,
|
|
481
487
|
discoveredTools,
|
|
482
488
|
summarizationEnabled,
|
|
489
|
+
summarizeOnly,
|
|
483
490
|
summarizationConfig,
|
|
484
491
|
compactionSemanticIndex,
|
|
485
492
|
contextPruningConfig,
|
|
@@ -508,6 +515,7 @@ export class AgentContext {
|
|
|
508
515
|
useLegacyContent?: boolean;
|
|
509
516
|
discoveredTools?: string[];
|
|
510
517
|
summarizationEnabled?: boolean;
|
|
518
|
+
summarizeOnly?: boolean;
|
|
511
519
|
summarizationConfig?: t.SummarizationConfig;
|
|
512
520
|
compactionSemanticIndex?: t.CompactionSemanticIndex;
|
|
513
521
|
contextPruningConfig?: t.ContextPruningConfig;
|
|
@@ -549,6 +557,7 @@ export class AgentContext {
|
|
|
549
557
|
|
|
550
558
|
this.useLegacyContent = useLegacyContent ?? false;
|
|
551
559
|
this.summarizationEnabled = summarizationEnabled;
|
|
560
|
+
this.summarizeOnly = summarizeOnly;
|
|
552
561
|
this.summarizationConfig = summarizationConfig;
|
|
553
562
|
if (compactionSemanticIndex != null) {
|
|
554
563
|
this.compactionSemanticIndex = snapshotCompactionSemanticIndex(
|
|
@@ -1268,6 +1277,7 @@ export class AgentContext {
|
|
|
1268
1277
|
this.summaryPrecedesMessages = this.durableSummaryPrecedesMessages;
|
|
1269
1278
|
this._lastSummarizationMsgCount = 0;
|
|
1270
1279
|
this._summarizationFailures = 0;
|
|
1280
|
+
this._manualSummarizationRequested = false;
|
|
1271
1281
|
this.lastCallUsage = undefined;
|
|
1272
1282
|
this.totalTokensFresh = false;
|
|
1273
1283
|
this.restoreContextBudgetAfterOverflow();
|
|
@@ -1617,6 +1627,20 @@ export class AgentContext {
|
|
|
1617
1627
|
this._lastSummarizationMsgCount = msgCount;
|
|
1618
1628
|
}
|
|
1619
1629
|
|
|
1630
|
+
/**
|
|
1631
|
+
* Claims the single summarization request a summarize-only run makes.
|
|
1632
|
+
* True exactly once per run, on the first model step; the step that gets
|
|
1633
|
+
* `false` is the one after the summary, which reports usage and ends
|
|
1634
|
+
* without a model call. Always false when `summarizeOnly` is off.
|
|
1635
|
+
*/
|
|
1636
|
+
claimManualSummarization(): boolean {
|
|
1637
|
+
if (this.summarizeOnly !== true || this._manualSummarizationRequested) {
|
|
1638
|
+
return false;
|
|
1639
|
+
}
|
|
1640
|
+
this._manualSummarizationRequested = true;
|
|
1641
|
+
return true;
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1620
1644
|
/**
|
|
1621
1645
|
* Records a summarization attempt that produced no usable summary — an
|
|
1622
1646
|
* empty model response, or a provider failure the run declined to paper
|
|
@@ -1767,8 +1791,9 @@ export class AgentContext {
|
|
|
1767
1791
|
const recounted: Record<string, number> = {};
|
|
1768
1792
|
for (let i = 0; i < messages.length; i++) {
|
|
1769
1793
|
const localCount = this.tokenCounter(messages[i]);
|
|
1770
|
-
const conservativeFloor =
|
|
1771
|
-
|
|
1794
|
+
const conservativeFloor = this.providerProjectionRecountFloors?.get(
|
|
1795
|
+
messages[i]
|
|
1796
|
+
);
|
|
1772
1797
|
recounted[i] =
|
|
1773
1798
|
conservativeFloor == null
|
|
1774
1799
|
? localCount
|
|
@@ -2112,7 +2137,13 @@ export class AgentContext {
|
|
|
2112
2137
|
remainingContextTokens,
|
|
2113
2138
|
calibrationRatio,
|
|
2114
2139
|
};
|
|
2115
|
-
syncBudgetDerivedFields(
|
|
2140
|
+
syncBudgetDerivedFields(
|
|
2141
|
+
usage,
|
|
2142
|
+
context,
|
|
2143
|
+
this.contextPressureTokenCounts?.count ?? tokenCounter,
|
|
2144
|
+
undefined,
|
|
2145
|
+
this.provider
|
|
2146
|
+
);
|
|
2116
2147
|
return usage;
|
|
2117
2148
|
}
|
|
2118
2149
|
|