@google/gemini-cli-core 0.42.0-preview.1 → 0.43.0-preview.0

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 (341) hide show
  1. package/dist/docs/changelogs/index.md +14 -0
  2. package/dist/docs/changelogs/latest.md +108 -166
  3. package/dist/docs/changelogs/preview.md +227 -103
  4. package/dist/docs/cli/auto-memory.md +60 -38
  5. package/dist/docs/cli/settings.md +1 -1
  6. package/dist/docs/cli/tutorials/memory-management.md +1 -1
  7. package/dist/docs/extensions/releasing.md +58 -24
  8. package/dist/docs/reference/configuration.md +14 -1
  9. package/dist/docs/reference/keyboard-shortcuts.md +23 -0
  10. package/dist/src/agent/content-utils.js +2 -0
  11. package/dist/src/agent/content-utils.js.map +1 -1
  12. package/dist/src/agent/content-utils.test.js +5 -1
  13. package/dist/src/agent/content-utils.test.js.map +1 -1
  14. package/dist/src/agent/event-translator.js +7 -6
  15. package/dist/src/agent/event-translator.js.map +1 -1
  16. package/dist/src/agent/legacy-agent-session.js +4 -0
  17. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  18. package/dist/src/agent/legacy-agent-session.test.js +9 -1
  19. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  20. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  21. package/dist/src/agent/tool-display-utils.js +3 -2
  22. package/dist/src/agent/tool-display-utils.js.map +1 -1
  23. package/dist/src/agent/types.d.ts +33 -3
  24. package/dist/src/agents/a2aUtils.d.ts +1 -1
  25. package/dist/src/agents/a2aUtils.js +4 -3
  26. package/dist/src/agents/a2aUtils.js.map +1 -1
  27. package/dist/src/agents/agentLoader.d.ts +2 -2
  28. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  29. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  30. package/dist/src/agents/local-executor.d.ts +1 -0
  31. package/dist/src/agents/local-executor.js +46 -32
  32. package/dist/src/agents/local-executor.js.map +1 -1
  33. package/dist/src/agents/local-executor.test.js +127 -0
  34. package/dist/src/agents/local-executor.test.js.map +1 -1
  35. package/dist/src/agents/local-invocation.js +24 -20
  36. package/dist/src/agents/local-invocation.js.map +1 -1
  37. package/dist/src/agents/local-invocation.test.js +9 -9
  38. package/dist/src/agents/local-invocation.test.js.map +1 -1
  39. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  40. package/dist/src/agents/local-subagent-protocol.js +357 -0
  41. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  42. package/dist/src/agents/local-subagent-protocol.test.d.ts +6 -0
  43. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  44. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  45. package/dist/src/agents/remote-invocation.js +6 -6
  46. package/dist/src/agents/remote-invocation.js.map +1 -1
  47. package/dist/src/agents/remote-invocation.test.js +23 -12
  48. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  49. package/dist/src/agents/remote-subagent-protocol.d.ts +31 -0
  50. package/dist/src/agents/remote-subagent-protocol.js +330 -0
  51. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  52. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  53. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  54. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  55. package/dist/src/agents/skill-extraction-agent.js +1 -0
  56. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  57. package/dist/src/agents/skill-extraction-agent.test.js +1 -0
  58. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  59. package/dist/src/agents/types.d.ts +13 -2
  60. package/dist/src/agents/types.js +7 -0
  61. package/dist/src/agents/types.js.map +1 -1
  62. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  63. package/dist/src/availability/modelAvailabilityService.js +14 -7
  64. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  65. package/dist/src/availability/modelAvailabilityService.test.js +34 -0
  66. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  67. package/dist/src/availability/policyHelpers.js +24 -12
  68. package/dist/src/availability/policyHelpers.js.map +1 -1
  69. package/dist/src/availability/policyHelpers.test.js +3 -2
  70. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  71. package/dist/src/code_assist/oauth2.js +3 -0
  72. package/dist/src/code_assist/oauth2.js.map +1 -1
  73. package/dist/src/code_assist/setup.d.ts +3 -0
  74. package/dist/src/code_assist/setup.js +9 -0
  75. package/dist/src/code_assist/setup.js.map +1 -1
  76. package/dist/src/code_assist/setup.test.js +9 -1
  77. package/dist/src/code_assist/setup.test.js.map +1 -1
  78. package/dist/src/commands/memory.d.ts +5 -14
  79. package/dist/src/commands/memory.js +19 -141
  80. package/dist/src/commands/memory.js.map +1 -1
  81. package/dist/src/commands/memory.test.js +62 -0
  82. package/dist/src/commands/memory.test.js.map +1 -1
  83. package/dist/src/config/config.d.ts +6 -2
  84. package/dist/src/config/config.js +63 -8
  85. package/dist/src/config/config.js.map +1 -1
  86. package/dist/src/config/config.test.js +48 -0
  87. package/dist/src/config/config.test.js.map +1 -1
  88. package/dist/src/config/defaultModelConfigs.js +13 -0
  89. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  90. package/dist/src/config/models.js +1 -1
  91. package/dist/src/config/models.js.map +1 -1
  92. package/dist/src/config/projectRegistry.d.ts +1 -0
  93. package/dist/src/config/projectRegistry.js +13 -2
  94. package/dist/src/config/projectRegistry.js.map +1 -1
  95. package/dist/src/config/projectRegistry.test.js +43 -0
  96. package/dist/src/config/projectRegistry.test.js.map +1 -1
  97. package/dist/src/context/config/profiles.js +4 -0
  98. package/dist/src/context/config/profiles.js.map +1 -1
  99. package/dist/src/context/contextManager.barrier.test.js +4 -3
  100. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  101. package/dist/src/context/contextManager.d.ts +9 -2
  102. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  103. package/dist/src/context/contextManager.hotstart.test.js +61 -0
  104. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  105. package/dist/src/context/contextManager.js +96 -21
  106. package/dist/src/context/contextManager.js.map +1 -1
  107. package/dist/src/context/eventBus.d.ts +6 -0
  108. package/dist/src/context/eventBus.js +6 -0
  109. package/dist/src/context/eventBus.js.map +1 -1
  110. package/dist/src/context/graph/render.d.ts +3 -1
  111. package/dist/src/context/graph/render.js +33 -9
  112. package/dist/src/context/graph/render.js.map +1 -1
  113. package/dist/src/context/graph/render.test.d.ts +6 -0
  114. package/dist/src/context/graph/render.test.js +203 -0
  115. package/dist/src/context/graph/render.test.js.map +1 -0
  116. package/dist/src/context/graph/toGraph.js +3 -3
  117. package/dist/src/context/graph/toGraph.js.map +1 -1
  118. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  119. package/dist/src/context/graph/toGraph.test.js +35 -0
  120. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  121. package/dist/src/context/initializer.js +11 -2
  122. package/dist/src/context/initializer.js.map +1 -1
  123. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -7
  124. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -29
  125. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  126. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +67 -0
  127. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  128. package/dist/src/context/pipeline/environment.d.ts +4 -0
  129. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  130. package/dist/src/context/pipeline/environmentImpl.js +6 -8
  131. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  132. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  133. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  134. package/dist/src/context/pipeline/orchestrator.d.ts +1 -0
  135. package/dist/src/context/pipeline/orchestrator.js +59 -24
  136. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  137. package/dist/src/context/processors/blobDegradationProcessor.test.js +2 -2
  138. package/dist/src/context/processors/rollingSummaryProcessor.js +2 -15
  139. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  140. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  141. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +33 -21
  142. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  143. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +31 -7
  144. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  145. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  146. package/dist/src/context/processors/stateSnapshotProcessor.js +28 -4
  147. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  148. package/dist/src/context/processors/stateSnapshotProcessor.test.js +40 -1
  149. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  150. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  151. package/dist/src/context/system-tests/hysteresis.test.js +98 -0
  152. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  153. package/dist/src/context/system-tests/lifecycle.golden.test.js +90 -69
  154. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  155. package/dist/src/context/system-tests/simulationHarness.d.ts +1 -4
  156. package/dist/src/context/system-tests/simulationHarness.js +16 -30
  157. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  158. package/dist/src/context/testing/contextTestUtils.d.ts +1 -0
  159. package/dist/src/context/testing/contextTestUtils.js +48 -25
  160. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  161. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +61 -0
  162. package/dist/src/context/utils/adaptiveTokenCalculator.js +116 -0
  163. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  164. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  165. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +85 -0
  166. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  167. package/dist/src/context/utils/contextTokenCalculator.d.ts +47 -1
  168. package/dist/src/context/utils/contextTokenCalculator.js +20 -3
  169. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  170. package/dist/src/context/utils/contextTokenCalculator.test.js +8 -8
  171. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -1
  172. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  173. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  174. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  175. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  176. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  177. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  178. package/dist/src/context/utils/snapshotGenerator.d.ts +23 -1
  179. package/dist/src/context/utils/snapshotGenerator.js +249 -31
  180. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  181. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  182. package/dist/src/context/utils/snapshotGenerator.test.js +255 -0
  183. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  184. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  185. package/dist/src/context/utils/tokenCalibration.js +30 -0
  186. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  187. package/dist/src/core/baseLlmClient.d.ts +8 -0
  188. package/dist/src/core/baseLlmClient.js +14 -0
  189. package/dist/src/core/baseLlmClient.js.map +1 -1
  190. package/dist/src/core/client.js +12 -1
  191. package/dist/src/core/client.js.map +1 -1
  192. package/dist/src/core/client.test.js +4 -4
  193. package/dist/src/core/contentGenerator.js +12 -10
  194. package/dist/src/core/contentGenerator.js.map +1 -1
  195. package/dist/src/core/geminiChat.d.ts +2 -0
  196. package/dist/src/core/geminiChat.js +60 -5
  197. package/dist/src/core/geminiChat.js.map +1 -1
  198. package/dist/src/core/geminiChat.test.js +195 -2
  199. package/dist/src/core/geminiChat.test.js.map +1 -1
  200. package/dist/src/core/turn.js +30 -2
  201. package/dist/src/core/turn.js.map +1 -1
  202. package/dist/src/core/turn.test.js +13 -8
  203. package/dist/src/core/turn.test.js.map +1 -1
  204. package/dist/src/generated/git-commit.d.ts +2 -2
  205. package/dist/src/generated/git-commit.js +2 -2
  206. package/dist/src/hooks/hookEventHandler.js +3 -2
  207. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  208. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  209. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  210. package/dist/src/index.d.ts +2 -1
  211. package/dist/src/index.js +2 -2
  212. package/dist/src/index.js.map +1 -1
  213. package/dist/src/prompts/snippets.js +1 -1
  214. package/dist/src/prompts/snippets.js.map +1 -1
  215. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  216. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  217. package/dist/src/routing/strategies/approvalModeStrategy.test.js +2 -0
  218. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  219. package/dist/src/routing/strategies/classifierStrategy.js +8 -1
  220. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  221. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -0
  222. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  223. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  224. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  225. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +4 -0
  226. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  227. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  228. package/dist/src/routing/strategies/numericalClassifierStrategy.js +22 -3
  229. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  230. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +168 -23
  231. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  232. package/dist/src/scheduler/scheduler.js +11 -0
  233. package/dist/src/scheduler/scheduler.js.map +1 -1
  234. package/dist/src/scheduler/scheduler.test.js +1 -1
  235. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  236. package/dist/src/scheduler/state-manager.js +5 -1
  237. package/dist/src/scheduler/state-manager.js.map +1 -1
  238. package/dist/src/scheduler/tool-executor.js +7 -4
  239. package/dist/src/scheduler/tool-executor.js.map +1 -1
  240. package/dist/src/scheduler/types.d.ts +5 -1
  241. package/dist/src/scheduler/types.js.map +1 -1
  242. package/dist/src/services/fileDiscoveryService.js +2 -1
  243. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  244. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  245. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  246. package/dist/src/services/gitService.js +8 -1
  247. package/dist/src/services/gitService.js.map +1 -1
  248. package/dist/src/services/gitService.test.js +104 -0
  249. package/dist/src/services/gitService.test.js.map +1 -1
  250. package/dist/src/services/keychainService.js +14 -5
  251. package/dist/src/services/keychainService.js.map +1 -1
  252. package/dist/src/services/memoryPatchUtils.d.ts +66 -4
  253. package/dist/src/services/memoryPatchUtils.js +267 -5
  254. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  255. package/dist/src/services/memoryService.js +25 -1
  256. package/dist/src/services/memoryService.js.map +1 -1
  257. package/dist/src/services/memoryService.test.js +61 -1
  258. package/dist/src/services/memoryService.test.js.map +1 -1
  259. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +11 -0
  260. package/dist/src/services/test-data/resolved-aliases.golden.json +11 -0
  261. package/dist/src/telemetry/gcp-exporters.d.ts +2 -0
  262. package/dist/src/telemetry/gcp-exporters.js +69 -5
  263. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  264. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  265. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  266. package/dist/src/telemetry/metrics.js +13 -2
  267. package/dist/src/telemetry/metrics.js.map +1 -1
  268. package/dist/src/telemetry/metrics.test.js +61 -1
  269. package/dist/src/telemetry/metrics.test.js.map +1 -1
  270. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +5 -2
  271. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  272. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +7 -4
  273. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  274. package/dist/src/tools/edit.js +19 -0
  275. package/dist/src/tools/edit.js.map +1 -1
  276. package/dist/src/tools/edit.test.js +9 -0
  277. package/dist/src/tools/edit.test.js.map +1 -1
  278. package/dist/src/tools/grep.js +13 -1
  279. package/dist/src/tools/grep.js.map +1 -1
  280. package/dist/src/tools/ls.js +5 -0
  281. package/dist/src/tools/ls.js.map +1 -1
  282. package/dist/src/tools/mcp-client.js +17 -3
  283. package/dist/src/tools/mcp-client.js.map +1 -1
  284. package/dist/src/tools/mcp-client.test.js +24 -0
  285. package/dist/src/tools/mcp-client.test.js.map +1 -1
  286. package/dist/src/tools/read-file.js +11 -6
  287. package/dist/src/tools/read-file.js.map +1 -1
  288. package/dist/src/tools/read-file.test.js +20 -8
  289. package/dist/src/tools/read-file.test.js.map +1 -1
  290. package/dist/src/tools/ripGrep.js +13 -1
  291. package/dist/src/tools/ripGrep.js.map +1 -1
  292. package/dist/src/tools/shell.js +14 -0
  293. package/dist/src/tools/shell.js.map +1 -1
  294. package/dist/src/tools/shell.test.js +5 -0
  295. package/dist/src/tools/shell.test.js.map +1 -1
  296. package/dist/src/tools/tools.d.ts +6 -0
  297. package/dist/src/tools/tools.js.map +1 -1
  298. package/dist/src/tools/topicTool.js +5 -0
  299. package/dist/src/tools/topicTool.js.map +1 -1
  300. package/dist/src/tools/write-file.js +13 -0
  301. package/dist/src/tools/write-file.js.map +1 -1
  302. package/dist/src/tools/write-file.test.js +8 -0
  303. package/dist/src/tools/write-file.test.js.map +1 -1
  304. package/dist/src/utils/errors.js +3 -8
  305. package/dist/src/utils/errors.js.map +1 -1
  306. package/dist/src/utils/filesearch/ignore.js +4 -1
  307. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  308. package/dist/src/utils/ignoreFileParser.js +1 -1
  309. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  310. package/dist/src/utils/ignorePatterns.js +2 -0
  311. package/dist/src/utils/ignorePatterns.js.map +1 -1
  312. package/dist/src/utils/ignorePatterns.test.js +1 -0
  313. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  314. package/dist/src/utils/memoryDiscovery.js +55 -40
  315. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  316. package/dist/src/utils/memoryDiscovery.test.js +77 -9
  317. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  318. package/dist/src/utils/modelUtils.d.ts +14 -0
  319. package/dist/src/utils/modelUtils.js +17 -0
  320. package/dist/src/utils/modelUtils.js.map +1 -0
  321. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  322. package/dist/src/utils/modelUtils.test.js +23 -0
  323. package/dist/src/utils/modelUtils.test.js.map +1 -0
  324. package/dist/src/utils/paths.d.ts +15 -1
  325. package/dist/src/utils/paths.js +22 -7
  326. package/dist/src/utils/paths.js.map +1 -1
  327. package/dist/src/utils/paths.test.js +25 -1
  328. package/dist/src/utils/paths.test.js.map +1 -1
  329. package/dist/src/utils/quotaErrorDetection.js +23 -12
  330. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  331. package/dist/src/utils/shell-utils.js +9 -1
  332. package/dist/src/utils/shell-utils.js.map +1 -1
  333. package/dist/src/utils/shell-utils.test.js +7 -3
  334. package/dist/src/utils/shell-utils.test.js.map +1 -1
  335. package/dist/src/utils/tokenCalculation.js +2 -1
  336. package/dist/src/utils/tokenCalculation.js.map +1 -1
  337. package/dist/src/utils/tokenCalculation.test.js +15 -0
  338. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +1 -1
  341. package/dist/google-gemini-cli-core-0.42.0-preview.0.tgz +0 -0
