indusagi-coding-agent 0.1.38 → 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 +13 -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 +34 -215
  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
@@ -1,361 +1,22 @@
1
- /**
2
- * RPC PROTOCOL SPECIFICATION & TYPE DEFINITIONS
3
- *
4
- * ============================================================================
5
- * OVERVIEW
6
- * ============================================================================
7
- *
8
- * This module defines the complete JSON-RPC 2.0 protocol for headless access
9
- * to the coding agent. The protocol supports:
10
- *
11
- * - Asynchronous command execution with streaming responses
12
- * - Full session state management and querying
13
- * - Real-time event subscriptions
14
- * - Extension UI request/response handling
15
- * - Error recovery and graceful degradation
16
- *
17
- * Communication Model:
18
- * - Stdin: Commands as newline-delimited JSON
19
- * - Stdout: Responses and events as newline-delimited JSON
20
- * - Bidirectional: Client sends commands, server sends responses/events
21
- * - No ordering guarantee: Events from different commands may interleave
22
- *
23
- * ============================================================================
24
- * PROTOCOL BASICS
25
- * ============================================================================
26
- *
27
- * Command Format (Client to Server):
28
- * ───────────────────────────────────────────────────────────────────────
29
- * {
30
- * "id": "unique-identifier", // Optional: for correlating responses
31
- * "type": "command-name", // Required: command type
32
- * ...command-specific fields...
33
- * }
34
- *
35
- * Response Format (Server to Client):
36
- * ───────────────────────────────────────────────────────────────────────
37
- * SUCCESS:
38
- * {
39
- * "id": "unique-identifier", // Matches command ID if provided
40
- * "type": "response",
41
- * "command": "command-name", // Which command this responds to
42
- * "success": true,
43
- * "data": {...} // Optional: command-specific data
44
- * }
45
- *
46
- * ERROR:
47
- * {
48
- * "id": "unique-identifier",
49
- * "type": "response",
50
- * "command": "command-name",
51
- * "success": false,
52
- * "error": "Human-readable error message"
53
- * }
54
- *
55
- * Event Format (Server to Client - Streaming):
56
- * ───────────────────────────────────────────────────────────────────────
57
- * Events are sent asynchronously and independently of command responses:
58
- *
59
- * {
60
- * "type": "agent_start",
61
- * "model": { "provider": "...", "id": "..." }
62
- * }
63
- *
64
- * {
65
- * "type": "message",
66
- * "role": "user" | "assistant",
67
- * "content": [...]
68
- * }
69
- *
70
- * {
71
- * "type": "tool_call",
72
- * "toolName": "bash",
73
- * "toolInput": { "command": "..." }
74
- * }
75
- *
76
- * ... More events ...
77
- *
78
- * {
79
- * "type": "agent_end"
80
- * }
81
- *
82
- * ============================================================================
83
- * COMMAND CATEGORIES & TYPES
84
- * ============================================================================
85
- *
86
- * 1. PROMPTING COMMANDS
87
- * ──────────────────
88
- * Control agent execution and conversation flow.
89
- *
90
- * - prompt: Send a new prompt with optional images
91
- * - steer: Interrupt and steer current response (queued)
92
- * - follow_up: Queue message for after current response
93
- * - abort: Cancel current operation
94
- * - new_session: Start fresh session with optional parent tracking
95
- *
96
- * 2. STATE COMMANDS
97
- * ──────────────
98
- * Query and introspect session state.
99
- *
100
- * - get_state: Retrieve full session state snapshot
101
- * - get_messages: Get all messages in conversation
102
- * - get_session_stats: Token usage, message count, etc.
103
- * - get_last_assistant_text: Quick access to latest response
104
- *
105
- * 3. MODEL COMMANDS
106
- * ──────────────
107
- * Configure and switch AI models.
108
- *
109
- * - set_model: Switch to specific model by provider/id
110
- * - cycle_model: Switch to next available model
111
- * - get_available_models: List all models from registry
112
- *
113
- * 4. THINKING COMMANDS
114
- * ──────────────────
115
- * Control model reasoning/thinking behavior.
116
- *
117
- * - set_thinking_level: Set budget (none, auto, max)
118
- * - cycle_thinking_level: Rotate through levels
119
- *
120
- * 5. QUEUE MODE COMMANDS
121
- * ───────────────────
122
- * Configure how multiple inputs are processed.
123
- *
124
- * - set_steering_mode: How steering msgs are handled
125
- * - set_follow_up_mode: How follow-ups are processed
126
- *
127
- * 6. COMPACTION COMMANDS
128
- * ───────────────────
129
- * Manage context window via message summarization.
130
- *
131
- * - compact: Manually trigger compaction
132
- * - set_auto_compaction: Enable/disable auto-compaction
133
- *
134
- * 7. RETRY COMMANDS
135
- * ──────────────
136
- * Control automatic retry behavior.
137
- *
138
- * - set_auto_retry: Enable/disable auto-retry
139
- * - abort_retry: Cancel in-flight retry operation
140
- *
141
- * 8. BASH COMMANDS
142
- * ────────────
143
- * Execute shell commands directly (synchronous).
144
- *
145
- * - bash: Execute command and get stdout/stderr
146
- * - abort_bash: Kill running command
147
- *
148
- * 9. SESSION COMMANDS
149
- * ────────────────
150
- * Session management and persistence.
151
- *
152
- * - export_html: Export session to HTML file
153
- * - switch_session: Load different session file
154
- * - fork: Create new session from branch point
155
- * - get_fork_messages: Get available branch points
156
- *
157
- * ============================================================================
158
- * SESSION STATE STRUCTURE
159
- * ============================================================================
160
- *
161
- * RpcSessionState is a snapshot of the session at a point in time:
162
- *
163
- * {
164
- * "model": { // Current model info
165
- * "provider": "anthropic", // Model provider ID
166
- * "id": "claude-3-5-sonnet", // Model ID
167
- * "contextWindow": 200000, // Token limit
168
- * "reasoning": true // Has reasoning capability
169
- * },
170
- * "thinkingLevel": "auto", // "none" | "auto" | "max"
171
- * "isStreaming": false, // Agent currently processing
172
- * "isCompacting": false, // Auto-compaction in progress
173
- * "steeringMode": "all", // "all" | "one-at-a-time"
174
- * "followUpMode": "all", // "all" | "one-at-a-time"
175
- * "sessionFile": "...path...", // Full path to session JSONL
176
- * "sessionId": "abc123", // Short session ID
177
- * "autoCompactionEnabled": true, // Auto-compact on context pressure
178
- * "messageCount": 42, // Total messages in session
179
- * "pendingMessageCount": 0 // Messages queued but not processed
180
- * }
181
- *
182
- * ============================================================================
183
- * ERROR HANDLING & ERROR CODES
184
- * ============================================================================
185
- *
186
- * Response Errors:
187
- * All command errors returned via success: false with error field.
188
- * No exceptions thrown - all errors recoverable.
189
- *
190
- * Standard Error Codes (JSON-RPC 2.0):
191
- * -32700 Parse error: Malformed JSON in command
192
- * -32600 Invalid Request: Required field missing
193
- * -32601 Method not found: Unknown command type
194
- * -32602 Invalid params: Parameter value invalid for command
195
- * -32603 Internal error: Server error during processing
196
- *
197
- * Custom Error Codes (Reserved range -32000 to -32099):
198
- * -32000 Session error: Session file corrupted or inaccessible
199
- * -32001 Model error: Model not found or unavailable
200
- * -32002 Tool error: Tool execution failed
201
- * -32003 Timeout: Operation exceeded time limit
202
- * -32004 Abort: Operation aborted by user/system
203
- * -32005 Invalid state: Operation invalid in current state
204
- *
205
- * Error Response Example:
206
- * {
207
- * "id": "req-123",
208
- * "type": "response",
209
- * "command": "set_model",
210
- * "success": false,
211
- * "error": "Model not found: anthropic/claude-99"
212
- * }
213
- *
214
- * ============================================================================
215
- * EXTENSION UI REQUEST/RESPONSE PROTOCOL
216
- * ============================================================================
217
- *
218
- * When extensions need user input, they emit extension_ui_request events:
219
- *
220
- * Extension UI Request (Server to Client):
221
- * ───────────────────────────────────────────────────────────────────────
222
- * {
223
- * "type": "extension_ui_request",
224
- * "id": "ui-uuid", // Correlation ID
225
- * "method": "select" | "confirm" | "input" | "editor" | ...,
226
- * ...method-specific fields...
227
- * }
228
- *
229
- * Extension UI Response (Client to Server):
230
- * ───────────────────────────────────────────────────────────────────────
231
- * {
232
- * "type": "extension_ui_response",
233
- * "id": "ui-uuid", // Matches request ID
234
- * "value": "..." // Method-specific response
235
- * }
236
- *
237
- * OR (for cancelled/aborted dialogs):
238
- * {
239
- * "type": "extension_ui_response",
240
- * "id": "ui-uuid",
241
- * "cancelled": true
242
- * }
243
- *
244
- * Supported UI Methods:
245
- *
246
- * select(title, options):
247
- * Request: { method: "select", title: "...", options: [...], timeout?: ms }
248
- * Response: { value: "selected-option" } or { cancelled: true }
249
- * Usage: Extension offers user a choice
250
- *
251
- * confirm(title, message):
252
- * Request: { method: "confirm", title: "...", message: "...", timeout?: ms }
253
- * Response: { confirmed: boolean } or { cancelled: true }
254
- * Usage: Extension requests yes/no confirmation
255
- *
256
- * input(title, placeholder):
257
- * Request: { method: "input", title: "...", placeholder: "...", timeout?: ms }
258
- * Response: { value: "user-input" } or { cancelled: true }
259
- * Usage: Extension requests text input
260
- *
261
- * editor(title, prefill):
262
- * Request: { method: "editor", title: "...", prefill: "..." }
263
- * Response: { value: "edited-text" } or { cancelled: true }
264
- * Usage: Extension opens editor for multi-line editing
265
- *
266
- * notify(message, type):
267
- * Request: { method: "notify", message: "...", notifyType: "info"|"warning"|"error" }
268
- * No response required (fire-and-forget)
269
- * Usage: Extension sends notification to user
270
- *
271
- * setStatus(key, text):
272
- * Request: { method: "setStatus", statusKey: "...", statusText: "..." }
273
- * No response required (fire-and-forget)
274
- * Usage: Extension updates status line in UI
275
- *
276
- * setWidget(key, lines, placement):
277
- * Request: { method: "setWidget", widgetKey: "...", widgetLines: [...], widgetPlacement: "..." }
278
- * No response required (fire-and-forget)
279
- * Usage: Extension updates custom widget display
280
- *
281
- * setTitle(title):
282
- * Request: { method: "setTitle", title: "..." }
283
- * No response required (fire-and-forget)
284
- * Usage: Extension sets terminal/window title
285
- *
286
- * setEditorText(text):
287
- * Request: { method: "set_editor_text", text: "..." }
288
- * No response required (fire-and-forget)
289
- * Usage: Extension modifies editor content
290
- *
291
- * ============================================================================
292
- * ASYNCHRONOUS BEHAVIOR & EVENT ORDERING
293
- * ============================================================================
294
- *
295
- * Key Points:
296
- * 1. Commands complete immediately with response (success: true/false)
297
- * 2. Events stream asynchronously after command response
298
- * 3. No ordering guarantee between different command's events
299
- * 4. Within a single command, events are ordered
300
- *
301
- * Example Timeline:
302
- * Client: { "id": "req-1", "type": "prompt", "message": "Hello" }
303
- * Server: { "id": "req-1", "type": "response", "command": "prompt", "success": true }
304
- * Server: { "type": "agent_start", "model": {...} }
305
- * Server: { "type": "message", "role": "user", "content": [...] }
306
- * Server: { "type": "agent_end" }
307
- *
308
- * Client: { "id": "req-2", "type": "get_state" }
309
- * Server: { "id": "req-2", "type": "response", "command": "get_state", "success": true, "data": {...} }
310
- *
311
- * ============================================================================
312
- * MESSAGE CONTENT STRUCTURE
313
- * ============================================================================
314
- *
315
- * Messages contain arrays of content blocks:
316
- *
317
- * Text Content:
318
- * {
319
- * "type": "text",
320
- * "text": "The actual message text"
321
- * }
322
- *
323
- * Image Content:
324
- * {
325
- * "type": "image",
326
- * "mimeType": "image/png" | "image/jpeg" | "image/gif" | "image/webp",
327
- * "data": "base64-encoded-image-data"
328
- * }
329
- *
330
- * Tool Use (in assistant messages):
331
- * {
332
- * "type": "tool_use",
333
- * "id": "tool-use-123",
334
- * "name": "bash",
335
- * "input": { "command": "ls -la" }
336
- * }
337
- *
338
- * Tool Result (in user messages):
339
- * {
340
- * "type": "tool_result",
341
- * "toolUseId": "tool-use-123",
342
- * "content": [
343
- * { "type": "text", "text": "stdout content" }
344
- * ],
345
- * "isError": false
346
- * }
347
- *
348
- * ============================================================================
349
- * BASED ON PROTOCOL IMPLEMENTATION
350
- * ============================================================================
351
- *
352
- * These type definitions implement the complete RPC protocol for the coding
353
- * agent. They ensure type safety on both client and server, support IDE
354
- * autocomplete, and serve as documentation of the protocol contract.
355
- *
356
- * Use RpcCommand and RpcCommand union for sending commands.
357
- * Use RpcResponse union for handling responses.
358
- * Use RpcExtensionUIRequest/Response for extension dialogs.
359
- */
360
- export {};
1
+ // ============================================================================
2
+ // Runtime guards and helpers
3
+ // ============================================================================
4
+ export function isRpcResponse(value) {
5
+ return Boolean(value) && typeof value === "object" && value.type === "response";
6
+ }
7
+ export function isRpcCommand(value) {
8
+ return Boolean(value) && typeof value === "object" && typeof value.type === "string";
9
+ }
10
+ export function isRpcExtensionUiRequest(value) {
11
+ return (Boolean(value) &&
12
+ typeof value === "object" &&
13
+ value.type === "extension_ui_request" &&
14
+ typeof value.method === "string");
15
+ }
16
+ export function isRpcExtensionUiResponse(value) {
17
+ return (Boolean(value) &&
18
+ typeof value === "object" &&
19
+ value.type === "extension_ui_response" &&
20
+ typeof value.id === "string");
21
+ }
361
22
  //# sourceMappingURL=rpc-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsWG"}
