@ai-agent-forge/agent-forge 0.85.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 +5969 -0
- package/README.md +629 -0
- package/dist/artifacts/artifact-store.d.ts +51 -0
- package/dist/artifacts/artifact-store.d.ts.map +1 -0
- package/dist/artifacts/artifact-store.js +87 -0
- package/dist/artifacts/artifact-store.js.map +1 -0
- package/dist/artifacts/paged-read.d.ts +51 -0
- package/dist/artifacts/paged-read.d.ts.map +1 -0
- package/dist/artifacts/paged-read.js +55 -0
- package/dist/artifacts/paged-read.js.map +1 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +11 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +36 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/bundle/.build-manifest.json +3566 -0
- package/dist/bundle/chunks/anthropic-messages-RJYU4TCY.js +6 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-LESTCUL7.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +78 -0
- package/dist/bundle/chunks/chunk-3QKHSPQL.js +8 -0
- package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
- package/dist/bundle/chunks/chunk-4NKZMFSZ.js +1579 -0
- package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-7ZC4UXSL.js +2 -0
- package/dist/bundle/chunks/chunk-7ZY7IXZD.js +4 -0
- package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
- package/dist/bundle/chunks/chunk-DTD7JQ7Y.js +42 -0
- package/dist/bundle/chunks/chunk-EWXX34QG.js +2 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-KQEGUM34.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-MDOTREMR.js +11 -0
- package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-SER2HCLE.js +38 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-V46XUTK3.js +2 -0
- package/dist/bundle/chunks/chunk-WGLBM2BP.js +2 -0
- package/dist/bundle/chunks/chunk-WW3LMV3F.js +2 -0
- package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-NZ66X6K7.js +2 -0
- package/dist/bundle/chunks/google-vertex-2ZZOFBNQ.js +2 -0
- package/dist/bundle/chunks/https-proxy-agent-UDEHOBGS.js +13 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
- package/dist/bundle/chunks/mistral-conversations-B6DZRMEK.js +5 -0
- package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
- package/dist/bundle/chunks/node-O3RIBJRH.js +16 -0
- package/dist/bundle/chunks/node-TWVVAGPO.js +2 -0
- package/dist/bundle/chunks/openai-codex-responses-UFH6O5K6.js +10 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-A55GHA4O.js +7 -0
- package/dist/bundle/chunks/openai-responses-TJLXRAXR.js +2 -0
- package/dist/bundle/chunks/openrouter-images-G3GT5BVT.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pi-messages-SLF355GF.js +8 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +8 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/capabilities/builtin.d.ts +46 -0
- package/dist/capabilities/builtin.d.ts.map +1 -0
- package/dist/capabilities/builtin.js +68 -0
- package/dist/capabilities/builtin.js.map +1 -0
- package/dist/cli/args.d.ts +102 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +712 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/auth-check.d.ts +19 -0
- package/dist/cli/auth-check.d.ts.map +1 -0
- package/dist/cli/auth-check.js +50 -0
- package/dist/cli/auth-check.js.map +1 -0
- package/dist/cli/auth-command.d.ts +24 -0
- package/dist/cli/auth-command.d.ts.map +1 -0
- package/dist/cli/auth-command.js +102 -0
- package/dist/cli/auth-command.js.map +1 -0
- package/dist/cli/config-selector.d.ts +23 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +51 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/credential-print.d.ts +13 -0
- package/dist/cli/credential-print.d.ts.map +1 -0
- package/dist/cli/credential-print.js +76 -0
- package/dist/cli/credential-print.js.map +1 -0
- package/dist/cli/experimental/auth.d.ts +16 -0
- package/dist/cli/experimental/auth.d.ts.map +1 -0
- package/dist/cli/experimental/auth.js +13 -0
- package/dist/cli/experimental/auth.js.map +1 -0
- package/dist/cli/experimental/cli.d.ts +6 -0
- package/dist/cli/experimental/cli.d.ts.map +1 -0
- package/dist/cli/experimental/cli.js +5 -0
- package/dist/cli/experimental/cli.js.map +1 -0
- package/dist/cli/experimental/command-options.d.ts +17 -0
- package/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/cli/experimental/command-options.js +35 -0
- package/dist/cli/experimental/command-options.js.map +1 -0
- package/dist/cli/experimental/command.d.ts +63 -0
- package/dist/cli/experimental/command.d.ts.map +1 -0
- package/dist/cli/experimental/command.js +130 -0
- package/dist/cli/experimental/command.js.map +1 -0
- package/dist/cli/experimental/commands/client.d.ts +13 -0
- package/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/cli/experimental/commands/client.js +25 -0
- package/dist/cli/experimental/commands/client.js.map +1 -0
- package/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/pi.js +26 -0
- package/dist/cli/experimental/commands/pi.js.map +1 -0
- package/dist/cli/experimental/commands/server.d.ts +13 -0
- package/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/cli/experimental/commands/server.js +25 -0
- package/dist/cli/experimental/commands/server.js.map +1 -0
- package/dist/cli/experimental/transport-address.d.ts +10 -0
- package/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/cli/experimental/transport-address.js +38 -0
- package/dist/cli/experimental/transport-address.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +71 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/plugin-command.d.ts +50 -0
- package/dist/cli/plugin-command.d.ts.map +1 -0
- package/dist/cli/plugin-command.js +85 -0
- package/dist/cli/plugin-command.js.map +1 -0
- package/dist/cli/plugin-manager-controller.d.ts +59 -0
- package/dist/cli/plugin-manager-controller.d.ts.map +1 -0
- package/dist/cli/plugin-manager-controller.js +183 -0
- package/dist/cli/plugin-manager-controller.js.map +1 -0
- package/dist/cli/plugin-selection-controller.d.ts +57 -0
- package/dist/cli/plugin-selection-controller.d.ts.map +1 -0
- package/dist/cli/plugin-selection-controller.js +159 -0
- package/dist/cli/plugin-selection-controller.js.map +1 -0
- package/dist/cli/serve.d.ts +39 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +124 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/session-picker.d.ts +30 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +62 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli/startup-ui.d.ts +20 -0
- package/dist/cli/startup-ui.d.ts.map +1 -0
- package/dist/cli/startup-ui.js +185 -0
- package/dist/cli/startup-ui.js.map +1 -0
- package/dist/cli/trace-view.d.ts +86 -0
- package/dist/cli/trace-view.d.ts.map +1 -0
- package/dist/cli/trace-view.js +263 -0
- package/dist/cli/trace-view.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/remote-session.d.ts +53 -0
- package/dist/client/remote-session.d.ts.map +1 -0
- package/dist/client/remote-session.js +340 -0
- package/dist/client/remote-session.js.map +1 -0
- package/dist/client/transcript.d.ts +12 -0
- package/dist/client/transcript.d.ts.map +1 -0
- package/dist/client/transcript.js +98 -0
- package/dist/client/transcript.js.map +1 -0
- package/dist/config.d.ts +95 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +459 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-capability-contract.d.ts +322 -0
- package/dist/core/agent-capability-contract.d.ts.map +1 -0
- package/dist/core/agent-capability-contract.js +1154 -0
- package/dist/core/agent-capability-contract.js.map +1 -0
- package/dist/core/agent-session-bash.d.ts +51 -0
- package/dist/core/agent-session-bash.d.ts.map +1 -0
- package/dist/core/agent-session-bash.js +138 -0
- package/dist/core/agent-session-bash.js.map +1 -0
- package/dist/core/agent-session-compaction.d.ts +188 -0
- package/dist/core/agent-session-compaction.d.ts.map +1 -0
- package/dist/core/agent-session-compaction.js +1071 -0
- package/dist/core/agent-session-compaction.js.map +1 -0
- package/dist/core/agent-session-context.d.ts +43 -0
- package/dist/core/agent-session-context.d.ts.map +1 -0
- package/dist/core/agent-session-context.js +170 -0
- package/dist/core/agent-session-context.js.map +1 -0
- package/dist/core/agent-session-extensions.d.ts +30 -0
- package/dist/core/agent-session-extensions.d.ts.map +1 -0
- package/dist/core/agent-session-extensions.js +74 -0
- package/dist/core/agent-session-extensions.js.map +1 -0
- package/dist/core/agent-session-internal.d.ts +290 -0
- package/dist/core/agent-session-internal.d.ts.map +1 -0
- package/dist/core/agent-session-internal.js +40 -0
- package/dist/core/agent-session-internal.js.map +1 -0
- package/dist/core/agent-session-lifecycle.d.ts +242 -0
- package/dist/core/agent-session-lifecycle.d.ts.map +1 -0
- package/dist/core/agent-session-lifecycle.js +699 -0
- package/dist/core/agent-session-lifecycle.js.map +1 -0
- package/dist/core/agent-session-loop-runner.d.ts +52 -0
- package/dist/core/agent-session-loop-runner.d.ts.map +1 -0
- package/dist/core/agent-session-loop-runner.js +168 -0
- package/dist/core/agent-session-loop-runner.js.map +1 -0
- package/dist/core/agent-session-loop.d.ts +39 -0
- package/dist/core/agent-session-loop.d.ts.map +1 -0
- package/dist/core/agent-session-loop.js +155 -0
- package/dist/core/agent-session-loop.js.map +1 -0
- package/dist/core/agent-session-model.d.ts +49 -0
- package/dist/core/agent-session-model.d.ts.map +1 -0
- package/dist/core/agent-session-model.js +155 -0
- package/dist/core/agent-session-model.js.map +1 -0
- package/dist/core/agent-session-paths.d.ts +3 -0
- package/dist/core/agent-session-paths.d.ts.map +1 -0
- package/dist/core/agent-session-paths.js +14 -0
- package/dist/core/agent-session-paths.js.map +1 -0
- package/dist/core/agent-session-projection.d.ts +53 -0
- package/dist/core/agent-session-projection.d.ts.map +1 -0
- package/dist/core/agent-session-projection.js +195 -0
- package/dist/core/agent-session-projection.js.map +1 -0
- package/dist/core/agent-session-retry.d.ts +28 -0
- package/dist/core/agent-session-retry.d.ts.map +1 -0
- package/dist/core/agent-session-retry.js +141 -0
- package/dist/core/agent-session-retry.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +181 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +297 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +281 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +680 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session-store.d.ts +47 -0
- package/dist/core/agent-session-store.d.ts.map +1 -0
- package/dist/core/agent-session-store.js +155 -0
- package/dist/core/agent-session-store.js.map +1 -0
- package/dist/core/agent-session-tools.d.ts +36 -0
- package/dist/core/agent-session-tools.d.ts.map +1 -0
- package/dist/core/agent-session-tools.js +305 -0
- package/dist/core/agent-session-tools.js.map +1 -0
- package/dist/core/agent-session.d.ts +1156 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2550 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +5 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +21 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +72 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +426 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/cache-stats.d.ts +49 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +101 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +88 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +220 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +178 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +608 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +49 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +170 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +4 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +11 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/embedded-sdk.d.ts +96 -0
- package/dist/core/embedded-sdk.d.ts.map +1 -0
- package/dist/core/embedded-sdk.js +395 -0
- package/dist/core/embedded-sdk.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/experimental.d.ts +2 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +6 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +226 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1864 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +78 -0
- package/dist/core/extensions/agent-composition.d.ts +67 -0
- package/dist/core/extensions/agent-composition.d.ts.map +1 -0
- package/dist/core/extensions/agent-composition.js +785 -0
- package/dist/core/extensions/agent-composition.js.map +1 -0
- package/dist/core/extensions/bootstrap-agent-loop.d.ts +203 -0
- package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-agent-loop.js +565 -0
- package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -0
- package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts +7 -0
- package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-branch-summary-policy.js +28 -0
- package/dist/core/extensions/bootstrap-branch-summary-policy.js.map +1 -0
- package/dist/core/extensions/bootstrap-compaction-policy.d.ts +7 -0
- package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-compaction-policy.js +81 -0
- package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -0
- package/dist/core/extensions/bootstrap-lifecycle.d.ts +26 -0
- package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-lifecycle.js +181 -0
- package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -0
- package/dist/core/extensions/bootstrap-overflow-policy.d.ts +7 -0
- package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-overflow-policy.js +29 -0
- package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -0
- package/dist/core/extensions/bootstrap-retry-policy.d.ts +7 -0
- package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-retry-policy.js +28 -0
- package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -0
- package/dist/core/extensions/bootstrap-skills.d.ts +16 -0
- package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-skills.js +119 -0
- package/dist/core/extensions/bootstrap-skills.js.map +1 -0
- package/dist/core/extensions/bootstrap-tools.d.ts +20 -0
- package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -0
- package/dist/core/extensions/bootstrap-tools.js +35 -0
- package/dist/core/extensions/bootstrap-tools.js.map +1 -0
- package/dist/core/extensions/capability-exports.d.ts +5 -0
- package/dist/core/extensions/capability-exports.d.ts.map +1 -0
- package/dist/core/extensions/capability-exports.js +4 -0
- package/dist/core/extensions/capability-exports.js.map +1 -0
- package/dist/core/extensions/capability-plugin.d.ts +69 -0
- package/dist/core/extensions/capability-plugin.d.ts.map +1 -0
- package/dist/core/extensions/capability-plugin.js +485 -0
- package/dist/core/extensions/capability-plugin.js.map +1 -0
- package/dist/core/extensions/capability-runtime-events.d.ts +22 -0
- package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-events.js +381 -0
- package/dist/core/extensions/capability-runtime-events.js.map +1 -0
- package/dist/core/extensions/capability-runtime-guards.d.ts +93 -0
- package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-guards.js +800 -0
- package/dist/core/extensions/capability-runtime-guards.js.map +1 -0
- package/dist/core/extensions/capability-runtime-inspect.d.ts +12 -0
- package/dist/core/extensions/capability-runtime-inspect.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-inspect.js +106 -0
- package/dist/core/extensions/capability-runtime-inspect.js.map +1 -0
- package/dist/core/extensions/capability-runtime-manifest.d.ts +19 -0
- package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-manifest.js +218 -0
- package/dist/core/extensions/capability-runtime-manifest.js.map +1 -0
- package/dist/core/extensions/capability-runtime-operation.d.ts +26 -0
- package/dist/core/extensions/capability-runtime-operation.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-operation.js +88 -0
- package/dist/core/extensions/capability-runtime-operation.js.map +1 -0
- package/dist/core/extensions/capability-runtime-snapshot.d.ts +11 -0
- package/dist/core/extensions/capability-runtime-snapshot.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-snapshot.js +81 -0
- package/dist/core/extensions/capability-runtime-snapshot.js.map +1 -0
- package/dist/core/extensions/capability-runtime-store.d.ts +34 -0
- package/dist/core/extensions/capability-runtime-store.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-store.js +153 -0
- package/dist/core/extensions/capability-runtime-store.js.map +1 -0
- package/dist/core/extensions/capability-runtime-tool.d.ts +10 -0
- package/dist/core/extensions/capability-runtime-tool.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-tool.js +10 -0
- package/dist/core/extensions/capability-runtime-tool.js.map +1 -0
- package/dist/core/extensions/capability-runtime-types.d.ts +303 -0
- package/dist/core/extensions/capability-runtime-types.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-types.js +2 -0
- package/dist/core/extensions/capability-runtime-types.js.map +1 -0
- package/dist/core/extensions/capability-runtime-validation.d.ts +35 -0
- package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime-validation.js +380 -0
- package/dist/core/extensions/capability-runtime-validation.js.map +1 -0
- package/dist/core/extensions/capability-runtime.d.ts +7 -0
- package/dist/core/extensions/capability-runtime.d.ts.map +1 -0
- package/dist/core/extensions/capability-runtime.js +2170 -0
- package/dist/core/extensions/capability-runtime.js.map +1 -0
- package/dist/core/extensions/compaction-memory-failure-mode.d.ts +43 -0
- package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -0
- package/dist/core/extensions/compaction-memory-failure-mode.js +31 -0
- package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -0
- package/dist/core/extensions/context-strategy-binding.d.ts +12 -0
- package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -0
- package/dist/core/extensions/context-strategy-binding.js +54 -0
- package/dist/core/extensions/context-strategy-binding.js.map +1 -0
- package/dist/core/extensions/index.d.ts +19 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +18 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/lifecycle-catalog.d.ts +584 -0
- package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -0
- package/dist/core/extensions/lifecycle-catalog.js +1903 -0
- package/dist/core/extensions/lifecycle-catalog.js.map +1 -0
- package/dist/core/extensions/lifecycle-delivery-queue.d.ts +48 -0
- package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -0
- package/dist/core/extensions/lifecycle-delivery-queue.js +164 -0
- package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -0
- package/dist/core/extensions/microcompact.d.ts +71 -0
- package/dist/core/extensions/microcompact.d.ts.map +1 -0
- package/dist/core/extensions/microcompact.js +123 -0
- package/dist/core/extensions/microcompact.js.map +1 -0
- package/dist/core/extensions/public-api.d.ts +10 -0
- package/dist/core/extensions/public-api.d.ts.map +1 -0
- package/dist/core/extensions/public-api.js +9 -0
- package/dist/core/extensions/public-api.js.map +1 -0
- package/dist/core/facade/coding-agent-facade.d.ts +338 -0
- package/dist/core/facade/coding-agent-facade.d.ts.map +1 -0
- package/dist/core/facade/coding-agent-facade.js +115 -0
- package/dist/core/facade/coding-agent-facade.js.map +1 -0
- package/dist/core/facade/coding-agent-runtime-facade.d.ts +115 -0
- package/dist/core/facade/coding-agent-runtime-facade.d.ts.map +1 -0
- package/dist/core/facade/coding-agent-runtime-facade.js +63 -0
- package/dist/core/facade/coding-agent-runtime-facade.js.map +1 -0
- package/dist/core/facade/index.d.ts +6 -0
- package/dist/core/facade/index.d.ts.map +1 -0
- package/dist/core/facade/index.js +3 -0
- package/dist/core/facade/index.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +57 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +323 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +98 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +19 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/input-source.d.ts +9 -0
- package/dist/core/input-source.d.ts.map +1 -0
- package/dist/core/input-source.js +2 -0
- package/dist/core/input-source.js.map +1 -0
- package/dist/core/keybindings.d.ts +442 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +329 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/logger.d.ts +107 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +246 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/messages.d.ts +85 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +146 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-config.d.ts +586 -0
- package/dist/core/model-config.d.ts.map +1 -0
- package/dist/core/model-config.js +258 -0
- package/dist/core/model-config.js.map +1 -0
- package/dist/core/model-registry.d.ts +49 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +115 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +124 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +590 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/model-runtime.d.ts +100 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +598 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/models-store.d.ts +22 -0
- package/dist/core/models-store.d.ts.map +1 -0
- package/dist/core/models-store.js +115 -0
- package/dist/core/models-store.js.map +1 -0
- package/dist/core/output-guard.d.ts +7 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +90 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-install-host.d.ts +23 -0
- package/dist/core/package-install-host.d.ts.map +1 -0
- package/dist/core/package-install-host.js +202 -0
- package/dist/core/package-install-host.js.map +1 -0
- package/dist/core/package-manager.d.ts +93 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +947 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/package-process-runner.d.ts +4 -0
- package/dist/core/package-process-runner.d.ts.map +1 -0
- package/dist/core/package-process-runner.js +47 -0
- package/dist/core/package-process-runner.js.map +1 -0
- package/dist/core/package-resource-collection.d.ts +16 -0
- package/dist/core/package-resource-collection.d.ts.map +1 -0
- package/dist/core/package-resource-collection.js +300 -0
- package/dist/core/package-resource-collection.js.map +1 -0
- package/dist/core/package-resource-discovery.d.ts +33 -0
- package/dist/core/package-resource-discovery.d.ts.map +1 -0
- package/dist/core/package-resource-discovery.js +449 -0
- package/dist/core/package-resource-discovery.js.map +1 -0
- package/dist/core/package-source.d.ts +157 -0
- package/dist/core/package-source.d.ts.map +1 -0
- package/dist/core/package-source.js +179 -0
- package/dist/core/package-source.js.map +1 -0
- package/dist/core/pi-manifest.d.ts +7 -0
- package/dist/core/pi-manifest.d.ts.map +1 -0
- package/dist/core/pi-manifest.js +26 -0
- package/dist/core/pi-manifest.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +54 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +236 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/provider-composer.d.ts +58 -0
- package/dist/core/provider-composer.d.ts.map +1 -0
- package/dist/core/provider-composer.js +403 -0
- package/dist/core/provider-composer.js.map +1 -0
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +2 -0
- package/dist/core/radius.js.map +1 -0
- package/dist/core/remote-catalog-provider.d.ts +5 -0
- package/dist/core/remote-catalog-provider.d.ts.map +1 -0
- package/dist/core/remote-catalog-provider.js +121 -0
- package/dist/core/remote-catalog-provider.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +30 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +247 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +211 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +687 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -0
- package/dist/core/runtime-credentials.js +39 -0
- package/dist/core/runtime-credentials.js.map +1 -0
- package/dist/core/sdk.d.ts +395 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +1112 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-export.d.ts +7 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +48 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts +463 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1583 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/session-start.d.ts +12 -0
- package/dist/core/session-start.d.ts.map +1 -0
- package/dist/core/session-start.js +2 -0
- package/dist/core/session-start.js.map +1 -0
- package/dist/core/session-storage.d.ts +130 -0
- package/dist/core/session-storage.d.ts.map +1 -0
- package/dist/core/session-storage.js +386 -0
- package/dist/core/session-storage.js.map +1 -0
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +352 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +987 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +382 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +15 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +33 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/system-prompt.d.ts +8 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +137 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/timings.d.ts +11 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +46 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +87 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +409 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +110 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +425 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +55 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +305 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +52 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +42 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +303 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +41 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +309 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +44 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +129 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +41 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +173 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +184 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +10 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +99 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/tools/read.d.ts +39 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +282 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +24 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +65 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +15 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +36 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/tool-definition.d.ts +123 -0
- package/dist/core/tools/tool-definition.d.ts.map +1 -0
- package/dist/core/tools/tool-definition.js +20 -0
- package/dist/core/tools/tool-definition.js.map +1 -0
- package/dist/core/tools/tool-search.d.ts +30 -0
- package/dist/core/tools/tool-search.d.ts.map +1 -0
- package/dist/core/tools/tool-search.js +99 -0
- package/dist/core/tools/tool-search.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +215 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +30 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +202 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/core/trace-retention.d.ts +19 -0
- package/dist/core/trace-retention.d.ts.map +1 -0
- package/dist/core/trace-retention.js +91 -0
- package/dist/core/trace-retention.js.map +1 -0
- package/dist/core/usage-totals.d.ts +21 -0
- package/dist/core/usage-totals.d.ts.map +1 -0
- package/dist/core/usage-totals.js +53 -0
- package/dist/core/usage-totals.js.map +1 -0
- package/dist/durable/durable-service.d.ts +136 -0
- package/dist/durable/durable-service.d.ts.map +1 -0
- package/dist/durable/durable-service.js +710 -0
- package/dist/durable/durable-service.js.map +1 -0
- package/dist/e2e/stdio-launcher.d.ts +25 -0
- package/dist/e2e/stdio-launcher.d.ts.map +1 -0
- package/dist/e2e/stdio-launcher.js +244 -0
- package/dist/e2e/stdio-launcher.js.map +1 -0
- package/dist/host/agent-retry-scheduler.d.ts +65 -0
- package/dist/host/agent-retry-scheduler.d.ts.map +1 -0
- package/dist/host/agent-retry-scheduler.js +52 -0
- package/dist/host/agent-retry-scheduler.js.map +1 -0
- package/dist/host/auto-compaction.d.ts +56 -0
- package/dist/host/auto-compaction.d.ts.map +1 -0
- package/dist/host/auto-compaction.js +62 -0
- package/dist/host/auto-compaction.js.map +1 -0
- package/dist/host/branch-reload.d.ts +56 -0
- package/dist/host/branch-reload.d.ts.map +1 -0
- package/dist/host/branch-reload.js +39 -0
- package/dist/host/branch-reload.js.map +1 -0
- package/dist/host/channel-adapter.d.ts +25 -0
- package/dist/host/channel-adapter.d.ts.map +1 -0
- package/dist/host/channel-adapter.js +45 -0
- package/dist/host/channel-adapter.js.map +1 -0
- package/dist/host/checkpoint-commit.d.ts +74 -0
- package/dist/host/checkpoint-commit.d.ts.map +1 -0
- package/dist/host/checkpoint-commit.js +76 -0
- package/dist/host/checkpoint-commit.js.map +1 -0
- package/dist/host/manual-compaction.d.ts +43 -0
- package/dist/host/manual-compaction.d.ts.map +1 -0
- package/dist/host/manual-compaction.js +63 -0
- package/dist/host/manual-compaction.js.map +1 -0
- package/dist/host/output-projection.d.ts +61 -0
- package/dist/host/output-projection.d.ts.map +1 -0
- package/dist/host/output-projection.js +74 -0
- package/dist/host/output-projection.js.map +1 -0
- package/dist/host/output-reducer.d.ts +43 -0
- package/dist/host/output-reducer.d.ts.map +1 -0
- package/dist/host/output-reducer.js +77 -0
- package/dist/host/output-reducer.js.map +1 -0
- package/dist/host/output-serializer.d.ts +31 -0
- package/dist/host/output-serializer.d.ts.map +1 -0
- package/dist/host/output-serializer.js +120 -0
- package/dist/host/output-serializer.js.map +1 -0
- package/dist/host/overflow-recovery.d.ts +55 -0
- package/dist/host/overflow-recovery.d.ts.map +1 -0
- package/dist/host/overflow-recovery.js +89 -0
- package/dist/host/overflow-recovery.js.map +1 -0
- package/dist/host/retry-common.d.ts +29 -0
- package/dist/host/retry-common.d.ts.map +1 -0
- package/dist/host/retry-common.js +12 -0
- package/dist/host/retry-common.js.map +1 -0
- package/dist/host/session-event-translation.d.ts +26 -0
- package/dist/host/session-event-translation.d.ts.map +1 -0
- package/dist/host/session-event-translation.js +61 -0
- package/dist/host/session-event-translation.js.map +1 -0
- package/dist/host/summary-retry.d.ts +54 -0
- package/dist/host/summary-retry.d.ts.map +1 -0
- package/dist/host/summary-retry.js +66 -0
- package/dist/host/summary-retry.js.map +1 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +176 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +36 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +1630 -0
- package/dist/main.js.map +1 -0
- package/dist/migration/migration-tool.d.ts +56 -0
- package/dist/migration/migration-tool.d.ts.map +1 -0
- package/dist/migration/migration-tool.js +72 -0
- package/dist/migration/migration-tool.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +272 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +10 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +336 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +25 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +151 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +176 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +56 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +113 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +857 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +19 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +71 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +52 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +22 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +87 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +141 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/dialog-editor.d.ts +21 -0
- package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/dialog-editor.js +98 -0
- package/dist/modes/interactive/components/dialog-editor.js.map +1 -0
- package/dist/modes/interactive/components/dialog-input.d.ts +23 -0
- package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/dialog-input.js +61 -0
- package/dist/modes/interactive/components/dialog-input.js.map +1 -0
- package/dist/modes/interactive/components/dialog-selector.d.ts +26 -0
- package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/dialog-selector.js +83 -0
- package/dist/modes/interactive/components/dialog-selector.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +103 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +33 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +248 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +35 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +188 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/modes/interactive/components/mermaid.js +75 -0
- package/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +67 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +381 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +165 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/plugin-manager-entry.d.ts +62 -0
- package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/plugin-manager-entry.js +294 -0
- package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -0
- package/dist/modes/interactive/components/plugin-selection-entry.d.ts +82 -0
- package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/plugin-selection-entry.js +228 -0
- package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -0
- package/dist/modes/interactive/components/render-types.d.ts +26 -0
- package/dist/modes/interactive/components/render-types.d.ts.map +1 -0
- package/dist/modes/interactive/components/render-types.js +7 -0
- package/dist/modes/interactive/components/render-types.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +328 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +158 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +143 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +1053 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +88 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +677 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +165 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/status-indicator.d.ts +34 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +60 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +23 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +109 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +59 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +335 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-list.d.ts +67 -0
- package/dist/modes/interactive/components/tree-list.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-list.js +710 -0
- package/dist/modes/interactive/components/tree-list.js.map +1 -0
- package/dist/modes/interactive/components/tree-render.d.ts +17 -0
- package/dist/modes/interactive/components/tree-render.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-render.js +316 -0
- package/dist/modes/interactive/components/tree-render.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +25 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +235 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/tree-types.d.ts +35 -0
- package/dist/modes/interactive/components/tree-types.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-types.js +2 -0
- package/dist/modes/interactive/components/tree-types.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +16 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +49 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/external-editor.d.ts +12 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/modes/interactive/external-editor.js +38 -0
- package/dist/modes/interactive/external-editor.js.map +1 -0
- package/dist/modes/interactive/interactive-auth.d.ts +90 -0
- package/dist/modes/interactive/interactive-auth.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-auth.js +492 -0
- package/dist/modes/interactive/interactive-auth.js.map +1 -0
- package/dist/modes/interactive/interactive-commands.d.ts +68 -0
- package/dist/modes/interactive/interactive-commands.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-commands.js +157 -0
- package/dist/modes/interactive/interactive-commands.js.map +1 -0
- package/dist/modes/interactive/interactive-dialog-ui.d.ts +73 -0
- package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-dialog-ui.js +189 -0
- package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -0
- package/dist/modes/interactive/interactive-format.d.ts +65 -0
- package/dist/modes/interactive/interactive-format.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-format.js +268 -0
- package/dist/modes/interactive/interactive-format.js.map +1 -0
- package/dist/modes/interactive/interactive-helpers.d.ts +25 -0
- package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-helpers.js +73 -0
- package/dist/modes/interactive/interactive-helpers.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +640 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +4107 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/interactive-selectors.d.ts +95 -0
- package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-selectors.js +356 -0
- package/dist/modes/interactive/interactive-selectors.js.map +1 -0
- package/dist/modes/interactive/model-catalog-refresh.d.ts +11 -0
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
- package/dist/modes/interactive/model-catalog-refresh.js +35 -0
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
- package/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -0
- package/dist/modes/interactive/model-search.js +15 -0
- package/dist/modes/interactive/model-search.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +90 -0
- package/dist/modes/interactive/theme/light.json +89 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.js +126 -0
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.json +352 -0
- package/dist/modes/interactive/theme/theme.d.ts +122 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +1093 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/json-event.d.ts +34 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +29 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts +32 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +205 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +254 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +496 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +53 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +540 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +486 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +18 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +944 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/plugins/ecosystem/active-bindings.d.ts +92 -0
- package/dist/plugins/ecosystem/active-bindings.d.ts.map +1 -0
- package/dist/plugins/ecosystem/active-bindings.js +198 -0
- package/dist/plugins/ecosystem/active-bindings.js.map +1 -0
- package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts +32 -0
- package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts.map +1 -0
- package/dist/plugins/ecosystem/bootstrap-factory-manifest.js +32 -0
- package/dist/plugins/ecosystem/bootstrap-factory-manifest.js.map +1 -0
- package/dist/plugins/ecosystem/catalog.d.ts +38 -0
- package/dist/plugins/ecosystem/catalog.d.ts.map +1 -0
- package/dist/plugins/ecosystem/catalog.js +90 -0
- package/dist/plugins/ecosystem/catalog.js.map +1 -0
- package/dist/plugins/ecosystem/cli.d.ts +102 -0
- package/dist/plugins/ecosystem/cli.d.ts.map +1 -0
- package/dist/plugins/ecosystem/cli.js +970 -0
- package/dist/plugins/ecosystem/cli.js.map +1 -0
- package/dist/plugins/ecosystem/default-active-bindings.d.ts +33 -0
- package/dist/plugins/ecosystem/default-active-bindings.d.ts.map +1 -0
- package/dist/plugins/ecosystem/default-active-bindings.js +105 -0
- package/dist/plugins/ecosystem/default-active-bindings.js.map +1 -0
- package/dist/plugins/ecosystem/default-plugin-market.d.ts +68 -0
- package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -0
- package/dist/plugins/ecosystem/default-plugin-market.js +146 -0
- package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -0
- package/dist/plugins/ecosystem/distribution.d.ts +113 -0
- package/dist/plugins/ecosystem/distribution.d.ts.map +1 -0
- package/dist/plugins/ecosystem/distribution.js +371 -0
- package/dist/plugins/ecosystem/distribution.js.map +1 -0
- package/dist/plugins/ecosystem/index.d.ts +56 -0
- package/dist/plugins/ecosystem/index.d.ts.map +1 -0
- package/dist/plugins/ecosystem/index.js +31 -0
- package/dist/plugins/ecosystem/index.js.map +1 -0
- package/dist/plugins/ecosystem/installer.d.ts +130 -0
- package/dist/plugins/ecosystem/installer.d.ts.map +1 -0
- package/dist/plugins/ecosystem/installer.js +316 -0
- package/dist/plugins/ecosystem/installer.js.map +1 -0
- package/dist/plugins/ecosystem/node-disk-registry-source.d.ts +47 -0
- package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-disk-registry-source.js +208 -0
- package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -0
- package/dist/plugins/ecosystem/node-distribution-host.d.ts +55 -0
- package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-distribution-host.js +423 -0
- package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -0
- package/dist/plugins/ecosystem/node-local-package-source.d.ts +10 -0
- package/dist/plugins/ecosystem/node-local-package-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-local-package-source.js +97 -0
- package/dist/plugins/ecosystem/node-local-package-source.js.map +1 -0
- package/dist/plugins/ecosystem/node-npm-registry-source.d.ts +58 -0
- package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-npm-registry-source.js +326 -0
- package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-host.d.ts +91 -0
- package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-host.js +857 -0
- package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-persistence.d.ts +34 -0
- package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-persistence.js +221 -0
- package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-stack.d.ts +28 -0
- package/dist/plugins/ecosystem/node-package-install-stack.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-package-install-stack.js +65 -0
- package/dist/plugins/ecosystem/node-package-install-stack.js.map +1 -0
- package/dist/plugins/ecosystem/node-package-media.d.ts +14 -0
- package/dist/plugins/ecosystem/node-package-media.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-package-media.js +36 -0
- package/dist/plugins/ecosystem/node-package-media.js.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts +83 -0
- package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-acquisition-host.js +423 -0
- package/dist/plugins/ecosystem/node-plugin-acquisition-host.js.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +48 -0
- package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js +191 -0
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts +26 -0
- package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-plugin-trust-root.js +120 -0
- package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -0
- package/dist/plugins/ecosystem/node-registry-source.d.ts +35 -0
- package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-registry-source.js +286 -0
- package/dist/plugins/ecosystem/node-registry-source.js.map +1 -0
- package/dist/plugins/ecosystem/node-release-package-source.d.ts +47 -0
- package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-release-package-source.js +336 -0
- package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -0
- package/dist/plugins/ecosystem/node-tar-package.d.ts +11 -0
- package/dist/plugins/ecosystem/node-tar-package.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-tar-package.js +294 -0
- package/dist/plugins/ecosystem/node-tar-package.js.map +1 -0
- package/dist/plugins/ecosystem/node-tar-writer.d.ts +16 -0
- package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-tar-writer.js +134 -0
- package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -0
- package/dist/plugins/ecosystem/node-url-package-source.d.ts +31 -0
- package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -0
- package/dist/plugins/ecosystem/node-url-package-source.js +159 -0
- package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -0
- package/dist/plugins/ecosystem/plugin-acquisition.d.ts +88 -0
- package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -0
- package/dist/plugins/ecosystem/plugin-acquisition.js +197 -0
- package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -0
- package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +87 -0
- package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -0
- package/dist/plugins/ecosystem/plugin-bootstrap.js +134 -0
- package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -0
- package/dist/plugins/ecosystem/registry-cli-adapter.d.ts +8 -0
- package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -0
- package/dist/plugins/ecosystem/registry-cli-adapter.js +16 -0
- package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -0
- package/dist/plugins/ecosystem/registry.d.ts +121 -0
- package/dist/plugins/ecosystem/registry.d.ts.map +1 -0
- package/dist/plugins/ecosystem/registry.js +324 -0
- package/dist/plugins/ecosystem/registry.js.map +1 -0
- package/dist/plugins/ecosystem/resolver.d.ts +32 -0
- package/dist/plugins/ecosystem/resolver.d.ts.map +1 -0
- package/dist/plugins/ecosystem/resolver.js +325 -0
- package/dist/plugins/ecosystem/resolver.js.map +1 -0
- package/dist/plugins/ecosystem/selection-store.d.ts +66 -0
- package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -0
- package/dist/plugins/ecosystem/selection-store.js +241 -0
- package/dist/plugins/ecosystem/selection-store.js.map +1 -0
- package/dist/plugins/ecosystem/selection.d.ts +54 -0
- package/dist/plugins/ecosystem/selection.d.ts.map +1 -0
- package/dist/plugins/ecosystem/selection.js +116 -0
- package/dist/plugins/ecosystem/selection.js.map +1 -0
- package/dist/plugins/ecosystem/state.d.ts +96 -0
- package/dist/plugins/ecosystem/state.d.ts.map +1 -0
- package/dist/plugins/ecosystem/state.js +346 -0
- package/dist/plugins/ecosystem/state.js.map +1 -0
- package/dist/plugins/ecosystem/types.d.ts +90 -0
- package/dist/plugins/ecosystem/types.d.ts.map +1 -0
- package/dist/plugins/ecosystem/types.js +8 -0
- package/dist/plugins/ecosystem/types.js.map +1 -0
- package/dist/plugins/ecosystem/updates.d.ts +30 -0
- package/dist/plugins/ecosystem/updates.d.ts.map +1 -0
- package/dist/plugins/ecosystem/updates.js +148 -0
- package/dist/plugins/ecosystem/updates.js.map +1 -0
- package/dist/plugins/integrity-adapter.d.ts +58 -0
- package/dist/plugins/integrity-adapter.d.ts.map +1 -0
- package/dist/plugins/integrity-adapter.js +70 -0
- package/dist/plugins/integrity-adapter.js.map +1 -0
- package/dist/plugins/mcp-http.d.ts +78 -0
- package/dist/plugins/mcp-http.d.ts.map +1 -0
- package/dist/plugins/mcp-http.js +176 -0
- package/dist/plugins/mcp-http.js.map +1 -0
- package/dist/plugins/observability-types.d.ts +9 -0
- package/dist/plugins/observability-types.d.ts.map +1 -0
- package/dist/plugins/observability-types.js +9 -0
- package/dist/plugins/observability-types.js.map +1 -0
- package/dist/plugins/plugin-host.d.ts +46 -0
- package/dist/plugins/plugin-host.d.ts.map +1 -0
- package/dist/plugins/plugin-host.js +80 -0
- package/dist/plugins/plugin-host.js.map +1 -0
- package/dist/plugins/plugin-supervisor.d.ts +77 -0
- package/dist/plugins/plugin-supervisor.d.ts.map +1 -0
- package/dist/plugins/plugin-supervisor.js +82 -0
- package/dist/plugins/plugin-supervisor.js.map +1 -0
- package/dist/plugins/subagent-task/runner-entry.d.ts +35 -0
- package/dist/plugins/subagent-task/runner-entry.d.ts.map +1 -0
- package/dist/plugins/subagent-task/runner-entry.js +39 -0
- package/dist/plugins/subagent-task/runner-entry.js.map +1 -0
- package/dist/plugins/subagent-task/session-factory.d.ts +57 -0
- package/dist/plugins/subagent-task/session-factory.d.ts.map +1 -0
- package/dist/plugins/subagent-task/session-factory.js +51 -0
- package/dist/plugins/subagent-task/session-factory.js.map +1 -0
- package/dist/profile/child-facade.d.ts +44 -0
- package/dist/profile/child-facade.d.ts.map +1 -0
- package/dist/profile/child-facade.js +56 -0
- package/dist/profile/child-facade.js.map +1 -0
- package/dist/profile/dependency-wiring.d.ts +48 -0
- package/dist/profile/dependency-wiring.d.ts.map +1 -0
- package/dist/profile/dependency-wiring.js +56 -0
- package/dist/profile/dependency-wiring.js.map +1 -0
- package/dist/profile/domain-recovery.d.ts +60 -0
- package/dist/profile/domain-recovery.d.ts.map +1 -0
- package/dist/profile/domain-recovery.js +94 -0
- package/dist/profile/domain-recovery.js.map +1 -0
- package/dist/profile/first-roles.d.ts +30 -0
- package/dist/profile/first-roles.d.ts.map +1 -0
- package/dist/profile/first-roles.js +74 -0
- package/dist/profile/first-roles.js.map +1 -0
- package/dist/profile/goal-plugin.d.ts +38 -0
- package/dist/profile/goal-plugin.d.ts.map +1 -0
- package/dist/profile/goal-plugin.js +113 -0
- package/dist/profile/goal-plugin.js.map +1 -0
- package/dist/profile/identity.d.ts +58 -0
- package/dist/profile/identity.d.ts.map +1 -0
- package/dist/profile/identity.js +100 -0
- package/dist/profile/identity.js.map +1 -0
- package/dist/profile/lock.d.ts +59 -0
- package/dist/profile/lock.d.ts.map +1 -0
- package/dist/profile/lock.js +59 -0
- package/dist/profile/lock.js.map +1 -0
- package/dist/profile/plan-plugin.d.ts +44 -0
- package/dist/profile/plan-plugin.d.ts.map +1 -0
- package/dist/profile/plan-plugin.js +144 -0
- package/dist/profile/plan-plugin.js.map +1 -0
- package/dist/profile/plugin-profiles.d.ts +56 -0
- package/dist/profile/plugin-profiles.d.ts.map +1 -0
- package/dist/profile/plugin-profiles.js +192 -0
- package/dist/profile/plugin-profiles.js.map +1 -0
- package/dist/profile/policy-manifest.d.ts +53 -0
- package/dist/profile/policy-manifest.d.ts.map +1 -0
- package/dist/profile/policy-manifest.js +52 -0
- package/dist/profile/policy-manifest.js.map +1 -0
- package/dist/profile/profile-assembly.d.ts +74 -0
- package/dist/profile/profile-assembly.d.ts.map +1 -0
- package/dist/profile/profile-assembly.js +90 -0
- package/dist/profile/profile-assembly.js.map +1 -0
- package/dist/profile/profile-migration.d.ts +56 -0
- package/dist/profile/profile-migration.d.ts.map +1 -0
- package/dist/profile/profile-migration.js +60 -0
- package/dist/profile/profile-migration.js.map +1 -0
- package/dist/profile/profile-registry.d.ts +58 -0
- package/dist/profile/profile-registry.d.ts.map +1 -0
- package/dist/profile/profile-registry.js +74 -0
- package/dist/profile/profile-registry.js.map +1 -0
- package/dist/profile/role-assembly.d.ts +47 -0
- package/dist/profile/role-assembly.d.ts.map +1 -0
- package/dist/profile/role-assembly.js +31 -0
- package/dist/profile/role-assembly.js.map +1 -0
- package/dist/profile/role-catalog.d.ts +44 -0
- package/dist/profile/role-catalog.d.ts.map +1 -0
- package/dist/profile/role-catalog.js +130 -0
- package/dist/profile/role-catalog.js.map +1 -0
- package/dist/profile/role-orchestrator.d.ts +123 -0
- package/dist/profile/role-orchestrator.d.ts.map +1 -0
- package/dist/profile/role-orchestrator.js +194 -0
- package/dist/profile/role-orchestrator.js.map +1 -0
- package/dist/profile/role-runner.d.ts +99 -0
- package/dist/profile/role-runner.d.ts.map +1 -0
- package/dist/profile/role-runner.js +78 -0
- package/dist/profile/role-runner.js.map +1 -0
- package/dist/profile/root-facade.d.ts +36 -0
- package/dist/profile/root-facade.d.ts.map +1 -0
- package/dist/profile/root-facade.js +48 -0
- package/dist/profile/root-facade.js.map +1 -0
- package/dist/profile/skill-discovery-wiring.d.ts +58 -0
- package/dist/profile/skill-discovery-wiring.d.ts.map +1 -0
- package/dist/profile/skill-discovery-wiring.js +75 -0
- package/dist/profile/skill-discovery-wiring.js.map +1 -0
- package/dist/profile/state-store.d.ts +62 -0
- package/dist/profile/state-store.d.ts.map +1 -0
- package/dist/profile/state-store.js +140 -0
- package/dist/profile/state-store.js.map +1 -0
- package/dist/profile/todo-plugin.d.ts +37 -0
- package/dist/profile/todo-plugin.d.ts.map +1 -0
- package/dist/profile/todo-plugin.js +132 -0
- package/dist/profile/todo-plugin.js.map +1 -0
- package/dist/profiles/builtin-suites.d.ts +142 -0
- package/dist/profiles/builtin-suites.d.ts.map +1 -0
- package/dist/profiles/builtin-suites.js +395 -0
- package/dist/profiles/builtin-suites.js.map +1 -0
- package/dist/profiles/resolved-agent-profile.d.ts +83 -0
- package/dist/profiles/resolved-agent-profile.d.ts.map +1 -0
- package/dist/profiles/resolved-agent-profile.js +75 -0
- package/dist/profiles/resolved-agent-profile.js.map +1 -0
- package/dist/profiles/suite-lifecycle.d.ts +158 -0
- package/dist/profiles/suite-lifecycle.d.ts.map +1 -0
- package/dist/profiles/suite-lifecycle.js +447 -0
- package/dist/profiles/suite-lifecycle.js.map +1 -0
- package/dist/profiles/suite-loader.d.ts +410 -0
- package/dist/profiles/suite-loader.d.ts.map +1 -0
- package/dist/profiles/suite-loader.js +823 -0
- package/dist/profiles/suite-loader.js.map +1 -0
- package/dist/remote/server-assembly.d.ts +230 -0
- package/dist/remote/server-assembly.d.ts.map +1 -0
- package/dist/remote/server-assembly.js +1189 -0
- package/dist/remote/server-assembly.js.map +1 -0
- package/dist/remote/server-entry.d.ts +112 -0
- package/dist/remote/server-entry.d.ts.map +1 -0
- package/dist/remote/server-entry.js +239 -0
- package/dist/remote/server-entry.js.map +1 -0
- package/dist/remote/session-source.d.ts +101 -0
- package/dist/remote/session-source.d.ts.map +1 -0
- package/dist/remote/session-source.js +173 -0
- package/dist/remote/session-source.js.map +1 -0
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +11 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/server/create-harness.d.ts +26 -0
- package/dist/server/create-harness.d.ts.map +1 -0
- package/dist/server/create-harness.js +106 -0
- package/dist/server/create-harness.js.map +1 -0
- package/dist/share/session-share.d.ts +98 -0
- package/dist/share/session-share.d.ts.map +1 -0
- package/dist/share/session-share.js +89 -0
- package/dist/share/session-share.js.map +1 -0
- package/dist/share/share-viewer.d.ts +43 -0
- package/dist/share/share-viewer.d.ts.map +1 -0
- package/dist/share/share-viewer.js +103 -0
- package/dist/share/share-viewer.js.map +1 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-ai-server.d.ts +77 -0
- package/dist/testing/mock-ai-server.d.ts.map +1 -0
- package/dist/testing/mock-ai-server.js +69 -0
- package/dist/testing/mock-ai-server.js.map +1 -0
- package/dist/testing/plugin-testkit.d.ts +148 -0
- package/dist/testing/plugin-testkit.d.ts.map +1 -0
- package/dist/testing/plugin-testkit.js +493 -0
- package/dist/testing/plugin-testkit.js.map +1 -0
- package/dist/testing/runtime-delivery-queue.d.ts +47 -0
- package/dist/testing/runtime-delivery-queue.d.ts.map +1 -0
- package/dist/testing/runtime-delivery-queue.js +158 -0
- package/dist/testing/runtime-delivery-queue.js.map +1 -0
- package/dist/testing/session-plugin-testkit.d.ts +144 -0
- package/dist/testing/session-plugin-testkit.d.ts.map +1 -0
- package/dist/testing/session-plugin-testkit.js +444 -0
- package/dist/testing/session-plugin-testkit.js.map +1 -0
- package/dist/utils/abort.d.ts +5 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +53 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/agent-forge-user-agent.d.ts +2 -0
- package/dist/utils/agent-forge-user-agent.d.ts.map +1 -0
- package/dist/utils/agent-forge-user-agent.js +5 -0
- package/dist/utils/agent-forge-user-agent.js.map +1 -0
- package/dist/utils/ansi.d.ts +2 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +53 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/utils/changelog.d.ts +22 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +165 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +18 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +107 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +246 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +11 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +22 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +4 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +161 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/deprecation.d.ts +4 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/deprecation.js +13 -0
- package/dist/utils/deprecation.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +27 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +201 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts +10 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +45 -0
- package/dist/utils/image-convert.js.map +1 -0
- 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 +84 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +125 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +16 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +100 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +8 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/management-http.d.ts +25 -0
- package/dist/utils/management-http.d.ts.map +1 -0
- package/dist/utils/management-http.js +54 -0
- package/dist/utils/management-http.js.map +1 -0
- package/dist/utils/mime.d.ts +3 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +115 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/open-browser.d.ts +9 -0
- package/dist/utils/open-browser.d.ts.map +1 -0
- package/dist/utils/open-browser.js +22 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/paths.d.ts +34 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +114 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +124 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/shell.d.ts +34 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +216 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/sync-sleep.d.ts +2 -0
- package/dist/utils/sync-sleep.d.ts.map +1 -0
- package/dist/utils/sync-sleep.js +11 -0
- package/dist/utils/sync-sleep.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts +13 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +177 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/tool-result-images.d.ts +19 -0
- package/dist/utils/tool-result-images.d.ts.map +1 -0
- package/dist/utils/tool-result-images.js +45 -0
- package/dist/utils/tool-result-images.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +24 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +437 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/version-check.d.ts +21 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +86 -0
- package/dist/utils/version-check.js.map +1 -0
- package/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/utils/windows-self-update.d.ts.map +1 -0
- package/dist/utils/windows-self-update.js +77 -0
- package/dist/utils/windows-self-update.js.map +1 -0
- package/docs/compaction.md +348 -0
- package/docs/containerization.md +114 -0
- package/docs/development.md +71 -0
- package/docs/docs.json +148 -0
- package/docs/environment-variables.md +96 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +76 -0
- package/docs/json.md +98 -0
- package/docs/keybindings.md +245 -0
- package/docs/llama-cpp.md +101 -0
- package/docs/models.md +576 -0
- package/docs/packages.md +205 -0
- package/docs/prompt-templates.md +96 -0
- package/docs/providers.md +317 -0
- package/docs/quickstart.md +167 -0
- package/docs/rpc.md +1487 -0
- package/docs/sdk.md +1146 -0
- package/docs/security.md +24 -0
- package/docs/session-format.md +438 -0
- package/docs/sessions.md +145 -0
- package/docs/settings.md +355 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +231 -0
- package/docs/terminal-setup.md +192 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +320 -0
- package/docs/tmux.md +63 -0
- package/docs/tui.md +478 -0
- package/docs/usage.md +291 -0
- package/docs/windows.md +39 -0
- package/examples/README.md +21 -0
- package/examples/extensions/README.md +163 -0
- package/examples/extensions/bash-spawn-hook/index.ts +37 -0
- package/examples/extensions/bash-spawn-hook/plugin.json +10 -0
- package/examples/extensions/bookmark/index.ts +67 -0
- package/examples/extensions/bookmark/plugin.json +11 -0
- package/examples/extensions/built-in-tool-renderer/index.ts +262 -0
- package/examples/extensions/built-in-tool-renderer/plugin.json +10 -0
- package/examples/extensions/claude-rules/index.ts +119 -0
- package/examples/extensions/claude-rules/plugin.json +8 -0
- package/examples/extensions/cli-bridge/README.md +27 -0
- package/examples/extensions/cli-bridge/index.ts +320 -0
- package/examples/extensions/cli-bridge/plugin.json +10 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +53 -0
- package/examples/extensions/dynamic-resources/plugin.json +8 -0
- package/examples/extensions/dynamic-tools/index.ts +102 -0
- package/examples/extensions/dynamic-tools/plugin.json +14 -0
- package/examples/extensions/event-bus/index.ts +75 -0
- package/examples/extensions/event-bus/plugin.json +13 -0
- package/examples/extensions/file-trigger/index.ts +65 -0
- package/examples/extensions/file-trigger/plugin.json +13 -0
- package/examples/extensions/goal/README.md +16 -0
- package/examples/extensions/goal/index.ts +134 -0
- package/examples/extensions/goal/plugin.json +12 -0
- package/examples/extensions/hello/index.ts +29 -0
- package/examples/extensions/hello/plugin.json +10 -0
- package/examples/extensions/kimi-deferred-tools/index.ts +93 -0
- package/examples/extensions/kimi-deferred-tools/plugin.json +11 -0
- package/examples/extensions/mcp-stdio/README.md +19 -0
- package/examples/extensions/mcp-stdio/index.d.ts +64 -0
- package/examples/extensions/mcp-stdio/index.d.ts.map +1 -0
- package/examples/extensions/mcp-stdio/index.js +292 -0
- package/examples/extensions/mcp-stdio/index.js.map +1 -0
- package/examples/extensions/mcp-stdio/index.ts +381 -0
- package/examples/extensions/mcp-stdio/plugin.json +10 -0
- package/examples/extensions/memory-backend/index.ts +120 -0
- package/examples/extensions/memory-backend/plugin.json +10 -0
- package/examples/extensions/minimal-mode/index.ts +447 -0
- package/examples/extensions/minimal-mode/plugin.json +10 -0
- package/examples/extensions/multi-agent/README.md +7 -0
- package/examples/extensions/multi-agent/index.ts +592 -0
- package/examples/extensions/multi-agent/plugin.json +13 -0
- package/examples/extensions/notify/index.ts +70 -0
- package/examples/extensions/notify/plugin.json +8 -0
- package/examples/extensions/permission-gate/index.ts +55 -0
- package/examples/extensions/permission-gate/plugin.json +11 -0
- package/examples/extensions/pirate/index.ts +75 -0
- package/examples/extensions/pirate/plugin.json +8 -0
- package/examples/extensions/plan/README.md +16 -0
- package/examples/extensions/plan/index.ts +136 -0
- package/examples/extensions/plan/plugin.json +12 -0
- package/examples/extensions/prompt-customizer/index.ts +117 -0
- package/examples/extensions/prompt-customizer/plugin.json +8 -0
- package/examples/extensions/protected-paths/index.ts +44 -0
- package/examples/extensions/protected-paths/plugin.json +11 -0
- package/examples/extensions/provider-attribution/README.md +12 -0
- package/examples/extensions/provider-attribution/index.ts +86 -0
- package/examples/extensions/provider-attribution/plugin.json +10 -0
- package/examples/extensions/send-user-message/index.ts +118 -0
- package/examples/extensions/send-user-message/plugin.json +11 -0
- package/examples/extensions/session-name/index.ts +31 -0
- package/examples/extensions/session-name/plugin.json +11 -0
- package/examples/extensions/session-share/README.md +15 -0
- package/examples/extensions/session-share/index.ts +170 -0
- package/examples/extensions/session-share/plugin.json +15 -0
- package/examples/extensions/structured-output/index.ts +68 -0
- package/examples/extensions/structured-output/plugin.json +10 -0
- package/examples/extensions/subagent/README.md +177 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +157 -0
- package/examples/extensions/subagent/index.ts +1057 -0
- package/examples/extensions/subagent/plugin.json +13 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/suite-manager/README.md +45 -0
- package/examples/extensions/suite-manager/index.ts +182 -0
- package/examples/extensions/suite-manager/plugin.json +13 -0
- package/examples/extensions/timed-confirm/index.ts +93 -0
- package/examples/extensions/timed-confirm/plugin.json +13 -0
- package/examples/extensions/todo-set/README.md +18 -0
- package/examples/extensions/todo-set/index.ts +133 -0
- package/examples/extensions/todo-set/plugin.json +12 -0
- package/examples/extensions/tool-override/index.ts +159 -0
- package/examples/extensions/tool-override/plugin.json +11 -0
- package/examples/extensions/trigger-compact/index.ts +76 -0
- package/examples/extensions/trigger-compact/plugin.json +14 -0
- package/examples/extensions/truncated-tool/index.ts +204 -0
- package/examples/extensions/truncated-tool/plugin.json +10 -0
- package/examples/extensions/with-deps/index.ts +42 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/extensions/with-deps/plugin.json +10 -0
- package/examples/remote-client.ts +66 -0
- package/examples/rpc-extension-ui.ts +641 -0
- package/examples/sdk/01-minimal.ts +26 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +70 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +48 -0
- package/examples/sdk/07-context-files.ts +42 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +52 -0
- package/examples/sdk/12-full-control.ts +72 -0
- package/examples/sdk/13-session-runtime.ts +71 -0
- package/examples/sdk/14-custom-session-storage.ts +132 -0
- package/examples/sdk/README.md +139 -0
- package/package.json +111 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { PluginDistributionArtifactV1 } from "./distribution.ts";
|
|
2
|
+
import type { HostFactsV1, PluginSourceVerifierV1, PluginUpdateRecordV1 } from "./types.ts";
|
|
3
|
+
import { type UpdateVerificationV1 } from "./updates.ts";
|
|
4
|
+
export declare const MAX_PLUGIN_SCOPE_REF_CHARS_V1 = 2048;
|
|
5
|
+
/** Stable host namespace for installations that are not project-local. */
|
|
6
|
+
export declare const DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 = "global:default";
|
|
7
|
+
export type PluginInstallationScopeV1 = "global" | "project";
|
|
8
|
+
export interface PluginInstallationV1 {
|
|
9
|
+
readonly version: 1;
|
|
10
|
+
readonly pluginId: string;
|
|
11
|
+
readonly pluginVersion: string;
|
|
12
|
+
readonly manifestDigest: string;
|
|
13
|
+
/** The host installation namespace. It is part of the opaque installation identity. */
|
|
14
|
+
readonly scope: PluginInstallationScopeV1;
|
|
15
|
+
/** Concrete host namespace that distinguishes global and individual project installations. */
|
|
16
|
+
readonly scopeRef?: string;
|
|
17
|
+
/** Opaque host-owned installation handle; never a local path. */
|
|
18
|
+
readonly installationRef: string;
|
|
19
|
+
readonly state: "installed" | "active" | "retained";
|
|
20
|
+
}
|
|
21
|
+
export interface PluginInstallHostV1 {
|
|
22
|
+
/**
|
|
23
|
+
* Scopes that this host can isolate physically. Omitting this declaration
|
|
24
|
+
* preserves the legacy global-only host behavior; project operations must be
|
|
25
|
+
* declared explicitly.
|
|
26
|
+
*/
|
|
27
|
+
readonly supportedScopes?: readonly PluginInstallationScopeV1[];
|
|
28
|
+
/** Host operations are atomic from the installer's perspective: an abort may
|
|
29
|
+
* prevent starting work, but once a method resolves its side effect is committed. */
|
|
30
|
+
install(input: {
|
|
31
|
+
readonly record: PluginUpdateRecordV1;
|
|
32
|
+
readonly scope: PluginInstallationScopeV1;
|
|
33
|
+
readonly scopeRef: string;
|
|
34
|
+
/** A host-owned, digest-bound package reference. Package bytes never cross this contract. */
|
|
35
|
+
readonly artifact?: PluginDistributionArtifactV1;
|
|
36
|
+
readonly signal?: AbortSignal;
|
|
37
|
+
}): Promise<{
|
|
38
|
+
readonly installationRef: string;
|
|
39
|
+
readonly scope?: PluginInstallationScopeV1;
|
|
40
|
+
readonly scopeRef?: string;
|
|
41
|
+
}>;
|
|
42
|
+
activate(input: {
|
|
43
|
+
readonly installation: PluginInstallationV1;
|
|
44
|
+
readonly record: PluginUpdateRecordV1;
|
|
45
|
+
readonly scope: PluginInstallationScopeV1;
|
|
46
|
+
readonly scopeRef: string;
|
|
47
|
+
readonly signal?: AbortSignal;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
rollback(input: {
|
|
50
|
+
readonly failed: PluginInstallationV1;
|
|
51
|
+
readonly previous: PluginInstallationV1;
|
|
52
|
+
readonly scope: PluginInstallationScopeV1;
|
|
53
|
+
readonly scopeRef: string;
|
|
54
|
+
readonly signal?: AbortSignal;
|
|
55
|
+
}): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Remove a host-owned installation. The method is optional so hosts can
|
|
58
|
+
* still expose state-only management while they are migrating; callers that
|
|
59
|
+
* need physical cleanup must treat a missing method as unsupported.
|
|
60
|
+
*/
|
|
61
|
+
uninstall?: (input: {
|
|
62
|
+
readonly installation: PluginInstallationV1;
|
|
63
|
+
readonly scope: PluginInstallationScopeV1;
|
|
64
|
+
readonly scopeRef: string;
|
|
65
|
+
readonly signal?: AbortSignal;
|
|
66
|
+
}) => Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export interface PluginInstallerOptionsV1 {
|
|
69
|
+
readonly host: PluginInstallHostV1;
|
|
70
|
+
readonly verifier?: PluginSourceVerifierV1;
|
|
71
|
+
}
|
|
72
|
+
export type PluginInstallerErrorCodeV1 = "invalid_installation" | "unsupported_scope" | "install_failed" | "activation_failed" | "rollback_failed" | "uninstall_failed";
|
|
73
|
+
export type PluginInstallerResultV1 = {
|
|
74
|
+
readonly status: "succeeded";
|
|
75
|
+
readonly installation: PluginInstallationV1;
|
|
76
|
+
} | {
|
|
77
|
+
readonly status: "cancelled";
|
|
78
|
+
readonly error: {
|
|
79
|
+
readonly code: "cancelled";
|
|
80
|
+
readonly message: string;
|
|
81
|
+
};
|
|
82
|
+
} | {
|
|
83
|
+
readonly status: "failed";
|
|
84
|
+
readonly error: {
|
|
85
|
+
readonly code: PluginInstallerErrorCodeV1;
|
|
86
|
+
readonly message: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
export interface PluginInstallerV1 {
|
|
90
|
+
/** Declared, host-backed installation scopes. Project support is never inferred. */
|
|
91
|
+
readonly supportedScopes: readonly PluginInstallationScopeV1[];
|
|
92
|
+
prepare(input: {
|
|
93
|
+
readonly manifest: PluginUpdateRecordV1["manifest"];
|
|
94
|
+
readonly source: string;
|
|
95
|
+
readonly host: HostFactsV1;
|
|
96
|
+
readonly expectedDigest?: string;
|
|
97
|
+
}): UpdateVerificationV1;
|
|
98
|
+
install(input: {
|
|
99
|
+
readonly record: PluginUpdateRecordV1;
|
|
100
|
+
/** Omitting scope preserves the existing global installation behavior. */
|
|
101
|
+
readonly scope?: PluginInstallationScopeV1;
|
|
102
|
+
/** Required for project installations; global defaults to `global:default`. */
|
|
103
|
+
readonly scopeRef?: string;
|
|
104
|
+
readonly artifact?: PluginDistributionArtifactV1;
|
|
105
|
+
readonly signal?: AbortSignal;
|
|
106
|
+
}): Promise<PluginInstallerResultV1>;
|
|
107
|
+
activate(input: {
|
|
108
|
+
readonly installation: PluginInstallationV1;
|
|
109
|
+
readonly record: PluginUpdateRecordV1;
|
|
110
|
+
readonly scope?: PluginInstallationScopeV1;
|
|
111
|
+
readonly scopeRef?: string;
|
|
112
|
+
readonly signal?: AbortSignal;
|
|
113
|
+
}): Promise<PluginInstallerResultV1>;
|
|
114
|
+
rollback(input: {
|
|
115
|
+
readonly failed: PluginInstallationV1;
|
|
116
|
+
readonly previous: PluginInstallationV1;
|
|
117
|
+
readonly scope?: PluginInstallationScopeV1;
|
|
118
|
+
readonly scopeRef?: string;
|
|
119
|
+
readonly signal?: AbortSignal;
|
|
120
|
+
}): Promise<PluginInstallerResultV1>;
|
|
121
|
+
/** Remove one installed version after validating its opaque identity. */
|
|
122
|
+
remove(input: {
|
|
123
|
+
readonly installation: PluginInstallationV1;
|
|
124
|
+
readonly scope?: PluginInstallationScopeV1;
|
|
125
|
+
readonly scopeRef?: string;
|
|
126
|
+
readonly signal?: AbortSignal;
|
|
127
|
+
}): Promise<PluginInstallerResultV1>;
|
|
128
|
+
}
|
|
129
|
+
export declare function createPluginInstallerV1(options: PluginInstallerOptionsV1): PluginInstallerV1;
|
|
130
|
+
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/plugins/ecosystem/installer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5F,OAAO,EAAuB,KAAK,oBAAoB,EAAwB,MAAM,cAAc,CAAC;AAGpG,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,0EAA0E;AAC1E,eAAO,MAAM,kCAAkC,mBAAmB,CAAC;AAEnE,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAQ7D,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAChE;yFACqF;IACrF,OAAO,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,6FAA6F;QAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC;QACX,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACxC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;QAC5C,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,0BAA0B,GACnC,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,CAAC;AAEtB,MAAM,MAAM,uBAAuB,GAChC;IACA,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;CAC3C,GACD;IACA,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GACD;IACA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KACzB,CAAC;CACD,CAAC;AAEL,MAAM,WAAW,iBAAiB;IACjC,oFAAoF;IACpF,QAAQ,CAAC,eAAe,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,oBAAoB,CAAC;IACzB,OAAO,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,0EAA0E;QAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAC3C,+EAA+E;QAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACtC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC;AAmLD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAyJ5F","sourcesContent":["import type { PluginDistributionArtifactV1 } from \"./distribution.ts\";\nimport type { HostFactsV1, PluginSourceVerifierV1, PluginUpdateRecordV1 } from \"./types.ts\";\n\nimport { stagePluginUpdateV1, type UpdateVerificationV1, verifyPluginUpdateV1 } from \"./updates.ts\";\n\nconst MAX_INSTALLATION_REF_CHARS_V1 = 2048;\nexport const MAX_PLUGIN_SCOPE_REF_CHARS_V1 = 2048;\n/** Stable host namespace for installations that are not project-local. */\nexport const DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 = \"global:default\";\n\nexport type PluginInstallationScopeV1 = \"global\" | \"project\";\n\ninterface PluginScopeIdentityV1 {\n\treadonly scope: PluginInstallationScopeV1;\n\t/** Opaque host namespace; it must never disclose a local project path. */\n\treadonly scopeRef: string;\n}\n\nexport interface PluginInstallationV1 {\n\treadonly version: 1;\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly manifestDigest: string;\n\t/** The host installation namespace. It is part of the opaque installation identity. */\n\treadonly scope: PluginInstallationScopeV1;\n\t/** Concrete host namespace that distinguishes global and individual project installations. */\n\treadonly scopeRef?: string;\n\t/** Opaque host-owned installation handle; never a local path. */\n\treadonly installationRef: string;\n\treadonly state: \"installed\" | \"active\" | \"retained\";\n}\n\nexport interface PluginInstallHostV1 {\n\t/**\n\t * Scopes that this host can isolate physically. Omitting this declaration\n\t * preserves the legacy global-only host behavior; project operations must be\n\t * declared explicitly.\n\t */\n\treadonly supportedScopes?: readonly PluginInstallationScopeV1[];\n\t/** Host operations are atomic from the installer's perspective: an abort may\n\t * prevent starting work, but once a method resolves its side effect is committed. */\n\tinstall(input: {\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\t/** A host-owned, digest-bound package reference. Package bytes never cross this contract. */\n\t\treadonly artifact?: PluginDistributionArtifactV1;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<{\n\t\treadonly installationRef: string;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t}>;\n\tactivate(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<void>;\n\trollback(input: {\n\t\treadonly failed: PluginInstallationV1;\n\t\treadonly previous: PluginInstallationV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<void>;\n\t/**\n\t * Remove a host-owned installation. The method is optional so hosts can\n\t * still expose state-only management while they are migrating; callers that\n\t * need physical cleanup must treat a missing method as unsupported.\n\t */\n\tuninstall?: (input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}) => Promise<void>;\n}\n\nexport interface PluginInstallerOptionsV1 {\n\treadonly host: PluginInstallHostV1;\n\treadonly verifier?: PluginSourceVerifierV1;\n}\n\nexport type PluginInstallerErrorCodeV1 =\n\t| \"invalid_installation\"\n\t| \"unsupported_scope\"\n\t| \"install_failed\"\n\t| \"activation_failed\"\n\t| \"rollback_failed\"\n\t| \"uninstall_failed\";\n\nexport type PluginInstallerResultV1 =\n\t| {\n\t\t\treadonly status: \"succeeded\";\n\t\t\treadonly installation: PluginInstallationV1;\n\t }\n\t| {\n\t\t\treadonly status: \"cancelled\";\n\t\t\treadonly error: { readonly code: \"cancelled\"; readonly message: string };\n\t }\n\t| {\n\t\t\treadonly status: \"failed\";\n\t\t\treadonly error: {\n\t\t\t\treadonly code: PluginInstallerErrorCodeV1;\n\t\t\t\treadonly message: string;\n\t\t\t};\n\t };\n\nexport interface PluginInstallerV1 {\n\t/** Declared, host-backed installation scopes. Project support is never inferred. */\n\treadonly supportedScopes: readonly PluginInstallationScopeV1[];\n\tprepare(input: {\n\t\treadonly manifest: PluginUpdateRecordV1[\"manifest\"];\n\t\treadonly source: string;\n\t\treadonly host: HostFactsV1;\n\t\treadonly expectedDigest?: string;\n\t}): UpdateVerificationV1;\n\tinstall(input: {\n\t\treadonly record: PluginUpdateRecordV1;\n\t\t/** Omitting scope preserves the existing global installation behavior. */\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\t/** Required for project installations; global defaults to `global:default`. */\n\t\treadonly scopeRef?: string;\n\t\treadonly artifact?: PluginDistributionArtifactV1;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\tactivate(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\trollback(input: {\n\t\treadonly failed: PluginInstallationV1;\n\t\treadonly previous: PluginInstallationV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\t/** Remove one installed version after validating its opaque identity. */\n\tremove(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n}\n\nfunction opaqueInstallationRef(value: unknown): string {\n\tif (typeof value !== \"string\" || value.trim() === \"\" || value.length > MAX_INSTALLATION_REF_CHARS_V1)\n\t\tthrow new Error(\"installation reference is invalid\");\n\tif (/^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(value) || /\\s/u.test(value))\n\t\tthrow new Error(\"installation reference must be opaque\");\n\treturn value;\n}\n\nfunction opaqueScopeRef(value: unknown): string {\n\tif (typeof value !== \"string\" || value.trim() === \"\" || value.length > MAX_PLUGIN_SCOPE_REF_CHARS_V1)\n\t\tthrow new Error(\"plugin installation scope reference is invalid\");\n\tif (/^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(value) || /\\s/u.test(value))\n\t\tthrow new Error(\"plugin installation scope reference must be opaque\");\n\treturn value;\n}\n\nfunction installationFrom(\n\trecord: PluginUpdateRecordV1,\n\tinstallationRef: string,\n\tscopeIdentity: PluginScopeIdentityV1,\n\tstate: PluginInstallationV1[\"state\"],\n): PluginInstallationV1 {\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\tpluginId: record.pluginId,\n\t\tpluginVersion: record.pluginVersion,\n\t\tmanifestDigest: record.manifestDigest,\n\t\tscope: scopeIdentity.scope,\n\t\tscopeRef: scopeIdentity.scopeRef,\n\t\tinstallationRef: opaqueInstallationRef(installationRef),\n\t\tstate,\n\t});\n}\n\nfunction cancelled(): PluginInstallerResultV1 {\n\treturn {\n\t\tstatus: \"cancelled\",\n\t\terror: {\n\t\t\tcode: \"cancelled\",\n\t\t\tmessage: \"Plugin installation operation was cancelled\",\n\t\t},\n\t};\n}\n\nfunction failure(code: PluginInstallerErrorCodeV1): PluginInstallerResultV1 {\n\treturn {\n\t\tstatus: \"failed\",\n\t\terror: {\n\t\t\tcode,\n\t\t\tmessage:\n\t\t\t\tcode === \"invalid_installation\"\n\t\t\t\t\t? \"The plugin installation handle is invalid\"\n\t\t\t\t\t: code === \"unsupported_scope\"\n\t\t\t\t\t\t? \"The plugin installer does not support this scope\"\n\t\t\t\t\t\t: code === \"install_failed\"\n\t\t\t\t\t\t\t? \"The host plugin installer failed\"\n\t\t\t\t\t\t\t: code === \"activation_failed\"\n\t\t\t\t\t\t\t\t? \"The host plugin activation failed\"\n\t\t\t\t\t\t\t\t: code === \"rollback_failed\"\n\t\t\t\t\t\t\t\t\t? \"The host plugin rollback failed\"\n\t\t\t\t\t\t\t\t\t: \"The host plugin uninstall failed\",\n\t\t},\n\t};\n}\n\nfunction validateInstallation(installation: PluginInstallationV1): void {\n\tif (\n\t\tinstallation.version !== 1 ||\n\t\ttypeof installation.pluginId !== \"string\" ||\n\t\ttypeof installation.pluginVersion !== \"string\" ||\n\t\ttypeof installation.manifestDigest !== \"string\" ||\n\t\tinstallation.pluginId.trim() === \"\" ||\n\t\tinstallation.pluginVersion.trim() === \"\" ||\n\t\tinstallation.manifestDigest.trim() === \"\"\n\t)\n\t\tthrow new Error(\"plugin installation handle is invalid\");\n\tif (installation.scope !== \"global\" && installation.scope !== \"project\")\n\t\tthrow new Error(\"plugin installation scope is invalid\");\n\tconst scopeRef =\n\t\tinstallation.scopeRef === undefined\n\t\t\t? installation.scope === \"global\"\n\t\t\t\t? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1\n\t\t\t\t: (() => {\n\t\t\t\t\t\tthrow new Error(\"project installation scope reference is required\");\n\t\t\t\t\t})()\n\t\t\t: opaqueScopeRef(installation.scopeRef);\n\tif (installation.scope === \"global\" && scopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)\n\t\tthrow new Error(\"plugin global installation scope reference is invalid\");\n\topaqueInstallationRef(installation.installationRef);\n}\n\nfunction ensureIdentity(\n\tinstallation: PluginInstallationV1,\n\trecord: PluginUpdateRecordV1,\n\tscopeIdentity: PluginScopeIdentityV1,\n): void {\n\tvalidateInstallation(installation);\n\tif (\n\t\tinstallation.pluginId !== record.pluginId ||\n\t\tinstallation.pluginVersion !== record.pluginVersion ||\n\t\tinstallation.manifestDigest !== record.manifestDigest ||\n\t\tinstallation.scope !== scopeIdentity.scope ||\n\t\t(installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t)\n\t\tthrow new Error(\"plugin installation identity mismatch\");\n}\n\nfunction normalizeScope(scope: PluginInstallationScopeV1 | undefined): PluginInstallationScopeV1 {\n\tif (scope === undefined) return \"global\";\n\tif (scope === \"global\" || scope === \"project\") return scope;\n\tthrow new Error(\"plugin installation scope is invalid\");\n}\n\nfunction normalizeScopeIdentity(\n\tscope: PluginInstallationScopeV1 | undefined,\n\tscopeRef: string | undefined,\n): PluginScopeIdentityV1 {\n\tconst normalizedScope = normalizeScope(scope);\n\tif (scopeRef === undefined) {\n\t\tif (normalizedScope !== \"global\") throw new Error(\"project installation scope reference is required\");\n\t\treturn Object.freeze({ scope: normalizedScope, scopeRef: DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 });\n\t}\n\tconst normalizedScopeRef = opaqueScopeRef(scopeRef);\n\tif (normalizedScope === \"global\" && normalizedScopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)\n\t\tthrow new Error(\"plugin global installation scope reference is invalid\");\n\treturn Object.freeze({ scope: normalizedScope, scopeRef: normalizedScopeRef });\n}\n\nfunction declaredScopes(host: PluginInstallHostV1): readonly PluginInstallationScopeV1[] {\n\tif (host.supportedScopes === undefined) return Object.freeze([\"global\"]);\n\tif (\n\t\t!Array.isArray(host.supportedScopes) ||\n\t\tnew Set(host.supportedScopes).size !== host.supportedScopes.length ||\n\t\thost.supportedScopes.some((scope) => scope !== \"global\" && scope !== \"project\")\n\t)\n\t\treturn Object.freeze([]);\n\treturn Object.freeze([...host.supportedScopes]);\n}\n\nfunction hostAcceptedScope(\n\tinstallation: { readonly scope?: PluginInstallationScopeV1; readonly scopeRef?: string },\n\tscopeIdentity: PluginScopeIdentityV1,\n): void {\n\tif (scopeIdentity.scope === \"global\" && installation.scope === undefined && installation.scopeRef === undefined)\n\t\treturn;\n\tif (installation.scope !== scopeIdentity.scope || installation.scopeRef !== scopeIdentity.scopeRef)\n\t\tthrow new Error(\"plugin installation scope mismatch\");\n}\n\nfunction ensureArtifactIdentity(artifact: PluginDistributionArtifactV1, record: PluginUpdateRecordV1): void {\n\tif (\n\t\tartifact.version !== 1 ||\n\t\tartifact.pluginId !== record.pluginId ||\n\t\tartifact.pluginVersion !== record.pluginVersion ||\n\t\tartifact.manifestDigest !== record.manifestDigest ||\n\t\ttypeof artifact.artifactRef !== \"string\" ||\n\t\tartifact.artifactRef.trim() === \"\"\n\t)\n\t\tthrow new Error(\"plugin distribution artifact identity mismatch\");\n\topaqueInstallationRef(artifact.artifactRef);\n}\n\nfunction isInvalidInstallationError(value: unknown): boolean {\n\treturn (\n\t\tvalue instanceof Error &&\n\t\t(value.message === \"plugin installation handle is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope reference is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope reference must be opaque\" ||\n\t\t\tvalue.message === \"plugin global installation scope reference is invalid\" ||\n\t\t\tvalue.message === \"project installation scope reference is required\" ||\n\t\t\tvalue.message === \"plugin installation identity mismatch\" ||\n\t\t\tvalue.message === \"plugin installation scope mismatch\" ||\n\t\t\tvalue.message === \"plugin distribution artifact identity mismatch\")\n\t);\n}\n\nexport function createPluginInstallerV1(options: PluginInstallerOptionsV1): PluginInstallerV1 {\n\tconst supportedScopes = declaredScopes(options.host);\n\tconst supportsScope = (scope: PluginInstallationScopeV1): boolean => supportedScopes.includes(scope);\n\treturn {\n\t\tsupportedScopes,\n\t\tprepare(input) {\n\t\t\tconst staged = stagePluginUpdateV1({\n\t\t\t\tmanifest: input.manifest,\n\t\t\t\tsource: input.source,\n\t\t\t});\n\t\t\treturn verifyPluginUpdateV1({\n\t\t\t\trecord: staged,\n\t\t\t\thost: input.host,\n\t\t\t\texpectedDigest: input.expectedDigest,\n\t\t\t\tverifier: options.verifier,\n\t\t\t});\n\t\t},\n\t\tasync install(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t} catch {\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t}\n\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\tif (input.record.state !== \"verified\") return failure(\"invalid_installation\");\n\t\t\ttry {\n\t\t\t\tif (input.artifact !== undefined) ensureArtifactIdentity(input.artifact, input.record);\n\t\t\t\tconst installed = await options.host.install({\n\t\t\t\t\trecord: input.record,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\t...(input.artifact === undefined ? {} : { artifact: input.artifact }),\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\thostAcceptedScope(installed, scopeIdentity);\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: installationFrom(input.record, installed.installationRef, scopeIdentity, \"installed\"),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"install_failed\");\n\t\t\t}\n\t\t},\n\t\tasync activate(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tensureIdentity(input.installation, input.record, scopeIdentity);\n\t\t\t\tif (input.installation.state !== \"installed\" || input.record.state !== \"verified\")\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tawait options.host.activate({\n\t\t\t\t\tinstallation: input.installation,\n\t\t\t\t\trecord: input.record,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.installation,\n\t\t\t\t\t\tstate: \"active\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"activation_failed\");\n\t\t\t}\n\t\t},\n\t\tasync rollback(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tvalidateInstallation(input.failed);\n\t\t\t\tvalidateInstallation(input.previous);\n\t\t\t\tif (input.failed.state !== \"installed\" && input.failed.state !== \"active\")\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tif (input.previous.state !== \"active\") return failure(\"invalid_installation\");\n\t\t\t\tif (\n\t\t\t\t\tinput.failed.pluginId !== input.previous.pluginId ||\n\t\t\t\t\tinput.failed.scope !== scopeIdentity.scope ||\n\t\t\t\t\tinput.previous.scope !== scopeIdentity.scope ||\n\t\t\t\t\t(input.failed.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef ||\n\t\t\t\t\t(input.previous.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t\t\t\t)\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tawait options.host.rollback({\n\t\t\t\t\tfailed: input.failed,\n\t\t\t\t\tprevious: input.previous,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.previous,\n\t\t\t\t\t\tstate: \"active\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"rollback_failed\");\n\t\t\t}\n\t\t},\n\t\tasync remove(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tvalidateInstallation(input.installation);\n\t\t\t} catch {\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t}\n\t\t\tif (\n\t\t\t\tinput.installation.state !== \"installed\" &&\n\t\t\t\tinput.installation.state !== \"active\" &&\n\t\t\t\tinput.installation.state !== \"retained\"\n\t\t\t)\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\tif (\n\t\t\t\tinput.installation.scope !== scopeIdentity.scope ||\n\t\t\t\t(input.installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t\t\t)\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\tif (options.host.uninstall === undefined) return failure(\"uninstall_failed\");\n\t\t\ttry {\n\t\t\t\tawait options.host.uninstall({\n\t\t\t\t\tinstallation: input.installation,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.installation,\n\t\t\t\t\t\tstate: \"retained\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"uninstall_failed\");\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { stagePluginUpdateV1, verifyPluginUpdateV1 } from "./updates.js";
|
|
2
|
+
const MAX_INSTALLATION_REF_CHARS_V1 = 2048;
|
|
3
|
+
export const MAX_PLUGIN_SCOPE_REF_CHARS_V1 = 2048;
|
|
4
|
+
/** Stable host namespace for installations that are not project-local. */
|
|
5
|
+
export const DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 = "global:default";
|
|
6
|
+
function opaqueInstallationRef(value) {
|
|
7
|
+
if (typeof value !== "string" || value.trim() === "" || value.length > MAX_INSTALLATION_REF_CHARS_V1)
|
|
8
|
+
throw new Error("installation reference is invalid");
|
|
9
|
+
if (/^(?:file:|[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/iu.test(value) || /\s/u.test(value))
|
|
10
|
+
throw new Error("installation reference must be opaque");
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
function opaqueScopeRef(value) {
|
|
14
|
+
if (typeof value !== "string" || value.trim() === "" || value.length > MAX_PLUGIN_SCOPE_REF_CHARS_V1)
|
|
15
|
+
throw new Error("plugin installation scope reference is invalid");
|
|
16
|
+
if (/^(?:file:|[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/iu.test(value) || /\s/u.test(value))
|
|
17
|
+
throw new Error("plugin installation scope reference must be opaque");
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
function installationFrom(record, installationRef, scopeIdentity, state) {
|
|
21
|
+
return Object.freeze({
|
|
22
|
+
version: 1,
|
|
23
|
+
pluginId: record.pluginId,
|
|
24
|
+
pluginVersion: record.pluginVersion,
|
|
25
|
+
manifestDigest: record.manifestDigest,
|
|
26
|
+
scope: scopeIdentity.scope,
|
|
27
|
+
scopeRef: scopeIdentity.scopeRef,
|
|
28
|
+
installationRef: opaqueInstallationRef(installationRef),
|
|
29
|
+
state,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function cancelled() {
|
|
33
|
+
return {
|
|
34
|
+
status: "cancelled",
|
|
35
|
+
error: {
|
|
36
|
+
code: "cancelled",
|
|
37
|
+
message: "Plugin installation operation was cancelled",
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function failure(code) {
|
|
42
|
+
return {
|
|
43
|
+
status: "failed",
|
|
44
|
+
error: {
|
|
45
|
+
code,
|
|
46
|
+
message: code === "invalid_installation"
|
|
47
|
+
? "The plugin installation handle is invalid"
|
|
48
|
+
: code === "unsupported_scope"
|
|
49
|
+
? "The plugin installer does not support this scope"
|
|
50
|
+
: code === "install_failed"
|
|
51
|
+
? "The host plugin installer failed"
|
|
52
|
+
: code === "activation_failed"
|
|
53
|
+
? "The host plugin activation failed"
|
|
54
|
+
: code === "rollback_failed"
|
|
55
|
+
? "The host plugin rollback failed"
|
|
56
|
+
: "The host plugin uninstall failed",
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function validateInstallation(installation) {
|
|
61
|
+
if (installation.version !== 1 ||
|
|
62
|
+
typeof installation.pluginId !== "string" ||
|
|
63
|
+
typeof installation.pluginVersion !== "string" ||
|
|
64
|
+
typeof installation.manifestDigest !== "string" ||
|
|
65
|
+
installation.pluginId.trim() === "" ||
|
|
66
|
+
installation.pluginVersion.trim() === "" ||
|
|
67
|
+
installation.manifestDigest.trim() === "")
|
|
68
|
+
throw new Error("plugin installation handle is invalid");
|
|
69
|
+
if (installation.scope !== "global" && installation.scope !== "project")
|
|
70
|
+
throw new Error("plugin installation scope is invalid");
|
|
71
|
+
const scopeRef = installation.scopeRef === undefined
|
|
72
|
+
? installation.scope === "global"
|
|
73
|
+
? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1
|
|
74
|
+
: (() => {
|
|
75
|
+
throw new Error("project installation scope reference is required");
|
|
76
|
+
})()
|
|
77
|
+
: opaqueScopeRef(installation.scopeRef);
|
|
78
|
+
if (installation.scope === "global" && scopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)
|
|
79
|
+
throw new Error("plugin global installation scope reference is invalid");
|
|
80
|
+
opaqueInstallationRef(installation.installationRef);
|
|
81
|
+
}
|
|
82
|
+
function ensureIdentity(installation, record, scopeIdentity) {
|
|
83
|
+
validateInstallation(installation);
|
|
84
|
+
if (installation.pluginId !== record.pluginId ||
|
|
85
|
+
installation.pluginVersion !== record.pluginVersion ||
|
|
86
|
+
installation.manifestDigest !== record.manifestDigest ||
|
|
87
|
+
installation.scope !== scopeIdentity.scope ||
|
|
88
|
+
(installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef)
|
|
89
|
+
throw new Error("plugin installation identity mismatch");
|
|
90
|
+
}
|
|
91
|
+
function normalizeScope(scope) {
|
|
92
|
+
if (scope === undefined)
|
|
93
|
+
return "global";
|
|
94
|
+
if (scope === "global" || scope === "project")
|
|
95
|
+
return scope;
|
|
96
|
+
throw new Error("plugin installation scope is invalid");
|
|
97
|
+
}
|
|
98
|
+
function normalizeScopeIdentity(scope, scopeRef) {
|
|
99
|
+
const normalizedScope = normalizeScope(scope);
|
|
100
|
+
if (scopeRef === undefined) {
|
|
101
|
+
if (normalizedScope !== "global")
|
|
102
|
+
throw new Error("project installation scope reference is required");
|
|
103
|
+
return Object.freeze({ scope: normalizedScope, scopeRef: DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 });
|
|
104
|
+
}
|
|
105
|
+
const normalizedScopeRef = opaqueScopeRef(scopeRef);
|
|
106
|
+
if (normalizedScope === "global" && normalizedScopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)
|
|
107
|
+
throw new Error("plugin global installation scope reference is invalid");
|
|
108
|
+
return Object.freeze({ scope: normalizedScope, scopeRef: normalizedScopeRef });
|
|
109
|
+
}
|
|
110
|
+
function declaredScopes(host) {
|
|
111
|
+
if (host.supportedScopes === undefined)
|
|
112
|
+
return Object.freeze(["global"]);
|
|
113
|
+
if (!Array.isArray(host.supportedScopes) ||
|
|
114
|
+
new Set(host.supportedScopes).size !== host.supportedScopes.length ||
|
|
115
|
+
host.supportedScopes.some((scope) => scope !== "global" && scope !== "project"))
|
|
116
|
+
return Object.freeze([]);
|
|
117
|
+
return Object.freeze([...host.supportedScopes]);
|
|
118
|
+
}
|
|
119
|
+
function hostAcceptedScope(installation, scopeIdentity) {
|
|
120
|
+
if (scopeIdentity.scope === "global" && installation.scope === undefined && installation.scopeRef === undefined)
|
|
121
|
+
return;
|
|
122
|
+
if (installation.scope !== scopeIdentity.scope || installation.scopeRef !== scopeIdentity.scopeRef)
|
|
123
|
+
throw new Error("plugin installation scope mismatch");
|
|
124
|
+
}
|
|
125
|
+
function ensureArtifactIdentity(artifact, record) {
|
|
126
|
+
if (artifact.version !== 1 ||
|
|
127
|
+
artifact.pluginId !== record.pluginId ||
|
|
128
|
+
artifact.pluginVersion !== record.pluginVersion ||
|
|
129
|
+
artifact.manifestDigest !== record.manifestDigest ||
|
|
130
|
+
typeof artifact.artifactRef !== "string" ||
|
|
131
|
+
artifact.artifactRef.trim() === "")
|
|
132
|
+
throw new Error("plugin distribution artifact identity mismatch");
|
|
133
|
+
opaqueInstallationRef(artifact.artifactRef);
|
|
134
|
+
}
|
|
135
|
+
function isInvalidInstallationError(value) {
|
|
136
|
+
return (value instanceof Error &&
|
|
137
|
+
(value.message === "plugin installation handle is invalid" ||
|
|
138
|
+
value.message === "plugin installation scope is invalid" ||
|
|
139
|
+
value.message === "plugin installation scope reference is invalid" ||
|
|
140
|
+
value.message === "plugin installation scope reference must be opaque" ||
|
|
141
|
+
value.message === "plugin global installation scope reference is invalid" ||
|
|
142
|
+
value.message === "project installation scope reference is required" ||
|
|
143
|
+
value.message === "plugin installation identity mismatch" ||
|
|
144
|
+
value.message === "plugin installation scope mismatch" ||
|
|
145
|
+
value.message === "plugin distribution artifact identity mismatch"));
|
|
146
|
+
}
|
|
147
|
+
export function createPluginInstallerV1(options) {
|
|
148
|
+
const supportedScopes = declaredScopes(options.host);
|
|
149
|
+
const supportsScope = (scope) => supportedScopes.includes(scope);
|
|
150
|
+
return {
|
|
151
|
+
supportedScopes,
|
|
152
|
+
prepare(input) {
|
|
153
|
+
const staged = stagePluginUpdateV1({
|
|
154
|
+
manifest: input.manifest,
|
|
155
|
+
source: input.source,
|
|
156
|
+
});
|
|
157
|
+
return verifyPluginUpdateV1({
|
|
158
|
+
record: staged,
|
|
159
|
+
host: input.host,
|
|
160
|
+
expectedDigest: input.expectedDigest,
|
|
161
|
+
verifier: options.verifier,
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
async install(input) {
|
|
165
|
+
if (input.signal?.aborted)
|
|
166
|
+
return cancelled();
|
|
167
|
+
let scopeIdentity;
|
|
168
|
+
try {
|
|
169
|
+
scopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return failure("invalid_installation");
|
|
173
|
+
}
|
|
174
|
+
if (!supportsScope(scopeIdentity.scope))
|
|
175
|
+
return failure("unsupported_scope");
|
|
176
|
+
if (input.record.state !== "verified")
|
|
177
|
+
return failure("invalid_installation");
|
|
178
|
+
try {
|
|
179
|
+
if (input.artifact !== undefined)
|
|
180
|
+
ensureArtifactIdentity(input.artifact, input.record);
|
|
181
|
+
const installed = await options.host.install({
|
|
182
|
+
record: input.record,
|
|
183
|
+
scope: scopeIdentity.scope,
|
|
184
|
+
scopeRef: scopeIdentity.scopeRef,
|
|
185
|
+
...(input.artifact === undefined ? {} : { artifact: input.artifact }),
|
|
186
|
+
signal: input.signal,
|
|
187
|
+
});
|
|
188
|
+
hostAcceptedScope(installed, scopeIdentity);
|
|
189
|
+
return {
|
|
190
|
+
status: "succeeded",
|
|
191
|
+
installation: installationFrom(input.record, installed.installationRef, scopeIdentity, "installed"),
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
if (isInvalidInstallationError(error))
|
|
196
|
+
return failure("invalid_installation");
|
|
197
|
+
return input.signal?.aborted ? cancelled() : failure("install_failed");
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
async activate(input) {
|
|
201
|
+
if (input.signal?.aborted)
|
|
202
|
+
return cancelled();
|
|
203
|
+
let scopeIdentity;
|
|
204
|
+
try {
|
|
205
|
+
scopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);
|
|
206
|
+
if (!supportsScope(scopeIdentity.scope))
|
|
207
|
+
return failure("unsupported_scope");
|
|
208
|
+
ensureIdentity(input.installation, input.record, scopeIdentity);
|
|
209
|
+
if (input.installation.state !== "installed" || input.record.state !== "verified")
|
|
210
|
+
return failure("invalid_installation");
|
|
211
|
+
await options.host.activate({
|
|
212
|
+
installation: input.installation,
|
|
213
|
+
record: input.record,
|
|
214
|
+
scope: scopeIdentity.scope,
|
|
215
|
+
scopeRef: scopeIdentity.scopeRef,
|
|
216
|
+
signal: input.signal,
|
|
217
|
+
});
|
|
218
|
+
return {
|
|
219
|
+
status: "succeeded",
|
|
220
|
+
installation: Object.freeze({
|
|
221
|
+
...input.installation,
|
|
222
|
+
state: "active",
|
|
223
|
+
}),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
if (isInvalidInstallationError(error))
|
|
228
|
+
return failure("invalid_installation");
|
|
229
|
+
return input.signal?.aborted ? cancelled() : failure("activation_failed");
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
async rollback(input) {
|
|
233
|
+
if (input.signal?.aborted)
|
|
234
|
+
return cancelled();
|
|
235
|
+
let scopeIdentity;
|
|
236
|
+
try {
|
|
237
|
+
scopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);
|
|
238
|
+
if (!supportsScope(scopeIdentity.scope))
|
|
239
|
+
return failure("unsupported_scope");
|
|
240
|
+
validateInstallation(input.failed);
|
|
241
|
+
validateInstallation(input.previous);
|
|
242
|
+
if (input.failed.state !== "installed" && input.failed.state !== "active")
|
|
243
|
+
return failure("invalid_installation");
|
|
244
|
+
if (input.previous.state !== "active")
|
|
245
|
+
return failure("invalid_installation");
|
|
246
|
+
if (input.failed.pluginId !== input.previous.pluginId ||
|
|
247
|
+
input.failed.scope !== scopeIdentity.scope ||
|
|
248
|
+
input.previous.scope !== scopeIdentity.scope ||
|
|
249
|
+
(input.failed.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef ||
|
|
250
|
+
(input.previous.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef)
|
|
251
|
+
return failure("invalid_installation");
|
|
252
|
+
await options.host.rollback({
|
|
253
|
+
failed: input.failed,
|
|
254
|
+
previous: input.previous,
|
|
255
|
+
scope: scopeIdentity.scope,
|
|
256
|
+
scopeRef: scopeIdentity.scopeRef,
|
|
257
|
+
signal: input.signal,
|
|
258
|
+
});
|
|
259
|
+
return {
|
|
260
|
+
status: "succeeded",
|
|
261
|
+
installation: Object.freeze({
|
|
262
|
+
...input.previous,
|
|
263
|
+
state: "active",
|
|
264
|
+
}),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
if (isInvalidInstallationError(error))
|
|
269
|
+
return failure("invalid_installation");
|
|
270
|
+
return input.signal?.aborted ? cancelled() : failure("rollback_failed");
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
async remove(input) {
|
|
274
|
+
if (input.signal?.aborted)
|
|
275
|
+
return cancelled();
|
|
276
|
+
let scopeIdentity;
|
|
277
|
+
try {
|
|
278
|
+
scopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);
|
|
279
|
+
if (!supportsScope(scopeIdentity.scope))
|
|
280
|
+
return failure("unsupported_scope");
|
|
281
|
+
validateInstallation(input.installation);
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
return failure("invalid_installation");
|
|
285
|
+
}
|
|
286
|
+
if (input.installation.state !== "installed" &&
|
|
287
|
+
input.installation.state !== "active" &&
|
|
288
|
+
input.installation.state !== "retained")
|
|
289
|
+
return failure("invalid_installation");
|
|
290
|
+
if (input.installation.scope !== scopeIdentity.scope ||
|
|
291
|
+
(input.installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef)
|
|
292
|
+
return failure("invalid_installation");
|
|
293
|
+
if (options.host.uninstall === undefined)
|
|
294
|
+
return failure("uninstall_failed");
|
|
295
|
+
try {
|
|
296
|
+
await options.host.uninstall({
|
|
297
|
+
installation: input.installation,
|
|
298
|
+
scope: scopeIdentity.scope,
|
|
299
|
+
scopeRef: scopeIdentity.scopeRef,
|
|
300
|
+
signal: input.signal,
|
|
301
|
+
});
|
|
302
|
+
return {
|
|
303
|
+
status: "succeeded",
|
|
304
|
+
installation: Object.freeze({
|
|
305
|
+
...input.installation,
|
|
306
|
+
state: "retained",
|
|
307
|
+
}),
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
return input.signal?.aborted ? cancelled() : failure("uninstall_failed");
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/plugins/ecosystem/installer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginDistributionArtifactV1 } from \"./distribution.ts\";\nimport type { HostFactsV1, PluginSourceVerifierV1, PluginUpdateRecordV1 } from \"./types.ts\";\n\nimport { stagePluginUpdateV1, type UpdateVerificationV1, verifyPluginUpdateV1 } from \"./updates.ts\";\n\nconst MAX_INSTALLATION_REF_CHARS_V1 = 2048;\nexport const MAX_PLUGIN_SCOPE_REF_CHARS_V1 = 2048;\n/** Stable host namespace for installations that are not project-local. */\nexport const DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 = \"global:default\";\n\nexport type PluginInstallationScopeV1 = \"global\" | \"project\";\n\ninterface PluginScopeIdentityV1 {\n\treadonly scope: PluginInstallationScopeV1;\n\t/** Opaque host namespace; it must never disclose a local project path. */\n\treadonly scopeRef: string;\n}\n\nexport interface PluginInstallationV1 {\n\treadonly version: 1;\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly manifestDigest: string;\n\t/** The host installation namespace. It is part of the opaque installation identity. */\n\treadonly scope: PluginInstallationScopeV1;\n\t/** Concrete host namespace that distinguishes global and individual project installations. */\n\treadonly scopeRef?: string;\n\t/** Opaque host-owned installation handle; never a local path. */\n\treadonly installationRef: string;\n\treadonly state: \"installed\" | \"active\" | \"retained\";\n}\n\nexport interface PluginInstallHostV1 {\n\t/**\n\t * Scopes that this host can isolate physically. Omitting this declaration\n\t * preserves the legacy global-only host behavior; project operations must be\n\t * declared explicitly.\n\t */\n\treadonly supportedScopes?: readonly PluginInstallationScopeV1[];\n\t/** Host operations are atomic from the installer's perspective: an abort may\n\t * prevent starting work, but once a method resolves its side effect is committed. */\n\tinstall(input: {\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\t/** A host-owned, digest-bound package reference. Package bytes never cross this contract. */\n\t\treadonly artifact?: PluginDistributionArtifactV1;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<{\n\t\treadonly installationRef: string;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t}>;\n\tactivate(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<void>;\n\trollback(input: {\n\t\treadonly failed: PluginInstallationV1;\n\t\treadonly previous: PluginInstallationV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<void>;\n\t/**\n\t * Remove a host-owned installation. The method is optional so hosts can\n\t * still expose state-only management while they are migrating; callers that\n\t * need physical cleanup must treat a missing method as unsupported.\n\t */\n\tuninstall?: (input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly scope: PluginInstallationScopeV1;\n\t\treadonly scopeRef: string;\n\t\treadonly signal?: AbortSignal;\n\t}) => Promise<void>;\n}\n\nexport interface PluginInstallerOptionsV1 {\n\treadonly host: PluginInstallHostV1;\n\treadonly verifier?: PluginSourceVerifierV1;\n}\n\nexport type PluginInstallerErrorCodeV1 =\n\t| \"invalid_installation\"\n\t| \"unsupported_scope\"\n\t| \"install_failed\"\n\t| \"activation_failed\"\n\t| \"rollback_failed\"\n\t| \"uninstall_failed\";\n\nexport type PluginInstallerResultV1 =\n\t| {\n\t\t\treadonly status: \"succeeded\";\n\t\t\treadonly installation: PluginInstallationV1;\n\t }\n\t| {\n\t\t\treadonly status: \"cancelled\";\n\t\t\treadonly error: { readonly code: \"cancelled\"; readonly message: string };\n\t }\n\t| {\n\t\t\treadonly status: \"failed\";\n\t\t\treadonly error: {\n\t\t\t\treadonly code: PluginInstallerErrorCodeV1;\n\t\t\t\treadonly message: string;\n\t\t\t};\n\t };\n\nexport interface PluginInstallerV1 {\n\t/** Declared, host-backed installation scopes. Project support is never inferred. */\n\treadonly supportedScopes: readonly PluginInstallationScopeV1[];\n\tprepare(input: {\n\t\treadonly manifest: PluginUpdateRecordV1[\"manifest\"];\n\t\treadonly source: string;\n\t\treadonly host: HostFactsV1;\n\t\treadonly expectedDigest?: string;\n\t}): UpdateVerificationV1;\n\tinstall(input: {\n\t\treadonly record: PluginUpdateRecordV1;\n\t\t/** Omitting scope preserves the existing global installation behavior. */\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\t/** Required for project installations; global defaults to `global:default`. */\n\t\treadonly scopeRef?: string;\n\t\treadonly artifact?: PluginDistributionArtifactV1;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\tactivate(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly record: PluginUpdateRecordV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\trollback(input: {\n\t\treadonly failed: PluginInstallationV1;\n\t\treadonly previous: PluginInstallationV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n\t/** Remove one installed version after validating its opaque identity. */\n\tremove(input: {\n\t\treadonly installation: PluginInstallationV1;\n\t\treadonly scope?: PluginInstallationScopeV1;\n\t\treadonly scopeRef?: string;\n\t\treadonly signal?: AbortSignal;\n\t}): Promise<PluginInstallerResultV1>;\n}\n\nfunction opaqueInstallationRef(value: unknown): string {\n\tif (typeof value !== \"string\" || value.trim() === \"\" || value.length > MAX_INSTALLATION_REF_CHARS_V1)\n\t\tthrow new Error(\"installation reference is invalid\");\n\tif (/^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(value) || /\\s/u.test(value))\n\t\tthrow new Error(\"installation reference must be opaque\");\n\treturn value;\n}\n\nfunction opaqueScopeRef(value: unknown): string {\n\tif (typeof value !== \"string\" || value.trim() === \"\" || value.length > MAX_PLUGIN_SCOPE_REF_CHARS_V1)\n\t\tthrow new Error(\"plugin installation scope reference is invalid\");\n\tif (/^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(value) || /\\s/u.test(value))\n\t\tthrow new Error(\"plugin installation scope reference must be opaque\");\n\treturn value;\n}\n\nfunction installationFrom(\n\trecord: PluginUpdateRecordV1,\n\tinstallationRef: string,\n\tscopeIdentity: PluginScopeIdentityV1,\n\tstate: PluginInstallationV1[\"state\"],\n): PluginInstallationV1 {\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\tpluginId: record.pluginId,\n\t\tpluginVersion: record.pluginVersion,\n\t\tmanifestDigest: record.manifestDigest,\n\t\tscope: scopeIdentity.scope,\n\t\tscopeRef: scopeIdentity.scopeRef,\n\t\tinstallationRef: opaqueInstallationRef(installationRef),\n\t\tstate,\n\t});\n}\n\nfunction cancelled(): PluginInstallerResultV1 {\n\treturn {\n\t\tstatus: \"cancelled\",\n\t\terror: {\n\t\t\tcode: \"cancelled\",\n\t\t\tmessage: \"Plugin installation operation was cancelled\",\n\t\t},\n\t};\n}\n\nfunction failure(code: PluginInstallerErrorCodeV1): PluginInstallerResultV1 {\n\treturn {\n\t\tstatus: \"failed\",\n\t\terror: {\n\t\t\tcode,\n\t\t\tmessage:\n\t\t\t\tcode === \"invalid_installation\"\n\t\t\t\t\t? \"The plugin installation handle is invalid\"\n\t\t\t\t\t: code === \"unsupported_scope\"\n\t\t\t\t\t\t? \"The plugin installer does not support this scope\"\n\t\t\t\t\t\t: code === \"install_failed\"\n\t\t\t\t\t\t\t? \"The host plugin installer failed\"\n\t\t\t\t\t\t\t: code === \"activation_failed\"\n\t\t\t\t\t\t\t\t? \"The host plugin activation failed\"\n\t\t\t\t\t\t\t\t: code === \"rollback_failed\"\n\t\t\t\t\t\t\t\t\t? \"The host plugin rollback failed\"\n\t\t\t\t\t\t\t\t\t: \"The host plugin uninstall failed\",\n\t\t},\n\t};\n}\n\nfunction validateInstallation(installation: PluginInstallationV1): void {\n\tif (\n\t\tinstallation.version !== 1 ||\n\t\ttypeof installation.pluginId !== \"string\" ||\n\t\ttypeof installation.pluginVersion !== \"string\" ||\n\t\ttypeof installation.manifestDigest !== \"string\" ||\n\t\tinstallation.pluginId.trim() === \"\" ||\n\t\tinstallation.pluginVersion.trim() === \"\" ||\n\t\tinstallation.manifestDigest.trim() === \"\"\n\t)\n\t\tthrow new Error(\"plugin installation handle is invalid\");\n\tif (installation.scope !== \"global\" && installation.scope !== \"project\")\n\t\tthrow new Error(\"plugin installation scope is invalid\");\n\tconst scopeRef =\n\t\tinstallation.scopeRef === undefined\n\t\t\t? installation.scope === \"global\"\n\t\t\t\t? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1\n\t\t\t\t: (() => {\n\t\t\t\t\t\tthrow new Error(\"project installation scope reference is required\");\n\t\t\t\t\t})()\n\t\t\t: opaqueScopeRef(installation.scopeRef);\n\tif (installation.scope === \"global\" && scopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)\n\t\tthrow new Error(\"plugin global installation scope reference is invalid\");\n\topaqueInstallationRef(installation.installationRef);\n}\n\nfunction ensureIdentity(\n\tinstallation: PluginInstallationV1,\n\trecord: PluginUpdateRecordV1,\n\tscopeIdentity: PluginScopeIdentityV1,\n): void {\n\tvalidateInstallation(installation);\n\tif (\n\t\tinstallation.pluginId !== record.pluginId ||\n\t\tinstallation.pluginVersion !== record.pluginVersion ||\n\t\tinstallation.manifestDigest !== record.manifestDigest ||\n\t\tinstallation.scope !== scopeIdentity.scope ||\n\t\t(installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t)\n\t\tthrow new Error(\"plugin installation identity mismatch\");\n}\n\nfunction normalizeScope(scope: PluginInstallationScopeV1 | undefined): PluginInstallationScopeV1 {\n\tif (scope === undefined) return \"global\";\n\tif (scope === \"global\" || scope === \"project\") return scope;\n\tthrow new Error(\"plugin installation scope is invalid\");\n}\n\nfunction normalizeScopeIdentity(\n\tscope: PluginInstallationScopeV1 | undefined,\n\tscopeRef: string | undefined,\n): PluginScopeIdentityV1 {\n\tconst normalizedScope = normalizeScope(scope);\n\tif (scopeRef === undefined) {\n\t\tif (normalizedScope !== \"global\") throw new Error(\"project installation scope reference is required\");\n\t\treturn Object.freeze({ scope: normalizedScope, scopeRef: DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1 });\n\t}\n\tconst normalizedScopeRef = opaqueScopeRef(scopeRef);\n\tif (normalizedScope === \"global\" && normalizedScopeRef !== DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1)\n\t\tthrow new Error(\"plugin global installation scope reference is invalid\");\n\treturn Object.freeze({ scope: normalizedScope, scopeRef: normalizedScopeRef });\n}\n\nfunction declaredScopes(host: PluginInstallHostV1): readonly PluginInstallationScopeV1[] {\n\tif (host.supportedScopes === undefined) return Object.freeze([\"global\"]);\n\tif (\n\t\t!Array.isArray(host.supportedScopes) ||\n\t\tnew Set(host.supportedScopes).size !== host.supportedScopes.length ||\n\t\thost.supportedScopes.some((scope) => scope !== \"global\" && scope !== \"project\")\n\t)\n\t\treturn Object.freeze([]);\n\treturn Object.freeze([...host.supportedScopes]);\n}\n\nfunction hostAcceptedScope(\n\tinstallation: { readonly scope?: PluginInstallationScopeV1; readonly scopeRef?: string },\n\tscopeIdentity: PluginScopeIdentityV1,\n): void {\n\tif (scopeIdentity.scope === \"global\" && installation.scope === undefined && installation.scopeRef === undefined)\n\t\treturn;\n\tif (installation.scope !== scopeIdentity.scope || installation.scopeRef !== scopeIdentity.scopeRef)\n\t\tthrow new Error(\"plugin installation scope mismatch\");\n}\n\nfunction ensureArtifactIdentity(artifact: PluginDistributionArtifactV1, record: PluginUpdateRecordV1): void {\n\tif (\n\t\tartifact.version !== 1 ||\n\t\tartifact.pluginId !== record.pluginId ||\n\t\tartifact.pluginVersion !== record.pluginVersion ||\n\t\tartifact.manifestDigest !== record.manifestDigest ||\n\t\ttypeof artifact.artifactRef !== \"string\" ||\n\t\tartifact.artifactRef.trim() === \"\"\n\t)\n\t\tthrow new Error(\"plugin distribution artifact identity mismatch\");\n\topaqueInstallationRef(artifact.artifactRef);\n}\n\nfunction isInvalidInstallationError(value: unknown): boolean {\n\treturn (\n\t\tvalue instanceof Error &&\n\t\t(value.message === \"plugin installation handle is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope reference is invalid\" ||\n\t\t\tvalue.message === \"plugin installation scope reference must be opaque\" ||\n\t\t\tvalue.message === \"plugin global installation scope reference is invalid\" ||\n\t\t\tvalue.message === \"project installation scope reference is required\" ||\n\t\t\tvalue.message === \"plugin installation identity mismatch\" ||\n\t\t\tvalue.message === \"plugin installation scope mismatch\" ||\n\t\t\tvalue.message === \"plugin distribution artifact identity mismatch\")\n\t);\n}\n\nexport function createPluginInstallerV1(options: PluginInstallerOptionsV1): PluginInstallerV1 {\n\tconst supportedScopes = declaredScopes(options.host);\n\tconst supportsScope = (scope: PluginInstallationScopeV1): boolean => supportedScopes.includes(scope);\n\treturn {\n\t\tsupportedScopes,\n\t\tprepare(input) {\n\t\t\tconst staged = stagePluginUpdateV1({\n\t\t\t\tmanifest: input.manifest,\n\t\t\t\tsource: input.source,\n\t\t\t});\n\t\t\treturn verifyPluginUpdateV1({\n\t\t\t\trecord: staged,\n\t\t\t\thost: input.host,\n\t\t\t\texpectedDigest: input.expectedDigest,\n\t\t\t\tverifier: options.verifier,\n\t\t\t});\n\t\t},\n\t\tasync install(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t} catch {\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t}\n\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\tif (input.record.state !== \"verified\") return failure(\"invalid_installation\");\n\t\t\ttry {\n\t\t\t\tif (input.artifact !== undefined) ensureArtifactIdentity(input.artifact, input.record);\n\t\t\t\tconst installed = await options.host.install({\n\t\t\t\t\trecord: input.record,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\t...(input.artifact === undefined ? {} : { artifact: input.artifact }),\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\thostAcceptedScope(installed, scopeIdentity);\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: installationFrom(input.record, installed.installationRef, scopeIdentity, \"installed\"),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"install_failed\");\n\t\t\t}\n\t\t},\n\t\tasync activate(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tensureIdentity(input.installation, input.record, scopeIdentity);\n\t\t\t\tif (input.installation.state !== \"installed\" || input.record.state !== \"verified\")\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tawait options.host.activate({\n\t\t\t\t\tinstallation: input.installation,\n\t\t\t\t\trecord: input.record,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.installation,\n\t\t\t\t\t\tstate: \"active\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"activation_failed\");\n\t\t\t}\n\t\t},\n\t\tasync rollback(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tvalidateInstallation(input.failed);\n\t\t\t\tvalidateInstallation(input.previous);\n\t\t\t\tif (input.failed.state !== \"installed\" && input.failed.state !== \"active\")\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tif (input.previous.state !== \"active\") return failure(\"invalid_installation\");\n\t\t\t\tif (\n\t\t\t\t\tinput.failed.pluginId !== input.previous.pluginId ||\n\t\t\t\t\tinput.failed.scope !== scopeIdentity.scope ||\n\t\t\t\t\tinput.previous.scope !== scopeIdentity.scope ||\n\t\t\t\t\t(input.failed.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef ||\n\t\t\t\t\t(input.previous.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t\t\t\t)\n\t\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t\tawait options.host.rollback({\n\t\t\t\t\tfailed: input.failed,\n\t\t\t\t\tprevious: input.previous,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.previous,\n\t\t\t\t\t\tstate: \"active\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tif (isInvalidInstallationError(error)) return failure(\"invalid_installation\");\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"rollback_failed\");\n\t\t\t}\n\t\t},\n\t\tasync remove(input) {\n\t\t\tif (input.signal?.aborted) return cancelled();\n\t\t\tlet scopeIdentity: PluginScopeIdentityV1;\n\t\t\ttry {\n\t\t\t\tscopeIdentity = normalizeScopeIdentity(input.scope, input.scopeRef);\n\t\t\t\tif (!supportsScope(scopeIdentity.scope)) return failure(\"unsupported_scope\");\n\t\t\t\tvalidateInstallation(input.installation);\n\t\t\t} catch {\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\t}\n\t\t\tif (\n\t\t\t\tinput.installation.state !== \"installed\" &&\n\t\t\t\tinput.installation.state !== \"active\" &&\n\t\t\t\tinput.installation.state !== \"retained\"\n\t\t\t)\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\tif (\n\t\t\t\tinput.installation.scope !== scopeIdentity.scope ||\n\t\t\t\t(input.installation.scopeRef ?? DEFAULT_GLOBAL_PLUGIN_SCOPE_REF_V1) !== scopeIdentity.scopeRef\n\t\t\t)\n\t\t\t\treturn failure(\"invalid_installation\");\n\t\t\tif (options.host.uninstall === undefined) return failure(\"uninstall_failed\");\n\t\t\ttry {\n\t\t\t\tawait options.host.uninstall({\n\t\t\t\t\tinstallation: input.installation,\n\t\t\t\t\tscope: scopeIdentity.scope,\n\t\t\t\t\tscopeRef: scopeIdentity.scopeRef,\n\t\t\t\t\tsignal: input.signal,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\tinstallation: Object.freeze({\n\t\t\t\t\t\t...input.installation,\n\t\t\t\t\t\tstate: \"retained\" as const,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\treturn input.signal?.aborted ? cancelled() : failure(\"uninstall_failed\");\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { PluginRegistrySourceV1 } from "./registry.ts";
|
|
2
|
+
declare const NODE_DISK_REGISTRY_SOURCE_VERSION_V1: 1;
|
|
3
|
+
/** Maximum index.v1.json bytes accepted by this source boundary. */
|
|
4
|
+
export declare const MAX_NODE_DISK_REGISTRY_INDEX_BYTES_V1: number;
|
|
5
|
+
/** Maximum per-installation agent-forge.json bytes accepted by this source. */
|
|
6
|
+
export declare const MAX_NODE_DISK_REGISTRY_MANIFEST_BYTES_V1: number;
|
|
7
|
+
/** Maximum index records projected by one list() call; matches the registry manifest cap. */
|
|
8
|
+
export declare const MAX_NODE_DISK_REGISTRY_RECORDS_V1 = 256;
|
|
9
|
+
export type NodeDiskRegistrySourceErrorCodeV1 = "cancelled" | "invalid_configuration" | "invalid_index" | "invalid_manifest" | "identity_mismatch" | "too_many_records" | "io_failed";
|
|
10
|
+
/**
|
|
11
|
+
* Deliberately does not retain filesystem exceptions or file contents: callers
|
|
12
|
+
* must not turn registry diagnostics into a path or package disclosure.
|
|
13
|
+
*/
|
|
14
|
+
export declare class NodeDiskRegistrySourceErrorV1 extends Error {
|
|
15
|
+
readonly code: NodeDiskRegistrySourceErrorCodeV1;
|
|
16
|
+
constructor(code: NodeDiskRegistrySourceErrorCodeV1, message: string);
|
|
17
|
+
}
|
|
18
|
+
export interface NodeDiskRegistrySourceOptionsV1 {
|
|
19
|
+
/** Absolute host-owned default install store directory. It is never returned in a DTO. */
|
|
20
|
+
readonly rootDirectory: string;
|
|
21
|
+
}
|
|
22
|
+
export interface NodeDiskRegistrySourceResolveInputV1 {
|
|
23
|
+
readonly pluginId: string;
|
|
24
|
+
readonly pluginVersion: string;
|
|
25
|
+
readonly signal?: AbortSignal;
|
|
26
|
+
}
|
|
27
|
+
export interface NodeDiskRegistrySourceV1 extends PluginRegistrySourceV1 {
|
|
28
|
+
readonly version: typeof NODE_DISK_REGISTRY_SOURCE_VERSION_V1;
|
|
29
|
+
/**
|
|
30
|
+
* Internal host channel (D-075 S2): absolute `plugin.json` path of the
|
|
31
|
+
* installation directory matching `{pluginId, pluginVersion}` in the store
|
|
32
|
+
* index, for the sdk's installed-plugin code loading. Registry snapshots
|
|
33
|
+
* still carry no paths; undefined means no matching record or the manifest
|
|
34
|
+
* file is absent from the installation directory.
|
|
35
|
+
*/
|
|
36
|
+
readonly resolveCapabilityManifestPath?: (input: NodeDiskRegistrySourceResolveInputV1) => Promise<string | undefined>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Read-only registry source over the default install store. It projects the
|
|
40
|
+
* persistent index and each installation instance's ecosystem manifest as
|
|
41
|
+
* bounded envelopes for the registry's own digest verification. It never
|
|
42
|
+
* writes the index or installation directories, and installation directories
|
|
43
|
+
* stay inside the host-owned store.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createNodeDiskPluginRegistrySourceV1(options: NodeDiskRegistrySourceOptionsV1): NodeDiskRegistrySourceV1;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=node-disk-registry-source.d.ts.map
|