@@ -108,12 +108,12 @@ export class ContextGraphBuilder {
108
108
  const msg = history[turnIdx];
109
109
  if (!msg.parts)
110
110
  continue;
111
- // Defensive: Skip legacy environment header if it's the first turn.
111
+ // Defensive: Skip legacy environment header regardless of where it appears.
112
112
  // We now manage this as an orthogonal late-addition header.
113
- if (turnIdx === 0 && msg.role === 'user' && msg.parts.length === 1) {
113
+ if (msg.role === 'user' && msg.parts.length === 1) {
114
114
  const text = msg.parts[0].text;
115
115
  if (text?.startsWith('<session_context>') &&
116
- text?.includes('This is the Gemini CLI.')) {
116
+ text?.includes('This is the Gemini CLI')) {
117
117
  debugLogger.log('[ContextGraphBuilder] Skipping legacy environment header turn from graph.');
118
118
  continue;
119
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toGraph.js","sourceRoot":"","sources":["../../../../src/context/graph/toGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD,mDAAmD;AACnD,6EAA6E;AAC7E,kEAAkE;AAClE,MAAM,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEtD,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAU;IAEV,OAAO,CACL,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QACnC,IAAI,CAAC,UAAU,KAAK,IAAI;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAU;IAEV,OAAO,CACL,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QACjC,IAAI,CAAC,QAAQ,KAAK,IAAI;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAU;IAEV,OAAO,CACL,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;QACrC,IAAI,CAAC,YAAY,KAAK,IAAI;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAU;IAEV,OAAO,CACL,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;QACzC,IAAI,CAAC,gBAAgB,KAAK,IAAI;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,eAAwC,EACxC,WAAmB,EAAE,EACrB,UAAkB,CAAC;IAEnB,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAElB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,EAAE,GAAG,GAAG,UAAU,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC5C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,GAAsB,CAAC;IACpC,IAAI,WAA+B,CAAC;IAEpC,6DAA6D;IAC7D,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrB,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,EAAE,GAAG,QAAQ,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;IACpD,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,EAAE,GAAG,SAAS,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;IACrD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,EAAE,GAAG,QAAQ,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;IACpD,CAAC;SAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC/B,MAAM,CACL,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAC3E;aACA,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,EAAE,GAAG,UAAU,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;IACtD,CAAC;SAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC/B,MAAM,CACL,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CACvF;aACA,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,EAAE,GAAG,UAAU,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAEX;IADnB,YACmB,kBAA2C,IAAI,OAAO,EAAE;QAAxD,oBAAe,GAAf,eAAe,CAAyC;IACxE,CAAC;IAEJ,cAAc,CAAC,OAA2B;QACxC,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,SAAS;YAEzB,oEAAoE;YACpE,4DAA4D;YAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/B,IACE,IAAI,EAAE,UAAU,CAAC,mBAAmB,CAAC;oBACrC,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EACzC,CAAC;oBACD,WAAW,CAAC,GAAG,CACb,2EAA2E,CAC5E,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;iBACxB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;iBACpC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAEpE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM,KAAK,GACT,sBAAsB,CAAC,IAAI,CAAC;wBAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,QAAQ;wBAC1C,CAAC,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,QAAQ,IAAI,OAAO,EAAE;wBAC3D,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;4BACtB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,QAAQ;4BAC1C,CAAC,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,QAAQ,IAAI,OAAO,EAAE;4BACvD,CAAC,CAAC,SAAS,CAAC;oBAClB,MAAM,EAAE,GACN,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtE,MAAM,IAAI,GAAiB;wBACzB,EAAE;wBACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;4BAChC,CAAC,CAAC,QAAQ,CAAC,cAAc;4BACzB,CAAC,CAAC,QAAQ,CAAC,WAAW;wBACxB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI;wBACb,MAAM;qBACP,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM,KAAK,GACT,kBAAkB,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,QAAQ;wBAClE,CAAC,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,QAAQ,IAAI,OAAO,EAAE;wBACvD,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,EAAE,GACN,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtE,MAAM,IAAI,GAAiB;wBACzB,EAAE;wBACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;4BAC5B,CAAC,CAAC,QAAQ,CAAC,cAAc;4BACzB,CAAC,CAAC,QAAQ,CAAC,aAAa;wBAC1B,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,IAAI;wBACb,MAAM;qBACP,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW,CAAC,GAAG,CACb,iDAAiD,KAAK,CAAC,MAAM,SAAS,CACvE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"toGraph.js","sourceRoot":"","sources":["../../../../src/context/graph/toGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { ContextGraphBuilder } from './toGraph.js';
8
+ describe('ContextGraphBuilder', () => {
9
+ describe('toGraph', () => {
10
+ it('should skip legacy <session_context> headers even if they appear later in the history', () => {
11
+ const history = [
12
+ { role: 'user', parts: [{ text: 'Message 1' }] },
13
+ { role: 'model', parts: [{ text: 'Reply 1' }] },
14
+ {
15
+ role: 'user',
16
+ parts: [
17
+ {
18
+ text: '<session_context>\nThis is the Gemini CLI\nSome context...',
19
+ },
20
+ ],
21
+ },
22
+ { role: 'user', parts: [{ text: 'Message 2' }] },
23
+ ];
24
+ const builder = new ContextGraphBuilder();
25
+ const nodes = builder.processHistory(history);
26
+ // We expect the first two messages and the last one to be present
27
+ // The session context message should be filtered out
28
+ expect(nodes.length).toBe(3);
29
+ expect(nodes[0].payload.text).toBe('Message 1');
30
+ expect(nodes[1].payload.text).toBe('Reply 1');
31
+ expect(nodes[2].payload.text).toBe('Message 2');
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=toGraph.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toGraph.test.js","sourceRoot":"","sources":["../../../../src/context/graph/toGraph.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;YAC/F,MAAM,OAAO,GAAc;gBACzB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE;gBAChD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC/C;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,4DAA4D;yBACnE;qBACF;iBACF;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE;aACjD,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAE9C,kEAAkE;YAClE,qDAAqD;YACrD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAE,KAAK,CAAC,CAAC,CAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,MAAM,CAAE,KAAK,CAAC,CAAC,CAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,CAAE,KAAK,CAAC,CAAC,CAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -20,6 +20,9 @@ import { StateSnapshotProcessorOptionsSchema } from './processors/stateSnapshotP
20
20
  import { StateSnapshotAsyncProcessorOptionsSchema } from './processors/stateSnapshotAsyncProcessor.js';
21
21
  import { RollingSummaryProcessorOptionsSchema } from './processors/rollingSummaryProcessor.js';
22
22
  import { getEnvironmentContext } from '../utils/environmentContext.js';
23
+ import { AdaptiveTokenCalculator } from './utils/adaptiveTokenCalculator.js';
24
+ import { NodeBehaviorRegistry } from './graph/behaviorRegistry.js';
25
+ import { registerBuiltInBehaviors } from './graph/builtinBehaviors.js';
23
26
  export async function initializeContextManager(config, chat, lastPromptId) {
24
27
  const isV1Enabled = config.getContextManagementConfig().enabled;
25
28
  if (!isV1Enabled) {
@@ -68,9 +71,15 @@ export async function initializeContextManager(config, chat, lastPromptId) {
68
71
  sessionId: lastPromptId,
69
72
  });
70
73
  const eventBus = new ContextEventBus();
71
- const env = new ContextEnvironmentImpl(() => config.getBaseLlmClient(), config.getSessionId(), lastPromptId, logDir, projectTempDir, tracer, 4, eventBus);
74
+ const charsPerToken = 3;
75
+ const behaviorRegistry = new NodeBehaviorRegistry();
76
+ registerBuiltInBehaviors(behaviorRegistry);
77
+ const calculator = new AdaptiveTokenCalculator(charsPerToken, behaviorRegistry, eventBus);
78
+ const env = new ContextEnvironmentImpl(() => config.getBaseLlmClient(), config.getSessionId(), lastPromptId, logDir, projectTempDir, tracer, charsPerToken, eventBus, calculator, behaviorRegistry, {
79
+ calibrateTokenCalculation: !!process.env['GEMINI_CONTEXT_CALIBRATE_TOKEN_CALCULATIONS'],
80
+ });
72
81
  const orchestrator = new PipelineOrchestrator(sidecarProfile.buildPipelines(env), sidecarProfile.buildAsyncPipelines(env), env, eventBus, tracer);
73
- return new ContextManager(sidecarProfile, env, tracer, orchestrator, chat.agentHistory, async () => {
82
+ return new ContextManager(sidecarProfile, env, tracer, orchestrator, chat.agentHistory, calculator, async () => {
74
83
  const parts = await getEnvironmentContext(config);
75
84
  return { role: 'user', parts };
76
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"initializer.js","sourceRoot":"","sources":["../../../src/context/initializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initializer.js","sourceRoot":"","sources":["../../../src/context/initializer.ts"],"names":[],"mappings":"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"}
@@ -16,17 +16,15 @@ export declare class ContextWorkingBufferImpl implements ContextWorkingBuffer {
16
16
  * Every node's provenance points to itself.
17
17
  */
18
18
  static initialize(pristineNodes: readonly ConcreteNode[]): ContextWorkingBufferImpl;
19
- /**
20
- * Appends newly observed pristine nodes (e.g. from a user message) to the working buffer.
21
- * Ensures they are tracked in the pristine map and point to themselves in provenance.
22
- */
23
- appendPristineNodes(newNodes: readonly ConcreteNode[]): ContextWorkingBufferImpl;
24
19
  /**
25
20
  * Generates an entirely new buffer instance by calculating the delta between the processor's input and output.
26
21
  */
27
22
  applyProcessorResult(processorId: string, inputTargets: readonly ConcreteNode[], outputNodes: readonly ConcreteNode[]): ContextWorkingBufferImpl;
28
- /** Removes nodes from the working buffer that were completely dropped from the upstream pristine history */
29
- prunePristineNodes(retainedIds: ReadonlySet<string>): ContextWorkingBufferImpl;
23
+ /**
24
+ * Rebuilds the working buffer in the exact chronological order of the authoritative pristine history,
25
+ * while preserving injected/summarized nodes at their relative positions.
26
+ */
27
+ syncPristineHistory(authoritativePristineNodes: readonly ConcreteNode[]): ContextWorkingBufferImpl;
30
28
  getPristineNodes(id: string): readonly ConcreteNode[];
31
29
  getAuditLog(): readonly GraphMutation[];
32
30
  }
@@ -31,30 +31,6 @@ export class ContextWorkingBufferImpl {
31
31
  }
32
32
  return new ContextWorkingBufferImpl(pristineNodes, pristineMap, initialProvenance, []);
33
33
  }
34
- /**
35
- * Appends newly observed pristine nodes (e.g. from a user message) to the working buffer.
36
- * Ensures they are tracked in the pristine map and point to themselves in provenance.
37
- */
38
- appendPristineNodes(newNodes) {
39
- if (newNodes.length === 0)
40
- return this;
41
- const newPristineMap = new Map(this.pristineNodesMap);
42
- const newProvenanceMap = new Map(this.provenanceMap);
43
- const existingIds = new Set(this.nodes.map((n) => n.id));
44
- const nodesToAdd = [];
45
- const batchIds = new Set();
46
- for (const node of newNodes) {
47
- if (!existingIds.has(node.id) && !batchIds.has(node.id)) {
48
- newPristineMap.set(node.id, node);
49
- newProvenanceMap.set(node.id, new Set([node.id]));
50
- nodesToAdd.push(node);
51
- batchIds.add(node.id);
52
- }
53
- }
54
- if (nodesToAdd.length === 0)
55
- return this;
56
- return new ContextWorkingBufferImpl([...this.nodes, ...nodesToAdd], newPristineMap, newProvenanceMap, [...this.history]);
57
- }
58
34
  /**
59
35
  * Generates an entirely new buffer instance by calculating the delta between the processor's input and output.
60
36
  */
@@ -154,10 +130,110 @@ export class ContextWorkingBufferImpl {
154
130
  finalPristineMap = prunedPristineMap;
155
131
  return new ContextWorkingBufferImpl(newGraph, finalPristineMap, newProvenanceMap, [...this.history, mutation]);
156
132
  }
157
- /** Removes nodes from the working buffer that were completely dropped from the upstream pristine history */
158
- prunePristineNodes(retainedIds) {
159
- const newGraph = this.nodes.filter((n) => retainedIds.has(n.id) || !this.pristineNodesMap.has(n.id));
133
+ /**
134
+ * Rebuilds the working buffer in the exact chronological order of the authoritative pristine history,
135
+ * while preserving injected/summarized nodes at their relative positions.
136
+ */
137
+ syncPristineHistory(authoritativePristineNodes) {
138
+ const newPristineMap = new Map(this.pristineNodesMap);
160
139
  const newProvenanceMap = new Map(this.provenanceMap);
140
+ const authoritativeIds = new Set(authoritativePristineNodes.map((n) => n.id));
141
+ // 1. Register any newly discovered pristine nodes
142
+ for (const node of authoritativePristineNodes) {
143
+ if (!newPristineMap.has(node.id)) {
144
+ newPristineMap.set(node.id, node);
145
+ newProvenanceMap.set(node.id, new Set([node.id]));
146
+ }
147
+ }
148
+ // 2. Identify surviving current nodes
149
+ // A node survives if it's not a pristine node (e.g. summary)
150
+ // OR if it IS a pristine node and it's in the authoritative list
151
+ // OR if it's an injected node (it has no provenance roots).
152
+ const survivingCurrentNodes = this.nodes
153
+ .filter((n) => {
154
+ if (authoritativeIds.has(n.id))
155
+ return true;
156
+ if (!this.pristineNodesMap.has(n.id))
157
+ return true;
158
+ // If it's in pristineNodesMap but NOT in authoritativeIds,
159
+ // it only survives if it has no roots (e.g. it was system-injected).
160
+ const roots = newProvenanceMap.get(n.id);
161
+ return !roots || roots.size === 0;
162
+ })
163
+ .filter((n) => {
164
+ // Additional check for non-pristine nodes: they only survive if ALL their pristine roots survive.
165
+ // E.g., if a mutated node 'm2' roots back to 'p2', and 'p2' is dropped from authoritativeIds, 'm2' must also drop.
166
+ if (!authoritativeIds.has(n.id) && !this.pristineNodesMap.has(n.id)) {
167
+ const roots = newProvenanceMap.get(n.id);
168
+ if (roots && roots.size > 0) {
169
+ for (const root of roots) {
170
+ if (!authoritativeIds.has(root)) {
171
+ return false; // At least one root was dropped
172
+ }
173
+ }
174
+ }
175
+ }
176
+ return true;
177
+ });
178
+ // Build a set of all pristine roots that are explicitly "covered" by the surviving nodes
179
+ // (so we don't accidentally re-add the original pristine node if it's already been mutated/summarized).
180
+ const coveredPristineIds = new Set();
181
+ for (const node of survivingCurrentNodes) {
182
+ if (!authoritativeIds.has(node.id)) {
183
+ // This is a mutated/summarized node
184
+ const roots = newProvenanceMap.get(node.id);
185
+ if (roots) {
186
+ for (const root of roots) {
187
+ coveredPristineIds.add(root);
188
+ }
189
+ }
190
+ }
191
+ }
192
+ // 3. Weave the authoritative nodes with the surviving current nodes.
193
+ const pristineIndexMap = new Map(authoritativePristineNodes.map((n, idx) => [n.id, idx]));
194
+ const getPristineIndex = (nodeId) => {
195
+ const roots = newProvenanceMap.get(nodeId);
196
+ if (!roots || roots.size === 0)
197
+ return -1;
198
+ // For summaries, position them based on their LATEST pristine root
199
+ let maxIndex = -1;
200
+ for (const root of roots) {
201
+ const idx = pristineIndexMap.get(root);
202
+ if (idx !== undefined && idx > maxIndex) {
203
+ maxIndex = idx;
204
+ }
205
+ }
206
+ return maxIndex;
207
+ };
208
+ const nodeOrder = new Array();
209
+ // Add authoritative nodes (if they aren't covered by a mutated version)
210
+ for (let i = 0; i < authoritativePristineNodes.length; i++) {
211
+ const node = authoritativePristineNodes[i];
212
+ if (!coveredPristineIds.has(node.id)) {
213
+ nodeOrder.push({ node, sortKey: i, originalIndex: -1 }); // Pristine nodes have absolute position
214
+ }
215
+ }
216
+ // Add surviving non-pristine nodes and injected nodes
217
+ for (let i = 0; i < survivingCurrentNodes.length; i++) {
218
+ const node = survivingCurrentNodes[i];
219
+ if (!authoritativeIds.has(node.id)) {
220
+ const baseSortKey = getPristineIndex(node.id);
221
+ nodeOrder.push({
222
+ node,
223
+ sortKey: baseSortKey === -1 ? -1 : baseSortKey + 0.5, // Interleave after pristine roots, or at start if injected
224
+ originalIndex: i,
225
+ });
226
+ }
227
+ }
228
+ // Sort
229
+ nodeOrder.sort((a, b) => {
230
+ if (a.sortKey !== b.sortKey)
231
+ return a.sortKey - b.sortKey;
232
+ // Tiebreak: preserve original order among nodes sharing the same pristine anchor
233
+ return a.originalIndex - b.originalIndex;
234
+ });
235
+ const newGraph = nodeOrder.map((item) => item.node);
236
+ // 4. GC caches
161
237
  const reachablePristineIds = new Set();
162
238
  const reachableCurrentIds = new Set();
163
239
  for (const node of newGraph) {
@@ -165,7 +241,7 @@ export class ContextWorkingBufferImpl {
165
241
  const roots = newProvenanceMap.get(node.id);
166
242
  if (roots) {
167
243
  for (const root of roots) {
168
- if (retainedIds.has(root) || !this.pristineNodesMap.has(root)) {
244
+ if (authoritativeIds.has(root) || !this.pristineNodesMap.has(root)) {
169
245
  reachablePristineIds.add(root);
170
246
  }
171
247
  }
@@ -178,7 +254,7 @@ export class ContextWorkingBufferImpl {
178
254
  }
179
255
  const prunedPristineMap = new Map();
180
256
  for (const id of reachablePristineIds) {
181
- const node = this.pristineNodesMap.get(id);
257
+ const node = newPristineMap.get(id);
182
258
  if (node)
183
259
  prunedPristineMap.set(id, node);
184
260
  }
@@ -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":"AAAA;;;;GAIG;AAKH,MAAM,OAAO,wBAAwB;IACnC,2BAA2B;IAClB,KAAK,CAA0B;IAExC,uEAAuE;IACtD,aAAa,CAA2C;IAEzE,gDAAgD;IAC/B,gBAAgB,CAAoC;IAErE,wCAAwC;IACvB,OAAO,CAA2B;IAEnD,YACE,KAA8B,EAC9B,gBAAmD,EACnD,aAAuD,EACvD,OAAiC;QAEjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CACf,aAAsC;QAEtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAEjE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,wBAAwB,CACjC,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,EAAE,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,WAAmB,EACnB,YAAqC,EACrC,WAAoC;QAEpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,kBAAkB;QAClB,MAAM,UAAU,GAAG,YAAY;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,yBAAyB;QACzB,MAAM,QAAQ,GAAkB;YAC9B,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU;YACV,UAAU;SACX,CAAC;QAEF,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzE,iDAAiD;QACjD,iFAAiF;QACjF,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE7C,2DAA2D;QAC3D,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;YAEhC,qCAAqC;YACrC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAI,cAAc,EAAE,CAAC;oBACnB,KAAK,MAAM,MAAM,IAAI,cAAc;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1D,IAAI,cAAc,EAAE,CAAC;wBACnB,KAAK,MAAM,MAAM,IAAI,cAAc;4BAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,wCAAwC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpB,sCAAsC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAuB,gBAAgB,CAAC,CAAC;oBACnE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAChC,gBAAgB,GAAG,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,gBAAgB;QAChB,0EAA0E;QAC1E,gCAAgC;QAChC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC1D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI;gBAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,gBAAgB,GAAG,iBAAiB,CAAC;QAErC,OAAO,IAAI,wBAAwB,CACjC,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,0BAAmD;QAEnD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAuB,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAErD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5C,CAAC;QAEF,kDAAkD;QAClD,KAAK,MAAM,IAAI,IAAI,0BAA0B,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,6DAA6D;QAC7D,iEAAiE;QACjE,4DAA4D;QAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAElD,2DAA2D;YAC3D,qEAAqE;YACrE,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,kGAAkG;YAClG,mHAAmH;YACnH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC,CAAC,gCAAgC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,yFAAyF;QACzF,wGAAwG;QACxG,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,oCAAoC;gBACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CACxD,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;YAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC1C,mEAAmE;YACnE,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;oBACxC,QAAQ,GAAG,GAAG,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,KAAK,EAIvB,CAAC;QAEL,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC;YACnG,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI;oBACJ,OAAO,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,EAAE,2DAA2D;oBACjH,aAAa,EAAE,CAAC;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;QACP,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC1D,iFAAiF;YACjF,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpD,eAAe;QACf,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnE,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC1D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAI;gBAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,wBAAwB,CACjC,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,EAAU;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAChC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CACzC,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -86,5 +86,72 @@ describe('ContextWorkingBufferImpl', () => {
86
86
  // It should root to itself
87
87
  expect(buffer.getPristineNodes('injected1')).toEqual([injected]);
88
88
  });
89
+ describe('syncPristineHistory', () => {
90
+ it('should append newly discovered pristine nodes to the end of the buffer', () => {
91
+ const p1 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p1');
92
+ let buffer = ContextWorkingBufferImpl.initialize([p1]);
93
+ const p2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 10, undefined, 'p2');
94
+ const p3 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p3');
95
+ buffer = buffer.syncPristineHistory([p1, p2, p3]);
96
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['p1', 'p2', 'p3']);
97
+ expect(buffer.getPristineNodes('p3')).toEqual([p3]);
98
+ });
99
+ it('should drop working nodes if their pristine root is dropped from authoritative history', () => {
100
+ const p1 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p1');
101
+ const p2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 10, undefined, 'p2');
102
+ let buffer = ContextWorkingBufferImpl.initialize([p1, p2]);
103
+ // Mutate p2 into m2
104
+ const m2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 5, undefined, 'm2');
105
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
+ m2.replacesId = 'p2';
107
+ buffer = buffer.applyProcessorResult('Masking', [p2], [m2]);
108
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['p1', 'm2']);
109
+ // Upstream graph drops p2 entirely
110
+ buffer = buffer.syncPristineHistory([p1]);
111
+ // m2 should be gone because its root p2 is gone
112
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['p1']);
113
+ });
114
+ it('should correctly weave summarized and mutated nodes into their chronological spots when new nodes arrive', () => {
115
+ // Step 1: Initial state
116
+ const p1 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p1');
117
+ const p2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 10, undefined, 'p2');
118
+ const p3 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p3');
119
+ let buffer = ContextWorkingBufferImpl.initialize([p1, p2, p3]);
120
+ // Step 2: Mutate p2 into m2
121
+ const m2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 5, undefined, 'm2');
122
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
123
+ m2.replacesId = 'p2';
124
+ buffer = buffer.applyProcessorResult('Masking', [p2], [m2]);
125
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['p1', 'm2', 'p3']);
126
+ // Step 3: Upstream adds new nodes (p4, p5)
127
+ const p4 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 10, undefined, 'p4');
128
+ const p5 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p5');
129
+ buffer = buffer.syncPristineHistory([p1, p2, p3, p4, p5]);
130
+ // The working buffer should re-order to match the authoritative pristine history (p1, p2, p3, p4, p5)
131
+ // but retain the mutated state (m2 instead of p2).
132
+ // So expected order: p1, m2, p3, p4, p5
133
+ expect(buffer.nodes.map((n) => n.id)).toEqual([
134
+ 'p1',
135
+ 'm2',
136
+ 'p3',
137
+ 'p4',
138
+ 'p5',
139
+ ]);
140
+ });
141
+ it('should drop a non-pristine node if ANY of its multiple pristine roots are dropped from authoritative history', () => {
142
+ const p1 = createDummyNode('ep1', NodeType.USER_PROMPT, 10, undefined, 'p1');
143
+ const p2 = createDummyNode('ep1', NodeType.AGENT_THOUGHT, 10, undefined, 'p2');
144
+ let buffer = ContextWorkingBufferImpl.initialize([p1, p2]);
145
+ const s1 = createDummyNode('ep1', NodeType.ROLLING_SUMMARY, 5, undefined, 's1');
146
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
147
+ s1.abstractsIds = ['p1', 'p2'];
148
+ buffer = buffer.applyProcessorResult('Summarizer', [p1, p2], [s1]);
149
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['s1']);
150
+ // Upstream graph drops p1 but keeps p2
151
+ buffer = buffer.syncPristineHistory([p2]);
152
+ // s1 should be gone because one of its roots (p1) is gone
153
+ expect(buffer.nodes.map((n) => n.id)).toEqual(['p2']);
154
+ });
155
+ });
89
156
  });
90
157
  //# sourceMappingURL=contextWorkingBuffer.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextWorkingBuffer.test.js","sourceRoot":"","sources":["../../../../src/context/pipeline/contextWorkingBuffer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextWorkingBuffer.test.js","sourceRoot":"","sources":["../../../../src/context/pipeline/contextWorkingBuffer.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ import type { LiveInbox } from './inbox.js';
11
11
  import type { NodeBehaviorRegistry } from '../graph/behaviorRegistry.js';
12
12
  import type { ContextGraphMapper } from '../graph/mapper.js';
13
13
  export type { ContextTracer, ContextEventBus };
14
+ export interface RenderOptions {
15
+ calibrateTokenCalculation?: boolean;
16
+ }
14
17
  export interface ContextEnvironment {
15
18
  readonly llmClient: BaseLlmClient;
16
19
  readonly promptId: string;
@@ -24,4 +27,5 @@ export interface ContextEnvironment {
24
27
  readonly inbox: LiveInbox;
25
28
  readonly behaviorRegistry: NodeBehaviorRegistry;
26
29
  readonly graphMapper: ContextGraphMapper;
30
+ readonly renderOptions?: RenderOptions;
27
31
  }
@@ -5,11 +5,11 @@
5
5
  */
6
6
  import type { BaseLlmClient } from '../../core/baseLlmClient.js';
7
7
  import type { ContextTracer } from '../tracer.js';
8
- import type { ContextEnvironment } from './environment.js';
8
+ import type { ContextEnvironment, RenderOptions } from './environment.js';
9
9
  import type { ContextEventBus } from '../eventBus.js';
10
- import { ContextTokenCalculator } from '../utils/contextTokenCalculator.js';
10
+ import type { ContextTokenCalculator } from '../utils/contextTokenCalculator.js';
11
11
  import { LiveInbox } from './inbox.js';
12
- import { NodeBehaviorRegistry } from '../graph/behaviorRegistry.js';
12
+ import type { NodeBehaviorRegistry } from '../graph/behaviorRegistry.js';
13
13
  import { ContextGraphMapper } from '../graph/mapper.js';
14
14
  export declare class ContextEnvironmentImpl implements ContextEnvironment {
15
15
  private readonly llmClientProvider;
@@ -21,9 +21,10 @@ export declare class ContextEnvironmentImpl implements ContextEnvironment {
21
21
  readonly charsPerToken: number;
22
22
  readonly eventBus: ContextEventBus;
23
23
  readonly tokenCalculator: ContextTokenCalculator;
24
- readonly inbox: LiveInbox;
25
24
  readonly behaviorRegistry: NodeBehaviorRegistry;
25
+ readonly renderOptions?: RenderOptions | undefined;
26
+ readonly inbox: LiveInbox;
26
27
  readonly graphMapper: ContextGraphMapper;
27
- constructor(llmClientProvider: () => BaseLlmClient, sessionId: string, promptId: string, traceDir: string, projectTempDir: string, tracer: ContextTracer, charsPerToken: number, eventBus: ContextEventBus);
28
+ constructor(llmClientProvider: () => BaseLlmClient, sessionId: string, promptId: string, traceDir: string, projectTempDir: string, tracer: ContextTracer, charsPerToken: number, eventBus: ContextEventBus, tokenCalculator: ContextTokenCalculator, behaviorRegistry: NodeBehaviorRegistry, renderOptions?: RenderOptions | undefined);
28
29
  get llmClient(): BaseLlmClient;
29
30
  }
@@ -3,10 +3,7 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ContextTokenCalculator } from '../utils/contextTokenCalculator.js';
7
6
  import { LiveInbox } from './inbox.js';
8
- import { NodeBehaviorRegistry } from '../graph/behaviorRegistry.js';
9
- import { registerBuiltInBehaviors } from '../graph/builtinBehaviors.js';
10
7
  import { ContextGraphMapper } from '../graph/mapper.js';
11
8
  export class ContextEnvironmentImpl {
12
9
  llmClientProvider;
@@ -18,10 +15,11 @@ export class ContextEnvironmentImpl {
18
15
  charsPerToken;
19
16
  eventBus;
20
17
  tokenCalculator;
21
- inbox;
22
18
  behaviorRegistry;
19
+ renderOptions;
20
+ inbox;
23
21
  graphMapper;
24
- constructor(llmClientProvider, sessionId, promptId, traceDir, projectTempDir, tracer, charsPerToken, eventBus) {
22
+ constructor(llmClientProvider, sessionId, promptId, traceDir, projectTempDir, tracer, charsPerToken, eventBus, tokenCalculator, behaviorRegistry, renderOptions) {
25
23
  this.llmClientProvider = llmClientProvider;
26
24
  this.sessionId = sessionId;
27
25
  this.promptId = promptId;
@@ -30,9 +28,9 @@ export class ContextEnvironmentImpl {
30
28
  this.tracer = tracer;
31
29
  this.charsPerToken = charsPerToken;
32
30
  this.eventBus = eventBus;
33
- this.behaviorRegistry = new NodeBehaviorRegistry();
34
- registerBuiltInBehaviors(this.behaviorRegistry);
35
- this.tokenCalculator = new ContextTokenCalculator(this.charsPerToken, this.behaviorRegistry);
31
+ this.tokenCalculator = tokenCalculator;
32
+ this.behaviorRegistry = behaviorRegistry;
33
+ this.renderOptions = renderOptions;
36
34
  this.inbox = new LiveInbox();
37
35
  this.graphMapper = new ContextGraphMapper();
38
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environmentImpl.js","sourceRoot":"","sources":["../../../../src/context/pipeline/environmentImpl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,OAAO,sBAAsB;IAOd;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IAbF,eAAe,CAAyB;IACxC,KAAK,CAAY;IACjB,gBAAgB,CAAuB;IACvC,WAAW,CAAqB;IAEzC,YACmB,iBAAsC,EAC9C,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,MAAqB,EACrB,aAAqB,EACrB,QAAyB;QAPjB,sBAAiB,GAAjB,iBAAiB,CAAqB;QAC9C,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,WAAM,GAAN,MAAM,CAAe;QACrB,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QAElC,IAAI,CAAC,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnD,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAC/C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"environmentImpl.js","sourceRoot":"","sources":["../../../../src/context/pipeline/environmentImpl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,OAAO,sBAAsB;IAKd;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAdF,KAAK,CAAY;IACjB,WAAW,CAAqB;IAEzC,YACmB,iBAAsC,EAC9C,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,MAAqB,EACrB,aAAqB,EACrB,QAAyB,EACzB,eAAuC,EACvC,gBAAsC,EACtC,aAA6B;QAVrB,sBAAiB,GAAjB,iBAAiB,CAAqB;QAC9C,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,WAAM,GAAN,MAAM,CAAe;QACrB,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,oBAAe,GAAf,eAAe,CAAwB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,kBAAa,GAAb,aAAa,CAAgB;QAEtC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -8,12 +8,16 @@ import { ContextEnvironmentImpl } from './environmentImpl.js';
8
8
  import { ContextTracer } from '../tracer.js';
9
9
  import { ContextEventBus } from '../eventBus.js';
10
10
  import { createMockLlmClient } from '../testing/contextTestUtils.js';
11
+ import { StaticTokenCalculator } from '../utils/contextTokenCalculator.js';
12
+ import { NodeBehaviorRegistry } from '../graph/behaviorRegistry.js';
11
13
  describe('ContextEnvironmentImpl', () => {
12
14
  it('should initialize with defaults correctly', () => {
13
15
  const tracer = new ContextTracer({ targetDir: '/tmp', sessionId: 'mock' });
14
16
  const eventBus = new ContextEventBus();
15
17
  const mockLlmClient = createMockLlmClient();
16
- const env = new ContextEnvironmentImpl(() => mockLlmClient, 'mock-session', 'mock-prompt', '/tmp/trace', '/tmp/temp', tracer, 4, eventBus);
18
+ const behaviorRegistry = new NodeBehaviorRegistry();
19
+ const calculator = new StaticTokenCalculator(4, behaviorRegistry);
20
+ const env = new ContextEnvironmentImpl(() => mockLlmClient, 'mock-session', 'mock-prompt', '/tmp/trace', '/tmp/temp', tracer, 4, eventBus, calculator, behaviorRegistry);
17
21
  expect(env.llmClient).toBe(mockLlmClient);
18
22
  expect(env.sessionId).toBe('mock-session');
19
23
  expect(env.promptId).toBe('mock-prompt');
@@ -1 +1 @@
1
- {"version":3,"file":"environmentImpl.test.js","sourceRoot":"","sources":["../../../../src/context/pipeline/environmentImpl.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,GAAG,GAAG,IAAI,sBAAsB,CACpC,GAAG,EAAE,CAAC,aAAa,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,CAAC,EACD,QAAQ,CACT,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,oBAAoB;QACpB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"environmentImpl.test.js","sourceRoot":"","sources":["../../../../src/context/pipeline/environmentImpl.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,IAAI,sBAAsB,CACpC,GAAG,EAAE,CAAC,aAAa,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,CAAC,EACD,QAAQ,EACR,UAAU,EACV,gBAAgB,CACjB,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,oBAAoB;QACpB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -15,6 +15,7 @@ export declare class PipelineOrchestrator {
15
15
  private activeTimers;
16
16
  private readonly pendingPipelines;
17
17
  private readonly pipelineMutex;
18
+ private readonly pipelineScheduled;
18
19
  private nodeProvider;
19
20
  constructor(pipelines: PipelineDef[], asyncPipelines: AsyncPipelineDef[], env: ContextEnvironment, eventBus: ContextEventBus, tracer: ContextTracer);
20
21
  /**