1
+ {"version":3,"file":"rpc-types.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"AA+OA,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAA4B,CAAC,IAAI,KAAK,UAAU,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACrD,OAAO,CACN,OAAO,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA4B,CAAC,IAAI,KAAK,sBAAsB;QAC7D,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ,CAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACtD,OAAO,CACN,OAAO,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA4B,CAAC,IAAI,KAAK,uBAAuB;QAC9D,OAAQ,KAA0B,CAAC,EAAE,KAAK,QAAQ,CAClD,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Observability Configuration Manager
3
+ *
4
+ * Loads and manages observability configuration from environment variables.
5
+ */
6
+ import { ObservabilityConfig } from './types.js';
7
+ export declare class ObservabilityConfigManager {
8
+ /**
9
+ * Create configuration from environment variables
10
+ */
11
+ static fromEnvironment(): ObservabilityConfig;
12
+ /**
13
+ * Create default configuration for development
14
+ */
15
+ static default(): ObservabilityConfig;
16
+ /**
17
+ * Create configuration for production
18
+ */
19
+ static production(): ObservabilityConfig;
20
+ /**
21
+ * Create disabled configuration
22
+ */
23
+ static disabled(): ObservabilityConfig;
24
+ private static parseSampling;
25
+ private static parseExporters;
26
+ private static getProviderOptions;
27
+ }
28
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/observability/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAoC,MAAM,YAAY,CAAC;AAEnF,qBAAa,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAuC7C;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,mBAAmB;IAqBrC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,mBAAmB;IAuBxC;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAStC,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAqClC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Observability Configuration Manager
3
+ *
4
+ * Loads and manages observability configuration from environment variables.
5
+ */
6
+ export class ObservabilityConfigManager {
7
+ /**
8
+ * Create configuration from environment variables
9
+ */
10
+ static fromEnvironment() {
11
+ return {
12
+ enabled: process.env.INDUSAGI_OBSERVABILITY_ENABLED === 'true',
13
+ serviceName: process.env.OTEL_SERVICE_NAME || 'indusagi',
14
+ serviceVersion: process.env.npm_package_version,
15
+ environment: process.env.NODE_ENV || 'development',
16
+ sampling: this.parseSampling(process.env.INDUSAGI_SAMPLING_STRATEGY),
17
+ exporters: this.parseExporters(process.env.INDUSAGI_OBSERVABILITY_PROVIDER),
18
+ logging: {
19
+ level: process.env.INDUSAGI_LOG_LEVEL || 'info',
20
+ format: process.env.INDUSAGI_LOG_FORMAT || 'json',
21
+ },
22
+ metrics: {
23
+ enabled: process.env.INDUSAGI_METRICS_ENABLED === 'true',
24
+ interval: parseInt(process.env.INDUSAGI_METRICS_INTERVAL || '60000', 10),
25
+ },
26
+ batchSize: parseInt(process.env.INDUSAGI_BATCH_SIZE || '10', 10),
27
+ flushInterval: parseInt(process.env.INDUSAGI_FLUSH_INTERVAL || '5000', 10),
28
+ redactSensitiveData: process.env.INDUSAGI_REDACT_SENSITIVE !== 'false',
29
+ sensitivePatterns: [
30
+ /api[_-]?key/i,
31
+ /secret/i,
32
+ /password/i,
33
+ /token/i,
34
+ /credential/i,
35
+ ],
36
+ };
37
+ }
38
+ /**
39
+ * Create default configuration for development
40
+ */
41
+ static default() {
42
+ return {
43
+ enabled: true,
44
+ serviceName: 'indusagi',
45
+ environment: 'development',
46
+ sampling: { type: 'always' },
47
+ exporters: [
48
+ { type: 'console', enabled: true, options: {} },
49
+ ],
50
+ logging: {
51
+ level: 'debug',
52
+ format: 'pretty',
53
+ },
54
+ metrics: {
55
+ enabled: false,
56
+ interval: 60000,
57
+ },
58
+ redactSensitiveData: true,
59
+ };
60
+ }
61
+ /**
62
+ * Create configuration for production
63
+ */
64
+ static production() {
65
+ return {
66
+ enabled: true,
67
+ serviceName: 'indusagi',
68
+ environment: 'production',
69
+ sampling: { type: 'ratio', probability: 0.1 },
70
+ exporters: [
71
+ { type: 'file', enabled: true, options: { outputPath: './traces' } },
72
+ ],
73
+ logging: {
74
+ level: 'info',
75
+ format: 'json',
76
+ },
77
+ metrics: {
78
+ enabled: true,
79
+ interval: 60000,
80
+ },
81
+ batchSize: 50,
82
+ flushInterval: 10000,
83
+ redactSensitiveData: true,
84
+ };
85
+ }
86
+ /**
87
+ * Create disabled configuration
88
+ */
89
+ static disabled() {
90
+ return {
91
+ enabled: false,
92
+ serviceName: 'indusagi',
93
+ sampling: { type: 'never' },
94
+ exporters: [],
95
+ };
96
+ }
97
+ static parseSampling(strategy) {
98
+ if (!strategy)
99
+ return { type: 'ratio', probability: 0.1 };
100
+ if (strategy === 'always')
101
+ return { type: 'always' };
102
+ if (strategy === 'never')
103
+ return { type: 'never' };
104
+ const prob = parseFloat(strategy);
105
+ if (!isNaN(prob))
106
+ return { type: 'ratio', probability: prob };
107
+ return { type: 'ratio', probability: 0.1 };
108
+ }
109
+ static parseExporters(provider) {
110
+ const providers = provider?.split(',').map(p => p.trim()) || ['console'];
111
+ return providers.map(p => ({
112
+ type: p,
113
+ enabled: true,
114
+ options: this.getProviderOptions(p),
115
+ }));
116
+ }
117
+ static getProviderOptions(provider) {
118
+ switch (provider) {
119
+ case 'langfuse':
120
+ return {
121
+ publicKey: process.env.LANGFUSE_PUBLIC_KEY,
122
+ secretKey: process.env.LANGFUSE_SECRET_KEY,
123
+ baseUrl: process.env.LANGFUSE_BASE_URL || 'https://cloud.langfuse.com',
124
+ };
125
+ case 'langsmith':
126
+ return {
127
+ apiKey: process.env.LANGCHAIN_API_KEY,
128
+ projectName: process.env.LANGCHAIN_PROJECT,
129
+ };
130
+ case 'otel':
131
+ return {
132
+ endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4318',
133
+ };
134
+ case 'sentry':
135
+ return {
136
+ dsn: process.env.SENTRY_DSN,
137
+ environment: process.env.NODE_ENV,
138
+ tracesSampleRate: parseFloat(process.env.SENTRY_TRACE_SAMPLE_RATE || '1.0'),
139
+ };
140
+ case 'file':
141
+ return {
142
+ outputPath: process.env.INDUSAGI_TRACES_OUTPUT_PATH || './traces',
143
+ format: process.env.INDUSAGI_TRACES_FORMAT || 'ndjson',
144
+ };
145
+ default:
146
+ return {};
147
+ }
148
+ }
149
+ }
150
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/observability/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Event Bus Implementation
3
+ *
4
+ * Simple pub/sub event system for observability events.
5
+ */
6
+ import { TraceEvent } from './types.js';
7
+ export type EventListener = (event: TraceEvent) => void | Promise<void>;
8
+ export declare class EventBus {
9
+ private listeners;
10
+ subscribe(eventType: string, listener: EventListener): () => void;
11
+ emit(eventType: string, event: TraceEvent): Promise<void>;
12
+ clear(): void;
13
+ }
14
+ export declare function createObservabilityEventBus(): EventBus;
15
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../src/observability/core/event-bus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExE,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAA2C;IAE5D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAgB3D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,KAAK,IAAI,IAAI;CAGd;AAGD,wBAAgB,2BAA2B,IAAI,QAAQ,CAEtD"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Event Bus Implementation
3
+ *
4
+ * Simple pub/sub event system for observability events.
5
+ */
6
+ export class EventBus {
7
+ constructor() {
8
+ this.listeners = new Map();
9
+ }
10
+ subscribe(eventType, listener) {
11
+ if (!this.listeners.has(eventType)) {
12
+ this.listeners.set(eventType, []);
13
+ }
14
+ this.listeners.get(eventType).push(listener);
15
+ // Return unsubscribe function
16
+ return () => {
17
+ const list = this.listeners.get(eventType);
18
+ if (list) {
19
+ const index = list.indexOf(listener);
20
+ if (index > -1)
21
+ list.splice(index, 1);
22
+ }
23
+ };
24
+ }
25
+ async emit(eventType, event) {
26
+ const listeners = this.listeners.get(eventType) || [];
27
+ await Promise.all(listeners.map(listener => listener(event)));
28
+ }
29
+ clear() {
30
+ this.listeners.clear();
31
+ }
32
+ }
33
+ // Factory function for creating event bus
34
+ export function createObservabilityEventBus() {
35
+ return new EventBus();
36
+ }
37
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/observability/core/event-bus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,OAAO,QAAQ;IAArB;QACU,cAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;IA0B9D,CAAC;IAxBC,SAAS,CAAC,SAAiB,EAAE,QAAuB;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,KAAK,GAAG,CAAC,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,KAAiB;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,QAAQ,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Observability Core Module
3
+ *
4
+ * Exports all core observability components.
5
+ */
6
+ export { SpanType, SpanStatus, Span, SpanError, CreateSpanOptions, SpanPayload, TraceEvent, SamplingStrategy, SamplingContext, ObservabilityConfig, ExporterConfig, SpanProcessor, ObservabilityExporter, Metric, CounterMetric, GaugeMetric, HistogramMetric, MetricValue, } from './types.js';
7
+ export { SpanImpl } from './span.js';
8
+ export { Tracer, createTracer } from './tracer.js';
9
+ export { EventBus, createObservabilityEventBus } from './event-bus.js';
10
+ export { Observability } from './observability.js';
11
+ export { ObservabilityConfigManager } from './config.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/observability/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,MAAM,EACN,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}