indusagi-coding-agent 0.1.41 → 0.1.42

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 (950) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/command-line/args.d.ts +56 -0
  5. package/dist/command-line/args.d.ts.map +1 -0
  6. package/dist/command-line/args.js.map +1 -0
  7. package/dist/command-line/config-selector.d.ts +17 -0
  8. package/dist/command-line/config-selector.d.ts.map +1 -0
  9. package/dist/command-line/config-selector.js.map +1 -0
  10. package/dist/command-line/file-processor.d.ts.map +1 -0
  11. package/dist/command-line/file-processor.js.map +1 -0
  12. package/dist/command-line/list-models.d.ts +9 -0
  13. package/dist/command-line/list-models.d.ts.map +1 -0
  14. package/dist/command-line/list-models.js.map +1 -0
  15. package/dist/command-line/login-handler.d.ts.map +1 -0
  16. package/dist/command-line/login-handler.js +746 -0
  17. package/dist/command-line/login-handler.js.map +1 -0
  18. package/dist/command-line/session-picker.d.ts.map +1 -0
  19. package/dist/command-line/session-picker.js.map +1 -0
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +9 -5
  22. package/dist/config.js.map +1 -1
  23. package/dist/helpers/array.d.ts.map +1 -0
  24. package/dist/helpers/array.js.map +1 -0
  25. package/dist/helpers/changelog.d.ts.map +1 -0
  26. package/dist/helpers/changelog.js.map +1 -0
  27. package/dist/helpers/clipboard-image.d.ts.map +1 -0
  28. package/dist/helpers/clipboard-image.js.map +1 -0
  29. package/dist/helpers/clipboard.d.ts.map +1 -0
  30. package/dist/helpers/clipboard.js.map +1 -0
  31. package/dist/helpers/color-formatter.d.ts.map +1 -0
  32. package/dist/helpers/color-formatter.js.map +1 -0
  33. package/dist/helpers/data-transformer.d.ts.map +1 -0
  34. package/dist/helpers/data-transformer.js.map +1 -0
  35. package/dist/helpers/date-formatter.d.ts.map +1 -0
  36. package/dist/helpers/date-formatter.js.map +1 -0
  37. package/dist/helpers/error-handler.d.ts.map +1 -0
  38. package/dist/helpers/error-handler.js.map +1 -0
  39. package/dist/helpers/file-operations.d.ts.map +1 -0
  40. package/dist/helpers/file-operations.js.map +1 -0
  41. package/dist/helpers/frontmatter.d.ts.map +1 -0
  42. package/dist/helpers/frontmatter.js.map +1 -0
  43. package/dist/helpers/git.d.ts.map +1 -0
  44. package/dist/helpers/git.js.map +1 -0
  45. package/dist/helpers/image-convert.d.ts.map +1 -0
  46. package/dist/helpers/image-convert.js.map +1 -0
  47. package/dist/helpers/image-resize.d.ts.map +1 -0
  48. package/dist/helpers/image-resize.js.map +1 -0
  49. package/dist/helpers/json-formatter.d.ts.map +1 -0
  50. package/dist/helpers/json-formatter.js.map +1 -0
  51. package/dist/helpers/logger.d.ts.map +1 -0
  52. package/dist/helpers/logger.js.map +1 -0
  53. package/dist/helpers/markdown-formatter.d.ts.map +1 -0
  54. package/dist/helpers/markdown-formatter.js.map +1 -0
  55. package/dist/helpers/mime.d.ts.map +1 -0
  56. package/dist/helpers/mime.js.map +1 -0
  57. package/dist/helpers/path-validator.d.ts.map +1 -0
  58. package/dist/helpers/path-validator.js.map +1 -0
  59. package/dist/helpers/photon.d.ts.map +1 -0
  60. package/dist/helpers/photon.js.map +1 -0
  61. package/dist/helpers/shell.d.ts.map +1 -0
  62. package/dist/helpers/shell.js +142 -0
  63. package/dist/helpers/shell.js.map +1 -0
  64. package/dist/helpers/sleep.d.ts.map +1 -0
  65. package/dist/helpers/sleep.js.map +1 -0
  66. package/dist/helpers/string-formatter.d.ts.map +1 -0
  67. package/dist/helpers/string-formatter.js.map +1 -0
  68. package/dist/helpers/tools-manager.d.ts.map +1 -0
  69. package/dist/helpers/tools-manager.js.map +1 -0
  70. package/dist/helpers/type-guards.d.ts.map +1 -0
  71. package/dist/helpers/type-guards.js.map +1 -0
  72. package/dist/index.d.ts +34 -34
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +34 -34
  75. package/dist/index.js.map +1 -1
  76. package/dist/interfaces/index.d.ts +16 -0
  77. package/dist/interfaces/index.d.ts.map +1 -0
  78. package/dist/interfaces/index.js +14 -0
  79. package/dist/interfaces/index.js.map +1 -0
  80. package/dist/interfaces/print-mode.d.ts +561 -0
  81. package/dist/interfaces/print-mode.d.ts.map +1 -0
  82. package/dist/interfaces/print-mode.js.map +1 -0
  83. package/dist/interfaces/service-api/rpc-client.d.ts +1129 -0
  84. package/dist/interfaces/service-api/rpc-client.d.ts.map +1 -0
  85. package/dist/interfaces/service-api/rpc-client.js.map +1 -0
  86. package/dist/interfaces/service-api/rpc-mode.d.ts +813 -0
  87. package/dist/interfaces/service-api/rpc-mode.d.ts.map +1 -0
  88. package/dist/interfaces/service-api/rpc-mode.js +1229 -0
  89. package/dist/interfaces/service-api/rpc-mode.js.map +1 -0
  90. package/dist/interfaces/service-api/rpc-types.d.ts +392 -0
  91. package/dist/interfaces/service-api/rpc-types.d.ts.map +1 -0
  92. package/dist/interfaces/service-api/rpc-types.js.map +1 -0
  93. package/dist/interfaces/shared.d.ts.map +1 -0
  94. package/dist/interfaces/shared.js.map +1 -0
  95. package/dist/interfaces/terminal-ui/components/armin.d.ts.map +1 -0
  96. package/dist/interfaces/terminal-ui/components/armin.js.map +1 -0
  97. package/dist/interfaces/terminal-ui/components/assistant-message.d.ts.map +1 -0
  98. package/dist/interfaces/terminal-ui/components/assistant-message.js.map +1 -0
  99. package/dist/interfaces/terminal-ui/components/bash-execution.d.ts.map +1 -0
  100. package/dist/interfaces/terminal-ui/components/bash-execution.js.map +1 -0
  101. package/dist/interfaces/terminal-ui/components/bordered-loader.d.ts.map +1 -0
  102. package/dist/interfaces/terminal-ui/components/bordered-loader.js.map +1 -0
  103. package/dist/interfaces/terminal-ui/components/branch-summary-message.d.ts +16 -0
  104. package/dist/interfaces/terminal-ui/components/branch-summary-message.d.ts.map +1 -0
  105. package/dist/interfaces/terminal-ui/components/branch-summary-message.js.map +1 -0
  106. package/dist/interfaces/terminal-ui/components/compaction-summary-message.d.ts +16 -0
  107. package/dist/interfaces/terminal-ui/components/compaction-summary-message.d.ts.map +1 -0
  108. package/dist/interfaces/terminal-ui/components/compaction-summary-message.js.map +1 -0
  109. package/dist/interfaces/terminal-ui/components/config-selector.d.ts +71 -0
  110. package/dist/interfaces/terminal-ui/components/config-selector.d.ts.map +1 -0
  111. package/dist/interfaces/terminal-ui/components/config-selector.js.map +1 -0
  112. package/dist/interfaces/terminal-ui/components/countdown-timer.d.ts.map +1 -0
  113. package/dist/interfaces/terminal-ui/components/countdown-timer.js.map +1 -0
  114. package/dist/interfaces/terminal-ui/components/custom-editor.d.ts +17 -0
  115. package/dist/interfaces/terminal-ui/components/custom-editor.d.ts.map +1 -0
  116. package/dist/interfaces/terminal-ui/components/custom-editor.js.map +1 -0
  117. package/dist/interfaces/terminal-ui/components/custom-message.d.ts +19 -0
  118. package/dist/interfaces/terminal-ui/components/custom-message.d.ts.map +1 -0
  119. package/dist/interfaces/terminal-ui/components/custom-message.js.map +1 -0
  120. package/dist/interfaces/terminal-ui/components/diff.d.ts.map +1 -0
  121. package/dist/interfaces/terminal-ui/components/diff.js.map +1 -0
  122. package/dist/interfaces/terminal-ui/components/dynamic-border.d.ts.map +1 -0
  123. package/dist/interfaces/terminal-ui/components/dynamic-border.js.map +1 -0
  124. package/dist/interfaces/terminal-ui/components/extension-editor.d.ts +13 -0
  125. package/dist/interfaces/terminal-ui/components/extension-editor.d.ts.map +1 -0
  126. package/dist/interfaces/terminal-ui/components/extension-editor.js.map +1 -0
  127. package/dist/interfaces/terminal-ui/components/extension-input.d.ts.map +1 -0
  128. package/dist/interfaces/terminal-ui/components/extension-input.js.map +1 -0
  129. package/dist/interfaces/terminal-ui/components/extension-selector.d.ts.map +1 -0
  130. package/dist/interfaces/terminal-ui/components/extension-selector.js.map +1 -0
  131. package/dist/interfaces/terminal-ui/components/footer.d.ts +17 -0
  132. package/dist/interfaces/terminal-ui/components/footer.d.ts.map +1 -0
  133. package/dist/interfaces/terminal-ui/components/footer.js.map +1 -0
  134. package/dist/interfaces/terminal-ui/components/index.d.ts.map +1 -0
  135. package/dist/interfaces/terminal-ui/components/index.js.map +1 -0
  136. package/dist/interfaces/terminal-ui/components/keybinding-hints.d.ts +23 -0
  137. package/dist/interfaces/terminal-ui/components/keybinding-hints.d.ts.map +1 -0
  138. package/dist/interfaces/terminal-ui/components/keybinding-hints.js.map +1 -0
  139. package/dist/interfaces/terminal-ui/components/login-dialog.d.ts.map +1 -0
  140. package/dist/interfaces/terminal-ui/components/login-dialog.js.map +1 -0
  141. package/dist/interfaces/terminal-ui/components/model-selector.d.ts +43 -0
  142. package/dist/interfaces/terminal-ui/components/model-selector.d.ts.map +1 -0
  143. package/dist/interfaces/terminal-ui/components/model-selector.js.map +1 -0
  144. package/dist/interfaces/terminal-ui/components/oauth-selector.d.ts +75 -0
  145. package/dist/interfaces/terminal-ui/components/oauth-selector.d.ts.map +1 -0
  146. package/dist/interfaces/terminal-ui/components/oauth-selector.js.map +1 -0
  147. package/dist/interfaces/terminal-ui/components/scoped-models-selector.d.ts.map +1 -0
  148. package/dist/interfaces/terminal-ui/components/scoped-models-selector.js.map +1 -0
  149. package/dist/interfaces/terminal-ui/components/session-selector-search.d.ts +21 -0
  150. package/dist/interfaces/terminal-ui/components/session-selector-search.d.ts.map +1 -0
  151. package/dist/interfaces/terminal-ui/components/session-selector-search.js.map +1 -0
  152. package/dist/interfaces/terminal-ui/components/session-selector.d.ts +85 -0
  153. package/dist/interfaces/terminal-ui/components/session-selector.d.ts.map +1 -0
  154. package/dist/interfaces/terminal-ui/components/session-selector.js.map +1 -0
  155. package/dist/interfaces/terminal-ui/components/settings-selector.d.ts.map +1 -0
  156. package/dist/interfaces/terminal-ui/components/settings-selector.js.map +1 -0
  157. package/dist/interfaces/terminal-ui/components/show-images-selector.d.ts.map +1 -0
  158. package/dist/interfaces/terminal-ui/components/show-images-selector.js.map +1 -0
  159. package/dist/interfaces/terminal-ui/components/skill-invocation-message.d.ts +17 -0
  160. package/dist/interfaces/terminal-ui/components/skill-invocation-message.d.ts.map +1 -0
  161. package/dist/interfaces/terminal-ui/components/skill-invocation-message.js.map +1 -0
  162. package/dist/interfaces/terminal-ui/components/theme-selector.d.ts.map +1 -0
  163. package/dist/interfaces/terminal-ui/components/theme-selector.js.map +1 -0
  164. package/dist/interfaces/terminal-ui/components/thinking-selector.d.ts.map +1 -0
  165. package/dist/interfaces/terminal-ui/components/thinking-selector.js.map +1 -0
  166. package/dist/interfaces/terminal-ui/components/tool-execution.d.ts +72 -0
  167. package/dist/interfaces/terminal-ui/components/tool-execution.d.ts.map +1 -0
  168. package/dist/interfaces/terminal-ui/components/tool-execution.js +1001 -0
  169. package/dist/interfaces/terminal-ui/components/tool-execution.js.map +1 -0
  170. package/dist/interfaces/terminal-ui/components/tree-selector.d.ts +62 -0
  171. package/dist/interfaces/terminal-ui/components/tree-selector.d.ts.map +1 -0
  172. package/dist/interfaces/terminal-ui/components/tree-selector.js.map +1 -0
  173. package/dist/interfaces/terminal-ui/components/user-message-selector.d.ts.map +1 -0
  174. package/dist/interfaces/terminal-ui/components/user-message-selector.js.map +1 -0
  175. package/dist/interfaces/terminal-ui/components/user-message.d.ts.map +1 -0
  176. package/dist/interfaces/terminal-ui/components/user-message.js.map +1 -0
  177. package/dist/interfaces/terminal-ui/components/visual-truncate.d.ts.map +1 -0
  178. package/dist/interfaces/terminal-ui/components/visual-truncate.js.map +1 -0
  179. package/dist/interfaces/terminal-ui/interactive-mode.d.ts +1931 -0
  180. package/dist/interfaces/terminal-ui/interactive-mode.d.ts.map +1 -0
  181. package/dist/interfaces/terminal-ui/interactive-mode.js +5733 -0
  182. package/dist/interfaces/terminal-ui/interactive-mode.js.map +1 -0
  183. package/dist/interfaces/terminal-ui/theme/theme.d.ts.map +1 -0
  184. package/dist/interfaces/terminal-ui/theme/theme.js.map +1 -0
  185. package/dist/main.d.ts.map +1 -1
  186. package/dist/main.js +21 -21
  187. package/dist/main.js.map +1 -1
  188. package/dist/migrations.d.ts.map +1 -1
  189. package/dist/migrations.js.map +1 -1
  190. package/dist/runtime/agent-session.d.ts +936 -0
  191. package/dist/runtime/agent-session.d.ts.map +1 -0
  192. package/dist/runtime/agent-session.js +2737 -0
  193. package/dist/runtime/agent-session.js.map +1 -0
  194. package/dist/runtime/auth-storage.d.ts.map +1 -0
  195. package/dist/runtime/auth-storage.js.map +1 -0
  196. package/dist/runtime/bash-executor.d.ts.map +1 -0
  197. package/dist/runtime/bash-executor.js.map +1 -0
  198. package/dist/runtime/context-compression/branch-summarization.d.ts.map +1 -0
  199. package/dist/runtime/context-compression/branch-summarization.js.map +1 -0
  200. package/dist/runtime/context-compression/compaction.d.ts.map +1 -0
  201. package/dist/runtime/context-compression/compaction.js.map +1 -0
  202. package/dist/runtime/context-compression/index.d.ts.map +1 -0
  203. package/dist/runtime/context-compression/index.js.map +1 -0
  204. package/dist/runtime/context-compression/utils.d.ts.map +1 -0
  205. package/dist/runtime/context-compression/utils.js.map +1 -0
  206. package/dist/runtime/diagnostics.d.ts.map +1 -0
  207. package/dist/runtime/diagnostics.js.map +1 -0
  208. package/dist/runtime/discover-packages.d.ts.map +1 -0
  209. package/dist/runtime/discover-packages.js.map +1 -0
  210. package/dist/runtime/event-bus.d.ts.map +1 -0
  211. package/dist/runtime/event-bus.js.map +1 -0
  212. package/dist/runtime/exec.d.ts.map +1 -0
  213. package/dist/runtime/exec.js.map +1 -0
  214. package/dist/runtime/footer-data-provider.d.ts.map +1 -0
  215. package/dist/runtime/footer-data-provider.js.map +1 -0
  216. package/dist/runtime/html-export/ansi-to-html.d.ts.map +1 -0
  217. package/dist/runtime/html-export/ansi-to-html.js.map +1 -0
  218. package/dist/runtime/html-export/index.d.ts.map +1 -0
  219. package/dist/runtime/html-export/index.js +350 -0
  220. package/dist/runtime/html-export/index.js.map +1 -0
  221. package/dist/runtime/html-export/index.ts +433 -0
  222. package/dist/runtime/html-export/tool-renderer.d.ts +18 -0
  223. package/dist/runtime/html-export/tool-renderer.d.ts.map +1 -0
  224. package/dist/runtime/html-export/tool-renderer.js.map +1 -0
  225. package/dist/runtime/html-export/tool-renderer.ts +80 -0
  226. package/dist/runtime/index.d.ts +30 -0
  227. package/dist/runtime/index.d.ts.map +1 -0
  228. package/dist/runtime/index.js +30 -0
  229. package/dist/runtime/index.js.map +1 -0
  230. package/dist/runtime/keybindings.d.ts.map +1 -0
  231. package/dist/runtime/keybindings.js.map +1 -0
  232. package/dist/runtime/lifecycle/index.d.ts.map +1 -0
  233. package/dist/runtime/lifecycle/index.js.map +1 -0
  234. package/dist/runtime/lifecycle/loader.d.ts.map +1 -0
  235. package/dist/runtime/lifecycle/loader.js.map +1 -0
  236. package/dist/runtime/lifecycle/runner.d.ts.map +1 -0
  237. package/dist/runtime/lifecycle/runner.js.map +1 -0
  238. package/dist/runtime/lifecycle/types.d.ts.map +1 -0
  239. package/dist/runtime/lifecycle/types.js.map +1 -0
  240. package/dist/runtime/messages.d.ts.map +1 -0
  241. package/dist/runtime/messages.js.map +1 -0
  242. package/dist/runtime/model-registry.d.ts.map +1 -0
  243. package/dist/runtime/model-registry.js.map +1 -0
  244. package/dist/runtime/model-resolver.d.ts.map +1 -0
  245. package/dist/runtime/model-resolver.js +227 -0
  246. package/dist/runtime/model-resolver.js.map +1 -0
  247. package/dist/runtime/package-manager.d.ts.map +1 -0
  248. package/dist/runtime/package-manager.js.map +1 -0
  249. package/dist/runtime/plugins/index.d.ts.map +1 -0
  250. package/dist/runtime/plugins/index.js.map +1 -0
  251. package/dist/runtime/plugins/loader.d.ts.map +1 -0
  252. package/dist/runtime/plugins/loader.js.map +1 -0
  253. package/dist/runtime/plugins/runner.d.ts.map +1 -0
  254. package/dist/runtime/plugins/runner.js +468 -0
  255. package/dist/runtime/plugins/runner.js.map +1 -0
  256. package/dist/runtime/plugins/types.d.ts +859 -0
  257. package/dist/runtime/plugins/types.d.ts.map +1 -0
  258. package/dist/runtime/plugins/types.js.map +1 -0
  259. package/dist/runtime/plugins/wrapper.d.ts +29 -0
  260. package/dist/runtime/plugins/wrapper.d.ts.map +1 -0
  261. package/dist/runtime/plugins/wrapper.js.map +1 -0
  262. package/dist/runtime/prompt-templates.d.ts.map +1 -0
  263. package/dist/runtime/prompt-templates.js +203 -0
  264. package/dist/runtime/prompt-templates.js.map +1 -0
  265. package/dist/runtime/resource-loader.d.ts +180 -0
  266. package/dist/runtime/resource-loader.d.ts.map +1 -0
  267. package/dist/runtime/resource-loader.js +530 -0
  268. package/dist/runtime/resource-loader.js.map +1 -0
  269. package/dist/runtime/sdk.d.ts +49 -0
  270. package/dist/runtime/sdk.d.ts.map +1 -0
  271. package/dist/runtime/sdk.js +306 -0
  272. package/dist/runtime/sdk.js.map +1 -0
  273. package/dist/runtime/session-manager.d.ts.map +1 -0
  274. package/dist/runtime/session-manager.js.map +1 -0
  275. package/dist/runtime/settings-manager.d.ts.map +1 -0
  276. package/dist/runtime/settings-manager.js.map +1 -0
  277. package/dist/runtime/skills.d.ts.map +1 -0
  278. package/dist/runtime/skills.js +277 -0
  279. package/dist/runtime/skills.js.map +1 -0
  280. package/dist/runtime/subagents.d.ts.map +1 -0
  281. package/dist/runtime/subagents.js +163 -0
  282. package/dist/runtime/subagents.js.map +1 -0
  283. package/dist/runtime/system-prompt.d.ts.map +1 -0
  284. package/dist/runtime/system-prompt.js.map +1 -0
  285. package/dist/runtime/task-session-manager.d.ts.map +1 -0
  286. package/dist/runtime/task-session-manager.js.map +1 -0
  287. package/dist/runtime/timings.d.ts.map +1 -0
  288. package/dist/runtime/timings.js.map +1 -0
  289. package/dist/runtime/todo-store.d.ts.map +1 -0
  290. package/dist/runtime/todo-store.js.map +1 -0
  291. package/dist/runtime/tooling/bash.d.ts.map +1 -0
  292. package/dist/runtime/tooling/bash.js.map +1 -0
  293. package/dist/runtime/tooling/bg-process.d.ts.map +1 -0
  294. package/dist/runtime/tooling/bg-process.js.map +1 -0
  295. package/dist/runtime/tooling/edit-diff.d.ts.map +1 -0
  296. package/dist/runtime/tooling/edit-diff.js.map +1 -0
  297. package/dist/runtime/tooling/edit.d.ts.map +1 -0
  298. package/dist/runtime/tooling/edit.js.map +1 -0
  299. package/dist/runtime/tooling/find.d.ts.map +1 -0
  300. package/dist/runtime/tooling/find.js.map +1 -0
  301. package/dist/runtime/tooling/grep.d.ts.map +1 -0
  302. package/dist/runtime/tooling/grep.js.map +1 -0
  303. package/dist/runtime/tooling/index.d.ts +208 -0
  304. package/dist/runtime/tooling/index.d.ts.map +1 -0
  305. package/dist/runtime/tooling/index.js.map +1 -0
  306. package/dist/runtime/tooling/ls.d.ts.map +1 -0
  307. package/dist/runtime/tooling/ls.js.map +1 -0
  308. package/dist/runtime/tooling/memory.d.ts.map +1 -0
  309. package/dist/runtime/tooling/memory.js.map +1 -0
  310. package/dist/runtime/tooling/path-utils.d.ts.map +1 -0
  311. package/dist/runtime/tooling/path-utils.js.map +1 -0
  312. package/dist/runtime/tooling/read.d.ts.map +1 -0
  313. package/dist/runtime/tooling/read.js.map +1 -0
  314. package/dist/runtime/tooling/registry.d.ts.map +1 -0
  315. package/dist/runtime/tooling/registry.js.map +1 -0
  316. package/dist/runtime/tooling/task.d.ts.map +1 -0
  317. package/dist/runtime/tooling/task.js.map +1 -0
  318. package/dist/runtime/tooling/todo.d.ts.map +1 -0
  319. package/dist/runtime/tooling/todo.js.map +1 -0
  320. package/dist/runtime/tooling/truncate.d.ts.map +1 -0
  321. package/dist/runtime/tooling/truncate.js.map +1 -0
  322. package/dist/runtime/tooling/webfetch.d.ts.map +1 -0
  323. package/dist/runtime/tooling/webfetch.js.map +1 -0
  324. package/dist/runtime/tooling/websearch.d.ts.map +1 -0
  325. package/dist/runtime/tooling/websearch.js.map +1 -0
  326. package/dist/runtime/tooling/write.d.ts.map +1 -0
  327. package/dist/runtime/tooling/write.js.map +1 -0
  328. package/dist/telemetry/core/config.d.ts.map +1 -0
  329. package/dist/telemetry/core/config.js.map +1 -0
  330. package/dist/telemetry/core/event-bus.d.ts.map +1 -0
  331. package/dist/telemetry/core/event-bus.js.map +1 -0
  332. package/dist/telemetry/core/index.d.ts.map +1 -0
  333. package/dist/telemetry/core/index.js.map +1 -0
  334. package/dist/telemetry/core/observability.d.ts.map +1 -0
  335. package/dist/telemetry/core/observability.js.map +1 -0
  336. package/dist/telemetry/core/span.d.ts.map +1 -0
  337. package/dist/telemetry/core/span.js.map +1 -0
  338. package/dist/telemetry/core/tracer.d.ts.map +1 -0
  339. package/dist/telemetry/core/tracer.js.map +1 -0
  340. package/dist/telemetry/core/types.d.ts.map +1 -0
  341. package/dist/telemetry/core/types.js.map +1 -0
  342. package/dist/telemetry/exporters/base-exporter.d.ts.map +1 -0
  343. package/dist/telemetry/exporters/base-exporter.js.map +1 -0
  344. package/dist/telemetry/exporters/console-exporter.d.ts.map +1 -0
  345. package/dist/telemetry/exporters/console-exporter.js.map +1 -0
  346. package/dist/telemetry/exporters/file-exporter.d.ts.map +1 -0
  347. package/dist/telemetry/exporters/file-exporter.js.map +1 -0
  348. package/dist/telemetry/exporters/index.d.ts.map +1 -0
  349. package/dist/telemetry/exporters/index.js.map +1 -0
  350. package/dist/telemetry/exporters/langfuse-exporter.d.ts.map +1 -0
  351. package/dist/telemetry/exporters/langfuse-exporter.js.map +1 -0
  352. package/dist/telemetry/exporters/sentry-exporter.d.ts.map +1 -0
  353. package/dist/telemetry/exporters/sentry-exporter.js.map +1 -0
  354. package/dist/telemetry/index.d.ts.map +1 -0
  355. package/dist/telemetry/index.js.map +1 -0
  356. package/package.json +7 -7
  357. package/dist/cli/args.d.ts +0 -56
  358. package/dist/cli/args.d.ts.map +0 -1
  359. package/dist/cli/args.js.map +0 -1
  360. package/dist/cli/config-selector.d.ts +0 -17
  361. package/dist/cli/config-selector.d.ts.map +0 -1
  362. package/dist/cli/config-selector.js.map +0 -1
  363. package/dist/cli/file-processor.d.ts.map +0 -1
  364. package/dist/cli/file-processor.js.map +0 -1
  365. package/dist/cli/list-models.d.ts +0 -9
  366. package/dist/cli/list-models.d.ts.map +0 -1
  367. package/dist/cli/list-models.js.map +0 -1
  368. package/dist/cli/login-handler.d.ts.map +0 -1
  369. package/dist/cli/login-handler.js +0 -746
  370. package/dist/cli/login-handler.js.map +0 -1
  371. package/dist/cli/session-picker.d.ts.map +0 -1
  372. package/dist/cli/session-picker.js.map +0 -1
  373. package/dist/core/agent-session.d.ts +0 -936
  374. package/dist/core/agent-session.d.ts.map +0 -1
  375. package/dist/core/agent-session.js +0 -2737
  376. package/dist/core/agent-session.js.map +0 -1
  377. package/dist/core/auth-storage.d.ts.map +0 -1
  378. package/dist/core/auth-storage.js.map +0 -1
  379. package/dist/core/bash-executor.d.ts.map +0 -1
  380. package/dist/core/bash-executor.js.map +0 -1
  381. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  382. package/dist/core/compaction/branch-summarization.js.map +0 -1
  383. package/dist/core/compaction/compaction.d.ts.map +0 -1
  384. package/dist/core/compaction/compaction.js.map +0 -1
  385. package/dist/core/compaction/index.d.ts.map +0 -1
  386. package/dist/core/compaction/index.js.map +0 -1
  387. package/dist/core/compaction/utils.d.ts.map +0 -1
  388. package/dist/core/compaction/utils.js.map +0 -1
  389. package/dist/core/diagnostics.d.ts.map +0 -1
  390. package/dist/core/diagnostics.js.map +0 -1
  391. package/dist/core/discover-packages.d.ts.map +0 -1
  392. package/dist/core/discover-packages.js.map +0 -1
  393. package/dist/core/event-bus.d.ts.map +0 -1
  394. package/dist/core/event-bus.js.map +0 -1
  395. package/dist/core/exec.d.ts.map +0 -1
  396. package/dist/core/exec.js.map +0 -1
  397. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  398. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  399. package/dist/core/export-html/index.d.ts.map +0 -1
  400. package/dist/core/export-html/index.js +0 -350
  401. package/dist/core/export-html/index.js.map +0 -1
  402. package/dist/core/export-html/index.ts +0 -433
  403. package/dist/core/export-html/tool-renderer.d.ts +0 -18
  404. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  405. package/dist/core/export-html/tool-renderer.js.map +0 -1
  406. package/dist/core/export-html/tool-renderer.ts +0 -80
  407. package/dist/core/extensions/index.d.ts.map +0 -1
  408. package/dist/core/extensions/index.js.map +0 -1
  409. package/dist/core/extensions/loader.d.ts.map +0 -1
  410. package/dist/core/extensions/loader.js.map +0 -1
  411. package/dist/core/extensions/runner.d.ts.map +0 -1
  412. package/dist/core/extensions/runner.js +0 -468
  413. package/dist/core/extensions/runner.js.map +0 -1
  414. package/dist/core/extensions/types.d.ts +0 -859
  415. package/dist/core/extensions/types.d.ts.map +0 -1
  416. package/dist/core/extensions/types.js.map +0 -1
  417. package/dist/core/extensions/wrapper.d.ts +0 -29
  418. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  419. package/dist/core/extensions/wrapper.js.map +0 -1
  420. package/dist/core/footer-data-provider.d.ts.map +0 -1
  421. package/dist/core/footer-data-provider.js.map +0 -1
  422. package/dist/core/hooks/index.d.ts.map +0 -1
  423. package/dist/core/hooks/index.js.map +0 -1
  424. package/dist/core/hooks/loader.d.ts.map +0 -1
  425. package/dist/core/hooks/loader.js.map +0 -1
  426. package/dist/core/hooks/runner.d.ts.map +0 -1
  427. package/dist/core/hooks/runner.js.map +0 -1
  428. package/dist/core/hooks/types.d.ts.map +0 -1
  429. package/dist/core/hooks/types.js.map +0 -1
  430. package/dist/core/index.d.ts +0 -30
  431. package/dist/core/index.d.ts.map +0 -1
  432. package/dist/core/index.js +0 -30
  433. package/dist/core/index.js.map +0 -1
  434. package/dist/core/keybindings.d.ts.map +0 -1
  435. package/dist/core/keybindings.js.map +0 -1
  436. package/dist/core/messages.d.ts.map +0 -1
  437. package/dist/core/messages.js.map +0 -1
  438. package/dist/core/model-registry.d.ts.map +0 -1
  439. package/dist/core/model-registry.js.map +0 -1
  440. package/dist/core/model-resolver.d.ts.map +0 -1
  441. package/dist/core/model-resolver.js +0 -227
  442. package/dist/core/model-resolver.js.map +0 -1
  443. package/dist/core/package-manager.d.ts.map +0 -1
  444. package/dist/core/package-manager.js.map +0 -1
  445. package/dist/core/prompt-templates.d.ts.map +0 -1
  446. package/dist/core/prompt-templates.js +0 -203
  447. package/dist/core/prompt-templates.js.map +0 -1
  448. package/dist/core/resource-loader.d.ts +0 -180
  449. package/dist/core/resource-loader.d.ts.map +0 -1
  450. package/dist/core/resource-loader.js +0 -530
  451. package/dist/core/resource-loader.js.map +0 -1
  452. package/dist/core/sdk.d.ts +0 -49
  453. package/dist/core/sdk.d.ts.map +0 -1
  454. package/dist/core/sdk.js +0 -306
  455. package/dist/core/sdk.js.map +0 -1
  456. package/dist/core/session-manager.d.ts.map +0 -1
  457. package/dist/core/session-manager.js.map +0 -1
  458. package/dist/core/settings-manager.d.ts.map +0 -1
  459. package/dist/core/settings-manager.js.map +0 -1
  460. package/dist/core/skills.d.ts.map +0 -1
  461. package/dist/core/skills.js +0 -277
  462. package/dist/core/skills.js.map +0 -1
  463. package/dist/core/subagents.d.ts.map +0 -1
  464. package/dist/core/subagents.js +0 -163
  465. package/dist/core/subagents.js.map +0 -1
  466. package/dist/core/system-prompt.d.ts.map +0 -1
  467. package/dist/core/system-prompt.js.map +0 -1
  468. package/dist/core/task-session-manager.d.ts.map +0 -1
  469. package/dist/core/task-session-manager.js.map +0 -1
  470. package/dist/core/timings.d.ts.map +0 -1
  471. package/dist/core/timings.js.map +0 -1
  472. package/dist/core/todo-store.d.ts.map +0 -1
  473. package/dist/core/todo-store.js.map +0 -1
  474. package/dist/core/tools/bash.d.ts.map +0 -1
  475. package/dist/core/tools/bash.js.map +0 -1
  476. package/dist/core/tools/bg-process.d.ts.map +0 -1
  477. package/dist/core/tools/bg-process.js.map +0 -1
  478. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  479. package/dist/core/tools/edit-diff.js.map +0 -1
  480. package/dist/core/tools/edit.d.ts.map +0 -1
  481. package/dist/core/tools/edit.js.map +0 -1
  482. package/dist/core/tools/find.d.ts.map +0 -1
  483. package/dist/core/tools/find.js.map +0 -1
  484. package/dist/core/tools/grep.d.ts.map +0 -1
  485. package/dist/core/tools/grep.js.map +0 -1
  486. package/dist/core/tools/index.d.ts +0 -208
  487. package/dist/core/tools/index.d.ts.map +0 -1
  488. package/dist/core/tools/index.js.map +0 -1
  489. package/dist/core/tools/ls.d.ts.map +0 -1
  490. package/dist/core/tools/ls.js.map +0 -1
  491. package/dist/core/tools/memory.d.ts.map +0 -1
  492. package/dist/core/tools/memory.js.map +0 -1
  493. package/dist/core/tools/path-utils.d.ts.map +0 -1
  494. package/dist/core/tools/path-utils.js.map +0 -1
  495. package/dist/core/tools/read.d.ts.map +0 -1
  496. package/dist/core/tools/read.js.map +0 -1
  497. package/dist/core/tools/registry.d.ts.map +0 -1
  498. package/dist/core/tools/registry.js.map +0 -1
  499. package/dist/core/tools/task.d.ts.map +0 -1
  500. package/dist/core/tools/task.js.map +0 -1
  501. package/dist/core/tools/todo.d.ts.map +0 -1
  502. package/dist/core/tools/todo.js.map +0 -1
  503. package/dist/core/tools/truncate.d.ts.map +0 -1
  504. package/dist/core/tools/truncate.js.map +0 -1
  505. package/dist/core/tools/webfetch.d.ts.map +0 -1
  506. package/dist/core/tools/webfetch.js.map +0 -1
  507. package/dist/core/tools/websearch.d.ts.map +0 -1
  508. package/dist/core/tools/websearch.js.map +0 -1
  509. package/dist/core/tools/write.d.ts.map +0 -1
  510. package/dist/core/tools/write.js.map +0 -1
  511. package/dist/modes/index.d.ts +0 -16
  512. package/dist/modes/index.d.ts.map +0 -1
  513. package/dist/modes/index.js +0 -14
  514. package/dist/modes/index.js.map +0 -1
  515. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  516. package/dist/modes/interactive/components/armin.js.map +0 -1
  517. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  518. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  519. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  520. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  521. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  522. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  523. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  524. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  525. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  526. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  527. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  528. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  529. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  530. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  531. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  532. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  533. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  534. package/dist/modes/interactive/components/custom-editor.d.ts +0 -17
  535. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  536. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  537. package/dist/modes/interactive/components/custom-message.d.ts +0 -19
  538. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  539. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  540. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  541. package/dist/modes/interactive/components/diff.js.map +0 -1
  542. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  543. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  544. package/dist/modes/interactive/components/extension-editor.d.ts +0 -13
  545. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  546. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  547. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  548. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  549. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  550. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  551. package/dist/modes/interactive/components/footer.d.ts +0 -17
  552. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  553. package/dist/modes/interactive/components/footer.js.map +0 -1
  554. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  555. package/dist/modes/interactive/components/index.js.map +0 -1
  556. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -23
  557. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  558. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  559. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  560. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  561. package/dist/modes/interactive/components/model-selector.d.ts +0 -43
  562. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  563. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  564. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -75
  565. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  566. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  567. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  568. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  569. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -21
  570. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  571. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  572. package/dist/modes/interactive/components/session-selector.d.ts +0 -85
  573. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  574. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  575. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  576. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  577. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  578. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  579. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  580. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  581. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  582. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  583. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  584. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  585. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  586. package/dist/modes/interactive/components/tool-execution.d.ts +0 -72
  587. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  588. package/dist/modes/interactive/components/tool-execution.js +0 -1001
  589. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  590. package/dist/modes/interactive/components/tree-selector.d.ts +0 -62
  591. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  592. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  593. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  594. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  595. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  596. package/dist/modes/interactive/components/user-message.js.map +0 -1
  597. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  598. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  599. package/dist/modes/interactive/interactive-mode.d.ts +0 -1931
  600. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  601. package/dist/modes/interactive/interactive-mode.js +0 -5733
  602. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  603. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  604. package/dist/modes/interactive/theme/theme.js.map +0 -1
  605. package/dist/modes/print-mode.d.ts +0 -561
  606. package/dist/modes/print-mode.d.ts.map +0 -1
  607. package/dist/modes/print-mode.js.map +0 -1
  608. package/dist/modes/rpc/rpc-client.d.ts +0 -1129
  609. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  610. package/dist/modes/rpc/rpc-client.js.map +0 -1
  611. package/dist/modes/rpc/rpc-mode.d.ts +0 -813
  612. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  613. package/dist/modes/rpc/rpc-mode.js +0 -1229
  614. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  615. package/dist/modes/rpc/rpc-types.d.ts +0 -392
  616. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  617. package/dist/modes/rpc/rpc-types.js.map +0 -1
  618. package/dist/modes/shared.d.ts.map +0 -1
  619. package/dist/modes/shared.js.map +0 -1
  620. package/dist/observability/core/config.d.ts.map +0 -1
  621. package/dist/observability/core/config.js.map +0 -1
  622. package/dist/observability/core/event-bus.d.ts.map +0 -1
  623. package/dist/observability/core/event-bus.js.map +0 -1
  624. package/dist/observability/core/index.d.ts.map +0 -1
  625. package/dist/observability/core/index.js.map +0 -1
  626. package/dist/observability/core/observability.d.ts.map +0 -1
  627. package/dist/observability/core/observability.js.map +0 -1
  628. package/dist/observability/core/span.d.ts.map +0 -1
  629. package/dist/observability/core/span.js.map +0 -1
  630. package/dist/observability/core/tracer.d.ts.map +0 -1
  631. package/dist/observability/core/tracer.js.map +0 -1
  632. package/dist/observability/core/types.d.ts.map +0 -1
  633. package/dist/observability/core/types.js.map +0 -1
  634. package/dist/observability/exporters/base-exporter.d.ts.map +0 -1
  635. package/dist/observability/exporters/base-exporter.js.map +0 -1
  636. package/dist/observability/exporters/console-exporter.d.ts.map +0 -1
  637. package/dist/observability/exporters/console-exporter.js.map +0 -1
  638. package/dist/observability/exporters/file-exporter.d.ts.map +0 -1
  639. package/dist/observability/exporters/file-exporter.js.map +0 -1
  640. package/dist/observability/exporters/index.d.ts.map +0 -1
  641. package/dist/observability/exporters/index.js.map +0 -1
  642. package/dist/observability/exporters/langfuse-exporter.d.ts.map +0 -1
  643. package/dist/observability/exporters/langfuse-exporter.js.map +0 -1
  644. package/dist/observability/exporters/sentry-exporter.d.ts.map +0 -1
  645. package/dist/observability/exporters/sentry-exporter.js.map +0 -1
  646. package/dist/observability/index.d.ts.map +0 -1
  647. package/dist/observability/index.js.map +0 -1
  648. package/dist/utils/array.d.ts.map +0 -1
  649. package/dist/utils/array.js.map +0 -1
  650. package/dist/utils/changelog.d.ts.map +0 -1
  651. package/dist/utils/changelog.js.map +0 -1
  652. package/dist/utils/clipboard-image.d.ts.map +0 -1
  653. package/dist/utils/clipboard-image.js.map +0 -1
  654. package/dist/utils/clipboard.d.ts.map +0 -1
  655. package/dist/utils/clipboard.js.map +0 -1
  656. package/dist/utils/color-formatter.d.ts.map +0 -1
  657. package/dist/utils/color-formatter.js.map +0 -1
  658. package/dist/utils/data-transformer.d.ts.map +0 -1
  659. package/dist/utils/data-transformer.js.map +0 -1
  660. package/dist/utils/date-formatter.d.ts.map +0 -1
  661. package/dist/utils/date-formatter.js.map +0 -1
  662. package/dist/utils/error-handler.d.ts.map +0 -1
  663. package/dist/utils/error-handler.js.map +0 -1
  664. package/dist/utils/file-operations.d.ts.map +0 -1
  665. package/dist/utils/file-operations.js.map +0 -1
  666. package/dist/utils/frontmatter.d.ts.map +0 -1
  667. package/dist/utils/frontmatter.js.map +0 -1
  668. package/dist/utils/git.d.ts.map +0 -1
  669. package/dist/utils/git.js.map +0 -1
  670. package/dist/utils/image-convert.d.ts.map +0 -1
  671. package/dist/utils/image-convert.js.map +0 -1
  672. package/dist/utils/image-resize.d.ts.map +0 -1
  673. package/dist/utils/image-resize.js.map +0 -1
  674. package/dist/utils/json-formatter.d.ts.map +0 -1
  675. package/dist/utils/json-formatter.js.map +0 -1
  676. package/dist/utils/logger.d.ts.map +0 -1
  677. package/dist/utils/logger.js.map +0 -1
  678. package/dist/utils/markdown-formatter.d.ts.map +0 -1
  679. package/dist/utils/markdown-formatter.js.map +0 -1
  680. package/dist/utils/mime.d.ts.map +0 -1
  681. package/dist/utils/mime.js.map +0 -1
  682. package/dist/utils/path-validator.d.ts.map +0 -1
  683. package/dist/utils/path-validator.js.map +0 -1
  684. package/dist/utils/photon.d.ts.map +0 -1
  685. package/dist/utils/photon.js.map +0 -1
  686. package/dist/utils/shell.d.ts.map +0 -1
  687. package/dist/utils/shell.js +0 -142
  688. package/dist/utils/shell.js.map +0 -1
  689. package/dist/utils/sleep.d.ts.map +0 -1
  690. package/dist/utils/sleep.js.map +0 -1
  691. package/dist/utils/string-formatter.d.ts.map +0 -1
  692. package/dist/utils/string-formatter.js.map +0 -1
  693. package/dist/utils/tools-manager.d.ts.map +0 -1
  694. package/dist/utils/tools-manager.js.map +0 -1
  695. package/dist/utils/type-guards.d.ts.map +0 -1
  696. package/dist/utils/type-guards.js.map +0 -1
  697. /package/{examples → demos}/README.md +0 -0
  698. /package/dist/{cli → command-line}/args.js +0 -0
  699. /package/dist/{cli → command-line}/config-selector.js +0 -0
  700. /package/dist/{cli → command-line}/file-processor.d.ts +0 -0
  701. /package/dist/{cli → command-line}/file-processor.js +0 -0
  702. /package/dist/{cli → command-line}/list-models.js +0 -0
  703. /package/dist/{cli → command-line}/login-handler.d.ts +0 -0
  704. /package/dist/{cli → command-line}/session-picker.d.ts +0 -0
  705. /package/dist/{cli → command-line}/session-picker.js +0 -0
  706. /package/dist/{utils → helpers}/array.d.ts +0 -0
  707. /package/dist/{utils → helpers}/array.js +0 -0
  708. /package/dist/{utils → helpers}/changelog.d.ts +0 -0
  709. /package/dist/{utils → helpers}/changelog.js +0 -0
  710. /package/dist/{utils → helpers}/clipboard-image.d.ts +0 -0
  711. /package/dist/{utils → helpers}/clipboard-image.js +0 -0
  712. /package/dist/{utils → helpers}/clipboard.d.ts +0 -0
  713. /package/dist/{utils → helpers}/clipboard.js +0 -0
  714. /package/dist/{utils → helpers}/color-formatter.d.ts +0 -0
  715. /package/dist/{utils → helpers}/color-formatter.js +0 -0
  716. /package/dist/{utils → helpers}/data-transformer.d.ts +0 -0
  717. /package/dist/{utils → helpers}/data-transformer.js +0 -0
  718. /package/dist/{utils → helpers}/date-formatter.d.ts +0 -0
  719. /package/dist/{utils → helpers}/date-formatter.js +0 -0
  720. /package/dist/{utils → helpers}/error-handler.d.ts +0 -0
  721. /package/dist/{utils → helpers}/error-handler.js +0 -0
  722. /package/dist/{utils → helpers}/file-operations.d.ts +0 -0
  723. /package/dist/{utils → helpers}/file-operations.js +0 -0
  724. /package/dist/{utils → helpers}/frontmatter.d.ts +0 -0
  725. /package/dist/{utils → helpers}/frontmatter.js +0 -0
  726. /package/dist/{utils → helpers}/git.d.ts +0 -0
  727. /package/dist/{utils → helpers}/git.js +0 -0
  728. /package/dist/{utils → helpers}/image-convert.d.ts +0 -0
  729. /package/dist/{utils → helpers}/image-convert.js +0 -0
  730. /package/dist/{utils → helpers}/image-resize.d.ts +0 -0
  731. /package/dist/{utils → helpers}/image-resize.js +0 -0
  732. /package/dist/{utils → helpers}/json-formatter.d.ts +0 -0
  733. /package/dist/{utils → helpers}/json-formatter.js +0 -0
  734. /package/dist/{utils → helpers}/logger.d.ts +0 -0
  735. /package/dist/{utils → helpers}/logger.js +0 -0
  736. /package/dist/{utils → helpers}/markdown-formatter.d.ts +0 -0
  737. /package/dist/{utils → helpers}/markdown-formatter.js +0 -0
  738. /package/dist/{utils → helpers}/mime.d.ts +0 -0
  739. /package/dist/{utils → helpers}/mime.js +0 -0
  740. /package/dist/{utils → helpers}/path-validator.d.ts +0 -0
  741. /package/dist/{utils → helpers}/path-validator.js +0 -0
  742. /package/dist/{utils → helpers}/photon.d.ts +0 -0
  743. /package/dist/{utils → helpers}/photon.js +0 -0
  744. /package/dist/{utils → helpers}/shell.d.ts +0 -0
  745. /package/dist/{utils → helpers}/sleep.d.ts +0 -0
  746. /package/dist/{utils → helpers}/sleep.js +0 -0
  747. /package/dist/{utils → helpers}/string-formatter.d.ts +0 -0
  748. /package/dist/{utils → helpers}/string-formatter.js +0 -0
  749. /package/dist/{utils → helpers}/tools-manager.d.ts +0 -0
  750. /package/dist/{utils → helpers}/tools-manager.js +0 -0
  751. /package/dist/{utils → helpers}/type-guards.d.ts +0 -0
  752. /package/dist/{utils → helpers}/type-guards.js +0 -0
  753. /package/dist/{modes → interfaces}/print-mode.js +0 -0
  754. /package/dist/{modes/rpc → interfaces/service-api}/rpc-client.js +0 -0
  755. /package/dist/{modes/rpc → interfaces/service-api}/rpc-types.js +0 -0
  756. /package/dist/{modes → interfaces}/shared.d.ts +0 -0
  757. /package/dist/{modes → interfaces}/shared.js +0 -0
  758. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/armin.d.ts +0 -0
  759. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/armin.js +0 -0
  760. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/assistant-message.d.ts +0 -0
  761. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/assistant-message.js +0 -0
  762. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/bash-execution.d.ts +0 -0
  763. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/bash-execution.js +0 -0
  764. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/bordered-loader.d.ts +0 -0
  765. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/bordered-loader.js +0 -0
  766. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/branch-summary-message.js +0 -0
  767. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/compaction-summary-message.js +0 -0
  768. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/config-selector.js +0 -0
  769. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/countdown-timer.d.ts +0 -0
  770. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/countdown-timer.js +0 -0
  771. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/custom-editor.js +0 -0
  772. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/custom-message.js +0 -0
  773. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/diff.d.ts +0 -0
  774. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/diff.js +0 -0
  775. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/dynamic-border.d.ts +0 -0
  776. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/dynamic-border.js +0 -0
  777. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/extension-editor.js +0 -0
  778. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/extension-input.d.ts +0 -0
  779. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/extension-input.js +0 -0
  780. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/extension-selector.d.ts +0 -0
  781. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/extension-selector.js +0 -0
  782. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/footer.js +0 -0
  783. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/index.d.ts +0 -0
  784. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/index.js +0 -0
  785. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/keybinding-hints.js +0 -0
  786. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/login-dialog.d.ts +0 -0
  787. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/login-dialog.js +0 -0
  788. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/model-selector.js +0 -0
  789. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/oauth-selector.js +0 -0
  790. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/scoped-models-selector.d.ts +0 -0
  791. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/scoped-models-selector.js +0 -0
  792. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/session-selector-search.js +0 -0
  793. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/session-selector.js +0 -0
  794. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/settings-selector.d.ts +0 -0
  795. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/settings-selector.js +0 -0
  796. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/show-images-selector.d.ts +0 -0
  797. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/show-images-selector.js +0 -0
  798. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/skill-invocation-message.js +0 -0
  799. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/theme-selector.d.ts +0 -0
  800. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/theme-selector.js +0 -0
  801. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/thinking-selector.d.ts +0 -0
  802. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/thinking-selector.js +0 -0
  803. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/tree-selector.js +0 -0
  804. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/user-message-selector.d.ts +0 -0
  805. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/user-message-selector.js +0 -0
  806. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/user-message.d.ts +0 -0
  807. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/user-message.js +0 -0
  808. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/visual-truncate.d.ts +0 -0
  809. /package/dist/{modes/interactive → interfaces/terminal-ui}/components/visual-truncate.js +0 -0
  810. /package/dist/{modes/interactive → interfaces/terminal-ui}/theme/dark.json +0 -0
  811. /package/dist/{modes/interactive → interfaces/terminal-ui}/theme/light.json +0 -0
  812. /package/dist/{modes/interactive → interfaces/terminal-ui}/theme/theme-schema.json +0 -0
  813. /package/dist/{modes/interactive → interfaces/terminal-ui}/theme/theme.d.ts +0 -0
  814. /package/dist/{modes/interactive → interfaces/terminal-ui}/theme/theme.js +0 -0
  815. /package/dist/{core → runtime}/auth-storage.d.ts +0 -0
  816. /package/dist/{core → runtime}/auth-storage.js +0 -0
  817. /package/dist/{core → runtime}/bash-executor.d.ts +0 -0
  818. /package/dist/{core → runtime}/bash-executor.js +0 -0
  819. /package/dist/{core/compaction → runtime/context-compression}/branch-summarization.d.ts +0 -0
  820. /package/dist/{core/compaction → runtime/context-compression}/branch-summarization.js +0 -0
  821. /package/dist/{core/compaction → runtime/context-compression}/compaction.d.ts +0 -0
  822. /package/dist/{core/compaction → runtime/context-compression}/compaction.js +0 -0
  823. /package/dist/{core/compaction → runtime/context-compression}/index.d.ts +0 -0
  824. /package/dist/{core/compaction → runtime/context-compression}/index.js +0 -0
  825. /package/dist/{core/compaction → runtime/context-compression}/utils.d.ts +0 -0
  826. /package/dist/{core/compaction → runtime/context-compression}/utils.js +0 -0
  827. /package/dist/{core → runtime}/diagnostics.d.ts +0 -0
  828. /package/dist/{core → runtime}/diagnostics.js +0 -0
  829. /package/dist/{core → runtime}/discover-packages.d.ts +0 -0
  830. /package/dist/{core → runtime}/discover-packages.js +0 -0
  831. /package/dist/{core → runtime}/event-bus.d.ts +0 -0
  832. /package/dist/{core → runtime}/event-bus.js +0 -0
  833. /package/dist/{core → runtime}/exec.d.ts +0 -0
  834. /package/dist/{core → runtime}/exec.js +0 -0
  835. /package/dist/{core → runtime}/footer-data-provider.d.ts +0 -0
  836. /package/dist/{core → runtime}/footer-data-provider.js +0 -0
  837. /package/dist/{core/export-html → runtime/html-export}/ansi-to-html.d.ts +0 -0
  838. /package/dist/{core/export-html → runtime/html-export}/ansi-to-html.js +0 -0
  839. /package/dist/{core/export-html → runtime/html-export}/ansi-to-html.ts +0 -0
  840. /package/dist/{core/export-html → runtime/html-export}/index.d.ts +0 -0
  841. /package/dist/{core/export-html → runtime/html-export}/template.css +0 -0
  842. /package/dist/{core/export-html → runtime/html-export}/template.html +0 -0
  843. /package/dist/{core/export-html → runtime/html-export}/template.js +0 -0
  844. /package/dist/{core/export-html → runtime/html-export}/tool-renderer.js +0 -0
  845. /package/dist/{core/export-html → runtime/html-export}/vendor/highlight.min.js +0 -0
  846. /package/dist/{core/export-html → runtime/html-export}/vendor/marked.min.js +0 -0
  847. /package/dist/{core → runtime}/keybindings.d.ts +0 -0
  848. /package/dist/{core → runtime}/keybindings.js +0 -0
  849. /package/dist/{core/hooks → runtime/lifecycle}/index.d.ts +0 -0
  850. /package/dist/{core/hooks → runtime/lifecycle}/index.js +0 -0
  851. /package/dist/{core/hooks → runtime/lifecycle}/loader.d.ts +0 -0
  852. /package/dist/{core/hooks → runtime/lifecycle}/loader.js +0 -0
  853. /package/dist/{core/hooks → runtime/lifecycle}/runner.d.ts +0 -0
  854. /package/dist/{core/hooks → runtime/lifecycle}/runner.js +0 -0
  855. /package/dist/{core/hooks → runtime/lifecycle}/types.d.ts +0 -0
  856. /package/dist/{core/hooks → runtime/lifecycle}/types.js +0 -0
  857. /package/dist/{core → runtime}/messages.d.ts +0 -0
  858. /package/dist/{core → runtime}/messages.js +0 -0
  859. /package/dist/{core → runtime}/model-registry.d.ts +0 -0
  860. /package/dist/{core → runtime}/model-registry.js +0 -0
  861. /package/dist/{core → runtime}/model-resolver.d.ts +0 -0
  862. /package/dist/{core → runtime}/package-manager.d.ts +0 -0
  863. /package/dist/{core → runtime}/package-manager.js +0 -0
  864. /package/dist/{core/extensions → runtime/plugins}/index.d.ts +0 -0
  865. /package/dist/{core/extensions → runtime/plugins}/index.js +0 -0
  866. /package/dist/{core/extensions → runtime/plugins}/loader.d.ts +0 -0
  867. /package/dist/{core/extensions → runtime/plugins}/loader.js +0 -0
  868. /package/dist/{core/extensions → runtime/plugins}/runner.d.ts +0 -0
  869. /package/dist/{core/extensions → runtime/plugins}/types.js +0 -0
  870. /package/dist/{core/extensions → runtime/plugins}/wrapper.js +0 -0
  871. /package/dist/{core → runtime}/prompt-templates.d.ts +0 -0
  872. /package/dist/{core → runtime}/session-manager.d.ts +0 -0
  873. /package/dist/{core → runtime}/session-manager.js +0 -0
  874. /package/dist/{core → runtime}/settings-manager.d.ts +0 -0
  875. /package/dist/{core → runtime}/settings-manager.js +0 -0
  876. /package/dist/{core → runtime}/skills.d.ts +0 -0
  877. /package/dist/{core → runtime}/subagents.d.ts +0 -0
  878. /package/dist/{core → runtime}/system-prompt.d.ts +0 -0
  879. /package/dist/{core → runtime}/system-prompt.js +0 -0
  880. /package/dist/{core → runtime}/task-session-manager.d.ts +0 -0
  881. /package/dist/{core → runtime}/task-session-manager.js +0 -0
  882. /package/dist/{core → runtime}/timings.d.ts +0 -0
  883. /package/dist/{core → runtime}/timings.js +0 -0
  884. /package/dist/{core → runtime}/todo-store.d.ts +0 -0
  885. /package/dist/{core → runtime}/todo-store.js +0 -0
  886. /package/dist/{core/tools → runtime/tooling}/bash.d.ts +0 -0
  887. /package/dist/{core/tools → runtime/tooling}/bash.js +0 -0
  888. /package/dist/{core/tools → runtime/tooling}/bg-process.d.ts +0 -0
  889. /package/dist/{core/tools → runtime/tooling}/bg-process.js +0 -0
  890. /package/dist/{core/tools → runtime/tooling}/edit-diff.d.ts +0 -0
  891. /package/dist/{core/tools → runtime/tooling}/edit-diff.js +0 -0
  892. /package/dist/{core/tools → runtime/tooling}/edit.d.ts +0 -0
  893. /package/dist/{core/tools → runtime/tooling}/edit.js +0 -0
  894. /package/dist/{core/tools → runtime/tooling}/find.d.ts +0 -0
  895. /package/dist/{core/tools → runtime/tooling}/find.js +0 -0
  896. /package/dist/{core/tools → runtime/tooling}/grep.d.ts +0 -0
  897. /package/dist/{core/tools → runtime/tooling}/grep.js +0 -0
  898. /package/dist/{core/tools → runtime/tooling}/index.js +0 -0
  899. /package/dist/{core/tools → runtime/tooling}/ls.d.ts +0 -0
  900. /package/dist/{core/tools → runtime/tooling}/ls.js +0 -0
  901. /package/dist/{core/tools → runtime/tooling}/memory.d.ts +0 -0
  902. /package/dist/{core/tools → runtime/tooling}/memory.js +0 -0
  903. /package/dist/{core/tools → runtime/tooling}/path-utils.d.ts +0 -0
  904. /package/dist/{core/tools → runtime/tooling}/path-utils.js +0 -0
  905. /package/dist/{core/tools → runtime/tooling}/read.d.ts +0 -0
  906. /package/dist/{core/tools → runtime/tooling}/read.js +0 -0
  907. /package/dist/{core/tools → runtime/tooling}/registry.d.ts +0 -0
  908. /package/dist/{core/tools → runtime/tooling}/registry.js +0 -0
  909. /package/dist/{core/tools → runtime/tooling}/task.d.ts +0 -0
  910. /package/dist/{core/tools → runtime/tooling}/task.js +0 -0
  911. /package/dist/{core/tools → runtime/tooling}/todo.d.ts +0 -0
  912. /package/dist/{core/tools → runtime/tooling}/todo.js +0 -0
  913. /package/dist/{core/tools → runtime/tooling}/truncate.d.ts +0 -0
  914. /package/dist/{core/tools → runtime/tooling}/truncate.js +0 -0
  915. /package/dist/{core/tools → runtime/tooling}/webfetch.d.ts +0 -0
  916. /package/dist/{core/tools → runtime/tooling}/webfetch.js +0 -0
  917. /package/dist/{core/tools → runtime/tooling}/websearch.d.ts +0 -0
  918. /package/dist/{core/tools → runtime/tooling}/websearch.js +0 -0
  919. /package/dist/{core/tools → runtime/tooling}/write.d.ts +0 -0
  920. /package/dist/{core/tools → runtime/tooling}/write.js +0 -0
  921. /package/dist/{observability → telemetry}/core/config.d.ts +0 -0
  922. /package/dist/{observability → telemetry}/core/config.js +0 -0
  923. /package/dist/{observability → telemetry}/core/event-bus.d.ts +0 -0
  924. /package/dist/{observability → telemetry}/core/event-bus.js +0 -0
  925. /package/dist/{observability → telemetry}/core/index.d.ts +0 -0
  926. /package/dist/{observability → telemetry}/core/index.js +0 -0
  927. /package/dist/{observability → telemetry}/core/observability.d.ts +0 -0
  928. /package/dist/{observability → telemetry}/core/observability.js +0 -0
  929. /package/dist/{observability → telemetry}/core/span.d.ts +0 -0
  930. /package/dist/{observability → telemetry}/core/span.js +0 -0
  931. /package/dist/{observability → telemetry}/core/tracer.d.ts +0 -0
  932. /package/dist/{observability → telemetry}/core/tracer.js +0 -0
  933. /package/dist/{observability → telemetry}/core/types.d.ts +0 -0
  934. /package/dist/{observability → telemetry}/core/types.js +0 -0
  935. /package/dist/{observability → telemetry}/exporters/base-exporter.d.ts +0 -0
  936. /package/dist/{observability → telemetry}/exporters/base-exporter.js +0 -0
  937. /package/dist/{observability → telemetry}/exporters/console-exporter.d.ts +0 -0
  938. /package/dist/{observability → telemetry}/exporters/console-exporter.js +0 -0
  939. /package/dist/{observability → telemetry}/exporters/file-exporter.d.ts +0 -0
  940. /package/dist/{observability → telemetry}/exporters/file-exporter.js +0 -0
  941. /package/dist/{observability → telemetry}/exporters/index.d.ts +0 -0
  942. /package/dist/{observability → telemetry}/exporters/index.js +0 -0
  943. /package/dist/{observability → telemetry}/exporters/langfuse-exporter.d.ts +0 -0
  944. /package/dist/{observability → telemetry}/exporters/langfuse-exporter.js +0 -0
  945. /package/dist/{observability → telemetry}/exporters/sentry-exporter.d.ts +0 -0
  946. /package/dist/{observability → telemetry}/exporters/sentry-exporter.js +0 -0
  947. /package/dist/{observability → telemetry}/index.d.ts +0 -0
  948. /package/dist/{observability → telemetry}/index.js +0 -0
  949. /package/{docs → guides}/PI_MONO_MIT_REMOVAL_GUIDE.md +0 -0
  950. /package/{docs → guides}/SAME_TO_SAME_PARITY_REPORT.md +0 -0
