@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,32 +1,164 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { readMetadataRecord, 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 "./standards-sdk.es183.js";
|
|
7
|
+
import { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
|
|
8
|
+
import { Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
|
|
9
|
+
const DEFAULT_EXCLUDED_REGISTRIES = [
|
|
10
|
+
"openrouter",
|
|
11
|
+
"near-ai"
|
|
12
|
+
];
|
|
13
|
+
function minutesSince(timestamp, now) {
|
|
14
|
+
const ms = Date.parse(timestamp);
|
|
15
|
+
if (Number.isNaN(ms)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return Math.max(0, (now.getTime() - ms) / 6e4);
|
|
17
19
|
}
|
|
18
|
-
function
|
|
19
|
-
return
|
|
20
|
+
function missingResult(now, reason) {
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
signalId: "availability.probe",
|
|
24
|
+
status: "missing",
|
|
25
|
+
fields: [
|
|
26
|
+
{
|
|
27
|
+
scope: "root",
|
|
28
|
+
values: {
|
|
29
|
+
availabilityScore: null,
|
|
30
|
+
availabilityCheckedAt: now.toISOString(),
|
|
31
|
+
availabilityReason: reason,
|
|
32
|
+
availabilitySource: "probe",
|
|
33
|
+
availabilityStatus: "missing"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
];
|
|
20
39
|
}
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
40
|
+
function createAvailabilitySignalAdapter(options = {}) {
|
|
41
|
+
const resolveEndpoint = options.resolveEndpoint ?? resolveSubjectEndpoint;
|
|
42
|
+
const method = options.method ?? "auto";
|
|
43
|
+
const collect = async (subject, context) => {
|
|
44
|
+
const { now } = context;
|
|
45
|
+
const results = [];
|
|
46
|
+
const metrics = readMetadataRecord(subject, "metrics");
|
|
47
|
+
const lastActiveAt = metrics ? readString(metrics, "lastActiveAt") : null;
|
|
48
|
+
if (lastActiveAt !== null) {
|
|
49
|
+
const mins = minutesSince(lastActiveAt, now);
|
|
50
|
+
if (mins !== null) {
|
|
51
|
+
results.push({
|
|
52
|
+
signalId: "availability.last_seen",
|
|
53
|
+
status: "ok",
|
|
54
|
+
value: mins,
|
|
55
|
+
fields: [{ scope: "metrics", values: { minsFromLastOnline: mins } }],
|
|
56
|
+
provenance: {
|
|
57
|
+
source: "metadata",
|
|
58
|
+
subjectId: subject.id,
|
|
59
|
+
fetchedAt: now.toISOString()
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const endpoint = resolveEndpoint(subject);
|
|
65
|
+
if (!endpoint) {
|
|
66
|
+
if (results.length > 0) {
|
|
67
|
+
return results;
|
|
68
|
+
}
|
|
69
|
+
return missingResult(now, "no endpoint metadata");
|
|
70
|
+
}
|
|
71
|
+
const started = now.getTime();
|
|
72
|
+
try {
|
|
73
|
+
const attempt = async (verb) => {
|
|
74
|
+
const response = await context.fetch(endpoint, {
|
|
75
|
+
method: verb,
|
|
76
|
+
headers: options.headers,
|
|
77
|
+
signal: context.signal
|
|
78
|
+
});
|
|
79
|
+
return response.status;
|
|
80
|
+
};
|
|
81
|
+
let status;
|
|
82
|
+
if (method === "auto") {
|
|
83
|
+
try {
|
|
84
|
+
status = await attempt("HEAD");
|
|
85
|
+
if (status === 405 || status === 501) {
|
|
86
|
+
status = await attempt("GET");
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
if (error instanceof Hcs25CollectorHttpError) {
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
status = await attempt("GET");
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
status = await attempt(method);
|
|
96
|
+
}
|
|
97
|
+
const latencyMs = Date.now() - started;
|
|
98
|
+
const reachable = status < 500;
|
|
99
|
+
results.push({
|
|
100
|
+
signalId: "availability.probe",
|
|
101
|
+
status: "ok",
|
|
102
|
+
value: reachable ? 1 : 0,
|
|
103
|
+
fields: [
|
|
104
|
+
{
|
|
105
|
+
scope: "root",
|
|
106
|
+
values: {
|
|
107
|
+
availabilityScore: reachable ? 1 : 0,
|
|
108
|
+
availabilityCheckedAt: now.toISOString(),
|
|
109
|
+
availabilityLatencyMs: latencyMs,
|
|
110
|
+
availabilityReason: reachable ? "reachable" : `endpoint returned HTTP ${status}`,
|
|
111
|
+
availabilitySource: "probe",
|
|
112
|
+
availabilityStatus: "ok"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
provenance: {
|
|
117
|
+
source: "probe",
|
|
118
|
+
sourceUrl: endpoint,
|
|
119
|
+
subjectId: subject.id,
|
|
120
|
+
fetchedAt: now.toISOString()
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
return results;
|
|
124
|
+
} catch (error) {
|
|
125
|
+
const timedOut = isTimeoutError(error);
|
|
126
|
+
const statusValue = timedOut ? "timeout" : "error";
|
|
127
|
+
results.push({
|
|
128
|
+
signalId: "availability.probe",
|
|
129
|
+
status: statusValue,
|
|
130
|
+
fields: [
|
|
131
|
+
{
|
|
132
|
+
scope: "root",
|
|
133
|
+
values: {
|
|
134
|
+
availabilityCheckedAt: now.toISOString(),
|
|
135
|
+
availabilityReason: error instanceof Error ? error.message : String(error),
|
|
136
|
+
availabilitySource: "probe",
|
|
137
|
+
availabilityStatus: statusValue
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
provenance: {
|
|
142
|
+
source: "probe",
|
|
143
|
+
sourceUrl: endpoint,
|
|
144
|
+
subjectId: subject.id,
|
|
145
|
+
fetchedAt: now.toISOString()
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
return results;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return {
|
|
152
|
+
id: "availability",
|
|
153
|
+
produces: ["availability.probe", "availability.last_seen"],
|
|
154
|
+
timeoutMs: options.timeoutMs,
|
|
155
|
+
includeRegistries: options.includeRegistries,
|
|
156
|
+
excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
|
|
157
|
+
appliesTo: options.appliesTo,
|
|
158
|
+
collect
|
|
159
|
+
};
|
|
26
160
|
}
|
|
27
161
|
export {
|
|
28
|
-
|
|
29
|
-
ensureLoggerType,
|
|
30
|
-
isConcreteLogger
|
|
162
|
+
createAvailabilitySignalAdapter
|
|
31
163
|
};
|
|
32
164
|
//# sourceMappingURL=standards-sdk.es129.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es129.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es129.js","sources":["../../src/hcs-25/collectors/availability.ts"],"sourcesContent":["import type { Hcs25Subject } from '../types';\nimport { readMetadataRecord, readString } from '../signals';\nimport { resolveSubjectEndpoint } from './endpoints';\nimport { Hcs25CollectorHttpError, isTimeoutError } from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\n/**\n * Options for the availability signal adapter.\n */\nexport interface Hcs25AvailabilitySignalAdapterOptions {\n /** Custom endpoint resolver; defaults to {@link resolveSubjectEndpoint}. */\n resolveEndpoint?: (subject: Hcs25Subject) => string | null;\n /** Probe method. `auto` (default) tries HEAD and falls back to GET. */\n method?: 'auto' | 'HEAD' | 'GET';\n /** Per-probe timeout in milliseconds. */\n timeoutMs?: number;\n /** Extra request headers (e.g. auth for gated endpoints). */\n headers?: Record<string, string>;\n /** Applicability constraints. */\n includeRegistries?: readonly string[];\n excludeRegistries?: readonly string[];\n appliesTo?: (subject: Hcs25Subject) => boolean;\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\nfunction minutesSince(timestamp: string, now: Date): number | null {\n const ms = Date.parse(timestamp);\n if (Number.isNaN(ms)) {\n return null;\n }\n return Math.max(0, (now.getTime() - ms) / 60000);\n}\n\nfunction missingResult(now: Date, reason: string): Hcs25SignalAdapterResult[] {\n return [\n {\n signalId: 'availability.probe',\n status: 'missing',\n fields: [\n {\n scope: 'root',\n values: {\n availabilityScore: null,\n availabilityCheckedAt: now.toISOString(),\n availabilityReason: reason,\n availabilitySource: 'probe',\n availabilityStatus: 'missing',\n },\n },\n ],\n },\n ];\n}\n\n/**\n * Creates the `availability` signal adapter: probes the subject's endpoint,\n * records reachability, latency, and probe provenance, and converts the\n * ecosystem-native `metrics.lastActiveAt` field into\n * `metrics.minsFromLastOnline` (the deterministic scoring adapter consumes\n * the derived field). Unreachable endpoints score 0; absent endpoints are\n * `missing`.\n */\nexport function createAvailabilitySignalAdapter(\n options: Hcs25AvailabilitySignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const resolveEndpoint = options.resolveEndpoint ?? resolveSubjectEndpoint;\n const method = options.method ?? 'auto';\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const { now } = context;\n const results: Hcs25SignalAdapterResult[] = [];\n\n const metrics = readMetadataRecord(subject, 'metrics');\n const lastActiveAt = metrics ? readString(metrics, 'lastActiveAt') : null;\n if (lastActiveAt !== null) {\n const mins = minutesSince(lastActiveAt, now);\n if (mins !== null) {\n results.push({\n signalId: 'availability.last_seen',\n status: 'ok',\n value: mins,\n fields: [{ scope: 'metrics', values: { minsFromLastOnline: mins } }],\n provenance: {\n source: 'metadata',\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n }\n }\n\n const endpoint = resolveEndpoint(subject);\n if (!endpoint) {\n if (results.length > 0) {\n return results;\n }\n return missingResult(now, 'no endpoint metadata');\n }\n\n const started = now.getTime();\n try {\n const attempt = async (verb: 'HEAD' | 'GET'): Promise<number> => {\n const response = await context.fetch(endpoint, {\n method: verb,\n headers: options.headers,\n signal: context.signal,\n });\n return response.status;\n };\n\n let status: number;\n if (method === 'auto') {\n try {\n status = await attempt('HEAD');\n if (status === 405 || status === 501) {\n status = await attempt('GET');\n }\n } catch (error) {\n if (error instanceof Hcs25CollectorHttpError) {\n throw error;\n }\n status = await attempt('GET');\n }\n } else {\n status = await attempt(method);\n }\n\n const latencyMs = Date.now() - started;\n const reachable = status < 500;\n results.push({\n signalId: 'availability.probe',\n status: 'ok',\n value: reachable ? 1 : 0,\n fields: [\n {\n scope: 'root',\n values: {\n availabilityScore: reachable ? 1 : 0,\n availabilityCheckedAt: now.toISOString(),\n availabilityLatencyMs: latencyMs,\n availabilityReason: reachable\n ? 'reachable'\n : `endpoint returned HTTP ${status}`,\n availabilitySource: 'probe',\n availabilityStatus: 'ok',\n },\n },\n ],\n provenance: {\n source: 'probe',\n sourceUrl: endpoint,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n return results;\n } catch (error) {\n const timedOut = isTimeoutError(error);\n const statusValue = timedOut ? 'timeout' : 'error';\n results.push({\n signalId: 'availability.probe',\n status: statusValue,\n fields: [\n {\n scope: 'root',\n values: {\n availabilityCheckedAt: now.toISOString(),\n availabilityReason:\n error instanceof Error ? error.message : String(error),\n availabilitySource: 'probe',\n availabilityStatus: statusValue,\n },\n },\n ],\n provenance: {\n source: 'probe',\n sourceUrl: endpoint,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n return results;\n }\n };\n\n return {\n id: 'availability',\n produces: ['availability.probe', 'availability.last_seen'],\n timeoutMs: options.timeoutMs,\n includeRegistries: options.includeRegistries,\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n appliesTo: options.appliesTo,\n collect,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,172 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
|
|
2
|
+
import { isTimeoutError } from "./standards-sdk.es122.js";
|
|
3
|
+
const MCP_PROTOCOL_VERSION = "2024-11-05";
|
|
4
|
+
async function fetchOk(context, url, init) {
|
|
5
|
+
const response = await context.fetch(url, {
|
|
6
|
+
...init,
|
|
7
|
+
signal: context.signal
|
|
8
|
+
});
|
|
9
|
+
return response.status < 500;
|
|
10
|
+
}
|
|
11
|
+
const mcpConnectivityProbe = async (subject, context) => {
|
|
12
|
+
const endpoint = resolveSubjectEndpoint(subject);
|
|
13
|
+
if (!endpoint) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const ok = await fetchOk(context, endpoint, {
|
|
17
|
+
method: "POST",
|
|
18
|
+
headers: {
|
|
19
|
+
"content-type": "application/json",
|
|
20
|
+
accept: "application/json, text/event-stream"
|
|
21
|
+
},
|
|
22
|
+
body: JSON.stringify({
|
|
23
|
+
jsonrpc: "2.0",
|
|
24
|
+
id: 1,
|
|
25
|
+
method: "initialize",
|
|
26
|
+
params: {
|
|
27
|
+
protocolVersion: MCP_PROTOCOL_VERSION,
|
|
28
|
+
capabilities: {},
|
|
29
|
+
clientInfo: { name: "hcs-25-connectivity-probe", version: "1" }
|
|
17
30
|
}
|
|
18
|
-
}
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
return ok ? 100 : 0;
|
|
34
|
+
};
|
|
35
|
+
const a2aConnectivityProbe = async (subject, context) => {
|
|
36
|
+
const endpoint = resolveSubjectEndpoint(subject);
|
|
37
|
+
if (!endpoint) {
|
|
38
|
+
return null;
|
|
19
39
|
}
|
|
20
|
-
|
|
40
|
+
const cardUrl = endpoint.includes("/.well-known/") ? endpoint : new URL("/.well-known/agent.json", endpoint).toString();
|
|
41
|
+
const ok = await fetchOk(context, cardUrl);
|
|
42
|
+
return ok ? 100 : 0;
|
|
43
|
+
};
|
|
44
|
+
const httpConnectivityProbe = async (subject, context) => {
|
|
45
|
+
const endpoint = resolveSubjectEndpoint(subject);
|
|
46
|
+
if (!endpoint) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const ok = await fetchOk(context, endpoint);
|
|
50
|
+
return ok ? 100 : 0;
|
|
51
|
+
};
|
|
52
|
+
const DEFAULT_PROBES = {
|
|
53
|
+
mcp: mcpConnectivityProbe,
|
|
54
|
+
a2a: a2aConnectivityProbe
|
|
55
|
+
};
|
|
56
|
+
const DEFAULT_EXCLUDED_REGISTRIES = [
|
|
57
|
+
"openrouter",
|
|
58
|
+
"near-ai"
|
|
59
|
+
];
|
|
60
|
+
function createConnectivitySignalAdapter(options = {}) {
|
|
61
|
+
const probes = { ...DEFAULT_PROBES, ...options.probes };
|
|
62
|
+
const collect = async (subject, context) => {
|
|
63
|
+
const now = context.now;
|
|
64
|
+
const protocol = subject.protocol?.toLowerCase();
|
|
65
|
+
const protocolProbe = protocol ? probes[protocol] : void 0;
|
|
66
|
+
const defaultProbe = probes.default ?? httpConnectivityProbe;
|
|
67
|
+
const namedTargets = Object.keys(probes).filter(
|
|
68
|
+
(key) => key !== protocol && key !== "default" && !(key in DEFAULT_PROBES)
|
|
69
|
+
);
|
|
70
|
+
const results = [];
|
|
71
|
+
const targets = {};
|
|
72
|
+
let primaryScore = null;
|
|
73
|
+
let primaryStatus = "ok";
|
|
74
|
+
let probed = false;
|
|
75
|
+
const runProbe = async (probe, signalId, target) => {
|
|
76
|
+
try {
|
|
77
|
+
const score = await probe(subject, context);
|
|
78
|
+
if (score === null) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
probed = true;
|
|
82
|
+
const clamped = Math.min(100, Math.max(0, score));
|
|
83
|
+
if (target) {
|
|
84
|
+
targets[target] = clamped;
|
|
85
|
+
} else {
|
|
86
|
+
primaryScore = clamped;
|
|
87
|
+
}
|
|
88
|
+
results.push({
|
|
89
|
+
signalId,
|
|
90
|
+
status: "ok",
|
|
91
|
+
value: clamped,
|
|
92
|
+
provenance: {
|
|
93
|
+
source: "connectivity-probe",
|
|
94
|
+
sourceUrl: resolveSubjectEndpoint(subject) ?? void 0,
|
|
95
|
+
subjectId: subject.id,
|
|
96
|
+
fetchedAt: now.toISOString()
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
} catch (error) {
|
|
100
|
+
probed = true;
|
|
101
|
+
const status = isTimeoutError(error) ? "timeout" : "error";
|
|
102
|
+
if (!target) {
|
|
103
|
+
primaryStatus = status;
|
|
104
|
+
primaryScore = 0;
|
|
105
|
+
}
|
|
106
|
+
results.push({
|
|
107
|
+
signalId,
|
|
108
|
+
status,
|
|
109
|
+
provenance: {
|
|
110
|
+
source: "connectivity-probe",
|
|
111
|
+
subjectId: subject.id,
|
|
112
|
+
fetchedAt: now.toISOString()
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
await runProbe(protocolProbe ?? defaultProbe, "connectivity.probe");
|
|
118
|
+
for (const target of namedTargets) {
|
|
119
|
+
await runProbe(probes[target], `connectivity.${target}`, target);
|
|
120
|
+
}
|
|
121
|
+
if (!probed) {
|
|
122
|
+
return [
|
|
123
|
+
{
|
|
124
|
+
signalId: "connectivity.probe",
|
|
125
|
+
status: "missing",
|
|
126
|
+
fields: [
|
|
127
|
+
{
|
|
128
|
+
scope: "additional",
|
|
129
|
+
values: { connectivityStatus: "missing" }
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
const additional = {
|
|
136
|
+
connectivityStatus: primaryStatus === "ok" ? "ok" : primaryStatus
|
|
137
|
+
};
|
|
138
|
+
if (primaryScore !== null) {
|
|
139
|
+
additional.connectivityScore = primaryScore;
|
|
140
|
+
}
|
|
141
|
+
if (Object.keys(targets).length > 0) {
|
|
142
|
+
additional.connectivityTargets = { ...targets };
|
|
143
|
+
}
|
|
144
|
+
const last = results[results.length - 1];
|
|
145
|
+
return [
|
|
146
|
+
...results,
|
|
147
|
+
{
|
|
148
|
+
signalId: "connectivity.score",
|
|
149
|
+
status: primaryStatus === "ok" ? "ok" : primaryStatus,
|
|
150
|
+
value: primaryScore ?? void 0,
|
|
151
|
+
fields: [{ scope: "additional", values: additional }],
|
|
152
|
+
provenance: last?.provenance
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
};
|
|
156
|
+
return {
|
|
157
|
+
id: "connectivity",
|
|
158
|
+
produces: ["connectivity.probe", "connectivity.score"],
|
|
159
|
+
timeoutMs: options.timeoutMs,
|
|
160
|
+
includeRegistries: options.includeRegistries,
|
|
161
|
+
excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
|
|
162
|
+
appliesTo: options.appliesTo,
|
|
163
|
+
collect
|
|
164
|
+
};
|
|
21
165
|
}
|
|
22
166
|
export {
|
|
23
|
-
|
|
167
|
+
a2aConnectivityProbe,
|
|
168
|
+
createConnectivitySignalAdapter,
|
|
169
|
+
httpConnectivityProbe,
|
|
170
|
+
mcpConnectivityProbe
|
|
24
171
|
};
|
|
25
172
|
//# sourceMappingURL=standards-sdk.es130.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es130.js","sources":["../../src/utils/topic-fee-utils.ts"],"sourcesContent":["import { PublicKey } from '@hashgraph/sdk';\nimport { ILogger } from './logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\n\n/**\n * Converts account IDs to public keys for fee exemption\n * @param client Hedera client instance\n * @param accountIds Array of account IDs to convert to public keys\n * @param network The network to use for retrieving public keys\n * @param logger Optional logger instance\n * @returns Array of public keys\n */\nexport async function accountIdsToExemptKeys(\n accountIds: string[],\n network: string,\n logger?: ILogger,\n): Promise<PublicKey[]> {\n const mirrorNode = new HederaMirrorNode(\n network as 'mainnet' | 'testnet',\n logger,\n );\n const exemptKeys: PublicKey[] = [];\n\n for (const accountId of accountIds) {\n try {\n const publicKey = await mirrorNode.getPublicKey(accountId);\n exemptKeys.push(publicKey);\n } catch (error) {\n if (logger) {\n logger.warn(\n `Could not get public key for account ${accountId}: ${error}`,\n );\n }\n }\n }\n\n return exemptKeys;\n}\n"],"names":[],"mappings":";AAYA,eAAsB,uBACpB,YACA,SACA,QACsB;AACtB,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EAAA;AAEF,QAAM,aAA0B,CAAA;AAEhC,aAAW,aAAa,YAAY;AAClC,QAAI;AACF,YAAM,YAAY,MAAM,WAAW,aAAa,SAAS;AACzD,iBAAW,KAAK,SAAS;AAAA,IAC3B,SAAS,OAAO;AACd,UAAI,QAAQ;AACV,eAAO;AAAA,UACL,wCAAwC,SAAS,KAAK,KAAK;AAAA,QAAA;AAAA,MAE/D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es130.js","sources":["../../src/hcs-25/collectors/connectivity.ts"],"sourcesContent":["import type { Hcs25JsonValue, Hcs25Subject } from '../types';\nimport { resolveSubjectEndpoint } from './endpoints';\nimport { isTimeoutError } from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\n/**\n * A protocol probe: returns a connectivity score in `[0,100]`, or null when\n * the probe is not meaningful for the subject.\n */\nexport type Hcs25ConnectivityProbe = (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n) => Promise<number | null>;\n\nconst MCP_PROTOCOL_VERSION = '2024-11-05';\n\nasync function fetchOk(\n context: Hcs25CollectContext,\n url: string,\n init?: { method?: string; headers?: Record<string, string>; body?: string },\n): Promise<boolean> {\n const response = await context.fetch(url, {\n ...init,\n signal: context.signal,\n });\n return response.status < 500;\n}\n\n/**\n * MCP probe: posts a JSON-RPC `initialize` request to the endpoint. Any\n * definite HTTP response (including 4xx such as 405 on SSE-only endpoints)\n * proves connectivity; only network failure or 5xx count as disconnected.\n */\nexport const mcpConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const ok = await fetchOk(context, endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n accept: 'application/json, text/event-stream',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 1,\n method: 'initialize',\n params: {\n protocolVersion: MCP_PROTOCOL_VERSION,\n capabilities: {},\n clientInfo: { name: 'hcs-25-connectivity-probe', version: '1' },\n },\n }),\n });\n return ok ? 100 : 0;\n};\n\n/**\n * A2A probe: fetches the agent card at `/.well-known/agent.json` relative to\n * the endpoint origin (or the endpoint itself when it already points at a\n * well-known path).\n */\nexport const a2aConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const cardUrl = endpoint.includes('/.well-known/')\n ? endpoint\n : new URL('/.well-known/agent.json', endpoint).toString();\n const ok = await fetchOk(context, cardUrl);\n return ok ? 100 : 0;\n};\n\n/**\n * Generic HTTP probe: GET the endpoint; any response below 500 counts as\n * connected.\n */\nexport const httpConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const ok = await fetchOk(context, endpoint);\n return ok ? 100 : 0;\n};\n\nconst DEFAULT_PROBES: Record<string, Hcs25ConnectivityProbe> = {\n mcp: mcpConnectivityProbe,\n a2a: a2aConnectivityProbe,\n};\n\n/**\n * Options for the connectivity signal adapter.\n */\nexport interface Hcs25ConnectivitySignalAdapterOptions {\n /**\n * Probe map keyed by target name. Keys `mcp`/`a2a` are used automatically\n * for matching `subject.protocol`; other keys run unconditionally as\n * named targets and populate `connectivityTargets`. Pass `{default: fn}`\n * to override the fallback HTTP probe.\n */\n probes?: Record<string, Hcs25ConnectivityProbe>;\n /** Per-adapter timeout in milliseconds. */\n timeoutMs?: number;\n includeRegistries?: readonly string[];\n excludeRegistries?: readonly string[];\n appliesTo?: (subject: Hcs25Subject) => boolean;\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\n/**\n * Creates the `connectivity` signal adapter: probes the subject's endpoint\n * using a protocol-aware probe (MCP initialize / A2A agent card / generic\n * HTTP) plus any named custom probes, and stores `connectivityScore` /\n * `connectivityTargets` under `metadata.additional`.\n */\nexport function createConnectivitySignalAdapter(\n options: Hcs25ConnectivitySignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const probes = { ...DEFAULT_PROBES, ...options.probes };\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const now = context.now;\n const protocol = subject.protocol?.toLowerCase();\n const protocolProbe = protocol ? probes[protocol] : undefined;\n const defaultProbe = probes.default ?? httpConnectivityProbe;\n const namedTargets = Object.keys(probes).filter(\n key => key !== protocol && key !== 'default' && !(key in DEFAULT_PROBES),\n );\n\n const results: Hcs25SignalAdapterResult[] = [];\n const targets: Record<string, number> = {};\n let primaryScore: number | null = null;\n let primaryStatus: 'ok' | 'timeout' | 'error' = 'ok';\n let probed = false;\n\n const runProbe = async (\n probe: Hcs25ConnectivityProbe,\n signalId: string,\n target?: string,\n ): Promise<void> => {\n try {\n const score = await probe(subject, context);\n if (score === null) {\n return;\n }\n probed = true;\n const clamped = Math.min(100, Math.max(0, score));\n if (target) {\n targets[target] = clamped;\n } else {\n primaryScore = clamped;\n }\n results.push({\n signalId,\n status: 'ok',\n value: clamped,\n provenance: {\n source: 'connectivity-probe',\n sourceUrl: resolveSubjectEndpoint(subject) ?? undefined,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n } catch (error) {\n probed = true;\n const status = isTimeoutError(error) ? 'timeout' : 'error';\n if (!target) {\n primaryStatus = status;\n primaryScore = 0;\n }\n results.push({\n signalId,\n status,\n provenance: {\n source: 'connectivity-probe',\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n }\n };\n\n await runProbe(protocolProbe ?? defaultProbe, 'connectivity.probe');\n\n for (const target of namedTargets) {\n await runProbe(probes[target], `connectivity.${target}`, target);\n }\n\n if (!probed) {\n return [\n {\n signalId: 'connectivity.probe',\n status: 'missing',\n fields: [\n {\n scope: 'additional',\n values: { connectivityStatus: 'missing' },\n },\n ],\n },\n ];\n }\n\n const additional: Record<string, Hcs25JsonValue> = {\n connectivityStatus: primaryStatus === 'ok' ? 'ok' : primaryStatus,\n };\n if (primaryScore !== null) {\n additional.connectivityScore = primaryScore;\n }\n if (Object.keys(targets).length > 0) {\n additional.connectivityTargets = { ...targets };\n }\n\n const last = results[results.length - 1];\n return [\n ...results,\n {\n signalId: 'connectivity.score',\n status: primaryStatus === 'ok' ? 'ok' : primaryStatus,\n value: primaryScore ?? undefined,\n fields: [{ scope: 'additional', values: additional }],\n provenance: last?.provenance,\n },\n ];\n };\n\n return {\n id: 'connectivity',\n produces: ['connectivity.probe', 'connectivity.score'],\n timeoutMs: options.timeoutMs,\n includeRegistries: options.includeRegistries,\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n appliesTo: options.appliesTo,\n collect,\n };\n}\n"],"names":[],"mappings":"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"}
|