@office-ai/aioncli-core 0.8.1 → 0.18.5

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 (778) hide show
  1. package/dist/index.d.ts +8 -2
  2. package/dist/index.js +7 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/agents/codebase-investigator.d.ts +36 -1
  5. package/dist/src/agents/codebase-investigator.js +93 -34
  6. package/dist/src/agents/codebase-investigator.js.map +1 -1
  7. package/dist/src/agents/codebase-investigator.test.d.ts +6 -0
  8. package/dist/src/agents/codebase-investigator.test.js +35 -0
  9. package/dist/src/agents/codebase-investigator.test.js.map +1 -0
  10. package/dist/src/agents/executor.d.ts +37 -11
  11. package/dist/src/agents/executor.js +512 -150
  12. package/dist/src/agents/executor.js.map +1 -1
  13. package/dist/src/agents/executor.test.js +1188 -245
  14. package/dist/src/agents/executor.test.js.map +1 -1
  15. package/dist/src/agents/invocation.d.ts +5 -2
  16. package/dist/src/agents/invocation.js +4 -2
  17. package/dist/src/agents/invocation.js.map +1 -1
  18. package/dist/src/agents/invocation.test.js +9 -0
  19. package/dist/src/agents/invocation.test.js.map +1 -1
  20. package/dist/src/agents/registry.d.ts +6 -1
  21. package/dist/src/agents/registry.js +51 -4
  22. package/dist/src/agents/registry.js.map +1 -1
  23. package/dist/src/agents/registry.test.js +30 -16
  24. package/dist/src/agents/registry.test.js.map +1 -1
  25. package/dist/src/agents/subagent-tool-wrapper.d.ts +3 -1
  26. package/dist/src/agents/subagent-tool-wrapper.js +4 -3
  27. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  28. package/dist/src/agents/subagent-tool-wrapper.test.js +9 -4
  29. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  30. package/dist/src/agents/types.d.ts +37 -7
  31. package/dist/src/agents/types.js +2 -0
  32. package/dist/src/agents/types.js.map +1 -1
  33. package/dist/src/code_assist/codeAssist.js +1 -1
  34. package/dist/src/code_assist/codeAssist.test.d.ts +6 -0
  35. package/dist/src/code_assist/codeAssist.test.js +99 -0
  36. package/dist/src/code_assist/codeAssist.test.js.map +1 -0
  37. package/dist/src/code_assist/converter.d.ts +1 -0
  38. package/dist/src/code_assist/converter.js +1 -0
  39. package/dist/src/code_assist/converter.js.map +1 -1
  40. package/dist/src/code_assist/converter.test.js +19 -0
  41. package/dist/src/code_assist/converter.test.js.map +1 -1
  42. package/dist/src/code_assist/experiments/client_metadata.d.ts +12 -0
  43. package/dist/src/code_assist/experiments/client_metadata.js +50 -0
  44. package/dist/src/code_assist/experiments/client_metadata.js.map +1 -0
  45. package/dist/src/code_assist/experiments/client_metadata.test.d.ts +6 -0
  46. package/dist/src/code_assist/experiments/client_metadata.test.js +99 -0
  47. package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -0
  48. package/dist/src/code_assist/experiments/experiments.d.ts +17 -0
  49. package/dist/src/code_assist/experiments/experiments.js +36 -0
  50. package/dist/src/code_assist/experiments/experiments.js.map +1 -0
  51. package/dist/src/code_assist/experiments/experiments.test.d.ts +6 -0
  52. package/dist/src/code_assist/experiments/experiments.test.js +92 -0
  53. package/dist/src/code_assist/experiments/experiments.test.js.map +1 -0
  54. package/dist/src/code_assist/experiments/flagNames.d.ts +13 -0
  55. package/dist/src/code_assist/experiments/flagNames.js +13 -0
  56. package/dist/src/code_assist/experiments/flagNames.js.map +1 -0
  57. package/dist/src/code_assist/experiments/types.d.ts +35 -0
  58. package/dist/src/code_assist/experiments/types.js +7 -0
  59. package/dist/src/code_assist/experiments/types.js.map +1 -0
  60. package/dist/src/code_assist/oauth-credential-storage.js +6 -5
  61. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  62. package/dist/src/code_assist/oauth-credential-storage.test.js +65 -3
  63. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  64. package/dist/src/code_assist/oauth2.d.ts +2 -2
  65. package/dist/src/code_assist/oauth2.js +161 -93
  66. package/dist/src/code_assist/oauth2.js.map +1 -1
  67. package/dist/src/code_assist/oauth2.test.js +103 -57
  68. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  69. package/dist/src/code_assist/server.d.ts +6 -4
  70. package/dist/src/code_assist/server.js +16 -8
  71. package/dist/src/code_assist/server.js.map +1 -1
  72. package/dist/src/code_assist/server.test.js +126 -28
  73. package/dist/src/code_assist/server.test.js.map +1 -1
  74. package/dist/src/code_assist/setup.d.ts +2 -2
  75. package/dist/src/code_assist/setup.js +4 -2
  76. package/dist/src/code_assist/setup.js.map +1 -1
  77. package/dist/src/code_assist/types.d.ts +1 -1
  78. package/dist/src/code_assist/types.js.map +1 -1
  79. package/dist/src/commands/extensions.d.ts +7 -0
  80. package/dist/src/commands/extensions.js +9 -0
  81. package/dist/src/commands/extensions.js.map +1 -0
  82. package/dist/src/commands/extensions.test.d.ts +6 -0
  83. package/dist/src/commands/extensions.test.js +19 -0
  84. package/dist/src/commands/extensions.test.js.map +1 -0
  85. package/dist/src/config/config.d.ts +169 -43
  86. package/dist/src/config/config.js +418 -79
  87. package/dist/src/config/config.js.map +1 -1
  88. package/dist/src/config/config.test.js +684 -49
  89. package/dist/src/config/config.test.js.map +1 -1
  90. package/dist/src/config/defaultModelConfigs.d.ts +7 -0
  91. package/dist/src/config/defaultModelConfigs.js +185 -0
  92. package/dist/src/config/defaultModelConfigs.js.map +1 -0
  93. package/dist/src/config/models.d.ts +23 -2
  94. package/dist/src/config/models.js +50 -7
  95. package/dist/src/config/models.js.map +1 -1
  96. package/dist/src/config/models.test.js +71 -10
  97. package/dist/src/config/models.test.js.map +1 -1
  98. package/dist/src/config/storage.d.ts +3 -1
  99. package/dist/src/config/storage.js +22 -2
  100. package/dist/src/config/storage.js.map +1 -1
  101. package/dist/src/config/storage.test.js +7 -6
  102. package/dist/src/config/storage.test.js.map +1 -1
  103. package/dist/src/confirmation-bus/message-bus.d.ts +3 -2
  104. package/dist/src/confirmation-bus/message-bus.js +9 -3
  105. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  106. package/dist/src/confirmation-bus/message-bus.test.js +30 -24
  107. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  108. package/dist/src/confirmation-bus/types.d.ts +13 -2
  109. package/dist/src/confirmation-bus/types.js +1 -0
  110. package/dist/src/confirmation-bus/types.js.map +1 -1
  111. package/dist/src/core/apiKeyCredentialStorage.d.ts +17 -0
  112. package/dist/src/core/apiKeyCredentialStorage.js +64 -0
  113. package/dist/src/core/apiKeyCredentialStorage.js.map +1 -0
  114. package/dist/src/core/apiKeyCredentialStorage.test.d.ts +6 -0
  115. package/dist/src/core/apiKeyCredentialStorage.test.js +71 -0
  116. package/dist/src/core/apiKeyCredentialStorage.test.js.map +1 -0
  117. package/dist/src/core/baseLlmClient.d.ts +4 -8
  118. package/dist/src/core/baseLlmClient.js +6 -11
  119. package/dist/src/core/baseLlmClient.js.map +1 -1
  120. package/dist/src/core/baseLlmClient.test.js +22 -27
  121. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  122. package/dist/src/core/client.d.ts +12 -19
  123. package/dist/src/core/client.js +104 -206
  124. package/dist/src/core/client.js.map +1 -1
  125. package/dist/src/core/client.test.js +329 -452
  126. package/dist/src/core/client.test.js.map +1 -1
  127. package/dist/src/core/contentGenerator.d.ts +3 -2
  128. package/dist/src/core/contentGenerator.js +56 -41
  129. package/dist/src/core/contentGenerator.js.map +1 -1
  130. package/dist/src/core/contentGenerator.test.js +49 -1
  131. package/dist/src/core/contentGenerator.test.js.map +1 -1
  132. package/dist/src/core/coreToolScheduler.d.ts +8 -4
  133. package/dist/src/core/coreToolScheduler.js +348 -179
  134. package/dist/src/core/coreToolScheduler.js.map +1 -1
  135. package/dist/src/core/coreToolScheduler.test.js +575 -219
  136. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  137. package/dist/src/core/fakeContentGenerator.d.ts +33 -0
  138. package/dist/src/core/fakeContentGenerator.js +58 -0
  139. package/dist/src/core/fakeContentGenerator.js.map +1 -0
  140. package/dist/src/core/fakeContentGenerator.test.d.ts +6 -0
  141. package/dist/src/core/fakeContentGenerator.test.js +127 -0
  142. package/dist/src/core/fakeContentGenerator.test.js.map +1 -0
  143. package/dist/src/core/geminiChat.d.ts +23 -18
  144. package/dist/src/core/geminiChat.js +186 -108
  145. package/dist/src/core/geminiChat.js.map +1 -1
  146. package/dist/src/core/geminiChat.test.js +581 -270
  147. package/dist/src/core/geminiChat.test.js.map +1 -1
  148. package/dist/src/core/logger.d.ts +7 -2
  149. package/dist/src/core/logger.js +35 -27
  150. package/dist/src/core/logger.js.map +1 -1
  151. package/dist/src/core/logger.test.js +45 -29
  152. package/dist/src/core/logger.test.js.map +1 -1
  153. package/dist/src/core/loggingContentGenerator.d.ts +1 -0
  154. package/dist/src/core/loggingContentGenerator.js +113 -33
  155. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  156. package/dist/src/core/loggingContentGenerator.test.d.ts +6 -0
  157. package/dist/src/core/loggingContentGenerator.test.js +180 -0
  158. package/dist/src/core/loggingContentGenerator.test.js.map +1 -0
  159. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
  160. package/dist/src/core/nonInteractiveToolExecutor.js +12 -7
  161. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  162. package/dist/src/core/nonInteractiveToolExecutor.test.js +12 -8
  163. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  164. package/dist/src/core/openaiContentGenerator.d.ts +15 -1
  165. package/dist/src/core/openaiContentGenerator.js +139 -22
  166. package/dist/src/core/openaiContentGenerator.js.map +1 -1
  167. package/dist/src/core/prompts.d.ts +2 -1
  168. package/dist/src/core/prompts.js +135 -154
  169. package/dist/src/core/prompts.js.map +1 -1
  170. package/dist/src/core/prompts.test.js +128 -189
  171. package/dist/src/core/prompts.test.js.map +1 -1
  172. package/dist/src/core/recordingContentGenerator.d.ts +18 -0
  173. package/dist/src/core/recordingContentGenerator.js +77 -0
  174. package/dist/src/core/recordingContentGenerator.js.map +1 -0
  175. package/dist/src/core/recordingContentGenerator.test.d.ts +6 -0
  176. package/dist/src/core/recordingContentGenerator.test.js +101 -0
  177. package/dist/src/core/recordingContentGenerator.test.js.map +1 -0
  178. package/dist/src/core/tokenLimits.test.d.ts +6 -0
  179. package/dist/src/core/tokenLimits.test.js +26 -0
  180. package/dist/src/core/tokenLimits.test.js.map +1 -0
  181. package/dist/src/core/turn.d.ts +23 -3
  182. package/dist/src/core/turn.js +18 -9
  183. package/dist/src/core/turn.js.map +1 -1
  184. package/dist/src/core/turn.test.js +98 -104
  185. package/dist/src/core/turn.test.js.map +1 -1
  186. package/dist/src/fallback/handler.js +60 -8
  187. package/dist/src/fallback/handler.js.map +1 -1
  188. package/dist/src/fallback/handler.test.js +132 -17
  189. package/dist/src/fallback/handler.test.js.map +1 -1
  190. package/dist/src/fallback/types.d.ts +1 -1
  191. package/dist/src/generated/git-commit.d.ts +2 -2
  192. package/dist/src/generated/git-commit.js +2 -2
  193. package/dist/src/generated/git-commit.js.map +1 -1
  194. package/dist/src/hooks/hookAggregator.d.ts +68 -0
  195. package/dist/src/hooks/hookAggregator.js +262 -0
  196. package/dist/src/hooks/hookAggregator.js.map +1 -0
  197. package/dist/src/hooks/hookAggregator.test.d.ts +6 -0
  198. package/dist/src/hooks/hookAggregator.test.js +387 -0
  199. package/dist/src/hooks/hookAggregator.test.js.map +1 -0
  200. package/dist/src/hooks/hookPlanner.d.ts +46 -0
  201. package/dist/src/hooks/hookPlanner.js +108 -0
  202. package/dist/src/hooks/hookPlanner.js.map +1 -0
  203. package/dist/src/hooks/hookPlanner.test.d.ts +6 -0
  204. package/dist/src/hooks/hookPlanner.test.js +255 -0
  205. package/dist/src/hooks/hookPlanner.test.js.map +1 -0
  206. package/dist/src/hooks/hookRegistry.d.ts +87 -0
  207. package/dist/src/hooks/hookRegistry.js +198 -0
  208. package/dist/src/hooks/hookRegistry.js.map +1 -0
  209. package/dist/src/hooks/hookRegistry.test.d.ts +6 -0
  210. package/dist/src/hooks/hookRegistry.test.js +341 -0
  211. package/dist/src/hooks/hookRegistry.test.js.map +1 -0
  212. package/dist/src/hooks/hookRunner.d.ts +42 -0
  213. package/dist/src/hooks/hookRunner.js +272 -0
  214. package/dist/src/hooks/hookRunner.js.map +1 -0
  215. package/dist/src/hooks/hookRunner.test.d.ts +6 -0
  216. package/dist/src/hooks/hookRunner.test.js +468 -0
  217. package/dist/src/hooks/hookRunner.test.js.map +1 -0
  218. package/dist/src/hooks/hookTranslator.d.ts +113 -0
  219. package/dist/src/hooks/hookTranslator.js +232 -0
  220. package/dist/src/hooks/hookTranslator.js.map +1 -0
  221. package/dist/src/hooks/hookTranslator.test.d.ts +6 -0
  222. package/dist/src/hooks/hookTranslator.test.js +192 -0
  223. package/dist/src/hooks/hookTranslator.test.js.map +1 -0
  224. package/dist/src/hooks/types.d.ts +384 -0
  225. package/dist/src/hooks/types.js +284 -0
  226. package/dist/src/hooks/types.js.map +1 -0
  227. package/dist/src/hooks/types.test.d.ts +6 -0
  228. package/dist/src/hooks/types.test.js +313 -0
  229. package/dist/src/hooks/types.test.js.map +1 -0
  230. package/dist/src/ide/detect-ide.d.ts +4 -0
  231. package/dist/src/ide/detect-ide.js +6 -1
  232. package/dist/src/ide/detect-ide.js.map +1 -1
  233. package/dist/src/ide/detect-ide.test.js +16 -0
  234. package/dist/src/ide/detect-ide.test.js.map +1 -1
  235. package/dist/src/ide/ide-client.d.ts +3 -1
  236. package/dist/src/ide/ide-client.js +12 -10
  237. package/dist/src/ide/ide-client.js.map +1 -1
  238. package/dist/src/ide/ide-client.test.js +163 -4
  239. package/dist/src/ide/ide-client.test.js.map +1 -1
  240. package/dist/src/ide/ide-installer.js +66 -21
  241. package/dist/src/ide/ide-installer.js.map +1 -1
  242. package/dist/src/ide/ide-installer.test.js +54 -1
  243. package/dist/src/ide/ide-installer.test.js.map +1 -1
  244. package/dist/src/ide/process-utils.js +85 -75
  245. package/dist/src/ide/process-utils.js.map +1 -1
  246. package/dist/src/ide/process-utils.test.js +83 -90
  247. package/dist/src/ide/process-utils.test.js.map +1 -1
  248. package/dist/src/ide/types.d.ts +5 -5
  249. package/dist/src/ide/types.js +1 -1
  250. package/dist/src/index.d.ts +21 -0
  251. package/dist/src/index.js +24 -0
  252. package/dist/src/index.js.map +1 -1
  253. package/dist/src/mcp/google-auth-provider.d.ts +2 -0
  254. package/dist/src/mcp/google-auth-provider.js +21 -3
  255. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  256. package/dist/src/mcp/google-auth-provider.test.js +42 -9
  257. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  258. package/dist/src/mcp/oauth-provider.d.ts +8 -5
  259. package/dist/src/mcp/oauth-provider.js +140 -55
  260. package/dist/src/mcp/oauth-provider.js.map +1 -1
  261. package/dist/src/mcp/oauth-provider.test.js +369 -2
  262. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  263. package/dist/src/mcp/oauth-token-storage.js +5 -4
  264. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  265. package/dist/src/mcp/oauth-token-storage.test.js +17 -11
  266. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  267. package/dist/src/mcp/oauth-utils.d.ts +7 -0
  268. package/dist/src/mcp/oauth-utils.js +28 -8
  269. package/dist/src/mcp/oauth-utils.js.map +1 -1
  270. package/dist/src/mcp/oauth-utils.test.js +45 -2
  271. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  272. package/dist/src/mcp/sa-impersonation-provider.d.ts +0 -6
  273. package/dist/src/mcp/sa-impersonation-provider.js +6 -23
  274. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  275. package/dist/src/mcp/token-storage/base-token-storage.test.js +75 -84
  276. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -1
  277. package/dist/src/mcp/token-storage/file-token-storage.js +3 -2
  278. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  279. package/dist/src/mcp/token-storage/file-token-storage.test.js +11 -8
  280. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
  281. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +6 -2
  282. package/dist/src/mcp/token-storage/keychain-token-storage.js +63 -7
  283. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  284. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +54 -3
  285. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  286. package/dist/src/mcp/token-storage/types.d.ts +6 -0
  287. package/dist/src/mcp/token-storage/types.js.map +1 -1
  288. package/dist/src/output/stream-json-formatter.d.ts +32 -0
  289. package/dist/src/output/stream-json-formatter.js +52 -0
  290. package/dist/src/output/stream-json-formatter.js.map +1 -0
  291. package/dist/src/output/stream-json-formatter.test.d.ts +6 -0
  292. package/dist/src/output/stream-json-formatter.test.js +479 -0
  293. package/dist/src/output/stream-json-formatter.test.js.map +1 -0
  294. package/dist/src/output/types.d.ts +63 -1
  295. package/dist/src/output/types.js +11 -0
  296. package/dist/src/output/types.js.map +1 -1
  297. package/dist/src/policy/config.d.ts +31 -0
  298. package/dist/src/policy/config.js +199 -0
  299. package/dist/src/policy/config.js.map +1 -0
  300. package/dist/src/policy/config.test.d.ts +6 -0
  301. package/dist/src/policy/config.test.js +538 -0
  302. package/dist/src/policy/config.test.js.map +1 -0
  303. package/dist/src/policy/index.d.ts +2 -0
  304. package/dist/src/policy/index.js +2 -0
  305. package/dist/src/policy/index.js.map +1 -1
  306. package/dist/src/policy/policies/discovered.toml +8 -0
  307. package/dist/src/policy/policies/read-only.toml +56 -0
  308. package/dist/src/policy/policies/write.toml +73 -0
  309. package/dist/src/policy/policies/yolo.toml +31 -0
  310. package/dist/src/policy/policy-engine.d.ts +12 -3
  311. package/dist/src/policy/policy-engine.js +74 -8
  312. package/dist/src/policy/policy-engine.js.map +1 -1
  313. package/dist/src/policy/policy-engine.test.js +460 -76
  314. package/dist/src/policy/policy-engine.test.js.map +1 -1
  315. package/dist/src/policy/toml-loader.d.ts +47 -0
  316. package/dist/src/policy/toml-loader.js +411 -0
  317. package/dist/src/policy/toml-loader.js.map +1 -0
  318. package/dist/src/policy/toml-loader.test.d.ts +6 -0
  319. package/dist/src/policy/toml-loader.test.js +376 -0
  320. package/dist/src/policy/toml-loader.test.js.map +1 -0
  321. package/dist/src/policy/types.d.ts +83 -0
  322. package/dist/src/policy/types.js +10 -0
  323. package/dist/src/policy/types.js.map +1 -1
  324. package/dist/src/prompts/mcp-prompts.test.d.ts +6 -0
  325. package/dist/src/prompts/mcp-prompts.test.js +39 -0
  326. package/dist/src/prompts/mcp-prompts.test.js.map +1 -0
  327. package/dist/src/prompts/prompt-registry.js +2 -1
  328. package/dist/src/prompts/prompt-registry.js.map +1 -1
  329. package/dist/src/prompts/prompt-registry.test.d.ts +6 -0
  330. package/dist/src/prompts/prompt-registry.test.js +96 -0
  331. package/dist/src/prompts/prompt-registry.test.js.map +1 -0
  332. package/dist/src/routing/modelRouterService.js +15 -0
  333. package/dist/src/routing/modelRouterService.js.map +1 -1
  334. package/dist/src/routing/modelRouterService.test.js +62 -0
  335. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  336. package/dist/src/routing/strategies/classifierStrategy.d.ts +1 -1
  337. package/dist/src/routing/strategies/classifierStrategy.js +9 -16
  338. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  339. package/dist/src/routing/strategies/classifierStrategy.test.js +17 -13
  340. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  341. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  342. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  343. package/dist/src/routing/strategies/fallbackStrategy.test.js +4 -0
  344. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  345. package/dist/src/routing/strategies/overrideStrategy.js +2 -2
  346. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  347. package/dist/src/routing/strategies/overrideStrategy.test.js +3 -0
  348. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  349. package/dist/src/safety/built-in.d.ts +21 -0
  350. package/dist/src/safety/built-in.js +106 -0
  351. package/dist/src/safety/built-in.js.map +1 -0
  352. package/dist/src/safety/built-in.test.d.ts +6 -0
  353. package/dist/src/safety/built-in.test.js +199 -0
  354. package/dist/src/safety/built-in.test.js.map +1 -0
  355. package/dist/src/safety/checker-runner.d.ts +48 -0
  356. package/dist/src/safety/checker-runner.js +208 -0
  357. package/dist/src/safety/checker-runner.js.map +1 -0
  358. package/dist/src/safety/checker-runner.test.d.ts +6 -0
  359. package/dist/src/safety/checker-runner.test.js +238 -0
  360. package/dist/src/safety/checker-runner.test.js.map +1 -0
  361. package/dist/src/safety/context-builder.d.ts +23 -0
  362. package/dist/src/safety/context-builder.js +47 -0
  363. package/dist/src/safety/context-builder.js.map +1 -0
  364. package/dist/src/safety/context-builder.test.d.ts +6 -0
  365. package/dist/src/safety/context-builder.test.js +49 -0
  366. package/dist/src/safety/context-builder.test.js.map +1 -0
  367. package/dist/src/safety/protocol.d.ts +88 -0
  368. package/dist/src/safety/protocol.js +15 -0
  369. package/dist/src/safety/protocol.js.map +1 -0
  370. package/dist/src/safety/registry.d.ts +26 -0
  371. package/dist/src/safety/registry.js +65 -0
  372. package/dist/src/safety/registry.js.map +1 -0
  373. package/dist/src/safety/registry.test.d.ts +6 -0
  374. package/dist/src/safety/registry.test.js +31 -0
  375. package/dist/src/safety/registry.test.js.map +1 -0
  376. package/dist/src/services/chatCompressionService.d.ts +32 -0
  377. package/dist/src/services/chatCompressionService.js +162 -0
  378. package/dist/src/services/chatCompressionService.js.map +1 -0
  379. package/dist/src/services/chatCompressionService.test.d.ts +6 -0
  380. package/dist/src/services/chatCompressionService.test.js +210 -0
  381. package/dist/src/services/chatCompressionService.test.js.map +1 -0
  382. package/dist/src/services/chatRecordingService.d.ts +3 -2
  383. package/dist/src/services/chatRecordingService.js +11 -9
  384. package/dist/src/services/chatRecordingService.js.map +1 -1
  385. package/dist/src/services/fileDiscoveryService.d.ts +2 -14
  386. package/dist/src/services/fileDiscoveryService.js +19 -55
  387. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  388. package/dist/src/services/fileDiscoveryService.test.js +91 -11
  389. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  390. package/dist/src/services/loopDetectionService.d.ts +4 -1
  391. package/dist/src/services/loopDetectionService.js +95 -42
  392. package/dist/src/services/loopDetectionService.js.map +1 -1
  393. package/dist/src/services/loopDetectionService.test.js +220 -12
  394. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  395. package/dist/src/services/modelConfig.golden.test.d.ts +6 -0
  396. package/dist/src/services/modelConfig.golden.test.js +42 -0
  397. package/dist/src/services/modelConfig.golden.test.js.map +1 -0
  398. package/dist/src/services/modelConfig.integration.test.d.ts +6 -0
  399. package/dist/src/services/modelConfig.integration.test.js +247 -0
  400. package/dist/src/services/modelConfig.integration.test.js.map +1 -0
  401. package/dist/src/services/modelConfigService.d.ts +48 -0
  402. package/dist/src/services/modelConfigService.js +151 -0
  403. package/dist/src/services/modelConfigService.js.map +1 -0
  404. package/dist/src/services/modelConfigService.test.d.ts +6 -0
  405. package/dist/src/services/modelConfigService.test.js +531 -0
  406. package/dist/src/services/modelConfigService.test.js.map +1 -0
  407. package/dist/src/services/shellExecutionService.d.ts +1 -0
  408. package/dist/src/services/shellExecutionService.js +195 -92
  409. package/dist/src/services/shellExecutionService.js.map +1 -1
  410. package/dist/src/services/shellExecutionService.test.js +137 -14
  411. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  412. package/dist/src/services/test-data/resolved-aliases.golden.json +202 -0
  413. package/dist/src/telemetry/activity-monitor.d.ts +116 -0
  414. package/dist/src/telemetry/activity-monitor.js +209 -0
  415. package/dist/src/telemetry/activity-monitor.js.map +1 -0
  416. package/dist/src/telemetry/activity-monitor.test.d.ts +6 -0
  417. package/dist/src/telemetry/activity-monitor.test.js +251 -0
  418. package/dist/src/telemetry/activity-monitor.test.js.map +1 -0
  419. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +25 -7
  420. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +294 -76
  421. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  422. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
  423. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +192 -66
  424. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  425. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +25 -3
  426. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +59 -5
  427. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  428. package/dist/src/telemetry/constants.d.ts +0 -28
  429. package/dist/src/telemetry/constants.js +0 -29
  430. package/dist/src/telemetry/constants.js.map +1 -1
  431. package/dist/src/telemetry/gcp-exporters.js +0 -1
  432. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  433. package/dist/src/telemetry/gcp-exporters.test.js +1 -1
  434. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  435. package/dist/src/telemetry/index.d.ts +7 -3
  436. package/dist/src/telemetry/index.js +13 -4
  437. package/dist/src/telemetry/index.js.map +1 -1
  438. package/dist/src/telemetry/loggers.d.ts +14 -7
  439. package/dist/src/telemetry/loggers.js +197 -320
  440. package/dist/src/telemetry/loggers.js.map +1 -1
  441. package/dist/src/telemetry/loggers.test.circular.js +0 -1
  442. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  443. package/dist/src/telemetry/loggers.test.js +460 -59
  444. package/dist/src/telemetry/loggers.test.js.map +1 -1
  445. package/dist/src/telemetry/memory-monitor.d.ts +149 -0
  446. package/dist/src/telemetry/memory-monitor.js +335 -0
  447. package/dist/src/telemetry/memory-monitor.js.map +1 -0
  448. package/dist/src/telemetry/memory-monitor.test.d.ts +6 -0
  449. package/dist/src/telemetry/memory-monitor.test.js +472 -0
  450. package/dist/src/telemetry/memory-monitor.test.js.map +1 -0
  451. package/dist/src/telemetry/metrics.d.ts +180 -4
  452. package/dist/src/telemetry/metrics.js +270 -6
  453. package/dist/src/telemetry/metrics.js.map +1 -1
  454. package/dist/src/telemetry/metrics.test.js +502 -184
  455. package/dist/src/telemetry/metrics.test.js.map +1 -1
  456. package/dist/src/telemetry/sdk.js +3 -2
  457. package/dist/src/telemetry/sdk.js.map +1 -1
  458. package/dist/src/telemetry/semantic.d.ts +82 -0
  459. package/dist/src/telemetry/semantic.js +269 -0
  460. package/dist/src/telemetry/semantic.js.map +1 -0
  461. package/dist/src/telemetry/semantic.test.d.ts +6 -0
  462. package/dist/src/telemetry/semantic.test.js +387 -0
  463. package/dist/src/telemetry/semantic.test.js.map +1 -0
  464. package/dist/src/telemetry/telemetry-utils.test.js +29 -28
  465. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -1
  466. package/dist/src/telemetry/telemetryAttributes.d.ts +8 -0
  467. package/dist/src/telemetry/telemetryAttributes.js +19 -0
  468. package/dist/src/telemetry/telemetryAttributes.js.map +1 -0
  469. package/dist/src/telemetry/trace.d.ts +46 -0
  470. package/dist/src/telemetry/trace.js +121 -0
  471. package/dist/src/telemetry/trace.js.map +1 -0
  472. package/dist/src/telemetry/types.d.ts +227 -29
  473. package/dist/src/telemetry/types.js +858 -72
  474. package/dist/src/telemetry/types.js.map +1 -1
  475. package/dist/src/telemetry/uiTelemetry.d.ts +1 -1
  476. package/dist/src/telemetry/uiTelemetry.js +7 -7
  477. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  478. package/dist/src/telemetry/uiTelemetry.test.js +89 -67
  479. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  480. package/dist/src/test-utils/config.d.ts +1 -1
  481. package/dist/src/test-utils/config.js +1 -1
  482. package/dist/src/tools/base-tool-invocation.test.d.ts +6 -0
  483. package/dist/src/tools/base-tool-invocation.test.js +85 -0
  484. package/dist/src/tools/base-tool-invocation.test.js.map +1 -0
  485. package/dist/src/tools/edit.d.ts +4 -3
  486. package/dist/src/tools/edit.js +50 -47
  487. package/dist/src/tools/edit.js.map +1 -1
  488. package/dist/src/tools/edit.test.js +306 -216
  489. package/dist/src/tools/edit.test.js.map +1 -1
  490. package/dist/src/tools/glob.d.ts +4 -3
  491. package/dist/src/tools/glob.js +24 -27
  492. package/dist/src/tools/glob.js.map +1 -1
  493. package/dist/src/tools/glob.test.js +212 -205
  494. package/dist/src/tools/glob.test.js.map +1 -1
  495. package/dist/src/tools/grep.d.ts +4 -3
  496. package/dist/src/tools/grep.js +31 -25
  497. package/dist/src/tools/grep.js.map +1 -1
  498. package/dist/src/tools/grep.test.js +15 -12
  499. package/dist/src/tools/grep.test.js.map +1 -1
  500. package/dist/src/tools/ls.d.ts +4 -3
  501. package/dist/src/tools/ls.js +29 -35
  502. package/dist/src/tools/ls.js.map +1 -1
  503. package/dist/src/tools/ls.test.js +34 -42
  504. package/dist/src/tools/ls.test.js.map +1 -1
  505. package/dist/src/tools/mcp-client-manager.d.ts +49 -11
  506. package/dist/src/tools/mcp-client-manager.js +191 -31
  507. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  508. package/dist/src/tools/mcp-client-manager.test.js +132 -25
  509. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  510. package/dist/src/tools/mcp-client.d.ts +12 -5
  511. package/dist/src/tools/mcp-client.js +287 -267
  512. package/dist/src/tools/mcp-client.js.map +1 -1
  513. package/dist/src/tools/mcp-client.test.js +352 -45
  514. package/dist/src/tools/mcp-client.test.js.map +1 -1
  515. package/dist/src/tools/mcp-tool.d.ts +6 -2
  516. package/dist/src/tools/mcp-tool.js +19 -8
  517. package/dist/src/tools/mcp-tool.js.map +1 -1
  518. package/dist/src/tools/mcp-tool.test.js +186 -273
  519. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  520. package/dist/src/tools/memoryTool.d.ts +7 -5
  521. package/dist/src/tools/memoryTool.js +14 -12
  522. package/dist/src/tools/memoryTool.js.map +1 -1
  523. package/dist/src/tools/memoryTool.test.js +10 -9
  524. package/dist/src/tools/memoryTool.test.js.map +1 -1
  525. package/dist/src/tools/message-bus-integration.test.js +14 -1
  526. package/dist/src/tools/message-bus-integration.test.js.map +1 -1
  527. package/dist/src/tools/modifiable-tool.d.ts +5 -1
  528. package/dist/src/tools/modifiable-tool.js +38 -16
  529. package/dist/src/tools/modifiable-tool.js.map +1 -1
  530. package/dist/src/tools/modifiable-tool.test.js +66 -31
  531. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  532. package/dist/src/tools/read-file.d.ts +6 -5
  533. package/dist/src/tools/read-file.js +26 -32
  534. package/dist/src/tools/read-file.js.map +1 -1
  535. package/dist/src/tools/read-file.test.js +68 -33
  536. package/dist/src/tools/read-file.test.js.map +1 -1
  537. package/dist/src/tools/read-many-files.d.ts +6 -12
  538. package/dist/src/tools/read-many-files.js +28 -57
  539. package/dist/src/tools/read-many-files.js.map +1 -1
  540. package/dist/src/tools/read-many-files.test.js +37 -36
  541. package/dist/src/tools/read-many-files.test.js.map +1 -1
  542. package/dist/src/tools/ripGrep.d.ts +28 -10
  543. package/dist/src/tools/ripGrep.js +195 -193
  544. package/dist/src/tools/ripGrep.js.map +1 -1
  545. package/dist/src/tools/ripGrep.test.js +533 -204
  546. package/dist/src/tools/ripGrep.test.js.map +1 -1
  547. package/dist/src/tools/shell.d.ts +8 -6
  548. package/dist/src/tools/shell.js +64 -38
  549. package/dist/src/tools/shell.js.map +1 -1
  550. package/dist/src/tools/shell.test.js +134 -43
  551. package/dist/src/tools/shell.test.js.map +1 -1
  552. package/dist/src/tools/smart-edit.d.ts +10 -23
  553. package/dist/src/tools/smart-edit.js +100 -85
  554. package/dist/src/tools/smart-edit.js.map +1 -1
  555. package/dist/src/tools/smart-edit.test.js +229 -179
  556. package/dist/src/tools/smart-edit.test.js.map +1 -1
  557. package/dist/src/tools/tool-error.d.ts +21 -0
  558. package/dist/src/tools/tool-error.js +27 -0
  559. package/dist/src/tools/tool-error.js.map +1 -1
  560. package/dist/src/tools/tool-names.d.ts +17 -0
  561. package/dist/src/tools/tool-names.js +21 -0
  562. package/dist/src/tools/tool-names.js.map +1 -0
  563. package/dist/src/tools/tool-registry.d.ts +32 -20
  564. package/dist/src/tools/tool-registry.js +122 -78
  565. package/dist/src/tools/tool-registry.js.map +1 -1
  566. package/dist/src/tools/tool-registry.test.js +167 -90
  567. package/dist/src/tools/tool-registry.test.js.map +1 -1
  568. package/dist/src/tools/tools.d.ts +23 -8
  569. package/dist/src/tools/tools.js +69 -37
  570. package/dist/src/tools/tools.js.map +1 -1
  571. package/dist/src/tools/web-fetch.d.ts +11 -3
  572. package/dist/src/tools/web-fetch.js +80 -38
  573. package/dist/src/tools/web-fetch.js.map +1 -1
  574. package/dist/src/tools/web-fetch.test.js +338 -9
  575. package/dist/src/tools/web-fetch.test.js.map +1 -1
  576. package/dist/src/tools/web-search.d.ts +4 -3
  577. package/dist/src/tools/web-search.js +11 -9
  578. package/dist/src/tools/web-search.js.map +1 -1
  579. package/dist/src/tools/web-search.test.js +6 -0
  580. package/dist/src/tools/web-search.test.js.map +1 -1
  581. package/dist/src/tools/write-file.d.ts +3 -2
  582. package/dist/src/tools/write-file.js +41 -40
  583. package/dist/src/tools/write-file.js.map +1 -1
  584. package/dist/src/tools/write-file.test.js +130 -123
  585. package/dist/src/tools/write-file.test.js.map +1 -1
  586. package/dist/src/tools/write-todos.d.ts +34 -9
  587. package/dist/src/tools/write-todos.js +54 -11
  588. package/dist/src/tools/write-todos.js.map +1 -1
  589. package/dist/src/tools/write-todos.test.js +2 -2
  590. package/dist/src/tools/write-todos.test.js.map +1 -1
  591. package/dist/src/utils/bfsFileSearch.js +3 -2
  592. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  593. package/dist/src/utils/channel.d.ts +19 -0
  594. package/dist/src/utils/channel.js +49 -0
  595. package/dist/src/utils/channel.js.map +1 -0
  596. package/dist/src/utils/channel.test.d.ts +6 -0
  597. package/dist/src/utils/channel.test.js +170 -0
  598. package/dist/src/utils/channel.test.js.map +1 -0
  599. package/dist/src/utils/debugLogger.d.ts +25 -0
  600. package/dist/src/utils/debugLogger.js +33 -0
  601. package/dist/src/utils/debugLogger.js.map +1 -0
  602. package/dist/src/utils/debugLogger.test.d.ts +6 -0
  603. package/dist/src/utils/debugLogger.test.js +69 -0
  604. package/dist/src/utils/debugLogger.test.js.map +1 -0
  605. package/dist/src/utils/delay.d.ts +16 -0
  606. package/dist/src/utils/delay.js +43 -0
  607. package/dist/src/utils/delay.js.map +1 -0
  608. package/dist/src/utils/delay.test.d.ts +6 -0
  609. package/dist/src/utils/delay.test.js +88 -0
  610. package/dist/src/utils/delay.test.js.map +1 -0
  611. package/dist/src/utils/editCorrector.js +10 -25
  612. package/dist/src/utils/editCorrector.js.map +1 -1
  613. package/dist/src/utils/editCorrector.test.js +19 -5
  614. package/dist/src/utils/editCorrector.test.js.map +1 -1
  615. package/dist/src/utils/editor.d.ts +4 -2
  616. package/dist/src/utils/editor.js +53 -39
  617. package/dist/src/utils/editor.js.map +1 -1
  618. package/dist/src/utils/editor.test.js +18 -45
  619. package/dist/src/utils/editor.test.js.map +1 -1
  620. package/dist/src/utils/environmentContext.d.ts +2 -1
  621. package/dist/src/utils/environmentContext.js +20 -33
  622. package/dist/src/utils/environmentContext.js.map +1 -1
  623. package/dist/src/utils/environmentContext.test.js +6 -34
  624. package/dist/src/utils/environmentContext.test.js.map +1 -1
  625. package/dist/src/utils/errorParsing.d.ts +1 -1
  626. package/dist/src/utils/errorParsing.js +5 -33
  627. package/dist/src/utils/errorParsing.js.map +1 -1
  628. package/dist/src/utils/errorParsing.test.js +0 -88
  629. package/dist/src/utils/errorParsing.test.js.map +1 -1
  630. package/dist/src/utils/errors.d.ts +3 -0
  631. package/dist/src/utils/errors.js +6 -0
  632. package/dist/src/utils/errors.js.map +1 -1
  633. package/dist/src/utils/events.d.ts +121 -0
  634. package/dist/src/utils/events.js +84 -0
  635. package/dist/src/utils/events.js.map +1 -0
  636. package/dist/src/utils/events.test.d.ts +6 -0
  637. package/dist/src/utils/events.test.js +212 -0
  638. package/dist/src/utils/events.test.js.map +1 -0
  639. package/dist/src/utils/extensionLoader.d.ts +86 -0
  640. package/dist/src/utils/extensionLoader.js +208 -0
  641. package/dist/src/utils/extensionLoader.js.map +1 -0
  642. package/dist/src/utils/extensionLoader.test.d.ts +6 -0
  643. package/dist/src/utils/extensionLoader.test.js +154 -0
  644. package/dist/src/utils/extensionLoader.test.js.map +1 -0
  645. package/dist/src/utils/fetch.d.ts +1 -0
  646. package/dist/src/utils/fetch.js +4 -0
  647. package/dist/src/utils/fetch.js.map +1 -1
  648. package/dist/src/utils/fileUtils.d.ts +4 -0
  649. package/dist/src/utils/fileUtils.js +34 -2
  650. package/dist/src/utils/fileUtils.js.map +1 -1
  651. package/dist/src/utils/fileUtils.test.js +87 -61
  652. package/dist/src/utils/fileUtils.test.js.map +1 -1
  653. package/dist/src/utils/filesearch/fileSearch.js +1 -1
  654. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  655. package/dist/src/utils/flashFallback.test.js +28 -47
  656. package/dist/src/utils/flashFallback.test.js.map +1 -1
  657. package/dist/src/utils/formatters.d.ts +1 -0
  658. package/dist/src/utils/formatters.js +2 -1
  659. package/dist/src/utils/formatters.js.map +1 -1
  660. package/dist/src/utils/formatters.test.d.ts +6 -0
  661. package/dist/src/utils/formatters.test.js +26 -0
  662. package/dist/src/utils/formatters.test.js.map +1 -0
  663. package/dist/src/utils/getFolderStructure.js +9 -17
  664. package/dist/src/utils/getFolderStructure.js.map +1 -1
  665. package/dist/src/utils/getFolderStructure.test.js +7 -6
  666. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  667. package/dist/src/utils/gitIgnoreParser.d.ts +4 -1
  668. package/dist/src/utils/gitIgnoreParser.js +28 -10
  669. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  670. package/dist/src/utils/gitIgnoreParser.test.js +58 -0
  671. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  672. package/dist/src/utils/googleErrors.d.ts +104 -0
  673. package/dist/src/utils/googleErrors.js +152 -0
  674. package/dist/src/utils/googleErrors.js.map +1 -0
  675. package/dist/src/utils/googleErrors.test.d.ts +6 -0
  676. package/dist/src/utils/googleErrors.test.js +301 -0
  677. package/dist/src/utils/googleErrors.test.js.map +1 -0
  678. package/dist/src/utils/googleQuotaErrors.d.ts +37 -0
  679. package/dist/src/utils/googleQuotaErrors.js +157 -0
  680. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  681. package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
  682. package/dist/src/utils/googleQuotaErrors.test.js +311 -0
  683. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
  684. package/dist/src/utils/httpErrors.d.ts +18 -0
  685. package/dist/src/utils/httpErrors.js +36 -0
  686. package/dist/src/utils/httpErrors.js.map +1 -0
  687. package/dist/src/utils/ignorePatterns.test.js +26 -30
  688. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  689. package/dist/src/utils/installationManager.js +2 -1
  690. package/dist/src/utils/installationManager.js.map +1 -1
  691. package/dist/src/utils/installationManager.test.js +6 -4
  692. package/dist/src/utils/installationManager.test.js.map +1 -1
  693. package/dist/src/utils/llm-edit-fixer.d.ts +1 -1
  694. package/dist/src/utils/llm-edit-fixer.js +33 -9
  695. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  696. package/dist/src/utils/llm-edit-fixer.test.js +38 -1
  697. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  698. package/dist/src/utils/memoryDiscovery.d.ts +20 -1
  699. package/dist/src/utils/memoryDiscovery.js +176 -12
  700. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  701. package/dist/src/utils/memoryDiscovery.test.js +299 -40
  702. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  703. package/dist/src/utils/memoryImportProcessor.js +4 -3
  704. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  705. package/dist/src/utils/memoryImportProcessor.test.js +8 -14
  706. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  707. package/dist/src/utils/nextSpeakerChecker.js +3 -3
  708. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  709. package/dist/src/utils/nextSpeakerChecker.test.js +13 -5
  710. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  711. package/dist/src/utils/package.d.ts +12 -0
  712. package/dist/src/utils/package.js +15 -0
  713. package/dist/src/utils/package.js.map +1 -0
  714. package/dist/src/utils/pathCorrector.d.ts +25 -0
  715. package/dist/src/utils/pathCorrector.js +33 -0
  716. package/dist/src/utils/pathCorrector.js.map +1 -0
  717. package/dist/src/utils/pathCorrector.test.d.ts +6 -0
  718. package/dist/src/utils/pathCorrector.test.js +83 -0
  719. package/dist/src/utils/pathCorrector.test.js.map +1 -0
  720. package/dist/src/utils/pathReader.js +4 -4
  721. package/dist/src/utils/pathReader.js.map +1 -1
  722. package/dist/src/utils/pathReader.test.js +44 -1
  723. package/dist/src/utils/pathReader.test.js.map +1 -1
  724. package/dist/src/utils/paths.d.ts +1 -1
  725. package/dist/src/utils/paths.js +131 -29
  726. package/dist/src/utils/paths.js.map +1 -1
  727. package/dist/src/utils/paths.test.js +200 -68
  728. package/dist/src/utils/paths.test.js.map +1 -1
  729. package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
  730. package/dist/src/utils/quotaErrorDetection.js +0 -46
  731. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  732. package/dist/src/utils/retry.d.ts +3 -10
  733. package/dist/src/utils/retry.js +97 -195
  734. package/dist/src/utils/retry.js.map +1 -1
  735. package/dist/src/utils/retry.test.js +179 -145
  736. package/dist/src/utils/retry.test.js.map +1 -1
  737. package/dist/src/utils/safeJsonStringify.d.ts +4 -4
  738. package/dist/src/utils/safeJsonStringify.js +31 -7
  739. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  740. package/dist/src/utils/shell-utils.d.ts +15 -2
  741. package/dist/src/utils/shell-utils.js +387 -140
  742. package/dist/src/utils/shell-utils.js.map +1 -1
  743. package/dist/src/utils/shell-utils.test.js +244 -62
  744. package/dist/src/utils/shell-utils.test.js.map +1 -1
  745. package/dist/src/utils/stdio.d.ts +32 -0
  746. package/dist/src/utils/stdio.js +85 -0
  747. package/dist/src/utils/stdio.js.map +1 -0
  748. package/dist/src/utils/stdio.test.d.ts +6 -0
  749. package/dist/src/utils/stdio.test.js +47 -0
  750. package/dist/src/utils/stdio.test.js.map +1 -0
  751. package/dist/src/utils/summarizer.d.ts +4 -2
  752. package/dist/src/utils/summarizer.js +8 -9
  753. package/dist/src/utils/summarizer.js.map +1 -1
  754. package/dist/src/utils/summarizer.test.js +32 -12
  755. package/dist/src/utils/summarizer.test.js.map +1 -1
  756. package/dist/src/utils/systemEncoding.js +5 -4
  757. package/dist/src/utils/systemEncoding.js.map +1 -1
  758. package/dist/src/utils/systemEncoding.test.js +2 -1
  759. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  760. package/dist/src/utils/terminal.d.ts +14 -0
  761. package/dist/src/utils/terminal.js +38 -0
  762. package/dist/src/utils/terminal.js.map +1 -0
  763. package/dist/src/utils/tool-utils.d.ts +2 -2
  764. package/dist/src/utils/tool-utils.js +15 -6
  765. package/dist/src/utils/tool-utils.js.map +1 -1
  766. package/dist/src/utils/tool-utils.test.js +8 -0
  767. package/dist/src/utils/tool-utils.test.js.map +1 -1
  768. package/dist/src/utils/userAccountManager.js +5 -4
  769. package/dist/src/utils/userAccountManager.js.map +1 -1
  770. package/dist/src/utils/userAccountManager.test.js +9 -7
  771. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  772. package/dist/src/utils/workspaceContext.d.ts +4 -3
  773. package/dist/src/utils/workspaceContext.js +13 -13
  774. package/dist/src/utils/workspaceContext.js.map +1 -1
  775. package/dist/src/utils/workspaceContext.test.js +8 -7
  776. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  777. package/dist/tsconfig.tsbuildinfo +1 -1
  778. package/package.json +12 -7