@@ -0,0 +1,813 @@
1
+ /**
2
+ * RPC Mode - Network API for programmatic access to the coding agent
3
+ *
4
+ * ============================================================================
5
+ * PURPOSE
6
+ * ============================================================================
7
+ *
8
+ * Provides a headless JSON-RPC 2.0 interface for embedding the agent in
9
+ * other applications or accessing it via network. Enables programmatic
10
+ * control of the agent without terminal UI, suitable for:
11
+ *
12
+ * - IDE plugins and editor extensions
13
+ * - Web applications and dashboards
14
+ * - Automated workflows and orchestration
15
+ * - Mobile or desktop app backends
16
+ * - Testing and development tools
17
+ * - Multi-client session management
18
+ *
19
+ * ============================================================================
20
+ * PROTOCOL: JSON-RPC 2.0 WITH EXTENSIONS
21
+ * ============================================================================
22
+ *
23
+ * Communication Model:
24
+ * - Stdin: JSON lines with RpcCommand objects
25
+ * - Stdout: JSON lines with RpcResponse and AgentSessionEvent objects
26
+ * - Bidirectional: Client sends commands, server sends responses/events
27
+ * - Asynchronous: Events streamed independently of command responses
28
+ *
29
+ * Command Format:
30
+ * {
31
+ * "id": "req-123", // Optional correlation ID (string or number)
32
+ * "type": "prompt", // Command type
33
+ * "message": "What is 2+2?", // Command-specific fields
34
+ * "images": [...] // Optional images
35
+ * }
36
+ *
37
+ * Response Format:
38
+ * {
39
+ * "id": "req-123", // Matches command ID
40
+ * "type": "response",
41
+ * "command": "prompt", // Which command this responds to
42
+ * "success": true,
43
+ * "data": {...} // Optional success data
44
+ * }
45
+ * OR
46
+ * {
47
+ * "id": "req-123",
48
+ * "type": "response",
49
+ * "command": "prompt",
50
+ * "success": false,
51
+ * "error": "Model not found"
52
+ * }
53
+ *
54
+ * Event Format (streamed asynchronously):
55
+ * {
56
+ * "type": "agent_start",
57
+ * "model": {...}
58
+ * }
59
+ * {
60
+ * "type": "message",
61
+ * "role": "assistant",
62
+ * "content": [...]
63
+ * }
64
+ * {
65
+ * "type": "tool_call",
66
+ * "toolName": "bash",
67
+ * "toolInput": {"command": "ls"}
68
+ * }
69
+ * ... More events ...
70
+ *
71
+ * Extension UI Request Format:
72
+ * {
73
+ * "type": "extension_ui_request",
74
+ * "id": "ui-456",
75
+ * "method": "select", // UI method: select, confirm, input, etc.
76
+ * "title": "Select option",
77
+ * "options": ["Option 1", "Option 2"]
78
+ * }
79
+ *
80
+ * Extension UI Response Format (client must send):
81
+ * {
82
+ * "type": "extension_ui_response",
83
+ * "id": "ui-456",
84
+ * "value": "Option 1" // Response depends on method
85
+ * }
86
+ * OR (for cancelled dialogs):
87
+ * {
88
+ * "type": "extension_ui_response",
89
+ * "id": "ui-456",
90
+ * "cancelled": true
91
+ * }
92
+ *
93
+ * ============================================================================
94
+ * SERVER LIFECYCLE
95
+ * ============================================================================
96
+ *
97
+ * Startup Phase:
98
+ * 1. Process starts in RPC mode (via --mode rpc flag)
99
+ * 2. AgentSession initialized (loads model, tools, extensions)
100
+ * 3. Extensions initialized with RPC-based ExtensionUIContext
101
+ * 4. Event subscription set up
102
+ * 5. Readline interface starts listening on stdin
103
+ * 6. Server ready to accept commands
104
+ *
105
+ * Command Processing Loop:
106
+ * 1. Read JSON line from stdin
107
+ * 2. If extension_ui_response: resolve pending extension UI request
108
+ * 3. If RpcCommand: validate, route to handler, send response
109
+ * 4. Continue listening for next command
110
+ *
111
+ * Streaming Events:
112
+ * - As agent processes commands, events streamed to stdout asynchronously
113
+ * - Client receives both responses (for correlation) and events (for updates)
114
+ * - No ordering guarantee between events from different commands (if sent quickly)
115
+ *
116
+ * Shutdown Phase:
117
+ * - Extension sends session_shutdown event (optional)
118
+ * - Extension shutdown handlers run
119
+ * - Process exits with code 0
120
+ * - Client should close readline interface
121
+ *
122
+ * ============================================================================
123
+ * AVAILABLE COMMANDS
124
+ * ============================================================================
125
+ *
126
+ * Prompting Commands:
127
+ * prompt(message, images, streamingBehavior)
128
+ * → Executes agent loop with prompt
129
+ * → Returns success or error
130
+ * → Streams events asynchronously
131
+ *
132
+ * steer(message)
133
+ * → Queue message to steer current agent response
134
+ * → Only valid while agent streaming
135
+ *
136
+ * follow_up(message)
137
+ * → Queue follow-up prompt for after current response
138
+ * → Buffers until current response complete
139
+ *
140
+ * abort()
141
+ * → Cancel current streaming/processing
142
+ * → Cleans up pending operations
143
+ *
144
+ * State Commands:
145
+ * get_state()
146
+ * → Returns current session state
147
+ * → Includes model, messages count, streaming status
148
+ *
149
+ * get_messages()
150
+ * → Returns all messages in session
151
+ *
152
+ * Model Commands:
153
+ * set_model(provider, modelId)
154
+ * → Switch to different model
155
+ *
156
+ * cycle_model()
157
+ * → Switch to next scoped model or available model
158
+ *
159
+ * get_available_models()
160
+ * → List all available models
161
+ *
162
+ * Thinking Commands:
163
+ * set_thinking_level(level)
164
+ * → Set thinking budget: "none", "auto", "max"
165
+ *
166
+ * cycle_thinking_level()
167
+ * → Cycle through thinking levels
168
+ *
169
+ * Queue Mode Commands:
170
+ * set_steering_mode(mode)
171
+ * → Set steering behavior: "immediate", "queued"
172
+ *
173
+ * set_follow_up_mode(mode)
174
+ * → Set follow-up behavior: "immediate", "queued"
175
+ *
176
+ * Compaction Commands:
177
+ * compact(customInstructions)
178
+ * → Manually compact session context
179
+ * → Returns compaction summary
180
+ *
181
+ * set_auto_compaction(enabled)
182
+ * → Enable/disable auto compaction
183
+ *
184
+ * Bash Commands:
185
+ * bash(command)
186
+ * → Execute bash command synchronously
187
+ * → Returns stdout, stderr, exit code
188
+ *
189
+ * abort_bash()
190
+ * → Kill running bash command
191
+ *
192
+ * Session Commands:
193
+ * get_session_stats()
194
+ * → Returns token usage, message count, etc.
195
+ *
196
+ * export_html(outputPath)
197
+ * → Export session to HTML file
198
+ *
199
+ * switch_session(sessionPath)
200
+ * → Load different session file
201
+ *
202
+ * fork(entryId)
203
+ * → Create new session from branch point
204
+ *
205
+ * ============================================================================
206
+ * ERROR HANDLING
207
+ * ============================================================================
208
+ *
209
+ * Response Errors:
210
+ * All errors returned in success: false responses with error field
211
+ * No exceptions thrown (graceful error handling)
212
+ *
213
+ * Error Categories:
214
+ * - Invalid command/arguments → success: false
215
+ * - Model not found → success: false
216
+ * - Session not found → success: false
217
+ * - Tool execution error → returned in event
218
+ * - API error → returned in stop_reason: "error" event
219
+ *
220
+ * Extension UI Errors:
221
+ * - Dialog timeout → default value returned
222
+ * - Signal abort → default value returned
223
+ * - Client disconnect → no response (pending request hangs)
224
+ *
225
+ * ============================================================================
226
+ * EXTENSION SYSTEM IN RPC MODE
227
+ * ============================================================================
228
+ *
229
+ * Extension UI Context:
230
+ * - Dialog methods (select, confirm, input) emit extension_ui_request
231
+ * - Client must respond with extension_ui_response
232
+ * - Supports timeouts and abort signals
233
+ *
234
+ * Supported UI Methods:
235
+ * - select(title, options, opts) → option value or undefined
236
+ * - confirm(title, message, opts) → boolean
237
+ * - input(title, placeholder, opts) → string or undefined
238
+ * - notify(message, type) → fire-and-forget
239
+ * - setStatus(key, text) → fire-and-forget
240
+ * - setWidget(key, content) → fire-and-forget (string arrays only)
241
+ * - setTitle(title) → fire-and-forget
242
+ * - editor(title, prefill) → edited text or undefined
243
+ *
244
+ * Unsupported UI Methods (RPC mode limitations):
245
+ * - setWorkingMessage() → no TUI loader access
246
+ * - setWidget(factory) → factory functions not supported
247
+ * - setFooter(factory) → requires TUI access
248
+ * - setHeader(factory) → requires TUI access
249
+ * - custom() → requires TUI access
250
+ * - setEditorComponent() → requires TUI access
251
+ * - Theme switching → read-only access only
252
+ *
253
+ * Extension Hooks:
254
+ * - before_prompt: Runs before agent execution
255
+ * - after_prompt: Runs after agent execution
256
+ * - session_shutdown: Runs on shutdown signal
257
+ * - on_error: Extension error handler
258
+ *
259
+ * ============================================================================
260
+ * CLIENT IMPLEMENTATION EXAMPLE
261
+ * ============================================================================
262
+ *
263
+ * const { spawn } = require('child_process');
264
+ *
265
+ * const server = spawn('indusagi', ['--mode', 'rpc']);
266
+ * const readline = require('readline').createInterface({
267
+ * input: server.stdout,
268
+ * output: process.stdout,
269
+ * terminal: false
270
+ * });
271
+ *
272
+ * let nextId = 1;
273
+ * const pending = new Map();
274
+ *
275
+ * readline.on('line', (line) => {
276
+ * const obj = JSON.parse(line);
277
+ * if (obj.type === 'response') {
278
+ * const resolve = pending.get(obj.id);
279
+ * if (resolve) {
280
+ * resolve(obj);
281
+ * pending.delete(obj.id);
282
+ * }
283
+ * } else if (obj.type === 'extension_ui_request') {
284
+ * // Handle UI request from extension
285
+ * server.stdin.write(JSON.stringify({
286
+ * type: 'extension_ui_response',
287
+ * id: obj.id,
288
+ * value: 'user selection'
289
+ * }) + '\n');
290
+ * } else {
291
+ * // Handle event (agent_start, message, tool_call, etc.)
292
+ * console.log('Event:', obj.type);
293
+ * }
294
+ * });
295
+ *
296
+ * // Send a prompt
297
+ * const id = String(nextId++);
298
+ * server.stdin.write(JSON.stringify({
299
+ * id,
300
+ * type: 'prompt',
301
+ * message: 'What is 2+2?'
302
+ * }) + '\n');
303
+ *
304
+ * pending.set(id, (response) => {
305
+ * console.log('Response:', response);
306
+ * });
307
+ *
308
+ * ============================================================================
309
+ * BASED ON RPC SERVER IMPLEMENTATION
310
+ * ============================================================================
311
+ *
312
+ * This RPC mode provides a robust, JSON-based interface for programmatic
313
+ * access to the agent. It follows JSON-RPC 2.0 conventions with extensions
314
+ * for streaming events and asynchronous extension UI.
315
+ *
316
+ * Use cases:
317
+ * - Backend API for web applications
318
+ * - IDE plugin integration
319
+ * - Workflow orchestration
320
+ * - Multi-tenant agent service
321
+ * - Development and testing
322
+ */
323
+ import type { AgentSession } from "../../runtime/agent-session.js";
324
+ export type { RpcCommand, RpcExtensionUIRequest, RpcExtensionUIResponse, RpcResponse, RpcSessionState, } from "./rpc-types.js";
325
+ /**
326
+ * Run in RPC (Remote Procedure Call) mode.
327
+ * Establishes a JSON-RPC 2.0 based server for programmatic access to the coding agent.
328
+ * Listens for JSON commands on stdin, outputs events and responses on stdout.
329
+ *
330
+ * ============================================================================
331
+ * FUNCTION SIGNATURE
332
+ * ============================================================================
333
+ *
334
+ * async runRpcMode(session: AgentSession): Promise<never>
335
+ *
336
+ * Note: Never returns - process loop runs indefinitely until stdin closes.
337
+ *
338
+ * ============================================================================
339
+ * COMMAND PROCESSING LOOP
340
+ * ============================================================================
341
+ *
342
+ * Overview:
343
+ * 1. Initialize server and set up event subscriptions
344
+ * 2. Create readline interface on stdin
345
+ * 3. For each line:
346
+ * a. Parse JSON to get command or extension UI response
347
+ * b. If extension_ui_response: resolve pending UI request
348
+ * c. If RpcCommand: route to handler, send response
349
+ * d. Continue listening (no blocking)
350
+ * 4. Events stream continuously as agent processes
351
+ * 5. Check for shutdown signal after each command
352
+ *
353
+ * Processing Model:
354
+ * - Commands are fire-and-forget (response sent, then events stream)
355
+ * - No ordering guarantee between different commands' events
356
+ * - Multiple commands can be queued and processed serially
357
+ * - Events stream asynchronously throughout processing
358
+ *
359
+ * ============================================================================
360
+ * STARTUP INITIALIZATION
361
+ * ============================================================================
362
+ *
363
+ * Extension Setup:
364
+ * 1. Check if extensionRunner exists in session
365
+ * 2. Create RPC-based ExtensionUIContext (emits ui_request events)
366
+ * 3. Bind extensions with:
367
+ * - Custom UI context (no TUI access - dialogs via RPC)
368
+ * - Command context actions (session control)
369
+ * - Error handlers (logged, not fatal)
370
+ * - Shutdown handler (sets shutdownRequested flag)
371
+ *
372
+ * Session Subscription:
373
+ * 1. Subscribe to all session events
374
+ * 2. Forward all events to client via output()
375
+ * 3. Enables client to reconstruct session state
376
+ *
377
+ * Readline Setup:
378
+ * 1. Create interface on process.stdin
379
+ * 2. Set terminal: false (don't read from TTY)
380
+ * 3. Listen for 'line' events
381
+ * 4. Stay alive indefinitely (Promise never resolves)
382
+ *
383
+ * ============================================================================
384
+ * COMMAND HANDLERS (30+ Commands)
385
+ * ============================================================================
386
+ *
387
+ * PROMPTING COMMANDS (4 handlers)
388
+ * ──────────────────────────────────────────────────────────────────────
389
+ *
390
+ * prompt(message: string, images?: ImageContent[], streamingBehavior?: "steer" | "followUp")
391
+ * Purpose: Send a new prompt to the agent
392
+ * Input:
393
+ * - message (required): The prompt text
394
+ * - images (optional): Array of image content (PNG, JPEG, GIF, WebP)
395
+ * - streamingBehavior: "steer" (interrupt), "followUp" (queue after)
396
+ * Response: { success: true } immediately
397
+ * Events: agent_start → messages → tool_calls → agent_end (streamed)
398
+ * Exit Code on Error: 1
399
+ * Example:
400
+ * Client: {"id":"1","type":"prompt","message":"What is 2+2?"}
401
+ * Server: {"id":"1","type":"response","command":"prompt","success":true}
402
+ * Server: {"type":"agent_start",...}
403
+ * Server: {"type":"message","role":"assistant",...}
404
+ * Server: {"type":"agent_end"}
405
+ *
406
+ * steer(message: string)
407
+ * Purpose: Interrupt current streaming response and steer it
408
+ * Input:
409
+ * - message (required): Steering instruction
410
+ * Response: { success: true }
411
+ * Behavior: Only valid while agent streaming (otherwise queued)
412
+ * Use Case: "Stop using bash, use node instead"
413
+ * Example:
414
+ * Client: {"id":"2","type":"steer","message":"Use Python instead"}
415
+ * Server: {"id":"2","type":"response","command":"steer","success":true}
416
+ *
417
+ * follow_up(message: string)
418
+ * Purpose: Queue message to be processed after current response
419
+ * Input:
420
+ * - message (required): Follow-up prompt
421
+ * Response: { success: true }
422
+ * Behavior: Buffered, processed when agent becomes idle
423
+ * Use Case: Pipelining multiple prompts without waiting
424
+ * Example:
425
+ * Client: {"id":"3","type":"follow_up","message":"Now optimize it"}
426
+ * Server: {"id":"3","type":"response","command":"follow_up","success":true}
427
+ *
428
+ * abort()
429
+ * Purpose: Cancel current operation
430
+ * Response: { success: true }
431
+ * Effect: Stops streaming, cleans up pending operations
432
+ * Use Case: User hit Ctrl+C or timeout reached
433
+ * Example:
434
+ * Client: {"id":"4","type":"abort"}
435
+ * Server: {"id":"4","type":"response","command":"abort","success":true}
436
+ *
437
+ * new_session(parentSession?: string)
438
+ * Purpose: Start new session, optionally tracking parent
439
+ * Input:
440
+ * - parentSession (optional): Path to parent session for lineage
441
+ * Response: { success: true, data: { cancelled: boolean } }
442
+ * Effect: Creates new session file, clears message history
443
+ * Use Case: Starting fresh conversation branch
444
+ * Example:
445
+ * Client: {"id":"5","type":"new_session"}
446
+ * Server: {"id":"5","type":"response","command":"new_session","success":true,"data":{"cancelled":false}}
447
+ *
448
+ * STATE COMMANDS (3 handlers)
449
+ * ──────────────────────────────────────────────────────────────────────
450
+ *
451
+ * get_state()
452
+ * Purpose: Query current session state snapshot
453
+ * Response: { success: true, data: RpcSessionState }
454
+ * Returns:
455
+ * - model: Current model info (provider, id, context window)
456
+ * - thinkingLevel: "none" | "auto" | "max"
457
+ * - isStreaming: Agent currently processing
458
+ * - isCompacting: Auto-compaction in progress
459
+ * - steeringMode: "all" | "one-at-a-time"
460
+ * - followUpMode: "all" | "one-at-a-time"
461
+ * - sessionFile: Full path to session JSONL
462
+ * - sessionId: Short session ID
463
+ * - autoCompactionEnabled: Auto-compact setting
464
+ * - messageCount: Total messages in session
465
+ * - pendingMessageCount: Queued but not processed
466
+ * Use Case: Client UI state display, status checks
467
+ * Example:
468
+ * Client: {"id":"6","type":"get_state"}
469
+ * Server: {"id":"6","type":"response","command":"get_state","success":true,"data":{...}}
470
+ *
471
+ * get_messages()
472
+ * Purpose: Retrieve all messages in conversation
473
+ * Response: { success: true, data: { messages: AgentMessage[] } }
474
+ * Returns: Complete message history with content, roles, stop reasons
475
+ * Use Case: Reconstructing session state, exporting conversation
476
+ * Note: Use carefully if session is very large (many tokens)
477
+ * Example:
478
+ * Client: {"id":"7","type":"get_messages"}
479
+ * Server: {"id":"7","type":"response","command":"get_messages","success":true,"data":{...}}
480
+ *
481
+ * get_last_assistant_text()
482
+ * Purpose: Quick access to most recent assistant response
483
+ * Response: { success: true, data: { text: string | null } }
484
+ * Returns: Only text content (ignores images/tool use)
485
+ * Use Case: Getting latest response without full state
486
+ * Example:
487
+ * Client: {"id":"8","type":"get_last_assistant_text"}
488
+ * Server: {"id":"8","type":"response",...,"data":{"text":"The answer is 4"}}
489
+ *
490
+ * MODEL COMMANDS (3 handlers)
491
+ * ──────────────────────────────────────────────────────────────────────
492
+ *
493
+ * set_model(provider: string, modelId: string)
494
+ * Purpose: Switch to specific model
495
+ * Input:
496
+ * - provider: "anthropic", "openai", "google", etc.
497
+ * - modelId: Model identifier ("claude-3-5-sonnet", "gpt-4", etc.)
498
+ * Response: { success: true, data: Model } on success
499
+ * OR { success: false, error: "Model not found" }
500
+ * Effect: Changes active model for subsequent prompts
501
+ * Validation: Checks model exists in registry
502
+ * Use Case: Programmatic model selection based on capability
503
+ * Example:
504
+ * Client: {"id":"9","type":"set_model","provider":"anthropic","modelId":"claude-3-5-sonnet"}
505
+ * Server: {"id":"9","type":"response",...,"success":true,"data":{"provider":"anthropic",...}}
506
+ *
507
+ * cycle_model()
508
+ * Purpose: Switch to next scoped model or available model
509
+ * Response: { success: true, data: Model } if cycled
510
+ * OR { success: true, data: null } if only one model
511
+ * Use Case: User cycles through available options
512
+ * Example:
513
+ * Client: {"id":"10","type":"cycle_model"}
514
+ * Server: {"id":"10","type":"response",...,"data":{"model":{...},"thinkingLevel":"auto"}}
515
+ *
516
+ * get_available_models()
517
+ * Purpose: List all models available to user
518
+ * Response: { success: true, data: { models: Model[] } }
519
+ * Returns: Array of all models from provider registry
520
+ * Use Case: Client UI model selector, capability checking
521
+ * Example:
522
+ * Client: {"id":"11","type":"get_available_models"}
523
+ * Server: {"id":"11","type":"response",...,"data":{"models":[...]}}
524
+ *
525
+ * THINKING COMMANDS (2 handlers)
526
+ * ──────────────────────────────────────────────────────────────────────
527
+ *
528
+ * set_thinking_level(level: ThinkingLevel)
529
+ * Purpose: Control model reasoning/thinking
530
+ * Input:
531
+ * - level: "none" (no thinking) | "auto" (adaptive) | "max" (max budget)
532
+ * Response: { success: true }
533
+ * Effect: Changes thinking for subsequent prompts
534
+ * Supported Models: Only models with reasoning capability
535
+ * Use Case: Trading latency for reasoning quality
536
+ * Example:
537
+ * Client: {"id":"12","type":"set_thinking_level","level":"max"}
538
+ * Server: {"id":"12","type":"response","command":"set_thinking_level","success":true}
539
+ *
540
+ * cycle_thinking_level()
541
+ * Purpose: Rotate through thinking levels
542
+ * Cycle: "none" → "auto" → "max" → "none" ...
543
+ * Response: { success: true, data: { level: ThinkingLevel } } or null if unsupported
544
+ * Example:
545
+ * Client: {"id":"13","type":"cycle_thinking_level"}
546
+ * Server: {"id":"13","type":"response",...,"data":{"level":"auto"}}
547
+ *
548
+ * QUEUE MODE COMMANDS (2 handlers)
549
+ * ──────────────────────────────────────────────────────────────────────
550
+ *
551
+ * set_steering_mode(mode: "all" | "one-at-a-time")
552
+ * Purpose: Configure how steering messages are processed
553
+ * Input:
554
+ * - "all": Process all steering messages as queue
555
+ * - "one-at-a-time": Process steering sequentially
556
+ * Response: { success: true }
557
+ * Example:
558
+ * Client: {"id":"14","type":"set_steering_mode","mode":"all"}
559
+ * Server: {"id":"14","type":"response","command":"set_steering_mode","success":true}
560
+ *
561
+ * set_follow_up_mode(mode: "all" | "one-at-a-time")
562
+ * Purpose: Configure how follow-up messages are processed
563
+ * Input:
564
+ * - "all": Process all follow-ups in sequence
565
+ * - "one-at-a-time": Process one, then wait
566
+ * Response: { success: true }
567
+ * Example:
568
+ * Client: {"id":"15","type":"set_follow_up_mode","mode":"one-at-a-time"}
569
+ * Server: {"id":"15","type":"response","command":"set_follow_up_mode","success":true}
570
+ *
571
+ * COMPACTION COMMANDS (2 handlers)
572
+ * ──────────────────────────────────────────────────────────────────────
573
+ *
574
+ * compact(customInstructions?: string)
575
+ * Purpose: Manually trigger context compaction
576
+ * Input:
577
+ * - customInstructions (optional): Special instructions for compaction
578
+ * Response: { success: true, data: CompactionResult }
579
+ * Returns:
580
+ * - removedMessages: Count of messages removed
581
+ * - summary: Summarized context
582
+ * - tokensRecovered: Token count freed
583
+ * Effect: Summarizes old messages, frees context for new content
584
+ * Use Case: Manual compaction when approaching context limit
585
+ * Example:
586
+ * Client: {"id":"16","type":"compact","customInstructions":"Keep technical details"}
587
+ * Server: {"id":"16","type":"response",...,"data":{"removedMessages":5,"summary":"..."}}
588
+ *
589
+ * set_auto_compaction(enabled: boolean)
590
+ * Purpose: Enable/disable automatic compaction
591
+ * Response: { success: true }
592
+ * Effect: When enabled, auto-compacts when approaching context limit
593
+ * Default: Typically enabled
594
+ * Example:
595
+ * Client: {"id":"17","type":"set_auto_compaction","enabled":true}
596
+ * Server: {"id":"17","type":"response","command":"set_auto_compaction","success":true}
597
+ *
598
+ * RETRY COMMANDS (2 handlers)
599
+ * ──────────────────────────────────────────────────────────────────────
600
+ *
601
+ * set_auto_retry(enabled: boolean)
602
+ * Purpose: Enable/disable automatic retry on error
603
+ * Response: { success: true }
604
+ * Effect: When enabled, automatically retries failed operations
605
+ * Example:
606
+ * Client: {"id":"18","type":"set_auto_retry","enabled":true}
607
+ * Server: {"id":"18","type":"response","command":"set_auto_retry","success":true}
608
+ *
609
+ * abort_retry()
610
+ * Purpose: Cancel in-flight retry operation
611
+ * Response: { success: true }
612
+ * Example:
613
+ * Client: {"id":"19","type":"abort_retry"}
614
+ * Server: {"id":"19","type":"response","command":"abort_retry","success":true}
615
+ *
616
+ * BASH COMMANDS (2 handlers)
617
+ * ──────────────────────────────────────────────────────────────────────
618
+ *
619
+ * bash(command: string)
620
+ * Purpose: Execute shell command directly (outside agent)
621
+ * Input:
622
+ * - command: Shell command to execute
623
+ * Response: { success: true, data: BashResult }
624
+ * Returns:
625
+ * - stdout: Standard output
626
+ * - stderr: Standard error output
627
+ * - exitCode: Exit code (0 = success)
628
+ * - timedOut: Whether execution timed out
629
+ * Execution: Synchronous, waits for completion
630
+ * Use Case: Direct shell access from client, utility operations
631
+ * Example:
632
+ * Client: {"id":"20","type":"bash","command":"ls -la"}
633
+ * Server: {"id":"20","type":"response",...,"data":{"stdout":"...","stderr":"","exitCode":0}}
634
+ *
635
+ * abort_bash()
636
+ * Purpose: Kill running bash command
637
+ * Response: { success: true }
638
+ * Effect: Immediately terminates bash subprocess
639
+ * Example:
640
+ * Client: {"id":"21","type":"abort_bash"}
641
+ * Server: {"id":"21","type":"response","command":"abort_bash","success":true}
642
+ *
643
+ * SESSION MANAGEMENT COMMANDS (7 handlers)
644
+ * ──────────────────────────────────────────────────────────────────────
645
+ *
646
+ * get_session_stats()
647
+ * Purpose: Get detailed session statistics
648
+ * Response: { success: true, data: SessionStats }
649
+ * Returns:
650
+ * - messageCount: Total messages
651
+ * - totalTokensUsed: Cumulative token usage
652
+ * - estimatedCost: Cost estimate
653
+ * - sessionDuration: Time since creation
654
+ * - toolUsageCount: Tool invocations
655
+ * Use Case: Usage tracking, monitoring, billing
656
+ * Example:
657
+ * Client: {"id":"22","type":"get_session_stats"}
658
+ * Server: {"id":"22","type":"response",...,"data":{"messageCount":42,...}}
659
+ *
660
+ * export_html(outputPath?: string)
661
+ * Purpose: Export session to HTML file
662
+ * Input:
663
+ * - outputPath (optional): Where to save HTML (default: auto-generated)
664
+ * Response: { success: true, data: { path: string } }
665
+ * Returns: Path where HTML was written
666
+ * Use Case: Sharing conversations, archiving, documentation
667
+ * Example:
668
+ * Client: {"id":"23","type":"export_html","outputPath":"/tmp/session.html"}
669
+ * Server: {"id":"23","type":"response",...,"data":{"path":"/tmp/session.html"}}
670
+ *
671
+ * switch_session(sessionPath: string)
672
+ * Purpose: Load different session file
673
+ * Input:
674
+ * - sessionPath: Path to .jsonl session file
675
+ * Response: { success: true, data: { cancelled: boolean } }
676
+ * Effect: Closes current session, loads new one
677
+ * Validation: File must exist and be valid session JSONL
678
+ * Example:
679
+ * Client: {"id":"24","type":"switch_session","sessionPath":"~/.indusagi/sessions/old.jsonl"}
680
+ * Server: {"id":"24","type":"response",...,"data":{"cancelled":false}}
681
+ *
682
+ * fork(entryId: string)
683
+ * Purpose: Create new session from branch point
684
+ * Input:
685
+ * - entryId: Message ID to branch from
686
+ * Response: { success: true, data: { text: string, cancelled: boolean } }
687
+ * Returns: Text at branch point
688
+ * Effect: New session created with messages up to branch point
689
+ * Use Case: Exploring alternative conversation paths
690
+ * Example:
691
+ * Client: {"id":"25","type":"fork","entryId":"msg-42"}
692
+ * Server: {"id":"25","type":"response",...,"data":{"text":"...","cancelled":false}}
693
+ *
694
+ * get_fork_messages()
695
+ * Purpose: Get messages available for branching
696
+ * Response: { success: true, data: { messages: Array<{entryId, text}> } }
697
+ * Returns: List of message IDs and summaries
698
+ * Use Case: UI showing available branch points
699
+ * Example:
700
+ * Client: {"id":"26","type":"get_fork_messages"}
701
+ * Server: {"id":"26","type":"response",...,"data":{"messages":[...]}}
702
+ *
703
+ * ============================================================================
704
+ * EXTENSION UI REQUEST/RESPONSE HANDLING
705
+ * ============================================================================
706
+ *
707
+ * When extensions request user input, the protocol uses bidirectional
708
+ * extension_ui_request/response messages:
709
+ *
710
+ * Server sends extension_ui_request when extension needs input:
711
+ * {
712
+ * "type": "extension_ui_request",
713
+ * "id": "ui-uuid",
714
+ * "method": "select" | "confirm" | "input" | "editor" | "notify" | ...
715
+ * ...method-specific fields...
716
+ * }
717
+ *
718
+ * Client responds with extension_ui_response:
719
+ * {
720
+ * "type": "extension_ui_response",
721
+ * "id": "ui-uuid",
722
+ * "value": "..." // or "confirmed": true or "cancelled": true
723
+ * }
724
+ *
725
+ * Supported Methods:
726
+ * - select(title, options): User picks option
727
+ * - confirm(title, message): Yes/no confirmation
728
+ * - input(title, placeholder): Text input
729
+ * - editor(title, prefill): Multi-line editor
730
+ * - notify(message, type): Info/warning/error notification (no response)
731
+ * - setStatus(key, text): Update status line (no response)
732
+ * - setWidget(key, lines): Update widget display (no response)
733
+ * - setTitle(title): Set terminal title (no response)
734
+ * - setEditorText(text): Set editor content (no response)
735
+ *
736
+ * Timeout Handling:
737
+ * - If client doesn't respond within timeout, default value used
738
+ * - Dialog cancelled, handler receives undefined/false
739
+ * - Server continues processing
740
+ *
741
+ * ============================================================================
742
+ * SHUTDOWN PROTOCOL
743
+ * ============================================================================
744
+ *
745
+ * Graceful Shutdown:
746
+ * 1. Extension sends "shutdown_requested" signal (internal)
747
+ * 2. After next idle point (between commands)
748
+ * 3. Server emits session_shutdown event (via extension runner)
749
+ * 4. Readline closed, process exits cleanly with code 0
750
+ *
751
+ * Abnormal Shutdown:
752
+ * - Stdin closes: readline 'close' event triggers process exit
753
+ * - Ctrl+C: SIGINT handler stops server
754
+ * - SIGTERM: Server performs cleanup then exits
755
+ *
756
+ * ============================================================================
757
+ * ERROR HANDLING STRATEGIES
758
+ * ============================================================================
759
+ *
760
+ * Command Errors:
761
+ * - All caught and returned as { success: false, error: "message" }
762
+ * - No exceptions thrown to client
763
+ * - Process continues, ready for next command
764
+ *
765
+ * Extension Errors:
766
+ * - Logged to stderr with format: "Extension error (path): message"
767
+ * - Emitted as hook_error or extension_error event
768
+ * - Don't crash server, handler registered errors
769
+ *
770
+ * Async Event Errors:
771
+ * - Agent events from streaming: included in events
772
+ * - Stop reason "error" in message event
773
+ * - Client can subscribe to events for error details
774
+ *
775
+ * Unrecoverable Errors:
776
+ * - Process exits with code 1
777
+ * - Client should detect process termination
778
+ * - Reconnect and start new session
779
+ *
780
+ * ============================================================================
781
+ * IMPLEMENTATION NOTES
782
+ * ============================================================================
783
+ *
784
+ * Event Emission:
785
+ * - Subscription set up at startup
786
+ * - All events output via output() function
787
+ * - Events stream even during command processing
788
+ * - No backpressure or queuing (stdout assumed fast)
789
+ *
790
+ * Request Correlation:
791
+ * - Each command gets unique ID (optional, generated if missing)
792
+ * - Response includes same ID for correlation
793
+ * - Client can match responses to requests by ID
794
+ * - Extension UI requests also use UUID for correlation
795
+ *
796
+ * State Safety:
797
+ * - Session state is thread-safe (no multi-threading)
798
+ * - Readline ensures single-threaded execution
799
+ * - Events stream after response to ensure ordering
800
+ *
801
+ * ============================================================================
802
+ * BASED ON RPC SERVER IMPLEMENTATION
803
+ * ============================================================================
804
+ *
805
+ * This function implements the complete JSON-RPC 2.0 protocol with
806
+ * extensions for streaming events and asynchronous extension UI.
807
+ * It provides a robust, type-safe interface for programmatic access.
808
+ *
809
+ * Use with RpcClient for type-safe client implementation.
810
+ * Or implement custom client using the protocol specification.
811
+ */
812
+ export declare function runRpcMode(session: AgentSession): Promise<never>;
813
+ //# sourceMappingURL=rpc-mode.d.ts.map