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