@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,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* subagent-task runner 进程入口(D-045 / pooled 切片增量 2)。
|
|
3
|
+
*
|
|
4
|
+
* 把一个 headless 进程变成 runner:stdio 上跑 `createSubagentTaskServer`,会话工厂
|
|
5
|
+
* 由宿主注入(生产侧装配 `createAgentSession` + `HEADLESS_INTERACTION_HOST`,
|
|
6
|
+
* 测试注入 fake)。进程退出时清理全部未终态 session。
|
|
7
|
+
*
|
|
8
|
+
* 约定:本函数持有进程直到 stdin 关闭或 dispose;不自行打印日志到 stdout
|
|
9
|
+
* (stdout 是协议通道),诊断走 stderr。
|
|
10
|
+
*/
|
|
11
|
+
import type { Readable, Writable } from "node:stream";
|
|
12
|
+
import { type SubagentTaskEnvelopeV1, type SubagentTaskSessionV1 } from "@agent-forge/protocol/subagent";
|
|
13
|
+
export interface SubagentTaskRunnerOptionsV1 {
|
|
14
|
+
readonly input: Readable;
|
|
15
|
+
readonly output: Writable;
|
|
16
|
+
/** 会话工厂:生产侧装配真实 AgentSession,测试注入 fake(同一契约)。 */
|
|
17
|
+
createSession(request: {
|
|
18
|
+
prompt: string;
|
|
19
|
+
profile?: unknown;
|
|
20
|
+
parentSessionId?: string;
|
|
21
|
+
}): Promise<SubagentTaskSessionV1>;
|
|
22
|
+
readonly maxMessages?: number;
|
|
23
|
+
readonly maxResultBytes?: number;
|
|
24
|
+
/** 诊断出口(默认 stderr);协议通道之外的日志一律走这里。 */
|
|
25
|
+
readonly log?: (message: string) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface SubagentTaskRunnerHandleV1 {
|
|
28
|
+
/** 读到 stdin 关闭为止;runner 进程通常 await 它以保持存活。 */
|
|
29
|
+
done: Promise<void>;
|
|
30
|
+
dispose(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare function runSubagentTaskRunner(options: SubagentTaskRunnerOptionsV1): SubagentTaskRunnerHandleV1;
|
|
33
|
+
/** 供 runner 侧调试/测试使用:把信封写到 stderr 的可读形式(不污染 stdout 协议通道)。 */
|
|
34
|
+
export declare function describeSubagentTaskEnvelopeV1(env: SubagentTaskEnvelopeV1): string;
|
|
35
|
+
//# sourceMappingURL=runner-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-entry.d.ts","sourceRoot":"","sources":["../../../src/plugins/subagent-task/runner-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAGN,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,iGAAiD;IACjD,aAAa,CAAC,OAAO,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,sFAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IAC1C,kFAA8C;IAC9C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,2BAA2B,GAAG,0BAA0B,CA+BtG;AAED,uHAA6D;AAC7D,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAIlF","sourcesContent":["/**\n * subagent-task runner 进程入口(D-045 / pooled 切片增量 2)。\n *\n * 把一个 headless 进程变成 runner:stdio 上跑 `createSubagentTaskServer`,会话工厂\n * 由宿主注入(生产侧装配 `createAgentSession` + `HEADLESS_INTERACTION_HOST`,\n * 测试注入 fake)。进程退出时清理全部未终态 session。\n *\n * 约定:本函数持有进程直到 stdin 关闭或 dispose;不自行打印日志到 stdout\n * (stdout 是协议通道),诊断走 stderr。\n */\nimport type { Readable, Writable } from \"node:stream\";\nimport {\n\tcreateSubagentTaskServer,\n\tcreateSubagentTaskStdioChannelV1,\n\ttype SubagentTaskEnvelopeV1,\n\ttype SubagentTaskSessionV1,\n} from \"@agent-forge/protocol/subagent\";\n\nexport interface SubagentTaskRunnerOptionsV1 {\n\treadonly input: Readable;\n\treadonly output: Writable;\n\t/** 会话工厂:生产侧装配真实 AgentSession,测试注入 fake(同一契约)。 */\n\tcreateSession(request: {\n\t\tprompt: string;\n\t\tprofile?: unknown;\n\t\tparentSessionId?: string;\n\t}): Promise<SubagentTaskSessionV1>;\n\treadonly maxMessages?: number;\n\treadonly maxResultBytes?: number;\n\t/** 诊断出口(默认 stderr);协议通道之外的日志一律走这里。 */\n\treadonly log?: (message: string) => void;\n}\n\nexport interface SubagentTaskRunnerHandleV1 {\n\t/** 读到 stdin 关闭为止;runner 进程通常 await 它以保持存活。 */\n\tdone: Promise<void>;\n\tdispose(): Promise<void>;\n}\n\nexport function runSubagentTaskRunner(options: SubagentTaskRunnerOptionsV1): SubagentTaskRunnerHandleV1 {\n\tconst log = options.log ?? ((message: string): void => void process.stderr.write(`${message}\\n`));\n\tconst channel = createSubagentTaskStdioChannelV1({ input: options.input, output: options.output });\n\tconst server = createSubagentTaskServer(\n\t\t{\n\t\t\tcreateSession: options.createSession,\n\t\t\t...(options.maxMessages === undefined ? {} : { maxMessages: options.maxMessages }),\n\t\t\t...(options.maxResultBytes === undefined ? {} : { maxResultBytes: options.maxResultBytes }),\n\t\t},\n\t\tchannel,\n\t);\n\n\tconst done = (async () => {\n\t\ttry {\n\t\t\tfor await (const env of channel) {\n\t\t\t\tawait server.handle(env);\n\t\t\t}\n\t\t\tlog(\"subagent runner: input closed\");\n\t\t} catch (error) {\n\t\t\tlog(`subagent runner: channel failed: ${error instanceof Error ? error.message : String(error)}`);\n\t\t} finally {\n\t\t\tawait server.dispose();\n\t\t}\n\t})();\n\n\treturn {\n\t\tdone,\n\t\tasync dispose(): Promise<void> {\n\t\t\tawait server.dispose();\n\t\t},\n\t};\n}\n\n/** 供 runner 侧调试/测试使用:把信封写到 stderr 的可读形式(不污染 stdout 协议通道)。 */\nexport function describeSubagentTaskEnvelopeV1(env: SubagentTaskEnvelopeV1): string {\n\tif (env.kind === \"request\") return `request ${env.op} id=${env.id} task=${env.taskId ?? \"-\"}`;\n\tif (env.kind === \"event\") return `event ${env.type} task=${env.taskId} seq=${env.seq}`;\n\treturn `response id=${env.id} ok=${env.ok}`;\n}\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createSubagentTaskServer, createSubagentTaskStdioChannelV1, } from "@agent-forge/protocol/subagent";
|
|
2
|
+
export function runSubagentTaskRunner(options) {
|
|
3
|
+
const log = options.log ?? ((message) => void process.stderr.write(`${message}\n`));
|
|
4
|
+
const channel = createSubagentTaskStdioChannelV1({ input: options.input, output: options.output });
|
|
5
|
+
const server = createSubagentTaskServer({
|
|
6
|
+
createSession: options.createSession,
|
|
7
|
+
...(options.maxMessages === undefined ? {} : { maxMessages: options.maxMessages }),
|
|
8
|
+
...(options.maxResultBytes === undefined ? {} : { maxResultBytes: options.maxResultBytes }),
|
|
9
|
+
}, channel);
|
|
10
|
+
const done = (async () => {
|
|
11
|
+
try {
|
|
12
|
+
for await (const env of channel) {
|
|
13
|
+
await server.handle(env);
|
|
14
|
+
}
|
|
15
|
+
log("subagent runner: input closed");
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
log(`subagent runner: channel failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
await server.dispose();
|
|
22
|
+
}
|
|
23
|
+
})();
|
|
24
|
+
return {
|
|
25
|
+
done,
|
|
26
|
+
async dispose() {
|
|
27
|
+
await server.dispose();
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** 供 runner 侧调试/测试使用:把信封写到 stderr 的可读形式(不污染 stdout 协议通道)。 */
|
|
32
|
+
export function describeSubagentTaskEnvelopeV1(env) {
|
|
33
|
+
if (env.kind === "request")
|
|
34
|
+
return `request ${env.op} id=${env.id} task=${env.taskId ?? "-"}`;
|
|
35
|
+
if (env.kind === "event")
|
|
36
|
+
return `event ${env.type} task=${env.taskId} seq=${env.seq}`;
|
|
37
|
+
return `response id=${env.id} ok=${env.ok}`;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=runner-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-entry.js","sourceRoot":"","sources":["../../../src/plugins/subagent-task/runner-entry.ts"],"names":[],"mappings":"AAWA,OAAO,EACN,wBAAwB,EACxB,gCAAgC,GAGhC,MAAM,gCAAgC,CAAC;AAuBxC,MAAM,UAAU,qBAAqB,CAAC,OAAoC,EAA8B;IACvG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,gCAAgC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,wBAAwB,CACtC;QACC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;KAC3F,EACD,OAAO,CACP,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;gBAAS,CAAC;YACV,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IAAA,CACD,CAAC,EAAE,CAAC;IAEL,OAAO;QACN,IAAI;QACJ,KAAK,CAAC,OAAO,GAAkB;YAC9B,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAAA,CACvB;KACD,CAAC;AAAA,CACF;AAED,uHAA6D;AAC7D,MAAM,UAAU,8BAA8B,CAAC,GAA2B,EAAU;IACnF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;IAC9F,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;IACvF,OAAO,eAAe,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC;AAAA,CAC5C","sourcesContent":["/**\n * subagent-task runner 进程入口(D-045 / pooled 切片增量 2)。\n *\n * 把一个 headless 进程变成 runner:stdio 上跑 `createSubagentTaskServer`,会话工厂\n * 由宿主注入(生产侧装配 `createAgentSession` + `HEADLESS_INTERACTION_HOST`,\n * 测试注入 fake)。进程退出时清理全部未终态 session。\n *\n * 约定:本函数持有进程直到 stdin 关闭或 dispose;不自行打印日志到 stdout\n * (stdout 是协议通道),诊断走 stderr。\n */\nimport type { Readable, Writable } from \"node:stream\";\nimport {\n\tcreateSubagentTaskServer,\n\tcreateSubagentTaskStdioChannelV1,\n\ttype SubagentTaskEnvelopeV1,\n\ttype SubagentTaskSessionV1,\n} from \"@agent-forge/protocol/subagent\";\n\nexport interface SubagentTaskRunnerOptionsV1 {\n\treadonly input: Readable;\n\treadonly output: Writable;\n\t/** 会话工厂:生产侧装配真实 AgentSession,测试注入 fake(同一契约)。 */\n\tcreateSession(request: {\n\t\tprompt: string;\n\t\tprofile?: unknown;\n\t\tparentSessionId?: string;\n\t}): Promise<SubagentTaskSessionV1>;\n\treadonly maxMessages?: number;\n\treadonly maxResultBytes?: number;\n\t/** 诊断出口(默认 stderr);协议通道之外的日志一律走这里。 */\n\treadonly log?: (message: string) => void;\n}\n\nexport interface SubagentTaskRunnerHandleV1 {\n\t/** 读到 stdin 关闭为止;runner 进程通常 await 它以保持存活。 */\n\tdone: Promise<void>;\n\tdispose(): Promise<void>;\n}\n\nexport function runSubagentTaskRunner(options: SubagentTaskRunnerOptionsV1): SubagentTaskRunnerHandleV1 {\n\tconst log = options.log ?? ((message: string): void => void process.stderr.write(`${message}\\n`));\n\tconst channel = createSubagentTaskStdioChannelV1({ input: options.input, output: options.output });\n\tconst server = createSubagentTaskServer(\n\t\t{\n\t\t\tcreateSession: options.createSession,\n\t\t\t...(options.maxMessages === undefined ? {} : { maxMessages: options.maxMessages }),\n\t\t\t...(options.maxResultBytes === undefined ? {} : { maxResultBytes: options.maxResultBytes }),\n\t\t},\n\t\tchannel,\n\t);\n\n\tconst done = (async () => {\n\t\ttry {\n\t\t\tfor await (const env of channel) {\n\t\t\t\tawait server.handle(env);\n\t\t\t}\n\t\t\tlog(\"subagent runner: input closed\");\n\t\t} catch (error) {\n\t\t\tlog(`subagent runner: channel failed: ${error instanceof Error ? error.message : String(error)}`);\n\t\t} finally {\n\t\t\tawait server.dispose();\n\t\t}\n\t})();\n\n\treturn {\n\t\tdone,\n\t\tasync dispose(): Promise<void> {\n\t\t\tawait server.dispose();\n\t\t},\n\t};\n}\n\n/** 供 runner 侧调试/测试使用:把信封写到 stderr 的可读形式(不污染 stdout 协议通道)。 */\nexport function describeSubagentTaskEnvelopeV1(env: SubagentTaskEnvelopeV1): string {\n\tif (env.kind === \"request\") return `request ${env.op} id=${env.id} task=${env.taskId ?? \"-\"}`;\n\tif (env.kind === \"event\") return `event ${env.type} task=${env.taskId} seq=${env.seq}`;\n\treturn `response id=${env.id} ok=${env.ok}`;\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* subagent-task 会话工厂(D-045 / pooled 切片增量 2b)。
|
|
3
|
+
*
|
|
4
|
+
* 把真实 AgentSession(`createAgentSession` 产物)适配成 runner server 使用的
|
|
5
|
+
* `SubagentTaskSessionV1`:`prompt()` 的 `PromptOutcome.aborted` 正常终局映射为
|
|
6
|
+
* `{ status: "aborted" }`(与本地 SDK child 适配器同一语义来源);signal 中止经
|
|
7
|
+
* `session.abort()` 中断;dispose 释放会话。宿主以结构类型注入会话,本文件不直接
|
|
8
|
+
* 依赖 AgentSession 类,便于测试与解耦。
|
|
9
|
+
*/
|
|
10
|
+
import type { SubagentTaskAppliedProfileV1, SubagentTaskSessionV1 } from "@agent-forge/protocol/subagent";
|
|
11
|
+
/** 会话宿主最小面(AgentSession 的结构子集)。 */
|
|
12
|
+
export interface SubagentTaskSessionHostV1 {
|
|
13
|
+
prompt(text: string, options?: {
|
|
14
|
+
expandPromptTemplates?: boolean;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
status: "done";
|
|
17
|
+
} | {
|
|
18
|
+
status: "aborted";
|
|
19
|
+
reason: string;
|
|
20
|
+
}>;
|
|
21
|
+
/** 中断 in-flight 回合;reason 取会话的 TurnAbortReason 词汇(本地 child 路径同样不透传调度器 reason)。 */
|
|
22
|
+
abort(reason?: "interrupted" | "replaced"): Promise<void>;
|
|
23
|
+
dispose(): Promise<void>;
|
|
24
|
+
getMessages(): readonly unknown[];
|
|
25
|
+
getSessionId(): string;
|
|
26
|
+
/**
|
|
27
|
+
* 可选的进度订阅(订阅会话事件);缺省 = 无 progress 事件。
|
|
28
|
+
* D-044 §5.6 的进度源就是这里:宿主把会话事件流转成"回合级 step"提示。
|
|
29
|
+
*/
|
|
30
|
+
onProgress?: (handler: (message: string) => void) => (() => void) | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 可选的叶子会话事实(工具面/模型/模式):带档案的 create 由 server 侧核验,
|
|
33
|
+
* 缺失即视为"无法自证"并拒绝该 create。
|
|
34
|
+
*/
|
|
35
|
+
facts?: () => SubagentTaskAppliedProfileV1;
|
|
36
|
+
/** 父→子引导(D-060 S5 pooled parity):转发叶子会话自身的 steer 语义;缺省 = 不支持。 */
|
|
37
|
+
steer?: (text: string) => Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export interface SubagentTaskSessionFactoryOptionsV1 {
|
|
40
|
+
/** 每任务新建一个独立会话(runner 内并发承载多个任务);`profile` 为上游档案(可能缺省)。 */
|
|
41
|
+
createSession(request: {
|
|
42
|
+
profile?: unknown;
|
|
43
|
+
parentSessionId?: string;
|
|
44
|
+
/** resume 目标(D-060 S5 pooled parity):打开既有会话文件续写而非新建。 */
|
|
45
|
+
resumeSessionId?: string;
|
|
46
|
+
/** 回合级血缘:创建子会话的父回合 correlationId,仅 create 新建消费(resume 不适用)。 */
|
|
47
|
+
parentTraceId?: string;
|
|
48
|
+
}): Promise<SubagentTaskSessionHostV1>;
|
|
49
|
+
}
|
|
50
|
+
export declare function createSubagentTaskSessionFactoryV1(options: SubagentTaskSessionFactoryOptionsV1): (request: {
|
|
51
|
+
prompt: string;
|
|
52
|
+
profile?: unknown;
|
|
53
|
+
parentSessionId?: string;
|
|
54
|
+
resumeSessionId?: string;
|
|
55
|
+
parentTraceId?: string;
|
|
56
|
+
}) => Promise<SubagentTaskSessionV1>;
|
|
57
|
+
//# sourceMappingURL=session-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../../src/plugins/subagent-task/session-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE1G,iEAAmC;AACnC,MAAM,WAAW,yBAAyB;IACzC,MAAM,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3C,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,sIAAkF;IAClF,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,WAAW,IAAI,SAAS,OAAO,EAAE,CAAC;IAClC,YAAY,IAAI,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9E;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,4BAA4B,CAAC;IAC3C,qHAAiE;IACjE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,mCAAmC;IACnD,iIAA2D;IAC3D,aAAa,CAAC,OAAO,EAAE;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gGAAwD;QACxD,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qHAA+D;QAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC;AAED,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,mCAAmC,GAC1C,CAAC,OAAO,EAAE;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAgDnC","sourcesContent":["/**\n * subagent-task 会话工厂(D-045 / pooled 切片增量 2b)。\n *\n * 把真实 AgentSession(`createAgentSession` 产物)适配成 runner server 使用的\n * `SubagentTaskSessionV1`:`prompt()` 的 `PromptOutcome.aborted` 正常终局映射为\n * `{ status: \"aborted\" }`(与本地 SDK child 适配器同一语义来源);signal 中止经\n * `session.abort()` 中断;dispose 释放会话。宿主以结构类型注入会话,本文件不直接\n * 依赖 AgentSession 类,便于测试与解耦。\n */\nimport type { SubagentTaskAppliedProfileV1, SubagentTaskSessionV1 } from \"@agent-forge/protocol/subagent\";\n\n/** 会话宿主最小面(AgentSession 的结构子集)。 */\nexport interface SubagentTaskSessionHostV1 {\n\tprompt(\n\t\ttext: string,\n\t\toptions?: { expandPromptTemplates?: boolean },\n\t): Promise<{ status: \"done\" } | { status: \"aborted\"; reason: string }>;\n\t/** 中断 in-flight 回合;reason 取会话的 TurnAbortReason 词汇(本地 child 路径同样不透传调度器 reason)。 */\n\tabort(reason?: \"interrupted\" | \"replaced\"): Promise<void>;\n\tdispose(): Promise<void>;\n\tgetMessages(): readonly unknown[];\n\tgetSessionId(): string;\n\t/**\n\t * 可选的进度订阅(订阅会话事件);缺省 = 无 progress 事件。\n\t * D-044 §5.6 的进度源就是这里:宿主把会话事件流转成\"回合级 step\"提示。\n\t */\n\tonProgress?: (handler: (message: string) => void) => (() => void) | undefined;\n\t/**\n\t * 可选的叶子会话事实(工具面/模型/模式):带档案的 create 由 server 侧核验,\n\t * 缺失即视为\"无法自证\"并拒绝该 create。\n\t */\n\tfacts?: () => SubagentTaskAppliedProfileV1;\n\t/** 父→子引导(D-060 S5 pooled parity):转发叶子会话自身的 steer 语义;缺省 = 不支持。 */\n\tsteer?: (text: string) => Promise<void>;\n}\n\nexport interface SubagentTaskSessionFactoryOptionsV1 {\n\t/** 每任务新建一个独立会话(runner 内并发承载多个任务);`profile` 为上游档案(可能缺省)。 */\n\tcreateSession(request: {\n\t\tprofile?: unknown;\n\t\tparentSessionId?: string;\n\t\t/** resume 目标(D-060 S5 pooled parity):打开既有会话文件续写而非新建。 */\n\t\tresumeSessionId?: string;\n\t\t/** 回合级血缘:创建子会话的父回合 correlationId,仅 create 新建消费(resume 不适用)。 */\n\t\tparentTraceId?: string;\n\t}): Promise<SubagentTaskSessionHostV1>;\n}\n\nexport function createSubagentTaskSessionFactoryV1(\n\toptions: SubagentTaskSessionFactoryOptionsV1,\n): (request: {\n\tprompt: string;\n\tprofile?: unknown;\n\tparentSessionId?: string;\n\tresumeSessionId?: string;\n\tparentTraceId?: string;\n}) => Promise<SubagentTaskSessionV1> {\n\treturn async (request) => {\n\t\tconst host = await options.createSession({\n\t\t\t...(request.profile === undefined ? {} : { profile: request.profile }),\n\t\t\t...(request.parentSessionId === undefined ? {} : { parentSessionId: request.parentSessionId }),\n\t\t\t...(request.resumeSessionId === undefined ? {} : { resumeSessionId: request.resumeSessionId }),\n\t\t\t...(request.parentTraceId === undefined ? {} : { parentTraceId: request.parentTraceId }),\n\t\t});\n\t\tconst session: SubagentTaskSessionV1 = {\n\t\t\trun: async (prompt, signal) => {\n\t\t\t\tvoid request;\n\t\t\t\tconst abort = (): void => {\n\t\t\t\t\t// 会话侧 reason 词汇受限(interrupted | replaced):调度器的取消原因不透传,\n\t\t\t\t\t// 与本地 SDK child 适配器的 abort() 语义一致。\n\t\t\t\t\tvoid host.abort(\"interrupted\").catch(() => {});\n\t\t\t\t};\n\t\t\t\tif (signal.aborted) {\n\t\t\t\t\tawait abort();\n\t\t\t\t\treturn { status: \"aborted\", reason: \"interrupted\" };\n\t\t\t\t}\n\t\t\t\tsignal.addEventListener(\"abort\", abort, { once: true });\n\t\t\t\ttry {\n\t\t\t\t\tconst outcome = await host.prompt(prompt, { expandPromptTemplates: false });\n\t\t\t\t\treturn outcome.status === \"done\" ? { status: \"done\" } : { status: \"aborted\", reason: outcome.reason };\n\t\t\t\t} finally {\n\t\t\t\t\tsignal.removeEventListener(\"abort\", abort);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel: async () => {\n\t\t\t\tawait host.abort(\"interrupted\");\n\t\t\t},\n\t\t\tdispose: async () => {\n\t\t\t\tawait host.dispose();\n\t\t\t},\n\t\t\tgetMessages: () => host.getMessages(),\n\t\t\tgetSessionId: () => host.getSessionId(),\n\t\t};\n\t\tif (host.onProgress !== undefined) {\n\t\t\tsession.onProgress = (handler) => host.onProgress?.(handler);\n\t\t}\n\t\tif (host.facts !== undefined) {\n\t\t\tsession.facts = () => host.facts?.() ?? {};\n\t\t}\n\t\tif (host.steer !== undefined) {\n\t\t\tsession.steer = (text) => host.steer?.(text) ?? Promise.resolve();\n\t\t}\n\t\treturn session;\n\t};\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export function createSubagentTaskSessionFactoryV1(options) {
|
|
2
|
+
return async (request) => {
|
|
3
|
+
const host = await options.createSession({
|
|
4
|
+
...(request.profile === undefined ? {} : { profile: request.profile }),
|
|
5
|
+
...(request.parentSessionId === undefined ? {} : { parentSessionId: request.parentSessionId }),
|
|
6
|
+
...(request.resumeSessionId === undefined ? {} : { resumeSessionId: request.resumeSessionId }),
|
|
7
|
+
...(request.parentTraceId === undefined ? {} : { parentTraceId: request.parentTraceId }),
|
|
8
|
+
});
|
|
9
|
+
const session = {
|
|
10
|
+
run: async (prompt, signal) => {
|
|
11
|
+
void request;
|
|
12
|
+
const abort = () => {
|
|
13
|
+
// 会话侧 reason 词汇受限(interrupted | replaced):调度器的取消原因不透传,
|
|
14
|
+
// 与本地 SDK child 适配器的 abort() 语义一致。
|
|
15
|
+
void host.abort("interrupted").catch(() => { });
|
|
16
|
+
};
|
|
17
|
+
if (signal.aborted) {
|
|
18
|
+
await abort();
|
|
19
|
+
return { status: "aborted", reason: "interrupted" };
|
|
20
|
+
}
|
|
21
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
22
|
+
try {
|
|
23
|
+
const outcome = await host.prompt(prompt, { expandPromptTemplates: false });
|
|
24
|
+
return outcome.status === "done" ? { status: "done" } : { status: "aborted", reason: outcome.reason };
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
signal.removeEventListener("abort", abort);
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
cancel: async () => {
|
|
31
|
+
await host.abort("interrupted");
|
|
32
|
+
},
|
|
33
|
+
dispose: async () => {
|
|
34
|
+
await host.dispose();
|
|
35
|
+
},
|
|
36
|
+
getMessages: () => host.getMessages(),
|
|
37
|
+
getSessionId: () => host.getSessionId(),
|
|
38
|
+
};
|
|
39
|
+
if (host.onProgress !== undefined) {
|
|
40
|
+
session.onProgress = (handler) => host.onProgress?.(handler);
|
|
41
|
+
}
|
|
42
|
+
if (host.facts !== undefined) {
|
|
43
|
+
session.facts = () => host.facts?.() ?? {};
|
|
44
|
+
}
|
|
45
|
+
if (host.steer !== undefined) {
|
|
46
|
+
session.steer = (text) => host.steer?.(text) ?? Promise.resolve();
|
|
47
|
+
}
|
|
48
|
+
return session;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=session-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../../src/plugins/subagent-task/session-factory.ts"],"names":[],"mappings":"AAgDA,MAAM,UAAU,kCAAkC,CACjD,OAA4C,EAOR;IACpC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;YACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;SACxF,CAAC,CAAC;QACH,MAAM,OAAO,GAA0B;YACtC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC9B,KAAK,OAAO,CAAC;gBACb,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC;oBACzB,mGAAuD;oBACvD,2DAAmC;oBACnC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;gBAAA,CAC/C,CAAC;gBACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACrD,CAAC;gBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC5E,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvG,CAAC;wBAAS,CAAC;oBACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;YAAA,CACD;YACD,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAAA,CAChC;YACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAA,CACrB;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACrC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;SACvC,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IAAA,CACf,CAAC;AAAA,CACF","sourcesContent":["/**\n * subagent-task 会话工厂(D-045 / pooled 切片增量 2b)。\n *\n * 把真实 AgentSession(`createAgentSession` 产物)适配成 runner server 使用的\n * `SubagentTaskSessionV1`:`prompt()` 的 `PromptOutcome.aborted` 正常终局映射为\n * `{ status: \"aborted\" }`(与本地 SDK child 适配器同一语义来源);signal 中止经\n * `session.abort()` 中断;dispose 释放会话。宿主以结构类型注入会话,本文件不直接\n * 依赖 AgentSession 类,便于测试与解耦。\n */\nimport type { SubagentTaskAppliedProfileV1, SubagentTaskSessionV1 } from \"@agent-forge/protocol/subagent\";\n\n/** 会话宿主最小面(AgentSession 的结构子集)。 */\nexport interface SubagentTaskSessionHostV1 {\n\tprompt(\n\t\ttext: string,\n\t\toptions?: { expandPromptTemplates?: boolean },\n\t): Promise<{ status: \"done\" } | { status: \"aborted\"; reason: string }>;\n\t/** 中断 in-flight 回合;reason 取会话的 TurnAbortReason 词汇(本地 child 路径同样不透传调度器 reason)。 */\n\tabort(reason?: \"interrupted\" | \"replaced\"): Promise<void>;\n\tdispose(): Promise<void>;\n\tgetMessages(): readonly unknown[];\n\tgetSessionId(): string;\n\t/**\n\t * 可选的进度订阅(订阅会话事件);缺省 = 无 progress 事件。\n\t * D-044 §5.6 的进度源就是这里:宿主把会话事件流转成\"回合级 step\"提示。\n\t */\n\tonProgress?: (handler: (message: string) => void) => (() => void) | undefined;\n\t/**\n\t * 可选的叶子会话事实(工具面/模型/模式):带档案的 create 由 server 侧核验,\n\t * 缺失即视为\"无法自证\"并拒绝该 create。\n\t */\n\tfacts?: () => SubagentTaskAppliedProfileV1;\n\t/** 父→子引导(D-060 S5 pooled parity):转发叶子会话自身的 steer 语义;缺省 = 不支持。 */\n\tsteer?: (text: string) => Promise<void>;\n}\n\nexport interface SubagentTaskSessionFactoryOptionsV1 {\n\t/** 每任务新建一个独立会话(runner 内并发承载多个任务);`profile` 为上游档案(可能缺省)。 */\n\tcreateSession(request: {\n\t\tprofile?: unknown;\n\t\tparentSessionId?: string;\n\t\t/** resume 目标(D-060 S5 pooled parity):打开既有会话文件续写而非新建。 */\n\t\tresumeSessionId?: string;\n\t\t/** 回合级血缘:创建子会话的父回合 correlationId,仅 create 新建消费(resume 不适用)。 */\n\t\tparentTraceId?: string;\n\t}): Promise<SubagentTaskSessionHostV1>;\n}\n\nexport function createSubagentTaskSessionFactoryV1(\n\toptions: SubagentTaskSessionFactoryOptionsV1,\n): (request: {\n\tprompt: string;\n\tprofile?: unknown;\n\tparentSessionId?: string;\n\tresumeSessionId?: string;\n\tparentTraceId?: string;\n}) => Promise<SubagentTaskSessionV1> {\n\treturn async (request) => {\n\t\tconst host = await options.createSession({\n\t\t\t...(request.profile === undefined ? {} : { profile: request.profile }),\n\t\t\t...(request.parentSessionId === undefined ? {} : { parentSessionId: request.parentSessionId }),\n\t\t\t...(request.resumeSessionId === undefined ? {} : { resumeSessionId: request.resumeSessionId }),\n\t\t\t...(request.parentTraceId === undefined ? {} : { parentTraceId: request.parentTraceId }),\n\t\t});\n\t\tconst session: SubagentTaskSessionV1 = {\n\t\t\trun: async (prompt, signal) => {\n\t\t\t\tvoid request;\n\t\t\t\tconst abort = (): void => {\n\t\t\t\t\t// 会话侧 reason 词汇受限(interrupted | replaced):调度器的取消原因不透传,\n\t\t\t\t\t// 与本地 SDK child 适配器的 abort() 语义一致。\n\t\t\t\t\tvoid host.abort(\"interrupted\").catch(() => {});\n\t\t\t\t};\n\t\t\t\tif (signal.aborted) {\n\t\t\t\t\tawait abort();\n\t\t\t\t\treturn { status: \"aborted\", reason: \"interrupted\" };\n\t\t\t\t}\n\t\t\t\tsignal.addEventListener(\"abort\", abort, { once: true });\n\t\t\t\ttry {\n\t\t\t\t\tconst outcome = await host.prompt(prompt, { expandPromptTemplates: false });\n\t\t\t\t\treturn outcome.status === \"done\" ? { status: \"done\" } : { status: \"aborted\", reason: outcome.reason };\n\t\t\t\t} finally {\n\t\t\t\t\tsignal.removeEventListener(\"abort\", abort);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel: async () => {\n\t\t\t\tawait host.abort(\"interrupted\");\n\t\t\t},\n\t\t\tdispose: async () => {\n\t\t\t\tawait host.dispose();\n\t\t\t},\n\t\t\tgetMessages: () => host.getMessages(),\n\t\t\tgetSessionId: () => host.getSessionId(),\n\t\t};\n\t\tif (host.onProgress !== undefined) {\n\t\t\tsession.onProgress = (handler) => host.onProgress?.(handler);\n\t\t}\n\t\tif (host.facts !== undefined) {\n\t\t\tsession.facts = () => host.facts?.() ?? {};\n\t\t}\n\t\tif (host.steer !== undefined) {\n\t\t\tsession.steer = (text) => host.steer?.(text) ?? Promise.resolve();\n\t\t}\n\t\treturn session;\n\t};\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Child Agent lifecycle adapter (2.2b).
|
|
3
|
+
*
|
|
4
|
+
* Spawns child agents bound to their parent via the composition's
|
|
5
|
+
* `parentInstanceId`, with cancel/wait and an independently replayable result
|
|
6
|
+
* reference (`childInstanceId` + `revision`). Only the public
|
|
7
|
+
* `AgentCompositionAPI` is consumed.
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentCompositionAPI } from "../core/extensions/public-api.ts";
|
|
10
|
+
export interface ChildAgentResultRefV1 {
|
|
11
|
+
readonly childInstanceId: string;
|
|
12
|
+
readonly revision: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ChildAgentTurnV1<TResult = unknown> {
|
|
15
|
+
readonly childInstanceId: string;
|
|
16
|
+
/** Stable, replayable identity of the turn result. */
|
|
17
|
+
readonly resultRef: () => ChildAgentResultRefV1 | undefined;
|
|
18
|
+
wait(): Promise<{
|
|
19
|
+
readonly status: "succeeded" | "failed" | "cancelled" | "disposed";
|
|
20
|
+
readonly output?: TResult;
|
|
21
|
+
readonly revision: number;
|
|
22
|
+
readonly error?: Error;
|
|
23
|
+
}>;
|
|
24
|
+
cancel(reason?: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export interface ChildAgentFacadeV1<TInput = unknown, TResult = unknown> {
|
|
27
|
+
readonly childDefinitionId: string;
|
|
28
|
+
spawnChild(input: TInput, options?: {
|
|
29
|
+
readonly signal?: AbortSignal;
|
|
30
|
+
}): ChildAgentTurnV1<TResult>;
|
|
31
|
+
}
|
|
32
|
+
export declare function createChildAgentFacade<TInput, TResult = unknown>(options: {
|
|
33
|
+
readonly composition: AgentCompositionAPI;
|
|
34
|
+
readonly parentInstanceId: string;
|
|
35
|
+
readonly childDefinitionId?: string;
|
|
36
|
+
readonly childVersion?: number;
|
|
37
|
+
readonly owner?: string;
|
|
38
|
+
/** The child turn implementation (deterministic in tests). */
|
|
39
|
+
readonly run: (input: TInput, context: {
|
|
40
|
+
readonly parentInstanceId: string;
|
|
41
|
+
readonly signal?: AbortSignal;
|
|
42
|
+
}) => Promise<TResult> | TResult;
|
|
43
|
+
}): ChildAgentFacadeV1<TInput, TResult>;
|
|
44
|
+
//# sourceMappingURL=child-facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-facade.d.ts","sourceRoot":"","sources":["../../src/profile/child-facade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IAClD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,qBAAqB,GAAG,SAAS,CAAC;IAC5D,IAAI,IAAI,OAAO,CAAC;QACf,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACtE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAClG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE;IAC1E,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,CACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KACzE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAChC,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAwDtC","sourcesContent":["/**\n * Child Agent lifecycle adapter (2.2b).\n *\n * Spawns child agents bound to their parent via the composition's\n * `parentInstanceId`, with cancel/wait and an independently replayable result\n * reference (`childInstanceId` + `revision`). Only the public\n * `AgentCompositionAPI` is consumed.\n */\nimport type { AgentCompositionAPI } from \"../core/extensions/public-api.ts\";\n\nexport interface ChildAgentResultRefV1 {\n\treadonly childInstanceId: string;\n\treadonly revision: number;\n}\n\nexport interface ChildAgentTurnV1<TResult = unknown> {\n\treadonly childInstanceId: string;\n\t/** Stable, replayable identity of the turn result. */\n\treadonly resultRef: () => ChildAgentResultRefV1 | undefined;\n\twait(): Promise<{\n\t\treadonly status: \"succeeded\" | \"failed\" | \"cancelled\" | \"disposed\";\n\t\treadonly output?: TResult;\n\t\treadonly revision: number;\n\t\treadonly error?: Error;\n\t}>;\n\tcancel(reason?: string): Promise<void>;\n}\n\nexport interface ChildAgentFacadeV1<TInput = unknown, TResult = unknown> {\n\treadonly childDefinitionId: string;\n\tspawnChild(input: TInput, options?: { readonly signal?: AbortSignal }): ChildAgentTurnV1<TResult>;\n}\n\nexport function createChildAgentFacade<TInput, TResult = unknown>(options: {\n\treadonly composition: AgentCompositionAPI;\n\treadonly parentInstanceId: string;\n\treadonly childDefinitionId?: string;\n\treadonly childVersion?: number;\n\treadonly owner?: string;\n\t/** The child turn implementation (deterministic in tests). */\n\treadonly run: (\n\t\tinput: TInput,\n\t\tcontext: { readonly parentInstanceId: string; readonly signal?: AbortSignal },\n\t) => Promise<TResult> | TResult;\n}): ChildAgentFacadeV1<TInput, TResult> {\n\tconst childDefinitionId = options.childDefinitionId ?? \"child-agent-controller\";\n\tconst owner = options.owner ?? \"parent\";\n\tconst definition = options.composition.define({\n\t\tid: childDefinitionId,\n\t\tversion: options.childVersion ?? 1,\n\t\trole: \"child-agent-controller\",\n\t\trun: (input: TInput, context: { readonly signal?: AbortSignal }) =>\n\t\t\toptions.run(input, { parentInstanceId: options.parentInstanceId, signal: context?.signal }),\n\t});\n\n\treturn {\n\t\tchildDefinitionId,\n\t\tspawnChild(input, spawnOptions): ChildAgentTurnV1<TResult> {\n\t\t\tconst instance = options.composition.create<TInput, TResult>(definition, {\n\t\t\t\tparentInstanceId: options.parentInstanceId,\n\t\t\t});\n\t\t\tconst childInstanceId = instance.id;\n\t\t\tlet settledRevision: number | undefined;\n\t\t\tconst leasePromise = instance.acquireControllerLease(owner);\n\t\t\tconst runPromise = leasePromise.then(async (lease) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst operation = instance.run(input, { lease, signal: spawnOptions?.signal });\n\t\t\t\t\tawait operation.result;\n\t\t\t\t} catch {\n\t\t\t\t\t// run() can reject when the instance was cancelled or disposed\n\t\t\t\t\t// mid-flight; instance.wait() below yields the terminal status.\n\t\t\t\t}\n\t\t\t\tconst instanceResult = await instance.wait();\n\t\t\t\tsettledRevision = instanceResult.revision;\n\t\t\t\tif (lease.isActive()) await lease.release();\n\t\t\t\treturn {\n\t\t\t\t\tstatus: instanceResult.status,\n\t\t\t\t\t...(instanceResult.output !== undefined ? { output: instanceResult.output } : {}),\n\t\t\t\t\t...(instanceResult.error !== undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\terror:\n\t\t\t\t\t\t\t\t\tinstanceResult.error instanceof Error\n\t\t\t\t\t\t\t\t\t\t? instanceResult.error\n\t\t\t\t\t\t\t\t\t\t: new Error(String(instanceResult.error)),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t\trevision: instanceResult.revision,\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tchildInstanceId,\n\t\t\t\tresultRef: () =>\n\t\t\t\t\tsettledRevision === undefined\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: Object.freeze({ childInstanceId, revision: settledRevision }),\n\t\t\t\twait: () => runPromise,\n\t\t\t\tcancel: (reason?: string) => instance.cancel(reason),\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export function createChildAgentFacade(options) {
|
|
2
|
+
const childDefinitionId = options.childDefinitionId ?? "child-agent-controller";
|
|
3
|
+
const owner = options.owner ?? "parent";
|
|
4
|
+
const definition = options.composition.define({
|
|
5
|
+
id: childDefinitionId,
|
|
6
|
+
version: options.childVersion ?? 1,
|
|
7
|
+
role: "child-agent-controller",
|
|
8
|
+
run: (input, context) => options.run(input, { parentInstanceId: options.parentInstanceId, signal: context?.signal }),
|
|
9
|
+
});
|
|
10
|
+
return {
|
|
11
|
+
childDefinitionId,
|
|
12
|
+
spawnChild(input, spawnOptions) {
|
|
13
|
+
const instance = options.composition.create(definition, {
|
|
14
|
+
parentInstanceId: options.parentInstanceId,
|
|
15
|
+
});
|
|
16
|
+
const childInstanceId = instance.id;
|
|
17
|
+
let settledRevision;
|
|
18
|
+
const leasePromise = instance.acquireControllerLease(owner);
|
|
19
|
+
const runPromise = leasePromise.then(async (lease) => {
|
|
20
|
+
try {
|
|
21
|
+
const operation = instance.run(input, { lease, signal: spawnOptions?.signal });
|
|
22
|
+
await operation.result;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// run() can reject when the instance was cancelled or disposed
|
|
26
|
+
// mid-flight; instance.wait() below yields the terminal status.
|
|
27
|
+
}
|
|
28
|
+
const instanceResult = await instance.wait();
|
|
29
|
+
settledRevision = instanceResult.revision;
|
|
30
|
+
if (lease.isActive())
|
|
31
|
+
await lease.release();
|
|
32
|
+
return {
|
|
33
|
+
status: instanceResult.status,
|
|
34
|
+
...(instanceResult.output !== undefined ? { output: instanceResult.output } : {}),
|
|
35
|
+
...(instanceResult.error !== undefined
|
|
36
|
+
? {
|
|
37
|
+
error: instanceResult.error instanceof Error
|
|
38
|
+
? instanceResult.error
|
|
39
|
+
: new Error(String(instanceResult.error)),
|
|
40
|
+
}
|
|
41
|
+
: {}),
|
|
42
|
+
revision: instanceResult.revision,
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
childInstanceId,
|
|
47
|
+
resultRef: () => settledRevision === undefined
|
|
48
|
+
? undefined
|
|
49
|
+
: Object.freeze({ childInstanceId, revision: settledRevision }),
|
|
50
|
+
wait: () => runPromise,
|
|
51
|
+
cancel: (reason) => instance.cancel(reason),
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=child-facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-facade.js","sourceRoot":"","sources":["../../src/profile/child-facade.ts"],"names":[],"mappings":"AAiCA,MAAM,UAAU,sBAAsB,CAA4B,OAWjE,EAAuC;IACvC,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;QAC7C,EAAE,EAAE,iBAAiB;QACrB,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QAClC,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,CAAC,KAAa,EAAE,OAA0C,EAAE,EAAE,CAClE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC5F,CAAC,CAAC;IAEH,OAAO;QACN,iBAAiB;QACjB,UAAU,CAAC,KAAK,EAAE,YAAY,EAA6B;YAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAkB,UAAU,EAAE;gBACxE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC1C,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAE,CAAC;YACpC,IAAI,eAAmC,CAAC;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrD,IAAI,CAAC;oBACJ,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC/E,MAAM,SAAS,CAAC,MAAM,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACR,+DAA+D;oBAC/D,gEAAgE;gBACjE,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7C,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;gBAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAAE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO;oBACN,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,SAAS;wBACrC,CAAC,CAAC;4BACA,KAAK,EACJ,cAAc,CAAC,KAAK,YAAY,KAAK;gCACpC,CAAC,CAAC,cAAc,CAAC,KAAK;gCACtB,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;yBAC3C;wBACF,CAAC,CAAC,EAAE,CAAC;oBACN,QAAQ,EAAE,cAAc,CAAC,QAAQ;iBACjC,CAAC;YAAA,CACF,CAAC,CAAC;YACH,OAAO;gBACN,eAAe;gBACf,SAAS,EAAE,GAAG,EAAE,CACf,eAAe,KAAK,SAAS;oBAC5B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;gBACjE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU;gBACtB,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;aACpD,CAAC;QAAA,CACF;KACD,CAAC;AAAA,CACF","sourcesContent":["/**\n * Child Agent lifecycle adapter (2.2b).\n *\n * Spawns child agents bound to their parent via the composition's\n * `parentInstanceId`, with cancel/wait and an independently replayable result\n * reference (`childInstanceId` + `revision`). Only the public\n * `AgentCompositionAPI` is consumed.\n */\nimport type { AgentCompositionAPI } from \"../core/extensions/public-api.ts\";\n\nexport interface ChildAgentResultRefV1 {\n\treadonly childInstanceId: string;\n\treadonly revision: number;\n}\n\nexport interface ChildAgentTurnV1<TResult = unknown> {\n\treadonly childInstanceId: string;\n\t/** Stable, replayable identity of the turn result. */\n\treadonly resultRef: () => ChildAgentResultRefV1 | undefined;\n\twait(): Promise<{\n\t\treadonly status: \"succeeded\" | \"failed\" | \"cancelled\" | \"disposed\";\n\t\treadonly output?: TResult;\n\t\treadonly revision: number;\n\t\treadonly error?: Error;\n\t}>;\n\tcancel(reason?: string): Promise<void>;\n}\n\nexport interface ChildAgentFacadeV1<TInput = unknown, TResult = unknown> {\n\treadonly childDefinitionId: string;\n\tspawnChild(input: TInput, options?: { readonly signal?: AbortSignal }): ChildAgentTurnV1<TResult>;\n}\n\nexport function createChildAgentFacade<TInput, TResult = unknown>(options: {\n\treadonly composition: AgentCompositionAPI;\n\treadonly parentInstanceId: string;\n\treadonly childDefinitionId?: string;\n\treadonly childVersion?: number;\n\treadonly owner?: string;\n\t/** The child turn implementation (deterministic in tests). */\n\treadonly run: (\n\t\tinput: TInput,\n\t\tcontext: { readonly parentInstanceId: string; readonly signal?: AbortSignal },\n\t) => Promise<TResult> | TResult;\n}): ChildAgentFacadeV1<TInput, TResult> {\n\tconst childDefinitionId = options.childDefinitionId ?? \"child-agent-controller\";\n\tconst owner = options.owner ?? \"parent\";\n\tconst definition = options.composition.define({\n\t\tid: childDefinitionId,\n\t\tversion: options.childVersion ?? 1,\n\t\trole: \"child-agent-controller\",\n\t\trun: (input: TInput, context: { readonly signal?: AbortSignal }) =>\n\t\t\toptions.run(input, { parentInstanceId: options.parentInstanceId, signal: context?.signal }),\n\t});\n\n\treturn {\n\t\tchildDefinitionId,\n\t\tspawnChild(input, spawnOptions): ChildAgentTurnV1<TResult> {\n\t\t\tconst instance = options.composition.create<TInput, TResult>(definition, {\n\t\t\t\tparentInstanceId: options.parentInstanceId,\n\t\t\t});\n\t\t\tconst childInstanceId = instance.id;\n\t\t\tlet settledRevision: number | undefined;\n\t\t\tconst leasePromise = instance.acquireControllerLease(owner);\n\t\t\tconst runPromise = leasePromise.then(async (lease) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst operation = instance.run(input, { lease, signal: spawnOptions?.signal });\n\t\t\t\t\tawait operation.result;\n\t\t\t\t} catch {\n\t\t\t\t\t// run() can reject when the instance was cancelled or disposed\n\t\t\t\t\t// mid-flight; instance.wait() below yields the terminal status.\n\t\t\t\t}\n\t\t\t\tconst instanceResult = await instance.wait();\n\t\t\t\tsettledRevision = instanceResult.revision;\n\t\t\t\tif (lease.isActive()) await lease.release();\n\t\t\t\treturn {\n\t\t\t\t\tstatus: instanceResult.status,\n\t\t\t\t\t...(instanceResult.output !== undefined ? { output: instanceResult.output } : {}),\n\t\t\t\t\t...(instanceResult.error !== undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\terror:\n\t\t\t\t\t\t\t\t\tinstanceResult.error instanceof Error\n\t\t\t\t\t\t\t\t\t\t? instanceResult.error\n\t\t\t\t\t\t\t\t\t\t: new Error(String(instanceResult.error)),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t\trevision: instanceResult.revision,\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tchildInstanceId,\n\t\t\t\tresultRef: () =>\n\t\t\t\t\tsettledRevision === undefined\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: Object.freeze({ childInstanceId, revision: settledRevision }),\n\t\t\t\twait: () => runPromise,\n\t\t\t\tcancel: (reason?: string) => instance.cancel(reason),\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile dependency wiring (2.5a) — resolves every resolved plugin's
|
|
3
|
+
* capability references (Skill/tool/MCP-capability IDs) against the host's
|
|
4
|
+
* available capability registry BEFORE a session is created.
|
|
5
|
+
*
|
|
6
|
+
* Resolution is exact-version: a reference is satisfied only when the
|
|
7
|
+
* registry offers the same capability ID at exactly the requested version.
|
|
8
|
+
* Missing or version-mismatched capabilities produce a structured `missing`
|
|
9
|
+
* result so session creation can fail up front — never a half-wired session.
|
|
10
|
+
* Plugins listed in `disabledPluginIds` are skipped as a whole (their
|
|
11
|
+
* references are reported as `skipped_disabled`), which lets a profile drop
|
|
12
|
+
* a plugin without touching the kernel or the other plugins. The same input
|
|
13
|
+
* always resolves identically.
|
|
14
|
+
*/
|
|
15
|
+
import type { ResolvedPluginManifestV1 } from "./identity.ts";
|
|
16
|
+
export interface AvailableCapabilityV1 {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly version: number;
|
|
19
|
+
}
|
|
20
|
+
export interface WiredCapabilityV1 {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly version: number;
|
|
23
|
+
}
|
|
24
|
+
export interface PluginWiringResultV1 {
|
|
25
|
+
readonly pluginId: string;
|
|
26
|
+
readonly pluginVersion: string;
|
|
27
|
+
readonly status: "wired" | "skipped_disabled";
|
|
28
|
+
readonly wired: readonly WiredCapabilityV1[];
|
|
29
|
+
}
|
|
30
|
+
export interface MissingDependencyV1 {
|
|
31
|
+
readonly pluginId: string;
|
|
32
|
+
readonly capabilityId: string;
|
|
33
|
+
readonly requestedVersion: number;
|
|
34
|
+
/** Undefined when the capability is entirely absent from the registry. */
|
|
35
|
+
readonly availableVersion?: number;
|
|
36
|
+
readonly reason: "missing" | "version_mismatch";
|
|
37
|
+
}
|
|
38
|
+
export interface ProfileDependencyWiringV1 {
|
|
39
|
+
readonly status: "wired" | "missing";
|
|
40
|
+
readonly plugins: readonly PluginWiringResultV1[];
|
|
41
|
+
readonly missing: readonly MissingDependencyV1[];
|
|
42
|
+
}
|
|
43
|
+
export declare function wireProfileDependencies(input: {
|
|
44
|
+
readonly resolvedPlugins: readonly ResolvedPluginManifestV1[];
|
|
45
|
+
readonly availableCapabilities: readonly AvailableCapabilityV1[];
|
|
46
|
+
readonly disabledPluginIds?: readonly string[];
|
|
47
|
+
}): ProfileDependencyWiringV1;
|
|
48
|
+
//# sourceMappingURL=dependency-wiring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-wiring.d.ts","sourceRoot":"","sources":["../../src/profile/dependency-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACjD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9D,QAAQ,CAAC,qBAAqB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACjE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C,GAAG,yBAAyB,CAuD5B","sourcesContent":["/**\n * Profile dependency wiring (2.5a) — resolves every resolved plugin's\n * capability references (Skill/tool/MCP-capability IDs) against the host's\n * available capability registry BEFORE a session is created.\n *\n * Resolution is exact-version: a reference is satisfied only when the\n * registry offers the same capability ID at exactly the requested version.\n * Missing or version-mismatched capabilities produce a structured `missing`\n * result so session creation can fail up front — never a half-wired session.\n * Plugins listed in `disabledPluginIds` are skipped as a whole (their\n * references are reported as `skipped_disabled`), which lets a profile drop\n * a plugin without touching the kernel or the other plugins. The same input\n * always resolves identically.\n */\nimport type { ResolvedPluginManifestV1 } from \"./identity.ts\";\n\nexport interface AvailableCapabilityV1 {\n\treadonly id: string;\n\treadonly version: number;\n}\n\nexport interface WiredCapabilityV1 {\n\treadonly id: string;\n\treadonly version: number;\n}\n\nexport interface PluginWiringResultV1 {\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly status: \"wired\" | \"skipped_disabled\";\n\treadonly wired: readonly WiredCapabilityV1[];\n}\n\nexport interface MissingDependencyV1 {\n\treadonly pluginId: string;\n\treadonly capabilityId: string;\n\treadonly requestedVersion: number;\n\t/** Undefined when the capability is entirely absent from the registry. */\n\treadonly availableVersion?: number;\n\treadonly reason: \"missing\" | \"version_mismatch\";\n}\n\nexport interface ProfileDependencyWiringV1 {\n\treadonly status: \"wired\" | \"missing\";\n\treadonly plugins: readonly PluginWiringResultV1[];\n\treadonly missing: readonly MissingDependencyV1[];\n}\n\nexport function wireProfileDependencies(input: {\n\treadonly resolvedPlugins: readonly ResolvedPluginManifestV1[];\n\treadonly availableCapabilities: readonly AvailableCapabilityV1[];\n\treadonly disabledPluginIds?: readonly string[];\n}): ProfileDependencyWiringV1 {\n\tconst registry = new Map<string, number>();\n\tfor (const capability of input.availableCapabilities) {\n\t\tregistry.set(capability.id, capability.version);\n\t}\n\tconst disabled = new Set(input.disabledPluginIds ?? []);\n\n\tconst plugins: PluginWiringResultV1[] = [];\n\tconst missing: MissingDependencyV1[] = [];\n\n\tfor (const plugin of input.resolvedPlugins) {\n\t\tif (disabled.has(plugin.pluginId)) {\n\t\t\tplugins.push({\n\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\tpluginVersion: plugin.pluginVersion,\n\t\t\t\tstatus: \"skipped_disabled\",\n\t\t\t\twired: [],\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst wired: WiredCapabilityV1[] = [];\n\t\tfor (const reference of plugin.capabilityRefs) {\n\t\t\tconst availableVersion = registry.get(reference.id);\n\t\t\tif (availableVersion === undefined) {\n\t\t\t\tmissing.push({\n\t\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\t\tcapabilityId: reference.id,\n\t\t\t\t\trequestedVersion: reference.version,\n\t\t\t\t\treason: \"missing\",\n\t\t\t\t});\n\t\t\t} else if (availableVersion !== reference.version) {\n\t\t\t\tmissing.push({\n\t\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\t\tcapabilityId: reference.id,\n\t\t\t\t\trequestedVersion: reference.version,\n\t\t\t\t\tavailableVersion,\n\t\t\t\t\treason: \"version_mismatch\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\twired.push({ id: reference.id, version: reference.version });\n\t\t\t}\n\t\t}\n\t\tplugins.push({\n\t\t\tpluginId: plugin.pluginId,\n\t\t\tpluginVersion: plugin.pluginVersion,\n\t\t\tstatus: \"wired\",\n\t\t\twired,\n\t\t});\n\t}\n\n\treturn {\n\t\tstatus: missing.length > 0 ? \"missing\" : \"wired\",\n\t\tplugins,\n\t\tmissing,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export function wireProfileDependencies(input) {
|
|
2
|
+
const registry = new Map();
|
|
3
|
+
for (const capability of input.availableCapabilities) {
|
|
4
|
+
registry.set(capability.id, capability.version);
|
|
5
|
+
}
|
|
6
|
+
const disabled = new Set(input.disabledPluginIds ?? []);
|
|
7
|
+
const plugins = [];
|
|
8
|
+
const missing = [];
|
|
9
|
+
for (const plugin of input.resolvedPlugins) {
|
|
10
|
+
if (disabled.has(plugin.pluginId)) {
|
|
11
|
+
plugins.push({
|
|
12
|
+
pluginId: plugin.pluginId,
|
|
13
|
+
pluginVersion: plugin.pluginVersion,
|
|
14
|
+
status: "skipped_disabled",
|
|
15
|
+
wired: [],
|
|
16
|
+
});
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const wired = [];
|
|
20
|
+
for (const reference of plugin.capabilityRefs) {
|
|
21
|
+
const availableVersion = registry.get(reference.id);
|
|
22
|
+
if (availableVersion === undefined) {
|
|
23
|
+
missing.push({
|
|
24
|
+
pluginId: plugin.pluginId,
|
|
25
|
+
capabilityId: reference.id,
|
|
26
|
+
requestedVersion: reference.version,
|
|
27
|
+
reason: "missing",
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (availableVersion !== reference.version) {
|
|
31
|
+
missing.push({
|
|
32
|
+
pluginId: plugin.pluginId,
|
|
33
|
+
capabilityId: reference.id,
|
|
34
|
+
requestedVersion: reference.version,
|
|
35
|
+
availableVersion,
|
|
36
|
+
reason: "version_mismatch",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
wired.push({ id: reference.id, version: reference.version });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
plugins.push({
|
|
44
|
+
pluginId: plugin.pluginId,
|
|
45
|
+
pluginVersion: plugin.pluginVersion,
|
|
46
|
+
status: "wired",
|
|
47
|
+
wired,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
status: missing.length > 0 ? "missing" : "wired",
|
|
52
|
+
plugins,
|
|
53
|
+
missing,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=dependency-wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-wiring.js","sourceRoot":"","sources":["../../src/profile/dependency-wiring.ts"],"names":[],"mappings":"AAgDA,MAAM,UAAU,uBAAuB,CAAC,KAIvC,EAA6B;IAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACtD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,EAAE;aACT,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QACD,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,SAAS,CAAC,EAAE;oBAC1B,gBAAgB,EAAE,SAAS,CAAC,OAAO;oBACnC,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,gBAAgB,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,SAAS,CAAC,EAAE;oBAC1B,gBAAgB,EAAE,SAAS,CAAC,OAAO;oBACnC,gBAAgB;oBAChB,MAAM,EAAE,kBAAkB;iBAC1B,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,OAAO;YACf,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QAChD,OAAO;QACP,OAAO;KACP,CAAC;AAAA,CACF","sourcesContent":["/**\n * Profile dependency wiring (2.5a) — resolves every resolved plugin's\n * capability references (Skill/tool/MCP-capability IDs) against the host's\n * available capability registry BEFORE a session is created.\n *\n * Resolution is exact-version: a reference is satisfied only when the\n * registry offers the same capability ID at exactly the requested version.\n * Missing or version-mismatched capabilities produce a structured `missing`\n * result so session creation can fail up front — never a half-wired session.\n * Plugins listed in `disabledPluginIds` are skipped as a whole (their\n * references are reported as `skipped_disabled`), which lets a profile drop\n * a plugin without touching the kernel or the other plugins. The same input\n * always resolves identically.\n */\nimport type { ResolvedPluginManifestV1 } from \"./identity.ts\";\n\nexport interface AvailableCapabilityV1 {\n\treadonly id: string;\n\treadonly version: number;\n}\n\nexport interface WiredCapabilityV1 {\n\treadonly id: string;\n\treadonly version: number;\n}\n\nexport interface PluginWiringResultV1 {\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly status: \"wired\" | \"skipped_disabled\";\n\treadonly wired: readonly WiredCapabilityV1[];\n}\n\nexport interface MissingDependencyV1 {\n\treadonly pluginId: string;\n\treadonly capabilityId: string;\n\treadonly requestedVersion: number;\n\t/** Undefined when the capability is entirely absent from the registry. */\n\treadonly availableVersion?: number;\n\treadonly reason: \"missing\" | \"version_mismatch\";\n}\n\nexport interface ProfileDependencyWiringV1 {\n\treadonly status: \"wired\" | \"missing\";\n\treadonly plugins: readonly PluginWiringResultV1[];\n\treadonly missing: readonly MissingDependencyV1[];\n}\n\nexport function wireProfileDependencies(input: {\n\treadonly resolvedPlugins: readonly ResolvedPluginManifestV1[];\n\treadonly availableCapabilities: readonly AvailableCapabilityV1[];\n\treadonly disabledPluginIds?: readonly string[];\n}): ProfileDependencyWiringV1 {\n\tconst registry = new Map<string, number>();\n\tfor (const capability of input.availableCapabilities) {\n\t\tregistry.set(capability.id, capability.version);\n\t}\n\tconst disabled = new Set(input.disabledPluginIds ?? []);\n\n\tconst plugins: PluginWiringResultV1[] = [];\n\tconst missing: MissingDependencyV1[] = [];\n\n\tfor (const plugin of input.resolvedPlugins) {\n\t\tif (disabled.has(plugin.pluginId)) {\n\t\t\tplugins.push({\n\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\tpluginVersion: plugin.pluginVersion,\n\t\t\t\tstatus: \"skipped_disabled\",\n\t\t\t\twired: [],\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst wired: WiredCapabilityV1[] = [];\n\t\tfor (const reference of plugin.capabilityRefs) {\n\t\t\tconst availableVersion = registry.get(reference.id);\n\t\t\tif (availableVersion === undefined) {\n\t\t\t\tmissing.push({\n\t\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\t\tcapabilityId: reference.id,\n\t\t\t\t\trequestedVersion: reference.version,\n\t\t\t\t\treason: \"missing\",\n\t\t\t\t});\n\t\t\t} else if (availableVersion !== reference.version) {\n\t\t\t\tmissing.push({\n\t\t\t\t\tpluginId: plugin.pluginId,\n\t\t\t\t\tcapabilityId: reference.id,\n\t\t\t\t\trequestedVersion: reference.version,\n\t\t\t\t\tavailableVersion,\n\t\t\t\t\treason: \"version_mismatch\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\twired.push({ id: reference.id, version: reference.version });\n\t\t\t}\n\t\t}\n\t\tplugins.push({\n\t\t\tpluginId: plugin.pluginId,\n\t\t\tpluginVersion: plugin.pluginVersion,\n\t\t\tstatus: \"wired\",\n\t\t\twired,\n\t\t});\n\t}\n\n\treturn {\n\t\tstatus: missing.length > 0 ? \"missing\" : \"wired\",\n\t\tplugins,\n\t\tmissing,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain recovery for branches and restarts (5.2a/5.2b).
|
|
3
|
+
*
|
|
4
|
+
* Branch recovery (5.2a): plans are bound to a branch via the 2.3c plugin;
|
|
5
|
+
* recovering a session on branch B must touch ONLY plans whose branch is B
|
|
6
|
+
* — other-branch plans stay ledgered but are reported as skipped and never
|
|
7
|
+
* written to. Restart recovery (5.2b): replaying a domain's history into a
|
|
8
|
+
* fresh store restores revision, evidence, and terminal state exactly; the
|
|
9
|
+
* recovery report records the before/after facts so a restart is auditable.
|
|
10
|
+
* Multi-Agent scheduling is out of scope.
|
|
11
|
+
*/
|
|
12
|
+
import type { GoalPluginV1, GoalV1 } from "./goal-plugin.ts";
|
|
13
|
+
import type { PlanPluginV1, PlanV1 } from "./plan-plugin.ts";
|
|
14
|
+
import type { TodoPluginV1, TodoV1 } from "./todo-plugin.ts";
|
|
15
|
+
export interface PlanBranchRecoveryEntryV1 {
|
|
16
|
+
readonly planId: string;
|
|
17
|
+
readonly outcome: "recovered" | "terminal_kept" | "skipped_other_branch";
|
|
18
|
+
readonly branch: string;
|
|
19
|
+
readonly statusBefore: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PlanBranchRecoveryReportV1 {
|
|
22
|
+
readonly currentBranch: string;
|
|
23
|
+
readonly entries: readonly PlanBranchRecoveryEntryV1[];
|
|
24
|
+
}
|
|
25
|
+
export interface DomainRestartRecordV1 {
|
|
26
|
+
readonly domain: "goal" | "plan" | "todo";
|
|
27
|
+
readonly entityId: string;
|
|
28
|
+
readonly statusAfter: string;
|
|
29
|
+
readonly revisionAfter: number;
|
|
30
|
+
readonly evidenceCount: number;
|
|
31
|
+
readonly terminal: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface DomainRestartReportV1 {
|
|
34
|
+
readonly records: readonly DomainRestartRecordV1[];
|
|
35
|
+
/** True when every restored entity matches the state it had before the restart. */
|
|
36
|
+
readonly identical: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 5.2a — recovers plans for the current branch. Plans on other branches are
|
|
40
|
+
* reported and left untouched (no scans, no writes). Terminal plans on the
|
|
41
|
+
* current branch are kept as-is; draft/active plans are recovered through
|
|
42
|
+
* the plugin's own ledger-derived state (no shadow writes).
|
|
43
|
+
*/
|
|
44
|
+
export declare function recoverPlansForBranch(plans: readonly PlanV1[], currentBranch: string): PlanBranchRecoveryReportV1;
|
|
45
|
+
/**
|
|
46
|
+
* 5.2b — restores goal/plan/todo state after a restart by replaying each
|
|
47
|
+
* entity's history into a fresh store (the caller performs the replay via
|
|
48
|
+
* the plugin attached to the rebuilt store) and comparing against the
|
|
49
|
+
* pre-restart snapshots.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildRestartReport(snapshots: {
|
|
52
|
+
readonly goal?: readonly GoalV1[];
|
|
53
|
+
readonly plan?: readonly PlanV1[];
|
|
54
|
+
readonly todo?: readonly TodoV1[];
|
|
55
|
+
}, restored: {
|
|
56
|
+
readonly goals: GoalPluginV1;
|
|
57
|
+
readonly plans: PlanPluginV1;
|
|
58
|
+
readonly todos: TodoPluginV1;
|
|
59
|
+
}, owner: string): DomainRestartReportV1;
|
|
60
|
+
//# sourceMappingURL=domain-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-recovery.d.ts","sourceRoot":"","sources":["../../src/profile/domain-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,sBAAsB,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5B;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,0BAA0B,CAmBjH;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,EAAE;IACV,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,EACD,QAAQ,EAAE;IACT,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC7B,EACD,KAAK,EAAE,MAAM,GACX,qBAAqB,CA4FvB","sourcesContent":["/**\n * Domain recovery for branches and restarts (5.2a/5.2b).\n *\n * Branch recovery (5.2a): plans are bound to a branch via the 2.3c plugin;\n * recovering a session on branch B must touch ONLY plans whose branch is B\n * — other-branch plans stay ledgered but are reported as skipped and never\n * written to. Restart recovery (5.2b): replaying a domain's history into a\n * fresh store restores revision, evidence, and terminal state exactly; the\n * recovery report records the before/after facts so a restart is auditable.\n * Multi-Agent scheduling is out of scope.\n */\nimport type { GoalPluginV1, GoalV1 } from \"./goal-plugin.ts\";\nimport type { PlanPluginV1, PlanV1 } from \"./plan-plugin.ts\";\nimport type { TodoPluginV1, TodoV1 } from \"./todo-plugin.ts\";\n\nexport interface PlanBranchRecoveryEntryV1 {\n\treadonly planId: string;\n\treadonly outcome: \"recovered\" | \"terminal_kept\" | \"skipped_other_branch\";\n\treadonly branch: string;\n\treadonly statusBefore: string;\n}\n\nexport interface PlanBranchRecoveryReportV1 {\n\treadonly currentBranch: string;\n\treadonly entries: readonly PlanBranchRecoveryEntryV1[];\n}\n\nexport interface DomainRestartRecordV1 {\n\treadonly domain: \"goal\" | \"plan\" | \"todo\";\n\treadonly entityId: string;\n\treadonly statusAfter: string;\n\treadonly revisionAfter: number;\n\treadonly evidenceCount: number;\n\treadonly terminal: boolean;\n}\n\nexport interface DomainRestartReportV1 {\n\treadonly records: readonly DomainRestartRecordV1[];\n\t/** True when every restored entity matches the state it had before the restart. */\n\treadonly identical: boolean;\n}\n\nconst GOAL_TERMINAL = new Set([\"achieved\", \"archived\"]);\nconst PLAN_TERMINAL = new Set([\"completed\", \"discarded\"]);\nconst TODO_TERMINAL = new Set([\"completed\", \"cancelled\"]);\n\n/**\n * 5.2a — recovers plans for the current branch. Plans on other branches are\n * reported and left untouched (no scans, no writes). Terminal plans on the\n * current branch are kept as-is; draft/active plans are recovered through\n * the plugin's own ledger-derived state (no shadow writes).\n */\nexport function recoverPlansForBranch(plans: readonly PlanV1[], currentBranch: string): PlanBranchRecoveryReportV1 {\n\tconst entries = plans.map((plan): PlanBranchRecoveryEntryV1 => {\n\t\tconst terminal = PLAN_TERMINAL.has(plan.status);\n\t\tif (plan.branch !== currentBranch) {\n\t\t\treturn {\n\t\t\t\tplanId: plan.planId,\n\t\t\t\toutcome: \"skipped_other_branch\",\n\t\t\t\tbranch: plan.branch,\n\t\t\t\tstatusBefore: plan.status,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tplanId: plan.planId,\n\t\t\toutcome: terminal ? \"terminal_kept\" : \"recovered\",\n\t\t\tbranch: plan.branch,\n\t\t\tstatusBefore: plan.status,\n\t\t};\n\t});\n\treturn { currentBranch, entries: Object.freeze(entries) };\n}\n\n/**\n * 5.2b — restores goal/plan/todo state after a restart by replaying each\n * entity's history into a fresh store (the caller performs the replay via\n * the plugin attached to the rebuilt store) and comparing against the\n * pre-restart snapshots.\n */\nexport function buildRestartReport(\n\tsnapshots: {\n\t\treadonly goal?: readonly GoalV1[];\n\t\treadonly plan?: readonly PlanV1[];\n\t\treadonly todo?: readonly TodoV1[];\n\t},\n\trestored: {\n\t\treadonly goals: GoalPluginV1;\n\t\treadonly plans: PlanPluginV1;\n\t\treadonly todos: TodoPluginV1;\n\t},\n\towner: string,\n): DomainRestartReportV1 {\n\tconst records: DomainRestartRecordV1[] = [];\n\tlet identical = true;\n\tconst compare = (\n\t\tdomain: \"goal\" | \"plan\" | \"todo\",\n\t\tentityId: string,\n\t\tstatusAfter: string,\n\t\trevisionAfter: number,\n\t\tevidenceCount: number,\n\t\tterminal: boolean,\n\t\tstatusBefore: string,\n\t\trevisionBefore: number,\n\t): void => {\n\t\tif (statusAfter !== statusBefore || revisionAfter !== revisionBefore) identical = false;\n\t\trecords.push({ domain, entityId, statusAfter, revisionAfter, evidenceCount, terminal });\n\t};\n\tfor (const goal of snapshots.goal ?? []) {\n\t\tconst after = restored.goals.get(goal.goalId, owner);\n\t\tif (!after) {\n\t\t\tidentical = false;\n\t\t\trecords.push({\n\t\t\t\tdomain: \"goal\",\n\t\t\t\tentityId: goal.goalId,\n\t\t\t\tstatusAfter: \"missing\",\n\t\t\t\trevisionAfter: 0,\n\t\t\t\tevidenceCount: 0,\n\t\t\t\tterminal: false,\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tcompare(\n\t\t\t\"goal\",\n\t\t\tgoal.goalId,\n\t\t\tafter.status,\n\t\t\tafter.revision,\n\t\t\tafter.evidence.length,\n\t\t\tGOAL_TERMINAL.has(after.status),\n\t\t\tgoal.status,\n\t\t\tgoal.revision,\n\t\t);\n\t}\n\tfor (const plan of snapshots.plan ?? []) {\n\t\tconst after = restored.plans.get(plan.planId, owner);\n\t\tif (!after) {\n\t\t\tidentical = false;\n\t\t\trecords.push({\n\t\t\t\tdomain: \"plan\",\n\t\t\t\tentityId: plan.planId,\n\t\t\t\tstatusAfter: \"missing\",\n\t\t\t\trevisionAfter: 0,\n\t\t\t\tevidenceCount: 0,\n\t\t\t\tterminal: false,\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tcompare(\n\t\t\t\"plan\",\n\t\t\tplan.planId,\n\t\t\tafter.status,\n\t\t\tafter.revisionNo,\n\t\t\tafter.evidence.length,\n\t\t\tPLAN_TERMINAL.has(after.status),\n\t\t\tplan.status,\n\t\t\tplan.revisionNo,\n\t\t);\n\t}\n\tfor (const todo of snapshots.todo ?? []) {\n\t\tconst after = restored.todos.get(todo.todoId, owner);\n\t\tif (!after) {\n\t\t\tidentical = false;\n\t\t\trecords.push({\n\t\t\t\tdomain: \"todo\",\n\t\t\t\tentityId: todo.todoId,\n\t\t\t\tstatusAfter: \"missing\",\n\t\t\t\trevisionAfter: 0,\n\t\t\t\tevidenceCount: 0,\n\t\t\t\tterminal: false,\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tcompare(\n\t\t\t\"todo\",\n\t\t\ttodo.todoId,\n\t\t\tafter.status,\n\t\t\tafter.revision,\n\t\t\tafter.evidence.length,\n\t\t\tTODO_TERMINAL.has(after.status),\n\t\t\ttodo.status,\n\t\t\ttodo.revision,\n\t\t);\n\t}\n\treturn { records: Object.freeze(records), identical };\n}\n"]}
|