@hashgraphonline/standards-sdk 0.1.188 → 0.1.190
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/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/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/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 +57 -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 +21 -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/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/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client.d.ts +1 -1
- package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser/standards-sdk.browser.js +37 -10
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
- 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/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/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 +57 -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 +21 -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/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/browser-root/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser-root/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser-root/standards-sdk.root-browser.js +78 -11
- package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
- 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/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/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 +57 -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 +21 -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/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/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/cjs/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +1 -1
- package/dist/cjs/services/registry-broker/client.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/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/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/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 +57 -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 +21 -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/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/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/es/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +1 -1
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +141 -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 +4 -4
- package/dist/es/standards-sdk.es121.js +11 -11
- 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 +41 -468
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +28 -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 +44 -10
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +150 -172
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +166 -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 +375 -18
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +371 -139
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +211 -180
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +210 -770
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +376 -10
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +118 -564
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +233 -608
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1328 -12
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +133 -2
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +258 -74
- 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 +104 -38
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +252 -2
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +446 -203
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +104 -1139
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +144 -290
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +31 -419
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +10 -353
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +144 -1084
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +25 -204
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +17 -1562
- 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 +128 -1134
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +199 -14
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +774 -367
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +10 -256
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +567 -4
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +619 -74
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +12 -86
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +2 -60
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +87 -2547
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +36 -155
- 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 +2 -7
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +223 -74
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +1122 -47
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +299 -187
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +419 -23
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +352 -55
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +1113 -86
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +200 -41
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +1551 -188
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1161 -51
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +15 -47
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +445 -50
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +255 -45
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +4 -122
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +77 -50
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +85 -42
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +60 -72
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +2544 -65
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +159 -44
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +7 -36
- 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 +86 -30
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +65 -34
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +196 -48
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +23 -135
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +54 -38
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +102 -12470
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +53 -52
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +223 -103
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +66 -75
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +46 -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 +60 -15
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +47 -670
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +112 -162
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +53 -318
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +54 -341
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +72 -453
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +75 -331
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +44 -76
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +30 -67
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +30 -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 +34 -517
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +48 -259
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +127 -185
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +36 -113
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +12464 -134
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +14 -181
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +55 -683
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +93 -167
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +71 -225
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +176 -215
- 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 +675 -0
- package/dist/es/standards-sdk.es210.js.map +1 -0
- package/dist/es/standards-sdk.es211.js +76 -0
- package/dist/es/standards-sdk.es211.js.map +1 -0
- package/dist/es/standards-sdk.es212.js +175 -0
- package/dist/es/standards-sdk.es212.js.map +1 -0
- package/dist/es/standards-sdk.es213.js +325 -0
- package/dist/es/standards-sdk.es213.js.map +1 -0
- package/dist/es/standards-sdk.es214.js +349 -0
- package/dist/es/standards-sdk.es214.js.map +1 -0
- package/dist/es/standards-sdk.es215.js +456 -0
- package/dist/es/standards-sdk.es215.js.map +1 -0
- package/dist/es/standards-sdk.es216.js +334 -0
- package/dist/es/standards-sdk.es216.js.map +1 -0
- package/dist/es/standards-sdk.es217.js +79 -0
- package/dist/es/standards-sdk.es217.js.map +1 -0
- package/dist/es/standards-sdk.es218.js +142 -0
- package/dist/es/standards-sdk.es218.js.map +1 -0
- package/dist/es/standards-sdk.es219.js +520 -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 +262 -0
- package/dist/es/standards-sdk.es220.js.map +1 -0
- package/dist/es/standards-sdk.es221.js +199 -0
- package/dist/es/standards-sdk.es221.js.map +1 -0
- package/dist/es/standards-sdk.es222.js +122 -0
- package/dist/es/standards-sdk.es222.js.map +1 -0
- package/dist/es/standards-sdk.es223.js +155 -0
- package/dist/es/standards-sdk.es223.js.map +1 -0
- package/dist/es/standards-sdk.es224.js +187 -0
- package/dist/es/standards-sdk.es224.js.map +1 -0
- package/dist/es/standards-sdk.es225.js +687 -0
- package/dist/es/standards-sdk.es225.js.map +1 -0
- package/dist/es/standards-sdk.es226.js +188 -0
- package/dist/es/standards-sdk.es226.js.map +1 -0
- package/dist/es/standards-sdk.es227.js +238 -0
- package/dist/es/standards-sdk.es227.js.map +1 -0
- package/dist/es/standards-sdk.es228.js +242 -0
- package/dist/es/standards-sdk.es228.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- 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,15 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { isJsonObject, readString, readSubjectAdditional } from "./standards-sdk.es198.js";
|
|
2
|
+
import "./standards-sdk.es182.js";
|
|
3
|
+
import "./standards-sdk.es195.js";
|
|
4
|
+
import "./standards-sdk.es196.js";
|
|
5
|
+
import "./standards-sdk.es197.js";
|
|
6
|
+
const ENDPOINT_KEYS = [
|
|
7
|
+
"endpoint",
|
|
8
|
+
"url",
|
|
9
|
+
"serverUrl",
|
|
10
|
+
"endpointUrl",
|
|
11
|
+
"baseUrl"
|
|
12
|
+
];
|
|
13
|
+
function readEndpointKeys(record) {
|
|
14
|
+
if (!record) {
|
|
15
|
+
return null;
|
|
10
16
|
}
|
|
17
|
+
for (const key of ENDPOINT_KEYS) {
|
|
18
|
+
const value = record[key];
|
|
19
|
+
if (typeof value === "string" && /^https?:\/\//.test(value)) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
function resolveSubjectEndpoint(subject) {
|
|
26
|
+
const metadata = subject.metadata;
|
|
27
|
+
if (metadata) {
|
|
28
|
+
const direct = readEndpointKeys(metadata);
|
|
29
|
+
if (direct) {
|
|
30
|
+
return direct;
|
|
31
|
+
}
|
|
32
|
+
const endpoints = metadata.endpoints;
|
|
33
|
+
if (Array.isArray(endpoints)) {
|
|
34
|
+
for (const entry of endpoints) {
|
|
35
|
+
if (isJsonObject(entry)) {
|
|
36
|
+
const url = readString(entry, "url");
|
|
37
|
+
if (url && /^https?:\/\//.test(url)) {
|
|
38
|
+
return url;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return readEndpointKeys(readSubjectAdditional(subject));
|
|
11
45
|
}
|
|
12
46
|
export {
|
|
13
|
-
|
|
47
|
+
resolveSubjectEndpoint
|
|
14
48
|
};
|
|
15
49
|
//# 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,163 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { readMetadataRecord, readString } from "./standards-sdk.es198.js";
|
|
2
|
+
import "./standards-sdk.es182.js";
|
|
3
|
+
import "./standards-sdk.es195.js";
|
|
4
|
+
import "./standards-sdk.es196.js";
|
|
5
|
+
import "./standards-sdk.es197.js";
|
|
6
|
+
import { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
|
|
7
|
+
import { Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
|
|
8
|
+
const DEFAULT_EXCLUDED_REGISTRIES = [
|
|
9
|
+
"openrouter",
|
|
10
|
+
"near-ai"
|
|
11
|
+
];
|
|
12
|
+
function minutesSince(timestamp, now) {
|
|
13
|
+
const ms = Date.parse(timestamp);
|
|
14
|
+
if (Number.isNaN(ms)) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return Math.max(0, (now.getTime() - ms) / 6e4);
|
|
14
18
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return Array.from(value);
|
|
19
|
+
function missingResult(now, reason) {
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
signalId: "availability.probe",
|
|
23
|
+
status: "missing",
|
|
24
|
+
fields: [
|
|
25
|
+
{
|
|
26
|
+
scope: "root",
|
|
27
|
+
values: {
|
|
28
|
+
availabilityScore: null,
|
|
29
|
+
availabilityCheckedAt: now.toISOString(),
|
|
30
|
+
availabilityReason: reason,
|
|
31
|
+
availabilitySource: "probe",
|
|
32
|
+
availabilityStatus: "missing"
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
return Array.from(value);
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
},
|
|
37
|
-
2
|
|
38
|
-
);
|
|
39
|
-
} catch {
|
|
40
|
-
return String(data);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function setLoggerFactory(factory) {
|
|
44
|
-
loggerFactory = factory;
|
|
45
|
-
Logger.clearInstances();
|
|
46
|
-
}
|
|
47
|
-
const _Logger = class _Logger {
|
|
48
|
-
constructor(options = {}) {
|
|
49
|
-
if (loggerFactory) {
|
|
50
|
-
return loggerFactory(options);
|
|
35
|
+
]
|
|
51
36
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
function createAvailabilitySignalAdapter(options = {}) {
|
|
40
|
+
const resolveEndpoint = options.resolveEndpoint ?? resolveSubjectEndpoint;
|
|
41
|
+
const method = options.method ?? "auto";
|
|
42
|
+
const collect = async (subject, context) => {
|
|
43
|
+
const { now } = context;
|
|
44
|
+
const results = [];
|
|
45
|
+
const metrics = readMetadataRecord(subject, "metrics");
|
|
46
|
+
const lastActiveAt = metrics ? readString(metrics, "lastActiveAt") : null;
|
|
47
|
+
if (lastActiveAt !== null) {
|
|
48
|
+
const mins = minutesSince(lastActiveAt, now);
|
|
49
|
+
if (mins !== null) {
|
|
50
|
+
results.push({
|
|
51
|
+
signalId: "availability.last_seen",
|
|
52
|
+
status: "ok",
|
|
53
|
+
value: mins,
|
|
54
|
+
fields: [{ scope: "metrics", values: { minsFromLastOnline: mins } }],
|
|
55
|
+
provenance: {
|
|
56
|
+
source: "metadata",
|
|
57
|
+
subjectId: subject.id,
|
|
58
|
+
fetchedAt: now.toISOString()
|
|
59
|
+
}
|
|
60
|
+
});
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
}
|
|
84
|
-
}
|
|
85
|
-
setModule(module) {
|
|
86
|
-
this.moduleContext = module;
|
|
87
|
-
}
|
|
88
|
-
formatArgs(args) {
|
|
89
|
-
if (args.length === 0) {
|
|
90
|
-
return { msg: "" };
|
|
91
|
-
}
|
|
92
|
-
if (args.length === 1) {
|
|
93
|
-
if (typeof args[0] === "string") {
|
|
94
|
-
return { msg: args[0] };
|
|
63
|
+
const endpoint = resolveEndpoint(subject);
|
|
64
|
+
if (!endpoint) {
|
|
65
|
+
if (results.length > 0) {
|
|
66
|
+
return results;
|
|
95
67
|
}
|
|
96
|
-
return
|
|
68
|
+
return missingResult(now, "no endpoint metadata");
|
|
97
69
|
}
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
70
|
+
const started = now.getTime();
|
|
71
|
+
try {
|
|
72
|
+
const attempt = async (verb) => {
|
|
73
|
+
const response = await context.fetch(endpoint, {
|
|
74
|
+
method: verb,
|
|
75
|
+
headers: options.headers,
|
|
76
|
+
signal: context.signal
|
|
77
|
+
});
|
|
78
|
+
return response.status;
|
|
79
|
+
};
|
|
80
|
+
let status;
|
|
81
|
+
if (method === "auto") {
|
|
82
|
+
try {
|
|
83
|
+
status = await attempt("HEAD");
|
|
84
|
+
if (status === 405 || status === 501) {
|
|
85
|
+
status = await attempt("GET");
|
|
86
|
+
}
|
|
87
|
+
} catch (error) {
|
|
88
|
+
if (error instanceof Hcs25CollectorHttpError) {
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
status = await attempt("GET");
|
|
92
|
+
}
|
|
103
93
|
} else {
|
|
104
|
-
|
|
94
|
+
status = await attempt(method);
|
|
105
95
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
96
|
+
const latencyMs = Date.now() - started;
|
|
97
|
+
const reachable = status < 500;
|
|
98
|
+
results.push({
|
|
99
|
+
signalId: "availability.probe",
|
|
100
|
+
status: "ok",
|
|
101
|
+
value: reachable ? 1 : 0,
|
|
102
|
+
fields: [
|
|
103
|
+
{
|
|
104
|
+
scope: "root",
|
|
105
|
+
values: {
|
|
106
|
+
availabilityScore: reachable ? 1 : 0,
|
|
107
|
+
availabilityCheckedAt: now.toISOString(),
|
|
108
|
+
availabilityLatencyMs: latencyMs,
|
|
109
|
+
availabilityReason: reachable ? "reachable" : `endpoint returned HTTP ${status}`,
|
|
110
|
+
availabilitySource: "probe",
|
|
111
|
+
availabilityStatus: "ok"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
provenance: {
|
|
116
|
+
source: "probe",
|
|
117
|
+
sourceUrl: endpoint,
|
|
118
|
+
subjectId: subject.id,
|
|
119
|
+
fetchedAt: now.toISOString()
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return results;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
const timedOut = isTimeoutError(error);
|
|
125
|
+
const statusValue = timedOut ? "timeout" : "error";
|
|
126
|
+
results.push({
|
|
127
|
+
signalId: "availability.probe",
|
|
128
|
+
status: statusValue,
|
|
129
|
+
fields: [
|
|
130
|
+
{
|
|
131
|
+
scope: "root",
|
|
132
|
+
values: {
|
|
133
|
+
availabilityCheckedAt: now.toISOString(),
|
|
134
|
+
availabilityReason: error instanceof Error ? error.message : String(error),
|
|
135
|
+
availabilitySource: "probe",
|
|
136
|
+
availabilityStatus: statusValue
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
provenance: {
|
|
141
|
+
source: "probe",
|
|
142
|
+
sourceUrl: endpoint,
|
|
143
|
+
subjectId: subject.id,
|
|
144
|
+
fetchedAt: now.toISOString()
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
return results;
|
|
154
148
|
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
this.writeLog("error", ...args);
|
|
167
|
-
}
|
|
168
|
-
trace(...args) {
|
|
169
|
-
this.writeLog("trace", ...args);
|
|
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;
|
|
149
|
+
};
|
|
150
|
+
return {
|
|
151
|
+
id: "availability",
|
|
152
|
+
produces: ["availability.probe", "availability.last_seen"],
|
|
153
|
+
timeoutMs: options.timeoutMs,
|
|
154
|
+
includeRegistries: options.includeRegistries,
|
|
155
|
+
excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
|
|
156
|
+
appliesTo: options.appliesTo,
|
|
157
|
+
collect
|
|
158
|
+
};
|
|
159
|
+
}
|
|
181
160
|
export {
|
|
182
|
-
|
|
183
|
-
setLoggerFactory
|
|
161
|
+
createAvailabilitySignalAdapter
|
|
184
162
|
};
|
|
185
163
|
//# 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":"AAuBA,IAAI,gBAAsC;AAE1C,SAAS,mBAAmB,OAAuC;AACjE,QAAM,iBAA0C;AAAA,IAC9C,MAAM,MAAM;AAAA,IACZ,SAAS,MAAM;AAAA,EAAA;AAGjB,MAAI,MAAM,OAAO;AACf,mBAAe,QAAQ,MAAM;AAAA,EAC/B;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD,mBAAe,GAAG,IAAI;AAAA,EACxB;AAEA,SAAO;AACT;AAEA,SAAS,iBAAiB,MAAuB;AAC/C,MAAI;AACF,WAAO,KAAK;AAAA,MACV;AAAA,MACA,CAAC,MAAM,UAAmB;AACxB,YAAI,iBAAiB,OAAO;AAC1B,iBAAO,mBAAmB,KAAK;AAAA,QACjC;AACA,YAAI,OAAO,UAAU,UAAU;AAC7B,iBAAO,MAAM,SAAA;AAAA,QACf;AACA,YAAI,iBAAiB,KAAK;AACxB,iBAAO,OAAO,YAAY,KAAK;AAAA,QACjC;AACA,YAAI,iBAAiB,KAAK;AACxB,iBAAO,MAAM,KAAK,KAAK;AAAA,QACzB;AACA,YAAI,iBAAiB,YAAY;AAC/B,iBAAO,MAAM,KAAK,KAAK;AAAA,QACzB;AACA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ,QAAQ;AACN,WAAO,OAAO,IAAI;AAAA,EACpB;AACF;AAKO,SAAS,iBAAiB,SAA8B;AAC7D,kBAAgB;AAChB,SAAO,eAAA;AACT;AAEO,MAAM,UAAN,MAAM,QAA0B;AAAA,EAOrC,YAAY,UAAyB,IAAI;AACvC,QAAI,eAAe;AACjB,aAAO,cAAc,OAAO;AAAA,IAC9B;AAEA,UAAM,gBACJ,OAAO,YAAY,eAAe,QAAQ,KAAK,iBAAiB;AAElE,SAAK,SAAS,QAAQ,UAAU;AAChC,SAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ,SAAS;AACvD,SAAK,gBAAgB,QAAQ,UAAU;AACvC,SAAK,cAAc,CAAC,KAAK,UAAU,QAAQ,gBAAgB;AAAA,EAC7D;AAAA,EAEA,OAAO,YAAY,UAAyB,IAAa;AACvD,UAAM,YAAY,QAAQ,UAAU;AAEpC,UAAM,gBACJ,OAAO,YAAY,eAAe,QAAQ,KAAK,iBAAiB;AAElE,QAAI,iBAAiB,QAAO,UAAU,IAAI,SAAS,GAAG;AACpD,YAAM,iBAAiB,QAAO,UAAU,IAAI,SAAS;AACrD,UAAI,eAAe,SAAA,MAAe,UAAU;AAC1C,gBAAO,UAAU,OAAO,SAAS;AAAA,MACnC;AAAA,IACF;AAEA,QAAI,CAAC,QAAO,UAAU,IAAI,SAAS,GAAG;AACpC,YAAM,SAAS,gBACX,cAAc,OAAO,IACrB,IAAI,QAAO,OAAO;AACtB,cAAO,UAAU,IAAI,WAAW,MAAM;AAAA,IACxC;AAEA,WAAO,QAAO,UAAU,IAAI,SAAS;AAAA,EACvC;AAAA,EAEA,YAAY,OAAuB;AACjC,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,WAAqB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,UAAU,QAAuB;AAC/B,SAAK,SAAS;AACd,QAAI,QAAQ;AACV,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAU,QAAsB;AAC9B,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEQ,WAAW,MAA0C;AAC3D,QAAI,KAAK,WAAW,GAAG;AACrB,aAAO,EAAE,KAAK,GAAA;AAAA,IAChB;AAEA,QAAI,KAAK,WAAW,GAAG;AACrB,UAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAC/B,eAAO,EAAE,KAAK,KAAK,CAAC,EAAA;AAAA,MACtB;AACA,aAAO,EAAE,KAAK,IAAI,MAAM,KAAK,CAAC,EAAA;AAAA,IAChC;AAEA,UAAM,aAAuB,CAAA;AAC7B,UAAM,aAAoB,CAAA;AAE1B,SAAK,QAAQ,CAAA,QAAO;AAClB,UACE,OAAO,QAAQ,YACf,OAAO,QAAQ,YACf,OAAO,QAAQ,WACf;AACA,mBAAW,KAAK,OAAO,GAAG,CAAC;AAAA,MAC7B,OAAO;AACL,mBAAW,KAAK,GAAG;AAAA,MACrB;AAAA,IACF,CAAC;AAED,UAAM,MAAM,WAAW,KAAK,GAAG;AAC/B,WAAO,WAAW,SAAS,IAAI,EAAE,KAAK,MAAM,eAAe,EAAE,IAAA;AAAA,EAC/D;AAAA,EAEQ,UAAU,OAA0B;AAC1C,QAAI,KAAK,UAAU,KAAK,UAAU,UAAU;AAC1C,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,CAAC,SAAS,SAAS,QAAQ,QAAQ,SAAS,QAAQ;AACnE,UAAM,oBAAoB,OAAO,QAAQ,KAAK,KAAK;AACnD,UAAM,mBAAmB,OAAO,QAAQ,KAAK;AAE7C,WAAO,oBAAoB;AAAA,EAC7B;AAAA,EAEQ,iBAAiB,OAA2C;AAClE,QAAI,UAAU,SAAS;AACrB,aAAO,QAAQ;AAAA,IACjB;AACA,QAAI,UAAU,QAAQ;AACpB,aAAO,QAAQ;AAAA,IACjB;AACA,QAAI,UAAU,SAAS;AACrB,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQ;AAAA,EACjB;AAAA,EAEQ,SAAS,UAAoB,MAAmB;AACtD,QAAI,CAAC,KAAK,UAAU,KAAK,GAAG;AAC1B;AAAA,IACF;AAEA,UAAM,EAAE,KAAK,KAAA,IAAS,KAAK,WAAW,IAAI;AAC1C,UAAM,aAAY,oBAAI,KAAA,GAAO,YAAA;AAC7B,UAAM,gBAAgB,KAAK,iBAAiB,KAAK;AAEjD,QAAI,KAAK,aAAa;AACpB,YAAM,iBAAiB,MAAM,YAAA,EAAc,OAAO,CAAC;AACnD,UAAI,SAAS,GAAG,SAAS,IAAI,cAAc,KAAK,KAAK,aAAa,KAAK,GAAG;AAE1E,UAAI,MAAM;AACR,kBAAU,OAAO,iBAAiB,IAAI;AAAA,MACxC;AAEA,oBAAc,MAAM;AAAA,IACtB,OAAO;AACL,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,QACA,QAAQ,KAAK;AAAA,QACb,SAAS;AAAA,QACT,GAAI,QAAQ,EAAE,KAAA;AAAA,MAAK;AAGrB,oBAAc,KAAK,UAAU,MAAM,CAAC;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,SAAS,MAAmB;AAC1B,SAAK,SAAS,SAAS,GAAG,IAAI;AAAA,EAChC;AAAA,EAEA,QAAQ,MAAmB;AACzB,SAAK,SAAS,QAAQ,GAAG,IAAI;AAAA,EAC/B;AAAA,EAEA,QAAQ,MAAmB;AACzB,SAAK,SAAS,QAAQ,GAAG,IAAI;AAAA,EAC/B;AAAA,EAEA,SAAS,MAAmB;AAC1B,SAAK,SAAS,SAAS,GAAG,IAAI;AAAA,EAChC;AAAA,EAEA,SAAS,MAAmB;AAC1B,SAAK,SAAS,SAAS,GAAG,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,iBAAuB;AAC5B,YAAO,UAAU,MAAA;AAAA,EACnB;AACF;AAhLE,QAAe,gCAAsC,IAAA;AADhD,IAAM,SAAN;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es128.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,32 +1,172 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
adapter.getLevel = () => iLogger.getLevel();
|
|
11
|
-
adapter.setSilent = (silent) => iLogger.setSilent(silent);
|
|
12
|
-
adapter.setModule = (module) => iLogger.setModule(module);
|
|
13
|
-
adapter.logger = { level: iLogger.getLevel() };
|
|
14
|
-
adapter.moduleContext = "";
|
|
15
|
-
adapter.formatArgs = () => ({ msg: "" });
|
|
16
|
-
return adapter;
|
|
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;
|
|
17
10
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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" }
|
|
30
|
+
}
|
|
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;
|
|
24
39
|
}
|
|
25
|
-
|
|
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
|
+
};
|
|
26
165
|
}
|
|
27
166
|
export {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
167
|
+
a2aConnectivityProbe,
|
|
168
|
+
createConnectivitySignalAdapter,
|
|
169
|
+
httpConnectivityProbe,
|
|
170
|
+
mcpConnectivityProbe
|
|
31
171
|
};
|
|
32
172
|
//# sourceMappingURL=standards-sdk.es129.js.map
|