iosm-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/LICENSE +21 -0
- package/README.md +650 -0
- package/dist/cli/args.d.ts +54 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +331 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +79 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +92 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/session-picker.d.ts +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +34 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +88 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +262 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-profiles.d.ts +29 -0
- package/dist/core/agent-profiles.d.ts.map +1 -0
- package/dist/core/agent-profiles.js +86 -0
- package/dist/core/agent-profiles.js.map +1 -0
- package/dist/core/agent-session.d.ts +688 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +3112 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/agent-teams.d.ts +41 -0
- package/dist/core/agent-teams.d.ts.map +1 -0
- package/dist/core/agent-teams.js +90 -0
- package/dist/core/agent-teams.js.map +1 -0
- package/dist/core/ask-user-tool.d.ts +22 -0
- package/dist/core/ask-user-tool.d.ts.map +1 -0
- package/dist/core/ask-user-tool.js +115 -0
- package/dist/core/ask-user-tool.js.map +1 -0
- package/dist/core/auth-storage.d.ts +133 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +391 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +49 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +213 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +86 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +242 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +610 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +35 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +138 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +71 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +34 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +222 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +971 -0
- package/dist/core/export-html/template.html +54 -0
- package/dist/core/export-html/template.js +1590 -0
- package/dist/core/export-html/tool-renderer.d.ts +35 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +63 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +6 -0
- package/dist/core/extensions/index.d.ts +11 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +25 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +447 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +146 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +652 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1074 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +35 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +27 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +102 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +32 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +134 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/hooks.d.ts +53 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +332 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +55 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +157 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/mcp/cli.d.ts +27 -0
- package/dist/core/mcp/cli.d.ts.map +1 -0
- package/dist/core/mcp/cli.js +275 -0
- package/dist/core/mcp/cli.js.map +1 -0
- package/dist/core/mcp/config.d.ts +11 -0
- package/dist/core/mcp/config.d.ts.map +1 -0
- package/dist/core/mcp/config.js +310 -0
- package/dist/core/mcp/config.js.map +1 -0
- package/dist/core/mcp/index.d.ts +5 -0
- package/dist/core/mcp/index.d.ts.map +1 -0
- package/dist/core/mcp/index.js +4 -0
- package/dist/core/mcp/index.js.map +1 -0
- package/dist/core/mcp/runtime.d.ts +42 -0
- package/dist/core/mcp/runtime.d.ts.map +1 -0
- package/dist/core/mcp/runtime.js +387 -0
- package/dist/core/mcp/runtime.js.map +1 -0
- package/dist/core/mcp/types.d.ts +76 -0
- package/dist/core/mcp/types.d.ts.map +1 -0
- package/dist/core/mcp/types.js +2 -0
- package/dist/core/mcp/types.js.map +1 -0
- package/dist/core/memory.d.ts +27 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +203 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/messages.d.ts +84 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +141 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +115 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +549 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +104 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +448 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/package-manager.d.ts +156 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1465 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/parallel-task-agent.d.ts +19 -0
- package/dist/core/parallel-task-agent.d.ts.map +1 -0
- package/dist/core/parallel-task-agent.js +482 -0
- package/dist/core/parallel-task-agent.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +50 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +251 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/qwen-cli-provider.d.ts +10 -0
- package/dist/core/qwen-cli-provider.d.ts.map +1 -0
- package/dist/core/qwen-cli-provider.js +271 -0
- package/dist/core/qwen-cli-provider.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +17 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +60 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +195 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +820 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +106 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +460 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-manager.d.ts +323 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1094 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +243 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +691 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +58 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +364 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +15 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +64 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/subagent-runs.d.ts +16 -0
- package/dist/core/subagent-runs.d.ts.map +1 -0
- package/dist/core/subagent-runs.js +70 -0
- package/dist/core/subagent-runs.js.map +1 -0
- package/dist/core/subagents.d.ts +45 -0
- package/dist/core/subagents.d.ts.map +1 -0
- package/dist/core/subagents.js +467 -0
- package/dist/core/subagents.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +196 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/task-plan.d.ts +32 -0
- package/dist/core/task-plan.d.ts.map +1 -0
- package/dist/core/task-plan.js +155 -0
- package/dist/core/task-plan.js.map +1 -0
- package/dist/core/timings.d.ts +7 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +26 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +58 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +275 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +63 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +243 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +42 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +158 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/find.d.ts +39 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +219 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +45 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +254 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/ignore-filter.d.ts +5 -0
- package/dist/core/tools/ignore-filter.d.ts.map +1 -0
- package/dist/core/tools/ignore-filter.js +97 -0
- package/dist/core/tools/ignore-filter.js.map +1 -0
- package/dist/core/tools/index.d.ts +97 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +78 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +46 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +136 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +8 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +81 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/permissions.d.ts +8 -0
- package/dist/core/tools/permissions.d.ts.map +1 -0
- package/dist/core/tools/permissions.js +2 -0
- package/dist/core/tools/permissions.js.map +1 -0
- package/dist/core/tools/read.d.ts +39 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +166 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/task.d.ts +109 -0
- package/dist/core/tools/task.d.ts.map +1 -0
- package/dist/core/tools/task.js +1065 -0
- package/dist/core/tools/task.js.map +1 -0
- package/dist/core/tools/todo.d.ts +42 -0
- package/dist/core/tools/todo.d.ts.map +1 -0
- package/dist/core/tools/todo.js +159 -0
- package/dist/core/tools/todo.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +205 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +32 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +90 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/iosm/agent-verification.d.ts +16 -0
- package/dist/iosm/agent-verification.d.ts.map +1 -0
- package/dist/iosm/agent-verification.js +138 -0
- package/dist/iosm/agent-verification.js.map +1 -0
- package/dist/iosm/automation.d.ts +40 -0
- package/dist/iosm/automation.d.ts.map +1 -0
- package/dist/iosm/automation.js +76 -0
- package/dist/iosm/automation.js.map +1 -0
- package/dist/iosm/config.d.ts +151 -0
- package/dist/iosm/config.d.ts.map +1 -0
- package/dist/iosm/config.js +323 -0
- package/dist/iosm/config.js.map +1 -0
- package/dist/iosm/context-loader.d.ts +12 -0
- package/dist/iosm/context-loader.d.ts.map +1 -0
- package/dist/iosm/context-loader.js +50 -0
- package/dist/iosm/context-loader.js.map +1 -0
- package/dist/iosm/cycle.d.ts +51 -0
- package/dist/iosm/cycle.d.ts.map +1 -0
- package/dist/iosm/cycle.js +861 -0
- package/dist/iosm/cycle.js.map +1 -0
- package/dist/iosm/guide.d.ts +31 -0
- package/dist/iosm/guide.d.ts.map +1 -0
- package/dist/iosm/guide.js +101 -0
- package/dist/iosm/guide.js.map +1 -0
- package/dist/iosm/index.d.ts +12 -0
- package/dist/iosm/index.d.ts.map +1 -0
- package/dist/iosm/index.js +11 -0
- package/dist/iosm/index.js.map +1 -0
- package/dist/iosm/init.d.ts +58 -0
- package/dist/iosm/init.d.ts.map +1 -0
- package/dist/iosm/init.js +1221 -0
- package/dist/iosm/init.js.map +1 -0
- package/dist/iosm/metrics.d.ts +23 -0
- package/dist/iosm/metrics.d.ts.map +1 -0
- package/dist/iosm/metrics.js +336 -0
- package/dist/iosm/metrics.js.map +1 -0
- package/dist/iosm/paths.d.ts +24 -0
- package/dist/iosm/paths.d.ts.map +1 -0
- package/dist/iosm/paths.js +77 -0
- package/dist/iosm/paths.js.map +1 -0
- package/dist/iosm/runtime-context.d.ts +20 -0
- package/dist/iosm/runtime-context.d.ts.map +1 -0
- package/dist/iosm/runtime-context.js +170 -0
- package/dist/iosm/runtime-context.js.map +1 -0
- package/dist/iosm/types.d.ts +151 -0
- package/dist/iosm/types.d.ts.map +1 -0
- package/dist/iosm/types.js +3 -0
- package/dist/iosm/types.js.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +1478 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +261 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +329 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/ascii-logo.d.ts +11 -0
- package/dist/modes/interactive/components/ascii-logo.d.ts.map +1 -0
- package/dist/modes/interactive/components/ascii-logo.js +25 -0
- package/dist/modes/interactive/components/ascii-logo.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +92 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +36 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +170 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +48 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +42 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +43 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +470 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +28 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +63 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +74 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +138 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/decrypt-loader.d.ts +25 -0
- package/dist/modes/interactive/components/decrypt-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/decrypt-loader.js +102 -0
- package/dist/modes/interactive/components/decrypt-loader.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +20 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +105 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +55 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +71 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +39 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +285 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +33 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +34 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +50 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +85 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +139 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/mcp-selector.d.ts +31 -0
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/mcp-selector.js +171 -0
- package/dist/modes/interactive/components/mcp-selector.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +51 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +292 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +134 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +271 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +839 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +60 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +311 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +34 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +45 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/subagent-message.d.ts +91 -0
- package/dist/modes/interactive/components/subagent-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/subagent-message.js +306 -0
- package/dist/modes/interactive/components/subagent-message.js.map +1 -0
- package/dist/modes/interactive/components/task-plan-message.d.ts +12 -0
- package/dist/modes/interactive/components/task-plan-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-plan-message.js +61 -0
- package/dist/modes/interactive/components/task-plan-message.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +44 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +46 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +78 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +880 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +70 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +921 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +110 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +9 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +27 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +453 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +8669 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +85 -0
- package/dist/modes/interactive/theme/light.json +84 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +78 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +944 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +101 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +217 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +404 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +580 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +409 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/utils/changelog.d.ts +21 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +87 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +162 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +7 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +14 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +67 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +163 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/image-convert.d.ts +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +35 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-resize.d.ts +36 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +181 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/mime.d.ts +2 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +26 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/shell.d.ts +26 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +186 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +251 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/docs/README.md +32 -0
- package/docs/cli-reference.md +342 -0
- package/docs/configuration.md +301 -0
- package/docs/development-and-testing.md +295 -0
- package/docs/extensions-packages-themes.md +415 -0
- package/docs/getting-started.md +246 -0
- package/docs/interactive-mode.md +272 -0
- package/docs/iosm-init-and-cycles.md +355 -0
- package/docs/orchestration-and-subagents.md +273 -0
- package/docs/rpc-json-sdk.md +353 -0
- package/docs/sessions-traces-export.md +260 -0
- package/examples/README.md +120 -0
- package/examples/extensions/README.md +306 -0
- package/examples/extensions/antigravity-image-gen.ts +415 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/built-in-tool-renderer.ts +246 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +114 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/custom-provider-qwen-cli/index.ts +345 -0
- package/examples/extensions/custom-provider-qwen-cli/package.json +16 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/handoff.ts +150 -0
- package/examples/extensions/hello.ts +25 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +881 -0
- package/examples/extensions/overlay-test.ts +150 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +65 -0
- package/examples/extensions/plan-mode/index.ts +340 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +398 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/qna.ts +119 -0
- package/examples/extensions/question.ts +264 -0
- package/examples/extensions/questionnaire.ts +427 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +124 -0
- package/examples/extensions/sandbox/index.ts +318 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +40 -0
- package/examples/extensions/subagent/README.md +172 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +964 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +195 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +299 -0
- package/examples/extensions/tool-override.ts +143 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +40 -0
- package/examples/extensions/truncated-tool.ts +192 -0
- package/examples/extensions/widget-placement.ts +17 -0
- package/examples/extensions/with-deps/index.ts +36 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +22 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +55 -0
- package/examples/sdk/04-skills.ts +46 -0
- package/examples/sdk/05-tools.ts +56 -0
- package/examples/sdk/06-extensions.ts +88 -0
- package/examples/sdk/07-context-files.ts +40 -0
- package/examples/sdk/08-prompt-templates.ts +47 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +48 -0
- package/examples/sdk/10-settings.ts +51 -0
- package/examples/sdk/11-sessions.ts +48 -0
- package/examples/sdk/12-full-control.ts +82 -0
- package/examples/sdk/README.md +337 -0
- package/examples/tsconfig.json +3 -0
- package/package.json +107 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Configuration & Environment
|
|
2
|
+
|
|
3
|
+
Complete reference for `iosm-cli` settings, environment variables, profiles, and permission controls.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Configuration Directories
|
|
8
|
+
|
|
9
|
+
### Global (User-Level)
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
~/.iosm/agent/
|
|
13
|
+
├── settings.json # Global settings
|
|
14
|
+
├── mcp.json # User MCP servers
|
|
15
|
+
├── models.json # Model configuration and preferences
|
|
16
|
+
├── auth.json # Provider credentials (OAuth + API keys via /login)
|
|
17
|
+
├── keybindings.json # Custom keyboard shortcuts
|
|
18
|
+
├── extensions/ # Global extensions (auto-discovered)
|
|
19
|
+
├── skills/ # Global skills
|
|
20
|
+
├── prompts/ # Global prompt templates
|
|
21
|
+
├── themes/ # Global TUI themes
|
|
22
|
+
├── sessions/ # Persisted sessions
|
|
23
|
+
└── session-traces/ # JSONL trace files
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Project-Level
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
.iosm/
|
|
30
|
+
├── settings.json # Project-specific settings
|
|
31
|
+
├── extensions/ # Project extensions
|
|
32
|
+
├── skills/ # Project skills
|
|
33
|
+
├── prompts/ # Project prompt templates
|
|
34
|
+
├── themes/ # Project themes
|
|
35
|
+
├── agents/ # Custom agent definitions
|
|
36
|
+
├── subagents/ # Subagent run transcripts
|
|
37
|
+
│ ├── runs/
|
|
38
|
+
│ └── teams/
|
|
39
|
+
└── cycles/ # IOSM cycle artifacts
|
|
40
|
+
|
|
41
|
+
.mcp.json # Project MCP servers (repository root)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Settings Hierarchy
|
|
47
|
+
|
|
48
|
+
Settings are merged in this order (later wins):
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Global settings (~/.iosm/agent/settings.json) ← lowest priority
|
|
52
|
+
2. Project settings (.iosm/settings.json)
|
|
53
|
+
3. CLI flags ← highest priority
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Settings File Example
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"model": {
|
|
61
|
+
"provider": "anthropic",
|
|
62
|
+
"id": "claude-sonnet-4-20250514",
|
|
63
|
+
"thinking": "medium"
|
|
64
|
+
},
|
|
65
|
+
"tools": {
|
|
66
|
+
"enabled": ["read", "bash", "edit", "write", "grep", "find", "ls"],
|
|
67
|
+
"bashTimeout": 30000,
|
|
68
|
+
"maxOutputLines": 2000
|
|
69
|
+
},
|
|
70
|
+
"session": {
|
|
71
|
+
"autoCompact": true,
|
|
72
|
+
"compactThreshold": 100000,
|
|
73
|
+
"maxRetries": 3
|
|
74
|
+
},
|
|
75
|
+
"terminal": {
|
|
76
|
+
"shell": "/bin/zsh",
|
|
77
|
+
"cols": 120
|
|
78
|
+
},
|
|
79
|
+
"permissions": {
|
|
80
|
+
"autoApprove": false
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## MCP Configuration
|
|
86
|
+
|
|
87
|
+
Manage MCP servers from CLI and interactive mode:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# CLI
|
|
91
|
+
iosm mcp list
|
|
92
|
+
iosm mcp add filesystem --transport stdio --command npx --arg -y --arg @modelcontextprotocol/server-filesystem --arg .
|
|
93
|
+
iosm mcp tools
|
|
94
|
+
|
|
95
|
+
# Interactive
|
|
96
|
+
/mcp
|
|
97
|
+
/mcp add # guided wizard
|
|
98
|
+
/mcp add filesystem --transport stdio --command npx --arg -y --arg @modelcontextprotocol/server-filesystem --arg .
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
MCP configs are loaded with project override precedence:
|
|
102
|
+
|
|
103
|
+
1. `~/.iosm/agent/mcp.json`
|
|
104
|
+
2. `.mcp.json` (project root)
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Environment Variables
|
|
109
|
+
|
|
110
|
+
### Provider API Keys
|
|
111
|
+
|
|
112
|
+
| Variable | Provider | Notes |
|
|
113
|
+
|----------|----------|-------|
|
|
114
|
+
| `ANTHROPIC_API_KEY` | Anthropic (Claude) | Primary recommended provider |
|
|
115
|
+
| `OPENAI_API_KEY` | OpenAI (GPT) | |
|
|
116
|
+
| `AZURE_OPENAI_API_KEY` | Azure OpenAI | Requires endpoint config |
|
|
117
|
+
| `GEMINI_API_KEY` | Google Gemini | |
|
|
118
|
+
| `GROQ_API_KEY` | Groq | |
|
|
119
|
+
| `CEREBRAS_API_KEY` | Cerebras | |
|
|
120
|
+
| `XAI_API_KEY` | xAI (Grok) | |
|
|
121
|
+
| `OPENROUTER_API_KEY` | OpenRouter | Multi-provider gateway |
|
|
122
|
+
| `MISTRAL_API_KEY` | Mistral | |
|
|
123
|
+
| `MINIMAX_API_KEY` | MiniMax | |
|
|
124
|
+
| `KIMI_API_KEY` | Kimi | |
|
|
125
|
+
| `OPENCODE_API_KEY` | OpenCode | |
|
|
126
|
+
| `AI_GATEWAY_API_KEY` | AI Gateway | |
|
|
127
|
+
| `AWS_PROFILE` | AWS Bedrock | Also: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION` |
|
|
128
|
+
|
|
129
|
+
### Runtime Configuration
|
|
130
|
+
|
|
131
|
+
| Variable | Default | Description |
|
|
132
|
+
|----------|---------|-------------|
|
|
133
|
+
| `IOSM_CODING_AGENT_DIR` | `~/.iosm/agent` | Override global config directory |
|
|
134
|
+
| `IOSM_PACKAGE_DIR` | Auto | Override package base directory |
|
|
135
|
+
| `IOSM_OFFLINE` | `false` | Disable startup network operations (`1`/`true`/`yes`) |
|
|
136
|
+
| `IOSM_SESSION_TRACE` | `false` | Enable JSONL session trace logging |
|
|
137
|
+
| `IOSM_SESSION_TRACE_DIR` | Auto | Override trace directory location |
|
|
138
|
+
| `IOSM_SHARE_VIEWER_URL` | Default | Custom base URL for `/share` links |
|
|
139
|
+
| `IOSM_AI_ANTIGRAVITY_VERSION` | Auto | Override Antigravity user-agent version |
|
|
140
|
+
| `IOSM_SKIP_VERSION_CHECK` | `false` | Disable update/version checks |
|
|
141
|
+
|
|
142
|
+
### Example: Shell Configuration
|
|
143
|
+
|
|
144
|
+
Add to `~/.zshrc` or `~/.bashrc`:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Provider key
|
|
148
|
+
export ANTHROPIC_API_KEY="sk-ant-api03-..."
|
|
149
|
+
|
|
150
|
+
# Optional: enable tracing
|
|
151
|
+
export IOSM_SESSION_TRACE=1
|
|
152
|
+
export IOSM_SESSION_TRACE_DIR="$HOME/.iosm/traces"
|
|
153
|
+
|
|
154
|
+
# Optional: offline mode for air-gapped environments
|
|
155
|
+
# export IOSM_OFFLINE=1
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Profiles
|
|
161
|
+
|
|
162
|
+
Profiles control the agent's behavior, available tools, and system prompt.
|
|
163
|
+
|
|
164
|
+
### Primary Profiles
|
|
165
|
+
|
|
166
|
+
| Profile | Tools | Behavior |
|
|
167
|
+
|---------|-------|----------|
|
|
168
|
+
| `full` | All (read, bash, edit, write, grep, find, ls) | Default full development capabilities |
|
|
169
|
+
| `plan` | Read-only (read, grep, find, ls) | Architecture planning and code review |
|
|
170
|
+
| `iosm` | All + IOSM context | IOSM cycle execution with artifact synchronization |
|
|
171
|
+
|
|
172
|
+
### Advanced Profiles
|
|
173
|
+
|
|
174
|
+
| Profile | Use Case |
|
|
175
|
+
|---------|----------|
|
|
176
|
+
| `explore` | Exploratory codebase analysis |
|
|
177
|
+
| `iosm_analyst` | Deep IOSM metric analysis |
|
|
178
|
+
| `iosm_verifier` | IOSM quality gate verification |
|
|
179
|
+
| `cycle_planner` | IOSM cycle planning specialist |
|
|
180
|
+
|
|
181
|
+
### Usage
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# CLI flag
|
|
185
|
+
iosm --profile plan
|
|
186
|
+
iosm --profile iosm
|
|
187
|
+
|
|
188
|
+
# Interactive: cycle with Shift+Tab
|
|
189
|
+
# full → plan → iosm → full → ...
|
|
190
|
+
|
|
191
|
+
# In orchestration
|
|
192
|
+
/orchestrate --profiles explore,full,iosm_verifier
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Permissions
|
|
198
|
+
|
|
199
|
+
Permissions control tool execution approval behavior.
|
|
200
|
+
|
|
201
|
+
### Interactive Commands
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# View current permission status
|
|
205
|
+
/permissions
|
|
206
|
+
|
|
207
|
+
# Enable auto-approve (YOLO mode)
|
|
208
|
+
/yolo on
|
|
209
|
+
|
|
210
|
+
# Disable auto-approve
|
|
211
|
+
/yolo off
|
|
212
|
+
|
|
213
|
+
# Check status
|
|
214
|
+
/yolo status
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### What Permissions Control
|
|
218
|
+
|
|
219
|
+
- **Tool calls**: Whether the agent can execute tools without user confirmation
|
|
220
|
+
- **File writes**: Whether `edit` and `write` tools require approval
|
|
221
|
+
- **Shell commands**: Whether `bash` executions require approval
|
|
222
|
+
- **Destructive actions**: Special handling for `rm`, `sudo`, etc.
|
|
223
|
+
|
|
224
|
+
### Safety Defaults
|
|
225
|
+
|
|
226
|
+
By default, `iosm-cli` asks for confirmation before:
|
|
227
|
+
- Executing shell commands
|
|
228
|
+
- Writing or editing files
|
|
229
|
+
- Performing destructive operations
|
|
230
|
+
|
|
231
|
+
Use extensions like `permission-gate.ts` or `protected-paths.ts` for additional safety layers.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Provider-Specific Configuration
|
|
236
|
+
|
|
237
|
+
### Anthropic
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
export ANTHROPIC_API_KEY="sk-ant-api03-..."
|
|
241
|
+
|
|
242
|
+
iosm --model claude-sonnet-4-20250514
|
|
243
|
+
iosm --model sonnet:high # With thinking
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### OpenAI
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
export OPENAI_API_KEY="sk-..."
|
|
250
|
+
|
|
251
|
+
iosm --model gpt-4o
|
|
252
|
+
iosm --model openai/gpt-4o-mini
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Google Gemini
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
export GEMINI_API_KEY="AI..."
|
|
259
|
+
|
|
260
|
+
iosm --model gemini-2.5-pro
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### AWS Bedrock
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
export AWS_PROFILE="default"
|
|
267
|
+
# or
|
|
268
|
+
export AWS_ACCESS_KEY_ID="..."
|
|
269
|
+
export AWS_SECRET_ACCESS_KEY="..."
|
|
270
|
+
export AWS_REGION="us-east-1"
|
|
271
|
+
|
|
272
|
+
iosm --provider bedrock --model anthropic.claude-v2
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Azure OpenAI
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
export AZURE_OPENAI_API_KEY="..."
|
|
279
|
+
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com"
|
|
280
|
+
|
|
281
|
+
iosm --provider azure --model gpt-4o
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### OAuth-Based Providers
|
|
285
|
+
|
|
286
|
+
Some providers support OAuth login (for example, Qwen CLI free OAuth):
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
iosm
|
|
290
|
+
# In interactive mode:
|
|
291
|
+
/login
|
|
292
|
+
# Follow the authentication flow
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Further Reading
|
|
298
|
+
|
|
299
|
+
- [CLI Reference](./cli-reference.md) — All command-line flags
|
|
300
|
+
- [Interactive Mode](./interactive-mode.md) — Keybindings and slash commands
|
|
301
|
+
- [Extensions](./extensions-packages-themes.md) — Extension system and customization
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# Development & Testing
|
|
2
|
+
|
|
3
|
+
Guide for contributing to `iosm-cli` — repository layout, build system, testing, and release process.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Repository Layout
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
iosm-cli/
|
|
11
|
+
├── src/ # Application source (TypeScript)
|
|
12
|
+
│ ├── cli.ts # CLI entry point
|
|
13
|
+
│ ├── main.ts # Main application logic
|
|
14
|
+
│ ├── config.ts # Path resolution and configuration
|
|
15
|
+
│ ├── index.ts # Public SDK exports
|
|
16
|
+
│ ├── migrations.ts # Session/settings migrations
|
|
17
|
+
│ ├── cli/ # CLI argument parsing
|
|
18
|
+
│ │ ├── args.ts # Argument definitions and parsing
|
|
19
|
+
│ │ ├── config-selector.ts # Config selection UI
|
|
20
|
+
│ │ ├── file-processor.ts # @file attachment handling
|
|
21
|
+
│ │ ├── list-models.ts # --list-models implementation
|
|
22
|
+
│ │ └── session-picker.ts # --resume session selection
|
|
23
|
+
│ ├── core/ # Runtime engine
|
|
24
|
+
│ │ ├── agent-session.ts # Core agent session (main loop)
|
|
25
|
+
│ │ ├── agent-profiles.ts # Profile definitions
|
|
26
|
+
│ │ ├── agent-teams.ts # Team orchestration
|
|
27
|
+
│ │ ├── model-registry.ts # Multi-provider model registry
|
|
28
|
+
│ │ ├── model-resolver.ts # Model matching and resolution
|
|
29
|
+
│ │ ├── session-manager.ts # Session persistence engine
|
|
30
|
+
│ │ ├── settings-manager.ts # Settings hierarchy
|
|
31
|
+
│ │ ├── package-manager.ts # Package install/remove/update
|
|
32
|
+
│ │ ├── resource-loader.ts # Extension/skill/prompt/theme loader
|
|
33
|
+
│ │ ├── subagents.ts # Subagent orchestration
|
|
34
|
+
│ │ ├── parallel-task-agent.ts # Parallel task execution
|
|
35
|
+
│ │ ├── sdk.ts # Public SDK factory
|
|
36
|
+
│ │ ├── system-prompt.ts # System prompt construction
|
|
37
|
+
│ │ ├── hooks.ts # Hook system
|
|
38
|
+
│ │ ├── skills.ts # Skill discovery and loading
|
|
39
|
+
│ │ ├── prompt-templates.ts # Prompt template system
|
|
40
|
+
│ │ ├── bash-executor.ts # Shell command execution
|
|
41
|
+
│ │ ├── tools/ # Built-in tools
|
|
42
|
+
│ │ │ ├── read.ts # File reading
|
|
43
|
+
│ │ │ ├── bash.ts # Shell execution
|
|
44
|
+
│ │ │ ├── edit.ts # File editing
|
|
45
|
+
│ │ │ ├── write.ts # File creation
|
|
46
|
+
│ │ │ ├── grep.ts # Content search
|
|
47
|
+
│ │ │ ├── find.ts # File finding
|
|
48
|
+
│ │ │ ├── ls.ts # Directory listing
|
|
49
|
+
│ │ │ ├── task.ts # Task management
|
|
50
|
+
│ │ │ └── todo.ts # Todo tool
|
|
51
|
+
│ │ ├── extensions/ # Extension system
|
|
52
|
+
│ │ ├── compaction/ # Context compaction
|
|
53
|
+
│ │ └── export-html/ # HTML export templates
|
|
54
|
+
│ ├── iosm/ # IOSM methodology
|
|
55
|
+
│ │ ├── init.ts # Workspace bootstrapping
|
|
56
|
+
│ │ ├── cycle.ts # Cycle lifecycle
|
|
57
|
+
│ │ ├── metrics.ts # Metric calculation
|
|
58
|
+
│ │ ├── config.ts # IOSM config parsing
|
|
59
|
+
│ │ ├── automation.ts # IOSM autopilot
|
|
60
|
+
│ │ ├── guide.ts # Playbook generation
|
|
61
|
+
│ │ ├── agent-verification.ts # Post-init verification
|
|
62
|
+
│ │ └── types.ts # IOSM type definitions
|
|
63
|
+
│ ├── modes/ # Output modes
|
|
64
|
+
│ │ ├── interactive/ # TUI (43 files)
|
|
65
|
+
│ │ ├── rpc/ # JSON-RPC server
|
|
66
|
+
│ │ └── print-mode.ts # Single-shot print
|
|
67
|
+
│ └── utils/ # Utilities
|
|
68
|
+
│ ├── git.ts # Git operations
|
|
69
|
+
│ ├── shell.ts # Shell config detection
|
|
70
|
+
│ ├── clipboard.ts # Clipboard access
|
|
71
|
+
│ ├── image-resize.ts # Image processing
|
|
72
|
+
│ └── ...
|
|
73
|
+
├── test/ # Vitest test suite (73 files)
|
|
74
|
+
├── examples/
|
|
75
|
+
│ ├── extensions/ # 66 extension examples
|
|
76
|
+
│ └── sdk/ # 12 SDK examples
|
|
77
|
+
├── docs/ # Documentation
|
|
78
|
+
├── scripts/ # Build/migration scripts
|
|
79
|
+
├── iosm-spec.md # IOSM methodology specification
|
|
80
|
+
├── package.json
|
|
81
|
+
├── tsconfig.base.json # Base TypeScript config
|
|
82
|
+
├── tsconfig.build.json # Build config
|
|
83
|
+
├── tsconfig.examples.json # Examples config
|
|
84
|
+
└── vitest.config.ts # Test configuration
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Build Scripts
|
|
90
|
+
|
|
91
|
+
| Script | Command | Description |
|
|
92
|
+
|--------|---------|-------------|
|
|
93
|
+
| Install | `npm install` | Install all dependencies |
|
|
94
|
+
| Type-check | `npm run check` | Run TypeScript type-checking without emit |
|
|
95
|
+
| Build | `npm run build` | Compile TypeScript + copy assets |
|
|
96
|
+
| Watch | `npm run dev` | Watch mode for development |
|
|
97
|
+
| Test | `npm test` | Run full Vitest test suite |
|
|
98
|
+
| Clean | `npm run clean` | Remove `dist/` directory |
|
|
99
|
+
| Binary | `npm run build:binary` | Build standalone Bun binary |
|
|
100
|
+
| Deploy Local | `npm run deploy-local` | Build and sync to global install |
|
|
101
|
+
|
|
102
|
+
### Development Workflow
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# 1. Install dependencies
|
|
106
|
+
npm install
|
|
107
|
+
|
|
108
|
+
# 2. Start watch mode (rebuilds on file changes)
|
|
109
|
+
npm run dev
|
|
110
|
+
|
|
111
|
+
# 3. In another terminal, run your local build
|
|
112
|
+
node dist/cli.js
|
|
113
|
+
|
|
114
|
+
# Or link globally for testing
|
|
115
|
+
npm link
|
|
116
|
+
iosm
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Type-Checking
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Quick type check
|
|
123
|
+
npm run check
|
|
124
|
+
|
|
125
|
+
# Watch mode with type-checking
|
|
126
|
+
npx tsc -p tsconfig.build.json --watch --noEmit
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Testing
|
|
132
|
+
|
|
133
|
+
Tests are written with [Vitest](https://vitest.dev/) and run in Node.js environment.
|
|
134
|
+
|
|
135
|
+
### Running Tests
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Full test suite
|
|
139
|
+
npm test
|
|
140
|
+
|
|
141
|
+
# Single test file
|
|
142
|
+
npm test -- test/tools.test.ts
|
|
143
|
+
|
|
144
|
+
# Tests matching a pattern
|
|
145
|
+
npm test -- --grep "session"
|
|
146
|
+
|
|
147
|
+
# Watch mode
|
|
148
|
+
npx vitest --watch
|
|
149
|
+
|
|
150
|
+
# With coverage
|
|
151
|
+
npx vitest --coverage
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Test Structure
|
|
155
|
+
|
|
156
|
+
Tests are organized by feature area:
|
|
157
|
+
|
|
158
|
+
| Area | Test Files | Coverage |
|
|
159
|
+
|------|-----------|----------|
|
|
160
|
+
| **Tools** | `tools.test.ts` | All 7 built-in tools |
|
|
161
|
+
| **Session** | `session-manager/`, `session-*.test.ts` | Persistence, branching, migration |
|
|
162
|
+
| **Extensions** | `extensions-*.test.ts` | Discovery, running, hooks, input events |
|
|
163
|
+
| **Compaction** | `compaction*.test.ts` | Context summarization |
|
|
164
|
+
| **Model** | `model-registry.test.ts`, `model-resolver.test.ts` | Multi-provider model management |
|
|
165
|
+
| **IOSM** | `iosm-*.test.ts` | Init, cycles, metrics, automation |
|
|
166
|
+
| **CLI** | `args.test.ts` | Argument parsing |
|
|
167
|
+
| **Packages** | `package-manager*.test.ts` | Package install/update/remove |
|
|
168
|
+
| **RPC** | `rpc.test.ts` | JSON-RPC protocol |
|
|
169
|
+
| **SDK** | `sdk-*.test.ts` | Programmatic API |
|
|
170
|
+
| **Subagents** | `subagent*.test.ts` | Orchestration |
|
|
171
|
+
| **UI** | `interactive-mode-status.test.ts`, etc. | TUI components |
|
|
172
|
+
|
|
173
|
+
### Writing Tests
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
import { describe, it, expect } from "vitest";
|
|
177
|
+
|
|
178
|
+
describe("MyFeature", () => {
|
|
179
|
+
it("should do the expected thing", async () => {
|
|
180
|
+
const result = await myFunction();
|
|
181
|
+
expect(result).toBe(expected);
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Test Notes
|
|
187
|
+
|
|
188
|
+
- Some integration tests require network access and are skipped when prerequisites are absent
|
|
189
|
+
- Tests use a shared `utilities.ts` for common test helpers and fixtures
|
|
190
|
+
- Test fixtures are stored in `test/fixtures/`
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Migration & Maintenance
|
|
195
|
+
|
|
196
|
+
### Session Migration
|
|
197
|
+
|
|
198
|
+
For migrating sessions from older formats:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
bash scripts/migrate-sessions.sh
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Configuration Fallbacks
|
|
205
|
+
|
|
206
|
+
Runtime path and config fallback logic lives in `src/config.ts`. This handles:
|
|
207
|
+
- User agent directory resolution
|
|
208
|
+
- Version detection
|
|
209
|
+
- Legacy path compatibility
|
|
210
|
+
|
|
211
|
+
### Documentation Alignment
|
|
212
|
+
|
|
213
|
+
When adding CLI features, keep in sync:
|
|
214
|
+
1. `src/cli/args.ts` — Argument definitions
|
|
215
|
+
2. `docs/cli-reference.md` — User-facing documentation
|
|
216
|
+
3. `README.md` — If the feature is significant
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Release Hygiene
|
|
221
|
+
|
|
222
|
+
### Pre-Release Checklist
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# 1. Type-check passes
|
|
226
|
+
npm run check
|
|
227
|
+
|
|
228
|
+
# 2. All tests pass
|
|
229
|
+
npm test
|
|
230
|
+
|
|
231
|
+
# 3. Build succeeds
|
|
232
|
+
npm run build
|
|
233
|
+
|
|
234
|
+
# 4. Verify documentation
|
|
235
|
+
# - README.md reflects current CLI behavior
|
|
236
|
+
# - docs/ are up to date
|
|
237
|
+
# - CHANGELOG.md has new entries
|
|
238
|
+
|
|
239
|
+
# 5. .gitignore covers all generated artifacts
|
|
240
|
+
# - dist/, node_modules/, .iosm/, coverage/
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Publishing
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Runs clean + build automatically via prepublishOnly
|
|
247
|
+
npm publish
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Architecture Overview
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
┌────────────────────────────────────────────────┐
|
|
256
|
+
│ CLI Layer │
|
|
257
|
+
│ cli.ts → args.ts → main.ts │
|
|
258
|
+
├────────────────────────────────────────────────┤
|
|
259
|
+
│ Mode Layer │
|
|
260
|
+
│ Interactive Mode │ Print Mode │ RPC Mode │
|
|
261
|
+
├────────────────────────────────────────────────┤
|
|
262
|
+
│ Core Runtime │
|
|
263
|
+
│ AgentSession ─── ModelRegistry ─── Tools │
|
|
264
|
+
│ │ │ │ │
|
|
265
|
+
│ SessionManager ModelResolver Bash/Edit/... │
|
|
266
|
+
│ │ │ │ │
|
|
267
|
+
│ Subagents ResourceLoader Permissions │
|
|
268
|
+
│ │ │ │
|
|
269
|
+
│ EventBus Extensions/Skills/Themes │
|
|
270
|
+
├────────────────────────────────────────────────┤
|
|
271
|
+
│ IOSM Domain │
|
|
272
|
+
│ Init │ Cycles │ Metrics │ Config │ Guide │
|
|
273
|
+
├────────────────────────────────────────────────┤
|
|
274
|
+
│ Utilities │
|
|
275
|
+
│ Git │ Shell │ Clipboard │ Images │ Frontmatter │
|
|
276
|
+
└────────────────────────────────────────────────┘
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Key Data Flow
|
|
280
|
+
|
|
281
|
+
1. **CLI** parses arguments and resolves configuration
|
|
282
|
+
2. **Main** initializes the mode (interactive/print/rpc)
|
|
283
|
+
3. **AgentSession** manages conversation loop, model calls, tool execution
|
|
284
|
+
4. **Tools** execute file operations and shell commands
|
|
285
|
+
5. **Extensions** hook into lifecycle events
|
|
286
|
+
6. **IOSM** manages improvement cycles and metrics
|
|
287
|
+
7. **SessionManager** persists conversation state
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Further Reading
|
|
292
|
+
|
|
293
|
+
- [CONTRIBUTING.md](../CONTRIBUTING.md) — Contribution guide
|
|
294
|
+
- [CLI Reference](./cli-reference.md) — Flag documentation
|
|
295
|
+
- [Extensions](./extensions-packages-themes.md) — Extension API
|