@office-ai/aioncli-core 0.30.0 → 0.30.1

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 (325) hide show
  1. package/dist/docs/assets/theme-ansi-dark.png +0 -0
  2. package/dist/docs/assets/theme-atom-one-dark.png +0 -0
  3. package/dist/docs/assets/theme-ayu-dark.png +0 -0
  4. package/dist/docs/assets/theme-default-dark.png +0 -0
  5. package/dist/docs/assets/theme-dracula-dark.png +0 -0
  6. package/dist/docs/assets/theme-github-dark.png +0 -0
  7. package/dist/docs/assets/theme-holiday-dark.png +0 -0
  8. package/dist/docs/assets/theme-shades-of-purple-dark.png +0 -0
  9. package/dist/docs/assets/theme-solarized-dark.png +0 -0
  10. package/dist/docs/assets/theme-solarized-light.png +0 -0
  11. package/dist/docs/cli/notifications.md +58 -0
  12. package/dist/docs/redirects.json +20 -0
  13. package/dist/docs/reference/commands.md +563 -0
  14. package/dist/docs/reference/configuration.md +1804 -0
  15. package/dist/docs/reference/keyboard-shortcuts.md +168 -0
  16. package/dist/docs/reference/memport.md +246 -0
  17. package/dist/docs/reference/policy-engine.md +386 -0
  18. package/dist/docs/reference/tools.md +106 -0
  19. package/dist/docs/resources/faq.md +175 -0
  20. package/dist/docs/resources/quota-and-pricing.md +199 -0
  21. package/dist/docs/resources/tos-privacy.md +102 -0
  22. package/dist/docs/resources/troubleshooting.md +176 -0
  23. package/dist/docs/resources/uninstall.md +56 -0
  24. package/dist/src/agents/a2a-errors.d.ts +65 -0
  25. package/dist/src/agents/a2a-errors.js +164 -0
  26. package/dist/src/agents/a2a-errors.js.map +1 -0
  27. package/dist/src/agents/a2a-errors.test.d.ts +6 -0
  28. package/dist/src/agents/a2a-errors.test.js +183 -0
  29. package/dist/src/agents/a2a-errors.test.js.map +1 -0
  30. package/dist/src/agents/auth-provider/api-key-provider.d.ts +30 -0
  31. package/dist/src/agents/auth-provider/api-key-provider.js +66 -0
  32. package/dist/src/agents/auth-provider/api-key-provider.js.map +1 -0
  33. package/dist/src/agents/auth-provider/api-key-provider.test.d.ts +6 -0
  34. package/dist/src/agents/auth-provider/api-key-provider.test.js +130 -0
  35. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -0
  36. package/dist/src/agents/auth-provider/http-provider.d.ts +28 -0
  37. package/dist/src/agents/auth-provider/http-provider.js +73 -0
  38. package/dist/src/agents/auth-provider/http-provider.js.map +1 -0
  39. package/dist/src/agents/auth-provider/http-provider.test.d.ts +6 -0
  40. package/dist/src/agents/auth-provider/http-provider.test.js +112 -0
  41. package/dist/src/agents/auth-provider/http-provider.test.js.map +1 -0
  42. package/dist/src/agents/auth-provider/oauth2-provider.d.ts +65 -0
  43. package/dist/src/agents/auth-provider/oauth2-provider.js +233 -0
  44. package/dist/src/agents/auth-provider/oauth2-provider.js.map +1 -0
  45. package/dist/src/agents/auth-provider/oauth2-provider.test.d.ts +6 -0
  46. package/dist/src/agents/auth-provider/oauth2-provider.test.js +490 -0
  47. package/dist/src/agents/auth-provider/oauth2-provider.test.js.map +1 -0
  48. package/dist/src/agents/browser/analyzeScreenshot.d.ts +35 -0
  49. package/dist/src/agents/browser/analyzeScreenshot.js +183 -0
  50. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -0
  51. package/dist/src/agents/browser/analyzeScreenshot.test.d.ts +6 -0
  52. package/dist/src/agents/browser/analyzeScreenshot.test.js +161 -0
  53. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -0
  54. package/dist/src/agents/browser/automationOverlay.d.ts +26 -0
  55. package/dist/src/agents/browser/automationOverlay.js +100 -0
  56. package/dist/src/agents/browser/automationOverlay.js.map +1 -0
  57. package/dist/src/agents/browser/browserAgentDefinition.d.ts +50 -0
  58. package/dist/src/agents/browser/browserAgentDefinition.js +141 -0
  59. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -0
  60. package/dist/src/agents/browser/browserAgentFactory.d.ts +42 -0
  61. package/dist/src/agents/browser/browserAgentFactory.js +116 -0
  62. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -0
  63. package/dist/src/agents/browser/browserAgentFactory.test.d.ts +6 -0
  64. package/dist/src/agents/browser/browserAgentFactory.test.js +240 -0
  65. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -0
  66. package/dist/src/agents/browser/browserAgentInvocation.d.ts +34 -0
  67. package/dist/src/agents/browser/browserAgentInvocation.js +386 -0
  68. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -0
  69. package/dist/src/agents/browser/browserAgentInvocation.test.d.ts +6 -0
  70. package/dist/src/agents/browser/browserAgentInvocation.test.js +382 -0
  71. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -0
  72. package/dist/src/agents/browser/browserManager.d.ts +115 -0
  73. package/dist/src/agents/browser/browserManager.js +370 -0
  74. package/dist/src/agents/browser/browserManager.js.map +1 -0
  75. package/dist/src/agents/browser/browserManager.test.d.ts +6 -0
  76. package/dist/src/agents/browser/browserManager.test.js +382 -0
  77. package/dist/src/agents/browser/browserManager.test.js.map +1 -0
  78. package/dist/src/agents/browser/mcpToolWrapper.d.ts +45 -0
  79. package/dist/src/agents/browser/mcpToolWrapper.js +358 -0
  80. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -0
  81. package/dist/src/agents/browser/mcpToolWrapper.test.d.ts +6 -0
  82. package/dist/src/agents/browser/mcpToolWrapper.test.js +126 -0
  83. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -0
  84. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.d.ts +6 -0
  85. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +59 -0
  86. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js.map +1 -0
  87. package/dist/src/agents/browser/modelAvailability.d.ts +23 -0
  88. package/dist/src/agents/browser/modelAvailability.js +23 -0
  89. package/dist/src/agents/browser/modelAvailability.js.map +1 -0
  90. package/dist/src/agents/cli-help-agent.d.ts +2 -2
  91. package/dist/src/billing/billing.d.ts +80 -0
  92. package/dist/src/billing/billing.js +128 -0
  93. package/dist/src/billing/billing.js.map +1 -0
  94. package/dist/src/billing/billing.test.d.ts +6 -0
  95. package/dist/src/billing/billing.test.js +182 -0
  96. package/dist/src/billing/billing.test.js.map +1 -0
  97. package/dist/src/billing/index.d.ts +6 -0
  98. package/dist/src/billing/index.js +7 -0
  99. package/dist/src/billing/index.js.map +1 -0
  100. package/dist/src/code_assist/oauth2.d.ts +1 -1
  101. package/dist/src/code_assist/types.d.ts +26 -26
  102. package/dist/src/config/agent-loop-context.d.ts +22 -0
  103. package/dist/src/config/agent-loop-context.js +7 -0
  104. package/dist/src/config/agent-loop-context.js.map +1 -0
  105. package/dist/src/config/trackerFeatureFlag.test.d.ts +6 -0
  106. package/dist/src/config/trackerFeatureFlag.test.js +43 -0
  107. package/dist/src/config/trackerFeatureFlag.test.js.map +1 -0
  108. package/dist/src/config/userHintService.d.ts +46 -0
  109. package/dist/src/config/userHintService.js +81 -0
  110. package/dist/src/config/userHintService.js.map +1 -0
  111. package/dist/src/config/userHintService.test.d.ts +6 -0
  112. package/dist/src/config/userHintService.test.js +62 -0
  113. package/dist/src/config/userHintService.test.js.map +1 -0
  114. package/dist/src/core/localLiteRtLmClient.d.ts +24 -0
  115. package/dist/src/core/localLiteRtLmClient.js +77 -0
  116. package/dist/src/core/localLiteRtLmClient.js.map +1 -0
  117. package/dist/src/core/localLiteRtLmClient.test.d.ts +6 -0
  118. package/dist/src/core/localLiteRtLmClient.test.js +87 -0
  119. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -0
  120. package/dist/src/core/openaiContentGenerator.d.ts +1 -0
  121. package/dist/src/core/openaiContentGenerator.js +13 -13
  122. package/dist/src/core/openaiContentGenerator.js.map +1 -1
  123. package/dist/src/hooks/runtimeHooks.test.d.ts +6 -0
  124. package/dist/src/hooks/runtimeHooks.test.js +100 -0
  125. package/dist/src/hooks/runtimeHooks.test.js.map +1 -0
  126. package/dist/src/ide/types.d.ts +6 -6
  127. package/dist/src/mcp/mcp-oauth-provider.d.ts +43 -0
  128. package/dist/src/mcp/mcp-oauth-provider.js +67 -0
  129. package/dist/src/mcp/mcp-oauth-provider.js.map +1 -0
  130. package/dist/src/mcp/mcp-oauth-provider.test.d.ts +6 -0
  131. package/dist/src/mcp/mcp-oauth-provider.test.js +63 -0
  132. package/dist/src/mcp/mcp-oauth-provider.test.js.map +1 -0
  133. package/dist/src/policy/integrity.d.ts +45 -0
  134. package/dist/src/policy/integrity.js +121 -0
  135. package/dist/src/policy/integrity.js.map +1 -0
  136. package/dist/src/policy/integrity.test.d.ts +6 -0
  137. package/dist/src/policy/integrity.test.js +132 -0
  138. package/dist/src/policy/integrity.test.js.map +1 -0
  139. package/dist/src/policy/policies/conseca.toml +6 -0
  140. package/dist/src/policy/workspace-policy.test.js +231 -0
  141. package/dist/src/policy/workspace-policy.test.js.map +1 -0
  142. package/dist/src/routing/strategies/approvalModeStrategy.d.ts +18 -0
  143. package/dist/src/routing/strategies/approvalModeStrategy.js +59 -0
  144. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -0
  145. package/dist/src/routing/strategies/approvalModeStrategy.test.d.ts +6 -0
  146. package/dist/src/routing/strategies/approvalModeStrategy.test.js +140 -0
  147. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -0
  148. package/dist/src/routing/strategies/gemmaClassifierStrategy.d.ts +14 -0
  149. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +182 -0
  150. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -0
  151. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.d.ts +6 -0
  152. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +218 -0
  153. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -0
  154. package/dist/src/safety/conseca/conseca.d.ts +31 -0
  155. package/dist/src/safety/conseca/conseca.js +105 -0
  156. package/dist/src/safety/conseca/conseca.js.map +1 -0
  157. package/dist/src/safety/conseca/conseca.test.js +226 -0
  158. package/dist/src/safety/conseca/conseca.test.js.map +1 -0
  159. package/dist/src/safety/conseca/integration.test.js +19 -0
  160. package/dist/src/safety/conseca/integration.test.js.map +1 -0
  161. package/dist/src/safety/conseca/policy-enforcer.d.ts +13 -0
  162. package/dist/src/safety/conseca/policy-enforcer.js +135 -0
  163. package/dist/src/safety/conseca/policy-enforcer.js.map +1 -0
  164. package/dist/src/safety/conseca/policy-enforcer.test.js +141 -0
  165. package/dist/src/safety/conseca/policy-enforcer.test.js.map +1 -0
  166. package/dist/src/safety/conseca/policy-generator.d.ts +15 -0
  167. package/dist/src/safety/conseca/policy-generator.js +144 -0
  168. package/dist/src/safety/conseca/policy-generator.js.map +1 -0
  169. package/dist/src/safety/conseca/policy-generator.test.d.ts +6 -0
  170. package/dist/src/safety/conseca/policy-generator.test.js +84 -0
  171. package/dist/src/safety/conseca/policy-generator.test.js.map +1 -0
  172. package/dist/src/safety/conseca/types.d.ts +15 -0
  173. package/dist/src/safety/conseca/types.js +7 -0
  174. package/dist/src/safety/conseca/types.js.map +1 -0
  175. package/dist/src/scheduler/scheduler_parallel.test.d.ts +6 -0
  176. package/dist/src/scheduler/scheduler_parallel.test.js +401 -0
  177. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -0
  178. package/dist/src/services/FolderTrustDiscoveryService.d.ts +32 -0
  179. package/dist/src/services/FolderTrustDiscoveryService.js +169 -0
  180. package/dist/src/services/FolderTrustDiscoveryService.js.map +1 -0
  181. package/dist/src/services/FolderTrustDiscoveryService.test.d.ts +6 -0
  182. package/dist/src/services/FolderTrustDiscoveryService.test.js +118 -0
  183. package/dist/src/services/FolderTrustDiscoveryService.test.js.map +1 -0
  184. package/dist/src/services/fileKeychain.d.ts +24 -0
  185. package/dist/src/services/fileKeychain.js +123 -0
  186. package/dist/src/services/fileKeychain.js.map +1 -0
  187. package/dist/src/services/keychainService.d.ts +51 -0
  188. package/dist/src/services/keychainService.js +133 -0
  189. package/dist/src/services/keychainService.js.map +1 -0
  190. package/dist/src/services/keychainService.test.d.ts +6 -0
  191. package/dist/src/services/keychainService.test.js +150 -0
  192. package/dist/src/services/keychainService.test.js.map +1 -0
  193. package/dist/src/services/keychainTypes.d.ts +41 -0
  194. package/dist/src/services/keychainTypes.js +18 -0
  195. package/dist/src/services/keychainTypes.js.map +1 -0
  196. package/dist/src/services/trackerService.d.ts +49 -0
  197. package/dist/src/services/trackerService.js +193 -0
  198. package/dist/src/services/trackerService.js.map +1 -0
  199. package/dist/src/services/trackerService.test.d.ts +6 -0
  200. package/dist/src/services/trackerService.test.js +117 -0
  201. package/dist/src/services/trackerService.test.js.map +1 -0
  202. package/dist/src/services/trackerTypes.d.ts +51 -0
  203. package/dist/src/services/trackerTypes.js +33 -0
  204. package/dist/src/services/trackerTypes.js.map +1 -0
  205. package/dist/src/telemetry/billingEvents.d.ts +75 -0
  206. package/dist/src/telemetry/billingEvents.js +181 -0
  207. package/dist/src/telemetry/billingEvents.js.map +1 -0
  208. package/dist/src/telemetry/billingEvents.test.d.ts +6 -0
  209. package/dist/src/telemetry/billingEvents.test.js +139 -0
  210. package/dist/src/telemetry/billingEvents.test.js.map +1 -0
  211. package/dist/src/telemetry/conseca-logger.d.ts +9 -0
  212. package/dist/src/telemetry/conseca-logger.js +91 -0
  213. package/dist/src/telemetry/conseca-logger.js.map +1 -0
  214. package/dist/src/telemetry/conseca-logger.test.d.ts +6 -0
  215. package/dist/src/telemetry/conseca-logger.test.js +90 -0
  216. package/dist/src/telemetry/conseca-logger.test.js.map +1 -0
  217. package/dist/src/telemetry/trace.test.d.ts +6 -0
  218. package/dist/src/telemetry/trace.test.js +116 -0
  219. package/dist/src/telemetry/trace.test.js.map +1 -0
  220. package/dist/src/tools/definitions/trackerTools.d.ts +12 -0
  221. package/dist/src/tools/definitions/trackerTools.js +146 -0
  222. package/dist/src/tools/definitions/trackerTools.js.map +1 -0
  223. package/dist/src/tools/diff-utils.d.ts +9 -0
  224. package/dist/src/tools/diff-utils.js +66 -0
  225. package/dist/src/tools/diff-utils.js.map +1 -0
  226. package/dist/src/tools/diff-utils.test.d.ts +6 -0
  227. package/dist/src/tools/diff-utils.test.js +53 -0
  228. package/dist/src/tools/diff-utils.test.js.map +1 -0
  229. package/dist/src/tools/grep-utils.d.ts +49 -0
  230. package/dist/src/tools/grep-utils.js +147 -0
  231. package/dist/src/tools/grep-utils.js.map +1 -0
  232. package/dist/src/tools/omissionPlaceholderDetector.d.ts +15 -0
  233. package/dist/src/tools/omissionPlaceholderDetector.js +90 -0
  234. package/dist/src/tools/omissionPlaceholderDetector.js.map +1 -0
  235. package/dist/src/tools/omissionPlaceholderDetector.test.d.ts +6 -0
  236. package/dist/src/tools/omissionPlaceholderDetector.test.js +49 -0
  237. package/dist/src/tools/omissionPlaceholderDetector.test.js.map +1 -0
  238. package/dist/src/tools/trackerTools.d.ts +122 -0
  239. package/dist/src/tools/trackerTools.js +365 -0
  240. package/dist/src/tools/trackerTools.js.map +1 -0
  241. package/dist/src/tools/trackerTools.test.d.ts +6 -0
  242. package/dist/src/tools/trackerTools.test.js +97 -0
  243. package/dist/src/tools/trackerTools.test.js.map +1 -0
  244. package/dist/src/utils/approvalModeUtils.d.ts +14 -0
  245. package/dist/src/utils/approvalModeUtils.js +35 -0
  246. package/dist/src/utils/approvalModeUtils.js.map +1 -0
  247. package/dist/src/utils/approvalModeUtils.test.d.ts +6 -0
  248. package/dist/src/utils/approvalModeUtils.test.js +36 -0
  249. package/dist/src/utils/approvalModeUtils.test.js.map +1 -0
  250. package/dist/src/utils/cache.d.ts +63 -0
  251. package/dist/src/utils/cache.js +103 -0
  252. package/dist/src/utils/cache.js.map +1 -0
  253. package/dist/src/utils/cache.test.d.ts +6 -0
  254. package/dist/src/utils/cache.test.js +158 -0
  255. package/dist/src/utils/cache.test.js.map +1 -0
  256. package/dist/src/utils/checkpointUtils.d.ts +2 -2
  257. package/dist/src/utils/compatibility.d.ts +41 -0
  258. package/dist/src/utils/compatibility.js +112 -0
  259. package/dist/src/utils/compatibility.js.map +1 -0
  260. package/dist/src/utils/compatibility.test.d.ts +6 -0
  261. package/dist/src/utils/compatibility.test.js +233 -0
  262. package/dist/src/utils/compatibility.test.js.map +1 -0
  263. package/dist/src/utils/envExpansion.d.ts +18 -0
  264. package/dist/src/utils/envExpansion.js +46 -0
  265. package/dist/src/utils/envExpansion.js.map +1 -0
  266. package/dist/src/utils/envExpansion.test.d.ts +6 -0
  267. package/dist/src/utils/envExpansion.test.js +110 -0
  268. package/dist/src/utils/envExpansion.test.js.map +1 -0
  269. package/dist/src/utils/errors_timeout.test.d.ts +6 -0
  270. package/dist/src/utils/errors_timeout.test.js +40 -0
  271. package/dist/src/utils/errors_timeout.test.js.map +1 -0
  272. package/dist/src/utils/fetch.test.d.ts +6 -0
  273. package/dist/src/utils/fetch.test.js +206 -0
  274. package/dist/src/utils/fetch.test.js.map +1 -0
  275. package/dist/src/utils/markdownUtils.d.ts +22 -0
  276. package/dist/src/utils/markdownUtils.js +126 -0
  277. package/dist/src/utils/markdownUtils.js.map +1 -0
  278. package/dist/src/utils/markdownUtils.test.d.ts +6 -0
  279. package/dist/src/utils/markdownUtils.test.js +107 -0
  280. package/dist/src/utils/markdownUtils.test.js.map +1 -0
  281. package/dist/src/utils/oauth-flow.d.ts +105 -0
  282. package/dist/src/utils/oauth-flow.js +370 -0
  283. package/dist/src/utils/oauth-flow.js.map +1 -0
  284. package/dist/src/utils/oauth-flow.test.d.ts +6 -0
  285. package/dist/src/utils/oauth-flow.test.js +360 -0
  286. package/dist/src/utils/oauth-flow.test.js.map +1 -0
  287. package/dist/src/utils/sessionUtils.d.ts +14 -0
  288. package/dist/src/utils/sessionUtils.js +122 -0
  289. package/dist/src/utils/sessionUtils.js.map +1 -0
  290. package/dist/src/utils/sessionUtils.test.d.ts +1 -0
  291. package/dist/src/utils/sessionUtils.test.js +171 -0
  292. package/dist/src/utils/sessionUtils.test.js.map +1 -0
  293. package/dist/src/voice/responseFormatter.d.ts +38 -0
  294. package/dist/src/voice/responseFormatter.js +130 -0
  295. package/dist/src/voice/responseFormatter.js.map +1 -0
  296. package/dist/src/voice/responseFormatter.test.d.ts +6 -0
  297. package/dist/src/voice/responseFormatter.test.js +214 -0
  298. package/dist/src/voice/responseFormatter.test.js.map +1 -0
  299. package/dist/tsconfig.tsbuildinfo +1 -1
  300. package/package.json +1 -1
  301. package/dist/docs/CONTRIBUTING.md +0 -555
  302. package/dist/src/agents/executor.d.ts +0 -114
  303. package/dist/src/agents/executor.js +0 -779
  304. package/dist/src/agents/executor.js.map +0 -1
  305. package/dist/src/agents/executor.test.js +0 -1362
  306. package/dist/src/agents/executor.test.js.map +0 -1
  307. package/dist/src/agents/invocation.d.ts +0 -46
  308. package/dist/src/agents/invocation.js +0 -102
  309. package/dist/src/agents/invocation.js.map +0 -1
  310. package/dist/src/agents/invocation.test.js +0 -215
  311. package/dist/src/agents/invocation.test.js.map +0 -1
  312. package/dist/src/core/subagent.d.ts +0 -236
  313. package/dist/src/core/subagent.js +0 -482
  314. package/dist/src/core/subagent.js.map +0 -1
  315. package/dist/src/core/subagent.test.js +0 -530
  316. package/dist/src/core/subagent.test.js.map +0 -1
  317. package/dist/src/tools/smart-edit.d.ts +0 -78
  318. package/dist/src/tools/smart-edit.js +0 -717
  319. package/dist/src/tools/smart-edit.js.map +0 -1
  320. package/dist/src/tools/smart-edit.test.js +0 -592
  321. package/dist/src/tools/smart-edit.test.js.map +0 -1
  322. /package/dist/src/{agents/executor.test.d.ts → policy/workspace-policy.test.d.ts} +0 -0
  323. /package/dist/src/{agents/invocation.test.d.ts → safety/conseca/conseca.test.d.ts} +0 -0
  324. /package/dist/src/{core/subagent.test.d.ts → safety/conseca/integration.test.d.ts} +0 -0
  325. /package/dist/src/{tools/smart-edit.test.d.ts → safety/conseca/policy-enforcer.test.d.ts} +0 -0
