@calliopelabs/cli 2.3.0 → 3.0.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 (538) hide show
  1. package/README.md +45 -644
  2. package/dist/acp.d.ts +78 -0
  3. package/dist/acp.d.ts.map +1 -0
  4. package/dist/acp.js +572 -0
  5. package/dist/acp.js.map +1 -0
  6. package/dist/auto-compressor.d.ts.map +1 -1
  7. package/dist/auto-compressor.js +9 -5
  8. package/dist/auto-compressor.js.map +1 -1
  9. package/dist/bin.d.ts +9 -5
  10. package/dist/bin.d.ts.map +1 -1
  11. package/dist/bin.js +108 -76
  12. package/dist/bin.js.map +1 -1
  13. package/dist/budget.d.ts +64 -0
  14. package/dist/budget.d.ts.map +1 -0
  15. package/dist/budget.js +157 -0
  16. package/dist/budget.js.map +1 -0
  17. package/dist/checkpoint.d.ts +63 -30
  18. package/dist/checkpoint.d.ts.map +1 -1
  19. package/dist/checkpoint.js +249 -150
  20. package/dist/checkpoint.js.map +1 -1
  21. package/dist/circuit-breaker/breaker.js.map +1 -1
  22. package/dist/config.d.ts +86 -81
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +237 -305
  25. package/dist/config.js.map +1 -1
  26. package/dist/cost.d.ts +114 -0
  27. package/dist/cost.d.ts.map +1 -0
  28. package/dist/cost.js +499 -0
  29. package/dist/cost.js.map +1 -0
  30. package/dist/diff.d.ts.map +1 -1
  31. package/dist/diff.js +53 -11
  32. package/dist/diff.js.map +1 -1
  33. package/dist/errors.d.ts.map +1 -1
  34. package/dist/errors.js +33 -6
  35. package/dist/errors.js.map +1 -1
  36. package/dist/files.js.map +1 -1
  37. package/dist/fleet.d.ts +30 -0
  38. package/dist/fleet.d.ts.map +1 -0
  39. package/dist/fleet.js +86 -0
  40. package/dist/fleet.js.map +1 -0
  41. package/dist/fuzzy-search.d.ts.map +1 -1
  42. package/dist/fuzzy-search.js +2 -1
  43. package/dist/fuzzy-search.js.map +1 -1
  44. package/dist/git-status.js.map +1 -1
  45. package/dist/headless.d.ts +1 -2
  46. package/dist/headless.d.ts.map +1 -1
  47. package/dist/headless.js +222 -26
  48. package/dist/headless.js.map +1 -1
  49. package/dist/hooks.d.ts +8 -2
  50. package/dist/hooks.d.ts.map +1 -1
  51. package/dist/hooks.js +97 -11
  52. package/dist/hooks.js.map +1 -1
  53. package/dist/hud/api.d.ts +3 -18
  54. package/dist/hud/api.d.ts.map +1 -1
  55. package/dist/hud/api.js +9 -352
  56. package/dist/hud/api.js.map +1 -1
  57. package/dist/hud/palettes.d.ts.map +1 -1
  58. package/dist/hud/palettes.js +0 -180
  59. package/dist/hud/palettes.js.map +1 -1
  60. package/dist/hud/skins.d.ts.map +1 -1
  61. package/dist/hud/skins.js +0 -263
  62. package/dist/hud/skins.js.map +1 -1
  63. package/dist/hud/types.d.ts +2 -5
  64. package/dist/hud/types.d.ts.map +1 -1
  65. package/dist/index.d.ts +1 -4
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -4
  68. package/dist/index.js.map +1 -1
  69. package/dist/iteration-ledger.d.ts.map +1 -1
  70. package/dist/iteration-ledger.js +3 -2
  71. package/dist/iteration-ledger.js.map +1 -1
  72. package/dist/local-model.d.ts +150 -0
  73. package/dist/local-model.d.ts.map +1 -0
  74. package/dist/local-model.js +408 -0
  75. package/dist/local-model.js.map +1 -0
  76. package/dist/markdown.d.ts.map +1 -1
  77. package/dist/markdown.js +32 -10
  78. package/dist/markdown.js.map +1 -1
  79. package/dist/mcp.d.ts +35 -5
  80. package/dist/mcp.d.ts.map +1 -1
  81. package/dist/mcp.js +190 -13
  82. package/dist/mcp.js.map +1 -1
  83. package/dist/memory.d.ts.map +1 -1
  84. package/dist/memory.js +6 -4
  85. package/dist/memory.js.map +1 -1
  86. package/dist/model-detection.d.ts +14 -1
  87. package/dist/model-detection.d.ts.map +1 -1
  88. package/dist/model-detection.js +308 -115
  89. package/dist/model-detection.js.map +1 -1
  90. package/dist/parallel-tools.d.ts +9 -1
  91. package/dist/parallel-tools.d.ts.map +1 -1
  92. package/dist/parallel-tools.js +6 -5
  93. package/dist/parallel-tools.js.map +1 -1
  94. package/dist/plugins.d.ts +68 -0
  95. package/dist/plugins.d.ts.map +1 -1
  96. package/dist/plugins.js +201 -3
  97. package/dist/plugins.js.map +1 -1
  98. package/dist/policy.d.ts +43 -0
  99. package/dist/policy.d.ts.map +1 -0
  100. package/dist/policy.js +139 -0
  101. package/dist/policy.js.map +1 -0
  102. package/dist/project-config.d.ts +1 -2
  103. package/dist/project-config.d.ts.map +1 -1
  104. package/dist/project-config.js +0 -3
  105. package/dist/project-config.js.map +1 -1
  106. package/dist/providers/anthropic.d.ts.map +1 -1
  107. package/dist/providers/anthropic.js +36 -2
  108. package/dist/providers/anthropic.js.map +1 -1
  109. package/dist/providers/bedrock.d.ts.map +1 -1
  110. package/dist/providers/bedrock.js +83 -22
  111. package/dist/providers/bedrock.js.map +1 -1
  112. package/dist/providers/compat.d.ts +21 -0
  113. package/dist/providers/compat.d.ts.map +1 -1
  114. package/dist/providers/compat.js +176 -6
  115. package/dist/providers/compat.js.map +1 -1
  116. package/dist/providers/google.js.map +1 -1
  117. package/dist/providers/index.d.ts +19 -4
  118. package/dist/providers/index.d.ts.map +1 -1
  119. package/dist/providers/index.js +62 -9
  120. package/dist/providers/index.js.map +1 -1
  121. package/dist/providers/ollama.d.ts +2 -2
  122. package/dist/providers/ollama.d.ts.map +1 -1
  123. package/dist/providers/ollama.js +26 -6
  124. package/dist/providers/ollama.js.map +1 -1
  125. package/dist/providers/openai.d.ts.map +1 -1
  126. package/dist/providers/openai.js +14 -10
  127. package/dist/providers/openai.js.map +1 -1
  128. package/dist/providers/types.d.ts +8 -0
  129. package/dist/providers/types.d.ts.map +1 -1
  130. package/dist/providers/types.js +19 -10
  131. package/dist/providers/types.js.map +1 -1
  132. package/dist/replay.d.ts +37 -0
  133. package/dist/replay.d.ts.map +1 -0
  134. package/dist/replay.js +168 -0
  135. package/dist/replay.js.map +1 -0
  136. package/dist/risk.d.ts.map +1 -1
  137. package/dist/risk.js +15 -5
  138. package/dist/risk.js.map +1 -1
  139. package/dist/router.d.ts +133 -0
  140. package/dist/router.d.ts.map +1 -0
  141. package/dist/{model-router.js → router.js} +336 -10
  142. package/dist/router.js.map +1 -0
  143. package/dist/runlog.d.ts +185 -0
  144. package/dist/runlog.d.ts.map +1 -0
  145. package/dist/runlog.js +398 -0
  146. package/dist/runlog.js.map +1 -0
  147. package/dist/{sandbox.d.ts → sandbox/docker.d.ts} +1 -1
  148. package/dist/sandbox/docker.d.ts.map +1 -0
  149. package/dist/{sandbox.js → sandbox/docker.js} +1 -1
  150. package/dist/sandbox/docker.js.map +1 -0
  151. package/dist/sandbox/index.d.ts +36 -0
  152. package/dist/sandbox/index.d.ts.map +1 -0
  153. package/dist/sandbox/index.js +62 -0
  154. package/dist/sandbox/index.js.map +1 -0
  155. package/dist/{sandbox-native.d.ts → sandbox/native.d.ts} +2 -1
  156. package/dist/sandbox/native.d.ts.map +1 -0
  157. package/dist/{sandbox-native.js → sandbox/native.js} +38 -6
  158. package/dist/sandbox/native.js.map +1 -0
  159. package/dist/scope.d.ts +10 -0
  160. package/dist/scope.d.ts.map +1 -1
  161. package/dist/scope.js +76 -16
  162. package/dist/scope.js.map +1 -1
  163. package/dist/scuttlebot/client.d.ts +83 -0
  164. package/dist/scuttlebot/client.d.ts.map +1 -0
  165. package/dist/scuttlebot/client.js +350 -0
  166. package/dist/scuttlebot/client.js.map +1 -0
  167. package/dist/scuttlebot/config.d.ts +28 -0
  168. package/dist/scuttlebot/config.d.ts.map +1 -0
  169. package/dist/scuttlebot/config.js +91 -0
  170. package/dist/scuttlebot/config.js.map +1 -0
  171. package/dist/scuttlebot/http-client.d.ts +63 -0
  172. package/dist/scuttlebot/http-client.d.ts.map +1 -0
  173. package/dist/scuttlebot/http-client.js +124 -0
  174. package/dist/scuttlebot/http-client.js.map +1 -0
  175. package/dist/scuttlebot/index.d.ts +13 -0
  176. package/dist/scuttlebot/index.d.ts.map +1 -0
  177. package/dist/scuttlebot/index.js +10 -0
  178. package/dist/scuttlebot/index.js.map +1 -0
  179. package/dist/scuttlebot/irc-client.d.ts +124 -0
  180. package/dist/scuttlebot/irc-client.d.ts.map +1 -0
  181. package/dist/scuttlebot/irc-client.js +599 -0
  182. package/dist/scuttlebot/irc-client.js.map +1 -0
  183. package/dist/setup.d.ts.map +1 -1
  184. package/dist/setup.js +22 -54
  185. package/dist/setup.js.map +1 -1
  186. package/dist/skills.d.ts +58 -0
  187. package/dist/skills.d.ts.map +1 -1
  188. package/dist/skills.js +186 -16
  189. package/dist/skills.js.map +1 -1
  190. package/dist/storage.d.ts +0 -4
  191. package/dist/storage.d.ts.map +1 -1
  192. package/dist/storage.js +87 -8
  193. package/dist/storage.js.map +1 -1
  194. package/dist/streaming.d.ts +25 -0
  195. package/dist/streaming.d.ts.map +1 -1
  196. package/dist/streaming.js +59 -0
  197. package/dist/streaming.js.map +1 -1
  198. package/dist/styles.d.ts +6 -0
  199. package/dist/styles.d.ts.map +1 -1
  200. package/dist/styles.js +11 -0
  201. package/dist/styles.js.map +1 -1
  202. package/dist/summarization.js.map +1 -1
  203. package/dist/terminal-image.js +1 -1
  204. package/dist/terminal-image.js.map +1 -1
  205. package/dist/themes.d.ts +5 -4
  206. package/dist/themes.d.ts.map +1 -1
  207. package/dist/themes.js +35 -90
  208. package/dist/themes.js.map +1 -1
  209. package/dist/tools.d.ts +27 -3
  210. package/dist/tools.d.ts.map +1 -1
  211. package/dist/tools.js +352 -209
  212. package/dist/tools.js.map +1 -1
  213. package/dist/trust.d.ts +16 -3
  214. package/dist/trust.d.ts.map +1 -1
  215. package/dist/trust.js +23 -4
  216. package/dist/trust.js.map +1 -1
  217. package/dist/types.d.ts +4 -3
  218. package/dist/types.d.ts.map +1 -1
  219. package/dist/types.js +34 -44
  220. package/dist/types.js.map +1 -1
  221. package/dist/ui/agent.d.ts +4 -7
  222. package/dist/ui/agent.d.ts.map +1 -1
  223. package/dist/ui/agent.js +354 -73
  224. package/dist/ui/agent.js.map +1 -1
  225. package/dist/ui/animations.d.ts +37 -0
  226. package/dist/ui/animations.d.ts.map +1 -0
  227. package/dist/ui/animations.js +227 -0
  228. package/dist/ui/animations.js.map +1 -0
  229. package/dist/ui/chat-input-keys.d.ts +42 -0
  230. package/dist/ui/chat-input-keys.d.ts.map +1 -0
  231. package/dist/ui/chat-input-keys.js +360 -0
  232. package/dist/ui/chat-input-keys.js.map +1 -0
  233. package/dist/ui/chat-input.d.ts +5 -2
  234. package/dist/ui/chat-input.d.ts.map +1 -1
  235. package/dist/ui/chat-input.js +54 -308
  236. package/dist/ui/chat-input.js.map +1 -1
  237. package/dist/ui/commands.d.ts +15 -45
  238. package/dist/ui/commands.d.ts.map +1 -1
  239. package/dist/ui/commands.js +461 -2636
  240. package/dist/ui/commands.js.map +1 -1
  241. package/dist/ui/completions.d.ts +1 -0
  242. package/dist/ui/completions.d.ts.map +1 -1
  243. package/dist/ui/completions.js +36 -107
  244. package/dist/ui/completions.js.map +1 -1
  245. package/dist/ui/components.d.ts +14 -6
  246. package/dist/ui/components.d.ts.map +1 -1
  247. package/dist/ui/components.js +17 -226
  248. package/dist/ui/components.js.map +1 -1
  249. package/dist/ui/context.js +6 -6
  250. package/dist/ui/context.js.map +1 -1
  251. package/dist/ui/debug-log.d.ts +11 -0
  252. package/dist/ui/debug-log.d.ts.map +1 -0
  253. package/dist/ui/debug-log.js +21 -0
  254. package/dist/ui/debug-log.js.map +1 -0
  255. package/dist/ui/error-boundary.d.ts.map +1 -1
  256. package/dist/ui/error-boundary.js.map +1 -1
  257. package/dist/ui/frame.d.ts.map +1 -1
  258. package/dist/ui/frame.js +1 -3
  259. package/dist/ui/frame.js.map +1 -1
  260. package/dist/ui/index.d.ts +11 -3
  261. package/dist/ui/index.d.ts.map +1 -1
  262. package/dist/ui/index.js +46 -887
  263. package/dist/ui/index.js.map +1 -1
  264. package/dist/ui/input-utils.d.ts +20 -0
  265. package/dist/ui/input-utils.d.ts.map +1 -0
  266. package/dist/ui/input-utils.js +35 -0
  267. package/dist/ui/input-utils.js.map +1 -0
  268. package/dist/ui/messages.d.ts +8 -7
  269. package/dist/ui/messages.d.ts.map +1 -1
  270. package/dist/ui/messages.js +51 -35
  271. package/dist/ui/messages.js.map +1 -1
  272. package/dist/ui/modals/index.d.ts +11 -0
  273. package/dist/ui/modals/index.d.ts.map +1 -0
  274. package/dist/ui/modals/index.js +10 -0
  275. package/dist/ui/modals/index.js.map +1 -0
  276. package/dist/ui/{modals.d.ts → modals/prompts.d.ts} +5 -20
  277. package/dist/ui/modals/prompts.d.ts.map +1 -0
  278. package/dist/ui/{modals.js → modals/prompts.js} +14 -94
  279. package/dist/ui/modals/prompts.js.map +1 -0
  280. package/dist/ui/modals/selectors.d.ts +33 -0
  281. package/dist/ui/modals/selectors.d.ts.map +1 -0
  282. package/dist/ui/modals/selectors.js +111 -0
  283. package/dist/ui/modals/selectors.js.map +1 -0
  284. package/dist/ui/modals/setup.d.ts +17 -0
  285. package/dist/ui/modals/setup.d.ts.map +1 -0
  286. package/dist/ui/modals/setup.js +51 -0
  287. package/dist/ui/modals/setup.js.map +1 -0
  288. package/dist/ui/regions/input-region.d.ts +40 -0
  289. package/dist/ui/regions/input-region.d.ts.map +1 -0
  290. package/dist/ui/regions/input-region.js +116 -0
  291. package/dist/ui/regions/input-region.js.map +1 -0
  292. package/dist/ui/regions/modal-host.d.ts +41 -0
  293. package/dist/ui/regions/modal-host.d.ts.map +1 -0
  294. package/dist/ui/regions/modal-host.js +51 -0
  295. package/dist/ui/regions/modal-host.js.map +1 -0
  296. package/dist/ui/regions/render-probe.d.ts +22 -0
  297. package/dist/ui/regions/render-probe.d.ts.map +1 -0
  298. package/dist/ui/regions/render-probe.js +45 -0
  299. package/dist/ui/regions/render-probe.js.map +1 -0
  300. package/dist/ui/regions/static-scrollback.d.ts +39 -0
  301. package/dist/ui/regions/static-scrollback.d.ts.map +1 -0
  302. package/dist/ui/regions/static-scrollback.js +68 -0
  303. package/dist/ui/regions/static-scrollback.js.map +1 -0
  304. package/dist/ui/regions/status-region.d.ts +24 -0
  305. package/dist/ui/regions/status-region.d.ts.map +1 -0
  306. package/dist/ui/regions/status-region.js +17 -0
  307. package/dist/ui/regions/status-region.js.map +1 -0
  308. package/dist/ui/regions/transcript-region.d.ts +41 -0
  309. package/dist/ui/regions/transcript-region.d.ts.map +1 -0
  310. package/dist/ui/regions/transcript-region.js +52 -0
  311. package/dist/ui/regions/transcript-region.js.map +1 -0
  312. package/dist/ui/self-restart.d.ts +9 -0
  313. package/dist/ui/self-restart.d.ts.map +1 -0
  314. package/dist/ui/self-restart.js +24 -0
  315. package/dist/ui/self-restart.js.map +1 -0
  316. package/dist/ui/state/use-chat-controller.d.ts +23 -0
  317. package/dist/ui/state/use-chat-controller.d.ts.map +1 -0
  318. package/dist/ui/state/use-chat-controller.js +643 -0
  319. package/dist/ui/state/use-chat-controller.js.map +1 -0
  320. package/dist/ui/state/use-loop-state.d.ts +23 -0
  321. package/dist/ui/state/use-loop-state.d.ts.map +1 -0
  322. package/dist/ui/state/use-loop-state.js +39 -0
  323. package/dist/ui/state/use-loop-state.js.map +1 -0
  324. package/dist/ui/state/use-modal-state.d.ts +52 -0
  325. package/dist/ui/state/use-modal-state.d.ts.map +1 -0
  326. package/dist/ui/state/use-modal-state.js +44 -0
  327. package/dist/ui/state/use-modal-state.js.map +1 -0
  328. package/dist/ui/state/use-model-state.d.ts +29 -0
  329. package/dist/ui/state/use-model-state.d.ts.map +1 -0
  330. package/dist/ui/state/use-model-state.js +47 -0
  331. package/dist/ui/state/use-model-state.js.map +1 -0
  332. package/dist/ui/state/use-processing-state.d.ts +24 -0
  333. package/dist/ui/state/use-processing-state.d.ts.map +1 -0
  334. package/dist/ui/state/use-processing-state.js +46 -0
  335. package/dist/ui/state/use-processing-state.js.map +1 -0
  336. package/dist/ui/state/use-queue-state.d.ts +19 -0
  337. package/dist/ui/state/use-queue-state.d.ts.map +1 -0
  338. package/dist/ui/state/use-queue-state.js +30 -0
  339. package/dist/ui/state/use-queue-state.js.map +1 -0
  340. package/dist/ui/state/use-session-init.d.ts +22 -0
  341. package/dist/ui/state/use-session-init.d.ts.map +1 -0
  342. package/dist/ui/state/use-session-init.js +77 -0
  343. package/dist/ui/state/use-session-init.js.map +1 -0
  344. package/dist/ui/state/use-session-stats.d.ts +16 -0
  345. package/dist/ui/state/use-session-stats.d.ts.map +1 -0
  346. package/dist/ui/state/use-session-stats.js +18 -0
  347. package/dist/ui/state/use-session-stats.js.map +1 -0
  348. package/dist/ui/state/use-terminal-width.d.ts +8 -0
  349. package/dist/ui/state/use-terminal-width.d.ts.map +1 -0
  350. package/dist/ui/state/use-terminal-width.js +22 -0
  351. package/dist/ui/state/use-terminal-width.js.map +1 -0
  352. package/dist/ui/state/use-transcript-state.d.ts +21 -0
  353. package/dist/ui/state/use-transcript-state.d.ts.map +1 -0
  354. package/dist/ui/state/use-transcript-state.js +49 -0
  355. package/dist/ui/state/use-transcript-state.js.map +1 -0
  356. package/dist/ui/status-bar.d.ts +4 -1
  357. package/dist/ui/status-bar.d.ts.map +1 -1
  358. package/dist/ui/status-bar.js +13 -3
  359. package/dist/ui/status-bar.js.map +1 -1
  360. package/dist/ui/types.d.ts +3 -0
  361. package/dist/ui/types.d.ts.map +1 -1
  362. package/dist/version-check.d.ts.map +1 -1
  363. package/dist/version-check.js +10 -0
  364. package/dist/version-check.js.map +1 -1
  365. package/package.json +12 -8
  366. package/dist/agents/agent-config-loader.d.ts +0 -60
  367. package/dist/agents/agent-config-loader.d.ts.map +0 -1
  368. package/dist/agents/agent-config-loader.js +0 -402
  369. package/dist/agents/agent-config-loader.js.map +0 -1
  370. package/dist/agents/agent-config-presets.d.ts +0 -10
  371. package/dist/agents/agent-config-presets.d.ts.map +0 -1
  372. package/dist/agents/agent-config-presets.js +0 -940
  373. package/dist/agents/agent-config-presets.js.map +0 -1
  374. package/dist/agents/agent-config-types.d.ts +0 -145
  375. package/dist/agents/agent-config-types.d.ts.map +0 -1
  376. package/dist/agents/agent-config-types.js +0 -12
  377. package/dist/agents/agent-config-types.js.map +0 -1
  378. package/dist/agents/agent-detection.d.ts +0 -35
  379. package/dist/agents/agent-detection.d.ts.map +0 -1
  380. package/dist/agents/agent-detection.js +0 -110
  381. package/dist/agents/agent-detection.js.map +0 -1
  382. package/dist/agents/aggregator.d.ts +0 -19
  383. package/dist/agents/aggregator.d.ts.map +0 -1
  384. package/dist/agents/aggregator.js +0 -141
  385. package/dist/agents/aggregator.js.map +0 -1
  386. package/dist/agents/cli-backend.d.ts +0 -32
  387. package/dist/agents/cli-backend.d.ts.map +0 -1
  388. package/dist/agents/cli-backend.js +0 -271
  389. package/dist/agents/cli-backend.js.map +0 -1
  390. package/dist/agents/council-types.d.ts +0 -115
  391. package/dist/agents/council-types.d.ts.map +0 -1
  392. package/dist/agents/council-types.js +0 -81
  393. package/dist/agents/council-types.js.map +0 -1
  394. package/dist/agents/council.d.ts +0 -112
  395. package/dist/agents/council.d.ts.map +0 -1
  396. package/dist/agents/council.js +0 -722
  397. package/dist/agents/council.js.map +0 -1
  398. package/dist/agents/decomposer.d.ts +0 -33
  399. package/dist/agents/decomposer.d.ts.map +0 -1
  400. package/dist/agents/decomposer.js +0 -138
  401. package/dist/agents/decomposer.js.map +0 -1
  402. package/dist/agents/dynamic-tools.d.ts +0 -52
  403. package/dist/agents/dynamic-tools.d.ts.map +0 -1
  404. package/dist/agents/dynamic-tools.js +0 -395
  405. package/dist/agents/dynamic-tools.js.map +0 -1
  406. package/dist/agents/index.d.ts +0 -29
  407. package/dist/agents/index.d.ts.map +0 -1
  408. package/dist/agents/index.js +0 -29
  409. package/dist/agents/index.js.map +0 -1
  410. package/dist/agents/installer.d.ts +0 -39
  411. package/dist/agents/installer.d.ts.map +0 -1
  412. package/dist/agents/installer.js +0 -205
  413. package/dist/agents/installer.js.map +0 -1
  414. package/dist/agents/orchestrator.d.ts +0 -106
  415. package/dist/agents/orchestrator.d.ts.map +0 -1
  416. package/dist/agents/orchestrator.js +0 -363
  417. package/dist/agents/orchestrator.js.map +0 -1
  418. package/dist/agents/sdk-backend.d.ts +0 -63
  419. package/dist/agents/sdk-backend.d.ts.map +0 -1
  420. package/dist/agents/sdk-backend.js +0 -489
  421. package/dist/agents/sdk-backend.js.map +0 -1
  422. package/dist/agents/swarm-types.d.ts +0 -84
  423. package/dist/agents/swarm-types.d.ts.map +0 -1
  424. package/dist/agents/swarm-types.js +0 -20
  425. package/dist/agents/swarm-types.js.map +0 -1
  426. package/dist/agents/swarm.d.ts +0 -79
  427. package/dist/agents/swarm.d.ts.map +0 -1
  428. package/dist/agents/swarm.js +0 -375
  429. package/dist/agents/swarm.js.map +0 -1
  430. package/dist/agents/tools.d.ts +0 -26
  431. package/dist/agents/tools.d.ts.map +0 -1
  432. package/dist/agents/tools.js +0 -776
  433. package/dist/agents/tools.js.map +0 -1
  434. package/dist/agents/types.d.ts +0 -108
  435. package/dist/agents/types.d.ts.map +0 -1
  436. package/dist/agents/types.js +0 -43
  437. package/dist/agents/types.js.map +0 -1
  438. package/dist/api-server.d.ts +0 -36
  439. package/dist/api-server.d.ts.map +0 -1
  440. package/dist/api-server.js +0 -255
  441. package/dist/api-server.js.map +0 -1
  442. package/dist/auto-checkpoint.d.ts +0 -35
  443. package/dist/auto-checkpoint.d.ts.map +0 -1
  444. package/dist/auto-checkpoint.js +0 -143
  445. package/dist/auto-checkpoint.js.map +0 -1
  446. package/dist/background-jobs.d.ts +0 -45
  447. package/dist/background-jobs.d.ts.map +0 -1
  448. package/dist/background-jobs.js +0 -127
  449. package/dist/background-jobs.js.map +0 -1
  450. package/dist/branching.d.ts +0 -56
  451. package/dist/branching.d.ts.map +0 -1
  452. package/dist/branching.js +0 -211
  453. package/dist/branching.js.map +0 -1
  454. package/dist/cli/agent.d.ts +0 -9
  455. package/dist/cli/agent.d.ts.map +0 -1
  456. package/dist/cli/agent.js +0 -314
  457. package/dist/cli/agent.js.map +0 -1
  458. package/dist/cli/commands.d.ts +0 -12
  459. package/dist/cli/commands.d.ts.map +0 -1
  460. package/dist/cli/commands.js +0 -943
  461. package/dist/cli/commands.js.map +0 -1
  462. package/dist/cli/index.d.ts +0 -8
  463. package/dist/cli/index.d.ts.map +0 -1
  464. package/dist/cli/index.js +0 -237
  465. package/dist/cli/index.js.map +0 -1
  466. package/dist/cli/types.d.ts +0 -33
  467. package/dist/cli/types.d.ts.map +0 -1
  468. package/dist/cli/types.js +0 -21
  469. package/dist/cli/types.js.map +0 -1
  470. package/dist/companions.d.ts +0 -54
  471. package/dist/companions.d.ts.map +0 -1
  472. package/dist/companions.js +0 -440
  473. package/dist/companions.js.map +0 -1
  474. package/dist/completion.d.ts +0 -75
  475. package/dist/completion.d.ts.map +0 -1
  476. package/dist/completion.js +0 -234
  477. package/dist/completion.js.map +0 -1
  478. package/dist/file-watcher.d.ts +0 -91
  479. package/dist/file-watcher.d.ts.map +0 -1
  480. package/dist/file-watcher.js +0 -269
  481. package/dist/file-watcher.js.map +0 -1
  482. package/dist/hud/theme-packs/api.d.ts +0 -51
  483. package/dist/hud/theme-packs/api.d.ts.map +0 -1
  484. package/dist/hud/theme-packs/api.js +0 -145
  485. package/dist/hud/theme-packs/api.js.map +0 -1
  486. package/dist/hud/theme-packs/index.d.ts +0 -18
  487. package/dist/hud/theme-packs/index.d.ts.map +0 -1
  488. package/dist/hud/theme-packs/index.js +0 -38
  489. package/dist/hud/theme-packs/index.js.map +0 -1
  490. package/dist/hud/theme-packs/types.d.ts +0 -29
  491. package/dist/hud/theme-packs/types.d.ts.map +0 -1
  492. package/dist/hud/theme-packs/types.js +0 -9
  493. package/dist/hud/theme-packs/types.js.map +0 -1
  494. package/dist/idle-eviction.d.ts +0 -34
  495. package/dist/idle-eviction.d.ts.map +0 -1
  496. package/dist/idle-eviction.js +0 -78
  497. package/dist/idle-eviction.js.map +0 -1
  498. package/dist/keyboard.d.ts +0 -57
  499. package/dist/keyboard.d.ts.map +0 -1
  500. package/dist/keyboard.js +0 -265
  501. package/dist/keyboard.js.map +0 -1
  502. package/dist/model-router.d.ts +0 -67
  503. package/dist/model-router.d.ts.map +0 -1
  504. package/dist/model-router.js.map +0 -1
  505. package/dist/providers/openai-compat-shims.d.ts +0 -31
  506. package/dist/providers/openai-compat-shims.d.ts.map +0 -1
  507. package/dist/providers/openai-compat-shims.js +0 -179
  508. package/dist/providers/openai-compat-shims.js.map +0 -1
  509. package/dist/sandbox-native.d.ts.map +0 -1
  510. package/dist/sandbox-native.js.map +0 -1
  511. package/dist/sandbox.d.ts.map +0 -1
  512. package/dist/sandbox.js.map +0 -1
  513. package/dist/session-timeout.d.ts +0 -31
  514. package/dist/session-timeout.d.ts.map +0 -1
  515. package/dist/session-timeout.js +0 -100
  516. package/dist/session-timeout.js.map +0 -1
  517. package/dist/smart-router.d.ts +0 -73
  518. package/dist/smart-router.d.ts.map +0 -1
  519. package/dist/smart-router.js +0 -332
  520. package/dist/smart-router.js.map +0 -1
  521. package/dist/terminal-recording.d.ts +0 -55
  522. package/dist/terminal-recording.d.ts.map +0 -1
  523. package/dist/terminal-recording.js +0 -182
  524. package/dist/terminal-recording.js.map +0 -1
  525. package/dist/tmux.d.ts +0 -35
  526. package/dist/tmux.d.ts.map +0 -1
  527. package/dist/tmux.js +0 -106
  528. package/dist/tmux.js.map +0 -1
  529. package/dist/ui/modals.d.ts.map +0 -1
  530. package/dist/ui/modals.js.map +0 -1
  531. package/dist/ui/pack-picker.d.ts +0 -12
  532. package/dist/ui/pack-picker.d.ts.map +0 -1
  533. package/dist/ui/pack-picker.js +0 -101
  534. package/dist/ui/pack-picker.js.map +0 -1
  535. package/dist/ui/theme-picker.d.ts +0 -24
  536. package/dist/ui/theme-picker.d.ts.map +0 -1
  537. package/dist/ui/theme-picker.js +0 -190
  538. package/dist/ui/theme-picker.js.map +0 -1
