iosm-cli 0.1.0

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 (729) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/LICENSE +21 -0
  3. package/README.md +650 -0
  4. package/dist/cli/args.d.ts +54 -0
  5. package/dist/cli/args.d.ts.map +1 -0
  6. package/dist/cli/args.js +331 -0
  7. package/dist/cli/args.js.map +1 -0
  8. package/dist/cli/config-selector.d.ts +14 -0
  9. package/dist/cli/config-selector.d.ts.map +1 -0
  10. package/dist/cli/config-selector.js +31 -0
  11. package/dist/cli/config-selector.js.map +1 -0
  12. package/dist/cli/file-processor.d.ts +15 -0
  13. package/dist/cli/file-processor.d.ts.map +1 -0
  14. package/dist/cli/file-processor.js +79 -0
  15. package/dist/cli/file-processor.js.map +1 -0
  16. package/dist/cli/list-models.d.ts +9 -0
  17. package/dist/cli/list-models.d.ts.map +1 -0
  18. package/dist/cli/list-models.js +92 -0
  19. package/dist/cli/list-models.js.map +1 -0
  20. package/dist/cli/session-picker.d.ts +9 -0
  21. package/dist/cli/session-picker.d.ts.map +1 -0
  22. package/dist/cli/session-picker.js +34 -0
  23. package/dist/cli/session-picker.js.map +1 -0
  24. package/dist/cli.d.ts +3 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +15 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/config.d.ts +88 -0
  29. package/dist/config.d.ts.map +1 -0
  30. package/dist/config.js +262 -0
  31. package/dist/config.js.map +1 -0
  32. package/dist/core/agent-profiles.d.ts +29 -0
  33. package/dist/core/agent-profiles.d.ts.map +1 -0
  34. package/dist/core/agent-profiles.js +86 -0
  35. package/dist/core/agent-profiles.js.map +1 -0
  36. package/dist/core/agent-session.d.ts +688 -0
  37. package/dist/core/agent-session.d.ts.map +1 -0
  38. package/dist/core/agent-session.js +3112 -0
  39. package/dist/core/agent-session.js.map +1 -0
  40. package/dist/core/agent-teams.d.ts +41 -0
  41. package/dist/core/agent-teams.d.ts.map +1 -0
  42. package/dist/core/agent-teams.js +90 -0
  43. package/dist/core/agent-teams.js.map +1 -0
  44. package/dist/core/ask-user-tool.d.ts +22 -0
  45. package/dist/core/ask-user-tool.d.ts.map +1 -0
  46. package/dist/core/ask-user-tool.js +115 -0
  47. package/dist/core/ask-user-tool.js.map +1 -0
  48. package/dist/core/auth-storage.d.ts +133 -0
  49. package/dist/core/auth-storage.d.ts.map +1 -0
  50. package/dist/core/auth-storage.js +391 -0
  51. package/dist/core/auth-storage.js.map +1 -0
  52. package/dist/core/bash-executor.d.ts +49 -0
  53. package/dist/core/bash-executor.d.ts.map +1 -0
  54. package/dist/core/bash-executor.js +213 -0
  55. package/dist/core/bash-executor.js.map +1 -0
  56. package/dist/core/compaction/branch-summarization.d.ts +86 -0
  57. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  58. package/dist/core/compaction/branch-summarization.js +242 -0
  59. package/dist/core/compaction/branch-summarization.js.map +1 -0
  60. package/dist/core/compaction/compaction.d.ts +121 -0
  61. package/dist/core/compaction/compaction.d.ts.map +1 -0
  62. package/dist/core/compaction/compaction.js +610 -0
  63. package/dist/core/compaction/compaction.js.map +1 -0
  64. package/dist/core/compaction/index.d.ts +7 -0
  65. package/dist/core/compaction/index.d.ts.map +1 -0
  66. package/dist/core/compaction/index.js +7 -0
  67. package/dist/core/compaction/index.js.map +1 -0
  68. package/dist/core/compaction/utils.d.ts +35 -0
  69. package/dist/core/compaction/utils.d.ts.map +1 -0
  70. package/dist/core/compaction/utils.js +138 -0
  71. package/dist/core/compaction/utils.js.map +1 -0
  72. package/dist/core/defaults.d.ts +3 -0
  73. package/dist/core/defaults.d.ts.map +1 -0
  74. package/dist/core/defaults.js +2 -0
  75. package/dist/core/defaults.js.map +1 -0
  76. package/dist/core/diagnostics.d.ts +15 -0
  77. package/dist/core/diagnostics.d.ts.map +1 -0
  78. package/dist/core/diagnostics.js +2 -0
  79. package/dist/core/diagnostics.js.map +1 -0
  80. package/dist/core/event-bus.d.ts +9 -0
  81. package/dist/core/event-bus.d.ts.map +1 -0
  82. package/dist/core/event-bus.js +25 -0
  83. package/dist/core/event-bus.js.map +1 -0
  84. package/dist/core/exec.d.ts +29 -0
  85. package/dist/core/exec.d.ts.map +1 -0
  86. package/dist/core/exec.js +71 -0
  87. package/dist/core/exec.js.map +1 -0
  88. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  89. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  90. package/dist/core/export-html/ansi-to-html.js +249 -0
  91. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  92. package/dist/core/export-html/index.d.ts +34 -0
  93. package/dist/core/export-html/index.d.ts.map +1 -0
  94. package/dist/core/export-html/index.js +222 -0
  95. package/dist/core/export-html/index.js.map +1 -0
  96. package/dist/core/export-html/template.css +971 -0
  97. package/dist/core/export-html/template.html +54 -0
  98. package/dist/core/export-html/template.js +1590 -0
  99. package/dist/core/export-html/tool-renderer.d.ts +35 -0
  100. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  101. package/dist/core/export-html/tool-renderer.js +63 -0
  102. package/dist/core/export-html/tool-renderer.js.map +1 -0
  103. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  104. package/dist/core/export-html/vendor/marked.min.js +6 -0
  105. package/dist/core/extensions/index.d.ts +11 -0
  106. package/dist/core/extensions/index.d.ts.map +1 -0
  107. package/dist/core/extensions/index.js +9 -0
  108. package/dist/core/extensions/index.js.map +1 -0
  109. package/dist/core/extensions/loader.d.ts +25 -0
  110. package/dist/core/extensions/loader.d.ts.map +1 -0
  111. package/dist/core/extensions/loader.js +447 -0
  112. package/dist/core/extensions/loader.js.map +1 -0
  113. package/dist/core/extensions/runner.d.ts +146 -0
  114. package/dist/core/extensions/runner.d.ts.map +1 -0
  115. package/dist/core/extensions/runner.js +652 -0
  116. package/dist/core/extensions/runner.js.map +1 -0
  117. package/dist/core/extensions/types.d.ts +1074 -0
  118. package/dist/core/extensions/types.d.ts.map +1 -0
  119. package/dist/core/extensions/types.js +35 -0
  120. package/dist/core/extensions/types.js.map +1 -0
  121. package/dist/core/extensions/wrapper.d.ts +27 -0
  122. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  123. package/dist/core/extensions/wrapper.js +102 -0
  124. package/dist/core/extensions/wrapper.js.map +1 -0
  125. package/dist/core/footer-data-provider.d.ts +32 -0
  126. package/dist/core/footer-data-provider.d.ts.map +1 -0
  127. package/dist/core/footer-data-provider.js +134 -0
  128. package/dist/core/footer-data-provider.js.map +1 -0
  129. package/dist/core/hooks.d.ts +53 -0
  130. package/dist/core/hooks.d.ts.map +1 -0
  131. package/dist/core/hooks.js +332 -0
  132. package/dist/core/hooks.js.map +1 -0
  133. package/dist/core/index.d.ts +9 -0
  134. package/dist/core/index.d.ts.map +1 -0
  135. package/dist/core/index.js +9 -0
  136. package/dist/core/index.js.map +1 -0
  137. package/dist/core/keybindings.d.ts +55 -0
  138. package/dist/core/keybindings.d.ts.map +1 -0
  139. package/dist/core/keybindings.js +157 -0
  140. package/dist/core/keybindings.js.map +1 -0
  141. package/dist/core/mcp/cli.d.ts +27 -0
  142. package/dist/core/mcp/cli.d.ts.map +1 -0
  143. package/dist/core/mcp/cli.js +275 -0
  144. package/dist/core/mcp/cli.js.map +1 -0
  145. package/dist/core/mcp/config.d.ts +11 -0
  146. package/dist/core/mcp/config.d.ts.map +1 -0
  147. package/dist/core/mcp/config.js +310 -0
  148. package/dist/core/mcp/config.js.map +1 -0
  149. package/dist/core/mcp/index.d.ts +5 -0
  150. package/dist/core/mcp/index.d.ts.map +1 -0
  151. package/dist/core/mcp/index.js +4 -0
  152. package/dist/core/mcp/index.js.map +1 -0
  153. package/dist/core/mcp/runtime.d.ts +42 -0
  154. package/dist/core/mcp/runtime.d.ts.map +1 -0
  155. package/dist/core/mcp/runtime.js +387 -0
  156. package/dist/core/mcp/runtime.js.map +1 -0
  157. package/dist/core/mcp/types.d.ts +76 -0
  158. package/dist/core/mcp/types.d.ts.map +1 -0
  159. package/dist/core/mcp/types.js +2 -0
  160. package/dist/core/mcp/types.js.map +1 -0
  161. package/dist/core/memory.d.ts +27 -0
  162. package/dist/core/memory.d.ts.map +1 -0
  163. package/dist/core/memory.js +203 -0
  164. package/dist/core/memory.js.map +1 -0
  165. package/dist/core/messages.d.ts +84 -0
  166. package/dist/core/messages.d.ts.map +1 -0
  167. package/dist/core/messages.js +141 -0
  168. package/dist/core/messages.js.map +1 -0
  169. package/dist/core/model-registry.d.ts +115 -0
  170. package/dist/core/model-registry.d.ts.map +1 -0
  171. package/dist/core/model-registry.js +549 -0
  172. package/dist/core/model-registry.js.map +1 -0
  173. package/dist/core/model-resolver.d.ts +104 -0
  174. package/dist/core/model-resolver.d.ts.map +1 -0
  175. package/dist/core/model-resolver.js +448 -0
  176. package/dist/core/model-resolver.js.map +1 -0
  177. package/dist/core/package-manager.d.ts +156 -0
  178. package/dist/core/package-manager.d.ts.map +1 -0
  179. package/dist/core/package-manager.js +1465 -0
  180. package/dist/core/package-manager.js.map +1 -0
  181. package/dist/core/parallel-task-agent.d.ts +19 -0
  182. package/dist/core/parallel-task-agent.d.ts.map +1 -0
  183. package/dist/core/parallel-task-agent.js +482 -0
  184. package/dist/core/parallel-task-agent.js.map +1 -0
  185. package/dist/core/prompt-templates.d.ts +50 -0
  186. package/dist/core/prompt-templates.d.ts.map +1 -0
  187. package/dist/core/prompt-templates.js +251 -0
  188. package/dist/core/prompt-templates.js.map +1 -0
  189. package/dist/core/qwen-cli-provider.d.ts +10 -0
  190. package/dist/core/qwen-cli-provider.d.ts.map +1 -0
  191. package/dist/core/qwen-cli-provider.js +271 -0
  192. package/dist/core/qwen-cli-provider.js.map +1 -0
  193. package/dist/core/resolve-config-value.d.ts +17 -0
  194. package/dist/core/resolve-config-value.d.ts.map +1 -0
  195. package/dist/core/resolve-config-value.js +60 -0
  196. package/dist/core/resolve-config-value.js.map +1 -0
  197. package/dist/core/resource-loader.d.ts +195 -0
  198. package/dist/core/resource-loader.d.ts.map +1 -0
  199. package/dist/core/resource-loader.js +820 -0
  200. package/dist/core/resource-loader.js.map +1 -0
  201. package/dist/core/sdk.d.ts +106 -0
  202. package/dist/core/sdk.d.ts.map +1 -0
  203. package/dist/core/sdk.js +460 -0
  204. package/dist/core/sdk.js.map +1 -0
  205. package/dist/core/session-manager.d.ts +323 -0
  206. package/dist/core/session-manager.d.ts.map +1 -0
  207. package/dist/core/session-manager.js +1094 -0
  208. package/dist/core/session-manager.js.map +1 -0
  209. package/dist/core/settings-manager.d.ts +243 -0
  210. package/dist/core/settings-manager.d.ts.map +1 -0
  211. package/dist/core/settings-manager.js +691 -0
  212. package/dist/core/settings-manager.js.map +1 -0
  213. package/dist/core/skills.d.ts +58 -0
  214. package/dist/core/skills.d.ts.map +1 -0
  215. package/dist/core/skills.js +364 -0
  216. package/dist/core/skills.js.map +1 -0
  217. package/dist/core/slash-commands.d.ts +15 -0
  218. package/dist/core/slash-commands.d.ts.map +1 -0
  219. package/dist/core/slash-commands.js +64 -0
  220. package/dist/core/slash-commands.js.map +1 -0
  221. package/dist/core/subagent-runs.d.ts +16 -0
  222. package/dist/core/subagent-runs.d.ts.map +1 -0
  223. package/dist/core/subagent-runs.js +70 -0
  224. package/dist/core/subagent-runs.js.map +1 -0
  225. package/dist/core/subagents.d.ts +45 -0
  226. package/dist/core/subagents.d.ts.map +1 -0
  227. package/dist/core/subagents.js +467 -0
  228. package/dist/core/subagents.js.map +1 -0
  229. package/dist/core/system-prompt.d.ts +28 -0
  230. package/dist/core/system-prompt.d.ts.map +1 -0
  231. package/dist/core/system-prompt.js +196 -0
  232. package/dist/core/system-prompt.js.map +1 -0
  233. package/dist/core/task-plan.d.ts +32 -0
  234. package/dist/core/task-plan.d.ts.map +1 -0
  235. package/dist/core/task-plan.js +155 -0
  236. package/dist/core/task-plan.js.map +1 -0
  237. package/dist/core/timings.d.ts +7 -0
  238. package/dist/core/timings.d.ts.map +1 -0
  239. package/dist/core/timings.js +26 -0
  240. package/dist/core/timings.js.map +1 -0
  241. package/dist/core/tools/bash.d.ts +58 -0
  242. package/dist/core/tools/bash.d.ts.map +1 -0
  243. package/dist/core/tools/bash.js +275 -0
  244. package/dist/core/tools/bash.js.map +1 -0
  245. package/dist/core/tools/edit-diff.d.ts +63 -0
  246. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  247. package/dist/core/tools/edit-diff.js +243 -0
  248. package/dist/core/tools/edit-diff.js.map +1 -0
  249. package/dist/core/tools/edit.d.ts +42 -0
  250. package/dist/core/tools/edit.d.ts.map +1 -0
  251. package/dist/core/tools/edit.js +158 -0
  252. package/dist/core/tools/edit.js.map +1 -0
  253. package/dist/core/tools/find.d.ts +39 -0
  254. package/dist/core/tools/find.d.ts.map +1 -0
  255. package/dist/core/tools/find.js +219 -0
  256. package/dist/core/tools/find.js.map +1 -0
  257. package/dist/core/tools/grep.d.ts +45 -0
  258. package/dist/core/tools/grep.d.ts.map +1 -0
  259. package/dist/core/tools/grep.js +254 -0
  260. package/dist/core/tools/grep.js.map +1 -0
  261. package/dist/core/tools/ignore-filter.d.ts +5 -0
  262. package/dist/core/tools/ignore-filter.d.ts.map +1 -0
  263. package/dist/core/tools/ignore-filter.js +97 -0
  264. package/dist/core/tools/ignore-filter.js.map +1 -0
  265. package/dist/core/tools/index.d.ts +97 -0
  266. package/dist/core/tools/index.d.ts.map +1 -0
  267. package/dist/core/tools/index.js +78 -0
  268. package/dist/core/tools/index.js.map +1 -0
  269. package/dist/core/tools/ls.d.ts +46 -0
  270. package/dist/core/tools/ls.d.ts.map +1 -0
  271. package/dist/core/tools/ls.js +136 -0
  272. package/dist/core/tools/ls.js.map +1 -0
  273. package/dist/core/tools/path-utils.d.ts +8 -0
  274. package/dist/core/tools/path-utils.d.ts.map +1 -0
  275. package/dist/core/tools/path-utils.js +81 -0
  276. package/dist/core/tools/path-utils.js.map +1 -0
  277. package/dist/core/tools/permissions.d.ts +8 -0
  278. package/dist/core/tools/permissions.d.ts.map +1 -0
  279. package/dist/core/tools/permissions.js +2 -0
  280. package/dist/core/tools/permissions.js.map +1 -0
  281. package/dist/core/tools/read.d.ts +39 -0
  282. package/dist/core/tools/read.d.ts.map +1 -0
  283. package/dist/core/tools/read.js +166 -0
  284. package/dist/core/tools/read.js.map +1 -0
  285. package/dist/core/tools/task.d.ts +109 -0
  286. package/dist/core/tools/task.d.ts.map +1 -0
  287. package/dist/core/tools/task.js +1065 -0
  288. package/dist/core/tools/task.js.map +1 -0
  289. package/dist/core/tools/todo.d.ts +42 -0
  290. package/dist/core/tools/todo.d.ts.map +1 -0
  291. package/dist/core/tools/todo.js +159 -0
  292. package/dist/core/tools/todo.js.map +1 -0
  293. package/dist/core/tools/truncate.d.ts +70 -0
  294. package/dist/core/tools/truncate.d.ts.map +1 -0
  295. package/dist/core/tools/truncate.js +205 -0
  296. package/dist/core/tools/truncate.js.map +1 -0
  297. package/dist/core/tools/write.d.ts +32 -0
  298. package/dist/core/tools/write.d.ts.map +1 -0
  299. package/dist/core/tools/write.js +90 -0
  300. package/dist/core/tools/write.js.map +1 -0
  301. package/dist/index.d.ts +30 -0
  302. package/dist/index.d.ts.map +1 -0
  303. package/dist/index.js +45 -0
  304. package/dist/index.js.map +1 -0
  305. package/dist/iosm/agent-verification.d.ts +16 -0
  306. package/dist/iosm/agent-verification.d.ts.map +1 -0
  307. package/dist/iosm/agent-verification.js +138 -0
  308. package/dist/iosm/agent-verification.js.map +1 -0
  309. package/dist/iosm/automation.d.ts +40 -0
  310. package/dist/iosm/automation.d.ts.map +1 -0
  311. package/dist/iosm/automation.js +76 -0
  312. package/dist/iosm/automation.js.map +1 -0
  313. package/dist/iosm/config.d.ts +151 -0
  314. package/dist/iosm/config.d.ts.map +1 -0
  315. package/dist/iosm/config.js +323 -0
  316. package/dist/iosm/config.js.map +1 -0
  317. package/dist/iosm/context-loader.d.ts +12 -0
  318. package/dist/iosm/context-loader.d.ts.map +1 -0
  319. package/dist/iosm/context-loader.js +50 -0
  320. package/dist/iosm/context-loader.js.map +1 -0
  321. package/dist/iosm/cycle.d.ts +51 -0
  322. package/dist/iosm/cycle.d.ts.map +1 -0
  323. package/dist/iosm/cycle.js +861 -0
  324. package/dist/iosm/cycle.js.map +1 -0
  325. package/dist/iosm/guide.d.ts +31 -0
  326. package/dist/iosm/guide.d.ts.map +1 -0
  327. package/dist/iosm/guide.js +101 -0
  328. package/dist/iosm/guide.js.map +1 -0
  329. package/dist/iosm/index.d.ts +12 -0
  330. package/dist/iosm/index.d.ts.map +1 -0
  331. package/dist/iosm/index.js +11 -0
  332. package/dist/iosm/index.js.map +1 -0
  333. package/dist/iosm/init.d.ts +58 -0
  334. package/dist/iosm/init.d.ts.map +1 -0
  335. package/dist/iosm/init.js +1221 -0
  336. package/dist/iosm/init.js.map +1 -0
  337. package/dist/iosm/metrics.d.ts +23 -0
  338. package/dist/iosm/metrics.d.ts.map +1 -0
  339. package/dist/iosm/metrics.js +336 -0
  340. package/dist/iosm/metrics.js.map +1 -0
  341. package/dist/iosm/paths.d.ts +24 -0
  342. package/dist/iosm/paths.d.ts.map +1 -0
  343. package/dist/iosm/paths.js +77 -0
  344. package/dist/iosm/paths.js.map +1 -0
  345. package/dist/iosm/runtime-context.d.ts +20 -0
  346. package/dist/iosm/runtime-context.d.ts.map +1 -0
  347. package/dist/iosm/runtime-context.js +170 -0
  348. package/dist/iosm/runtime-context.js.map +1 -0
  349. package/dist/iosm/types.d.ts +151 -0
  350. package/dist/iosm/types.d.ts.map +1 -0
  351. package/dist/iosm/types.js +3 -0
  352. package/dist/iosm/types.js.map +1 -0
  353. package/dist/main.d.ts +8 -0
  354. package/dist/main.d.ts.map +1 -0
  355. package/dist/main.js +1478 -0
  356. package/dist/main.js.map +1 -0
  357. package/dist/migrations.d.ts +33 -0
  358. package/dist/migrations.d.ts.map +1 -0
  359. package/dist/migrations.js +261 -0
  360. package/dist/migrations.js.map +1 -0
  361. package/dist/modes/index.d.ts +9 -0
  362. package/dist/modes/index.d.ts.map +1 -0
  363. package/dist/modes/index.js +8 -0
  364. package/dist/modes/index.js.map +1 -0
  365. package/dist/modes/interactive/components/armin.d.ts +34 -0
  366. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  367. package/dist/modes/interactive/components/armin.js +329 -0
  368. package/dist/modes/interactive/components/armin.js.map +1 -0
  369. package/dist/modes/interactive/components/ascii-logo.d.ts +11 -0
  370. package/dist/modes/interactive/components/ascii-logo.d.ts.map +1 -0
  371. package/dist/modes/interactive/components/ascii-logo.js +25 -0
  372. package/dist/modes/interactive/components/ascii-logo.js.map +1 -0
  373. package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
  374. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  375. package/dist/modes/interactive/components/assistant-message.js +92 -0
  376. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  377. package/dist/modes/interactive/components/bash-execution.d.ts +36 -0
  378. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  379. package/dist/modes/interactive/components/bash-execution.js +170 -0
  380. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  381. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  382. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  383. package/dist/modes/interactive/components/bordered-loader.js +48 -0
  384. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  385. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  386. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  387. package/dist/modes/interactive/components/branch-summary-message.js +42 -0
  388. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  389. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  390. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  391. package/dist/modes/interactive/components/compaction-summary-message.js +43 -0
  392. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  393. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  394. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  395. package/dist/modes/interactive/components/config-selector.js +470 -0
  396. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  397. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  398. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  399. package/dist/modes/interactive/components/countdown-timer.js +28 -0
  400. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  401. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  402. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  403. package/dist/modes/interactive/components/custom-editor.js +63 -0
  404. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  405. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  406. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  407. package/dist/modes/interactive/components/custom-message.js +74 -0
  408. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  409. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  410. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  411. package/dist/modes/interactive/components/daxnuts.js +138 -0
  412. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  413. package/dist/modes/interactive/components/decrypt-loader.d.ts +25 -0
  414. package/dist/modes/interactive/components/decrypt-loader.d.ts.map +1 -0
  415. package/dist/modes/interactive/components/decrypt-loader.js +102 -0
  416. package/dist/modes/interactive/components/decrypt-loader.js.map +1 -0
  417. package/dist/modes/interactive/components/diff.d.ts +12 -0
  418. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  419. package/dist/modes/interactive/components/diff.js +133 -0
  420. package/dist/modes/interactive/components/diff.js.map +1 -0
  421. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  422. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  423. package/dist/modes/interactive/components/dynamic-border.js +20 -0
  424. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  425. package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
  426. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  427. package/dist/modes/interactive/components/extension-editor.js +105 -0
  428. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  429. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  430. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  431. package/dist/modes/interactive/components/extension-input.js +55 -0
  432. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  433. package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
  434. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  435. package/dist/modes/interactive/components/extension-selector.js +71 -0
  436. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  437. package/dist/modes/interactive/components/footer.d.ts +39 -0
  438. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  439. package/dist/modes/interactive/components/footer.js +285 -0
  440. package/dist/modes/interactive/components/footer.js.map +1 -0
  441. package/dist/modes/interactive/components/index.d.ts +33 -0
  442. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  443. package/dist/modes/interactive/components/index.js +34 -0
  444. package/dist/modes/interactive/components/index.js.map +1 -0
  445. package/dist/modes/interactive/components/keybinding-hints.d.ts +50 -0
  446. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  447. package/dist/modes/interactive/components/keybinding-hints.js +85 -0
  448. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  449. package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
  450. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/login-dialog.js +139 -0
  452. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  453. package/dist/modes/interactive/components/mcp-selector.d.ts +31 -0
  454. package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/mcp-selector.js +171 -0
  456. package/dist/modes/interactive/components/mcp-selector.js.map +1 -0
  457. package/dist/modes/interactive/components/model-selector.d.ts +51 -0
  458. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/model-selector.js +292 -0
  460. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  461. package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
  462. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/oauth-selector.js +134 -0
  464. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  465. package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
  466. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  467. package/dist/modes/interactive/components/scoped-models-selector.js +271 -0
  468. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  469. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  470. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  471. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  472. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  473. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  474. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  475. package/dist/modes/interactive/components/session-selector.js +839 -0
  476. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  477. package/dist/modes/interactive/components/settings-selector.d.ts +60 -0
  478. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  479. package/dist/modes/interactive/components/settings-selector.js +311 -0
  480. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  481. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  482. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  483. package/dist/modes/interactive/components/show-images-selector.js +34 -0
  484. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  485. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  486. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  487. package/dist/modes/interactive/components/skill-invocation-message.js +45 -0
  488. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  489. package/dist/modes/interactive/components/subagent-message.d.ts +91 -0
  490. package/dist/modes/interactive/components/subagent-message.d.ts.map +1 -0
  491. package/dist/modes/interactive/components/subagent-message.js +306 -0
  492. package/dist/modes/interactive/components/subagent-message.js.map +1 -0
  493. package/dist/modes/interactive/components/task-plan-message.d.ts +12 -0
  494. package/dist/modes/interactive/components/task-plan-message.d.ts.map +1 -0
  495. package/dist/modes/interactive/components/task-plan-message.js +61 -0
  496. package/dist/modes/interactive/components/task-plan-message.js.map +1 -0
  497. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  498. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  499. package/dist/modes/interactive/components/theme-selector.js +44 -0
  500. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  501. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  502. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  503. package/dist/modes/interactive/components/thinking-selector.js +46 -0
  504. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  505. package/dist/modes/interactive/components/tool-execution.d.ts +78 -0
  506. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  507. package/dist/modes/interactive/components/tool-execution.js +880 -0
  508. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  509. package/dist/modes/interactive/components/tree-selector.d.ts +70 -0
  510. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  511. package/dist/modes/interactive/components/tree-selector.js +921 -0
  512. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  513. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  514. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  515. package/dist/modes/interactive/components/user-message-selector.js +110 -0
  516. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  517. package/dist/modes/interactive/components/user-message.d.ts +9 -0
  518. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  519. package/dist/modes/interactive/components/user-message.js +27 -0
  520. package/dist/modes/interactive/components/user-message.js.map +1 -0
  521. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  522. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  523. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  524. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  525. package/dist/modes/interactive/interactive-mode.d.ts +453 -0
  526. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  527. package/dist/modes/interactive/interactive-mode.js +8669 -0
  528. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  529. package/dist/modes/interactive/theme/dark.json +85 -0
  530. package/dist/modes/interactive/theme/light.json +84 -0
  531. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  532. package/dist/modes/interactive/theme/theme.d.ts +78 -0
  533. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  534. package/dist/modes/interactive/theme/theme.js +944 -0
  535. package/dist/modes/interactive/theme/theme.js.map +1 -0
  536. package/dist/modes/print-mode.d.ts +28 -0
  537. package/dist/modes/print-mode.d.ts.map +1 -0
  538. package/dist/modes/print-mode.js +101 -0
  539. package/dist/modes/print-mode.js.map +1 -0
  540. package/dist/modes/rpc/rpc-client.d.ts +217 -0
  541. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  542. package/dist/modes/rpc/rpc-client.js +404 -0
  543. package/dist/modes/rpc/rpc-client.js.map +1 -0
  544. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  545. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  546. package/dist/modes/rpc/rpc-mode.js +580 -0
  547. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  548. package/dist/modes/rpc/rpc-types.d.ts +409 -0
  549. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  550. package/dist/modes/rpc/rpc-types.js +8 -0
  551. package/dist/modes/rpc/rpc-types.js.map +1 -0
  552. package/dist/utils/changelog.d.ts +21 -0
  553. package/dist/utils/changelog.d.ts.map +1 -0
  554. package/dist/utils/changelog.js +87 -0
  555. package/dist/utils/changelog.js.map +1 -0
  556. package/dist/utils/clipboard-image.d.ts +11 -0
  557. package/dist/utils/clipboard-image.d.ts.map +1 -0
  558. package/dist/utils/clipboard-image.js +162 -0
  559. package/dist/utils/clipboard-image.js.map +1 -0
  560. package/dist/utils/clipboard-native.d.ts +7 -0
  561. package/dist/utils/clipboard-native.d.ts.map +1 -0
  562. package/dist/utils/clipboard-native.js +14 -0
  563. package/dist/utils/clipboard-native.js.map +1 -0
  564. package/dist/utils/clipboard.d.ts +2 -0
  565. package/dist/utils/clipboard.d.ts.map +1 -0
  566. package/dist/utils/clipboard.js +67 -0
  567. package/dist/utils/clipboard.js.map +1 -0
  568. package/dist/utils/frontmatter.d.ts +8 -0
  569. package/dist/utils/frontmatter.d.ts.map +1 -0
  570. package/dist/utils/frontmatter.js +26 -0
  571. package/dist/utils/frontmatter.js.map +1 -0
  572. package/dist/utils/git.d.ts +26 -0
  573. package/dist/utils/git.d.ts.map +1 -0
  574. package/dist/utils/git.js +163 -0
  575. package/dist/utils/git.js.map +1 -0
  576. package/dist/utils/image-convert.d.ts +9 -0
  577. package/dist/utils/image-convert.d.ts.map +1 -0
  578. package/dist/utils/image-convert.js +35 -0
  579. package/dist/utils/image-convert.js.map +1 -0
  580. package/dist/utils/image-resize.d.ts +36 -0
  581. package/dist/utils/image-resize.d.ts.map +1 -0
  582. package/dist/utils/image-resize.js +181 -0
  583. package/dist/utils/image-resize.js.map +1 -0
  584. package/dist/utils/mime.d.ts +2 -0
  585. package/dist/utils/mime.d.ts.map +1 -0
  586. package/dist/utils/mime.js +26 -0
  587. package/dist/utils/mime.js.map +1 -0
  588. package/dist/utils/photon.d.ts +21 -0
  589. package/dist/utils/photon.d.ts.map +1 -0
  590. package/dist/utils/photon.js +121 -0
  591. package/dist/utils/photon.js.map +1 -0
  592. package/dist/utils/shell.d.ts +26 -0
  593. package/dist/utils/shell.d.ts.map +1 -0
  594. package/dist/utils/shell.js +186 -0
  595. package/dist/utils/shell.js.map +1 -0
  596. package/dist/utils/sleep.d.ts +5 -0
  597. package/dist/utils/sleep.d.ts.map +1 -0
  598. package/dist/utils/sleep.js +17 -0
  599. package/dist/utils/sleep.js.map +1 -0
  600. package/dist/utils/tools-manager.d.ts +3 -0
  601. package/dist/utils/tools-manager.d.ts.map +1 -0
  602. package/dist/utils/tools-manager.js +251 -0
  603. package/dist/utils/tools-manager.js.map +1 -0
  604. package/docs/README.md +32 -0
  605. package/docs/cli-reference.md +342 -0
  606. package/docs/configuration.md +301 -0
  607. package/docs/development-and-testing.md +295 -0
  608. package/docs/extensions-packages-themes.md +415 -0
  609. package/docs/getting-started.md +246 -0
  610. package/docs/interactive-mode.md +272 -0
  611. package/docs/iosm-init-and-cycles.md +355 -0
  612. package/docs/orchestration-and-subagents.md +273 -0
  613. package/docs/rpc-json-sdk.md +353 -0
  614. package/docs/sessions-traces-export.md +260 -0
  615. package/examples/README.md +120 -0
  616. package/examples/extensions/README.md +306 -0
  617. package/examples/extensions/antigravity-image-gen.ts +415 -0
  618. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  619. package/examples/extensions/bash-spawn-hook.ts +30 -0
  620. package/examples/extensions/bookmark.ts +50 -0
  621. package/examples/extensions/built-in-tool-renderer.ts +246 -0
  622. package/examples/extensions/claude-rules.ts +86 -0
  623. package/examples/extensions/commands.ts +72 -0
  624. package/examples/extensions/confirm-destructive.ts +59 -0
  625. package/examples/extensions/custom-compaction.ts +114 -0
  626. package/examples/extensions/custom-footer.ts +64 -0
  627. package/examples/extensions/custom-header.ts +73 -0
  628. package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
  629. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  630. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  631. package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
  632. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  633. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  634. package/examples/extensions/custom-provider-qwen-cli/index.ts +345 -0
  635. package/examples/extensions/custom-provider-qwen-cli/package.json +16 -0
  636. package/examples/extensions/dirty-repo-guard.ts +56 -0
  637. package/examples/extensions/doom-overlay/README.md +46 -0
  638. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  639. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  640. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  641. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  642. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  643. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  644. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  645. package/examples/extensions/doom-overlay/index.ts +74 -0
  646. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  647. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  648. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  649. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  650. package/examples/extensions/dynamic-resources/index.ts +15 -0
  651. package/examples/extensions/dynamic-tools.ts +74 -0
  652. package/examples/extensions/event-bus.ts +43 -0
  653. package/examples/extensions/file-trigger.ts +41 -0
  654. package/examples/extensions/git-checkpoint.ts +53 -0
  655. package/examples/extensions/handoff.ts +150 -0
  656. package/examples/extensions/hello.ts +25 -0
  657. package/examples/extensions/inline-bash.ts +94 -0
  658. package/examples/extensions/input-transform.ts +43 -0
  659. package/examples/extensions/interactive-shell.ts +196 -0
  660. package/examples/extensions/mac-system-theme.ts +47 -0
  661. package/examples/extensions/message-renderer.ts +59 -0
  662. package/examples/extensions/minimal-mode.ts +426 -0
  663. package/examples/extensions/modal-editor.ts +85 -0
  664. package/examples/extensions/model-status.ts +31 -0
  665. package/examples/extensions/notify.ts +55 -0
  666. package/examples/extensions/overlay-qa-tests.ts +881 -0
  667. package/examples/extensions/overlay-test.ts +150 -0
  668. package/examples/extensions/permission-gate.ts +34 -0
  669. package/examples/extensions/pirate.ts +47 -0
  670. package/examples/extensions/plan-mode/README.md +65 -0
  671. package/examples/extensions/plan-mode/index.ts +340 -0
  672. package/examples/extensions/plan-mode/utils.ts +168 -0
  673. package/examples/extensions/preset.ts +398 -0
  674. package/examples/extensions/protected-paths.ts +30 -0
  675. package/examples/extensions/qna.ts +119 -0
  676. package/examples/extensions/question.ts +264 -0
  677. package/examples/extensions/questionnaire.ts +427 -0
  678. package/examples/extensions/rainbow-editor.ts +88 -0
  679. package/examples/extensions/reload-runtime.ts +37 -0
  680. package/examples/extensions/rpc-demo.ts +124 -0
  681. package/examples/extensions/sandbox/index.ts +318 -0
  682. package/examples/extensions/sandbox/package-lock.json +92 -0
  683. package/examples/extensions/sandbox/package.json +19 -0
  684. package/examples/extensions/send-user-message.ts +97 -0
  685. package/examples/extensions/session-name.ts +27 -0
  686. package/examples/extensions/shutdown-command.ts +63 -0
  687. package/examples/extensions/snake.ts +343 -0
  688. package/examples/extensions/space-invaders.ts +560 -0
  689. package/examples/extensions/ssh.ts +220 -0
  690. package/examples/extensions/status-line.ts +40 -0
  691. package/examples/extensions/subagent/README.md +172 -0
  692. package/examples/extensions/subagent/agents/planner.md +37 -0
  693. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  694. package/examples/extensions/subagent/agents/scout.md +50 -0
  695. package/examples/extensions/subagent/agents/worker.md +24 -0
  696. package/examples/extensions/subagent/agents.ts +126 -0
  697. package/examples/extensions/subagent/index.ts +964 -0
  698. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  699. package/examples/extensions/subagent/prompts/implement.md +10 -0
  700. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  701. package/examples/extensions/summarize.ts +195 -0
  702. package/examples/extensions/system-prompt-header.ts +17 -0
  703. package/examples/extensions/timed-confirm.ts +70 -0
  704. package/examples/extensions/titlebar-spinner.ts +58 -0
  705. package/examples/extensions/todo.ts +299 -0
  706. package/examples/extensions/tool-override.ts +143 -0
  707. package/examples/extensions/tools.ts +146 -0
  708. package/examples/extensions/trigger-compact.ts +40 -0
  709. package/examples/extensions/truncated-tool.ts +192 -0
  710. package/examples/extensions/widget-placement.ts +17 -0
  711. package/examples/extensions/with-deps/index.ts +36 -0
  712. package/examples/extensions/with-deps/package-lock.json +31 -0
  713. package/examples/extensions/with-deps/package.json +22 -0
  714. package/examples/rpc-extension-ui.ts +632 -0
  715. package/examples/sdk/01-minimal.ts +22 -0
  716. package/examples/sdk/02-custom-model.ts +49 -0
  717. package/examples/sdk/03-custom-prompt.ts +55 -0
  718. package/examples/sdk/04-skills.ts +46 -0
  719. package/examples/sdk/05-tools.ts +56 -0
  720. package/examples/sdk/06-extensions.ts +88 -0
  721. package/examples/sdk/07-context-files.ts +40 -0
  722. package/examples/sdk/08-prompt-templates.ts +47 -0
  723. package/examples/sdk/09-api-keys-and-oauth.ts +48 -0
  724. package/examples/sdk/10-settings.ts +51 -0
  725. package/examples/sdk/11-sessions.ts +48 -0
  726. package/examples/sdk/12-full-control.ts +82 -0
  727. package/examples/sdk/README.md +337 -0
  728. package/examples/tsconfig.json +3 -0
  729. package/package.json +107 -0
