@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.
- package/README.md +45 -644
- package/dist/acp.d.ts +78 -0
- package/dist/acp.d.ts.map +1 -0
- package/dist/acp.js +572 -0
- package/dist/acp.js.map +1 -0
- package/dist/auto-compressor.d.ts.map +1 -1
- package/dist/auto-compressor.js +9 -5
- package/dist/auto-compressor.js.map +1 -1
- package/dist/bin.d.ts +9 -5
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +108 -76
- package/dist/bin.js.map +1 -1
- package/dist/budget.d.ts +64 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +157 -0
- package/dist/budget.js.map +1 -0
- package/dist/checkpoint.d.ts +63 -30
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js +249 -150
- package/dist/checkpoint.js.map +1 -1
- package/dist/circuit-breaker/breaker.js.map +1 -1
- package/dist/config.d.ts +86 -81
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +237 -305
- package/dist/config.js.map +1 -1
- package/dist/cost.d.ts +114 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +499 -0
- package/dist/cost.js.map +1 -0
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +53 -11
- package/dist/diff.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +33 -6
- package/dist/errors.js.map +1 -1
- package/dist/files.js.map +1 -1
- package/dist/fleet.d.ts +30 -0
- package/dist/fleet.d.ts.map +1 -0
- package/dist/fleet.js +86 -0
- package/dist/fleet.js.map +1 -0
- package/dist/fuzzy-search.d.ts.map +1 -1
- package/dist/fuzzy-search.js +2 -1
- package/dist/fuzzy-search.js.map +1 -1
- package/dist/git-status.js.map +1 -1
- package/dist/headless.d.ts +1 -2
- package/dist/headless.d.ts.map +1 -1
- package/dist/headless.js +222 -26
- package/dist/headless.js.map +1 -1
- package/dist/hooks.d.ts +8 -2
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +97 -11
- package/dist/hooks.js.map +1 -1
- package/dist/hud/api.d.ts +3 -18
- package/dist/hud/api.d.ts.map +1 -1
- package/dist/hud/api.js +9 -352
- package/dist/hud/api.js.map +1 -1
- package/dist/hud/palettes.d.ts.map +1 -1
- package/dist/hud/palettes.js +0 -180
- package/dist/hud/palettes.js.map +1 -1
- package/dist/hud/skins.d.ts.map +1 -1
- package/dist/hud/skins.js +0 -263
- package/dist/hud/skins.js.map +1 -1
- package/dist/hud/types.d.ts +2 -5
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/iteration-ledger.d.ts.map +1 -1
- package/dist/iteration-ledger.js +3 -2
- package/dist/iteration-ledger.js.map +1 -1
- package/dist/local-model.d.ts +150 -0
- package/dist/local-model.d.ts.map +1 -0
- package/dist/local-model.js +408 -0
- package/dist/local-model.js.map +1 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +32 -10
- package/dist/markdown.js.map +1 -1
- package/dist/mcp.d.ts +35 -5
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +190 -13
- package/dist/mcp.js.map +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +6 -4
- package/dist/memory.js.map +1 -1
- package/dist/model-detection.d.ts +14 -1
- package/dist/model-detection.d.ts.map +1 -1
- package/dist/model-detection.js +308 -115
- package/dist/model-detection.js.map +1 -1
- package/dist/parallel-tools.d.ts +9 -1
- package/dist/parallel-tools.d.ts.map +1 -1
- package/dist/parallel-tools.js +6 -5
- package/dist/parallel-tools.js.map +1 -1
- package/dist/plugins.d.ts +68 -0
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +201 -3
- package/dist/plugins.js.map +1 -1
- package/dist/policy.d.ts +43 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +139 -0
- package/dist/policy.js.map +1 -0
- package/dist/project-config.d.ts +1 -2
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +0 -3
- package/dist/project-config.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +36 -2
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/bedrock.d.ts.map +1 -1
- package/dist/providers/bedrock.js +83 -22
- package/dist/providers/bedrock.js.map +1 -1
- package/dist/providers/compat.d.ts +21 -0
- package/dist/providers/compat.d.ts.map +1 -1
- package/dist/providers/compat.js +176 -6
- package/dist/providers/compat.js.map +1 -1
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +19 -4
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +62 -9
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/ollama.d.ts +2 -2
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +26 -6
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +14 -10
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/types.d.ts +8 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +19 -10
- package/dist/providers/types.js.map +1 -1
- package/dist/replay.d.ts +37 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/replay.js +168 -0
- package/dist/replay.js.map +1 -0
- package/dist/risk.d.ts.map +1 -1
- package/dist/risk.js +15 -5
- package/dist/risk.js.map +1 -1
- package/dist/router.d.ts +133 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/{model-router.js → router.js} +336 -10
- package/dist/router.js.map +1 -0
- package/dist/runlog.d.ts +185 -0
- package/dist/runlog.d.ts.map +1 -0
- package/dist/runlog.js +398 -0
- package/dist/runlog.js.map +1 -0
- package/dist/{sandbox.d.ts → sandbox/docker.d.ts} +1 -1
- package/dist/sandbox/docker.d.ts.map +1 -0
- package/dist/{sandbox.js → sandbox/docker.js} +1 -1
- package/dist/sandbox/docker.js.map +1 -0
- package/dist/sandbox/index.d.ts +36 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +62 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/{sandbox-native.d.ts → sandbox/native.d.ts} +2 -1
- package/dist/sandbox/native.d.ts.map +1 -0
- package/dist/{sandbox-native.js → sandbox/native.js} +38 -6
- package/dist/sandbox/native.js.map +1 -0
- package/dist/scope.d.ts +10 -0
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +76 -16
- package/dist/scope.js.map +1 -1
- package/dist/scuttlebot/client.d.ts +83 -0
- package/dist/scuttlebot/client.d.ts.map +1 -0
- package/dist/scuttlebot/client.js +350 -0
- package/dist/scuttlebot/client.js.map +1 -0
- package/dist/scuttlebot/config.d.ts +28 -0
- package/dist/scuttlebot/config.d.ts.map +1 -0
- package/dist/scuttlebot/config.js +91 -0
- package/dist/scuttlebot/config.js.map +1 -0
- package/dist/scuttlebot/http-client.d.ts +63 -0
- package/dist/scuttlebot/http-client.d.ts.map +1 -0
- package/dist/scuttlebot/http-client.js +124 -0
- package/dist/scuttlebot/http-client.js.map +1 -0
- package/dist/scuttlebot/index.d.ts +13 -0
- package/dist/scuttlebot/index.d.ts.map +1 -0
- package/dist/scuttlebot/index.js +10 -0
- package/dist/scuttlebot/index.js.map +1 -0
- package/dist/scuttlebot/irc-client.d.ts +124 -0
- package/dist/scuttlebot/irc-client.d.ts.map +1 -0
- package/dist/scuttlebot/irc-client.js +599 -0
- package/dist/scuttlebot/irc-client.js.map +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +22 -54
- package/dist/setup.js.map +1 -1
- package/dist/skills.d.ts +58 -0
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +186 -16
- package/dist/skills.js.map +1 -1
- package/dist/storage.d.ts +0 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +87 -8
- package/dist/storage.js.map +1 -1
- package/dist/streaming.d.ts +25 -0
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +59 -0
- package/dist/streaming.js.map +1 -1
- package/dist/styles.d.ts +6 -0
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +11 -0
- package/dist/styles.js.map +1 -1
- package/dist/summarization.js.map +1 -1
- package/dist/terminal-image.js +1 -1
- package/dist/terminal-image.js.map +1 -1
- package/dist/themes.d.ts +5 -4
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +35 -90
- package/dist/themes.js.map +1 -1
- package/dist/tools.d.ts +27 -3
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +352 -209
- package/dist/tools.js.map +1 -1
- package/dist/trust.d.ts +16 -3
- package/dist/trust.d.ts.map +1 -1
- package/dist/trust.js +23 -4
- package/dist/trust.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +34 -44
- package/dist/types.js.map +1 -1
- package/dist/ui/agent.d.ts +4 -7
- package/dist/ui/agent.d.ts.map +1 -1
- package/dist/ui/agent.js +354 -73
- package/dist/ui/agent.js.map +1 -1
- package/dist/ui/animations.d.ts +37 -0
- package/dist/ui/animations.d.ts.map +1 -0
- package/dist/ui/animations.js +227 -0
- package/dist/ui/animations.js.map +1 -0
- package/dist/ui/chat-input-keys.d.ts +42 -0
- package/dist/ui/chat-input-keys.d.ts.map +1 -0
- package/dist/ui/chat-input-keys.js +360 -0
- package/dist/ui/chat-input-keys.js.map +1 -0
- package/dist/ui/chat-input.d.ts +5 -2
- package/dist/ui/chat-input.d.ts.map +1 -1
- package/dist/ui/chat-input.js +54 -308
- package/dist/ui/chat-input.js.map +1 -1
- package/dist/ui/commands.d.ts +15 -45
- package/dist/ui/commands.d.ts.map +1 -1
- package/dist/ui/commands.js +461 -2636
- package/dist/ui/commands.js.map +1 -1
- package/dist/ui/completions.d.ts +1 -0
- package/dist/ui/completions.d.ts.map +1 -1
- package/dist/ui/completions.js +36 -107
- package/dist/ui/completions.js.map +1 -1
- package/dist/ui/components.d.ts +14 -6
- package/dist/ui/components.d.ts.map +1 -1
- package/dist/ui/components.js +17 -226
- package/dist/ui/components.js.map +1 -1
- package/dist/ui/context.js +6 -6
- package/dist/ui/context.js.map +1 -1
- package/dist/ui/debug-log.d.ts +11 -0
- package/dist/ui/debug-log.d.ts.map +1 -0
- package/dist/ui/debug-log.js +21 -0
- package/dist/ui/debug-log.js.map +1 -0
- package/dist/ui/error-boundary.d.ts.map +1 -1
- package/dist/ui/error-boundary.js.map +1 -1
- package/dist/ui/frame.d.ts.map +1 -1
- package/dist/ui/frame.js +1 -3
- package/dist/ui/frame.js.map +1 -1
- package/dist/ui/index.d.ts +11 -3
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +46 -887
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/input-utils.d.ts +20 -0
- package/dist/ui/input-utils.d.ts.map +1 -0
- package/dist/ui/input-utils.js +35 -0
- package/dist/ui/input-utils.js.map +1 -0
- package/dist/ui/messages.d.ts +8 -7
- package/dist/ui/messages.d.ts.map +1 -1
- package/dist/ui/messages.js +51 -35
- package/dist/ui/messages.js.map +1 -1
- package/dist/ui/modals/index.d.ts +11 -0
- package/dist/ui/modals/index.d.ts.map +1 -0
- package/dist/ui/modals/index.js +10 -0
- package/dist/ui/modals/index.js.map +1 -0
- package/dist/ui/{modals.d.ts → modals/prompts.d.ts} +5 -20
- package/dist/ui/modals/prompts.d.ts.map +1 -0
- package/dist/ui/{modals.js → modals/prompts.js} +14 -94
- package/dist/ui/modals/prompts.js.map +1 -0
- package/dist/ui/modals/selectors.d.ts +33 -0
- package/dist/ui/modals/selectors.d.ts.map +1 -0
- package/dist/ui/modals/selectors.js +111 -0
- package/dist/ui/modals/selectors.js.map +1 -0
- package/dist/ui/modals/setup.d.ts +17 -0
- package/dist/ui/modals/setup.d.ts.map +1 -0
- package/dist/ui/modals/setup.js +51 -0
- package/dist/ui/modals/setup.js.map +1 -0
- package/dist/ui/regions/input-region.d.ts +40 -0
- package/dist/ui/regions/input-region.d.ts.map +1 -0
- package/dist/ui/regions/input-region.js +116 -0
- package/dist/ui/regions/input-region.js.map +1 -0
- package/dist/ui/regions/modal-host.d.ts +41 -0
- package/dist/ui/regions/modal-host.d.ts.map +1 -0
- package/dist/ui/regions/modal-host.js +51 -0
- package/dist/ui/regions/modal-host.js.map +1 -0
- package/dist/ui/regions/render-probe.d.ts +22 -0
- package/dist/ui/regions/render-probe.d.ts.map +1 -0
- package/dist/ui/regions/render-probe.js +45 -0
- package/dist/ui/regions/render-probe.js.map +1 -0
- package/dist/ui/regions/static-scrollback.d.ts +39 -0
- package/dist/ui/regions/static-scrollback.d.ts.map +1 -0
- package/dist/ui/regions/static-scrollback.js +68 -0
- package/dist/ui/regions/static-scrollback.js.map +1 -0
- package/dist/ui/regions/status-region.d.ts +24 -0
- package/dist/ui/regions/status-region.d.ts.map +1 -0
- package/dist/ui/regions/status-region.js +17 -0
- package/dist/ui/regions/status-region.js.map +1 -0
- package/dist/ui/regions/transcript-region.d.ts +41 -0
- package/dist/ui/regions/transcript-region.d.ts.map +1 -0
- package/dist/ui/regions/transcript-region.js +52 -0
- package/dist/ui/regions/transcript-region.js.map +1 -0
- package/dist/ui/self-restart.d.ts +9 -0
- package/dist/ui/self-restart.d.ts.map +1 -0
- package/dist/ui/self-restart.js +24 -0
- package/dist/ui/self-restart.js.map +1 -0
- package/dist/ui/state/use-chat-controller.d.ts +23 -0
- package/dist/ui/state/use-chat-controller.d.ts.map +1 -0
- package/dist/ui/state/use-chat-controller.js +643 -0
- package/dist/ui/state/use-chat-controller.js.map +1 -0
- package/dist/ui/state/use-loop-state.d.ts +23 -0
- package/dist/ui/state/use-loop-state.d.ts.map +1 -0
- package/dist/ui/state/use-loop-state.js +39 -0
- package/dist/ui/state/use-loop-state.js.map +1 -0
- package/dist/ui/state/use-modal-state.d.ts +52 -0
- package/dist/ui/state/use-modal-state.d.ts.map +1 -0
- package/dist/ui/state/use-modal-state.js +44 -0
- package/dist/ui/state/use-modal-state.js.map +1 -0
- package/dist/ui/state/use-model-state.d.ts +29 -0
- package/dist/ui/state/use-model-state.d.ts.map +1 -0
- package/dist/ui/state/use-model-state.js +47 -0
- package/dist/ui/state/use-model-state.js.map +1 -0
- package/dist/ui/state/use-processing-state.d.ts +24 -0
- package/dist/ui/state/use-processing-state.d.ts.map +1 -0
- package/dist/ui/state/use-processing-state.js +46 -0
- package/dist/ui/state/use-processing-state.js.map +1 -0
- package/dist/ui/state/use-queue-state.d.ts +19 -0
- package/dist/ui/state/use-queue-state.d.ts.map +1 -0
- package/dist/ui/state/use-queue-state.js +30 -0
- package/dist/ui/state/use-queue-state.js.map +1 -0
- package/dist/ui/state/use-session-init.d.ts +22 -0
- package/dist/ui/state/use-session-init.d.ts.map +1 -0
- package/dist/ui/state/use-session-init.js +77 -0
- package/dist/ui/state/use-session-init.js.map +1 -0
- package/dist/ui/state/use-session-stats.d.ts +16 -0
- package/dist/ui/state/use-session-stats.d.ts.map +1 -0
- package/dist/ui/state/use-session-stats.js +18 -0
- package/dist/ui/state/use-session-stats.js.map +1 -0
- package/dist/ui/state/use-terminal-width.d.ts +8 -0
- package/dist/ui/state/use-terminal-width.d.ts.map +1 -0
- package/dist/ui/state/use-terminal-width.js +22 -0
- package/dist/ui/state/use-terminal-width.js.map +1 -0
- package/dist/ui/state/use-transcript-state.d.ts +21 -0
- package/dist/ui/state/use-transcript-state.d.ts.map +1 -0
- package/dist/ui/state/use-transcript-state.js +49 -0
- package/dist/ui/state/use-transcript-state.js.map +1 -0
- package/dist/ui/status-bar.d.ts +4 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +13 -3
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/ui/types.d.ts +3 -0
- package/dist/ui/types.d.ts.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +10 -0
- package/dist/version-check.js.map +1 -1
- package/package.json +12 -8
- package/dist/agents/agent-config-loader.d.ts +0 -60
- package/dist/agents/agent-config-loader.d.ts.map +0 -1
- package/dist/agents/agent-config-loader.js +0 -402
- package/dist/agents/agent-config-loader.js.map +0 -1
- package/dist/agents/agent-config-presets.d.ts +0 -10
- package/dist/agents/agent-config-presets.d.ts.map +0 -1
- package/dist/agents/agent-config-presets.js +0 -940
- package/dist/agents/agent-config-presets.js.map +0 -1
- package/dist/agents/agent-config-types.d.ts +0 -145
- package/dist/agents/agent-config-types.d.ts.map +0 -1
- package/dist/agents/agent-config-types.js +0 -12
- package/dist/agents/agent-config-types.js.map +0 -1
- package/dist/agents/agent-detection.d.ts +0 -35
- package/dist/agents/agent-detection.d.ts.map +0 -1
- package/dist/agents/agent-detection.js +0 -110
- package/dist/agents/agent-detection.js.map +0 -1
- package/dist/agents/aggregator.d.ts +0 -19
- package/dist/agents/aggregator.d.ts.map +0 -1
- package/dist/agents/aggregator.js +0 -141
- package/dist/agents/aggregator.js.map +0 -1
- package/dist/agents/cli-backend.d.ts +0 -32
- package/dist/agents/cli-backend.d.ts.map +0 -1
- package/dist/agents/cli-backend.js +0 -271
- package/dist/agents/cli-backend.js.map +0 -1
- package/dist/agents/council-types.d.ts +0 -115
- package/dist/agents/council-types.d.ts.map +0 -1
- package/dist/agents/council-types.js +0 -81
- package/dist/agents/council-types.js.map +0 -1
- package/dist/agents/council.d.ts +0 -112
- package/dist/agents/council.d.ts.map +0 -1
- package/dist/agents/council.js +0 -722
- package/dist/agents/council.js.map +0 -1
- package/dist/agents/decomposer.d.ts +0 -33
- package/dist/agents/decomposer.d.ts.map +0 -1
- package/dist/agents/decomposer.js +0 -138
- package/dist/agents/decomposer.js.map +0 -1
- package/dist/agents/dynamic-tools.d.ts +0 -52
- package/dist/agents/dynamic-tools.d.ts.map +0 -1
- package/dist/agents/dynamic-tools.js +0 -395
- package/dist/agents/dynamic-tools.js.map +0 -1
- package/dist/agents/index.d.ts +0 -29
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -29
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/installer.d.ts +0 -39
- package/dist/agents/installer.d.ts.map +0 -1
- package/dist/agents/installer.js +0 -205
- package/dist/agents/installer.js.map +0 -1
- package/dist/agents/orchestrator.d.ts +0 -106
- package/dist/agents/orchestrator.d.ts.map +0 -1
- package/dist/agents/orchestrator.js +0 -363
- package/dist/agents/orchestrator.js.map +0 -1
- package/dist/agents/sdk-backend.d.ts +0 -63
- package/dist/agents/sdk-backend.d.ts.map +0 -1
- package/dist/agents/sdk-backend.js +0 -489
- package/dist/agents/sdk-backend.js.map +0 -1
- package/dist/agents/swarm-types.d.ts +0 -84
- package/dist/agents/swarm-types.d.ts.map +0 -1
- package/dist/agents/swarm-types.js +0 -20
- package/dist/agents/swarm-types.js.map +0 -1
- package/dist/agents/swarm.d.ts +0 -79
- package/dist/agents/swarm.d.ts.map +0 -1
- package/dist/agents/swarm.js +0 -375
- package/dist/agents/swarm.js.map +0 -1
- package/dist/agents/tools.d.ts +0 -26
- package/dist/agents/tools.d.ts.map +0 -1
- package/dist/agents/tools.js +0 -776
- package/dist/agents/tools.js.map +0 -1
- package/dist/agents/types.d.ts +0 -108
- package/dist/agents/types.d.ts.map +0 -1
- package/dist/agents/types.js +0 -43
- package/dist/agents/types.js.map +0 -1
- package/dist/api-server.d.ts +0 -36
- package/dist/api-server.d.ts.map +0 -1
- package/dist/api-server.js +0 -255
- package/dist/api-server.js.map +0 -1
- package/dist/auto-checkpoint.d.ts +0 -35
- package/dist/auto-checkpoint.d.ts.map +0 -1
- package/dist/auto-checkpoint.js +0 -143
- package/dist/auto-checkpoint.js.map +0 -1
- package/dist/background-jobs.d.ts +0 -45
- package/dist/background-jobs.d.ts.map +0 -1
- package/dist/background-jobs.js +0 -127
- package/dist/background-jobs.js.map +0 -1
- package/dist/branching.d.ts +0 -56
- package/dist/branching.d.ts.map +0 -1
- package/dist/branching.js +0 -211
- package/dist/branching.js.map +0 -1
- package/dist/cli/agent.d.ts +0 -9
- package/dist/cli/agent.d.ts.map +0 -1
- package/dist/cli/agent.js +0 -314
- package/dist/cli/agent.js.map +0 -1
- package/dist/cli/commands.d.ts +0 -12
- package/dist/cli/commands.d.ts.map +0 -1
- package/dist/cli/commands.js +0 -943
- package/dist/cli/commands.js.map +0 -1
- package/dist/cli/index.d.ts +0 -8
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -237
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/types.d.ts +0 -33
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/cli/types.js +0 -21
- package/dist/cli/types.js.map +0 -1
- package/dist/companions.d.ts +0 -54
- package/dist/companions.d.ts.map +0 -1
- package/dist/companions.js +0 -440
- package/dist/companions.js.map +0 -1
- package/dist/completion.d.ts +0 -75
- package/dist/completion.d.ts.map +0 -1
- package/dist/completion.js +0 -234
- package/dist/completion.js.map +0 -1
- package/dist/file-watcher.d.ts +0 -91
- package/dist/file-watcher.d.ts.map +0 -1
- package/dist/file-watcher.js +0 -269
- package/dist/file-watcher.js.map +0 -1
- package/dist/hud/theme-packs/api.d.ts +0 -51
- package/dist/hud/theme-packs/api.d.ts.map +0 -1
- package/dist/hud/theme-packs/api.js +0 -145
- package/dist/hud/theme-packs/api.js.map +0 -1
- package/dist/hud/theme-packs/index.d.ts +0 -18
- package/dist/hud/theme-packs/index.d.ts.map +0 -1
- package/dist/hud/theme-packs/index.js +0 -38
- package/dist/hud/theme-packs/index.js.map +0 -1
- package/dist/hud/theme-packs/types.d.ts +0 -29
- package/dist/hud/theme-packs/types.d.ts.map +0 -1
- package/dist/hud/theme-packs/types.js +0 -9
- package/dist/hud/theme-packs/types.js.map +0 -1
- package/dist/idle-eviction.d.ts +0 -34
- package/dist/idle-eviction.d.ts.map +0 -1
- package/dist/idle-eviction.js +0 -78
- package/dist/idle-eviction.js.map +0 -1
- package/dist/keyboard.d.ts +0 -57
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -265
- package/dist/keyboard.js.map +0 -1
- package/dist/model-router.d.ts +0 -67
- package/dist/model-router.d.ts.map +0 -1
- package/dist/model-router.js.map +0 -1
- package/dist/providers/openai-compat-shims.d.ts +0 -31
- package/dist/providers/openai-compat-shims.d.ts.map +0 -1
- package/dist/providers/openai-compat-shims.js +0 -179
- package/dist/providers/openai-compat-shims.js.map +0 -1
- package/dist/sandbox-native.d.ts.map +0 -1
- package/dist/sandbox-native.js.map +0 -1
- package/dist/sandbox.d.ts.map +0 -1
- package/dist/sandbox.js.map +0 -1
- package/dist/session-timeout.d.ts +0 -31
- package/dist/session-timeout.d.ts.map +0 -1
- package/dist/session-timeout.js +0 -100
- package/dist/session-timeout.js.map +0 -1
- package/dist/smart-router.d.ts +0 -73
- package/dist/smart-router.d.ts.map +0 -1
- package/dist/smart-router.js +0 -332
- package/dist/smart-router.js.map +0 -1
- package/dist/terminal-recording.d.ts +0 -55
- package/dist/terminal-recording.d.ts.map +0 -1
- package/dist/terminal-recording.js +0 -182
- package/dist/terminal-recording.js.map +0 -1
- package/dist/tmux.d.ts +0 -35
- package/dist/tmux.d.ts.map +0 -1
- package/dist/tmux.js +0 -106
- package/dist/tmux.js.map +0 -1
- package/dist/ui/modals.d.ts.map +0 -1
- package/dist/ui/modals.js.map +0 -1
- package/dist/ui/pack-picker.d.ts +0 -12
- package/dist/ui/pack-picker.d.ts.map +0 -1
- package/dist/ui/pack-picker.js +0 -101
- package/dist/ui/pack-picker.js.map +0 -1
- package/dist/ui/theme-picker.d.ts +0 -24
- package/dist/ui/theme-picker.d.ts.map +0 -1
- package/dist/ui/theme-picker.js +0 -190
- package/dist/ui/theme-picker.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,691 +1,92 @@
|
|
|
1
1
|
# Calliope CLI
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
14
|
+
## Why Calliope
|
|
334
15
|
|
|
335
|
-
|
|
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
|
-
|
|
348
|
-
|
|
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
|
-
|
|
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
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
530
|
-
calliope --setup
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
### Sample config.json
|
|
534
|
-
```json
|
|
52
|
+
```jsonc
|
|
535
53
|
{
|
|
536
|
-
"
|
|
537
|
-
"
|
|
538
|
-
|
|
539
|
-
"
|
|
540
|
-
"openai": "sk-...",
|
|
541
|
-
"google": "..."
|
|
54
|
+
"defaultProvider": "anthropic",
|
|
55
|
+
"providers": {
|
|
56
|
+
"anthropic": { "apiKey": "sk-ant-..." },
|
|
57
|
+
"ollama": { "baseUrl": "http://localhost:11434" }
|
|
542
58
|
},
|
|
543
|
-
"
|
|
544
|
-
"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
+
## Editors
|
|
586
69
|
|
|
587
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
78
|
+
Drop a `CALLIOPE.md` in your repo and every session starts knowing your conventions. `/memory` manages it.
|
|
611
79
|
|
|
612
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|