package/README.md CHANGED
@@ -1,691 +1,92 @@
1
1
  # Calliope CLI
2
2
 
3
- > The Muse of Digital Eloquence
4
-
5
- Multi-model AI agent CLI with autonomous loops, project memory, and advanced tooling. Use Claude, Gemini, GPT, and more from a single elegant interface.
6
-
7
- ```
8
- ██████╗ █████╗ ██╗ ██╗ ██╗ ██████╗ ██████╗ ███████╗
9
- ██╔════╝██╔══██╗██║ ██║ ██║██╔═══██╗██╔══██╗██╔════╝
10
- ██║ ███████║██║ ██║ ██║██║ ██║██████╔╝█████╗
11
- ██║ ██╔══██║██║ ██║ ██║██║ ██║██╔═══╝ ██╔══╝
12
- ╚██████╗██║ ██║███████╗███████╗██║╚██████╔╝██║ ███████╗
13
- ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚══════╝
14
-
15
- The Muse of Digital Eloquence
16
- ```
17
-
18
- ## Installation
3
+ **The private-AI agent CLI.** One terminal agent for any model backend — including the ones you run yourself. MIT-licensed, small core, no lock-in.
19
4
 
20
5
  ```bash
21
- # Quick install
22
- curl -fsSL https://calliope.ai/install.sh | bash
23
-
24
- # Or via npm
25
6
  npm install -g @calliopelabs/cli
26
- ```
27
-
28
- ## Quick Start
29
-
30
- ```bash
31
- # Run Calliope (first run will prompt for setup)
32
- calliope
33
-
34
- # Or set API key via environment
35
- export ANTHROPIC_API_KEY=sk-ant-...
36
7
  calliope
37
-
38
- # Run in god mode (no permission prompts)
39
- calliope -g
40
- calliope --god-mode
41
- ```
42
-
43
- ## Features
44
-
45
- ### Multi-Model Support
46
-
47
- Switch between 12+ providers on the fly:
48
-
49
- ```
50
- /provider anthropic # Use Claude
51
- /provider google # Use Gemini
52
- /provider openai # Use GPT
53
- /provider mistral # Use Mistral
54
- /provider ollama # Use local models
55
- /provider openrouter # Use any model via OpenRouter
56
- ```
57
-
58
- **Supported Providers:**
59
- - Anthropic (Claude): Sonnet 4, Opus 4, Haiku
60
- - OpenAI: GPT-4o, o1, o3-mini
61
- - Google: Gemini 2.0 Flash, 1.5 Pro
62
- - Mistral: Large, Small
63
- - Groq: Llama 3.3, Mixtral
64
- - Cerebras: Llama 3.3
65
- - Fireworks: Llama models
66
- - xAI: Grok
67
- - Ollama: Local models
68
- - OpenRouter: 100+ models
69
- - GitHub Models: Via Azure
70
- - DeepSeek: R1, V3
71
-
72
- ### 🔒 Scope Management
73
-
74
- Control which directories your AI can access for enhanced security:
75
-
76
- ```bash
77
- /scope add ./src # Grant access to src directory
78
- /scope add ./tests # Add tests directory
79
- /scope list # View current scope
80
- /scope remove ./src # Revoke access
81
- /scope reset # Clear all scope restrictions
82
- ```
83
-
84
- **Benefits:**
85
- - 🔒 **Security** - Prevent accidental modifications outside project areas
86
- - 🎯 **Focus** - Keep AI operations within relevant directories
87
- - ⚡ **Performance** - Reduce unnecessary file scanning
88
- - 📋 **Audit trail** - Track which directories are in scope
89
-
90
- ### 🔁 Session Management & Continuity
91
-
92
- Seamless continuity between sessions:
93
-
94
- ```bash
95
- # On startup, Calliope detects previous sessions:
96
- ╭─ 🎭 Calliope v0.6.11
97
- │ Found previous session (2 hours ago)
98
- │ • 12 messages, 2 TODOs pending
99
- ╰─ [R]esume [N]ew session
100
-
101
- # Commands
102
- /session list # List all sessions
103
- /session info # Current session details
104
- /history # View conversation history
105
- /export [file.md] # Export conversation to markdown
106
- ```
107
-
108
- ### 🔖 Bookmarks & Navigation
109
-
110
- Mark and return to important moments in your conversation:
111
-
112
- ```bash
113
- /bookmark "Got auth working" # Create a bookmark
114
- /bookmarks # List all bookmarks
115
- /goto bookmark-1 # Jump to that point in history
116
- /bookmark delete 1 # Remove a bookmark
117
- ```
118
-
119
- **Use cases:**
120
- - Mark successful implementations
121
- - Save decision points
122
- - Quick navigation in long conversations
123
-
124
- ### 📋 Templates
125
-
126
- Save and reuse common prompts and workflows:
127
-
128
- ```bash
129
- /template save code-review "Review this code for bugs, performance, and best practices"
130
- /template list # View all templates
131
- /template use code-review # Use a saved template
132
- /template delete code-review # Remove a template
133
- ```
134
-
135
- **Built-in templates include:**
136
- - Code review
137
- - Bug investigation
138
- - Refactoring plans
139
- - Testing strategies
140
-
141
- ### ↩️ Undo/Redo
142
-
143
- Navigate conversation history with full state management:
144
-
145
- ```bash
146
- /undo # Undo last exchange (message + all responses)
147
- /redo # Redo previously undone exchange
148
- /history # View full conversation timeline
149
- ```
150
-
151
- **Features:**
152
- - Preserves entire conversation state
153
- - Works across tool executions
154
- - Unlimited undo/redo stack
155
- - Shows available undo/redo count
156
-
157
- ### 💰 Cost Tracking
158
-
159
- Monitor API usage and costs across sessions:
160
-
161
- ```bash
162
- # Automatic tracking in status bar:
163
- # anthropic:claude-sonnet-4 │ 5.2K/200K │ 12.5K used │ $0.45
164
-
165
- /cost # Detailed cost breakdown
166
- ```
167
-
168
- **Tracks:**
169
- - Current session cost
170
- - Total cost across all sessions
171
- - Cost per provider
172
- - Token usage (input/output)
173
- - Persists across sessions
174
-
175
- ### ⌨️ Advanced Input Experience
176
-
177
- Enhanced input with modern conveniences:
178
-
179
- - **Tab completion** - Slash commands and file paths autocomplete
180
- - **History navigation** - Up/down arrows to browse previous inputs
181
- - **Multi-line editing** - Shift+Enter for new lines (if supported)
182
- - **Path suggestions** - Real-time file path completion
183
- - **Command hints** - Footer shows available options
184
-
185
- **Example:**
186
- ```
187
- > /boo[TAB] → /bookmark
188
- > /scope add ./[TAB] → ./src/ ./tests/ ./docs/
189
- > [Up Arrow] → Previous command
190
- ```
191
-
192
- ### 🚀 Parallel Tool Execution
193
-
194
- Automatically executes independent tool calls in parallel for 2-5x speedup:
195
-
196
- ```
197
- # When AI needs to read 3 files:
198
- Sequential: Read file1 → wait → Read file2 → wait → Read file3
199
- Parallel: Read file1, file2, file3 → all at once!
200
-
201
- # Dependency-aware:
202
- - Detects when tools depend on each other
203
- - Executes in optimal order
204
- - Shows parallel execution progress
205
- ```
206
-
207
- ### ⚡ Autonomous Loops
208
-
209
- Enable continuous execution for complex multi-step tasks:
210
-
211
- ```bash
212
- /loop on # Enable autonomous loops
213
- /loop off # Disable
214
- /loop 10 # Set max iterations
215
-
216
- # The AI will:
217
- # 1. Plan the approach
218
- # 2. Execute tools
219
- # 3. Evaluate results
220
- # 4. Continue until goal achieved or max iterations
221
- ```
222
-
223
- ### 🧠 Project Memory (CALLIOPE.md)
224
-
225
- Persistent memory across sessions using markdown files:
226
-
227
- ```
228
- /memory init # Create CALLIOPE.md
229
- /memory add context "This is a TypeScript project"
230
- /memory add preference "Use functional components"
231
- /memory show # View project memory
232
- /memory global # View global preferences
233
- ```
234
-
235
- Calliope automatically loads context from standard files:
236
- - `CALLIOPE.md` - Project memory
237
- - `CLAUDE.md` - Claude context
238
- - `README.md`, `SPEC.md`, `TODO.md`
239
- - `ARCHITECTURE.md`, `DESIGN.md`, `NOTES.md`
240
- - `.cursorrules`, `.github/copilot-instructions.md`
241
-
242
- ### 🛠️ Tools
243
-
244
- Built-in tools for autonomous operation:
245
-
246
- | Tool | Description |
247
- |------|-------------|
248
- | `shell` | Execute shell commands with safety checks |
249
- | `read_file` | Read file contents |
250
- | `write_file` | Write files with diff preview |
251
- | `list_files` | Directory listing |
252
- | `think` | Structured reasoning (visible in output) |
253
- | `execute_code` | Run Python/Node/Bash in sandbox |
254
- | `web_search` | Search the web for information |
255
- | `git` | Git operations (status, diff, log, etc.) |
256
- | `mermaid` | Generate diagrams |
257
-
258
- ### 🐳 Sandboxed Code Execution
259
-
260
- Execute code safely in Docker containers:
261
-
262
- ```
263
- The execute_code tool automatically:
264
- - Uses Docker when available (recommended)
265
- - Falls back to local execution if needed
266
- - Shows [sandboxed] or [unsandboxed] status
267
- - Enforces resource limits and timeouts
268
- ```
269
-
270
- ### 🌐 MCP Server Support
271
-
272
- Connect external tools via Model Context Protocol:
273
-
274
- ```bash
275
- /mcp add https://mcp-server.example.com
276
- /mcp list # Show connected servers
277
- /mcp tools # List available tools from all servers
278
- /mcp refresh # Reconnect all servers
279
- ```
280
-
281
- ### 📦 Agent Skills (AgentSkills.io)
282
-
283
- Install reusable skills from the community registry:
284
-
285
- ```bash
286
- /skills add git-workflow
287
- /skills add code-review
288
- /skills list # Show installed skills
289
- /skills info <name> # Skill details
290
- ```
291
-
292
- ### 🌲 Conversation Branching
293
-
294
- Fork conversations to explore different approaches:
295
-
296
- ```bash
297
- /branch new experiment "Try approach B"
298
- /branch list # Show all branches
299
- /branch switch experiment
300
- /branch delete experiment
301
- ```
302
-
303
- ### 🎨 Themes & Personas
304
-
305
- Customize the visual style and AI personality:
306
-
307
- ```bash
308
- # Themes
309
- /theme list # Show available themes
310
- /theme monokai # Set theme
311
- /theme # Cycle through themes
312
-
313
- # Personas
314
- /persona professional # Professional, concise responses
315
- /persona minimal # Minimal output, just essentials
316
- /persona calliope # Poetic, elegant responses (default)
317
- ```
318
-
319
- **Available themes:** `default`, `light`, `monokai`, `nord`, `minimal`
320
-
321
- ### 🪝 Hooks System
322
-
323
- Run custom scripts before/after tool execution:
324
-
325
- ```bash
326
- /hooks init # Initialize default hooks
327
- /hooks list # Show configured hooks
328
- /hooks add pre-shell "echo Running: $CALLIOPE_COMMAND"
329
8
  ```
