@ai-agent-forge/agent-forge 0.86.6 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -1
- package/README.md +8 -9
- package/dist/artifacts/artifact-store.d.ts.map +1 -1
- package/dist/artifacts/artifact-store.js +9 -5
- package/dist/artifacts/artifact-store.js.map +1 -1
- package/dist/bundle/.build-manifest.json +410 -371
- package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
- package/dist/bundle/chunks/chunk-BFC2BDVJ.js +13 -0
- package/dist/bundle/chunks/chunk-MOHOLL3F.js +1456 -0
- package/dist/bundle/chunks/image-resize-worker.js +12 -1
- package/dist/bundle/chunks/{virtual-modules-3IZ4MYSQ.js → virtual-modules-KZ5DRH7Q.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/client.js +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +231 -185
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js +3 -2
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js +15 -9
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +14 -7
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/command.d.ts.map +1 -1
- package/dist/cli/experimental/command.js +6 -5
- package/dist/cli/experimental/command.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +9 -8
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/plugin-manager-controller.d.ts.map +1 -1
- package/dist/cli/plugin-manager-controller.js +2 -1
- package/dist/cli/plugin-manager-controller.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +8 -5
- package/dist/cli/serve.js.map +1 -1
- package/dist/client/remote-session.d.ts.map +1 -1
- package/dist/client/remote-session.js +16 -9
- package/dist/client/remote-session.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/core/agent-capability-contract.d.ts +0 -7
- package/dist/core/agent-capability-contract.d.ts.map +1 -1
- package/dist/core/agent-capability-contract.js +72 -68
- package/dist/core/agent-capability-contract.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +5 -4
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +28 -22
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-context.d.ts.map +1 -1
- package/dist/core/agent-session-context.js +18 -13
- package/dist/core/agent-session-context.js.map +1 -1
- package/dist/core/agent-session-model.d.ts.map +1 -1
- package/dist/core/agent-session-model.js +2 -1
- package/dist/core/agent-session-model.js.map +1 -1
- package/dist/core/agent-session-retry.d.ts.map +1 -1
- package/dist/core/agent-session-retry.js +3 -2
- package/dist/core/agent-session-retry.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +7 -6
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-tools.d.ts.map +1 -1
- package/dist/core/agent-session-tools.js +3 -2
- package/dist/core/agent-session-tools.js.map +1 -1
- package/dist/core/agent-session.d.ts +40 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +142 -34
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js +11 -5
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +9 -6
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +2 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/embedded-sdk.d.ts.map +1 -1
- package/dist/core/embedded-sdk.js +10 -6
- package/dist/core/embedded-sdk.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +9 -4
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/extensions/agent-composition.d.ts.map +1 -1
- package/dist/core/extensions/agent-composition.js +26 -19
- package/dist/core/extensions/agent-composition.js.map +1 -1
- package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
- package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
- package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
- package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
- package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
- package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
- package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-retry-policy.js +2 -1
- package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
- package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-skills.js +7 -6
- package/dist/core/extensions/bootstrap-skills.js.map +1 -1
- package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-tools.js +2 -1
- package/dist/core/extensions/bootstrap-tools.js.map +1 -1
- package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
- package/dist/core/extensions/capability-plugin.js +37 -13
- package/dist/core/extensions/capability-plugin.js.map +1 -1
- package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-events.js +17 -13
- package/dist/core/extensions/capability-runtime-events.js.map +1 -1
- package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-guards.js +16 -15
- package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
- package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-manifest.js +52 -30
- package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
- package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-validation.js +66 -65
- package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
- package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime.js +147 -127
- package/dist/core/extensions/capability-runtime.js.map +1 -1
- package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
- package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
- package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
- package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
- package/dist/core/extensions/context-strategy-binding.js +7 -4
- package/dist/core/extensions/context-strategy-binding.js.map +1 -1
- package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
- package/dist/core/extensions/lifecycle-catalog.js +290 -279
- package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
- package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
- package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
- package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
- package/dist/core/facade/coding-agent-facade.d.ts +6 -0
- package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
- package/dist/core/facade/coding-agent-facade.js +2 -0
- package/dist/core/facade/coding-agent-facade.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +2 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/i18n/index.d.ts +14 -0
- package/dist/core/i18n/index.d.ts.map +1 -0
- package/dist/core/i18n/index.js +67 -0
- package/dist/core/i18n/index.js.map +1 -0
- package/dist/core/i18n/locales/en/example.d.ts +7 -0
- package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
- package/dist/core/i18n/locales/en/example.js +7 -0
- package/dist/core/i18n/locales/en/example.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
- package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/cli.js +227 -0
- package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
- package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/common.js +6 -0
- package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
- package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/example.js +10 -0
- package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
- package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/index.js +41 -0
- package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.js +265 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +288 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
- package/dist/core/keybindings.d.ts +15 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +18 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +5 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +2 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +8 -4
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/package-install-host.d.ts.map +1 -1
- package/dist/core/package-install-host.js +4 -3
- package/dist/core/package-install-host.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +15 -10
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/package-resource-collection.d.ts.map +1 -1
- package/dist/core/package-resource-collection.js +2 -1
- package/dist/core/package-resource-collection.js.map +1 -1
- package/dist/core/package-source.d.ts.map +1 -1
- package/dist/core/package-source.js +3 -2
- package/dist/core/package-source.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +22 -13
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +6 -2
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +15 -5
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/sdk.d.ts +19 -5
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +74 -54
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js +5 -2
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-export.d.ts.map +1 -1
- package/dist/core/session-export.js +2 -1
- package/dist/core/session-export.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +39 -29
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-storage.d.ts.map +1 -1
- package/dist/core/session-storage.js +3 -3
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/settings-manager.d.ts +11 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +27 -5
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +53 -32
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +25 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +11 -7
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +9 -4
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +4 -3
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +3 -2
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +2 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +6 -2
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +2 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/durable/durable-service.d.ts.map +1 -1
- package/dist/durable/durable-service.js +25 -18
- package/dist/durable/durable-service.js.map +1 -1
- package/dist/host/checkpoint-commit.d.ts.map +1 -1
- package/dist/host/checkpoint-commit.js +2 -1
- package/dist/host/checkpoint-commit.js.map +1 -1
- package/dist/host/manual-compaction.d.ts.map +1 -1
- package/dist/host/manual-compaction.js +2 -1
- package/dist/host/manual-compaction.js.map +1 -1
- package/dist/host/output-projection.d.ts +0 -13
- package/dist/host/output-projection.d.ts.map +1 -1
- package/dist/host/output-projection.js +16 -2
- package/dist/host/output-projection.js.map +1 -1
- package/dist/host/summary-retry.d.ts.map +1 -1
- package/dist/host/summary-retry.js +3 -2
- package/dist/host/summary-retry.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +94 -58
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/agents-view.js +18 -15
- package/dist/modes/interactive/components/agents-view.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +6 -5
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +12 -7
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +2 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +6 -5
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +18 -15
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +2 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-editor.js +5 -4
- package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
- package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-input.js +2 -1
- package/dist/modes/interactive/components/dialog-input.js.map +1 -1
- package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-selector.js +4 -3
- package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +11 -10
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +7 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +3 -2
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +12 -11
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js +6 -2
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +28 -16
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +10 -9
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
- package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
- package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
- package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
- package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
- package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
- package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +43 -31
- 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 +113 -96
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.js +5 -4
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +3 -2
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +14 -5
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +2 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +11 -4
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +8 -3
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-list.js +7 -6
- package/dist/modes/interactive/components/tree-list.js.map +1 -1
- package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-render.js +28 -23
- package/dist/modes/interactive/components/tree-render.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +9 -7
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +5 -4
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/workflow-view.js +36 -21
- package/dist/modes/interactive/components/workflow-view.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth.js +71 -40
- package/dist/modes/interactive/interactive-auth.js.map +1 -1
- package/dist/modes/interactive/interactive-commands.d.ts +1 -0
- package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-commands.js +3 -0
- package/dist/modes/interactive/interactive-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
- package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-format.js +34 -18
- package/dist/modes/interactive/interactive-format.js.map +1 -1
- package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-helpers.js +7 -2
- package/dist/modes/interactive/interactive-helpers.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +4 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +327 -243
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
- package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +79 -25
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +5 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +26 -23
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +3 -2
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +3 -2
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +3 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +28 -13
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
- package/dist/plugins/ecosystem/catalog.js +3 -2
- package/dist/plugins/ecosystem/catalog.js.map +1 -1
- package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
- package/dist/plugins/ecosystem/cli.js +2 -1
- package/dist/plugins/ecosystem/cli.js.map +1 -1
- package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
- package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
- package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
- package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
- package/dist/plugins/ecosystem/distribution.js +2 -1
- package/dist/plugins/ecosystem/distribution.js.map +1 -1
- package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
- package/dist/plugins/ecosystem/installer.js +3 -2
- package/dist/plugins/ecosystem/installer.js.map +1 -1
- package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
- package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
- package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
- package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
- package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
- package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
- package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js +21 -5
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
- package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
- package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-registry-source.js +31 -30
- package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
- package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
- package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
- package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
- package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
- package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
- package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
- package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
- package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
- package/dist/plugins/ecosystem/registry.js +35 -32
- package/dist/plugins/ecosystem/registry.js.map +1 -1
- package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
- package/dist/plugins/ecosystem/resolver.js +3 -2
- package/dist/plugins/ecosystem/resolver.js.map +1 -1
- package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
- package/dist/plugins/ecosystem/selection-store.js +11 -10
- package/dist/plugins/ecosystem/selection-store.js.map +1 -1
- package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
- package/dist/plugins/ecosystem/selection.js +8 -7
- package/dist/plugins/ecosystem/selection.js.map +1 -1
- package/dist/plugins/ecosystem/state.d.ts.map +1 -1
- package/dist/plugins/ecosystem/state.js +24 -23
- package/dist/plugins/ecosystem/state.js.map +1 -1
- package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
- package/dist/plugins/ecosystem/updates.js +5 -4
- package/dist/plugins/ecosystem/updates.js.map +1 -1
- package/dist/plugins/mcp-http.d.ts +0 -17
- package/dist/plugins/mcp-http.d.ts.map +1 -1
- package/dist/plugins/mcp-http.js +30 -7
- package/dist/plugins/mcp-http.js.map +1 -1
- package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
- package/dist/plugins/plugin-supervisor.js +19 -1
- package/dist/plugins/plugin-supervisor.js.map +1 -1
- package/dist/profile/first-roles.d.ts.map +1 -1
- package/dist/profile/first-roles.js +10 -1
- package/dist/profile/first-roles.js.map +1 -1
- package/dist/profile/goal-plugin.d.ts.map +1 -1
- package/dist/profile/goal-plugin.js +24 -5
- package/dist/profile/goal-plugin.js.map +1 -1
- package/dist/profile/identity.d.ts.map +1 -1
- package/dist/profile/identity.js +7 -6
- package/dist/profile/identity.js.map +1 -1
- package/dist/profile/lock.d.ts.map +1 -1
- package/dist/profile/lock.js +15 -1
- package/dist/profile/lock.js.map +1 -1
- package/dist/profile/plan-plugin.d.ts.map +1 -1
- package/dist/profile/plan-plugin.js +26 -13
- package/dist/profile/plan-plugin.js.map +1 -1
- package/dist/profile/plugin-profiles.d.ts.map +1 -1
- package/dist/profile/plugin-profiles.js +2 -1
- package/dist/profile/plugin-profiles.js.map +1 -1
- package/dist/profile/policy-manifest.d.ts.map +1 -1
- package/dist/profile/policy-manifest.js +5 -4
- package/dist/profile/policy-manifest.js.map +1 -1
- package/dist/profile/profile-registry.d.ts +0 -12
- package/dist/profile/profile-registry.d.ts.map +1 -1
- package/dist/profile/profile-registry.js +14 -1
- package/dist/profile/profile-registry.js.map +1 -1
- package/dist/profile/role-catalog.d.ts +0 -1
- package/dist/profile/role-catalog.d.ts.map +1 -1
- package/dist/profile/role-catalog.js +17 -15
- package/dist/profile/role-catalog.js.map +1 -1
- package/dist/profile/role-orchestrator.d.ts.map +1 -1
- package/dist/profile/role-orchestrator.js +8 -7
- package/dist/profile/role-orchestrator.js.map +1 -1
- package/dist/profile/role-runner.d.ts.map +1 -1
- package/dist/profile/role-runner.js +3 -2
- package/dist/profile/role-runner.js.map +1 -1
- package/dist/profile/root-facade.d.ts.map +1 -1
- package/dist/profile/root-facade.js +2 -1
- package/dist/profile/root-facade.js.map +1 -1
- package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
- package/dist/profile/skill-discovery-wiring.js +7 -2
- package/dist/profile/skill-discovery-wiring.js.map +1 -1
- package/dist/profile/state-store.d.ts.map +1 -1
- package/dist/profile/state-store.js +13 -9
- package/dist/profile/state-store.js.map +1 -1
- package/dist/profile/todo-plugin.d.ts.map +1 -1
- package/dist/profile/todo-plugin.js +9 -4
- package/dist/profile/todo-plugin.js.map +1 -1
- package/dist/profiles/builtin-suites.d.ts +13 -6
- package/dist/profiles/builtin-suites.d.ts.map +1 -1
- package/dist/profiles/builtin-suites.js +15 -6
- package/dist/profiles/builtin-suites.js.map +1 -1
- package/dist/profiles/suite-loader.d.ts +25 -1
- package/dist/profiles/suite-loader.d.ts.map +1 -1
- package/dist/profiles/suite-loader.js +34 -9
- package/dist/profiles/suite-loader.js.map +1 -1
- package/dist/remote/server-entry.d.ts.map +1 -1
- package/dist/remote/server-entry.js +3 -2
- package/dist/remote/server-entry.js.map +1 -1
- package/dist/remote/session-source.d.ts.map +1 -1
- package/dist/remote/session-source.js +8 -4
- package/dist/remote/session-source.js.map +1 -1
- package/dist/share/session-share.d.ts.map +1 -1
- package/dist/share/session-share.js +14 -2
- package/dist/share/session-share.js.map +1 -1
- package/dist/testing/plugin-testkit.d.ts.map +1 -1
- package/dist/testing/plugin-testkit.js +4 -3
- package/dist/testing/plugin-testkit.js.map +1 -1
- package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
- package/dist/testing/runtime-delivery-queue.js +2 -1
- package/dist/testing/runtime-delivery-queue.js.map +1 -1
- package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
- package/dist/testing/session-plugin-testkit.js +10 -7
- package/dist/testing/session-plugin-testkit.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js +2 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +7 -6
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js +3 -2
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +9 -8
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +23 -13
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +5 -1
- package/dist/utils/version-check.js.map +1 -1
- package/docs/keybindings.md +3 -0
- package/docs/quickstart.md +1 -1
- package/docs/settings.md +1 -0
- package/docs/terminal-setup.md +2 -3
- package/docs/usage.md +6 -5
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/extensions/with-deps/plugin.json +1 -1
- package/package.json +1 -1
- package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
|
@@ -33,6 +33,7 @@ import { formatNoApiKeyFoundMessage, formatNoModelSelectedMessage } from "./auth
|
|
|
33
33
|
import { THINKING_LEVEL_OPTIONS } from "./defaults.js";
|
|
34
34
|
import { definitionSnapshot, detachedSnapshot } from "./extensions/capability-runtime-snapshot.js";
|
|
35
35
|
import { BOOTSTRAP_AGENT_LOOP_PLUGIN_ID, BOOTSTRAP_BRANCH_SUMMARY_PLUGIN_ID, BOOTSTRAP_COMPACTION_PLUGIN_ID, BOOTSTRAP_LIFECYCLE_PLUGIN_ID, BOOTSTRAP_OVERFLOW_PLUGIN_ID, BOOTSTRAP_RETRY_PLUGIN_ID, BOOTSTRAP_SKILLS_PLUGIN_ID, BOOTSTRAP_TOOLS_PLUGIN_ID, createCapabilityRuntime, DEFAULT_BRANCH_SUMMARY_POLICY_NAME, DEFAULT_COMPACTION_POLICY_NAME, DEFAULT_OVERFLOW_POLICY_NAME, DEFAULT_RETRY_POLICY_NAME, DEFAULT_RUN_LOOP_STRATEGY_NAME, EXPERIMENTAL_PUBLIC_API_VERSION, installBootstrapAgentLoop, installBootstrapBranchSummaryPolicy, installBootstrapCompactionPolicy, installBootstrapLifecycle, installBootstrapOverflowPolicy, installBootstrapRetryPolicy, installSessionBootstrapSkills, installSessionBootstrapTools, loadCapabilityPluginFromManifest, loadCapabilityPlugin as loadCapabilityPluginRuntime, } from "./extensions/index.js";
|
|
36
|
+
import { t } from "./i18n/index.js";
|
|
36
37
|
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
37
38
|
import { createSessionJsonlArtifact } from "./session-export.js";
|
|
38
39
|
import { createToolSearchTool } from "./tools/tool-search.js";
|
|
@@ -446,12 +447,23 @@ export class AgentSession {
|
|
|
446
447
|
};
|
|
447
448
|
await this._dispatchModelStreamLifecycle(event.message, "start", "raw");
|
|
448
449
|
}
|
|
449
|
-
// When a user message starts, check if it's from either queue and
|
|
450
|
-
// This ensures the UI sees the updated queue state
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
450
|
+
// When a user or custom message starts, check if it's from either queue and
|
|
451
|
+
// remove it BEFORE emitting. This ensures the UI sees the updated queue state.
|
|
452
|
+
// Queued custom messages (sendCustomMessage deliverAs steer/followUp) are
|
|
453
|
+
// registered in the copy arrays under their contentText text and delivered
|
|
454
|
+
// with role "custom", so they must go through the same copy-removal path
|
|
455
|
+
// (D-078 fix).
|
|
456
|
+
if (event.type === "message_start" && (event.message.role === "user" || event.message.role === "custom")) {
|
|
457
|
+
if (event.message.role === "user") {
|
|
458
|
+
this._overflowRecoveryAttempted = false;
|
|
459
|
+
this._overflowTrimStage = 0;
|
|
460
|
+
}
|
|
461
|
+
// Custom queue entries register their copy text via _queuedCopyText
|
|
462
|
+
// (placeholder for textless content); match removal with the same
|
|
463
|
+
// expression so both sides stay symmetric.
|
|
464
|
+
const messageText = event.message.role === "custom"
|
|
465
|
+
? this._queuedCopyText(event.message.content)
|
|
466
|
+
: contentText(event.message.content, "");
|
|
455
467
|
if (messageText) {
|
|
456
468
|
// Check steering queue first
|
|
457
469
|
const steeringIndex = this._steeringMessages.indexOf(messageText);
|
|
@@ -738,7 +750,7 @@ export class AgentSession {
|
|
|
738
750
|
/** Public capability runtime for external orchestration and plugin composition. */
|
|
739
751
|
getCapabilityRuntime() {
|
|
740
752
|
if (!this._capabilityRuntime)
|
|
741
|
-
throw new Error("Capability runtime is not available");
|
|
753
|
+
throw new Error(t("Capability runtime is not available"));
|
|
742
754
|
return this._capabilityRuntime;
|
|
743
755
|
}
|
|
744
756
|
/**
|
|
@@ -774,18 +786,21 @@ export class AgentSession {
|
|
|
774
786
|
commitContext: async (request) => {
|
|
775
787
|
const commit = this._contextCommitQueue.then(async () => {
|
|
776
788
|
if (request.signal?.aborted)
|
|
777
|
-
throw new Error("Context commit cancelled");
|
|
789
|
+
throw new Error(t("Context commit cancelled"));
|
|
778
790
|
const currentRevision = this._contextRevision;
|
|
779
791
|
if (request.operationId.trim() === "")
|
|
780
|
-
throw new Error("Context commit operationId is required");
|
|
792
|
+
throw new Error(t("Context commit operationId is required"));
|
|
781
793
|
if (request.expectedRevision !== currentRevision) {
|
|
782
|
-
throw new Error(
|
|
794
|
+
throw new Error(t("Context revision conflict: expected {expected}, current {current}", {
|
|
795
|
+
expected: request.expectedRevision,
|
|
796
|
+
current: currentRevision,
|
|
797
|
+
}));
|
|
783
798
|
}
|
|
784
799
|
if (!Array.isArray(request.value))
|
|
785
|
-
throw new Error("Session context commit requires a message array");
|
|
800
|
+
throw new Error(t("Session context commit requires a message array"));
|
|
786
801
|
await this.replaceContext(request.value);
|
|
787
802
|
if (request.signal?.aborted)
|
|
788
|
-
throw new Error("Context commit cancelled");
|
|
803
|
+
throw new Error(t("Context commit cancelled"));
|
|
789
804
|
return {
|
|
790
805
|
version: 1,
|
|
791
806
|
status: "committed",
|
|
@@ -868,7 +883,7 @@ export class AgentSession {
|
|
|
868
883
|
}))),
|
|
869
884
|
exportArtifact: (request) => {
|
|
870
885
|
if (request.format !== "jsonl")
|
|
871
|
-
throw new Error(
|
|
886
|
+
throw new Error(t("Unsupported session export format: {format}", { format: request.format }));
|
|
872
887
|
return createSessionJsonlArtifact(this.sessionManager);
|
|
873
888
|
},
|
|
874
889
|
};
|
|
@@ -1019,10 +1034,10 @@ export class AgentSession {
|
|
|
1019
1034
|
const runtime = this._capabilityRuntime;
|
|
1020
1035
|
// v8 ignore next -- capability runtime 恒由 _buildRuntime 创建,dispose 后不再调用,运行期恒存在
|
|
1021
1036
|
if (!runtime)
|
|
1022
|
-
throw new Error("Capability runtime is not available");
|
|
1037
|
+
throw new Error(t("Capability runtime is not available"));
|
|
1023
1038
|
const resolvedManifestPath = resolve(this._cwd, manifestPath);
|
|
1024
1039
|
if (this._capabilityPlugins.has(resolvedManifestPath)) {
|
|
1025
|
-
throw new Error(
|
|
1040
|
+
throw new Error(t("Capability plugin manifest is already loaded: {path}", { path: resolvedManifestPath }));
|
|
1026
1041
|
}
|
|
1027
1042
|
const previousToolNames = new Set(runtime.listTools().map((tool) => tool.name));
|
|
1028
1043
|
const loaded = await loadCapabilityPluginFromManifest(runtime, resolvedManifestPath, options);
|
|
@@ -1037,10 +1052,10 @@ export class AgentSession {
|
|
|
1037
1052
|
const runtime = this._capabilityRuntime;
|
|
1038
1053
|
// v8 ignore next -- capability runtime 恒由 _buildRuntime 创建,dispose 后不再调用,运行期恒存在
|
|
1039
1054
|
if (!runtime)
|
|
1040
|
-
throw new Error("Capability runtime is not available");
|
|
1055
|
+
throw new Error(t("Capability runtime is not available"));
|
|
1041
1056
|
const key = `inline:${manifest.id}`;
|
|
1042
1057
|
if (this._capabilityPlugins.has(key)) {
|
|
1043
|
-
throw new Error(
|
|
1058
|
+
throw new Error(t("Capability plugin is already loaded in this session: {id}", { id: manifest.id }));
|
|
1044
1059
|
}
|
|
1045
1060
|
const previousToolNames = new Set(runtime.listTools().map((tool) => tool.name));
|
|
1046
1061
|
const loaded = await loadCapabilityPluginRuntime(runtime, manifest, factory);
|
|
@@ -1166,7 +1181,9 @@ export class AgentSession {
|
|
|
1166
1181
|
textLength: currentText.length,
|
|
1167
1182
|
reason,
|
|
1168
1183
|
});
|
|
1169
|
-
throw new Error(reason === undefined
|
|
1184
|
+
throw new Error(reason === undefined
|
|
1185
|
+
? t("Input rejected by an input gate")
|
|
1186
|
+
: t("Input rejected by an input gate: {reason}", { reason }));
|
|
1170
1187
|
}
|
|
1171
1188
|
if ("text" in result && typeof result.text === "string") {
|
|
1172
1189
|
currentText = result.text;
|
|
@@ -1188,7 +1205,7 @@ export class AgentSession {
|
|
|
1188
1205
|
*/
|
|
1189
1206
|
async prompt(text, options) {
|
|
1190
1207
|
if (this._reloadInProgress) {
|
|
1191
|
-
throw new Error("Session reload in progress; prompts are unavailable");
|
|
1208
|
+
throw new Error(t("Session reload in progress; prompts are unavailable"));
|
|
1192
1209
|
}
|
|
1193
1210
|
const expandPromptTemplates = options?.expandPromptTemplates ?? true;
|
|
1194
1211
|
const preflightResult = options?.preflightResult;
|
|
@@ -1203,7 +1220,7 @@ export class AgentSession {
|
|
|
1203
1220
|
}
|
|
1204
1221
|
}
|
|
1205
1222
|
if (this._compactionAbortController !== undefined) {
|
|
1206
|
-
throw new Error("Cannot submit a prompt while compaction is in progress. Wait for compaction to finish and retry.");
|
|
1223
|
+
throw new Error(t("Cannot submit a prompt while compaction is in progress. Wait for compaction to finish and retry."));
|
|
1207
1224
|
}
|
|
1208
1225
|
// Dispatch the input.gate chain, then the input.received facts (both
|
|
1209
1226
|
// before skill/template expansion)
|
|
@@ -1217,7 +1234,7 @@ export class AgentSession {
|
|
|
1217
1234
|
// If streaming, queue via steer() or followUp() based on option
|
|
1218
1235
|
if (this.isStreaming) {
|
|
1219
1236
|
if (!options?.streamingBehavior) {
|
|
1220
|
-
throw new Error("Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message.");
|
|
1237
|
+
throw new Error(t("Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message."));
|
|
1221
1238
|
}
|
|
1222
1239
|
if (options.streamingBehavior === "followUp") {
|
|
1223
1240
|
await this._queueFollowUp(expandedText, currentImages);
|
|
@@ -1241,9 +1258,7 @@ export class AgentSession {
|
|
|
1241
1258
|
if (!hasConfiguredAuth) {
|
|
1242
1259
|
const isOAuth = this._modelRuntime.isUsingOAuth(this.model.provider);
|
|
1243
1260
|
if (isOAuth) {
|
|
1244
|
-
throw new Error(
|
|
1245
|
-
`Credentials may have expired or network is unavailable. ` +
|
|
1246
|
-
`Run '/login ${this.model.provider}' to re-authenticate.`);
|
|
1261
|
+
throw new Error(t("Authentication failed for \"{provider}\". Credentials may have expired or network is unavailable. Run '/login {provider}' to re-authenticate.", { provider: this.model.provider }));
|
|
1247
1262
|
}
|
|
1248
1263
|
throw new Error(formatNoApiKeyFoundMessage(this.model.provider));
|
|
1249
1264
|
}
|
|
@@ -1306,7 +1321,10 @@ export class AgentSession {
|
|
|
1306
1321
|
const skillConflict = skillName !== undefined && this._getAvailableSkills().some((skill) => skill.name === skillName);
|
|
1307
1322
|
if (templateConflict || skillConflict) {
|
|
1308
1323
|
const source = templateConflict ? "prompt template" : "skill";
|
|
1309
|
-
throw new Error(
|
|
1324
|
+
throw new Error(t("Command is registered by both CapabilityAPI and {source}: {command}", {
|
|
1325
|
+
source,
|
|
1326
|
+
command: commandName,
|
|
1327
|
+
}));
|
|
1310
1328
|
}
|
|
1311
1329
|
}
|
|
1312
1330
|
else {
|
|
@@ -1445,9 +1463,15 @@ export class AgentSession {
|
|
|
1445
1463
|
* Send a custom message to the session. Creates a CustomMessageEntry.
|
|
1446
1464
|
*
|
|
1447
1465
|
* Handles four cases:
|
|
1448
|
-
* - Streaming: queues message
|
|
1466
|
+
* - Streaming: queues message (registered in the queued-message view via its
|
|
1467
|
+
* text content), processed when loop pulls from queue
|
|
1449
1468
|
* - Streaming + triggerTurn false: appended to state/session once the current turn ends
|
|
1450
|
-
* - Not streaming + triggerTurn: appends to state/session, starts new turn
|
|
1469
|
+
* - Not streaming + triggerTurn: appends to state/session, starts new turn —
|
|
1470
|
+
* unless manual compaction is in flight (same guard as prompt()), in which
|
|
1471
|
+
* case the message degrades to a followUp queue entry instead of a
|
|
1472
|
+
* concurrent turn (D-060 ruling 12 boundary: the compaction revision
|
|
1473
|
+
* mutex must not be pierced; the queued message is drained at the next
|
|
1474
|
+
* driving point after compaction ends)
|
|
1451
1475
|
* - Not streaming + no trigger: appends to state/session, no turn
|
|
1452
1476
|
*
|
|
1453
1477
|
* @param message Custom message with customType, content, display, details
|
|
@@ -1468,15 +1492,34 @@ export class AgentSession {
|
|
|
1468
1492
|
this._pendingNextTurnMessages.push(appMessage);
|
|
1469
1493
|
}
|
|
1470
1494
|
else if (this.isStreaming && options?.triggerTurn !== false) {
|
|
1495
|
+
// Register the queued text in the session's queued-message view so the
|
|
1496
|
+
// display copy and the agent queue stay isomorphic (D-078 fix). See
|
|
1497
|
+
// _queuedCopyText for the placeholder rationale.
|
|
1498
|
+
const queuedText = this._queuedCopyText(appMessage.content);
|
|
1471
1499
|
if (options?.deliverAs === "followUp") {
|
|
1500
|
+
this._followUpMessages.push(queuedText);
|
|
1472
1501
|
this.agent.followUp(appMessage);
|
|
1473
1502
|
}
|
|
1474
1503
|
else {
|
|
1504
|
+
this._steeringMessages.push(queuedText);
|
|
1475
1505
|
this.agent.steer(appMessage);
|
|
1476
1506
|
}
|
|
1507
|
+
this._emitQueueUpdate();
|
|
1477
1508
|
}
|
|
1478
1509
|
else if (options?.triggerTurn) {
|
|
1479
|
-
|
|
1510
|
+
if (this._compactionAbortController !== undefined) {
|
|
1511
|
+
// 压缩互斥窗口(D-060 裁决 12 边界,复审 C-1):手动压缩进行中(与
|
|
1512
|
+
// prompt() 同判据同字段)时不起并发回合——压缩提交按 revision 互斥,
|
|
1513
|
+
// 并发验收回合会以 revision conflict 打断用户压缩。回注降级为
|
|
1514
|
+
// followUp 入队:消息不丢(队列可见),压缩结束后的下一驱动点(用户
|
|
1515
|
+
// 下一交互或下一结算回注)drain 注入。
|
|
1516
|
+
this._followUpMessages.push(this._queuedCopyText(appMessage.content));
|
|
1517
|
+
this.agent.followUp(appMessage);
|
|
1518
|
+
this._emitQueueUpdate();
|
|
1519
|
+
}
|
|
1520
|
+
else {
|
|
1521
|
+
await this._runAgentPrompt(appMessage);
|
|
1522
|
+
}
|
|
1480
1523
|
}
|
|
1481
1524
|
else if (this.isStreaming) {
|
|
1482
1525
|
// Appending now would put the message between an assistant tool call and its
|
|
@@ -1489,6 +1532,20 @@ export class AgentSession {
|
|
|
1489
1532
|
this._appendCustomMessage(appMessage);
|
|
1490
1533
|
}
|
|
1491
1534
|
}
|
|
1535
|
+
/**
|
|
1536
|
+
* Copy text registered in the queued-message view for a queued custom
|
|
1537
|
+
* message. The copy holds the message's text content; CustomMessage.display
|
|
1538
|
+
* is a boolean visibility flag, not display text. Content without text
|
|
1539
|
+
* (e.g. images only) registers a placeholder: an empty copy entry would
|
|
1540
|
+
* never be matched for removal on delivery (the drain-side guard skips
|
|
1541
|
+
* empty text) and would desynchronize both layers (D-078). The placeholder
|
|
1542
|
+
* is a stable literal, deliberately not localized — both registration and
|
|
1543
|
+
* removal must derive the same string, even if the UI language changes
|
|
1544
|
+
* between the two calls.
|
|
1545
|
+
*/
|
|
1546
|
+
_queuedCopyText(content) {
|
|
1547
|
+
return contentText(content, "") || "(no text)";
|
|
1548
|
+
}
|
|
1492
1549
|
_appendCustomMessage(appMessage) {
|
|
1493
1550
|
this.agent.state.messages.push(appMessage);
|
|
1494
1551
|
this.sessionManager.appendCustomMessageEntry(appMessage.customType, appMessage.content, appMessage.display, appMessage.details);
|
|
@@ -1559,6 +1616,55 @@ export class AgentSession {
|
|
|
1559
1616
|
this._emitQueueUpdate();
|
|
1560
1617
|
return { steering, followUp };
|
|
1561
1618
|
}
|
|
1619
|
+
/**
|
|
1620
|
+
* Move a queued message from index `from` to index `to` within the steering
|
|
1621
|
+
* or follow-up queue. Indices refer to the session's queued-message view
|
|
1622
|
+
* (getSteeringMessages()/getFollowUpMessages() and queue_update payloads)
|
|
1623
|
+
* at the moment of the call; the same move is applied to the agent queue.
|
|
1624
|
+
* During streaming, drain points consume queued messages, so previously
|
|
1625
|
+
* observed indices can become stale.
|
|
1626
|
+
* @returns true when the message moved; false for from === to, out-of-bounds
|
|
1627
|
+
* indices, or an agent-side rejection — both layers stay untouched in every
|
|
1628
|
+
* false case
|
|
1629
|
+
*/
|
|
1630
|
+
reorderQueuedMessages(queue, from, to) {
|
|
1631
|
+
const copy = queue === "steer" ? this._steeringMessages : this._followUpMessages;
|
|
1632
|
+
if (from === to || from < 0 || to < 0 || from >= copy.length || to >= copy.length) {
|
|
1633
|
+
return false;
|
|
1634
|
+
}
|
|
1635
|
+
// Apply the move on the agent queue first and mirror it on the session copy
|
|
1636
|
+
// only after the agent accepts it. A rejected move (stale index) leaves
|
|
1637
|
+
// both layers untouched instead of widening a copy/queue mismatch.
|
|
1638
|
+
if (!this.agent.reorderQueuedMessages(queue, from, to)) {
|
|
1639
|
+
return false;
|
|
1640
|
+
}
|
|
1641
|
+
const [moved] = copy.splice(from, 1);
|
|
1642
|
+
copy.splice(to, 0, moved);
|
|
1643
|
+
this._emitQueueUpdate();
|
|
1644
|
+
return true;
|
|
1645
|
+
}
|
|
1646
|
+
/**
|
|
1647
|
+
* Remove the queued message at `index` from the steering or follow-up queue.
|
|
1648
|
+
* Indices refer to the session's queued-message view at the moment of the
|
|
1649
|
+
* call; the same removal is applied to the agent queue.
|
|
1650
|
+
* @returns The removed queued text, or null when index is out of bounds or the
|
|
1651
|
+
* agent-side removal is rejected — both layers stay untouched in every null case
|
|
1652
|
+
*/
|
|
1653
|
+
removeQueuedMessageAt(queue, index) {
|
|
1654
|
+
const copy = queue === "steer" ? this._steeringMessages : this._followUpMessages;
|
|
1655
|
+
if (index < 0 || index >= copy.length) {
|
|
1656
|
+
return null;
|
|
1657
|
+
}
|
|
1658
|
+
// Remove on the agent queue first and mirror it on the session copy only
|
|
1659
|
+
// after the agent accepts it. A rejected removal (stale index) leaves both
|
|
1660
|
+
// layers untouched instead of widening a copy/queue mismatch.
|
|
1661
|
+
if (this.agent.removeQueuedMessage(queue, index) === null) {
|
|
1662
|
+
return null;
|
|
1663
|
+
}
|
|
1664
|
+
const [removed] = copy.splice(index, 1);
|
|
1665
|
+
this._emitQueueUpdate();
|
|
1666
|
+
return removed;
|
|
1667
|
+
}
|
|
1562
1668
|
/** Number of pending messages (includes both steering and follow-up) */
|
|
1563
1669
|
get pendingMessageCount() {
|
|
1564
1670
|
return this._steeringMessages.length + this._followUpMessages.length;
|
|
@@ -1855,7 +1961,7 @@ export class AgentSession {
|
|
|
1855
1961
|
*/
|
|
1856
1962
|
async compact(customInstructions) {
|
|
1857
1963
|
if (this._reloadInProgress) {
|
|
1858
|
-
throw new Error("Session reload in progress; compaction is unavailable");
|
|
1964
|
+
throw new Error(t("Session reload in progress; compaction is unavailable"));
|
|
1859
1965
|
}
|
|
1860
1966
|
return this._enqueueCompaction(() => this._compactInternal(customInstructions));
|
|
1861
1967
|
}
|
|
@@ -2098,7 +2204,7 @@ export class AgentSession {
|
|
|
2098
2204
|
invoke: async (input, options) => {
|
|
2099
2205
|
const model = this.agent.state.model;
|
|
2100
2206
|
if (!model)
|
|
2101
|
-
throw new Error("No model is set on this session's agent");
|
|
2207
|
+
throw new Error(t("No model is set on this session's agent"));
|
|
2102
2208
|
const authResult = await this._modelRuntime.getAuth(model, {
|
|
2103
2209
|
...(options?.signal === undefined ? {} : { signal: options.signal }),
|
|
2104
2210
|
});
|
|
@@ -2299,7 +2405,7 @@ export class AgentSession {
|
|
|
2299
2405
|
}
|
|
2300
2406
|
async reload(options) {
|
|
2301
2407
|
if (this._reloadInProgress)
|
|
2302
|
-
throw new Error("Session reload is already in progress");
|
|
2408
|
+
throw new Error(t("Session reload is already in progress"));
|
|
2303
2409
|
this._reloadInProgress = true;
|
|
2304
2410
|
this._beginContextTransitionFence();
|
|
2305
2411
|
this._bashEpoch += 1;
|
|
@@ -2312,7 +2418,7 @@ export class AgentSession {
|
|
|
2312
2418
|
let hasContextSnapshot = false;
|
|
2313
2419
|
if (contextStrategyName) {
|
|
2314
2420
|
if (!oldCapabilityRuntime?.hasContextStrategy(contextStrategyName)) {
|
|
2315
|
-
throw new Error(
|
|
2421
|
+
throw new Error(t("Configured context strategy is not registered: {name}", { name: contextStrategyName }));
|
|
2316
2422
|
}
|
|
2317
2423
|
contextSnapshot = await oldCapabilityRuntime.snapshotContext(contextStrategyName, this._copyContextMessages(this.agent.state.messages, contextStrategyName, "input"), { reason: "reload", sessionId: this.sessionId });
|
|
2318
2424
|
hasContextSnapshot = true;
|
|
@@ -2361,7 +2467,9 @@ export class AgentSession {
|
|
|
2361
2467
|
if (contextStrategyName && hasContextSnapshot) {
|
|
2362
2468
|
const runtime = this._capabilityRuntime;
|
|
2363
2469
|
if (!runtime?.hasContextStrategy(contextStrategyName)) {
|
|
2364
|
-
throw new Error(
|
|
2470
|
+
throw new Error(t("Configured context strategy is not registered after reload: {name}", {
|
|
2471
|
+
name: contextStrategyName,
|
|
2472
|
+
}));
|
|
2365
2473
|
}
|
|
2366
2474
|
await this._restoreContextTransition(contextSnapshot, "reload", { allowReload: true });
|
|
2367
2475
|
}
|
|
@@ -2375,7 +2483,7 @@ export class AgentSession {
|
|
|
2375
2483
|
this._reloadInProgress = false;
|
|
2376
2484
|
}
|
|
2377
2485
|
if (committedGeneration === undefined)
|
|
2378
|
-
throw new Error("Session reload did not commit a generation");
|
|
2486
|
+
throw new Error(t("Session reload did not commit a generation"));
|
|
2379
2487
|
await this._dispatchSessionReloadLifecycle(committedGeneration);
|
|
2380
2488
|
}
|
|
2381
2489
|
// =========================================================================
|