indusagi-coding-agent 0.1.37 → 0.1.39

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 (489) hide show
  1. package/CHANGELOG.md +23 -7
  2. package/README.md +2 -4
  3. package/dist/cli/args.d.ts +6 -128
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +277 -472
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/cli/config-selector.d.ts +9 -62
  8. package/dist/cli/config-selector.d.ts.map +1 -1
  9. package/dist/cli/config-selector.js +31 -146
  10. package/dist/cli/config-selector.js.map +1 -1
  11. package/dist/cli/file-processor.d.ts +1 -69
  12. package/dist/cli/file-processor.d.ts.map +1 -1
  13. package/dist/cli/file-processor.js +36 -267
  14. package/dist/cli/file-processor.js.map +1 -1
  15. package/dist/cli/list-models.d.ts +0 -60
  16. package/dist/cli/list-models.d.ts.map +1 -1
  17. package/dist/cli/list-models.js +53 -246
  18. package/dist/cli/list-models.js.map +1 -1
  19. package/dist/cli/session-picker.d.ts +1 -72
  20. package/dist/cli/session-picker.d.ts.map +1 -1
  21. package/dist/cli/session-picker.js +57 -231
  22. package/dist/cli/session-picker.js.map +1 -1
  23. package/dist/cli.js +25 -31
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +0 -42
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +62 -97
  28. package/dist/config.js.map +1 -1
  29. package/dist/core/agent-session.d.ts +23 -0
  30. package/dist/core/agent-session.d.ts.map +1 -1
  31. package/dist/core/agent-session.js +78 -66
  32. package/dist/core/agent-session.js.map +1 -1
  33. package/dist/core/auth-storage.d.ts +4 -95
  34. package/dist/core/auth-storage.d.ts.map +1 -1
  35. package/dist/core/auth-storage.js +233 -288
  36. package/dist/core/auth-storage.js.map +1 -1
  37. package/dist/core/bash-executor.d.ts +0 -323
  38. package/dist/core/bash-executor.d.ts.map +1 -1
  39. package/dist/core/bash-executor.js +126 -359
  40. package/dist/core/bash-executor.js.map +1 -1
  41. package/dist/core/compaction/branch-summarization.d.ts +3 -3
  42. package/dist/core/compaction/branch-summarization.js +16 -16
  43. package/dist/core/compaction/branch-summarization.js.map +1 -1
  44. package/dist/core/compaction/compaction.d.ts +3 -3
  45. package/dist/core/compaction/compaction.js +40 -40
  46. package/dist/core/compaction/compaction.js.map +1 -1
  47. package/dist/core/compaction/index.d.ts +32 -4
  48. package/dist/core/compaction/index.d.ts.map +1 -1
  49. package/dist/core/compaction/index.js +30 -4
  50. package/dist/core/compaction/index.js.map +1 -1
  51. package/dist/core/compaction/utils.d.ts +1 -19
  52. package/dist/core/compaction/utils.d.ts.map +1 -1
  53. package/dist/core/compaction/utils.js +92 -113
  54. package/dist/core/compaction/utils.js.map +1 -1
  55. package/dist/core/discover-packages.d.ts +0 -4
  56. package/dist/core/discover-packages.d.ts.map +1 -1
  57. package/dist/core/discover-packages.js +41 -44
  58. package/dist/core/discover-packages.js.map +1 -1
  59. package/dist/core/event-bus.d.ts +1 -147
  60. package/dist/core/event-bus.d.ts.map +1 -1
  61. package/dist/core/event-bus.js +17 -106
  62. package/dist/core/event-bus.js.map +1 -1
  63. package/dist/core/exec.d.ts +0 -16
  64. package/dist/core/exec.d.ts.map +1 -1
  65. package/dist/core/exec.js +18 -27
  66. package/dist/core/exec.js.map +1 -1
  67. package/dist/core/export-html/ansi-to-html.ts +262 -0
  68. package/dist/core/export-html/index.ts +433 -0
  69. package/dist/core/export-html/template.html +48 -26
  70. package/dist/core/export-html/tool-renderer.d.ts +0 -21
  71. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  72. package/dist/core/export-html/tool-renderer.js +35 -51
  73. package/dist/core/export-html/tool-renderer.js.map +1 -1
  74. package/dist/core/export-html/tool-renderer.ts +80 -0
  75. package/dist/core/export-html/vendor/highlight.min.js +401 -370
  76. package/dist/core/export-html/vendor/marked.min.js +71 -3
  77. package/dist/core/extensions/index.d.ts +7 -4
  78. package/dist/core/extensions/index.d.ts.map +1 -1
  79. package/dist/core/extensions/index.js +17 -3
  80. package/dist/core/extensions/index.js.map +1 -1
  81. package/dist/core/extensions/loader.d.ts +0 -6
  82. package/dist/core/extensions/loader.d.ts.map +1 -1
  83. package/dist/core/extensions/loader.js +60 -56
  84. package/dist/core/extensions/loader.js.map +1 -1
  85. package/dist/core/extensions/runner.d.ts +3 -0
  86. package/dist/core/extensions/runner.d.ts.map +1 -1
  87. package/dist/core/extensions/runner.js +48 -80
  88. package/dist/core/extensions/runner.js.map +1 -1
  89. package/dist/core/extensions/types.d.ts +50 -23
  90. package/dist/core/extensions/types.d.ts.map +1 -1
  91. package/dist/core/footer-data-provider.d.ts +2 -15
  92. package/dist/core/footer-data-provider.d.ts.map +1 -1
  93. package/dist/core/footer-data-provider.js +21 -33
  94. package/dist/core/footer-data-provider.js.map +1 -1
  95. package/dist/core/hooks/loader.js +2 -2
  96. package/dist/core/hooks/loader.js.map +1 -1
  97. package/dist/core/index.d.ts +29 -10
  98. package/dist/core/index.d.ts.map +1 -1
  99. package/dist/core/index.js +29 -10
  100. package/dist/core/index.js.map +1 -1
  101. package/dist/core/keybindings.d.ts +2 -179
  102. package/dist/core/keybindings.d.ts.map +1 -1
  103. package/dist/core/keybindings.js +64 -238
  104. package/dist/core/keybindings.js.map +1 -1
  105. package/dist/core/model-registry.d.ts +26 -181
  106. package/dist/core/model-registry.d.ts.map +1 -1
  107. package/dist/core/model-registry.js +228 -407
  108. package/dist/core/model-registry.js.map +1 -1
  109. package/dist/core/model-resolver.d.ts +0 -139
  110. package/dist/core/model-resolver.d.ts.map +1 -1
  111. package/dist/core/model-resolver.js +36 -217
  112. package/dist/core/model-resolver.js.map +1 -1
  113. package/dist/core/package-manager.d.ts +25 -57
  114. package/dist/core/package-manager.d.ts.map +1 -1
  115. package/dist/core/package-manager.js +326 -964
  116. package/dist/core/package-manager.js.map +1 -1
  117. package/dist/core/prompt-templates.d.ts +2 -34
  118. package/dist/core/prompt-templates.d.ts.map +1 -1
  119. package/dist/core/prompt-templates.js +122 -170
  120. package/dist/core/prompt-templates.js.map +1 -1
  121. package/dist/core/resource-loader.d.ts +19 -12
  122. package/dist/core/resource-loader.d.ts.map +1 -1
  123. package/dist/core/resource-loader.js +353 -467
  124. package/dist/core/resource-loader.js.map +1 -1
  125. package/dist/core/sdk.d.ts +2 -61
  126. package/dist/core/sdk.d.ts.map +1 -1
  127. package/dist/core/sdk.js +184 -252
  128. package/dist/core/sdk.js.map +1 -1
  129. package/dist/core/session-manager.d.ts +447 -1
  130. package/dist/core/session-manager.d.ts.map +1 -1
  131. package/dist/core/session-manager.js +1176 -1
  132. package/dist/core/session-manager.js.map +1 -1
  133. package/dist/core/settings-manager.d.ts +9 -12
  134. package/dist/core/settings-manager.d.ts.map +1 -1
  135. package/dist/core/settings-manager.js +170 -398
  136. package/dist/core/settings-manager.js.map +1 -1
  137. package/dist/core/skills.d.ts +2 -27
  138. package/dist/core/skills.d.ts.map +1 -1
  139. package/dist/core/skills.js +149 -212
  140. package/dist/core/skills.js.map +1 -1
  141. package/dist/core/subagents.d.ts +2 -2
  142. package/dist/core/subagents.d.ts.map +1 -1
  143. package/dist/core/subagents.js +21 -14
  144. package/dist/core/subagents.js.map +1 -1
  145. package/dist/core/system-prompt.d.ts +0 -11
  146. package/dist/core/system-prompt.d.ts.map +1 -1
  147. package/dist/core/system-prompt.js +168 -139
  148. package/dist/core/system-prompt.js.map +1 -1
  149. package/dist/core/timings.d.ts +1 -4
  150. package/dist/core/timings.d.ts.map +1 -1
  151. package/dist/core/timings.js +34 -18
  152. package/dist/core/timings.js.map +1 -1
  153. package/dist/core/todo-store.d.ts +20 -0
  154. package/dist/core/todo-store.d.ts.map +1 -0
  155. package/dist/core/todo-store.js +60 -0
  156. package/dist/core/todo-store.js.map +1 -0
  157. package/dist/core/tools/bash.d.ts +2 -0
  158. package/dist/core/tools/bash.d.ts.map +1 -0
  159. package/dist/core/tools/bash.js +2 -0
  160. package/dist/core/tools/bash.js.map +1 -0
  161. package/dist/core/tools/bg-process.d.ts +1 -6
  162. package/dist/core/tools/bg-process.d.ts.map +1 -1
  163. package/dist/core/tools/bg-process.js +4 -18
  164. package/dist/core/tools/bg-process.js.map +1 -1
  165. package/dist/core/tools/edit-diff.d.ts +9 -0
  166. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  167. package/dist/core/tools/edit-diff.js +2 -0
  168. package/dist/core/tools/edit-diff.js.map +1 -0
  169. package/dist/core/tools/edit.d.ts +2 -0
  170. package/dist/core/tools/edit.d.ts.map +1 -0
  171. package/dist/core/tools/edit.js +2 -0
  172. package/dist/core/tools/edit.js.map +1 -0
  173. package/dist/core/tools/find.d.ts +2 -0
  174. package/dist/core/tools/find.d.ts.map +1 -0
  175. package/dist/core/tools/find.js +2 -0
  176. package/dist/core/tools/find.js.map +1 -0
  177. package/dist/core/tools/grep.d.ts +2 -0
  178. package/dist/core/tools/grep.d.ts.map +1 -0
  179. package/dist/core/tools/grep.js +2 -0
  180. package/dist/core/tools/grep.js.map +1 -0
  181. package/dist/core/tools/index.d.ts +7 -1
  182. package/dist/core/tools/index.d.ts.map +1 -1
  183. package/dist/core/tools/ls.d.ts +2 -0
  184. package/dist/core/tools/ls.d.ts.map +1 -0
  185. package/dist/core/tools/ls.js +2 -0
  186. package/dist/core/tools/ls.js.map +1 -0
  187. package/dist/core/tools/path-utils.d.ts +2 -0
  188. package/dist/core/tools/path-utils.d.ts.map +1 -0
  189. package/dist/core/tools/path-utils.js +2 -0
  190. package/dist/core/tools/path-utils.js.map +1 -0
  191. package/dist/core/tools/read.d.ts +2 -0
  192. package/dist/core/tools/read.d.ts.map +1 -0
  193. package/dist/core/tools/read.js +2 -0
  194. package/dist/core/tools/read.js.map +1 -0
  195. package/dist/core/tools/registry.d.ts +0 -15
  196. package/dist/core/tools/registry.d.ts.map +1 -1
  197. package/dist/core/tools/registry.js +13 -37
  198. package/dist/core/tools/registry.js.map +1 -1
  199. package/dist/core/tools/task.d.ts +17 -23
  200. package/dist/core/tools/task.d.ts.map +1 -1
  201. package/dist/core/tools/task.js +43 -82
  202. package/dist/core/tools/task.js.map +1 -1
  203. package/dist/core/tools/todo.d.ts +17 -20
  204. package/dist/core/tools/todo.d.ts.map +1 -1
  205. package/dist/core/tools/todo.js +79 -58
  206. package/dist/core/tools/todo.js.map +1 -1
  207. package/dist/core/tools/truncate.d.ts +2 -0
  208. package/dist/core/tools/truncate.d.ts.map +1 -0
  209. package/dist/core/tools/truncate.js +2 -0
  210. package/dist/core/tools/truncate.js.map +1 -0
  211. package/dist/core/tools/webfetch.d.ts +2 -0
  212. package/dist/core/tools/webfetch.d.ts.map +1 -0
  213. package/dist/core/tools/webfetch.js +2 -0
  214. package/dist/core/tools/webfetch.js.map +1 -0
  215. package/dist/core/tools/websearch.d.ts +2 -0
  216. package/dist/core/tools/websearch.d.ts.map +1 -0
  217. package/dist/core/tools/websearch.js +2 -0
  218. package/dist/core/tools/websearch.js.map +1 -0
  219. package/dist/core/tools/write.d.ts +2 -0
  220. package/dist/core/tools/write.d.ts.map +1 -0
  221. package/dist/core/tools/write.js +2 -0
  222. package/dist/core/tools/write.js.map +1 -0
  223. package/dist/index.d.ts +35 -29
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +33 -41
  226. package/dist/index.js.map +1 -1
  227. package/dist/main.d.ts.map +1 -1
  228. package/dist/main.js +237 -225
  229. package/dist/main.js.map +1 -1
  230. package/dist/migrations.d.ts +0 -25
  231. package/dist/migrations.d.ts.map +1 -1
  232. package/dist/migrations.js +129 -180
  233. package/dist/migrations.js.map +1 -1
  234. package/dist/modes/index.d.ts +13 -6
  235. package/dist/modes/index.d.ts.map +1 -1
  236. package/dist/modes/index.js +11 -5
  237. package/dist/modes/index.js.map +1 -1
  238. package/dist/modes/interactive/components/armin.d.ts +8 -23
  239. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  240. package/dist/modes/interactive/components/armin.js +217 -266
  241. package/dist/modes/interactive/components/armin.js.map +1 -1
  242. package/dist/modes/interactive/components/assistant-message.d.ts +2 -168
  243. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  244. package/dist/modes/interactive/components/assistant-message.js +61 -216
  245. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  246. package/dist/modes/interactive/components/bash-execution.d.ts +6 -313
  247. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  248. package/dist/modes/interactive/components/bash-execution.js +86 -403
  249. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  250. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -3
  251. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  252. package/dist/modes/interactive/components/bordered-loader.js +59 -29
  253. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  254. package/dist/modes/interactive/components/branch-summary-message.d.ts +3 -3
  255. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  256. package/dist/modes/interactive/components/branch-summary-message.js +30 -17
  257. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  258. package/dist/modes/interactive/components/compaction-summary-message.d.ts +3 -3
  259. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  260. package/dist/modes/interactive/components/compaction-summary-message.js +35 -18
  261. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  262. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  263. package/dist/modes/interactive/components/config-selector.js +60 -68
  264. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  265. package/dist/modes/interactive/components/countdown-timer.d.ts +2 -6
  266. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  267. package/dist/modes/interactive/components/countdown-timer.js +32 -18
  268. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  269. package/dist/modes/interactive/components/custom-editor.d.ts +1 -5
  270. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  271. package/dist/modes/interactive/components/custom-editor.js +45 -37
  272. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  273. package/dist/modes/interactive/components/custom-message.d.ts +5 -6
  274. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  275. package/dist/modes/interactive/components/custom-message.js +43 -53
  276. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  277. package/dist/modes/interactive/components/diff.d.ts +0 -3
  278. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  279. package/dist/modes/interactive/components/diff.js +101 -108
  280. package/dist/modes/interactive/components/diff.js.map +1 -1
  281. package/dist/modes/interactive/components/dynamic-border.d.ts +7 -2
  282. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  283. package/dist/modes/interactive/components/dynamic-border.js +24 -4
  284. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  285. package/dist/modes/interactive/components/extension-editor.d.ts +5 -9
  286. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  287. package/dist/modes/interactive/components/extension-editor.js +43 -46
  288. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  289. package/dist/modes/interactive/components/extension-input.d.ts +4 -9
  290. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  291. package/dist/modes/interactive/components/extension-input.js +45 -28
  292. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  293. package/dist/modes/interactive/components/extension-selector.d.ts +7 -12
  294. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  295. package/dist/modes/interactive/components/extension-selector.js +54 -32
  296. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  297. package/dist/modes/interactive/components/footer.d.ts +2 -11
  298. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  299. package/dist/modes/interactive/components/footer.js +135 -183
  300. package/dist/modes/interactive/components/footer.js.map +1 -1
  301. package/dist/modes/interactive/components/index.d.ts +79 -30
  302. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  303. package/dist/modes/interactive/components/index.js +73 -31
  304. package/dist/modes/interactive/components/index.js.map +1 -1
  305. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -18
  306. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  307. package/dist/modes/interactive/components/keybinding-hints.js +24 -31
  308. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  309. package/dist/modes/interactive/components/login-dialog.d.ts +11 -24
  310. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  311. package/dist/modes/interactive/components/login-dialog.js +89 -86
  312. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  313. package/dist/modes/interactive/components/model-selector.d.ts +15 -19
  314. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  315. package/dist/modes/interactive/components/model-selector.js +104 -157
  316. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  317. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  318. package/dist/modes/interactive/components/oauth-selector.js +5 -5
  319. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  320. package/dist/modes/interactive/components/scoped-models-selector.d.ts +12 -22
  321. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  322. package/dist/modes/interactive/components/scoped-models-selector.js +111 -132
  323. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  324. package/dist/modes/interactive/components/session-selector-search.d.ts +3 -3
  325. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  326. package/dist/modes/interactive/components/session-selector-search.js +92 -103
  327. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  328. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  329. package/dist/modes/interactive/components/session-selector.js +28 -39
  330. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  331. package/dist/modes/interactive/components/settings-selector.d.ts +1 -1
  332. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  333. package/dist/modes/interactive/components/settings-selector.js +111 -203
  334. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  335. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  336. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  337. package/dist/modes/interactive/components/show-images-selector.js +17 -19
  338. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  339. package/dist/modes/interactive/components/skill-invocation-message.d.ts +3 -3
  340. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  341. package/dist/modes/interactive/components/skill-invocation-message.js +29 -19
  342. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  343. package/dist/modes/interactive/components/theme-selector.d.ts +2 -2
  344. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  345. package/dist/modes/interactive/components/theme-selector.js +20 -25
  346. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  347. package/dist/modes/interactive/components/thinking-selector.d.ts +1 -1
  348. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  349. package/dist/modes/interactive/components/thinking-selector.js +19 -20
  350. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  351. package/dist/modes/interactive/components/tool-execution.d.ts +12 -10
  352. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  353. package/dist/modes/interactive/components/tool-execution.js +14 -8
  354. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  355. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  356. package/dist/modes/interactive/components/tree-selector.js +53 -60
  357. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  358. package/dist/modes/interactive/components/user-message-selector.d.ts +3 -9
  359. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  360. package/dist/modes/interactive/components/user-message-selector.js +57 -68
  361. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  362. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -12
  363. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  364. package/dist/modes/interactive/components/visual-truncate.js +14 -22
  365. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  366. package/dist/modes/interactive/interactive-mode.d.ts +6 -0
  367. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  368. package/dist/modes/interactive/interactive-mode.js +118 -113
  369. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  370. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  371. package/dist/modes/interactive/theme/theme.js +189 -39
  372. package/dist/modes/interactive/theme/theme.js.map +1 -1
  373. package/dist/modes/rpc/rpc-client.d.ts +8 -1
  374. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  375. package/dist/modes/rpc/rpc-client.js +88 -59
  376. package/dist/modes/rpc/rpc-client.js.map +1 -1
  377. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  378. package/dist/modes/rpc/rpc-mode.js +24 -46
  379. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  380. package/dist/modes/rpc/rpc-types.d.ts +75 -409
  381. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  382. package/dist/modes/rpc/rpc-types.js +21 -360
  383. package/dist/modes/rpc/rpc-types.js.map +1 -1
  384. package/dist/observability/core/config.d.ts +28 -0
  385. package/dist/observability/core/config.d.ts.map +1 -0
  386. package/dist/observability/core/config.js +150 -0
  387. package/dist/observability/core/config.js.map +1 -0
  388. package/dist/observability/core/event-bus.d.ts +15 -0
  389. package/dist/observability/core/event-bus.d.ts.map +1 -0
  390. package/dist/observability/core/event-bus.js +37 -0
  391. package/dist/observability/core/event-bus.js.map +1 -0
  392. package/dist/observability/core/index.d.ts +12 -0
  393. package/dist/observability/core/index.d.ts.map +1 -0
  394. package/dist/observability/core/index.js +14 -0
  395. package/dist/observability/core/index.js.map +1 -0
  396. package/dist/observability/core/observability.d.ts +63 -0
  397. package/dist/observability/core/observability.d.ts.map +1 -0
  398. package/dist/observability/core/observability.js +127 -0
  399. package/dist/observability/core/observability.js.map +1 -0
  400. package/dist/observability/core/span.d.ts +37 -0
  401. package/dist/observability/core/span.d.ts.map +1 -0
  402. package/dist/observability/core/span.js +90 -0
  403. package/dist/observability/core/span.js.map +1 -0
  404. package/dist/observability/core/tracer.d.ts +22 -0
  405. package/dist/observability/core/tracer.d.ts.map +1 -0
  406. package/dist/observability/core/tracer.js +79 -0
  407. package/dist/observability/core/tracer.js.map +1 -0
  408. package/dist/observability/core/types.d.ts +155 -0
  409. package/dist/observability/core/types.d.ts.map +1 -0
  410. package/dist/observability/core/types.js +38 -0
  411. package/dist/observability/core/types.js.map +1 -0
  412. package/dist/observability/exporters/base-exporter.d.ts +16 -0
  413. package/dist/observability/exporters/base-exporter.d.ts.map +1 -0
  414. package/dist/observability/exporters/base-exporter.js +26 -0
  415. package/dist/observability/exporters/base-exporter.js.map +1 -0
  416. package/dist/observability/exporters/console-exporter.d.ts +22 -0
  417. package/dist/observability/exporters/console-exporter.d.ts.map +1 -0
  418. package/dist/observability/exporters/console-exporter.js +80 -0
  419. package/dist/observability/exporters/console-exporter.js.map +1 -0
  420. package/dist/observability/exporters/file-exporter.d.ts +31 -0
  421. package/dist/observability/exporters/file-exporter.d.ts.map +1 -0
  422. package/dist/observability/exporters/file-exporter.js +120 -0
  423. package/dist/observability/exporters/file-exporter.js.map +1 -0
  424. package/dist/observability/exporters/index.d.ts +12 -0
  425. package/dist/observability/exporters/index.d.ts.map +1 -0
  426. package/dist/observability/exporters/index.js +11 -0
  427. package/dist/observability/exporters/index.js.map +1 -0
  428. package/dist/observability/exporters/langfuse-exporter.d.ts +27 -0
  429. package/dist/observability/exporters/langfuse-exporter.d.ts.map +1 -0
  430. package/dist/observability/exporters/langfuse-exporter.js +146 -0
  431. package/dist/observability/exporters/langfuse-exporter.js.map +1 -0
  432. package/dist/observability/exporters/sentry-exporter.d.ts +22 -0
  433. package/dist/observability/exporters/sentry-exporter.d.ts.map +1 -0
  434. package/dist/observability/exporters/sentry-exporter.js +121 -0
  435. package/dist/observability/exporters/sentry-exporter.js.map +1 -0
  436. package/dist/observability/index.d.ts +3 -0
  437. package/dist/observability/index.d.ts.map +1 -0
  438. package/dist/observability/index.js +3 -0
  439. package/dist/observability/index.js.map +1 -0
  440. package/dist/utils/changelog.d.ts +1 -2
  441. package/dist/utils/changelog.d.ts.map +1 -1
  442. package/dist/utils/changelog.js +53 -61
  443. package/dist/utils/changelog.js.map +1 -1
  444. package/dist/utils/clipboard-image.d.ts.map +1 -1
  445. package/dist/utils/clipboard-image.js +77 -83
  446. package/dist/utils/clipboard-image.js.map +1 -1
  447. package/dist/utils/clipboard.d.ts.map +1 -1
  448. package/dist/utils/clipboard.js +62 -49
  449. package/dist/utils/clipboard.js.map +1 -1
  450. package/dist/utils/image-convert.d.ts +6 -6
  451. package/dist/utils/image-convert.d.ts.map +1 -1
  452. package/dist/utils/image-convert.js +29 -23
  453. package/dist/utils/image-convert.js.map +1 -1
  454. package/dist/utils/image-resize.d.ts +0 -17
  455. package/dist/utils/image-resize.d.ts.map +1 -1
  456. package/dist/utils/image-resize.js +100 -138
  457. package/dist/utils/image-resize.js.map +1 -1
  458. package/dist/utils/mime.d.ts +1 -0
  459. package/dist/utils/mime.d.ts.map +1 -1
  460. package/dist/utils/mime.js +35 -15
  461. package/dist/utils/mime.js.map +1 -1
  462. package/dist/utils/photon.d.ts +4 -15
  463. package/dist/utils/photon.d.ts.map +1 -1
  464. package/dist/utils/photon.js +71 -60
  465. package/dist/utils/photon.js.map +1 -1
  466. package/dist/utils/shell.d.ts +4 -21
  467. package/dist/utils/shell.d.ts.map +1 -1
  468. package/dist/utils/shell.js +101 -124
  469. package/dist/utils/shell.js.map +1 -1
  470. package/dist/utils/sleep.d.ts +1 -1
  471. package/dist/utils/sleep.d.ts.map +1 -1
  472. package/dist/utils/sleep.js +32 -8
  473. package/dist/utils/sleep.js.map +1 -1
  474. package/dist/utils/tools-manager.d.ts +4 -2
  475. package/dist/utils/tools-manager.d.ts.map +1 -1
  476. package/dist/utils/tools-manager.js +96 -122
  477. package/dist/utils/tools-manager.js.map +1 -1
  478. package/docs/PI_MONO_MIT_REMOVAL_GUIDE.md +2132 -0
  479. package/docs/SAME_TO_SAME_PARITY_REPORT.md +312 -0
  480. package/examples/README.md +12 -0
  481. package/package.json +60 -88
  482. package/LICENSE.md +0 -22
  483. package/dist/modes/interactive/theme/dark.json +0 -85
  484. package/dist/modes/interactive/theme/light.json +0 -84
  485. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  486. package/docs/FEATURES.md +0 -306
  487. package/docs/MCP.md +0 -341
  488. package/docs/MEMORY.md +0 -443
  489. package/examples/mcp-servers.example.json +0 -50
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Observability Core Types
3
+ *
4
+ * Based on OpenTelemetry standards and Mastra observability patterns.
5
+ * Provides type-safe spans, traces, and sampling for agent operations.
6
+ */
7
+ // Span types enumeration
8
+ export var SpanType;
9
+ (function (SpanType) {
10
+ // Agent lifecycle
11
+ SpanType["AGENT_RUN"] = "agent_run";
12
+ SpanType["AGENT_STEP"] = "agent_step";
13
+ SpanType["AGENT_DECISION"] = "agent_decision";
14
+ // AI/Model operations
15
+ SpanType["MODEL_GENERATION"] = "model_generation";
16
+ SpanType["MODEL_STEP"] = "model_step";
17
+ SpanType["MODEL_CHUNK"] = "model_chunk";
18
+ // Tool operations
19
+ SpanType["TOOL_CALL"] = "tool_call";
20
+ SpanType["MCP_TOOL_CALL"] = "mcp_tool_call";
21
+ // Memory operations
22
+ SpanType["MEMORY_OPERATION"] = "memory_operation";
23
+ SpanType["MEMORY_RETRIEVE"] = "memory_retrieve";
24
+ SpanType["MEMORY_STORE"] = "memory_store";
25
+ // Workflow operations
26
+ SpanType["WORKFLOW_RUN"] = "workflow_run";
27
+ SpanType["WORKFLOW_STEP"] = "workflow_step";
28
+ // Custom operations
29
+ SpanType["GENERIC"] = "generic";
30
+ })(SpanType || (SpanType = {}));
31
+ export var SpanStatus;
32
+ (function (SpanStatus) {
33
+ SpanStatus["PENDING"] = "pending";
34
+ SpanStatus["SUCCESS"] = "success";
35
+ SpanStatus["ERROR"] = "error";
36
+ SpanStatus["ABORTED"] = "aborted";
37
+ })(SpanStatus || (SpanStatus = {}));
38
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/observability/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yBAAyB;AACzB,MAAM,CAAN,IAAY,QA0BX;AA1BD,WAAY,QAAQ;IAClB,kBAAkB;IAClB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,6CAAiC,CAAA;IAEjC,sBAAsB;IACtB,iDAAqC,CAAA;IACrC,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAE3B,kBAAkB;IAClB,mCAAuB,CAAA;IACvB,2CAA+B,CAAA;IAE/B,oBAAoB;IACpB,iDAAqC,CAAA;IACrC,+CAAmC,CAAA;IACnC,yCAA6B,CAAA;IAE7B,sBAAsB;IACtB,yCAA6B,CAAA;IAC7B,2CAA+B,CAAA;IAE/B,oBAAoB;IACpB,+BAAmB,CAAA;AACrB,CAAC,EA1BW,QAAQ,KAAR,QAAQ,QA0BnB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Base Exporter
3
+ *
4
+ * Abstract base class for all observability exporters.
5
+ */
6
+ import { ObservabilityExporter, Span } from '../core/types.js';
7
+ export declare abstract class BaseExporter implements ObservabilityExporter {
8
+ abstract name: string;
9
+ protected isDisabled: boolean;
10
+ exportSpan(span: Span): Promise<void>;
11
+ protected abstract _exportSpan(span: Span): Promise<void>;
12
+ flush(): Promise<void>;
13
+ shutdown(): Promise<void>;
14
+ protected setDisabled(reason: string): void;
15
+ }
16
+ //# sourceMappingURL=base-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-exporter.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/base-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE/D,8BAAsB,YAAa,YAAW,qBAAqB;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEhC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAI5C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Base Exporter
3
+ *
4
+ * Abstract base class for all observability exporters.
5
+ */
6
+ export class BaseExporter {
7
+ constructor() {
8
+ this.isDisabled = false;
9
+ }
10
+ async exportSpan(span) {
11
+ if (this.isDisabled || !span.sampled)
12
+ return;
13
+ await this._exportSpan(span);
14
+ }
15
+ async flush() {
16
+ // Override in subclasses for batched exporters
17
+ }
18
+ async shutdown() {
19
+ // Override in subclasses for cleanup
20
+ }
21
+ setDisabled(reason) {
22
+ console.warn(`Exporter ${this.name} disabled: ${reason}`);
23
+ this.isDisabled = true;
24
+ }
25
+ }
26
+ //# sourceMappingURL=base-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-exporter.js","sourceRoot":"","sources":["../../../src/observability/exporters/base-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAgB,YAAY;IAAlC;QAEY,eAAU,GAAY,KAAK,CAAC;IAqBxC,CAAC;IAnBC,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAID,KAAK,CAAC,KAAK;QACT,+CAA+C;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,qCAAqC;IACvC,CAAC;IAES,WAAW,CAAC,MAAc;QAClC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,cAAc,MAAM,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Console Exporter
3
+ *
4
+ * Outputs spans to the console with color formatting.
5
+ */
6
+ import { Span } from '../core/types.js';
7
+ import { BaseExporter } from './base-exporter.js';
8
+ export interface ConsoleExporterOptions {
9
+ colors?: boolean;
10
+ showInput?: boolean;
11
+ showOutput?: boolean;
12
+ maxOutputLines?: number;
13
+ }
14
+ export declare class ConsoleExporter extends BaseExporter {
15
+ name: string;
16
+ private options;
17
+ private colors;
18
+ constructor(options?: ConsoleExporterOptions);
19
+ protected _exportSpan(span: Span): Promise<void>;
20
+ private truncateOutput;
21
+ }
22
+ //# sourceMappingURL=console-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-exporter.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/console-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,IAAI,SAAa;IACjB,OAAO,CAAC,OAAO,CAAyB;IAExC,OAAO,CAAC,MAAM,CASZ;gBAEU,OAAO,GAAE,sBAA2B;cAWhC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEtD,OAAO,CAAC,cAAc;CAUvB"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Console Exporter
3
+ *
4
+ * Outputs spans to the console with color formatting.
5
+ */
6
+ import { BaseExporter } from './base-exporter.js';
7
+ export class ConsoleExporter extends BaseExporter {
8
+ constructor(options = {}) {
9
+ super();
10
+ this.name = 'console';
11
+ this.colors = {
12
+ reset: '\x1b[0m',
13
+ bright: '\x1b[1m',
14
+ dim: '\x1b[2m',
15
+ cyan: '\x1b[36m',
16
+ green: '\x1b[32m',
17
+ yellow: '\x1b[33m',
18
+ red: '\x1b[31m',
19
+ magenta: '\x1b[35m',
20
+ };
21
+ this.options = {
22
+ colors: true,
23
+ showInput: false,
24
+ showOutput: true,
25
+ maxOutputLines: 5,
26
+ ...options,
27
+ };
28
+ }
29
+ async _exportSpan(span) {
30
+ const useColors = this.options.colors && process.stdout.isTTY;
31
+ const c = useColors ? this.colors : { reset: '', bright: '', dim: '', cyan: '', green: '', yellow: '', red: '', magenta: '' };
32
+ const statusColor = span.status === 'success'
33
+ ? c.green
34
+ : span.status === 'error'
35
+ ? c.red
36
+ : c.yellow;
37
+ const duration = span.duration ? `${span.duration}ms` : 'pending';
38
+ // Main output
39
+ console.log(`${c.bright}${statusColor}[${span.type}]${c.reset} ` +
40
+ `${c.cyan}${span.name}${c.reset} ${c.dim}(${duration})${c.reset}`);
41
+ // Show trace info
42
+ console.log(` ${c.dim}trace: ${span.traceId.substring(0, 8)}... span: ${span.spanId.substring(0, 8)}${c.reset}`);
43
+ // Show error if present
44
+ if (span.error) {
45
+ console.error(` ${c.red}❌ Error: ${span.error.message}${c.reset}`);
46
+ if (span.error.type) {
47
+ console.error(` ${c.dim}Type: ${span.error.type}${c.reset}`);
48
+ }
49
+ }
50
+ // Show attributes
51
+ const attrs = Object.fromEntries(span.attributes);
52
+ if (Object.keys(attrs).length > 0) {
53
+ console.log(` ${c.magenta}Attributes:${c.reset}`, attrs);
54
+ }
55
+ // Show input if configured
56
+ if (this.options.showInput && span.input) {
57
+ const inputStr = typeof span.input === 'string'
58
+ ? span.input
59
+ : JSON.stringify(span.input, null, 2);
60
+ console.log(` ${c.dim}Input:${c.reset}`, this.truncateOutput(inputStr));
61
+ }
62
+ // Show output if configured
63
+ if (this.options.showOutput && span.output) {
64
+ const outputStr = typeof span.output === 'string'
65
+ ? span.output
66
+ : JSON.stringify(span.output, null, 2);
67
+ console.log(` ${c.dim}Output:${c.reset}`, this.truncateOutput(outputStr));
68
+ }
69
+ console.log(''); // Empty line for readability
70
+ }
71
+ truncateOutput(output) {
72
+ const lines = output.split('\n');
73
+ const maxLines = this.options.maxOutputLines || 5;
74
+ if (lines.length <= maxLines) {
75
+ return output;
76
+ }
77
+ return lines.slice(0, maxLines).join('\n') + `\n ... (${lines.length - maxLines} more lines)`;
78
+ }
79
+ }
80
+ //# sourceMappingURL=console-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-exporter.js","sourceRoot":"","sources":["../../../src/observability/exporters/console-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * File Exporter
3
+ *
4
+ * Exports spans to files in JSON or NDJSON format.
5
+ */
6
+ import { Span } from '../core/types.js';
7
+ import { BaseExporter } from './base-exporter.js';
8
+ export interface FileExporterOptions {
9
+ outputPath?: string;
10
+ format?: 'json' | 'ndjson';
11
+ batchByTrace?: boolean;
12
+ maxFileSize?: number;
13
+ }
14
+ export declare class FileExporter extends BaseExporter {
15
+ name: string;
16
+ private outputPath;
17
+ private format;
18
+ private batchByTrace;
19
+ private maxFileSize;
20
+ private spans;
21
+ private writePromise;
22
+ private initialized;
23
+ constructor(options?: FileExporterOptions);
24
+ private ensureDirectory;
25
+ protected _exportSpan(span: Span): Promise<void>;
26
+ private spanToData;
27
+ flush(): Promise<void>;
28
+ private writeSpans;
29
+ shutdown(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=file-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-exporter.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/file-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,IAAI,SAAU;IACd,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,GAAE,mBAAwB;YAQ/B,eAAe;cAWb,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,OAAO,CAAC,UAAU;IAoBZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,UAAU;IA8ClB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * File Exporter
3
+ *
4
+ * Exports spans to files in JSON or NDJSON format.
5
+ */
6
+ import fs from 'fs/promises';
7
+ import path from 'path';
8
+ import { BaseExporter } from './base-exporter.js';
9
+ export class FileExporter extends BaseExporter {
10
+ constructor(options = {}) {
11
+ super();
12
+ this.name = 'file';
13
+ this.spans = [];
14
+ this.writePromise = null;
15
+ this.initialized = false;
16
+ this.outputPath = options.outputPath || './traces';
17
+ this.format = options.format || 'ndjson';
18
+ this.batchByTrace = options.batchByTrace ?? true;
19
+ this.maxFileSize = options.maxFileSize || 10 * 1024 * 1024; // 10MB default
20
+ }
21
+ async ensureDirectory() {
22
+ if (this.initialized)
23
+ return;
24
+ try {
25
+ await fs.mkdir(this.outputPath, { recursive: true });
26
+ this.initialized = true;
27
+ }
28
+ catch (error) {
29
+ this.setDisabled(`Failed to create directory: ${this.outputPath}`);
30
+ }
31
+ }
32
+ async _exportSpan(span) {
33
+ await this.ensureDirectory();
34
+ if (this.isDisabled)
35
+ return;
36
+ this.spans.push(this.spanToData(span));
37
+ // Batch writes
38
+ if (this.spans.length >= 10) {
39
+ await this.flush();
40
+ }
41
+ }
42
+ spanToData(span) {
43
+ return {
44
+ spanId: span.spanId,
45
+ traceId: span.traceId,
46
+ parentSpanId: span.parentSpanId,
47
+ name: span.name,
48
+ type: span.type,
49
+ status: span.status,
50
+ startTime: span.startTime,
51
+ endTime: span.endTime,
52
+ duration: span.duration,
53
+ input: span.input,
54
+ output: span.output,
55
+ error: span.error,
56
+ attributes: Object.fromEntries(span.attributes),
57
+ metadata: Object.fromEntries(span.metadata),
58
+ sampled: span.sampled,
59
+ };
60
+ }
61
+ async flush() {
62
+ if (this.isDisabled || this.spans.length === 0)
63
+ return;
64
+ // Wait for any pending write
65
+ if (this.writePromise) {
66
+ await this.writePromise;
67
+ }
68
+ const spansToWrite = [...this.spans];
69
+ this.spans = [];
70
+ this.writePromise = this.writeSpans(spansToWrite);
71
+ await this.writePromise;
72
+ this.writePromise = null;
73
+ }
74
+ async writeSpans(spans) {
75
+ if (spans.length === 0)
76
+ return;
77
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
78
+ if (this.batchByTrace) {
79
+ // Group by trace ID
80
+ const traceGroups = new Map();
81
+ for (const span of spans) {
82
+ const existing = traceGroups.get(span.traceId) || [];
83
+ existing.push(span);
84
+ traceGroups.set(span.traceId, existing);
85
+ }
86
+ // Write each trace group
87
+ for (const [traceId, traceSpans] of traceGroups) {
88
+ const filename = `trace-${traceId.substring(0, 8)}-${timestamp}.${this.format === 'json' ? 'json' : 'ndjson'}`;
89
+ const filePath = path.join(this.outputPath, filename);
90
+ try {
91
+ const content = this.format === 'json'
92
+ ? JSON.stringify(traceSpans, null, 2)
93
+ : traceSpans.map(s => JSON.stringify(s)).join('\n') + '\n';
94
+ await fs.writeFile(filePath, content);
95
+ }
96
+ catch (error) {
97
+ console.error(`FileExporter error writing to ${filePath}:`, error);
98
+ }
99
+ }
100
+ }
101
+ else {
102
+ // Write all spans to a single file
103
+ const filename = `traces-${timestamp}.${this.format === 'json' ? 'json' : 'ndjson'}`;
104
+ const filePath = path.join(this.outputPath, filename);
105
+ try {
106
+ const content = this.format === 'json'
107
+ ? JSON.stringify(spans, null, 2)
108
+ : spans.map(s => JSON.stringify(s)).join('\n') + '\n';
109
+ await fs.writeFile(filePath, content);
110
+ }
111
+ catch (error) {
112
+ console.error(`FileExporter error writing to ${filePath}:`, error);
113
+ }
114
+ }
115
+ }
116
+ async shutdown() {
117
+ await this.flush();
118
+ }
119
+ }
120
+ //# sourceMappingURL=file-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-exporter.js","sourceRoot":"","sources":["../../../src/observability/exporters/file-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Observability Exporters
3
+ *
4
+ * Exports all available exporters for the observability system.
5
+ */
6
+ export { BaseExporter } from './base-exporter.js';
7
+ export { ConsoleExporter, type ConsoleExporterOptions } from './console-exporter.js';
8
+ export { FileExporter, type FileExporterOptions } from './file-exporter.js';
9
+ export { LangfuseExporter, type LangfuseExporterOptions } from './langfuse-exporter.js';
10
+ export { SentryExporter, type SentryExporterOptions } from './sentry-exporter.js';
11
+ export type { ObservabilityExporter } from '../core/types.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Observability Exporters
3
+ *
4
+ * Exports all available exporters for the observability system.
5
+ */
6
+ export { BaseExporter } from './base-exporter.js';
7
+ export { ConsoleExporter } from './console-exporter.js';
8
+ export { FileExporter } from './file-exporter.js';
9
+ export { LangfuseExporter } from './langfuse-exporter.js';
10
+ export { SentryExporter } from './sentry-exporter.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/observability/exporters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,cAAc,EAA8B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Langfuse Exporter
3
+ *
4
+ * Exports spans to Langfuse for AI observability and tracing.
5
+ */
6
+ import { Span } from '../core/types.js';
7
+ import { BaseExporter } from './base-exporter.js';
8
+ export interface LangfuseExporterOptions {
9
+ publicKey: string;
10
+ secretKey: string;
11
+ baseUrl?: string;
12
+ flushInterval?: number;
13
+ }
14
+ export declare class LangfuseExporter extends BaseExporter {
15
+ name: string;
16
+ private client;
17
+ private traceMap;
18
+ private spanMap;
19
+ private initPromise;
20
+ constructor(options: LangfuseExporterOptions);
21
+ private initialize;
22
+ protected _exportSpan(span: Span): Promise<void>;
23
+ private mapSpanType;
24
+ flush(): Promise<void>;
25
+ shutdown(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=langfuse-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-exporter.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/langfuse-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAY,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAwED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,IAAI,SAAc;IAClB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,EAAE,uBAAuB;YAW9B,UAAU;cAOR,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EtD,OAAO,CAAC,WAAW;IAKb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Langfuse Exporter
3
+ *
4
+ * Exports spans to Langfuse for AI observability and tracing.
5
+ */
6
+ import { SpanType } from '../core/types.js';
7
+ import { BaseExporter } from './base-exporter.js';
8
+ async function loadOptionalLangfuseModule() {
9
+ try {
10
+ const loader = new Function("specifier", "return import(specifier)");
11
+ return await loader("@langfuse/client");
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ // Dynamic import for Langfuse
18
+ async function createLangfuseClient(options) {
19
+ try {
20
+ const mod = await loadOptionalLangfuseModule();
21
+ const Langfuse = mod?.Langfuse;
22
+ if (!Langfuse) {
23
+ throw new Error("Langfuse module unavailable");
24
+ }
25
+ return new Langfuse({
26
+ publicKey: options.publicKey,
27
+ secretKey: options.secretKey,
28
+ baseUrl: options.baseUrl,
29
+ flushInterval: options.flushInterval || 1000,
30
+ });
31
+ }
32
+ catch {
33
+ console.warn('Langfuse client not available. Install @langfuse/client to use LangfuseExporter.');
34
+ return null;
35
+ }
36
+ }
37
+ export class LangfuseExporter extends BaseExporter {
38
+ constructor(options) {
39
+ super();
40
+ this.name = 'langfuse';
41
+ this.client = null;
42
+ this.traceMap = new Map();
43
+ this.spanMap = new Map();
44
+ this.initPromise = null;
45
+ if (!options.publicKey || !options.secretKey) {
46
+ this.setDisabled('Missing LANGFUSE_PUBLIC_KEY or LANGFUSE_SECRET_KEY');
47
+ return;
48
+ }
49
+ this.initPromise = this.initialize(options);
50
+ }
51
+ async initialize(options) {
52
+ this.client = await createLangfuseClient(options);
53
+ if (!this.client) {
54
+ this.setDisabled('Failed to initialize Langfuse client');
55
+ }
56
+ }
57
+ async _exportSpan(span) {
58
+ // Wait for initialization
59
+ if (this.initPromise) {
60
+ await this.initPromise;
61
+ this.initPromise = null;
62
+ }
63
+ if (!this.client || this.isDisabled)
64
+ return;
65
+ try {
66
+ if (!span.parentSpanId) {
67
+ // Root span - create trace
68
+ const trace = this.client.trace({
69
+ name: span.name,
70
+ metadata: Object.fromEntries(span.metadata),
71
+ sessionId: span.metadata.get('sessionId'),
72
+ });
73
+ this.traceMap.set(span.spanId, trace);
74
+ if (span.status === 'success' || span.status === 'error') {
75
+ trace.end({
76
+ output: span.output,
77
+ level: span.status === 'error' ? 'error' : 'info',
78
+ });
79
+ }
80
+ }
81
+ else {
82
+ // Child span - find parent trace
83
+ const parentTrace = this.traceMap.get(span.parentSpanId);
84
+ const parentSpan = this.spanMap.get(span.parentSpanId);
85
+ if (parentTrace) {
86
+ const spanType = this.mapSpanType(span.type);
87
+ const childSpan = spanType === 'generation'
88
+ ? parentTrace.generation({
89
+ name: span.name,
90
+ input: span.input,
91
+ metadata: Object.fromEntries(span.metadata),
92
+ endTime: span.endTime,
93
+ })
94
+ : parentTrace.span({
95
+ name: span.name,
96
+ input: span.input,
97
+ metadata: Object.fromEntries(span.metadata),
98
+ endTime: span.endTime,
99
+ });
100
+ this.spanMap.set(span.spanId, childSpan);
101
+ if (span.status === 'success' || span.status === 'error') {
102
+ childSpan.end({
103
+ output: span.output,
104
+ level: span.status === 'error' ? 'error' : 'info',
105
+ });
106
+ }
107
+ }
108
+ else if (parentSpan) {
109
+ // Nested under another span - not directly supported, treat as trace event
110
+ const trace = this.traceMap.get(span.traceId);
111
+ if (trace) {
112
+ trace.event({
113
+ name: span.name,
114
+ metadata: {
115
+ ...Object.fromEntries(span.metadata),
116
+ spanId: span.spanId,
117
+ parentSpanId: span.parentSpanId,
118
+ },
119
+ });
120
+ }
121
+ }
122
+ }
123
+ }
124
+ catch (error) {
125
+ console.error('Langfuse export error:', error);
126
+ }
127
+ }
128
+ mapSpanType(type) {
129
+ if (type === SpanType.MODEL_GENERATION)
130
+ return 'generation';
131
+ return 'span';
132
+ }
133
+ async flush() {
134
+ if (this.client) {
135
+ await this.client.flush();
136
+ }
137
+ }
138
+ async shutdown() {
139
+ if (this.client) {
140
+ await this.client.shutdown();
141
+ }
142
+ this.traceMap.clear();
143
+ this.spanMap.clear();
144
+ }
145
+ }
146
+ //# sourceMappingURL=langfuse-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-exporter.js","sourceRoot":"","sources":["../../../src/observability/exporters/langfuse-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Sentry Exporter
3
+ *
4
+ * Exports spans to Sentry for error tracking and performance monitoring.
5
+ */
6
+ import { Span } from '../core/types.js';
7
+ import { BaseExporter } from './base-exporter.js';
8
+ export interface SentryExporterOptions {
9
+ dsn: string;
10
+ environment?: string;
11
+ tracesSampleRate?: number;
12
+ }
13
+ export declare class SentryExporter extends BaseExporter {
14
+ name: string;
15
+ private spans;
16
+ private initPromise;
17
+ constructor(options: SentryExporterOptions);
18
+ private initialize;
19
+ protected _exportSpan(span: Span): Promise<void>;
20
+ shutdown(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=sentry-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry-exporter.d.ts","sourceRoot":"","sources":["../../../src/observability/exporters/sentry-exporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAY,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAmDD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,IAAI,SAAY;IAChB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,EAAE,qBAAqB;YAW5B,UAAU;cAOR,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DhD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}