@@ -4,51 +4,20 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { logs } from '@opentelemetry/api-logs';
7
- import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
8
- import { EVENT_API_ERROR, EVENT_API_REQUEST, EVENT_API_RESPONSE, EVENT_CLI_CONFIG, EVENT_EXTENSION_UNINSTALL, EVENT_EXTENSION_ENABLE, EVENT_IDE_CONNECTION, EVENT_TOOL_CALL, EVENT_USER_PROMPT, EVENT_FLASH_FALLBACK, EVENT_NEXT_SPEAKER_CHECK, SERVICE_NAME, EVENT_SLASH_COMMAND, EVENT_CONVERSATION_FINISHED, EVENT_CHAT_COMPRESSION, EVENT_MALFORMED_JSON_RESPONSE, EVENT_INVALID_CHUNK, EVENT_CONTENT_RETRY, EVENT_CONTENT_RETRY_FAILURE, EVENT_FILE_OPERATION, EVENT_RIPGREP_FALLBACK, EVENT_MODEL_ROUTING, EVENT_EXTENSION_INSTALL, EVENT_MODEL_SLASH_COMMAND, EVENT_EXTENSION_DISABLE, } from './constants.js';
9
- import { recordApiErrorMetrics, recordTokenUsageMetrics, recordApiResponseMetrics, recordToolCallMetrics, recordChatCompressionMetrics, recordFileOperationMetric, recordInvalidChunk, recordContentRetry, recordContentRetryFailure, recordModelRoutingMetrics, recordModelSlashCommand, } from './metrics.js';
7
+ import { SERVICE_NAME } from './constants.js';
8
+ import { EVENT_API_ERROR, EVENT_API_RESPONSE, EVENT_TOOL_CALL, } from './types.js';
9
+ import { recordApiErrorMetrics, recordToolCallMetrics, recordChatCompressionMetrics, recordFileOperationMetric, recordInvalidChunk, recordContentRetry, recordContentRetryFailure, recordModelRoutingMetrics, recordModelSlashCommand, getConventionAttributes, recordTokenUsageMetrics, recordApiResponseMetrics, recordAgentRunMetrics, recordRecoveryAttemptMetrics, recordLinesChanged, } from './metrics.js';
10
10
  import { isTelemetrySdkInitialized } from './sdk.js';
