@office-ai/aioncli-core 0.2.3 → 0.8.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 (756) hide show
  1. package/dist/index.d.ts +10 -3
  2. package/dist/index.js +10 -3
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/agents/codebase-investigator.d.ts +11 -0
  5. package/dist/src/agents/codebase-investigator.js +73 -0
  6. package/dist/src/agents/codebase-investigator.js.map +1 -0
  7. package/dist/src/agents/executor.d.ts +88 -0
  8. package/dist/src/agents/executor.js +417 -0
  9. package/dist/src/agents/executor.js.map +1 -0
  10. package/dist/src/agents/executor.test.js +419 -0
  11. package/dist/src/agents/executor.test.js.map +1 -0
  12. package/dist/src/agents/invocation.d.ts +43 -0
  13. package/dist/src/agents/invocation.js +100 -0
  14. package/dist/src/agents/invocation.js.map +1 -0
  15. package/dist/src/agents/invocation.test.js +206 -0
  16. package/dist/src/agents/invocation.test.js.map +1 -0
  17. package/dist/src/agents/registry.d.ts +35 -0
  18. package/dist/src/agents/registry.js +58 -0
  19. package/dist/src/agents/registry.js.map +1 -0
  20. package/dist/src/agents/registry.test.js +146 -0
  21. package/dist/src/agents/registry.test.js.map +1 -0
  22. package/dist/src/agents/schema-utils.d.ts +39 -0
  23. package/dist/src/agents/schema-utils.js +57 -0
  24. package/dist/src/agents/schema-utils.js.map +1 -0
  25. package/dist/src/agents/schema-utils.test.d.ts +6 -0
  26. package/dist/src/agents/schema-utils.test.js +144 -0
  27. package/dist/src/agents/schema-utils.test.js.map +1 -0
  28. package/dist/src/agents/subagent-tool-wrapper.d.ts +36 -0
  29. package/dist/src/agents/subagent-tool-wrapper.js +47 -0
  30. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
  31. package/dist/src/agents/subagent-tool-wrapper.test.d.ts +6 -0
  32. package/dist/src/agents/subagent-tool-wrapper.test.js +105 -0
  33. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -0
  34. package/dist/src/agents/types.d.ts +116 -0
  35. package/dist/src/agents/types.js +17 -0
  36. package/dist/src/agents/types.js.map +1 -0
  37. package/dist/src/agents/utils.d.ts +15 -0
  38. package/dist/src/agents/utils.js +29 -0
  39. package/dist/src/agents/utils.js.map +1 -0
  40. package/dist/src/agents/utils.test.d.ts +6 -0
  41. package/dist/src/agents/utils.test.js +87 -0
  42. package/dist/src/agents/utils.test.js.map +1 -0
  43. package/dist/src/code_assist/codeAssist.d.ts +6 -3
  44. package/dist/src/code_assist/codeAssist.js +12 -0
  45. package/dist/src/code_assist/codeAssist.js.map +1 -1
  46. package/dist/src/code_assist/converter.d.ts +4 -1
  47. package/dist/src/code_assist/converter.js +38 -5
  48. package/dist/src/code_assist/converter.js.map +1 -1
  49. package/dist/src/code_assist/converter.test.js +93 -0
  50. package/dist/src/code_assist/converter.test.js.map +1 -1
  51. package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
  52. package/dist/src/code_assist/oauth-credential-storage.js +109 -0
  53. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
  54. package/dist/src/code_assist/oauth-credential-storage.test.d.ts +6 -0
  55. package/dist/src/code_assist/oauth-credential-storage.test.js +136 -0
  56. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -0
  57. package/dist/src/code_assist/oauth2.d.ts +1 -1
  58. package/dist/src/code_assist/oauth2.js +107 -48
  59. package/dist/src/code_assist/oauth2.js.map +1 -1
  60. package/dist/src/code_assist/oauth2.test.js +735 -343
  61. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  62. package/dist/src/code_assist/server.d.ts +4 -4
  63. package/dist/src/code_assist/server.js +25 -2
  64. package/dist/src/code_assist/server.js.map +1 -1
  65. package/dist/src/code_assist/server.test.js +25 -0
  66. package/dist/src/code_assist/server.test.js.map +1 -1
  67. package/dist/src/code_assist/setup.d.ts +1 -1
  68. package/dist/src/code_assist/setup.js +1 -1
  69. package/dist/src/code_assist/setup.js.map +1 -1
  70. package/dist/src/code_assist/setup.test.js.map +1 -1
  71. package/dist/src/code_assist/types.d.ts +17 -2
  72. package/dist/src/config/config.d.ts +121 -25
  73. package/dist/src/config/config.js +298 -89
  74. package/dist/src/config/config.js.map +1 -1
  75. package/dist/src/config/config.test.js +370 -131
  76. package/dist/src/config/config.test.js.map +1 -1
  77. package/dist/src/config/constants.d.ts +11 -0
  78. package/dist/src/config/constants.js +16 -0
  79. package/dist/src/config/constants.js.map +1 -0
  80. package/dist/src/config/models.d.ts +16 -0
  81. package/dist/src/config/models.js +29 -0
  82. package/dist/src/config/models.js.map +1 -1
  83. package/dist/src/config/models.test.d.ts +6 -0
  84. package/dist/src/config/models.test.js +55 -0
  85. package/dist/src/config/models.test.js.map +1 -0
  86. package/dist/src/config/storage.d.ts +34 -0
  87. package/dist/src/config/storage.js +95 -0
  88. package/dist/src/config/storage.js.map +1 -0
  89. package/dist/src/config/storage.test.d.ts +6 -0
  90. package/dist/src/config/storage.test.js +47 -0
  91. package/dist/src/config/storage.test.js.map +1 -0
  92. package/dist/src/confirmation-bus/index.d.ts +7 -0
  93. package/dist/src/confirmation-bus/index.js +8 -0
  94. package/dist/src/confirmation-bus/index.js.map +1 -0
  95. package/dist/src/confirmation-bus/message-bus.d.ts +17 -0
  96. package/dist/src/confirmation-bus/message-bus.js +81 -0
  97. package/dist/src/confirmation-bus/message-bus.js.map +1 -0
  98. package/dist/src/confirmation-bus/message-bus.test.d.ts +6 -0
  99. package/dist/src/confirmation-bus/message-bus.test.js +164 -0
  100. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -0
  101. package/dist/src/confirmation-bus/types.d.ts +38 -0
  102. package/dist/src/confirmation-bus/types.js +15 -0
  103. package/dist/src/confirmation-bus/types.js.map +1 -0
  104. package/dist/src/core/baseLlmClient.d.ts +54 -0
  105. package/dist/src/core/baseLlmClient.js +190 -0
  106. package/dist/src/core/baseLlmClient.js.map +1 -0
  107. package/dist/src/core/baseLlmClient.test.d.ts +6 -0
  108. package/dist/src/core/baseLlmClient.test.js +316 -0
  109. package/dist/src/core/baseLlmClient.test.js.map +1 -0
  110. package/dist/src/core/client.d.ts +28 -33
  111. package/dist/src/core/client.js +187 -384
  112. package/dist/src/core/client.js.map +1 -1
  113. package/dist/src/core/client.test.js +745 -500
  114. package/dist/src/core/client.test.js.map +1 -1
  115. package/dist/src/core/contentGenerator.d.ts +4 -4
  116. package/dist/src/core/contentGenerator.js +6 -7
  117. package/dist/src/core/contentGenerator.js.map +1 -1
  118. package/dist/src/core/contentGenerator.test.js +1 -3
  119. package/dist/src/core/contentGenerator.test.js.map +1 -1
  120. package/dist/src/core/coreToolScheduler.d.ts +20 -7
  121. package/dist/src/core/coreToolScheduler.js +216 -53
  122. package/dist/src/core/coreToolScheduler.js.map +1 -1
  123. package/dist/src/core/coreToolScheduler.test.js +564 -88
  124. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  125. package/dist/src/core/geminiChat.d.ts +54 -53
  126. package/dist/src/core/geminiChat.js +300 -356
  127. package/dist/src/core/geminiChat.js.map +1 -1
  128. package/dist/src/core/geminiChat.test.js +1255 -321
  129. package/dist/src/core/geminiChat.test.js.map +1 -1
  130. package/dist/src/core/geminiRequest.js +1 -0
  131. package/dist/src/core/geminiRequest.js.map +1 -1
  132. package/dist/src/core/logger.d.ts +4 -2
  133. package/dist/src/core/logger.js +4 -3
  134. package/dist/src/core/logger.js.map +1 -1
  135. package/dist/src/core/logger.test.js +17 -16
  136. package/dist/src/core/logger.test.js.map +1 -1
  137. package/dist/src/core/loggingContentGenerator.d.ts +3 -3
  138. package/dist/src/core/loggingContentGenerator.js +15 -16
  139. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  140. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -5
  141. package/dist/src/core/nonInteractiveToolExecutor.js +14 -122
  142. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  143. package/dist/src/core/nonInteractiveToolExecutor.test.js +158 -78
  144. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  145. package/dist/src/core/openaiContentGenerator.d.ts +4 -3
  146. package/dist/src/core/openaiContentGenerator.js +21 -14
  147. package/dist/src/core/openaiContentGenerator.js.map +1 -1
  148. package/dist/src/core/openaiContentGenerator.test.js +1 -0
  149. package/dist/src/core/openaiContentGenerator.test.js.map +1 -1
  150. package/dist/src/core/prompts.d.ts +5 -0
  151. package/dist/src/core/prompts.js +66 -44
  152. package/dist/src/core/prompts.js.map +1 -1
  153. package/dist/src/core/prompts.test.js +130 -1
  154. package/dist/src/core/prompts.test.js.map +1 -1
  155. package/dist/src/core/subagent.d.ts +24 -18
  156. package/dist/src/core/subagent.js +125 -90
  157. package/dist/src/core/subagent.js.map +1 -1
  158. package/dist/src/core/subagent.test.js +59 -44
  159. package/dist/src/core/subagent.test.js.map +1 -1
  160. package/dist/src/core/turn.d.ts +37 -13
  161. package/dist/src/core/turn.js +63 -28
  162. package/dist/src/core/turn.js.map +1 -1
  163. package/dist/src/core/turn.test.js +359 -100
  164. package/dist/src/core/turn.test.js.map +1 -1
  165. package/dist/src/fallback/handler.d.ts +7 -0
  166. package/dist/src/fallback/handler.js +129 -0
  167. package/dist/src/fallback/handler.js.map +1 -0
  168. package/dist/src/fallback/handler.test.d.ts +6 -0
  169. package/dist/src/fallback/handler.test.js +130 -0
  170. package/dist/src/fallback/handler.test.js.map +1 -0
  171. package/dist/src/fallback/types.d.ts +14 -0
  172. package/dist/src/fallback/types.js +7 -0
  173. package/dist/src/fallback/types.js.map +1 -0
  174. package/dist/src/ide/constants.d.ts +3 -0
  175. package/dist/src/ide/constants.js +3 -0
  176. package/dist/src/ide/constants.js.map +1 -1
  177. package/dist/src/ide/detect-ide.d.ts +48 -12
  178. package/dist/src/ide/detect-ide.js +47 -66
  179. package/dist/src/ide/detect-ide.js.map +1 -1
  180. package/dist/src/ide/detect-ide.test.js +79 -52
  181. package/dist/src/ide/detect-ide.test.js.map +1 -1
  182. package/dist/src/ide/ide-client.d.ts +69 -23
  183. package/dist/src/ide/ide-client.js +372 -78
  184. package/dist/src/ide/ide-client.js.map +1 -1
  185. package/dist/src/ide/ide-client.test.js +375 -30
  186. package/dist/src/ide/ide-client.test.js.map +1 -1
  187. package/dist/src/ide/ide-installer.d.ts +2 -2
  188. package/dist/src/ide/ide-installer.js +37 -24
  189. package/dist/src/ide/ide-installer.js.map +1 -1
  190. package/dist/src/ide/ide-installer.test.js +104 -26
  191. package/dist/src/ide/ide-installer.test.js.map +1 -1
  192. package/dist/src/ide/ideContext.d.ts +35 -365
  193. package/dist/src/ide/ideContext.js +60 -106
  194. package/dist/src/ide/ideContext.js.map +1 -1
  195. package/dist/src/ide/ideContext.test.js +152 -24
  196. package/dist/src/ide/ideContext.test.js.map +1 -1
  197. package/dist/src/ide/process-utils.d.ts +7 -5
  198. package/dist/src/ide/process-utils.js +81 -50
  199. package/dist/src/ide/process-utils.js.map +1 -1
  200. package/dist/src/ide/process-utils.test.d.ts +6 -0
  201. package/dist/src/ide/process-utils.test.js +158 -0
  202. package/dist/src/ide/process-utils.test.js.map +1 -0
  203. package/dist/src/ide/types.d.ts +486 -0
  204. package/dist/src/ide/types.js +138 -0
  205. package/dist/src/ide/types.js.map +1 -0
  206. package/dist/src/index.d.ts +20 -2
  207. package/dist/src/index.js +20 -2
  208. package/dist/src/index.js.map +1 -1
  209. package/dist/src/mcp/google-auth-provider.d.ts +3 -3
  210. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  211. package/dist/src/mcp/oauth-provider.d.ts +17 -13
  212. package/dist/src/mcp/oauth-provider.js +81 -69
  213. package/dist/src/mcp/oauth-provider.js.map +1 -1
  214. package/dist/src/mcp/oauth-provider.test.js +212 -37
  215. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  216. package/dist/src/mcp/oauth-token-storage.d.ts +14 -32
  217. package/dist/src/mcp/oauth-token-storage.js +54 -25
  218. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  219. package/dist/src/mcp/oauth-token-storage.test.js +256 -162
  220. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  221. package/dist/src/mcp/oauth-utils.d.ts +9 -1
  222. package/dist/src/mcp/oauth-utils.js +42 -27
  223. package/dist/src/mcp/oauth-utils.js.map +1 -1
  224. package/dist/src/mcp/oauth-utils.test.js +41 -1
  225. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  226. package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  227. package/dist/src/mcp/sa-impersonation-provider.js +130 -0
  228. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  229. package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  230. package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  231. package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  232. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  233. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  234. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  235. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  236. package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  237. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  238. package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  239. package/dist/src/mcp/token-storage/file-token-storage.js +144 -0
  240. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  241. package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  242. package/dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
  243. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  244. package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
  245. package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
  246. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  247. package/dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +6 -0
  248. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +193 -0
  249. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -0
  250. package/dist/src/mcp/token-storage/index.d.ts +11 -0
  251. package/dist/src/mcp/token-storage/index.js +12 -0
  252. package/dist/src/mcp/token-storage/index.js.map +1 -0
  253. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +31 -0
  254. package/dist/src/mcp/token-storage/keychain-token-storage.js +190 -0
  255. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  256. package/dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +6 -0
  257. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +254 -0
  258. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -0
  259. package/dist/src/mcp/token-storage/types.d.ts +38 -0
  260. package/dist/src/mcp/token-storage/types.js +11 -0
  261. package/dist/src/mcp/token-storage/types.js.map +1 -0
  262. package/dist/src/output/json-formatter.d.ts +11 -0
  263. package/dist/src/output/json-formatter.js +30 -0
  264. package/dist/src/output/json-formatter.js.map +1 -0
  265. package/dist/src/output/json-formatter.test.d.ts +6 -0
  266. package/dist/src/output/json-formatter.test.js +266 -0
  267. package/dist/src/output/json-formatter.test.js.map +1 -0
  268. package/dist/src/output/types.d.ts +20 -0
  269. package/dist/src/output/types.js +11 -0
  270. package/dist/src/output/types.js.map +1 -0
  271. package/dist/src/policy/index.d.ts +7 -0
  272. package/dist/src/policy/index.js +8 -0
  273. package/dist/src/policy/index.js.map +1 -0
  274. package/dist/src/policy/policy-engine.d.ts +30 -0
  275. package/dist/src/policy/policy-engine.js +92 -0
  276. package/dist/src/policy/policy-engine.js.map +1 -0
  277. package/dist/src/policy/policy-engine.test.d.ts +6 -0
  278. package/dist/src/policy/policy-engine.test.js +515 -0
  279. package/dist/src/policy/policy-engine.test.js.map +1 -0
  280. package/dist/src/policy/stable-stringify.d.ts +58 -0
  281. package/dist/src/policy/stable-stringify.js +122 -0
  282. package/dist/src/policy/stable-stringify.js.map +1 -0
  283. package/dist/src/policy/types.d.ts +47 -0
  284. package/dist/src/policy/types.js +12 -0
  285. package/dist/src/policy/types.js.map +1 -0
  286. package/dist/src/prompts/mcp-prompts.d.ts +2 -2
  287. package/dist/src/prompts/prompt-registry.d.ts +1 -1
  288. package/dist/src/routing/modelRouterService.d.ts +23 -0
  289. package/dist/src/routing/modelRouterService.js +70 -0
  290. package/dist/src/routing/modelRouterService.js.map +1 -0
  291. package/dist/src/routing/modelRouterService.test.d.ts +6 -0
  292. package/dist/src/routing/modelRouterService.test.js +98 -0
  293. package/dist/src/routing/modelRouterService.test.js.map +1 -0
  294. package/dist/src/routing/routingStrategy.d.ts +62 -0
  295. package/dist/src/routing/routingStrategy.js +7 -0
  296. package/dist/src/routing/routingStrategy.js.map +1 -0
  297. package/dist/src/routing/strategies/classifierStrategy.d.ts +12 -0
  298. package/dist/src/routing/strategies/classifierStrategy.js +173 -0
  299. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -0
  300. package/dist/src/routing/strategies/classifierStrategy.test.d.ts +6 -0
  301. package/dist/src/routing/strategies/classifierStrategy.test.js +192 -0
  302. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -0
  303. package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
  304. package/dist/src/routing/strategies/compositeStrategy.js +68 -0
  305. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
  306. package/dist/src/routing/strategies/compositeStrategy.test.d.ts +6 -0
  307. package/dist/src/routing/strategies/compositeStrategy.test.js +123 -0
  308. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -0
  309. package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
  310. package/dist/src/routing/strategies/defaultStrategy.js +20 -0
  311. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
  312. package/dist/src/routing/strategies/defaultStrategy.test.d.ts +6 -0
  313. package/dist/src/routing/strategies/defaultStrategy.test.js +26 -0
  314. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -0
  315. package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
  316. package/dist/src/routing/strategies/fallbackStrategy.js +25 -0
  317. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
  318. package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +6 -0
  319. package/dist/src/routing/strategies/fallbackStrategy.test.js +55 -0
  320. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -0
  321. package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
  322. package/dist/src/routing/strategies/overrideStrategy.js +28 -0
  323. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
  324. package/dist/src/routing/strategies/overrideStrategy.test.d.ts +6 -0
  325. package/dist/src/routing/strategies/overrideStrategy.test.js +42 -0
  326. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -0
  327. package/dist/src/services/chatRecordingService.d.ts +8 -14
  328. package/dist/src/services/chatRecordingService.js +33 -21
  329. package/dist/src/services/chatRecordingService.js.map +1 -1
  330. package/dist/src/services/chatRecordingService.test.js +69 -25
  331. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  332. package/dist/src/services/fileDiscoveryService.d.ts +10 -0
  333. package/dist/src/services/fileDiscoveryService.js +32 -18
  334. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  335. package/dist/src/services/fileDiscoveryService.test.js +3 -3
  336. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  337. package/dist/src/services/fileSystemService.d.ts +9 -0
  338. package/dist/src/services/fileSystemService.js +12 -1
  339. package/dist/src/services/fileSystemService.js.map +1 -1
  340. package/dist/src/services/fileSystemService.test.js +1 -1
  341. package/dist/src/services/fileSystemService.test.js.map +1 -1
  342. package/dist/src/services/gitService.d.ts +3 -1
  343. package/dist/src/services/gitService.js +30 -24
  344. package/dist/src/services/gitService.js.map +1 -1
  345. package/dist/src/services/gitService.test.js +30 -37
  346. package/dist/src/services/gitService.test.js.map +1 -1
  347. package/dist/src/services/loopDetectionService.d.ts +8 -2
  348. package/dist/src/services/loopDetectionService.js +64 -24
  349. package/dist/src/services/loopDetectionService.js.map +1 -1
  350. package/dist/src/services/loopDetectionService.test.js +64 -13
  351. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  352. package/dist/src/services/shellExecutionService.d.ts +36 -2
  353. package/dist/src/services/shellExecutionService.js +238 -47
  354. package/dist/src/services/shellExecutionService.js.map +1 -1
  355. package/dist/src/services/shellExecutionService.test.js +197 -58
  356. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  357. package/dist/src/telemetry/activity-detector.d.ts +41 -0
  358. package/dist/src/telemetry/activity-detector.js +61 -0
  359. package/dist/src/telemetry/activity-detector.js.map +1 -0
  360. package/dist/src/telemetry/activity-detector.test.d.ts +6 -0
  361. package/dist/src/telemetry/activity-detector.test.js +136 -0
  362. package/dist/src/telemetry/activity-detector.test.js.map +1 -0
  363. package/dist/src/telemetry/activity-types.d.ts +19 -0
  364. package/dist/src/telemetry/activity-types.js +21 -0
  365. package/dist/src/telemetry/activity-types.js.map +1 -0
  366. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +34 -4
  367. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +322 -15
  368. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  369. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
  370. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +321 -11
  371. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  372. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +51 -2
  373. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +124 -2
  374. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  375. package/dist/src/telemetry/config.d.ts +31 -0
  376. package/dist/src/telemetry/config.js +76 -0
  377. package/dist/src/telemetry/config.js.map +1 -0
  378. package/dist/src/telemetry/config.test.d.ts +6 -0
  379. package/dist/src/telemetry/config.test.js +124 -0
  380. package/dist/src/telemetry/config.test.js.map +1 -0
  381. package/dist/src/telemetry/constants.d.ts +17 -7
  382. package/dist/src/telemetry/constants.js +18 -7
  383. package/dist/src/telemetry/constants.js.map +1 -1
  384. package/dist/src/telemetry/file-exporters.d.ts +5 -4
  385. package/dist/src/telemetry/file-exporters.js +1 -1
  386. package/dist/src/telemetry/file-exporters.js.map +1 -1
  387. package/dist/src/telemetry/gcp-exporters.d.ts +34 -0
  388. package/dist/src/telemetry/gcp-exporters.js +117 -0
  389. package/dist/src/telemetry/gcp-exporters.js.map +1 -0
  390. package/dist/src/telemetry/gcp-exporters.test.d.ts +6 -0
  391. package/dist/src/telemetry/gcp-exporters.test.js +318 -0
  392. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -0
  393. package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
  394. package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
  395. package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
  396. package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +6 -0
  397. package/dist/src/telemetry/high-water-mark-tracker.test.js +152 -0
  398. package/dist/src/telemetry/high-water-mark-tracker.test.js.map +1 -0
  399. package/dist/src/telemetry/index.d.ts +12 -2
  400. package/dist/src/telemetry/index.js +16 -2
  401. package/dist/src/telemetry/index.js.map +1 -1
  402. package/dist/src/telemetry/loggers.d.ts +17 -2
  403. package/dist/src/telemetry/loggers.js +316 -14
  404. package/dist/src/telemetry/loggers.js.map +1 -1
  405. package/dist/src/telemetry/loggers.test.circular.js +3 -3
  406. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  407. package/dist/src/telemetry/loggers.test.js +452 -48
  408. package/dist/src/telemetry/loggers.test.js.map +1 -1
  409. package/dist/src/telemetry/metrics.d.ts +323 -12
  410. package/dist/src/telemetry/metrics.js +464 -83
  411. package/dist/src/telemetry/metrics.js.map +1 -1
  412. package/dist/src/telemetry/metrics.test.js +583 -38
  413. package/dist/src/telemetry/metrics.test.js.map +1 -1
  414. package/dist/src/telemetry/rate-limiter.d.ts +48 -0
  415. package/dist/src/telemetry/rate-limiter.js +100 -0
  416. package/dist/src/telemetry/rate-limiter.js.map +1 -0
  417. package/dist/src/telemetry/rate-limiter.test.d.ts +6 -0
  418. package/dist/src/telemetry/rate-limiter.test.js +207 -0
  419. package/dist/src/telemetry/rate-limiter.test.js.map +1 -0
  420. package/dist/src/telemetry/sdk.d.ts +1 -1
  421. package/dist/src/telemetry/sdk.js +20 -2
  422. package/dist/src/telemetry/sdk.js.map +1 -1
  423. package/dist/src/telemetry/sdk.test.js +108 -0
  424. package/dist/src/telemetry/sdk.test.js.map +1 -1
  425. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  426. package/dist/src/telemetry/telemetry-utils.js +14 -0
  427. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  428. package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  429. package/dist/src/telemetry/telemetry-utils.test.js +40 -0
  430. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  431. package/dist/src/telemetry/types.d.ts +136 -8
  432. package/dist/src/telemetry/types.js +233 -11
  433. package/dist/src/telemetry/types.js.map +1 -1
  434. package/dist/src/telemetry/uiTelemetry.d.ts +3 -3
  435. package/dist/src/telemetry/uiTelemetry.js +7 -8
  436. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  437. package/dist/src/telemetry/uiTelemetry.test.js +33 -29
  438. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  439. package/dist/src/test-utils/config.d.ts +2 -1
  440. package/dist/src/test-utils/config.js.map +1 -1
  441. package/dist/src/test-utils/index.d.ts +6 -0
  442. package/dist/src/test-utils/index.js +7 -0
  443. package/dist/src/test-utils/index.js.map +1 -0
  444. package/dist/src/test-utils/mock-tool.d.ts +66 -0
  445. package/dist/src/test-utils/{tools.js → mock-tool.js} +45 -29
  446. package/dist/src/test-utils/mock-tool.js.map +1 -0
  447. package/dist/src/test-utils/mockWorkspaceContext.d.ts +1 -1
  448. package/dist/src/tools/diffOptions.d.ts +1 -1
  449. package/dist/src/tools/diffOptions.js +21 -13
  450. package/dist/src/tools/diffOptions.js.map +1 -1
  451. package/dist/src/tools/diffOptions.test.js +58 -22
  452. package/dist/src/tools/diffOptions.test.js.map +1 -1
  453. package/dist/src/tools/edit.d.ts +6 -5
  454. package/dist/src/tools/edit.js +58 -40
  455. package/dist/src/tools/edit.js.map +1 -1
  456. package/dist/src/tools/edit.test.js +192 -16
  457. package/dist/src/tools/edit.test.js.map +1 -1
  458. package/dist/src/tools/glob.d.ts +7 -2
  459. package/dist/src/tools/glob.js +42 -23
  460. package/dist/src/tools/glob.js.map +1 -1
  461. package/dist/src/tools/glob.test.js +80 -4
  462. package/dist/src/tools/glob.test.js.map +1 -1
  463. package/dist/src/tools/grep.d.ts +3 -2
  464. package/dist/src/tools/grep.js +35 -15
  465. package/dist/src/tools/grep.js.map +1 -1
  466. package/dist/src/tools/grep.test.js +26 -3
  467. package/dist/src/tools/grep.test.js.map +1 -1
  468. package/dist/src/tools/ls.d.ts +3 -2
  469. package/dist/src/tools/ls.js +31 -39
  470. package/dist/src/tools/ls.js.map +1 -1
  471. package/dist/src/tools/ls.test.js +145 -280
  472. package/dist/src/tools/ls.test.js.map +1 -1
  473. package/dist/src/tools/mcp-client-manager.d.ts +8 -6
  474. package/dist/src/tools/mcp-client-manager.js +13 -4
  475. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  476. package/dist/src/tools/mcp-client-manager.test.js +20 -1
  477. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  478. package/dist/src/tools/mcp-client.d.ts +18 -21
  479. package/dist/src/tools/mcp-client.js +87 -120
  480. package/dist/src/tools/mcp-client.js.map +1 -1
  481. package/dist/src/tools/mcp-client.test.js +32 -152
  482. package/dist/src/tools/mcp-client.test.js.map +1 -1
  483. package/dist/src/tools/mcp-tool.d.ts +6 -4
  484. package/dist/src/tools/mcp-tool.js +51 -13
  485. package/dist/src/tools/mcp-tool.js.map +1 -1
  486. package/dist/src/tools/mcp-tool.test.js +166 -12
  487. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  488. package/dist/src/tools/memoryTool.d.ts +3 -2
  489. package/dist/src/tools/memoryTool.js +14 -37
  490. package/dist/src/tools/memoryTool.js.map +1 -1
  491. package/dist/src/tools/memoryTool.test.js +16 -4
  492. package/dist/src/tools/memoryTool.test.js.map +1 -1
  493. package/dist/src/tools/message-bus-integration.test.d.ts +6 -0
  494. package/dist/src/tools/message-bus-integration.test.js +183 -0
  495. package/dist/src/tools/message-bus-integration.test.js.map +1 -0
  496. package/dist/src/tools/modifiable-tool.d.ts +2 -2
  497. package/dist/src/tools/modifiable-tool.js +3 -3
  498. package/dist/src/tools/modifiable-tool.js.map +1 -1
  499. package/dist/src/tools/modifiable-tool.test.js +4 -4
  500. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  501. package/dist/src/tools/read-file.d.ts +3 -2
  502. package/dist/src/tools/read-file.js +23 -38
  503. package/dist/src/tools/read-file.js.map +1 -1
  504. package/dist/src/tools/read-file.test.js +38 -6
  505. package/dist/src/tools/read-file.test.js.map +1 -1
  506. package/dist/src/tools/read-many-files.d.ts +3 -2
  507. package/dist/src/tools/read-many-files.js +52 -107
  508. package/dist/src/tools/read-many-files.js.map +1 -1
  509. package/dist/src/tools/read-many-files.test.js +64 -11
  510. package/dist/src/tools/read-many-files.test.js.map +1 -1
  511. package/dist/src/tools/ripGrep.d.ts +55 -0
  512. package/dist/src/tools/ripGrep.js +393 -0
  513. package/dist/src/tools/ripGrep.js.map +1 -0
  514. package/dist/src/tools/ripGrep.test.d.ts +6 -0
  515. package/dist/src/tools/ripGrep.test.js +976 -0
  516. package/dist/src/tools/ripGrep.test.js.map +1 -0
  517. package/dist/src/tools/shell.d.ts +13 -2
  518. package/dist/src/tools/shell.js +42 -32
  519. package/dist/src/tools/shell.js.map +1 -1
  520. package/dist/src/tools/shell.test.js +57 -75
  521. package/dist/src/tools/shell.test.js.map +1 -1
  522. package/dist/src/tools/smart-edit.d.ts +91 -0
  523. package/dist/src/tools/smart-edit.js +702 -0
  524. package/dist/src/tools/smart-edit.js.map +1 -0
  525. package/dist/src/tools/smart-edit.test.d.ts +6 -0
  526. package/dist/src/tools/smart-edit.test.js +542 -0
  527. package/dist/src/tools/smart-edit.test.js.map +1 -0
  528. package/dist/src/tools/tool-error.d.ts +18 -1
  529. package/dist/src/tools/tool-error.js +27 -0
  530. package/dist/src/tools/tool-error.js.map +1 -1
  531. package/dist/src/tools/tool-registry.d.ts +10 -4
  532. package/dist/src/tools/tool-registry.js +20 -7
  533. package/dist/src/tools/tool-registry.js.map +1 -1
  534. package/dist/src/tools/tool-registry.test.js +93 -10
  535. package/dist/src/tools/tool-registry.test.js.map +1 -1
  536. package/dist/src/tools/tools.d.ts +33 -16
  537. package/dist/src/tools/tools.js +115 -5
  538. package/dist/src/tools/tools.js.map +1 -1
  539. package/dist/src/tools/tools.test.js +1 -2
  540. package/dist/src/tools/tools.test.js.map +1 -1
  541. package/dist/src/tools/web-fetch.d.ts +3 -2
  542. package/dist/src/tools/web-fetch.js +14 -10
  543. package/dist/src/tools/web-fetch.js.map +1 -1
  544. package/dist/src/tools/web-fetch.test.js +55 -16
  545. package/dist/src/tools/web-fetch.test.js.map +1 -1
  546. package/dist/src/tools/web-search.d.ts +4 -3
  547. package/dist/src/tools/web-search.js +31 -8
  548. package/dist/src/tools/web-search.js.map +1 -1
  549. package/dist/src/tools/web-search.test.js +69 -1
  550. package/dist/src/tools/web-search.test.js.map +1 -1
  551. package/dist/src/tools/write-file.d.ts +4 -3
  552. package/dist/src/tools/write-file.js +17 -18
  553. package/dist/src/tools/write-file.js.map +1 -1
  554. package/dist/src/tools/write-file.test.js +108 -24
  555. package/dist/src/tools/write-file.test.js.map +1 -1
  556. package/dist/src/tools/write-todos.d.ts +25 -0
  557. package/dist/src/tools/write-todos.js +150 -0
  558. package/dist/src/tools/write-todos.js.map +1 -0
  559. package/dist/src/tools/write-todos.test.d.ts +6 -0
  560. package/dist/src/tools/write-todos.test.js +89 -0
  561. package/dist/src/tools/write-todos.test.js.map +1 -0
  562. package/dist/src/utils/bfsFileSearch.d.ts +2 -2
  563. package/dist/src/utils/bfsFileSearch.js +13 -7
  564. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  565. package/dist/src/utils/bfsFileSearch.test.js +3 -3
  566. package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
  567. package/dist/src/utils/editCorrector.d.ts +9 -8
  568. package/dist/src/utils/editCorrector.js +62 -19
  569. package/dist/src/utils/editCorrector.js.map +1 -1
  570. package/dist/src/utils/editCorrector.test.js +33 -82
  571. package/dist/src/utils/editCorrector.test.js.map +1 -1
  572. package/dist/src/utils/editor.js +32 -45
  573. package/dist/src/utils/editor.js.map +1 -1
  574. package/dist/src/utils/editor.test.js +62 -76
  575. package/dist/src/utils/editor.test.js.map +1 -1
  576. package/dist/src/utils/environmentContext.d.ts +2 -2
  577. package/dist/src/utils/errorParsing.js +2 -2
  578. package/dist/src/utils/errorParsing.js.map +1 -1
  579. package/dist/src/utils/errorParsing.test.js +7 -7
  580. package/dist/src/utils/errorParsing.test.js.map +1 -1
  581. package/dist/src/utils/errorReporting.d.ts +1 -1
  582. package/dist/src/utils/errors.d.ts +25 -0
  583. package/dist/src/utils/errors.js +42 -0
  584. package/dist/src/utils/errors.js.map +1 -1
  585. package/dist/src/utils/fetch.js +1 -1
  586. package/dist/src/utils/fetch.js.map +1 -1
  587. package/dist/src/utils/fileUtils.d.ts +24 -12
  588. package/dist/src/utils/fileUtils.js +170 -79
  589. package/dist/src/utils/fileUtils.js.map +1 -1
  590. package/dist/src/utils/fileUtils.test.js +347 -29
  591. package/dist/src/utils/fileUtils.test.js.map +1 -1
  592. package/dist/src/utils/filesearch/crawler.d.ts +1 -1
  593. package/dist/src/utils/filesearch/crawler.test.js +2 -2
  594. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  595. package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
  596. package/dist/src/utils/filesearch/fileSearch.js +14 -9
  597. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  598. package/dist/src/utils/filesearch/fileSearch.test.js +90 -0
  599. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  600. package/dist/src/utils/flashFallback.test.d.ts +6 -0
  601. package/dist/src/utils/{flashFallback.integration.test.js → flashFallback.test.js} +33 -29
  602. package/dist/src/utils/flashFallback.test.js.map +1 -0
  603. package/dist/src/utils/geminiIgnoreParser.d.ts +18 -0
  604. package/dist/src/utils/geminiIgnoreParser.js +61 -0
  605. package/dist/src/utils/geminiIgnoreParser.js.map +1 -0
  606. package/dist/src/utils/geminiIgnoreParser.test.d.ts +6 -0
  607. package/dist/src/utils/geminiIgnoreParser.test.js +50 -0
  608. package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -0
  609. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -2
  610. package/dist/src/utils/generateContentResponseUtilities.js +1 -13
  611. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  612. package/dist/src/utils/generateContentResponseUtilities.test.js +2 -40
  613. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  614. package/dist/src/utils/getFolderStructure.d.ts +2 -2
  615. package/dist/src/utils/getFolderStructure.js +3 -3
  616. package/dist/src/utils/getFolderStructure.js.map +1 -1
  617. package/dist/src/utils/getFolderStructure.test.js +4 -4
  618. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  619. package/dist/src/utils/gitIgnoreParser.d.ts +3 -7
  620. package/dist/src/utils/gitIgnoreParser.js +126 -35
  621. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  622. package/dist/src/utils/gitIgnoreParser.test.js +69 -38
  623. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  624. package/dist/src/utils/gitUtils.js +2 -2
  625. package/dist/src/utils/gitUtils.js.map +1 -1
  626. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  627. package/dist/src/utils/ignorePatterns.js +220 -0
  628. package/dist/src/utils/ignorePatterns.js.map +1 -0
  629. package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
  630. package/dist/src/utils/ignorePatterns.test.js +250 -0
  631. package/dist/src/utils/ignorePatterns.test.js.map +1 -0
  632. package/dist/src/utils/installationManager.d.ts +16 -0
  633. package/dist/src/utils/installationManager.js +50 -0
  634. package/dist/src/utils/installationManager.js.map +1 -0
  635. package/dist/src/utils/installationManager.test.d.ts +6 -0
  636. package/dist/src/utils/installationManager.test.js +83 -0
  637. package/dist/src/utils/installationManager.test.js.map +1 -0
  638. package/dist/src/utils/language-detection.d.ts +6 -0
  639. package/dist/src/utils/language-detection.js +101 -0
  640. package/dist/src/utils/language-detection.js.map +1 -0
  641. package/dist/src/utils/llm-edit-fixer.d.ts +26 -0
  642. package/dist/src/utils/llm-edit-fixer.js +131 -0
  643. package/dist/src/utils/llm-edit-fixer.js.map +1 -0
  644. package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
  645. package/dist/src/utils/llm-edit-fixer.test.js +186 -0
  646. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
  647. package/dist/src/utils/memoryDiscovery.d.ts +7 -6
  648. package/dist/src/utils/memoryDiscovery.js +68 -33
  649. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  650. package/dist/src/utils/memoryDiscovery.test.js +88 -26
  651. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  652. package/dist/src/utils/memoryImportProcessor.js +15 -22
  653. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  654. package/dist/src/utils/memoryImportProcessor.test.js +16 -141
  655. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  656. package/dist/src/utils/messageInspectors.d.ts +1 -1
  657. package/dist/src/utils/nextSpeakerChecker.d.ts +3 -3
  658. package/dist/src/utils/nextSpeakerChecker.js +8 -2
  659. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  660. package/dist/src/utils/nextSpeakerChecker.test.js +75 -64
  661. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  662. package/dist/src/utils/partUtils.d.ts +22 -1
  663. package/dist/src/utils/partUtils.js +68 -0
  664. package/dist/src/utils/partUtils.js.map +1 -1
  665. package/dist/src/utils/partUtils.test.js +112 -1
  666. package/dist/src/utils/partUtils.test.js.map +1 -1
  667. package/dist/src/utils/pathReader.d.ts +17 -0
  668. package/dist/src/utils/pathReader.js +92 -0
  669. package/dist/src/utils/pathReader.js.map +1 -0
  670. package/dist/src/utils/pathReader.test.d.ts +6 -0
  671. package/dist/src/utils/pathReader.test.js +363 -0
  672. package/dist/src/utils/pathReader.test.js.map +1 -0
  673. package/dist/src/utils/paths.d.ts +0 -17
  674. package/dist/src/utils/paths.js +2 -28
  675. package/dist/src/utils/paths.js.map +1 -1
  676. package/dist/src/utils/promptIdContext.d.ts +7 -0
  677. package/dist/src/utils/promptIdContext.js +8 -0
  678. package/dist/src/utils/promptIdContext.js.map +1 -0
  679. package/dist/src/utils/quotaErrorDetection.d.ts +1 -1
  680. package/dist/src/utils/retry.d.ts +3 -1
  681. package/dist/src/utils/retry.js +20 -5
  682. package/dist/src/utils/retry.js.map +1 -1
  683. package/dist/src/utils/retry.test.js +35 -3
  684. package/dist/src/utils/retry.test.js.map +1 -1
  685. package/dist/src/utils/schemaValidator.js +15 -1
  686. package/dist/src/utils/schemaValidator.js.map +1 -1
  687. package/dist/src/utils/schemaValidator.test.d.ts +6 -0
  688. package/dist/src/utils/schemaValidator.test.js +113 -0
  689. package/dist/src/utils/schemaValidator.test.js.map +1 -0
  690. package/dist/src/utils/session.js +1 -1
  691. package/dist/src/utils/session.js.map +1 -1
  692. package/dist/src/utils/shell-utils.d.ts +6 -1
  693. package/dist/src/utils/shell-utils.js +51 -30
  694. package/dist/src/utils/shell-utils.js.map +1 -1
  695. package/dist/src/utils/shell-utils.test.js +9 -0
  696. package/dist/src/utils/shell-utils.test.js.map +1 -1
  697. package/dist/src/utils/summarizer.d.ts +2 -2
  698. package/dist/src/utils/summarizer.test.js.map +1 -1
  699. package/dist/src/utils/systemEncoding.js +2 -2
  700. package/dist/src/utils/systemEncoding.js.map +1 -1
  701. package/dist/src/utils/systemEncoding.test.js +2 -2
  702. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  703. package/dist/src/utils/terminalSerializer.d.ts +25 -0
  704. package/dist/src/utils/terminalSerializer.js +432 -0
  705. package/dist/src/utils/terminalSerializer.js.map +1 -0
  706. package/dist/src/utils/terminalSerializer.test.d.ts +6 -0
  707. package/dist/src/utils/terminalSerializer.test.js +176 -0
  708. package/dist/src/utils/terminalSerializer.test.js.map +1 -0
  709. package/dist/src/utils/textUtils.d.ts +5 -0
  710. package/dist/src/utils/textUtils.js +14 -0
  711. package/dist/src/utils/textUtils.js.map +1 -1
  712. package/dist/src/utils/textUtils.test.d.ts +6 -0
  713. package/dist/src/utils/textUtils.test.js +59 -0
  714. package/dist/src/utils/textUtils.test.js.map +1 -0
  715. package/dist/src/utils/thoughtUtils.d.ts +21 -0
  716. package/dist/src/utils/thoughtUtils.js +39 -0
  717. package/dist/src/utils/thoughtUtils.js.map +1 -0
  718. package/dist/src/utils/thoughtUtils.test.d.ts +6 -0
  719. package/dist/src/utils/thoughtUtils.test.js +78 -0
  720. package/dist/src/utils/thoughtUtils.test.js.map +1 -0
  721. package/dist/src/utils/tool-utils.d.ts +19 -0
  722. package/dist/src/utils/tool-utils.js +58 -0
  723. package/dist/src/utils/tool-utils.js.map +1 -0
  724. package/dist/src/utils/tool-utils.test.d.ts +6 -0
  725. package/dist/src/utils/tool-utils.test.js +61 -0
  726. package/dist/src/utils/tool-utils.test.js.map +1 -0
  727. package/dist/src/utils/userAccountManager.d.ts +20 -0
  728. package/dist/src/utils/userAccountManager.js +114 -0
  729. package/dist/src/utils/userAccountManager.js.map +1 -0
  730. package/dist/src/utils/userAccountManager.test.d.ts +6 -0
  731. package/dist/src/utils/{user_account.test.js → userAccountManager.test.js} +33 -30
  732. package/dist/src/utils/userAccountManager.test.js.map +1 -0
  733. package/dist/src/utils/workspaceContext.js +13 -7
  734. package/dist/src/utils/workspaceContext.js.map +1 -1
  735. package/dist/src/utils/workspaceContext.test.js +41 -16
  736. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  737. package/dist/tsconfig.tsbuildinfo +1 -1
  738. package/package.json +18 -9
  739. package/dist/src/core/modelCheck.d.ts +0 -14
  740. package/dist/src/core/modelCheck.js +0 -62
  741. package/dist/src/core/modelCheck.js.map +0 -1
  742. package/dist/src/test-utils/tools.d.ts +0 -44
  743. package/dist/src/test-utils/tools.js.map +0 -1
  744. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  745. package/dist/src/utils/user_account.d.ts +0 -9
  746. package/dist/src/utils/user_account.js +0 -109
  747. package/dist/src/utils/user_account.js.map +0 -1
  748. package/dist/src/utils/user_account.test.js.map +0 -1
  749. package/dist/src/utils/user_id.d.ts +0 -11
  750. package/dist/src/utils/user_id.js +0 -49
  751. package/dist/src/utils/user_id.js.map +0 -1
  752. package/dist/src/utils/user_id.test.js +0 -21
  753. package/dist/src/utils/user_id.test.js.map +0 -1
  754. /package/dist/src/{utils/flashFallback.integration.test.d.ts → agents/executor.test.d.ts} +0 -0
  755. /package/dist/src/{utils/user_account.test.d.ts → agents/invocation.test.d.ts} +0 -0
  756. /package/dist/src/{utils/user_id.test.d.ts → agents/registry.test.d.ts} +0 -0