@@ -10,11 +10,11 @@ declare const CliHelpReportSchema: z.ZodObject<{
10
10
  answer: z.ZodString;
11
11
  sources: z.ZodArray<z.ZodString, "many">;
12
12
  }, "strip", z.ZodTypeAny, {
13
- sources: string[];
14
13
  answer: string;
15
- }, {
16
14
  sources: string[];
15
+ }, {
17
16
  answer: string;
17
+ sources: string[];
18
18
  }>;
19
19
  /**
20
20
  * An agent specialized in answering questions about Gemini CLI itself,
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CreditType, GeminiUserTier } from '../code_assist/types.js';
7
+ /**
8
+ * Strategy for handling quota exhaustion when AI credits are available.
9
+ * - 'ask': Prompt the user each time
10
+ * - 'always': Automatically use credits
11
+ * - 'never': Never use credits, show standard fallback
12
+ */
13
+ export type OverageStrategy = 'ask' | 'always' | 'never';
14
+ /** Credit type for Google One AI credits */
15
+ export declare const G1_CREDIT_TYPE: CreditType;
16
+ /**
17
+ * The set of models that support AI credits overage billing.
18
+ * Only these models are eligible for the credits-based retry flow.
19
+ */
20
+ export declare const OVERAGE_ELIGIBLE_MODELS: Set<string>;
21
+ /**
22
+ * Checks if a model is eligible for AI credits overage billing.
23
+ * @param model The model name to check.
24
+ * @returns true if the model supports credits overage, false otherwise.
25
+ */
26
+ export declare function isOverageEligibleModel(model: string): boolean;
27
+ /**
28
+ * Wraps a URL in the AccountChooser redirect to maintain user context.
29
+ * @param email User's email address for account selection
30
+ * @param continueUrl The destination URL after account selection
31
+ * @returns The full AccountChooser redirect URL
32
+ */
33
+ export declare function wrapInAccountChooser(email: string, continueUrl: string): string;
34
+ /**
35
+ * UTM campaign identifiers per the design doc.
36
+ */
37
+ export declare const G1_UTM_CAMPAIGNS: {
38
+ /** From Interception Flow "Manage" link (user has credits) */
39
+ readonly MANAGE_ACTIVITY: "hydrogen_cli_settings_ai_credits_activity_page";
40
+ /** From "Manage" to add more credits */
41
+ readonly MANAGE_ADD_CREDITS: "hydrogen_cli_settings_add_credits";
42
+ /** From Empty Wallet Flow "Get AI Credits" link */
43
+ readonly EMPTY_WALLET_ADD_CREDITS: "hydrogen_cli_insufficient_credits_add_credits";
44
+ };
45
+ /**
46
+ * Builds a G1 AI URL with UTM tracking parameters.
47
+ * @param path The path segment (e.g., 'activity' or 'credits')
48
+ * @param email User's email for AccountChooser wrapper
49
+ * @param campaign The UTM campaign identifier
50
+ * @returns The complete URL wrapped in AccountChooser
51
+ */
52
+ export declare function buildG1Url(path: 'activity' | 'credits', email: string, campaign: string): string;
53
+ /**
54
+ * Extracts the G1 AI credit balance from a tier's available credits.
55
+ * @param tier The user tier to check
56
+ * @returns The credit amount as a number, 0 if eligible but empty, or null if not eligible
57
+ */
58
+ export declare function getG1CreditBalance(tier: GeminiUserTier | null | undefined): number | null;
59
+ export declare const MIN_CREDIT_BALANCE = 50;
60
+ /**
61
+ * Determines if credits should be automatically used based on the overage strategy.
62
+ * @param strategy The configured overage strategy
63
+ * @param creditBalance The available credit balance
64
+ * @returns true if credits should be auto-used, false otherwise
65
+ */
66
+ export declare function shouldAutoUseCredits(strategy: OverageStrategy, creditBalance: number | null): boolean;
67
+ /**
68
+ * Determines if the overage menu should be shown based on the strategy.
69
+ * @param strategy The configured overage strategy
70
+ * @param creditBalance The available credit balance
71
+ * @returns true if the menu should be shown
72
+ */
73
+ export declare function shouldShowOverageMenu(strategy: OverageStrategy, creditBalance: number | null): boolean;
74
+ /**
75
+ * Determines if the empty wallet menu should be shown.
76
+ * @param strategy The configured overage strategy
77
+ * @param creditBalance The available credit balance
78
+ * @returns true if the empty wallet menu should be shown
79
+ */
80
+ export declare function shouldShowEmptyWalletMenu(strategy: OverageStrategy, creditBalance: number | null): boolean;
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_FLASH_MODEL, } from '../config/models.js';
7
+ /** Credit type for Google One AI credits */
8
+ export const G1_CREDIT_TYPE = 'GOOGLE_ONE_AI';
9
+ /**
10
+ * The set of models that support AI credits overage billing.
11
+ * Only these models are eligible for the credits-based retry flow.
12
+ */
13
+ export const OVERAGE_ELIGIBLE_MODELS = new Set([
14
+ PREVIEW_GEMINI_MODEL,
15
+ PREVIEW_GEMINI_3_1_MODEL,
16
+ PREVIEW_GEMINI_FLASH_MODEL,
17
+ ]);
18
+ /**
19
+ * Checks if a model is eligible for AI credits overage billing.
20
+ * @param model The model name to check.
21
+ * @returns true if the model supports credits overage, false otherwise.
22
+ */
23
+ export function isOverageEligibleModel(model) {
24
+ return OVERAGE_ELIGIBLE_MODELS.has(model);
25
+ }
26
+ /** Base URL for Google One AI page */
27
+ const G1_AI_BASE_URL = 'https://one.google.com/ai';
28
+ /** AccountChooser URL for redirecting with email context */
29
+ const ACCOUNT_CHOOSER_URL = 'https://accounts.google.com/AccountChooser';
30
+ /** UTM parameters for CLI tracking */
31
+ const UTM_SOURCE = 'gemini_cli';
32
+ // TODO: change to 'desktop' when G1 service fix is rolled out
33
+ const UTM_MEDIUM = 'web';
34
+ /**
35
+ * Wraps a URL in the AccountChooser redirect to maintain user context.
36
+ * @param email User's email address for account selection
37
+ * @param continueUrl The destination URL after account selection
38
+ * @returns The full AccountChooser redirect URL
39
+ */
40
+ export function wrapInAccountChooser(email, continueUrl) {
41
+ const params = new URLSearchParams({
42
+ Email: email,
43
+ continue: continueUrl,
44
+ });
45
+ return `${ACCOUNT_CHOOSER_URL}?${params.toString()}`;
46
+ }
47
+ /**
48
+ * UTM campaign identifiers per the design doc.
49
+ */
50
+ export const G1_UTM_CAMPAIGNS = {
51
+ /** From Interception Flow "Manage" link (user has credits) */
52
+ MANAGE_ACTIVITY: 'hydrogen_cli_settings_ai_credits_activity_page',
53
+ /** From "Manage" to add more credits */
54
+ MANAGE_ADD_CREDITS: 'hydrogen_cli_settings_add_credits',
55
+ /** From Empty Wallet Flow "Get AI Credits" link */
56
+ EMPTY_WALLET_ADD_CREDITS: 'hydrogen_cli_insufficient_credits_add_credits',
57
+ };
58
+ /**
59
+ * Builds a G1 AI URL with UTM tracking parameters.
60
+ * @param path The path segment (e.g., 'activity' or 'credits')
61
+ * @param email User's email for AccountChooser wrapper
62
+ * @param campaign The UTM campaign identifier
63
+ * @returns The complete URL wrapped in AccountChooser
64
+ */
65
+ export function buildG1Url(path, email, campaign) {
66
+ const baseUrl = `${G1_AI_BASE_URL}/${path}`;
67
+ const params = new URLSearchParams({
68
+ utm_source: UTM_SOURCE,
69
+ utm_medium: UTM_MEDIUM,
70
+ utm_campaign: campaign,
71
+ });
72
+ const urlWithUtm = `${baseUrl}?${params.toString()}`;
73
+ return wrapInAccountChooser(email, urlWithUtm);
74
+ }
75
+ /**
76
+ * Extracts the G1 AI credit balance from a tier's available credits.
77
+ * @param tier The user tier to check
78
+ * @returns The credit amount as a number, 0 if eligible but empty, or null if not eligible
79
+ */
80
+ export function getG1CreditBalance(tier) {
81
+ if (!tier?.availableCredits) {
82
+ return null;
83
+ }
84
+ const g1Credits = tier.availableCredits.filter((credit) => credit.creditType === G1_CREDIT_TYPE);
85
+ if (g1Credits.length === 0) {
86
+ return null;
87
+ }
88
+ // creditAmount is an int64 represented as string; sum all matching entries
89
+ return g1Credits.reduce((sum, credit) => {
90
+ const amount = parseInt(credit.creditAmount ?? '0', 10);
91
+ return sum + (isNaN(amount) ? 0 : amount);
92
+ }, 0);
93
+ }
94
+ export const MIN_CREDIT_BALANCE = 50;
95
+ /**
96
+ * Determines if credits should be automatically used based on the overage strategy.
97
+ * @param strategy The configured overage strategy
98
+ * @param creditBalance The available credit balance
99
+ * @returns true if credits should be auto-used, false otherwise
100
+ */
101
+ export function shouldAutoUseCredits(strategy, creditBalance) {
102
+ return (strategy === 'always' &&
103
+ creditBalance != null &&
104
+ creditBalance >= MIN_CREDIT_BALANCE);
105
+ }
106
+ /**
107
+ * Determines if the overage menu should be shown based on the strategy.
108
+ * @param strategy The configured overage strategy
109
+ * @param creditBalance The available credit balance
110
+ * @returns true if the menu should be shown
111
+ */
112
+ export function shouldShowOverageMenu(strategy, creditBalance) {
113
+ return (strategy === 'ask' &&
114
+ creditBalance != null &&
115
+ creditBalance >= MIN_CREDIT_BALANCE);
116
+ }
117
+ /**
118
+ * Determines if the empty wallet menu should be shown.
119
+ * @param strategy The configured overage strategy
120
+ * @param creditBalance The available credit balance
121
+ * @returns true if the empty wallet menu should be shown
122
+ */
123
+ export function shouldShowEmptyWalletMenu(strategy, creditBalance) {
124
+ return (strategy !== 'never' &&
125
+ creditBalance != null &&
126
+ creditBalance < MIN_CREDIT_BALANCE);
127
+ }
128
+ //# sourceMappingURL=billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/billing/billing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,182 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { buildG1Url, getG1CreditBalance, G1_CREDIT_TYPE, G1_UTM_CAMPAIGNS, isOverageEligibleModel, shouldAutoUseCredits, shouldShowEmptyWalletMenu, shouldShowOverageMenu, wrapInAccountChooser, } from './billing.js';
8
+ describe('billing', () => {
9
+ describe('wrapInAccountChooser', () => {
10
+ it('should wrap URL with AccountChooser redirect', () => {
11
+ const result = wrapInAccountChooser('user@gmail.com', 'https://one.google.com/ai/activity');
12
+ expect(result).toBe('https://accounts.google.com/AccountChooser?Email=user%40gmail.com&continue=https%3A%2F%2Fone.google.com%2Fai%2Factivity');
13
+ });
14
+ it('should handle special characters in email', () => {
15
+ const result = wrapInAccountChooser('user+test@example.com', 'https://example.com');
16
+ expect(result).toContain('Email=user%2Btest%40example.com');
17
+ });
18
+ });
19
+ describe('buildG1Url', () => {
20
+ it('should build activity URL with UTM params wrapped in AccountChooser', () => {
21
+ const result = buildG1Url('activity', 'user@gmail.com', G1_UTM_CAMPAIGNS.MANAGE_ACTIVITY);
22
+ // Should contain AccountChooser prefix
23
+ expect(result).toContain('https://accounts.google.com/AccountChooser');
24
+ expect(result).toContain('Email=user%40gmail.com');
25
+ // The continue URL should contain the G1 activity path and UTM params
26
+ expect(result).toContain('one.google.com%2Fai%2Factivity');
27
+ expect(result).toContain('utm_source%3Dgemini_cli');
28
+ expect(result).toContain('utm_campaign%3Dhydrogen_cli_settings_ai_credits_activity_page');
29
+ });
30
+ it('should build credits URL with UTM params wrapped in AccountChooser', () => {
31
+ const result = buildG1Url('credits', 'test@example.com', G1_UTM_CAMPAIGNS.EMPTY_WALLET_ADD_CREDITS);
32
+ expect(result).toContain('https://accounts.google.com/AccountChooser');
33
+ expect(result).toContain('one.google.com%2Fai%2Fcredits');
34
+ expect(result).toContain('utm_campaign%3Dhydrogen_cli_insufficient_credits_add_credits');
35
+ });
36
+ });
37
+ describe('getG1CreditBalance', () => {
38
+ it('should return null for null tier', () => {
39
+ expect(getG1CreditBalance(null)).toBeNull();
40
+ });
41
+ it('should return null for undefined tier', () => {
42
+ expect(getG1CreditBalance(undefined)).toBeNull();
43
+ });
44
+ it('should return null for tier without availableCredits', () => {
45
+ const tier = { id: 'PERSONAL' };
46
+ expect(getG1CreditBalance(tier)).toBeNull();
47
+ });
48
+ it('should return null for empty availableCredits array', () => {
49
+ const tier = { id: 'PERSONAL', availableCredits: [] };
50
+ expect(getG1CreditBalance(tier)).toBeNull();
51
+ });
52
+ it('should return null when no G1 credit type found', () => {
53
+ const tier = {
54
+ id: 'PERSONAL',
55
+ availableCredits: [
56
+ { creditType: 'CREDIT_TYPE_UNSPECIFIED', creditAmount: '100' },
57
+ ],
58
+ };
59
+ expect(getG1CreditBalance(tier)).toBeNull();
60
+ });
61
+ it('should return G1 credit balance when present', () => {
62
+ const tier = {
63
+ id: 'PERSONAL',
64
+ availableCredits: [{ creditType: G1_CREDIT_TYPE, creditAmount: '500' }],
65
+ };
66
+ expect(getG1CreditBalance(tier)).toBe(500);
67
+ });
68
+ it('should return G1 credit balance when multiple credit types present', () => {
69
+ const tier = {
70
+ id: 'PERSONAL',
71
+ availableCredits: [
72
+ { creditType: 'CREDIT_TYPE_UNSPECIFIED', creditAmount: '100' },
73
+ { creditType: G1_CREDIT_TYPE, creditAmount: '750' },
74
+ ],
75
+ };
76
+ expect(getG1CreditBalance(tier)).toBe(750);
77
+ });
78
+ it('should return 0 for invalid credit amount', () => {
79
+ const tier = {
80
+ id: 'PERSONAL',
81
+ availableCredits: [
82
+ { creditType: G1_CREDIT_TYPE, creditAmount: 'invalid' },
83
+ ],
84
+ };
85
+ expect(getG1CreditBalance(tier)).toBe(0);
86
+ });
87
+ it('should handle large credit amounts (int64 as string)', () => {
88
+ const tier = {
89
+ id: 'PERSONAL',
90
+ availableCredits: [
91
+ { creditType: G1_CREDIT_TYPE, creditAmount: '9999999999' },
92
+ ],
93
+ };
94
+ expect(getG1CreditBalance(tier)).toBe(9999999999);
95
+ });
96
+ it('should sum multiple credits of the same G1 type', () => {
97
+ const tier = {
98
+ id: 'PERSONAL',
99
+ availableCredits: [
100
+ { creditType: G1_CREDIT_TYPE, creditAmount: '1000' },
101
+ { creditType: G1_CREDIT_TYPE, creditAmount: '8' },
102
+ ],
103
+ };
104
+ expect(getG1CreditBalance(tier)).toBe(1008);
105
+ });
106
+ });
107
+ describe('shouldAutoUseCredits', () => {
108
+ it('should return true when strategy is always and balance > 0', () => {
109
+ expect(shouldAutoUseCredits('always', 100)).toBe(true);
110
+ });
111
+ it('should return false when strategy is always but balance is 0', () => {
112
+ expect(shouldAutoUseCredits('always', 0)).toBe(false);
113
+ });
114
+ it('should return false when strategy is ask', () => {
115
+ expect(shouldAutoUseCredits('ask', 100)).toBe(false);
116
+ });
117
+ it('should return false when strategy is never', () => {
118
+ expect(shouldAutoUseCredits('never', 100)).toBe(false);
119
+ });
120
+ it('should return false when creditBalance is null (ineligible)', () => {
121
+ expect(shouldAutoUseCredits('always', null)).toBe(false);
122
+ });
123
+ });
124
+ describe('shouldShowOverageMenu', () => {
125
+ it('should return true when strategy is ask and balance > 0', () => {
126
+ expect(shouldShowOverageMenu('ask', 100)).toBe(true);
127
+ });
128
+ it('should return false when strategy is ask but balance is 0', () => {
129
+ expect(shouldShowOverageMenu('ask', 0)).toBe(false);
130
+ });
131
+ it('should return false when strategy is always', () => {
132
+ expect(shouldShowOverageMenu('always', 100)).toBe(false);
133
+ });
134
+ it('should return false when strategy is never', () => {
135
+ expect(shouldShowOverageMenu('never', 100)).toBe(false);
136
+ });
137
+ it('should return false when creditBalance is null (ineligible)', () => {
138
+ expect(shouldShowOverageMenu('ask', null)).toBe(false);
139
+ });
140
+ });
141
+ describe('shouldShowEmptyWalletMenu', () => {
142
+ it('should return true when strategy is ask and balance is 0', () => {
143
+ expect(shouldShowEmptyWalletMenu('ask', 0)).toBe(true);
144
+ });
145
+ it('should return true when strategy is always and balance is 0', () => {
146
+ expect(shouldShowEmptyWalletMenu('always', 0)).toBe(true);
147
+ });
148
+ it('should return false when strategy is never', () => {
149
+ expect(shouldShowEmptyWalletMenu('never', 0)).toBe(false);
150
+ });
151
+ it('should return false when balance > 0', () => {
152
+ expect(shouldShowEmptyWalletMenu('ask', 100)).toBe(false);
153
+ });
154
+ it('should return false when creditBalance is null (ineligible)', () => {
155
+ expect(shouldShowEmptyWalletMenu('ask', null)).toBe(false);
156
+ });
157
+ });
158
+ describe('isOverageEligibleModel', () => {
159
+ it('should return true for gemini-3-pro-preview', () => {
160
+ expect(isOverageEligibleModel('gemini-3-pro-preview')).toBe(true);
161
+ });
162
+ it('should return true for gemini-3.1-pro-preview', () => {
163
+ expect(isOverageEligibleModel('gemini-3.1-pro-preview')).toBe(true);
164
+ });
165
+ it('should return false for gemini-3.1-pro-preview-customtools', () => {
166
+ expect(isOverageEligibleModel('gemini-3.1-pro-preview-customtools')).toBe(false);
167
+ });
168
+ it('should return true for gemini-3-flash-preview', () => {
169
+ expect(isOverageEligibleModel('gemini-3-flash-preview')).toBe(true);
170
+ });
171
+ it('should return false for gemini-2.5-pro', () => {
172
+ expect(isOverageEligibleModel('gemini-2.5-pro')).toBe(false);
173
+ });
174
+ it('should return false for gemini-2.5-flash', () => {
175
+ expect(isOverageEligibleModel('gemini-2.5-flash')).toBe(false);
176
+ });
177
+ it('should return false for custom model names', () => {
178
+ expect(isOverageEligibleModel('my-custom-model')).toBe(false);
179
+ });
180
+ });
181
+ });
182
+ //# sourceMappingURL=billing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.test.js","sourceRoot":"","sources":["../../../src/billing/billing.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from './billing.js';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from './billing.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/billing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC"}
@@ -7,7 +7,7 @@ import type { AuthClient } from 'google-auth-library';
7
7
  import { EventEmitter } from 'node:events';
