@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,823 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Suite workspace location, lazy provisioning, and assembly (方案系统设计.md v2
|
|
3
|
+
* §4/§5/§8/§9/§11/§12, M1a).
|
|
4
|
+
*
|
|
5
|
+
* The loader is the assembler layer of the suite system: it resolves the
|
|
6
|
+
* active suite id (explicit > AGENT_FORGE_SUITE > project settings > global
|
|
7
|
+
* settings > "assistant"), provisions the builtin suite workspaces under
|
|
8
|
+
* `<agentDir>/suites/<id>/`, assembles the agents.md three-level chain
|
|
9
|
+
* (system -> suite -> project, 设计 §8), gates the global SYSTEM.md/
|
|
10
|
+
* APPEND_SYSTEM.md system prompt channel by inheritSystemAgentsMd (设计 §4:
|
|
11
|
+
* the project-level `<cwd>/.agent-forge/` layer always passes), and bridges
|
|
12
|
+
* the assembled suite onto the existing ProfileIdentityV1/ProfileLock
|
|
13
|
+
* mechanisms. The project level of the chain is delegated to the existing
|
|
14
|
+
* resource loader — the ancestor chain logic itself is never reimplemented
|
|
15
|
+
* here.
|
|
16
|
+
*/
|
|
17
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
18
|
+
import { join, resolve, sep } from "node:path";
|
|
19
|
+
import { CONFIG_DIR_NAME } from "../config.js";
|
|
20
|
+
import { loadSkills } from "../core/skills.js";
|
|
21
|
+
import { buildProfileIdentityV1, stableJsonDigest } from "../profile/identity.js";
|
|
22
|
+
import { createProfileLock, verifyProfileLock } from "../profile/lock.js";
|
|
23
|
+
import { resolveBuiltinPluginProfileV1 } from "../profile/plugin-profiles.js";
|
|
24
|
+
import { createProfileRegistry } from "../profile/profile-registry.js";
|
|
25
|
+
import { stripBom } from "../utils/text.js";
|
|
26
|
+
import { BUILTIN_SUITES, DEFAULT_SUITE_ID, FACTORY_CONTENTS_VERSION, getBuiltinSuite, isBuiltinSuiteId, isValidSuiteId, ORIENTATION_PROMPTS, parseSuiteJson, SUITE_SCHEMA_VERSION, serializeSuiteJson, } from "./builtin-suites.js";
|
|
27
|
+
export { DEFAULT_SUITE_ID };
|
|
28
|
+
export const SUITES_DIR_NAME = "suites";
|
|
29
|
+
export const SUITE_MANIFEST_FILENAME = "suite.json";
|
|
30
|
+
export const SUITE_AGENTS_MD_FILENAME = "agents.md";
|
|
31
|
+
export const SUITE_ENV_VAR = "AGENT_FORGE_SUITE";
|
|
32
|
+
/** customType of the session custom entry recording the suite a session was created with (设计 §10.1). */
|
|
33
|
+
export const SUITE_SESSION_ENTRY_TYPE = "suite";
|
|
34
|
+
/** Persisted suite profile lock inside the suite workspace (M4, 设计 §12). */
|
|
35
|
+
export const SUITE_LOCK_FILENAME = ".profile-lock.json";
|
|
36
|
+
export function getSuitesRootDir(agentDir) {
|
|
37
|
+
return join(agentDir, SUITES_DIR_NAME);
|
|
38
|
+
}
|
|
39
|
+
export function getSuiteWorkspaceDir(agentDir, suiteId) {
|
|
40
|
+
return join(getSuitesRootDir(agentDir), suiteId);
|
|
41
|
+
}
|
|
42
|
+
/** The suite-local skill layer directory (统一修复轮 B): `<suiteDir>/skills`. */
|
|
43
|
+
export function getSuiteLocalSkillsDir(agentDir, suiteId) {
|
|
44
|
+
return join(getSuiteWorkspaceDir(agentDir, suiteId), "skills");
|
|
45
|
+
}
|
|
46
|
+
/** The suite-local capability-plugin layer directory (统一修复轮 B): `<suiteDir>/plugins`. */
|
|
47
|
+
export function getSuiteLocalPluginsDir(agentDir, suiteId) {
|
|
48
|
+
return join(getSuiteWorkspaceDir(agentDir, suiteId), "plugins");
|
|
49
|
+
}
|
|
50
|
+
/** Structured error for unknown suite ids; lists the available ids (设计 §9). */
|
|
51
|
+
export class SuiteResolutionError extends Error {
|
|
52
|
+
requestedId;
|
|
53
|
+
availableSuiteIds;
|
|
54
|
+
constructor(requestedId, availableSuiteIds) {
|
|
55
|
+
super(`Unknown suite "${requestedId}". Available suites: ${availableSuiteIds.join(", ")}`);
|
|
56
|
+
this.name = "SuiteResolutionError";
|
|
57
|
+
this.requestedId = requestedId;
|
|
58
|
+
this.availableSuiteIds = Object.freeze([...availableSuiteIds]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Structured error for resuming a session under a suite it is not bound to. */
|
|
62
|
+
export class SuiteRebindError extends Error {
|
|
63
|
+
constructor(message) {
|
|
64
|
+
super(message);
|
|
65
|
+
this.name = "SuiteRebindError";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Every suite id resolvable on this host: the builtin pair plus user
|
|
70
|
+
* workspaces that already contain a suite.json.
|
|
71
|
+
*/
|
|
72
|
+
export function listSuiteIds(agentDir) {
|
|
73
|
+
const ids = new Set(BUILTIN_SUITES.map((suite) => suite.id));
|
|
74
|
+
const rootDir = getSuitesRootDir(agentDir);
|
|
75
|
+
if (existsSync(rootDir)) {
|
|
76
|
+
for (const entry of readdirSync(rootDir, { withFileTypes: true })) {
|
|
77
|
+
if (!entry.isDirectory())
|
|
78
|
+
continue;
|
|
79
|
+
if (!existsSync(join(rootDir, entry.name, SUITE_MANIFEST_FILENAME)))
|
|
80
|
+
continue;
|
|
81
|
+
ids.add(entry.name);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return [...ids].sort();
|
|
85
|
+
}
|
|
86
|
+
function normalizeCandidate(value) {
|
|
87
|
+
if (typeof value !== "string")
|
|
88
|
+
return undefined;
|
|
89
|
+
const trimmed = value.trim();
|
|
90
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Resolves the active suite id: explicit > env AGENT_FORGE_SUITE > project
|
|
94
|
+
* settings `suite` > global settings `suite` > "assistant" (设计 §9). The
|
|
95
|
+
* first configured value wins; an unknown or malformed value is a structured
|
|
96
|
+
* error, never a silent fallback.
|
|
97
|
+
*/
|
|
98
|
+
export function resolveSuiteId(options) {
|
|
99
|
+
const candidate = normalizeCandidate(options.explicit) ??
|
|
100
|
+
normalizeCandidate(options.envSuite) ??
|
|
101
|
+
(options.settings === undefined ? undefined : normalizeCandidate(options.settings.getProjectSettings().suite)) ??
|
|
102
|
+
(options.settings === undefined ? undefined : normalizeCandidate(options.settings.getGlobalSettings().suite));
|
|
103
|
+
if (candidate === undefined)
|
|
104
|
+
return DEFAULT_SUITE_ID;
|
|
105
|
+
if (!isValidSuiteId(candidate))
|
|
106
|
+
throw new SuiteResolutionError(candidate, listSuiteIds(options.agentDir));
|
|
107
|
+
if (!isBuiltinSuiteId(candidate)) {
|
|
108
|
+
const workspaceManifest = join(getSuiteWorkspaceDir(options.agentDir, candidate), SUITE_MANIFEST_FILENAME);
|
|
109
|
+
if (!existsSync(workspaceManifest))
|
|
110
|
+
throw new SuiteResolutionError(candidate, listSuiteIds(options.agentDir));
|
|
111
|
+
}
|
|
112
|
+
return candidate;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Serializes a ProfileLockV1 to the canonical `.profile-lock.json` text
|
|
116
|
+
* (stable field order, trailing newline). Round-trips through
|
|
117
|
+
* parseSuiteProfileLockFile.
|
|
118
|
+
*/
|
|
119
|
+
export function serializeSuiteProfileLockFile(lock) {
|
|
120
|
+
const ordered = {
|
|
121
|
+
identity: {
|
|
122
|
+
profileId: lock.identity.profileId,
|
|
123
|
+
profileVersion: lock.identity.profileVersion,
|
|
124
|
+
manifestDigest: lock.identity.manifestDigest,
|
|
125
|
+
capabilityVersions: lock.identity.capabilityVersions.map((ref) => ({ id: ref.id, version: ref.version })),
|
|
126
|
+
},
|
|
127
|
+
lockedAt: lock.lockedAt,
|
|
128
|
+
lockedBy: lock.lockedBy,
|
|
129
|
+
generation: lock.generation,
|
|
130
|
+
};
|
|
131
|
+
return `${JSON.stringify(ordered, null, 2)}\n`;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Parses `.profile-lock.json` text back into a ProfileLockV1. Throws on any
|
|
135
|
+
* structural mismatch so callers can apply their corruption policy.
|
|
136
|
+
*/
|
|
137
|
+
export function parseSuiteProfileLockFile(text) {
|
|
138
|
+
const value = JSON.parse(text);
|
|
139
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
140
|
+
throw new Error(".profile-lock.json must be a JSON object");
|
|
141
|
+
}
|
|
142
|
+
const record = value;
|
|
143
|
+
const identityRecord = record.identity;
|
|
144
|
+
if (identityRecord === null || typeof identityRecord !== "object" || Array.isArray(identityRecord)) {
|
|
145
|
+
throw new Error(".profile-lock.json identity must be a JSON object");
|
|
146
|
+
}
|
|
147
|
+
const identity = identityRecord;
|
|
148
|
+
if (typeof identity.profileId !== "string" ||
|
|
149
|
+
typeof identity.profileVersion !== "string" ||
|
|
150
|
+
typeof identity.manifestDigest !== "string" ||
|
|
151
|
+
!Array.isArray(identity.capabilityVersions)) {
|
|
152
|
+
throw new Error(".profile-lock.json identity must carry profileId/profileVersion/manifestDigest/capabilityVersions");
|
|
153
|
+
}
|
|
154
|
+
const capabilityVersions = identity.capabilityVersions.map((entry) => {
|
|
155
|
+
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
|
|
156
|
+
throw new Error(".profile-lock.json identity.capabilityVersions entries must be objects");
|
|
157
|
+
}
|
|
158
|
+
const capability = entry;
|
|
159
|
+
if (typeof capability.id !== "string" || typeof capability.version !== "number") {
|
|
160
|
+
throw new Error(".profile-lock.json identity.capabilityVersions entries must carry id/version");
|
|
161
|
+
}
|
|
162
|
+
return { id: capability.id, version: capability.version };
|
|
163
|
+
});
|
|
164
|
+
if (typeof record.lockedAt !== "number" ||
|
|
165
|
+
typeof record.lockedBy !== "string" ||
|
|
166
|
+
typeof record.generation !== "number") {
|
|
167
|
+
throw new Error(".profile-lock.json must carry lockedAt/lockedBy/generation");
|
|
168
|
+
}
|
|
169
|
+
return Object.freeze({
|
|
170
|
+
identity: Object.freeze({
|
|
171
|
+
profileId: identity.profileId,
|
|
172
|
+
profileVersion: identity.profileVersion,
|
|
173
|
+
manifestDigest: identity.manifestDigest,
|
|
174
|
+
capabilityVersions: Object.freeze(capabilityVersions.map((ref) => Object.freeze({ ...ref }))),
|
|
175
|
+
}),
|
|
176
|
+
lockedAt: record.lockedAt,
|
|
177
|
+
lockedBy: record.lockedBy,
|
|
178
|
+
generation: record.generation,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Locates and lazily provisions `<agentDir>/suites/<id>/`: the builtin pair
|
|
183
|
+
* gets its factory suite.json plus an empty agents.md skeleton on first start
|
|
184
|
+
* (设计 §5). Corruption policy (设计 §9): builtin suites fall back to factory
|
|
185
|
+
* content with diagnostics; user suites fail fast with the file path.
|
|
186
|
+
*/
|
|
187
|
+
export function loadSuiteWorkspace(options) {
|
|
188
|
+
const { agentDir, suiteId } = options;
|
|
189
|
+
const suiteDir = getSuiteWorkspaceDir(agentDir, suiteId);
|
|
190
|
+
const suiteJsonPath = join(suiteDir, SUITE_MANIFEST_FILENAME);
|
|
191
|
+
const agentsMdPath = join(suiteDir, SUITE_AGENTS_MD_FILENAME);
|
|
192
|
+
const diagnostics = [];
|
|
193
|
+
let suite;
|
|
194
|
+
if (!existsSync(suiteJsonPath)) {
|
|
195
|
+
const builtin = getBuiltinSuite(suiteId);
|
|
196
|
+
if (builtin === undefined)
|
|
197
|
+
throw new SuiteResolutionError(suiteId, listSuiteIds(agentDir));
|
|
198
|
+
mkdirSync(suiteDir, { recursive: true });
|
|
199
|
+
writeFileSync(suiteJsonPath, serializeSuiteJson(builtin), "utf8");
|
|
200
|
+
// D-075 S4 第三批:首启不再预种角色文件——种子移到 subagent-delegate 插件
|
|
201
|
+
// 注册期(entry 的幂等 seedFactoryRoleCatalog 补缺),插件安装并注册时
|
|
202
|
+
// `<agentDir>/roles/{explore,reviewer}.json` 自然到位。
|
|
203
|
+
suite = builtin;
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const parsed = parseSuiteJson(readFileSync(suiteJsonPath, "utf8"), {
|
|
207
|
+
expectedBuiltin: getBuiltinSuite(suiteId) !== undefined,
|
|
208
|
+
expectedId: suiteId,
|
|
209
|
+
});
|
|
210
|
+
const builtin = getBuiltinSuite(suiteId);
|
|
211
|
+
if (parsed.valid && parsed.suite) {
|
|
212
|
+
suite = parsed.suite;
|
|
213
|
+
}
|
|
214
|
+
else if (builtin !== undefined) {
|
|
215
|
+
// Builtin corruption policy (设计 §9): fall back to factory content
|
|
216
|
+
// with diagnostics instead of locking the user out. The file on disk
|
|
217
|
+
// is left untouched; recovery (reset) is an explicit M4 flow.
|
|
218
|
+
suite = builtin;
|
|
219
|
+
diagnostics.push(`suite.json at ${suiteJsonPath} is invalid; falling back to the factory content for builtin suite "${suiteId}". Errors: ${parsed.errors.join("; ")}`);
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
throw new Error(`Invalid suite.json at ${suiteJsonPath}: ${parsed.errors.join("; ")}. Fix the file, or delete the suite workspace directory ${suiteDir} and recreate it.`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (!existsSync(agentsMdPath)) {
|
|
226
|
+
writeFileSync(agentsMdPath, "", "utf8");
|
|
227
|
+
}
|
|
228
|
+
// Suite profile lock persistence (M4, 设计 §12): an existing lock file is
|
|
229
|
+
// verified against the current identity (drift/migration recorded, never
|
|
230
|
+
// blocking and never silently replaced); without one a fresh lock is frozen
|
|
231
|
+
// and persisted. A lock file that cannot be parsed is recreated with a
|
|
232
|
+
// diagnostic — it carries no openable identity, so nothing is silently
|
|
233
|
+
// replaced.
|
|
234
|
+
const lockPath = join(suiteDir, SUITE_LOCK_FILENAME);
|
|
235
|
+
let previousLock;
|
|
236
|
+
if (existsSync(lockPath)) {
|
|
237
|
+
try {
|
|
238
|
+
previousLock = parseSuiteProfileLockFile(readFileSync(lockPath, "utf8"));
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
diagnostics.push(`Profile lock at ${lockPath} is unreadable; recreating it over the current suite identity. Errors: ${error instanceof Error ? error.message : String(error)}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const bridge = bridgeSuiteProfileLock({
|
|
245
|
+
suite,
|
|
246
|
+
...(options.pluginProfile === undefined ? {} : { pluginProfile: options.pluginProfile }),
|
|
247
|
+
...(previousLock === undefined ? {} : { previousLock }),
|
|
248
|
+
lockedBy: "suite-loader",
|
|
249
|
+
});
|
|
250
|
+
diagnostics.push(...bridge.diagnostics);
|
|
251
|
+
if (previousLock === undefined) {
|
|
252
|
+
try {
|
|
253
|
+
writeFileSync(lockPath, serializeSuiteProfileLockFile(bridge.lock), "utf8");
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
diagnostics.push(`Failed to persist the suite profile lock at ${lockPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
suite,
|
|
261
|
+
suiteDir,
|
|
262
|
+
suiteJsonPath,
|
|
263
|
+
agentsMdPath,
|
|
264
|
+
diagnostics: Object.freeze(diagnostics),
|
|
265
|
+
lockPath,
|
|
266
|
+
lock: bridge.lock,
|
|
267
|
+
identity: bridge.identity,
|
|
268
|
+
...(bridge.verification === undefined ? {} : { lockVerification: bridge.verification }),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
function readContextFile(path) {
|
|
272
|
+
try {
|
|
273
|
+
return stripBom(readFileSync(path, "utf8"));
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return "";
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
function isUnderDir(path, dir) {
|
|
280
|
+
const resolvedPath = resolve(path);
|
|
281
|
+
const resolvedDir = resolve(dir);
|
|
282
|
+
const prefix = resolvedDir.endsWith(sep) ? resolvedDir : `${resolvedDir}${sep}`;
|
|
283
|
+
return resolvedPath.startsWith(prefix);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Assembles the agents.md three-level chain (设计 §8): system layer (the
|
|
287
|
+
* agentDir context file the resource loader's agentsFiles already carries,
|
|
288
|
+
* e.g. AGENTS.md, gated by inheritSystemAgentsMd) -> suite layer
|
|
289
|
+
* (`suites/<id>/agents.md`) -> project layer (existing ancestor chain, passed
|
|
290
|
+
* in unchanged). The global SYSTEM.md/APPEND_SYSTEM.md never ride the chain:
|
|
291
|
+
* they keep their native system prompt channel and are gated there by
|
|
292
|
+
* createSuiteSystemPromptGate, so both channels stay single-sourced. Every
|
|
293
|
+
* entry carries its source label; missing layers are skipped. Diagnostics
|
|
294
|
+
* record a blocked system layer (one-time migration hint) and the empty
|
|
295
|
+
* association counts (设计 §11.3: 惰性 + 可观测).
|
|
296
|
+
*/
|
|
297
|
+
export function assembleSuiteAgentsMdChain(options) {
|
|
298
|
+
const { suite, agentDir, suiteJsonPath, suiteAgentsMdPath, projectAgentsFiles } = options;
|
|
299
|
+
const diagnostics = [];
|
|
300
|
+
// System-layer candidates are the agentDir entries already present in the
|
|
301
|
+
// loader's agentsFiles; they are never read from disk here again.
|
|
302
|
+
const systemCandidates = projectAgentsFiles
|
|
303
|
+
.filter((entry) => isUnderDir(entry.path, agentDir))
|
|
304
|
+
.map((entry) => ({ path: entry.path, content: entry.content }));
|
|
305
|
+
const projectEntries = projectAgentsFiles.filter((entry) => !isUnderDir(entry.path, agentDir));
|
|
306
|
+
const chain = [];
|
|
307
|
+
if (suite.inheritSystemAgentsMd) {
|
|
308
|
+
for (const candidate of systemCandidates) {
|
|
309
|
+
chain.push({ source: "system", path: candidate.path, content: candidate.content });
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
else if (systemCandidates.length > 0) {
|
|
313
|
+
diagnostics.push(`Suite "${suite.id}" does not inherit the system agents.md layer (inheritSystemAgentsMd=false); system-layer file(s) kept out of the suite chain: ${systemCandidates
|
|
314
|
+
.map((candidate) => candidate.path)
|
|
315
|
+
.join(", ")}. Migrate them into ${suiteAgentsMdPath} or set "inheritSystemAgentsMd": true in ${suiteJsonPath}.`);
|
|
316
|
+
}
|
|
317
|
+
chain.push({ source: "suite", path: suiteAgentsMdPath, content: readContextFile(suiteAgentsMdPath) });
|
|
318
|
+
for (const entry of projectEntries) {
|
|
319
|
+
chain.push({ source: "project", path: entry.path, content: entry.content });
|
|
320
|
+
}
|
|
321
|
+
// Plugin associations are wired since M3 (the sdk filters the external
|
|
322
|
+
// capability plugin pool by associations.plugins); mcp stays
|
|
323
|
+
// declaration-only until M4.
|
|
324
|
+
diagnostics.push(`Suite "${suite.id}" mcp associations are declaration-only until M4; MCP association filtering is unwired.`);
|
|
325
|
+
return { chain: Object.freeze(chain), diagnostics: Object.freeze(diagnostics) };
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Merges the assembled chain with the resource loader's own agentsFiles for
|
|
329
|
+
* the contextFiles injection channel: chain entries are prepended unless they
|
|
330
|
+
* are empty or already present in the base. Entries with empty content inject
|
|
331
|
+
* nothing, so a fresh factory skeleton changes no prompt bytes. Base entries
|
|
332
|
+
* under agentDir are dropped unconditionally (设计 §8): with
|
|
333
|
+
* inheritSystemAgentsMd=false the switch blocks the system layer, with true
|
|
334
|
+
* the chain already carries it at the head — keeping it in the base too would
|
|
335
|
+
* duplicate it and pin it after the suite layer, breaking the
|
|
336
|
+
* system -> suite -> project order.
|
|
337
|
+
*/
|
|
338
|
+
export function mergeSuiteAgentsFiles(chain, base, options) {
|
|
339
|
+
const retainedBase = base.filter((entry) => !isUnderDir(entry.path, options.agentDir));
|
|
340
|
+
const basePathSet = new Set(retainedBase.map((entry) => resolve(entry.path)));
|
|
341
|
+
const merged = [];
|
|
342
|
+
for (const entry of chain) {
|
|
343
|
+
if (entry.content.trim().length === 0)
|
|
344
|
+
continue;
|
|
345
|
+
if (basePathSet.has(resolve(entry.path)))
|
|
346
|
+
continue;
|
|
347
|
+
merged.push({ path: entry.path, content: entry.content });
|
|
348
|
+
}
|
|
349
|
+
merged.push(...retainedBase.map((entry) => ({ path: entry.path, content: entry.content })));
|
|
350
|
+
return merged;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Gates the global SYSTEM.md/APPEND_SYSTEM.md system prompt channel by
|
|
354
|
+
* inheritSystemAgentsMd (设计 §8: the switch governs the whole system layer,
|
|
355
|
+
* not just the agents.md chain). The resource loader feeds both overrides with
|
|
356
|
+
* the resolved content of exactly one discovered file — project-level
|
|
357
|
+
* `<cwd>/.agent-forge/<name>` first, else global `<agentDir>/<name>` — with no
|
|
358
|
+
* path attached, so project-level existence identifies the base origin:
|
|
359
|
+
* present means the project layer, which per 设计 §4 is the third level and
|
|
360
|
+
* always passes the switch; absent means a global source, which passes only
|
|
361
|
+
* when the suite inherits the system layer. Blocked global files are recorded
|
|
362
|
+
* in diagnostics with their paths (one-time migration hint, 设计 §11.3).
|
|
363
|
+
*/
|
|
364
|
+
export function createSuiteSystemPromptGate(suite, options) {
|
|
365
|
+
const diagnostics = [];
|
|
366
|
+
const passes = (filename) => {
|
|
367
|
+
const projectPath = join(options.cwd, CONFIG_DIR_NAME, filename);
|
|
368
|
+
if (existsSync(projectPath))
|
|
369
|
+
return true;
|
|
370
|
+
if (suite.inheritSystemAgentsMd)
|
|
371
|
+
return true;
|
|
372
|
+
const message = `Suite "${suite.id}" does not inherit the global system layer (inheritSystemAgentsMd=false); ` +
|
|
373
|
+
`global file kept out of the model context: ${join(options.agentDir, filename)}. Move it to the ` +
|
|
374
|
+
`project level (${projectPath}) or set "inheritSystemAgentsMd": true in the suite.json.`;
|
|
375
|
+
if (!diagnostics.includes(message))
|
|
376
|
+
diagnostics.push(message);
|
|
377
|
+
return false;
|
|
378
|
+
};
|
|
379
|
+
return {
|
|
380
|
+
systemPromptOverride: (base) => (base === undefined || passes("SYSTEM.md") ? base : undefined),
|
|
381
|
+
appendSystemPromptOverride: (base) => (base.length === 0 || passes("APPEND_SYSTEM.md") ? base : []),
|
|
382
|
+
diagnostics,
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Single-sourced dangling-association diagnostic text (设计 §11.3): reported
|
|
387
|
+
* through the suiteDiagnostics channel, never thrown.
|
|
388
|
+
*/
|
|
389
|
+
export function suiteDanglingAssociationDiagnostic(suiteId, kind, name) {
|
|
390
|
+
return `Suite "${suiteId}" dangling association "${name}" (${kind}): not found in the discovered registry; ignored.`;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Filters the discovered skills down to the suite's skill associations (设计
|
|
394
|
+
* §3: the filter lives in the assembler; discovery stays untouched). Project
|
|
395
|
+
* scope (`<cwd>/.agent-forge/`) is the third layer (设计 §4) and always passes;
|
|
396
|
+
* every other entry is kept only when its `Skill.name` exactly matches an
|
|
397
|
+
* `associations.skills` entry. Association names that match no discovered
|
|
398
|
+
* skill — including case mismatches — are reported as dangling.
|
|
399
|
+
*
|
|
400
|
+
* `options.localSkillsDir` is the suite-local skill layer (统一修复轮 B:
|
|
401
|
+
* `<agentDir>/suites/<id>/skills`): its entries live inside the active suite
|
|
402
|
+
* workspace, so suite activation is their association and they pass the filter
|
|
403
|
+
* by path — the suite-local layer exemption — instead of requiring an
|
|
404
|
+
* association entry.
|
|
405
|
+
*/
|
|
406
|
+
export function filterSuiteSkills(suite, skills, options) {
|
|
407
|
+
const associated = new Set(suite.associations.skills);
|
|
408
|
+
const discovered = new Set(skills.map((skill) => skill.name));
|
|
409
|
+
const dangling = suite.associations.skills.filter((name) => !discovered.has(name));
|
|
410
|
+
const localSkillsDir = options?.localSkillsDir;
|
|
411
|
+
const kept = skills.filter((skill) => skill.sourceInfo.scope === "project" ||
|
|
412
|
+
(localSkillsDir !== undefined && isUnderDir(skill.filePath, localSkillsDir)) ||
|
|
413
|
+
associated.has(skill.name));
|
|
414
|
+
return { kept, dangling: Object.freeze(dangling) };
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Decides one external capability plugin manifest against the suite's
|
|
418
|
+
* `associations.plugins` (方案设计 §10.4, M3 双键语义: associations.plugins
|
|
419
|
+
* governs only the external capability plugin pool; suite.capabilities governs
|
|
420
|
+
* the compiled builtin ids). The project-level pool
|
|
421
|
+
* (`<cwd>/.agent-forge/plugins`) is the third layer (设计 §4) and always
|
|
422
|
+
* passes; every other manifest is kept only when its id matches an
|
|
423
|
+
* association exactly. Filtered plugins surface as diagnostics, never as
|
|
424
|
+
* errors.
|
|
425
|
+
*/
|
|
426
|
+
export function decideSuiteCapabilityPlugin(suite, candidate, options) {
|
|
427
|
+
if (isUnderDir(candidate.manifestPath, join(options.cwd, CONFIG_DIR_NAME, "plugins")))
|
|
428
|
+
return { keep: true };
|
|
429
|
+
if (suite.associations.plugins.includes(candidate.manifestId))
|
|
430
|
+
return { keep: true };
|
|
431
|
+
return {
|
|
432
|
+
keep: false,
|
|
433
|
+
diagnostic: `Suite "${suite.id}" capability plugin "${candidate.manifestId}" at ${candidate.manifestPath} is not associated; not loaded.`,
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Dangling `associations.plugins` entries: association ids that matched no
|
|
438
|
+
* candidate capability plugin manifest (设计 §11.3), single-sourced through
|
|
439
|
+
* the shared dangling diagnostic text. The caller decides what counts as a
|
|
440
|
+
* candidate: the sdk assembler passes every manifest id it loads, so explicit
|
|
441
|
+
* capabilityPluginPaths count toward satisfying an association even though
|
|
442
|
+
* they bypass the keep filter; only manifests absent from the passed ids
|
|
443
|
+
* surface as dangling.
|
|
444
|
+
*/
|
|
445
|
+
export function suiteDanglingPluginAssociations(suite, discoveredManifestIds) {
|
|
446
|
+
const discovered = new Set(discoveredManifestIds);
|
|
447
|
+
return suite.associations.plugins
|
|
448
|
+
.filter((id) => !discovered.has(id))
|
|
449
|
+
.map((id) => suiteDanglingAssociationDiagnostic(suite.id, "plugins", id));
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Single-sourced assembly-layer context budget estimate (统一修复轮 B): pure
|
|
453
|
+
* chars/4 arithmetic over the assembled agents.md chain (per source layer),
|
|
454
|
+
* the orientation persona text, plus the count of suite-local workspace
|
|
455
|
+
* skills. Diagnostic-only: it never blocks, gates, or degrades anything.
|
|
456
|
+
*/
|
|
457
|
+
export function suiteContextBudgetDiagnostic(suiteId, chain, options) {
|
|
458
|
+
const layerChars = { system: 0, suite: 0, project: 0 };
|
|
459
|
+
for (const entry of chain) {
|
|
460
|
+
layerChars[entry.source] += entry.content.length;
|
|
461
|
+
}
|
|
462
|
+
const tokens = (chars) => Math.round(chars / 4);
|
|
463
|
+
const system = tokens(layerChars.system);
|
|
464
|
+
const suiteLayer = tokens(layerChars.suite);
|
|
465
|
+
const project = tokens(layerChars.project);
|
|
466
|
+
return `Suite "${suiteId}" context budget: agents.md ~${system + suiteLayer + project} tok (system ${system}/suite ${suiteLayer}/project ${project}), persona ~${tokens(options.personaChars)} tok, workspace skills ${options.workspaceSkillCount}`;
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Plugin-profile diagnostics in the canonical suiteDiagnostics order.
|
|
470
|
+
*
|
|
471
|
+
* D-075 S2 soft degradation: a resolved Profile renders structured per-plugin
|
|
472
|
+
* misses (e.g. `manifest_missing` for a package-distributed plugin without an
|
|
473
|
+
* installed active version) as readable diagnostics, so the session keeps
|
|
474
|
+
* starting without the missing plugin's tools and the miss stays visible.
|
|
475
|
+
* Blocked resolutions already render every plugin diagnostic through
|
|
476
|
+
* `resolution.diagnostics`; the per-plugin lines are additive for the
|
|
477
|
+
* non-blocked branches only.
|
|
478
|
+
*/
|
|
479
|
+
function pluginProfileDiagnosticsV1(profile) {
|
|
480
|
+
if (profile.status === "not_found")
|
|
481
|
+
return [`Plugin profile unavailable: ${profile.profileId}`];
|
|
482
|
+
if (profile.status === "host_facts_required")
|
|
483
|
+
return [`Plugin profile host facts required: ${profile.profileId}`];
|
|
484
|
+
if (profile.status === "invalid_selection")
|
|
485
|
+
return [
|
|
486
|
+
`Plugin profile invalid selection: ${profile.profileId} (unknown: ${profile.unknownPluginIds.join(", ") || "none"}; duplicates: ${profile.duplicatePluginIds.join(", ") || "none"})`,
|
|
487
|
+
];
|
|
488
|
+
const pluginMisses = profile.resolution.status === "blocked"
|
|
489
|
+
? []
|
|
490
|
+
: profile.resolution.plugins
|
|
491
|
+
.filter((plugin) => plugin.status !== "installed-ready")
|
|
492
|
+
.flatMap((plugin) => plugin.diagnostics.map((diagnostic) => `Plugin profile plugin unavailable: ${plugin.pluginId} (${diagnostic.code}): ${diagnostic.message}`));
|
|
493
|
+
if (profile.resolution.status === "blocked")
|
|
494
|
+
return profile.resolution.diagnostics.map((diagnostic) => `Plugin profile blocked: ${diagnostic.message}`);
|
|
495
|
+
if (profile.assembly?.status === "unverified")
|
|
496
|
+
return [
|
|
497
|
+
...profile.assembly.unverified.map((plugin) => `Plugin profile unverified: ${plugin.pluginId}@${plugin.pluginVersion}`),
|
|
498
|
+
...pluginMisses,
|
|
499
|
+
];
|
|
500
|
+
return pluginMisses;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* The single suite assembly used by both first-party entry paths (sdk.ts
|
|
504
|
+
* self-built loader and agent-session-services `suiteAssembly`), so the two
|
|
505
|
+
* cannot drift. Loads the suite workspace, builds the system prompt gate, and
|
|
506
|
+
* returns the loader overrides plus a diagnostics collection channel.
|
|
507
|
+
*/
|
|
508
|
+
export function createSuiteAssembly(options) {
|
|
509
|
+
const { cwd, agentDir, suiteId } = options;
|
|
510
|
+
let pluginProfile = options.pluginProfile;
|
|
511
|
+
if (pluginProfile === undefined && options.pluginProfileId !== undefined) {
|
|
512
|
+
pluginProfile =
|
|
513
|
+
options.pluginHost === undefined
|
|
514
|
+
? { status: "host_facts_required", profileId: options.pluginProfileId }
|
|
515
|
+
: resolveBuiltinPluginProfileV1({
|
|
516
|
+
profileId: options.pluginProfileId,
|
|
517
|
+
selectedPluginIds: options.selectedPluginIds,
|
|
518
|
+
disabledPluginIds: options.disabledPluginIds,
|
|
519
|
+
host: options.pluginHost,
|
|
520
|
+
verifiedPlugins: options.verifiedPlugins,
|
|
521
|
+
manifestOverrides: options.manifestOverrides,
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
const workspace = loadSuiteWorkspace({
|
|
525
|
+
agentDir,
|
|
526
|
+
suiteId,
|
|
527
|
+
...(pluginProfile === undefined ? {} : { pluginProfile }),
|
|
528
|
+
});
|
|
529
|
+
const gate = createSuiteSystemPromptGate(workspace.suite, { cwd, agentDir });
|
|
530
|
+
// Suite-local asset layer (统一修复轮 B): present directories only, so
|
|
531
|
+
// missing and empty directories both contribute nothing.
|
|
532
|
+
const localSkillsDir = getSuiteLocalSkillsDir(agentDir, suiteId);
|
|
533
|
+
const localPluginsDir = getSuiteLocalPluginsDir(agentDir, suiteId);
|
|
534
|
+
const hasLocalSkillsDir = existsSync(localSkillsDir);
|
|
535
|
+
const hasLocalPluginsDir = existsSync(localPluginsDir);
|
|
536
|
+
const workspaceSkillCount = hasLocalSkillsDir
|
|
537
|
+
? loadSkills({ cwd, agentDir, skillPaths: [localSkillsDir], includeDefaults: false }).skills.length
|
|
538
|
+
: 0;
|
|
539
|
+
let chainDiagnostics = [];
|
|
540
|
+
let skillDiagnostics = [];
|
|
541
|
+
// The assembled chain as far as the agentsFilesOverride has run; the budget
|
|
542
|
+
// line is only honest once the real chain is known.
|
|
543
|
+
let assembledChain;
|
|
544
|
+
// Factory upgrade proposal (M4, 设计 §9 升级合并): an unbounded registry
|
|
545
|
+
// resolve only proposes when the factory source wins, i.e. its revision is
|
|
546
|
+
// strictly greater than the disk revision. Daily assembly keeps the disk
|
|
547
|
+
// contents; adoption is an explicit --suite-reset.
|
|
548
|
+
const upgrade = detectSuiteFactoryUpgrade(workspace.suite);
|
|
549
|
+
const proposalDiagnostics = upgrade === undefined ? [] : [suiteFactoryUpgradeDiagnostic(suiteId, upgrade)];
|
|
550
|
+
const budgetDiagnostics = () => {
|
|
551
|
+
if (assembledChain === undefined)
|
|
552
|
+
return [];
|
|
553
|
+
return [
|
|
554
|
+
suiteContextBudgetDiagnostic(suiteId, assembledChain, {
|
|
555
|
+
personaChars: ORIENTATION_PROMPTS[workspace.suite.orientation].length,
|
|
556
|
+
workspaceSkillCount,
|
|
557
|
+
}),
|
|
558
|
+
];
|
|
559
|
+
};
|
|
560
|
+
return {
|
|
561
|
+
workspace,
|
|
562
|
+
...(pluginProfile === undefined ? {} : { pluginProfile }),
|
|
563
|
+
...(hasLocalSkillsDir ? { localSkillsDir } : {}),
|
|
564
|
+
...(hasLocalPluginsDir ? { localPluginsDir } : {}),
|
|
565
|
+
loaderOverrides: {
|
|
566
|
+
agentsFilesOverride: (base) => {
|
|
567
|
+
const assembly = assembleSuiteAgentsMdChain({
|
|
568
|
+
suite: workspace.suite,
|
|
569
|
+
agentDir,
|
|
570
|
+
suiteJsonPath: workspace.suiteJsonPath,
|
|
571
|
+
suiteAgentsMdPath: workspace.agentsMdPath,
|
|
572
|
+
projectAgentsFiles: base.agentsFiles,
|
|
573
|
+
});
|
|
574
|
+
chainDiagnostics = assembly.diagnostics;
|
|
575
|
+
assembledChain = assembly.chain;
|
|
576
|
+
return { agentsFiles: mergeSuiteAgentsFiles(assembly.chain, base.agentsFiles, { agentDir }) };
|
|
577
|
+
},
|
|
578
|
+
skillsOverride: (base) => {
|
|
579
|
+
const filtered = filterSuiteSkills(workspace.suite, base.skills, { localSkillsDir });
|
|
580
|
+
skillDiagnostics = filtered.dangling.map((name) => suiteDanglingAssociationDiagnostic(suiteId, "skills", name));
|
|
581
|
+
return { skills: filtered.kept, diagnostics: base.diagnostics };
|
|
582
|
+
},
|
|
583
|
+
systemPromptOverride: gate.systemPromptOverride,
|
|
584
|
+
appendSystemPromptOverride: gate.appendSystemPromptOverride,
|
|
585
|
+
},
|
|
586
|
+
collectDiagnostics: () => Object.freeze([
|
|
587
|
+
...workspace.diagnostics,
|
|
588
|
+
...(pluginProfile === undefined ? [] : pluginProfileDiagnosticsV1(pluginProfile)),
|
|
589
|
+
...proposalDiagnostics,
|
|
590
|
+
...chainDiagnostics,
|
|
591
|
+
...skillDiagnostics,
|
|
592
|
+
...budgetDiagnostics(),
|
|
593
|
+
...gate.diagnostics,
|
|
594
|
+
]),
|
|
595
|
+
};
|
|
596
|
+
}
|
|
597
|
+
// ---------------------------------------------------------------------------
|
|
598
|
+
// Session suite binding reader (设计 §10.1, 统一修复轮 B)
|
|
599
|
+
// ---------------------------------------------------------------------------
|
|
600
|
+
/**
|
|
601
|
+
* Reads the suite binding recorded as session protocol data (设计 §10.1): the
|
|
602
|
+
* suiteId of the latest `SUITE_SESSION_ENTRY_TYPE` custom entry. Undefined
|
|
603
|
+
* when the session carries no binding — pre-suite sessions, entries without a
|
|
604
|
+
* data payload, or payloads without a non-empty string suiteId.
|
|
605
|
+
*/
|
|
606
|
+
export function readSessionSuiteId(entries) {
|
|
607
|
+
return readSessionSuiteBinding(entries)?.suiteId;
|
|
608
|
+
}
|
|
609
|
+
function sessionProfileIdentity(value) {
|
|
610
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
611
|
+
return undefined;
|
|
612
|
+
const record = value;
|
|
613
|
+
if (typeof record.profileId !== "string" ||
|
|
614
|
+
record.profileId.trim() === "" ||
|
|
615
|
+
typeof record.profileVersion !== "string" ||
|
|
616
|
+
record.profileVersion.trim() === "" ||
|
|
617
|
+
typeof record.manifestDigest !== "string" ||
|
|
618
|
+
record.manifestDigest.trim() === "" ||
|
|
619
|
+
!Array.isArray(record.capabilityVersions)) {
|
|
620
|
+
return undefined;
|
|
621
|
+
}
|
|
622
|
+
const capabilityVersions = [];
|
|
623
|
+
for (const entry of record.capabilityVersions) {
|
|
624
|
+
if (entry === null || typeof entry !== "object" || Array.isArray(entry))
|
|
625
|
+
return undefined;
|
|
626
|
+
const capability = entry;
|
|
627
|
+
if (typeof capability.id !== "string" ||
|
|
628
|
+
capability.id.trim() === "" ||
|
|
629
|
+
typeof capability.version !== "number" ||
|
|
630
|
+
!Number.isSafeInteger(capability.version) ||
|
|
631
|
+
capability.version < 1) {
|
|
632
|
+
return undefined;
|
|
633
|
+
}
|
|
634
|
+
capabilityVersions.push({ id: capability.id, version: capability.version });
|
|
635
|
+
}
|
|
636
|
+
return Object.freeze({
|
|
637
|
+
profileId: record.profileId,
|
|
638
|
+
profileVersion: record.profileVersion,
|
|
639
|
+
manifestDigest: record.manifestDigest,
|
|
640
|
+
capabilityVersions: Object.freeze(capabilityVersions),
|
|
641
|
+
});
|
|
642
|
+
}
|
|
643
|
+
/** Reads the latest suite and optional Profile identity bound to a session. */
|
|
644
|
+
export function readSessionSuiteBinding(entries) {
|
|
645
|
+
for (let index = entries.length - 1; index >= 0; index--) {
|
|
646
|
+
const entry = entries[index];
|
|
647
|
+
if (entry.type !== "custom" || entry.customType !== SUITE_SESSION_ENTRY_TYPE)
|
|
648
|
+
continue;
|
|
649
|
+
const data = entry.data;
|
|
650
|
+
if (data !== null && typeof data === "object" && !Array.isArray(data)) {
|
|
651
|
+
const suiteId = data.suiteId;
|
|
652
|
+
if (typeof suiteId === "string" && suiteId.length > 0) {
|
|
653
|
+
const profileIdentity = sessionProfileIdentity(data.profileIdentity);
|
|
654
|
+
return Object.freeze({
|
|
655
|
+
suiteId,
|
|
656
|
+
...(profileIdentity === undefined ? {} : { profileIdentity }),
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
return undefined;
|
|
661
|
+
}
|
|
662
|
+
return undefined;
|
|
663
|
+
}
|
|
664
|
+
// ---------------------------------------------------------------------------
|
|
665
|
+
// Suite -> ProfileIdentityV1 -> lock bridge (设计 §12)
|
|
666
|
+
// ---------------------------------------------------------------------------
|
|
667
|
+
function suiteToJsonValue(suite) {
|
|
668
|
+
return {
|
|
669
|
+
schemaVersion: suite.schemaVersion,
|
|
670
|
+
id: suite.id,
|
|
671
|
+
name: suite.name,
|
|
672
|
+
builtin: suite.builtin,
|
|
673
|
+
tools: [...suite.tools],
|
|
674
|
+
capabilities: [...suite.capabilities],
|
|
675
|
+
associations: {
|
|
676
|
+
skills: [...suite.associations.skills],
|
|
677
|
+
mcp: [...suite.associations.mcp],
|
|
678
|
+
plugins: [...suite.associations.plugins],
|
|
679
|
+
},
|
|
680
|
+
inheritSystemAgentsMd: suite.inheritSystemAgentsMd,
|
|
681
|
+
memory: suite.memory,
|
|
682
|
+
orientation: suite.orientation,
|
|
683
|
+
model: suite.model,
|
|
684
|
+
thinking: suite.thinking,
|
|
685
|
+
clonedFrom: suite.clonedFrom
|
|
686
|
+
? { id: suite.clonedFrom.id, digest: suite.clonedFrom.digest, at: suite.clonedFrom.at }
|
|
687
|
+
: null,
|
|
688
|
+
...(suite.factoryRevision === undefined ? {} : { factoryRevision: suite.factoryRevision }),
|
|
689
|
+
};
|
|
690
|
+
}
|
|
691
|
+
/** The stable suite.json digest that rides as the suite profile manifest digest. */
|
|
692
|
+
export function suiteManifestDigest(suite) {
|
|
693
|
+
return stableJsonDigest(suiteToJsonValue(suite));
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Builds the ProfileIdentityV1 for an assembled suite. The identity is a pure
|
|
697
|
+
* function of suite.json: the stable suite.json digest rides as the single
|
|
698
|
+
* resolved "manifest", and the declared capabilities map to capability
|
|
699
|
+
* references at version 1. No new identity/lock mechanism is introduced.
|
|
700
|
+
*/
|
|
701
|
+
export function buildSuiteProfileIdentity(suite, pluginProfile) {
|
|
702
|
+
const fingerprint = suiteManifestDigest(suite);
|
|
703
|
+
const suiteCapabilityRefs = suite.capabilities.map((id) => ({ id, version: 1 }));
|
|
704
|
+
const pluginRefs = pluginProfile?.status === "resolved" && pluginProfile.resolution.status === "ready"
|
|
705
|
+
? pluginProfile.resolution.resolvedManifest.plugins
|
|
706
|
+
: [];
|
|
707
|
+
const capabilityRefs = [...suiteCapabilityRefs, ...pluginRefs.flatMap((plugin) => plugin.capabilityRefs)].sort((left, right) => left.id.localeCompare(right.id) || left.version - right.version);
|
|
708
|
+
return buildProfileIdentityV1({
|
|
709
|
+
profileId: suiteProfileId(suite.id),
|
|
710
|
+
profileVersion: `${SUITE_SCHEMA_VERSION}`,
|
|
711
|
+
resolvedPlugins: [
|
|
712
|
+
{
|
|
713
|
+
pluginId: `${suite.id}/suite.json`,
|
|
714
|
+
pluginVersion: fingerprint,
|
|
715
|
+
capabilityRefs: suiteCapabilityRefs,
|
|
716
|
+
},
|
|
717
|
+
...(pluginProfile?.status === "resolved" && pluginProfile.resolution.status === "ready"
|
|
718
|
+
? [
|
|
719
|
+
{
|
|
720
|
+
pluginId: `profile:${pluginProfile.profile.id}`,
|
|
721
|
+
pluginVersion: pluginProfile.profile.version,
|
|
722
|
+
capabilityRefs: [],
|
|
723
|
+
},
|
|
724
|
+
...pluginRefs,
|
|
725
|
+
]
|
|
726
|
+
: []),
|
|
727
|
+
],
|
|
728
|
+
capabilityVersions: capabilityRefs,
|
|
729
|
+
});
|
|
730
|
+
}
|
|
731
|
+
// ---------------------------------------------------------------------------
|
|
732
|
+
// ProfileRegistryV1 hookup: factory/disk sources and upgrade proposals (M4)
|
|
733
|
+
// ---------------------------------------------------------------------------
|
|
734
|
+
/** Registry profileId namespace for suites (设计 §12). */
|
|
735
|
+
export function suiteProfileId(suiteId) {
|
|
736
|
+
return `suite:${suiteId}`;
|
|
737
|
+
}
|
|
738
|
+
export const SUITE_FACTORY_REGISTRY_SOURCE_ID = "suite-factory";
|
|
739
|
+
export const SUITE_DISK_REGISTRY_SOURCE_ID = "suite-disk";
|
|
740
|
+
/** Lower priority wins same-version ties: the disk contents beat the factory. */
|
|
741
|
+
const SUITE_FACTORY_REGISTRY_PRIORITY = 10;
|
|
742
|
+
const SUITE_DISK_REGISTRY_PRIORITY = 0;
|
|
743
|
+
/** The effective on-disk revision: absent key means FACTORY_CONTENTS_VERSION. */
|
|
744
|
+
function suiteDiskRevision(suite) {
|
|
745
|
+
return suite.factoryRevision ?? FACTORY_CONTENTS_VERSION;
|
|
746
|
+
}
|
|
747
|
+
/** Builds the registry entry of one suite definition (version = factoryRevision). */
|
|
748
|
+
export function buildSuiteRegistryEntry(suite) {
|
|
749
|
+
return {
|
|
750
|
+
profileId: suiteProfileId(suite.id),
|
|
751
|
+
profileVersion: String(suiteDiskRevision(suite)),
|
|
752
|
+
manifestDigest: suiteManifestDigest(suite),
|
|
753
|
+
};
|
|
754
|
+
}
|
|
755
|
+
/** Factory source over the builtin declarations (priority 10). */
|
|
756
|
+
export function buildSuiteFactoryRegistrySource() {
|
|
757
|
+
return {
|
|
758
|
+
sourceId: SUITE_FACTORY_REGISTRY_SOURCE_ID,
|
|
759
|
+
priority: SUITE_FACTORY_REGISTRY_PRIORITY,
|
|
760
|
+
profiles: BUILTIN_SUITES.map(buildSuiteRegistryEntry),
|
|
761
|
+
};
|
|
762
|
+
}
|
|
763
|
+
/** Disk source over workspace-effective definitions (priority 0; wins ties). */
|
|
764
|
+
export function buildSuiteDiskRegistrySource(suites) {
|
|
765
|
+
return {
|
|
766
|
+
sourceId: SUITE_DISK_REGISTRY_SOURCE_ID,
|
|
767
|
+
priority: SUITE_DISK_REGISTRY_PRIORITY,
|
|
768
|
+
profiles: suites.map(buildSuiteRegistryEntry),
|
|
769
|
+
};
|
|
770
|
+
}
|
|
771
|
+
/** Single-sourced upgrade-proposal diagnostic text (设计 §9 升级合并). */
|
|
772
|
+
export function suiteFactoryUpgradeDiagnostic(suiteId, upgrade) {
|
|
773
|
+
return `Suite "${suiteId}": factory revision ${upgrade.factoryRevision} available (disk has ${upgrade.diskRevision}); run "--suite-reset ${suiteId}" to review and adopt.`;
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Detects a factory upgrade proposal for one disk-effective suite: an
|
|
777
|
+
* unbounded registry resolve over the factory source (all builtins) plus a
|
|
778
|
+
* disk source carrying exactly the effective definition. The factory source
|
|
779
|
+
* wins only when its revision is strictly greater — same-version resolves
|
|
780
|
+
* keep the disk contents (priority 0), so no proposal is emitted for
|
|
781
|
+
* unchanged suites, and user suites (no factory entry) never resolve to the
|
|
782
|
+
* factory. Pure function; the caller decides what to do with the proposal.
|
|
783
|
+
*/
|
|
784
|
+
export function detectSuiteFactoryUpgrade(diskSuite) {
|
|
785
|
+
const registry = createProfileRegistry();
|
|
786
|
+
registry.registerSource(buildSuiteFactoryRegistrySource());
|
|
787
|
+
registry.registerSource(buildSuiteDiskRegistrySource([diskSuite]));
|
|
788
|
+
const resolution = registry.resolve({ profileId: suiteProfileId(diskSuite.id) });
|
|
789
|
+
if (resolution.status !== "resolved" || resolution.sourceId !== SUITE_FACTORY_REGISTRY_SOURCE_ID) {
|
|
790
|
+
return undefined;
|
|
791
|
+
}
|
|
792
|
+
return {
|
|
793
|
+
factoryRevision: Number.parseInt(resolution.profileVersion, 10),
|
|
794
|
+
diskRevision: suiteDiskRevision(diskSuite),
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
/** Bridges an assembled suite onto the existing lock create/verify trio. */
|
|
798
|
+
export function bridgeSuiteProfileLock(options) {
|
|
799
|
+
const identity = buildSuiteProfileIdentity(options.suite, options.pluginProfile);
|
|
800
|
+
const diagnostics = [];
|
|
801
|
+
let verification;
|
|
802
|
+
if (options.previousLock !== undefined) {
|
|
803
|
+
verification = verifyProfileLock(options.previousLock, identity);
|
|
804
|
+
if (verification.status === "drift") {
|
|
805
|
+
diagnostics.push(`Suite "${options.suite.id}" profile lock drift: ${verification.reason}`);
|
|
806
|
+
}
|
|
807
|
+
else if (verification.status === "migration_required") {
|
|
808
|
+
diagnostics.push(`Suite "${options.suite.id}" profile lock migration required: ${verification.reason}`);
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
const lock = options.previousLock ??
|
|
812
|
+
createProfileLock(identity, {
|
|
813
|
+
lockedBy: options.lockedBy ?? "suite-loader",
|
|
814
|
+
...(options.now === undefined ? {} : { now: options.now }),
|
|
815
|
+
});
|
|
816
|
+
return {
|
|
817
|
+
identity,
|
|
818
|
+
lock,
|
|
819
|
+
...(verification === undefined ? {} : { verification }),
|
|
820
|
+
diagnostics: Object.freeze(diagnostics),
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
//# sourceMappingURL=suite-loader.js.map
|