@@ -3,28 +3,274 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { metrics, ValueType, } from '@opentelemetry/api';
7
- import { SERVICE_NAME, METRIC_TOOL_CALL_COUNT, METRIC_TOOL_CALL_LATENCY, METRIC_API_REQUEST_COUNT, METRIC_API_REQUEST_LATENCY, METRIC_TOKEN_USAGE, METRIC_SESSION_COUNT, METRIC_FILE_OPERATION_COUNT, EVENT_CHAT_COMPRESSION, } from './constants.js';
6
+ import { diag, metrics, ValueType } from '@opentelemetry/api';
7
+ import { SERVICE_NAME, EVENT_CHAT_COMPRESSION } from './constants.js';
8
+ const TOOL_CALL_COUNT = 'gemini_cli.tool.call.count';
9
+ const TOOL_CALL_LATENCY = 'gemini_cli.tool.call.latency';
10
+ const API_REQUEST_COUNT = 'gemini_cli.api.request.count';
11
+ const API_REQUEST_LATENCY = 'gemini_cli.api.request.latency';
12
+ const TOKEN_USAGE = 'gemini_cli.token.usage';
13
+ const SESSION_COUNT = 'gemini_cli.session.count';
14
+ const FILE_OPERATION_COUNT = 'gemini_cli.file.operation.count';
15
+ const INVALID_CHUNK_COUNT = 'gemini_cli.chat.invalid_chunk.count';
16
+ const CONTENT_RETRY_COUNT = 'gemini_cli.chat.content_retry.count';
17
+ const CONTENT_RETRY_FAILURE_COUNT = 'gemini_cli.chat.content_retry_failure.count';
18
+ const MODEL_ROUTING_LATENCY = 'gemini_cli.model_routing.latency';
19
+ const MODEL_ROUTING_FAILURE_COUNT = 'gemini_cli.model_routing.failure.count';
20
+ const MODEL_SLASH_COMMAND_CALL_COUNT = 'gemini_cli.slash_command.model.call_count';
21
+ // Performance Monitoring Metrics
22
+ const STARTUP_TIME = 'gemini_cli.startup.duration';
23
+ const MEMORY_USAGE = 'gemini_cli.memory.usage';
24
+ const CPU_USAGE = 'gemini_cli.cpu.usage';
25
+ const TOOL_QUEUE_DEPTH = 'gemini_cli.tool.queue.depth';
26
+ const TOOL_EXECUTION_BREAKDOWN = 'gemini_cli.tool.execution.breakdown';
27
+ const TOKEN_EFFICIENCY = 'gemini_cli.token.efficiency';
28
+ const API_REQUEST_BREAKDOWN = 'gemini_cli.api.request.breakdown';
29
+ const PERFORMANCE_SCORE = 'gemini_cli.performance.score';
30
+ const REGRESSION_DETECTION = 'gemini_cli.performance.regression';
31
+ const REGRESSION_PERCENTAGE_CHANGE = 'gemini_cli.performance.regression.percentage_change';
32
+ const BASELINE_COMPARISON = 'gemini_cli.performance.baseline.comparison';
33
+ const baseMetricDefinition = {
34
+ getCommonAttributes: (config) => ({
35
+ 'session.id': config.getSessionId(),
36
+ }),
37
+ };
38
+ const COUNTER_DEFINITIONS = {
39
+ [TOOL_CALL_COUNT]: {
40
+ description: 'Counts tool calls, tagged by function name and success.',
41
+ valueType: ValueType.INT,
42
+ assign: (c) => (toolCallCounter = c),
43
+ attributes: {},
44
+ },
45
+ [API_REQUEST_COUNT]: {
46
+ description: 'Counts API requests, tagged by model and status.',
47
+ valueType: ValueType.INT,
48
+ assign: (c) => (apiRequestCounter = c),
49
+ attributes: {},
50
+ },
51
+ [TOKEN_USAGE]: {
52
+ description: 'Counts the total number of tokens used.',
53
+ valueType: ValueType.INT,
54
+ assign: (c) => (tokenUsageCounter = c),
55
+ attributes: {},
56
+ },
57
+ [SESSION_COUNT]: {
58
+ description: 'Count of CLI sessions started.',
59
+ valueType: ValueType.INT,
60
+ assign: (c) => (sessionCounter = c),
61
+ attributes: {},
62
+ },
63
+ [FILE_OPERATION_COUNT]: {
64
+ description: 'Counts file operations (create, read, update).',
65
+ valueType: ValueType.INT,
66
+ assign: (c) => (fileOperationCounter = c),
67
+ attributes: {},
68
+ },
69
+ [INVALID_CHUNK_COUNT]: {
70
+ description: 'Counts invalid chunks received from a stream.',
71
+ valueType: ValueType.INT,
72
+ assign: (c) => (invalidChunkCounter = c),
73
+ attributes: {},
74
+ },
75
+ [CONTENT_RETRY_COUNT]: {
76
+ description: 'Counts retries due to content errors (e.g., empty stream).',
77
+ valueType: ValueType.INT,
78
+ assign: (c) => (contentRetryCounter = c),
79
+ attributes: {},
80
+ },
81
+ [CONTENT_RETRY_FAILURE_COUNT]: {
82
+ description: 'Counts occurrences of all content retries failing.',
83
+ valueType: ValueType.INT,
84
+ assign: (c) => (contentRetryFailureCounter = c),
85
+ attributes: {},
86
+ },
87
+ [MODEL_ROUTING_FAILURE_COUNT]: {
88
+ description: 'Counts model routing failures.',
89
+ valueType: ValueType.INT,
90
+ assign: (c) => (modelRoutingFailureCounter = c),
91
+ attributes: {},
92
+ },
93
+ [MODEL_SLASH_COMMAND_CALL_COUNT]: {
94
+ description: 'Counts model slash command calls.',
95
+ valueType: ValueType.INT,
96
+ assign: (c) => (modelSlashCommandCallCounter = c),
97
+ attributes: {},
98
+ },
99
+ [EVENT_CHAT_COMPRESSION]: {
100
+ description: 'Counts chat compression events.',
101
+ valueType: ValueType.INT,
102
+ assign: (c) => (chatCompressionCounter = c),
103
+ attributes: {},
104
+ },
105
+ };
106
+ const HISTOGRAM_DEFINITIONS = {
107
+ [TOOL_CALL_LATENCY]: {
108
+ description: 'Latency of tool calls in milliseconds.',
109
+ unit: 'ms',
110
+ valueType: ValueType.INT,
111
+ assign: (h) => (toolCallLatencyHistogram = h),
112
+ attributes: {},
113
+ },
114
+ [API_REQUEST_LATENCY]: {
115
+ description: 'Latency of API requests in milliseconds.',
116
+ unit: 'ms',
117
+ valueType: ValueType.INT,
118
+ assign: (h) => (apiRequestLatencyHistogram = h),
119
+ attributes: {},
120
+ },
121
+ [MODEL_ROUTING_LATENCY]: {
122
+ description: 'Latency of model routing decisions in milliseconds.',
123
+ unit: 'ms',
124
+ valueType: ValueType.INT,
125
+ assign: (h) => (modelRoutingLatencyHistogram = h),
126
+ attributes: {},
127
+ },
128
+ };
129
+ const PERFORMANCE_COUNTER_DEFINITIONS = {
130
+ [REGRESSION_DETECTION]: {
131
+ description: 'Performance regression detection events.',
132
+ valueType: ValueType.INT,
133
+ assign: (c) => (regressionDetectionCounter = c),
134
+ attributes: {},
135
+ },
136
+ };
137
+ const PERFORMANCE_HISTOGRAM_DEFINITIONS = {
138
+ [STARTUP_TIME]: {
139
+ description: 'CLI startup time in milliseconds, broken down by initialization phase.',
140
+ unit: 'ms',
141
+ valueType: ValueType.DOUBLE,
142
+ assign: (h) => (startupTimeHistogram = h),
143
+ attributes: {},
144
+ },
145
+ [MEMORY_USAGE]: {
146
+ description: 'Memory usage in bytes.',
147
+ unit: 'bytes',
148
+ valueType: ValueType.INT,
149
+ assign: (h) => (memoryUsageGauge = h),
150
+ attributes: {},
151
+ },
152
+ [CPU_USAGE]: {
153
+ description: 'CPU usage percentage.',
154
+ unit: 'percent',
155
+ valueType: ValueType.DOUBLE,
156
+ assign: (h) => (cpuUsageGauge = h),
157
+ attributes: {},
158
+ },
159
+ [TOOL_QUEUE_DEPTH]: {
160
+ description: 'Number of tools in execution queue.',
161
+ unit: 'count',
162
+ valueType: ValueType.INT,
163
+ assign: (h) => (toolQueueDepthGauge = h),
164
+ attributes: {},
165
+ },
166
+ [TOOL_EXECUTION_BREAKDOWN]: {
167
+ description: 'Tool execution time breakdown by phase in milliseconds.',
168
+ unit: 'ms',
169
+ valueType: ValueType.INT,
170
+ assign: (h) => (toolExecutionBreakdownHistogram = h),
171
+ attributes: {},
172
+ },
173
+ [TOKEN_EFFICIENCY]: {
174
+ description: 'Token efficiency metrics (tokens per operation, cache hit rate, etc.).',
175
+ unit: 'ratio',
176
+ valueType: ValueType.DOUBLE,
177
+ assign: (h) => (tokenEfficiencyHistogram = h),
178
+ attributes: {},
179
+ },
180
+ [API_REQUEST_BREAKDOWN]: {
181
+ description: 'API request time breakdown by phase in milliseconds.',
182
+ unit: 'ms',
183
+ valueType: ValueType.INT,
184
+ assign: (h) => (apiRequestBreakdownHistogram = h),
185
+ attributes: {},
186
+ },
187
+ [PERFORMANCE_SCORE]: {
188
+ description: 'Composite performance score (0-100).',
189
+ unit: 'score',
190
+ valueType: ValueType.DOUBLE,
191
+ assign: (h) => (performanceScoreGauge = h),
192
+ attributes: {},
193
+ },
194
+ [REGRESSION_PERCENTAGE_CHANGE]: {
195
+ description: 'Percentage change compared to baseline for detected regressions.',
196
+ unit: 'percent',
197
+ valueType: ValueType.DOUBLE,
198
+ assign: (h) => (regressionPercentageChangeHistogram = h),
199
+ attributes: {},
200
+ },
201
+ [BASELINE_COMPARISON]: {
202
+ description: 'Performance comparison to established baseline (percentage change).',
203
+ unit: 'percent',
204
+ valueType: ValueType.DOUBLE,
205
+ assign: (h) => (baselineComparisonHistogram = h),
206
+ attributes: {},
207
+ },
208
+ };
8
209
  export var FileOperation;
