@google/gemini-cli-core 0.37.0-preview.1 → 0.38.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 (449) hide show
  1. package/README.md +58 -50
  2. package/dist/docs/changelogs/index.md +25 -0
  3. package/dist/docs/changelogs/latest.md +353 -362
  4. package/dist/docs/changelogs/preview.md +399 -366
  5. package/dist/docs/cli/plan-mode.md +1 -0
  6. package/dist/docs/cli/sandbox.md +52 -0
  7. package/dist/docs/cli/settings.md +49 -46
  8. package/dist/docs/core/remote-agents.md +14 -18
  9. package/dist/docs/core/subagents.md +63 -27
  10. package/dist/docs/get-started/authentication.md +2 -2
  11. package/dist/docs/get-started/installation.md +7 -0
  12. package/dist/docs/hooks/index.md +6 -6
  13. package/dist/docs/reference/configuration.md +43 -13
  14. package/dist/docs/reference/keyboard-shortcuts.md +14 -9
  15. package/dist/docs/reference/tools.md +4 -4
  16. package/dist/docs/release-confidence.md +0 -6
  17. package/dist/docs/releases.md +4 -0
  18. package/dist/docs/tools/mcp-server.md +3 -3
  19. package/dist/docs/tools/web-fetch.md +3 -0
  20. package/dist/src/agent/agent-session.test.js +14 -6
  21. package/dist/src/agent/agent-session.test.js.map +1 -1
  22. package/dist/src/agent/event-translator.js +2 -1
  23. package/dist/src/agent/event-translator.js.map +1 -1
  24. package/dist/src/agent/event-translator.test.js +1 -0
  25. package/dist/src/agent/event-translator.test.js.map +1 -1
  26. package/dist/src/agent/legacy-agent-session.d.ts +47 -4
  27. package/dist/src/agent/legacy-agent-session.js +38 -15
  28. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  29. package/dist/src/agent/legacy-agent-session.test.js +60 -73
  30. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  31. package/dist/src/agent/mock.js +7 -1
  32. package/dist/src/agent/mock.js.map +1 -1
  33. package/dist/src/agent/mock.test.js +1 -1
  34. package/dist/src/agent/mock.test.js.map +1 -1
  35. package/dist/src/agent/types.d.ts +34 -1
  36. package/dist/src/agents/agent-scheduler.js +6 -1
  37. package/dist/src/agents/agent-scheduler.js.map +1 -1
  38. package/dist/src/agents/agent-scheduler.test.js +38 -0
  39. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  40. package/dist/src/agents/auth-provider/api-key-provider.test.js +18 -2
  41. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -1
  42. package/dist/src/agents/auth-provider/value-resolver.test.js +30 -0
  43. package/dist/src/agents/auth-provider/value-resolver.test.js.map +1 -1
  44. package/dist/src/agents/browser/analyzeScreenshot.js +36 -6
  45. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
  46. package/dist/src/agents/browser/analyzeScreenshot.test.js +35 -3
  47. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
  48. package/dist/src/agents/browser/browserAgentFactory.d.ts +8 -0
  49. package/dist/src/agents/browser/browserAgentFactory.js +174 -118
  50. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  51. package/dist/src/agents/browser/browserAgentFactory.test.js +70 -1
  52. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  53. package/dist/src/agents/browser/browserAgentInvocation.js +29 -2
  54. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  55. package/dist/src/agents/browser/browserAgentInvocation.test.js +51 -5
  56. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  57. package/dist/src/agents/browser/browserManager.d.ts +38 -0
  58. package/dist/src/agents/browser/browserManager.js +117 -6
  59. package/dist/src/agents/browser/browserManager.js.map +1 -1
  60. package/dist/src/agents/browser/browserManager.test.js +156 -2
  61. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  62. package/dist/src/agents/browser/modelAvailability.d.ts +5 -0
  63. package/dist/src/agents/browser/modelAvailability.js +12 -0
  64. package/dist/src/agents/browser/modelAvailability.js.map +1 -1
  65. package/dist/src/agents/local-executor.d.ts +5 -0
  66. package/dist/src/agents/local-executor.js +98 -181
  67. package/dist/src/agents/local-executor.js.map +1 -1
  68. package/dist/src/agents/local-executor.test.js +386 -101
  69. package/dist/src/agents/local-executor.test.js.map +1 -1
  70. package/dist/src/agents/memory-manager-agent.js +1 -0
  71. package/dist/src/agents/memory-manager-agent.js.map +1 -1
  72. package/dist/src/agents/memory-manager-agent.test.js +6 -0
  73. package/dist/src/agents/memory-manager-agent.test.js.map +1 -1
  74. package/dist/src/agents/registry.js +3 -10
  75. package/dist/src/agents/registry.js.map +1 -1
  76. package/dist/src/agents/skill-extraction-agent.d.ts +24 -0
  77. package/dist/src/agents/skill-extraction-agent.js +269 -0
  78. package/dist/src/agents/skill-extraction-agent.js.map +1 -0
  79. package/dist/src/agents/types.d.ts +11 -0
  80. package/dist/src/code_assist/admin/admin_controls.js +1 -1
  81. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  82. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  83. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  84. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  85. package/dist/src/code_assist/server.js +1 -1
  86. package/dist/src/code_assist/server.js.map +1 -1
  87. package/dist/src/commands/memory.js +1 -1
  88. package/dist/src/commands/memory.js.map +1 -1
  89. package/dist/src/config/config.d.ts +34 -31
  90. package/dist/src/config/config.js +101 -38
  91. package/dist/src/config/config.js.map +1 -1
  92. package/dist/src/config/config.test.js +102 -15
  93. package/dist/src/config/config.test.js.map +1 -1
  94. package/dist/src/config/extensions/integrity.js +1 -1
  95. package/dist/src/config/extensions/integrity.js.map +1 -1
  96. package/dist/src/config/projectRegistry.js +5 -3
  97. package/dist/src/config/projectRegistry.js.map +1 -1
  98. package/dist/src/config/scoped-config.d.ts +30 -0
  99. package/dist/src/config/scoped-config.js +69 -0
  100. package/dist/src/config/scoped-config.js.map +1 -0
  101. package/dist/src/config/scoped-config.test.d.ts +6 -0
  102. package/dist/src/config/scoped-config.test.js +161 -0
  103. package/dist/src/config/scoped-config.test.js.map +1 -0
  104. package/dist/src/config/storage.d.ts +2 -0
  105. package/dist/src/config/storage.js +7 -2
  106. package/dist/src/config/storage.js.map +1 -1
  107. package/dist/src/config/storage.test.js +7 -7
  108. package/dist/src/config/storage.test.js.map +1 -1
  109. package/dist/src/confirmation-bus/types.d.ts +2 -2
  110. package/dist/src/context/agentHistoryProvider.d.ts +1 -1
  111. package/dist/src/context/agentHistoryProvider.js +1 -5
  112. package/dist/src/context/agentHistoryProvider.js.map +1 -1
  113. package/dist/src/context/agentHistoryProvider.test.js +2 -39
  114. package/dist/src/context/agentHistoryProvider.test.js.map +1 -1
  115. package/dist/src/context/contextCompressionService.d.ts +30 -0
  116. package/dist/src/context/contextCompressionService.js +405 -0
  117. package/dist/src/context/contextCompressionService.js.map +1 -0
  118. package/dist/src/context/contextCompressionService.test.d.ts +1 -0
  119. package/dist/src/context/contextCompressionService.test.js +253 -0
  120. package/dist/src/context/contextCompressionService.test.js.map +1 -0
  121. package/dist/src/context/{contextManager.d.ts → memoryContextManager.d.ts} +1 -1
  122. package/dist/src/context/{contextManager.js → memoryContextManager.js} +2 -2
  123. package/dist/src/context/memoryContextManager.js.map +1 -0
  124. package/dist/src/context/{contextManager.test.js → memoryContextManager.test.js} +22 -28
  125. package/dist/src/context/memoryContextManager.test.js.map +1 -0
  126. package/dist/src/context/profiles.d.ts +7 -0
  127. package/dist/src/context/profiles.js +21 -0
  128. package/dist/src/context/profiles.js.map +1 -0
  129. package/dist/src/context/toolDistillationService.test.js +3 -0
  130. package/dist/src/context/toolDistillationService.test.js.map +1 -1
  131. package/dist/src/context/types.d.ts +36 -0
  132. package/dist/src/context/types.js.map +1 -0
  133. package/dist/src/core/baseLlmClient.js +1 -1
  134. package/dist/src/core/baseLlmClient.js.map +1 -1
  135. package/dist/src/core/baseLlmClient.test.js +1 -0
  136. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  137. package/dist/src/core/client.js +1 -1
  138. package/dist/src/core/client.js.map +1 -1
  139. package/dist/src/core/client.test.js +7 -6
  140. package/dist/src/core/client.test.js.map +1 -1
  141. package/dist/src/core/geminiChat.js +8 -0
  142. package/dist/src/core/geminiChat.js.map +1 -1
  143. package/dist/src/core/geminiChat.test.js +1 -0
  144. package/dist/src/core/geminiChat.test.js.map +1 -1
  145. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  146. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  147. package/dist/src/core/logger.js +4 -4
  148. package/dist/src/core/logger.js.map +1 -1
  149. package/dist/src/core/logger.test.js +1 -1
  150. package/dist/src/core/logger.test.js.map +1 -1
  151. package/dist/src/core/loggingContentGenerator.js +1 -1
  152. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  153. package/dist/src/generated/git-commit.d.ts +2 -2
  154. package/dist/src/generated/git-commit.js +2 -2
  155. package/dist/src/hooks/hookEventHandler.js +8 -0
  156. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  157. package/dist/src/hooks/hookRunner.js +9 -5
  158. package/dist/src/hooks/hookRunner.js.map +1 -1
  159. package/dist/src/hooks/hookRunner.test.js +20 -3
  160. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  161. package/dist/src/hooks/hookSystem.d.ts +2 -0
  162. package/dist/src/hooks/hookSystem.js +1 -0
  163. package/dist/src/hooks/hookSystem.js.map +1 -1
  164. package/dist/src/hooks/hookTranslator.js +20 -13
  165. package/dist/src/hooks/hookTranslator.js.map +1 -1
  166. package/dist/src/hooks/hookTranslator.test.js +36 -0
  167. package/dist/src/hooks/hookTranslator.test.js.map +1 -1
  168. package/dist/src/hooks/types.d.ts +2 -0
  169. package/dist/src/ide/ide-client.js +3 -3
  170. package/dist/src/ide/ide-client.js.map +1 -1
  171. package/dist/src/ide/ide-connection-utils.js +1 -1
  172. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  173. package/dist/src/ide/ide-installer.js +3 -3
  174. package/dist/src/ide/ide-installer.js.map +1 -1
  175. package/dist/src/ide/process-utils.js +3 -3
  176. package/dist/src/ide/process-utils.js.map +1 -1
  177. package/dist/src/index.d.ts +4 -1
  178. package/dist/src/index.js +5 -1
  179. package/dist/src/index.js.map +1 -1
  180. package/dist/src/output/json-formatter.js +2 -1
  181. package/dist/src/output/json-formatter.js.map +1 -1
  182. package/dist/src/policy/config.test.js +21 -20
  183. package/dist/src/policy/config.test.js.map +1 -1
  184. package/dist/src/policy/policies/memory-manager.toml +11 -1
  185. package/dist/src/policy/policies/plan.toml +4 -3
  186. package/dist/src/policy/policies/read-only.toml +6 -0
  187. package/dist/src/policy/policies/sandbox-default.toml +2 -3
  188. package/dist/src/policy/policy-engine.js +23 -0
  189. package/dist/src/policy/policy-engine.js.map +1 -1
  190. package/dist/src/policy/policy-engine.test.js +129 -1
  191. package/dist/src/policy/policy-engine.test.js.map +1 -1
  192. package/dist/src/policy/sandboxPolicyManager.d.ts +26 -1
  193. package/dist/src/policy/sandboxPolicyManager.js +41 -12
  194. package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
  195. package/dist/src/policy/sandboxPolicyManager.test.d.ts +6 -0
  196. package/dist/src/policy/sandboxPolicyManager.test.js +61 -0
  197. package/dist/src/policy/sandboxPolicyManager.test.js.map +1 -0
  198. package/dist/src/policy/workspace-policy.test.js +18 -15
  199. package/dist/src/policy/workspace-policy.test.js.map +1 -1
  200. package/dist/src/prompts/snippets.js +6 -3
  201. package/dist/src/prompts/snippets.js.map +1 -1
  202. package/dist/src/prompts/snippets.legacy.js +6 -2
  203. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  204. package/dist/src/prompts/utils.test.js +7 -5
  205. package/dist/src/prompts/utils.test.js.map +1 -1
  206. package/dist/src/safety/built-in.js +1 -1
  207. package/dist/src/safety/built-in.js.map +1 -1
  208. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +4 -4
  209. package/dist/src/sandbox/linux/LinuxSandboxManager.js +47 -191
  210. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  211. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +33 -395
  212. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  213. package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +24 -0
  214. package/dist/src/sandbox/linux/bwrapArgsBuilder.js +200 -0
  215. package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -0
  216. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.d.ts +6 -0
  217. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +247 -0
  218. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -0
  219. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +3 -0
  220. package/dist/src/sandbox/macos/MacOsSandboxManager.js +12 -5
  221. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  222. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +20 -0
  223. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  224. package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
  225. package/dist/src/sandbox/macos/baseProfile.js +28 -4
  226. package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
  227. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +1 -1
  228. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  229. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +2 -1
  230. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  231. package/dist/src/sandbox/utils/fsUtils.js +8 -6
  232. package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
  233. package/dist/src/sandbox/utils/fsUtils.test.d.ts +6 -0
  234. package/dist/src/sandbox/utils/fsUtils.test.js +43 -0
  235. package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -0
  236. package/dist/src/sandbox/utils/proactivePermissions.d.ts +19 -0
  237. package/dist/src/sandbox/utils/proactivePermissions.js +163 -0
  238. package/dist/src/sandbox/utils/proactivePermissions.js.map +1 -0
  239. package/dist/src/sandbox/utils/proactivePermissions.test.d.ts +6 -0
  240. package/dist/src/sandbox/utils/proactivePermissions.test.js +145 -0
  241. package/dist/src/sandbox/utils/proactivePermissions.test.js.map +1 -0
  242. package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +16 -1
  243. package/dist/src/sandbox/utils/sandboxDenialUtils.js +98 -24
  244. package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -1
  245. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +152 -1
  246. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -1
  247. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +4 -0
  248. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -1
  249. package/dist/src/sandbox/windows/GeminiSandbox.cs +90 -42
  250. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -0
  251. package/dist/src/sandbox/windows/WindowsSandboxManager.js +65 -60
  252. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  253. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +99 -54
  254. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  255. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +2 -1
  256. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +19 -18
  257. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -1
  258. package/dist/src/scheduler/scheduler.js +1 -1
  259. package/dist/src/scheduler/scheduler.js.map +1 -1
  260. package/dist/src/scheduler/scheduler_hooks.test.js +1 -1
  261. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  262. package/dist/src/scheduler/tool-executor.js +1 -1
  263. package/dist/src/scheduler/tool-executor.js.map +1 -1
  264. package/dist/src/scheduler/tool-executor.test.js +1 -1
  265. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  266. package/dist/src/services/executionLifecycleService.d.ts +1 -0
  267. package/dist/src/services/executionLifecycleService.js +3 -0
  268. package/dist/src/services/executionLifecycleService.js.map +1 -1
  269. package/dist/src/services/gitService.js +1 -1
  270. package/dist/src/services/gitService.js.map +1 -1
  271. package/dist/src/services/memoryService.d.ts +65 -0
  272. package/dist/src/services/memoryService.js +511 -0
  273. package/dist/src/services/memoryService.js.map +1 -0
  274. package/dist/src/services/memoryService.test.d.ts +6 -0
  275. package/dist/src/services/memoryService.test.js +563 -0
  276. package/dist/src/services/memoryService.test.js.map +1 -0
  277. package/dist/src/services/sandboxManager.d.ts +17 -0
  278. package/dist/src/services/sandboxManager.integration.test.js +18 -11
  279. package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
  280. package/dist/src/services/sandboxManager.js +20 -0
  281. package/dist/src/services/sandboxManager.js.map +1 -1
  282. package/dist/src/services/sandboxManager.test.js +84 -56
  283. package/dist/src/services/sandboxManager.test.js.map +1 -1
  284. package/dist/src/services/sandboxManagerFactory.js +2 -5
  285. package/dist/src/services/sandboxManagerFactory.js.map +1 -1
  286. package/dist/src/services/sandboxedFileSystemService.js +14 -3
  287. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  288. package/dist/src/services/sandboxedFileSystemService.test.js +29 -14
  289. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
  290. package/dist/src/services/shellExecutionService.d.ts +16 -1
  291. package/dist/src/services/shellExecutionService.js +70 -10
  292. package/dist/src/services/shellExecutionService.js.map +1 -1
  293. package/dist/src/services/shellExecutionService.test.js +65 -4
  294. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  295. package/dist/src/services/worktreeService.test.js +7 -7
  296. package/dist/src/services/worktreeService.test.js.map +1 -1
  297. package/dist/src/skills/skillLoader.d.ts +8 -0
  298. package/dist/src/skills/skillLoader.js +1 -1
  299. package/dist/src/skills/skillLoader.js.map +1 -1
  300. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +29 -1
  301. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +101 -0
  302. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  303. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +167 -0
  304. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  305. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -1
  306. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -1
  307. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  308. package/dist/src/telemetry/loggers.d.ts +22 -0
  309. package/dist/src/telemetry/loggers.js +40 -1
  310. package/dist/src/telemetry/loggers.js.map +1 -1
  311. package/dist/src/telemetry/metrics.d.ts +108 -0
  312. package/dist/src/telemetry/metrics.js +177 -0
  313. package/dist/src/telemetry/metrics.js.map +1 -1
  314. package/dist/src/telemetry/metrics.test.js +254 -0
  315. package/dist/src/telemetry/metrics.test.js.map +1 -1
  316. package/dist/src/tools/complete-task.d.ts +29 -0
  317. package/dist/src/tools/complete-task.js +123 -0
  318. package/dist/src/tools/complete-task.js.map +1 -0
  319. package/dist/src/tools/complete-task.test.d.ts +6 -0
  320. package/dist/src/tools/complete-task.test.js +114 -0
  321. package/dist/src/tools/complete-task.test.js.map +1 -0
  322. package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
  323. package/dist/src/tools/definitions/base-declarations.js +3 -0
  324. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  325. package/dist/src/tools/definitions/coreTools.d.ts +1 -1
  326. package/dist/src/tools/definitions/coreTools.js +1 -1
  327. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  328. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +4 -0
  329. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  330. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +3 -3
  331. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  332. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  333. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  334. package/dist/src/tools/grep.test.js +2 -2
  335. package/dist/src/tools/grep.test.js.map +1 -1
  336. package/dist/src/tools/jit-context.js +3 -3
  337. package/dist/src/tools/jit-context.js.map +1 -1
  338. package/dist/src/tools/jit-context.test.js +15 -13
  339. package/dist/src/tools/jit-context.test.js.map +1 -1
  340. package/dist/src/tools/mcp-client.js +1 -1
  341. package/dist/src/tools/mcp-client.js.map +1 -1
  342. package/dist/src/tools/mcp-tool.test.js +1 -1
  343. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  344. package/dist/src/tools/ripGrep.test.js +1 -1
  345. package/dist/src/tools/ripGrep.test.js.map +1 -1
  346. package/dist/src/tools/shell.d.ts +7 -4
  347. package/dist/src/tools/shell.js +255 -37
  348. package/dist/src/tools/shell.js.map +1 -1
  349. package/dist/src/tools/shell.test.js +182 -8
  350. package/dist/src/tools/shell.test.js.map +1 -1
  351. package/dist/src/tools/shellBackgroundTools.d.ts +38 -0
  352. package/dist/src/tools/shellBackgroundTools.integration.test.d.ts +6 -0
  353. package/dist/src/tools/shellBackgroundTools.integration.test.js +86 -0
  354. package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -0
  355. package/dist/src/tools/shellBackgroundTools.js +186 -0
  356. package/dist/src/tools/shellBackgroundTools.js.map +1 -0
  357. package/dist/src/tools/shellBackgroundTools.test.d.ts +6 -0
  358. package/dist/src/tools/shellBackgroundTools.test.js +230 -0
  359. package/dist/src/tools/shellBackgroundTools.test.js.map +1 -0
  360. package/dist/src/tools/shell_proactive.test.d.ts +6 -0
  361. package/dist/src/tools/shell_proactive.test.js +122 -0
  362. package/dist/src/tools/shell_proactive.test.js.map +1 -0
  363. package/dist/src/tools/tool-names.d.ts +3 -3
  364. package/dist/src/tools/tool-names.js +3 -2
  365. package/dist/src/tools/tool-names.js.map +1 -1
  366. package/dist/src/tools/tools.js +1 -1
  367. package/dist/src/tools/tools.js.map +1 -1
  368. package/dist/src/tools/web-fetch.js +8 -8
  369. package/dist/src/tools/web-fetch.js.map +1 -1
  370. package/dist/src/tools/web-fetch.test.js +5 -5
  371. package/dist/src/tools/web-fetch.test.js.map +1 -1
  372. package/dist/src/tools/xcode-mcp-fix-transport.js +1 -1
  373. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  374. package/dist/src/utils/bfsFileSearch.js +3 -6
  375. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  376. package/dist/src/utils/checkpointUtils.js +11 -8
  377. package/dist/src/utils/checkpointUtils.js.map +1 -1
  378. package/dist/src/utils/compatibility.js +0 -7
  379. package/dist/src/utils/compatibility.js.map +1 -1
  380. package/dist/src/utils/compatibility.test.js +0 -9
  381. package/dist/src/utils/compatibility.test.js.map +1 -1
  382. package/dist/src/utils/editor.js +3 -0
  383. package/dist/src/utils/editor.js.map +1 -1
  384. package/dist/src/utils/errorParsing.js +2 -2
  385. package/dist/src/utils/errorParsing.js.map +1 -1
  386. package/dist/src/utils/events.d.ts +12 -0
  387. package/dist/src/utils/events.js +7 -0
  388. package/dist/src/utils/events.js.map +1 -1
  389. package/dist/src/utils/fetch.d.ts +1 -0
  390. package/dist/src/utils/fetch.js +22 -6
  391. package/dist/src/utils/fetch.js.map +1 -1
  392. package/dist/src/utils/fetch.test.js +26 -1
  393. package/dist/src/utils/fetch.test.js.map +1 -1
  394. package/dist/src/utils/fileUtils.js +1 -1
  395. package/dist/src/utils/fileUtils.js.map +1 -1
  396. package/dist/src/utils/filesearch/crawler.js +1 -1
  397. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  398. package/dist/src/utils/filesearch/fileSearch.test.js +7 -2
  399. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  400. package/dist/src/utils/getPty.js +2 -2
  401. package/dist/src/utils/getPty.js.map +1 -1
  402. package/dist/src/utils/gitIgnoreParser.js +2 -2
  403. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  404. package/dist/src/utils/gitUtils.js +2 -2
  405. package/dist/src/utils/gitUtils.js.map +1 -1
  406. package/dist/src/utils/googleErrors.js +5 -5
  407. package/dist/src/utils/googleErrors.js.map +1 -1
  408. package/dist/src/utils/ignoreFileParser.js +1 -1
  409. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  410. package/dist/src/utils/memoryDiscovery.js +3 -7
  411. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  412. package/dist/src/utils/paths.d.ts +8 -0
  413. package/dist/src/utils/paths.js +37 -6
  414. package/dist/src/utils/paths.js.map +1 -1
  415. package/dist/src/utils/paths.test.js +61 -3
  416. package/dist/src/utils/paths.test.js.map +1 -1
  417. package/dist/src/utils/process-utils.js +2 -2
  418. package/dist/src/utils/process-utils.js.map +1 -1
  419. package/dist/src/utils/retry.js +7 -0
  420. package/dist/src/utils/retry.js.map +1 -1
  421. package/dist/src/utils/retry.test.js +41 -0
  422. package/dist/src/utils/retry.test.js.map +1 -1
  423. package/dist/src/utils/secure-browser-launcher.js +1 -1
  424. package/dist/src/utils/secure-browser-launcher.js.map +1 -1
  425. package/dist/src/utils/shell-utils.d.ts +9 -0
  426. package/dist/src/utils/shell-utils.integration.test.js +1 -1
  427. package/dist/src/utils/shell-utils.integration.test.js.map +1 -1
  428. package/dist/src/utils/shell-utils.js +43 -4
  429. package/dist/src/utils/shell-utils.js.map +1 -1
  430. package/dist/src/utils/shell-utils.test.js +13 -1
  431. package/dist/src/utils/shell-utils.test.js.map +1 -1
  432. package/dist/src/utils/systemEncoding.js +1 -1
  433. package/dist/src/utils/systemEncoding.js.map +1 -1
  434. package/dist/src/utils/terminalSerializer.d.ts +1 -0
  435. package/dist/src/utils/terminalSerializer.js +31 -8
  436. package/dist/src/utils/terminalSerializer.js.map +1 -1
  437. package/dist/src/utils/terminalSerializer.test.js +3 -2
  438. package/dist/src/utils/terminalSerializer.test.js.map +1 -1
  439. package/dist/src/utils/workspaceContext.js +2 -2
  440. package/dist/src/utils/workspaceContext.js.map +1 -1
  441. package/dist/tsconfig.tsbuildinfo +1 -1
  442. package/package.json +1 -1
  443. package/dist/google-gemini-cli-core-0.37.0-preview.0.tgz +0 -0
  444. package/dist/src/context/contextManager.js.map +0 -1
  445. package/dist/src/context/contextManager.test.js.map +0 -1
  446. package/dist/src/services/types.d.ts +0 -14
  447. package/dist/src/services/types.js.map +0 -1
  448. /package/dist/src/context/{contextManager.test.d.ts → memoryContextManager.test.d.ts} +0 -0
  449. /package/dist/src/{services → context}/types.js +0 -0