330
9
 
331
- **Hook events:** `pre-tool`, `post-tool`, `pre-shell`, `post-shell`, `pre-write`, `post-write`, `session-start`, `session-end`
10
+ Single-binary installs (Homebrew and a `curl` installer, no Node.js required) are
11
+ coming with the v3.0.0 stable release — see
12
+ [Install as a single binary](docs/getting-started.md#install-as-a-single-binary).
332
13
 
333
- ### 📊 Context Management & Warnings
14
+ ## Why Calliope
334
15
 
335
- Smart context tracking with proactive warnings:
16
+ - **Any backend, live-discovered.** 13 providers — Anthropic, OpenAI, Google, AWS Bedrock, Ollama, OpenRouter, Together, Groq, Fireworks, Mistral, AI21, Hugging Face, LiteLLM, plus any OpenAI-compatible server. No hardcoded model lists: models and capabilities are discovered from each provider's API, so new models work the day they ship.
17
+ - **Built for models you run yourself.** Ollama and self-hosted OpenAI-compatible servers are first-class targets, not checkboxes. Run fully air-gapped.
18
+ - **Sandbox-first execution.** Shell and code tools run inside macOS Seatbelt or Docker sandboxes (`auto`/`native`/`docker`/`off`). Blocklists are advisory; the sandbox is the boundary.
19
+ - **Safety rails that survive long sessions.** Circuit breakers, iteration budgets, git-based checkpoints with `/restore`, and automatic context compaction.
20
+ - **Governance built in.** Tamper-evident audit run logs (on by default), a `replay` command to inspect and verify them, budget caps that halt a run before it overspends, and a pre-tool policy hook for an external allow/deny engine. See [docs/governance.md](docs/governance.md).
21
+ - **Small on purpose.** 22 commands. 16 config keys. 11 flags. v3 removed more code than it kept — the changelog lists everything that went and why.
22
+ - **Tested like infrastructure.** 3,500 tests, 93%+ line coverage with an enforced 90% floor.
336
23
 
337
- ```
338
- ⚠️ Context at 85% capacity (170K/200K tokens)
339
- Consider: /summarize compact | /clear | shorter messages
24
+ ## Quick start
340
25
 
341
- 🚨 Context at 95% capacity! (190K/200K tokens)
342
- Action required: /summarize compact | /clear
343
- ```
344
-
345
- **Commands:**
346
26
  ```bash
347
- /summarize context # View conversation summary
348
- /summarize compact # Compress context to fit limits
349
- /clear # Clear conversation
27
+ calliope --setup # pick a provider, paste a key (or point at Ollama)
28
+ calliope # start a session in the current directory
350
29
  ```
351
30
 
352
- ### 🔍 Smart Search
353
-
354
- Find anything in your conversation or project:
31
+ Inside a session:
355
32
 
356
- ```bash
357
- /search error handling # Fuzzy search through history
358
- /find auth # Find files in project
359
33
  ```
360
-
361
- ### ⚙️ Modes
362
-
363
- Three distinct operating modes for different workflows:
364
-
365
- ```bash
366
- /mode plan # Analyze and plan, don't execute
367
- /mode hybrid # Plan then execute (default)
368
- /mode work # Execute directly without planning
34
+ /mode plan think first — the agent proposes, you approve
35
+ /model list see live-discovered models for your provider
36
+ /scope add ../lib widen file access deliberately
37
+ /compact compress context when it grows
38
+ /restore list git checkpoints; /restore <path> to roll back
39
+ /help everything else — it fits on one screen
369
40
  ```
370
41
 
371
- | Mode | Icon | Behavior | Use Case |
372
- |------|------|----------|----------|
373
- | **Plan** | 📋 | Chat only, no execution | Design discussions, exploration |
374
- | **Hybrid** | 🔄 | Smart planning before complex ops | Default for most users |
375
- | **Work** | 🔧 | Direct execution | Experienced users, simple tasks |
376
-
377
- ### 🛡️ Risk Assessment & Safety
378
-
379
- Built-in safety for potentially dangerous operations:
380
-
381
- - Automatic risk classification (low/medium/high/critical)
382
- - Permission prompts for risky operations
383
- - God mode (`-g`) to bypass prompts for trusted tasks
384
- - Detailed explanations of risks
385
- - Scope restrictions for file access
386
-
387
- ### 🚄 Streaming & Real-time Feedback
388
-
389
- Live response rendering for immediate feedback:
390
-
391
- - Token-by-token streaming for text responses
392
- - Live tool execution status with progress indicators
393
- - Visual diffs for file changes
394
- - Parallel tool execution visualization
395
- - Thinking process display
396
-
397
- ## Commands Reference
398
-
399
- ### Core Commands
400
- ```bash
401
- /help, /h # Show all commands
402
- /exit, /quit, /q # Exit Calliope
403
- /clear, /c # Clear conversation
404
- /status, /s # Show current status
405
- /config # Show configuration
406
- /debug [on|off] # Toggle debug mode
407
- ```
408
-
409
- ### Model & Provider
410
- ```bash
411
- /provider, /p [name] # Switch AI provider
412
- /model, /m [name] # Set model (interactive if no name)
413
- /models # Browse available models
414
- /persona [name] # Switch persona (calliope/professional/minimal)
415
- ```
416
-
417
- ### Modes & Settings
418
- ```bash
419
- /mode [plan|hybrid|work] # Switch operating mode
420
- /loop [on|off|N] # Toggle/configure autonomous mode
421
- /confirm [on|off] # Toggle risky operation confirmation
422
- /theme [name] # Switch theme
423
- ```
424
-
425
- ### Scope Management
426
- ```bash
427
- /scope add <path> # Add directory to scope
428
- /scope remove <path> # Remove directory from scope
429
- /scope list # Show current scope
430
- /scope reset # Clear all scope restrictions
431
- ```
432
-
433
- ### Session & History
434
- ```bash
435
- /session list # List all sessions
436
- /session info # Current session details
437
- /history [search] # View/search conversation history
438
- /bookmark [name] # Create bookmark
439
- /bookmarks # List bookmarks
440
- /goto <id> # Jump to bookmark
441
- /undo # Undo last exchange
442
- /redo # Redo exchange
443
- ```
444
-
445
- ### Templates & Memory
446
- ```bash
447
- /template save <name> <prompt> # Save template
448
- /template list # View all templates
449
- /template use <name> # Use template
450
- /template delete <name> # Remove template
451
-
452
- /memory init # Initialize project memory
453
- /memory add <text> # Add to memory
454
- /memory show # View project memory
455
- /memory global # View global memory
456
- ```
42
+ Headless, for CI and scripts:
457
43
 
458
- ### Context & Search
459
44
  ```bash
460
- /summarize [context|compact] # Summarize/compress conversation
461
- /search <query> # Search conversation history
462
- /find <pattern> # Fuzzy file search in project
463
- /branch [new|switch|list] # Conversation branches
464
- ```
465
-
466
- ### Tools & Extensions
467
- ```bash
468
- /mcp [list|add|remove|tools] # MCP server management
469
- /skills [list|add|remove|info] # Agent skills
470
- /hooks [list|add|init] # Pre/post tool hooks
471
- ```
472
-
473
- ### Tasks & Planning
474
- ```bash
475
- /todo [add|done|work|clear|list] # Manage TODOs
476
- /plans [list|view|rerun] # View and rerun plans
477
- ```
478
-
479
- ### Utility
480
- ```bash
481
- /cost # Show cost breakdown
482
- /copy # Copy last response
483
- /export [file.md] # Export conversation to file
484
- /upgrade # Check for updates
485
- /set <key> <value> # Set runtime config (e.g., maxIterations)
486
- /context # Show loaded project context
487
- ```
488
-
489
- ## Environment Variables
490
-
491
- ```bash
492
- # API Keys
493
- ANTHROPIC_API_KEY=sk-ant-...
494
- OPENAI_API_KEY=sk-...
495
- GOOGLE_API_KEY=...
496
- MISTRAL_API_KEY=...
497
- GROQ_API_KEY=...
498
- XAI_API_KEY=...
499
- CEREBRAS_API_KEY=...
500
- FIREWORKS_API_KEY=...
501
- DEEPSEEK_API_KEY=...
502
- OPENROUTER_API_KEY=...
503
-
504
- # Configuration
505
- CALLIOPE_PROVIDER=anthropic
506
- CALLIOPE_MODEL=claude-sonnet-4-20250514
507
- CALLIOPE_GOD_MODE=false
508
- CALLIOPE_DEBUG=false
509
-
510
- # Ollama
511
- OLLAMA_BASE_URL=http://localhost:11434
512
-
513
- # LiteLLM
514
- LITELLM_BASE_URL=http://localhost:4000
515
- LITELLM_API_KEY=...
45
+ calliope --headless --json "run the tests and summarize failures"
516
46
  ```
517
47
 
518
48
  ## Configuration
519
49
 
520
- Config is stored in `~/.config/calliope/config.json` (or platform equivalent).
521
-
522
- ```bash
523
- # Show config location
524
- calliope --config
525
-
526
- # Reset config
527
- calliope --reset
50
+ One file, 16 keys. Credentials live in a per-provider map with environment-variable fallbacks:
528
51
 
529
- # Force setup wizard
530
- calliope --setup
531
- ```
532
-
533
- ### Sample config.json
534
- ```json
52
+ ```jsonc
535
53
  {
536
- "provider": "anthropic",
537
- "model": "claude-sonnet-4-20250514",
538
- "apiKeys": {
539
- "anthropic": "sk-ant-...",
540
- "openai": "sk-...",
541
- "google": "..."
54
+ "defaultProvider": "anthropic",
55
+ "providers": {
56
+ "anthropic": { "apiKey": "sk-ant-..." },
57
+ "ollama": { "baseUrl": "http://localhost:11434" }
542
58
  },
543
- "theme": "default",
544
- "persona": "calliope",
545
- "godMode": false,
546
- "maxIterations": 25,
547
- "scope": ["./src", "./tests"]
59
+ "sandboxMode": "auto",
60
+ "routing": { "enabled": false, "costSensitivity": 0.3 }
548
61
  }
549
62
  ```
550
63
 
551
- ### Profiles
552
-
553
- Save and switch between configurations:
554
-
555
- ```bash
556
- /profile save work # Save current settings as "work"
557
- /profile work # Load "work" profile
558
- /profile delete work # Delete profile
559
- /profile list # Show all profiles
560
- ```
561
-
562
- **Built-in profiles:** `fast`, `smart`, `cheap`, `local`
563
-
564
- ## Keyboard Shortcuts
565
-
566
- | Key | Action |
567
- |-----|--------|
568
- | `ESC` | Exit Calliope |
569
- | `Ctrl+C` | Cancel current operation |
570
- | `Ctrl+L` | Clear screen |
571
- | `Up/Down` | Navigate input history |
572
- | `Tab` | Autocomplete commands/paths |
573
- | `Shift+Enter` | Multi-line input (where supported) |
574
-
575
- ## File References
64
+ `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `OLLAMA_BASE_URL`, and friends work as before. v2 configs migrate automatically on first run.
576
65
 
577
- Reference files directly in your messages:
578
-
579
- ```
580
- @filename.ts # Include file content
581
- ./path/to/file # Relative path
582
- /absolute/path/file # Absolute path
583
- ```
66
+ Docs: [getting started](docs/getting-started.md) · [commands](docs/commands.md) · [configuration](docs/configuration.md) · [providers](docs/providers.md) · [features](docs/features.md) · [fleet mode](docs/fleet.md)
584
67
 
585
- Images are automatically detected and sent for vision-capable models.
68
+ ## Editors
586
69
 
587
- ## Security & Best Practices
70
+ Run Calliope as an [Agent Client Protocol](https://agentclientprotocol.com) agent (`calliope acp`) inside Zed, JetBrains, Neovim, and other ACP editors — client-side file edits, per-tool permissions, and the same audit trail. See [docs/acp.md](docs/acp.md).
588
71
 
589
- ### API Key Storage
590
- - Keys stored in `~/.config/calliope/config.json`
591
- - Prefer environment variables for better security
592
- - Never commit config to version control
72
+ ## Fleet mode
593
73
 
594
- ### Tool Execution Safety
595
- - Path traversal protection
596
- - Sandboxed code execution via Docker
597
- - Timeout limits on all commands
598
- - Risk assessment for dangerous operations
599
- - Scope restrictions for file access
600
- - Hook system for custom validation
74
+ Coordinate a fleet of agents and human operators over a self-hosted IRC channel that doubles as an audit trail. Off by default, zero cost when disabled. See [docs/fleet.md](docs/fleet.md).
601
75
 
602
- ### Best Practices
603
- 1. Use `/scope` to limit directory access
604
- 2. Review tool calls before execution (unless in god mode)
605
- 3. Set iteration limits on autonomous loops
606
- 4. Work from project directories, not system directories
607
- 5. Regular `/summarize` to manage context
608
- 6. Use bookmarks for important moments
76
+ ## Project memory
609
77
 
610
- ## Development
78
+ Drop a `CALLIOPE.md` in your repo and every session starts knowing your conventions. `/memory` manages it.
611
79
 
612
- ```bash
613
- # Clone and setup
614
- git clone https://github.com/calliopeai/calliope-cli.git
615
- cd calliope-cli
616
- npm install
617
-
618
- # Build
619
- npm run build
620
-
621
- # Run locally
622
- node dist/bin.js
623
-
624
- # Run tests
625
- npm test
626
-
627
- # Watch mode for development
628
- npm run dev
629
- ```
80
+ ## v3.0
630
81
 
631
- ## Architecture
82
+ v3 is a deliberate reduction: 84 commands, 40 config keys, and ~20k lines of speculative features (theme packs, companions, multi-agent orchestration, an embedded API server, and more) were removed to make the core fast, predictable, and maintainable. The full list and rationale live in [CHANGELOG.md](CHANGELOG.md) and the [v3.0 roadmap](https://github.com/calliopeai/calliope-cli/issues/195).
632
83
 
633
- - **TypeScript** - Full type safety throughout
634
- - **Ink (React)** - Declarative CLI rendering
635
- - **Vitest** - Fast unit testing framework
636
- - **Multi-provider** - Unified interface for 12+ LLM providers
637
- - **Modular design** - Clean separation of concerns
638
- - **Parallel execution** - Dependency-aware tool execution
639
- - **Error boundaries** - Graceful crash recovery
640
-
641
- ## Troubleshooting
642
-
643
- **"No API keys configured"**
644
- - Run `calliope --setup` to configure keys
645
- - Or set environment variables (see above)
646
-
647
- **"Empty response from API"**
648
- - Check API key validity
649
- - Verify account credits/quota
650
- - Try a different provider
651
-
652
- **Context limit warnings**
653
- - Use `/summarize compact` to compress
654
- - Or `/clear` to start fresh
655
- - Consider shorter messages
656
-
657
- **"Access denied" for file operations**
658
- - Operations restricted to cwd and home directory
659
- - Check `/scope list` for current restrictions
660
- - Use `/scope add <path>` to grant access
661
-
662
- **Docker not available for sandbox**
663
- - Install Docker for safer code execution
664
- - Without Docker, code runs locally (less safe)
84
+ Coming in v3.0 stable: single-binary installs (brew/curl, no Node required) and enforced performance budgets. Governance primitives — replayable audit run logs, budget caps, and a policy hook — have landed; see [docs/governance.md](docs/governance.md). Coming after: local-model edit-reliability hardening.
665
85
 
666
86
  ## Contributing
667
87
 
668
- We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
88
+ Issues and PRs welcome — [CONTRIBUTING.md](CONTRIBUTING.md). The codebase is TypeScript ESM with React/Ink; `npm test` must stay green and coverage must stay above 90%.
669
89
 
670
90
  ## License
671
91
 
672
- MIT License - see [LICENSE](LICENSE)
673
-
674
- ## Support
675
-
676
- - **Issues**: [GitHub Issues](https://github.com/calliopeai/calliope-cli/issues)
677
- - **Discussions**: [GitHub Discussions](https://github.com/calliopeai/calliope-cli/discussions)
678
- - **Twitter**: [@calliopelabs](https://twitter.com/calliopelabs)
679
-
680
- ## Acknowledgments
681
-
682
- Built with love by the Calliope team. Special thanks to:
683
- - Anthropic for Claude
684
- - OpenAI for GPT
685
- - Google for Gemini
686
- - The open-source community
687
- - All contributors and users
688
-
689
- ---
690
-
691
- *May your code be elegant, your execution swift, and your automation poetic.* 🎭✨
92
+ MIT © Calliope Labs Inc