@machina.ai/cell-cli-core 1.40.1-rc2 → 1.41.1-rc1
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/docs/AFTER_MERGE_PROMPT.md +1 -1
- package/dist/docs/changelogs/index.md +18 -0
- package/dist/docs/changelogs/latest.md +243 -255
- package/dist/docs/changelogs/preview.md +168 -18
- package/dist/docs/cli/sandbox.md +162 -45
- package/dist/docs/cli/settings.md +19 -13
- package/dist/docs/reference/configuration.md +77 -0
- package/dist/docs/reference/keyboard-shortcuts.md +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/src/agents/local-executor.js +8 -0
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.js +5 -4
- package/dist/src/agents/skill-extraction-agent.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.test.js +4 -2
- package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +2 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/code_assist/server.js +16 -0
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +18 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -0
- package/dist/src/config/config.js +26 -8
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +39 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +34 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.d.ts +3 -1
- package/dist/src/config/models.js +21 -4
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +23 -1
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/context/config/configLoader.d.ts +1 -2
- package/dist/src/context/config/configLoader.js +12 -7
- package/dist/src/context/config/configLoader.js.map +1 -1
- package/dist/src/context/config/configLoader.test.js +8 -12
- package/dist/src/context/config/configLoader.test.js.map +1 -1
- package/dist/src/context/config/profiles.d.ts +7 -1
- package/dist/src/context/config/profiles.js +46 -5
- package/dist/src/context/config/profiles.js.map +1 -1
- package/dist/src/context/contextManager.js +5 -3
- package/dist/src/context/contextManager.js.map +1 -1
- package/dist/src/context/eventBus.d.ts +7 -0
- package/dist/src/context/eventBus.js +6 -0
- package/dist/src/context/eventBus.js.map +1 -1
- package/dist/src/context/graph/builtinBehaviors.js +3 -3
- package/dist/src/context/graph/builtinBehaviors.js.map +1 -1
- package/dist/src/context/graph/mapper.d.ts +4 -2
- package/dist/src/context/graph/mapper.js +15 -3
- package/dist/src/context/graph/mapper.js.map +1 -1
- package/dist/src/context/graph/toGraph.d.ts +13 -2
- package/dist/src/context/graph/toGraph.js +88 -32
- package/dist/src/context/graph/toGraph.js.map +1 -1
- package/dist/src/context/historyObserver.d.ts +1 -0
- package/dist/src/context/historyObserver.js +25 -26
- package/dist/src/context/historyObserver.js.map +1 -1
- package/dist/src/context/initializer.d.ts +9 -0
- package/dist/src/context/initializer.js +75 -0
- package/dist/src/context/initializer.js.map +1 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.js +12 -6
- package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js +1 -1
- package/dist/src/context/pipeline/environmentImpl.d.ts +3 -2
- package/dist/src/context/pipeline/environmentImpl.js +6 -3
- package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
- package/dist/src/context/pipeline/environmentImpl.test.js +1 -1
- package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
- package/dist/src/context/pipeline/orchestrator.js +5 -0
- package/dist/src/context/pipeline/orchestrator.js.map +1 -1
- package/dist/src/context/processors/toolMaskingProcessor.js +21 -5
- package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -1
- package/dist/src/context/processors/toolMaskingProcessor.test.js +22 -0
- package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -1
- package/dist/src/context/system-tests/lifecycle.golden.test.js +5 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
- package/dist/src/context/system-tests/simulationHarness.js +1 -1
- package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
- package/dist/src/context/testing/contextTestUtils.js +7 -3
- package/dist/src/context/testing/contextTestUtils.js.map +1 -1
- package/dist/src/context/tracer.js +3 -1
- package/dist/src/context/tracer.js.map +1 -1
- package/dist/src/context/tracer.test.js +4 -2
- package/dist/src/context/tracer.test.js.map +1 -1
- package/dist/src/context/utils/contextTokenCalculator.d.ts +2 -1
- package/dist/src/context/utils/contextTokenCalculator.js +13 -11
- package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
- package/dist/src/core/client.d.ts +1 -0
- package/dist/src/core/client.js +9 -8
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +0 -3
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +2 -1
- package/dist/src/core/geminiChat.js +72 -20
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +1 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/tokenLimits.d.ts +1 -0
- package/dist/src/core/tokenLimits.js +5 -1
- package/dist/src/core/tokenLimits.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/index.d.ts +9 -1
- package/dist/src/index.js +10 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/policy-engine.js +12 -7
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +69 -1
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/prompts/snippets.js +2 -1
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.js +2 -1
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +1 -0
- package/dist/src/services/chatRecordingService.js +23 -0
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingTypes.d.ts +13 -0
- package/dist/src/services/memoryService.d.ts +5 -0
- package/dist/src/services/memoryService.js +76 -53
- package/dist/src/services/memoryService.js.map +1 -1
- package/dist/src/services/memoryService.test.js +256 -12
- package/dist/src/services/memoryService.test.js.map +1 -1
- package/dist/src/services/sessionScratchpadUtils.d.ts +7 -0
- package/dist/src/services/sessionScratchpadUtils.js +121 -0
- package/dist/src/services/sessionScratchpadUtils.js.map +1 -0
- package/dist/src/services/sessionScratchpadUtils.test.d.ts +6 -0
- package/dist/src/services/sessionScratchpadUtils.test.js +27 -0
- package/dist/src/services/sessionScratchpadUtils.test.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.d.ts +3 -3
- package/dist/src/services/sessionSummaryUtils.js +232 -27
- package/dist/src/services/sessionSummaryUtils.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.test.js +449 -10
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +24 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +24 -0
- package/dist/src/tools/trackerTools.test.js +7 -2
- package/dist/src/tools/trackerTools.test.js.map +1 -1
- package/dist/src/utils/binaryCheck.d.ts +9 -0
- package/dist/src/utils/binaryCheck.js +13 -0
- package/dist/src/utils/binaryCheck.js.map +1 -0
- package/dist/src/utils/fsErrorMessages.js +4 -0
- package/dist/src/utils/fsErrorMessages.js.map +1 -1
- package/dist/src/utils/fsErrorMessages.test.js +21 -0
- package/dist/src/utils/fsErrorMessages.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +2 -2
- package/dist/src/utils/tokenCalculation.js +15 -14
- package/dist/src/utils/tokenCalculation.js.map +1 -1
- package/dist/src/voice/audioRecorder.d.ts +27 -0
- package/dist/src/voice/audioRecorder.js +95 -0
- package/dist/src/voice/audioRecorder.js.map +1 -0
- package/dist/src/voice/geminiLiveTranscriptionProvider.d.ts +20 -0
- package/dist/src/voice/geminiLiveTranscriptionProvider.js +140 -0
- package/dist/src/voice/geminiLiveTranscriptionProvider.js.map +1 -0
- package/dist/src/voice/transcriptionFactory.d.ts +12 -0
- package/dist/src/voice/transcriptionFactory.js +32 -0
- package/dist/src/voice/transcriptionFactory.js.map +1 -0
- package/dist/src/voice/transcriptionProvider.d.ts +29 -0
- package/dist/src/voice/transcriptionProvider.js +7 -0
- package/dist/src/voice/transcriptionProvider.js.map +1 -0
- package/dist/src/voice/whisperModelManager.d.ts +26 -0
- package/dist/src/voice/whisperModelManager.js +79 -0
- package/dist/src/voice/whisperModelManager.js.map +1 -0
- package/dist/src/voice/whisperTranscriptionProvider.d.ts +34 -0
- package/dist/src/voice/whisperTranscriptionProvider.js +151 -0
- package/dist/src/voice/whisperTranscriptionProvider.js.map +1 -0
- package/dist/src/voice/whisperTranscriptionProvider.test.d.ts +6 -0
- package/dist/src/voice/whisperTranscriptionProvider.test.js +24 -0
- package/dist/src/voice/whisperTranscriptionProvider.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../../src/context/contextManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,MAAM,OAAO,cAAc;IAYN;IACA;IACA;IAbnB,2EAA2E;IACnE,MAAM,GACZ,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEzB,QAAQ,CAAkB;IAE3C,0BAA0B;IACT,YAAY,CAAuB;IACnC,eAAe,CAAkB;IAElD,YACmB,OAAuB,EACvB,GAAuB,EACvB,MAAqB,EACtC,YAAkC,EAClC,WAA6B;QAJZ,YAAO,GAAP,OAAO,CAAgB;QACvB,QAAG,GAAH,GAAG,CAAoB;QACvB,WAAM,GAAN,MAAM,CAAe;QAItC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CACxC,WAAW,EACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,GAAG,CAAC,eAAe,EACxB,IAAI,CAAC,GAAG,CAAC,WAAW,CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../../src/context/contextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { EventEmitter } from 'node:events';
|
|
7
7
|
import type { ConcreteNode } from './graph/types.js';
|
|
8
|
+
export interface ProcessorResultEvent {
|
|
9
|
+
processorId: string;
|
|
10
|
+
targets: readonly ConcreteNode[];
|
|
11
|
+
returnedNodes: readonly ConcreteNode[];
|
|
12
|
+
}
|
|
8
13
|
export interface PristineHistoryUpdatedEvent {
|
|
9
14
|
nodes: readonly ConcreteNode[];
|
|
10
15
|
newNodes: Set<string>;
|
|
@@ -25,4 +30,6 @@ export declare class ContextEventBus extends EventEmitter {
|
|
|
25
30
|
onChunkReceived(listener: (event: ChunkReceivedEvent) => void): void;
|
|
26
31
|
emitConsolidationNeeded(event: ContextConsolidationEvent): void;
|
|
27
32
|
onConsolidationNeeded(listener: (event: ContextConsolidationEvent) => void): void;
|
|
33
|
+
emitProcessorResult(event: ProcessorResultEvent): void;
|
|
34
|
+
onProcessorResult(listener: (event: ProcessorResultEvent) => void): void;
|
|
28
35
|
}
|
|
@@ -23,5 +23,11 @@ export class ContextEventBus extends EventEmitter {
|
|
|
23
23
|
onConsolidationNeeded(listener) {
|
|
24
24
|
this.on('BUDGET_RETAINED_CROSSED', listener);
|
|
25
25
|
}
|
|
26
|
+
emitProcessorResult(event) {
|
|
27
|
+
this.emit('PROCESSOR_RESULT', event);
|
|
28
|
+
}
|
|
29
|
+
onProcessorResult(listener) {
|
|
30
|
+
this.on('PROCESSOR_RESULT', listener);
|
|
31
|
+
}
|
|
26
32
|
}
|
|
27
33
|
//# sourceMappingURL=eventBus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/context/eventBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/context/eventBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB3C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,0BAA0B,CAAC,KAAkC;QAC3D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,wBAAwB,CACtB,QAAsD;QAEtD,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,KAAyB;QACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,QAA6C;QAC3D,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,uBAAuB,CAAC,KAAgC;QACtD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB,CAAC,QAAoD;QACxE,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,mBAAmB,CAAC,KAA2B;QAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB,CAAC,QAA+C;QAC/D,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -98,9 +98,9 @@ export const AgentYieldBehavior = {
|
|
|
98
98
|
getEstimatableParts(yieldNode) {
|
|
99
99
|
return [{ text: yieldNode.text }];
|
|
100
100
|
},
|
|
101
|
-
serialize(
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
serialize() {
|
|
102
|
+
// AGENT_YIELD is a synthetic marker node used for internal graph tracking.
|
|
103
|
+
// We intentionally do NOT serialize it to the LLM to prevent prompt corruption.
|
|
104
104
|
},
|
|
105
105
|
};
|
|
106
106
|
export const SystemEventBehavior = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinBehaviors.js","sourceRoot":"","sources":["../../../../src/context/graph/builtinBehaviors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builtinBehaviors.js","sourceRoot":"","sources":["../../../../src/context/graph/builtinBehaviors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import type { ConcreteNode } from './types.js';
|
|
6
7
|
import type { Content } from '@google/genai';
|
|
7
|
-
import type {
|
|
8
|
+
import type { HistoryEvent } from '../../core/agentChatHistory.js';
|
|
8
9
|
import type { ContextTokenCalculator } from '../utils/contextTokenCalculator.js';
|
|
9
10
|
import type { NodeBehaviorRegistry } from './behaviorRegistry.js';
|
|
10
11
|
export declare class ContextGraphMapper {
|
|
11
12
|
private readonly registry;
|
|
12
13
|
private readonly nodeIdentityMap;
|
|
13
14
|
constructor(registry: NodeBehaviorRegistry);
|
|
14
|
-
|
|
15
|
+
private builder?;
|
|
16
|
+
applyEvent(event: HistoryEvent, tokenCalculator: ContextTokenCalculator): ConcreteNode[];
|
|
15
17
|
fromGraph(nodes: readonly ConcreteNode[]): Content[];
|
|
16
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContextGraphBuilder } from './toGraph.js';
|
|
2
2
|
import { fromGraph } from './fromGraph.js';
|
|
3
3
|
export class ContextGraphMapper {
|
|
4
4
|
registry;
|
|
@@ -6,8 +6,20 @@ export class ContextGraphMapper {
|
|
|
6
6
|
constructor(registry) {
|
|
7
7
|
this.registry = registry;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
builder;
|
|
10
|
+
applyEvent(event, tokenCalculator) {
|
|
11
|
+
if (!this.builder) {
|
|
12
|
+
this.builder = new ContextGraphBuilder(tokenCalculator, this.nodeIdentityMap);
|
|
13
|
+
}
|
|
14
|
+
if (event.type === 'CLEAR') {
|
|
15
|
+
this.builder.clear();
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
if (event.type === 'SYNC_FULL') {
|
|
19
|
+
this.builder.clear();
|
|
20
|
+
}
|
|
21
|
+
this.builder.processHistory(event.payload);
|
|
22
|
+
return this.builder.getNodes();
|
|
11
23
|
}
|
|
12
24
|
fromGraph(nodes) {
|
|
13
25
|
return fromGraph(nodes, this.registry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../src/context/graph/mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../src/context/graph/mapper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,MAAM,OAAO,kBAAkB;IAGA;IAFZ,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;IAEjE,YAA6B,QAA8B;QAA9B,aAAQ,GAAR,QAAQ,CAAsB;IAAG,CAAC;IAEvD,OAAO,CAAuB;IAEtC,UAAU,CACR,KAAmB,EACnB,eAAuC;QAEvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CACpC,eAAe,EACf,IAAI,CAAC,eAAe,CACrB,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,KAA8B;QACtC,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -4,7 +4,18 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { Content } from '@google/genai';
|
|
7
|
-
import type {
|
|
7
|
+
import type { ConcreteNode } from './types.js';
|
|
8
8
|
import type { ContextTokenCalculator } from '../utils/contextTokenCalculator.js';
|
|
9
9
|
export declare function getStableId(obj: object, nodeIdentityMap: WeakMap<object, string>): string;
|
|
10
|
-
export declare
|
|
10
|
+
export declare class ContextGraphBuilder {
|
|
11
|
+
private readonly tokenCalculator;
|
|
12
|
+
private readonly nodeIdentityMap;
|
|
13
|
+
private episodes;
|
|
14
|
+
private currentEpisode;
|
|
15
|
+
private pendingCallParts;
|
|
16
|
+
private pendingCallPartsWithoutId;
|
|
17
|
+
constructor(tokenCalculator: ContextTokenCalculator, nodeIdentityMap?: WeakMap<object, string>);
|
|
18
|
+
clear(): void;
|
|
19
|
+
processHistory(history: readonly Content[]): void;
|
|
20
|
+
getNodes(): ConcreteNode[];
|
|
21
|
+
}
|
|
@@ -19,41 +19,73 @@ function isCompleteEpisode(ep) {
|
|
|
19
19
|
Array.isArray(ep.concreteNodes) &&
|
|
20
20
|
ep.concreteNodes.length > 0);
|
|
21
21
|
}
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
export class ContextGraphBuilder {
|
|
23
|
+
tokenCalculator;
|
|
24
|
+
nodeIdentityMap;
|
|
25
|
+
episodes = [];
|
|
26
|
+
currentEpisode = null;
|
|
27
|
+
pendingCallParts = new Map();
|
|
28
|
+
pendingCallPartsWithoutId = [];
|
|
29
|
+
constructor(tokenCalculator, nodeIdentityMap = new WeakMap()) {
|
|
30
|
+
this.tokenCalculator = tokenCalculator;
|
|
31
|
+
this.nodeIdentityMap = nodeIdentityMap;
|
|
32
|
+
}
|
|
33
|
+
clear() {
|
|
34
|
+
this.episodes = [];
|
|
35
|
+
this.currentEpisode = null;
|
|
36
|
+
this.pendingCallParts.clear();
|
|
37
|
+
this.pendingCallPartsWithoutId = [];
|
|
38
|
+
}
|
|
39
|
+
processHistory(history) {
|
|
40
|
+
const finalizeEpisode = () => {
|
|
41
|
+
if (this.currentEpisode && isCompleteEpisode(this.currentEpisode)) {
|
|
42
|
+
this.episodes.push(this.currentEpisode);
|
|
40
43
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
this.currentEpisode = null;
|
|
45
|
+
};
|
|
46
|
+
for (const msg of history) {
|
|
47
|
+
if (!msg.parts)
|
|
48
|
+
continue;
|
|
49
|
+
if (msg.role === 'user') {
|
|
50
|
+
const hasToolResponses = msg.parts.some((p) => !!p.functionResponse);
|
|
51
|
+
const hasUserParts = msg.parts.some((p) => !!p.text || !!p.inlineData || !!p.fileData);
|
|
52
|
+
if (hasToolResponses) {
|
|
53
|
+
this.currentEpisode = parseToolResponses(msg, this.currentEpisode, this.pendingCallParts, this.pendingCallPartsWithoutId, this.tokenCalculator, this.nodeIdentityMap);
|
|
54
|
+
}
|
|
55
|
+
if (hasUserParts) {
|
|
56
|
+
finalizeEpisode();
|
|
57
|
+
this.currentEpisode = parseUserParts(msg, this.nodeIdentityMap);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else if (msg.role === 'model') {
|
|
61
|
+
this.currentEpisode = parseModelParts(msg, this.currentEpisode, this.pendingCallParts, this.pendingCallPartsWithoutId, this.nodeIdentityMap);
|
|
44
62
|
}
|
|
45
|
-
}
|
|
46
|
-
else if (msg.role === 'model') {
|
|
47
|
-
currentEpisode = parseModelParts(msg, currentEpisode, pendingCallParts, nodeIdentityMap);
|
|
48
63
|
}
|
|
49
64
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
65
|
+
getNodes() {
|
|
66
|
+
const copy = [...this.episodes];
|
|
67
|
+
if (this.currentEpisode) {
|
|
68
|
+
const activeEp = {
|
|
69
|
+
...this.currentEpisode,
|
|
70
|
+
concreteNodes: [...(this.currentEpisode.concreteNodes || [])],
|
|
71
|
+
};
|
|
72
|
+
finalizeYield(activeEp);
|
|
73
|
+
if (isCompleteEpisode(activeEp)) {
|
|
74
|
+
copy.push(activeEp);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const nodes = [];
|
|
78
|
+
for (const ep of copy) {
|
|
79
|
+
if (ep.concreteNodes) {
|
|
80
|
+
for (const child of ep.concreteNodes) {
|
|
81
|
+
nodes.push(child);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return nodes;
|
|
53
86
|
}
|
|
54
|
-
return episodes;
|
|
55
87
|
}
|
|
56
|
-
function parseToolResponses(msg, currentEpisode, pendingCallParts, tokenCalculator, nodeIdentityMap) {
|
|
88
|
+
function parseToolResponses(msg, currentEpisode, pendingCallParts, pendingCallPartsWithoutId, tokenCalculator, nodeIdentityMap) {
|
|
57
89
|
if (!currentEpisode) {
|
|
58
90
|
currentEpisode = {
|
|
59
91
|
id: getStableId(msg, nodeIdentityMap),
|
|
@@ -64,7 +96,17 @@ function parseToolResponses(msg, currentEpisode, pendingCallParts, tokenCalculat
|
|
|
64
96
|
for (const part of parts) {
|
|
65
97
|
if (part.functionResponse) {
|
|
66
98
|
const callId = part.functionResponse.id || '';
|
|
67
|
-
|
|
99
|
+
let matchingCall = pendingCallParts.get(callId);
|
|
100
|
+
if (!matchingCall && pendingCallPartsWithoutId.length > 0) {
|
|
101
|
+
const idx = pendingCallPartsWithoutId.findIndex((p) => p.functionCall?.name === part.functionResponse.name);
|
|
102
|
+
if (idx !== -1) {
|
|
103
|
+
matchingCall = pendingCallPartsWithoutId[idx];
|
|
104
|
+
pendingCallPartsWithoutId.splice(idx, 1);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
matchingCall = pendingCallPartsWithoutId.shift();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
68
110
|
const intentTokens = matchingCall
|
|
69
111
|
? tokenCalculator.estimateTokensForParts([matchingCall])
|
|
70
112
|
: 0;
|
|
@@ -128,7 +170,7 @@ function parseUserParts(msg, nodeIdentityMap) {
|
|
|
128
170
|
concreteNodes: [trigger],
|
|
129
171
|
};
|
|
130
172
|
}
|
|
131
|
-
function parseModelParts(msg, currentEpisode, pendingCallParts, nodeIdentityMap) {
|
|
173
|
+
function parseModelParts(msg, currentEpisode, pendingCallParts, pendingCallPartsWithoutId, nodeIdentityMap) {
|
|
132
174
|
if (!currentEpisode) {
|
|
133
175
|
currentEpisode = {
|
|
134
176
|
id: getStableId(msg, nodeIdentityMap),
|
|
@@ -139,8 +181,22 @@ function parseModelParts(msg, currentEpisode, pendingCallParts, nodeIdentityMap)
|
|
|
139
181
|
for (const part of parts) {
|
|
140
182
|
if (part.functionCall) {
|
|
141
183
|
const callId = part.functionCall.id || '';
|
|
142
|
-
if (callId)
|
|
184
|
+
if (callId) {
|
|
143
185
|
pendingCallParts.set(callId, part);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
const lastIdx = pendingCallPartsWithoutId.length - 1;
|
|
189
|
+
const lastPart = pendingCallPartsWithoutId[lastIdx];
|
|
190
|
+
if (lastPart &&
|
|
191
|
+
lastPart.functionCall &&
|
|
192
|
+
lastPart.functionCall.name === part.functionCall.name) {
|
|
193
|
+
// Replace the previous chunk with the more complete one
|
|
194
|
+
pendingCallPartsWithoutId[lastIdx] = part;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
pendingCallPartsWithoutId.push(part);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
144
200
|
}
|
|
145
201
|
else if (part.text) {
|
|
146
202
|
const thought = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toGraph.js","sourceRoot":"","sources":["../../../../src/context/graph/toGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"toGraph.js","sourceRoot":"","sources":["../../../../src/context/graph/toGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export declare class HistoryObserver {
|
|
|
22
22
|
private unsubscribeHistory?;
|
|
23
23
|
private readonly seenNodeIds;
|
|
24
24
|
constructor(chatHistory: AgentChatHistory, eventBus: ContextEventBus, tracer: ContextTracer, tokenCalculator: ContextTokenCalculator, graphMapper: ContextGraphMapper);
|
|
25
|
+
private processEvent;
|
|
25
26
|
start(): void;
|
|
26
27
|
stop(): void;
|
|
27
28
|
}
|
|
@@ -23,36 +23,35 @@ export class HistoryObserver {
|
|
|
23
23
|
this.tokenCalculator = tokenCalculator;
|
|
24
24
|
this.graphMapper = graphMapper;
|
|
25
25
|
}
|
|
26
|
+
processEvent = (event) => {
|
|
27
|
+
let nodes = [];
|
|
28
|
+
if (event.type === 'CLEAR') {
|
|
29
|
+
this.seenNodeIds.clear();
|
|
30
|
+
}
|
|
31
|
+
nodes = this.graphMapper.applyEvent(event, this.tokenCalculator);
|
|
32
|
+
const newNodes = new Set();
|
|
33
|
+
for (const node of nodes) {
|
|
34
|
+
if (!this.seenNodeIds.has(node.id)) {
|
|
35
|
+
newNodes.add(node.id);
|
|
36
|
+
this.seenNodeIds.add(node.id);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
this.tracer.logEvent('HistoryObserver', `Rebuilt pristine graph from ${event.type} event`, { nodesSize: nodes.length, newNodesCount: newNodes.size });
|
|
40
|
+
this.eventBus.emitPristineHistoryUpdated({
|
|
41
|
+
nodes,
|
|
42
|
+
newNodes,
|
|
43
|
+
});
|
|
44
|
+
};
|
|
26
45
|
start() {
|
|
27
46
|
if (this.unsubscribeHistory) {
|
|
28
47
|
this.unsubscribeHistory();
|
|
29
48
|
}
|
|
30
|
-
this.unsubscribeHistory = this.chatHistory.subscribe(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
for (const ep of pristineEpisodes) {
|
|
37
|
-
if (ep.concreteNodes) {
|
|
38
|
-
for (const child of ep.concreteNodes) {
|
|
39
|
-
nodes.push(child);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
const newNodes = new Set();
|
|
44
|
-
for (const node of nodes) {
|
|
45
|
-
if (!this.seenNodeIds.has(node.id)) {
|
|
46
|
-
newNodes.add(node.id);
|
|
47
|
-
this.seenNodeIds.add(node.id);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
this.tracer.logEvent('HistoryObserver', 'Rebuilt pristine graph from chat history update', { nodesSize: nodes.length, newNodesCount: newNodes.size });
|
|
51
|
-
this.eventBus.emitPristineHistoryUpdated({
|
|
52
|
-
nodes,
|
|
53
|
-
newNodes,
|
|
54
|
-
});
|
|
55
|
-
});
|
|
49
|
+
this.unsubscribeHistory = this.chatHistory.subscribe(this.processEvent);
|
|
50
|
+
// Process any existing history immediately upon start
|
|
51
|
+
const existing = this.chatHistory.get();
|
|
52
|
+
if (existing && existing.length > 0) {
|
|
53
|
+
this.processEvent({ type: 'SYNC_FULL', payload: existing });
|
|
54
|
+
}
|
|
56
55
|
}
|
|
57
56
|
stop() {
|
|
58
57
|
if (this.unsubscribeHistory) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historyObserver.js","sourceRoot":"","sources":["../../../src/context/historyObserver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAMP;IACA;IACA;IACA;IACA;IATX,kBAAkB,CAAc;IAEvB,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjD,YACmB,WAA6B,EAC7B,QAAyB,EACzB,MAAqB,EACrB,eAAuC,EACvC,WAA+B;QAJ/B,gBAAW,GAAX,WAAW,CAAkB;QAC7B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,oBAAe,GAAf,eAAe,CAAwB;QACvC,gBAAW,GAAX,WAAW,CAAoB;IAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"historyObserver.js","sourceRoot":"","sources":["../../../src/context/historyObserver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAMP;IACA;IACA;IACA;IACA;IATX,kBAAkB,CAAc;IAEvB,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjD,YACmB,WAA6B,EAC7B,QAAyB,EACzB,MAAqB,EACrB,eAAuC,EACvC,WAA+B;QAJ/B,gBAAW,GAAX,WAAW,CAAkB;QAC7B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,oBAAe,GAAf,eAAe,CAAwB;QACvC,gBAAW,GAAX,WAAW,CAAoB;IAC/C,CAAC;IAEI,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC7C,IAAI,KAAK,GAAmB,EAAE,CAAC;QAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,iBAAiB,EACjB,+BAA+B,KAAK,CAAC,IAAI,QAAQ,EACjD,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAC1D,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACvC,KAAK;YACL,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK;QACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAExE,sDAAsD;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Config } from '../config/config.js';
|
|
7
|
+
import type { GeminiChat } from '../core/geminiChat.js';
|
|
8
|
+
import { ContextManager } from './contextManager.js';
|
|
9
|
+
export declare function initializeContextManager(config: Config, chat: GeminiChat, lastPromptId: string): Promise<ContextManager | undefined>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ContextProcessorRegistry } from './config/registry.js';
|
|
7
|
+
import { loadContextManagementConfig } from './config/configLoader.js';
|
|
8
|
+
import { ContextTracer } from './tracer.js';
|
|
9
|
+
import { ContextEventBus } from './eventBus.js';
|
|
10
|
+
import { ContextEnvironmentImpl } from './pipeline/environmentImpl.js';
|
|
11
|
+
import { PipelineOrchestrator } from './pipeline/orchestrator.js';
|
|
12
|
+
import { ContextManager } from './contextManager.js';
|
|
13
|
+
import { debugLogger } from '../utils/debugLogger.js';
|
|
14
|
+
import { NodeTruncationProcessorOptionsSchema } from './processors/nodeTruncationProcessor.js';
|
|
15
|
+
import { ToolMaskingProcessorOptionsSchema } from './processors/toolMaskingProcessor.js';
|
|
16
|
+
import { HistoryTruncationProcessorOptionsSchema } from './processors/historyTruncationProcessor.js';
|
|
17
|
+
import { BlobDegradationProcessorOptionsSchema } from './processors/blobDegradationProcessor.js';
|
|
18
|
+
import { NodeDistillationProcessorOptionsSchema } from './processors/nodeDistillationProcessor.js';
|
|
19
|
+
import { StateSnapshotProcessorOptionsSchema } from './processors/stateSnapshotProcessor.js';
|
|
20
|
+
import { StateSnapshotAsyncProcessorOptionsSchema } from './processors/stateSnapshotAsyncProcessor.js';
|
|
21
|
+
import { RollingSummaryProcessorOptionsSchema } from './processors/rollingSummaryProcessor.js';
|
|
22
|
+
export async function initializeContextManager(config, chat, lastPromptId) {
|
|
23
|
+
const isV1Enabled = config.getContextManagementConfig().enabled;
|
|
24
|
+
debugLogger.log(`[initializer] called with enabled=${isV1Enabled}, GEMINI_CONTEXT_TRACE_DIR=${process.env['GEMINI_CONTEXT_TRACE_DIR']}`);
|
|
25
|
+
if (!isV1Enabled) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const registry = new ContextProcessorRegistry();
|
|
29
|
+
registry.registerProcessor({
|
|
30
|
+
id: 'NodeTruncationProcessor',
|
|
31
|
+
schema: NodeTruncationProcessorOptionsSchema,
|
|
32
|
+
});
|
|
33
|
+
registry.registerProcessor({
|
|
34
|
+
id: 'ToolMaskingProcessor',
|
|
35
|
+
schema: ToolMaskingProcessorOptionsSchema,
|
|
36
|
+
});
|
|
37
|
+
registry.registerProcessor({
|
|
38
|
+
id: 'HistoryTruncationProcessor',
|
|
39
|
+
schema: HistoryTruncationProcessorOptionsSchema,
|
|
40
|
+
});
|
|
41
|
+
registry.registerProcessor({
|
|
42
|
+
id: 'BlobDegradationProcessor',
|
|
43
|
+
schema: BlobDegradationProcessorOptionsSchema,
|
|
44
|
+
});
|
|
45
|
+
registry.registerProcessor({
|
|
46
|
+
id: 'NodeDistillationProcessor',
|
|
47
|
+
schema: NodeDistillationProcessorOptionsSchema,
|
|
48
|
+
});
|
|
49
|
+
registry.registerProcessor({
|
|
50
|
+
id: 'StateSnapshotProcessor',
|
|
51
|
+
schema: StateSnapshotProcessorOptionsSchema,
|
|
52
|
+
});
|
|
53
|
+
registry.registerProcessor({
|
|
54
|
+
id: 'StateSnapshotAsyncProcessor',
|
|
55
|
+
schema: StateSnapshotAsyncProcessorOptionsSchema,
|
|
56
|
+
});
|
|
57
|
+
registry.registerProcessor({
|
|
58
|
+
id: 'RollingSummaryProcessor',
|
|
59
|
+
schema: RollingSummaryProcessorOptionsSchema,
|
|
60
|
+
});
|
|
61
|
+
const sidecarProfile = await loadContextManagementConfig(config.getExperimentalContextManagementConfig(), registry);
|
|
62
|
+
const storage = config.storage;
|
|
63
|
+
const logDir = storage.getProjectTempLogsDir();
|
|
64
|
+
const projectTempDir = storage.getProjectTempDir();
|
|
65
|
+
const tracer = new ContextTracer({
|
|
66
|
+
enabled: !!process.env['GEMINI_CONTEXT_TRACE_DIR'],
|
|
67
|
+
targetDir: projectTempDir,
|
|
68
|
+
sessionId: lastPromptId,
|
|
69
|
+
});
|
|
70
|
+
const eventBus = new ContextEventBus();
|
|
71
|
+
const env = new ContextEnvironmentImpl(() => config.getBaseLlmClient(), config.getSessionId(), lastPromptId, logDir, projectTempDir, tracer, 4, eventBus);
|
|
72
|
+
const orchestrator = new PipelineOrchestrator(sidecarProfile.buildPipelines(env), sidecarProfile.buildAsyncPipelines(env), env, eventBus, tracer);
|
|
73
|
+
return new ContextManager(sidecarProfile, env, tracer, orchestrator, chat.agentHistory);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=initializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer.js","sourceRoot":"","sources":["../../../src/context/initializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,12 +66,18 @@ export class ContextWorkingBufferImpl {
|
|
|
66
66
|
};
|
|
67
67
|
// Calculate new node array
|
|
68
68
|
const removedSet = new Set(removedIds);
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
// We
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
|
|
69
|
+
const newGraph = this.nodes.filter((n) => !removedSet.has(n.id));
|
|
70
|
+
const insertionIndex = this.nodes.findIndex((n) => removedSet.has(n.id));
|
|
71
|
+
// IMPORTANT: We do NOT use structuredClone here.
|
|
72
|
+
// The ContextTokenCalculator relies on a WeakMap tied to exact object references
|
|
73
|
+
// for O(1) performance. Deep cloning would cause catastrophic cache misses.
|
|
74
|
+
// The pipeline enforces immutability, making reference passing safe.
|
|
75
|
+
if (insertionIndex !== -1) {
|
|
76
|
+
newGraph.splice(insertionIndex, 0, ...addedNodes);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
newGraph.push(...addedNodes);
|
|
80
|
+
}
|
|
75
81
|
// Calculate new provenance map
|
|
76
82
|
const newProvenanceMap = new Map(this.provenanceMap);
|
|
77
83
|
let finalPristineMap = this.pristineNodesMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextWorkingBuffer.js","sourceRoot":"","sources":["../../../../src/context/pipeline/contextWorkingBuffer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contextWorkingBuffer.js","sourceRoot":"","sources":["../../../../src/context/pipeline/contextWorkingBuffer.ts"],"names":[],"mappings":"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"}
|