@@ -12,11 +12,13 @@ import { fileURLToPath } from 'node:url';
12
12
  import { debugLogger } from '../utils/debugLogger.js';
13
13
  import {} from '../services/sandboxManager.js';
14
14
  import { sanitizePaths } from '../services/sandboxManager.js';
15
+ import { normalizeCommand } from '../utils/shell-utils.js';
15
16
  export const SandboxModeConfigSchema = z.object({
16
17
  network: z.boolean(),
17
18
  readonly: z.boolean(),
18
19
  approvedTools: z.array(z.string()),
19
20
  allowOverrides: z.boolean().optional(),
21
+ yolo: z.boolean().optional(),
20
22
  });
21
23
  export const PersistentCommandConfigSchema = z.object({
22
24
  allowed_paths: z.array(z.string()).optional(),
@@ -46,11 +48,11 @@ export class SandboxPolicyManager {
46
48
  network: false,
47
49
  readonly: true,
48
50
  approvedTools: [],
49
- allowOverrides: false,
51
+ allowOverrides: true,
50
52
  },
51
53
  default: {
52
54
  network: false,
53
- readonly: true,
55
+ readonly: false,
54
56
  approvedTools: [],
55
57
  allowOverrides: true,
56
58
  },
@@ -83,6 +85,9 @@ export class SandboxPolicyManager {
83
85
  path.join(os.homedir(), '.gemini', 'policies', 'sandbox.toml');
84
86
  this.config = this.loadConfig();
85
87
  }
88
+ isProtectedKey(key) {
89
+ return key === '__proto__' || key === 'constructor' || key === 'prototype';
90
+ }
86
91
  loadConfig() {
87
92
  if (!fs.existsSync(this.configPath)) {
88
93
  return SandboxPolicyManager.DEFAULT_CONFIG;
@@ -111,6 +116,15 @@ export class SandboxPolicyManager {
111
116
  }
112
117
  }
113
118
  getModeConfig(mode) {
119
+ if (mode === 'yolo') {
120
+ return {
121
+ network: true,
122
+ readonly: false,
123
+ approvedTools: [],
124
+ allowOverrides: true,
125
+ yolo: true,
126
+ };
127
+ }
114
128
  if (mode === 'plan')
115
129
  return this.config.modes.plan;
116
130
  if (mode === 'accepting_edits' || mode === 'autoEdit')
@@ -121,8 +135,15 @@ export class SandboxPolicyManager {
121
135
  return this.config.modes.default ?? this.config.modes.plan;
122
136
  }
123
137
  getCommandPermissions(commandName) {
124
- const persistent = this.config.commands[commandName];
125
- const session = this.sessionApprovals[commandName];
138
+ const normalized = normalizeCommand(commandName);
139
+ if (this.isProtectedKey(normalized)) {
140
+ return {
141
+ fileSystem: { read: [], write: [] },
142
+ network: false,
143
+ };
144
+ }
145
+ const persistent = this.config.commands[normalized];
146
+ const session = this.sessionApprovals[normalized];
126
147
  return {
127
148
  fileSystem: {
128
149
  read: [
@@ -138,26 +159,34 @@ export class SandboxPolicyManager {
138
159
  };
139
160
  }
140
161
  addSessionApproval(commandName, permissions) {
141
- const existing = this.sessionApprovals[commandName] || {
162
+ const normalized = normalizeCommand(commandName);
163
+ if (this.isProtectedKey(normalized)) {
164
+ return;
165
+ }
166
+ const existing = this.sessionApprovals[normalized] || {
142
167
  fileSystem: { read: [], write: [] },
143
168
  network: false,
144
169
  };
145
- this.sessionApprovals[commandName] = {
170
+ this.sessionApprovals[normalized] = {
146
171
  fileSystem: {
147
- read: Array.from(new Set([
172
+ read: sanitizePaths([
148
173
  ...(existing.fileSystem?.read ?? []),
149
174
  ...(permissions.fileSystem?.read ?? []),
150
- ])),
151
- write: Array.from(new Set([
175
+ ]),
176
+ write: sanitizePaths([
152
177
  ...(existing.fileSystem?.write ?? []),
153
178
  ...(permissions.fileSystem?.write ?? []),
154
- ])),
179
+ ]),
155
180
  },
156
181
  network: existing.network || permissions.network || false,
157
182
  };
158
183
  }
159
184
  addPersistentApproval(commandName, permissions) {
160
- const existing = this.config.commands[commandName] || {
185
+ const normalized = normalizeCommand(commandName);
186
+ if (this.isProtectedKey(normalized)) {
187
+ return;
188
+ }
189
+ const existing = this.config.commands[normalized] || {
161
190
  allowed_paths: [],
162
191
  allow_network: false,
163
192
  };
@@ -167,7 +196,7 @@ export class SandboxPolicyManager {
167
196
  ...(permissions.fileSystem?.write ?? []),
168
197
  ];
169
198
  const newPaths = new Set(sanitizePaths(newPathsArray));
170
- this.config.commands[commandName] = {
199
+ this.config.commands[normalized] = {
171
200
  allowed_paths: Array.from(newPaths),
172
201
  allow_network: existing.allow_network || permissions.network || false,
173
202
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxPolicyManager.js","sourceRoot":"","sources":["../../../src/policy/sandboxPolicyManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandboxPolicyManager.js","sourceRoot":"","sources":["../../../src/policy/sandboxPolicyManager.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,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
+ import { SandboxPolicyManager } from './sandboxPolicyManager.js';
8
+ import fs from 'node:fs';
9
+ import os from 'node:os';
10
+ import path from 'node:path';
11
+ describe('SandboxPolicyManager', () => {
12
+ const tempDir = path.join(os.tmpdir(), 'gemini-test-sandbox-policy');
13
+ const configPath = path.join(tempDir, 'sandbox.toml');
14
+ beforeEach(() => {
15
+ if (!fs.existsSync(tempDir)) {
16
+ fs.mkdirSync(tempDir, { recursive: true });
17
+ }
18
+ });
19
+ afterEach(() => {
20
+ if (fs.existsSync(tempDir)) {
21
+ fs.rmSync(tempDir, { recursive: true, force: true });
22
+ }
23
+ });
24
+ it('should add and retrieve session approvals', () => {
25
+ const manager = new SandboxPolicyManager(configPath);
26
+ manager.addSessionApproval('ls', {
27
+ fileSystem: { read: ['/tmp'], write: [] },
28
+ network: false,
29
+ });
30
+ const perms = manager.getCommandPermissions('ls');
31
+ expect(perms.fileSystem?.read).toContain('/tmp');
32
+ });
33
+ it('should protect against prototype pollution (session)', () => {
34
+ const manager = new SandboxPolicyManager(configPath);
35
+ manager.addSessionApproval('__proto__', {
36
+ fileSystem: { read: ['/POLLUTED'], write: [] },
37
+ network: true,
38
+ });
39
+ const perms = manager.getCommandPermissions('any-command');
40
+ expect(perms.fileSystem?.read).not.toContain('/POLLUTED');
41
+ });
42
+ it('should protect against prototype pollution (persistent)', () => {
43
+ const manager = new SandboxPolicyManager(configPath);
44
+ manager.addPersistentApproval('constructor', {
45
+ fileSystem: { read: ['/POLLUTED_PERSISTENT'], write: [] },
46
+ network: true,
47
+ });
48
+ const perms = manager.getCommandPermissions('constructor');
49
+ expect(perms.fileSystem?.read).not.toContain('/POLLUTED_PERSISTENT');
50
+ });
51
+ it('should lowercase command names for normalization', () => {
52
+ const manager = new SandboxPolicyManager(configPath);
53
+ manager.addSessionApproval('NPM', {
54
+ fileSystem: { read: ['/node_modules'], write: [] },
55
+ network: true,
56
+ });
57
+ const perms = manager.getCommandPermissions('npm');
58
+ expect(perms.fileSystem?.read).toContain('/node_modules');
59
+ });
60
+ });
61
+ //# sourceMappingURL=sandboxPolicyManager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxPolicyManager.test.js","sourceRoot":"","sources":["../../../src/policy/sandboxPolicyManager.test.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ describe('Workspace-Level Policies', () => {
15
15
  beforeEach(async () => {
16
16
  vi.resetModules();
17
17
  const { Storage } = await import('../config/storage.js');
18
- vi.spyOn(Storage, 'getUserPoliciesDir').mockReturnValue('/mock/user/policies');
19
- vi.spyOn(Storage, 'getSystemPoliciesDir').mockReturnValue('/mock/system/policies');
18
+ vi.spyOn(Storage, 'getUserPoliciesDir').mockReturnValue(nodePath.resolve('/mock/user/policies'));
19
+ vi.spyOn(Storage, 'getSystemPoliciesDir').mockReturnValue(nodePath.resolve('/mock/system/policies'));
20
20
  // Ensure security check always returns secure
21
21
  vi.mocked(isDirectorySecure).mockResolvedValue({ secure: true });
22
22
  });
@@ -26,12 +26,13 @@ describe('Workspace-Level Policies', () => {
26
26
  vi.doUnmock('node:fs/promises');
27
27
  });
28
28
  it('should load workspace policies with correct priority (Tier 3)', async () => {
29
- const workspacePoliciesDir = '/mock/workspace/policies';
30
- const defaultPoliciesDir = '/mock/default/policies';
29
+ const workspacePoliciesDir = nodePath.resolve('/mock/workspace/policies');
30
+ const defaultPoliciesDir = nodePath.resolve('/mock/default/policies');
31
31
  // Mock FS
32
32
  const actualFs = await vi.importActual('node:fs/promises');
33
+ const mockRoot = nodePath.resolve('/mock/');
33
34
  const mockStat = vi.fn(async (path) => {
34
- if (typeof path === 'string' && path.startsWith('/mock/')) {
35
+ if (typeof path === 'string' && path.startsWith(mockRoot)) {
35
36
  return {
36
37
  isDirectory: () => true,
37
38
  isFile: () => false,
@@ -42,7 +43,7 @@ describe('Workspace-Level Policies', () => {
42
43
  // Mock readdir to return a policy file for each tier
43
44
  const mockReaddir = vi.fn(async (path) => {
44
45
  const normalizedPath = nodePath.normalize(path);
45
- if (normalizedPath.endsWith('default/policies'))
46
+ if (normalizedPath.endsWith(nodePath.normalize('default/policies')))
46
47
  return [
47
48
  {
48
49
  name: 'default.toml',
@@ -50,11 +51,11 @@ describe('Workspace-Level Policies', () => {
50
51
  isDirectory: () => false,
51
52
  },
52
53
  ];
53
- if (normalizedPath.endsWith('user/policies'))
54
+ if (normalizedPath.endsWith(nodePath.normalize('user/policies')))
54
55
  return [
55
56
  { name: 'user.toml', isFile: () => true, isDirectory: () => false },
56
57
  ];
57
- if (normalizedPath.endsWith('workspace/policies'))
58
+ if (normalizedPath.endsWith(nodePath.normalize('workspace/policies')))
58
59
  return [
59
60
  {
60
61
  name: 'workspace.toml',
@@ -62,7 +63,7 @@ describe('Workspace-Level Policies', () => {
62
63
  isDirectory: () => false,
63
64
  },
64
65
  ];
65
- if (normalizedPath.endsWith('system/policies'))
66
+ if (normalizedPath.endsWith(nodePath.normalize('system/policies')))
66
67
  return [
67
68
  { name: 'admin.toml', isFile: () => true, isDirectory: () => false },
68
69
  ];
@@ -132,11 +133,12 @@ priority = 10
132
133
  expect(workspaceRule.priority).toBeGreaterThan(defaultRule.priority);
133
134
  });
134
135
  it('should ignore workspace policies if workspacePoliciesDir is undefined', async () => {
135
- const defaultPoliciesDir = '/mock/default/policies';
136
+ const defaultPoliciesDir = nodePath.resolve('/mock/default/policies');
136
137
  // Mock FS (simplified)
137
138
  const actualFs = await vi.importActual('node:fs/promises');
139
+ const mockRoot = nodePath.resolve('/mock/');
138
140
  const mockStat = vi.fn(async (path) => {
139
- if (typeof path === 'string' && path.startsWith('/mock/')) {
141
+ if (typeof path === 'string' && path.startsWith(mockRoot)) {
140
142
  return {
141
143
  isDirectory: () => true,
142
144
  isFile: () => false,
@@ -146,7 +148,7 @@ priority = 10
146
148
  });
147
149
  const mockReaddir = vi.fn(async (path) => {
148
150
  const normalizedPath = nodePath.normalize(path);
149
- if (normalizedPath.endsWith('default/policies'))
151
+ if (normalizedPath.endsWith(nodePath.normalize('default/policies')))
150
152
  return [
151
153
  {
152
154
  name: 'default.toml',
@@ -180,11 +182,12 @@ priority=10`);
180
182
  expect(rules[0].priority).toBe(1.01);
181
183
  });
182
184
  it('should load workspace policies and correctly transform to Tier 3', async () => {
183
- const workspacePoliciesDir = '/mock/workspace/policies';
185
+ const workspacePoliciesDir = nodePath.resolve('/mock/workspace/policies');
184
186
  // Mock FS
185
187
  const actualFs = await vi.importActual('node:fs/promises');
188
+ const mockRoot = nodePath.resolve('/mock/');
186
189
  const mockStat = vi.fn(async (path) => {
187
- if (typeof path === 'string' && path.startsWith('/mock/')) {
190
+ if (typeof path === 'string' && path.startsWith(mockRoot)) {
188
191
  return {
189
192
  isDirectory: () => true,
190
193
  isFile: () => false,
@@ -194,7 +197,7 @@ priority=10`);
194
197
  });
195
198
  const mockReaddir = vi.fn(async (path) => {
196
199
  const normalizedPath = nodePath.normalize(path);
197
- if (normalizedPath.endsWith('workspace/policies'))
200
+ if (normalizedPath.endsWith(nodePath.normalize('workspace/policies')))
198
201
  return [
199
202
  {
200
203
  name: 'workspace.toml',
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-policy.test.js","sourceRoot":"","sources":["../../../src/policy/workspace-policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-policy.test.js","sourceRoot":"","sources":["../../../src/policy/workspace-policy.test.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,8 @@ Use the following guidelines to optimize your search and read patterns.
109
109
  ## Engineering Standards
110
110
  - **Contextual Precedence:** Instructions found in ${formattedFilenames} files are foundational mandates. They take absolute precedence over the general workflows and tool defaults described in this system prompt.
111
111
  - **Conventions & Style:** Rigorously adhere to existing workspace conventions, architectural patterns, and style (naming, formatting, typing, commenting). During the research phase, analyze surrounding files, tests, and configuration to ensure your changes are seamless, idiomatic, and consistent with the local context. Never compromise idiomatic quality or completeness (e.g., proper declarations, type safety, documentation) to minimize tool calls; all supporting changes required by local conventions are part of a surgical update.
112
- - **Types, warnings and linters:** NEVER use hacks like disabling or suppressing warnings or bypassing the type system (i.e.: casts in TypeScript) unless explicitly instructed to by the user. Instead, use idiomatic language features (e.g.: type guard functions).
112
+ - **Types, warnings and linters:** NEVER use hacks like disabling or suppressing warnings, bypassing the type system (e.g.: casts in TypeScript), or employing "hidden" logic (e.g.: reflection, prototype manipulation) unless explicitly instructed to by the user. Instead, use explicit and idiomatic language features (e.g.: type guards, explicit class instantiation, or object spread) that maintain structural integrity and type safety.
113
+ - **Design Patterns:** Prioritize explicit composition and delegation (e.g.: wrapper classes, proxies, or factory functions) over complex inheritance or prototype-based cloning. When extending or modifying existing classes, prefer patterns that are easily traceable and type-safe.
113
114
  - **Libraries/Frameworks:** NEVER assume a library/framework is available. Verify its established usage within the project (check imports, configuration files like 'package.json', 'Cargo.toml', 'requirements.txt', etc.) before employing it.
114
115
  - **Technical Integrity:** You are responsible for the entire lifecycle: implementation, testing, and validation. Within the scope of your changes, prioritize readability and long-term maintainability by consolidating logic into clean abstractions rather than threading state across unrelated layers. Align strictly with the requested architectural direction, ensuring the final implementation is focused and free of redundant "just-in-case" alternatives. Validation is not merely running tests; it is the exhaustive process of ensuring that every aspect of your change—behavioral, structural, and stylistic—is correct and fully compatible with the broader project. For bug fixes, you must empirically reproduce the failure with a new test case or reproduction script before applying the fix.
115
116
  - **Expertise & Intent Alignment:** Provide proactive technical opinions grounded in research while strictly adhering to the user's intended workflow. Distinguish between **Directives** (unambiguous requests for action or implementation) and **Inquiries** (requests for analysis, advice, or observations). Assume all requests are Inquiries unless they contain an explicit instruction to perform a task. For Inquiries, your scope is strictly limited to research and analysis; you may propose a solution or strategy, but you MUST NOT modify files until a corresponding Directive is issued. Do not initiate implementation based on observations of bugs or statements of fact. Once an Inquiry is resolved, or while waiting for a Directive, stop and wait for the next user instruction. ${options.interactive ? 'For Directives, only clarify if critically underspecified; otherwise, work autonomously.' : 'For Directives, you must work autonomously as no further user input is available.'} You should only seek user intervention if you have exhausted all possible routes or if a proposed solution would take the workspace in a significantly different architectural direction.
@@ -471,10 +472,12 @@ function mandateTopicUpdateModel() {
471
472
  ## Topic Updates
472
473
  As you work, the user follows along by reading topic updates that you publish with ${UPDATE_TOPIC_TOOL_NAME}. Keep them informed by doing the following:
473
474
 
474
- - Always call ${UPDATE_TOPIC_TOOL_NAME} in your first and last turn. The final turn should always recap what was done.
475
+ - Usage Exception: NEVER use ${UPDATE_TOPIC_TOOL_NAME} for answering questions, providing explanations, or performing isolated lookup tasks (e.g. reading a single file, running a quick search, or checking a version). It is STRICTLY for orchestrating multi-step codebase modifications or complex investigations involving 3 or more tool calls.
476
+ - Always call ${UPDATE_TOPIC_TOOL_NAME} in your first turn.
477
+ - For tasks taking multiple turns, also call ${UPDATE_TOPIC_TOOL_NAME} in your last turn to recap what was done.
475
478
  - Each topic update should give a concise description of what you are doing for the next few turns in the \`${TOPIC_PARAM_SUMMARY}\` parameter.
476
479
  - Provide topic updates whenever you change "topics". A topic is typically a discrete subgoal and will be every 3 to 10 turns. Do not use ${UPDATE_TOPIC_TOOL_NAME} on every turn.
477
- - The typical user message should call ${UPDATE_TOPIC_TOOL_NAME} 3 or more times. Each corresponds to a distinct phase of the task, such as "Researching X", "Researching Y", "Implementing Z with X", and "Testing Z".
480
+ - The typical complex user message should call ${UPDATE_TOPIC_TOOL_NAME} 3 or more times. Each corresponds to a distinct phase of the task, such as "Researching X", "Researching Y", "Implementing Z with X", and "Testing Z".
478
481
  - Remember to call ${UPDATE_TOPIC_TOOL_NAME} when you experience an unexpected event (e.g., a test failure, compilation error, environment issue, or unexpected learning) that requires a strategic detour.
479
482
  - **Examples:**
480
483
  - \`update_topic(${TOPIC_PARAM_TITLE}="Researching Parser", ${TOPIC_PARAM_SUMMARY}="I am starting an investigation into the parser timeout bug. My goal is to first understand the current test coverage and then attempt to reproduce the failure. This phase will focus on identifying the bottleneck in the main loop before we move to implementation.")\`
@@ -1 +1 @@
1
- {"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA+ElE,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,OAAO;EACP,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;;EAEhC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC;;EAExC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;;EAElC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC;;EAEtC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC;;EAGtC,OAAO,CAAC,gBAAgB;QACtB,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAClD,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,CACrD;;EAEE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;;EAEjE,2BAA2B,CAAC,OAAO,CAAC,qBAAqB,CAAC;;EAE1D,yBAAyB,CAAC,OAAO,CAAC,mBAAmB,CAAC;;EAEtD,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;;EAE9B,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;CAC/B,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,EAClB,UAAwC,EACxC,gBAA2B;IAE3B,OAAO;EACP,UAAU,CAAC,IAAI,EAAE;;EAEjB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC;CAC/C,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,+BAA+B;AAE/B,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,WAAW;QACxB,CAAC,CAAC,qJAAqJ;QACvJ,CAAC,CAAC,oJAAoJ,CAAC;AAC3J,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzE,MAAM,kBAAkB,GACtB,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,SAAS;aACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI;QAC9D,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5B,yFAAyF;IACzF,wFAAwF;IACxF,sFAAsF;IACtF,oEAAoE;IACpE,OAAO;;;;;;;;;;;;;;;;;;;;yJAoBgJ,cAAc;4BAC3I,cAAc;;yPAE+M,mBAAmB,QAAQ,cAAc;IAC9R,mBAAmB,aAAa,qBAAqB,qEAAqE,mBAAmB,QAAQ,cAAc;;;;;;6CAM1H,cAAc,QAAQ,cAAc,wCAAwC,4BAA4B,6BAA6B,0BAA0B,YAAY,0BAA0B;yDACzL,cAAc,+DAA+D,kBAAkB,SAAS,iBAAiB,gBAAgB,gBAAgB;;+CAEnK,cAAc,WAAW,mBAAmB,6BAA6B,0BAA0B,UAAU,wBAAwB;;;;;qDAK/H,kBAAkB;;;;;;8wBAMusB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,0FAA0F,CAAC,CAAC,CAAC,mFAAmF;;gNAEpwB,yBAAyB,CAAC,OAAO,CAAC,qBAAqB,CAAC;;IAEpQ,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,GACnC,OAAO,CAAC,oBAAoB;QAC1B,CAAC,CAAC,uBAAuB,EAAE;QAC3B,CAAC,CAAC,0BAA0B,EAChC;wOACsO,oBAAoB,CACxP,OAAO,CAAC,SAAS,CAClB,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC;CAC7C,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA6B;IAC3D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS;SAC3B,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;YACL,KAAK,CAAC,IAAI;mBACH,KAAK,CAAC,WAAW;cACtB,CACT;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;;;;;;;;;;;;;;EAoBP,YAAY;;;;;;;sGAOwF,CAAC,IAAI,EAAE,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;YACL,KAAK,CAAC,IAAI;mBACH,KAAK,CAAC,WAAW;gBACpB,KAAK,CAAC,QAAQ;WACnB,CACN;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;2HAGkH,cAAc,CAAC,wBAAwB,CAAC;;;EAGjK,SAAS;oBACS,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiB;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;;;;;;iGAMwF,CAAC,IAAI,EAAE,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAiC;IAEjC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY;QAC7C,CAAC,CAAC,kWAAkW;QACpW,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;yKAIgK,kBAAkB;;EAEzL,oBAAoB,CAAC,OAAO,CAAC;EAC7B,oBAAoB,CAAC,OAAO,CAAC;;;kHAGmF,cAAc,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,oBAAoB,CAAC,KAAK,cAAc,CAAC,eAAe,CAAC;0UAC6G,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC;;;;;;;;EAQ1X,mBAAmB,CAAC,OAAO,CAAC;CAC7B,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAsC;IAEtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;;;;;;qIAOL,OAAO,CAAC,oBAAoB;QAC1B,CAAC,CAAC,oCAAoC;QACtC,CAAC,CAAC,6DACN;;;sJAIE,OAAO,CAAC,oBAAoB;QAC1B,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,8CACN;;;;;;;kEAOgE,cAAc,CAAC,eAAe,CAAC,kWAAkW,cAAc,CAAC,kBAAkB,CAAC;;;;;mEAKla,cAAc,CAAC,cAAc,CAAC;mCAC9D,cAAc,CAAC,eAAe,CAAC,qGAAqG,oBAAoB,CACvL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,uBAAuB,CAChC,GAAG,yBAAyB,CAAC,OAAO,CAAC;;;;;;CAMvC,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IAChD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;;;;;;;;;yIAS4H,CAAC,IAAI,EAAE,CAAC;QAC7I,CAAC;aAAM,CAAC;YACN,OAAO;;;seAGyd,CAAC,IAAI,EAAE,CAAC;QAC1e,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;;;;;;;;mGAQsF,CAAC,IAAI,EAAE,CAAC;QACvG,CAAC;aAAM,CAAC;YACN,OAAO;;;yeAG4d,CAAC,IAAI,EAAE,CAAC;QAC7e,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAiB;IACzD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;;;;;mBAKU,kBAAkB;;;;;;;;;CASpC,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;;;;;;;;;;;;;;iGAcwF,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC;;;wFAGrD,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAoC,EACpC,gBAA2B;IAE3B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,gBAAgB,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO;6BACkB,eAAe;;;;;;;;;;;;;EAa1C,OAAO;kBACS,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CACX,qBAAqB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CACX,0FAA0F,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,6DAA6D,CACvL,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,wBAAwB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,wBAAwB,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CACX,sBAAsB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,8BAA8B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,aAAa,GAAG,cAAc,CAAC,6BAA6B,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,cAAc,CAAC,4BAA4B,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAc,CAAC,6BAA6B,CAAC,CAAC;IAEpE,OAAO;;mFAE0E,UAAU;;uIAE0C,aAAa,KAAK,WAAW,KAAK,aAAa;iRAC2F,aAAa;;8EAEhN,aAAa;;;;2MAIgH,CAAC,IAAI,EAAE,CAAC;AACnN,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAiC;IAEjC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO;;;0FAGiF,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,0DAA0D;;;;;EAKrP,OAAO,CAAC,iBAAiB;;;;4HAIiG,OAAO,CAAC,QAAQ;2BACjH,cAAc,CAAC,oBAAoB,CAAC,QAAQ,cAAc,CAAC,cAAc,CAAC,kDAAkD,OAAO,CAAC,QAAQ;2IAC5B,cAAc,CAAC,kBAAkB,CAAC;;;;;4FAKjF,cAAc,CAAC,wBAAwB,CAAC;;;;;;;;;;;yIAWK,cAAc,CAAC,kBAAkB,CAAC;oGACvE,cAAc,CAAC,kBAAkB,CAAC;;;;;qCAKjG,OAAO,CAAC,QAAQ;;;;;;eAMtC,cAAc,CAAC,wBAAwB,CAAC,0MAA0M,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,uBAAuB;;EAE3U,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,gBAAyB;IAC1D,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO;mDAC0C,gBAAgB;sDACb,cAAc,CAAC,mBAAmB,CAAC;;;CAGxF,CAAC;AACF,CAAC;AAED,0DAA0D;AAE1D,SAAS,cAAc,CAAC,WAAoB;IAC1C,OAAO,WAAW;QAChB,CAAC,CAAC,mUAAmU;QACrU,CAAC,CAAC,iOAAiO,CAAC;AACxO,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;;qFAE4E,sBAAsB;;+BAE5E,sBAAsB;gBACrC,sBAAsB;+CACS,sBAAsB;8GACyC,mBAAmB;4IACW,sBAAsB;iDACjH,sBAAsB;qBAClD,sBAAsB;;qBAEtB,iBAAiB,0BAA0B,mBAAmB;qBAC9D,iBAAiB,+BAA+B,mBAAmB;;CAEvF,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;;0HAEiH,CAAC;AAC3H,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAkB;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO;sDAC6C,cAAc,CAAC,wBAAwB,CAAC,+bAA+b,CAAC;AAC9hB,CAAC;AAED,SAAS,yBAAyB,CAAC,qBAA8B;IAC/D,IAAI,CAAC,qBAAqB;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,4SAA4S,CAAC;AACtT,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAoB;IAC/C,IAAI,WAAW;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO;8cACqc,CAAC;AAC/c,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC5D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,UAAU,GAAG,uHAAuH,cAAc,CAAC,yBAAyB,CAAC,kJAAkJ,CAAC;IAClU,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAEzE,IAAI,cAAc,GAChB,uGAAuG,CAAC;IAC1G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,cAAc,GAAG,QAAQ,QAAQ,WAAW,WAAW,mHAAmH,CAAC;IAC7K,CAAC;IAED,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,cAAc,GAAG,uHAAuH,QAAQ,wBAAwB,CAAC;QAC3K,CAAC;QAED,OAAO,2RAA2R,cAAc,QAAQ,cAAc,CAAC,mBAAmB,CAAC,uHAAuH,UAAU,EAAE,CAAC;IACje,CAAC;IAED,OAAO,6EAA6E,cAAc,QAAQ,cAAc,CAAC,mBAAmB,CAAC,uHAAuH,UAAU,EAAE,CAAC;AACnR,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC5D,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,8pBAA8pB,CAAC;IACxqB,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,yhBAAyhB,CAAC;IACniB,CAAC;IAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,OAAO,qEACL,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,EACvE,qFAAqF,cAAc,CAAC,qBAAqB,CAAC,+BAA+B,CAAC;IAC5J,CAAC;IACD,OAAO,qEACL,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,EACvE,EAAE,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,WAAoB;IACzD,OAAO,WAAW;QAChB,CAAC,CAAC,wGAAwG;QAC1G,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO;;mHAEwG,cAAc,CAAC,eAAe,CAAC;;0DAExF,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,OAAO;8CACmC,cAAc,CAAC,yBAAyB,CAAC,iDAAiD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;oMAUM,CAAC,IAAI,EAAE,CAAC;IAC1M,CAAC;IAED,mEAAmE;IAEnE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;;;;;;;;;;kIAUuH,cAAc,CAAC,eAAe,CAAC;;0HAEvC,CAAC,IAAI,EAAE,CAAC;IAChI,CAAC;IAED,OAAO;;;;;;;;;;kIAUyH,cAAc,CAAC,eAAe,CAAC;oJACb,CAAC,IAAI,EAAE,CAAC;AAC5J,CAAC;AAED,SAAS,oBAAoB,CAC3B,WAAoB,EACpB,uBAAgC;IAEhC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,uBAAuB;YACvC,CAAC,CAAC,gJAAgJ;YAClJ,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;4EACiE,yBAAyB;gVAC2O,SAAS,EAAE,CAAC;IAC1V,CAAC;IACD,OAAO;4EACmE,yBAAyB;+UAC0O,CAAC;AAChV,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAqC;IAErC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,OAAO;kCACuB,cAAc,CAAC,gBAAgB,CAAC,ieAAie,CAAC;IACliB,CAAC;IACD,MAAM,IAAI,GAAG;yBACU,cAAc,CAAC,gBAAgB,CAAC;;;6IAGoF,CAAC;IAC5I,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW;QAChC,CAAC,CAAC,wEAAwE;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAoB;IACnD,OAAO,WAAW;QAChB,CAAC,CAAC;iFAC2E;QAC7E,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,gBAAyB;IAC5D,MAAM,gBAAgB,GAAG,gBAAgB;QACvC,CAAC,CAAC;;;4CAGsC,gBAAgB;;;yEAGa;QACrE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;;;;;;;oKAe2J,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoDlK,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC"}
@@ -65,6 +65,8 @@ export function renderCoreMandates(options) {
65
65
  - **Libraries/Frameworks:** NEVER assume a library/framework is available or appropriate. Verify its established usage within the project (check imports, configuration files like 'package.json', 'Cargo.toml', 'requirements.txt', 'build.gradle', etc., or observe neighboring files) before employing it.
66
66
  - **Style & Structure:** Mimic the style (formatting, naming), structure, framework choices, typing, and architectural patterns of existing code in the project.
67
67
  - **Idiomatic Changes:** When editing, understand the local context (imports, functions/classes) to ensure your changes integrate naturally and idiomatically.
68
+ - **Types, Warnings & Linters:** NEVER use hacks like disabling or suppressing warnings, bypassing the type system (e.g.: casts in TypeScript), or employing "hidden" logic (e.g.: reflection, prototype manipulation) unless explicitly instructed to by the user. Instead, use explicit and idiomatic language features (e.g.: type guards, explicit class instantiation, or object spread) that maintain structural integrity and type safety.
69
+ - **Design Patterns:** Prioritize explicit composition and delegation (e.g.: wrapper classes, proxies, or factory functions) over complex inheritance or prototype-based cloning. When extending or modifying existing classes, prefer patterns that are easily traceable and type-safe.
68
70
  - **Comments:** Add code comments sparingly. Focus on *why* something is done, especially for complex logic, rather than *what* is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are separate from the code you are changing. *NEVER* talk to the user or describe your changes through comments.
69
71
  - **Proactiveness:** Fulfill the user's request thoroughly. When adding features or fixing bugs, this includes adding tests to ensure quality. Consider all created files, especially tests, to be permanent artifacts unless the user says otherwise.${mandateConflictResolution(options.hasHierarchicalMemory)}
70
72
  - **User Hints:** During execution, the user may provide real-time hints (marked as "User hint:" or "User hints:"). Treat these as high-priority but scope-preserving course corrections: apply the minimal plan change needed, keep unaffected user tasks active, and never cancel/skip tasks unless cancellation is explicit for those tasks. Hints may add new tasks, modify one or more tasks, cancel specific tasks, or provide extra context only. If scope is ambiguous, ask for clarification before dropping work.
@@ -379,10 +381,12 @@ function mandateTopicUpdateModel() {
379
381
  ## Topic Updates
380
382
  As you work, the user follows along by reading topic updates that you publish with ${UPDATE_TOPIC_TOOL_NAME}. Keep them informed by doing the following:
381
383
 
382
- - Always call ${UPDATE_TOPIC_TOOL_NAME} in your first and last turn. The final turn should always recap what was done.
384
+ - Usage Exception: NEVER use ${UPDATE_TOPIC_TOOL_NAME} for answering questions, providing explanations, or performing isolated lookup tasks (e.g. reading a single file, running a quick search, or checking a version). It is STRICTLY for orchestrating multi-step codebase modifications or complex investigations involving 3 or more tool calls.
385
+ - Always call ${UPDATE_TOPIC_TOOL_NAME} in your first turn.
386
+ - For tasks taking multiple turns, also call ${UPDATE_TOPIC_TOOL_NAME} in your last turn to recap what was done.
383
387
  - Each topic update should give a concise description of what you are doing for the next few turns in the \`${TOPIC_PARAM_SUMMARY}\` parameter.
384
388
  - Provide topic updates whenever you change "topics". A topic is typically a discrete subgoal and will be every 3 to 10 turns. Do not use ${UPDATE_TOPIC_TOOL_NAME} on every turn.
385
- - The typical user message should call ${UPDATE_TOPIC_TOOL_NAME} 3 or more times. Each corresponds to a distinct phase of the task, such as "Researching X", "Researching Y", "Implementing Z with X", and "Testing Z".
389
+ - The typical complex user message should call ${UPDATE_TOPIC_TOOL_NAME} 3 or more times. Each corresponds to a distinct phase of the task, such as "Researching X", "Researching Y", "Implementing Z with X", and "Testing Z".
386
390
  - Remember to call ${UPDATE_TOPIC_TOOL_NAME} when you experience an unexpected event (e.g., a test failure, compilation error, environment issue, or unexpected learning) that requires a strategic detour.
387
391
  - **Examples:**
388
392
  - ${UPDATE_TOPIC_TOOL_NAME}(${TOPIC_PARAM_TITLE}="Researching Parser", ${TOPIC_PARAM_SUMMARY}="I am starting an investigation into the parser timeout bug. My goal is to first understand the current test coverage and then attempt to reproduce the failure. This phase will focus on identifying the bottleneck in the main loop before we move to implementation.")
@@ -1 +1 @@
1
- {"version":3,"file":"snippets.legacy.js","sourceRoot":"","sources":["../../../src/prompts/snippets.legacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snippets.legacy.js","sourceRoot":"","sources":["../../../src/prompts/snippets.legacy.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import * as path from 'node:path';
7
8
  import { resolvePathFromEnv, isSectionEnabled, applySubstitutions, } from './utils.js';
8
9
  vi.mock('../utils/paths.js', () => ({
9
10
  homedir: vi.fn().mockReturnValue('/mock/home'),
@@ -101,22 +102,23 @@ describe('resolvePathFromEnv', () => {
101
102
  });
102
103
  });
103
104
  it('should resolve a regular path', () => {
104
- const result = resolvePathFromEnv('/some/absolute/path');
105
+ const p = path.resolve('/some/absolute/path');
106
+ const result = resolvePathFromEnv(p);
105
107
  expect(result.isSwitch).toBe(false);
106
- expect(result.value).toBe('/some/absolute/path');
108
+ expect(result.value).toBe(p);
107
109
  expect(result.isDisabled).toBe(false);
108
110
  });
109
111
  it('should resolve a tilde path to the home directory', () => {
110
112
  const result = resolvePathFromEnv('~/my/custom/path');
111
113
  expect(result.isSwitch).toBe(false);
112
- expect(result.value).toContain('/mock/home');
113
- expect(result.value).toContain('my/custom/path');
114
+ expect(result.value).toContain(path.normalize('/mock/home'));
115
+ expect(result.value).toContain(path.normalize('my/custom/path'));
114
116
  expect(result.isDisabled).toBe(false);
115
117
  });
116
118
  it('should resolve a bare tilde to the home directory', () => {
117
119
  const result = resolvePathFromEnv('~');
118
120
  expect(result.isSwitch).toBe(false);
119
- expect(result.value).toBe('/mock/home');
121
+ expect(result.value).toBe(path.resolve('/mock/home'));
120
122
  expect(result.isDisabled).toBe(false);
121
123
  });
122
124
  it('should handle home directory resolution failure gracefully', async () => {