11
11
  import { uiTelemetryService } from './uiTelemetry.js';
12
12
  import { ClearcutLogger } from './clearcut-logger/clearcut-logger.js';
13
- import { safeJsonStringify } from '../utils/safeJsonStringify.js';
14
- import { UserAccountManager } from '../utils/userAccountManager.js';
15
- const shouldLogUserPrompts = (config) => config.getTelemetryLogPromptsEnabled();
16
- function getCommonAttributes(config) {
17
- const userAccountManager = new UserAccountManager();
18
- const email = userAccountManager.getCachedGoogleAccount();
19
- return {
20
- 'session.id': config.getSessionId(),
21
- ...(email && { 'user.email': email }),
22
- };
23
- }
24
13
  export function logCliConfiguration(config, event) {
25
14
  ClearcutLogger.getInstance(config)?.logStartSessionEvent(event);
26
15
  if (!isTelemetrySdkInitialized())
27
16
  return;
28
- const attributes = {
29
- ...getCommonAttributes(config),
30
- 'event.name': EVENT_CLI_CONFIG,
31
- 'event.timestamp': new Date().toISOString(),
32
- model: event.model,
33
- embedding_model: event.embedding_model,
34
- sandbox_enabled: event.sandbox_enabled,
35
- core_tools_enabled: event.core_tools_enabled,
36
- approval_mode: event.approval_mode,
37
- api_key_enabled: event.api_key_enabled,
38
- vertex_ai_enabled: event.vertex_ai_enabled,
39
- log_user_prompts_enabled: event.telemetry_log_user_prompts_enabled,
40
- file_filtering_respect_git_ignore: event.file_filtering_respect_git_ignore,
41
- debug_mode: event.debug_enabled,
42
- mcp_servers: event.mcp_servers,
43
- mcp_servers_count: event.mcp_servers_count,
44
- mcp_tools: event.mcp_tools,
45
- mcp_tools_count: event.mcp_tools_count,
46
- output_format: event.output_format,
47
- };
48
17
  const logger = logs.getLogger(SERVICE_NAME);
49
18
  const logRecord = {
50
- body: 'CLI configuration loaded.',
51
- attributes,
19
+ body: event.toLogBody(),
20
+ attributes: event.toOpenTelemetryAttributes(config),
52
21
  };
53
22
  logger.emit(logRecord);
54
23
  }
