@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,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default CLI wiring for the plugin marketplace write side (P1-5): one
|
|
3
|
+
* factory composes the disk install store, an optional HTTP registry origin,
|
|
4
|
+
* the HTTP distribution host, and the persistent package install host into
|
|
5
|
+
* the registry/installer/distribution surfaces the ecosystem CLI and the TUI
|
|
6
|
+
* manager consume. Nothing here discovers keys or origins implicitly: the
|
|
7
|
+
* registry origin comes from an explicit option or the
|
|
8
|
+
* AGENT_FORGE_PLUGIN_REGISTRY_ORIGIN environment variable, and its absence
|
|
9
|
+
* keeps disk-only semantics (install resolves to not_found, remove/rollback
|
|
10
|
+
* and state management stay fully usable). Host injection always wins; the
|
|
11
|
+
* factory is only invoked when no host-supplied boundary exists.
|
|
12
|
+
*/
|
|
13
|
+
import { join } from "node:path";
|
|
14
|
+
import { CONFIG_DIR_NAME } from "../../config.js";
|
|
15
|
+
import { DEFAULT_PLUGIN_STATE_FILE_V1, defaultPluginHostFactsV1, defaultPluginInstallStoreDirectoryV1, defaultPluginInstallStoreInstanceRootV1, } from "./default-active-bindings.js";
|
|
16
|
+
import { createPluginDistributionV1 } from "./distribution.js";
|
|
17
|
+
import { createPluginInstallerV1 } from "./installer.js";
|
|
18
|
+
import { createNodeDiskPluginRegistrySourceV1 } from "./node-disk-registry-source.js";
|
|
19
|
+
import { createNodeHttpPluginDistributionHostV1, } from "./node-distribution-host.js";
|
|
20
|
+
import { createNodePackageInstallHostV1, NodePackageInstallErrorV1, } from "./node-package-install-host.js";
|
|
21
|
+
import { createNodePluginAcquisitionHostV1 } from "./node-plugin-acquisition-host.js";
|
|
22
|
+
import { createNodePluginTrustRootV1 } from "./node-plugin-trust-root.js";
|
|
23
|
+
import { createNodeHttpPluginRegistrySourceV1 } from "./node-registry-source.js";
|
|
24
|
+
import { createPluginRegistryV1 } from "./registry.js";
|
|
25
|
+
import { createPluginEcosystemRegistryAdapterV1 } from "./registry-cli-adapter.js";
|
|
26
|
+
import { createPluginStateStoreV1 } from "./state.js";
|
|
27
|
+
/** Environment variable carrying the exact http(s) marketplace origin. */
|
|
28
|
+
export const DEFAULT_PLUGIN_REGISTRY_ORIGIN_ENV_V1 = "AGENT_FORGE_PLUGIN_REGISTRY_ORIGIN";
|
|
29
|
+
/**
|
|
30
|
+
* Environment variable carrying the Ed25519 trust root as a JSON array of
|
|
31
|
+
* `{keyId, publicKeyPem}` entries. Downloads never verify without an explicit
|
|
32
|
+
* trust root; there is no implicit key discovery.
|
|
33
|
+
*/
|
|
34
|
+
export const DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1 = "AGENT_FORGE_PLUGIN_TRUST_KEYS";
|
|
35
|
+
/** Registry document path below the configured origin. */
|
|
36
|
+
export const DEFAULT_PLUGIN_REGISTRY_PATH_V1 = "/v1/plugin-registry.json";
|
|
37
|
+
/**
|
|
38
|
+
* Compose the default marketplace boundaries over one agent directory. The
|
|
39
|
+
* disk install store is always part of the registry so installed plugins can
|
|
40
|
+
* be listed, updated, and removed offline; a configured origin adds the HTTP
|
|
41
|
+
* registry and package download. Installation failures surface structured
|
|
42
|
+
* errors, never synthetic success.
|
|
43
|
+
*/
|
|
44
|
+
export async function createDefaultPluginMarketWiringV1(options) {
|
|
45
|
+
const origin = (options.registryOrigin ?? process.env[DEFAULT_PLUGIN_REGISTRY_ORIGIN_ENV_V1])?.trim();
|
|
46
|
+
const effectiveOrigin = origin === "" ? undefined : origin;
|
|
47
|
+
const storeParent = defaultPluginInstallStoreDirectoryV1(options.agentDir);
|
|
48
|
+
// The install host persists under this fixed subdirectory; the disk
|
|
49
|
+
// registry source must read the same instance root to observe installs.
|
|
50
|
+
const instanceRoot = defaultPluginInstallStoreInstanceRootV1(options.agentDir);
|
|
51
|
+
const diskSource = createNodeDiskPluginRegistrySourceV1({ rootDirectory: instanceRoot });
|
|
52
|
+
const httpSource = effectiveOrigin === undefined
|
|
53
|
+
? undefined
|
|
54
|
+
: createNodeHttpPluginRegistrySourceV1({
|
|
55
|
+
url: new URL(effectiveOrigin + DEFAULT_PLUGIN_REGISTRY_PATH_V1),
|
|
56
|
+
allowedOrigins: [effectiveOrigin],
|
|
57
|
+
...(options.fetch === undefined ? {} : { fetch: options.fetch }),
|
|
58
|
+
});
|
|
59
|
+
const source = {
|
|
60
|
+
...(httpSource === undefined ? {} : { source: httpSource.source }),
|
|
61
|
+
list: async ({ signal } = {}) => {
|
|
62
|
+
const disk = await diskSource.list({ signal });
|
|
63
|
+
if (httpSource === undefined)
|
|
64
|
+
return disk;
|
|
65
|
+
const remote = await httpSource.list({ signal });
|
|
66
|
+
return Object.freeze([...remote, ...disk]);
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
const distributionHost = effectiveOrigin === undefined
|
|
70
|
+
? undefined
|
|
71
|
+
: await createNodeHttpPluginDistributionHostV1({
|
|
72
|
+
allowedOrigins: [effectiveOrigin],
|
|
73
|
+
artifactDirectory: join(storeParent, "distribution-cache-v1"),
|
|
74
|
+
...(options.fetch === undefined ? {} : { fetch: options.fetch }),
|
|
75
|
+
});
|
|
76
|
+
let trustKeys = options.trustKeys;
|
|
77
|
+
if (trustKeys === undefined && effectiveOrigin !== undefined) {
|
|
78
|
+
const raw = process.env[DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1];
|
|
79
|
+
if (raw !== undefined && raw.trim() !== "") {
|
|
80
|
+
let parsed;
|
|
81
|
+
try {
|
|
82
|
+
parsed = JSON.parse(raw);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
throw new Error(`${DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1} must be a JSON array of {keyId, publicKeyPem}`);
|
|
86
|
+
}
|
|
87
|
+
if (!Array.isArray(parsed))
|
|
88
|
+
throw new Error(`${DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1} must be a JSON array`);
|
|
89
|
+
trustKeys = parsed;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const trustRoot = trustKeys === undefined || distributionHost === undefined
|
|
93
|
+
? undefined
|
|
94
|
+
: createNodePluginTrustRootV1({ keys: trustKeys });
|
|
95
|
+
// Acquisition artifacts (npm/URL/local refs) and signed distribution
|
|
96
|
+
// artifacts share one install host; ownership decides which reader serves.
|
|
97
|
+
const acquisitionHost = options.acquisition ??
|
|
98
|
+
createNodePluginAcquisitionHostV1({
|
|
99
|
+
...(options.limits === undefined ? {} : { limits: options.limits }),
|
|
100
|
+
...(options.fetch === undefined ? {} : { fetch: options.fetch }),
|
|
101
|
+
});
|
|
102
|
+
const openArtifact = (input) => {
|
|
103
|
+
if (acquisitionHost.ownsArtifact(input.artifact))
|
|
104
|
+
return acquisitionHost.openArtifact(input);
|
|
105
|
+
const reader = distributionHost?.openArtifact;
|
|
106
|
+
if (reader === undefined)
|
|
107
|
+
throw new NodePackageInstallErrorV1("invalid_artifact");
|
|
108
|
+
return reader(input);
|
|
109
|
+
};
|
|
110
|
+
const installHost = await createNodePackageInstallHostV1({
|
|
111
|
+
openArtifact,
|
|
112
|
+
installationDirectory: storeParent,
|
|
113
|
+
persistence: "persistent",
|
|
114
|
+
supportedScopes: ["global", "project"],
|
|
115
|
+
...(options.limits === undefined ? {} : { ...options.limits }),
|
|
116
|
+
});
|
|
117
|
+
const registry = createPluginRegistryV1({
|
|
118
|
+
source,
|
|
119
|
+
host: defaultPluginHostFactsV1(),
|
|
120
|
+
verify: {
|
|
121
|
+
verify: ({ manifestDigest, expectedDigest }) => expectedDigest === undefined || expectedDigest === manifestDigest
|
|
122
|
+
? { status: "accepted" }
|
|
123
|
+
: { status: "rejected", reason: "Manifest digest does not match the expected digest" },
|
|
124
|
+
},
|
|
125
|
+
sourceVerifier: () => ({ status: "accepted" }),
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
registry,
|
|
129
|
+
cliRegistry: createPluginEcosystemRegistryAdapterV1(registry),
|
|
130
|
+
acquisition: acquisitionHost,
|
|
131
|
+
installer: createPluginInstallerV1({ host: installHost }),
|
|
132
|
+
...(distributionHost === undefined || trustRoot === undefined
|
|
133
|
+
? {}
|
|
134
|
+
: { distribution: createPluginDistributionV1({ host: distributionHost.host, verifySignature: trustRoot }) }),
|
|
135
|
+
stateStore: createPluginStateStoreV1({ filePath: join(options.agentDir, DEFAULT_PLUGIN_STATE_FILE_V1) }),
|
|
136
|
+
projectStateStore: createPluginStateStoreV1({
|
|
137
|
+
filePath: join(options.cwd, CONFIG_DIR_NAME, DEFAULT_PLUGIN_STATE_FILE_V1),
|
|
138
|
+
}),
|
|
139
|
+
close: async () => {
|
|
140
|
+
await installHost.close();
|
|
141
|
+
await acquisitionHost.close();
|
|
142
|
+
await distributionHost?.close();
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=default-plugin-market.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-plugin-market.js","sourceRoot":"","sources":["../../../src/plugins/ecosystem/default-plugin-market.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Default CLI wiring for the plugin marketplace write side (P1-5): one\n * factory composes the disk install store, an optional HTTP registry origin,\n * the HTTP distribution host, and the persistent package install host into\n * the registry/installer/distribution surfaces the ecosystem CLI and the TUI\n * manager consume. Nothing here discovers keys or origins implicitly: the\n * registry origin comes from an explicit option or the\n * AGENT_FORGE_PLUGIN_REGISTRY_ORIGIN environment variable, and its absence\n * keeps disk-only semantics (install resolves to not_found, remove/rollback\n * and state management stay fully usable). Host injection always wins; the\n * factory is only invoked when no host-supplied boundary exists.\n */\n\nimport { join } from \"node:path\";\nimport { CONFIG_DIR_NAME } from \"../../config.ts\";\nimport type { PluginEcosystemRegistryV1 } from \"./cli.ts\";\nimport {\n\tDEFAULT_PLUGIN_STATE_FILE_V1,\n\tdefaultPluginHostFactsV1,\n\tdefaultPluginInstallStoreDirectoryV1,\n\tdefaultPluginInstallStoreInstanceRootV1,\n} from \"./default-active-bindings.ts\";\nimport { createPluginDistributionV1, type PluginDistributionV1 } from \"./distribution.ts\";\nimport { createPluginInstallerV1, type PluginInstallerV1 } from \"./installer.ts\";\nimport { createNodeDiskPluginRegistrySourceV1 } from \"./node-disk-registry-source.ts\";\nimport {\n\tcreateNodeHttpPluginDistributionHostV1,\n\ttype NodeHttpPluginDistributionHostV1,\n} from \"./node-distribution-host.ts\";\nimport {\n\tcreateNodePackageInstallHostV1,\n\tNodePackageInstallErrorV1,\n\ttype NodeZipPackageLimitsV1,\n} from \"./node-package-install-host.ts\";\nimport { createNodePluginAcquisitionHostV1, type NodePluginAcquisitionHostV1 } from \"./node-plugin-acquisition-host.ts\";\nimport { createNodePluginTrustRootV1, type NodePluginTrustRootKeyV1 } from \"./node-plugin-trust-root.ts\";\nimport { createNodeHttpPluginRegistrySourceV1 } from \"./node-registry-source.ts\";\nimport { createPluginRegistryV1, type PluginRegistrySourceV1, type PluginRegistryV1 } from \"./registry.ts\";\nimport { createPluginEcosystemRegistryAdapterV1 } from \"./registry-cli-adapter.ts\";\nimport { createPluginStateStoreV1, type PluginStateStoreV1 } from \"./state.ts\";\n\n/** Environment variable carrying the exact http(s) marketplace origin. */\nexport const DEFAULT_PLUGIN_REGISTRY_ORIGIN_ENV_V1 = \"AGENT_FORGE_PLUGIN_REGISTRY_ORIGIN\";\n\n/**\n * Environment variable carrying the Ed25519 trust root as a JSON array of\n * `{keyId, publicKeyPem}` entries. Downloads never verify without an explicit\n * trust root; there is no implicit key discovery.\n */\nexport const DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1 = \"AGENT_FORGE_PLUGIN_TRUST_KEYS\";\n\n/** Registry document path below the configured origin. */\nexport const DEFAULT_PLUGIN_REGISTRY_PATH_V1 = \"/v1/plugin-registry.json\";\n\nexport interface DefaultPluginMarketOptionsV1 {\n\treadonly agentDir: string;\n\treadonly cwd: string;\n\t/** Exact http(s) registry origin; defaults to the environment variable. */\n\treadonly registryOrigin?: string;\n\t/** Explicit Ed25519 trust root; defaults to the environment variable. */\n\treadonly trustKeys?: readonly NodePluginTrustRootKeyV1[];\n\t/** Optional acquisition host override (tests); defaults to a real Node host. */\n\treadonly acquisition?: NodePluginAcquisitionHostV1;\n\t/** Optional package limits shared by acquisition and the install host; defaults apply. */\n\treadonly limits?: NodeZipPackageLimitsV1;\n\t/** Deterministic fetch replacement for tests. */\n\treadonly fetch?: typeof globalThis.fetch;\n}\n\nexport interface DefaultPluginMarketWiringV1 {\n\t/** Verified registry for the manager controller snapshot. */\n\treadonly registry: PluginRegistryV1;\n\t/** CLI-facing adapter over the same verified registry. */\n\treadonly cliRegistry: PluginEcosystemRegistryV1;\n\t/** Multi-source acquisition boundary for `plugin install <ref>`. */\n\treadonly acquisition: NodePluginAcquisitionHostV1;\n\treadonly installer: PluginInstallerV1;\n\t/** Present only when a registry origin is configured. */\n\treadonly distribution?: PluginDistributionV1;\n\treadonly stateStore: PluginStateStoreV1;\n\treadonly projectStateStore: PluginStateStoreV1;\n\t/** Releases the distribution host's cached artifacts when present. */\n\treadonly close: () => Promise<void>;\n}\n\n/**\n * Compose the default marketplace boundaries over one agent directory. The\n * disk install store is always part of the registry so installed plugins can\n * be listed, updated, and removed offline; a configured origin adds the HTTP\n * registry and package download. Installation failures surface structured\n * errors, never synthetic success.\n */\nexport async function createDefaultPluginMarketWiringV1(\n\toptions: DefaultPluginMarketOptionsV1,\n): Promise<DefaultPluginMarketWiringV1> {\n\tconst origin = (options.registryOrigin ?? process.env[DEFAULT_PLUGIN_REGISTRY_ORIGIN_ENV_V1])?.trim();\n\tconst effectiveOrigin = origin === \"\" ? undefined : origin;\n\tconst storeParent = defaultPluginInstallStoreDirectoryV1(options.agentDir);\n\t// The install host persists under this fixed subdirectory; the disk\n\t// registry source must read the same instance root to observe installs.\n\tconst instanceRoot = defaultPluginInstallStoreInstanceRootV1(options.agentDir);\n\tconst diskSource = createNodeDiskPluginRegistrySourceV1({ rootDirectory: instanceRoot });\n\tconst httpSource =\n\t\teffectiveOrigin === undefined\n\t\t\t? undefined\n\t\t\t: createNodeHttpPluginRegistrySourceV1({\n\t\t\t\t\turl: new URL(effectiveOrigin + DEFAULT_PLUGIN_REGISTRY_PATH_V1),\n\t\t\t\t\tallowedOrigins: [effectiveOrigin],\n\t\t\t\t\t...(options.fetch === undefined ? {} : { fetch: options.fetch }),\n\t\t\t\t});\n\tconst source: PluginRegistrySourceV1 = {\n\t\t...(httpSource === undefined ? {} : { source: httpSource.source }),\n\t\tlist: async ({ signal } = {}) => {\n\t\t\tconst disk = await diskSource.list({ signal });\n\t\t\tif (httpSource === undefined) return disk;\n\t\t\tconst remote = await httpSource.list({ signal });\n\t\t\treturn Object.freeze([...remote, ...disk]);\n\t\t},\n\t};\n\tconst distributionHost =\n\t\teffectiveOrigin === undefined\n\t\t\t? undefined\n\t\t\t: await createNodeHttpPluginDistributionHostV1({\n\t\t\t\t\tallowedOrigins: [effectiveOrigin],\n\t\t\t\t\tartifactDirectory: join(storeParent, \"distribution-cache-v1\"),\n\t\t\t\t\t...(options.fetch === undefined ? {} : { fetch: options.fetch }),\n\t\t\t\t});\n\tlet trustKeys = options.trustKeys;\n\tif (trustKeys === undefined && effectiveOrigin !== undefined) {\n\t\tconst raw = process.env[DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1];\n\t\tif (raw !== undefined && raw.trim() !== \"\") {\n\t\t\tlet parsed: unknown;\n\t\t\ttry {\n\t\t\t\tparsed = JSON.parse(raw);\n\t\t\t} catch {\n\t\t\t\tthrow new Error(`${DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1} must be a JSON array of {keyId, publicKeyPem}`);\n\t\t\t}\n\t\t\tif (!Array.isArray(parsed)) throw new Error(`${DEFAULT_PLUGIN_TRUST_KEYS_ENV_V1} must be a JSON array`);\n\t\t\ttrustKeys = parsed as NodePluginTrustRootKeyV1[];\n\t\t}\n\t}\n\tconst trustRoot =\n\t\ttrustKeys === undefined || distributionHost === undefined\n\t\t\t? undefined\n\t\t\t: createNodePluginTrustRootV1({ keys: trustKeys });\n\t// Acquisition artifacts (npm/URL/local refs) and signed distribution\n\t// artifacts share one install host; ownership decides which reader serves.\n\tconst acquisitionHost =\n\t\toptions.acquisition ??\n\t\tcreateNodePluginAcquisitionHostV1({\n\t\t\t...(options.limits === undefined ? {} : { limits: options.limits }),\n\t\t\t...(options.fetch === undefined ? {} : { fetch: options.fetch }),\n\t\t});\n\tconst openArtifact: NodeHttpPluginDistributionHostV1[\"openArtifact\"] = (input) => {\n\t\tif (acquisitionHost.ownsArtifact(input.artifact)) return acquisitionHost.openArtifact(input);\n\t\tconst reader = distributionHost?.openArtifact;\n\t\tif (reader === undefined) throw new NodePackageInstallErrorV1(\"invalid_artifact\");\n\t\treturn reader(input);\n\t};\n\tconst installHost = await createNodePackageInstallHostV1({\n\t\topenArtifact,\n\t\tinstallationDirectory: storeParent,\n\t\tpersistence: \"persistent\",\n\t\tsupportedScopes: [\"global\", \"project\"],\n\t\t...(options.limits === undefined ? {} : { ...options.limits }),\n\t});\n\tconst registry = createPluginRegistryV1({\n\t\tsource,\n\t\thost: defaultPluginHostFactsV1(),\n\t\tverify: {\n\t\t\tverify: ({ manifestDigest, expectedDigest }) =>\n\t\t\t\texpectedDigest === undefined || expectedDigest === manifestDigest\n\t\t\t\t\t? { status: \"accepted\" }\n\t\t\t\t\t: { status: \"rejected\", reason: \"Manifest digest does not match the expected digest\" },\n\t\t},\n\t\tsourceVerifier: () => ({ status: \"accepted\" }),\n\t});\n\treturn {\n\t\tregistry,\n\t\tcliRegistry: createPluginEcosystemRegistryAdapterV1(registry),\n\t\tacquisition: acquisitionHost,\n\t\tinstaller: createPluginInstallerV1({ host: installHost }),\n\t\t...(distributionHost === undefined || trustRoot === undefined\n\t\t\t? {}\n\t\t\t: { distribution: createPluginDistributionV1({ host: distributionHost.host, verifySignature: trustRoot }) }),\n\t\tstateStore: createPluginStateStoreV1({ filePath: join(options.agentDir, DEFAULT_PLUGIN_STATE_FILE_V1) }),\n\t\tprojectStateStore: createPluginStateStoreV1({\n\t\t\tfilePath: join(options.cwd, CONFIG_DIR_NAME, DEFAULT_PLUGIN_STATE_FILE_V1),\n\t\t}),\n\t\tclose: async () => {\n\t\t\tawait installHost.close();\n\t\t\tawait acquisitionHost.close();\n\t\t\tawait distributionHost?.close();\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/** Distribution contract version. The host and package must agree on this version. */
|
|
2
|
+
export declare const PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1: 1;
|
|
3
|
+
/** Maximum serialized descriptor size crossing the registry boundary. */
|
|
4
|
+
export declare const MAX_PLUGIN_DISTRIBUTION_DESCRIPTOR_BYTES_V1: number;
|
|
5
|
+
/** Maximum length of identity, URI, digest, signature, and media-type fields. */
|
|
6
|
+
export declare const MAX_PLUGIN_DISTRIBUTION_FIELD_CHARS_V1 = 2048;
|
|
7
|
+
/** Maximum descriptor metadata size returned by a host. */
|
|
8
|
+
export declare const MAX_PLUGIN_DISTRIBUTION_METADATA_BYTES_V1: number;
|
|
9
|
+
/** Maximum opaque artifact handle length. */
|
|
10
|
+
export declare const MAX_PLUGIN_DISTRIBUTION_ARTIFACT_REF_CHARS_V1 = 2048;
|
|
11
|
+
/** Maximum package size accepted by this contract. Larger artifacts need a newer contract. */
|
|
12
|
+
export declare const MAX_PLUGIN_DISTRIBUTION_ARTIFACT_BYTES_V1: number;
|
|
13
|
+
/** A signed, bounded package descriptor. It contains no package bytes or local path. */
|
|
14
|
+
export interface PluginDistributionDescriptorV1 {
|
|
15
|
+
readonly version: 1;
|
|
16
|
+
readonly source: string;
|
|
17
|
+
readonly pluginId: string;
|
|
18
|
+
readonly pluginVersion: string;
|
|
19
|
+
readonly manifestDigest: string;
|
|
20
|
+
readonly artifactDigest: string;
|
|
21
|
+
readonly signature: string;
|
|
22
|
+
readonly expiresAt: string;
|
|
23
|
+
readonly sizeBytes: number;
|
|
24
|
+
readonly mediaType: string;
|
|
25
|
+
}
|
|
26
|
+
/** Metadata resolved by a host before any artifact is acquired. */
|
|
27
|
+
export interface PluginDistributionMetadataV1 {
|
|
28
|
+
readonly version: 1;
|
|
29
|
+
readonly source: string;
|
|
30
|
+
readonly pluginId: string;
|
|
31
|
+
readonly pluginVersion: string;
|
|
32
|
+
readonly manifestDigest: string;
|
|
33
|
+
readonly artifactDigest: string;
|
|
34
|
+
readonly expiresAt: string;
|
|
35
|
+
readonly sizeBytes: number;
|
|
36
|
+
readonly mediaType: string;
|
|
37
|
+
}
|
|
38
|
+
/** Host-owned acquisition result. `artifactRef` is opaque and is never a path. */
|
|
39
|
+
export interface PluginDistributionArtifactHandleV1 {
|
|
40
|
+
readonly artifactRef: string;
|
|
41
|
+
readonly artifactDigest: string;
|
|
42
|
+
readonly sizeBytes: number;
|
|
43
|
+
readonly mediaType: string;
|
|
44
|
+
}
|
|
45
|
+
/** Model-facing acquisition projection. It deliberately contains no bytes or metadata payload. */
|
|
46
|
+
export interface PluginDistributionArtifactV1 extends PluginDistributionMetadataV1 {
|
|
47
|
+
readonly artifactRef: string;
|
|
48
|
+
}
|
|
49
|
+
export interface PluginDistributionSignatureVerificationInputV1 {
|
|
50
|
+
readonly descriptor: PluginDistributionDescriptorV1;
|
|
51
|
+
}
|
|
52
|
+
export type PluginDistributionSignatureVerificationV1 = {
|
|
53
|
+
readonly status: "accepted";
|
|
54
|
+
} | {
|
|
55
|
+
readonly status: "rejected";
|
|
56
|
+
readonly reason?: string;
|
|
57
|
+
};
|
|
58
|
+
export type PluginDistributionSignatureVerifierV1 = (input: PluginDistributionSignatureVerificationInputV1) => PluginDistributionSignatureVerificationV1 | Promise<PluginDistributionSignatureVerificationV1>;
|
|
59
|
+
/**
|
|
60
|
+
* Host boundary for registry metadata and package bytes. The core never opens a
|
|
61
|
+
* URL, reads a path, or receives package bytes; hosts return only bounded metadata
|
|
62
|
+
* and opaque artifact references.
|
|
63
|
+
*/
|
|
64
|
+
export interface PluginDistributionHostV1 {
|
|
65
|
+
readonly resolveMetadata?: (input: {
|
|
66
|
+
readonly descriptor: PluginDistributionDescriptorV1;
|
|
67
|
+
readonly signal?: AbortSignal;
|
|
68
|
+
}) => Promise<PluginDistributionMetadataV1>;
|
|
69
|
+
readonly acquireArtifact?: (input: {
|
|
70
|
+
readonly descriptor: PluginDistributionDescriptorV1;
|
|
71
|
+
readonly metadata: PluginDistributionMetadataV1;
|
|
72
|
+
readonly signal?: AbortSignal;
|
|
73
|
+
}) => Promise<PluginDistributionArtifactHandleV1>;
|
|
74
|
+
readonly releaseArtifact?: (input: {
|
|
75
|
+
readonly artifact: PluginDistributionArtifactV1;
|
|
76
|
+
readonly signal?: AbortSignal;
|
|
77
|
+
}) => Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
export interface PluginDistributionOptionsV1 {
|
|
80
|
+
readonly host?: PluginDistributionHostV1;
|
|
81
|
+
/** Required for trust. There is no implicit signature acceptance fallback. */
|
|
82
|
+
readonly verifySignature?: PluginDistributionSignatureVerifierV1;
|
|
83
|
+
/** Alias for callers using the registry verifier naming. */
|
|
84
|
+
readonly verify?: PluginDistributionSignatureVerifierV1;
|
|
85
|
+
/** Injected clock for deterministic tests; returns epoch milliseconds. */
|
|
86
|
+
readonly now?: () => number;
|
|
87
|
+
}
|
|
88
|
+
export type PluginDistributionErrorCodeV1 = "unsupported" | "cancelled" | "invalid_descriptor" | "invalid_metadata" | "invalid_artifact" | "source_mismatch" | "identity_mismatch" | "digest_mismatch" | "signature_invalid" | "expired" | "size_mismatch" | "media_type_mismatch" | "host_failed" | "release_failed";
|
|
89
|
+
/** Stable, non-leaking distribution error. Host exception messages are never retained. */
|
|
90
|
+
export declare class PluginDistributionErrorV1 extends Error {
|
|
91
|
+
readonly code: PluginDistributionErrorCodeV1;
|
|
92
|
+
constructor(code: PluginDistributionErrorCodeV1);
|
|
93
|
+
}
|
|
94
|
+
export interface PluginDistributionV1 {
|
|
95
|
+
/** Validate and detach a descriptor before passing it to a host or verifier. */
|
|
96
|
+
validateDescriptor(input: unknown): PluginDistributionDescriptorV1;
|
|
97
|
+
resolveMetadata(input: {
|
|
98
|
+
descriptor: unknown;
|
|
99
|
+
signal?: AbortSignal;
|
|
100
|
+
}): Promise<PluginDistributionMetadataV1>;
|
|
101
|
+
acquireArtifact(input: {
|
|
102
|
+
descriptor: unknown;
|
|
103
|
+
metadata?: unknown;
|
|
104
|
+
signal?: AbortSignal;
|
|
105
|
+
}): Promise<PluginDistributionArtifactV1>;
|
|
106
|
+
releaseArtifact(input: {
|
|
107
|
+
artifact: unknown;
|
|
108
|
+
signal?: AbortSignal;
|
|
109
|
+
}): Promise<void>;
|
|
110
|
+
}
|
|
111
|
+
/** Create a host-injected distribution client. No host means all side effects are unsupported. */
|
|
112
|
+
export declare function createPluginDistributionV1(options?: PluginDistributionOptionsV1): PluginDistributionV1;
|
|
113
|
+
//# sourceMappingURL=distribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../src/plugins/ecosystem/distribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { detachedFreeze, isPlainRecord } from \"@agent-forge/plugin-sdk\";\n\n/** Distribution contract version. The host and package must agree on this version. */\nexport const PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1 = 1 as const;\n\n/** Maximum serialized descriptor size crossing the registry boundary. */\nexport const MAX_PLUGIN_DISTRIBUTION_DESCRIPTOR_BYTES_V1 = 16 * 1024;\n/** Maximum length of identity, URI, digest, signature, and media-type fields. */\nexport const MAX_PLUGIN_DISTRIBUTION_FIELD_CHARS_V1 = 2048;\n/** Maximum descriptor metadata size returned by a host. */\nexport const MAX_PLUGIN_DISTRIBUTION_METADATA_BYTES_V1 = 16 * 1024;\n/** Maximum opaque artifact handle length. */\nexport const MAX_PLUGIN_DISTRIBUTION_ARTIFACT_REF_CHARS_V1 = 2048;\n/** Maximum package size accepted by this contract. Larger artifacts need a newer contract. */\nexport const MAX_PLUGIN_DISTRIBUTION_ARTIFACT_BYTES_V1 = 512 * 1024 * 1024;\n\n/** A signed, bounded package descriptor. It contains no package bytes or local path. */\nexport interface PluginDistributionDescriptorV1 {\n\treadonly version: 1;\n\treadonly source: string;\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly manifestDigest: string;\n\treadonly artifactDigest: string;\n\treadonly signature: string;\n\treadonly expiresAt: string;\n\treadonly sizeBytes: number;\n\treadonly mediaType: string;\n}\n\n/** Metadata resolved by a host before any artifact is acquired. */\nexport interface PluginDistributionMetadataV1 {\n\treadonly version: 1;\n\treadonly source: string;\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly manifestDigest: string;\n\treadonly artifactDigest: string;\n\treadonly expiresAt: string;\n\treadonly sizeBytes: number;\n\treadonly mediaType: string;\n}\n\n/** Host-owned acquisition result. `artifactRef` is opaque and is never a path. */\nexport interface PluginDistributionArtifactHandleV1 {\n\treadonly artifactRef: string;\n\treadonly artifactDigest: string;\n\treadonly sizeBytes: number;\n\treadonly mediaType: string;\n}\n\n/** Model-facing acquisition projection. It deliberately contains no bytes or metadata payload. */\nexport interface PluginDistributionArtifactV1 extends PluginDistributionMetadataV1 {\n\treadonly artifactRef: string;\n}\n\nexport interface PluginDistributionSignatureVerificationInputV1 {\n\treadonly descriptor: PluginDistributionDescriptorV1;\n}\n\nexport type PluginDistributionSignatureVerificationV1 =\n\t| { readonly status: \"accepted\" }\n\t| { readonly status: \"rejected\"; readonly reason?: string };\n\nexport type PluginDistributionSignatureVerifierV1 = (\n\tinput: PluginDistributionSignatureVerificationInputV1,\n) => PluginDistributionSignatureVerificationV1 | Promise<PluginDistributionSignatureVerificationV1>;\n\n/**\n * Host boundary for registry metadata and package bytes. The core never opens a\n * URL, reads a path, or receives package bytes; hosts return only bounded metadata\n * and opaque artifact references.\n */\nexport interface PluginDistributionHostV1 {\n\treadonly resolveMetadata?: (input: {\n\t\treadonly descriptor: PluginDistributionDescriptorV1;\n\t\treadonly signal?: AbortSignal;\n\t}) => Promise<PluginDistributionMetadataV1>;\n\treadonly acquireArtifact?: (input: {\n\t\treadonly descriptor: PluginDistributionDescriptorV1;\n\t\treadonly metadata: PluginDistributionMetadataV1;\n\t\treadonly signal?: AbortSignal;\n\t}) => Promise<PluginDistributionArtifactHandleV1>;\n\treadonly releaseArtifact?: (input: {\n\t\treadonly artifact: PluginDistributionArtifactV1;\n\t\treadonly signal?: AbortSignal;\n\t}) => Promise<void>;\n}\n\nexport interface PluginDistributionOptionsV1 {\n\treadonly host?: PluginDistributionHostV1;\n\t/** Required for trust. There is no implicit signature acceptance fallback. */\n\treadonly verifySignature?: PluginDistributionSignatureVerifierV1;\n\t/** Alias for callers using the registry verifier naming. */\n\treadonly verify?: PluginDistributionSignatureVerifierV1;\n\t/** Injected clock for deterministic tests; returns epoch milliseconds. */\n\treadonly now?: () => number;\n}\n\nexport type PluginDistributionErrorCodeV1 =\n\t| \"unsupported\"\n\t| \"cancelled\"\n\t| \"invalid_descriptor\"\n\t| \"invalid_metadata\"\n\t| \"invalid_artifact\"\n\t| \"source_mismatch\"\n\t| \"identity_mismatch\"\n\t| \"digest_mismatch\"\n\t| \"signature_invalid\"\n\t| \"expired\"\n\t| \"size_mismatch\"\n\t| \"media_type_mismatch\"\n\t| \"host_failed\"\n\t| \"release_failed\";\n\nconst ERROR_MESSAGES: Readonly<Record<PluginDistributionErrorCodeV1, string>> = {\n\tunsupported: \"Plugin distribution is unsupported on this host\",\n\tcancelled: \"Plugin distribution operation was cancelled\",\n\tinvalid_descriptor: \"Plugin distribution descriptor is invalid\",\n\tinvalid_metadata: \"Plugin distribution metadata is invalid\",\n\tinvalid_artifact: \"Plugin distribution artifact handle is invalid\",\n\tsource_mismatch: \"Plugin distribution source does not match the descriptor\",\n\tidentity_mismatch: \"Plugin distribution plugin identity does not match the descriptor\",\n\tdigest_mismatch: \"Plugin distribution digest does not match the descriptor\",\n\tsignature_invalid: \"Plugin distribution signature was rejected\",\n\texpired: \"Plugin distribution descriptor has expired\",\n\tsize_mismatch: \"Plugin distribution size does not match the descriptor\",\n\tmedia_type_mismatch: \"Plugin distribution media type does not match the descriptor\",\n\thost_failed: \"Plugin distribution host operation failed\",\n\trelease_failed: \"Plugin distribution artifact release failed\",\n};\n\n/** Stable, non-leaking distribution error. Host exception messages are never retained. */\nexport class PluginDistributionErrorV1 extends Error {\n\treadonly code: PluginDistributionErrorCodeV1;\n\n\tconstructor(code: PluginDistributionErrorCodeV1) {\n\t\tsuper(ERROR_MESSAGES[code]);\n\t\tthis.name = \"PluginDistributionErrorV1\";\n\t\tthis.code = code;\n\t}\n}\n\nexport interface PluginDistributionV1 {\n\t/** Validate and detach a descriptor before passing it to a host or verifier. */\n\tvalidateDescriptor(input: unknown): PluginDistributionDescriptorV1;\n\tresolveMetadata(input: { descriptor: unknown; signal?: AbortSignal }): Promise<PluginDistributionMetadataV1>;\n\tacquireArtifact(input: {\n\t\tdescriptor: unknown;\n\t\tmetadata?: unknown;\n\t\tsignal?: AbortSignal;\n\t}): Promise<PluginDistributionArtifactV1>;\n\treleaseArtifact(input: { artifact: unknown; signal?: AbortSignal }): Promise<void>;\n}\n\nconst DESCRIPTOR_KEYS = [\n\t\"version\",\n\t\"source\",\n\t\"pluginId\",\n\t\"pluginVersion\",\n\t\"manifestDigest\",\n\t\"artifactDigest\",\n\t\"signature\",\n\t\"expiresAt\",\n\t\"sizeBytes\",\n\t\"mediaType\",\n] as const;\nconst METADATA_KEYS = [\n\t\"version\",\n\t\"source\",\n\t\"pluginId\",\n\t\"pluginVersion\",\n\t\"manifestDigest\",\n\t\"artifactDigest\",\n\t\"expiresAt\",\n\t\"sizeBytes\",\n\t\"mediaType\",\n] as const;\nconst ARTIFACT_KEYS = [\"artifactRef\", \"artifactDigest\", \"sizeBytes\", \"mediaType\"] as const;\n\nfunction reject(code: PluginDistributionErrorCodeV1): never {\n\tthrow new PluginDistributionErrorV1(code);\n}\n\nfunction hasExactKeys(value: Record<string, unknown>, keys: readonly string[]): boolean {\n\tconst expected = new Set(keys);\n\treturn (\n\t\tObject.keys(value).every((key) => expected.has(key) && expected.size === keys.length) &&\n\t\tkeys.every((key) => key in value)\n\t);\n}\n\nfunction boundedString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tif (\n\t\ttypeof value !== \"string\" ||\n\t\tvalue.trim().length === 0 ||\n\t\tvalue.length > MAX_PLUGIN_DISTRIBUTION_FIELD_CHARS_V1 ||\n\t\t/[\\u0000-\\u001f\\u007f]/u.test(value)\n\t) {\n\t\treject(code);\n\t}\n\treturn value;\n}\n\nfunction identityString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tconst result = boundedString(value, code);\n\tif (/\\s/u.test(result)) reject(code);\n\treturn result;\n}\n\nfunction sourceString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tconst source = boundedString(value, code);\n\tif (/\\s/u.test(source) || /^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(source)) reject(code);\n\tif (/^https?:\\/\\//iu.test(source)) {\n\t\ttry {\n\t\t\tconst parsed = new URL(source);\n\t\t\tif (parsed.username !== \"\" || parsed.password !== \"\") {\n\t\t\t\tparsed.username = \"\";\n\t\t\t\tparsed.password = \"\";\n\t\t\t}\n\t\t\tparsed.search = \"\";\n\t\t\tparsed.hash = \"\";\n\t\t\tconst pathname = parsed.pathname.length > 512 ? `${parsed.pathname.slice(0, 509)}...` : parsed.pathname;\n\t\t\treturn `${parsed.origin}${pathname || \"/\"}`;\n\t\t} catch {\n\t\t\treject(code);\n\t\t}\n\t}\n\treturn source;\n}\n\nfunction digestString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tconst digest = identityString(value, code);\n\t// Hosts may use a cryptographic digest or a versioned digest token. The\n\t// boundary validates shape and equality; only the host can verify bytes.\n\tif (!/^(?:[a-z][a-z0-9+.-]{0,15}:[A-Za-z0-9._~-]{1,128}|[0-9a-f]{16,128})$/u.test(digest)) reject(code);\n\treturn digest;\n}\n\nfunction signatureString(value: unknown): string {\n\tconst signature = boundedString(value, \"invalid_descriptor\");\n\tif (signature.length > 512 || /\\s/u.test(signature)) reject(\"invalid_descriptor\");\n\treturn signature;\n}\n\nfunction expiryString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tconst expiry = boundedString(value, code);\n\tif (!/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$/u.test(expiry)) reject(code);\n\tconst timestamp = Date.parse(expiry);\n\tif (!Number.isFinite(timestamp) || new Date(timestamp).toISOString() !== expiry) reject(code);\n\treturn expiry;\n}\n\nfunction positiveSize(value: unknown, code: PluginDistributionErrorCodeV1): number {\n\tif (\n\t\ttypeof value !== \"number\" ||\n\t\t!Number.isSafeInteger(value) ||\n\t\tvalue < 1 ||\n\t\tvalue > MAX_PLUGIN_DISTRIBUTION_ARTIFACT_BYTES_V1\n\t)\n\t\treject(code);\n\treturn value;\n}\n\nfunction mediaTypeString(value: unknown, code: PluginDistributionErrorCodeV1): string {\n\tconst mediaType = boundedString(value, code).toLowerCase();\n\tif (\n\t\tmediaType.length > 256 ||\n\t\t!/^[a-z0-9!#$&^_.+-]+\\/[a-z0-9!#$&^_.+-]+(?:\\s*;\\s*[a-z0-9!#$&^_.+-]+=[a-z0-9!#$&^_.+-]+)*$/u.test(mediaType)\n\t)\n\t\treject(code);\n\treturn mediaType;\n}\n\nfunction serializedBytes(value: unknown, code: PluginDistributionErrorCodeV1): number {\n\ttry {\n\t\tconst serialized = JSON.stringify(value);\n\t\tif (serialized === undefined) reject(code);\n\t\treturn new TextEncoder().encode(serialized).byteLength;\n\t} catch {\n\t\treject(code);\n\t}\n}\n\nfunction descriptorValue(value: unknown): PluginDistributionDescriptorV1 {\n\tif (!isPlainRecord(value) || !hasExactKeys(value, DESCRIPTOR_KEYS)) reject(\"invalid_descriptor\");\n\tif (value.version !== PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1) reject(\"invalid_descriptor\");\n\tconst descriptor = {\n\t\tversion: PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1,\n\t\tsource: sourceString(value.source, \"invalid_descriptor\"),\n\t\tpluginId: identityString(value.pluginId, \"invalid_descriptor\"),\n\t\tpluginVersion: identityString(value.pluginVersion, \"invalid_descriptor\"),\n\t\tmanifestDigest: digestString(value.manifestDigest, \"invalid_descriptor\"),\n\t\tartifactDigest: digestString(value.artifactDigest, \"invalid_descriptor\"),\n\t\tsignature: signatureString(value.signature),\n\t\texpiresAt: expiryString(value.expiresAt, \"invalid_descriptor\"),\n\t\tsizeBytes: positiveSize(value.sizeBytes, \"invalid_descriptor\"),\n\t\tmediaType: mediaTypeString(value.mediaType, \"invalid_descriptor\"),\n\t};\n\tif (serializedBytes(descriptor, \"invalid_descriptor\") > MAX_PLUGIN_DISTRIBUTION_DESCRIPTOR_BYTES_V1)\n\t\treject(\"invalid_descriptor\");\n\treturn detachedFreeze(descriptor);\n}\n\nfunction metadataValue(value: unknown): PluginDistributionMetadataV1 {\n\tif (!isPlainRecord(value) || !hasExactKeys(value, METADATA_KEYS)) reject(\"invalid_metadata\");\n\tif (value.version !== PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1) reject(\"invalid_metadata\");\n\tconst metadata = {\n\t\tversion: PLUGIN_DISTRIBUTION_CONTRACT_VERSION_V1,\n\t\tsource: sourceString(value.source, \"invalid_metadata\"),\n\t\tpluginId: identityString(value.pluginId, \"invalid_metadata\"),\n\t\tpluginVersion: identityString(value.pluginVersion, \"invalid_metadata\"),\n\t\tmanifestDigest: digestString(value.manifestDigest, \"invalid_metadata\"),\n\t\tartifactDigest: digestString(value.artifactDigest, \"invalid_metadata\"),\n\t\texpiresAt: expiryString(value.expiresAt, \"invalid_metadata\"),\n\t\tsizeBytes: positiveSize(value.sizeBytes, \"invalid_metadata\"),\n\t\tmediaType: mediaTypeString(value.mediaType, \"invalid_metadata\"),\n\t};\n\tif (serializedBytes(metadata, \"invalid_metadata\") > MAX_PLUGIN_DISTRIBUTION_METADATA_BYTES_V1)\n\t\treject(\"invalid_metadata\");\n\treturn detachedFreeze(metadata);\n}\n\nfunction artifactHandleValue(value: unknown): PluginDistributionArtifactHandleV1 {\n\tif (!isPlainRecord(value) || !hasExactKeys(value, ARTIFACT_KEYS)) reject(\"invalid_artifact\");\n\tconst artifact = {\n\t\tartifactRef: boundedString(value.artifactRef, \"invalid_artifact\"),\n\t\tartifactDigest: digestString(value.artifactDigest, \"invalid_artifact\"),\n\t\tsizeBytes: positiveSize(value.sizeBytes, \"invalid_artifact\"),\n\t\tmediaType: mediaTypeString(value.mediaType, \"invalid_artifact\"),\n\t};\n\tif (\n\t\t/[\\s\\u0000-\\u001f\\u007f]/u.test(artifact.artifactRef) ||\n\t\t/^(?:file:|[a-zA-Z]:[\\\\/]|[\\\\/]{1,2}|\\\\\\\\)/iu.test(artifact.artifactRef) ||\n\t\tartifact.artifactRef.length > MAX_PLUGIN_DISTRIBUTION_ARTIFACT_REF_CHARS_V1\n\t)\n\t\treject(\"invalid_artifact\");\n\treturn detachedFreeze(artifact);\n}\n\nfunction assertDescriptorMetadataMatch(\n\tdescriptor: PluginDistributionDescriptorV1,\n\tmetadata: PluginDistributionMetadataV1,\n): void {\n\tif (metadata.source !== descriptor.source) reject(\"source_mismatch\");\n\tif (metadata.pluginId !== descriptor.pluginId || metadata.pluginVersion !== descriptor.pluginVersion)\n\t\treject(\"identity_mismatch\");\n\tif (metadata.manifestDigest !== descriptor.manifestDigest || metadata.artifactDigest !== descriptor.artifactDigest)\n\t\treject(\"digest_mismatch\");\n\tif (metadata.expiresAt !== descriptor.expiresAt) reject(\"expired\");\n\tif (metadata.sizeBytes !== descriptor.sizeBytes) reject(\"size_mismatch\");\n\tif (metadata.mediaType !== descriptor.mediaType) reject(\"media_type_mismatch\");\n}\n\nfunction assertArtifactMatch(\n\tdescriptor: PluginDistributionDescriptorV1,\n\tartifact: PluginDistributionArtifactHandleV1,\n): void {\n\tif (artifact.artifactDigest !== descriptor.artifactDigest) reject(\"digest_mismatch\");\n\tif (artifact.sizeBytes !== descriptor.sizeBytes) reject(\"size_mismatch\");\n\tif (artifact.mediaType !== descriptor.mediaType) reject(\"media_type_mismatch\");\n}\n\nfunction isCancelled(error: unknown, signal: AbortSignal | undefined): boolean {\n\treturn (\n\t\tsignal?.aborted === true ||\n\t\t(error instanceof Error && (error.name === \"AbortError\" || error.name === \"AbortSignalError\"))\n\t);\n}\n\nfunction assertNotExpired(descriptor: PluginDistributionDescriptorV1, now: () => number): void {\n\tlet current: number;\n\ttry {\n\t\tcurrent = now();\n\t} catch {\n\t\treject(\"expired\");\n\t}\n\tif (!Number.isFinite(current)) reject(\"expired\");\n\tif (Date.parse(descriptor.expiresAt) <= current) reject(\"expired\");\n}\n\nasync function verifyDescriptor(\n\tdescriptor: PluginDistributionDescriptorV1,\n\tverifySignature: PluginDistributionSignatureVerifierV1 | undefined,\n\tnow: () => number,\n\tsignal: AbortSignal | undefined,\n): Promise<void> {\n\tif (signal?.aborted) reject(\"cancelled\");\n\tassertNotExpired(descriptor, now);\n\tif (verifySignature === undefined) reject(\"unsupported\");\n\tlet verification: PluginDistributionSignatureVerificationV1;\n\ttry {\n\t\tverification = await verifySignature({ descriptor });\n\t} catch {\n\t\treject(\"signature_invalid\");\n\t}\n\tif (signal?.aborted) reject(\"cancelled\");\n\tif (!isPlainRecord(verification) || verification.status !== \"accepted\") reject(\"signature_invalid\");\n}\n\n/** Create a host-injected distribution client. No host means all side effects are unsupported. */\nexport function createPluginDistributionV1(options: PluginDistributionOptionsV1 = {}): PluginDistributionV1 {\n\tconst verifySignature = options.verifySignature ?? options.verify;\n\tconst now = options.now ?? (() => Date.now());\n\tconst resolveMetadataForDescriptor = async (\n\t\tdescriptor: PluginDistributionDescriptorV1,\n\t\tsignal: AbortSignal | undefined,\n\t): Promise<PluginDistributionMetadataV1> => {\n\t\tif (signal?.aborted) reject(\"cancelled\");\n\t\tif (options.host?.resolveMetadata === undefined) reject(\"unsupported\");\n\t\tlet result: PluginDistributionMetadataV1;\n\t\ttry {\n\t\t\tresult = await options.host.resolveMetadata({ descriptor, signal });\n\t\t} catch (error) {\n\t\t\tif (isCancelled(error, signal)) reject(\"cancelled\");\n\t\t\treject(\"host_failed\");\n\t\t}\n\t\tif (signal?.aborted) reject(\"cancelled\");\n\t\tconst metadata = metadataValue(result);\n\t\tassertDescriptorMetadataMatch(descriptor, metadata);\n\t\tassertNotExpired(descriptor, now);\n\t\treturn metadata;\n\t};\n\n\tconst resolveMetadata = async (input: {\n\t\tdescriptor: unknown;\n\t\tsignal?: AbortSignal;\n\t}): Promise<PluginDistributionMetadataV1> => {\n\t\tconst descriptor = descriptorValue(input.descriptor);\n\t\tawait verifyDescriptor(descriptor, verifySignature, now, input.signal);\n\t\treturn resolveMetadataForDescriptor(descriptor, input.signal);\n\t};\n\n\tconst acquireArtifact = async (input: {\n\t\tdescriptor: unknown;\n\t\tmetadata?: unknown;\n\t\tsignal?: AbortSignal;\n\t}): Promise<PluginDistributionArtifactV1> => {\n\t\tconst descriptor = descriptorValue(input.descriptor);\n\t\tawait verifyDescriptor(descriptor, verifySignature, now, input.signal);\n\t\tif (options.host?.acquireArtifact === undefined) reject(\"unsupported\");\n\t\tconst metadata =\n\t\t\tinput.metadata === undefined\n\t\t\t\t? await resolveMetadataForDescriptor(descriptor, input.signal)\n\t\t\t\t: metadataValue(input.metadata);\n\t\tassertDescriptorMetadataMatch(descriptor, metadata);\n\t\tassertNotExpired(descriptor, now);\n\t\tlet result: PluginDistributionArtifactHandleV1;\n\t\tlet acquired: PluginDistributionArtifactV1 | undefined;\n\t\ttry {\n\t\t\tresult = await options.host.acquireArtifact({ descriptor, metadata, signal: input.signal });\n\t\t\tconst handle = artifactHandleValue(result);\n\t\t\tacquired = detachedFreeze({ ...metadata, artifactRef: handle.artifactRef });\n\t\t\tassertArtifactMatch(descriptor, handle);\n\t\t\tassertNotExpired(descriptor, now);\n\t\t\tif (input.signal?.aborted) reject(\"cancelled\");\n\t\t\treturn acquired;\n\t\t} catch (error) {\n\t\t\tif (acquired !== undefined && options.host.releaseArtifact !== undefined) {\n\t\t\t\tawait options.host.releaseArtifact({ artifact: acquired }).catch(() => undefined);\n\t\t\t}\n\t\t\tif (error instanceof PluginDistributionErrorV1) throw error;\n\t\t\tif (isCancelled(error, input.signal)) reject(\"cancelled\");\n\t\t\treject(\"host_failed\");\n\t\t}\n\t};\n\n\tconst releaseArtifact = async (input: { artifact: unknown; signal?: AbortSignal }): Promise<void> => {\n\t\tif (input.signal?.aborted) reject(\"cancelled\");\n\t\tif (options.host?.releaseArtifact === undefined) reject(\"unsupported\");\n\t\tconst value = input.artifact;\n\t\tif (!isPlainRecord(value) || !hasExactKeys(value, [...METADATA_KEYS, \"artifactRef\"])) reject(\"invalid_artifact\");\n\t\tconst metadataInput = Object.fromEntries(METADATA_KEYS.map((key) => [key, value[key]]));\n\t\tconst artifact = {\n\t\t\t...metadataValue(metadataInput),\n\t\t\tartifactRef: artifactHandleValue({\n\t\t\t\tartifactRef: value.artifactRef,\n\t\t\t\tartifactDigest: value.artifactDigest,\n\t\t\t\tsizeBytes: value.sizeBytes,\n\t\t\t\tmediaType: value.mediaType,\n\t\t\t}).artifactRef,\n\t\t};\n\t\ttry {\n\t\t\tawait options.host.releaseArtifact({ artifact: detachedFreeze(artifact), signal: input.signal });\n\t\t} catch (error) {\n\t\t\tif (isCancelled(error, input.signal)) reject(\"cancelled\");\n\t\t\treject(\"release_failed\");\n\t\t}\n\t\tif (input.signal?.aborted) reject(\"cancelled\");\n\t};\n\n\treturn {\n\t\tvalidateDescriptor(input) {\n\t\t\treturn descriptorValue(input);\n\t\t},\n\t\tresolveMetadata,\n\t\tacquireArtifact,\n\t\treleaseArtifact,\n\t};\n}\n"]}
|