@google/gemini-cli-core 0.37.0-preview.2 → 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 +17 -14
  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 +41 -11
  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.1.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
@@ -6,7 +6,7 @@
6
6
  import {} from '../config/agent-loop-context.js';
7
7
  import { reportError } from '../utils/errorReporting.js';
8
8
  import { GeminiChat, StreamEventType } from '../core/geminiChat.js';
9
- import { Type, } from '@google/genai';
9
+ import {} from '@google/genai';
10
10
  import { ToolRegistry } from '../tools/tool-registry.js';
11
11
  import { PromptRegistry } from '../prompts/prompt-registry.js';
12
12
  import { ResourceRegistry } from '../resources/resource-registry.js';
@@ -16,7 +16,7 @@ import { CompressionStatus } from '../core/turn.js';
16
16
  import {} from '../scheduler/types.js';
17
17
  import { ChatCompressionService } from '../context/chatCompressionService.js';
18
18
  import { getDirectoryContextString } from '../utils/environmentContext.js';
19
- import { renderUserMemory } from '../prompts/snippets.js';
19
+ import { renderUserMemory, renderAgentSkills } from '../prompts/snippets.js';
20
20
  import { promptIdContext } from '../utils/promptIdContext.js';
21
21
  import { logAgentStart, logAgentFinish, logRecoveryAttempt, } from '../telemetry/loggers.js';
22
22
  import { AgentStartEvent, AgentFinishEvent, LlmRole, RecoveryAttemptEvent, } from '../telemetry/types.js';
@@ -26,7 +26,6 @@ import { templateString } from './utils.js';
26
26
  import { DEFAULT_GEMINI_MODEL, isAutoModel } from '../config/models.js';
27
27
  import { parseThought } from '../utils/thoughtUtils.js';
28
28
  import {} from 'zod';
29
- import { zodToJsonSchema } from 'zod-to-json-schema';
30
29
  import { debugLogger } from '../utils/debugLogger.js';
31
30
  import { getModelConfigAlias } from './registry.js';
32
31
  import { getVersion } from '../utils/version.js';
@@ -34,7 +33,9 @@ import { getToolCallContext } from '../utils/toolCallContext.js';
34
33
  import { scheduleAgentTools } from './agent-scheduler.js';
35
34
  import { DeadlineTimer } from '../utils/deadlineTimer.js';
36
35
  import { formatUserHintsForModel, formatBackgroundCompletionForModel, } from '../utils/fastAckHelper.js';
37
- const TASK_COMPLETE_TOOL_NAME = 'complete_task';
36
+ import { createScopedWorkspaceContext, runWithScopedWorkspaceContext, } from '../config/scoped-config.js';
37
+ import { CompleteTaskTool } from '../tools/complete-task.js';
38
+ import { COMPLETE_TASK_TOOL_NAME, ACTIVATE_SKILL_TOOL_NAME, } from '../tools/definitions/base-declarations.js';
38
39
  const GRACE_PERIOD_MS = 60 * 1000; // 1 min
39
40
  export function createUnauthorizedToolError(toolName) {
40
41
  return `Unauthorized tool call: '${toolName}' is not available to this agent.`;
@@ -167,6 +168,8 @@ export class LocalAgentExecutor {
167
168
  }
168
169
  }
169
170
  agentToolRegistry.sortTools();
171
+ // Register the mandatory completion tool for this agent.
172
+ agentToolRegistry.registerTool(new CompleteTaskTool(subagentMessageBus, definition.outputConfig, definition.processOutput));
170
173
  // Get the parent tool call ID from context
171
174
  const toolContext = getToolCallContext();
172
175
  const parentCallId = toolContext?.callId;
