@anthropic-field/core 0.1.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 (1012) hide show
  1. package/dist/.last_build +0 -0
  2. package/dist/docs/architecture.md +80 -0
  3. package/dist/docs/assets/connected_devtools.png +0 -0
  4. package/dist/docs/assets/gemini-screenshot.png +0 -0
  5. package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
  6. package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
  7. package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
  8. package/dist/docs/assets/release_patch.png +0 -0
  9. package/dist/docs/assets/theme-ansi-light.png +0 -0
  10. package/dist/docs/assets/theme-ansi.png +0 -0
  11. package/dist/docs/assets/theme-atom-one.png +0 -0
  12. package/dist/docs/assets/theme-ayu-light.png +0 -0
  13. package/dist/docs/assets/theme-ayu.png +0 -0
  14. package/dist/docs/assets/theme-custom.png +0 -0
  15. package/dist/docs/assets/theme-default-light.png +0 -0
  16. package/dist/docs/assets/theme-default.png +0 -0
  17. package/dist/docs/assets/theme-dracula.png +0 -0
  18. package/dist/docs/assets/theme-github-light.png +0 -0
  19. package/dist/docs/assets/theme-github.png +0 -0
  20. package/dist/docs/assets/theme-google-light.png +0 -0
  21. package/dist/docs/assets/theme-xcode-light.png +0 -0
  22. package/dist/docs/changelogs/index.md +743 -0
  23. package/dist/docs/changelogs/latest.md +338 -0
  24. package/dist/docs/changelogs/preview.md +437 -0
  25. package/dist/docs/cli/authentication.md +3 -0
  26. package/dist/docs/cli/checkpointing.md +94 -0
  27. package/dist/docs/cli/cli-reference.md +101 -0
  28. package/dist/docs/cli/commands.md +430 -0
  29. package/dist/docs/cli/creating-skills.md +80 -0
  30. package/dist/docs/cli/custom-commands.md +315 -0
  31. package/dist/docs/cli/enterprise.md +565 -0
  32. package/dist/docs/cli/gemini-ignore.md +71 -0
  33. package/dist/docs/cli/gemini-md.md +108 -0
  34. package/dist/docs/cli/generation-settings.md +210 -0
  35. package/dist/docs/cli/headless.md +388 -0
  36. package/dist/docs/cli/index.md +65 -0
  37. package/dist/docs/cli/keyboard-shortcuts.md +140 -0
  38. package/dist/docs/cli/model-routing.md +42 -0
  39. package/dist/docs/cli/model.md +62 -0
  40. package/dist/docs/cli/rewind.md +51 -0
  41. package/dist/docs/cli/sandbox.md +171 -0
  42. package/dist/docs/cli/session-management.md +158 -0
  43. package/dist/docs/cli/settings.md +139 -0
  44. package/dist/docs/cli/skills.md +112 -0
  45. package/dist/docs/cli/system-prompt.md +125 -0
  46. package/dist/docs/cli/telemetry.md +826 -0
  47. package/dist/docs/cli/themes.md +235 -0
  48. package/dist/docs/cli/token-caching.md +20 -0
  49. package/dist/docs/cli/trusted-folders.md +95 -0
  50. package/dist/docs/cli/tutorials/skills-getting-started.md +97 -0
  51. package/dist/docs/cli/tutorials.md +87 -0
  52. package/dist/docs/cli/uninstall.md +65 -0
  53. package/dist/docs/core/index.md +107 -0
  54. package/dist/docs/core/memport.md +246 -0
  55. package/dist/docs/core/policy-engine.md +305 -0
  56. package/dist/docs/core/remote-agents.md +84 -0
  57. package/dist/docs/core/subagents.md +191 -0
  58. package/dist/docs/core/tools-api.md +131 -0
  59. package/dist/docs/examples/proxy-script.md +83 -0
  60. package/dist/docs/extensions/best-practices.md +139 -0
  61. package/dist/docs/extensions/index.md +45 -0
  62. package/dist/docs/extensions/reference.md +336 -0
  63. package/dist/docs/extensions/releasing.md +183 -0
  64. package/dist/docs/extensions/writing-extensions.md +281 -0
  65. package/dist/docs/faq.md +154 -0
  66. package/dist/docs/get-started/authentication.md +321 -0
  67. package/dist/docs/get-started/configuration-v1.md +888 -0
  68. package/dist/docs/get-started/configuration.md +1585 -0
  69. package/dist/docs/get-started/examples.md +219 -0
  70. package/dist/docs/get-started/gemini-3.md +101 -0
  71. package/dist/docs/get-started/index.md +71 -0
  72. package/dist/docs/get-started/installation.md +141 -0
  73. package/dist/docs/hooks/best-practices.md +677 -0
  74. package/dist/docs/hooks/index.md +164 -0
  75. package/dist/docs/hooks/reference.md +322 -0
  76. package/dist/docs/hooks/writing-hooks.md +450 -0
  77. package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
  78. package/dist/docs/ide-integration/index.md +202 -0
  79. package/dist/docs/index.md +149 -0
  80. package/dist/docs/integration-tests.md +211 -0
  81. package/dist/docs/issue-and-pr-automation.md +134 -0
  82. package/dist/docs/local-development.md +128 -0
  83. package/dist/docs/mermaid/context.mmd +103 -0
  84. package/dist/docs/mermaid/render-path.mmd +64 -0
  85. package/dist/docs/npm.md +62 -0
  86. package/dist/docs/quota-and-pricing.md +158 -0
  87. package/dist/docs/release-confidence.md +164 -0
  88. package/dist/docs/releases.md +540 -0
  89. package/dist/docs/sidebar.json +152 -0
  90. package/dist/docs/tools/file-system.md +217 -0
  91. package/dist/docs/tools/index.md +98 -0
  92. package/dist/docs/tools/mcp-server.md +1079 -0
  93. package/dist/docs/tools/memory.md +54 -0
  94. package/dist/docs/tools/shell.md +260 -0
  95. package/dist/docs/tools/todos.md +57 -0
  96. package/dist/docs/tools/web-fetch.md +59 -0
  97. package/dist/docs/tools/web-search.md +42 -0
  98. package/dist/docs/tos-privacy.md +96 -0
  99. package/dist/docs/troubleshooting.md +173 -0
  100. package/dist/index.d.ts +24 -0
  101. package/dist/index.js +24 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/src/__mocks__/fs/promises.d.ts +11 -0
  104. package/dist/src/__mocks__/fs/promises.js +17 -0
  105. package/dist/src/__mocks__/fs/promises.js.map +1 -0
  106. package/dist/src/agents/a2a-client-manager.d.ts +77 -0
  107. package/dist/src/agents/a2a-client-manager.js +173 -0
  108. package/dist/src/agents/a2a-client-manager.js.map +1 -0
  109. package/dist/src/agents/a2aUtils.d.ts +29 -0
  110. package/dist/src/agents/a2aUtils.js +113 -0
  111. package/dist/src/agents/a2aUtils.js.map +1 -0
  112. package/dist/src/agents/acknowledgedAgents.d.ts +18 -0
  113. package/dist/src/agents/acknowledgedAgents.js +58 -0
  114. package/dist/src/agents/acknowledgedAgents.js.map +1 -0
  115. package/dist/src/agents/agent-scheduler.d.ts +33 -0
  116. package/dist/src/agents/agent-scheduler.js +29 -0
  117. package/dist/src/agents/agent-scheduler.js.map +1 -0
  118. package/dist/src/agents/agentLoader.d.ts +73 -0
  119. package/dist/src/agents/agentLoader.js +268 -0
  120. package/dist/src/agents/agentLoader.js.map +1 -0
  121. package/dist/src/agents/cli-help-agent.d.ts +24 -0
  122. package/dist/src/agents/cli-help-agent.js +80 -0
  123. package/dist/src/agents/cli-help-agent.js.map +1 -0
  124. package/dist/src/agents/codebase-investigator.d.ts +47 -0
  125. package/dist/src/agents/codebase-investigator.js +159 -0
  126. package/dist/src/agents/codebase-investigator.js.map +1 -0
  127. package/dist/src/agents/generalist-agent.d.ts +21 -0
  128. package/dist/src/agents/generalist-agent.js +60 -0
  129. package/dist/src/agents/generalist-agent.js.map +1 -0
  130. package/dist/src/agents/local-executor.d.ts +110 -0
  131. package/dist/src/agents/local-executor.js +879 -0
  132. package/dist/src/agents/local-executor.js.map +1 -0
  133. package/dist/src/agents/local-invocation.d.ts +45 -0
  134. package/dist/src/agents/local-invocation.js +101 -0
  135. package/dist/src/agents/local-invocation.js.map +1 -0
  136. package/dist/src/agents/registry.d.ts +85 -0
  137. package/dist/src/agents/registry.js +374 -0
  138. package/dist/src/agents/registry.js.map +1 -0
  139. package/dist/src/agents/remote-invocation.d.ts +35 -0
  140. package/dist/src/agents/remote-invocation.js +127 -0
  141. package/dist/src/agents/remote-invocation.js.map +1 -0
  142. package/dist/src/agents/subagent-tool-wrapper.d.ts +38 -0
  143. package/dist/src/agents/subagent-tool-wrapper.js +51 -0
  144. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
  145. package/dist/src/agents/subagent-tool.d.ts +15 -0
  146. package/dist/src/agents/subagent-tool.js +61 -0
  147. package/dist/src/agents/subagent-tool.js.map +1 -0
  148. package/dist/src/agents/types.d.ts +154 -0
  149. package/dist/src/agents/types.js +23 -0
  150. package/dist/src/agents/types.js.map +1 -0
  151. package/dist/src/agents/utils.d.ts +15 -0
  152. package/dist/src/agents/utils.js +29 -0
  153. package/dist/src/agents/utils.js.map +1 -0
  154. package/dist/src/availability/errorClassification.d.ts +7 -0
  155. package/dist/src/availability/errorClassification.js +20 -0
  156. package/dist/src/availability/errorClassification.js.map +1 -0
  157. package/dist/src/availability/modelAvailabilityService.d.ts +36 -0
  158. package/dist/src/availability/modelAvailabilityService.js +87 -0
  159. package/dist/src/availability/modelAvailabilityService.js.map +1 -0
  160. package/dist/src/availability/modelPolicy.d.ts +49 -0
  161. package/dist/src/availability/modelPolicy.js +7 -0
  162. package/dist/src/availability/modelPolicy.js.map +1 -0
  163. package/dist/src/availability/policyCatalog.d.ts +24 -0
  164. package/dist/src/availability/policyCatalog.js +106 -0
  165. package/dist/src/availability/policyCatalog.js.map +1 -0
  166. package/dist/src/availability/policyHelpers.d.ts +52 -0
  167. package/dist/src/availability/policyHelpers.js +143 -0
  168. package/dist/src/availability/policyHelpers.js.map +1 -0
  169. package/dist/src/availability/testUtils.d.ts +10 -0
  170. package/dist/src/availability/testUtils.js +22 -0
  171. package/dist/src/availability/testUtils.js.map +1 -0
  172. package/dist/src/code_assist/admin/admin_controls.d.ts +32 -0
  173. package/dist/src/code_assist/admin/admin_controls.js +120 -0
  174. package/dist/src/code_assist/admin/admin_controls.js.map +1 -0
  175. package/dist/src/code_assist/codeAssist.d.ts +12 -0
  176. package/dist/src/code_assist/codeAssist.js +31 -0
  177. package/dist/src/code_assist/codeAssist.js.map +1 -0
  178. package/dist/src/code_assist/converter.d.ts +75 -0
  179. package/dist/src/code_assist/converter.js +161 -0
  180. package/dist/src/code_assist/converter.js.map +1 -0
  181. package/dist/src/code_assist/experiments/client_metadata.d.ts +12 -0
  182. package/dist/src/code_assist/experiments/client_metadata.js +51 -0
  183. package/dist/src/code_assist/experiments/client_metadata.js.map +1 -0
  184. package/dist/src/code_assist/experiments/experiments.d.ts +17 -0
  185. package/dist/src/code_assist/experiments/experiments.js +57 -0
  186. package/dist/src/code_assist/experiments/experiments.js.map +1 -0
  187. package/dist/src/code_assist/experiments/flagNames.d.ts +16 -0
  188. package/dist/src/code_assist/experiments/flagNames.js +16 -0
  189. package/dist/src/code_assist/experiments/flagNames.js.map +1 -0
  190. package/dist/src/code_assist/experiments/types.d.ts +35 -0
  191. package/dist/src/code_assist/experiments/types.js +7 -0
  192. package/dist/src/code_assist/experiments/types.js.map +1 -0
  193. package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
  194. package/dist/src/code_assist/oauth-credential-storage.js +109 -0
  195. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
  196. package/dist/src/code_assist/oauth2.d.ts +25 -0
  197. package/dist/src/code_assist/oauth2.js +579 -0
  198. package/dist/src/code_assist/oauth2.js.map +1 -0
  199. package/dist/src/code_assist/server.d.ts +50 -0
  200. package/dist/src/code_assist/server.js +228 -0
  201. package/dist/src/code_assist/server.js.map +1 -0
  202. package/dist/src/code_assist/setup.d.ts +46 -0
  203. package/dist/src/code_assist/setup.js +179 -0
  204. package/dist/src/code_assist/setup.js.map +1 -0
  205. package/dist/src/code_assist/telemetry.d.ts +14 -0
  206. package/dist/src/code_assist/telemetry.js +157 -0
  207. package/dist/src/code_assist/telemetry.js.map +1 -0
  208. package/dist/src/code_assist/types.d.ts +306 -0
  209. package/dist/src/code_assist/types.js +94 -0
  210. package/dist/src/code_assist/types.js.map +1 -0
  211. package/dist/src/cognitive/gemini-adapter.d.ts +29 -0
  212. package/dist/src/cognitive/gemini-adapter.js +109 -0
  213. package/dist/src/cognitive/gemini-adapter.js.map +1 -0
  214. package/dist/src/cognitive/index.d.ts +22 -0
  215. package/dist/src/cognitive/index.js +50 -0
  216. package/dist/src/cognitive/index.js.map +1 -0
  217. package/dist/src/cognitive/integration.d.ts +57 -0
  218. package/dist/src/cognitive/integration.js +103 -0
  219. package/dist/src/cognitive/integration.js.map +1 -0
  220. package/dist/src/cognitive/loader/index.d.ts +8 -0
  221. package/dist/src/cognitive/loader/index.js +9 -0
  222. package/dist/src/cognitive/loader/index.js.map +1 -0
  223. package/dist/src/cognitive/loader/module-loader.d.ts +67 -0
  224. package/dist/src/cognitive/loader/module-loader.js +369 -0
  225. package/dist/src/cognitive/loader/module-loader.js.map +1 -0
  226. package/dist/src/cognitive/runtime/envelope.d.ts +31 -0
  227. package/dist/src/cognitive/runtime/envelope.js +167 -0
  228. package/dist/src/cognitive/runtime/envelope.js.map +1 -0
  229. package/dist/src/cognitive/runtime/executor.d.ts +65 -0
  230. package/dist/src/cognitive/runtime/executor.js +245 -0
  231. package/dist/src/cognitive/runtime/executor.js.map +1 -0
  232. package/dist/src/cognitive/runtime/index.d.ts +12 -0
  233. package/dist/src/cognitive/runtime/index.js +18 -0
  234. package/dist/src/cognitive/runtime/index.js.map +1 -0
  235. package/dist/src/cognitive/runtime/prompt-builder.d.ts +34 -0
  236. package/dist/src/cognitive/runtime/prompt-builder.js +216 -0
  237. package/dist/src/cognitive/runtime/prompt-builder.js.map +1 -0
  238. package/dist/src/cognitive/runtime/repair-pass.d.ts +43 -0
  239. package/dist/src/cognitive/runtime/repair-pass.js +170 -0
  240. package/dist/src/cognitive/runtime/repair-pass.js.map +1 -0
  241. package/dist/src/cognitive/runtime/risk-aggregator.d.ts +39 -0
  242. package/dist/src/cognitive/runtime/risk-aggregator.js +90 -0
  243. package/dist/src/cognitive/runtime/risk-aggregator.js.map +1 -0
  244. package/dist/src/cognitive/tool/cognitive-registry.d.ts +99 -0
  245. package/dist/src/cognitive/tool/cognitive-registry.js +192 -0
  246. package/dist/src/cognitive/tool/cognitive-registry.js.map +1 -0
  247. package/dist/src/cognitive/tool/cognitive-tool.d.ts +56 -0
  248. package/dist/src/cognitive/tool/cognitive-tool.js +217 -0
  249. package/dist/src/cognitive/tool/cognitive-tool.js.map +1 -0
  250. package/dist/src/cognitive/tool/index.d.ts +9 -0
  251. package/dist/src/cognitive/tool/index.js +10 -0
  252. package/dist/src/cognitive/tool/index.js.map +1 -0
  253. package/dist/src/cognitive/types.d.ts +234 -0
  254. package/dist/src/cognitive/types.js +10 -0
  255. package/dist/src/cognitive/types.js.map +1 -0
  256. package/dist/src/cognitive/validator/envelope-validator.d.ts +45 -0
  257. package/dist/src/cognitive/validator/envelope-validator.js +214 -0
  258. package/dist/src/cognitive/validator/envelope-validator.js.map +1 -0
  259. package/dist/src/cognitive/validator/index.d.ts +9 -0
  260. package/dist/src/cognitive/validator/index.js +10 -0
  261. package/dist/src/cognitive/validator/index.js.map +1 -0
  262. package/dist/src/cognitive/validator/schema-validator.d.ts +46 -0
  263. package/dist/src/cognitive/validator/schema-validator.js +202 -0
  264. package/dist/src/cognitive/validator/schema-validator.js.map +1 -0
  265. package/dist/src/commands/cognitive.d.ts +39 -0
  266. package/dist/src/commands/cognitive.js +335 -0
  267. package/dist/src/commands/cognitive.js.map +1 -0
  268. package/dist/src/commands/extensions.d.ts +7 -0
  269. package/dist/src/commands/extensions.js +9 -0
  270. package/dist/src/commands/extensions.js.map +1 -0
  271. package/dist/src/commands/init.d.ts +7 -0
  272. package/dist/src/commands/init.js +53 -0
  273. package/dist/src/commands/init.js.map +1 -0
  274. package/dist/src/commands/memory.d.ts +11 -0
  275. package/dist/src/commands/memory.js +80 -0
  276. package/dist/src/commands/memory.js.map +1 -0
  277. package/dist/src/commands/restore.d.ts +9 -0
  278. package/dist/src/commands/restore.js +46 -0
  279. package/dist/src/commands/restore.js.map +1 -0
  280. package/dist/src/commands/types.d.ts +41 -0
  281. package/dist/src/commands/types.js +7 -0
  282. package/dist/src/commands/types.js.map +1 -0
  283. package/dist/src/config/config.d.ts +766 -0
  284. package/dist/src/config/config.js +1625 -0
  285. package/dist/src/config/config.js.map +1 -0
  286. package/dist/src/config/constants.d.ts +15 -0
  287. package/dist/src/config/constants.js +24 -0
  288. package/dist/src/config/constants.js.map +1 -0
  289. package/dist/src/config/defaultModelConfigs.d.ts +7 -0
  290. package/dist/src/config/defaultModelConfigs.js +231 -0
  291. package/dist/src/config/defaultModelConfigs.js.map +1 -0
  292. package/dist/src/config/models.d.ts +67 -0
  293. package/dist/src/config/models.js +144 -0
  294. package/dist/src/config/models.js.map +1 -0
  295. package/dist/src/config/storage.d.ts +44 -0
  296. package/dist/src/config/storage.js +139 -0
  297. package/dist/src/config/storage.js.map +1 -0
  298. package/dist/src/confirmation-bus/index.d.ts +7 -0
  299. package/dist/src/confirmation-bus/index.js +8 -0
  300. package/dist/src/confirmation-bus/index.js.map +1 -0
  301. package/dist/src/confirmation-bus/message-bus.d.ts +24 -0
  302. package/dist/src/confirmation-bus/message-bus.js +120 -0
  303. package/dist/src/confirmation-bus/message-bus.js.map +1 -0
  304. package/dist/src/confirmation-bus/types.d.ts +147 -0
  305. package/dist/src/confirmation-bus/types.js +25 -0
  306. package/dist/src/confirmation-bus/types.js.map +1 -0
  307. package/dist/src/core/apiKeyCredentialStorage.d.ts +17 -0
  308. package/dist/src/core/apiKeyCredentialStorage.js +64 -0
  309. package/dist/src/core/apiKeyCredentialStorage.js.map +1 -0
  310. package/dist/src/core/baseLlmClient.d.ts +74 -0
  311. package/dist/src/core/baseLlmClient.js +167 -0
  312. package/dist/src/core/baseLlmClient.js.map +1 -0
  313. package/dist/src/core/client.d.ts +59 -0
  314. package/dist/src/core/client.js +716 -0
  315. package/dist/src/core/client.js.map +1 -0
  316. package/dist/src/core/contentGenerator.d.ts +34 -0
  317. package/dist/src/core/contentGenerator.js +107 -0
  318. package/dist/src/core/contentGenerator.js.map +1 -0
  319. package/dist/src/core/coreToolHookTriggers.d.ts +23 -0
  320. package/dist/src/core/coreToolHookTriggers.js +195 -0
  321. package/dist/src/core/coreToolHookTriggers.js.map +1 -0
  322. package/dist/src/core/coreToolScheduler.d.ts +50 -0
  323. package/dist/src/core/coreToolScheduler.js +703 -0
  324. package/dist/src/core/coreToolScheduler.js.map +1 -0
  325. package/dist/src/core/fakeContentGenerator.d.ts +34 -0
  326. package/dist/src/core/fakeContentGenerator.js +59 -0
  327. package/dist/src/core/fakeContentGenerator.js.map +1 -0
  328. package/dist/src/core/geminiChat.d.ts +160 -0
  329. package/dist/src/core/geminiChat.js +744 -0
  330. package/dist/src/core/geminiChat.js.map +1 -0
  331. package/dist/src/core/geminiRequest.d.ts +13 -0
  332. package/dist/src/core/geminiRequest.js +11 -0
  333. package/dist/src/core/geminiRequest.js.map +1 -0
  334. package/dist/src/core/logger.d.ts +65 -0
  335. package/dist/src/core/logger.js +368 -0
  336. package/dist/src/core/logger.js.map +1 -0
  337. package/dist/src/core/loggingContentGenerator.d.ts +29 -0
  338. package/dist/src/core/loggingContentGenerator.js +202 -0
  339. package/dist/src/core/loggingContentGenerator.js.map +1 -0
  340. package/dist/src/core/prompts.d.ts +19 -0
  341. package/dist/src/core/prompts.js +27 -0
  342. package/dist/src/core/prompts.js.map +1 -0
  343. package/dist/src/core/recordingContentGenerator.d.ts +19 -0
  344. package/dist/src/core/recordingContentGenerator.js +82 -0
  345. package/dist/src/core/recordingContentGenerator.js.map +1 -0
  346. package/dist/src/core/tokenLimits.d.ts +10 -0
  347. package/dist/src/core/tokenLimits.js +22 -0
  348. package/dist/src/core/tokenLimits.js.map +1 -0
  349. package/dist/src/core/turn.d.ts +167 -0
  350. package/dist/src/core/turn.js +209 -0
  351. package/dist/src/core/turn.js.map +1 -0
  352. package/dist/src/fallback/handler.d.ts +7 -0
  353. package/dist/src/fallback/handler.js +110 -0
  354. package/dist/src/fallback/handler.js.map +1 -0
  355. package/dist/src/fallback/types.d.ts +31 -0
  356. package/dist/src/fallback/types.js +7 -0
  357. package/dist/src/fallback/types.js.map +1 -0
  358. package/dist/src/generated/git-commit.d.ts +7 -0
  359. package/dist/src/generated/git-commit.js +10 -0
  360. package/dist/src/generated/git-commit.js.map +1 -0
  361. package/dist/src/hooks/hookAggregator.d.ts +68 -0
  362. package/dist/src/hooks/hookAggregator.js +279 -0
  363. package/dist/src/hooks/hookAggregator.js.map +1 -0
  364. package/dist/src/hooks/hookEventHandler.d.ts +107 -0
  365. package/dist/src/hooks/hookEventHandler.js +325 -0
  366. package/dist/src/hooks/hookEventHandler.js.map +1 -0
  367. package/dist/src/hooks/hookPlanner.d.ts +42 -0
  368. package/dist/src/hooks/hookPlanner.js +103 -0
  369. package/dist/src/hooks/hookPlanner.js.map +1 -0
  370. package/dist/src/hooks/hookRegistry.d.ts +75 -0
  371. package/dist/src/hooks/hookRegistry.js +215 -0
  372. package/dist/src/hooks/hookRegistry.js.map +1 -0
  373. package/dist/src/hooks/hookRunner.d.ts +44 -0
  374. package/dist/src/hooks/hookRunner.js +329 -0
  375. package/dist/src/hooks/hookRunner.js.map +1 -0
  376. package/dist/src/hooks/hookSystem.d.ts +99 -0
  377. package/dist/src/hooks/hookSystem.js +262 -0
  378. package/dist/src/hooks/hookSystem.js.map +1 -0
  379. package/dist/src/hooks/hookTranslator.d.ts +113 -0
  380. package/dist/src/hooks/hookTranslator.js +233 -0
  381. package/dist/src/hooks/hookTranslator.js.map +1 -0
  382. package/dist/src/hooks/index.d.ts +16 -0
  383. package/dist/src/hooks/index.js +16 -0
  384. package/dist/src/hooks/index.js.map +1 -0
  385. package/dist/src/hooks/trustedHooks.d.ts +28 -0
  386. package/dist/src/hooks/trustedHooks.js +90 -0
  387. package/dist/src/hooks/trustedHooks.js.map +1 -0
  388. package/dist/src/hooks/types.d.ts +442 -0
  389. package/dist/src/hooks/types.js +303 -0
  390. package/dist/src/hooks/types.js.map +1 -0
  391. package/dist/src/ide/constants.d.ts +9 -0
  392. package/dist/src/ide/constants.js +10 -0
  393. package/dist/src/ide/constants.js.map +1 -0
  394. package/dist/src/ide/detect-ide.d.ts +109 -0
  395. package/dist/src/ide/detect-ide.js +125 -0
  396. package/dist/src/ide/detect-ide.js.map +1 -0
  397. package/dist/src/ide/ide-client.d.ts +113 -0
  398. package/dist/src/ide/ide-client.js +669 -0
  399. package/dist/src/ide/ide-client.js.map +1 -0
  400. package/dist/src/ide/ide-installer.d.ts +14 -0
  401. package/dist/src/ide/ide-installer.js +227 -0
  402. package/dist/src/ide/ide-installer.js.map +1 -0
  403. package/dist/src/ide/ideContext.d.ts +44 -0
  404. package/dist/src/ide/ideContext.js +101 -0
  405. package/dist/src/ide/ideContext.js.map +1 -0
  406. package/dist/src/ide/process-utils.d.ts +21 -0
  407. package/dist/src/ide/process-utils.js +181 -0
  408. package/dist/src/ide/process-utils.js.map +1 -0
  409. package/dist/src/ide/types.d.ts +486 -0
  410. package/dist/src/ide/types.js +138 -0
  411. package/dist/src/ide/types.js.map +1 -0
  412. package/dist/src/index.d.ts +145 -0
  413. package/dist/src/index.js +161 -0
  414. package/dist/src/index.js.map +1 -0
  415. package/dist/src/mcp/auth-provider.d.ts +16 -0
  416. package/dist/src/mcp/auth-provider.js +7 -0
  417. package/dist/src/mcp/auth-provider.js.map +1 -0
  418. package/dist/src/mcp/google-auth-provider.d.ts +33 -0
  419. package/dist/src/mcp/google-auth-provider.js +118 -0
  420. package/dist/src/mcp/google-auth-provider.js.map +1 -0
  421. package/dist/src/mcp/oauth-provider.d.ts +160 -0
  422. package/dist/src/mcp/oauth-provider.js +729 -0
  423. package/dist/src/mcp/oauth-provider.js.map +1 -0
  424. package/dist/src/mcp/oauth-token-storage.d.ts +65 -0
  425. package/dist/src/mcp/oauth-token-storage.js +181 -0
  426. package/dist/src/mcp/oauth-token-storage.js.map +1 -0
  427. package/dist/src/mcp/oauth-utils.d.ts +142 -0
  428. package/dist/src/mcp/oauth-utils.js +289 -0
  429. package/dist/src/mcp/oauth-utils.js.map +1 -0
  430. package/dist/src/mcp/sa-impersonation-provider.d.ts +27 -0
  431. package/dist/src/mcp/sa-impersonation-provider.js +113 -0
  432. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  433. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  434. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  435. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  436. package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  437. package/dist/src/mcp/token-storage/file-token-storage.js +145 -0
  438. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  439. package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
  440. package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
  441. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  442. package/dist/src/mcp/token-storage/index.d.ts +11 -0
  443. package/dist/src/mcp/token-storage/index.js +12 -0
  444. package/dist/src/mcp/token-storage/index.js.map +1 -0
  445. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +35 -0
  446. package/dist/src/mcp/token-storage/keychain-token-storage.js +246 -0
  447. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  448. package/dist/src/mcp/token-storage/types.d.ts +44 -0
  449. package/dist/src/mcp/token-storage/types.js +11 -0
  450. package/dist/src/mcp/token-storage/types.js.map +1 -0
  451. package/dist/src/mocks/msw.d.ts +6 -0
  452. package/dist/src/mocks/msw.js +8 -0
  453. package/dist/src/mocks/msw.js.map +1 -0
  454. package/dist/src/output/json-formatter.d.ts +11 -0
  455. package/dist/src/output/json-formatter.js +33 -0
  456. package/dist/src/output/json-formatter.js.map +1 -0
  457. package/dist/src/output/stream-json-formatter.d.ts +32 -0
  458. package/dist/src/output/stream-json-formatter.js +58 -0
  459. package/dist/src/output/stream-json-formatter.js.map +1 -0
  460. package/dist/src/output/types.d.ts +85 -0
  461. package/dist/src/output/types.js +22 -0
  462. package/dist/src/output/types.js.map +1 -0
  463. package/dist/src/policy/config.d.ts +31 -0
  464. package/dist/src/policy/config.js +355 -0
  465. package/dist/src/policy/config.js.map +1 -0
  466. package/dist/src/policy/index.d.ts +9 -0
  467. package/dist/src/policy/index.js +10 -0
  468. package/dist/src/policy/index.js.map +1 -0
  469. package/dist/src/policy/policies/discovered.toml +8 -0
  470. package/dist/src/policy/policies/plan.toml +79 -0
  471. package/dist/src/policy/policies/read-only.toml +51 -0
  472. package/dist/src/policy/policies/write.toml +78 -0
  473. package/dist/src/policy/policies/yolo.toml +32 -0
  474. package/dist/src/policy/policy-engine.d.ts +65 -0
  475. package/dist/src/policy/policy-engine.js +357 -0
  476. package/dist/src/policy/policy-engine.js.map +1 -0
  477. package/dist/src/policy/stable-stringify.d.ts +58 -0
  478. package/dist/src/policy/stable-stringify.js +122 -0
  479. package/dist/src/policy/stable-stringify.js.map +1 -0
  480. package/dist/src/policy/toml-loader.d.ts +45 -0
  481. package/dist/src/policy/toml-loader.js +366 -0
  482. package/dist/src/policy/toml-loader.js.map +1 -0
  483. package/dist/src/policy/types.d.ts +220 -0
  484. package/dist/src/policy/types.js +44 -0
  485. package/dist/src/policy/types.js.map +1 -0
  486. package/dist/src/policy/utils.d.ts +21 -0
  487. package/dist/src/policy/utils.js +45 -0
  488. package/dist/src/policy/utils.js.map +1 -0
  489. package/dist/src/prompts/mcp-prompts.d.ts +8 -0
  490. package/dist/src/prompts/mcp-prompts.js +13 -0
  491. package/dist/src/prompts/mcp-prompts.js.map +1 -0
  492. package/dist/src/prompts/prompt-registry.d.ts +34 -0
  493. package/dist/src/prompts/prompt-registry.js +64 -0
  494. package/dist/src/prompts/prompt-registry.js.map +1 -0
  495. package/dist/src/prompts/promptProvider.d.ts +18 -0
  496. package/dist/src/prompts/promptProvider.js +129 -0
  497. package/dist/src/prompts/promptProvider.js.map +1 -0
  498. package/dist/src/prompts/snippets.d.ts +76 -0
  499. package/dist/src/prompts/snippets.js +455 -0
  500. package/dist/src/prompts/snippets.js.map +1 -0
  501. package/dist/src/prompts/utils.d.ts +23 -0
  502. package/dist/src/prompts/utils.js +72 -0
  503. package/dist/src/prompts/utils.js.map +1 -0
  504. package/dist/src/resources/resource-registry.d.ts +30 -0
  505. package/dist/src/resources/resource-registry.js +57 -0
  506. package/dist/src/resources/resource-registry.js.map +1 -0
  507. package/dist/src/routing/modelRouterService.d.ts +23 -0
  508. package/dist/src/routing/modelRouterService.js +80 -0
  509. package/dist/src/routing/modelRouterService.js.map +1 -0
  510. package/dist/src/routing/routingStrategy.d.ts +64 -0
  511. package/dist/src/routing/routingStrategy.js +7 -0
  512. package/dist/src/routing/routingStrategy.js.map +1 -0
  513. package/dist/src/routing/strategies/classifierStrategy.d.ts +12 -0
  514. package/dist/src/routing/strategies/classifierStrategy.js +152 -0
  515. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -0
  516. package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
  517. package/dist/src/routing/strategies/compositeStrategy.js +70 -0
  518. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
  519. package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
  520. package/dist/src/routing/strategies/defaultStrategy.js +21 -0
  521. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
  522. package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
  523. package/dist/src/routing/strategies/fallbackStrategy.js +33 -0
  524. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
  525. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +13 -0
  526. package/dist/src/routing/strategies/numericalClassifierStrategy.js +178 -0
  527. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -0
  528. package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
  529. package/dist/src/routing/strategies/overrideStrategy.js +29 -0
  530. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
  531. package/dist/src/safety/built-in.d.ts +21 -0
  532. package/dist/src/safety/built-in.js +106 -0
  533. package/dist/src/safety/built-in.js.map +1 -0
  534. package/dist/src/safety/checker-runner.d.ts +48 -0
  535. package/dist/src/safety/checker-runner.js +219 -0
  536. package/dist/src/safety/checker-runner.js.map +1 -0
  537. package/dist/src/safety/context-builder.d.ts +23 -0
  538. package/dist/src/safety/context-builder.js +47 -0
  539. package/dist/src/safety/context-builder.js.map +1 -0
  540. package/dist/src/safety/protocol.d.ts +88 -0
  541. package/dist/src/safety/protocol.js +15 -0
  542. package/dist/src/safety/protocol.js.map +1 -0
  543. package/dist/src/safety/registry.d.ts +26 -0
  544. package/dist/src/safety/registry.js +65 -0
  545. package/dist/src/safety/registry.js.map +1 -0
  546. package/dist/src/scheduler/confirmation.d.ts +49 -0
  547. package/dist/src/scheduler/confirmation.js +183 -0
  548. package/dist/src/scheduler/confirmation.js.map +1 -0
  549. package/dist/src/scheduler/policy.d.ts +25 -0
  550. package/dist/src/scheduler/policy.js +108 -0
  551. package/dist/src/scheduler/policy.js.map +1 -0
  552. package/dist/src/scheduler/scheduler.d.ts +61 -0
  553. package/dist/src/scheduler/scheduler.js +356 -0
  554. package/dist/src/scheduler/scheduler.js.map +1 -0
  555. package/dist/src/scheduler/state-manager.d.ts +73 -0
  556. package/dist/src/scheduler/state-manager.js +356 -0
  557. package/dist/src/scheduler/state-manager.js.map +1 -0
  558. package/dist/src/scheduler/tool-executor.d.ts +22 -0
  559. package/dist/src/scheduler/tool-executor.js +201 -0
  560. package/dist/src/scheduler/tool-executor.js.map +1 -0
  561. package/dist/src/scheduler/tool-modifier.d.ts +23 -0
  562. package/dist/src/scheduler/tool-modifier.js +50 -0
  563. package/dist/src/scheduler/tool-modifier.js.map +1 -0
  564. package/dist/src/scheduler/types.d.ts +118 -0
  565. package/dist/src/scheduler/types.js +7 -0
  566. package/dist/src/scheduler/types.js.map +1 -0
  567. package/dist/src/services/chatCompressionService.d.ts +41 -0
  568. package/dist/src/services/chatCompressionService.js +339 -0
  569. package/dist/src/services/chatCompressionService.js.map +1 -0
  570. package/dist/src/services/chatRecordingService.d.ts +174 -0
  571. package/dist/src/services/chatRecordingService.js +427 -0
  572. package/dist/src/services/chatRecordingService.js.map +1 -0
  573. package/dist/src/services/contextManager.d.ts +29 -0
  574. package/dist/src/services/contextManager.js +71 -0
  575. package/dist/src/services/contextManager.js.map +1 -0
  576. package/dist/src/services/environmentSanitization.d.ts +15 -0
  577. package/dist/src/services/environmentSanitization.js +145 -0
  578. package/dist/src/services/environmentSanitization.js.map +1 -0
  579. package/dist/src/services/fileDiscoveryService.d.ts +45 -0
  580. package/dist/src/services/fileDiscoveryService.js +141 -0
  581. package/dist/src/services/fileDiscoveryService.js.map +1 -0
  582. package/dist/src/services/fileSystemService.d.ts +31 -0
  583. package/dist/src/services/fileSystemService.js +18 -0
  584. package/dist/src/services/fileSystemService.js.map +1 -0
  585. package/dist/src/services/gitService.d.ts +24 -0
  586. package/dist/src/services/gitService.js +132 -0
  587. package/dist/src/services/gitService.js.map +1 -0
  588. package/dist/src/services/loopDetectionService.d.ts +106 -0
  589. package/dist/src/services/loopDetectionService.js +433 -0
  590. package/dist/src/services/loopDetectionService.js.map +1 -0
  591. package/dist/src/services/modelConfigService.d.ts +86 -0
  592. package/dist/src/services/modelConfigService.js +215 -0
  593. package/dist/src/services/modelConfigService.js.map +1 -0
  594. package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
  595. package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
  596. package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
  597. package/dist/src/services/sessionSummaryService.d.ts +28 -0
  598. package/dist/src/services/sessionSummaryService.js +131 -0
  599. package/dist/src/services/sessionSummaryService.js.map +1 -0
  600. package/dist/src/services/sessionSummaryUtils.d.ts +16 -0
  601. package/dist/src/services/sessionSummaryUtils.js +129 -0
  602. package/dist/src/services/sessionSummaryUtils.js.map +1 -0
  603. package/dist/src/services/shellExecutionService.d.ts +145 -0
  604. package/dist/src/services/shellExecutionService.js +871 -0
  605. package/dist/src/services/shellExecutionService.js.map +1 -0
  606. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
  607. package/dist/src/services/test-data/resolved-aliases.golden.json +238 -0
  608. package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
  609. package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  610. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +102 -0
  611. package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  612. package/dist/src/skills/skillLoader.d.ts +31 -0
  613. package/dist/src/skills/skillLoader.js +133 -0
  614. package/dist/src/skills/skillLoader.js.map +1 -0
  615. package/dist/src/skills/skillManager.d.ts +69 -0
  616. package/dist/src/skills/skillManager.js +138 -0
  617. package/dist/src/skills/skillManager.js.map +1 -0
  618. package/dist/src/telemetry/activity-detector.d.ts +41 -0
  619. package/dist/src/telemetry/activity-detector.js +61 -0
  620. package/dist/src/telemetry/activity-detector.js.map +1 -0
  621. package/dist/src/telemetry/activity-monitor.d.ts +116 -0
  622. package/dist/src/telemetry/activity-monitor.js +209 -0
  623. package/dist/src/telemetry/activity-monitor.js.map +1 -0
  624. package/dist/src/telemetry/activity-types.d.ts +19 -0
  625. package/dist/src/telemetry/activity-types.js +21 -0
  626. package/dist/src/telemetry/activity-types.js.map +1 -0
  627. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +172 -0
  628. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +1316 -0
  629. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -0
  630. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +150 -0
  631. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +377 -0
  632. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -0
  633. package/dist/src/telemetry/config.d.ts +31 -0
  634. package/dist/src/telemetry/config.js +78 -0
  635. package/dist/src/telemetry/config.js.map +1 -0
  636. package/dist/src/telemetry/constants.d.ts +6 -0
  637. package/dist/src/telemetry/constants.js +7 -0
  638. package/dist/src/telemetry/constants.js.map +1 -0
  639. package/dist/src/telemetry/file-exporters.d.ts +29 -0
  640. package/dist/src/telemetry/file-exporters.js +62 -0
  641. package/dist/src/telemetry/file-exporters.js.map +1 -0
  642. package/dist/src/telemetry/gcp-exporters.d.ts +35 -0
  643. package/dist/src/telemetry/gcp-exporters.js +120 -0
  644. package/dist/src/telemetry/gcp-exporters.js.map +1 -0
  645. package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
  646. package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
  647. package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
  648. package/dist/src/telemetry/index.d.ts +33 -0
  649. package/dist/src/telemetry/index.js +44 -0
  650. package/dist/src/telemetry/index.js.map +1 -0
  651. package/dist/src/telemetry/integration.test.circular.d.ts +6 -0
  652. package/dist/src/telemetry/integration.test.circular.js +54 -0
  653. package/dist/src/telemetry/integration.test.circular.js.map +1 -0
  654. package/dist/src/telemetry/loggers.d.ts +46 -0
  655. package/dist/src/telemetry/loggers.js +517 -0
  656. package/dist/src/telemetry/loggers.js.map +1 -0
  657. package/dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  658. package/dist/src/telemetry/loggers.test.circular.js +107 -0
  659. package/dist/src/telemetry/loggers.test.circular.js.map +1 -0
  660. package/dist/src/telemetry/memory-monitor.d.ts +149 -0
  661. package/dist/src/telemetry/memory-monitor.js +335 -0
  662. package/dist/src/telemetry/memory-monitor.js.map +1 -0
  663. package/dist/src/telemetry/metrics.d.ts +533 -0
  664. package/dist/src/telemetry/metrics.js +852 -0
  665. package/dist/src/telemetry/metrics.js.map +1 -0
  666. package/dist/src/telemetry/rate-limiter.d.ts +48 -0
  667. package/dist/src/telemetry/rate-limiter.js +100 -0
  668. package/dist/src/telemetry/rate-limiter.js.map +1 -0
  669. package/dist/src/telemetry/sanitize.d.ts +25 -0
  670. package/dist/src/telemetry/sanitize.js +48 -0
  671. package/dist/src/telemetry/sanitize.js.map +1 -0
  672. package/dist/src/telemetry/sdk.d.ts +16 -0
  673. package/dist/src/telemetry/sdk.js +307 -0
  674. package/dist/src/telemetry/sdk.js.map +1 -0
  675. package/dist/src/telemetry/semantic.d.ts +82 -0
  676. package/dist/src/telemetry/semantic.js +357 -0
  677. package/dist/src/telemetry/semantic.js.map +1 -0
  678. package/dist/src/telemetry/startupProfiler.d.ts +51 -0
  679. package/dist/src/telemetry/startupProfiler.js +170 -0
  680. package/dist/src/telemetry/startupProfiler.js.map +1 -0
  681. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  682. package/dist/src/telemetry/telemetry-utils.js +14 -0
  683. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  684. package/dist/src/telemetry/telemetryAttributes.d.ts +8 -0
  685. package/dist/src/telemetry/telemetryAttributes.js +19 -0
  686. package/dist/src/telemetry/telemetryAttributes.js.map +1 -0
  687. package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
  688. package/dist/src/telemetry/tool-call-decision.js +29 -0
  689. package/dist/src/telemetry/tool-call-decision.js.map +1 -0
  690. package/dist/src/telemetry/trace.d.ts +46 -0
  691. package/dist/src/telemetry/trace.js +121 -0
  692. package/dist/src/telemetry/trace.js.map +1 -0
  693. package/dist/src/telemetry/types.d.ts +566 -0
  694. package/dist/src/telemetry/types.js +1495 -0
  695. package/dist/src/telemetry/types.js.map +1 -0
  696. package/dist/src/telemetry/uiTelemetry.d.ts +76 -0
  697. package/dist/src/telemetry/uiTelemetry.js +154 -0
  698. package/dist/src/telemetry/uiTelemetry.js.map +1 -0
  699. package/dist/src/test-utils/config.d.ts +17 -0
  700. package/dist/src/test-utils/config.js +32 -0
  701. package/dist/src/test-utils/config.js.map +1 -0
  702. package/dist/src/test-utils/index.d.ts +6 -0
  703. package/dist/src/test-utils/index.js +7 -0
  704. package/dist/src/test-utils/index.js.map +1 -0
  705. package/dist/src/test-utils/mock-message-bus.d.ts +43 -0
  706. package/dist/src/test-utils/mock-message-bus.js +96 -0
  707. package/dist/src/test-utils/mock-message-bus.js.map +1 -0
  708. package/dist/src/test-utils/mock-tool.d.ts +69 -0
  709. package/dist/src/test-utils/mock-tool.js +123 -0
  710. package/dist/src/test-utils/mock-tool.js.map +1 -0
  711. package/dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
  712. package/dist/src/test-utils/mockWorkspaceContext.js +24 -0
  713. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
  714. package/dist/src/tools/activate-skill.d.ts +27 -0
  715. package/dist/src/tools/activate-skill.js +133 -0
  716. package/dist/src/tools/activate-skill.js.map +1 -0
  717. package/dist/src/tools/ask-user.d.ts +23 -0
  718. package/dist/src/tools/ask-user.js +155 -0
  719. package/dist/src/tools/ask-user.js.map +1 -0
  720. package/dist/src/tools/constants.d.ts +7 -0
  721. package/dist/src/tools/constants.js +8 -0
  722. package/dist/src/tools/constants.js.map +1 -0
  723. package/dist/src/tools/diffOptions.d.ts +9 -0
  724. package/dist/src/tools/diffOptions.js +50 -0
  725. package/dist/src/tools/diffOptions.js.map +1 -0
  726. package/dist/src/tools/edit.d.ts +79 -0
  727. package/dist/src/tools/edit.js +750 -0
  728. package/dist/src/tools/edit.js.map +1 -0
  729. package/dist/src/tools/get-internal-docs.d.ts +27 -0
  730. package/dist/src/tools/get-internal-docs.js +122 -0
  731. package/dist/src/tools/get-internal-docs.js.map +1 -0
  732. package/dist/src/tools/glob.d.ts +57 -0
  733. package/dist/src/tools/glob.js +240 -0
  734. package/dist/src/tools/glob.js.map +1 -0
  735. package/dist/src/tools/grep.d.ts +41 -0
  736. package/dist/src/tools/grep.js +505 -0
  737. package/dist/src/tools/grep.js.map +1 -0
  738. package/dist/src/tools/ls.d.ts +69 -0
  739. package/dist/src/tools/ls.js +214 -0
  740. package/dist/src/tools/ls.js.map +1 -0
  741. package/dist/src/tools/mcp-client-manager.d.ts +93 -0
  742. package/dist/src/tools/mcp-client-manager.js +338 -0
  743. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  744. package/dist/src/tools/mcp-client.d.ts +243 -0
  745. package/dist/src/tools/mcp-client.js +1351 -0
  746. package/dist/src/tools/mcp-client.js.map +1 -0
  747. package/dist/src/tools/mcp-tool.d.ts +49 -0
  748. package/dist/src/tools/mcp-tool.js +300 -0
  749. package/dist/src/tools/mcp-tool.js.map +1 -0
  750. package/dist/src/tools/memoryTool.d.ts +42 -0
  751. package/dist/src/tools/memoryTool.js +269 -0
  752. package/dist/src/tools/memoryTool.js.map +1 -0
  753. package/dist/src/tools/modifiable-tool.d.ts +36 -0
  754. package/dist/src/tools/modifiable-tool.js +110 -0
  755. package/dist/src/tools/modifiable-tool.js.map +1 -0
  756. package/dist/src/tools/read-file.d.ts +37 -0
  757. package/dist/src/tools/read-file.js +141 -0
  758. package/dist/src/tools/read-file.js.map +1 -0
  759. package/dist/src/tools/read-many-files.d.ts +54 -0
  760. package/dist/src/tools/read-many-files.js +364 -0
  761. package/dist/src/tools/read-many-files.js.map +1 -0
  762. package/dist/src/tools/ripGrep.d.ts +74 -0
  763. package/dist/src/tools/ripGrep.js +422 -0
  764. package/dist/src/tools/ripGrep.js.map +1 -0
  765. package/dist/src/tools/shell.d.ts +33 -0
  766. package/dist/src/tools/shell.js +436 -0
  767. package/dist/src/tools/shell.js.map +1 -0
  768. package/dist/src/tools/tool-error.d.ts +70 -0
  769. package/dist/src/tools/tool-error.js +92 -0
  770. package/dist/src/tools/tool-error.js.map +1 -0
  771. package/dist/src/tools/tool-names.d.ts +41 -0
  772. package/dist/src/tools/tool-names.js +94 -0
  773. package/dist/src/tools/tool-names.js.map +1 -0
  774. package/dist/src/tools/tool-registry.d.ts +103 -0
  775. package/dist/src/tools/tool-registry.js +429 -0
  776. package/dist/src/tools/tool-registry.js.map +1 -0
  777. package/dist/src/tools/tools.d.ts +347 -0
  778. package/dist/src/tools/tools.js +405 -0
  779. package/dist/src/tools/tools.js.map +1 -0
  780. package/dist/src/tools/web-fetch.d.ts +35 -0
  781. package/dist/src/tools/web-fetch.js +299 -0
  782. package/dist/src/tools/web-fetch.js.map +1 -0
  783. package/dist/src/tools/web-search.d.ts +50 -0
  784. package/dist/src/tools/web-search.js +141 -0
  785. package/dist/src/tools/web-search.js.map +1 -0
  786. package/dist/src/tools/write-file.d.ts +53 -0
  787. package/dist/src/tools/write-file.js +341 -0
  788. package/dist/src/tools/write-file.js.map +1 -0
  789. package/dist/src/tools/write-todos.d.ts +50 -0
  790. package/dist/src/tools/write-todos.js +194 -0
  791. package/dist/src/tools/write-todos.js.map +1 -0
  792. package/dist/src/utils/apiConversionUtils.d.ts +12 -0
  793. package/dist/src/utils/apiConversionUtils.js +46 -0
  794. package/dist/src/utils/apiConversionUtils.js.map +1 -0
  795. package/dist/src/utils/bfsFileSearch.d.ts +32 -0
  796. package/dist/src/utils/bfsFileSearch.js +136 -0
  797. package/dist/src/utils/bfsFileSearch.js.map +1 -0
  798. package/dist/src/utils/browser.d.ts +13 -0
  799. package/dist/src/utils/browser.js +50 -0
  800. package/dist/src/utils/browser.js.map +1 -0
  801. package/dist/src/utils/channel.d.ts +19 -0
  802. package/dist/src/utils/channel.js +49 -0
  803. package/dist/src/utils/channel.js.map +1 -0
  804. package/dist/src/utils/checkpointUtils.d.ts +82 -0
  805. package/dist/src/utils/checkpointUtils.js +117 -0
  806. package/dist/src/utils/checkpointUtils.js.map +1 -0
  807. package/dist/src/utils/constants.d.ts +7 -0
  808. package/dist/src/utils/constants.js +8 -0
  809. package/dist/src/utils/constants.js.map +1 -0
  810. package/dist/src/utils/customHeaderUtils.d.ts +9 -0
  811. package/dist/src/utils/customHeaderUtils.js +34 -0
  812. package/dist/src/utils/customHeaderUtils.js.map +1 -0
  813. package/dist/src/utils/debugLogger.d.ts +28 -0
  814. package/dist/src/utils/debugLogger.js +61 -0
  815. package/dist/src/utils/debugLogger.js.map +1 -0
  816. package/dist/src/utils/delay.d.ts +16 -0
  817. package/dist/src/utils/delay.js +43 -0
  818. package/dist/src/utils/delay.js.map +1 -0
  819. package/dist/src/utils/editCorrector.d.ts +54 -0
  820. package/dist/src/utils/editCorrector.js +596 -0
  821. package/dist/src/utils/editCorrector.js.map +1 -0
  822. package/dist/src/utils/editor.d.ts +39 -0
  823. package/dist/src/utils/editor.js +219 -0
  824. package/dist/src/utils/editor.js.map +1 -0
  825. package/dist/src/utils/environmentContext.d.ts +23 -0
  826. package/dist/src/utils/environmentContext.js +81 -0
  827. package/dist/src/utils/environmentContext.js.map +1 -0
  828. package/dist/src/utils/errorParsing.d.ts +8 -0
  829. package/dist/src/utils/errorParsing.js +65 -0
  830. package/dist/src/utils/errorParsing.js.map +1 -0
  831. package/dist/src/utils/errorReporting.d.ts +14 -0
  832. package/dist/src/utils/errorReporting.js +89 -0
  833. package/dist/src/utils/errorReporting.js.map +1 -0
  834. package/dist/src/utils/errors.d.ts +53 -0
  835. package/dist/src/utils/errors.js +145 -0
  836. package/dist/src/utils/errors.js.map +1 -0
  837. package/dist/src/utils/events.d.ts +211 -0
  838. package/dist/src/utils/events.js +134 -0
  839. package/dist/src/utils/events.js.map +1 -0
  840. package/dist/src/utils/exitCodes.d.ts +12 -0
  841. package/dist/src/utils/exitCodes.js +13 -0
  842. package/dist/src/utils/exitCodes.js.map +1 -0
  843. package/dist/src/utils/extensionLoader.d.ts +86 -0
  844. package/dist/src/utils/extensionLoader.js +208 -0
  845. package/dist/src/utils/extensionLoader.js.map +1 -0
  846. package/dist/src/utils/fetch.d.ts +12 -0
  847. package/dist/src/utils/fetch.js +55 -0
  848. package/dist/src/utils/fetch.js.map +1 -0
  849. package/dist/src/utils/fileDiffUtils.d.ts +18 -0
  850. package/dist/src/utils/fileDiffUtils.js +37 -0
  851. package/dist/src/utils/fileDiffUtils.js.map +1 -0
  852. package/dist/src/utils/fileUtils.d.ts +86 -0
  853. package/dist/src/utils/fileUtils.js +495 -0
  854. package/dist/src/utils/fileUtils.js.map +1 -0
  855. package/dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  856. package/dist/src/utils/filesearch/crawlCache.js +57 -0
  857. package/dist/src/utils/filesearch/crawlCache.js.map +1 -0
  858. package/dist/src/utils/filesearch/crawler.d.ts +16 -0
  859. package/dist/src/utils/filesearch/crawler.js +67 -0
  860. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  861. package/dist/src/utils/filesearch/fileSearch.d.ts +39 -0
  862. package/dist/src/utils/filesearch/fileSearch.js +192 -0
  863. package/dist/src/utils/filesearch/fileSearch.js.map +1 -0
  864. package/dist/src/utils/filesearch/ignore.d.ts +37 -0
  865. package/dist/src/utils/filesearch/ignore.js +99 -0
  866. package/dist/src/utils/filesearch/ignore.js.map +1 -0
  867. package/dist/src/utils/filesearch/result-cache.d.ts +33 -0
  868. package/dist/src/utils/filesearch/result-cache.js +59 -0
  869. package/dist/src/utils/filesearch/result-cache.js.map +1 -0
  870. package/dist/src/utils/formatters.d.ts +7 -0
  871. package/dist/src/utils/formatters.js +17 -0
  872. package/dist/src/utils/formatters.js.map +1 -0
  873. package/dist/src/utils/generateContentResponseUtilities.d.ts +15 -0
  874. package/dist/src/utils/generateContentResponseUtilities.js +186 -0
  875. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  876. package/dist/src/utils/getFolderStructure.d.ts +31 -0
  877. package/dist/src/utils/getFolderStructure.js +243 -0
  878. package/dist/src/utils/getFolderStructure.js.map +1 -0
  879. package/dist/src/utils/getPty.d.ts +19 -0
  880. package/dist/src/utils/getPty.js +23 -0
  881. package/dist/src/utils/getPty.js.map +1 -0
  882. package/dist/src/utils/gitIgnoreParser.d.ts +19 -0
  883. package/dist/src/utils/gitIgnoreParser.js +169 -0
  884. package/dist/src/utils/gitIgnoreParser.js.map +1 -0
  885. package/dist/src/utils/gitUtils.d.ts +17 -0
  886. package/dist/src/utils/gitUtils.js +61 -0
  887. package/dist/src/utils/gitUtils.js.map +1 -0
  888. package/dist/src/utils/googleErrors.d.ts +104 -0
  889. package/dist/src/utils/googleErrors.js +165 -0
  890. package/dist/src/utils/googleErrors.js.map +1 -0
  891. package/dist/src/utils/googleQuotaErrors.d.ts +51 -0
  892. package/dist/src/utils/googleQuotaErrors.js +250 -0
  893. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  894. package/dist/src/utils/httpErrors.d.ts +18 -0
  895. package/dist/src/utils/httpErrors.js +36 -0
  896. package/dist/src/utils/httpErrors.js.map +1 -0
  897. package/dist/src/utils/ignoreFileParser.d.ts +30 -0
  898. package/dist/src/utils/ignoreFileParser.js +100 -0
  899. package/dist/src/utils/ignoreFileParser.js.map +1 -0
  900. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  901. package/dist/src/utils/ignorePatterns.js +220 -0
  902. package/dist/src/utils/ignorePatterns.js.map +1 -0
  903. package/dist/src/utils/installationManager.d.ts +16 -0
  904. package/dist/src/utils/installationManager.js +51 -0
  905. package/dist/src/utils/installationManager.js.map +1 -0
  906. package/dist/src/utils/language-detection.d.ts +6 -0
  907. package/dist/src/utils/language-detection.js +101 -0
  908. package/dist/src/utils/language-detection.js.map +1 -0
  909. package/dist/src/utils/llm-edit-fixer.d.ts +26 -0
  910. package/dist/src/utils/llm-edit-fixer.js +152 -0
  911. package/dist/src/utils/llm-edit-fixer.js.map +1 -0
  912. package/dist/src/utils/memoryDiscovery.d.ts +40 -0
  913. package/dist/src/utils/memoryDiscovery.js +421 -0
  914. package/dist/src/utils/memoryDiscovery.js.map +1 -0
  915. package/dist/src/utils/memoryImportProcessor.d.ts +42 -0
  916. package/dist/src/utils/memoryImportProcessor.js +273 -0
  917. package/dist/src/utils/memoryImportProcessor.js.map +1 -0
  918. package/dist/src/utils/messageInspectors.d.ts +8 -0
  919. package/dist/src/utils/messageInspectors.js +16 -0
  920. package/dist/src/utils/messageInspectors.js.map +1 -0
  921. package/dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  922. package/dist/src/utils/nextSpeakerChecker.js +97 -0
  923. package/dist/src/utils/nextSpeakerChecker.js.map +1 -0
  924. package/dist/src/utils/package.d.ts +26 -0
  925. package/dist/src/utils/package.js +35 -0
  926. package/dist/src/utils/package.js.map +1 -0
  927. package/dist/src/utils/partUtils.d.ts +35 -0
  928. package/dist/src/utils/partUtils.js +133 -0
  929. package/dist/src/utils/partUtils.js.map +1 -0
  930. package/dist/src/utils/pathCorrector.d.ts +25 -0
  931. package/dist/src/utils/pathCorrector.js +43 -0
  932. package/dist/src/utils/pathCorrector.js.map +1 -0
  933. package/dist/src/utils/pathReader.d.ts +17 -0
  934. package/dist/src/utils/pathReader.js +92 -0
  935. package/dist/src/utils/pathReader.js.map +1 -0
  936. package/dist/src/utils/paths.d.ts +78 -0
  937. package/dist/src/utils/paths.js +311 -0
  938. package/dist/src/utils/paths.js.map +1 -0
  939. package/dist/src/utils/process-utils.d.ts +32 -0
  940. package/dist/src/utils/process-utils.js +88 -0
  941. package/dist/src/utils/process-utils.js.map +1 -0
  942. package/dist/src/utils/promptIdContext.d.ts +13 -0
  943. package/dist/src/utils/promptIdContext.js +23 -0
  944. package/dist/src/utils/promptIdContext.js.map +1 -0
  945. package/dist/src/utils/quotaErrorDetection.d.ts +16 -0
  946. package/dist/src/utils/quotaErrorDetection.js +19 -0
  947. package/dist/src/utils/quotaErrorDetection.js.map +1 -0
  948. package/dist/src/utils/retry.d.ts +39 -0
  949. package/dist/src/utils/retry.js +267 -0
  950. package/dist/src/utils/retry.js.map +1 -0
  951. package/dist/src/utils/safeJsonStringify.d.ts +13 -0
  952. package/dist/src/utils/safeJsonStringify.js +49 -0
  953. package/dist/src/utils/safeJsonStringify.js.map +1 -0
  954. package/dist/src/utils/schemaValidator.d.ts +21 -0
  955. package/dist/src/utils/schemaValidator.js +59 -0
  956. package/dist/src/utils/schemaValidator.js.map +1 -0
  957. package/dist/src/utils/secure-browser-launcher.d.ts +23 -0
  958. package/dist/src/utils/secure-browser-launcher.js +165 -0
  959. package/dist/src/utils/secure-browser-launcher.js.map +1 -0
  960. package/dist/src/utils/security.d.ts +16 -0
  961. package/dist/src/utils/security.js +88 -0
  962. package/dist/src/utils/security.js.map +1 -0
  963. package/dist/src/utils/session.d.ts +6 -0
  964. package/dist/src/utils/session.js +8 -0
  965. package/dist/src/utils/session.js.map +1 -0
  966. package/dist/src/utils/shell-utils.d.ts +118 -0
  967. package/dist/src/utils/shell-utils.js +708 -0
  968. package/dist/src/utils/shell-utils.js.map +1 -0
  969. package/dist/src/utils/stdio.d.ts +32 -0
  970. package/dist/src/utils/stdio.js +85 -0
  971. package/dist/src/utils/stdio.js.map +1 -0
  972. package/dist/src/utils/summarizer.d.ts +27 -0
  973. package/dist/src/utils/summarizer.js +50 -0
  974. package/dist/src/utils/summarizer.js.map +1 -0
  975. package/dist/src/utils/systemEncoding.d.ts +40 -0
  976. package/dist/src/utils/systemEncoding.js +150 -0
  977. package/dist/src/utils/systemEncoding.js.map +1 -0
  978. package/dist/src/utils/terminal.d.ts +22 -0
  979. package/dist/src/utils/terminal.js +62 -0
  980. package/dist/src/utils/terminal.js.map +1 -0
  981. package/dist/src/utils/terminalSerializer.d.ts +25 -0
  982. package/dist/src/utils/terminalSerializer.js +444 -0
  983. package/dist/src/utils/terminalSerializer.js.map +1 -0
  984. package/dist/src/utils/testUtils.d.ts +29 -0
  985. package/dist/src/utils/testUtils.js +70 -0
  986. package/dist/src/utils/testUtils.js.map +1 -0
  987. package/dist/src/utils/textUtils.d.ts +32 -0
  988. package/dist/src/utils/textUtils.js +65 -0
  989. package/dist/src/utils/textUtils.js.map +1 -0
  990. package/dist/src/utils/thoughtUtils.d.ts +21 -0
  991. package/dist/src/utils/thoughtUtils.js +39 -0
  992. package/dist/src/utils/thoughtUtils.js.map +1 -0
  993. package/dist/src/utils/tokenCalculation.d.ts +19 -0
  994. package/dist/src/utils/tokenCalculation.js +150 -0
  995. package/dist/src/utils/tokenCalculation.js.map +1 -0
  996. package/dist/src/utils/tool-utils.d.ts +28 -0
  997. package/dist/src/utils/tool-utils.js +96 -0
  998. package/dist/src/utils/tool-utils.js.map +1 -0
  999. package/dist/src/utils/toolCallContext.d.ts +35 -0
  1000. package/dist/src/utils/toolCallContext.js +29 -0
  1001. package/dist/src/utils/toolCallContext.js.map +1 -0
  1002. package/dist/src/utils/userAccountManager.d.ts +20 -0
  1003. package/dist/src/utils/userAccountManager.js +115 -0
  1004. package/dist/src/utils/userAccountManager.js.map +1 -0
  1005. package/dist/src/utils/version.d.ts +6 -0
  1006. package/dist/src/utils/version.js +15 -0
  1007. package/dist/src/utils/version.js.map +1 -0
  1008. package/dist/src/utils/workspaceContext.d.ts +82 -0
  1009. package/dist/src/utils/workspaceContext.js +192 -0
  1010. package/dist/src/utils/workspaceContext.js.map +1 -0
  1011. package/dist/tsconfig.tsbuildinfo +1 -0
  1012. package/package.json +97 -0
