@hashgraphonline/standards-sdk 0.1.189 → 0.1.191
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/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/index.d.ts +22 -0
- package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser/hcs-25/index.d.ts +1 -0
- package/dist/browser/hcs-25/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts +22 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts +22 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/cjs/hcs-25/index.d.ts +1 -0
- package/dist/cjs/hcs-25/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
- package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/index.d.ts +1 -0
- package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/http.d.ts +67 -0
- package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/index.d.ts +22 -0
- package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/types.d.ts +113 -0
- package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/es/hcs-25/index.d.ts +1 -0
- package/dist/es/hcs-25/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/index.d.ts +1 -0
- package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/operational.d.ts +15 -12
- package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +144 -58
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +2 -2
- package/dist/es/standards-sdk.es103.js +2 -2
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +2 -2
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es111.js +2 -2
- package/dist/es/standards-sdk.es115.js +3 -3
- package/dist/es/standards-sdk.es116.js +4 -4
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +22 -4
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +15 -12
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +176 -240
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +42 -468
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +29 -103
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +185 -145
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +13 -33
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +45 -10
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +120 -168
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +158 -26
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +166 -19
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +360 -140
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +371 -180
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +210 -766
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +229 -11
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +368 -556
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +108 -612
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +251 -12
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +1330 -2
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +126 -79
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +264 -32
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +111 -2
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +244 -227
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +436 -1098
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +92 -293
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +157 -419
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +30 -351
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +9 -1119
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +160 -186
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +27 -1565
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +16 -1160
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +157 -14
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +191 -440
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +764 -233
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +13 -4
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +567 -81
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +617 -78
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +13 -60
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +2 -2547
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +73 -145
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +6 -6
- package/dist/es/standards-sdk.es160.js +40 -7
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +2 -86
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +225 -55
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +1137 -191
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +303 -23
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +419 -55
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +351 -91
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +1113 -40
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +200 -196
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1561 -50
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +1161 -44
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +14 -53
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +443 -41
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +242 -105
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +4 -54
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +79 -42
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +87 -72
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +60 -68
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +2545 -42
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +157 -34
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +13 -13
- package/dist/es/standards-sdk.es180.js +7 -30
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +86 -34
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +65 -48
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +27 -138
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +191 -37
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +17 -12473
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +56 -53
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +104 -100
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +43 -75
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +55 -197
- package/dist/es/standards-sdk.es189.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +10 -10
- package/dist/es/standards-sdk.es190.js +229 -669
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +67 -166
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +45 -317
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +59 -342
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +45 -448
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +117 -325
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +51 -69
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +54 -67
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +72 -17
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +75 -139
- package/dist/es/standards-sdk.es199.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es200.js +44 -517
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +33 -256
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +30 -196
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +34 -119
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +48 -152
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +126 -172
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +34 -676
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +12453 -156
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +14 -232
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +49 -232
- package/dist/es/standards-sdk.es209.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es210.js +114 -0
- package/dist/es/standards-sdk.es210.js.map +1 -0
- package/dist/es/standards-sdk.es211.js +84 -0
- package/dist/es/standards-sdk.es211.js.map +1 -0
- package/dist/es/standards-sdk.es212.js +203 -0
- package/dist/es/standards-sdk.es212.js.map +1 -0
- package/dist/es/standards-sdk.es213.js +76 -0
- package/dist/es/standards-sdk.es213.js.map +1 -0
- package/dist/es/standards-sdk.es214.js +675 -0
- package/dist/es/standards-sdk.es214.js.map +1 -0
- package/dist/es/standards-sdk.es215.js +175 -0
- package/dist/es/standards-sdk.es215.js.map +1 -0
- package/dist/es/standards-sdk.es216.js +325 -0
- package/dist/es/standards-sdk.es216.js.map +1 -0
- package/dist/es/standards-sdk.es217.js +349 -0
- package/dist/es/standards-sdk.es217.js.map +1 -0
- package/dist/es/standards-sdk.es218.js +456 -0
- package/dist/es/standards-sdk.es218.js.map +1 -0
- package/dist/es/standards-sdk.es219.js +334 -0
- package/dist/es/standards-sdk.es219.js.map +1 -0
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es220.js +79 -0
- package/dist/es/standards-sdk.es220.js.map +1 -0
- package/dist/es/standards-sdk.es221.js +142 -0
- package/dist/es/standards-sdk.es221.js.map +1 -0
- package/dist/es/standards-sdk.es222.js +520 -0
- package/dist/es/standards-sdk.es222.js.map +1 -0
- package/dist/es/standards-sdk.es223.js +262 -0
- package/dist/es/standards-sdk.es223.js.map +1 -0
- package/dist/es/standards-sdk.es224.js +199 -0
- package/dist/es/standards-sdk.es224.js.map +1 -0
- package/dist/es/standards-sdk.es225.js +122 -0
- package/dist/es/standards-sdk.es225.js.map +1 -0
- package/dist/es/standards-sdk.es226.js +155 -0
- package/dist/es/standards-sdk.es226.js.map +1 -0
- package/dist/es/standards-sdk.es227.js +187 -0
- package/dist/es/standards-sdk.es227.js.map +1 -0
- package/dist/es/standards-sdk.es228.js +687 -0
- package/dist/es/standards-sdk.es228.js.map +1 -0
- package/dist/es/standards-sdk.es229.js +188 -0
- package/dist/es/standards-sdk.es229.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es230.js +238 -0
- package/dist/es/standards-sdk.es230.js.map +1 -0
- package/dist/es/standards-sdk.es231.js +242 -0
- package/dist/es/standards-sdk.es231.js.map +1 -0
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +13 -13
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +7 -7
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +8 -8
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +3 -3
- package/dist/es/standards-sdk.es75.js +5 -5
- package/dist/es/standards-sdk.es76.js +3 -3
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es81.js +2 -2
- package/dist/es/standards-sdk.es83.js +2 -2
- package/dist/es/standards-sdk.es84.js +5 -5
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es89.js +2 -2
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +4 -4
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es125.js","sources":["../../src/hcs-26/base-client.ts"],"sourcesContent":["import type { ILogger } from '../utils/logger';\nimport { Logger } from '../utils/logger';\nimport type { NetworkType } from '../utils/types';\nimport type { MirrorNodeConfig } from '../services/mirror-node';\nimport { Hcs26SkillRegistryResolver } from './resolver';\nimport type {\n Hcs26SkillManifest,\n Hcs26VersionRegister,\n Hcs26VersionRegisterLegacy,\n} from './types';\n\nexport type HCS26SkillVerificationStatus = {\n name: string;\n verified: boolean;\n previouslyVerified: boolean;\n pendingRequest?: unknown;\n};\n\nexport interface HCS26SkillVerificationProvider {\n getSkillVerificationStatus(params: {\n name: string;\n }): Promise<HCS26SkillVerificationStatus | null>;\n}\n\nexport interface HCS26ClientConfig {\n network: NetworkType;\n logger?: ILogger;\n mirrorNode?: MirrorNodeConfig;\n verificationProvider?: HCS26SkillVerificationProvider;\n}\n\nexport type HCS26DiscoveryRecord = {\n p: 'hcs-26';\n op: 'register';\n t_id: string;\n account_id: string;\n metadata: Record<string, unknown>;\n m?: string;\n sequence_number?: number;\n};\n\nexport type HCS26ResolvedSkill = {\n directoryTopicId: string;\n skillUid: number;\n discovery: HCS26DiscoveryRecord;\n versionRegistryTopicId: string;\n latestVersion:\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number });\n manifest: Hcs26SkillManifest;\n manifestSha256Hex: string;\n verification?: HCS26SkillVerificationStatus | null;\n};\n\nexport type HCS26ResolvedSkillVersion = Omit<\n HCS26ResolvedSkill,\n 'latestVersion'\n> & {\n versionEntry:\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number });\n};\n\nfunction getManifestTopicId(\n entry: Hcs26VersionRegister | Hcs26VersionRegisterLegacy,\n): string {\n const topicIdCandidate = (entry as { t_id?: unknown }).t_id;\n if (typeof topicIdCandidate === 'string' && topicIdCandidate.trim()) {\n return topicIdCandidate.trim();\n }\n\n const hrlCandidate = (entry as { manifest_hcs1?: unknown }).manifest_hcs1;\n if (typeof hrlCandidate !== 'string' || !hrlCandidate.trim()) {\n throw new Error('Missing manifest reference in version register entry');\n }\n\n const hrl = hrlCandidate.trim();\n const prefix = 'hcs://1/';\n if (!hrl.startsWith(prefix)) {\n throw new Error(`Invalid manifest HRL: ${hrl}`);\n }\n return hrl.slice(prefix.length);\n}\n\nexport class HCS26BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly resolver: Hcs26SkillRegistryResolver;\n protected readonly verificationProvider?: HCS26SkillVerificationProvider;\n\n constructor(config: HCS26ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ??\n Logger.getInstance({\n module: 'HCS26Client',\n level: 'info',\n });\n this.verificationProvider = config.verificationProvider;\n\n this.resolver = new Hcs26SkillRegistryResolver({\n network: this.network,\n logger: this.logger,\n mirrorNode: config.mirrorNode,\n });\n }\n\n async resolveSkill(params: {\n directoryTopicId: string;\n skillUid: number;\n discoveryScanLimit?: number;\n includeVerification?: boolean;\n }): Promise<HCS26ResolvedSkill | null> {\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return null;\n }\n\n const versionRegistryTopicId = discovery.t_id;\n const latestVersion = await this.resolver.getLatestVersionRegister({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n });\n\n if (!latestVersion) {\n throw new Error(\n `No active version entries found for skill ${params.skillUid} in version registry ${versionRegistryTopicId}`,\n );\n }\n\n const manifestTopicId = getManifestTopicId(latestVersion);\n const { manifest, sha256Hex } = await this.resolver.resolveManifest({\n manifestTopicId,\n });\n\n await this.resolver.verifyVersionRegisterMatchesManifest({\n versionRegister: latestVersion,\n manifestSha256Hex: sha256Hex,\n });\n\n let verification: HCS26SkillVerificationStatus | null | undefined;\n const provider = this.verificationProvider;\n const includeVerification = params.includeVerification === true;\n const name =\n typeof discovery.metadata?.name === 'string'\n ? discovery.metadata.name.trim()\n : '';\n\n if (includeVerification && provider && name) {\n try {\n verification = await provider.getSkillVerificationStatus({ name });\n } catch (error) {\n const detail = error instanceof Error ? error.message : String(error);\n this.logger.warn(\n `Failed to resolve verification status for skill \"${name}\": ${detail}`,\n );\n verification = null;\n }\n }\n\n return {\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n discovery,\n versionRegistryTopicId,\n latestVersion,\n manifest,\n manifestSha256Hex: sha256Hex,\n ...(includeVerification ? { verification } : {}),\n };\n }\n\n async listSkillVersions(params: {\n directoryTopicId: string;\n skillUid: number;\n discoveryScanLimit?: number;\n limit?: number;\n }): Promise<\n Array<\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number })\n >\n > {\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return [];\n }\n\n const versionRegistryTopicId = discovery.t_id;\n return this.resolver.listVersionRegisters({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n limit: params.limit,\n });\n }\n\n async resolveSkillVersion(params: {\n directoryTopicId: string;\n skillUid: number;\n version: string;\n discoveryScanLimit?: number;\n includeVerification?: boolean;\n }): Promise<HCS26ResolvedSkillVersion | null> {\n const versionRaw = params.version.trim();\n if (!versionRaw) {\n throw new Error('version is required');\n }\n\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return null;\n }\n\n const versionRegistryTopicId = discovery.t_id;\n const entries = await this.resolver.listVersionRegisters({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n limit: 250,\n });\n\n const target = entries.find(entry => entry.version.trim() === versionRaw);\n if (!target) {\n return null;\n }\n\n const manifestTopicId = getManifestTopicId(target);\n const { manifest, sha256Hex } = await this.resolver.resolveManifest({\n manifestTopicId,\n });\n\n await this.resolver.verifyVersionRegisterMatchesManifest({\n versionRegister: target,\n manifestSha256Hex: sha256Hex,\n });\n\n let verification: HCS26SkillVerificationStatus | null | undefined;\n const provider = this.verificationProvider;\n const includeVerification = params.includeVerification === true;\n const name =\n typeof discovery.metadata?.name === 'string'\n ? discovery.metadata.name.trim()\n : '';\n\n if (includeVerification && provider && name) {\n try {\n verification = await provider.getSkillVerificationStatus({ name });\n } catch (error) {\n const detail = error instanceof Error ? error.message : String(error);\n this.logger.warn(\n `Failed to resolve verification status for skill \"${name}\": ${detail}`,\n );\n verification = null;\n }\n }\n\n return {\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n discovery,\n versionRegistryTopicId,\n versionEntry: target,\n manifest,\n manifestSha256Hex: sha256Hex,\n ...(includeVerification ? { verification } : {}),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es125.js","sources":["../../src/hcs-25/collectors/runner.ts"],"sourcesContent":["import { isValidAdapterId, isValidSignalId } from '../identifiers';\nimport type {\n Hcs25ApplicabilityRule,\n Hcs25Signal,\n Hcs25SignalSnapshot,\n Hcs25SignalStatus,\n Hcs25Subject,\n} from '../types';\nimport { applyCollectedFields } from './merge';\nimport {\n Hcs25CollectorTimeoutError,\n isTimeoutError,\n resolveFetch,\n} from './http';\nimport type {\n Hcs25CollectSignalsOptions,\n Hcs25CollectedFields,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n Hcs25SignalAdapterRunReport,\n Hcs25SignalCollection,\n} from './types';\n\nconst DEFAULT_TIMEOUT_MS = 30000;\n\n/**\n * Evaluates signal-adapter applicability using the same rule shape as trust\n * score adapters: registry include/exclude lists plus an optional\n * `appliesTo` predicate.\n */\nexport function isSignalAdapterApplicable(\n rule: Hcs25ApplicabilityRule,\n subject: Hcs25Subject,\n): boolean {\n if (rule.includeRegistries) {\n if (\n subject.registry === undefined ||\n !rule.includeRegistries.includes(subject.registry)\n ) {\n return false;\n }\n }\n if (\n rule.excludeRegistries &&\n subject.registry !== undefined &&\n rule.excludeRegistries.includes(subject.registry)\n ) {\n return false;\n }\n if (rule.appliesTo && !rule.appliesTo(subject)) {\n return false;\n }\n return true;\n}\n\nfunction validateSignalAdapter(adapter: Hcs25SignalAdapter): void {\n if (!isValidAdapterId(adapter.id)) {\n throw new TypeError(\n `invalid signal adapter id \"${String(adapter.id)}\": identifiers must match ^[a-z][a-z0-9]*(-[a-z][a-z0-9]*)*$`,\n );\n }\n if (!Array.isArray(adapter.produces) || adapter.produces.length === 0) {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" must declare at least one produced signalId`,\n );\n }\n for (const signalId of adapter.produces) {\n if (!isValidSignalId(signalId)) {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" declares invalid signalId \"${String(signalId)}\"`,\n );\n }\n }\n if (typeof adapter.collect !== 'function') {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" must declare a collect function`,\n );\n }\n}\n\nfunction isStale(\n fetchedAt: string | undefined,\n staleAfterMs: number,\n now: Date,\n): boolean {\n if (!fetchedAt) {\n return false;\n }\n const fetchedMs = Date.parse(fetchedAt);\n if (Number.isNaN(fetchedMs)) {\n return false;\n }\n return now.getTime() - fetchedMs > staleAfterMs;\n}\n\nfunction applyFreshness(\n result: Hcs25SignalAdapterResult,\n staleAfterMs: number | undefined,\n now: Date,\n): Hcs25SignalAdapterResult {\n if (staleAfterMs === undefined || result.status !== 'ok') {\n return result;\n }\n const fetchedAt = result.provenance?.fetchedAt;\n if (!isStale(fetchedAt, staleAfterMs, now)) {\n return result;\n }\n return {\n ...result,\n status: 'stale',\n fields: markStatusFieldsStale(result.fields),\n };\n}\n\n/**\n * When a collected signal is stale, its stored `*Status` fields are rewritten\n * to `stale` so scoring adapters emit `status:'stale'` and the staleness\n * multiplier applies (per HCS-25 missing/stale rules).\n */\nfunction markStatusFieldsStale(\n fields: readonly Hcs25CollectedFields[] | undefined,\n): readonly Hcs25CollectedFields[] | undefined {\n if (!fields) {\n return fields;\n }\n return fields.map(block => {\n const values = { ...block.values };\n for (const key of Object.keys(values)) {\n if (key.endsWith('Status') && typeof values[key] === 'string') {\n values[key] = 'stale';\n }\n }\n return { ...block, values };\n });\n}\n\nfunction toSignal(result: Hcs25SignalAdapterResult, now: Date): Hcs25Signal {\n return {\n status: result.status,\n value: result.value,\n fetchedAt: result.provenance?.fetchedAt ?? now.toISOString(),\n provenance: result.provenance,\n };\n}\n\nfunction summarizeStatuses(\n counts: Map<Hcs25SignalStatus, number>,\n): Hcs25SignalAdapterRunReport['status'] {\n if (counts.has('error')) {\n return 'error';\n }\n if (counts.has('timeout')) {\n return 'timeout';\n }\n if (counts.size === 0) {\n return 'missing';\n }\n if ((counts.get('ok') ?? 0) > 0 || counts.has('stale')) {\n return 'ok';\n }\n return 'missing';\n}\n\n/**\n * Runs signal adapters for a subject: checks applicability, enforces\n * per-adapter time budgets, classifies failures into HCS-25 status codes,\n * marks stale signals per the configured freshness policy, merges collected\n * fields onto the subject record, and emits the signal snapshot.\n *\n * Carried-over `previousSnapshot` entries are preserved; when `staleAfterMs`\n * is configured, entries (new or carried) whose `fetchedAt` exceeds the\n * freshness window are marked `stale`.\n */\nexport async function collectHcs25Signals(\n subject: Hcs25Subject,\n options: Hcs25CollectSignalsOptions,\n): Promise<Hcs25SignalCollection> {\n const fetch = resolveFetch(options.fetch);\n const now = options.now ?? new Date();\n const snapshot: Hcs25SignalSnapshot = { ...(options.previousSnapshot ?? {}) };\n const results: Hcs25SignalAdapterRunReport[] = [];\n let current = subject;\n\n for (const adapter of options.adapters) {\n validateSignalAdapter(adapter);\n\n if (!isSignalAdapterApplicable(adapter, current)) {\n results.push({\n adapterId: adapter.id,\n applicable: false,\n signalIds: [],\n status: 'missing',\n });\n continue;\n }\n\n const timeoutMs =\n adapter.timeoutMs ?? options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n const controller = new AbortController();\n let timer: ReturnType<typeof setTimeout> | undefined;\n let adapterResults: readonly Hcs25SignalAdapterResult[];\n let runStatus: Hcs25SignalAdapterRunReport['status'] | undefined;\n let runError: string | undefined;\n\n try {\n adapterResults = await Promise.race([\n adapter.collect(current, {\n subject: current,\n fetch,\n timeoutMs,\n now,\n signal: controller.signal,\n force: options.force === true,\n }),\n new Promise<never>((_resolve, reject) => {\n timer = setTimeout(() => {\n controller.abort();\n reject(new Hcs25CollectorTimeoutError());\n }, timeoutMs + 1);\n }),\n ]);\n clearTimeout(timer);\n if (adapterResults.length === 0) {\n // An adapter returning no results means \"no changes\" (e.g. a\n // TTL-gated skip): carry over any existing snapshot entries and emit\n // `missing` placeholders only for signals never produced before.\n adapterResults = adapter.produces\n .filter(signalId => !(signalId in snapshot))\n .map(signalId => ({ signalId, status: 'missing' as const }));\n }\n } catch (error) {\n const status: Hcs25SignalStatus = isTimeoutError(error)\n ? 'timeout'\n : 'error';\n runStatus = status;\n runError = error instanceof Error ? error.message : String(error);\n adapterResults = adapter.produces.map(signalId => ({\n signalId,\n status,\n }));\n }\n\n const emitted = new Set<string>();\n const statusCounts = new Map<Hcs25SignalStatus, number>();\n const adapterFields: Hcs25CollectedFields[] = [];\n for (const raw of adapterResults) {\n if (!isValidSignalId(raw.signalId)) {\n continue;\n }\n const result = applyFreshness(raw, options.staleAfterMs, now);\n emitted.add(result.signalId);\n statusCounts.set(\n result.status,\n (statusCounts.get(result.status) ?? 0) + 1,\n );\n snapshot[result.signalId] = toSignal(result, now);\n if (result.fields) {\n adapterFields.push(...result.fields);\n }\n }\n // Merge each adapter's fields before the next adapter runs so later\n // adapters can consume metadata produced earlier in the same run\n // (e.g. an id resolved by one collector feeding a downstream source).\n if (adapterFields.length > 0) {\n current = applyCollectedFields(current, adapterFields);\n }\n\n results.push({\n adapterId: adapter.id,\n applicable: true,\n signalIds: [...emitted],\n status: runStatus ?? summarizeStatuses(statusCounts),\n error: runError,\n });\n }\n\n if (options.staleAfterMs !== undefined) {\n for (const [signalId, signal] of Object.entries(snapshot)) {\n if (\n signal.status === 'ok' &&\n isStale(signal.fetchedAt, options.staleAfterMs, now)\n ) {\n snapshot[signalId] = { ...signal, status: 'stale' };\n }\n }\n }\n\n return {\n subject: current,\n snapshot,\n results,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return {
|
|
14
|
-
async getSkillVerificationStatus(params) {
|
|
15
|
-
const status = await getSkillVerificationStatus(client, {
|
|
16
|
-
name: params.name
|
|
17
|
-
});
|
|
18
|
-
return mapVerification(status);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
class HCS26Client extends HCS26BaseClient {
|
|
23
|
-
constructor(config) {
|
|
24
|
-
const provider = config.verificationProvider ?? (config.registryBrokerClient ? createRegistryBrokerVerificationProvider(config.registryBrokerClient) : void 0);
|
|
25
|
-
super({
|
|
26
|
-
network: config.network,
|
|
27
|
-
logger: config.logger,
|
|
28
|
-
mirrorNode: config.mirrorNode,
|
|
29
|
-
verificationProvider: provider
|
|
30
|
-
});
|
|
31
|
-
}
|
|
1
|
+
import { computeTrustScore } from "./standards-sdk.es119.js";
|
|
2
|
+
import { collectHcs25Signals } from "./standards-sdk.es125.js";
|
|
3
|
+
async function collectAndScoreTrustScore(subject, options) {
|
|
4
|
+
const { config, ...collectOptions } = options;
|
|
5
|
+
const collection = await collectHcs25Signals(subject, collectOptions);
|
|
6
|
+
const record = computeTrustScore({
|
|
7
|
+
subject: collection.subject,
|
|
8
|
+
snapshot: collection.snapshot,
|
|
9
|
+
config,
|
|
10
|
+
now: collectOptions.now
|
|
11
|
+
});
|
|
12
|
+
return { collection, record };
|
|
32
13
|
}
|
|
33
14
|
export {
|
|
34
|
-
|
|
35
|
-
createRegistryBrokerVerificationProvider
|
|
15
|
+
collectAndScoreTrustScore
|
|
36
16
|
};
|
|
37
17
|
//# sourceMappingURL=standards-sdk.es126.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es126.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es126.js","sources":["../../src/hcs-25/collectors/pipeline.ts"],"sourcesContent":["import { computeTrustScore } from '../scoring';\nimport type {\n Hcs25ScoringConfigInput,\n Hcs25Subject,\n Hcs25TrustScoreRecord,\n} from '../types';\nimport { collectHcs25Signals } from './runner';\nimport type {\n Hcs25CollectSignalsOptions,\n Hcs25SignalCollection,\n} from './types';\n\nexport interface Hcs25CollectAndScoreOptions\n extends Hcs25CollectSignalsOptions {\n /** Scoring configuration (adapters, weights, modes) per HCS-25. */\n config: Hcs25ScoringConfigInput;\n}\n\nexport interface Hcs25CollectAndScoreResult {\n /** The collection outcome: enriched subject + signal snapshot. */\n collection: Hcs25SignalCollection;\n /** The computed trust score record for the enriched subject. */\n record: Hcs25TrustScoreRecord;\n}\n\n/**\n * End-to-end HCS-25 pipeline: collects trust signals via signal adapters,\n * merges the stored fields onto the subject, then computes the composite AI\n * Trust Score with the provided scoring configuration.\n */\nexport async function collectAndScoreTrustScore(\n subject: Hcs25Subject,\n options: Hcs25CollectAndScoreOptions,\n): Promise<Hcs25CollectAndScoreResult> {\n const { config, ...collectOptions } = options;\n const collection = await collectHcs25Signals(subject, collectOptions);\n const record = computeTrustScore({\n subject: collection.subject,\n snapshot: collection.snapshot,\n config,\n now: collectOptions.now,\n });\n return { collection, record };\n}\n"],"names":[],"mappings":";;AA8BA,eAAsB,0BACpB,SACA,SACqC;AACrC,QAAM,EAAE,QAAQ,GAAG,eAAA,IAAmB;AACtC,QAAM,aAAa,MAAM,oBAAoB,SAAS,cAAc;AACpE,QAAM,SAAS,kBAAkB;AAAA,IAC/B,SAAS,WAAW;AAAA,IACpB,UAAU,WAAW;AAAA,IACrB;AAAA,IACA,KAAK,eAAe;AAAA,EAAA,CACrB;AACD,SAAO,EAAE,YAAY,OAAA;AACvB;"}
|
|
@@ -1,15 +1,50 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { isJsonObject, readString, readSubjectAdditional } from "./standards-sdk.es201.js";
|
|
2
|
+
import "./standards-sdk.es184.js";
|
|
3
|
+
import "./standards-sdk.es198.js";
|
|
4
|
+
import "./standards-sdk.es199.js";
|
|
5
|
+
import "./standards-sdk.es200.js";
|
|
6
|
+
import "./standards-sdk.es183.js";
|
|
7
|
+
const ENDPOINT_KEYS = [
|
|
8
|
+
"endpoint",
|
|
9
|
+
"url",
|
|
10
|
+
"serverUrl",
|
|
11
|
+
"endpointUrl",
|
|
12
|
+
"baseUrl"
|
|
13
|
+
];
|
|
14
|
+
function readEndpointKeys(record) {
|
|
15
|
+
if (!record) {
|
|
16
|
+
return null;
|
|
10
17
|
}
|
|
18
|
+
for (const key of ENDPOINT_KEYS) {
|
|
19
|
+
const value = record[key];
|
|
20
|
+
if (typeof value === "string" && /^https?:\/\//.test(value)) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
function resolveSubjectEndpoint(subject) {
|
|
27
|
+
const metadata = subject.metadata;
|
|
28
|
+
if (metadata) {
|
|
29
|
+
const direct = readEndpointKeys(metadata);
|
|
30
|
+
if (direct) {
|
|
31
|
+
return direct;
|
|
32
|
+
}
|
|
33
|
+
const endpoints = metadata.endpoints;
|
|
34
|
+
if (Array.isArray(endpoints)) {
|
|
35
|
+
for (const entry of endpoints) {
|
|
36
|
+
if (isJsonObject(entry)) {
|
|
37
|
+
const url = readString(entry, "url");
|
|
38
|
+
if (url && /^https?:\/\//.test(url)) {
|
|
39
|
+
return url;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return readEndpointKeys(readSubjectAdditional(subject));
|
|
11
46
|
}
|
|
12
47
|
export {
|
|
13
|
-
|
|
48
|
+
resolveSubjectEndpoint
|
|
14
49
|
};
|
|
15
50
|
//# sourceMappingURL=standards-sdk.es127.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es127.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es127.js","sources":["../../src/hcs-25/collectors/endpoints.ts"],"sourcesContent":["import type { Hcs25Subject } from '../types';\nimport { isJsonObject, readString, readSubjectAdditional } from '../signals';\n\nconst ENDPOINT_KEYS = [\n 'endpoint',\n 'url',\n 'serverUrl',\n 'endpointUrl',\n 'baseUrl',\n] as const;\n\nfunction readEndpointKeys(\n record: Record<string, unknown> | undefined,\n): string | null {\n if (!record) {\n return null;\n }\n for (const key of ENDPOINT_KEYS) {\n const value = record[key];\n if (typeof value === 'string' && /^https?:\\/\\//.test(value)) {\n return value;\n }\n }\n return null;\n}\n\n/**\n * Resolves the subject's callable endpoint URL from common metadata\n * locations: `metadata.endpoint|url|serverUrl|endpointUrl|baseUrl`,\n * `metadata.additional.*` equivalents, and the first\n * `metadata.endpoints[].url` (AgentVerse-style endpoint lists).\n */\nexport function resolveSubjectEndpoint(subject: Hcs25Subject): string | null {\n const metadata = subject.metadata;\n if (metadata) {\n const direct = readEndpointKeys(metadata);\n if (direct) {\n return direct;\n }\n\n const endpoints = metadata.endpoints;\n if (Array.isArray(endpoints)) {\n for (const entry of endpoints) {\n if (isJsonObject(entry)) {\n const url = readString(entry, 'url');\n if (url && /^https?:\\/\\//.test(url)) {\n return url;\n }\n }\n }\n }\n }\n\n return readEndpointKeys(readSubjectAdditional(subject));\n}\n"],"names":[],"mappings":";;;;;;AAGA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,iBACP,QACe;AACf,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,aAAW,OAAO,eAAe;AAC/B,UAAM,QAAQ,OAAO,GAAG;AACxB,QAAI,OAAO,UAAU,YAAY,eAAe,KAAK,KAAK,GAAG;AAC3D,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAQO,SAAS,uBAAuB,SAAsC;AAC3E,QAAM,WAAW,QAAQ;AACzB,MAAI,UAAU;AACZ,UAAM,SAAS,iBAAiB,QAAQ;AACxC,QAAI,QAAQ;AACV,aAAO;AAAA,IACT;AAEA,UAAM,YAAY,SAAS;AAC3B,QAAI,MAAM,QAAQ,SAAS,GAAG;AAC5B,iBAAW,SAAS,WAAW;AAC7B,YAAI,aAAa,KAAK,GAAG;AACvB,gBAAM,MAAM,WAAW,OAAO,KAAK;AACnC,cAAI,OAAO,eAAe,KAAK,GAAG,GAAG;AACnC,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,iBAAiB,sBAAsB,OAAO,CAAC;AACxD;"}
|
|
@@ -1,185 +1,137 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { readString } from "./standards-sdk.es201.js";
|
|
2
|
+
import "./standards-sdk.es184.js";
|
|
3
|
+
import "./standards-sdk.es198.js";
|
|
4
|
+
import "./standards-sdk.es199.js";
|
|
5
|
+
import "./standards-sdk.es200.js";
|
|
6
|
+
import { HCS25_ANS_TRUST_DISCOVERY_SIGNALS } from "./standards-sdk.es183.js";
|
|
7
|
+
import { stripTrailingSlashes, requestJson, Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
|
|
8
|
+
const DEFAULT_ANS_BASE_URL = "https://api.godaddy.com";
|
|
9
|
+
const SIGNAL_IDS = HCS25_ANS_TRUST_DISCOVERY_SIGNALS.map(
|
|
10
|
+
(signal) => `ans-trust-discovery.${signal}`
|
|
11
|
+
);
|
|
12
|
+
const DEFAULT_INCLUDED_REGISTRIES = ["ans"];
|
|
13
|
+
function nativeIdFromUaid(value) {
|
|
14
|
+
if (!value) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const nativeId = value.match(/(?:^|;)nativeId=([^;]+)(?:;|$)/i)?.[1]?.trim();
|
|
18
|
+
if (!nativeId) {
|
|
19
|
+
return null;
|
|
12
20
|
}
|
|
13
|
-
return normalizedData;
|
|
14
|
-
}
|
|
15
|
-
function serializeLogData(data) {
|
|
16
21
|
try {
|
|
17
|
-
return
|
|
18
|
-
data,
|
|
19
|
-
(_key, value) => {
|
|
20
|
-
if (value instanceof Error) {
|
|
21
|
-
return normalizeErrorData(value);
|
|
22
|
-
}
|
|
23
|
-
if (typeof value === "bigint") {
|
|
24
|
-
return value.toString();
|
|
25
|
-
}
|
|
26
|
-
if (value instanceof Map) {
|
|
27
|
-
return Object.fromEntries(value);
|
|
28
|
-
}
|
|
29
|
-
if (value instanceof Set) {
|
|
30
|
-
return Array.from(value);
|
|
31
|
-
}
|
|
32
|
-
if (value instanceof Uint8Array) {
|
|
33
|
-
return Array.from(value);
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
},
|
|
37
|
-
2
|
|
38
|
-
);
|
|
22
|
+
return decodeURIComponent(nativeId);
|
|
39
23
|
} catch {
|
|
40
|
-
return
|
|
24
|
+
return nativeId;
|
|
41
25
|
}
|
|
42
26
|
}
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
function defaultResolveAgentId(subject) {
|
|
28
|
+
const metadata = subject.metadata ?? {};
|
|
29
|
+
return readString(metadata, "nativeId") ?? nativeIdFromUaid(subject.id) ?? nativeIdFromUaid(readString(metadata, "uaidFull"));
|
|
46
30
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return loggerFactory(options);
|
|
51
|
-
}
|
|
52
|
-
const globalDisable = typeof process !== "undefined" && process.env?.DISABLE_LOGS === "true";
|
|
53
|
-
this.silent = options.silent || globalDisable;
|
|
54
|
-
this.level = this.silent ? "silent" : options.level || "info";
|
|
55
|
-
this.moduleContext = options.module || "app";
|
|
56
|
-
this.prettyPrint = !this.silent && options.prettyPrint !== false;
|
|
31
|
+
function readSignalScore(payload) {
|
|
32
|
+
if (!payload || payload.missing === true) {
|
|
33
|
+
return null;
|
|
57
34
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (globalDisable && _Logger.instances.has(moduleKey)) {
|
|
62
|
-
const existingLogger = _Logger.instances.get(moduleKey);
|
|
63
|
-
if (existingLogger.getLevel() !== "silent") {
|
|
64
|
-
_Logger.instances.delete(moduleKey);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (!_Logger.instances.has(moduleKey)) {
|
|
68
|
-
const logger = loggerFactory ? loggerFactory(options) : new _Logger(options);
|
|
69
|
-
_Logger.instances.set(moduleKey, logger);
|
|
70
|
-
}
|
|
71
|
-
return _Logger.instances.get(moduleKey);
|
|
72
|
-
}
|
|
73
|
-
setLogLevel(level) {
|
|
74
|
-
this.level = level;
|
|
75
|
-
}
|
|
76
|
-
getLevel() {
|
|
77
|
-
return this.level;
|
|
78
|
-
}
|
|
79
|
-
setSilent(silent) {
|
|
80
|
-
this.silent = silent;
|
|
81
|
-
if (silent) {
|
|
82
|
-
this.level = "silent";
|
|
83
|
-
}
|
|
35
|
+
const score = payload.score;
|
|
36
|
+
if (typeof score !== "number" || !Number.isFinite(score)) {
|
|
37
|
+
return null;
|
|
84
38
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
args.forEach((arg) => {
|
|
101
|
-
if (typeof arg === "string" || typeof arg === "number" || typeof arg === "boolean") {
|
|
102
|
-
stringArgs.push(String(arg));
|
|
103
|
-
} else {
|
|
104
|
-
objectArgs.push(arg);
|
|
39
|
+
return Math.min(100, Math.max(0, score));
|
|
40
|
+
}
|
|
41
|
+
function statusResult(status, now, url, agentId) {
|
|
42
|
+
const provenance = {
|
|
43
|
+
source: "ans-trust-discovery",
|
|
44
|
+
sourceUrl: url,
|
|
45
|
+
subjectId: agentId,
|
|
46
|
+
fetchedAt: now
|
|
47
|
+
};
|
|
48
|
+
const fields = status === "missing" ? void 0 : [
|
|
49
|
+
{
|
|
50
|
+
scope: "ansTrustDiscovery",
|
|
51
|
+
values: {
|
|
52
|
+
ansTrustDiscoveryStatus: status,
|
|
53
|
+
ansTrustDiscoveryUpdatedAt: now
|
|
105
54
|
}
|
|
106
|
-
});
|
|
107
|
-
const msg = stringArgs.join(" ");
|
|
108
|
-
return objectArgs.length > 0 ? { msg, data: objectArgs } : { msg };
|
|
109
|
-
}
|
|
110
|
-
shouldLog(level) {
|
|
111
|
-
if (this.silent || this.level === "silent") {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
const levels = ["trace", "debug", "info", "warn", "error", "silent"];
|
|
115
|
-
const currentLevelIndex = levels.indexOf(this.level);
|
|
116
|
-
const targetLevelIndex = levels.indexOf(level);
|
|
117
|
-
return targetLevelIndex >= currentLevelIndex;
|
|
118
|
-
}
|
|
119
|
-
getConsoleMethod(level) {
|
|
120
|
-
if (level === "error") {
|
|
121
|
-
return console.error;
|
|
122
|
-
}
|
|
123
|
-
if (level === "warn") {
|
|
124
|
-
return console.warn;
|
|
125
55
|
}
|
|
126
|
-
|
|
127
|
-
|
|
56
|
+
];
|
|
57
|
+
return SIGNAL_IDS.map((signalId, index) => ({
|
|
58
|
+
signalId,
|
|
59
|
+
status,
|
|
60
|
+
fields: index === 0 ? fields : void 0,
|
|
61
|
+
provenance
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
function createAnsTrustDiscoverySignalAdapter(options = {}) {
|
|
65
|
+
const resolveAgentId = options.resolveAgentId ?? defaultResolveAgentId;
|
|
66
|
+
const baseUrl = stripTrailingSlashes(options.baseUrl ?? DEFAULT_ANS_BASE_URL);
|
|
67
|
+
const collect = async (subject, context) => {
|
|
68
|
+
const now = context.now.toISOString();
|
|
69
|
+
const agentId = resolveAgentId(subject);
|
|
70
|
+
if (!agentId) {
|
|
71
|
+
return statusResult("missing", now, void 0, void 0);
|
|
128
72
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
73
|
+
const url = `${baseUrl}/v1/ans/registered-agents/${encodeURIComponent(agentId)}`;
|
|
74
|
+
let data;
|
|
75
|
+
try {
|
|
76
|
+
data = await requestJson(url, {
|
|
77
|
+
fetch: context.fetch,
|
|
78
|
+
headers: options.headers,
|
|
79
|
+
timeoutMs: context.timeoutMs,
|
|
80
|
+
signal: context.signal
|
|
81
|
+
});
|
|
82
|
+
} catch (error) {
|
|
83
|
+
if (error instanceof Hcs25CollectorHttpError && error.status === 404) {
|
|
84
|
+
return statusResult("missing", now, url, agentId);
|
|
85
|
+
}
|
|
86
|
+
return statusResult(
|
|
87
|
+
isTimeoutError(error) ? "timeout" : "error",
|
|
88
|
+
now,
|
|
89
|
+
url,
|
|
90
|
+
agentId
|
|
91
|
+
);
|
|
134
92
|
}
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
93
|
+
const signals = data.signals;
|
|
94
|
+
const values = {
|
|
95
|
+
ansTrustDiscoveryUpdatedAt: now
|
|
96
|
+
};
|
|
97
|
+
let present = 0;
|
|
98
|
+
const results = [];
|
|
99
|
+
for (const signal of HCS25_ANS_TRUST_DISCOVERY_SIGNALS) {
|
|
100
|
+
const payload = signals && typeof signals === "object" ? signals[signal] : void 0;
|
|
101
|
+
const score = readSignalScore(payload);
|
|
102
|
+
const signalId = `ans-trust-discovery.${signal}`;
|
|
103
|
+
values[signalId] = score;
|
|
104
|
+
if (score !== null) {
|
|
105
|
+
present += 1;
|
|
143
106
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
107
|
+
results.push({
|
|
108
|
+
signalId,
|
|
109
|
+
status: score === null ? "missing" : "ok",
|
|
110
|
+
value: score ?? void 0,
|
|
111
|
+
provenance: {
|
|
112
|
+
source: "ans-trust-discovery",
|
|
113
|
+
sourceUrl: url,
|
|
114
|
+
subjectId: agentId,
|
|
115
|
+
fetchedAt: now
|
|
116
|
+
}
|
|
117
|
+
});
|
|
154
118
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Clear all logger instances
|
|
173
|
-
* Used when switching logger implementations
|
|
174
|
-
*/
|
|
175
|
-
static clearInstances() {
|
|
176
|
-
_Logger.instances.clear();
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
_Logger.instances = /* @__PURE__ */ new Map();
|
|
180
|
-
let Logger = _Logger;
|
|
119
|
+
values.ansTrustDiscoveryStatus = present > 0 ? "ok" : "missing";
|
|
120
|
+
const carrier = results.find((result) => result.status === "ok") ?? results[0];
|
|
121
|
+
carrier.fields = [{ scope: "ansTrustDiscovery", values }];
|
|
122
|
+
return results;
|
|
123
|
+
};
|
|
124
|
+
return {
|
|
125
|
+
id: "ans-trust-discovery",
|
|
126
|
+
produces: SIGNAL_IDS,
|
|
127
|
+
timeoutMs: options.timeoutMs,
|
|
128
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
129
|
+
excludeRegistries: options.excludeRegistries,
|
|
130
|
+
appliesTo: options.appliesTo,
|
|
131
|
+
collect
|
|
132
|
+
};
|
|
133
|
+
}
|
|
181
134
|
export {
|
|
182
|
-
|
|
183
|
-
setLoggerFactory
|
|
135
|
+
createAnsTrustDiscoverySignalAdapter
|
|
184
136
|
};
|
|
185
137
|
//# sourceMappingURL=standards-sdk.es128.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es128.js","sources":["../../src/utils/logger.ts"],"sourcesContent":["export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';\n\nexport interface LoggerOptions {\n level?: LogLevel;\n module?: string;\n prettyPrint?: boolean;\n silent?: boolean;\n}\n\nexport interface ILogger {\n debug(...args: any[]): void;\n info(...args: any[]): void;\n warn(...args: any[]): void;\n error(...args: any[]): void;\n trace(...args: any[]): void;\n setLogLevel(level: LogLevel): void;\n getLevel(): LogLevel;\n setSilent(silent: boolean): void;\n setModule(module: string): void;\n}\n\nexport type LoggerFactory = (options: LoggerOptions) => ILogger;\n\nlet loggerFactory: LoggerFactory | null = null;\n\nfunction normalizeErrorData(error: Error): Record<string, unknown> {\n const normalizedData: Record<string, unknown> = {\n name: error.name,\n message: error.message,\n };\n\n if (error.stack) {\n normalizedData.stack = error.stack;\n }\n\n for (const [key, value] of Object.entries(error)) {\n normalizedData[key] = value;\n }\n\n return normalizedData;\n}\n\nfunction serializeLogData(data: unknown): string {\n try {\n return JSON.stringify(\n data,\n (_key, value: unknown) => {\n if (value instanceof Error) {\n return normalizeErrorData(value);\n }\n if (typeof value === 'bigint') {\n return value.toString();\n }\n if (value instanceof Map) {\n return Object.fromEntries(value);\n }\n if (value instanceof Set) {\n return Array.from(value);\n }\n if (value instanceof Uint8Array) {\n return Array.from(value);\n }\n return value;\n },\n 2,\n );\n } catch {\n return String(data);\n }\n}\n\n/**\n * Set a custom logger factory to override the default Pino-based implementation\n */\nexport function setLoggerFactory(factory: LoggerFactory): void {\n loggerFactory = factory;\n Logger.clearInstances();\n}\n\nexport class Logger implements ILogger {\n private static instances: Map<string, ILogger> = new Map();\n private level: LogLevel;\n private moduleContext: string;\n private silent: boolean;\n private prettyPrint: boolean;\n\n constructor(options: LoggerOptions = {}) {\n if (loggerFactory) {\n return loggerFactory(options) as any;\n }\n\n const globalDisable =\n typeof process !== 'undefined' && process.env?.DISABLE_LOGS === 'true';\n\n this.silent = options.silent || globalDisable;\n this.level = this.silent ? 'silent' : options.level || 'info';\n this.moduleContext = options.module || 'app';\n this.prettyPrint = !this.silent && options.prettyPrint !== false;\n }\n\n static getInstance(options: LoggerOptions = {}): ILogger {\n const moduleKey = options.module || 'default';\n\n const globalDisable =\n typeof process !== 'undefined' && process.env?.DISABLE_LOGS === 'true';\n\n if (globalDisable && Logger.instances.has(moduleKey)) {\n const existingLogger = Logger.instances.get(moduleKey)!;\n if (existingLogger.getLevel() !== 'silent') {\n Logger.instances.delete(moduleKey);\n }\n }\n\n if (!Logger.instances.has(moduleKey)) {\n const logger = loggerFactory\n ? loggerFactory(options)\n : new Logger(options);\n Logger.instances.set(moduleKey, logger);\n }\n\n return Logger.instances.get(moduleKey)!;\n }\n\n setLogLevel(level: LogLevel): void {\n this.level = level;\n }\n\n getLevel(): LogLevel {\n return this.level;\n }\n\n setSilent(silent: boolean): void {\n this.silent = silent;\n if (silent) {\n this.level = 'silent';\n }\n }\n\n setModule(module: string): void {\n this.moduleContext = module;\n }\n\n private formatArgs(args: any[]): { msg: string; data?: any } {\n if (args.length === 0) {\n return { msg: '' };\n }\n\n if (args.length === 1) {\n if (typeof args[0] === 'string') {\n return { msg: args[0] };\n }\n return { msg: '', data: args[0] };\n }\n\n const stringArgs: string[] = [];\n const objectArgs: any[] = [];\n\n args.forEach(arg => {\n if (\n typeof arg === 'string' ||\n typeof arg === 'number' ||\n typeof arg === 'boolean'\n ) {\n stringArgs.push(String(arg));\n } else {\n objectArgs.push(arg);\n }\n });\n\n const msg = stringArgs.join(' ');\n return objectArgs.length > 0 ? { msg, data: objectArgs } : { msg };\n }\n\n private shouldLog(level: LogLevel): boolean {\n if (this.silent || this.level === 'silent') {\n return false;\n }\n\n const levels = ['trace', 'debug', 'info', 'warn', 'error', 'silent'];\n const currentLevelIndex = levels.indexOf(this.level);\n const targetLevelIndex = levels.indexOf(level);\n\n return targetLevelIndex >= currentLevelIndex;\n }\n\n private getConsoleMethod(level: LogLevel): (...args: any[]) => void {\n if (level === 'error') {\n return console.error;\n }\n if (level === 'warn') {\n return console.warn;\n }\n if (level === 'debug') {\n return console.debug;\n }\n return console.log;\n }\n\n private writeLog(level: LogLevel, ...args: any[]): void {\n if (!this.shouldLog(level)) {\n return;\n }\n\n const { msg, data } = this.formatArgs(args);\n const timestamp = new Date().toISOString();\n const consoleMethod = this.getConsoleMethod(level);\n\n if (this.prettyPrint) {\n const levelFormatted = level.toUpperCase().padEnd(5);\n let output = `${timestamp} ${levelFormatted} [${this.moduleContext}] ${msg}`;\n\n if (data) {\n output += '\\n' + serializeLogData(data);\n }\n\n consoleMethod(output);\n } else {\n const logObj = {\n timestamp,\n level,\n module: this.moduleContext,\n message: msg,\n ...(data && { data }),\n };\n\n consoleMethod(JSON.stringify(logObj));\n }\n }\n\n debug(...args: any[]): void {\n this.writeLog('debug', ...args);\n }\n\n info(...args: any[]): void {\n this.writeLog('info', ...args);\n }\n\n warn(...args: any[]): void {\n this.writeLog('warn', ...args);\n }\n\n error(...args: any[]): void {\n this.writeLog('error', ...args);\n }\n\n trace(...args: any[]): void {\n this.writeLog('trace', ...args);\n }\n\n /**\n * Clear all logger instances\n * Used when switching logger implementations\n */\n static clearInstances(): void {\n Logger.instances.clear();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es128.js","sources":["../../src/hcs-25/collectors/ans-trust-discovery.ts"],"sourcesContent":["import type { Hcs25JsonValue, Hcs25Subject } from '../types';\nimport { readString } from '../signals';\nimport { HCS25_ANS_TRUST_DISCOVERY_SIGNALS } from '../signals/ans-trust-discovery';\nimport {\n Hcs25CollectorHttpError,\n isTimeoutError,\n requestJson,\n stripTrailingSlashes,\n} from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\n/**\n * Provider listed in the ANS Trust Discovery signal specification.\n * Callers can point {@link Hcs25AnsTrustDiscoverySignalAdapterOptions.baseUrl}\n * at another provider that serves the same response shape.\n */\nconst DEFAULT_ANS_BASE_URL = 'https://api.godaddy.com';\n\nconst SIGNAL_IDS = HCS25_ANS_TRUST_DISCOVERY_SIGNALS.map(\n signal => `ans-trust-discovery.${signal}`,\n);\n\n/**\n * Options for the ANS Trust Discovery signal adapter.\n */\nexport interface Hcs25AnsTrustDiscoverySignalAdapterOptions {\n /**\n * ANS Trust Index origin. Requests\n * `GET {baseUrl}/v1/ans/registered-agents/{agentId}`.\n * Default `https://api.godaddy.com`.\n */\n baseUrl?: string;\n /** Extra request headers, such as a provider credential. */\n headers?: Record<string, string>;\n /**\n * Resolves the provider agent id. Default reads `metadata.nativeId`,\n * then the `nativeId` parameter of a UAID in `subject.id` or\n * `metadata.uaidFull`.\n */\n resolveAgentId?: (subject: Hcs25Subject) => string | null;\n timeoutMs?: number;\n includeRegistries?: readonly string[];\n excludeRegistries?: readonly string[];\n appliesTo?: (subject: Hcs25Subject) => boolean;\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['ans'];\n\ninterface AnsSignalPayload {\n score?: unknown;\n missing?: unknown;\n}\n\ninterface AnsTrustResponse {\n signals?: Record<string, AnsSignalPayload>;\n}\n\nfunction nativeIdFromUaid(value: string | null): string | null {\n if (!value) {\n return null;\n }\n const nativeId = value.match(/(?:^|;)nativeId=([^;]+)(?:;|$)/i)?.[1]?.trim();\n if (!nativeId) {\n return null;\n }\n try {\n return decodeURIComponent(nativeId);\n } catch {\n return nativeId;\n }\n}\n\nfunction defaultResolveAgentId(subject: Hcs25Subject): string | null {\n const metadata = subject.metadata ?? {};\n return (\n readString(metadata, 'nativeId') ??\n nativeIdFromUaid(subject.id) ??\n nativeIdFromUaid(readString(metadata, 'uaidFull'))\n );\n}\n\nfunction readSignalScore(payload: AnsSignalPayload | undefined): number | null {\n if (!payload || payload.missing === true) {\n return null;\n }\n const score = payload.score;\n if (typeof score !== 'number' || !Number.isFinite(score)) {\n return null;\n }\n return Math.min(100, Math.max(0, score));\n}\n\nfunction statusResult(\n status: 'missing' | 'timeout' | 'error',\n now: string,\n url: string | undefined,\n agentId: string | undefined,\n): Hcs25SignalAdapterResult[] {\n const provenance = {\n source: 'ans-trust-discovery',\n sourceUrl: url,\n subjectId: agentId,\n fetchedAt: now,\n };\n const fields =\n status === 'missing'\n ? undefined\n : [\n {\n scope: 'ansTrustDiscovery',\n values: {\n ansTrustDiscoveryStatus: status,\n ansTrustDiscoveryUpdatedAt: now,\n },\n },\n ];\n return SIGNAL_IDS.map((signalId, index) => ({\n signalId,\n status,\n fields: index === 0 ? fields : undefined,\n provenance,\n }));\n}\n\n/**\n * Creates the `ans-trust-discovery` signal adapter: reads the eight ANS\n * Trust Index signals from a provider's registered-agent endpoint and\n * stores them under `metadata.ansTrustDiscovery`.\n */\nexport function createAnsTrustDiscoverySignalAdapter(\n options: Hcs25AnsTrustDiscoverySignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const resolveAgentId = options.resolveAgentId ?? defaultResolveAgentId;\n const baseUrl = stripTrailingSlashes(options.baseUrl ?? DEFAULT_ANS_BASE_URL);\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const now = context.now.toISOString();\n const agentId = resolveAgentId(subject);\n if (!agentId) {\n return statusResult('missing', now, undefined, undefined);\n }\n\n const url = `${baseUrl}/v1/ans/registered-agents/${encodeURIComponent(agentId)}`;\n let data: AnsTrustResponse;\n try {\n data = await requestJson<AnsTrustResponse>(url, {\n fetch: context.fetch,\n headers: options.headers,\n timeoutMs: context.timeoutMs,\n signal: context.signal,\n });\n } catch (error) {\n if (error instanceof Hcs25CollectorHttpError && error.status === 404) {\n return statusResult('missing', now, url, agentId);\n }\n return statusResult(\n isTimeoutError(error) ? 'timeout' : 'error',\n now,\n url,\n agentId,\n );\n }\n\n const signals = data.signals;\n const values: Record<string, Hcs25JsonValue> = {\n ansTrustDiscoveryUpdatedAt: now,\n };\n let present = 0;\n const results: Hcs25SignalAdapterResult[] = [];\n\n for (const signal of HCS25_ANS_TRUST_DISCOVERY_SIGNALS) {\n const payload =\n signals && typeof signals === 'object' ? signals[signal] : undefined;\n const score = readSignalScore(payload);\n const signalId = `ans-trust-discovery.${signal}`;\n values[signalId] = score;\n if (score !== null) {\n present += 1;\n }\n results.push({\n signalId,\n status: score === null ? 'missing' : 'ok',\n value: score ?? undefined,\n provenance: {\n source: 'ans-trust-discovery',\n sourceUrl: url,\n subjectId: agentId,\n fetchedAt: now,\n },\n });\n }\n\n values.ansTrustDiscoveryStatus = present > 0 ? 'ok' : 'missing';\n const carrier =\n results.find(result => result.status === 'ok') ?? results[0];\n carrier.fields = [{ scope: 'ansTrustDiscovery', values }];\n return results;\n };\n\n return {\n id: 'ans-trust-discovery',\n produces: SIGNAL_IDS,\n timeoutMs: options.timeoutMs,\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n excludeRegistries: options.excludeRegistries,\n appliesTo: options.appliesTo,\n collect,\n };\n}\n"],"names":[],"mappings":"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"}
|