@@ -56,23 +25,10 @@ export function logUserPrompt(config, event) {
56
25
  ClearcutLogger.getInstance(config)?.logNewPromptEvent(event);
57
26
  if (!isTelemetrySdkInitialized())
58
27
  return;
59
- const attributes = {
60
- ...getCommonAttributes(config),
61
- 'event.name': EVENT_USER_PROMPT,
62
- 'event.timestamp': new Date().toISOString(),
63
- prompt_length: event.prompt_length,
64
- prompt_id: event.prompt_id,
65
- };
66
- if (event.auth_type) {
67
- attributes['auth_type'] = event.auth_type;
68
- }
69
- if (shouldLogUserPrompts(config)) {
70
- attributes['prompt'] = event.prompt;
71
- }
72
28
  const logger = logs.getLogger(SERVICE_NAME);
73
29
  const logRecord = {
74
- body: `User prompt. Length: ${event.prompt_length}.`,
75
- attributes,
30
+ body: event.toLogBody(),
31
+ attributes: event.toOpenTelemetryAttributes(config),
76
32
  };
77
33
  logger.emit(logRecord);
78
34
  }
@@ -86,23 +42,10 @@ export function logToolCall(config, event) {
86
42
  ClearcutLogger.getInstance(config)?.logToolCallEvent(event);
87
43
  if (!isTelemetrySdkInitialized())
88
44
  return;
89
- const attributes = {
90
- ...getCommonAttributes(config),
91
- ...event,
92
- 'event.name': EVENT_TOOL_CALL,
93
- 'event.timestamp': new Date().toISOString(),
94
- function_args: safeJsonStringify(event.function_args, 2),
95
- };
96
- if (event.error) {
97
- attributes['error.message'] = event.error;
98
- if (event.error_type) {
99
- attributes['error.type'] = event.error_type;
100
- }
101
- }
102
45
  const logger = logs.getLogger(SERVICE_NAME);
103
46
  const logRecord = {
104
- body: `Tool call: ${event.function_name}${event.decision ? `. Decision: ${event.decision}` : ''}. Success: ${event.success}. Duration: ${event.duration_ms}ms.`,
105
- attributes,
47
+ body: event.toLogBody(),
48
+ attributes: event.toOpenTelemetryAttributes(config),
106
49
  };
107
50
  logger.emit(logRecord);
108
51
  recordToolCallMetrics(config, event.duration_ms, {
@@ -111,21 +54,29 @@ export function logToolCall(config, event) {
111
54
  decision: event.decision,
112
55
  tool_type: event.tool_type,
113
56
  });
57
+ if (event.metadata) {
58
+ const added = event.metadata['model_added_lines'];
59
+ if (typeof added === 'number' && added > 0) {
60
+ recordLinesChanged(config, added, 'added', {
61
+ function_name: event.function_name,
62
+ });
63
+ }
64
+ const removed = event.metadata['model_removed_lines'];
65
+ if (typeof removed === 'number' && removed > 0) {
66
+ recordLinesChanged(config, removed, 'removed', {
67
+ function_name: event.function_name,
68
+ });
69
+ }
70
+ }
114
71
  }
115
72
  export function logToolOutputTruncated(config, event) {
116
73
  ClearcutLogger.getInstance(config)?.logToolOutputTruncatedEvent(event);
117
74
  if (!isTelemetrySdkInitialized())
118
75
  return;
119
- const attributes = {
120
- ...getCommonAttributes(config),
121
- ...event,
122
- 'event.name': 'tool_output_truncated',
123
- 'event.timestamp': new Date().toISOString(),
124
- };
125
76
  const logger = logs.getLogger(SERVICE_NAME);
126
77
  const logRecord = {
127
- body: `Tool output truncated for ${event.tool_name}.`,
128
- attributes,
78
+ body: event.toLogBody(),
79
+ attributes: event.toOpenTelemetryAttributes(config),
129
80
  };
130
81
  logger.emit(logRecord);
131
82
  }
@@ -133,29 +84,10 @@ export function logFileOperation(config, event) {
133
84
  ClearcutLogger.getInstance(config)?.logFileOperationEvent(event);
134
85
  if (!isTelemetrySdkInitialized())
135
86
  return;
136
- const attributes = {
137
- ...getCommonAttributes(config),
138
- 'event.name': EVENT_FILE_OPERATION,
139
- 'event.timestamp': new Date().toISOString(),
140
- tool_name: event.tool_name,
141
- operation: event.operation,
142
- };
143
- if (event.lines) {
144
- attributes['lines'] = event.lines;
145
- }
146
- if (event.mimetype) {
147
- attributes['mimetype'] = event.mimetype;
148
- }
149
- if (event.extension) {
150
- attributes['extension'] = event.extension;
151
- }
152
- if (event.programming_language) {
153
- attributes['programming_language'] = event.programming_language;
154
- }
155
87
  const logger = logs.getLogger(SERVICE_NAME);
156
88
  const logRecord = {
157
- body: `File operation: ${event.operation}. Lines: ${event.lines}.`,
158
- attributes,
89
+ body: event.toLogBody(),
90
+ attributes: event.toOpenTelemetryAttributes(config),
159
91
  };
160
92
  logger.emit(logRecord);
161
93
  recordFileOperationMetric(config, {
@@ -170,16 +102,10 @@ export function logApiRequest(config, event) {
170
102
  ClearcutLogger.getInstance(config)?.logApiRequestEvent(event);
171
103
  if (!isTelemetrySdkInitialized())
172
104
  return;
173
- const attributes = {
174
- ...getCommonAttributes(config),
175
- ...event,
176
- 'event.name': EVENT_API_REQUEST,
177
- 'event.timestamp': new Date().toISOString(),
178
- };
179
105
  const logger = logs.getLogger(SERVICE_NAME);
180
106
  const logRecord = {
181
- body: `API request to ${event.model}.`,
182
- attributes,
107
+ body: event.toLogBody(),
108
+ attributes: event.toOpenTelemetryAttributes(config),
183
109
  };
184
110
  logger.emit(logRecord);
185
111
  }
@@ -187,16 +113,10 @@ export function logFlashFallback(config, event) {
187
113
  ClearcutLogger.getInstance(config)?.logFlashFallbackEvent();
188
114
  if (!isTelemetrySdkInitialized())
189
115
  return;
190
- const attributes = {
191
- ...getCommonAttributes(config),
192
- ...event,
193
- 'event.name': EVENT_FLASH_FALLBACK,
194
- 'event.timestamp': new Date().toISOString(),
195
- };
196
116
  const logger = logs.getLogger(SERVICE_NAME);
197
117
  const logRecord = {
198
- body: `Switching to flash as Fallback.`,
199
- attributes,
118
+ body: event.toLogBody(),
119
+ attributes: event.toOpenTelemetryAttributes(config),
200
120
  };
201
121
  logger.emit(logRecord);
202
122
  }
@@ -204,16 +124,10 @@ export function logRipgrepFallback(config, event) {
204
124
  ClearcutLogger.getInstance(config)?.logRipgrepFallbackEvent();
205
125
  if (!isTelemetrySdkInitialized())
206
126
  return;
207
- const attributes = {
208
- ...getCommonAttributes(config),
209
- ...event,
210
- 'event.name': EVENT_RIPGREP_FALLBACK,
211
- 'event.timestamp': new Date().toISOString(),
212
- };
213
127
  const logger = logs.getLogger(SERVICE_NAME);
214
128
  const logRecord = {
215
- body: `Switching to grep as fallback.`,
216
- attributes,
129
+ body: event.toLogBody(),
130
+ attributes: event.toOpenTelemetryAttributes(config),
217
131
  };
218
132
  logger.emit(logRecord);
219
133
  }
@@ -227,32 +141,23 @@ export function logApiError(config, event) {
227
141
  ClearcutLogger.getInstance(config)?.logApiErrorEvent(event);
228
142
  if (!isTelemetrySdkInitialized())
229
143
  return;
230
- const attributes = {
231
- ...getCommonAttributes(config),
232
- ...event,
233
- 'event.name': EVENT_API_ERROR,
234
- 'event.timestamp': new Date().toISOString(),
235
- ['error.message']: event.error,
236
- model_name: event.model,
237
- duration: event.duration_ms,
238
- };
239
- if (event.error_type) {
240
- attributes['error.type'] = event.error_type;
241
- }
242
- if (typeof event.status_code === 'number') {
243
- attributes[SemanticAttributes.HTTP_STATUS_CODE] = event.status_code;
244
- }
245
144
  const logger = logs.getLogger(SERVICE_NAME);
246
- const logRecord = {
247
- body: `API error for ${event.model}. Error: ${event.error}. Duration: ${event.duration_ms}ms.`,
248
- attributes,
249
- };
250
- logger.emit(logRecord);
145
+ logger.emit(event.toLogRecord(config));
146
+ logger.emit(event.toSemanticLogRecord(config));
251
147
  recordApiErrorMetrics(config, event.duration_ms, {
252
148
  model: event.model,
253
149
  status_code: event.status_code,
254
150
  error_type: event.error_type,
255
151
  });
152
+ // Record GenAI operation duration for errors
153
+ recordApiResponseMetrics(config, event.duration_ms, {
154
+ model: event.model,
155
+ status_code: event.status_code,
156
+ genAiAttributes: {
157
+ ...getConventionAttributes(event),
158
+ 'error.type': event.error_type || 'unknown',
159
+ },
160
+ });
256
161
  }
257
162
  export function logApiResponse(config, event) {
258
163
  const uiEvent = {
@@ -264,82 +169,60 @@ export function logApiResponse(config, event) {
264
169
  ClearcutLogger.getInstance(config)?.logApiResponseEvent(event);
265
170
  if (!isTelemetrySdkInitialized())
266
171
  return;
267
- const attributes = {
268
- ...getCommonAttributes(config),
269
- ...event,
270
- 'event.name': EVENT_API_RESPONSE,
271
- 'event.timestamp': new Date().toISOString(),
272
- };
273
- if (event.response_text) {
274
- attributes['response_text'] = event.response_text;
275
- }
276
- if (event.status_code) {
277
- if (typeof event.status_code === 'number') {
278
- attributes[SemanticAttributes.HTTP_STATUS_CODE] = event.status_code;
279
- }
280
- }
281
172
  const logger = logs.getLogger(SERVICE_NAME);
282
- const logRecord = {
283
- body: `API response from ${event.model}. Status: ${event.status_code || 'N/A'}. Duration: ${event.duration_ms}ms.`,
284
- attributes,
285
- };
286
- logger.emit(logRecord);
173
+ logger.emit(event.toLogRecord(config));
174
+ logger.emit(event.toSemanticLogRecord(config));
175
+ const conventionAttributes = getConventionAttributes(event);
287
176
  recordApiResponseMetrics(config, event.duration_ms, {
288
177
  model: event.model,
289
178
  status_code: event.status_code,
179
+ genAiAttributes: conventionAttributes,
290
180
  });
291
- recordTokenUsageMetrics(config, event.input_token_count, {
292
- model: event.model,
293
- type: 'input',
294
- });
295
- recordTokenUsageMetrics(config, event.output_token_count, {
296
- model: event.model,
297
- type: 'output',
298
- });
299
- recordTokenUsageMetrics(config, event.cached_content_token_count, {
300
- model: event.model,
301
- type: 'cache',
302
- });
303
- recordTokenUsageMetrics(config, event.thoughts_token_count, {
304
- model: event.model,
305
- type: 'thought',
306
- });
307
- recordTokenUsageMetrics(config, event.tool_token_count, {
308
- model: event.model,
309
- type: 'tool',
310
- });
181
+ const tokenUsageData = [
182
+ { count: event.usage.input_token_count, type: 'input' },
183
+ { count: event.usage.output_token_count, type: 'output' },
184
+ { count: event.usage.cached_content_token_count, type: 'cache' },
185
+ { count: event.usage.thoughts_token_count, type: 'thought' },
186
+ { count: event.usage.tool_token_count, type: 'tool' },
187
+ ];
188
+ for (const { count, type } of tokenUsageData) {
189
+ recordTokenUsageMetrics(config, count, {
190
+ model: event.model,
191
+ type,
192
+ genAiAttributes: conventionAttributes,
193
+ });
194
+ }
311
195
  }
312
196
  export function logLoopDetected(config, event) {
313
197
  ClearcutLogger.getInstance(config)?.logLoopDetectedEvent(event);
314
198
  if (!isTelemetrySdkInitialized())
315
199
  return;
316
- const attributes = {
317
- ...getCommonAttributes(config),
318
- ...event,
319
- };
320
200
  const logger = logs.getLogger(SERVICE_NAME);
321
201
  const logRecord = {
322
- body: `Loop detected. Type: ${event.loop_type}.`,
323
- attributes,
202
+ body: event.toLogBody(),
203
+ attributes: event.toOpenTelemetryAttributes(config),
324
204
  };
325
205
  logger.emit(logRecord);
326
206
  }
327
- export function logLoopDetectionDisabled(config, _event) {
207
+ export function logLoopDetectionDisabled(config, event) {
328
208
  ClearcutLogger.getInstance(config)?.logLoopDetectionDisabledEvent();
209
+ if (!isTelemetrySdkInitialized())
210
+ return;
211
+ const logger = logs.getLogger(SERVICE_NAME);
212
+ const logRecord = {
213
+ body: event.toLogBody(),
214
+ attributes: event.toOpenTelemetryAttributes(config),
215
+ };
216
+ logger.emit(logRecord);
329
217
  }
330
218
  export function logNextSpeakerCheck(config, event) {
331
219
  ClearcutLogger.getInstance(config)?.logNextSpeakerCheck(event);
332
220
  if (!isTelemetrySdkInitialized())
333
221
  return;
334
- const attributes = {
335
- ...getCommonAttributes(config),
336
- ...event,
337
- 'event.name': EVENT_NEXT_SPEAKER_CHECK,
338
- };
339
222
  const logger = logs.getLogger(SERVICE_NAME);
340
223
  const logRecord = {
341
- body: `Next speaker check.`,
342
- attributes,
224
+ body: event.toLogBody(),
225
+ attributes: event.toOpenTelemetryAttributes(config),
343
226
  };
344
227
  logger.emit(logRecord);
345
228
  }
@@ -347,15 +230,10 @@ export function logSlashCommand(config, event) {
347
230
  ClearcutLogger.getInstance(config)?.logSlashCommandEvent(event);
348
231
  if (!isTelemetrySdkInitialized())
349
232
  return;
350
- const attributes = {
351
- ...getCommonAttributes(config),
352
- ...event,
353
- 'event.name': EVENT_SLASH_COMMAND,
354
- };
355
233
  const logger = logs.getLogger(SERVICE_NAME);
356
234
  const logRecord = {
357
- body: `Slash command: ${event.command}.`,
358
- attributes,
235
+ body: event.toLogBody(),
236
+ attributes: event.toOpenTelemetryAttributes(config),
359
237
  };
360
238
  logger.emit(logRecord);
361
239
  }
@@ -363,15 +241,10 @@ export function logIdeConnection(config, event) {
363
241
  ClearcutLogger.getInstance(config)?.logIdeConnectionEvent(event);
364
242
  if (!isTelemetrySdkInitialized())
365
243
  return;
366
- const attributes = {
367
- ...getCommonAttributes(config),
368
- ...event,
369
- 'event.name': EVENT_IDE_CONNECTION,
370
- };
371
244
  const logger = logs.getLogger(SERVICE_NAME);
372
245
  const logRecord = {
373
- body: `Ide connection. Type: ${event.connection_type}.`,
374
- attributes,
246
+ body: event.toLogBody(),
247
+ attributes: event.toOpenTelemetryAttributes(config),
375
248
  };
376
249
  logger.emit(logRecord);
377
250
  }
@@ -379,29 +252,19 @@ export function logConversationFinishedEvent(config, event) {
379
252
  ClearcutLogger.getInstance(config)?.logConversationFinishedEvent(event);
380
253
  if (!isTelemetrySdkInitialized())
381
254
  return;
382
- const attributes = {
383
- ...getCommonAttributes(config),
384
- ...event,
385
- 'event.name': EVENT_CONVERSATION_FINISHED,
386
- };
387
255
  const logger = logs.getLogger(SERVICE_NAME);
388
256
  const logRecord = {
389
- body: `Conversation finished.`,
390
- attributes,
257
+ body: event.toLogBody(),
258
+ attributes: event.toOpenTelemetryAttributes(config),
391
259
  };
392
260
  logger.emit(logRecord);
393
261
  }
394
262
  export function logChatCompression(config, event) {
395
263
  ClearcutLogger.getInstance(config)?.logChatCompressionEvent(event);
396
- const attributes = {
397
- ...getCommonAttributes(config),
398
- ...event,
399
- 'event.name': EVENT_CHAT_COMPRESSION,
400
- };
401
264
  const logger = logs.getLogger(SERVICE_NAME);
402
265
  const logRecord = {
403
- body: `Chat compression (Saved ${event.tokens_before - event.tokens_after} tokens)`,
404
- attributes,
266
+ body: event.toLogBody(),
267
+ attributes: event.toOpenTelemetryAttributes(config),
405
268
  };
406
269
  logger.emit(logRecord);
407
270
  recordChatCompressionMetrics(config, {
@@ -409,34 +272,14 @@ export function logChatCompression(config, event) {
409
272
  tokens_after: event.tokens_after,
410
273
  });
411
274
  }
412
- export function logKittySequenceOverflow(config, event) {
413
- ClearcutLogger.getInstance(config)?.logKittySequenceOverflowEvent(event);
414
- if (!isTelemetrySdkInitialized())
415
- return;
416
- const attributes = {
417
- ...getCommonAttributes(config),
418
- ...event,
419
- };
420
- const logger = logs.getLogger(SERVICE_NAME);
421
- const logRecord = {
422
- body: `Kitty sequence buffer overflow: ${event.sequence_length} bytes`,
423
- attributes,
424
- };
425
- logger.emit(logRecord);
426
- }
427
275
  export function logMalformedJsonResponse(config, event) {
428
276
  ClearcutLogger.getInstance(config)?.logMalformedJsonResponseEvent(event);
429
277
  if (!isTelemetrySdkInitialized())
430
278
  return;
431
- const attributes = {
432
- ...getCommonAttributes(config),
433
- ...event,
434
- 'event.name': EVENT_MALFORMED_JSON_RESPONSE,
435
- };
436
279
  const logger = logs.getLogger(SERVICE_NAME);
437
280
  const logRecord = {
438
- body: `Malformed JSON response from ${event.model}.`,
439
- attributes,
281
+ body: event.toLogBody(),
282
+ attributes: event.toOpenTelemetryAttributes(config),
440
283
  };
441
284
  logger.emit(logRecord);
442
285
  }
@@ -444,18 +287,10 @@ export function logInvalidChunk(config, event) {
444
287
  ClearcutLogger.getInstance(config)?.logInvalidChunkEvent(event);
445
288
  if (!isTelemetrySdkInitialized())
446
289
  return;
447
- const attributes = {
448
- ...getCommonAttributes(config),
449
- 'event.name': EVENT_INVALID_CHUNK,
450
- 'event.timestamp': event['event.timestamp'],
451
- };
452
- if (event.error_message) {
453
- attributes['error.message'] = event.error_message;
454
- }
455
290
  const logger = logs.getLogger(SERVICE_NAME);
456
291
  const logRecord = {
457
- body: `Invalid chunk received from stream.`,
458
- attributes,
292
+ body: event.toLogBody(),
293
+ attributes: event.toOpenTelemetryAttributes(config),
459
294
  };
460
295
  logger.emit(logRecord);
461
296
  recordInvalidChunk(config);
@@ -464,15 +299,10 @@ export function logContentRetry(config, event) {
464
299
  ClearcutLogger.getInstance(config)?.logContentRetryEvent(event);
465
300
  if (!isTelemetrySdkInitialized())
466
301
  return;
467
- const attributes = {
468
- ...getCommonAttributes(config),
469
- ...event,
470
- 'event.name': EVENT_CONTENT_RETRY,
471
- };
472
302
  const logger = logs.getLogger(SERVICE_NAME);
473
303
  const logRecord = {
474
- body: `Content retry attempt ${event.attempt_number} due to ${event.error_type}.`,
475
- attributes,
304
+ body: event.toLogBody(),
305
+ attributes: event.toOpenTelemetryAttributes(config),
476
306
  };
477
307
  logger.emit(logRecord);
478
308
  recordContentRetry(config);
@@ -481,15 +311,10 @@ export function logContentRetryFailure(config, event) {
481
311
  ClearcutLogger.getInstance(config)?.logContentRetryFailureEvent(event);
482
312
  if (!isTelemetrySdkInitialized())
483
313
  return;
484
- const attributes = {
485
- ...getCommonAttributes(config),
486
- ...event,
487
- 'event.name': EVENT_CONTENT_RETRY_FAILURE,
488
- };
489
314
  const logger = logs.getLogger(SERVICE_NAME);
490
315
  const logRecord = {
491
- body: `All content retries failed after ${event.total_attempts} attempts.`,
492
- attributes,
316
+ body: event.toLogBody(),
317
+ attributes: event.toOpenTelemetryAttributes(config),
493
318
  };
494
319
  logger.emit(logRecord);
495
320
  recordContentRetryFailure(config);
@@ -498,15 +323,10 @@ export function logModelRouting(config, event) {
498
323
  ClearcutLogger.getInstance(config)?.logModelRoutingEvent(event);
499
324
  if (!isTelemetrySdkInitialized())
500
325
  return;
501
- const attributes = {
502
- ...getCommonAttributes(config),
503
- ...event,
504
- 'event.name': EVENT_MODEL_ROUTING,
505
- };
506
326
  const logger = logs.getLogger(SERVICE_NAME);
507
327
  const logRecord = {
508
- body: `Model routing decision. Model: ${event.decision_model}, Source: ${event.decision_source}`,
509
- attributes,
328
+ body: event.toLogBody(),
329
+ attributes: event.toOpenTelemetryAttributes(config),
510
330
  };
511
331
  logger.emit(logRecord);
512
332
  recordModelRoutingMetrics(config, event);
@@ -515,88 +335,145 @@ export function logModelSlashCommand(config, event) {
515
335
  ClearcutLogger.getInstance(config)?.logModelSlashCommandEvent(event);
516
336
  if (!isTelemetrySdkInitialized())
517
337
  return;
518
- const attributes = {
519
- ...getCommonAttributes(config),
520
- ...event,
521
- 'event.name': EVENT_MODEL_SLASH_COMMAND,
522
- };
523
338
  const logger = logs.getLogger(SERVICE_NAME);
524
339
  const logRecord = {
525
- body: `Model slash command. Model: ${event.model_name}`,
526
- attributes,
340
+ body: event.toLogBody(),
341
+ attributes: event.toOpenTelemetryAttributes(config),
527
342
  };
528
343
  logger.emit(logRecord);
529
344
  recordModelSlashCommand(config, event);
530
345
  }
531
- export function logExtensionInstallEvent(config, event) {
532
- ClearcutLogger.getInstance(config)?.logExtensionInstallEvent(event);
346
+ export async function logExtensionInstallEvent(config, event) {
347
+ await ClearcutLogger.getInstance(config)?.logExtensionInstallEvent(event);
533
348
  if (!isTelemetrySdkInitialized())
534
349
  return;
535
- const attributes = {
536
- ...getCommonAttributes(config),
537
- ...event,
538
- 'event.name': EVENT_EXTENSION_INSTALL,
539
- 'event.timestamp': new Date().toISOString(),
540
- extension_name: event.extension_name,
541
- extension_version: event.extension_version,
542
- extension_source: event.extension_source,
543
- status: event.status,
350
+ const logger = logs.getLogger(SERVICE_NAME);
351
+ const logRecord = {
352
+ body: event.toLogBody(),
353
+ attributes: event.toOpenTelemetryAttributes(config),
544
354
  };
355
+ logger.emit(logRecord);
356
+ }
357
+ export async function logExtensionUninstall(config, event) {
358
+ await ClearcutLogger.getInstance(config)?.logExtensionUninstallEvent(event);
359
+ if (!isTelemetrySdkInitialized())
360
+ return;
545
361
  const logger = logs.getLogger(SERVICE_NAME);
546
362
  const logRecord = {
547
- body: `Installed extension ${event.extension_name}`,
548
- attributes,
363
+ body: event.toLogBody(),
364
+ attributes: event.toOpenTelemetryAttributes(config),
549
365
  };
550
366
  logger.emit(logRecord);
551
367
  }
552
- export function logExtensionUninstall(config, event) {
553
- ClearcutLogger.getInstance(config)?.logExtensionUninstallEvent(event);
368
+ export async function logExtensionUpdateEvent(config, event) {
369
+ await ClearcutLogger.getInstance(config)?.logExtensionUpdateEvent(event);
554
370
  if (!isTelemetrySdkInitialized())
555
371
  return;
556
- const attributes = {
557
- ...getCommonAttributes(config),
558
- ...event,
559
- 'event.name': EVENT_EXTENSION_UNINSTALL,
560
- 'event.timestamp': new Date().toISOString(),
372
+ const logger = logs.getLogger(SERVICE_NAME);
373
+ const logRecord = {
374
+ body: event.toLogBody(),
375
+ attributes: event.toOpenTelemetryAttributes(config),
561
376
  };
377
+ logger.emit(logRecord);
378
+ }
379
+ export async function logExtensionEnable(config, event) {
380
+ await ClearcutLogger.getInstance(config)?.logExtensionEnableEvent(event);
381
+ if (!isTelemetrySdkInitialized())
382
+ return;
562
383
  const logger = logs.getLogger(SERVICE_NAME);
563
384
  const logRecord = {
564
- body: `Uninstalled extension ${event.extension_name}`,
565
- attributes,
385
+ body: event.toLogBody(),
386
+ attributes: event.toOpenTelemetryAttributes(config),
566
387
  };
567
388
  logger.emit(logRecord);
568
389
  }
569
- export function logExtensionEnable(config, event) {
570
- ClearcutLogger.getInstance(config)?.logExtensionEnableEvent(event);
390
+ export async function logExtensionDisable(config, event) {
391
+ await ClearcutLogger.getInstance(config)?.logExtensionDisableEvent(event);
571
392
  if (!isTelemetrySdkInitialized())
572
393
  return;
573
- const attributes = {
574
- ...getCommonAttributes(config),
575
- ...event,
576
- 'event.name': EVENT_EXTENSION_ENABLE,
577
- 'event.timestamp': new Date().toISOString(),
394
+ const logger = logs.getLogger(SERVICE_NAME);
395
+ const logRecord = {
396
+ body: event.toLogBody(),
397
+ attributes: event.toOpenTelemetryAttributes(config),
578
398
  };
399
+ logger.emit(logRecord);
400
+ }
401
+ export function logSmartEditStrategy(config, event) {
402
+ ClearcutLogger.getInstance(config)?.logSmartEditStrategyEvent(event);
403
+ if (!isTelemetrySdkInitialized())
404
+ return;
579
405
  const logger = logs.getLogger(SERVICE_NAME);
580
406
  const logRecord = {
581
- body: `Enabled extension ${event.extension_name}`,
582
- attributes,
407
+ body: event.toLogBody(),
408
+ attributes: event.toOpenTelemetryAttributes(config),
583
409
  };
584
410
  logger.emit(logRecord);
585
411
  }
586
- export function logExtensionDisable(config, event) {
587
- ClearcutLogger.getInstance(config)?.logExtensionDisableEvent(event);
412
+ export function logSmartEditCorrectionEvent(config, event) {
413
+ ClearcutLogger.getInstance(config)?.logSmartEditCorrectionEvent(event);
588
414
  if (!isTelemetrySdkInitialized())
589
415
  return;
590
- const attributes = {
591
- ...getCommonAttributes(config),
592
- ...event,
593
- 'event.name': EVENT_EXTENSION_DISABLE,
594
- 'event.timestamp': new Date().toISOString(),
416
+ const logger = logs.getLogger(SERVICE_NAME);
417
+ const logRecord = {
418
+ body: event.toLogBody(),
419
+ attributes: event.toOpenTelemetryAttributes(config),
420
+ };
421
+ logger.emit(logRecord);
422
+ }
423
+ export function logAgentStart(config, event) {
424
+ ClearcutLogger.getInstance(config)?.logAgentStartEvent(event);
425
+ if (!isTelemetrySdkInitialized())
426
+ return;
427
+ const logger = logs.getLogger(SERVICE_NAME);
428
+ const logRecord = {
429
+ body: event.toLogBody(),
430
+ attributes: event.toOpenTelemetryAttributes(config),
431
+ };
432
+ logger.emit(logRecord);
433
+ }
434
+ export function logAgentFinish(config, event) {
435
+ ClearcutLogger.getInstance(config)?.logAgentFinishEvent(event);
436
+ if (!isTelemetrySdkInitialized())
437
+ return;
438
+ const logger = logs.getLogger(SERVICE_NAME);
439
+ const logRecord = {
440
+ body: event.toLogBody(),
441
+ attributes: event.toOpenTelemetryAttributes(config),
595
442
  };
443
+ logger.emit(logRecord);
444
+ recordAgentRunMetrics(config, event);
445
+ }
446
+ export function logRecoveryAttempt(config, event) {
447
+ ClearcutLogger.getInstance(config)?.logRecoveryAttemptEvent(event);
448
+ if (!isTelemetrySdkInitialized())
449
+ return;
450
+ const logger = logs.getLogger(SERVICE_NAME);
451
+ const logRecord = {
452
+ body: event.toLogBody(),
453
+ attributes: event.toOpenTelemetryAttributes(config),
454
+ };
455
+ logger.emit(logRecord);
456
+ recordRecoveryAttemptMetrics(config, event);
457
+ }
458
+ export function logWebFetchFallbackAttempt(config, event) {
459
+ ClearcutLogger.getInstance(config)?.logWebFetchFallbackAttemptEvent(event);
460
+ if (!isTelemetrySdkInitialized())
461
+ return;
462
+ const logger = logs.getLogger(SERVICE_NAME);
463
+ const logRecord = {
464
+ body: event.toLogBody(),
465
+ attributes: event.toOpenTelemetryAttributes(config),
466
+ };
467
+ logger.emit(logRecord);
468
+ }
469
+ export function logLlmLoopCheck(config, event) {
470
+ ClearcutLogger.getInstance(config)?.logLlmLoopCheckEvent(event);
471
+ if (!isTelemetrySdkInitialized())
472
+ return;
596
473
  const logger = logs.getLogger(SERVICE_NAME);
597
474
  const logRecord = {
598
- body: `Disabled extension ${event.extension_name}`,
599
- attributes,
475
+ body: event.toLogBody(),
476
+ attributes: event.toOpenTelemetryAttributes(config),
600
477
  };
601
478
  logger.emit(logRecord);
602
479
  }