@code-yeongyu/senpi 2026.6.21 → 2026.6.30-2
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 +177 -0
- package/README.md +41 -5
- package/dist/bun/register-bedrock.js +1 -1
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/cli/args.js +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +13 -25
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/session-picker.d.ts +2 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +5 -4
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +4 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +63 -14
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/core/agent-session.d.ts +6 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +71 -50
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +6 -12
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +4 -19
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +2 -2
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +7 -4
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/dynamic-prompt/style.d.ts.map +1 -1
- package/dist/core/dynamic-prompt/style.js +26 -1
- package/dist/core/dynamic-prompt/style.js.map +1 -1
- package/dist/core/experimental.d.ts +2 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +4 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +1 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.js +1 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/speculative.js +2 -1
- package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
- package/dist/core/extensions/builtin/goal/command-registration.d.ts +12 -0
- package/dist/core/extensions/builtin/goal/command-registration.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/command-registration.js +86 -0
- package/dist/core/extensions/builtin/goal/command-registration.js.map +1 -0
- package/dist/core/extensions/builtin/goal/continuation.d.ts +2 -1
- package/dist/core/extensions/builtin/goal/continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation.js +33 -2
- package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/index.js +19 -136
- package/dist/core/extensions/builtin/goal/index.js.map +1 -1
- package/dist/core/extensions/builtin/goal/tool-registration.d.ts +10 -0
- package/dist/core/extensions/builtin/goal/tool-registration.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/tool-registration.js +63 -0
- package/dist/core/extensions/builtin/goal/tool-registration.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/command-runner.d.ts +25 -0
- package/dist/core/extensions/builtin/hooks/command-runner.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/command-runner.js +152 -0
- package/dist/core/extensions/builtin/hooks/command-runner.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/command.d.ts +11 -0
- package/dist/core/extensions/builtin/hooks/command.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/command.js +180 -0
- package/dist/core/extensions/builtin/hooks/command.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/config-loader.d.ts +19 -0
- package/dist/core/extensions/builtin/hooks/config-loader.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/config-loader.js +125 -0
- package/dist/core/extensions/builtin/hooks/config-loader.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/diagnostics.d.ts +10 -0
- package/dist/core/extensions/builtin/hooks/diagnostics.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/diagnostics.js +14 -0
- package/dist/core/extensions/builtin/hooks/diagnostics.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/dispatcher.d.ts +60 -0
- package/dist/core/extensions/builtin/hooks/dispatcher.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/dispatcher.js +161 -0
- package/dist/core/extensions/builtin/hooks/dispatcher.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/handler.d.ts +12 -0
- package/dist/core/extensions/builtin/hooks/handler.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/handler.js +128 -0
- package/dist/core/extensions/builtin/hooks/handler.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/index.d.ts +6 -0
- package/dist/core/extensions/builtin/hooks/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/index.js +216 -0
- package/dist/core/extensions/builtin/hooks/index.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts +29 -0
- package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js +276 -0
- package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/matcher.d.ts +7 -0
- package/dist/core/extensions/builtin/hooks/matcher.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/matcher.js +109 -0
- package/dist/core/extensions/builtin/hooks/matcher.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/output-bounds.d.ts +29 -0
- package/dist/core/extensions/builtin/hooks/output-bounds.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/output-bounds.js +47 -0
- package/dist/core/extensions/builtin/hooks/output-bounds.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/output-parser.d.ts +27 -0
- package/dist/core/extensions/builtin/hooks/output-parser.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/output-parser.js +168 -0
- package/dist/core/extensions/builtin/hooks/output-parser.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/plugin-loader.d.ts +11 -0
- package/dist/core/extensions/builtin/hooks/plugin-loader.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/plugin-loader.js +138 -0
- package/dist/core/extensions/builtin/hooks/plugin-loader.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/plugin-manifest.d.ts +47 -0
- package/dist/core/extensions/builtin/hooks/plugin-manifest.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/plugin-manifest.js +86 -0
- package/dist/core/extensions/builtin/hooks/plugin-manifest.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/prompt-adapter.d.ts +30 -0
- package/dist/core/extensions/builtin/hooks/prompt-adapter.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/prompt-adapter.js +59 -0
- package/dist/core/extensions/builtin/hooks/prompt-adapter.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/safety.d.ts +14 -0
- package/dist/core/extensions/builtin/hooks/safety.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/safety.js +179 -0
- package/dist/core/extensions/builtin/hooks/safety.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/schema.d.ts +3 -0
- package/dist/core/extensions/builtin/hooks/schema.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/schema.js +94 -0
- package/dist/core/extensions/builtin/hooks/schema.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/stop-adapter.d.ts +18 -0
- package/dist/core/extensions/builtin/hooks/stop-adapter.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/stop-adapter.js +282 -0
- package/dist/core/extensions/builtin/hooks/stop-adapter.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/tool-adapter.d.ts +11 -0
- package/dist/core/extensions/builtin/hooks/tool-adapter.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/tool-adapter.js +158 -0
- package/dist/core/extensions/builtin/hooks/tool-adapter.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/trust-storage.d.ts +24 -0
- package/dist/core/extensions/builtin/hooks/trust-storage.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/trust-storage.js +102 -0
- package/dist/core/extensions/builtin/hooks/trust-storage.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/trust.d.ts +34 -0
- package/dist/core/extensions/builtin/hooks/trust.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/trust.js +194 -0
- package/dist/core/extensions/builtin/hooks/trust.js.map +1 -0
- package/dist/core/extensions/builtin/hooks/types.d.ts +134 -0
- package/dist/core/extensions/builtin/hooks/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/hooks/types.js +36 -0
- package/dist/core/extensions/builtin/hooks/types.js.map +1 -0
- package/dist/core/extensions/builtin/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/index.js +4 -0
- package/dist/core/extensions/builtin/index.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/cli.d.ts +3 -1
- package/dist/core/extensions/builtin/permission-system/cli.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/cli.js +14 -0
- package/dist/core/extensions/builtin/permission-system/cli.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/config.d.ts +3 -1
- package/dist/core/extensions/builtin/permission-system/config.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/config.js +26 -0
- package/dist/core/extensions/builtin/permission-system/config.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/external-dir.js +2 -2
- package/dist/core/extensions/builtin/permission-system/external-dir.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.js +11 -2
- package/dist/core/extensions/builtin/permission-system/index.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/parsers.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/parsers.js +39 -16
- package/dist/core/extensions/builtin/permission-system/parsers.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/settings.d.ts +6 -5
- package/dist/core/extensions/builtin/permission-system/settings.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/settings.js +26 -6
- package/dist/core/extensions/builtin/permission-system/settings.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/types.d.ts +1 -0
- package/dist/core/extensions/builtin/permission-system/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/types.js.map +1 -1
- package/dist/core/extensions/builtin/pi-codex-app-server/capability-negotiator.d.ts +42 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/capability-negotiator.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/capability-negotiator.js +130 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/capability-negotiator.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/error-mapper.d.ts +27 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/error-mapper.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/error-mapper.js +18 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/error-mapper.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/extension.d.ts +25 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/extension.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/extension.js +110 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/extension.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/id-mapper.d.ts +48 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/id-mapper.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/id-mapper.js +74 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/id-mapper.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/index.d.ts +3 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/index.js +5 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/index.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/item-stream-projector.d.ts +29 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/item-stream-projector.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/item-stream-projector.js +105 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/item-stream-projector.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/notification-projector.d.ts +49 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/notification-projector.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/notification-projector.js +99 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/notification-projector.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-core.d.ts +42 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-core.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-core.js +191 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-core.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-inventory.d.ts +3 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-inventory.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-inventory.js +103 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-inventory.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-required-surfaces.d.ts +7 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-required-surfaces.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-required-surfaces.js +234 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/protocol-required-surfaces.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume-token.d.ts +18 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume-token.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume-token.js +77 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume-token.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume.d.ts +70 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume.js +138 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/reconnect-resume.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router-params.d.ts +34 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router-params.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router-params.js +92 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router-params.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router.d.ts +32 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router.js +279 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/request-router.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/runtime-errors.d.ts +6 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/runtime-errors.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/runtime-errors.js +8 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/runtime-errors.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-bridge.d.ts +76 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-bridge.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-bridge.js +169 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-bridge.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-fields.d.ts +24 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-fields.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-fields.js +81 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/server-request-fields.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/session-registry.d.ts +42 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/session-registry.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/session-registry.js +89 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/session-registry.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/stream-backpressure.d.ts +36 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/stream-backpressure.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/stream-backpressure.js +94 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/stream-backpressure.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/transport-runtime.d.ts +34 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/transport-runtime.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/transport-runtime.js +179 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/transport-runtime.js.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/websocket-transport.d.ts +20 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/websocket-transport.d.ts.map +1 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/websocket-transport.js +90 -0
- package/dist/core/extensions/builtin/pi-codex-app-server/websocket-transport.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.js +12 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/presets.js +6 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/content.d.ts +2 -2
- package/dist/core/extensions/builtin/webfetch/webfetch/content.d.ts.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/content.js +170 -7
- package/dist/core/extensions/builtin/webfetch/webfetch/content.js.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.d.ts.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.js +101 -43
- package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.js.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.js +2 -2
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +25 -14
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +5 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +20 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +27 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +28 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/keybindings.d.ts +1 -1
- package/dist/core/model-registry.d.ts +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +4 -6
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-manager.d.ts +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +14 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/provider-attribution.d.ts +2 -2
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-display-names.js +1 -1
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/resource-loader.d.ts +14 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +40 -0
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +20 -14
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +5 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +75 -14
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-resident-store.d.ts.map +1 -1
- package/dist/core/session-resident-store.js +63 -2
- package/dist/core/session-resident-store.js.map +1 -1
- package/dist/core/settings-manager.d.ts +8 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +22 -6
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/timings.d.ts +4 -2
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +24 -14
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +19 -11
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +12 -25
- package/dist/core/tools/read.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +22 -7
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +27 -17
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +3 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +11 -3
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/render-signature.d.ts +2 -0
- package/dist/modes/interactive/components/render-signature.d.ts.map +1 -0
- package/dist/modes/interactive/components/render-signature.js +101 -0
- package/dist/modes/interactive/components/render-signature.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +14 -3
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +13 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +27 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +64 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +4 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +6 -2
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +16 -5
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -13
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +185 -171
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +0 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +2 -13
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +10 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +11 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +15 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +14 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +16 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +26 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +10 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/utils/child-process.js +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/image-convert.d.ts +1 -0
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +21 -15
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts +18 -0
- package/dist/utils/image-process.d.ts.map +1 -0
- package/dist/utils/image-process.js +83 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js +41 -0
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/version-check.d.ts +1 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +7 -0
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +3 -1
- package/docs/extensions.md +470 -1
- package/docs/index.md +1 -1
- package/docs/keybindings.md +2 -2
- package/docs/models.md +4 -2
- package/docs/packages.md +9 -6
- package/docs/providers.md +3 -2
- package/docs/rpc.md +58 -0
- package/docs/security.md +4 -0
- package/docs/settings.md +64 -0
- package/docs/terminal-setup.md +1 -7
- package/docs/tui.md +3 -3
- package/docs/usage.md +6 -4
- package/examples/extensions/README.md +1 -0
- package/examples/extensions/custom-compaction.ts +5 -4
- package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +11 -7
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
- package/examples/extensions/gondolin/package-lock.json +5 -5
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +4 -4
- package/examples/extensions/plan-mode/README.md +3 -2
- package/examples/extensions/plan-mode/index.ts +87 -37
- package/examples/extensions/qna.ts +4 -4
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/summarize.ts +4 -3
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/02-custom-model.ts +2 -2
- package/examples/sdk/12-full-control.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/README.md +0 -18
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +2 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +4 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +10 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +6 -19
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +3 -5
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +2 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +4 -4
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +17 -15
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +2 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +24 -22
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +19 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.js +24 -4
- package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +4 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/README.md +651 -526
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +71 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +1277 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +219 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts +38 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +903 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.js +30 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/cloudflare.d.ts +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/cloudflare.js +7 -12
- package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/github-copilot-headers.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts +13 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +437 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +69 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +346 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +479 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.d.ts +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.js +59 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts +25 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +562 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/openai-codex-responses.d.ts +2 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/openai-codex-responses.js +63 -66
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +22 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +1099 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-prompt-cache.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +20 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +568 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts +13 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +645 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers/images/openrouter.js → api/openrouter-images.js} +7 -16
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.lazy.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.lazy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.lazy.js +4 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.lazy.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/simple-options.d.ts +3 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/simple-options.js +11 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/context.d.ts +7 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/context.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/context.js +42 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/context.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.d.ts +16 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.js +39 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts +20 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +46 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts +26 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +100 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts +180 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.js +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts +2 -4
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js +3 -4
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts +65 -0
- package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/compat.js +195 -0
- package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +34 -19
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +60 -45
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js +0 -3
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-models.d.ts +93 -0
- package/node_modules/@earendil-works/pi-ai/dist/images-models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/images-models.js +139 -0
- package/node_modules/@earendil-works/pi-ai/dist/images-models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +21 -3
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js +10 -5
- package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.d.ts +42 -0
- package/node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.js +49 -0
- package/node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +134 -25
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2434 -348
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +70 -17244
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js +239 -65
- package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +21 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +147 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +2 -38
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +35 -896
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +1837 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +1794 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts +86 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js +60 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +4 -69
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +20 -1273
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +444 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +423 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts +2 -15
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +11 -234
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +804 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +743 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts +45 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +41 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js +20 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +765 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +666 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.d.ts +4 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js +85 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.js +14 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts +302 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js +239 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts +63 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +43 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +60 -11
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +86 -22
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.js +19 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +376 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +294 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js +25 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +616 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +426 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts +1 -68
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js +1 -345
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts +4 -13
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +33 -478
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts +202 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js +182 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts +4 -11
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +15 -439
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts +328 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js +288 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts +128 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js +125 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts +963 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js +869 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/{openrouter.d.ts → register-builtins.d.ts} +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js +34 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts +63 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js +59 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts +54 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js +56 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts +54 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js +56 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts +2 -25
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +12 -567
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts +513 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js +515 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts +234 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js +169 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts +234 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js +169 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts +563 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +385 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js +18 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +87 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +77 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts +2 -22
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +1 -1070
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts +1 -19
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +1 -584
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts +2 -13
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +1 -656
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +805 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +743 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js +18 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts +309 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +240 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.js +22 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +976 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +815 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js +14 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +5402 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +4634 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts +1 -36
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +1 -190
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts +598 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js +380 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +3230 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +3187 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts +157 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js +131 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts +113 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +95 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts +113 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +95 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts +113 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +95 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts +135 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js +113 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts +153 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +114 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts +153 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +114 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts +1 -5
- package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/stream.js +1 -53
- package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +74 -8
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts +25 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +109 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts +17 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js +98 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/headers.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/headers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js +10 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js +31 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +33 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/load.d.ts +5 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/load.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/load.js +22 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/load.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +49 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +12 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +86 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/package.json +15 -42
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +5 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +3 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/marked/README.md +8 -0
- package/node_modules/marked/bin/main.js +12 -11
- package/node_modules/marked/lib/marked.d.ts +22 -11
- package/node_modules/marked/lib/marked.esm.js +50 -46
- package/node_modules/marked/lib/marked.esm.js.map +3 -3
- package/node_modules/marked/lib/marked.umd.js +50 -46
- package/node_modules/marked/lib/marked.umd.js.map +3 -3
- package/node_modules/marked/man/marked.1 +1 -1
- package/node_modules/marked/package.json +17 -17
- package/npm-shrinkwrap.json +788 -38
- package/package.json +11 -5
- package/node_modules/@earendil-works/pi-agent-core/dist/base.d.ts +0 -20
- package/node_modules/@earendil-works/pi-agent-core/dist/base.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/base.js +0 -20
- package/node_modules/@earendil-works/pi-agent-core/dist/base.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +0 -20
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +0 -44
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/base.d.ts +0 -30
- package/node_modules/@earendil-works/pi-ai/dist/base.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/base.js +0 -18
- package/node_modules/@earendil-works/pi-ai/dist/base.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +0 -1
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/github-copilot-headers.d.ts +0 -0
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/github-copilot-headers.js +0 -0
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/openai-prompt-cache.d.ts +0 -0
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/openai-prompt-cache.js +0 -0
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/transform-messages.d.ts +0 -0
- /package/node_modules/@earendil-works/pi-ai/dist/{providers → api}/transform-messages.js +0 -0
- /package/node_modules/marked/{LICENSE.md → LICENSE} +0 -0
|
@@ -6,8 +6,8 @@ import * as crypto from "node:crypto";
|
|
|
6
6
|
import * as fs from "node:fs";
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import * as path from "node:path";
|
|
9
|
-
import { getProviders, } from "@earendil-works/pi-ai";
|
|
10
|
-
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink,
|
|
9
|
+
import { getProviders, } from "@earendil-works/pi-ai/compat";
|
|
10
|
+
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth, } from "@earendil-works/pi-tui";
|
|
11
11
|
import chalk from "chalk";
|
|
12
12
|
import { spawn, spawnSync } from "child_process";
|
|
13
13
|
import { APP_NAME, APP_TITLE, CONFIG_DIR_NAME, expandTildePath, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION, } from "../../config.js";
|
|
@@ -31,7 +31,7 @@ import { parseGitUrl } from "../../utils/git.js";
|
|
|
31
31
|
import { getCwdRelativePath } from "../../utils/paths.js";
|
|
32
32
|
import { getPiUserAgent } from "../../utils/pi-user-agent.js";
|
|
33
33
|
import { killTrackedDetachedChildren } from "../../utils/shell.js";
|
|
34
|
-
import { checkForNewPiVersion } from "../../utils/version-check.js";
|
|
34
|
+
import { checkForNewPiVersion, getReleaseChangelogUrl } from "../../utils/version-check.js";
|
|
35
35
|
import { abortedErrorLabel } from "./aborted-error-label.js";
|
|
36
36
|
import { ArminComponent } from "./components/armin.js";
|
|
37
37
|
import { AssistantMessageComponent } from "./components/assistant-message.js";
|
|
@@ -39,7 +39,6 @@ import { BashExecutionComponent } from "./components/bash-execution.js";
|
|
|
39
39
|
import { BorderedLoader } from "./components/bordered-loader.js";
|
|
40
40
|
import { BranchSummaryMessageComponent } from "./components/branch-summary-message.js";
|
|
41
41
|
import { CompactionSummaryMessageComponent } from "./components/compaction-summary-message.js";
|
|
42
|
-
import { CountdownTimer } from "./components/countdown-timer.js";
|
|
43
42
|
import { CustomEditor } from "./components/custom-editor.js";
|
|
44
43
|
import { CustomMessageComponent } from "./components/custom-message.js";
|
|
45
44
|
import { DaxnutsComponent } from "./components/daxnuts.js";
|
|
@@ -58,6 +57,7 @@ import { OAuthSelectorComponent } from "./components/oauth-selector.js";
|
|
|
58
57
|
import { SessionSelectorComponent } from "./components/session-selector.js";
|
|
59
58
|
import { SettingsSelectorComponent } from "./components/settings-selector.js";
|
|
60
59
|
import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
|
|
60
|
+
import { BranchSummaryStatusIndicator, CompactionStatusIndicator, IdleStatus, RetryStatusIndicator, WorkingStatusIndicator, } from "./components/status-indicator.js";
|
|
61
61
|
import { ToolExecutionComponent } from "./components/tool-execution.js";
|
|
62
62
|
import { TreeSelectorComponent } from "./components/tree-selector.js";
|
|
63
63
|
import { TrustSelectorComponent } from "./components/trust-selector.js";
|
|
@@ -197,12 +197,12 @@ export class InteractiveMode {
|
|
|
197
197
|
this.autocompleteProviderWrappers = [];
|
|
198
198
|
this.isInitialized = false;
|
|
199
199
|
this.pendingUserInputs = [];
|
|
200
|
-
this.
|
|
200
|
+
this.activeStatusIndicator = undefined;
|
|
201
|
+
this.idleStatus = new IdleStatus();
|
|
201
202
|
this.workingMessage = undefined;
|
|
202
203
|
this.workingVisible = true;
|
|
203
204
|
this.workingIndicatorOptions = undefined;
|
|
204
205
|
this.workingStartedAt = undefined;
|
|
205
|
-
this.workingElapsedIntervalId = undefined;
|
|
206
206
|
this.defaultWorkingMessage = "Working";
|
|
207
207
|
this.defaultHiddenThinkingLabel = "Thinking...";
|
|
208
208
|
this.hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
@@ -230,6 +230,7 @@ export class InteractiveMode {
|
|
|
230
230
|
this.toolOutputExpanded = false;
|
|
231
231
|
// Thinking block visibility state
|
|
232
232
|
this.hideThinkingBlock = false;
|
|
233
|
+
this.outputPad = 1;
|
|
233
234
|
// Skill commands: command name -> skill file path
|
|
234
235
|
this.skillCommands = new Map();
|
|
235
236
|
this.signalCleanupHandlers = [];
|
|
@@ -239,12 +240,7 @@ export class InteractiveMode {
|
|
|
239
240
|
this.bashComponent = undefined;
|
|
240
241
|
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
241
242
|
this.pendingBashComponents = [];
|
|
242
|
-
// Auto-compaction state
|
|
243
|
-
this.autoCompactionLoader = undefined;
|
|
244
243
|
this.autoCompactionProgressText = "";
|
|
245
|
-
// Auto-retry state
|
|
246
|
-
this.retryLoader = undefined;
|
|
247
|
-
this.retryCountdown = undefined;
|
|
248
244
|
// Messages queued while compaction is running
|
|
249
245
|
this.compactionQueuedMessages = [];
|
|
250
246
|
// Shutdown state
|
|
@@ -276,12 +272,13 @@ export class InteractiveMode {
|
|
|
276
272
|
this.resetExtensionUI();
|
|
277
273
|
});
|
|
278
274
|
this.runtimeHost.setRebindSession(async () => {
|
|
279
|
-
await this.rebindCurrentSession();
|
|
275
|
+
await this.rebindCurrentSession({ renderBeforeBind: true });
|
|
280
276
|
});
|
|
281
277
|
this.version = VERSION;
|
|
282
278
|
this.ui = new TUI(new ProcessTerminal(), this.settingsManager.getShowHardwareCursor());
|
|
283
279
|
this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink());
|
|
284
280
|
this.headerContainer = new Container();
|
|
281
|
+
this.loadedResourcesContainer = new Container();
|
|
285
282
|
this.chatContainer = new Container();
|
|
286
283
|
this.pendingMessagesContainer = new Container();
|
|
287
284
|
this.statusContainer = new Container();
|
|
@@ -304,6 +301,7 @@ export class InteractiveMode {
|
|
|
304
301
|
this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
|
|
305
302
|
// Load hide thinking block setting
|
|
306
303
|
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
304
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
307
305
|
// Register themes from resource loader and initialize
|
|
308
306
|
setRegisteredThemes(this.session.resourceLoader.getThemes().themes);
|
|
309
307
|
this.themeController = new InteractiveThemeController(this.ui, this.settingsManager, (message) => this.showError(message), () => this.updateEditorBorderColor());
|
|
@@ -475,8 +473,10 @@ export class InteractiveMode {
|
|
|
475
473
|
: "";
|
|
476
474
|
console.log(theme.fg("dim", `Model scope: ${modelList}${cycleHint}`));
|
|
477
475
|
}
|
|
478
|
-
// Add header container as first child. Populate it after
|
|
476
|
+
// Add header container as first child. Populate it after applying theme settings.
|
|
477
|
+
// Keep loaded resources before chat so restored session messages never precede them.
|
|
479
478
|
this.ui.addChild(this.headerContainer);
|
|
479
|
+
this.ui.addChild(this.loadedResourcesContainer);
|
|
480
480
|
this.ui.addChild(this.chatContainer);
|
|
481
481
|
this.ui.addChild(this.pendingMessagesContainer);
|
|
482
482
|
this.ui.addChild(this.statusContainer);
|
|
@@ -1034,6 +1034,8 @@ export class InteractiveMode {
|
|
|
1034
1034
|
return lines.join("\n");
|
|
1035
1035
|
}
|
|
1036
1036
|
showLoadedResources(options) {
|
|
1037
|
+
// Resource rendering is idempotent; chat clears no longer clear this separate container.
|
|
1038
|
+
this.loadedResourcesContainer.clear();
|
|
1037
1039
|
const showListing = options?.force || this.options.verbose || !this.settingsManager.getQuietStartup();
|
|
1038
1040
|
const showDiagnostics = showListing || options?.showDiagnosticsWhenQuiet === true;
|
|
1039
1041
|
if (!showListing && !showDiagnostics) {
|
|
@@ -1049,8 +1051,8 @@ export class InteractiveMode {
|
|
|
1049
1051
|
};
|
|
1050
1052
|
const addLoadedSection = (name, collapsedBody, expandedBody = collapsedBody, color = "mdHeading") => {
|
|
1051
1053
|
const section = new ExpandableText(() => `${sectionHeader(name, color)}\n${collapsedBody}`, () => `${sectionHeader(name, color)}\n${expandedBody}`, this.getStartupExpansionState(), 0, 0);
|
|
1052
|
-
this.
|
|
1053
|
-
this.
|
|
1054
|
+
this.loadedResourcesContainer.addChild(section);
|
|
1055
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1054
1056
|
};
|
|
1055
1057
|
const skillsResult = this.session.resourceLoader.getSkills();
|
|
1056
1058
|
const promptsResult = this.session.resourceLoader.getPrompts();
|
|
@@ -1084,7 +1086,7 @@ export class InteractiveMode {
|
|
|
1084
1086
|
if (showListing) {
|
|
1085
1087
|
const contextFiles = this.session.resourceLoader.getAgentsFiles().agentsFiles;
|
|
1086
1088
|
if (contextFiles.length > 0) {
|
|
1087
|
-
this.
|
|
1089
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1088
1090
|
const contextList = contextFiles
|
|
1089
1091
|
.map((f) => theme.fg("dim", ` ${this.formatDisplayPath(f.path)}`))
|
|
1090
1092
|
.join("\n");
|
|
@@ -1147,14 +1149,14 @@ export class InteractiveMode {
|
|
|
1147
1149
|
const skillDiagnostics = skillsResult.diagnostics;
|
|
1148
1150
|
if (skillDiagnostics.length > 0) {
|
|
1149
1151
|
const warningLines = this.formatDiagnostics(skillDiagnostics, sourceInfos);
|
|
1150
|
-
this.
|
|
1151
|
-
this.
|
|
1152
|
+
this.loadedResourcesContainer.addChild(new Text(`${theme.fg("warning", "[Skill conflicts]")}\n${warningLines}`, 0, 0));
|
|
1153
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1152
1154
|
}
|
|
1153
1155
|
const promptDiagnostics = promptsResult.diagnostics;
|
|
1154
1156
|
if (promptDiagnostics.length > 0) {
|
|
1155
1157
|
const warningLines = this.formatDiagnostics(promptDiagnostics, sourceInfos);
|
|
1156
|
-
this.
|
|
1157
|
-
this.
|
|
1158
|
+
this.loadedResourcesContainer.addChild(new Text(`${theme.fg("warning", "[Prompt conflicts]")}\n${warningLines}`, 0, 0));
|
|
1159
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1158
1160
|
}
|
|
1159
1161
|
const extensionDiagnostics = [];
|
|
1160
1162
|
const extensionErrors = this.session.resourceLoader.getExtensions().errors;
|
|
@@ -1170,14 +1172,14 @@ export class InteractiveMode {
|
|
|
1170
1172
|
extensionDiagnostics.push(...shortcutDiagnostics);
|
|
1171
1173
|
if (extensionDiagnostics.length > 0) {
|
|
1172
1174
|
const warningLines = this.formatDiagnostics(extensionDiagnostics, sourceInfos);
|
|
1173
|
-
this.
|
|
1174
|
-
this.
|
|
1175
|
+
this.loadedResourcesContainer.addChild(new Text(`${theme.fg("warning", "[Extension issues]")}\n${warningLines}`, 0, 0));
|
|
1176
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1175
1177
|
}
|
|
1176
1178
|
const themeDiagnostics = themesResult.diagnostics;
|
|
1177
1179
|
if (themeDiagnostics.length > 0) {
|
|
1178
1180
|
const warningLines = this.formatDiagnostics(themeDiagnostics, sourceInfos);
|
|
1179
|
-
this.
|
|
1180
|
-
this.
|
|
1181
|
+
this.loadedResourcesContainer.addChild(new Text(`${theme.fg("warning", "[Theme conflicts]")}\n${warningLines}`, 0, 0));
|
|
1182
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
1181
1183
|
}
|
|
1182
1184
|
}
|
|
1183
1185
|
}
|
|
@@ -1195,14 +1197,9 @@ export class InteractiveMode {
|
|
|
1195
1197
|
commandContextActions: {
|
|
1196
1198
|
waitForIdle: () => this.session.agent.waitForIdle(),
|
|
1197
1199
|
newSession: async (options) => {
|
|
1198
|
-
this.
|
|
1200
|
+
this.clearStatusIndicator();
|
|
1199
1201
|
try {
|
|
1200
|
-
|
|
1201
|
-
if (!result.cancelled) {
|
|
1202
|
-
this.renderCurrentSessionState();
|
|
1203
|
-
this.ui.requestRender();
|
|
1204
|
-
}
|
|
1205
|
-
return result;
|
|
1202
|
+
return await this.runtimeHost.newSession(options);
|
|
1206
1203
|
}
|
|
1207
1204
|
catch (error) {
|
|
1208
1205
|
return this.handleFatalRuntimeError("Failed to create session", error);
|
|
@@ -1212,7 +1209,6 @@ export class InteractiveMode {
|
|
|
1212
1209
|
try {
|
|
1213
1210
|
const result = await this.runtimeHost.fork(entryId, options);
|
|
1214
1211
|
if (!result.cancelled) {
|
|
1215
|
-
this.renderCurrentSessionState();
|
|
1216
1212
|
this.editor.setText(result.selectedText ?? "");
|
|
1217
1213
|
this.showStatus("Forked to new session");
|
|
1218
1214
|
}
|
|
@@ -1271,8 +1267,13 @@ export class InteractiveMode {
|
|
|
1271
1267
|
this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
|
|
1272
1268
|
this.footerDataProvider.setCwd(this.sessionManager.getCwd());
|
|
1273
1269
|
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
1270
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
1274
1271
|
this.ui.setShowHardwareCursor(this.settingsManager.getShowHardwareCursor());
|
|
1275
|
-
this.
|
|
1272
|
+
const clearOnShrink = this.settingsManager.getClearOnShrink();
|
|
1273
|
+
this.ui.setClearOnShrink(clearOnShrink);
|
|
1274
|
+
if (!clearOnShrink && !this.activeStatusIndicator) {
|
|
1275
|
+
this.statusContainer.clear();
|
|
1276
|
+
}
|
|
1276
1277
|
const editorPaddingX = this.settingsManager.getEditorPaddingX();
|
|
1277
1278
|
const autocompleteMaxVisible = this.settingsManager.getAutocompleteMaxVisible();
|
|
1278
1279
|
this.defaultEditor.setPaddingX(editorPaddingX);
|
|
@@ -1282,12 +1283,19 @@ export class InteractiveMode {
|
|
|
1282
1283
|
this.editor.setAutocompleteMaxVisible?.(autocompleteMaxVisible);
|
|
1283
1284
|
}
|
|
1284
1285
|
}
|
|
1285
|
-
async rebindCurrentSession() {
|
|
1286
|
+
async rebindCurrentSession(options = {}) {
|
|
1286
1287
|
this.unsubscribe?.();
|
|
1287
1288
|
this.unsubscribe = undefined;
|
|
1288
1289
|
this.applyRuntimeSettings();
|
|
1289
|
-
|
|
1290
|
-
|
|
1290
|
+
if (options.renderBeforeBind) {
|
|
1291
|
+
this.renderCurrentSessionState();
|
|
1292
|
+
this.subscribeToAgent();
|
|
1293
|
+
await this.bindCurrentSessionExtensions();
|
|
1294
|
+
}
|
|
1295
|
+
else {
|
|
1296
|
+
await this.bindCurrentSessionExtensions();
|
|
1297
|
+
this.subscribeToAgent();
|
|
1298
|
+
}
|
|
1291
1299
|
await this.updateAvailableProviderCount();
|
|
1292
1300
|
this.updateEditorBorderColor();
|
|
1293
1301
|
this.updateTerminalTitle();
|
|
@@ -1300,6 +1308,7 @@ export class InteractiveMode {
|
|
|
1300
1308
|
process.exit(1);
|
|
1301
1309
|
}
|
|
1302
1310
|
renderCurrentSessionState() {
|
|
1311
|
+
this.loadedResourcesContainer.clear();
|
|
1303
1312
|
this.chatContainer.clear();
|
|
1304
1313
|
this.pendingMessagesContainer.clear();
|
|
1305
1314
|
this.compactionQueuedMessages = [];
|
|
@@ -1380,31 +1389,6 @@ export class InteractiveMode {
|
|
|
1380
1389
|
this.footerDataProvider.setExtensionStatus(key, text);
|
|
1381
1390
|
this.ui.requestRender();
|
|
1382
1391
|
}
|
|
1383
|
-
getWorkingLoaderMessage() {
|
|
1384
|
-
return this.workingMessage ?? this.defaultWorkingMessage;
|
|
1385
|
-
}
|
|
1386
|
-
getWorkingElapsedSeconds() {
|
|
1387
|
-
if (this.workingStartedAt === undefined) {
|
|
1388
|
-
return 0;
|
|
1389
|
-
}
|
|
1390
|
-
return Math.max(0, Math.floor((Date.now() - this.workingStartedAt) / 1000));
|
|
1391
|
-
}
|
|
1392
|
-
refreshWorkingLoaderMessage() {
|
|
1393
|
-
this.loadingAnimation?.setMessage(this.getWorkingLoaderMessage());
|
|
1394
|
-
}
|
|
1395
|
-
startWorkingElapsedTimer() {
|
|
1396
|
-
this.stopWorkingElapsedTimer();
|
|
1397
|
-
this.workingStartedAt = Date.now();
|
|
1398
|
-
this.workingElapsedIntervalId = setInterval(() => {
|
|
1399
|
-
this.refreshWorkingLoaderMessage();
|
|
1400
|
-
}, DEFAULT_WORKING_STATUS_REFRESH_INTERVAL_MS);
|
|
1401
|
-
}
|
|
1402
|
-
stopWorkingElapsedTimer() {
|
|
1403
|
-
if (this.workingElapsedIntervalId) {
|
|
1404
|
-
clearInterval(this.workingElapsedIntervalId);
|
|
1405
|
-
this.workingElapsedIntervalId = undefined;
|
|
1406
|
-
}
|
|
1407
|
-
}
|
|
1408
1392
|
startToolHookStatusTimer() {
|
|
1409
1393
|
if (this.hookStatusIntervalId) {
|
|
1410
1394
|
return;
|
|
@@ -1515,6 +1499,23 @@ export class InteractiveMode {
|
|
|
1515
1499
|
this.hookStatusContainer.clear();
|
|
1516
1500
|
this.stopToolHookStatusTimer();
|
|
1517
1501
|
}
|
|
1502
|
+
getWorkingElapsedSeconds() {
|
|
1503
|
+
if (this.workingStartedAt === undefined) {
|
|
1504
|
+
return 0;
|
|
1505
|
+
}
|
|
1506
|
+
return Math.max(0, Math.floor((Date.now() - this.workingStartedAt) / 1000));
|
|
1507
|
+
}
|
|
1508
|
+
getWorkingLoaderMessage() {
|
|
1509
|
+
return this.workingMessage ?? this.defaultWorkingMessage;
|
|
1510
|
+
}
|
|
1511
|
+
refreshWorkingLoaderMessage() {
|
|
1512
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1513
|
+
this.activeStatusIndicator.setMessage(this.getWorkingLoaderMessage());
|
|
1514
|
+
return;
|
|
1515
|
+
}
|
|
1516
|
+
const legacyLoader = this.loadingAnimation;
|
|
1517
|
+
legacyLoader?.setMessage(this.getWorkingLoaderMessage());
|
|
1518
|
+
}
|
|
1518
1519
|
getWorkingIndicatorOptions() {
|
|
1519
1520
|
return (this.workingIndicatorOptions ?? {
|
|
1520
1521
|
frames: theme.getColorMode() === "truecolor" ? ["•"] : [theme.fg("accent", "•"), theme.fg("muted", "◦")],
|
|
@@ -1532,36 +1533,53 @@ export class InteractiveMode {
|
|
|
1532
1533
|
messageIntervalMs: DEFAULT_WORKING_STATUS_MESSAGE_ANIMATION_INTERVAL_MS,
|
|
1533
1534
|
});
|
|
1534
1535
|
}
|
|
1535
|
-
|
|
1536
|
-
|
|
1536
|
+
showStatusIndicator(indicator) {
|
|
1537
|
+
if (indicator.kind === "working") {
|
|
1538
|
+
this.workingStartedAt = Date.now();
|
|
1539
|
+
}
|
|
1540
|
+
this.activeStatusIndicator?.dispose();
|
|
1541
|
+
this.activeStatusIndicator = indicator;
|
|
1542
|
+
this.statusContainer.clear();
|
|
1543
|
+
this.statusContainer.addChild(indicator);
|
|
1537
1544
|
}
|
|
1538
|
-
|
|
1539
|
-
this.
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1545
|
+
updateWorkingIndicatorMessage() {
|
|
1546
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1547
|
+
this.activeStatusIndicator.setMessage(this.workingMessage ?? this.defaultWorkingMessage);
|
|
1548
|
+
}
|
|
1549
|
+
}
|
|
1550
|
+
clearStatusIndicator(kind) {
|
|
1551
|
+
if (kind && this.activeStatusIndicator?.kind !== kind) {
|
|
1552
|
+
return;
|
|
1553
|
+
}
|
|
1554
|
+
const hadActiveStatusIndicator = this.activeStatusIndicator !== undefined;
|
|
1555
|
+
const isClearingWorking = this.activeStatusIndicator?.kind === "working";
|
|
1556
|
+
this.activeStatusIndicator?.dispose();
|
|
1557
|
+
this.activeStatusIndicator = undefined;
|
|
1558
|
+
if (isClearingWorking) {
|
|
1559
|
+
this.workingStartedAt = undefined;
|
|
1544
1560
|
}
|
|
1545
1561
|
this.statusContainer.clear();
|
|
1562
|
+
if (hadActiveStatusIndicator && this.ui.getClearOnShrink()) {
|
|
1563
|
+
this.statusContainer.addChild(this.idleStatus);
|
|
1564
|
+
}
|
|
1546
1565
|
}
|
|
1547
1566
|
setWorkingVisible(visible) {
|
|
1548
1567
|
this.workingVisible = visible;
|
|
1549
1568
|
if (!visible) {
|
|
1550
|
-
this.
|
|
1569
|
+
this.clearStatusIndicator("working");
|
|
1551
1570
|
this.ui.requestRender();
|
|
1552
1571
|
return;
|
|
1553
1572
|
}
|
|
1554
|
-
if (this.session.isStreaming &&
|
|
1555
|
-
this.
|
|
1556
|
-
this.startWorkingElapsedTimer();
|
|
1557
|
-
this.loadingAnimation = this.createWorkingLoader();
|
|
1558
|
-
this.statusContainer.addChild(this.loadingAnimation);
|
|
1573
|
+
if (this.session.isStreaming && this.activeStatusIndicator?.kind !== "working") {
|
|
1574
|
+
this.showStatusIndicator(new WorkingStatusIndicator(this.ui, this.workingMessage ?? this.defaultWorkingMessage, this.getWorkingIndicatorOptions()));
|
|
1559
1575
|
}
|
|
1560
1576
|
this.ui.requestRender();
|
|
1561
1577
|
}
|
|
1562
1578
|
setWorkingIndicator(options) {
|
|
1563
1579
|
this.workingIndicatorOptions = options;
|
|
1564
|
-
this.
|
|
1580
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1581
|
+
this.activeStatusIndicator.setIndicator(this.getWorkingIndicatorOptions());
|
|
1582
|
+
}
|
|
1565
1583
|
this.ui.requestRender();
|
|
1566
1584
|
}
|
|
1567
1585
|
setHiddenThinkingLabel(label) {
|
|
@@ -1653,7 +1671,7 @@ export class InteractiveMode {
|
|
|
1653
1671
|
this.workingMessage = undefined;
|
|
1654
1672
|
this.workingVisible = true;
|
|
1655
1673
|
this.setWorkingIndicator();
|
|
1656
|
-
this.
|
|
1674
|
+
this.updateWorkingIndicatorMessage();
|
|
1657
1675
|
this.setHiddenThinkingLabel();
|
|
1658
1676
|
this.clearToolHookStatuses();
|
|
1659
1677
|
}
|
|
@@ -1793,7 +1811,7 @@ export class InteractiveMode {
|
|
|
1793
1811
|
setStatus: (key, text) => this.setExtensionStatus(key, text),
|
|
1794
1812
|
setWorkingMessage: (message) => {
|
|
1795
1813
|
this.workingMessage = message;
|
|
1796
|
-
this.
|
|
1814
|
+
this.updateWorkingIndicatorMessage();
|
|
1797
1815
|
},
|
|
1798
1816
|
setWorkingVisible: (visible) => this.setWorkingVisible(visible),
|
|
1799
1817
|
setWorkingIndicator: (options) => this.setWorkingIndicator(options),
|
|
@@ -1939,7 +1957,7 @@ export class InteractiveMode {
|
|
|
1939
1957
|
}, () => {
|
|
1940
1958
|
this.hideExtensionEditor();
|
|
1941
1959
|
resolve(undefined);
|
|
1942
|
-
});
|
|
1960
|
+
}, undefined, this.settingsManager.getExternalEditorCommand());
|
|
1943
1961
|
this.editorContainer.clear();
|
|
1944
1962
|
this.editorContainer.addChild(this.extensionEditor);
|
|
1945
1963
|
this.ui.setFocus(this.extensionEditor);
|
|
@@ -2436,19 +2454,11 @@ export class InteractiveMode {
|
|
|
2436
2454
|
this.defaultEditor.onEscape = this.retryEscapeHandler;
|
|
2437
2455
|
this.retryEscapeHandler = undefined;
|
|
2438
2456
|
}
|
|
2439
|
-
if (this.retryCountdown) {
|
|
2440
|
-
this.retryCountdown.dispose();
|
|
2441
|
-
this.retryCountdown = undefined;
|
|
2442
|
-
}
|
|
2443
|
-
if (this.retryLoader) {
|
|
2444
|
-
this.retryLoader.stop();
|
|
2445
|
-
this.retryLoader = undefined;
|
|
2446
|
-
}
|
|
2447
|
-
this.stopWorkingLoader();
|
|
2448
2457
|
if (this.workingVisible) {
|
|
2449
|
-
this.
|
|
2450
|
-
|
|
2451
|
-
|
|
2458
|
+
this.showStatusIndicator(new WorkingStatusIndicator(this.ui, this.workingMessage ?? this.defaultWorkingMessage, this.getWorkingIndicatorOptions()));
|
|
2459
|
+
}
|
|
2460
|
+
else {
|
|
2461
|
+
this.clearStatusIndicator();
|
|
2452
2462
|
}
|
|
2453
2463
|
this.ui.requestRender();
|
|
2454
2464
|
break;
|
|
@@ -2479,7 +2489,7 @@ export class InteractiveMode {
|
|
|
2479
2489
|
this.ui.requestRender();
|
|
2480
2490
|
}
|
|
2481
2491
|
else if (event.message.role === "assistant") {
|
|
2482
|
-
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
|
|
2492
|
+
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad);
|
|
2483
2493
|
this.streamingComponent.setExpanded(this.toolOutputExpanded);
|
|
2484
2494
|
this.streamingMessage = event.message;
|
|
2485
2495
|
this.chatContainer.addChild(this.streamingComponent);
|
|
@@ -2589,7 +2599,7 @@ export class InteractiveMode {
|
|
|
2589
2599
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
2590
2600
|
this.ui.terminal.setProgress(false);
|
|
2591
2601
|
}
|
|
2592
|
-
this.
|
|
2602
|
+
this.clearStatusIndicator("working");
|
|
2593
2603
|
this.clearActiveToolExecutionStatus();
|
|
2594
2604
|
this.clearToolHookStatuses();
|
|
2595
2605
|
if (this.streamingComponent) {
|
|
@@ -2610,23 +2620,17 @@ export class InteractiveMode {
|
|
|
2610
2620
|
this.defaultEditor.onEscape = () => {
|
|
2611
2621
|
this.session.abortCompaction();
|
|
2612
2622
|
};
|
|
2623
|
+
const indicator = new CompactionStatusIndicator(this.ui, event.reason);
|
|
2624
|
+
this.activeStatusIndicator?.dispose();
|
|
2625
|
+
this.activeStatusIndicator = indicator;
|
|
2613
2626
|
this.statusContainer.clear();
|
|
2614
|
-
|
|
2615
|
-
const label = event.reason === "threshold"
|
|
2616
|
-
? `Auto-compacting... ${cancelHint}`
|
|
2617
|
-
: event.reason === "overflow"
|
|
2618
|
-
? `Context overflow detected, compacting... ${cancelHint}`
|
|
2619
|
-
: event.reason === "pre_prompt"
|
|
2620
|
-
? `Compacting before next prompt... ${cancelHint}`
|
|
2621
|
-
: `Compacting context... ${cancelHint}`;
|
|
2622
|
-
this.autoCompactionLoader = new Loader(this.ui, (spinner) => theme.fg("accent", spinner), (text) => theme.fg("muted", text), label);
|
|
2623
|
-
this.statusContainer.addChild(this.autoCompactionLoader);
|
|
2627
|
+
this.statusContainer.addChild(indicator);
|
|
2624
2628
|
this.autoCompactionProgressText = "";
|
|
2625
2629
|
this.ui.requestRender();
|
|
2626
2630
|
break;
|
|
2627
2631
|
}
|
|
2628
2632
|
case "compaction_progress": {
|
|
2629
|
-
if (
|
|
2633
|
+
if (this.activeStatusIndicator?.kind !== "compaction")
|
|
2630
2634
|
break;
|
|
2631
2635
|
const nextText = event.text !== undefined ? event.text : `${this.autoCompactionProgressText}${event.delta ?? ""}`;
|
|
2632
2636
|
if (!nextText)
|
|
@@ -2634,7 +2638,7 @@ export class InteractiveMode {
|
|
|
2634
2638
|
this.autoCompactionProgressText = nextText;
|
|
2635
2639
|
const preview = nextText.length > 4_000 ? `...${nextText.slice(nextText.length - 4_000)}` : nextText;
|
|
2636
2640
|
this.statusContainer.clear();
|
|
2637
|
-
this.statusContainer.addChild(this.
|
|
2641
|
+
this.statusContainer.addChild(this.activeStatusIndicator);
|
|
2638
2642
|
this.statusContainer.addChild(new Spacer(1));
|
|
2639
2643
|
this.statusContainer.addChild(new Text(theme.fg("muted", preview), 1, 0));
|
|
2640
2644
|
this.ui.requestRender();
|
|
@@ -2648,12 +2652,8 @@ export class InteractiveMode {
|
|
|
2648
2652
|
this.defaultEditor.onEscape = this.autoCompactionEscapeHandler;
|
|
2649
2653
|
this.autoCompactionEscapeHandler = undefined;
|
|
2650
2654
|
}
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
this.autoCompactionLoader = undefined;
|
|
2654
|
-
this.autoCompactionProgressText = "";
|
|
2655
|
-
this.statusContainer.clear();
|
|
2656
|
-
}
|
|
2655
|
+
this.clearStatusIndicator("compaction");
|
|
2656
|
+
this.autoCompactionProgressText = "";
|
|
2657
2657
|
if (event.aborted) {
|
|
2658
2658
|
if (event.reason === "manual") {
|
|
2659
2659
|
this.showError("Compaction cancelled");
|
|
@@ -2687,17 +2687,7 @@ export class InteractiveMode {
|
|
|
2687
2687
|
// no separate retry-only handler is installed (the prior one only called
|
|
2688
2688
|
// session.abortRetry() and left queued steering messages stranded).
|
|
2689
2689
|
this.retryEscapeHandler = undefined;
|
|
2690
|
-
|
|
2691
|
-
this.statusContainer.clear();
|
|
2692
|
-
this.retryCountdown?.dispose();
|
|
2693
|
-
const retryMessage = (seconds) => `Retrying (${event.attempt}/${event.maxAttempts}) in ${seconds}s... (${keyText("app.interrupt")} to cancel)`;
|
|
2694
|
-
this.retryLoader = new Loader(this.ui, (spinner) => theme.fg("warning", spinner), (text) => theme.fg("muted", text), retryMessage(Math.ceil(event.delayMs / 1000)));
|
|
2695
|
-
this.retryCountdown = new CountdownTimer(event.delayMs, this.ui, (seconds) => {
|
|
2696
|
-
this.retryLoader?.setMessage(retryMessage(seconds));
|
|
2697
|
-
}, () => {
|
|
2698
|
-
this.retryCountdown = undefined;
|
|
2699
|
-
});
|
|
2700
|
-
this.statusContainer.addChild(this.retryLoader);
|
|
2690
|
+
this.showStatusIndicator(new RetryStatusIndicator(this.ui, event.attempt, event.maxAttempts, event.delayMs));
|
|
2701
2691
|
this.ui.requestRender();
|
|
2702
2692
|
break;
|
|
2703
2693
|
}
|
|
@@ -2707,16 +2697,7 @@ export class InteractiveMode {
|
|
|
2707
2697
|
this.defaultEditor.onEscape = this.retryEscapeHandler;
|
|
2708
2698
|
this.retryEscapeHandler = undefined;
|
|
2709
2699
|
}
|
|
2710
|
-
|
|
2711
|
-
this.retryCountdown.dispose();
|
|
2712
|
-
this.retryCountdown = undefined;
|
|
2713
|
-
}
|
|
2714
|
-
// Stop loader
|
|
2715
|
-
if (this.retryLoader) {
|
|
2716
|
-
this.retryLoader.stop();
|
|
2717
|
-
this.retryLoader = undefined;
|
|
2718
|
-
this.statusContainer.clear();
|
|
2719
|
-
}
|
|
2700
|
+
this.clearStatusIndicator("retry");
|
|
2720
2701
|
// Show error only on final failure (success shows normal response)
|
|
2721
2702
|
if (!event.success) {
|
|
2722
2703
|
this.showError(`Retry failed after ${event.attempt} attempts: ${event.finalError || "Unknown error"}`);
|
|
@@ -2807,12 +2788,12 @@ export class InteractiveMode {
|
|
|
2807
2788
|
// Render user message separately if present
|
|
2808
2789
|
if (skillBlock.userMessage) {
|
|
2809
2790
|
this.chatContainer.addChild(new Spacer(1));
|
|
2810
|
-
const userComponent = new UserMessageComponent(skillBlock.userMessage, this.getMarkdownThemeWithSettings());
|
|
2791
|
+
const userComponent = new UserMessageComponent(skillBlock.userMessage, this.getMarkdownThemeWithSettings(), this.outputPad);
|
|
2811
2792
|
this.chatContainer.addChild(userComponent);
|
|
2812
2793
|
}
|
|
2813
2794
|
}
|
|
2814
2795
|
else {
|
|
2815
|
-
const userComponent = new UserMessageComponent(textContent, this.getMarkdownThemeWithSettings());
|
|
2796
|
+
const userComponent = new UserMessageComponent(textContent, this.getMarkdownThemeWithSettings(), this.outputPad);
|
|
2816
2797
|
this.chatContainer.addChild(userComponent);
|
|
2817
2798
|
}
|
|
2818
2799
|
if (options?.populateHistory) {
|
|
@@ -2822,7 +2803,7 @@ export class InteractiveMode {
|
|
|
2822
2803
|
break;
|
|
2823
2804
|
}
|
|
2824
2805
|
case "assistant": {
|
|
2825
|
-
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
|
|
2806
|
+
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad);
|
|
2826
2807
|
assistantComponent.setExpanded(this.toolOutputExpanded);
|
|
2827
2808
|
this.chatContainer.addChild(assistantComponent);
|
|
2828
2809
|
break;
|
|
@@ -2906,8 +2887,7 @@ export class InteractiveMode {
|
|
|
2906
2887
|
});
|
|
2907
2888
|
this.renderProjectTrustWarningIfNeeded();
|
|
2908
2889
|
// Show compaction info if session was compacted
|
|
2909
|
-
const
|
|
2910
|
-
const compactionCount = allEntries.filter((e) => e.type === "compaction").length;
|
|
2890
|
+
const compactionCount = this.sessionManager.countCompactions();
|
|
2911
2891
|
if (compactionCount > 0) {
|
|
2912
2892
|
const times = compactionCount === 1 ? "1 time" : `${compactionCount} times`;
|
|
2913
2893
|
this.showStatus(`Session compacted ${times}`);
|
|
@@ -3207,9 +3187,11 @@ export class InteractiveMode {
|
|
|
3207
3187
|
if (isExpandable(activeHeader)) {
|
|
3208
3188
|
activeHeader.setExpanded(expanded);
|
|
3209
3189
|
}
|
|
3210
|
-
for (const
|
|
3211
|
-
|
|
3212
|
-
child
|
|
3190
|
+
for (const container of [this.loadedResourcesContainer, this.chatContainer]) {
|
|
3191
|
+
for (const child of container.children) {
|
|
3192
|
+
if (isExpandable(child)) {
|
|
3193
|
+
child.setExpanded(expanded);
|
|
3194
|
+
}
|
|
3213
3195
|
}
|
|
3214
3196
|
}
|
|
3215
3197
|
this.ui.requestRender();
|
|
@@ -3229,10 +3211,9 @@ export class InteractiveMode {
|
|
|
3229
3211
|
this.showStatus(`Thinking blocks: ${this.hideThinkingBlock ? "hidden" : "visible"}`);
|
|
3230
3212
|
}
|
|
3231
3213
|
async openExternalEditor() {
|
|
3232
|
-
|
|
3233
|
-
const editorCmd = process.env.VISUAL || process.env.EDITOR;
|
|
3214
|
+
const editorCmd = this.settingsManager.getExternalEditorCommand();
|
|
3234
3215
|
if (!editorCmd) {
|
|
3235
|
-
this.showWarning("No editor configured. Set
|
|
3216
|
+
this.showWarning("No editor configured. Set externalEditor in settings.json or $VISUAL/$EDITOR.");
|
|
3236
3217
|
return;
|
|
3237
3218
|
}
|
|
3238
3219
|
const currentText = this.editor.getExpandedText?.() ?? this.editor.getText();
|
|
@@ -3297,7 +3278,7 @@ export class InteractiveMode {
|
|
|
3297
3278
|
showNewVersionNotification(newVersion) {
|
|
3298
3279
|
const action = theme.fg("accent", `${APP_NAME} update`);
|
|
3299
3280
|
const updateInstruction = theme.fg("muted", `New version ${newVersion} is available. Run `) + action;
|
|
3300
|
-
const changelogUrl =
|
|
3281
|
+
const changelogUrl = getReleaseChangelogUrl(newVersion);
|
|
3301
3282
|
const changelogLink = getCapabilities().hyperlinks
|
|
3302
3283
|
? hyperlink(theme.fg("accent", changelogUrl), changelogUrl)
|
|
3303
3284
|
: theme.fg("accent", changelogUrl);
|
|
@@ -3550,6 +3531,7 @@ export class InteractiveMode {
|
|
|
3550
3531
|
showHardwareCursor: this.settingsManager.getShowHardwareCursor(),
|
|
3551
3532
|
defaultProjectTrust: this.settingsManager.getDefaultProjectTrust(),
|
|
3552
3533
|
editorPaddingX: this.settingsManager.getEditorPaddingX(),
|
|
3534
|
+
outputPad: this.settingsManager.getOutputPad(),
|
|
3553
3535
|
autocompleteMaxVisible: this.settingsManager.getAutocompleteMaxVisible(),
|
|
3554
3536
|
quietStartup: this.settingsManager.getQuietStartup(),
|
|
3555
3537
|
clearOnShrink: this.settingsManager.getClearOnShrink(),
|
|
@@ -3651,6 +3633,23 @@ export class InteractiveMode {
|
|
|
3651
3633
|
this.editor.setPaddingX(padding);
|
|
3652
3634
|
}
|
|
3653
3635
|
},
|
|
3636
|
+
onOutputPadChange: (padding) => {
|
|
3637
|
+
this.settingsManager.setOutputPad(padding);
|
|
3638
|
+
this.outputPad = padding;
|
|
3639
|
+
if (this.streamingComponent || this.session.isStreaming) {
|
|
3640
|
+
for (const child of this.chatContainer.children) {
|
|
3641
|
+
if (child instanceof AssistantMessageComponent || child instanceof UserMessageComponent) {
|
|
3642
|
+
child.setOutputPad(padding);
|
|
3643
|
+
}
|
|
3644
|
+
}
|
|
3645
|
+
if (this.streamingComponent) {
|
|
3646
|
+
this.streamingComponent.setOutputPad(padding);
|
|
3647
|
+
}
|
|
3648
|
+
this.ui.requestRender();
|
|
3649
|
+
return;
|
|
3650
|
+
}
|
|
3651
|
+
this.rebuildChatFromMessages();
|
|
3652
|
+
},
|
|
3654
3653
|
onAutocompleteMaxVisibleChange: (maxVisible) => {
|
|
3655
3654
|
this.settingsManager.setAutocompleteMaxVisible(maxVisible);
|
|
3656
3655
|
this.defaultEditor.setAutocompleteMaxVisible(maxVisible);
|
|
@@ -3661,6 +3660,9 @@ export class InteractiveMode {
|
|
|
3661
3660
|
onClearOnShrinkChange: (enabled) => {
|
|
3662
3661
|
this.settingsManager.setClearOnShrink(enabled);
|
|
3663
3662
|
this.ui.setClearOnShrink(enabled);
|
|
3663
|
+
if (!enabled && !this.activeStatusIndicator) {
|
|
3664
|
+
this.statusContainer.clear();
|
|
3665
|
+
}
|
|
3664
3666
|
},
|
|
3665
3667
|
onShowTerminalProgressChange: (enabled) => {
|
|
3666
3668
|
this.settingsManager.setShowTerminalProgress(enabled);
|
|
@@ -3912,7 +3914,6 @@ export class InteractiveMode {
|
|
|
3912
3914
|
this.ui.requestRender();
|
|
3913
3915
|
return;
|
|
3914
3916
|
}
|
|
3915
|
-
this.renderCurrentSessionState();
|
|
3916
3917
|
this.editor.setText(result.selectedText ?? "");
|
|
3917
3918
|
done();
|
|
3918
3919
|
this.showStatus("Forked to new session");
|
|
@@ -3940,7 +3941,6 @@ export class InteractiveMode {
|
|
|
3940
3941
|
this.ui.requestRender();
|
|
3941
3942
|
return;
|
|
3942
3943
|
}
|
|
3943
|
-
this.renderCurrentSessionState();
|
|
3944
3944
|
this.editor.setText("");
|
|
3945
3945
|
this.showStatus("Cloned to new session");
|
|
3946
3946
|
}
|
|
@@ -3994,16 +3994,16 @@ export class InteractiveMode {
|
|
|
3994
3994
|
break;
|
|
3995
3995
|
}
|
|
3996
3996
|
}
|
|
3997
|
-
// Set up escape handler and
|
|
3998
|
-
let
|
|
3997
|
+
// Set up escape handler and status indicator if summarizing
|
|
3998
|
+
let showingSummaryIndicator = false;
|
|
3999
3999
|
const originalOnEscape = this.defaultEditor.onEscape;
|
|
4000
4000
|
if (wantsSummary) {
|
|
4001
4001
|
this.defaultEditor.onEscape = () => {
|
|
4002
4002
|
this.session.abortBranchSummary();
|
|
4003
4003
|
};
|
|
4004
4004
|
this.chatContainer.addChild(new Spacer(1));
|
|
4005
|
-
|
|
4006
|
-
|
|
4005
|
+
this.showStatusIndicator(new BranchSummaryStatusIndicator(this.ui));
|
|
4006
|
+
showingSummaryIndicator = true;
|
|
4007
4007
|
this.ui.requestRender();
|
|
4008
4008
|
}
|
|
4009
4009
|
try {
|
|
@@ -4034,9 +4034,8 @@ export class InteractiveMode {
|
|
|
4034
4034
|
this.showError(error instanceof Error ? error.message : String(error));
|
|
4035
4035
|
}
|
|
4036
4036
|
finally {
|
|
4037
|
-
if (
|
|
4038
|
-
|
|
4039
|
-
this.statusContainer.clear();
|
|
4037
|
+
if (showingSummaryIndicator) {
|
|
4038
|
+
this.clearStatusIndicator("branchSummary");
|
|
4040
4039
|
}
|
|
4041
4040
|
this.defaultEditor.onEscape = originalOnEscape;
|
|
4042
4041
|
}
|
|
@@ -4077,7 +4076,7 @@ export class InteractiveMode {
|
|
|
4077
4076
|
});
|
|
4078
4077
|
}
|
|
4079
4078
|
async handleResumeSession(sessionPath, options) {
|
|
4080
|
-
this.
|
|
4079
|
+
this.clearStatusIndicator();
|
|
4081
4080
|
try {
|
|
4082
4081
|
const result = await this.runtimeHost.switchSession(sessionPath, {
|
|
4083
4082
|
withSession: options?.withSession,
|
|
@@ -4086,7 +4085,6 @@ export class InteractiveMode {
|
|
|
4086
4085
|
if (result.cancelled) {
|
|
4087
4086
|
return result;
|
|
4088
4087
|
}
|
|
4089
|
-
this.renderCurrentSessionState();
|
|
4090
4088
|
this.showStatus("Resumed session");
|
|
4091
4089
|
return result;
|
|
4092
4090
|
}
|
|
@@ -4105,7 +4103,6 @@ export class InteractiveMode {
|
|
|
4105
4103
|
if (result.cancelled) {
|
|
4106
4104
|
return result;
|
|
4107
4105
|
}
|
|
4108
|
-
this.renderCurrentSessionState();
|
|
4109
4106
|
this.showStatus("Resumed session in current cwd");
|
|
4110
4107
|
return result;
|
|
4111
4108
|
}
|
|
@@ -4467,8 +4464,20 @@ export class InteractiveMode {
|
|
|
4467
4464
|
this.ui.setFocus(editor);
|
|
4468
4465
|
this.ui.requestRender();
|
|
4469
4466
|
};
|
|
4467
|
+
let chatRestoredBeforeSessionStart = false;
|
|
4468
|
+
let reloadBoxDismissed = false;
|
|
4469
|
+
const restoreChatBeforeSessionStart = () => {
|
|
4470
|
+
if (chatRestoredBeforeSessionStart) {
|
|
4471
|
+
return;
|
|
4472
|
+
}
|
|
4473
|
+
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
4474
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
4475
|
+
this.rebuildChatFromMessages();
|
|
4476
|
+
chatRestoredBeforeSessionStart = true;
|
|
4477
|
+
};
|
|
4470
4478
|
try {
|
|
4471
|
-
await this.session.reload();
|
|
4479
|
+
await this.session.reload({ beforeSessionStart: restoreChatBeforeSessionStart });
|
|
4480
|
+
restoreChatBeforeSessionStart();
|
|
4472
4481
|
configureHttpDispatcher(this.settingsManager.getHttpIdleTimeoutMs());
|
|
4473
4482
|
this.keybindings.reload();
|
|
4474
4483
|
const activeHeader = this.customHeader ?? this.builtInHeader;
|
|
@@ -4476,7 +4485,6 @@ export class InteractiveMode {
|
|
|
4476
4485
|
activeHeader.setExpanded(this.toolOutputExpanded);
|
|
4477
4486
|
}
|
|
4478
4487
|
setRegisteredThemes(this.session.resourceLoader.getThemes().themes);
|
|
4479
|
-
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
4480
4488
|
await this.themeController.applyFromSettings();
|
|
4481
4489
|
const editorPaddingX = this.settingsManager.getEditorPaddingX();
|
|
4482
4490
|
const autocompleteMaxVisible = this.settingsManager.getAutocompleteMaxVisible();
|
|
@@ -4487,12 +4495,14 @@ export class InteractiveMode {
|
|
|
4487
4495
|
this.editor.setAutocompleteMaxVisible?.(autocompleteMaxVisible);
|
|
4488
4496
|
}
|
|
4489
4497
|
this.ui.setShowHardwareCursor(this.settingsManager.getShowHardwareCursor());
|
|
4490
|
-
this.
|
|
4498
|
+
const clearOnShrink = this.settingsManager.getClearOnShrink();
|
|
4499
|
+
this.ui.setClearOnShrink(clearOnShrink);
|
|
4500
|
+
if (!clearOnShrink && !this.activeStatusIndicator) {
|
|
4501
|
+
this.statusContainer.clear();
|
|
4502
|
+
}
|
|
4491
4503
|
this.setupAutocompleteProvider();
|
|
4492
4504
|
const runner = this.session.extensionRunner;
|
|
4493
4505
|
this.setupExtensionShortcuts(runner);
|
|
4494
|
-
this.rebuildChatFromMessages();
|
|
4495
|
-
dismissReloadBox(this.editor);
|
|
4496
4506
|
this.showLoadedResources({
|
|
4497
4507
|
force: false,
|
|
4498
4508
|
showDiagnosticsWhenQuiet: true,
|
|
@@ -4505,9 +4515,13 @@ export class InteractiveMode {
|
|
|
4505
4515
|
this.showStatus(savedImplicitProjectTrust
|
|
4506
4516
|
? "Reloaded keybindings, extensions, skills, prompts, themes; saved project trust"
|
|
4507
4517
|
: "Reloaded keybindings, extensions, skills, prompts, themes");
|
|
4518
|
+
dismissReloadBox(this.editor);
|
|
4519
|
+
reloadBoxDismissed = true;
|
|
4508
4520
|
}
|
|
4509
4521
|
catch (error) {
|
|
4510
|
-
|
|
4522
|
+
if (!reloadBoxDismissed) {
|
|
4523
|
+
dismissReloadBox(previousEditor);
|
|
4524
|
+
}
|
|
4511
4525
|
this.showError(`Reload failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
4512
4526
|
}
|
|
4513
4527
|
}
|
|
@@ -4564,13 +4578,12 @@ export class InteractiveMode {
|
|
|
4564
4578
|
return;
|
|
4565
4579
|
}
|
|
4566
4580
|
try {
|
|
4567
|
-
this.
|
|
4581
|
+
this.clearStatusIndicator();
|
|
4568
4582
|
const result = await this.runtimeHost.importFromJsonl(inputPath);
|
|
4569
4583
|
if (result.cancelled) {
|
|
4570
4584
|
this.showStatus("Import cancelled");
|
|
4571
4585
|
return;
|
|
4572
4586
|
}
|
|
4573
|
-
this.renderCurrentSessionState();
|
|
4574
4587
|
this.showStatus(`Session imported from: ${inputPath}`);
|
|
4575
4588
|
}
|
|
4576
4589
|
catch (error) {
|
|
@@ -4585,7 +4598,6 @@ export class InteractiveMode {
|
|
|
4585
4598
|
this.showStatus("Import cancelled");
|
|
4586
4599
|
return;
|
|
4587
4600
|
}
|
|
4588
|
-
this.renderCurrentSessionState();
|
|
4589
4601
|
this.showStatus(`Session imported from: ${inputPath}`);
|
|
4590
4602
|
return;
|
|
4591
4603
|
}
|
|
@@ -4712,8 +4724,12 @@ export class InteractiveMode {
|
|
|
4712
4724
|
return;
|
|
4713
4725
|
}
|
|
4714
4726
|
this.session.setSessionName(name);
|
|
4727
|
+
const sessionName = this.sessionManager.getSessionName();
|
|
4728
|
+
if (sessionName !== name) {
|
|
4729
|
+
this.showWarning(`Session name was normalized from ${JSON.stringify(name)} to ${JSON.stringify(sessionName)}`);
|
|
4730
|
+
}
|
|
4715
4731
|
this.chatContainer.addChild(new Spacer(1));
|
|
4716
|
-
this.chatContainer.addChild(new Text(theme.fg("dim", `Session name set: ${name}`), 1, 0));
|
|
4732
|
+
this.chatContainer.addChild(new Text(theme.fg("dim", `Session name set: ${sessionName ?? name}`), 1, 0));
|
|
4717
4733
|
this.ui.requestRender();
|
|
4718
4734
|
}
|
|
4719
4735
|
handleSessionCommand() {
|
|
@@ -4865,13 +4881,12 @@ export class InteractiveMode {
|
|
|
4865
4881
|
this.ui.requestRender();
|
|
4866
4882
|
}
|
|
4867
4883
|
async handleClearCommand() {
|
|
4868
|
-
this.
|
|
4884
|
+
this.clearStatusIndicator();
|
|
4869
4885
|
try {
|
|
4870
4886
|
const result = await this.runtimeHost.newSession();
|
|
4871
4887
|
if (result.cancelled) {
|
|
4872
4888
|
return;
|
|
4873
4889
|
}
|
|
4874
|
-
this.renderCurrentSessionState();
|
|
4875
4890
|
this.chatContainer.addChild(new Spacer(1));
|
|
4876
4891
|
this.chatContainer.addChild(new Text(`${theme.fg("accent", "✓ New session started")}`, 1, 1));
|
|
4877
4892
|
this.ui.requestRender();
|
|
@@ -4999,8 +5014,7 @@ export class InteractiveMode {
|
|
|
4999
5014
|
this.showWarning("Nothing to compact (no messages yet)");
|
|
5000
5015
|
return;
|
|
5001
5016
|
}
|
|
5002
|
-
this.
|
|
5003
|
-
this.statusContainer.clear();
|
|
5017
|
+
this.clearStatusIndicator();
|
|
5004
5018
|
try {
|
|
5005
5019
|
await this.session.compact(customInstructions);
|
|
5006
5020
|
}
|
|
@@ -5012,7 +5026,7 @@ export class InteractiveMode {
|
|
|
5012
5026
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
5013
5027
|
this.ui.terminal.setProgress(false);
|
|
5014
5028
|
}
|
|
5015
|
-
this.
|
|
5029
|
+
this.clearStatusIndicator();
|
|
5016
5030
|
this.clearPendingTools();
|
|
5017
5031
|
this.clearActiveToolExecutionStatus();
|
|
5018
5032
|
this.clearToolHookStatuses();
|