8
8
  import type { Config } from '../config/config.js';
9
9
  import { AuthType } from '../core/contentGenerator.js';
10
- export declare const authEvents: EventEmitter<[never]>;
10
+ export declare const authEvents: EventEmitter<any>;
11
11
  /**
12
12
  * An Authentication URL for updating the credentials of a Oauth2Client
13
13
  * as well as a promise that will resolve when the credentials have
@@ -255,33 +255,33 @@ export declare const McpConfigDefinitionSchema: z.ZodObject<{
255
255
  includeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
256
256
  excludeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
257
257
  }, "strip", z.ZodTypeAny, {
258
+ url?: string | undefined;
258
259
  type?: "http" | "sse" | undefined;
259
260
  excludeTools?: string[] | undefined;
260
- url?: string | undefined;
261
- includeTools?: string[] | undefined;
262
261
  trust?: boolean | undefined;
262
+ includeTools?: string[] | undefined;
263
263
  }, {
264
+ url?: string | undefined;
264
265
  type?: "http" | "sse" | undefined;
265
266
  excludeTools?: string[] | undefined;
266
- url?: string | undefined;
267
- includeTools?: string[] | undefined;
268
267
  trust?: boolean | undefined;
268
+ includeTools?: string[] | undefined;
269
269
  }>>>;
270
270
  }, "strip", z.ZodTypeAny, {
271
271
  mcpServers?: Record<string, {
272
+ url?: string | undefined;
272
273
  type?: "http" | "sse" | undefined;
273
274
  excludeTools?: string[] | undefined;
274
- url?: string | undefined;
275
- includeTools?: string[] | undefined;
276
275
  trust?: boolean | undefined;
276
+ includeTools?: string[] | undefined;
277
277
  }> | undefined;
278
278
  }, {
279
279
  mcpServers?: Record<string, {
280
+ url?: string | undefined;
280
281
  type?: "http" | "sse" | undefined;
281
282
  excludeTools?: string[] | undefined;
282
- url?: string | undefined;
283
- includeTools?: string[] | undefined;
284
283
  trust?: boolean | undefined;
284
+ includeTools?: string[] | undefined;
285
285
  }> | undefined;
286
286
  }>;
287
287
  export type McpConfigDefinition = z.infer<typeof McpConfigDefinitionSchema>;
@@ -297,55 +297,55 @@ export declare const AdminControlsSettingsSchema: z.ZodObject<{
297
297
  includeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
298
298
  excludeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
299
299
  }, "strip", z.ZodTypeAny, {
300
+ url?: string | undefined;
300
301
  type?: "http" | "sse" | undefined;
301
302
  excludeTools?: string[] | undefined;
302
- url?: string | undefined;
303
- includeTools?: string[] | undefined;
304
303
  trust?: boolean | undefined;
304
+ includeTools?: string[] | undefined;
305
305
  }, {
306
+ url?: string | undefined;
306
307
  type?: "http" | "sse" | undefined;
307
308
  excludeTools?: string[] | undefined;
308
- url?: string | undefined;
309
- includeTools?: string[] | undefined;
310
309
  trust?: boolean | undefined;
310
+ includeTools?: string[] | undefined;
311
311
  }>>>;
312
312
  }, "strip", z.ZodTypeAny, {
313
313
  mcpServers?: Record<string, {
314
+ url?: string | undefined;
314
315
  type?: "http" | "sse" | undefined;
315
316
  excludeTools?: string[] | undefined;
316
- url?: string | undefined;
317
- includeTools?: string[] | undefined;
318
317
  trust?: boolean | undefined;
318
+ includeTools?: string[] | undefined;
319
319
  }> | undefined;
320
320
  }, {
321
321
  mcpServers?: Record<string, {
322
+ url?: string | undefined;
322
323
  type?: "http" | "sse" | undefined;
323
324
  excludeTools?: string[] | undefined;
324
- url?: string | undefined;
325
- includeTools?: string[] | undefined;
326
325
  trust?: boolean | undefined;
326
+ includeTools?: string[] | undefined;
327
327
  }> | undefined;
328
328
  }>>;
329
329
  }, "strip", z.ZodTypeAny, {
330
330
  mcpEnabled?: boolean | undefined;
331
331
  mcpConfig?: {
332
332
  mcpServers?: Record<string, {
333
+ url?: string | undefined;
333
334
  type?: "http" | "sse" | undefined;
334
335
  excludeTools?: string[] | undefined;
335
- url?: string | undefined;
336
- includeTools?: string[] | undefined;
337
336
  trust?: boolean | undefined;
337
+ includeTools?: string[] | undefined;
338
338
  }> | undefined;
339
339
  } | undefined;
340
340
  }, {
341
341
  mcpEnabled?: boolean | undefined;
342
342
  mcpConfig?: {
343
343
  mcpServers?: Record<string, {
344
+ url?: string | undefined;
344
345
  type?: "http" | "sse" | undefined;
345
346
  excludeTools?: string[] | undefined;
346
- url?: string | undefined;
347
- includeTools?: string[] | undefined;
348
347
  trust?: boolean | undefined;
348
+ includeTools?: string[] | undefined;
349
349
  }> | undefined;
350
350
  } | undefined;
351
351
  }>>;
@@ -375,11 +375,11 @@ export declare const AdminControlsSettingsSchema: z.ZodObject<{
375
375
  mcpEnabled?: boolean | undefined;
376
376
  mcpConfig?: {
377
377
  mcpServers?: Record<string, {
378
+ url?: string | undefined;
378
379
  type?: "http" | "sse" | undefined;
379
380
  excludeTools?: string[] | undefined;
380
- url?: string | undefined;
381
- includeTools?: string[] | undefined;
382
381
  trust?: boolean | undefined;
382
+ includeTools?: string[] | undefined;
383
383
  }> | undefined;
384
384
  } | undefined;
385
385
  } | undefined;
@@ -395,11 +395,11 @@ export declare const AdminControlsSettingsSchema: z.ZodObject<{
395
395
  mcpEnabled?: boolean | undefined;
396
396
  mcpConfig?: {
397
397
  mcpServers?: Record<string, {
398
+ url?: string | undefined;
398
399
  type?: "http" | "sse" | undefined;
399
400
  excludeTools?: string[] | undefined;
400
- url?: string | undefined;
401
- includeTools?: string[] | undefined;
402
401
  trust?: boolean | undefined;
402
+ includeTools?: string[] | undefined;
403
403
  }> | undefined;
404
404
  } | undefined;
405
405
  } | undefined;
@@ -446,7 +446,6 @@ export declare const FetchAdminControlsResponseSchema: z.ZodObject<{
446
446
  }>>;
447
447
  adminControlsApplicable: z.ZodOptional<z.ZodBoolean>;
448
448
  }, "strip", z.ZodTypeAny, {
449
- secureModeEnabled?: boolean | undefined;
450
449
  strictModeDisabled?: boolean | undefined;
451
450
  mcpSetting?: {
452
451
  mcpEnabled?: boolean | undefined;
@@ -458,9 +457,9 @@ export declare const FetchAdminControlsResponseSchema: z.ZodObject<{
458
457
  } | undefined;
459
458
  unmanagedCapabilitiesEnabled?: boolean | undefined;
460
459
  } | undefined;
460
+ secureModeEnabled?: boolean | undefined;
461
461
  adminControlsApplicable?: boolean | undefined;
462
462
  }, {
463
- secureModeEnabled?: boolean | undefined;
464
463
  strictModeDisabled?: boolean | undefined;
465
464
  mcpSetting?: {
466
465
  mcpEnabled?: boolean | undefined;
@@ -472,6 +471,7 @@ export declare const FetchAdminControlsResponseSchema: z.ZodObject<{
472
471
  } | undefined;
473
472
  unmanagedCapabilitiesEnabled?: boolean | undefined;
474
473
  } | undefined;
474
+ secureModeEnabled?: boolean | undefined;
475
475
  adminControlsApplicable?: boolean | undefined;
476
476
  }>;
477
477
  export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { GeminiClient } from '../core/client.js';
7
+ import type { MessageBus } from '../confirmation-bus/message-bus.js';
8
+ import type { ToolRegistry } from '../tools/tool-registry.js';
9
+ /**
10
+ * AgentLoopContext represents the execution-scoped view of the world for a single
11
+ * agent turn or sub-agent loop.
12
+ */
13
+ export interface AgentLoopContext {
14
+ /** The unique ID for the current user turn or agent thought loop. */
15
+ readonly promptId: string;
16
+ /** The registry of tools available to the agent in this context. */
17
+ readonly toolRegistry: ToolRegistry;
18
+ /** The bus for user confirmations and messages in this context. */
19
+ readonly messageBus: MessageBus;
20
+ /** The client used to communicate with the LLM in this context. */
21
+ readonly geminiClient: GeminiClient;
22
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=agent-loop-context.js.map