@try-works/dsh-tool-mode 0.0.0-stage → 0.5.44
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/README.md +299 -2
- package/bin/dsh-tool-mode-credentials.mjs +20 -0
- package/bin/dsh-tool-mode-mcp-stdio.mjs +80 -0
- package/bin/dsh-tool-mode.mjs +211 -0
- package/builtins.lock.json +26 -0
- package/catalog/desert-ant-models.json +693 -0
- package/catalog/playbooks.json +531 -0
- package/client/client.model-tools.js +1910 -0
- package/client/index.js +4039 -0
- package/cordis.patch.yml +39 -0
- package/lib/adapters/index.d.ts +61 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +82 -0
- package/lib/adapters/types.d.ts +106 -0
- package/lib/adapters/types.d.ts.map +1 -0
- package/lib/adapters/types.js +85 -0
- package/lib/approval.d.ts +189 -0
- package/lib/approval.d.ts.map +1 -0
- package/lib/approval.js +510 -0
- package/lib/asset-acquisition.d.ts +149 -0
- package/lib/asset-acquisition.d.ts.map +1 -0
- package/lib/asset-acquisition.js +175 -0
- package/lib/authority.d.ts +185 -0
- package/lib/authority.d.ts.map +1 -0
- package/lib/authority.js +223 -0
- package/lib/bindings.d.ts +144 -0
- package/lib/bindings.d.ts.map +1 -0
- package/lib/bindings.js +314 -0
- package/lib/builtins.d.ts +27 -0
- package/lib/builtins.d.ts.map +1 -0
- package/lib/builtins.js +37 -0
- package/lib/capability.d.ts +58 -0
- package/lib/capability.d.ts.map +1 -0
- package/lib/capability.js +192 -0
- package/lib/capture-path.d.ts +97 -0
- package/lib/capture-path.d.ts.map +1 -0
- package/lib/capture-path.js +152 -0
- package/lib/catalog.d.ts +37 -0
- package/lib/catalog.d.ts.map +1 -0
- package/lib/catalog.js +274 -0
- package/lib/contract-payload.d.ts +39 -0
- package/lib/contract-payload.d.ts.map +1 -0
- package/lib/contract-payload.js +56 -0
- package/lib/custom-tools/compile.d.ts +25 -0
- package/lib/custom-tools/compile.d.ts.map +1 -0
- package/lib/custom-tools/compile.js +61 -0
- package/lib/custom-tools/composite-executor.d.ts +42 -0
- package/lib/custom-tools/composite-executor.d.ts.map +1 -0
- package/lib/custom-tools/composite-executor.js +113 -0
- package/lib/custom-tools/dispatch.d.ts +28 -0
- package/lib/custom-tools/dispatch.d.ts.map +1 -0
- package/lib/custom-tools/dispatch.js +34 -0
- package/lib/custom-tools/http-executor.d.ts +48 -0
- package/lib/custom-tools/http-executor.d.ts.map +1 -0
- package/lib/custom-tools/http-executor.js +241 -0
- package/lib/custom-tools/index.d.ts +12 -0
- package/lib/custom-tools/index.d.ts.map +1 -0
- package/lib/custom-tools/index.js +12 -0
- package/lib/custom-tools/mcp-surface.d.ts +14 -0
- package/lib/custom-tools/mcp-surface.d.ts.map +1 -0
- package/lib/custom-tools/mcp-surface.js +41 -0
- package/lib/custom-tools/prompt-executor.d.ts +39 -0
- package/lib/custom-tools/prompt-executor.d.ts.map +1 -0
- package/lib/custom-tools/prompt-executor.js +59 -0
- package/lib/custom-tools/registry.d.ts +69 -0
- package/lib/custom-tools/registry.d.ts.map +1 -0
- package/lib/custom-tools/registry.js +130 -0
- package/lib/custom-tools/schema.d.ts +26 -0
- package/lib/custom-tools/schema.d.ts.map +1 -0
- package/lib/custom-tools/schema.js +375 -0
- package/lib/custom-tools/service.d.ts +90 -0
- package/lib/custom-tools/service.d.ts.map +1 -0
- package/lib/custom-tools/service.js +203 -0
- package/lib/custom-tools/store.d.ts +61 -0
- package/lib/custom-tools/store.d.ts.map +1 -0
- package/lib/custom-tools/store.js +240 -0
- package/lib/custom-tools/types.d.ts +131 -0
- package/lib/custom-tools/types.d.ts.map +1 -0
- package/lib/custom-tools/types.js +11 -0
- package/lib/decision-combine.d.ts +113 -0
- package/lib/decision-combine.d.ts.map +1 -0
- package/lib/decision-combine.js +156 -0
- package/lib/decision-evaluate.d.ts +185 -0
- package/lib/decision-evaluate.d.ts.map +1 -0
- package/lib/decision-evaluate.js +227 -0
- package/lib/deployment-coordinator.d.ts +213 -0
- package/lib/deployment-coordinator.d.ts.map +1 -0
- package/lib/deployment-coordinator.js +274 -0
- package/lib/diagnostics.d.ts +169 -0
- package/lib/diagnostics.d.ts.map +1 -0
- package/lib/diagnostics.js +136 -0
- package/lib/discovery-contracts.d.ts +14 -0
- package/lib/discovery-contracts.d.ts.map +1 -0
- package/lib/discovery-contracts.js +90 -0
- package/lib/discovery-describe.d.ts +35 -0
- package/lib/discovery-describe.d.ts.map +1 -0
- package/lib/discovery-describe.js +99 -0
- package/lib/embedding-index.d.ts +55 -0
- package/lib/embedding-index.d.ts.map +1 -0
- package/lib/embedding-index.js +126 -0
- package/lib/extension-dependencies.d.ts +355 -0
- package/lib/extension-dependencies.d.ts.map +1 -0
- package/lib/extension-dependencies.js +987 -0
- package/lib/extension-dispatch.d.ts +150 -0
- package/lib/extension-dispatch.d.ts.map +1 -0
- package/lib/extension-dispatch.js +178 -0
- package/lib/extension-page-state.d.ts +69 -0
- package/lib/extension-page-state.d.ts.map +1 -0
- package/lib/extension-page-state.js +82 -0
- package/lib/extension-registrar.d.ts +116 -0
- package/lib/extension-registrar.d.ts.map +1 -0
- package/lib/extension-registrar.js +144 -0
- package/lib/extensions-api.d.ts +346 -0
- package/lib/extensions-api.d.ts.map +1 -0
- package/lib/extensions-api.js +17 -0
- package/lib/extensions-remote.d.ts +57 -0
- package/lib/extensions-remote.d.ts.map +1 -0
- package/lib/extensions-remote.js +69 -0
- package/lib/extensions-service.d.ts +568 -0
- package/lib/extensions-service.d.ts.map +1 -0
- package/lib/extensions-service.js +2507 -0
- package/lib/harness-budgets.d.ts +158 -0
- package/lib/harness-budgets.d.ts.map +1 -0
- package/lib/harness-budgets.js +152 -0
- package/lib/harness-llm.d.ts +138 -0
- package/lib/harness-llm.d.ts.map +1 -0
- package/lib/harness-llm.js +218 -0
- package/lib/harness-serving.d.ts +115 -0
- package/lib/harness-serving.d.ts.map +1 -0
- package/lib/harness-serving.js +176 -0
- package/lib/headless.d.ts +97 -0
- package/lib/headless.d.ts.map +1 -0
- package/lib/headless.js +407 -0
- package/lib/http-acquisition.d.ts +27 -0
- package/lib/http-acquisition.d.ts.map +1 -0
- package/lib/http-acquisition.js +140 -0
- package/lib/index.d.ts +546 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5197 -0
- package/lib/invocation-accounting.d.ts +169 -0
- package/lib/invocation-accounting.d.ts.map +1 -0
- package/lib/invocation-accounting.js +148 -0
- package/lib/jev.d.ts +218 -0
- package/lib/jev.d.ts.map +1 -0
- package/lib/jev.js +366 -0
- package/lib/legacy-migration.d.ts +95 -0
- package/lib/legacy-migration.d.ts.map +1 -0
- package/lib/legacy-migration.js +429 -0
- package/lib/license-basis.d.ts +29 -0
- package/lib/license-basis.d.ts.map +1 -0
- package/lib/license-basis.js +58 -0
- package/lib/managed-workers.d.ts +158 -0
- package/lib/managed-workers.d.ts.map +1 -0
- package/lib/managed-workers.js +269 -0
- package/lib/mcp/auth-selection.d.ts +35 -0
- package/lib/mcp/auth-selection.d.ts.map +1 -0
- package/lib/mcp/auth-selection.js +64 -0
- package/lib/mcp/client-grant.d.ts +89 -0
- package/lib/mcp/client-grant.d.ts.map +1 -0
- package/lib/mcp/client-grant.js +63 -0
- package/lib/mcp/credential-cli.d.ts +38 -0
- package/lib/mcp/credential-cli.d.ts.map +1 -0
- package/lib/mcp/credential-cli.js +148 -0
- package/lib/mcp/credential-store.d.ts +143 -0
- package/lib/mcp/credential-store.d.ts.map +1 -0
- package/lib/mcp/credential-store.js +461 -0
- package/lib/mcp/export-policy.d.ts +25 -0
- package/lib/mcp/export-policy.d.ts.map +1 -0
- package/lib/mcp/export-policy.js +31 -0
- package/lib/mcp/host-binding.d.ts +144 -0
- package/lib/mcp/host-binding.d.ts.map +1 -0
- package/lib/mcp/host-binding.js +280 -0
- package/lib/mcp/http.d.ts +180 -0
- package/lib/mcp/http.d.ts.map +1 -0
- package/lib/mcp/http.js +602 -0
- package/lib/mcp/oauth.d.ts +149 -0
- package/lib/mcp/oauth.d.ts.map +1 -0
- package/lib/mcp/oauth.js +396 -0
- package/lib/mcp/protocol.d.ts +329 -0
- package/lib/mcp/protocol.d.ts.map +1 -0
- package/lib/mcp/protocol.js +459 -0
- package/lib/mcp/rate-limit.d.ts +68 -0
- package/lib/mcp/rate-limit.d.ts.map +1 -0
- package/lib/mcp/rate-limit.js +114 -0
- package/lib/mcp/sdk-v2.d.ts +17 -0
- package/lib/mcp/sdk-v2.d.ts.map +1 -0
- package/lib/mcp/sdk-v2.js +204 -0
- package/lib/mcp/server.d.ts +149 -0
- package/lib/mcp/server.d.ts.map +1 -0
- package/lib/mcp/server.js +302 -0
- package/lib/mcp/stdio.d.ts +80 -0
- package/lib/mcp/stdio.d.ts.map +1 -0
- package/lib/mcp/stdio.js +184 -0
- package/lib/mcp/subscriptions.d.ts +177 -0
- package/lib/mcp/subscriptions.d.ts.map +1 -0
- package/lib/mcp/subscriptions.js +288 -0
- package/lib/mcp-status.d.ts +96 -0
- package/lib/mcp-status.d.ts.map +1 -0
- package/lib/mcp-status.js +70 -0
- package/lib/mcp-usage.d.ts +110 -0
- package/lib/mcp-usage.d.ts.map +1 -0
- package/lib/mcp-usage.js +189 -0
- package/lib/model-qualification.d.ts +192 -0
- package/lib/model-qualification.d.ts.map +1 -0
- package/lib/model-qualification.js +178 -0
- package/lib/planning.d.ts +256 -0
- package/lib/planning.d.ts.map +1 -0
- package/lib/planning.js +471 -0
- package/lib/playbook.d.ts +42 -0
- package/lib/playbook.d.ts.map +1 -0
- package/lib/playbook.js +65 -0
- package/lib/prepared-assets.d.ts +269 -0
- package/lib/prepared-assets.d.ts.map +1 -0
- package/lib/prepared-assets.js +471 -0
- package/lib/provider-bridge.d.ts +107 -0
- package/lib/provider-bridge.d.ts.map +1 -0
- package/lib/provider-bridge.js +423 -0
- package/lib/ptc-authority.d.ts +154 -0
- package/lib/ptc-authority.d.ts.map +1 -0
- package/lib/ptc-authority.js +242 -0
- package/lib/ptc-confinement.d.ts +60 -0
- package/lib/ptc-confinement.d.ts.map +1 -0
- package/lib/ptc-confinement.js +212 -0
- package/lib/ptc-runtime.d.ts +166 -0
- package/lib/ptc-runtime.d.ts.map +1 -0
- package/lib/ptc-runtime.js +231 -0
- package/lib/publication.d.ts +161 -0
- package/lib/publication.d.ts.map +1 -0
- package/lib/publication.js +181 -0
- package/lib/receipt-store.d.ts +57 -0
- package/lib/receipt-store.d.ts.map +1 -0
- package/lib/receipt-store.js +143 -0
- package/lib/receipt.d.ts +231 -0
- package/lib/receipt.d.ts.map +1 -0
- package/lib/receipt.js +165 -0
- package/lib/registrar.d.ts +75 -0
- package/lib/registrar.d.ts.map +1 -0
- package/lib/registrar.js +152 -0
- package/lib/resource-governance.d.ts +204 -0
- package/lib/resource-governance.d.ts.map +1 -0
- package/lib/resource-governance.js +213 -0
- package/lib/server-lifecycle.d.ts +175 -0
- package/lib/server-lifecycle.d.ts.map +1 -0
- package/lib/server-lifecycle.js +269 -0
- package/lib/skills.d.ts +31 -0
- package/lib/skills.d.ts.map +1 -0
- package/lib/skills.js +170 -0
- package/lib/speech-bridge.d.ts +74 -0
- package/lib/speech-bridge.d.ts.map +1 -0
- package/lib/speech-bridge.js +115 -0
- package/lib/state.d.ts +100 -0
- package/lib/state.d.ts.map +1 -0
- package/lib/state.js +160 -0
- package/lib/title-proposal.d.ts +194 -0
- package/lib/title-proposal.d.ts.map +1 -0
- package/lib/title-proposal.js +244 -0
- package/lib/tool-inventory.d.ts +90 -0
- package/lib/tool-inventory.d.ts.map +1 -0
- package/lib/tool-inventory.js +102 -0
- package/lib/tool-mode-run.d.ts +310 -0
- package/lib/tool-mode-run.d.ts.map +1 -0
- package/lib/tool-mode-run.js +411 -0
- package/lib/tool-sources.d.ts +80 -0
- package/lib/tool-sources.d.ts.map +1 -0
- package/lib/tool-sources.js +123 -0
- package/lib/tool-usage-projection.d.ts +390 -0
- package/lib/tool-usage-projection.d.ts.map +1 -0
- package/lib/tool-usage-projection.js +1038 -0
- package/lib/tool-usage-report.d.ts +153 -0
- package/lib/tool-usage-report.d.ts.map +1 -0
- package/lib/tool-usage-report.js +274 -0
- package/lib/transport.d.ts +158 -0
- package/lib/transport.d.ts.map +1 -0
- package/lib/transport.js +332 -0
- package/lib/types.d.ts +134 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +8 -0
- package/lib/update-surface.d.ts +79 -0
- package/lib/update-surface.d.ts.map +1 -0
- package/lib/update-surface.js +224 -0
- package/lib/version.d.ts +3 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +27 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.d.ts +13 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.js +85 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.d.ts +16 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.js +87 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts +38 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.js +445 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.d.ts +20 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.js +112 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts +14 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.js +63 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts +14 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.js +76 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/dsh.d.ts +82 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/dsh.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/dsh.js +274 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts +26 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/index.js +53 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/meta.d.ts +133 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/meta.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/meta.js +64 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts +121 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-contracts/lib/registry.js +246 -0
- package/node_modules/@try-works/tool-mode-contracts/package.json +35 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/bin/dsh-tool-mode.mjs +20 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts +80 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.js +533 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts +86 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.js +145 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts +70 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.js +201 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts +57 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.js +83 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts +33 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.js +33 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts +86 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.js +191 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts +137 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.js +349 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts +274 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.js +932 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts +210 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.js +368 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts +63 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.js +149 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts +35 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.js +179 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts +179 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.js +299 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts +395 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.js +839 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.d.ts +44 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.js +255 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts +185 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.js +504 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts +17 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.js +80 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.d.ts +221 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.js +188 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts +52 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.js +102 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts +171 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.js +271 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts +242 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.js +58 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts +128 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.js +113 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.d.ts +41 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.js +52 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts +2 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.js +351 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts +157 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.js +688 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/package.json +54 -0
- package/node_modules/@try-works/tool-mode-extension-sdk/schema/extension-manifest-1.1.0.schema.json +253 -0
- package/node_modules/@try-works/tool-mode-recipes/bin/tool-mode-recipe.mjs +15 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts +460 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/broker.js +647 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts +61 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/cli.js +1106 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts +237 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.js +205 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts +85 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.js +176 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts +119 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/images.js +201 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts +25 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/index.js +25 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts +345 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.js +1465 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts +51 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/templates.js +310 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts +231 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts.map +1 -0
- package/node_modules/@try-works/tool-mode-recipes/lib/titles.js +435 -0
- package/node_modules/@try-works/tool-mode-recipes/package.json +56 -0
- package/node_modules/@try-works/tool-mode-recipes/recipes/describe-image.json +38 -0
- package/node_modules/@try-works/tool-mode-recipes/recipes/text-title.json +45 -0
- package/node_modules/@try-works/tool-mode-recipes/schema/harness-model-recipe.schema.json +273 -0
- package/package.json +127 -4
- package/remote/spec.mjs +993 -0
- package/remote/typert.host.mjs +14 -0
- package/remote/typert.remote-client.mjs +16 -0
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The HOST half of the extension-management surface (Settings → Model as Tool).
|
|
3
|
+
*
|
|
4
|
+
* This module implements {@link ModelToolsRemote} from `extensions-api.ts` and is
|
|
5
|
+
* deliberately WIRE-AGNOSTIC: it imports `node:*` and the published SDK, never DSH,
|
|
6
|
+
* never the client page, and never the generated Typert artifact. That boundary is
|
|
7
|
+
* what lets the same implementation be exercised by unit tests without a Context,
|
|
8
|
+
* by the plugin at `apply`, and by whatever transports the browser half uses.
|
|
9
|
+
*
|
|
10
|
+
* The governing rule is TRUTHFULNESS over convenience, because every field here is
|
|
11
|
+
* shown to an operator who is about to change what code their host runs:
|
|
12
|
+
*
|
|
13
|
+
* - `store` is `null` when no extension store is configured, rather than an empty
|
|
14
|
+
* string that a caller could mistake for a mounted store.
|
|
15
|
+
* - `writable` is derived from a real access check on the store path and from the
|
|
16
|
+
* store lock being readable, not assumed from "the config mentions a directory".
|
|
17
|
+
* - `installed` means a record exists in the store lock; `active` means the
|
|
18
|
+
* persisted observation was made by THIS process; `integrity` is `unknown` when
|
|
19
|
+
* the installed bytes could not be digested, never `unchanged` by default.
|
|
20
|
+
* - `reason` names the FIRST condition that prevents install/activation, so a UI
|
|
21
|
+
* can show why an extension is not usable instead of guessing.
|
|
22
|
+
*
|
|
23
|
+
* INSTALLATION IS NOT ACTIVATION (EXT-07): `install` returns `active: false` and
|
|
24
|
+
* never calls the lifecycle. `enable`/`disable` are the only activation paths.
|
|
25
|
+
*
|
|
26
|
+
* FIRST-PARTY DEPENDENCIES (EXT-09): a source-directory install also supplies the
|
|
27
|
+
* SDK's dependency graph (`extension-dependencies.ts`), which resolves every
|
|
28
|
+
* declared runtime dependency from the host's own installed tree and refuses the
|
|
29
|
+
* install by name when one is missing. With the operator's preinstalled-content
|
|
30
|
+
* gate on, the resolved directory is copied by the SDK and recorded with
|
|
31
|
+
* `provenance: 'preinstalled'`; with it off (the default), the dependency is served
|
|
32
|
+
* as verified archive bytes and EXT-10's lifecycle-script refusal applies.
|
|
33
|
+
*
|
|
34
|
+
* PERSISTENCE, STATED HONESTLY:
|
|
35
|
+
*
|
|
36
|
+
* - Activation intent is durable through the SDK: `ExtensionLifecycle.activate`
|
|
37
|
+
* writes `desiredActivation: 'active'` and `deactivate` writes `'inactive'` into
|
|
38
|
+
* the profile state document, so a restart follows the operator's last toggle
|
|
39
|
+
* even when nothing else persists.
|
|
40
|
+
* - The operator's `disabledExtensions` list is a CONFIG value (Settings form). This
|
|
41
|
+
* service cannot write plugin config from the host: no config writer is injected.
|
|
42
|
+
* It therefore keeps this process's toggles as an in-memory override, seeded from
|
|
43
|
+
* `disabledExtensions`, and exposes `persistDisabledExtensions` as the seam a host
|
|
44
|
+
* with a config writer supplies. Without that seam, a toggle is truthfully
|
|
45
|
+
* reported as affecting this process only, and a `disable` survives restart via
|
|
46
|
+
* the SDK's durable `desiredActivation: 'inactive'` while an `enable` of an id
|
|
47
|
+
* still listed in config will be filtered by the restore gate on the next load.
|
|
48
|
+
*
|
|
49
|
+
* @module @try-works/dsh-tool-mode/extensions-service
|
|
50
|
+
*/
|
|
51
|
+
import { ExtensionStore, stagedInstallFromDirectory, type ExtensionLifecycle, type InstallDependencyGraph, type InstalledRecord, type LifecycleAuditEvent } from '@try-works/tool-mode-extension-sdk';
|
|
52
|
+
import type { ExtensionInstallResult, ExtensionPrepareResult, ExtensionToggleResult, ExtensionToolToggleResult, ExtensionUninstallResult, ExtensionsDescribeResult, ModelToolsRemote } from './extensions-api.ts';
|
|
53
|
+
import { type ApprovalDecision, type ApprovalRecord, type ApprovalRequestInput, type ApprovalStore } from './approval.ts';
|
|
54
|
+
import type { AcquisitionSource } from './asset-acquisition.ts';
|
|
55
|
+
import { type PrepareAssetsSurface } from './prepared-assets.ts';
|
|
56
|
+
/**
|
|
57
|
+
* The default dependency-graph depth bound for BOTH install arms (task-116).
|
|
58
|
+
*
|
|
59
|
+
* The SDK default (3) is too shallow for real trees. Preinstalled packages are
|
|
60
|
+
* NOT leaves for graph purposes: after copying one, the SDK reads that package's
|
|
61
|
+
* own declared dependencies and enqueues them one level deeper, so a host-tree
|
|
62
|
+
* graph is walked exactly like a registry graph. The real onnxruntime-node tree
|
|
63
|
+
* reaches `define-data-property` at depth 4 and
|
|
64
|
+
* `onnxruntime-node -> global-agent -> globalthis -> define-properties ->
|
|
65
|
+
* has-property-descriptors -> es-define-property` at depth 5, so the bound is a
|
|
66
|
+
* property of the graph, not of the arm that supplied its bytes. The package
|
|
67
|
+
* count is a separate bound (see {@link DEFAULT_REGISTRY_DEPENDENCY_PACKAGES}).
|
|
68
|
+
*/
|
|
69
|
+
export declare const DEFAULT_REGISTRY_DEPENDENCY_DEPTH = 12;
|
|
70
|
+
/**
|
|
71
|
+
* The default dependency-graph PACKAGE bound for BOTH install arms.
|
|
72
|
+
*
|
|
73
|
+
* The SDK default (64) is too small for the real engine trees: the
|
|
74
|
+
* `@huggingface/transformers` route (with sharp, protobufjs and the platform
|
|
75
|
+
* binaries) and both minilm packages exceeded it, refusing an install that every
|
|
76
|
+
* other bound would have admitted. Raising the cap does not loosen resolution —
|
|
77
|
+
* every node still has to come from operator-completed host content or verified
|
|
78
|
+
* registry bytes — and the depth bound still shapes the graph.
|
|
79
|
+
*/
|
|
80
|
+
export declare const DEFAULT_REGISTRY_DEPENDENCY_PACKAGES = 256;
|
|
81
|
+
/**
|
|
82
|
+
* Exact dependency versions whose published tarballs ship their runtime
|
|
83
|
+
* artifacts and whose lifecycle scripts are not needed to run.
|
|
84
|
+
*
|
|
85
|
+
* These are admitted on the registry arm WITHOUT executing a lifecycle script.
|
|
86
|
+
* The package bytes are still integrity-verified and the package.json is left
|
|
87
|
+
* untouched. A version not listed here keeps EXT-10's refusal. This is a
|
|
88
|
+
* deliberately narrow prebuilt-content allowlist, not a script-execution gate.
|
|
89
|
+
*/
|
|
90
|
+
export declare const DEFAULT_TRUSTED_PREBUILT_DEPENDENCIES: readonly string[];
|
|
91
|
+
/**
|
|
92
|
+
* Record that a restart refused an installed extension because its bytes changed.
|
|
93
|
+
*
|
|
94
|
+
* A restore that only LOGS the integrity failure leaves the previous profile row
|
|
95
|
+
* saying `active`, reserving the extension's tool names while nothing is published.
|
|
96
|
+
* This writes the truthful state first: failed, no tools.
|
|
97
|
+
*/
|
|
98
|
+
export declare function recordRestoreIntegrityFailure(store: ExtensionStore, extensionId: string): void;
|
|
99
|
+
/** What the host can report about the shared harness model provider (declarative extensions). */
|
|
100
|
+
export interface HarnessProviderStatus {
|
|
101
|
+
/** Whether a provider is composed and able to serve declarative extensions. */
|
|
102
|
+
readonly available: boolean;
|
|
103
|
+
/** Provider identity when available, for the satisfied reason. */
|
|
104
|
+
readonly provider?: string;
|
|
105
|
+
/** Model identity the provider serves, when known. */
|
|
106
|
+
readonly model?: string;
|
|
107
|
+
/**
|
|
108
|
+
* REQUIRED when `available` is false: why not, and the exact remediation.
|
|
109
|
+
*
|
|
110
|
+
* Used VERBATIM as the harness-model requirement reason (and the enable preflight
|
|
111
|
+
* message), so it must be operator-facing and name the configuration that fixes it.
|
|
112
|
+
*/
|
|
113
|
+
readonly reason?: string;
|
|
114
|
+
/** What clears it; defaults to `config`. */
|
|
115
|
+
readonly action?: 'config' | 'none';
|
|
116
|
+
}
|
|
117
|
+
/** The lifecycle surface this service needs. Narrower than the class, so a test can double it. */
|
|
118
|
+
export type ExtensionActivation = Pick<ExtensionLifecycle, 'stateOf' | 'activate' | 'deactivate' | 'uninstall' | 'setToolEnabled'>;
|
|
119
|
+
/** The directory installer signature the service delegates to. */
|
|
120
|
+
export type DirectoryInstaller = (options: Parameters<typeof stagedInstallFromDirectory>[0]) => ReturnType<typeof stagedInstallFromDirectory>;
|
|
121
|
+
/** Every named refusal this service raises. */
|
|
122
|
+
export type ExtensionsServiceErrorCode =
|
|
123
|
+
/** `install`/`enable`/`disable` need `config.extensionStore`; it is not configured. */
|
|
124
|
+
'extension-store-unconfigured'
|
|
125
|
+
/** A live-host uninstall of an ACTIVE extension must name `deactivate` explicitly. */
|
|
126
|
+
| 'extension-in-use'
|
|
127
|
+
/** `install` had no explicit source and `config.extensionSourceDir` is not configured. */
|
|
128
|
+
| 'extension-source-unconfigured'
|
|
129
|
+
/** The resolved source directory does not exist, or is not a directory. */
|
|
130
|
+
| 'extension-source-missing'
|
|
131
|
+
/** The requested id is not a usable package identity (a path could escape the source root). */
|
|
132
|
+
| 'extension-id-invalid'
|
|
133
|
+
/** The source package's own name is not the id that was requested. */
|
|
134
|
+
| 'extension-source-mismatch'
|
|
135
|
+
/** The source directory does not contain a discoverable extension package. */
|
|
136
|
+
| 'extension-source-invalid'
|
|
137
|
+
/** Source-directory installs are developer mode and must be allowed by configuration. */
|
|
138
|
+
| 'extension-source-directories-not-allowed'
|
|
139
|
+
/** The integrity digest of the source or the installed copy could not be computed. */
|
|
140
|
+
| 'extension-digest-unavailable'
|
|
141
|
+
/** The SDK installer refused or failed; its own named error is carried in the message. */
|
|
142
|
+
| 'extension-install-failed'
|
|
143
|
+
/** A declared runtime dependency could not be resolved, verified or materialized. */
|
|
144
|
+
| 'extension-dependency-unsatisfied'
|
|
145
|
+
/** The extension has no installed record in the store, so it cannot be activated. */
|
|
146
|
+
| 'extension-not-installed'
|
|
147
|
+
/** The store lock or the profile state document is unreadable, so activation state cannot be trusted. */
|
|
148
|
+
| 'extension-store-unreadable'
|
|
149
|
+
/** The host mounted no lifecycle (no store at load), so activation state cannot change. */
|
|
150
|
+
| 'extension-activation-unavailable'
|
|
151
|
+
/** `activate` refused or failed; the SDK's named error is carried in the message. */
|
|
152
|
+
| 'extension-activation-failed'
|
|
153
|
+
/** Activation is refused because a declared model's assets were never prepared. */
|
|
154
|
+
| 'extension-preparation-required'
|
|
155
|
+
/** The host mounted no prepared-assets surface, so assets cannot be prepared here. */
|
|
156
|
+
| 'extension-preparation-unavailable'
|
|
157
|
+
/** The preparation plan could not be resolved or its readiness could not be recorded. */
|
|
158
|
+
| 'extension-preparation-failed'
|
|
159
|
+
/** A prerequisite the deployment cannot satisfy blocks activation before any lifecycle call. */
|
|
160
|
+
| 'extension-requirement-unmet'
|
|
161
|
+
/** The extension's optional tool runtime is not installed, so its tools cannot load. */
|
|
162
|
+
| 'extension-runtime-unavailable'
|
|
163
|
+
/** The asset lock declares no transferable location; preparation is not possible here. */
|
|
164
|
+
| 'extension-asset-source-unavailable'
|
|
165
|
+
/** Registry mode was selected but no registry URL is configured. */
|
|
166
|
+
| 'extension-registry-unconfigured'
|
|
167
|
+
/** The registry has no such package, version, or dist-tag (HTTP 404 / no matching version). */
|
|
168
|
+
| 'extension-registry-not-found'
|
|
169
|
+
/** The registry metadata has no sha512 `dist.integrity`; unverified bytes are never installed. */
|
|
170
|
+
| 'extension-registry-integrity-missing'
|
|
171
|
+
/** The registry metadata or tarball URL does not have the shape this host can verify. */
|
|
172
|
+
| 'extension-registry-invalid-metadata'
|
|
173
|
+
/** The tarball could not be downloaded, or exceeds the configured byte cap. */
|
|
174
|
+
| 'extension-registry-fetch-failed'
|
|
175
|
+
/** Transport failure or 5xx: the registry did not answer usefully. */
|
|
176
|
+
| 'extension-registry-unavailable'
|
|
177
|
+
/** The fetched tarball does not hash to the registry-declared sha512. */
|
|
178
|
+
| 'extension-registry-integrity-mismatch'
|
|
179
|
+
/** A URL source must carry a pinned `#sha512-...` integrity fragment. */
|
|
180
|
+
| 'extension-url-integrity-required'
|
|
181
|
+
/** The URL tarball could not be fetched, redirected safely, or stayed within bounds. */
|
|
182
|
+
| 'extension-url-fetch-failed'
|
|
183
|
+
/** The URL tarball does not hash to the pinned fragment. */
|
|
184
|
+
| 'extension-url-integrity-mismatch'
|
|
185
|
+
/** `deactivate` refused or failed; the SDK's named error is carried in the message. */
|
|
186
|
+
| 'extension-deactivation-failed'
|
|
187
|
+
/** The host's disabled-list writer rejected the new list after the action landed. */
|
|
188
|
+
| 'extension-override-persist-failed'
|
|
189
|
+
/** SEC-09: the mutation needs an explicit operator approval (requested, approved and committed). */
|
|
190
|
+
| 'extension-approval-required';
|
|
191
|
+
/**
|
|
192
|
+
* A named refusal from the extension-management surface.
|
|
193
|
+
*
|
|
194
|
+
* The `code` is stable and machine-readable; the message is operator-facing and
|
|
195
|
+
* names the concrete condition (path, SDK code, or identity) rather than a generic
|
|
196
|
+
* "failed", because the Settings page shows it verbatim.
|
|
197
|
+
*/
|
|
198
|
+
export declare class ExtensionsServiceError extends Error {
|
|
199
|
+
readonly name = "ExtensionsServiceError";
|
|
200
|
+
readonly code: ExtensionsServiceErrorCode;
|
|
201
|
+
constructor(code: ExtensionsServiceErrorCode, message: string, options?: ErrorOptions);
|
|
202
|
+
}
|
|
203
|
+
/** The host's disabled-list store. `list` is read live; `set` is called after a toggle. */
|
|
204
|
+
export interface ExtensionsServiceOptions {
|
|
205
|
+
/** `config.extensionStore`; empty means no extension store is configured. */
|
|
206
|
+
readonly storeDir?: string;
|
|
207
|
+
/**
|
|
208
|
+
* `config.extensionSourceDir`: the directory that holds first-party package
|
|
209
|
+
* checkouts, one directory per package. Empty means no source directory.
|
|
210
|
+
*/
|
|
211
|
+
readonly sourceDir?: string;
|
|
212
|
+
/**
|
|
213
|
+
* `config.extensions.allowSourceDirectories`: the explicit developer-mode gate.
|
|
214
|
+
* Absent/false refuses every directory install with a named error.
|
|
215
|
+
*/
|
|
216
|
+
readonly allowSourceDirectories?: boolean;
|
|
217
|
+
/** The lifecycle profile; defaults to `default`, the profile the host restores. */
|
|
218
|
+
readonly profile?: string;
|
|
219
|
+
/** Read `config.disabledExtensions` live. */
|
|
220
|
+
readonly disabledExtensions?: () => readonly string[];
|
|
221
|
+
/**
|
|
222
|
+
* Persist the effective disabled list. The host's implementation must arrange for
|
|
223
|
+
* `disabledExtensions()` to return the same list afterwards; a rejection is
|
|
224
|
+
* surfaced as `extension-override-persist-failed`.
|
|
225
|
+
*/
|
|
226
|
+
readonly persistDisabledExtensions?: (ids: readonly string[]) => void | Promise<void>;
|
|
227
|
+
/**
|
|
228
|
+
* The mounted lifecycle, read lazily. Absent means the host mounted none, and
|
|
229
|
+
* `enable`/`disable` refuse with `extension-activation-unavailable` instead of
|
|
230
|
+
* pretending the durable state changed.
|
|
231
|
+
*/
|
|
232
|
+
readonly lifecycle?: () => ExtensionActivation | undefined;
|
|
233
|
+
/**
|
|
234
|
+
* SEC-09: the approval state machine, read lazily.
|
|
235
|
+
*
|
|
236
|
+
* When mounted, a management-sensitive mutation (currently extension ACTIVATION)
|
|
237
|
+
* requires an explicit operator decision: `enable` records a PENDING request and
|
|
238
|
+
* refuses, and the mutation happens only through `commitApproval`, which consumes
|
|
239
|
+
* the approval exactly once. Absent means the composition carries an operator
|
|
240
|
+
* pre-approval path and the direct calls keep their existing behavior — a
|
|
241
|
+
* documented compatibility path, not a silent bypass: a host that mounts this seam
|
|
242
|
+
* cannot mutate without a committed approval.
|
|
243
|
+
*/
|
|
244
|
+
readonly approvals?: () => ApprovalStore | undefined;
|
|
245
|
+
/**
|
|
246
|
+
* Why the startup asset walk could not rebuild an extension's prepared handles, if
|
|
247
|
+
* it could not. The host writes this from its restore pass; the row must not show
|
|
248
|
+
* "needs its model assets prepared" with no explanation when the REAL reason is a
|
|
249
|
+
* cache file that is absent or a different size. Absent means the walk succeeded or
|
|
250
|
+
* never ran for that extension.
|
|
251
|
+
*/
|
|
252
|
+
readonly assetRestoreDiagnostic?: (extensionId: string) => string | undefined;
|
|
253
|
+
/** Declare that this host cannot write the store (read-only mount). */
|
|
254
|
+
readonly readOnly?: boolean;
|
|
255
|
+
/** Receive install/prepare lifecycle outcomes (EXT-35); activate/deactivate/uninstall come from the SDK. */
|
|
256
|
+
readonly onAudit?: (event: LifecycleAuditEvent) => void;
|
|
257
|
+
/**
|
|
258
|
+
* How an install without an explicit source directory is sourced.
|
|
259
|
+
*
|
|
260
|
+
* - `registry` (and `auto`, the default) resolve the package from the npm registry.
|
|
261
|
+
* - `directory` keeps the developer-mode source-directory path.
|
|
262
|
+
* - `auto` additionally falls back to the directory ONLY for a TRANSPORT-level
|
|
263
|
+
* registry failure (unreachable/timeout/5xx) and only when
|
|
264
|
+
* `allowSourceDirectories` is on; a package-level refusal (404, missing
|
|
265
|
+
* integrity, bad tarball, digest mismatch) is always named and never retried
|
|
266
|
+
* against a local directory.
|
|
267
|
+
*/
|
|
268
|
+
readonly installSource?: 'registry' | 'directory' | 'auto';
|
|
269
|
+
/** The npm registry base URL; defaults to the public npm registry. */
|
|
270
|
+
readonly registryUrl?: string;
|
|
271
|
+
/** Hard cap on one registry package tarball; defaults to the SDK archive bound (256 MiB). */
|
|
272
|
+
readonly registryTarballMaxBytes?: number;
|
|
273
|
+
/** Packument/metadata timeout in ms. Defaults to 30 s; slow registries may raise it. */
|
|
274
|
+
readonly registryMetadataTimeoutMs?: number;
|
|
275
|
+
/**
|
|
276
|
+
* IDLE timeout for one registry tarball download, in ms; defaults to 10 minutes.
|
|
277
|
+
*
|
|
278
|
+
* Separate from the short metadata timeout: onnxruntime-node is hundreds of MB,
|
|
279
|
+
* and a moving transfer must not be aborted by the packument budget. Aborts only
|
|
280
|
+
* when NO bytes arrive for this long; the byte cap remains the real bound.
|
|
281
|
+
*/
|
|
282
|
+
readonly registryTarballTimeoutMs?: number;
|
|
283
|
+
/**
|
|
284
|
+
* Dependency-graph depth bound for BOTH install arms; defaults to
|
|
285
|
+
* {@link DEFAULT_REGISTRY_DEPENDENCY_DEPTH} (12). Configurable because real
|
|
286
|
+
* dependency trees vary; a refusal names the level and the package. The name is
|
|
287
|
+
* historical: the source-directory arm needs the bound too, because the SDK
|
|
288
|
+
* walks a preinstalled package's declared dependencies exactly like registry
|
|
289
|
+
* bytes.
|
|
290
|
+
*/
|
|
291
|
+
readonly registryDependencyDepth?: number;
|
|
292
|
+
/**
|
|
293
|
+
* Dependency-graph PACKAGE bound for BOTH install arms; defaults to
|
|
294
|
+
* {@link DEFAULT_REGISTRY_DEPENDENCY_PACKAGES} (256). The depth bound decides
|
|
295
|
+
* how deep the graph may go; this decides how WIDE it may become.
|
|
296
|
+
*/
|
|
297
|
+
readonly registryDependencyPackages?: number;
|
|
298
|
+
/** INTERNAL TEST SEAM: the directory installer, defaulting to the SDK's staged path. */
|
|
299
|
+
readonly installDirectory?: DirectoryInstaller;
|
|
300
|
+
/** INTERNAL TEST SEAM: the content digest, defaulting to the SDK's installed-content digest. */
|
|
301
|
+
readonly digestContent?: (directory: string) => string;
|
|
302
|
+
/**
|
|
303
|
+
* INTERNAL TEST SEAM: the dependency graph for a first-party source checkout.
|
|
304
|
+
*
|
|
305
|
+
* The default resolves each declared dependency from the host's own installed
|
|
306
|
+
* tree (`extension-dependencies.ts`) and refuses the install, by name, when one
|
|
307
|
+
* is not installed or is inadmissible. The graph is part of the same
|
|
308
|
+
* developer-mode source-directory gate; it is never consulted for anything else.
|
|
309
|
+
*/
|
|
310
|
+
readonly dependencyGraph?: (sourcePackageDir: string) => InstallDependencyGraph;
|
|
311
|
+
/**
|
|
312
|
+
* Operator gate for PREINSTALLED dependency content (task-84); DEFAULT OFF.
|
|
313
|
+
*
|
|
314
|
+
* When on, a dependency resolved from the host's installed tree is copied by the
|
|
315
|
+
* SDK into the extension's own install directory and recorded with
|
|
316
|
+
* `provenance: 'preinstalled'` — the content arrived from an operator-completed
|
|
317
|
+
* install and this installer ran no lifecycle script. When off, the bytes arm
|
|
318
|
+
* applies and EXT-10's script refusal is unchanged. Requires
|
|
319
|
+
* {@link ExtensionsServiceOptions.preinstalledDependenciesRoot}.
|
|
320
|
+
*/
|
|
321
|
+
readonly allowPreinstalledDependencies?: boolean;
|
|
322
|
+
/** The operator-configured root preinstalled dependency directories must live under. */
|
|
323
|
+
readonly preinstalledDependenciesRoot?: string;
|
|
324
|
+
/**
|
|
325
|
+
* Exact `name@version` packages whose published tarball ships prebuilt runtime
|
|
326
|
+
* artifacts. Their lifecycle-script declarations are admitted but NEVER run.
|
|
327
|
+
* Defaults to {@link DEFAULT_TRUSTED_PREBUILT_DEPENDENCIES}; an empty array
|
|
328
|
+
* restores the strict EXT-10 refusal for every package.
|
|
329
|
+
*/
|
|
330
|
+
readonly trustedPrebuiltDependencies?: readonly string[];
|
|
331
|
+
/**
|
|
332
|
+
* The mounted prepared-assets surface, read lazily (the plugin constructs it in
|
|
333
|
+
* `apply` after this service). Absent means the host mounted no asset surface,
|
|
334
|
+
* and `prepare` refuses with `extension-preparation-unavailable`.
|
|
335
|
+
*/
|
|
336
|
+
readonly prepareSurface?: () => PrepareAssetsSurface | undefined;
|
|
337
|
+
/**
|
|
338
|
+
* The acquisition source a preparation uses. Defaults to the real ranged HTTP
|
|
339
|
+
* source; a test injects a local source and the suite therefore performs no
|
|
340
|
+
* network.
|
|
341
|
+
*/
|
|
342
|
+
readonly preparationSource?: () => AcquisitionSource;
|
|
343
|
+
/**
|
|
344
|
+
* Read the operator's STANDING RES-02 approval for executable assets.
|
|
345
|
+
*
|
|
346
|
+
* DEFAULT FALSE. When false, `prepare` passes `allowExecutable: false` and the
|
|
347
|
+
* prepared-assets registry returns its exact refusal without acquiring anything.
|
|
348
|
+
* When the operator explicitly configured the approval, that is the standing
|
|
349
|
+
* consent for the digest-pinned plans this host resolves; the management channel
|
|
350
|
+
* (`extensions-prepare`) still takes its own PER-CALL flag and is unaffected.
|
|
351
|
+
*/
|
|
352
|
+
readonly allowExecutablePreparation?: () => boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Read the host's harness-model provider status (task-93 seam).
|
|
355
|
+
*
|
|
356
|
+
* Consulted only for `execution.kind === 'declarative'` extensions, which are
|
|
357
|
+
* served by the host's harness broker and therefore need a composed LlmProvider.
|
|
358
|
+
* Absent means the host cannot answer; the harness-model requirement is then
|
|
359
|
+
* reported unsatisfied with an honest "provider status unknown" reason.
|
|
360
|
+
*/
|
|
361
|
+
readonly harnessProviderStatus?: () => HarnessProviderStatus | undefined;
|
|
362
|
+
/**
|
|
363
|
+
* Notified when this service changes an extension's activation intent.
|
|
364
|
+
*
|
|
365
|
+
* The host's contribution registrar refuses to publish a tool for an extension
|
|
366
|
+
* absent from its activated set, so a runtime `enable` must admit the id BEFORE
|
|
367
|
+
* the lifecycle publishes and revoke it when activation fails or the extension is
|
|
368
|
+
* disabled. The host implementations may reconcile against the lifecycle state.
|
|
369
|
+
*/
|
|
370
|
+
readonly onActivationChange?: (extensionId: string, active: boolean) => void;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* The directory a first-party checkout for one package identity occupies.
|
|
374
|
+
*
|
|
375
|
+
* A source directory holds PACKAGE DIRECTORIES, not scoped directories: the
|
|
376
|
+
* workspace layout is `packages/extension-laya`, whose package name is
|
|
377
|
+
* `@try-works/extension-laya`. The scope is therefore dropped and the final path
|
|
378
|
+
* segment is used, which is the only mapping that requires no registry lookup.
|
|
379
|
+
* @param extensionId - the extension identity, which equals its package name.
|
|
380
|
+
* @returns the directory name under the configured source directory.
|
|
381
|
+
*/
|
|
382
|
+
export declare function packageDirFor(extensionId: string): string;
|
|
383
|
+
/**
|
|
384
|
+
* Select the current installed record for one identity.
|
|
385
|
+
*
|
|
386
|
+
* The EXT-30 active-version pointer wins when it names an installed version; a
|
|
387
|
+
* store without pointers (the pre-update world) uses the last recorded version,
|
|
388
|
+
* which is the order `recordInstall` appends in.
|
|
389
|
+
* @param records - every installed record.
|
|
390
|
+
* @param activeVersions - the EXT-30 pointer map.
|
|
391
|
+
* @param extensionId - the identity to select.
|
|
392
|
+
* @returns the selected record, or undefined when nothing is installed for the id.
|
|
393
|
+
*/
|
|
394
|
+
export declare function selectInstalled(records: readonly InstalledRecord[], activeVersions: Readonly<Record<string, string>>, extensionId: string): InstalledRecord | undefined;
|
|
395
|
+
/**
|
|
396
|
+
* The extension-management service: describe, install, enable, disable.
|
|
397
|
+
*
|
|
398
|
+
* Construct one per host and share it between the wire transport and any local
|
|
399
|
+
* surface; it owns the in-process override list and must not be duplicated, or two
|
|
400
|
+
* instances would report different disabled sets.
|
|
401
|
+
*/
|
|
402
|
+
export declare class ExtensionsService implements ModelToolsRemote {
|
|
403
|
+
#private;
|
|
404
|
+
constructor(options?: ExtensionsServiceOptions);
|
|
405
|
+
/**
|
|
406
|
+
* Read the current state of the extension surface.
|
|
407
|
+
*
|
|
408
|
+
* Every row is derived from the store, the profile state and the source
|
|
409
|
+
* directory; nothing is cached between calls, so a page that re-reads after an
|
|
410
|
+
* action sees the committed result.
|
|
411
|
+
* @param signal - cancellation.
|
|
412
|
+
* @returns the store/source configuration and one row per known extension.
|
|
413
|
+
*/
|
|
414
|
+
describe(signal?: AbortSignal): Promise<ExtensionsDescribeResult>;
|
|
415
|
+
/**
|
|
416
|
+
* Describe identity, state and tools WITHOUT digesting installed bytes.
|
|
417
|
+
*
|
|
418
|
+
* The Tool Insights inventory and owner attribution do not render integrity;
|
|
419
|
+
* on a deployment with multi-GB extension trees the digest pass otherwise
|
|
420
|
+
* stalls the Remote gateway for every inventory read.
|
|
421
|
+
* @param signal - cancellation.
|
|
422
|
+
* @returns the same row shape, with integrity reported as `unknown`.
|
|
423
|
+
*/
|
|
424
|
+
describeFast(signal?: AbortSignal): Promise<ExtensionsDescribeResult>;
|
|
425
|
+
/**
|
|
426
|
+
* Install one extension, choosing the route from the operator configuration.
|
|
427
|
+
*
|
|
428
|
+
* - An EXPLICIT `source` path is always a developer-mode directory install (the
|
|
429
|
+
* existing source-directory gate and refusals apply).
|
|
430
|
+
* - Otherwise `installSource` decides. `registry` resolves `id@latest` from the
|
|
431
|
+
* npm registry. `directory` uses the configured source directory. `auto` (the
|
|
432
|
+
* default) prefers the registry and falls back to the directory ONLY for a
|
|
433
|
+
* transport-level registry failure (unreachable/timeout/5xx) when directory
|
|
434
|
+
* installs are allowed — a package-level refusal (404, missing integrity, bad
|
|
435
|
+
* tarball, digest mismatch) is always named and never retried locally.
|
|
436
|
+
*
|
|
437
|
+
* INSTALLATION IS NOT ACTIVATION: the result is always `active: false`, and it
|
|
438
|
+
* names the route that actually supplied the bytes.
|
|
439
|
+
* @param extensionId - the package identity to install.
|
|
440
|
+
* @param source - an explicit source directory (developer override), or absent.
|
|
441
|
+
* @param signal - cancellation.
|
|
442
|
+
* @returns the installed identity, version and route.
|
|
443
|
+
* @throws ExtensionsServiceError for every refusal and failure.
|
|
444
|
+
*/
|
|
445
|
+
install(extensionId: string, source?: string, signal?: AbortSignal): Promise<ExtensionInstallResult>;
|
|
446
|
+
/**
|
|
447
|
+
* Whether a hostname is a local/private/metadata destination (EXT-11).
|
|
448
|
+
*
|
|
449
|
+
* A caller-supplied source URL is itself explicit authorization for that destination.
|
|
450
|
+
* A REDIRECT from a public source into one of these ranges is not: it would turn an
|
|
451
|
+
* approved public URL into a local-network or cloud-metadata fetch.
|
|
452
|
+
* @param hostname - the URL hostname.
|
|
453
|
+
* @returns true for loopback, RFC1918, link-local, ULA and metadata hosts.
|
|
454
|
+
*/
|
|
455
|
+
static isPrivateDestination(hostname: string): boolean;
|
|
456
|
+
/**
|
|
457
|
+
* Activate an installed extension and clear its disabled override.
|
|
458
|
+
*
|
|
459
|
+
* Activation runs through the mounted lifecycle, which verifies the installed
|
|
460
|
+
* bytes, publishes the contributions and persists `desiredActivation: 'active'`.
|
|
461
|
+
* The disabled list is updated only after activation succeeds, so a refused
|
|
462
|
+
* activation does not leave the operator's override claiming a state change that
|
|
463
|
+
* did not happen.
|
|
464
|
+
*
|
|
465
|
+
* With an approval store mounted (`approvals`), this method does NOT activate: it
|
|
466
|
+
* records a pending `extension-activate` request and refuses, and only
|
|
467
|
+
* `commitApproval` applies the mutation. Without one, the direct path is the
|
|
468
|
+
* documented pre-approved compatibility composition.
|
|
469
|
+
* @param extensionId - the installed extension.
|
|
470
|
+
* @param signal - cancellation.
|
|
471
|
+
* @returns the id with the observed active/disabled state.
|
|
472
|
+
* @throws ExtensionsServiceError for every refusal.
|
|
473
|
+
*/
|
|
474
|
+
enable(extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
|
|
475
|
+
/**
|
|
476
|
+
* Record a pending approval for one management-sensitive mutation (SEC-09).
|
|
477
|
+
*
|
|
478
|
+
* The seam is REQUIRED here: creating a record on a host that mounted no store
|
|
479
|
+
* would hand the operator an approval nothing can commit — the dead end this
|
|
480
|
+
* wiring exists to remove.
|
|
481
|
+
* @param input - the request facts (kind, exact scope, operator, reason, optional TTL).
|
|
482
|
+
* @returns the pending record (a plain-JSON copy).
|
|
483
|
+
* @throws ExtensionsServiceError when no approval store is mounted; ApprovalError for a bad request.
|
|
484
|
+
*/
|
|
485
|
+
requestApproval(input: ApprovalRequestInput): ApprovalRecord;
|
|
486
|
+
/**
|
|
487
|
+
* Apply an explicit operator decision to a request (SEC-09).
|
|
488
|
+
*
|
|
489
|
+
* Decisions are the operator's alone; this method only forwards one, and the store
|
|
490
|
+
* enforces that repeating the SAME decision is idempotent while the opposite
|
|
491
|
+
* decision after a decision is refused.
|
|
492
|
+
* @param id - the approval id.
|
|
493
|
+
* @param decision - approve or deny, who decided, and an optional note.
|
|
494
|
+
* @returns the decided record.
|
|
495
|
+
* @throws ApprovalError for an unknown/expired/committed request or a conflicting decision.
|
|
496
|
+
*/
|
|
497
|
+
decideApproval(id: string, decision: ApprovalDecision): ApprovalRecord;
|
|
498
|
+
/**
|
|
499
|
+
* Consume an approved activation and apply it EXACTLY once.
|
|
500
|
+
*
|
|
501
|
+
* Order is deliberate: the approval is consumed — and its scope checked against
|
|
502
|
+
* `extensionId` by the store — BEFORE any mutation, so a wrong-scope or replayed
|
|
503
|
+
* commit cannot touch the operator's extension. The store's one-shot commit is the
|
|
504
|
+
* exactly-once guarantee; a second call is `approval/already-committed` and never
|
|
505
|
+
* reaches the lifecycle. A mutation that fails AFTER the commit leaves the approval
|
|
506
|
+
* spent: the operator re-requests rather than replaying an approval whose
|
|
507
|
+
* conditions may have changed.
|
|
508
|
+
* @param id - the approval id.
|
|
509
|
+
* @param extensionId - the exact extension the caller is about to activate.
|
|
510
|
+
* @param signal - cancellation.
|
|
511
|
+
* @returns the activation result.
|
|
512
|
+
* @throws ApprovalError for a pending/denied/expired/committed/mismatched approval.
|
|
513
|
+
* @throws ExtensionsServiceError for the activation's own refusals.
|
|
514
|
+
*/
|
|
515
|
+
commitApproval(id: string, extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
|
|
516
|
+
/** Live per-tool toggle through the running host (EXT-31 settings action). */
|
|
517
|
+
setToolEnabled(extensionId: string, toolName: string, enabled: boolean, signal?: AbortSignal): Promise<ExtensionToolToggleResult>;
|
|
518
|
+
/** Live uninstall; an active extension requires explicit deactivation (EXT-31 settings action). */
|
|
519
|
+
uninstall(extensionId: string, deactivate?: boolean, signal?: AbortSignal): Promise<ExtensionUninstallResult>;
|
|
520
|
+
/**
|
|
521
|
+
* Acquire and verify an installed extension's model assets, then record the
|
|
522
|
+
* resulting readiness.
|
|
523
|
+
*
|
|
524
|
+
* This is the management-channel `extensions-prepare-plan` + `extensions-prepare`
|
|
525
|
+
* pair behind one call, over the SAME host surface: the plan is resolved from the
|
|
526
|
+
* installed manifest's asset lock, the acquisition runs through the injectable
|
|
527
|
+
* source (the real ranged HTTP source unless the host injects one), and a
|
|
528
|
+
* successful acquisition records `prepared-cold` through the lifecycle — which is
|
|
529
|
+
* what lets a following `enable` activate the extension.
|
|
530
|
+
*
|
|
531
|
+
* Success is reported ONLY when that readiness was actually recorded for the
|
|
532
|
+
* planned deployment. The acquisition and the readiness are two different facts,
|
|
533
|
+
* and they can disagree (a surface whose readiness write did not land, a host
|
|
534
|
+
* that never mounted the lifecycle, an installed build the assets cannot make
|
|
535
|
+
* callable); reporting `prepared: true` there is what makes Prepare look like a
|
|
536
|
+
* no-op, because the page celebrates while the row keeps its blocker.
|
|
537
|
+
*
|
|
538
|
+
* The RES-02 executable gate is deliberately CLOSED here: the Remote call carries
|
|
539
|
+
* no executable-approval argument, so a plan containing an executable asset is
|
|
540
|
+
* returned as `prepared: false` with the registry's own reason rather than
|
|
541
|
+
* acquired. The pinned EmbeddingGemma assets are not executable.
|
|
542
|
+
* @param extensionId - the installed extension to prepare.
|
|
543
|
+
* @param signal - cancellation.
|
|
544
|
+
* @returns the disclosure that was executed and the resulting readiness.
|
|
545
|
+
* @throws ExtensionsServiceError for every precondition and plan failure.
|
|
546
|
+
*/
|
|
547
|
+
prepare(extensionId: string, signal?: AbortSignal): Promise<ExtensionPrepareResult>;
|
|
548
|
+
/**
|
|
549
|
+
* Deactivate an installed extension and record it as disabled.
|
|
550
|
+
*
|
|
551
|
+
* The SDK's deactivation persists `desiredActivation: 'inactive'` BEFORE it
|
|
552
|
+
* withdraws anything, so the durable answer survives a crash mid-withdrawal. The
|
|
553
|
+
* disabled override is recorded only after the lifecycle call settles; a
|
|
554
|
+
* deactivation that throws leaves the operator's list unchanged.
|
|
555
|
+
* @param extensionId - the installed extension.
|
|
556
|
+
* @param signal - cancellation.
|
|
557
|
+
* @returns the id with the observed active/disabled state.
|
|
558
|
+
* @throws ExtensionsServiceError for every refusal.
|
|
559
|
+
*/
|
|
560
|
+
disable(extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* Construct the extension-management service.
|
|
564
|
+
* @param options - store/source configuration and the host's seams.
|
|
565
|
+
* @returns a service satisfying {@link ModelToolsRemote}.
|
|
566
|
+
*/
|
|
567
|
+
export declare function createExtensionsService(options?: ExtensionsServiceOptions): ExtensionsService;
|
|
568
|
+
//# sourceMappingURL=extensions-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions-service.d.ts","sourceRoot":"","sources":["../src/extensions-service.ts"],"names":[],"mappings":"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"}
|