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
@@ -1,138 +1,117 @@
1
- /**
2
- * Shared utilities for compaction and branch summarization.
3
- */
4
1
  export function createFileOps() {
5
- return {
6
- read: new Set(),
7
- written: new Set(),
8
- edited: new Set(),
9
- };
2
+ return { read: new Set(), written: new Set(), edited: new Set() };
10
3
  }
11
- /**
12
- * Extract file operations from tool calls in an assistant message.
13
- */
14
- export function extractFileOpsFromMessage(message, fileOps) {
15
- if (message.role !== "assistant")
4
+ function resolveToolPathArgument(args) {
5
+ return typeof args?.path === "string" ? args.path : undefined;
6
+ }
7
+ function recordFileOperation(name, path, fileOps) {
8
+ if (name === "read") {
9
+ fileOps.read.add(path);
16
10
  return;
17
- if (!("content" in message) || !Array.isArray(message.content))
11
+ }
12
+ if (name === "write") {
13
+ fileOps.written.add(path);
18
14
  return;
15
+ }
16
+ if (name === "edit") {
17
+ fileOps.edited.add(path);
18
+ }
19
+ }
20
+ export function extractFileOpsFromMessage(message, fileOps) {
21
+ if (message.role !== "assistant" || !("content" in message) || !Array.isArray(message.content)) {
22
+ return;
23
+ }
19
24
  for (const block of message.content) {
20
- if (typeof block !== "object" || block === null)
21
- continue;
22
- if (!("type" in block) || block.type !== "toolCall")
23
- continue;
24
- if (!("arguments" in block) || !("name" in block))
25
- continue;
26
- const args = block.arguments;
27
- if (!args)
28
- continue;
29
- const path = typeof args.path === "string" ? args.path : undefined;
30
- if (!path)
25
+ if (typeof block !== "object" || block === null || block.type !== "toolCall") {
31
26
  continue;
32
- switch (block.name) {
33
- case "read":
34
- fileOps.read.add(path);
35
- break;
36
- case "write":
37
- fileOps.written.add(path);
38
- break;
39
- case "edit":
40
- fileOps.edited.add(path);
41
- break;
27
+ }
28
+ const path = resolveToolPathArgument(block.arguments);
29
+ if (path) {
30
+ recordFileOperation(block.name, path, fileOps);
42
31
  }
43
32
  }
44
33
  }
45
- /**
46
- * Compute final file lists from file operations.
47
- * Returns readFiles (files only read, not modified) and modifiedFiles.
48
- */
49
34
  export function computeFileLists(fileOps) {
50
- const modified = new Set([...fileOps.edited, ...fileOps.written]);
51
- const readOnly = [...fileOps.read].filter((f) => !modified.has(f)).sort();
52
- const modifiedFiles = [...modified].sort();
53
- return { readFiles: readOnly, modifiedFiles };
35
+ const modifiedSet = new Set([...fileOps.edited, ...fileOps.written]);
36
+ return {
37
+ readFiles: [...fileOps.read].filter((path) => !modifiedSet.has(path)).sort(),
38
+ modifiedFiles: [...modifiedSet].sort(),
39
+ };
40
+ }
41
+ function wrapTag(tagName, values) {
42
+ return `<${tagName}>\n${values.join("\n")}\n</${tagName}>`;
54
43
  }
55
- /**
56
- * Format file operations as XML tags for summary.
57
- */
58
44
  export function formatFileOperations(readFiles, modifiedFiles) {
59
- const sections = [];
45
+ const segments = [];
60
46
  if (readFiles.length > 0) {
61
- sections.push(`<read-files>\n${readFiles.join("\n")}\n</read-files>`);
47
+ segments.push(wrapTag("read-files", readFiles));
62
48
  }
63
49
  if (modifiedFiles.length > 0) {
64
- sections.push(`<modified-files>\n${modifiedFiles.join("\n")}\n</modified-files>`);
50
+ segments.push(wrapTag("modified-files", modifiedFiles));
65
51
  }
66
- if (sections.length === 0)
67
- return "";
68
- return `\n\n${sections.join("\n\n")}`;
52
+ return segments.length > 0 ? `\n\n${segments.join("\n\n")}` : "";
53
+ }
54
+ function collectUserText(message) {
55
+ if (typeof message.content === "string") {
56
+ return message.content;
57
+ }
58
+ return message.content
59
+ .filter((block) => block.type === "text")
60
+ .map((block) => block.text)
61
+ .join("");
62
+ }
63
+ function collectAssistantSegments(message) {
64
+ const collected = { text: [], thinking: [], toolCalls: [] };
65
+ for (const block of message.content) {
66
+ if (block.type === "text") {
67
+ collected.text.push(block.text);
68
+ }
69
+ else if (block.type === "thinking") {
70
+ collected.thinking.push(block.thinking);
71
+ }
72
+ else if (block.type === "toolCall") {
73
+ const argumentsText = Object.entries(block.arguments)
74
+ .map(([key, value]) => `${key}=${JSON.stringify(value)}`)
75
+ .join(", ");
76
+ collected.toolCalls.push(`${block.name}(${argumentsText})`);
77
+ }
78
+ }
79
+ return collected;
80
+ }
81
+ function collectToolResultText(message) {
82
+ return message.content
83
+ .filter((block) => block.type === "text")
84
+ .map((block) => block.text)
85
+ .join("");
69
86
  }
70
- // ============================================================================
71
- // Message Serialization
72
- // ============================================================================
73
- /**
74
- * Serialize LLM messages to text for summarization.
75
- * This prevents the model from treating it as a conversation to continue.
76
- * Call convertToLlm() first to handle custom message types.
77
- */
78
87
  export function serializeConversation(messages) {
79
- const parts = [];
80
- for (const msg of messages) {
81
- if (msg.role === "user") {
82
- const content = typeof msg.content === "string"
83
- ? msg.content
84
- : msg.content
85
- .filter((c) => c.type === "text")
86
- .map((c) => c.text)
87
- .join("");
88
- if (content)
89
- parts.push(`[User]: ${content}`);
88
+ const lines = [];
89
+ for (const message of messages) {
90
+ if (message.role === "user") {
91
+ const text = collectUserText(message);
92
+ if (text)
93
+ lines.push(`[User]: ${text}`);
94
+ continue;
90
95
  }
91
- else if (msg.role === "assistant") {
92
- const textParts = [];
93
- const thinkingParts = [];
94
- const toolCalls = [];
95
- for (const block of msg.content) {
96
- if (block.type === "text") {
97
- textParts.push(block.text);
98
- }
99
- else if (block.type === "thinking") {
100
- thinkingParts.push(block.thinking);
101
- }
102
- else if (block.type === "toolCall") {
103
- const args = block.arguments;
104
- const argsStr = Object.entries(args)
105
- .map(([k, v]) => `${k}=${JSON.stringify(v)}`)
106
- .join(", ");
107
- toolCalls.push(`${block.name}(${argsStr})`);
108
- }
109
- }
110
- if (thinkingParts.length > 0) {
111
- parts.push(`[Assistant thinking]: ${thinkingParts.join("\n")}`);
112
- }
113
- if (textParts.length > 0) {
114
- parts.push(`[Assistant]: ${textParts.join("\n")}`);
115
- }
116
- if (toolCalls.length > 0) {
117
- parts.push(`[Assistant tool calls]: ${toolCalls.join("; ")}`);
118
- }
96
+ if (message.role === "assistant") {
97
+ const segments = collectAssistantSegments(message);
98
+ if (segments.thinking.length > 0)
99
+ lines.push(`[Assistant thinking]: ${segments.thinking.join("\n")}`);
100
+ if (segments.text.length > 0)
101
+ lines.push(`[Assistant]: ${segments.text.join("\n")}`);
102
+ if (segments.toolCalls.length > 0)
103
+ lines.push(`[Assistant tool calls]: ${segments.toolCalls.join("; ")}`);
104
+ continue;
119
105
  }
120
- else if (msg.role === "toolResult") {
121
- const content = msg.content
122
- .filter((c) => c.type === "text")
123
- .map((c) => c.text)
124
- .join("");
125
- if (content) {
126
- parts.push(`[Tool result]: ${content}`);
127
- }
106
+ if (message.role === "toolResult") {
107
+ const text = collectToolResultText(message);
108
+ if (text)
109
+ lines.push(`[Tool result]: ${text}`);
128
110
  }
129
111
  }
130
- return parts.join("\n\n");
112
+ return lines.join("\n\n");
131
113
  }
132
- // ============================================================================
133
- // Summarization System Prompt
134
- // ============================================================================
135
- export const SUMMARIZATION_SYSTEM_PROMPT = `You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
114
+ export const SUMMARIZATION_SYSTEM_PROMPT = `You are preparing compact continuation context for another coding-agent response.
136
115
 
137
- Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`;
116
+ Do not answer the conversation. Do not continue the task directly. Read the supplied conversation transcript and output only the requested structured summary.`;
138
117
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/compaction/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/compaction/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- /**
2
- * Discover indusagi extension packages in node_modules
3
- * Looks for packages with an "indusagi" field in package.json
4
- */
5
1
  export declare function discoverIndusagiPackages(nodeModulesPath: string): string[];
6
2
  //# sourceMappingURL=discover-packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover-packages.d.ts","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAyD1E"}
1
+ {"version":3,"file":"discover-packages.d.ts","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAGA,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAkE1E"}
@@ -1,62 +1,59 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- /**
4
- * Discover indusagi extension packages in node_modules
5
- * Looks for packages with an "indusagi" field in package.json
6
- */
1
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
2
+ import { join } from "node:path";
7
3
  export function discoverIndusagiPackages(nodeModulesPath) {
8
- const extensions = [];
9
- // Check if node_modules exists
10
- if (!fs.existsSync(nodeModulesPath)) {
11
- return extensions;
4
+ const packages = [];
5
+ if (!existsSync(nodeModulesPath)) {
6
+ return packages;
12
7
  }
13
8
  try {
14
- // Read all entries in node_modules
15
- const entries = fs.readdirSync(nodeModulesPath, { withFileTypes: true });
9
+ const entries = readdirSync(nodeModulesPath, { withFileTypes: true });
16
10
  for (const entry of entries) {
17
- // Handle scoped packages (@org/package)
18
11
  if (entry.name.startsWith("@") && entry.isDirectory()) {
19
- const scopePath = path.join(nodeModulesPath, entry.name);
20
- const scopedPackages = fs.readdirSync(scopePath, { withFileTypes: true });
21
- for (const pkg of scopedPackages) {
22
- if (pkg.isDirectory()) {
23
- const pkgPath = path.join(scopePath, pkg.name);
24
- const pkgJsonPath = path.join(pkgPath, "package.json");
25
- if (fs.existsSync(pkgJsonPath)) {
26
- try {
27
- const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
28
- if (pkgJson.indusagi?.extensions) {
29
- extensions.push(pkgPath);
30
- }
31
- }
32
- catch {
33
- // Ignore parse errors
34
- }
35
- }
12
+ const scopePath = join(nodeModulesPath, entry.name);
13
+ const scopedPackages = readdirSync(scopePath, { withFileTypes: true });
14
+ for (const scopedEntry of scopedPackages) {
15
+ if (!scopedEntry.isDirectory()) {
16
+ continue;
17
+ }
18
+ const packagePath = join(scopePath, scopedEntry.name);
19
+ const packageJsonPath = join(packagePath, "package.json");
20
+ if (!existsSync(packageJsonPath)) {
21
+ continue;
36
22
  }
37
- }
38
- }
39
- else if (entry.isDirectory()) {
40
- // Handle regular packages
41
- const pkgPath = path.join(nodeModulesPath, entry.name);
42
- const pkgJsonPath = path.join(pkgPath, "package.json");
43
- if (fs.existsSync(pkgJsonPath)) {
44
23
  try {
45
- const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
46
- if (pkgJson.indusagi?.extensions) {
47
- extensions.push(pkgPath);
24
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
25
+ if (packageJson.indusagi?.extensions) {
26
+ packages.push(packagePath);
48
27
  }
49
28
  }
50
29
  catch {
51
- // Ignore parse errors
30
+ // Ignore invalid package.json files.
52
31
  }
53
32
  }
33
+ continue;
34
+ }
35
+ if (!entry.isDirectory()) {
36
+ continue;
37
+ }
38
+ const packagePath = join(nodeModulesPath, entry.name);
39
+ const packageJsonPath = join(packagePath, "package.json");
40
+ if (!existsSync(packageJsonPath)) {
41
+ continue;
42
+ }
43
+ try {
44
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
45
+ if (packageJson.indusagi?.extensions) {
46
+ packages.push(packagePath);
47
+ }
48
+ }
49
+ catch {
50
+ // Ignore invalid package.json files.
54
51
  }
55
52
  }
56
53
  }
57
- catch (error) {
58
- // Ignore errors in discovery
54
+ catch {
55
+ // Ignore discovery errors.
59
56
  }
60
- return extensions;
57
+ return packages;
61
58
  }
62
59
  //# sourceMappingURL=discover-packages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover-packages.js","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,eAAuB;IAC/D,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACJ,mCAAmC;QACnC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,wCAAwC;YACxC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE1E,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;oBAClC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;wBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;wBAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;4BAChC,IAAI,CAAC;gCACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gCAClE,IAAI,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;oCAClC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAC1B,CAAC;4BACF,CAAC;4BAAC,MAAM,CAAC;gCACR,sBAAsB;4BACvB,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;wBAClE,IAAI,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;4BAClC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC1B,CAAC;oBACF,CAAC;oBAAC,MAAM,CAAC;wBACR,sBAAsB;oBACvB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,6BAA6B;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"discover-packages.js","sourceRoot":"","sources":["../../src/core/discover-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,wBAAwB,CAAC,eAAuB;IAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEvE,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAEpE,CAAC;wBACF,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;4BACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,qCAAqC;oBACvC,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAEpE,CAAC;gBACF,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,155 +1,9 @@
1
- /**
2
- * Event Bus - Core publish/subscribe system for agent events
3
- *
4
- * Purpose:
5
- * Provides a decoupled event system for agent lifecycle events, tool execution,
6
- * and state changes. Enables loose coupling between agent components.
7
- *
8
- * Architecture:
9
- * - Wraps Node.js EventEmitter with type-safe interfaces
10
- * - Automatic error handling and async support
11
- * - Channel-based event routing (string identifiers)
12
- * - Handler cleanup with unsubscribe functions
13
- *
14
- * Event Channels (as used throughout agent):
15
- * - "agent:initialized" - Agent session created and ready
16
- * - "agent:message" - New message added to session
17
- * - "agent:tool:execute" - Tool execution started
18
- * - "agent:tool:complete" - Tool execution finished
19
- * - "agent:error" - Error occurred during execution
20
- * - "agent:state" - Agent state changed
21
- * - "session:persisted" - Session saved to disk
22
- * - "session:compacted" - Session compressed
23
- *
24
- * Safety Features:
25
- * - Async handler wrapping with error catching
26
- * - Automatic error logging for handler failures
27
- * - Handler isolation (errors don't propagate to other handlers)
28
- * - Clean unsubscribe functions prevent memory leaks
29
- *
30
- * Example Usage:
31
- * ```typescript
32
- * const eventBus = createEventBus();
33
- *
34
- * // Subscribe to events
35
- * const unsubscribe = eventBus.on("agent:message", async (data) => {
36
- * console.log("New message:", data);
37
- * });
38
- *
39
- * // Emit events
40
- * eventBus.emit("agent:message", { role: "assistant", content: "Hello" });
41
- *
42
- * // Unsubscribe when done
43
- * unsubscribe();
44
- *
45
- * // Clear all listeners
46
- * eventBus.clear();
47
- * ```
48
- *
49
- * Based on event bus pattern from indusagi-agent
50
- * Original: https://github.com/varunisrani/indusagi-ts/vendor/indusagi-agent/src/event-bus.ts
51
- */
52
- /**
53
- * EventBus Interface - Read-only pub/sub access
54
- *
55
- * Provides emit and subscribe methods for event-driven communication.
56
- * Used by components that need to listen to or publish events.
57
- */
58
1
  export interface EventBus {
59
- /**
60
- * Publish an event on a channel
61
- *
62
- * @param channel - The event channel name (e.g., "agent:message")
63
- * @param data - Arbitrary data to send to subscribers
64
- *
65
- * Example:
66
- * ```
67
- * eventBus.emit("agent:message", {
68
- * role: "user",
69
- * content: "Execute bash command: ls -la"
70
- * });
71
- * ```
72
- */
73
2
  emit(channel: string, data: unknown): void;
74
- /**
75
- * Subscribe to events on a channel
76
- *
77
- * @param channel - The event channel to listen to
78
- * @param handler - Async function called when event is emitted
79
- *
80
- * @returns Unsubscribe function - call to remove the listener
81
- *
82
- * Safety:
83
- * - Handler errors are caught and logged, don't break other listeners
84
- * - Handler is wrapped to support async operations
85
- * - Always call unsubscribe when done to prevent memory leaks
86
- *
87
- * Example:
88
- * ```
89
- * const unsubscribe = eventBus.on("agent:error", async (error) => {
90
- * console.error("Agent error:", error.message);
91
- * // Send alert, log to file, etc.
92
- * });
93
- *
94
- * // Later: unsubscribe when component is destroyed
95
- * unsubscribe();
96
- * ```
97
- */
98
- on(channel: string, handler: (data: unknown) => void): () => void;
3
+ on(channel: string, handler: (data: unknown) => void | Promise<void>): () => void;
99
4
  }
100
- /**
101
- * EventBusController Interface - Full pub/sub control
102
- *
103
- * Extends EventBus with additional control methods.
104
- * Used by the agent core to manage the event system.
105
- */
106
5
  export interface EventBusController extends EventBus {
107
- /**
108
- * Remove all event listeners
109
- *
110
- * Cleanup method to reset the event bus state.
111
- * Called when:
112
- * - Switching sessions
113
- * - Shutting down agent
114
- * - Resetting state in tests
115
- *
116
- * Example:
117
- * ```
118
- * // Clean up before switching to new session
119
- * eventBus.clear();
120
- * await loadSession(newSessionId);
121
- * ```
122
- */
123
6
  clear(): void;
124
7
  }
125
- /**
126
- * Create a new event bus instance
127
- *
128
- * Creates a fresh pub/sub system with error handling.
129
- * Typically called once at agent startup.
130
- *
131
- * @returns EventBusController with emit, on, and clear methods
132
- *
133
- * Implementation Details:
134
- * - Wraps Node.js EventEmitter for type safety
135
- * - Handlers are wrapped to catch async errors
136
- * - Each handler gets its own error logging
137
- * - Unsubscribe functions use closure to cleanup listeners
138
- *
139
- * Example:
140
- * ```
141
- * const eventBus = createEventBus();
142
- *
143
- * // Set up listeners early
144
- * eventBus.on("agent:error", handleError);
145
- * eventBus.on("agent:message", updateUI);
146
- *
147
- * // Use throughout agent lifecycle
148
- * // ...
149
- *
150
- * // Clean up on shutdown
151
- * eventBus.clear();
152
- * ```
153
- */
154
8
  export declare function createEventBus(): EventBusController;
155
9
  //# sourceMappingURL=event-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAIH;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACxB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IACnD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,IAAI,IAAI,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CAuCnD"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IACnD,KAAK,IAAI,IAAI,CAAC;CACd;AAkBD,wBAAgB,cAAc,IAAI,kBAAkB,CAenD"}