9
210
  (function (FileOperation) {
10
211
  FileOperation["CREATE"] = "create";
11
212
  FileOperation["READ"] = "read";
12
213
  FileOperation["UPDATE"] = "update";
13
214
  })(FileOperation || (FileOperation = {}));
215
+ export var PerformanceMetricType;
216
+ (function (PerformanceMetricType) {
217
+ PerformanceMetricType["STARTUP"] = "startup";
218
+ PerformanceMetricType["MEMORY"] = "memory";
219
+ PerformanceMetricType["CPU"] = "cpu";
220
+ PerformanceMetricType["TOOL_EXECUTION"] = "tool_execution";
221
+ PerformanceMetricType["API_REQUEST"] = "api_request";
222
+ PerformanceMetricType["TOKEN_EFFICIENCY"] = "token_efficiency";
223
+ })(PerformanceMetricType || (PerformanceMetricType = {}));
224
+ export var MemoryMetricType;
225
+ (function (MemoryMetricType) {
226
+ MemoryMetricType["HEAP_USED"] = "heap_used";
227
+ MemoryMetricType["HEAP_TOTAL"] = "heap_total";
228
+ MemoryMetricType["EXTERNAL"] = "external";
229
+ MemoryMetricType["RSS"] = "rss";
230
+ })(MemoryMetricType || (MemoryMetricType = {}));
231
+ export var ToolExecutionPhase;
232
+ (function (ToolExecutionPhase) {
233
+ ToolExecutionPhase["VALIDATION"] = "validation";
234
+ ToolExecutionPhase["PREPARATION"] = "preparation";
235
+ ToolExecutionPhase["EXECUTION"] = "execution";
236
+ ToolExecutionPhase["RESULT_PROCESSING"] = "result_processing";
237
+ })(ToolExecutionPhase || (ToolExecutionPhase = {}));
238
+ export var ApiRequestPhase;
239
+ (function (ApiRequestPhase) {
240
+ ApiRequestPhase["REQUEST_PREPARATION"] = "request_preparation";
241
+ ApiRequestPhase["NETWORK_LATENCY"] = "network_latency";
242
+ ApiRequestPhase["RESPONSE_PROCESSING"] = "response_processing";
243
+ ApiRequestPhase["TOKEN_PROCESSING"] = "token_processing";
244
+ })(ApiRequestPhase || (ApiRequestPhase = {}));
14
245
  let cliMeter;
