@google/gemini-cli-core 0.36.0-preview.7 → 0.37.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 (472) hide show
  1. package/dist/docs/CONTRIBUTING.md +10 -7
  2. package/dist/docs/assets/theme-tokyonight-dark.png +0 -0
  3. package/dist/docs/changelogs/index.md +24 -0
  4. package/dist/docs/changelogs/latest.md +366 -459
  5. package/dist/docs/changelogs/preview.md +362 -356
  6. package/dist/docs/cli/acp-mode.md +126 -0
  7. package/dist/docs/cli/cli-reference.md +1 -1
  8. package/dist/docs/cli/notifications.md +5 -5
  9. package/dist/docs/cli/plan-mode.md +12 -8
  10. package/dist/docs/cli/sandbox.md +1 -1
  11. package/dist/docs/cli/settings.md +14 -13
  12. package/dist/docs/cli/themes.md +5 -0
  13. package/dist/docs/core/index.md +2 -2
  14. package/dist/docs/core/subagents.md +134 -23
  15. package/dist/docs/get-started/gemini-3.md +1 -1
  16. package/dist/docs/get-started/index.md +127 -1
  17. package/dist/docs/ide-integration/index.md +99 -24
  18. package/dist/docs/index.md +0 -2
  19. package/dist/docs/redirects.json +1 -0
  20. package/dist/docs/reference/commands.md +1 -3
  21. package/dist/docs/reference/configuration.md +183 -92
  22. package/dist/docs/reference/keyboard-shortcuts.md +14 -6
  23. package/dist/docs/reference/policy-engine.md +16 -30
  24. package/dist/docs/reference/tools.md +56 -23
  25. package/dist/docs/resources/quota-and-pricing.md +23 -9
  26. package/dist/docs/sidebar.json +11 -4
  27. package/dist/docs/tools/planning.md +6 -4
  28. package/dist/src/agents/agentLoader.d.ts +12 -12
  29. package/dist/src/agents/agentLoader.js +1 -0
  30. package/dist/src/agents/agentLoader.js.map +1 -1
  31. package/dist/src/agents/browser/automationOverlay.js +2 -10
  32. package/dist/src/agents/browser/automationOverlay.js.map +1 -1
  33. package/dist/src/agents/browser/browserAgentDefinition.js +10 -3
  34. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
  35. package/dist/src/agents/browser/browserAgentFactory.d.ts +4 -4
  36. package/dist/src/agents/browser/browserAgentFactory.js +15 -29
  37. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  38. package/dist/src/agents/browser/browserAgentFactory.test.js +41 -24
  39. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  40. package/dist/src/agents/browser/browserAgentInvocation.d.ts +1 -0
  41. package/dist/src/agents/browser/browserAgentInvocation.js +60 -27
  42. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  43. package/dist/src/agents/browser/browserAgentInvocation.test.js +59 -5
  44. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  45. package/dist/src/agents/browser/browserManager.d.ts +51 -8
  46. package/dist/src/agents/browser/browserManager.js +242 -70
  47. package/dist/src/agents/browser/browserManager.js.map +1 -1
  48. package/dist/src/agents/browser/browserManager.test.js +384 -17
  49. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  50. package/dist/src/agents/browser/inputBlocker.d.ts +4 -4
  51. package/dist/src/agents/browser/inputBlocker.js +8 -18
  52. package/dist/src/agents/browser/inputBlocker.js.map +1 -1
  53. package/dist/src/agents/browser/inputBlocker.test.js +31 -3
  54. package/dist/src/agents/browser/inputBlocker.test.js.map +1 -1
  55. package/dist/src/agents/browser/mcpToolWrapper.d.ts +1 -1
  56. package/dist/src/agents/browser/mcpToolWrapper.js +9 -6
  57. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  58. package/dist/src/agents/browser/mcpToolWrapper.test.js +2 -2
  59. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  60. package/dist/src/agents/browser/snapshotSuperseder.d.ts +31 -0
  61. package/dist/src/agents/browser/snapshotSuperseder.js +101 -0
  62. package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -0
  63. package/dist/src/agents/browser/snapshotSuperseder.test.js +158 -0
  64. package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -0
  65. package/dist/src/agents/local-executor.d.ts +4 -0
  66. package/dist/src/agents/local-executor.js +46 -19
  67. package/dist/src/agents/local-executor.js.map +1 -1
  68. package/dist/src/agents/local-executor.test.js +118 -18
  69. package/dist/src/agents/local-executor.test.js.map +1 -1
  70. package/dist/src/agents/local-invocation.d.ts +1 -0
  71. package/dist/src/agents/local-invocation.js +19 -9
  72. package/dist/src/agents/local-invocation.js.map +1 -1
  73. package/dist/src/agents/local-invocation.test.js +24 -0
  74. package/dist/src/agents/local-invocation.test.js.map +1 -1
  75. package/dist/src/agents/registry.js +16 -1
  76. package/dist/src/agents/registry.js.map +1 -1
  77. package/dist/src/agents/registry.test.js +67 -0
  78. package/dist/src/agents/registry.test.js.map +1 -1
  79. package/dist/src/agents/types.d.ts +9 -0
  80. package/dist/src/agents/types.js.map +1 -1
  81. package/dist/src/code_assist/oauth2.js +8 -3
  82. package/dist/src/code_assist/oauth2.js.map +1 -1
  83. package/dist/src/code_assist/oauth2.test.js +57 -0
  84. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  85. package/dist/src/code_assist/setup.js +5 -2
  86. package/dist/src/code_assist/setup.js.map +1 -1
  87. package/dist/src/code_assist/setup.test.js +27 -1
  88. package/dist/src/code_assist/setup.test.js.map +1 -1
  89. package/dist/src/code_assist/types.d.ts +80 -80
  90. package/dist/src/config/agent-loop-context.d.ts +2 -0
  91. package/dist/src/config/config.d.ts +81 -16
  92. package/dist/src/config/config.js +147 -51
  93. package/dist/src/config/config.js.map +1 -1
  94. package/dist/src/config/config.test.js +89 -2
  95. package/dist/src/config/config.test.js.map +1 -1
  96. package/dist/src/config/defaultModelConfigs.js +9 -0
  97. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  98. package/dist/src/config/memory.d.ts +1 -0
  99. package/dist/src/config/memory.js +6 -0
  100. package/dist/src/config/memory.js.map +1 -1
  101. package/dist/src/config/storage.d.ts +1 -0
  102. package/dist/src/config/storage.js +4 -0
  103. package/dist/src/config/storage.js.map +1 -1
  104. package/dist/src/config/storage.test.js +5 -0
  105. package/dist/src/config/storage.test.js.map +1 -1
  106. package/dist/src/config/topicState.d.ts +21 -0
  107. package/dist/src/config/topicState.js +41 -0
  108. package/dist/src/config/topicState.js.map +1 -0
  109. package/dist/src/confirmation-bus/types.d.ts +9 -2
  110. package/dist/src/confirmation-bus/types.js +1 -0
  111. package/dist/src/confirmation-bus/types.js.map +1 -1
  112. package/dist/src/context/agentHistoryProvider.d.ts +45 -0
  113. package/dist/src/context/agentHistoryProvider.js +298 -0
  114. package/dist/src/context/agentHistoryProvider.js.map +1 -0
  115. package/dist/src/context/agentHistoryProvider.test.d.ts +6 -0
  116. package/dist/src/context/agentHistoryProvider.test.js +394 -0
  117. package/dist/src/context/agentHistoryProvider.test.js.map +1 -0
  118. package/dist/src/context/chatCompressionService.js.map +1 -0
  119. package/dist/src/context/chatCompressionService.test.js.map +1 -0
  120. package/dist/src/{services → context}/contextManager.d.ts +2 -0
  121. package/dist/src/{services → context}/contextManager.js +18 -9
  122. package/dist/src/context/contextManager.js.map +1 -0
  123. package/dist/src/{services → context}/contextManager.test.js +21 -6
  124. package/dist/src/context/contextManager.test.js.map +1 -0
  125. package/dist/src/context/toolDistillationService.d.ts +38 -0
  126. package/dist/src/context/toolDistillationService.js +170 -0
  127. package/dist/src/context/toolDistillationService.js.map +1 -0
  128. package/dist/src/context/toolDistillationService.test.d.ts +6 -0
  129. package/dist/src/context/toolDistillationService.test.js +83 -0
  130. package/dist/src/context/toolDistillationService.test.js.map +1 -0
  131. package/dist/src/{services → context}/toolOutputMaskingService.d.ts +2 -2
  132. package/dist/src/{services → context}/toolOutputMaskingService.js +7 -7
  133. package/dist/src/context/toolOutputMaskingService.js.map +1 -0
  134. package/dist/src/context/toolOutputMaskingService.test.d.ts +6 -0
  135. package/dist/src/{services → context}/toolOutputMaskingService.test.js +4 -5
  136. package/dist/src/context/toolOutputMaskingService.test.js.map +1 -0
  137. package/dist/src/context/truncation.d.ts +26 -0
  138. package/dist/src/context/truncation.js +102 -0
  139. package/dist/src/context/truncation.js.map +1 -0
  140. package/dist/src/core/client.d.ts +3 -1
  141. package/dist/src/core/client.js +23 -13
  142. package/dist/src/core/client.js.map +1 -1
  143. package/dist/src/core/client.test.js +29 -34
  144. package/dist/src/core/client.test.js.map +1 -1
  145. package/dist/src/core/contentGenerator.d.ts +0 -1
  146. package/dist/src/core/contentGenerator.js +2 -28
  147. package/dist/src/core/contentGenerator.js.map +1 -1
  148. package/dist/src/core/contentGenerator.test.js +1 -101
  149. package/dist/src/core/contentGenerator.test.js.map +1 -1
  150. package/dist/src/core/geminiChat.js +4 -5
  151. package/dist/src/core/geminiChat.js.map +1 -1
  152. package/dist/src/core/geminiChat.test.js +71 -18
  153. package/dist/src/core/geminiChat.test.js.map +1 -1
  154. package/dist/src/core/prompts-substitution.test.js +5 -0
  155. package/dist/src/core/prompts-substitution.test.js.map +1 -1
  156. package/dist/src/core/prompts.test.js +3 -0
  157. package/dist/src/core/prompts.test.js.map +1 -1
  158. package/dist/src/generated/git-commit.d.ts +2 -2
  159. package/dist/src/generated/git-commit.js +2 -2
  160. package/dist/src/index.d.ts +7 -3
  161. package/dist/src/index.js +9 -5
  162. package/dist/src/index.js.map +1 -1
  163. package/dist/src/policy/config.d.ts +1 -1
  164. package/dist/src/policy/config.js +5 -2
  165. package/dist/src/policy/config.js.map +1 -1
  166. package/dist/src/policy/policies/discovered.toml +7 -0
  167. package/dist/src/policy/policies/non-interactive.toml +7 -0
  168. package/dist/src/policy/policies/plan.toml +25 -0
  169. package/dist/src/policy/policies/read-only.toml +6 -0
  170. package/dist/src/policy/policies/sandbox-default.toml +3 -2
  171. package/dist/src/policy/policies/write.toml +21 -0
  172. package/dist/src/policy/policies/yolo.toml +1 -1
  173. package/dist/src/policy/policy-engine.d.ts +2 -4
  174. package/dist/src/policy/policy-engine.js +24 -37
  175. package/dist/src/policy/policy-engine.js.map +1 -1
  176. package/dist/src/policy/policy-engine.test.js +107 -29
  177. package/dist/src/policy/policy-engine.test.js.map +1 -1
  178. package/dist/src/policy/topic-policy.test.d.ts +6 -0
  179. package/dist/src/policy/topic-policy.test.js +48 -0
  180. package/dist/src/policy/topic-policy.test.js.map +1 -0
  181. package/dist/src/policy/types.d.ts +3 -6
  182. package/dist/src/policy/types.js.map +1 -1
  183. package/dist/src/prompts/promptProvider.js +20 -4
  184. package/dist/src/prompts/promptProvider.js.map +1 -1
  185. package/dist/src/prompts/promptProvider.test.js +84 -1
  186. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  187. package/dist/src/prompts/snippets-memory-manager.test.js +1 -1
  188. package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -1
  189. package/dist/src/prompts/snippets.d.ts +3 -4
  190. package/dist/src/prompts/snippets.js +33 -51
  191. package/dist/src/prompts/snippets.js.map +1 -1
  192. package/dist/src/prompts/snippets.legacy.d.ts +6 -4
  193. package/dist/src/prompts/snippets.legacy.js +32 -7
  194. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  195. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +11 -1
  196. package/dist/src/sandbox/linux/LinuxSandboxManager.js +261 -27
  197. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  198. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +430 -125
  199. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  200. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +7 -22
  201. package/dist/src/sandbox/macos/MacOsSandboxManager.js +58 -57
  202. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  203. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +148 -103
  204. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  205. package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
  206. package/dist/src/sandbox/macos/baseProfile.js +0 -6
  207. package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
  208. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +10 -10
  209. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +80 -92
  210. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  211. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +135 -99
  212. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  213. package/dist/src/sandbox/{macos → utils}/commandSafety.d.ts +11 -0
  214. package/dist/src/sandbox/{macos → utils}/commandSafety.js +47 -14
  215. package/dist/src/sandbox/utils/commandSafety.js.map +1 -0
  216. package/dist/src/sandbox/utils/commandUtils.d.ts +9 -0
  217. package/dist/src/sandbox/utils/commandUtils.js +57 -0
  218. package/dist/src/sandbox/utils/commandUtils.js.map +1 -0
  219. package/dist/src/sandbox/utils/fsUtils.d.ts +11 -0
  220. package/dist/src/sandbox/utils/fsUtils.js +82 -0
  221. package/dist/src/sandbox/utils/fsUtils.js.map +1 -0
  222. package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +12 -0
  223. package/dist/src/sandbox/utils/sandboxDenialUtils.js +68 -0
  224. package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -0
  225. package/dist/src/sandbox/utils/sandboxDenialUtils.test.d.ts +6 -0
  226. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +37 -0
  227. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -0
  228. package/dist/src/sandbox/utils/sandboxReadWriteUtils.d.ts +5 -0
  229. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +60 -0
  230. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -0
  231. package/dist/src/sandbox/windows/GeminiSandbox.cs +257 -216
  232. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +12 -2
  233. package/dist/src/sandbox/windows/WindowsSandboxManager.js +250 -38
  234. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  235. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +326 -9
  236. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  237. package/dist/src/sandbox/windows/commandSafety.d.ts +19 -0
  238. package/dist/src/sandbox/windows/commandSafety.js +128 -0
  239. package/dist/src/sandbox/windows/commandSafety.js.map +1 -0
  240. package/dist/src/sandbox/windows/commandSafety.test.d.ts +6 -0
  241. package/dist/src/sandbox/windows/commandSafety.test.js +42 -0
  242. package/dist/src/sandbox/windows/commandSafety.test.js.map +1 -0
  243. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +12 -0
  244. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +68 -0
  245. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -0
  246. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.d.ts +6 -0
  247. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js +68 -0
  248. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js.map +1 -0
  249. package/dist/src/scheduler/scheduler.js +12 -2
  250. package/dist/src/scheduler/scheduler.js.map +1 -1
  251. package/dist/src/scheduler/scheduler.test.js +52 -0
  252. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  253. package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
  254. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  255. package/dist/src/scheduler/state-manager.js +1 -1
  256. package/dist/src/scheduler/state-manager.js.map +1 -1
  257. package/dist/src/scheduler/state-manager.test.js +10 -0
  258. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  259. package/dist/src/scheduler/tool-executor.js +7 -2
  260. package/dist/src/scheduler/tool-executor.js.map +1 -1
  261. package/dist/src/scheduler/tool-executor.test.js +38 -0
  262. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  263. package/dist/src/scheduler/types.d.ts +4 -2
  264. package/dist/src/services/chatRecordingService.d.ts +1 -13
  265. package/dist/src/services/chatRecordingService.js +45 -46
  266. package/dist/src/services/chatRecordingService.js.map +1 -1
  267. package/dist/src/services/chatRecordingService.test.js +79 -10
  268. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  269. package/dist/src/services/executionLifecycleService.d.ts +43 -6
  270. package/dist/src/services/executionLifecycleService.js +49 -12
  271. package/dist/src/services/executionLifecycleService.js.map +1 -1
  272. package/dist/src/services/executionLifecycleService.test.js +157 -3
  273. package/dist/src/services/executionLifecycleService.test.js.map +1 -1
  274. package/dist/src/services/fileDiscoveryService.d.ts +17 -2
  275. package/dist/src/services/fileDiscoveryService.js +84 -20
  276. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  277. package/dist/src/services/fileDiscoveryService.test.js +67 -1
  278. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  279. package/dist/src/services/modelConfigService.d.ts +11 -0
  280. package/dist/src/services/modelConfigService.js +67 -0
  281. package/dist/src/services/modelConfigService.js.map +1 -1
  282. package/dist/src/services/modelConfigService.test.js +30 -0
  283. package/dist/src/services/modelConfigService.test.js.map +1 -1
  284. package/dist/src/services/sandboxManager.d.ts +90 -8
  285. package/dist/src/services/sandboxManager.integration.test.js +438 -0
  286. package/dist/src/services/sandboxManager.integration.test.js.map +1 -0
  287. package/dist/src/services/sandboxManager.js +156 -13
  288. package/dist/src/services/sandboxManager.js.map +1 -1
  289. package/dist/src/services/sandboxManager.test.js +373 -117
  290. package/dist/src/services/sandboxManager.test.js.map +1 -1
  291. package/dist/src/services/sandboxManagerFactory.d.ts +2 -3
  292. package/dist/src/services/sandboxManagerFactory.js +10 -17
  293. package/dist/src/services/sandboxManagerFactory.js.map +1 -1
  294. package/dist/src/services/sandboxedFileSystemService.d.ts +1 -0
  295. package/dist/src/services/sandboxedFileSystemService.js +32 -3
  296. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  297. package/dist/src/services/sandboxedFileSystemService.test.js +83 -12
  298. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
  299. package/dist/src/services/shellExecutionService.d.ts +2 -0
  300. package/dist/src/services/shellExecutionService.js +45 -16
  301. package/dist/src/services/shellExecutionService.js.map +1 -1
  302. package/dist/src/services/shellExecutionService.test.js +5 -4
  303. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  304. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +4 -0
  305. package/dist/src/services/test-data/resolved-aliases.golden.json +4 -0
  306. package/dist/src/services/types.d.ts +14 -0
  307. package/dist/src/services/types.js +7 -0
  308. package/dist/src/services/types.js.map +1 -0
  309. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +6 -0
  310. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  311. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +5 -1
  312. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  313. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +2 -1
  314. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
  315. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  316. package/dist/src/telemetry/loggers.js +1 -1
  317. package/dist/src/telemetry/loggers.js.map +1 -1
  318. package/dist/src/telemetry/loggers.test.js +8 -3
  319. package/dist/src/telemetry/loggers.test.js.map +1 -1
  320. package/dist/src/telemetry/metrics.d.ts +10 -1
  321. package/dist/src/telemetry/metrics.js +19 -4
  322. package/dist/src/telemetry/metrics.js.map +1 -1
  323. package/dist/src/telemetry/metrics.test.js +44 -0
  324. package/dist/src/telemetry/metrics.test.js.map +1 -1
  325. package/dist/src/telemetry/types.d.ts +3 -3
  326. package/dist/src/telemetry/types.js +9 -4
  327. package/dist/src/telemetry/types.js.map +1 -1
  328. package/dist/src/test-utils/mock-message-bus.d.ts +1 -1
  329. package/dist/src/test-utils/mock-message-bus.js +1 -1
  330. package/dist/src/test-utils/mock-message-bus.js.map +1 -1
  331. package/dist/src/tools/definitions/base-declarations.d.ts +6 -0
  332. package/dist/src/tools/definitions/base-declarations.js +7 -0
  333. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  334. package/dist/src/tools/definitions/coreTools.d.ts +2 -1
  335. package/dist/src/tools/definitions/coreTools.js +9 -3
  336. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  337. package/dist/src/tools/definitions/dynamic-declaration-helpers.d.ts +4 -0
  338. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +29 -2
  339. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  340. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +11 -6
  341. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  342. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +10 -4
  343. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  344. package/dist/src/tools/definitions/trackerTools.js +3 -3
  345. package/dist/src/tools/definitions/trackerTools.js.map +1 -1
  346. package/dist/src/tools/definitions/types.d.ts +1 -0
  347. package/dist/src/tools/enter-plan-mode.js +15 -0
  348. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  349. package/dist/src/tools/enter-plan-mode.test.js +25 -0
  350. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  351. package/dist/src/tools/grep-utils.d.ts +2 -1
  352. package/dist/src/tools/grep-utils.js +22 -3
  353. package/dist/src/tools/grep-utils.js.map +1 -1
  354. package/dist/src/tools/grep.js +16 -3
  355. package/dist/src/tools/grep.js.map +1 -1
  356. package/dist/src/tools/grep.test.js +34 -6
  357. package/dist/src/tools/grep.test.js.map +1 -1
  358. package/dist/src/tools/ls.js +6 -4
  359. package/dist/src/tools/ls.js.map +1 -1
  360. package/dist/src/tools/ls.test.js +22 -7
  361. package/dist/src/tools/ls.test.js.map +1 -1
  362. package/dist/src/tools/mcp-client-manager.js +6 -3
  363. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  364. package/dist/src/tools/mcp-client-manager.test.js +35 -0
  365. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  366. package/dist/src/tools/memoryTool.d.ts +9 -2
  367. package/dist/src/tools/memoryTool.js +39 -15
  368. package/dist/src/tools/memoryTool.js.map +1 -1
  369. package/dist/src/tools/memoryTool.test.js +61 -2
  370. package/dist/src/tools/memoryTool.test.js.map +1 -1
  371. package/dist/src/tools/read-many-files.js +12 -4
  372. package/dist/src/tools/read-many-files.js.map +1 -1
  373. package/dist/src/tools/read-many-files.test.js +17 -17
  374. package/dist/src/tools/read-many-files.test.js.map +1 -1
  375. package/dist/src/tools/ripGrep.js +14 -1
  376. package/dist/src/tools/ripGrep.js.map +1 -1
  377. package/dist/src/tools/ripGrep.test.js +9 -9
  378. package/dist/src/tools/ripGrep.test.js.map +1 -1
  379. package/dist/src/tools/shell.d.ts +10 -0
  380. package/dist/src/tools/shell.js +97 -124
  381. package/dist/src/tools/shell.js.map +1 -1
  382. package/dist/src/tools/shell.test.js +22 -3
  383. package/dist/src/tools/shell.test.js.map +1 -1
  384. package/dist/src/tools/tool-names.d.ts +4 -4
  385. package/dist/src/tools/tool-names.js +5 -3
  386. package/dist/src/tools/tool-names.js.map +1 -1
  387. package/dist/src/tools/tool-registry.js +11 -1
  388. package/dist/src/tools/tool-registry.js.map +1 -1
  389. package/dist/src/tools/tool-registry.test.js +43 -1
  390. package/dist/src/tools/tool-registry.test.js.map +1 -1
  391. package/dist/src/tools/tools.d.ts +12 -1
  392. package/dist/src/tools/tools.js +15 -0
  393. package/dist/src/tools/tools.js.map +1 -1
  394. package/dist/src/tools/tools.test.js +42 -1
  395. package/dist/src/tools/tools.test.js.map +1 -1
  396. package/dist/src/tools/topicTool.d.ts +29 -0
  397. package/dist/src/tools/topicTool.js +72 -0
  398. package/dist/src/tools/topicTool.js.map +1 -0
  399. package/dist/src/tools/topicTool.test.d.ts +6 -0
  400. package/dist/src/tools/topicTool.test.js +105 -0
  401. package/dist/src/tools/topicTool.test.js.map +1 -0
  402. package/dist/src/tools/web-fetch.js +38 -20
  403. package/dist/src/tools/web-fetch.js.map +1 -1
  404. package/dist/src/tools/web-fetch.test.js +28 -0
  405. package/dist/src/tools/web-fetch.test.js.map +1 -1
  406. package/dist/src/utils/checkpointUtils.d.ts +4 -4
  407. package/dist/src/utils/errors.d.ts +3 -0
  408. package/dist/src/utils/errors.js +28 -6
  409. package/dist/src/utils/errors.js.map +1 -1
  410. package/dist/src/utils/errors.test.js +23 -0
  411. package/dist/src/utils/errors.test.js.map +1 -1
  412. package/dist/src/utils/getFolderStructure.js +1 -1
  413. package/dist/src/utils/getFolderStructure.js.map +1 -1
  414. package/dist/src/utils/gitIgnoreParser.d.ts +2 -2
  415. package/dist/src/utils/gitIgnoreParser.js +28 -50
  416. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  417. package/dist/src/utils/gitIgnoreParser.test.js +51 -185
  418. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  419. package/dist/src/utils/ignoreFileParser.d.ts +2 -2
  420. package/dist/src/utils/ignoreFileParser.js +6 -17
  421. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  422. package/dist/src/utils/ignoreFileParser.test.js +40 -132
  423. package/dist/src/utils/ignoreFileParser.test.js.map +1 -1
  424. package/dist/src/utils/ignorePathUtils.d.ts +11 -0
  425. package/dist/src/utils/ignorePathUtils.js +39 -0
  426. package/dist/src/utils/ignorePathUtils.js.map +1 -0
  427. package/dist/src/utils/ignorePathUtils.test.d.ts +6 -0
  428. package/dist/src/utils/ignorePathUtils.test.js +70 -0
  429. package/dist/src/utils/ignorePathUtils.test.js.map +1 -0
  430. package/dist/src/utils/memoryDiscovery.d.ts +6 -4
  431. package/dist/src/utils/memoryDiscovery.js +66 -41
  432. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  433. package/dist/src/utils/memoryDiscovery.test.js +40 -0
  434. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  435. package/dist/src/utils/memoryImportProcessor.d.ts +1 -1
  436. package/dist/src/utils/memoryImportProcessor.js +24 -15
  437. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  438. package/dist/src/utils/sessionOperations.d.ts +19 -0
  439. package/dist/src/utils/sessionOperations.js +101 -0
  440. package/dist/src/utils/sessionOperations.js.map +1 -0
  441. package/dist/src/utils/sessionOperations.test.d.ts +6 -0
  442. package/dist/src/utils/sessionOperations.test.js +92 -0
  443. package/dist/src/utils/sessionOperations.test.js.map +1 -0
  444. package/dist/src/utils/shell-utils.d.ts +15 -0
  445. package/dist/src/utils/shell-utils.js +43 -2
  446. package/dist/src/utils/shell-utils.js.map +1 -1
  447. package/dist/src/utils/textUtils.d.ts +8 -0
  448. package/dist/src/utils/textUtils.js +16 -0
  449. package/dist/src/utils/textUtils.js.map +1 -1
  450. package/dist/src/utils/tokenCalculation.d.ts +2 -0
  451. package/dist/src/utils/tokenCalculation.js +2 -2
  452. package/dist/src/utils/tokenCalculation.js.map +1 -1
  453. package/dist/tsconfig.tsbuildinfo +1 -1
  454. package/package.json +1 -1
  455. package/dist/docs/get-started/examples.md +0 -141
  456. package/dist/google-gemini-cli-core-0.36.0-preview.6.tgz +0 -0
  457. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +0 -164
  458. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +0 -1
  459. package/dist/src/sandbox/macos/commandSafety.js.map +0 -1
  460. package/dist/src/services/chatCompressionService.js.map +0 -1
  461. package/dist/src/services/chatCompressionService.test.js.map +0 -1
  462. package/dist/src/services/contextManager.js.map +0 -1
  463. package/dist/src/services/contextManager.test.js.map +0 -1
  464. package/dist/src/services/toolOutputMaskingService.js.map +0 -1
  465. package/dist/src/services/toolOutputMaskingService.test.js.map +0 -1
  466. /package/dist/src/{services/toolOutputMaskingService.test.d.ts → agents/browser/snapshotSuperseder.test.d.ts} +0 -0
  467. /package/dist/src/{services → context}/chatCompressionService.d.ts +0 -0
  468. /package/dist/src/{services → context}/chatCompressionService.js +0 -0
  469. /package/dist/src/{services → context}/chatCompressionService.test.d.ts +0 -0
  470. /package/dist/src/{services → context}/chatCompressionService.test.js +0 -0
  471. /package/dist/src/{services → context}/contextManager.test.d.ts +0 -0
  472. /package/dist/src/{sandbox/macos/MacOsSandboxManager.integration.test.d.ts → services/sandboxManager.integration.test.d.ts} +0 -0