package/README.md ADDED
@@ -0,0 +1,650 @@
1
+ <p align="center">
2
+ <h1 align="center">iosm-cli</h1>
3
+ <p align="center">
4
+ <strong>AI-Powered Engineering Agent with IOSM Methodology</strong>
5
+ </p>
6
+ <p align="center">
7
+ Interactive terminal agent · Multi-provider LLM support · Built-in tools · IOSM cycles · Subagent orchestration · Extensions
8
+ </p>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/iosm-cli"><img alt="npm version" src="https://img.shields.io/npm/v/iosm-cli?style=flat-square&color=cb3837"></a>
13
+ <a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue?style=flat-square"></a>
14
+ <img alt="Node.js" src="https://img.shields.io/badge/node-%3E%3D20.6.0-brightgreen?style=flat-square&logo=node.js">
15
+ <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-5.9-blue?style=flat-square&logo=typescript">
16
+ </p>
17
+
18
+ ---
19
+
20
+ `iosm-cli` is a standalone TypeScript CLI that combines an LLM-powered coding agent with the **IOSM** (Improve → Optimize → Shrink → Modularize) methodology for systematic engineering excellence. It provides a rich interactive terminal, built-in file/code tools, multi-provider model support, session management, subagent orchestration, and a full extension system.
21
+
22
+ ## ✨ Feature Highlights
23
+
24
+ | Feature | Description |
25
+ |---------|-------------|
26
+ | **Interactive Agent** | Multi-turn terminal sessions with persistent history, branching, and tree navigation |
27
+ | **15+ LLM Providers** | Anthropic, OpenAI, Google Gemini, Groq, Cerebras, xAI, OpenRouter, Mistral, AWS Bedrock, Azure OpenAI, and more |
28
+ | **7 Built-in Tools** | `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls` — full filesystem and shell integration |
29
+ | **IOSM Methodology** | Algorithmic improvement cycles with quality gates, metrics, hypothesis cards, and IOSM-Index scoring |
30
+ | **Subagent Orchestration** | Parallel/sequential task delegation with isolation, locks, and worktree support |
31
+ | **Extension System** | Custom tools, commands, hooks, UI components, themes, and provider integrations |
32
+ | **Skills & Prompts** | Markdown-based workflow modules and reusable prompt templates |
33
+ | **Session Management** | Persistence, branching, forking, HTML export, and sharing via GitHub Gists |
34
+ | **Multi-Mode Output** | Interactive, print (`-p`), JSON stream, and JSON-RPC for IDE integrations |
35
+ | **Package Manager** | Install extensions/skills/themes from npm, git, or local paths |
36
+ | **Programmatic SDK** | Full API via `createAgentSession()` for embedding in custom applications |
37
+ | **Configurable Profiles** | `full`, `plan`, `iosm` + advanced profiles for specialized workflows |
38
+
39
+ ---
40
+
41
+ ## 📦 Installation
42
+
43
+ ### Global Install (recommended)
44
+
45
+ ```bash
46
+ npm install -g iosm-cli
47
+ iosm --version
48
+ ```
49
+
50
+ ### Run Without Installing
51
+
52
+ ```bash
53
+ npx iosm-cli --version
54
+ ```
55
+
56
+ ### Build from Source
57
+
58
+ ```bash
59
+ git clone https://github.com/rokoss21/iosm-cli.git
60
+ cd iosm-cli
61
+ npm install
62
+ npm run build
63
+ npm link
64
+ ```
65
+
66
+ ### Requirements
67
+
68
+ - **Node.js** `>=20.6.0`
69
+ - **npm** (bundled with Node.js)
70
+ - At least one LLM provider API key (see [Providers](#-supported-providers))
71
+
72
+ ---
73
+
74
+ ## 🚀 Quick Start
75
+
76
+ ### 1. Set Up a Provider
77
+
78
+ ```bash
79
+ export ANTHROPIC_API_KEY="sk-ant-..."
80
+ # or
81
+ export OPENAI_API_KEY="sk-..."
82
+ # or
83
+ export GEMINI_API_KEY="..."
84
+ ```
85
+
86
+ ### 2. Start Interactive Mode
87
+
88
+ ```bash
89
+ iosm
90
+ ```
91
+
92
+ You'll enter a multi-turn terminal session where you can converse with the AI agent and leverage all built-in tools.
93
+
94
+ ### 3. One-Shot Prompt
95
+
96
+ ```bash
97
+ # Run a single prompt and exit
98
+ iosm -p "Review src/ and list the top 5 refactoring opportunities"
99
+
100
+ # Read-only mode (no writes)
101
+ iosm --tools read,grep,find,ls -p "Audit src/ for dead code"
102
+ ```
103
+
104
+ ### 4. Initialize IOSM Workspace
105
+
106
+ ```bash
107
+ # Bootstrap IOSM artifacts for your project
108
+ iosm init
109
+
110
+ # Plan an improvement cycle
111
+ iosm cycle plan "reduce API latency" "simplify auth module"
112
+
113
+ # Check cycle progress
114
+ iosm cycle status
115
+
116
+ # View cycle report
117
+ iosm cycle report
118
+ ```
119
+
120
+ ---
121
+
122
+ ## 🛠 Built-in Tools
123
+
124
+ The agent has access to 7 built-in tools for direct filesystem and shell interaction:
125
+
126
+ | Tool | Description | Key Capabilities |
127
+ |------|-------------|-----------------|
128
+ | `read` | Read file contents | Line-range selection, image support, streaming for large files |
129
+ | `bash` | Execute shell commands | Full shell access with configurable permissions and timeouts |
130
+ | `edit` | Edit existing files | Diff-based editing with before/after verification |
131
+ | `write` | Create/overwrite files | New file creation, directory auto-creation |
132
+ | `grep` | Search file contents | Regex/literal search, include/exclude patterns, context lines |
133
+ | `find` | Find files by name/pattern | Glob patterns, type filters, depth limits |
134
+ | `ls` | List directory contents | Recursive listing, size/date info, ignore patterns |
135
+
136
+ ### Tool Control
137
+
138
+ ```bash
139
+ # Use all tools (default)
140
+ iosm
141
+
142
+ # Read-only tools
143
+ iosm --tools read,grep,find,ls
144
+
145
+ # Disable all tools
146
+ iosm --no-tools
147
+
148
+ # Specific tool selection
149
+ iosm --tools read,bash,grep
150
+ ```
151
+
152
+ ---
153
+
154
+ ## 🤖 Supported Providers
155
+
156
+ | Provider | Environment Variable | Example Model |
157
+ |----------|---------------------|---------------|
158
+ | Anthropic | `ANTHROPIC_API_KEY` | `claude-sonnet-4-20250514` |
159
+ | OpenAI | `OPENAI_API_KEY` | `gpt-4o` |
160
+ | Google Gemini | `GEMINI_API_KEY` | `gemini-2.5-pro` |
161
+ | Groq | `GROQ_API_KEY` | `llama-3.3-70b` |
162
+ | Cerebras | `CEREBRAS_API_KEY` | `llama-3.3-70b` |
163
+ | xAI | `XAI_API_KEY` | `grok-3` |
164
+ | OpenRouter | `OPENROUTER_API_KEY` | `anthropic/claude-sonnet-4` |
165
+ | Mistral | `MISTRAL_API_KEY` | `mistral-large` |
166
+ | AWS Bedrock | `AWS_ACCESS_KEY_ID` | `anthropic.claude-v2` |
167
+ | Azure OpenAI | `AZURE_OPENAI_API_KEY` | `gpt-4o` |
168
+ | MiniMax | `MINIMAX_API_KEY` | — |
169
+ | Kimi | `KIMI_API_KEY` | — |
170
+ | AI Gateway | `AI_GATEWAY_API_KEY` | — |
171
+
172
+ ### Model Selection
173
+
174
+ ```bash
175
+ # Full provider/model specification
176
+ iosm --provider openai --model gpt-4o
177
+
178
+ # Shorthand with provider prefix
179
+ iosm --model openai/gpt-4o
180
+
181
+ # Model with thinking level
182
+ iosm --model sonnet:high
183
+
184
+ # Cycle through models during session
185
+ iosm --models "sonnet,gpt-4o,gemini-2.5-pro"
186
+
187
+ # List available models
188
+ iosm --list-models
189
+ iosm --list-models gemini
190
+ ```
191
+
192
+ ---
193
+
194
+ ## 💬 Interactive Mode
195
+
196
+ Interactive mode is the default experience — a rich multi-turn terminal session:
197
+
198
+ ```bash
199
+ iosm
200
+ ```
201
+
202
+ ### Slash Commands
203
+
204
+ | Category | Commands |
205
+ |----------|----------|
206
+ | **Session** | `/new` `/resume` `/fork` `/tree` `/checkpoint` `/rollback` `/name` `/session` `/quit` |
207
+ | **Model** | `/model` `/scoped-models` `/settings` `/hotkeys` `/changelog` |
208
+ | **MCP** | `/mcp` |
209
+ | **Context** | `/memory` |
210
+ | **IOSM** | `/init` `/iosm` `/cycle-plan` `/cycle-status` `/cycle-report` `/cycle-list` |
211
+ | **Orchestration** | `/orchestrate` `/agents` `/subagent-runs` `/subagent-resume` `/team-runs` `/team-status` |
212
+ | **System** | `/doctor` `/export` `/share` `/copy` `/compact` `/reload` `/permissions` `/yolo` `/login` `/logout` |
213
+
214
+ `/mcp add` without flags opens a guided add-server wizard directly in the TUI.
215
+ `/memory` opens an interactive memory manager (add/edit/remove/scope/path), and `/memory <text>` appends a note to `memory.md` with immediate context reload.
216
+
217
+ ### Keyboard Shortcuts
218
+
219
+ | Key | Action |
220
+ |-----|--------|
221
+ | `Esc` | Interrupt current run |
222
+ | `Ctrl+C` | Clear input |
223
+ | `Ctrl+D` | Exit |
224
+ | `Shift+Tab` | Cycle profile (full → plan → iosm) |
225
+ | `Shift+Ctrl+T` | Cycle thinking level |
226
+ | `Ctrl+P` / `Shift+Ctrl+P` | Next/previous model |
227
+ | `Ctrl+L` | Open model selector |
228
+ | `Ctrl+O` | Expand/collapse tool output |
229
+ | `Ctrl+T` | Toggle thinking panel |
230
+ | `Ctrl+G` | Open external editor |
231
+ | `Alt+Enter` | Queue follow-up message |
232
+
233
+ Customize keybindings via `~/.iosm/agent/keybindings.json`.
234
+
235
+ ### Profiles
236
+
237
+ | Profile | Behavior |
238
+ |---------|----------|
239
+ | `full` | Default — all tools enabled, full agent capabilities |
240
+ | `plan` | Read-first planning and architecture mode |
241
+ | `iosm` | IOSM context with artifact synchronization |
242
+ | `explore` | Exploratory analysis (advanced) |
243
+ | `iosm_analyst` | IOSM metric analysis (advanced) |
244
+ | `iosm_verifier` | IOSM verification (advanced) |
245
+ | `cycle_planner` | Cycle planning specialist (advanced) |
246
+
247
+ ```bash
248
+ iosm --profile plan
249
+ iosm --profile iosm
250
+ ```
251
+
252
+ ---
253
+
254
+ ## 🔄 IOSM Methodology
255
+
256
+ IOSM (**Improve → Optimize → Shrink → Modularize**) is an algorithmic methodology for systematic engineering improvement. Each cycle follows a fixed phase order with quality gates:
257
+
258
+ ```
259
+ PLAN → HYPOTHESIZE → IMPROVE → GATE_I → OPTIMIZE → GATE_O → SHRINK → GATE_S → MODULARIZE → GATE_M → SCORE → LEARN → DECIDE
260
+ ```
261
+
262
+ ### Workspace Artifacts
263
+
264
+ Running `iosm init` creates:
265
+
266
+ ```
267
+ project/
268
+ ├── iosm.yaml # Configuration, thresholds, weights, policies
269
+ ├── IOSM.md # Operator/agent playbook and priority checklist
270
+ └── .iosm/
271
+ ├── metrics-history.jsonl # Longitudinal cycle metrics
272
+ ├── decision-log.md # Historical decisions and rationale
273
+ ├── pattern-library.md # Reusable implementation patterns
274
+ ├── waivers.yaml # Governance exceptions
275
+ ├── invariants.yaml # Logic baseline
276
+ ├── contracts.yaml # Boundary control
277
+ └── cycles/
278
+ └── <cycle-id>/
279
+ ├── baseline-report.json
280
+ ├── hypotheses.json
281
+ ├── cycle-report.json
282
+ └── phase-reports/
283
+ ├── improve.json
284
+ ├── optimize.json
285
+ ├── shrink.json
286
+ └── modularize.json
287
+ ```
288
+
289
+ ### Six Canonical Metrics
290
+
291
+ | Metric | Intent |
292
+ |--------|--------|
293
+ | `semantic` | The system says one thing in one way |
294
+ | `logic` | The system behaves consistently |
295
+ | `performance` | The system is fast enough and survives disruption |
296
+ | `simplicity` | The system is easier to use and change |
297
+ | `modularity` | The system evolves with low blast radius |
298
+ | `flow` | The organization ships changes predictably |
299
+
300
+ ### Example Workflow
301
+
302
+ ```bash
303
+ # 1. Initialize IOSM workspace
304
+ iosm init
305
+
306
+ # 2. Plan a cycle with goals
307
+ iosm cycle plan "reduce checkout latency" "simplify auth module"
308
+
309
+ # 3. Work through the cycle in interactive mode
310
+ iosm --profile iosm
311
+
312
+ # 4. Check progress
313
+ iosm cycle status
314
+
315
+ # 5. View the full report
316
+ iosm cycle report
317
+ ```
318
+
319
+ For the full IOSM specification, see [iosm-spec.md](./iosm-spec.md).
320
+
321
+ ---
322
+
323
+ ## 🤝 Subagent Orchestration
324
+
325
+ Delegate tasks to specialized subagents with parallel or sequential execution:
326
+
327
+ ```bash
328
+ # Orchestrate 3 parallel agents with different profiles
329
+ /orchestrate --parallel --agents 3 \
330
+ --profiles explore,full,iosm_verifier \
331
+ --cwd .,src,.iosm \
332
+ Implement feature X
333
+
334
+ # Sequential with dependencies
335
+ /orchestrate --sequential --agents 2 \
336
+ --depends 2>1 \
337
+ First analyze, then implement
338
+
339
+ # With worktree isolation for write-heavy work
340
+ /orchestrate --parallel --worktree --agents 2 \
341
+ Refactor both modules independently
342
+ ```
343
+
344
+ ### Custom Agents
345
+
346
+ Define custom agents in `.iosm/agents/*.md`:
347
+
348
+ ```markdown
349
+ ---
350
+ name: security-auditor
351
+ description: Specialized security review agent
352
+ ---
353
+
354
+ You are a security auditor. Review code for:
355
+ - SQL injection vulnerabilities
356
+ - XSS attack vectors
357
+ - Authentication bypasses
358
+ - Secrets exposure
359
+ ```
360
+
361
+ Use with `@security-auditor` mention in interactive mode.
362
+
363
+ ---
364
+
365
+ ## 🔌 Extension System
366
+
367
+ Extensions are TypeScript modules that can register tools, commands, hooks, UI components, and provider integrations.
368
+
369
+ ### Quick Example
370
+
371
+ ```typescript
372
+ import type { ExtensionAPI } from "iosm-cli";
373
+ import { Type } from "@sinclair/typebox";
374
+
375
+ export default function (pi: ExtensionAPI) {
376
+ // Register a custom tool
377
+ pi.registerTool({
378
+ name: "greet",
379
+ label: "Greeting",
380
+ description: "Generate a greeting",
381
+ parameters: Type.Object({
382
+ name: Type.String({ description: "Name to greet" }),
383
+ }),
384
+ async execute(toolCallId, params) {
385
+ return {
386
+ content: [{ type: "text", text: `Hello, ${params.name}!` }],
387
+ details: {},
388
+ };
389
+ },
390
+ });
391
+
392
+ // Register a slash command
393
+ pi.registerCommand("hello", {
394
+ description: "Say hello",
395
+ handler: async (args, ctx) => {
396
+ ctx.ui.notify("Hello from extension!", "info");
397
+ },
398
+ });
399
+
400
+ // Subscribe to lifecycle events
401
+ pi.on("tool_call", async (event, ctx) => {
402
+ if (event.toolName === "bash" && event.input.command?.includes("rm -rf")) {
403
+ const ok = await ctx.ui.confirm("Warning", "Allow rm -rf?");
404
+ if (!ok) return { block: true, reason: "Blocked by user" };
405
+ }
406
+ });
407
+ }
408
+ ```
409
+
410
+ ### Loading Extensions
411
+
412
+ ```bash
413
+ # CLI flag
414
+ iosm -e ./my-extension.ts
415
+
416
+ # Auto-discovery directories
417
+ ~/.iosm/agent/extensions/ # Global
418
+ .iosm/extensions/ # Project-local
419
+ ```
420
+
421
+ See [66 extension examples](./examples/extensions/) covering tools, UI, git integration, providers, and more.
422
+
423
+ ---
424
+
425
+ ## 📡 SDK & Programmatic Usage
426
+
427
+ Use `iosm-cli` as a library in your own applications:
428
+
429
+ ```typescript
430
+ import { createAgentSession, AuthStorage, ModelRegistry } from "iosm-cli";
431
+
432
+ const authStorage = AuthStorage.create();
433
+ const modelRegistry = new ModelRegistry(authStorage);
434
+
435
+ // Create a session
436
+ const { session } = await createAgentSession({
437
+ authStorage,
438
+ modelRegistry,
439
+ });
440
+
441
+ // Subscribe to events
442
+ session.subscribe((event) => {
443
+ if (event.type === "message_update" && event.assistantMessageEvent.type === "text_delta") {
444
+ process.stdout.write(event.assistantMessageEvent.delta);
445
+ }
446
+ });
447
+
448
+ // Send prompts
449
+ await session.prompt("Analyze this codebase and suggest improvements");
450
+ ```
451
+
452
+ ### Output Modes
453
+
454
+ ```bash
455
+ # JSON event stream (for automation)
456
+ iosm --mode json "Your prompt"
457
+
458
+ # JSON-RPC server (for IDE integration)
459
+ iosm --mode rpc --no-session
460
+
461
+ # Single-turn print (for scripts/CI)
462
+ iosm -p "Summarize the architecture"
463
+ ```
464
+
465
+ See [12 SDK examples](./examples/sdk/) for complete usage patterns.
466
+
467
+ ---
468
+
469
+ ## 📂 Sessions & Export
470
+
471
+ ### Session Persistence
472
+
473
+ ```bash
474
+ # Continue previous session
475
+ iosm --continue
476
+ iosm -c
477
+
478
+ # Interactive session picker
479
+ iosm --resume
480
+ iosm -r
481
+
482
+ # Use specific session file
483
+ iosm --session /path/to/session.jsonl
484
+
485
+ # Ephemeral (no persistence)
486
+ iosm --no-session
487
+ ```
488
+
489
+ ### Export & Sharing
490
+
491
+ ```bash
492
+ # Export session to HTML
493
+ /export
494
+
495
+ # Share via GitHub Gist
496
+ /share
497
+
498
+ # Copy last response to clipboard
499
+ /copy
500
+ ```
501
+
502
+ ### Session Navigation
503
+
504
+ ```bash
505
+ # View session tree
506
+ /tree
507
+
508
+ # Fork from a previous point
509
+ /fork
510
+
511
+ # Name the session
512
+ /name "refactoring-auth-module"
513
+ ```
514
+
515
+ ---
516
+
517
+ ## ⚙️ Configuration
518
+
519
+ ### Hierarchy (highest priority first)
520
+
521
+ 1. **CLI flags** — runtime overrides
522
+ 2. **Project settings** — `.iosm/settings.json`
523
+ 3. **Global settings** — `~/.iosm/agent/settings.json`
524
+
525
+ ### Key Directories
526
+
527
+ | Path | Purpose |
528
+ |------|---------|
529
+ | `~/.iosm/agent/` | Global config, models, auth, sessions |
530
+ | `~/.iosm/agent/settings.json` | Global settings |
531
+ | `~/.iosm/agent/auth.json` | Provider credentials |
532
+ | `~/.iosm/agent/extensions/` | Global extensions |
533
+ | `~/.iosm/agent/skills/` | Global skills |
534
+ | `~/.iosm/agent/themes/` | Global themes |
535
+ | `.iosm/` | Project-local workspace |
536
+ | `.iosm/settings.json` | Project settings |
537
+ | `.iosm/extensions/` | Project extensions |
538
+
539
+ ### Environment Variables
540
+
541
+ ```bash
542
+ # Provider keys
543
+ export ANTHROPIC_API_KEY="..."
544
+ export OPENAI_API_KEY="..."
545
+ export GEMINI_API_KEY="..."
546
+
547
+ # Runtime behavior
548
+ export IOSM_OFFLINE=1 # Disable network on startup
549
+ export IOSM_SESSION_TRACE=1 # Enable JSONL trace
550
+ export IOSM_SESSION_TRACE_DIR="/traces" # Trace directory
551
+ export IOSM_CODING_AGENT_DIR="/custom" # Override agent directory
552
+ ```
553
+
554
+ ---
555
+
556
+ ## 📁 Repository Structure
557
+
558
+ ```
559
+ iosm-cli/
560
+ ├── src/
561
+ │ ├── cli/ # CLI argument parsing and config
562
+ │ ├── core/ # Runtime engine
563
+ │ │ ├── tools/ # Built-in tools (read, bash, edit, write, grep, find, ls)
564
+ │ │ ├── extensions/ # Extension system (discovery, runners, hooks)
565
+ │ │ ├── compaction/ # Context compaction and summarization
566
+ │ │ ├── export-html/ # HTML session export templates
567
+ │ │ ├── agent-session.ts # Core agent session logic
568
+ │ │ ├── subagents.ts # Subagent orchestration
569
+ │ │ ├── session-manager.ts # Session persistence
570
+ │ │ ├── model-registry.ts # Multi-provider model registry
571
+ │ │ ├── package-manager.ts # Package install/remove/update
572
+ │ │ ├── sdk.ts # Programmatic API
573
+ │ │ └── ...
574
+ │ ├── iosm/ # IOSM methodology implementation
575
+ │ │ ├── init.ts # Workspace bootstrapping
576
+ │ │ ├── cycle.ts # Cycle lifecycle management
577
+ │ │ ├── metrics.ts # Metric calculation and normalization
578
+ │ │ ├── config.ts # IOSM configuration parsing
579
+ │ │ └── ...
580
+ │ ├── modes/ # Output modes
581
+ │ │ ├── interactive/ # TUI with full keyboard/UI
582
+ │ │ ├── rpc/ # JSON-RPC server mode
583
+ │ │ └── print-mode.ts # Single-shot print mode
584
+ │ └── utils/ # Utilities (git, shell, clipboard, images)
585
+ ├── test/ # 73 Vitest test files
586
+ ├── examples/
587
+ │ ├── extensions/ # 66 extension examples
588
+ │ └── sdk/ # 12 SDK examples
589
+ ├── docs/ # Comprehensive documentation
590
+ ├── iosm-spec.md # Full IOSM methodology specification
591
+ ├── package.json
592
+ ├── tsconfig.base.json
593
+ └── vitest.config.ts
594
+ ```
595
+
596
+ ---
597
+
598
+ ## 🧑‍💻 Development
599
+
600
+ ```bash
601
+ # Install dependencies
602
+ npm install
603
+
604
+ # Type-check
605
+ npm run check
606
+
607
+ # Run tests
608
+ npm test
609
+
610
+ # Build
611
+ npm run build
612
+
613
+ # Watch mode (development)
614
+ npm run dev
615
+
616
+ # Build standalone binary (via Bun)
617
+ npm run build:binary
618
+ ```
619
+
620
+ See [Development & Testing](./docs/development-and-testing.md) and [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
621
+
622
+ ---
623
+
624
+ ## 📚 Documentation
625
+
626
+ | Document | Description |
627
+ |----------|-------------|
628
+ | [Getting Started](./docs/getting-started.md) | Installation, first run, provider setup |
629
+ | [CLI Reference](./docs/cli-reference.md) | Complete flag and option reference |
630
+ | [Interactive Mode](./docs/interactive-mode.md) | Slash commands, keybindings, profiles |
631
+ | [IOSM Init & Cycles](./docs/iosm-init-and-cycles.md) | Workspace bootstrap and cycle operations |
632
+ | [Orchestration & Subagents](./docs/orchestration-and-subagents.md) | Task delegation and parallel execution |
633
+ | [Extensions & Packages](./docs/extensions-packages-themes.md) | Extension API, skills, themes, packages |
634
+ | [Configuration](./docs/configuration.md) | Settings, env vars, profiles |
635
+ | [Sessions & Export](./docs/sessions-traces-export.md) | Persistence, traces, HTML export |
636
+ | [JSON/RPC/SDK](./docs/rpc-json-sdk.md) | Programmatic integrations |
637
+ | [Development & Testing](./docs/development-and-testing.md) | Contributing, architecture, tests |
638
+ | [IOSM Specification](./iosm-spec.md) | Full methodology specification |
639
+
640
+ ---
641
+
642
+ ## 📄 License
643
+
644
+ [MIT](./LICENSE) © 2026 Emil Rokossovskiy
645
+
646
+ ---
647
+
648
+ <p align="center">
649
+ <sub>Created by Emil Rokossovskiy · <a href="https://github.com/rokoss21">@rokoss21</a> · ecsiar@gmail.com</sub>
650
+ </p>
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CLI argument parsing and help display
3
+ */
4
+ import type { ThinkingLevel } from "@mariozechner/pi-agent-core";
5
+ import { type ToolName } from "../core/tools/index.js";
6
+ export type Mode = "text" | "json" | "rpc";
7
+ export interface Args {
8
+ provider?: string;
9
+ model?: string;
10
+ apiKey?: string;
11
+ systemPrompt?: string;
12
+ appendSystemPrompt?: string;
13
+ thinking?: ThinkingLevel;
14
+ continue?: boolean;
15
+ resume?: boolean;
16
+ help?: boolean;
17
+ version?: boolean;
18
+ mode?: Mode;
19
+ noSession?: boolean;
20
+ session?: string;
21
+ sessionDir?: string;
22
+ models?: string[];
23
+ tools?: ToolName[];
24
+ noTools?: boolean;
25
+ extensions?: string[];
26
+ noExtensions?: boolean;
27
+ print?: boolean;
28
+ export?: string;
29
+ noSkills?: boolean;
30
+ skills?: string[];
31
+ promptTemplates?: string[];
32
+ noPromptTemplates?: boolean;
33
+ themes?: string[];
34
+ noThemes?: boolean;
35
+ listModels?: string | true;
36
+ offline?: boolean;
37
+ sessionTrace?: boolean;
38
+ sessionTraceDir?: string;
39
+ verbose?: boolean;
40
+ /** Enable plan mode: agent explores read-only then presents plan for approval before executing */
41
+ plan?: boolean;
42
+ /** Agent profile to use: full | plan | iosm (main) plus advanced/internal profiles */
43
+ profile?: string;
44
+ messages: string[];
45
+ fileArgs: string[];
46
+ /** Unknown flags (potentially extension flags) - map of flag name to value */
47
+ unknownFlags: Map<string, boolean | string>;
48
+ }
49
+ export declare function isValidThinkingLevel(level: string): level is ThinkingLevel;
50
+ export declare function parseArgs(args: string[], extensionFlags?: Map<string, {
51
+ type: "boolean" | "string";
52
+ }>): Args;
53
+ export declare function printHelp(): void;
54
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAajE,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;CAC5C;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC,GAAG,IAAI,CAkI5G;AAED,wBAAgB,SAAS,IAAI,IAAI,CA6JhC"}