@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,39 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const START_DELIMITER = '**';
7
+ const END_DELIMITER = '**';
8
+ /**
9
+ * Parses a raw thought string into a structured ThoughtSummary object.
10
+ *
11
+ * Thoughts are expected to have a bold "subject" part enclosed in double
12
+ * asterisks (e.g., **Subject**). The rest of the string is considered
13
+ * the description. This function only parses the first valid subject found.
14
+ *
15
+ * @param rawText The raw text of the thought.
16
+ * @returns A ThoughtSummary object. If no valid subject is found, the entire
17
+ * string is treated as the description.
18
+ */
19
+ export function parseThought(rawText) {
20
+ const startIndex = rawText.indexOf(START_DELIMITER);
21
+ if (startIndex === -1) {
22
+ // No start delimiter found, the whole text is the description.
23
+ return { subject: '', description: rawText.trim() };
24
+ }
25
+ const endIndex = rawText.indexOf(END_DELIMITER, startIndex + START_DELIMITER.length);
26
+ if (endIndex === -1) {
27
+ // Start delimiter found but no end delimiter, so it's not a valid subject.
28
+ // Treat the entire string as the description.
29
+ return { subject: '', description: rawText.trim() };
30
+ }
31
+ const subject = rawText
32
+ .substring(startIndex + START_DELIMITER.length, endIndex)
33
+ .trim();
34
+ // The description is everything before the start delimiter and after the end delimiter.
35
+ const description = (rawText.substring(0, startIndex) +
36
+ rawText.substring(endIndex + END_DELIMITER.length)).trim();
37
+ return { subject, description };
38
+ }
39
+ //# sourceMappingURL=thoughtUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughtUtils.js","sourceRoot":"","sources":["../../../src/utils/thoughtUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,+DAA+D;QAC/D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAC9B,aAAa,EACb,UAAU,GAAG,eAAe,CAAC,MAAM,CACpC,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,2EAA2E;QAC3E,8CAA8C;QAC9C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,OAAO;SACpB,SAAS,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxD,IAAI,EAAE,CAAC;IAEV,wFAAwF;IACxF,MAAM,WAAW,GAAG,CAClB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;QAChC,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CACnD,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { PartListUnion, Part } from '@google/genai';
7
+ import type { ContentGenerator } from '../core/contentGenerator.js';
8
+ /**
9
+ * Estimates token count for parts synchronously using a heuristic.
10
+ * - Text: character-based heuristic (ASCII vs CJK) for small strings, length/4 for massive ones.
11
+ * - Non-text (Tools, etc): JSON string length / 4.
12
+ */
13
+ export declare function estimateTokenCountSync(parts: Part[], depth?: number): number;
14
+ /**
15
+ * Calculates the token count of the request.
16
+ * If the request contains only text or tools, it estimates the token count locally.
17
+ * If the request contains media (images, files), it uses the countTokens API.
18
+ */
19
+ export declare function calculateRequestTokenCount(request: PartListUnion, contentGenerator: ContentGenerator, model: string): Promise<number>;
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { debugLogger } from './debugLogger.js';
7
+ // Token estimation constants
8
+ // ASCII characters (0-127) are roughly 4 chars per token
9
+ const ASCII_TOKENS_PER_CHAR = 0.25;
10
+ // Non-ASCII characters (including CJK) are often 1-2 tokens per char.
11
+ // We use 1.3 as a conservative estimate to avoid underestimation.
12
+ const NON_ASCII_TOKENS_PER_CHAR = 1.3;
13
+ // Fixed token estimate for images
14
+ const IMAGE_TOKEN_ESTIMATE = 3000;
15
+ // Fixed token estimate for PDFs (~100 pages at 258 tokens/page)
16
+ // See: https://ai.google.dev/gemini-api/docs/document-processing
17
+ const PDF_TOKEN_ESTIMATE = 25800;
18
+ // Maximum number of characters to process with the full character-by-character heuristic.
19
+ // Above this, we use a faster approximation to avoid performance bottlenecks.
20
+ const MAX_CHARS_FOR_FULL_HEURISTIC = 100_000;
21
+ // Maximum depth for recursive token estimation to prevent stack overflow from
22
+ // malicious or buggy nested structures. A depth of 3 is sufficient given
23
+ // standard multimodal responses are typically depth 1.
24
+ const MAX_RECURSION_DEPTH = 3;
25
+ /**
26
+ * Heuristic estimation of tokens for a text string.
27
+ */
28
+ function estimateTextTokens(text) {
29
+ if (text.length > MAX_CHARS_FOR_FULL_HEURISTIC) {
30
+ return text.length / 4;
31
+ }
32
+ let tokens = 0;
33
+ // Optimized loop: charCodeAt is faster than for...of on large strings
34
+ for (let i = 0; i < text.length; i++) {
35
+ if (text.charCodeAt(i) <= 127) {
36
+ tokens += ASCII_TOKENS_PER_CHAR;
37
+ }
38
+ else {
39
+ tokens += NON_ASCII_TOKENS_PER_CHAR;
40
+ }
41
+ }
42
+ return tokens;
43
+ }
44
+ /**
45
+ * Heuristic estimation for media parts (images, PDFs) using fixed safe estimates.
46
+ */
47
+ function estimateMediaTokens(part) {
48
+ const inlineData = 'inlineData' in part ? part.inlineData : undefined;
49
+ const fileData = 'fileData' in part ? part.fileData : undefined;
50
+ const mimeType = inlineData?.mimeType || fileData?.mimeType;
51
+ if (mimeType?.startsWith('image/')) {
52
+ // Images: 3,000 tokens (covers up to 4K resolution on Gemini 3)
53
+ // See: https://ai.google.dev/gemini-api/docs/vision#token_counting
54
+ return IMAGE_TOKEN_ESTIMATE;
55
+ }
56
+ else if (mimeType?.startsWith('application/pdf')) {
57
+ // PDFs: 25,800 tokens (~100 pages at 258 tokens/page)
58
+ // See: https://ai.google.dev/gemini-api/docs/document-processing
59
+ return PDF_TOKEN_ESTIMATE;
60
+ }
61
+ return undefined;
62
+ }
63
+ /**
64
+ * Heuristic estimation for tool responses, avoiding massive string copies
65
+ * and accounting for nested Gemini 3 multimodal parts.
66
+ */
67
+ function estimateFunctionResponseTokens(part, depth) {
68
+ const fr = part.functionResponse;
69
+ if (!fr)
70
+ return 0;
71
+ let totalTokens = (fr.name?.length ?? 0) / 4;
72
+ const response = fr.response;
73
+ if (typeof response === 'string') {
74
+ totalTokens += response.length / 4;
75
+ }
76
+ else if (response !== undefined && response !== null) {
77
+ // For objects, stringify only the payload, not the whole Part object.
78
+ totalTokens += JSON.stringify(response).length / 4;
79
+ }
80
+ // Gemini 3: Handle nested multimodal parts recursively.
81
+ const nestedParts = fr.parts;
82
+ if (nestedParts && nestedParts.length > 0) {
83
+ totalTokens += estimateTokenCountSync(nestedParts, depth + 1);
84
+ }
85
+ return totalTokens;
86
+ }
87
+ /**
88
+ * Estimates token count for parts synchronously using a heuristic.
89
+ * - Text: character-based heuristic (ASCII vs CJK) for small strings, length/4 for massive ones.
90
+ * - Non-text (Tools, etc): JSON string length / 4.
91
+ */
92
+ export function estimateTokenCountSync(parts, depth = 0) {
93
+ if (depth > MAX_RECURSION_DEPTH) {
94
+ return 0;
95
+ }
96
+ let totalTokens = 0;
97
+ for (const part of parts) {
98
+ if (typeof part.text === 'string') {
99
+ totalTokens += estimateTextTokens(part.text);
100
+ }
101
+ else if (part.functionResponse) {
102
+ totalTokens += estimateFunctionResponseTokens(part, depth);
103
+ }
104
+ else {
105
+ const mediaEstimate = estimateMediaTokens(part);
106
+ if (mediaEstimate !== undefined) {
107
+ totalTokens += mediaEstimate;
108
+ }
109
+ else {
110
+ // Fallback for other non-text parts (e.g., functionCall).
111
+ // Note: JSON.stringify(part) here is safe as these parts are typically small.
112
+ totalTokens += JSON.stringify(part).length / 4;
113
+ }
114
+ }
115
+ }
116
+ return Math.floor(totalTokens);
117
+ }
118
+ /**
119
+ * Calculates the token count of the request.
120
+ * If the request contains only text or tools, it estimates the token count locally.
121
+ * If the request contains media (images, files), it uses the countTokens API.
122
+ */
123
+ export async function calculateRequestTokenCount(request, contentGenerator, model) {
124
+ const parts = Array.isArray(request)
125
+ ? request.map((p) => (typeof p === 'string' ? { text: p } : p))
126
+ : typeof request === 'string'
127
+ ? [{ text: request }]
128
+ : [request];
129
+ // Use countTokens API only for heavy media parts that are hard to estimate.
130
+ const hasMedia = parts.some((p) => {
131
+ const isMedia = 'inlineData' in p || 'fileData' in p;
132
+ return isMedia;
133
+ });
134
+ if (hasMedia) {
135
+ try {
136
+ const response = await contentGenerator.countTokens({
137
+ model,
138
+ contents: [{ role: 'user', parts }],
139
+ });
140
+ return response.totalTokens ?? 0;
141
+ }
142
+ catch (error) {
143
+ // Fallback to local estimation if the API call fails
144
+ debugLogger.debug('countTokens API failed:', error);
145
+ return estimateTokenCountSync(parts);
146
+ }
147
+ }
148
+ return estimateTokenCountSync(parts);
149
+ }
150
+ //# sourceMappingURL=tokenCalculation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCalculation.js","sourceRoot":"","sources":["../../../src/utils/tokenCalculation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { AnyDeclarativeTool, AnyToolInvocation } from '../index.js';
7
+ /**
8
+ * Generates a suggestion string for a tool name that was not found in the registry.
9
+ * It finds the closest matches based on Levenshtein distance.
10
+ * @param unknownToolName The tool name that was not found.
11
+ * @param allToolNames The list of all available tool names.
12
+ * @param topN The number of suggestions to return. Defaults to 3.
13
+ * @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?", or an empty string if no suggestions are found.
14
+ */
15
+ export declare function getToolSuggestion(unknownToolName: string, allToolNames: string[], topN?: number): string;
16
+ /**
17
+ * Checks if a tool invocation matches any of a list of patterns.
18
+ *
19
+ * @param toolOrToolName The tool object or the name of the tool being invoked.
20
+ * @param invocation The invocation object for the tool or the command invoked.
21
+ * @param patterns A list of patterns to match against.
22
+ * Patterns can be:
23
+ * - A tool name (e.g., "ReadFileTool") to match any invocation of that tool.
24
+ * - A tool name with a prefix (e.g., "ShellTool(git status)") to match
25
+ * invocations where the arguments start with that prefix.
26
+ * @returns True if the invocation matches any pattern, false otherwise.
27
+ */
28
+ export declare function doesToolInvocationMatch(toolOrToolName: AnyDeclarativeTool | string, invocation: AnyToolInvocation | string, patterns: string[]): boolean;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { isTool } from '../index.js';
7
+ import { SHELL_TOOL_NAMES } from './shell-utils.js';
8
+ import levenshtein from 'fast-levenshtein';
9
+ /**
10
+ * Generates a suggestion string for a tool name that was not found in the registry.
11
+ * It finds the closest matches based on Levenshtein distance.
12
+ * @param unknownToolName The tool name that was not found.
13
+ * @param allToolNames The list of all available tool names.
14
+ * @param topN The number of suggestions to return. Defaults to 3.
15
+ * @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?", or an empty string if no suggestions are found.
16
+ */
17
+ export function getToolSuggestion(unknownToolName, allToolNames, topN = 3) {
18
+ const matches = allToolNames.map((toolName) => ({
19
+ name: toolName,
20
+ distance: levenshtein.get(unknownToolName, toolName),
21
+ }));
22
+ matches.sort((a, b) => a.distance - b.distance);
23
+ const topNResults = matches.slice(0, topN);
24
+ if (topNResults.length === 0) {
25
+ return '';
26
+ }
27
+ const suggestedNames = topNResults
28
+ .map((match) => `"${match.name}"`)
29
+ .join(', ');
30
+ if (topNResults.length > 1) {
31
+ return ` Did you mean one of: ${suggestedNames}?`;
32
+ }
33
+ else {
34
+ return ` Did you mean ${suggestedNames}?`;
35
+ }
36
+ }
37
+ /**
38
+ * Checks if a tool invocation matches any of a list of patterns.
39
+ *
40
+ * @param toolOrToolName The tool object or the name of the tool being invoked.
41
+ * @param invocation The invocation object for the tool or the command invoked.
42
+ * @param patterns A list of patterns to match against.
43
+ * Patterns can be:
44
+ * - A tool name (e.g., "ReadFileTool") to match any invocation of that tool.
45
+ * - A tool name with a prefix (e.g., "ShellTool(git status)") to match
46
+ * invocations where the arguments start with that prefix.
47
+ * @returns True if the invocation matches any pattern, false otherwise.
48
+ */
49
+ export function doesToolInvocationMatch(toolOrToolName, invocation, patterns) {
50
+ let toolNames;
51
+ if (isTool(toolOrToolName)) {
52
+ toolNames = [toolOrToolName.name, toolOrToolName.constructor.name];
53
+ }
54
+ else {
55
+ toolNames = [toolOrToolName];
56
+ }
57
+ if (toolNames.some((name) => SHELL_TOOL_NAMES.includes(name))) {
58
+ toolNames = [...new Set([...toolNames, ...SHELL_TOOL_NAMES])];
59
+ }
60
+ for (const pattern of patterns) {
61
+ const openParen = pattern.indexOf('(');
62
+ if (openParen === -1) {
63
+ // No arguments, just a tool name
64
+ if (toolNames.includes(pattern)) {
65
+ return true;
66
+ }
67
+ continue;
68
+ }
69
+ const patternToolName = pattern.substring(0, openParen);
70
+ if (!toolNames.includes(patternToolName)) {
71
+ continue;
72
+ }
73
+ if (!pattern.endsWith(')')) {
74
+ continue;
75
+ }
76
+ const argPattern = pattern.substring(openParen + 1, pattern.length - 1);
77
+ let command;
78
+ if (typeof invocation === 'string') {
79
+ command = invocation;
80
+ }
81
+ else {
82
+ if (!('command' in invocation.params)) {
83
+ // This invocation has no command - nothing to check.
84
+ continue;
85
+ }
86
+ command = String(invocation.params.command);
87
+ }
88
+ if (toolNames.some((name) => SHELL_TOOL_NAMES.includes(name))) {
89
+ if (command === argPattern || command.startsWith(argPattern + ' ')) {
90
+ return true;
91
+ }
92
+ }
93
+ }
94
+ return false;
95
+ }
96
+ //# sourceMappingURL=tool-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../src/utils/tool-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AsyncLocalStorage } from 'node:async_hooks';
7
+ /**
8
+ * Contextual information for a tool call execution.
9
+ */
10
+ export interface ToolCallContext {
11
+ /** The unique ID of the tool call. */
12
+ callId: string;
13
+ /** The ID of the scheduler managing the execution. */
14
+ schedulerId: string;
15
+ /** The ID of the parent tool call, if this is a nested execution (e.g., in a subagent). */
16
+ parentCallId?: string;
17
+ }
18
+ /**
19
+ * AsyncLocalStorage instance for tool call context.
20
+ */
21
+ export declare const toolCallContext: AsyncLocalStorage<ToolCallContext>;
22
+ /**
23
+ * Runs a function within a tool call context.
24
+ *
25
+ * @param context The context to set.
26
+ * @param fn The function to run.
27
+ * @returns The result of the function.
28
+ */
29
+ export declare function runWithToolCallContext<T>(context: ToolCallContext, fn: () => T): T;
30
+ /**
31
+ * Retrieves the current tool call context.
32
+ *
33
+ * @returns The current ToolCallContext, or undefined if not in a context.
34
+ */
35
+ export declare function getToolCallContext(): ToolCallContext | undefined;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AsyncLocalStorage } from 'node:async_hooks';
7
+ /**
8
+ * AsyncLocalStorage instance for tool call context.
9
+ */
10
+ export const toolCallContext = new AsyncLocalStorage();
11
+ /**
12
+ * Runs a function within a tool call context.
13
+ *
14
+ * @param context The context to set.
15
+ * @param fn The function to run.
16
+ * @returns The result of the function.
17
+ */
18
+ export function runWithToolCallContext(context, fn) {
19
+ return toolCallContext.run(context, fn);
20
+ }
21
+ /**
22
+ * Retrieves the current tool call context.
23
+ *
24
+ * @returns The current ToolCallContext, or undefined if not in a context.
25
+ */
26
+ export function getToolCallContext() {
27
+ return toolCallContext.getStore();
28
+ }
29
+ //# sourceMappingURL=toolCallContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCallContext.js","sourceRoot":"","sources":["../../../src/utils/toolCallContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAmB,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,EAAW;IAEX,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare class UserAccountManager {
7
+ private getGoogleAccountsCachePath;
8
+ /**
9
+ * Parses and validates the string content of an accounts file.
10
+ * @param content The raw string content from the file.
11
+ * @returns A valid UserAccounts object.
12
+ */
13
+ private parseAndValidateAccounts;
14
+ private readAccountsSync;
15
+ private readAccounts;
16
+ cacheGoogleAccount(email: string): Promise<void>;
17
+ getCachedGoogleAccount(): string | null;
18
+ getLifetimeGoogleAccounts(): number;
19
+ clearCachedGoogleAccount(): Promise<void>;
20
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import path from 'node:path';
7
+ import { promises as fsp, readFileSync } from 'node:fs';
8
+ import { Storage } from '../config/storage.js';
9
+ import { debugLogger } from './debugLogger.js';
10
+ export class UserAccountManager {
11
+ getGoogleAccountsCachePath() {
12
+ return Storage.getGoogleAccountsPath();
13
+ }
14
+ /**
15
+ * Parses and validates the string content of an accounts file.
16
+ * @param content The raw string content from the file.
17
+ * @returns A valid UserAccounts object.
18
+ */
19
+ parseAndValidateAccounts(content) {
20
+ const defaultState = { active: null, old: [] };
21
+ if (!content.trim()) {
22
+ return defaultState;
23
+ }
24
+ const parsed = JSON.parse(content);
25
+ // Inlined validation logic
26
+ if (typeof parsed !== 'object' || parsed === null) {
27
+ debugLogger.log('Invalid accounts file schema, starting fresh.');
28
+ return defaultState;
29
+ }
30
+ const { active, old } = parsed;
31
+ const isValid = (active === undefined || active === null || typeof active === 'string') &&
32
+ (old === undefined ||
33
+ (Array.isArray(old) && old.every((i) => typeof i === 'string')));
34
+ if (!isValid) {
35
+ debugLogger.log('Invalid accounts file schema, starting fresh.');
36
+ return defaultState;
37
+ }
38
+ return {
39
+ active: parsed.active ?? null,
40
+ old: parsed.old ?? [],
41
+ };
42
+ }
43
+ readAccountsSync(filePath) {
44
+ const defaultState = { active: null, old: [] };
45
+ try {
46
+ const content = readFileSync(filePath, 'utf-8');
47
+ return this.parseAndValidateAccounts(content);
48
+ }
49
+ catch (error) {
50
+ if (error instanceof Error &&
51
+ 'code' in error &&
52
+ error.code === 'ENOENT') {
53
+ return defaultState;
54
+ }
55
+ debugLogger.log('Error during sync read of accounts, starting fresh.', error);
56
+ return defaultState;
57
+ }
58
+ }
59
+ async readAccounts(filePath) {
60
+ const defaultState = { active: null, old: [] };
61
+ try {
62
+ const content = await fsp.readFile(filePath, 'utf-8');
63
+ return this.parseAndValidateAccounts(content);
64
+ }
65
+ catch (error) {
66
+ if (error instanceof Error &&
67
+ 'code' in error &&
68
+ error.code === 'ENOENT') {
69
+ return defaultState;
70
+ }
71
+ debugLogger.log('Could not parse accounts file, starting fresh.', error);
72
+ return defaultState;
73
+ }
74
+ }
75
+ async cacheGoogleAccount(email) {
76
+ const filePath = this.getGoogleAccountsCachePath();
77
+ await fsp.mkdir(path.dirname(filePath), { recursive: true });
78
+ const accounts = await this.readAccounts(filePath);
79
+ if (accounts.active && accounts.active !== email) {
80
+ if (!accounts.old.includes(accounts.active)) {
81
+ accounts.old.push(accounts.active);
82
+ }
83
+ }
84
+ // If the new email was in the old list, remove it
85
+ accounts.old = accounts.old.filter((oldEmail) => oldEmail !== email);
86
+ accounts.active = email;
87
+ await fsp.writeFile(filePath, JSON.stringify(accounts, null, 2), 'utf-8');
88
+ }
89
+ getCachedGoogleAccount() {
90
+ const filePath = this.getGoogleAccountsCachePath();
91
+ const accounts = this.readAccountsSync(filePath);
92
+ return accounts.active;
93
+ }
94
+ getLifetimeGoogleAccounts() {
95
+ const filePath = this.getGoogleAccountsCachePath();
96
+ const accounts = this.readAccountsSync(filePath);
97
+ const allAccounts = new Set(accounts.old);
98
+ if (accounts.active) {
99
+ allAccounts.add(accounts.active);
100
+ }
101
+ return allAccounts.size;
102
+ }
103
+ async clearCachedGoogleAccount() {
104
+ const filePath = this.getGoogleAccountsCachePath();
105
+ const accounts = await this.readAccounts(filePath);
106
+ if (accounts.active) {
107
+ if (!accounts.old.includes(accounts.active)) {
108
+ accounts.old.push(accounts.active);
109
+ }
110
+ accounts.active = null;
111
+ }
112
+ await fsp.writeFile(filePath, JSON.stringify(accounts, null, 2), 'utf-8');
113
+ }
114
+ }
115
+ //# sourceMappingURL=userAccountManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAccountManager.js","sourceRoot":"","sources":["../../../src/utils/userAccountManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare function getVersion(): Promise<string>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { getPackageJson } from './package.js';
7
+ import { fileURLToPath } from 'node:url';
8
+ import path from 'node:path';
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ export async function getVersion() {
12
+ const pkgJson = await getPackageJson(__dirname);
13
+ return process.env['CLI_VERSION'] || pkgJson?.version || 'unknown';
14
+ }
15
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC;AACrE,CAAC"}