@@ -7,7 +7,7 @@ import type { InjectionService } from '../config/injectionService.js';
7
7
  import type { AnsiOutput } from '../utils/terminalSerializer.js';
8
8
  export type ExecutionMethod = 'lydell-node-pty' | 'node-pty' | 'child_process' | 'remote_agent' | 'none';
9
9
  export interface ExecutionResult {
10
- rawOutput: Buffer;
10
+ rawOutput?: Buffer;
11
11
  output: string;
12
12
  exitCode: number | null;
13
13
  signal: number | null;
@@ -42,12 +42,16 @@ export interface ExecutionCompletionOptions {
42
42
  }
43
43
  export interface ExternalExecutionRegistration {
44
44
  executionMethod: ExecutionMethod;
45
+ /** Human-readable label for the background task UI (e.g. the command string). */
46
+ label?: string;
45
47
  initialOutput?: string;
46
48
  getBackgroundOutput?: () => string;
47
49
  getSubscriptionSnapshot?: () => string | AnsiOutput | undefined;
48
50
  writeInput?: (input: string) => void;
49
51
  kill?: () => void;
50
52
  isActive?: () => boolean;
53
+ formatInjection?: FormatInjectionFn;
54
+ completionBehavior?: CompletionBehavior;
51
55
  }
52
56
  /**
53
57
  * Callback that an execution creator provides to control how its output
@@ -55,6 +59,27 @@ export interface ExternalExecutionRegistration {
55
59
  * Return `null` to skip injection entirely.
56
60
  */
57
61
  export type FormatInjectionFn = (output: string, error: Error | null) => string | null;
62
+ /**
63
+ * Controls what happens when a backgrounded execution completes:
64
+ * - `'inject'` — full formatted output is injected into the conversation; task auto-dismisses from UI.
65
+ * - `'notify'` — a short pointer (e.g. "output saved to /tmp/...") is injected; task auto-dismisses from UI.
66
+ * - `'silent'` — nothing is injected; task stays in the UI until manually dismissed.
67
+ *
68
+ * The distinction between `inject` and `notify` is semantic for now (both inject + dismiss),
69
+ * but enables the system to treat them differently in the future (e.g. LLM-decided injection).
70
+ */
71
+ export type CompletionBehavior = 'inject' | 'notify' | 'silent';
72
+ /**
73
+ * Payload emitted when an execution is moved to the background.
74
+ */
75
+ export interface BackgroundStartInfo {
76
+ executionId: number;
77
+ executionMethod: ExecutionMethod;
78
+ label: string;
79
+ output: string;
80
+ completionBehavior: CompletionBehavior;
81
+ }
82
+ export type BackgroundStartListener = (info: BackgroundStartInfo) => void;
58
83
  /**
59
84
  * Payload emitted when a previously-backgrounded execution settles.
60
85
  */
@@ -65,6 +90,7 @@ export interface BackgroundCompletionInfo {
65
90
  error: Error | null;
66
91
  /** Pre-formatted injection text from the execution creator, or `null` if skipped. */
67
92
  injectionText: string | null;
93
+ completionBehavior: CompletionBehavior;
68
94
  }
69
95
  export type BackgroundCompletionListener = (info: BackgroundCompletionInfo) => void;
70
96
  /**
@@ -73,17 +99,28 @@ export type BackgroundCompletionListener = (info: BackgroundCompletionInfo) => v
73
99
  export declare class ExecutionLifecycleService {
74
100
  private static readonly EXIT_INFO_TTL_MS;
75
101
  private static nextExecutionId;
102
+ private static injectionService;
103
+ /**
104
+ * Connects the lifecycle service to the injection service so that
105
+ * backgrounded executions are reinjected into the model conversation
106
+ * directly from the backend — no UI hop needed.
107
+ */
108
+ static setInjectionService(service: InjectionService): void;
76
109
  private static activeExecutions;
77
110
  private static activeResolvers;
78
111
  private static activeListeners;
79
112
  private static exitedExecutionInfo;
80
113
  private static backgroundCompletionListeners;
81
- private static injectionService;
114
+ private static backgroundStartListeners;
82
115
  /**
83
- * Wires a singleton InjectionService so that backgrounded executions
84
- * can inject their output directly without routing through the UI layer.
116
+ * Registers a listener that fires when any execution is moved to the background.
117
+ * This is the hook for the UI to automatically discover backgrounded executions.
85
118
  */
86
- static setInjectionService(service: InjectionService): void;
119
+ static onBackground(listener: BackgroundStartListener): void;
120
+ /**
121
+ * Unregisters a background start listener.
122
+ */
123
+ static offBackground(listener: BackgroundStartListener): void;
87
124
  /**
88
125
  * Registers a listener that fires when a previously-backgrounded
89
126
  * execution settles (completes or errors).
@@ -102,7 +139,7 @@ export declare class ExecutionLifecycleService {
102
139
  */
103
140
  static resetForTest(): void;
104
141
  static attachExecution(executionId: number, registration: ExternalExecutionRegistration): ExecutionHandle;
105
- static createExecution(initialOutput?: string, onKill?: () => void, executionMethod?: ExecutionMethod, formatInjection?: FormatInjectionFn): ExecutionHandle;
142
+ static createExecution(initialOutput?: string, onKill?: () => void, executionMethod?: ExecutionMethod, formatInjection?: FormatInjectionFn, label?: string, completionBehavior?: CompletionBehavior): ExecutionHandle;
106
143
  static appendOutput(executionId: number, chunk: string): void;
107
144
  static emitEvent(executionId: number, event: ExecutionOutputEvent): void;
108
145
  private static resolvePending;
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { debugLogger } from '../utils/debugLogger.js';
7
+ import { sanitizeOutput } from '../utils/textUtils.js';
7
8
  const NON_PROCESS_EXECUTION_ID_START = 2_000_000_000;
8
9
  /**
9
10
  * Central owner for execution backgrounding lifecycle across shell and tools.
@@ -11,18 +12,33 @@ const NON_PROCESS_EXECUTION_ID_START = 2_000_000_000;
11
12
  export class ExecutionLifecycleService {
12
13
  static EXIT_INFO_TTL_MS = 5 * 60 * 1000;
13
14
  static nextExecutionId = NON_PROCESS_EXECUTION_ID_START;
15
+ static injectionService = null;
16
+ /**
17
+ * Connects the lifecycle service to the injection service so that
18
+ * backgrounded executions are reinjected into the model conversation
19
+ * directly from the backend — no UI hop needed.
20
+ */
21
+ static setInjectionService(service) {
22
+ this.injectionService = service;
23
+ }
14
24
  static activeExecutions = new Map();
15
25
  static activeResolvers = new Map();
16
26
  static activeListeners = new Map();
17
27
  static exitedExecutionInfo = new Map();
18
28
  static backgroundCompletionListeners = new Set();
19
- static injectionService = null;
29
+ static backgroundStartListeners = new Set();
20
30
  /**
21
- * Wires a singleton InjectionService so that backgrounded executions
22
- * can inject their output directly without routing through the UI layer.
31
+ * Registers a listener that fires when any execution is moved to the background.
32
+ * This is the hook for the UI to automatically discover backgrounded executions.
23
33
  */
24
- static setInjectionService(service) {
25
- this.injectionService = service;
34
+ static onBackground(listener) {
35
+ this.backgroundStartListeners.add(listener);
36
+ }
37
+ /**
38
+ * Unregisters a background start listener.
39
+ */
40
+ static offBackground(listener) {
41
+ this.backgroundStartListeners.delete(listener);
26
42
  }
27
43
  /**
28
44
  * Registers a listener that fires when a previously-backgrounded
@@ -81,6 +97,7 @@ export class ExecutionLifecycleService {
81
97
  this.exitedExecutionInfo.clear();
82
98
  this.backgroundCompletionListeners.clear();
83
99
  this.injectionService = null;
100
+ this.backgroundStartListeners.clear();
84
101
  this.nextExecutionId = NON_PROCESS_EXECUTION_ID_START;
85
102
  }
86
103
  static attachExecution(executionId, registration) {
@@ -91,6 +108,7 @@ export class ExecutionLifecycleService {
91
108
  this.exitedExecutionInfo.delete(executionId);
92
109
  this.activeExecutions.set(executionId, {
93
110
  executionMethod: registration.executionMethod,
111
+ label: registration.label,
94
112
  output: registration.initialOutput ?? '',
95
113
  kind: 'external',
96
114
  getBackgroundOutput: registration.getBackgroundOutput,
@@ -98,20 +116,24 @@ export class ExecutionLifecycleService {
98
116
  writeInput: registration.writeInput,
99
117
  kill: registration.kill,
100
118
  isActive: registration.isActive,
119
+ formatInjection: registration.formatInjection,
120
+ completionBehavior: registration.completionBehavior,
101
121
  });
102
122
  return {
103
123
  pid: executionId,
104
124
  result: this.createPendingResult(executionId),
105
125
  };
106
126
  }
107
- static createExecution(initialOutput = '', onKill, executionMethod = 'none', formatInjection) {
127
+ static createExecution(initialOutput = '', onKill, executionMethod = 'none', formatInjection, label, completionBehavior) {
108
128
  const executionId = this.allocateExecutionId();
109
129
  this.activeExecutions.set(executionId, {
110
130
  executionMethod,
131
+ label,
111
132
  output: initialOutput,
112
133
  kind: 'virtual',
113
134
  onKill,
114
135
  formatInjection,
136
+ completionBehavior,
115
137
  getBackgroundOutput: () => {
116
138
  const state = this.activeExecutions.get(executionId);
117
139
  return state?.output ?? initialOutput;
@@ -155,21 +177,24 @@ export class ExecutionLifecycleService {
155
177
  }
156
178
  // Fire background completion listeners if this was a backgrounded execution.
157
179
  if (execution.backgrounded && !result.aborted) {
158
- const injectionText = execution.formatInjection
180
+ const behavior = execution.completionBehavior ??
181
+ (execution.formatInjection ? 'inject' : 'silent');
182
+ const rawInjection = behavior !== 'silent' && execution.formatInjection
159
183
  ? execution.formatInjection(result.output, result.error)
160
184
  : null;
185
+ const injectionText = rawInjection ? sanitizeOutput(rawInjection) : null;
186
+ // Inject directly into the model conversation from the backend.
187
+ if (injectionText && this.injectionService) {
188
+ this.injectionService.addInjection(injectionText, 'background_completion');
189
+ }
161
190
  const info = {
162
191
  executionId,
163
192
  executionMethod: execution.executionMethod,
164
193
  output: result.output,
165
194
  error: result.error,
166
195
  injectionText,
196
+ completionBehavior: behavior,
167
197
  };
168
- // Inject directly into the model conversation if injection text is
169
- // available and the injection service has been wired up.
170
- if (injectionText && this.injectionService) {
171
- this.injectionService.addInjection(injectionText, 'background_completion');
172
- }
173
198
  for (const listener of this.backgroundCompletionListeners) {
174
199
  try {
175
200
  listener(info);
@@ -233,6 +258,18 @@ export class ExecutionLifecycleService {
233
258
  });
234
259
  this.activeResolvers.delete(executionId);
235
260
  execution.backgrounded = true;
261
+ // Notify listeners that an execution was moved to the background.
262
+ const info = {
263
+ executionId,
264
+ executionMethod: execution.executionMethod,
265
+ label: execution.label ?? `${execution.executionMethod} (ID: ${executionId})`,
266
+ output,
267
+ completionBehavior: execution.completionBehavior ??
268
+ (execution.formatInjection ? 'inject' : 'silent'),
269
+ };
270
+ for (const listener of this.backgroundStartListeners) {
271
+ listener(info);
272
+ }
236
273
  }
237
274
  static subscribe(executionId, listener) {
238
275
  if (!this.activeListeners.has(executionId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"executionLifecycleService.js","sourceRoot":"","sources":["../../../src/services/executionLifecycleService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionLifecycleService.js","sourceRoot":"","sources":["../../../src/services/executionLifecycleService.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { beforeEach, describe, expect, it, vi } from 'vitest';
7
7
  import { ExecutionLifecycleService, } from './executionLifecycleService.js';
8
+ import { InjectionService } from '../config/injectionService.js';
8
9
  function createResult(overrides = {}) {
9
10
  return {
10
11
  rawOutput: Buffer.from(''),
@@ -223,6 +224,54 @@ describe('ExecutionLifecycleService', () => {
223
224
  });
224
225
  }).toThrow('Execution 4324 is already attached.');
225
226
  });
227
+ describe('Background Start Listeners', () => {
228
+ it('fires onBackground when an execution is backgrounded', async () => {
229
+ const listener = vi.fn();
230
+ ExecutionLifecycleService.onBackground(listener);
231
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'remote_agent', undefined, 'My Remote Agent');
232
+ const executionId = handle.pid;
233
+ ExecutionLifecycleService.appendOutput(executionId, 'some output');
234
+ ExecutionLifecycleService.background(executionId);
235
+ await handle.result;
236
+ expect(listener).toHaveBeenCalledTimes(1);
237
+ const info = listener.mock.calls[0][0];
238
+ expect(info.executionId).toBe(executionId);
239
+ expect(info.executionMethod).toBe('remote_agent');
240
+ expect(info.label).toBe('My Remote Agent');
241
+ expect(info.output).toBe('some output');
242
+ ExecutionLifecycleService.offBackground(listener);
243
+ });
244
+ it('uses fallback label when none is provided', async () => {
245
+ const listener = vi.fn();
246
+ ExecutionLifecycleService.onBackground(listener);
247
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'none');
248
+ const executionId = handle.pid;
249
+ ExecutionLifecycleService.background(executionId);
250
+ await handle.result;
251
+ const info = listener.mock.calls[0][0];
252
+ expect(info.label).toContain('none');
253
+ expect(info.label).toContain(String(executionId));
254
+ ExecutionLifecycleService.offBackground(listener);
255
+ });
256
+ it('does not fire onBackground for non-backgrounded completions', async () => {
257
+ const listener = vi.fn();
258
+ ExecutionLifecycleService.onBackground(listener);
259
+ const handle = ExecutionLifecycleService.createExecution();
260
+ ExecutionLifecycleService.completeExecution(handle.pid);
261
+ await handle.result;
262
+ expect(listener).not.toHaveBeenCalled();
263
+ ExecutionLifecycleService.offBackground(listener);
264
+ });
265
+ it('offBackground removes the listener', async () => {
266
+ const listener = vi.fn();
267
+ ExecutionLifecycleService.onBackground(listener);
268
+ ExecutionLifecycleService.offBackground(listener);
269
+ const handle = ExecutionLifecycleService.createExecution();
270
+ ExecutionLifecycleService.background(handle.pid);
271
+ await handle.result;
272
+ expect(listener).not.toHaveBeenCalled();
273
+ });
274
+ });
226
275
  describe('Background Completion Listeners', () => {
227
276
  it('fires onBackgroundComplete with formatInjection text when backgrounded execution settles', async () => {
228
277
  const listener = vi.fn();
@@ -244,7 +293,8 @@ describe('ExecutionLifecycleService', () => {
244
293
  expect(info.executionMethod).toBe('remote_agent');
245
294
  expect(info.output).toBe('agent output');
246
295
  expect(info.error).toBeNull();
247
- expect(info.injectionText).toBe('[Agent completed]\nagent output');
296
+ expect(info.injectionText).toBe('<output>\n[Agent completed]\nagent output\n</output>');
297
+ expect(info.completionBehavior).toBe('inject');
248
298
  ExecutionLifecycleService.offBackgroundComplete(listener);
249
299
  });
250
300
  it('passes error to formatInjection when backgrounded execution fails', async () => {
@@ -260,10 +310,10 @@ describe('ExecutionLifecycleService', () => {
260
310
  expect(listener).toHaveBeenCalledTimes(1);
261
311
  const info = listener.mock.calls[0][0];
262
312
  expect(info.error?.message).toBe('something broke');
263
- expect(info.injectionText).toBe('Error: something broke');
313
+ expect(info.injectionText).toBe('<output>\nError: something broke\n</output>');
264
314
  ExecutionLifecycleService.offBackgroundComplete(listener);
265
315
  });
266
- it('sets injectionText to null when no formatInjection callback is provided', async () => {
316
+ it('sets injectionText to null and completionBehavior to silent when no formatInjection is provided', async () => {
267
317
  const listener = vi.fn();
268
318
  ExecutionLifecycleService.onBackgroundComplete(listener);
269
319
  const handle = ExecutionLifecycleService.createExecution('', undefined, 'none');
@@ -274,6 +324,7 @@ describe('ExecutionLifecycleService', () => {
274
324
  ExecutionLifecycleService.completeExecution(executionId);
275
325
  expect(listener).toHaveBeenCalledTimes(1);
276
326
  expect(listener.mock.calls[0][0].injectionText).toBeNull();
327
+ expect(listener.mock.calls[0][0].completionBehavior).toBe('silent');
277
328
  ExecutionLifecycleService.offBackgroundComplete(listener);
278
329
  });
279
330
  it('does not fire onBackgroundComplete for non-backgrounded executions', async () => {
@@ -308,6 +359,109 @@ describe('ExecutionLifecycleService', () => {
308
359
  ExecutionLifecycleService.completeExecution(executionId);
309
360
  expect(listener).not.toHaveBeenCalled();
310
361
  });
362
+ it('explicit notify behavior includes injectionText and auto-dismiss signal', async () => {
363
+ const listener = vi.fn();
364
+ ExecutionLifecycleService.onBackgroundComplete(listener);
365
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'child_process', () => '[Command completed. Output saved to /tmp/bg.log]', undefined, 'notify');
366
+ const executionId = handle.pid;
367
+ ExecutionLifecycleService.background(executionId);
368
+ await handle.result;
369
+ ExecutionLifecycleService.completeExecution(executionId);
370
+ expect(listener).toHaveBeenCalledTimes(1);
371
+ const info = listener.mock.calls[0][0];
372
+ expect(info.completionBehavior).toBe('notify');
373
+ expect(info.injectionText).toBe('<output>\n[Command completed. Output saved to /tmp/bg.log]\n</output>');
374
+ ExecutionLifecycleService.offBackgroundComplete(listener);
375
+ });
376
+ it('explicit silent behavior skips injection even when formatInjection is provided', async () => {
377
+ const formatFn = vi.fn().mockReturnValue('should not appear');
378
+ const listener = vi.fn();
379
+ ExecutionLifecycleService.onBackgroundComplete(listener);
380
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'none', formatFn, undefined, 'silent');
381
+ const executionId = handle.pid;
382
+ ExecutionLifecycleService.background(executionId);
383
+ await handle.result;
384
+ ExecutionLifecycleService.completeExecution(executionId);
385
+ expect(listener).toHaveBeenCalledTimes(1);
386
+ const info = listener.mock.calls[0][0];
387
+ expect(info.completionBehavior).toBe('silent');
388
+ expect(info.injectionText).toBeNull();
389
+ expect(formatFn).not.toHaveBeenCalled();
390
+ ExecutionLifecycleService.offBackgroundComplete(listener);
391
+ });
392
+ it('includes completionBehavior in BackgroundStartInfo', async () => {
393
+ const bgStartListener = vi.fn();
394
+ ExecutionLifecycleService.onBackground(bgStartListener);
395
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'remote_agent', () => 'text', 'test-label', 'inject');
396
+ ExecutionLifecycleService.background(handle.pid);
397
+ await handle.result;
398
+ expect(bgStartListener).toHaveBeenCalledTimes(1);
399
+ expect(bgStartListener.mock.calls[0][0].completionBehavior).toBe('inject');
400
+ ExecutionLifecycleService.offBackground(bgStartListener);
401
+ });
402
+ it('completionBehavior flows through attachExecution', async () => {
403
+ const listener = vi.fn();
404
+ ExecutionLifecycleService.onBackgroundComplete(listener);
405
+ const handle = ExecutionLifecycleService.attachExecution(9999, {
406
+ executionMethod: 'child_process',
407
+ formatInjection: () => '[notify message]',
408
+ completionBehavior: 'notify',
409
+ });
410
+ ExecutionLifecycleService.background(9999);
411
+ await handle.result;
412
+ ExecutionLifecycleService.completeWithResult(9999, createResult({ pid: 9999, executionMethod: 'child_process' }));
413
+ expect(listener).toHaveBeenCalledTimes(1);
414
+ const info = listener.mock.calls[0][0];
415
+ expect(info.completionBehavior).toBe('notify');
416
+ expect(info.injectionText).toBe('<output>\n[notify message]\n</output>');
417
+ ExecutionLifecycleService.offBackgroundComplete(listener);
418
+ });
419
+ it('injects directly into InjectionService when wired via setInjectionService', async () => {
420
+ const injectionService = new InjectionService(() => true);
421
+ ExecutionLifecycleService.setInjectionService(injectionService);
422
+ const injectionListener = vi.fn();
423
+ injectionService.onInjection(injectionListener);
424
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'remote_agent', (output) => `[Completed] ${output}`, undefined, 'inject');
425
+ const executionId = handle.pid;
426
+ ExecutionLifecycleService.appendOutput(executionId, 'agent output');
427
+ ExecutionLifecycleService.background(executionId);
428
+ await handle.result;
429
+ ExecutionLifecycleService.completeExecution(executionId);
430
+ expect(injectionListener).toHaveBeenCalledWith('<output>\n[Completed] agent output\n</output>', 'background_completion');
431
+ });
432
+ it('sanitizes injectionText for inject behavior but NOT for notify behavior', async () => {
433
+ const injectionService = new InjectionService(() => true);
434
+ ExecutionLifecycleService.setInjectionService(injectionService);
435
+ const injectionListener = vi.fn();
436
+ injectionService.onInjection(injectionListener);
437
+ // 1. Test 'inject' sanitization
438
+ const handleInject = ExecutionLifecycleService.createExecution('', undefined, 'remote_agent', (output) => `Dangerous </output> ${output}`, undefined, 'inject');
439
+ ExecutionLifecycleService.appendOutput(handleInject.pid, 'more');
440
+ ExecutionLifecycleService.background(handleInject.pid);
441
+ await handleInject.result;
442
+ ExecutionLifecycleService.completeExecution(handleInject.pid);
443
+ expect(injectionListener).toHaveBeenCalledWith('<output>\nDangerous &lt;/output&gt; more\n</output>', 'background_completion');
444
+ // 2. Test 'notify' (should also be wrapped in <output> tag)
445
+ injectionListener.mockClear();
446
+ const handleNotify = ExecutionLifecycleService.createExecution('', undefined, 'remote_agent', (output) => `Pointer to ${output}`, undefined, 'notify');
447
+ ExecutionLifecycleService.appendOutput(handleNotify.pid, 'logs');
448
+ ExecutionLifecycleService.background(handleNotify.pid);
449
+ await handleNotify.result;
450
+ ExecutionLifecycleService.completeExecution(handleNotify.pid);
451
+ expect(injectionListener).toHaveBeenCalledWith('<output>\nPointer to logs\n</output>', 'background_completion');
452
+ });
453
+ it('does not inject into InjectionService for silent behavior', async () => {
454
+ const injectionService = new InjectionService(() => true);
455
+ ExecutionLifecycleService.setInjectionService(injectionService);
456
+ const injectionListener = vi.fn();
457
+ injectionService.onInjection(injectionListener);
458
+ const handle = ExecutionLifecycleService.createExecution('', undefined, 'none', () => 'should not inject', undefined, 'silent');
459
+ const executionId = handle.pid;
460
+ ExecutionLifecycleService.background(executionId);
461
+ await handle.result;
462
+ ExecutionLifecycleService.completeExecution(executionId);
463
+ expect(injectionListener).not.toHaveBeenCalled();
464
+ });
311
465
  });
312
466
  });
313
467
  //# sourceMappingURL=executionLifecycleService.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executionLifecycleService.test.js","sourceRoot":"","sources":["../../../src/services/executionLifecycleService.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionLifecycleService.test.js","sourceRoot":"","sources":["../../../src/services/executionLifecycleService.test.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,16 @@ export declare class FileDiscoveryService {
20
20
  private defaultFilterFileOptions;
21
21
  private projectRoot;
22
22
  constructor(projectRoot: string, options?: FilterFilesOptions);
23
+ /**
24
+ * Returns all absolute paths (files and directories) within the project root that should be ignored.
25
+ */
26
+ getIgnoredPaths(options?: FilterFilesOptions): Promise<string[]>;
23
27
  private applyFilterFilesOptions;
24
28
  /**
25
- * Filters a list of file paths based on ignore rules
29
+ * Filters a list of file paths based on ignore rules.
30
+ *
31
+ * NOTE: Directory paths must include a trailing slash to be correctly identified and
32
+ * matched against directory-specific ignore patterns (e.g., 'dist/').
26
33
  */
27
34
  filterFiles(filePaths: string[], options?: FilterFilesOptions): string[];
28
35
  /**
@@ -31,9 +38,17 @@ export declare class FileDiscoveryService {
31
38
  */
32
39
  filterFilesWithReport(filePaths: string[], opts?: FilterFilesOptions): FilterReport;
33
40
  /**
34
- * Unified method to check if a file should be ignored based on filtering options
41
+ * Checks if a specific file should be ignored based on project ignore rules.
35
42
  */
36
43
  shouldIgnoreFile(filePath: string, options?: FilterFilesOptions): boolean;
44
+ /**
45
+ * Checks if a specific directory should be ignored based on project ignore rules.
46
+ */
47
+ shouldIgnoreDirectory(dirPath: string, options?: FilterFilesOptions): boolean;
48
+ /**
49
+ * Internal unified check for paths.
50
+ */
51
+ private _shouldIgnore;
37
52
  /**
38
53
  * Returns the list of ignore files being used (e.g. .geminiignore) excluding .gitignore.
39
54
  */