@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.
- package/dist/cjs/agents/AgentContext.cjs +13 -3
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +174 -53
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +15 -5
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- 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 +5 -9
- 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 +11 -5
- 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 +25 -37
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +131 -42
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/index.cjs +2 -0
- package/dist/cjs/messages/prune.cjs +12 -7
- 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 +5 -4
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/session/AgentSession.cjs +6 -4
- 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 +18 -17
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/index.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +18 -8
- 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/local/CompileCheckTool.cjs +1 -1
- package/dist/cjs/tools/local/LocalCodingTools.cjs +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 +176 -55
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +15 -5
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- 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 +5 -9
- 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 +10 -7
- 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 +23 -33
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +132 -43
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/index.mjs +2 -0
- package/dist/esm/messages/prune.mjs +12 -7
- 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 +5 -4
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/session/AgentSession.mjs +6 -4
- 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 +15 -14
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/index.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +19 -9
- 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/local/CompileCheckTool.mjs +1 -1
- package/dist/esm/tools/local/LocalCodingTools.mjs +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/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/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/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 +10 -2
- 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/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
|
@@ -30,6 +30,13 @@ export type SystemCallbacks = {
|
|
|
30
30
|
export type BaseGraphState = {
|
|
31
31
|
messages: BaseMessage[];
|
|
32
32
|
runStepState?: RunStepResumeState;
|
|
33
|
+
/**
|
|
34
|
+
* The summary a summarize-only run produced. Kept in state because such a
|
|
35
|
+
* run has no assistant reply: trace roots report it as the run's output
|
|
36
|
+
* instead of the retained tail or the raw state. Empty once any later run
|
|
37
|
+
* on the same checkpointed thread starts, so it never outlives its run.
|
|
38
|
+
*/
|
|
39
|
+
manualSummary?: string;
|
|
33
40
|
};
|
|
34
41
|
export type AgentSubgraphState = BaseGraphState & {
|
|
35
42
|
summarizationRequest?: SummarizationNodeInput;
|
|
@@ -725,6 +732,19 @@ interface AgentInputFields {
|
|
|
725
732
|
*/
|
|
726
733
|
discoveredTools?: string[];
|
|
727
734
|
summarizationEnabled?: boolean;
|
|
735
|
+
/**
|
|
736
|
+
* Runs this agent as a summarize-only pass: the first model step requests
|
|
737
|
+
* summarization outright instead of consulting the trigger, and the step
|
|
738
|
+
* after the summary emits its context snapshot and ends the run without a
|
|
739
|
+
* model call. Hosts use it for user-initiated compaction, where the summary
|
|
740
|
+
* is the whole response. Requires `summarizationEnabled`: a run that cannot
|
|
741
|
+
* attempt the summary rejects with `ManualSummarizationSkippedError`
|
|
742
|
+
* rather than ending with nothing, and one whose provider calls all fail
|
|
743
|
+
* keeps the history and reports the failure on the summary step. A
|
|
744
|
+
* multi-agent workflow compiles to the agent that opted in alone; no other
|
|
745
|
+
* agent runs.
|
|
746
|
+
*/
|
|
747
|
+
summarizeOnly?: boolean;
|
|
728
748
|
summarizationConfig?: SummarizationConfig;
|
|
729
749
|
/**
|
|
730
750
|
* Optional host-supplied, user-visible guidance for compaction. The SDK
|
|
@@ -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
|
|