@@ -217,7 +220,7 @@ export class LocalAgentExecutor {
217
220
  // If the model stops calling tools without calling complete_task, it's an error.
218
221
  if (functionCalls.length === 0) {
219
222
  this.emitActivity('ERROR', {
220
- error: `Agent stopped calling tools but did not call '${TASK_COMPLETE_TOOL_NAME}' to finalize the session.`,
223
+ error: `Agent stopped calling tools but did not call '${COMPLETE_TASK_TOOL_NAME}' to finalize the session.`,
221
224
  context: 'protocol_violation',
222
225
  errorType: SubagentActivityErrorType.GENERIC,
223
226
  });
@@ -267,7 +270,7 @@ export class LocalAgentExecutor {
267
270
  default:
268
271
  throw new Error(`Unknown terminate reason: ${reason}`);
269
272
  }
270
- return `${explanation} You have one final chance to complete the task with a short grace period. You MUST call \`${TASK_COMPLETE_TOOL_NAME}\` immediately with your best answer and explain that your investigation was interrupted. Do not call any other tools.`;
273
+ return `${explanation} You have one final chance to complete the task with a short grace period. You MUST call \`${COMPLETE_TASK_TOOL_NAME}\` immediately with your best answer and explain that your investigation was interrupted. Do not call any other tools.`;
271
274
  }
272
275
  /**
273
276
  * Attempts a single, final recovery turn if the agent stops for a recoverable reason.
@@ -337,6 +340,18 @@ export class LocalAgentExecutor {
337
340
  * @returns A promise that resolves to the agent's final output.
338
341
  */
339
342
  async run(inputs, signal) {
343
+ // If the agent definition declares additional workspace directories,
344
+ // wrap execution in a scoped workspace context. All calls to
345
+ // Config.getWorkspaceContext() within this scope will see the extended
346
+ // directories, without mutating the shared Config.
347
+ const dirs = this.definition.workspaceDirectories;
348
+ if (dirs && dirs.length > 0) {
349
+ const scopedCtx = createScopedWorkspaceContext(this.context.config.getWorkspaceContext(), dirs);
350
+ return runWithScopedWorkspaceContext(scopedCtx, () => this.runInternal(inputs, signal));
351
+ }
352
+ return this.runInternal(inputs, signal);
353
+ }
354
+ async runInternal(inputs, signal) {
340
355
  const startTime = Date.now();
341
356
  let turnCounter = 0;
342
357
  let terminateReason = AgentTerminateMode.ERROR;
@@ -500,7 +515,7 @@ export class LocalAgentExecutor {
500
515
  // The finalResult was already set by executeTurn, but we re-emit just in case.
501
516
  finalResult =
502
517
  finalResult ||
503
- `Agent stopped calling tools but did not call '${TASK_COMPLETE_TOOL_NAME}'.`;
518
+ `Agent stopped calling tools but did not call '${COMPLETE_TASK_TOOL_NAME}'.`;
504
519
  this.emitActivity('ERROR', {
505
520
  error: finalResult,
506
521
  context: 'protocol_violation',
@@ -705,20 +720,35 @@ export class LocalAgentExecutor {
705
720
  */
706
721
  async processFunctionCalls(chat, model, functionCalls, signal, promptId, onWaitingForConfirmation) {
707
722
  const allowedToolNames = new Set(this.toolRegistry.getAllToolNames());
708
- // Always allow the completion tool
709
- allowedToolNames.add(TASK_COMPLETE_TOOL_NAME);
710
723
  let submittedOutput = null;
711
724
  let taskCompleted = false;
712
725
  let aborted = false;
713
- // We'll separate complete_task from other tools
714
726
  const toolRequests = [];
715
727
  // Map to keep track of tool name by callId for activity emission
716
728
  const toolNameMap = new Map();
717
- // Synchronous results (like complete_task or unauthorized calls)
729
+ // Synchronous results (like unauthorized calls)
718
730
  const syncResults = new Map();
719
731
  for (const [index, functionCall] of functionCalls.entries()) {
720
732
  const callId = functionCall.id ?? `${promptId}-${index}`;
721
- const args = functionCall.args ?? {};
733
+ const { args, error: parseError } = this.parseToolArguments(functionCall);
734
+ if (parseError) {
735
+ debugLogger.warn(`[LocalAgentExecutor] ${parseError}`);
736
+ syncResults.set(callId, {
737
+ functionResponse: {
738
+ name: functionCall.name,
739
+ id: callId,
740
+ response: { error: parseError },
741
+ },
742
+ });
743
+ this.emitActivity('ERROR', {
744
+ context: 'tool_call',
745
+ name: functionCall.name,
746
+ callId,
747
+ error: parseError,
748
+ errorType: SubagentActivityErrorType.GENERIC,
749
+ });
750
+ continue;
751
+ }
722
752
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
723
753
  const toolName = functionCall.name;
724
754
  let displayName = toolName;
@@ -741,139 +771,7 @@ export class LocalAgentExecutor {
741
771
  args,
742
772
  callId,
743
773
  });
744
- if (toolName === TASK_COMPLETE_TOOL_NAME) {
745
- if (taskCompleted) {
746
- const error = 'Task already marked complete in this turn. Ignoring duplicate call.';
747
- syncResults.set(callId, {
748
- functionResponse: {
749
- name: TASK_COMPLETE_TOOL_NAME,
750
- response: { error },
751
- id: callId,
752
- },
753
- });
754
- this.emitActivity('ERROR', {
755
- context: 'tool_call',
756
- name: toolName,
757
- error,
758
- errorType: SubagentActivityErrorType.GENERIC,
759
- });
760
- continue;
761
- }
762
- const { outputConfig } = this.definition;
763
- taskCompleted = true; // Signal completion regardless of output presence
764
- if (outputConfig) {
765
- const outputName = outputConfig.outputName;
766
- if (args[outputName] !== undefined) {
767
- const outputValue = args[outputName];
768
- const validationResult = outputConfig.schema.safeParse(outputValue);
769
- if (!validationResult.success) {
770
- taskCompleted = false; // Validation failed, revoke completion
771
- const error = `Output validation failed: ${JSON.stringify(validationResult.error.flatten())}`;
772
- syncResults.set(callId, {
773
- functionResponse: {
774
- name: TASK_COMPLETE_TOOL_NAME,
775
- response: { error },
776
- id: callId,
777
- },
778
- });
779
- this.emitActivity('ERROR', {
780
- context: 'tool_call',
781
- name: toolName,
782
- error,
783
- errorType: SubagentActivityErrorType.GENERIC,
784
- });
785
- continue;
786
- }
787
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
788
- const validatedOutput = validationResult.data;
789
- if (this.definition.processOutput) {
790
- submittedOutput = this.definition.processOutput(validatedOutput);
791
- }
792
- else {
793
- submittedOutput =
794
- typeof outputValue === 'string'
795
- ? outputValue
796
- : JSON.stringify(outputValue, null, 2);
797
- }
798
- syncResults.set(callId, {
799
- functionResponse: {
800
- name: TASK_COMPLETE_TOOL_NAME,
801
- response: { result: 'Output submitted and task completed.' },
802
- id: callId,
803
- },
804
- });
805
- this.emitActivity('TOOL_CALL_END', {
806
- name: toolName,
807
- id: callId,
808
- output: 'Output submitted and task completed.',
809
- });
810
- }
811
- else {
812
- // Failed to provide required output.
813
- taskCompleted = false; // Revoke completion status
814
- const error = `Missing required argument '${outputName}' for completion.`;
815
- syncResults.set(callId, {
816
- functionResponse: {
817
- name: TASK_COMPLETE_TOOL_NAME,
818
- response: { error },
819
- id: callId,
820
- },
821
- });
822
- this.emitActivity('ERROR', {
823
- context: 'tool_call',
824
- name: toolName,
825
- callId,
826
- error,
827
- errorType: SubagentActivityErrorType.GENERIC,
828
- });
829
- }
830
- }
831
- else {
832
- // No outputConfig - use default 'result' parameter
833
- const resultArg = args['result'];
834
- if (resultArg !== undefined &&
835
- resultArg !== null &&
836
- resultArg !== '') {
837
- submittedOutput =
838
- typeof resultArg === 'string'
839
- ? resultArg
840
- : JSON.stringify(resultArg, null, 2);
841
- syncResults.set(callId, {
842
- functionResponse: {
843
- name: TASK_COMPLETE_TOOL_NAME,
844
- response: { status: 'Result submitted and task completed.' },
845
- id: callId,
846
- },
847
- });
848
- this.emitActivity('TOOL_CALL_END', {
849
- name: toolName,
850
- id: callId,
851
- output: 'Result submitted and task completed.',
852
- });
853
- }
854
- else {
855
- // No result provided - this is an error for agents expected to return results
856
- taskCompleted = false; // Revoke completion
857
- const error = 'Missing required "result" argument. You must provide your findings when calling complete_task.';
858
- syncResults.set(callId, {
859
- functionResponse: {
860
- name: TASK_COMPLETE_TOOL_NAME,
861
- response: { error },
862
- id: callId,
863
- },
864
- });
865
- this.emitActivity('ERROR', {
866
- context: 'tool_call',
867
- name: toolName,
868
- callId,
869
- error,
870
- errorType: SubagentActivityErrorType.GENERIC,
871
- });
872
- }
873
- }
874
- continue;
875
- }
876
- // Handle standard tools
774
+ // Handle unauthorized tools
877
775
  if (!allowedToolNames.has(toolName)) {
878
776
  const error = createUnauthorizedToolError(toolName);
879
777
  debugLogger.warn(`[LocalAgentExecutor] Blocked call: ${error}`);
@@ -925,6 +823,18 @@ export class LocalAgentExecutor {
925
823
  output: call.response.resultDisplay,
926
824
  data: call.response.data,
927
825
  });
826
+ // Check if this was a completion tool call
827
+ const isCompletionTool = call.request.name === COMPLETE_TASK_TOOL_NAME;
828
+ const data = call.response.data;
829
+ if (isCompletionTool &&
830
+ !taskCompleted &&
831
+ data?.['taskCompleted'] === true) {
832
+ taskCompleted = true;
833
+ const output = data['submittedOutput'];
834
+ if (typeof output === 'string') {
835
+ submittedOutput = output;
836
+ }
837
+ }
928
838
  }
929
839
  else if (call.status === 'error') {
930
840
  this.emitActivity('ERROR', {
@@ -938,7 +848,7 @@ export class LocalAgentExecutor {
938
848
  else if (call.status === 'cancelled') {
939
849
  const isSoftRejection = call.outcome === ToolConfirmationOutcome.Cancel;
940
850
  if (isSoftRejection) {
941
- const error = `${SUBAGENT_REJECTED_ERROR_PREFIX} Please acknowledge this, rethink your strategy, and try a different approach. If you cannot proceed without the rejected operation, summarize the issue and use \`${TASK_COMPLETE_TOOL_NAME}\` to report your findings and the blocker.`;
851
+ const error = `${SUBAGENT_REJECTED_ERROR_PREFIX} Please acknowledge this, rethink your strategy, and try a different approach. If you cannot proceed without the rejected operation, summarize the issue and use \`${COMPLETE_TASK_TOOL_NAME}\` to report your findings and the blocker.`;
942
852
  this.emitActivity('ERROR', {
943
853
  context: 'tool_call',
944
854
  name: toolName,
@@ -1002,7 +912,7 @@ export class LocalAgentExecutor {
1002
912
  */
1003
913
  prepareToolsList() {
1004
914
  const toolsList = [];
1005
- const { toolConfig, outputConfig } = this.definition;
915
+ const { toolConfig } = this.definition;
1006
916
  if (toolConfig) {
1007
917
  for (const toolRef of toolConfig.tools) {
1008
918
  if (typeof toolRef === 'object' && !('schema' in toolRef)) {
@@ -1013,36 +923,6 @@ export class LocalAgentExecutor {
1013
923
  }
1014
924
  // Add schemas from tools that were explicitly registered by name, wildcard, or instance.
1015
925
  toolsList.push(...this.toolRegistry.getFunctionDeclarations(this.definition.modelConfig.model));
1016
- // Always inject complete_task.
1017
- // Configure its schema based on whether output is expected.
1018
- const completeTool = {
1019
- name: TASK_COMPLETE_TOOL_NAME,
1020
- description: outputConfig
1021
- ? 'Call this tool to submit your final answer and complete the task. This is the ONLY way to finish.'
1022
- : 'Call this tool to submit your final findings and complete the task. This is the ONLY way to finish.',
1023
- parameters: {
1024
- type: Type.OBJECT,
1025
- properties: {},
1026
- required: [],
1027
- },
1028
- };
1029
- if (outputConfig) {
1030
- const jsonSchema = zodToJsonSchema(outputConfig.schema);
1031
- const { $schema: _$schema, definitions: _definitions, ...schema } = jsonSchema;
1032
- completeTool.parameters.properties[outputConfig.outputName] =
1033
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
1034
- schema;
1035
- completeTool.parameters.required.push(outputConfig.outputName);
1036
- }
1037
- else {
1038
- completeTool.parameters.properties['result'] = {
1039
- type: Type.STRING,
1040
- description: 'Your final results or findings to return to the orchestrator. ' +
1041
- 'Ensure this is comprehensive and follows any formatting requested in your instructions.',
1042
- };
1043
- completeTool.parameters.required.push('result');
1044
- }
1045
- toolsList.push(completeTool);
1046
926
  return toolsList;
1047
927
  }
1048
928
  /** Builds the system prompt from the agent definition and inputs. */
@@ -1053,6 +933,18 @@ export class LocalAgentExecutor {
1053
933
  }
1054
934
  // Inject user inputs into the prompt template.
1055
935
  let finalPrompt = templateString(promptConfig.systemPrompt, inputs);
936
+ // Inject skill SI if ACTIVATE_SKILL_TOOL_NAME is available to this agent.
937
+ if (this.toolRegistry.getTool(ACTIVATE_SKILL_TOOL_NAME) !== undefined) {
938
+ const skills = this.context.config.getSkillManager().getSkills();
939
+ if (skills.length > 0) {
940
+ const skillsPrompt = renderAgentSkills(skills.map((s) => ({
941
+ name: s.name,
942
+ description: s.description,
943
+ location: s.location,
944
+ })));
945
+ finalPrompt += `\n\n${skillsPrompt}`;
946
+ }
947
+ }
1056
948
  // Append memory context if available.
1057
949
  const systemMemory = this.context.config.getSystemInstructionMemory();
1058
950
  if (systemMemory) {
@@ -1070,16 +962,16 @@ Important Rules:
1070
962
  * If a tool call is rejected by the user, acknowledge the rejection, rethink your strategy, and try a different approach. Do not repeatedly attempt the same rejected operation.`;
1071
963
  if (this.definition.outputConfig) {
1072
964
  finalPrompt += `
1073
- * When you have completed your task, you MUST call the \`${TASK_COMPLETE_TOOL_NAME}\` tool with your structured output.
1074
- * Do not call any other tools in the same turn as \`${TASK_COMPLETE_TOOL_NAME}\`.
965
+ * When you have completed your task, you MUST call the \`${COMPLETE_TASK_TOOL_NAME}\` tool with your structured output.
966
+ * Do not call any other tools in the same turn as \`${COMPLETE_TASK_TOOL_NAME}\`.
1075
967
  * This is the ONLY way to complete your mission. If you stop calling tools without calling this, you have failed.`;
1076
968
  }
1077
969
  else {
1078
970
  finalPrompt += `
1079
- * When you have completed your task, you MUST call the \`${TASK_COMPLETE_TOOL_NAME}\` tool.
971
+ * When you have completed your task, you MUST call the \`${COMPLETE_TASK_TOOL_NAME}\` tool.
1080
972
  * You MUST include your final findings in the "result" parameter. This is how you return the necessary results for the task to be marked complete.
1081
973
  * Ensure your findings are comprehensive and follow any specific formatting requirements provided in your instructions.
1082
- * Do not call any other tools in the same turn as \`${TASK_COMPLETE_TOOL_NAME}\`.
974
+ * Do not call any other tools in the same turn as \`${COMPLETE_TASK_TOOL_NAME}\`.
1083
975
  * This is the ONLY way to complete your mission. If you stop calling tools without calling this, you have failed.`;
1084
976
  }
1085
977
  return finalPrompt;
@@ -1135,5 +1027,30 @@ Important Rules:
1135
1027
  }
1136
1028
  return chars.slice(0, 197).join('') + '...';
1137
1029
  }
1030
+ /**
1031
+ * Parses the arguments for a tool call, handling both JSON strings and objects.
1032
+ */
1033
+ parseToolArguments(functionCall) {
1034
+ const args = {};
1035
+ if (typeof functionCall.args === 'string') {
1036
+ try {
1037
+ const parsed = JSON.parse(functionCall.args);
1038
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
1039
+ Object.assign(args, parsed);
1040
+ }
1041
+ return { args };
1042
+ }
1043
+ catch {
1044
+ return {
1045
+ args: {},
1046
+ error: `Failed to parse JSON arguments for tool "${functionCall.name}": ${functionCall.args}. Ensure you provide a valid JSON object.`,
1047
+ };
1048
+ }
1049
+ }
1050
+ else if (functionCall.args) {
1051
+ return { args: functionCall.args };
1052
+ }
1053
+ return { args: {} };
1054
+ }
1138
1055
  }
1139
1056
  //# sourceMappingURL=local-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-executor.js","sourceRoot":"","sources":["../../../src/agents/local-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-executor.js","sourceRoot":"","sources":["../../../src/agents/local-executor.ts"],"names":[],"mappings":"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"}