@@ -0,0 +1,281 @@
1
+ # Getting started with Gemini CLI extensions
2
+
3
+ This guide will walk you through creating your first Gemini CLI extension.
4
+ You'll learn how to set up a new extension, add a custom tool via an MCP server,
5
+ create a custom command, and provide context to the model with a `GEMINI.md`
6
+ file.
7
+
8
+ ## Prerequisites
9
+
10
+ Before you start, make sure you have the Gemini CLI installed and a basic
11
+ understanding of Node.js.
12
+
13
+ ## When to use what
14
+
15
+ Extensions offer a variety of ways to customize Gemini CLI.
16
+
17
+ | Feature | What it is | When to use it | Invoked by |
18
+ | :------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- |
19
+ | **[MCP server](reference.md#mcp-servers)** | A standard way to expose new tools and data sources to the model. | Use this when you want the model to be able to _do_ new things, like fetching data from an internal API, querying a database, or controlling a local application. We also support MCP resources (which can replace custom commands) and system instructions (which can replace custom context) | Model |
20
+ | **[Custom commands](../cli/custom-commands.md)** | A shortcut (like `/my-cmd`) that executes a pre-defined prompt or shell command. | Use this for repetitive tasks or to save long, complex prompts that you use frequently. Great for automation. | User |
21
+ | **[Context file (`GEMINI.md`)](reference.md#contextfilename)** | A markdown file containing instructions that are loaded into the model's context at the start of every session. | Use this to define the "personality" of your extension, set coding standards, or provide essential knowledge that the model should always have. | CLI provides to model |
22
+ | **[Agent skills](../cli/skills.md)** | A specialized set of instructions and workflows that the model activates only when needed. | Use this for complex, occasional tasks (like "create a PR" or "audit security") to avoid cluttering the main context window when the skill isn't being used. | Model |
23
+ | **[Hooks](../hooks/index.md)** | A way to intercept and customize the CLI's behavior at specific lifecycle events (e.g., before/after a tool call). | Use this when you want to automate actions based on what the model is doing, like validating tool arguments, logging activity, or modifying the model's input/output. | CLI |
24
+
25
+ ## Step 1: Create a new extension
26
+
27
+ The easiest way to start is by using one of the built-in templates. We'll use
28
+ the `mcp-server` example as our foundation.
29
+
30
+ Run the following command to create a new directory called `my-first-extension`
31
+ with the template files:
32
+
33
+ ```bash
34
+ gemini extensions new my-first-extension mcp-server
35
+ ```
36
+
37
+ This will create a new directory with the following structure:
38
+
39
+ ```
40
+ my-first-extension/
41
+ ├── example.js
42
+ ├── gemini-extension.json
43
+ └── package.json
44
+ ```
45
+
46
+ ## Step 2: Understand the extension files
47
+
48
+ Let's look at the key files in your new extension.
49
+
50
+ ### `gemini-extension.json`
51
+
52
+ This is the manifest file for your extension. It tells Gemini CLI how to load
53
+ and use your extension.
54
+
55
+ ```json
56
+ {
57
+ "name": "mcp-server-example",
58
+ "version": "1.0.0",
59
+ "mcpServers": {
60
+ "nodeServer": {
61
+ "command": "node",
62
+ "args": ["${extensionPath}${/}example.js"],
63
+ "cwd": "${extensionPath}"
64
+ }
65
+ }
66
+ }
67
+ ```
68
+
69
+ - `name`: The unique name for your extension.
70
+ - `version`: The version of your extension.
71
+ - `mcpServers`: This section defines one or more Model Context Protocol (MCP)
72
+ servers. MCP servers are how you can add new tools for the model to use.
73
+ - `command`, `args`, `cwd`: These fields specify how to start your server.
74
+ Notice the use of the `${extensionPath}` variable, which Gemini CLI replaces
75
+ with the absolute path to your extension's installation directory. This
76
+ allows your extension to work regardless of where it's installed.
77
+
78
+ ### `example.js`
79
+
80
+ This file contains the source code for your MCP server. It's a simple Node.js
81
+ server that uses the `@modelcontextprotocol/sdk`.
82
+
83
+ ```javascript
84
+ /**
85
+ * @license
86
+ * Copyright 2025 Google LLC
87
+ * SPDX-License-Identifier: Apache-2.0
88
+ */
89
+
90
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
91
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
92
+ import { z } from 'zod';
93
+
94
+ const server = new McpServer({
95
+ name: 'prompt-server',
96
+ version: '1.0.0',
97
+ });
98
+
99
+ // Registers a new tool named 'fetch_posts'
100
+ server.registerTool(
101
+ 'fetch_posts',
102
+ {
103
+ description: 'Fetches a list of posts from a public API.',
104
+ inputSchema: z.object({}).shape,
105
+ },
106
+ async () => {
107
+ const apiResponse = await fetch(
108
+ 'https://jsonplaceholder.typicode.com/posts',
109
+ );
110
+ const posts = await apiResponse.json();
111
+ const response = { posts: posts.slice(0, 5) };
112
+ return {
113
+ content: [
114
+ {
115
+ type: 'text',
116
+ text: JSON.stringify(response),
117
+ },
118
+ ],
119
+ };
120
+ },
121
+ );
122
+
123
+ // ... (prompt registration omitted for brevity)
124
+
125
+ const transport = new StdioServerTransport();
126
+ await server.connect(transport);
127
+ ```
128
+
129
+ This server defines a single tool called `fetch_posts` that fetches data from a
130
+ public API.
131
+
132
+ ### `package.json`
133
+
134
+ This is the standard configuration file for a Node.js project. It defines
135
+ dependencies and scripts.
136
+
137
+ ## Step 3: Link your extension
138
+
139
+ Before you can use the extension, you need to link it to your Gemini CLI
140
+ installation for local development.
141
+
142
+ 1. **Install dependencies:**
143
+
144
+ ```bash
145
+ cd my-first-extension
146
+ npm install
147
+ ```
148
+
149
+ 2. **Link the extension:**
150
+
151
+ The `link` command creates a symbolic link from the Gemini CLI extensions
152
+ directory to your development directory. This means any changes you make
153
+ will be reflected immediately without needing to reinstall.
154
+
155
+ ```bash
156
+ gemini extensions link .
157
+ ```
158
+
159
+ Now, restart your Gemini CLI session. The new `fetch_posts` tool will be
160
+ available. You can test it by asking: "fetch posts".
161
+
162
+ ## Step 4: Add a custom command
163
+
164
+ Custom commands provide a way to create shortcuts for complex prompts. Let's add
165
+ a command that searches for a pattern in your code.
166
+
167
+ 1. Create a `commands` directory and a subdirectory for your command group:
168
+
169
+ ```bash
170
+ mkdir -p commands/fs
171
+ ```
172
+
173
+ 2. Create a file named `commands/fs/grep-code.toml`:
174
+
175
+ ```toml
176
+ prompt = """
177
+ Please summarize the findings for the pattern `{{args}}`.
178
+
179
+ Search Results:
180
+ !{grep -r {{args}} .}
181
+ """
182
+ ```
183
+
184
+ This command, `/fs:grep-code`, will take an argument, run the `grep` shell
185
+ command with it, and pipe the results into a prompt for summarization.
186
+
187
+ After saving the file, restart the Gemini CLI. You can now run
188
+ `/fs:grep-code "some pattern"` to use your new command.
189
+
190
+ ## Step 5: Add a custom `GEMINI.md`
191
+
192
+ You can provide persistent context to the model by adding a `GEMINI.md` file to
193
+ your extension. This is useful for giving the model instructions on how to
194
+ behave or information about your extension's tools. Note that you may not always
195
+ need this for extensions built to expose commands and prompts.
196
+
197
+ 1. Create a file named `GEMINI.md` in the root of your extension directory:
198
+
199
+ ```markdown
200
+ # My First Extension Instructions
201
+
202
+ You are an expert developer assistant. When the user asks you to fetch
203
+ posts, use the `fetch_posts` tool. Be concise in your responses.
204
+ ```
205
+
206
+ 2. Update your `gemini-extension.json` to tell the CLI to load this file:
207
+
208
+ ```json
209
+ {
210
+ "name": "my-first-extension",
211
+ "version": "1.0.0",
212
+ "contextFileName": "GEMINI.md",
213
+ "mcpServers": {
214
+ "nodeServer": {
215
+ "command": "node",
216
+ "args": ["${extensionPath}${/}example.js"],
217
+ "cwd": "${extensionPath}"
218
+ }
219
+ }
220
+ }
221
+ ```
222
+
223
+ Restart the CLI again. The model will now have the context from your `GEMINI.md`
224
+ file in every session where the extension is active.
225
+
226
+ ## (Optional) Step 6: Add an Agent Skill
227
+
228
+ [Agent Skills](../cli/skills.md) let you bundle specialized expertise and
229
+ procedural workflows. Unlike `GEMINI.md`, which provides persistent context,
230
+ skills are activated only when needed, saving context tokens.
231
+
232
+ 1. Create a `skills` directory and a subdirectory for your skill:
233
+
234
+ ```bash
235
+ mkdir -p skills/security-audit
236
+ ```
237
+
238
+ 2. Create a `skills/security-audit/SKILL.md` file:
239
+
240
+ ```markdown
241
+ ---
242
+ name: security-audit
243
+ description:
244
+ Expertise in auditing code for security vulnerabilities. Use when the user
245
+ asks to "check for security issues" or "audit" their changes.
246
+ ---
247
+
248
+ # Security Auditor
249
+
250
+ You are an expert security researcher. When auditing code:
251
+
252
+ 1. Look for common vulnerabilities (OWASP Top 10).
253
+ 2. Check for hardcoded secrets or API keys.
254
+ 3. Suggest remediation steps for any findings.
255
+ ```
256
+
257
+ Skills bundled with your extension are automatically discovered and can be
258
+ activated by the model during a session when it identifies a relevant task.
259
+
260
+ ## Step 7: Release your extension
261
+
262
+ Once you're happy with your extension, you can share it with others. The two
263
+ primary ways of releasing extensions are via a Git repository or through GitHub
264
+ Releases. Using a public Git repository is the simplest method.
265
+
266
+ For detailed instructions on both methods, please refer to the
267
+ [Extension Releasing Guide](./releasing.md).
268
+
269
+ ## Conclusion
270
+
271
+ You've successfully created a Gemini CLI extension! You learned how to:
272
+
273
+ - Bootstrap a new extension from a template.
274
+ - Add custom tools with an MCP server.
275
+ - Create convenient custom commands.
276
+ - Provide persistent context to the model.
277
+ - Bundle specialized Agent Skills.
278
+ - Link your extension for local development.
279
+
280
+ From here, you can explore more advanced features and build powerful new
281
+ capabilities into the Gemini CLI.
@@ -0,0 +1,154 @@
1
+ # Frequently asked questions (FAQ)
2
+
3
+ This page provides answers to common questions and solutions to frequent
4
+ problems encountered while using Gemini CLI.
5
+
6
+ ## General issues
7
+
8
+ ### Why am I getting an `API error: 429 - Resource exhausted`?
9
+
10
+ This error indicates that you have exceeded your API request limit. The Gemini
11
+ API has rate limits to prevent abuse and ensure fair usage.
12
+
13
+ To resolve this, you can:
14
+
15
+ - **Check your usage:** Review your API usage in the Google AI Studio or your
16
+ Google Cloud project dashboard.
17
+ - **Optimize your prompts:** If you are making many requests in a short period,
18
+ try to batch your prompts or introduce delays between requests.
19
+ - **Request a quota increase:** If you consistently need a higher limit, you can
20
+ request a quota increase from Google.
21
+
22
+ ### Why am I getting an `ERR_REQUIRE_ESM` error when running `npm run start`?
23
+
24
+ This error typically occurs in Node.js projects when there is a mismatch between
25
+ CommonJS and ES Modules.
26
+
27
+ This is often due to a misconfiguration in your `package.json` or
28
+ `tsconfig.json`. Ensure that:
29
+
30
+ 1. Your `package.json` has `"type": "module"`.
31
+ 2. Your `tsconfig.json` has `"module": "NodeNext"` or a compatible setting in
32
+ the `compilerOptions`.
33
+
34
+ If the problem persists, try deleting your `node_modules` directory and
35
+ `package-lock.json` file, and then run `npm install` again.
36
+
37
+ ### Why don't I see cached token counts in my stats output?
38
+
39
+ Cached token information is only displayed when cached tokens are being used.
40
+ This feature is available for API key users (Gemini API key or Google Cloud
41
+ Vertex AI) but not for OAuth users (such as Google Personal/Enterprise accounts
42
+ like Google Gmail or Google Workspace, respectively). This is because the Gemini
43
+ Code Assist API does not support cached content creation. You can still view
44
+ your total token usage using the `/stats` command in Gemini CLI.
45
+
46
+ ## Installation and updates
47
+
48
+ ### How do I update Gemini CLI to the latest version?
49
+
50
+ If you installed it globally via `npm`, update it using the command
51
+ `npm install -g @google/gemini-cli@latest`. If you compiled it from source, pull
52
+ the latest changes from the repository, and then rebuild using the command
53
+ `npm run build`.
54
+
55
+ ## Platform-specific issues
56
+
57
+ ### Why does the CLI crash on Windows when I run a command like `chmod +x`?
58
+
59
+ Commands like `chmod` are specific to Unix-like operating systems (Linux,
60
+ macOS). They are not available on Windows by default.
61
+
62
+ To resolve this, you can:
63
+
64
+ - **Use Windows-equivalent commands:** Instead of `chmod`, you can use `icacls`
65
+ to modify file permissions on Windows.
66
+ - **Use a compatibility layer:** Tools like Git Bash or Windows Subsystem for
67
+ Linux (WSL) provide a Unix-like environment on Windows where these commands
68
+ will work.
69
+
70
+ ## Configuration
71
+
72
+ ### How do I configure my `GOOGLE_CLOUD_PROJECT`?
73
+
74
+ You can configure your Google Cloud Project ID using an environment variable.
75
+
76
+ Set the `GOOGLE_CLOUD_PROJECT` environment variable in your shell:
77
+
78
+ ```bash
79
+ export GOOGLE_CLOUD_PROJECT="your-project-id"
80
+ ```
81
+
82
+ To make this setting permanent, add this line to your shell's startup file
83
+ (e.g., `~/.bashrc`, `~/.zshrc`).
84
+
85
+ ### What is the best way to store my API keys securely?
86
+
87
+ Exposing API keys in scripts or checking them into source control is a security
88
+ risk.
89
+
90
+ To store your API keys securely, you can:
91
+
92
+ - **Use a `.env` file:** Create a `.env` file in your project's `.gemini`
93
+ directory (`.gemini/.env`) and store your keys there. Gemini CLI will
94
+ automatically load these variables.
95
+ - **Use your system's keyring:** For the most secure storage, use your operating
96
+ system's secret management tool (like macOS Keychain, Windows Credential
97
+ Manager, or a secret manager on Linux). You can then have your scripts or
98
+ environment load the key from the secure storage at runtime.
99
+
100
+ ### Where are the Gemini CLI configuration and settings files stored?
101
+
102
+ The Gemini CLI configuration is stored in two `settings.json` files:
103
+
104
+ 1. In your home directory: `~/.gemini/settings.json`.
105
+ 2. In your project's root directory: `./.gemini/settings.json`.
106
+
107
+ Refer to [Gemini CLI Configuration](./get-started/configuration.md) for more
108
+ details.
109
+
110
+ ## Google AI Pro/Ultra and subscription FAQs
111
+
112
+ ### Where can I learn more about my Google AI Pro or Google AI Ultra subscription?
113
+
114
+ To learn more about your Google AI Pro or Google AI Ultra subscription, visit
115
+ **Manage subscription** in your [subscription settings](https://one.google.com).
116
+
117
+ ### How do I know if I have higher limits for Google AI Pro or Ultra?
118
+
119
+ If you're subscribed to Google AI Pro or Ultra, you automatically have higher
120
+ limits to Gemini Code Assist and Gemini CLI. These are shared across Gemini CLI
121
+ and agent mode in the IDE. You can confirm you have higher limits by checking if
122
+ you are still subscribed to Google AI Pro or Ultra in your
123
+ [subscription settings](https://one.google.com).
124
+
125
+ ### What is the privacy policy for using Gemini Code Assist or Gemini CLI if I've subscribed to Google AI Pro or Ultra?
126
+
127
+ To learn more about your privacy policy and terms of service governed by your
128
+ subscription, visit
129
+ [Gemini Code Assist: Terms of Service and Privacy Policies](https://developers.google.com/gemini-code-assist/resources/privacy-notices).
130
+
131
+ ### I've upgraded to Google AI Pro or Ultra but it still says I am hitting quota limits. Is this a bug?
132
+
133
+ The higher limits in your Google AI Pro or Ultra subscription are for Gemini 2.5
134
+ across both Gemini 2.5 Pro and Flash. They are shared quota across Gemini CLI
135
+ and agent mode in Gemini Code Assist IDE extensions. You can learn more about
136
+ quota limits for Gemini CLI, Gemini Code Assist and agent mode in Gemini Code
137
+ Assist at
138
+ [Quotas and limits](https://developers.google.com/gemini-code-assist/resources/quotas).
139
+
140
+ ### If I upgrade to higher limits for Gemini CLI and Gemini Code Assist by purchasing a Google AI Pro or Ultra subscription, will Gemini start using my data to improve its machine learning models?
141
+
142
+ Google does not use your data to improve Google's machine learning models if you
143
+ purchase a paid plan. Note: If you decide to remain on the free version of
144
+ Gemini Code Assist, Gemini Code Assist for individuals, you can also opt out of
145
+ using your data to improve Google's machine learning models. See the
146
+ [Gemini Code Assist for individuals privacy notice](https://developers.google.com/gemini-code-assist/resources/privacy-notice-gemini-code-assist-individuals)
147
+ for more information.
148
+
149
+ ## Not seeing your question?
150
+
151
+ Search the
152
+ [Gemini CLI Q&A discussions on GitHub](https://github.com/google-gemini/gemini-cli/discussions/categories/q-a)
153
+ or
154
+ [start a new discussion on GitHub](https://github.com/google-gemini/gemini-cli/discussions/new?category=q-a)