15
246
  let toolCallCounter;
16
247
  let toolCallLatencyHistogram;
17
248
  let apiRequestCounter;
18
249
  let apiRequestLatencyHistogram;
19
250
  let tokenUsageCounter;
251
+ let sessionCounter;
20
252
  let fileOperationCounter;
21
253
  let chatCompressionCounter;
254
+ let invalidChunkCounter;
255
+ let contentRetryCounter;
256
+ let contentRetryFailureCounter;
257
+ let modelRoutingLatencyHistogram;
258
+ let modelRoutingFailureCounter;
259
+ let modelSlashCommandCallCounter;
260
+ // Performance Monitoring Metrics
261
+ let startupTimeHistogram;
262
+ let memoryUsageGauge; // Using Histogram until ObservableGauge is available
263
+ let cpuUsageGauge;
264
+ let toolQueueDepthGauge;
265
+ let toolExecutionBreakdownHistogram;
266
+ let tokenEfficiencyHistogram;
267
+ let apiRequestBreakdownHistogram;
268
+ let performanceScoreGauge;
269
+ let regressionDetectionCounter;
270
+ let regressionPercentageChangeHistogram;
271
+ let baselineComparisonHistogram;
22
272
  let isMetricsInitialized = false;
23
- function getCommonAttributes(config) {
24
- return {
25
- 'session.id': config.getSessionId(),
26
- };
27
- }
273
+ let isPerformanceMonitoringEnabled = false;
28
274
  export function getMeter() {
29
275
  if (!cliMeter) {
30
276
  cliMeter = metrics.getMeter(SERVICE_NAME);
@@ -37,128 +283,263 @@ export function initializeMetrics(config) {
37
283
  const meter = getMeter();
38
284
  if (!meter)
39
285
  return;
40
- toolCallCounter = meter.createCounter(METRIC_TOOL_CALL_COUNT, {
41
- description: 'Counts tool calls, tagged by function name and success.',
42
- valueType: ValueType.INT,
43
- });
44
- toolCallLatencyHistogram = meter.createHistogram(METRIC_TOOL_CALL_LATENCY, {
45
- description: 'Latency of tool calls in milliseconds.',
46
- unit: 'ms',
47
- valueType: ValueType.INT,
48
- });
49
- apiRequestCounter = meter.createCounter(METRIC_API_REQUEST_COUNT, {
50
- description: 'Counts API requests, tagged by model and status.',
51
- valueType: ValueType.INT,
52
- });
53
- apiRequestLatencyHistogram = meter.createHistogram(METRIC_API_REQUEST_LATENCY, {
54
- description: 'Latency of API requests in milliseconds.',
55
- unit: 'ms',
56
- valueType: ValueType.INT,
57
- });
58
- tokenUsageCounter = meter.createCounter(METRIC_TOKEN_USAGE, {
59
- description: 'Counts the total number of tokens used.',
60
- valueType: ValueType.INT,
61
- });
62
- fileOperationCounter = meter.createCounter(METRIC_FILE_OPERATION_COUNT, {
63
- description: 'Counts file operations (create, read, update).',
64
- valueType: ValueType.INT,
65
- });
66
- chatCompressionCounter = meter.createCounter(EVENT_CHAT_COMPRESSION, {
67
- description: 'Counts chat compression events.',
68
- valueType: ValueType.INT,
286
+ // Initialize core metrics
287
+ Object.entries(COUNTER_DEFINITIONS).forEach(([name, { description, valueType, assign }]) => {
288
+ assign(meter.createCounter(name, { description, valueType }));
69
289
  });
70
- const sessionCounter = meter.createCounter(METRIC_SESSION_COUNT, {
71
- description: 'Count of CLI sessions started.',
72
- valueType: ValueType.INT,
290
+ Object.entries(HISTOGRAM_DEFINITIONS).forEach(([name, { description, unit, valueType, assign }]) => {
291
+ assign(meter.createHistogram(name, { description, unit, valueType }));
73
292
  });
74
- sessionCounter.add(1, getCommonAttributes(config));
293
+ // Increment session counter after all metrics are initialized
294
+ sessionCounter?.add(1, baseMetricDefinition.getCommonAttributes(config));
295
+ // Initialize performance monitoring metrics if enabled
296
+ initializePerformanceMonitoring(config);
75
297
  isMetricsInitialized = true;
76
298
  }
77
- export function recordChatCompressionMetrics(config, args) {
299
+ export function recordChatCompressionMetrics(config, attributes) {
78
300
  if (!chatCompressionCounter || !isMetricsInitialized)
79
301
  return;
80
302
  chatCompressionCounter.add(1, {
81
- ...getCommonAttributes(config),
82
- ...args,
303
+ ...baseMetricDefinition.getCommonAttributes(config),
304
+ ...attributes,
83
305
  });
84
306
  }
85
- export function recordToolCallMetrics(config, functionName, durationMs, success, decision, tool_type) {
307
+ export function recordToolCallMetrics(config, durationMs, attributes) {
86
308
  if (!toolCallCounter || !toolCallLatencyHistogram || !isMetricsInitialized)
87
309
  return;
88
310
  const metricAttributes = {
89
- ...getCommonAttributes(config),
90
- function_name: functionName,
91
- success,
92
- decision,
93
- tool_type,
311
+ ...baseMetricDefinition.getCommonAttributes(config),
312
+ ...attributes,
94
313
  };
95
314
  toolCallCounter.add(1, metricAttributes);
96
315
  toolCallLatencyHistogram.record(durationMs, {
97
- ...getCommonAttributes(config),
98
- function_name: functionName,
316
+ ...baseMetricDefinition.getCommonAttributes(config),
317
+ function_name: attributes.function_name,
99
318
  });
100
319
  }
101
- export function recordTokenUsageMetrics(config, model, tokenCount, type) {
320
+ export function recordTokenUsageMetrics(config, tokenCount, attributes) {
102
321
  if (!tokenUsageCounter || !isMetricsInitialized)
103
322
  return;
104
323
  tokenUsageCounter.add(tokenCount, {
105
- ...getCommonAttributes(config),
106
- model,
107
- type,
324
+ ...baseMetricDefinition.getCommonAttributes(config),
325
+ ...attributes,
108
326
  });
109
327
  }
110
- export function recordApiResponseMetrics(config, model, durationMs, statusCode, error) {
328
+ export function recordApiResponseMetrics(config, durationMs, attributes) {
111
329
  if (!apiRequestCounter ||
112
330
  !apiRequestLatencyHistogram ||
113
331
  !isMetricsInitialized)
114
332
  return;
115
333
  const metricAttributes = {
116
- ...getCommonAttributes(config),
117
- model,
118
- status_code: statusCode ?? (error ? 'error' : 'ok'),
334
+ ...baseMetricDefinition.getCommonAttributes(config),
335
+ model: attributes.model,
336
+ status_code: attributes.status_code ?? 'ok',
119
337
  };
120
338
  apiRequestCounter.add(1, metricAttributes);
121
339
  apiRequestLatencyHistogram.record(durationMs, {
122
- ...getCommonAttributes(config),
123
- model,
340
+ ...baseMetricDefinition.getCommonAttributes(config),
341
+ model: attributes.model,
124
342
  });
125
343
  }
126
- export function recordApiErrorMetrics(config, model, durationMs, statusCode, errorType) {
344
+ export function recordApiErrorMetrics(config, durationMs, attributes) {
127
345
  if (!apiRequestCounter ||
128
346
  !apiRequestLatencyHistogram ||
129
347
  !isMetricsInitialized)
130
348
  return;
131
349
  const metricAttributes = {
132
- ...getCommonAttributes(config),
133
- model,
134
- status_code: statusCode ?? 'error',
135
- error_type: errorType ?? 'unknown',
350
+ ...baseMetricDefinition.getCommonAttributes(config),
351
+ model: attributes.model,
352
+ status_code: attributes.status_code ?? 'error',
353
+ error_type: attributes.error_type ?? 'unknown',
136
354
  };
137
355
  apiRequestCounter.add(1, metricAttributes);
138
356
  apiRequestLatencyHistogram.record(durationMs, {
139
- ...getCommonAttributes(config),
140
- model,
357
+ ...baseMetricDefinition.getCommonAttributes(config),
358
+ model: attributes.model,
141
359
  });
142
360
  }
143
- export function recordFileOperationMetric(config, operation, lines, mimetype, extension, diffStat) {
361
+ export function recordFileOperationMetric(config, attributes) {
144
362
  if (!fileOperationCounter || !isMetricsInitialized)
145
363
  return;
364
+ fileOperationCounter.add(1, {
365
+ ...baseMetricDefinition.getCommonAttributes(config),
366
+ ...attributes,
367
+ });
368
+ }
369
+ // --- New Metric Recording Functions ---
370
+ /**
371
+ * Records a metric for when an invalid chunk is received from a stream.
372
+ */
373
+ export function recordInvalidChunk(config) {
374
+ if (!invalidChunkCounter || !isMetricsInitialized)
375
+ return;
376
+ invalidChunkCounter.add(1, baseMetricDefinition.getCommonAttributes(config));
377
+ }
378
+ /**
379
+ * Records a metric for when a retry is triggered due to a content error.
380
+ */
381
+ export function recordContentRetry(config) {
382
+ if (!contentRetryCounter || !isMetricsInitialized)
383
+ return;
384
+ contentRetryCounter.add(1, baseMetricDefinition.getCommonAttributes(config));
385
+ }
386
+ /**
387
+ * Records a metric for when all content error retries have failed for a request.
388
+ */
389
+ export function recordContentRetryFailure(config) {
390
+ if (!contentRetryFailureCounter || !isMetricsInitialized)
391
+ return;
392
+ contentRetryFailureCounter.add(1, baseMetricDefinition.getCommonAttributes(config));
393
+ }
394
+ export function recordModelSlashCommand(config, event) {
395
+ if (!modelSlashCommandCallCounter || !isMetricsInitialized)
396
+ return;
397
+ modelSlashCommandCallCounter.add(1, {
398
+ ...baseMetricDefinition.getCommonAttributes(config),
399
+ 'slash_command.model.model_name': event.model_name,
400
+ });
401
+ }
402
+ export function recordModelRoutingMetrics(config, event) {
403
+ if (!modelRoutingLatencyHistogram ||
404
+ !modelRoutingFailureCounter ||
405
+ !isMetricsInitialized)
406
+ return;
407
+ modelRoutingLatencyHistogram.record(event.routing_latency_ms, {
408
+ ...baseMetricDefinition.getCommonAttributes(config),
409
+ 'routing.decision_model': event.decision_model,
410
+ 'routing.decision_source': event.decision_source,
411
+ });
412
+ if (event.failed) {
413
+ modelRoutingFailureCounter.add(1, {
414
+ ...baseMetricDefinition.getCommonAttributes(config),
415
+ 'routing.decision_source': event.decision_source,
416
+ 'routing.error_message': event.error_message,
417
+ });
418
+ }
419
+ }
420
+ // Performance Monitoring Functions
421
+ export function initializePerformanceMonitoring(config) {
422
+ const meter = getMeter();
423
+ if (!meter)
424
+ return;
425
+ // Check if performance monitoring is enabled in config
426
+ // For now, enable performance monitoring when telemetry is enabled
427
+ // TODO: Add specific performance monitoring settings to config
428
+ isPerformanceMonitoringEnabled = config.getTelemetryEnabled();
429
+ if (!isPerformanceMonitoringEnabled)
430
+ return;
431
+ Object.entries(PERFORMANCE_COUNTER_DEFINITIONS).forEach(([name, { description, valueType, assign }]) => {
432
+ assign(meter.createCounter(name, { description, valueType }));
433
+ });
434
+ Object.entries(PERFORMANCE_HISTOGRAM_DEFINITIONS).forEach(([name, { description, unit, valueType, assign }]) => {
435
+ assign(meter.createHistogram(name, { description, unit, valueType }));
436
+ });
437
+ }
438
+ export function recordStartupPerformance(config, durationMs, attributes) {
439
+ if (!startupTimeHistogram || !isPerformanceMonitoringEnabled)
440
+ return;
441
+ const metricAttributes = {
442
+ ...baseMetricDefinition.getCommonAttributes(config),
443
+ phase: attributes.phase,
444
+ ...attributes.details,
445
+ };
446
+ startupTimeHistogram.record(durationMs, metricAttributes);
447
+ }
448
+ export function recordMemoryUsage(config, bytes, attributes) {
449
+ if (!memoryUsageGauge || !isPerformanceMonitoringEnabled)
450
+ return;
451
+ const metricAttributes = {
452
+ ...baseMetricDefinition.getCommonAttributes(config),
453
+ ...attributes,
454
+ };
455
+ memoryUsageGauge.record(bytes, metricAttributes);
456
+ }
457
+ export function recordCpuUsage(config, percentage, attributes) {
458
+ if (!cpuUsageGauge || !isPerformanceMonitoringEnabled)
459
+ return;
460
+ const metricAttributes = {
461
+ ...baseMetricDefinition.getCommonAttributes(config),
462
+ ...attributes,
463
+ };
464
+ cpuUsageGauge.record(percentage, metricAttributes);
465
+ }
466
+ export function recordToolQueueDepth(config, queueDepth) {
467
+ if (!toolQueueDepthGauge || !isPerformanceMonitoringEnabled)
468
+ return;
146
469
  const attributes = {
147
- ...getCommonAttributes(config),
148
- operation,
470
+ ...baseMetricDefinition.getCommonAttributes(config),
471
+ };
472
+ toolQueueDepthGauge.record(queueDepth, attributes);
473
+ }
474
+ export function recordToolExecutionBreakdown(config, durationMs, attributes) {
475
+ if (!toolExecutionBreakdownHistogram || !isPerformanceMonitoringEnabled)
476
+ return;
477
+ const metricAttributes = {
478
+ ...baseMetricDefinition.getCommonAttributes(config),
479
+ ...attributes,
480
+ };
481
+ toolExecutionBreakdownHistogram.record(durationMs, metricAttributes);
482
+ }
483
+ export function recordTokenEfficiency(config, value, attributes) {
484
+ if (!tokenEfficiencyHistogram || !isPerformanceMonitoringEnabled)
485
+ return;
486
+ const metricAttributes = {
487
+ ...baseMetricDefinition.getCommonAttributes(config),
488
+ ...attributes,
489
+ };
490
+ tokenEfficiencyHistogram.record(value, metricAttributes);
491
+ }
492
+ export function recordApiRequestBreakdown(config, durationMs, attributes) {
493
+ if (!apiRequestBreakdownHistogram || !isPerformanceMonitoringEnabled)
494
+ return;
495
+ const metricAttributes = {
496
+ ...baseMetricDefinition.getCommonAttributes(config),
497
+ ...attributes,
498
+ };
499
+ apiRequestBreakdownHistogram.record(durationMs, metricAttributes);
500
+ }
501
+ export function recordPerformanceScore(config, score, attributes) {
502
+ if (!performanceScoreGauge || !isPerformanceMonitoringEnabled)
503
+ return;
504
+ const metricAttributes = {
505
+ ...baseMetricDefinition.getCommonAttributes(config),
506
+ ...attributes,
507
+ };
508
+ performanceScoreGauge.record(score, metricAttributes);
509
+ }
510
+ export function recordPerformanceRegression(config, attributes) {
511
+ if (!regressionDetectionCounter || !isPerformanceMonitoringEnabled)
512
+ return;
513
+ const metricAttributes = {
514
+ ...baseMetricDefinition.getCommonAttributes(config),
515
+ ...attributes,
149
516
  };
150
- if (lines !== undefined)
151
- attributes['lines'] = lines;
152
- if (mimetype !== undefined)
153
- attributes['mimetype'] = mimetype;
154
- if (extension !== undefined)
155
- attributes['extension'] = extension;
156
- if (diffStat !== undefined) {
157
- attributes['ai_added_lines'] = diffStat.ai_added_lines;
158
- attributes['ai_removed_lines'] = diffStat.ai_removed_lines;
159
- attributes['user_added_lines'] = diffStat.user_added_lines;
160
- attributes['user_removed_lines'] = diffStat.user_removed_lines;
517
+ regressionDetectionCounter.add(1, metricAttributes);
518
+ if (attributes.baseline_value !== 0 && regressionPercentageChangeHistogram) {
519
+ const percentageChange = ((attributes.current_value - attributes.baseline_value) /
520
+ attributes.baseline_value) *
521
+ 100;
522
+ regressionPercentageChangeHistogram.record(percentageChange, metricAttributes);
523
+ }
524
+ }
525
+ export function recordBaselineComparison(config, attributes) {
526
+ if (!baselineComparisonHistogram || !isPerformanceMonitoringEnabled)
527
+ return;
528
+ if (attributes.baseline_value === 0) {
529
+ diag.warn('Baseline value is zero, skipping comparison.');
530
+ return;
161
531
  }
162
- fileOperationCounter.add(1, attributes);
532
+ const percentageChange = ((attributes.current_value - attributes.baseline_value) /
533
+ attributes.baseline_value) *
534
+ 100;
535
+ const metricAttributes = {
536
+ ...baseMetricDefinition.getCommonAttributes(config),
537
+ ...attributes,
538
+ };
539
+ baselineComparisonHistogram.record(percentageChange, metricAttributes);
540
+ }
541
+ // Utility function to check if performance monitoring is enabled
542
+ export function isPerformanceMonitoringActive() {
543
+ return isPerformanceMonitoringEnabled && isMetricsInitialized;
163
544
  }
164
545
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}