@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,84 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
+
import { readSubjectAdditional, readNumber, readString, isJsonObject } from "./standards-sdk.es198.js";
|
|
3
|
+
import "./standards-sdk.es182.js";
|
|
4
|
+
import "./standards-sdk.es195.js";
|
|
5
|
+
import "./standards-sdk.es196.js";
|
|
6
|
+
import "./standards-sdk.es197.js";
|
|
7
|
+
const DEFAULT_EXCLUDED_REGISTRIES = [
|
|
8
|
+
"openrouter",
|
|
9
|
+
"near-ai"
|
|
8
10
|
];
|
|
9
|
-
const
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
function normalizeDomain(value) {
|
|
14
|
-
return value.trim().replace(/\.$/, "").toLowerCase();
|
|
15
|
-
}
|
|
16
|
-
function isFqdn(value) {
|
|
17
|
-
const normalized = normalizeDomain(value);
|
|
18
|
-
if (!normalized || normalized.length > 253 || !normalized.includes(".")) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
const labels = normalized.split(".");
|
|
22
|
-
for (const label of labels) {
|
|
23
|
-
if (!label || label.length > 63 || !fqdnLabelRegex.test(label)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
function normalizeTxtValue(value) {
|
|
30
|
-
const trimmed = value.trim();
|
|
31
|
-
if (trimmed.length >= 2 && trimmed.startsWith('"') && trimmed.endsWith('"')) {
|
|
32
|
-
return trimmed.slice(1, -1);
|
|
33
|
-
}
|
|
34
|
-
const markdownLinkMatch = trimmed.match(/^\[(.+)\]\((.+)\)$/);
|
|
35
|
-
if (markdownLinkMatch) {
|
|
36
|
-
return markdownLinkMatch[2].trim();
|
|
11
|
+
const MISSING = { value: 0, status: "missing" };
|
|
12
|
+
function connectivityStatus(status, score, ok) {
|
|
13
|
+
if (score !== null) {
|
|
14
|
+
return status === "stale" ? { value: ok.value, status: "stale" } : ok;
|
|
37
15
|
}
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
function parseSemicolonFields(input) {
|
|
41
|
-
const fields = {};
|
|
42
|
-
for (const part of input.split(";")) {
|
|
43
|
-
const trimmed = part.trim();
|
|
44
|
-
if (!trimmed) {
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
const equalsIndex = trimmed.indexOf("=");
|
|
48
|
-
if (equalsIndex <= 0) {
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
const key = trimmed.slice(0, equalsIndex).trim();
|
|
52
|
-
const value = normalizeTxtValue(trimmed.slice(equalsIndex + 1));
|
|
53
|
-
if (!key || !value) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
fields[key] = value;
|
|
16
|
+
if (status === "timeout" || status === "error") {
|
|
17
|
+
return { value: 0, status };
|
|
57
18
|
}
|
|
58
|
-
return
|
|
19
|
+
return MISSING;
|
|
59
20
|
}
|
|
60
|
-
function
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
21
|
+
function createConnectivityAdapter(options = {}) {
|
|
22
|
+
const targets = options.targets ?? [];
|
|
23
|
+
const excludeRegistries = options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES;
|
|
24
|
+
if (targets.length === 0) {
|
|
25
|
+
return {
|
|
26
|
+
id: "connectivity",
|
|
27
|
+
weight: 1,
|
|
28
|
+
contributionMode: "conditional",
|
|
29
|
+
excludeRegistries,
|
|
30
|
+
defaultComponentKey: "connectivity.score",
|
|
31
|
+
components: [
|
|
32
|
+
{
|
|
33
|
+
name: "score",
|
|
34
|
+
nonScorableWhenUnavailable: true,
|
|
35
|
+
normalize: ({ subject }) => {
|
|
36
|
+
const additional = readSubjectAdditional(subject);
|
|
37
|
+
const score = readNumber(additional, "connectivityScore");
|
|
38
|
+
const status = readString(additional, "connectivityStatus");
|
|
39
|
+
return connectivityStatus(status, score, {
|
|
40
|
+
value: clampScore(score ?? 0),
|
|
41
|
+
status: "ok"
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
};
|
|
73
47
|
}
|
|
74
|
-
return
|
|
48
|
+
return {
|
|
49
|
+
id: "connectivity",
|
|
50
|
+
weight: 1,
|
|
51
|
+
contributionMode: "conditional",
|
|
52
|
+
excludeRegistries,
|
|
53
|
+
components: targets.map((target) => ({
|
|
54
|
+
name: target,
|
|
55
|
+
nonScorableWhenUnavailable: true,
|
|
56
|
+
normalize: ({ subject }) => {
|
|
57
|
+
const additional = readSubjectAdditional(subject);
|
|
58
|
+
const status = readString(additional, "connectivityStatus");
|
|
59
|
+
const stored = additional.connectivityTargets;
|
|
60
|
+
if (!isJsonObject(stored)) {
|
|
61
|
+
return connectivityStatus(status, null, MISSING);
|
|
62
|
+
}
|
|
63
|
+
const score = readNumber(stored, target);
|
|
64
|
+
return connectivityStatus(status, score, {
|
|
65
|
+
value: clampScore(score ?? 0),
|
|
66
|
+
status: "ok"
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}))
|
|
70
|
+
};
|
|
75
71
|
}
|
|
76
72
|
export {
|
|
77
|
-
|
|
78
|
-
isFqdn,
|
|
79
|
-
normalizeDomain,
|
|
80
|
-
normalizeTxtValue,
|
|
81
|
-
parseSemicolonFields,
|
|
82
|
-
uaidTargetFromParsed
|
|
73
|
+
createConnectivityAdapter
|
|
83
74
|
};
|
|
84
75
|
//# sourceMappingURL=standards-sdk.es188.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es188.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es188.js","sources":["../../src/hcs-25/adapters/connectivity.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type { Hcs25AdapterDefinition, Hcs25NormalizedValue } from '../types';\nimport {\n isJsonObject,\n readNumber,\n readString,\n readSubjectAdditional,\n} from '../signals';\n\n/**\n * Options for the connectivity probe adapter. The adapter is\n * implementation-specific: probes are performed by signal adapters and their\n * results are stored on the subject record.\n */\nexport interface Hcs25ConnectivityAdapterOptions {\n /**\n * Probe target identifiers. When provided, one `connectivity.<target>`\n * component is emitted per target from the stored\n * `metadata.additional.connectivityTargets` record. When omitted, a single\n * `connectivity.score` component is emitted from\n * `metadata.additional.connectivityScore`.\n */\n targets?: readonly string[];\n /** Registries where a connectivity probe is not meaningful. */\n excludeRegistries?: readonly string[];\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\n/**\n * Maps a stored `connectivityStatus` onto the normalized result: `stale`\n * keeps the stored score with a stale status (the scoring layer applies the\n * stale multiplier), `timeout`/`error` without a score surface as those\n * statuses, and anything else falls back to ok/missing.\n */\nfunction connectivityStatus(\n status: string | null,\n score: number | null,\n ok: Hcs25NormalizedValue,\n): Hcs25NormalizedValue {\n if (score !== null) {\n return status === 'stale' ? { value: ok.value, status: 'stale' } : ok;\n }\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n}\n\n/**\n * Creates the `connectivity` adapter: scores stored connectivity probe\n * results. Contribution is conditional, so subjects without probe results\n * stay out of the denominator.\n */\nexport function createConnectivityAdapter(\n options: Hcs25ConnectivityAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const targets = options.targets ?? [];\n const excludeRegistries =\n options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES;\n\n if (targets.length === 0) {\n return {\n id: 'connectivity',\n weight: 1,\n contributionMode: 'conditional',\n excludeRegistries,\n defaultComponentKey: 'connectivity.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'connectivityScore');\n const status = readString(additional, 'connectivityStatus');\n return connectivityStatus(status, score, {\n value: clampScore(score ?? 0),\n status: 'ok',\n });\n },\n },\n ],\n };\n }\n\n return {\n id: 'connectivity',\n weight: 1,\n contributionMode: 'conditional',\n excludeRegistries,\n components: targets.map(target => ({\n name: target,\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const status = readString(additional, 'connectivityStatus');\n const stored = additional.connectivityTargets;\n if (!isJsonObject(stored)) {\n return connectivityStatus(status, null, MISSING);\n }\n const score = readNumber(stored, target);\n return connectivityStatus(status, score, {\n value: clampScore(score ?? 0),\n status: 'ok',\n });\n },\n })),\n };\n}\n"],"names":[],"mappings":";;;;;;AA2BA,MAAM,8BAAiD;AAAA,EACrD;AAAA,EACA;AACF;AAEA,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAQ1D,SAAS,mBACP,QACA,OACA,IACsB;AACtB,MAAI,UAAU,MAAM;AAClB,WAAO,WAAW,UAAU,EAAE,OAAO,GAAG,OAAO,QAAQ,YAAY;AAAA,EACrE;AACA,MAAI,WAAW,aAAa,WAAW,SAAS;AAC9C,WAAO,EAAE,OAAO,GAAG,OAAA;AAAA,EACrB;AACA,SAAO;AACT;AAOO,SAAS,0BACd,UAA2C,IACnB;AACxB,QAAM,UAAU,QAAQ,WAAW,CAAA;AACnC,QAAM,oBACJ,QAAQ,qBAAqB;AAE/B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB;AAAA,MACA,qBAAqB;AAAA,MACrB,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,4BAA4B;AAAA,UAC5B,WAAW,CAAC,EAAE,cAAoC;AAChD,kBAAM,aAAa,sBAAsB,OAAO;AAChD,kBAAM,QAAQ,WAAW,YAAY,mBAAmB;AACxD,kBAAM,SAAS,WAAW,YAAY,oBAAoB;AAC1D,mBAAO,mBAAmB,QAAQ,OAAO;AAAA,cACvC,OAAO,WAAW,SAAS,CAAC;AAAA,cAC5B,QAAQ;AAAA,YAAA,CACT;AAAA,UACH;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB;AAAA,IACA,YAAY,QAAQ,IAAI,CAAA,YAAW;AAAA,MACjC,MAAM;AAAA,MACN,4BAA4B;AAAA,MAC5B,WAAW,CAAC,EAAE,cAAoC;AAChD,cAAM,aAAa,sBAAsB,OAAO;AAChD,cAAM,SAAS,WAAW,YAAY,oBAAoB;AAC1D,cAAM,SAAS,WAAW;AAC1B,YAAI,CAAC,aAAa,MAAM,GAAG;AACzB,iBAAO,mBAAmB,QAAQ,MAAM,OAAO;AAAA,QACjD;AACA,cAAM,QAAQ,WAAW,QAAQ,MAAM;AACvC,eAAO,mBAAmB,QAAQ,OAAO;AAAA,UACvC,OAAO,WAAW,SAAS,CAAC;AAAA,UAC5B,QAAQ;AAAA,QAAA,CACT;AAAA,MACH;AAAA,IAAA,EACA;AAAA,EAAA;AAEN;"}
|
|
@@ -1,203 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
value
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
function normalizeAnsVersion(value) {
|
|
22
|
-
const trimmed = value.trim();
|
|
23
|
-
if (!trimmed) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const withoutPrefix = trimmed.startsWith("v") || trimmed.startsWith("V") ? trimmed.slice(1) : trimmed;
|
|
27
|
-
if (!isSemver(withoutPrefix)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return withoutPrefix;
|
|
31
|
-
}
|
|
32
|
-
function parseAnsDnsTxtRecord(rawRecord) {
|
|
33
|
-
const fields = parseSemicolonFields(rawRecord);
|
|
34
|
-
const version = fields["v"];
|
|
35
|
-
const urlValue = fields["url"];
|
|
36
|
-
if (!version || !urlValue || version.toLowerCase() !== "ans1") {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
let parsedUrl;
|
|
40
|
-
try {
|
|
41
|
-
parsedUrl = new URL(urlValue);
|
|
42
|
-
} catch {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
if (parsedUrl.protocol.toLowerCase() !== "https:") {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
const rawAnsVersion = fields["version"];
|
|
49
|
-
let normalizedAnsVersion;
|
|
50
|
-
if (rawAnsVersion !== void 0) {
|
|
51
|
-
const parsedVersion = normalizeAnsVersion(rawAnsVersion);
|
|
52
|
-
if (!parsedVersion) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
normalizedAnsVersion = parsedVersion;
|
|
56
|
-
}
|
|
1
|
+
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
+
import { readMetadataRecord, readNumber } from "./standards-sdk.es198.js";
|
|
3
|
+
import "./standards-sdk.es182.js";
|
|
4
|
+
import "./standards-sdk.es195.js";
|
|
5
|
+
import "./standards-sdk.es196.js";
|
|
6
|
+
import "./standards-sdk.es197.js";
|
|
7
|
+
import { clampUnit } from "./standards-sdk.es183.js";
|
|
8
|
+
const DEFAULT_INCLUDED_REGISTRIES = ["erc-8004"];
|
|
9
|
+
const MISSING = { value: 0, status: "missing" };
|
|
10
|
+
function normalizeRating(subject) {
|
|
11
|
+
const summary = readMetadataRecord(subject, "erc8004FeedbackSummary");
|
|
12
|
+
const averageScore = summary ? readNumber(summary, "averageScore") : null;
|
|
13
|
+
return averageScore === null ? MISSING : { value: clampScore(averageScore), status: "ok" };
|
|
14
|
+
}
|
|
15
|
+
function createErc8004FeedbackAdapter(options = {}) {
|
|
16
|
+
const volumeWeight = options.volumeWeight ?? 10;
|
|
17
|
+
const volumeCap = options.volumeCap ?? 20;
|
|
57
18
|
return {
|
|
58
|
-
|
|
59
|
-
|
|
19
|
+
id: "erc8004-feedback",
|
|
20
|
+
weight: 1,
|
|
21
|
+
contributionMode: "scoped",
|
|
22
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
23
|
+
components: [
|
|
24
|
+
{
|
|
25
|
+
name: "rating",
|
|
26
|
+
normalize: ({ subject }) => normalizeRating(subject)
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "volume",
|
|
30
|
+
normalize: ({ subject }) => {
|
|
31
|
+
const summary = readMetadataRecord(subject, "erc8004FeedbackSummary");
|
|
32
|
+
const totalFeedbacks = summary ? readNumber(summary, "totalFeedbacks") : null;
|
|
33
|
+
if (totalFeedbacks === null) {
|
|
34
|
+
return MISSING;
|
|
35
|
+
}
|
|
36
|
+
const volumeRaw = Math.min(
|
|
37
|
+
volumeCap,
|
|
38
|
+
Math.log10(totalFeedbacks + 1) * volumeWeight
|
|
39
|
+
);
|
|
40
|
+
return {
|
|
41
|
+
value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),
|
|
42
|
+
status: "ok"
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
]
|
|
60
47
|
};
|
|
61
48
|
}
|
|
62
|
-
function isValidAnsProfileVersion(value) {
|
|
63
|
-
return !!value && normalizeAnsVersion(value) !== null;
|
|
64
|
-
}
|
|
65
|
-
function hasProtocolPathSegment(pathname, protocol) {
|
|
66
|
-
const normalizedProtocol = protocol.trim().toLowerCase();
|
|
67
|
-
if (!normalizedProtocol) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
const pathSegments = pathname.split("/").map((segment) => segment.trim()).filter((segment) => segment.length > 0);
|
|
71
|
-
for (const segment of pathSegments) {
|
|
72
|
-
if (segment.toLowerCase() === normalizedProtocol) {
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
function extractEndpointCandidates(endpoints, supportedSchemes) {
|
|
79
|
-
const candidates = [];
|
|
80
|
-
for (const [key, value] of Object.entries(endpoints)) {
|
|
81
|
-
if (!isObjectRecord(value)) {
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
const endpoint = asString(value["url"]);
|
|
85
|
-
if (!endpoint) {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
let parsedUrl;
|
|
89
|
-
try {
|
|
90
|
-
parsedUrl = new URL(endpoint);
|
|
91
|
-
} catch {
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
const scheme = parsedUrl.protocol.replace(/:$/, "").toLowerCase();
|
|
95
|
-
if (!supportedSchemes.has(scheme)) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
candidates.push({
|
|
99
|
-
key,
|
|
100
|
-
endpointUrl: parsedUrl.toString(),
|
|
101
|
-
parsedUrl
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return candidates;
|
|
105
|
-
}
|
|
106
|
-
function validateAnsHcs27Hints(input) {
|
|
107
|
-
if (!isObjectRecord(input)) {
|
|
108
|
-
return void 0;
|
|
109
|
-
}
|
|
110
|
-
const checkpointTopicId = asString(input["checkpoint_topic_id"]);
|
|
111
|
-
const registry = asString(input["registry"]);
|
|
112
|
-
const logId = asString(input["log_id"]);
|
|
113
|
-
if (!checkpointTopicId || !registry || !logId || registry !== ANS_HCS27_REGISTRY) {
|
|
114
|
-
return void 0;
|
|
115
|
-
}
|
|
116
|
-
const checkpointUri = asString(input["checkpoint_uri"]) ?? void 0;
|
|
117
|
-
const viewerUri = asString(input["viewer_uri"]) ?? void 0;
|
|
118
|
-
return {
|
|
119
|
-
checkpointTopicId,
|
|
120
|
-
registry,
|
|
121
|
-
logId,
|
|
122
|
-
checkpointUri,
|
|
123
|
-
viewerUri
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
function validateHcs28Hints(input) {
|
|
127
|
-
if (!isObjectRecord(input)) {
|
|
128
|
-
return void 0;
|
|
129
|
-
}
|
|
130
|
-
const directoryTopicId = asString(input["directory_topic_id"]);
|
|
131
|
-
const tId = asString(input["t_id"]);
|
|
132
|
-
const agentId = asString(input["agent_id"]);
|
|
133
|
-
if (!directoryTopicId || !tId || !agentId) {
|
|
134
|
-
return void 0;
|
|
135
|
-
}
|
|
136
|
-
const proofProfile = asString(input["proof_profile"]) ?? void 0;
|
|
137
|
-
return {
|
|
138
|
-
directoryTopicId,
|
|
139
|
-
tId,
|
|
140
|
-
agentId,
|
|
141
|
-
proofProfile
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
function parseTransparencyHints(input) {
|
|
145
|
-
if (!isObjectRecord(input)) {
|
|
146
|
-
return void 0;
|
|
147
|
-
}
|
|
148
|
-
const hcs27 = validateAnsHcs27Hints(input["hcs27"]);
|
|
149
|
-
const hcs28 = validateHcs28Hints(input["hcs28"]);
|
|
150
|
-
if (!hcs27 && !hcs28) {
|
|
151
|
-
return void 0;
|
|
152
|
-
}
|
|
153
|
-
return {
|
|
154
|
-
hcs27,
|
|
155
|
-
hcs28
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
function parseAnsAgentCard(input) {
|
|
159
|
-
if (!isObjectRecord(input)) {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
const ansName = asString(input["ansName"]);
|
|
163
|
-
const endpoints = input["endpoints"];
|
|
164
|
-
if (!ansName || !isObjectRecord(endpoints)) {
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
return {
|
|
168
|
-
ansName,
|
|
169
|
-
endpoints,
|
|
170
|
-
transparencyHints: parseTransparencyHints(input["transparency"])
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
function selectPreferredEndpoint(candidates, protocol) {
|
|
174
|
-
if (candidates.length === 0) {
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
const sortedCandidates = [...candidates].sort(
|
|
178
|
-
(a, b) => a.key.localeCompare(b.key)
|
|
179
|
-
);
|
|
180
|
-
const protocolMatches = sortedCandidates.filter(
|
|
181
|
-
(candidate) => hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol)
|
|
182
|
-
);
|
|
183
|
-
if (protocolMatches.length > 0) {
|
|
184
|
-
return protocolMatches[0];
|
|
185
|
-
}
|
|
186
|
-
return sortedCandidates[0];
|
|
187
|
-
}
|
|
188
|
-
function toErrorMessage(error) {
|
|
189
|
-
if (error instanceof Error && error.message) {
|
|
190
|
-
return error.message;
|
|
191
|
-
}
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
49
|
export {
|
|
195
|
-
|
|
196
|
-
isValidAnsProfileVersion,
|
|
197
|
-
normalizeAnsVersion,
|
|
198
|
-
parseAnsAgentCard,
|
|
199
|
-
parseAnsDnsTxtRecord,
|
|
200
|
-
selectPreferredEndpoint,
|
|
201
|
-
toErrorMessage
|
|
50
|
+
createErc8004FeedbackAdapter
|
|
202
51
|
};
|
|
203
52
|
//# sourceMappingURL=standards-sdk.es189.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es189.js","sources":["../../src/hcs-14/resolvers/ans-dns-web-profile-utils.ts"],"sourcesContent":["import type {\n ProfileResolutionHcs27TransparencyHints,\n ProfileResolutionHcs28TransparencyHints,\n ProfileResolutionTransparencyHints,\n} from './types';\nimport { parseSemicolonFields } from './profile-utils';\n\nexport interface AnsDnsTxtRecord {\n version?: string;\n url: string;\n}\n\nexport interface AnsEndpointCandidate {\n key: string;\n endpointUrl: string;\n parsedUrl: URL;\n}\n\nexport interface ParsedAnsAgentCard {\n ansName: string;\n endpoints: Record<string, unknown>;\n transparencyHints?: ProfileResolutionTransparencyHints;\n}\n\nconst ANS_HCS27_REGISTRY = 'ans';\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asString(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n return trimmed;\n}\n\nfunction isSemver(value: string): boolean {\n return /^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/.test(\n value,\n );\n}\n\nexport function normalizeAnsVersion(value: string): string | null {\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n const withoutPrefix =\n trimmed.startsWith('v') || trimmed.startsWith('V')\n ? trimmed.slice(1)\n : trimmed;\n if (!isSemver(withoutPrefix)) {\n return null;\n }\n return withoutPrefix;\n}\n\nexport function parseAnsDnsTxtRecord(\n rawRecord: string,\n): AnsDnsTxtRecord | null {\n const fields = parseSemicolonFields(rawRecord);\n const version = fields['v'];\n const urlValue = fields['url'];\n if (!version || !urlValue || version.toLowerCase() !== 'ans1') {\n return null;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(urlValue);\n } catch {\n return null;\n }\n\n if (parsedUrl.protocol.toLowerCase() !== 'https:') {\n return null;\n }\n\n const rawAnsVersion = fields['version'];\n let normalizedAnsVersion: string | undefined;\n if (rawAnsVersion !== undefined) {\n const parsedVersion = normalizeAnsVersion(rawAnsVersion);\n if (!parsedVersion) {\n return null;\n }\n normalizedAnsVersion = parsedVersion;\n }\n\n return {\n version: normalizedAnsVersion,\n url: parsedUrl.toString(),\n };\n}\n\nexport function isValidAnsProfileVersion(value: string | undefined): boolean {\n return !!value && normalizeAnsVersion(value) !== null;\n}\n\nfunction hasProtocolPathSegment(pathname: string, protocol: string): boolean {\n const normalizedProtocol = protocol.trim().toLowerCase();\n if (!normalizedProtocol) {\n return false;\n }\n\n const pathSegments = pathname\n .split('/')\n .map(segment => segment.trim())\n .filter(segment => segment.length > 0);\n for (const segment of pathSegments) {\n if (segment.toLowerCase() === normalizedProtocol) {\n return true;\n }\n }\n return false;\n}\n\nexport function extractEndpointCandidates(\n endpoints: Record<string, unknown>,\n supportedSchemes: Set<string>,\n): AnsEndpointCandidate[] {\n const candidates: AnsEndpointCandidate[] = [];\n for (const [key, value] of Object.entries(endpoints)) {\n if (!isObjectRecord(value)) {\n continue;\n }\n const endpoint = asString(value['url']);\n if (!endpoint) {\n continue;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(endpoint);\n } catch {\n continue;\n }\n\n const scheme = parsedUrl.protocol.replace(/:$/, '').toLowerCase();\n if (!supportedSchemes.has(scheme)) {\n continue;\n }\n\n candidates.push({\n key,\n endpointUrl: parsedUrl.toString(),\n parsedUrl,\n });\n }\n\n return candidates;\n}\n\nfunction validateAnsHcs27Hints(\n input: unknown,\n): ProfileResolutionHcs27TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const checkpointTopicId = asString(input['checkpoint_topic_id']);\n const registry = asString(input['registry']);\n const logId = asString(input['log_id']);\n if (\n !checkpointTopicId ||\n !registry ||\n !logId ||\n registry !== ANS_HCS27_REGISTRY\n ) {\n return undefined;\n }\n const checkpointUri = asString(input['checkpoint_uri']) ?? undefined;\n const viewerUri = asString(input['viewer_uri']) ?? undefined;\n return {\n checkpointTopicId,\n registry,\n logId,\n checkpointUri,\n viewerUri,\n };\n}\n\nfunction validateHcs28Hints(\n input: unknown,\n): ProfileResolutionHcs28TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const directoryTopicId = asString(input['directory_topic_id']);\n const tId = asString(input['t_id']);\n const agentId = asString(input['agent_id']);\n if (!directoryTopicId || !tId || !agentId) {\n return undefined;\n }\n const proofProfile = asString(input['proof_profile']) ?? undefined;\n return {\n directoryTopicId,\n tId,\n agentId,\n proofProfile,\n };\n}\n\nfunction parseTransparencyHints(\n input: unknown,\n): ProfileResolutionTransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const hcs27 = validateAnsHcs27Hints(input['hcs27']);\n const hcs28 = validateHcs28Hints(input['hcs28']);\n if (!hcs27 && !hcs28) {\n return undefined;\n }\n return {\n hcs27,\n hcs28,\n };\n}\n\nexport function parseAnsAgentCard(input: unknown): ParsedAnsAgentCard | null {\n if (!isObjectRecord(input)) {\n return null;\n }\n const ansName = asString(input['ansName']);\n const endpoints = input['endpoints'];\n if (!ansName || !isObjectRecord(endpoints)) {\n return null;\n }\n return {\n ansName,\n endpoints,\n transparencyHints: parseTransparencyHints(input['transparency']),\n };\n}\n\nexport function selectPreferredEndpoint(\n candidates: AnsEndpointCandidate[],\n protocol: string,\n): AnsEndpointCandidate | null {\n if (candidates.length === 0) {\n return null;\n }\n\n const sortedCandidates = [...candidates].sort((a, b) =>\n a.key.localeCompare(b.key),\n );\n const protocolMatches = sortedCandidates.filter(candidate =>\n hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol),\n );\n if (protocolMatches.length > 0) {\n return protocolMatches[0];\n }\n return sortedCandidates[0];\n}\n\nexport function toErrorMessage(error: unknown): string | null {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n return null;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es189.js","sources":["../../src/hcs-25/adapters/erc8004-feedback.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readMetadataRecord, readNumber } from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the ERC-8004 feedback adapter.\n */\nexport interface Hcs25Erc8004FeedbackAdapterOptions {\n /** Multiplier applied to log10 of the feedback count. Default 10. */\n volumeWeight?: number;\n /** Cap on the raw volume score before normalization. Default 20. */\n volumeCap?: number;\n /** Registries where ERC-8004 feedback applies. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['erc-8004'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction normalizeRating(subject: Hcs25Subject): Hcs25NormalizedValue {\n const summary = readMetadataRecord(subject, 'erc8004FeedbackSummary');\n const averageScore = summary ? readNumber(summary, 'averageScore') : null;\n return averageScore === null\n ? MISSING\n : { value: clampScore(averageScore), status: 'ok' };\n}\n\n/**\n * Creates the `erc8004-feedback` adapter: converts an ERC-8004 feedback\n * summary (average rating plus feedback volume) into trust components,\n * log-scaling volume so a single rating cannot dominate.\n */\nexport function createErc8004FeedbackAdapter(\n options: Hcs25Erc8004FeedbackAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const volumeWeight = options.volumeWeight ?? 10;\n const volumeCap = options.volumeCap ?? 20;\n\n return {\n id: 'erc8004-feedback',\n weight: 1,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n components: [\n {\n name: 'rating',\n normalize: ({ subject }) => normalizeRating(subject),\n },\n {\n name: 'volume',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const summary = readMetadataRecord(subject, 'erc8004FeedbackSummary');\n const totalFeedbacks = summary\n ? readNumber(summary, 'totalFeedbacks')\n : null;\n if (totalFeedbacks === null) {\n return MISSING;\n }\n const volumeRaw = Math.min(\n volumeCap,\n Math.log10(totalFeedbacks + 1) * volumeWeight,\n );\n return {\n value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),\n status: 'ok',\n };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;AAqBA,MAAM,8BAAiD,CAAC,UAAU;AAElE,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,SAAS,gBAAgB,SAA6C;AACpE,QAAM,UAAU,mBAAmB,SAAS,wBAAwB;AACpE,QAAM,eAAe,UAAU,WAAW,SAAS,cAAc,IAAI;AACrE,SAAO,iBAAiB,OACpB,UACA,EAAE,OAAO,WAAW,YAAY,GAAG,QAAQ,KAAA;AACjD;AAOO,SAAS,6BACd,UAA8C,IACtB;AACxB,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,YAAY,QAAQ,aAAa;AAEvC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,QAAA,MAAc,gBAAgB,OAAO;AAAA,MAAA;AAAA,MAErD;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU,mBAAmB,SAAS,wBAAwB;AACpE,gBAAM,iBAAiB,UACnB,WAAW,SAAS,gBAAgB,IACpC;AACJ,cAAI,mBAAmB,MAAM;AAC3B,mBAAO;AAAA,UACT;AACA,gBAAM,YAAY,KAAK;AAAA,YACrB;AAAA,YACA,KAAK,MAAM,iBAAiB,CAAC,IAAI;AAAA,UAAA;AAEnC,iBAAO;AAAA,YACL,OAAO,WAAW,MAAM,UAAU,YAAY,SAAS,CAAC;AAAA,YACxD,QAAQ;AAAA,UAAA;AAAA,QAEZ;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { KeyList, TopicCreateTransaction, AccountId, Transaction, TopicMessageSubmitTransaction, Hbar } from "@hashgraph/sdk";
|
|
2
|
-
import { Logger } from "./standards-sdk.
|
|
2
|
+
import { Logger } from "./standards-sdk.es147.js";
|
|
3
3
|
import "axios";
|
|
4
4
|
import "@hashgraph/proto";
|
|
5
|
-
import { ProgressReporter } from "./standards-sdk.
|
|
5
|
+
import { ProgressReporter } from "./standards-sdk.es150.js";
|
|
6
6
|
import "buffer";
|
|
7
7
|
import "@noble/curves/secp256k1.js";
|
|
8
8
|
import "zod";
|
|
9
|
-
import "./standards-sdk.
|
|
10
|
-
import "./standards-sdk.
|
|
11
|
-
import "./standards-sdk.
|
|
9
|
+
import "./standards-sdk.es177.js";
|
|
10
|
+
import "./standards-sdk.es171.js";
|
|
11
|
+
import "./standards-sdk.es175.js";
|
|
12
12
|
import "ethers";
|
|
13
|
-
import "./standards-sdk.
|
|
14
|
-
import "./standards-sdk.
|
|
15
|
-
import { getTopicId } from "./standards-sdk.
|
|
16
|
-
import { InscriptionSDK } from "./standards-sdk.
|
|
13
|
+
import "./standards-sdk.es164.js";
|
|
14
|
+
import "./standards-sdk.es155.js";
|
|
15
|
+
import { getTopicId } from "./standards-sdk.es156.js";
|
|
16
|
+
import { InscriptionSDK } from "./standards-sdk.es204.js";
|
|
17
17
|
import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es16.js";
|
|
18
18
|
import * as mime from "mime-types";
|
|
19
19
|
import { AgentBuilder } from "./standards-sdk.es23.js";
|
|
20
20
|
import { HCS11Client } from "./standards-sdk.es27.js";
|
|
21
|
-
import { inscribeWithSigner } from "./standards-sdk.
|
|
21
|
+
import { inscribeWithSigner } from "./standards-sdk.es166.js";
|
|
22
22
|
const isBrowser = typeof window !== "undefined";
|
|
23
23
|
class BrowserHCSClient extends HCS10BaseClient {
|
|
24
24
|
constructor(config) {
|
|
@@ -1,20 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
+
import { readMetadataRecord, readNumber, readString } from "./standards-sdk.es198.js";
|
|
3
|
+
import "./standards-sdk.es182.js";
|
|
4
|
+
import "./standards-sdk.es195.js";
|
|
5
|
+
import "./standards-sdk.es196.js";
|
|
6
|
+
import "./standards-sdk.es197.js";
|
|
7
|
+
import { clampUnit } from "./standards-sdk.es183.js";
|
|
8
|
+
const DEFAULT_EXCLUDED_REGISTRIES = [
|
|
9
|
+
"openrouter",
|
|
10
|
+
"near-ai",
|
|
11
|
+
"agentverse",
|
|
12
|
+
"uagent"
|
|
13
|
+
];
|
|
14
|
+
const MISSING_SCORE = { value: 0, status: "missing" };
|
|
15
|
+
function normalizeEthos(subject, baselineScore, maxScore, maxContribution) {
|
|
16
|
+
const metadata = subject.metadata;
|
|
17
|
+
const composite = readMetadataRecord(subject, "ethosComposite");
|
|
18
|
+
const compositeScore = composite ? readNumber(composite, "score") : null;
|
|
19
|
+
const flatScore = metadata ? readNumber(metadata, "ethosScore") : null;
|
|
20
|
+
const status = metadata ? readString(metadata, "ethosScoreStatus") : null;
|
|
21
|
+
const rawScore = compositeScore ?? flatScore;
|
|
22
|
+
if (rawScore === null) {
|
|
23
|
+
if (status === "error" || status === "timeout") {
|
|
24
|
+
return { value: 0, status };
|
|
25
|
+
}
|
|
26
|
+
if (status === "ok") {
|
|
27
|
+
return { value: 0, status: "missing" };
|
|
28
|
+
}
|
|
29
|
+
return MISSING_SCORE;
|
|
15
30
|
}
|
|
31
|
+
const denominator = maxScore - baselineScore;
|
|
32
|
+
if (denominator <= 0) {
|
|
33
|
+
return {
|
|
34
|
+
value: clampScore(maxContribution),
|
|
35
|
+
status: status === "stale" ? "stale" : "ok"
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const normalized = clampUnit((rawScore - baselineScore) / denominator);
|
|
39
|
+
return {
|
|
40
|
+
value: clampScore(maxContribution * normalized),
|
|
41
|
+
status: status === "stale" ? "stale" : "ok"
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function createEthosAdapter(options = {}) {
|
|
45
|
+
const baselineScore = options.baselineScore ?? 1200;
|
|
46
|
+
const maxScore = options.maxScore ?? 2e3;
|
|
47
|
+
const maxContribution = options.maxContribution ?? 100;
|
|
48
|
+
return {
|
|
49
|
+
id: "ethos",
|
|
50
|
+
weight: 1,
|
|
51
|
+
contributionMode: "universal",
|
|
52
|
+
excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
|
|
53
|
+
defaultComponentKey: "ethos.score",
|
|
54
|
+
components: [
|
|
55
|
+
{
|
|
56
|
+
name: "score",
|
|
57
|
+
normalize: ({ subject }) => normalizeEthos(subject, baselineScore, maxScore, maxContribution)
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
};
|
|
16
61
|
}
|
|
17
62
|
export {
|
|
18
|
-
|
|
63
|
+
createEthosAdapter
|
|
19
64
|
};
|
|
20
65
|
//# sourceMappingURL=standards-sdk.es190.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es190.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es190.js","sources":["../../src/hcs-25/adapters/ethos.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readMetadataRecord, readNumber, readString } from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the Ethos credibility adapter.\n */\nexport interface Hcs25EthosAdapterOptions {\n /** Raw Ethos score that maps to a zero contribution. Default 1200. */\n baselineScore?: number;\n /** Raw Ethos score that maps to the maximum contribution. Default 2000. */\n maxScore?: number;\n /** Maximum contribution budget in `[0,100]`. Default 100. */\n maxContribution?: number;\n /** Registries where Ethos identity mapping is undefined. */\n excludeRegistries?: readonly string[];\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n 'agentverse',\n 'uagent',\n];\n\nconst MISSING_SCORE: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction normalizeEthos(\n subject: Hcs25Subject,\n baselineScore: number,\n maxScore: number,\n maxContribution: number,\n): Hcs25NormalizedValue {\n const metadata = subject.metadata;\n const composite = readMetadataRecord(subject, 'ethosComposite');\n const compositeScore = composite ? readNumber(composite, 'score') : null;\n const flatScore = metadata ? readNumber(metadata, 'ethosScore') : null;\n const status = metadata ? readString(metadata, 'ethosScoreStatus') : null;\n\n const rawScore = compositeScore ?? flatScore;\n if (rawScore === null) {\n if (status === 'error' || status === 'timeout') {\n return { value: 0, status };\n }\n if (status === 'ok') {\n return { value: 0, status: 'missing' };\n }\n return MISSING_SCORE;\n }\n\n const denominator = maxScore - baselineScore;\n if (denominator <= 0) {\n return {\n value: clampScore(maxContribution),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n }\n\n const normalized = clampUnit((rawScore - baselineScore) / denominator);\n return {\n value: clampScore(maxContribution * normalized),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n}\n\n/**\n * Creates the `ethos` adapter: maps a raw Ethos reputation score into a\n * bounded trust contribution using configured baseline, max, and budget\n * anchors.\n */\nexport function createEthosAdapter(\n options: Hcs25EthosAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const baselineScore = options.baselineScore ?? 1200;\n const maxScore = options.maxScore ?? 2000;\n const maxContribution = options.maxContribution ?? 100;\n\n return {\n id: 'ethos',\n weight: 1,\n contributionMode: 'universal',\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n defaultComponentKey: 'ethos.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }) =>\n normalizeEthos(subject, baselineScore, maxScore, maxContribution),\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;AAuBA,MAAM,8BAAiD;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,gBAAsC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAEhE,SAAS,eACP,SACA,eACA,UACA,iBACsB;AACtB,QAAM,WAAW,QAAQ;AACzB,QAAM,YAAY,mBAAmB,SAAS,gBAAgB;AAC9D,QAAM,iBAAiB,YAAY,WAAW,WAAW,OAAO,IAAI;AACpE,QAAM,YAAY,WAAW,WAAW,UAAU,YAAY,IAAI;AAClE,QAAM,SAAS,WAAW,WAAW,UAAU,kBAAkB,IAAI;AAErE,QAAM,WAAW,kBAAkB;AACnC,MAAI,aAAa,MAAM;AACrB,QAAI,WAAW,WAAW,WAAW,WAAW;AAC9C,aAAO,EAAE,OAAO,GAAG,OAAA;AAAA,IACrB;AACA,QAAI,WAAW,MAAM;AACnB,aAAO,EAAE,OAAO,GAAG,QAAQ,UAAA;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,WAAW;AAC/B,MAAI,eAAe,GAAG;AACpB,WAAO;AAAA,MACL,OAAO,WAAW,eAAe;AAAA,MACjC,QAAQ,WAAW,UAAU,UAAU;AAAA,IAAA;AAAA,EAE3C;AAEA,QAAM,aAAa,WAAW,WAAW,iBAAiB,WAAW;AACrE,SAAO;AAAA,IACL,OAAO,WAAW,kBAAkB,UAAU;AAAA,IAC9C,QAAQ,WAAW,UAAU,UAAU;AAAA,EAAA;AAE3C;AAOO,SAAS,mBACd,UAAoC,IACZ;AACxB,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,kBAAkB,QAAQ,mBAAmB;AAEnD,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,qBAAqB;AAAA,IACrB,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,QAAA,MACZ,eAAe,SAAS,eAAe,UAAU,eAAe;AAAA,MAAA;AAAA,IACpE;AAAA,EACF;AAEJ;"}
|