@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
@@ -0,0 +1,386 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @fileoverview Browser agent invocation that handles async tool setup.
8
+ *
9
+ * Unlike regular LocalSubagentInvocation, this invocation:
10
+ * 1. Uses browserAgentFactory to create definition with MCP tools
11
+ * 2. Cleans up browser resources after execution
12
+ *
13
+ * The MCP tools are only available in the browser agent's isolated registry.
14
+ */
15
+ import { randomUUID } from 'node:crypto';
16
+ import { LocalAgentExecutor } from '../local-executor.js';
17
+ import { safeJsonToMarkdown } from '../../utils/markdownUtils.js';
18
+ import { BaseToolInvocation, } from '../../tools/tools.js';
19
+ import { ToolErrorType } from '../../tools/tool-error.js';
20
+ import {} from '../types.js';
21
+ import { createBrowserAgentDefinition, cleanupBrowserAgent, } from './browserAgentFactory.js';
22
+ const INPUT_PREVIEW_MAX_LENGTH = 50;
23
+ const DESCRIPTION_MAX_LENGTH = 200;
24
+ const MAX_RECENT_ACTIVITY = 20;
25
+ /**
26
+ * Sensitive key patterns used for redaction.
27
+ */
28
+ const SENSITIVE_KEY_PATTERNS = [
29
+ 'password',
30
+ 'pwd',
31
+ 'apikey',
32
+ 'api_key',
33
+ 'api-key',
34
+ 'token',
35
+ 'secret',
36
+ 'credential',
37
+ 'auth',
38
+ 'authorization',
39
+ 'access_token',
40
+ 'access_key',
41
+ 'refresh_token',
42
+ 'session_id',
43
+ 'cookie',
44
+ 'passphrase',
45
+ 'privatekey',
46
+ 'private_key',
47
+ 'private-key',
48
+ 'secret_key',
49
+ 'client_secret',
50
+ 'client_id',
51
+ ];
52
+ /**
53
+ * Sanitizes tool arguments by recursively redacting sensitive fields.
54
+ * Supports nested objects and arrays.
55
+ */
56
+ function sanitizeToolArgs(args) {
57
+ if (typeof args === 'string') {
58
+ return sanitizeErrorMessage(args);
59
+ }
60
+ if (typeof args !== 'object' || args === null) {
61
+ return args;
62
+ }
63
+ if (Array.isArray(args)) {
64
+ return args.map(sanitizeToolArgs);
65
+ }
66
+ const sanitized = {};
67
+ for (const [key, value] of Object.entries(args)) {
68
+ // Decode key to handle URL-encoded sensitive keys (e.g., api%5fkey)
69
+ let decodedKey = key;
70
+ try {
71
+ decodedKey = decodeURIComponent(key);
72
+ }
73
+ catch {
74
+ // Ignore decoding errors
75
+ }
76
+ const keyNormalized = decodedKey.toLowerCase().replace(/[-_]/g, '');
77
+ const isSensitive = SENSITIVE_KEY_PATTERNS.some((pattern) => keyNormalized.includes(pattern.replace(/[-_]/g, '')));
78
+ if (isSensitive) {
79
+ sanitized[key] = '[REDACTED]';
80
+ }
81
+ else {
82
+ sanitized[key] = sanitizeToolArgs(value);
83
+ }
84
+ }
85
+ return sanitized;
86
+ }
87
+ /**
88
+ * Sanitizes error messages by redacting potential sensitive data patterns.
89
+ * Uses [^\s'"]+ to catch JWTs, tokens with dots/slashes, and other complex values.
90
+ */
91
+ function sanitizeErrorMessage(message) {
92
+ if (!message)
93
+ return message;
94
+ let sanitized = message;
95
+ // 1. Redact inline PEM content
96
+ sanitized = sanitized.replace(/-----BEGIN\s+[\w\s]+-----[\s\S]*?-----END\s+[\w\s]+-----/g, '[REDACTED_PEM]');
97
+ const unquotedValue = `[^\\s]+(?:\\s+(?![a-zA-Z0-9_.-]+(?:=|:))[^\\s=:<>]+)*`;
98
+ const valuePattern = `(?:"[^"]*"|'[^']*'|${unquotedValue})`;
99
+ // 2. Handle key-value pairs with delimiters (=, :, space, CLI-style --flag)
100
+ const urlSafeKeyPatternStr = SENSITIVE_KEY_PATTERNS.map((p) => p.replace(/[-_]/g, '(?:[-_]|%2D|%5F|%2d|%5f)?')).join('|');
101
+ const keyWithDelimiter = new RegExp(`((?:--)?("|')?(${urlSafeKeyPatternStr})\\2\\s*(?:[:=]|%3A|%3D)\\s*)${valuePattern}`, 'gi');
102
+ sanitized = sanitized.replace(keyWithDelimiter, '$1[REDACTED]');
103
+ // 3. Handle space-separated sensitive keywords (e.g. "password mypass", "--api-key secret")
104
+ const tokenValuePattern = `[A-Za-z0-9._\\-/+=]{8,}`;
105
+ const spaceKeywords = [
106
+ ...SENSITIVE_KEY_PATTERNS.map((p) => p.replace(/[-_]/g, '(?:[-_]|%2D|%5F|%2d|%5f)?')),
107
+ 'bearer',
108
+ ];
109
+ const spaceSeparated = new RegExp(`\\b((?:--)?(?:${spaceKeywords.join('|')})(?:\\s*:\\s*bearer)?\\s+)(${tokenValuePattern})`, 'gi');
110
+ sanitized = sanitized.replace(spaceSeparated, '$1[REDACTED]');
111
+ // 4. Handle file path redaction
112
+ sanitized = sanitized.replace(/((?:[/\\][a-zA-Z0-9_-]+)*[/\\][a-zA-Z0-9_-]*\.(?:key|pem|p12|pfx))/gi, '/path/to/[REDACTED].key');
113
+ return sanitized;
114
+ }
115
+ /**
116
+ * Sanitizes LLM thought content by redacting sensitive data patterns.
117
+ */
118
+ function sanitizeThoughtContent(text) {
119
+ return sanitizeErrorMessage(text);
120
+ }
121
+ /**
122
+ * Browser agent invocation with async tool setup.
123
+ *
124
+ * This invocation handles the browser agent's special requirements:
125
+ * - MCP connection and tool wrapping at invocation time
126
+ * - Browser cleanup after execution
127
+ */
128
+ export class BrowserAgentInvocation extends BaseToolInvocation {
129
+ config;
130
+ constructor(config, params, messageBus, _toolName, _toolDisplayName) {
131
+ // Note: BrowserAgentDefinition is a factory function, so we use hardcoded names
132
+ super(params, messageBus, _toolName ?? 'browser_agent', _toolDisplayName ?? 'Browser Agent');
133
+ this.config = config;
134
+ }
135
+ /**
136
+ * Returns a concise, human-readable description of the invocation.
137
+ */
138
+ getDescription() {
139
+ const inputSummary = Object.entries(this.params)
140
+ .map(([key, value]) => `${key}: ${String(value).slice(0, INPUT_PREVIEW_MAX_LENGTH)}`)
141
+ .join(', ');
142
+ const description = `Running browser agent with inputs: { ${inputSummary} }`;
143
+ return description.slice(0, DESCRIPTION_MAX_LENGTH);
144
+ }
145
+ /**
146
+ * Executes the browser agent.
147
+ *
148
+ * This method:
149
+ * 1. Creates browser manager and MCP connection
150
+ * 2. Wraps MCP tools for the isolated registry
151
+ * 3. Runs the agent via LocalAgentExecutor
152
+ * 4. Cleans up browser resources
153
+ */
154
+ async execute(signal, updateOutput) {
155
+ let browserManager;
156
+ let recentActivity = [];
157
+ try {
158
+ if (updateOutput) {
159
+ // Send initial state
160
+ const initialProgress = {
161
+ isSubagentProgress: true,
162
+ agentName: this['_toolName'] ?? 'browser_agent',
163
+ recentActivity: [],
164
+ state: 'running',
165
+ };
166
+ updateOutput(initialProgress);
167
+ }
168
+ // Create definition with MCP tools
169
+ // Note: printOutput is used for low-level connection logs before agent starts
170
+ const printOutput = updateOutput
171
+ ? (msg) => {
172
+ const sanitizedMsg = sanitizeThoughtContent(msg);
173
+ recentActivity.push({
174
+ id: randomUUID(),
175
+ type: 'thought',
176
+ content: sanitizedMsg,
177
+ status: 'completed',
178
+ });
179
+ if (recentActivity.length > MAX_RECENT_ACTIVITY) {
180
+ recentActivity = recentActivity.slice(-MAX_RECENT_ACTIVITY);
181
+ }
182
+ updateOutput({
183
+ isSubagentProgress: true,
184
+ agentName: this['_toolName'] ?? 'browser_agent',
185
+ recentActivity: [...recentActivity],
186
+ state: 'running',
187
+ });
188
+ }
189
+ : undefined;
190
+ const result = await createBrowserAgentDefinition(this.config, this.messageBus, printOutput);
191
+ const { definition } = result;
192
+ browserManager = result.browserManager;
193
+ // Create activity callback for streaming output
194
+ const onActivity = (activity) => {
195
+ if (!updateOutput)
196
+ return;
197
+ let updated = false;
198
+ switch (activity.type) {
199
+ case 'THOUGHT_CHUNK': {
200
+ const text = String(activity.data['text']);
201
+ const lastItem = recentActivity[recentActivity.length - 1];
202
+ if (lastItem &&
203
+ lastItem.type === 'thought' &&
204
+ lastItem.status === 'running') {
205
+ lastItem.content = sanitizeThoughtContent(lastItem.content + text);
206
+ }
207
+ else {
208
+ recentActivity.push({
209
+ id: randomUUID(),
210
+ type: 'thought',
211
+ content: sanitizeThoughtContent(text),
212
+ status: 'running',
213
+ });
214
+ }
215
+ updated = true;
216
+ break;
217
+ }
218
+ case 'TOOL_CALL_START': {
219
+ const name = String(activity.data['name']);
220
+ const displayName = activity.data['displayName']
221
+ ? sanitizeErrorMessage(String(activity.data['displayName']))
222
+ : undefined;
223
+ const description = activity.data['description']
224
+ ? sanitizeErrorMessage(String(activity.data['description']))
225
+ : undefined;
226
+ const args = JSON.stringify(sanitizeToolArgs(activity.data['args']));
227
+ const callId = activity.data['callId']
228
+ ? String(activity.data['callId'])
229
+ : randomUUID();
230
+ recentActivity.push({
231
+ id: callId,
232
+ type: 'tool_call',
233
+ content: name,
234
+ displayName,
235
+ description,
236
+ args,
237
+ status: 'running',
238
+ });
239
+ updated = true;
240
+ break;
241
+ }
242
+ case 'TOOL_CALL_END': {
243
+ const callId = activity.data['id']
244
+ ? String(activity.data['id'])
245
+ : undefined;
246
+ // Find the tool call by ID
247
+ // Find the tool call by ID
248
+ for (let i = recentActivity.length - 1; i >= 0; i--) {
249
+ if (recentActivity[i].type === 'tool_call' &&
250
+ callId != null &&
251
+ recentActivity[i].id === callId &&
252
+ recentActivity[i].status === 'running') {
253
+ recentActivity[i].status = 'completed';
254
+ updated = true;
255
+ break;
256
+ }
257
+ }
258
+ break;
259
+ }
260
+ case 'ERROR': {
261
+ const error = String(activity.data['error']);
262
+ const isCancellation = error === 'Request cancelled.';
263
+ const callId = activity.data['callId']
264
+ ? String(activity.data['callId'])
265
+ : undefined;
266
+ const newStatus = isCancellation ? 'cancelled' : 'error';
267
+ if (callId) {
268
+ // Mark the specific tool as error/cancelled
269
+ for (let i = recentActivity.length - 1; i >= 0; i--) {
270
+ if (recentActivity[i].type === 'tool_call' &&
271
+ recentActivity[i].id === callId &&
272
+ recentActivity[i].status === 'running') {
273
+ recentActivity[i].status = newStatus;
274
+ updated = true;
275
+ break;
276
+ }
277
+ }
278
+ }
279
+ else {
280
+ // No specific tool — mark ALL running tool_call items
281
+ for (const item of recentActivity) {
282
+ if (item.type === 'tool_call' && item.status === 'running') {
283
+ item.status = newStatus;
284
+ updated = true;
285
+ }
286
+ }
287
+ }
288
+ // Sanitize the error message before emitting
289
+ const sanitizedError = sanitizeErrorMessage(error);
290
+ recentActivity.push({
291
+ id: randomUUID(),
292
+ type: 'thought',
293
+ content: isCancellation
294
+ ? sanitizedError
295
+ : `Error: ${sanitizedError}`,
296
+ status: newStatus,
297
+ });
298
+ updated = true;
299
+ break;
300
+ }
301
+ default:
302
+ break;
303
+ }
304
+ if (updated) {
305
+ if (recentActivity.length > MAX_RECENT_ACTIVITY) {
306
+ recentActivity = recentActivity.slice(-MAX_RECENT_ACTIVITY);
307
+ }
308
+ const progress = {
309
+ isSubagentProgress: true,
310
+ agentName: this['_toolName'] ?? 'browser_agent',
311
+ recentActivity: [...recentActivity],
312
+ state: 'running',
313
+ };
314
+ updateOutput(progress);
315
+ }
316
+ };
317
+ // Create and run executor with the configured definition
318
+ const executor = await LocalAgentExecutor.create(definition, this.config, onActivity);
319
+ const output = await executor.run(this.params, signal);
320
+ const displayResult = safeJsonToMarkdown(output.result);
321
+ const resultContent = `Browser agent finished.
322
+ Termination Reason: ${output.terminate_reason}
323
+ Result:
324
+ ${output.result}`;
325
+ const displayContent = `
326
+ Browser Agent Finished
327
+
328
+ Termination Reason: ${output.terminate_reason}
329
+
330
+ Result:
331
+ ${displayResult}
332
+ `;
333
+ if (updateOutput) {
334
+ updateOutput({
335
+ isSubagentProgress: true,
336
+ agentName: this['_toolName'] ?? 'browser_agent',
337
+ recentActivity: [...recentActivity],
338
+ state: 'completed',
339
+ });
340
+ }
341
+ return {
342
+ llmContent: [{ text: resultContent }],
343
+ returnDisplay: displayContent,
344
+ };
345
+ }
346
+ catch (error) {
347
+ const rawErrorMessage = error instanceof Error ? error.message : String(error);
348
+ const isAbort = (error instanceof Error && error.name === 'AbortError') ||
349
+ rawErrorMessage.includes('Aborted');
350
+ const errorMessage = sanitizeErrorMessage(rawErrorMessage);
351
+ // Mark any running items as error/cancelled
352
+ for (const item of recentActivity) {
353
+ if (item.status === 'running') {
354
+ item.status = isAbort ? 'cancelled' : 'error';
355
+ }
356
+ }
357
+ const progress = {
358
+ isSubagentProgress: true,
359
+ agentName: this['_toolName'] ?? 'browser_agent',
360
+ recentActivity: [...recentActivity],
361
+ state: isAbort ? 'cancelled' : 'error',
362
+ };
363
+ if (updateOutput) {
364
+ updateOutput(progress);
365
+ }
366
+ const llmContent = isAbort
367
+ ? 'Browser agent execution was aborted.'
368
+ : `Browser agent failed. Error: ${errorMessage}`;
369
+ return {
370
+ llmContent: [{ text: llmContent }],
371
+ returnDisplay: progress,
372
+ error: {
373
+ message: errorMessage,
374
+ type: ToolErrorType.EXECUTION_FAILED,
375
+ },
376
+ };
377
+ }
378
+ finally {
379
+ // Always cleanup browser resources
380
+ if (browserManager) {
381
+ await cleanupBrowserAgent(browserManager);
382
+ }
383
+ }
384
+ }
385
+ }
386
+ //# sourceMappingURL=browserAgentInvocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserAgentInvocation.js","sourceRoot":"","sources":["../../../../src/agents/browser/browserAgentInvocation.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 {};