@hashgraphonline/standards-sdk 0.1.189 → 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-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/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/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/standards-sdk.es.js +137 -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 +773 -434
- 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 +58 -668
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +45 -168
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +115 -315
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +51 -340
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +54 -448
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +72 -331
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +75 -76
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +44 -73
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +34 -15
- 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,108 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return intValue;
|
|
13
|
-
}
|
|
14
|
-
function buildHcs26TopicMemo(input) {
|
|
15
|
-
const indexed = input.indexed ?? true;
|
|
16
|
-
const ttlSeconds = toPositiveInt(
|
|
17
|
-
input.ttlSeconds ?? HCS26_DEFAULT_TTL_SECONDS
|
|
18
|
-
);
|
|
19
|
-
const topicType = hcs26TopicTypeEnumSchema.parse(input.topicType);
|
|
20
|
-
const indexedSegment = indexed ? "0" : "1";
|
|
21
|
-
return `${HCS26_PROTOCOL}:${indexedSegment}:${ttlSeconds}:${topicType}`;
|
|
22
|
-
}
|
|
23
|
-
function parseHcs26TopicMemo(memoRaw) {
|
|
24
|
-
const memo = memoRaw.trim();
|
|
25
|
-
if (!memo) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
const match = memo.match(/^hcs-26:(\d+):(\d+):(\d+)$/);
|
|
29
|
-
if (!match) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const indexedSegment = Number(match[1]);
|
|
33
|
-
const ttlSeconds = Number(match[2]);
|
|
34
|
-
const topicType = Number(match[3]);
|
|
35
|
-
if (![indexedSegment, ttlSeconds, topicType].every(Number.isFinite)) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
const parsedTopicType = hcs26TopicTypeEnumSchema.safeParse(topicType);
|
|
39
|
-
if (!parsedTopicType.success) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
if (indexedSegment !== 0 && indexedSegment !== 1) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
protocol: HCS26_PROTOCOL,
|
|
47
|
-
indexed: indexedSegment === 0,
|
|
48
|
-
ttlSeconds,
|
|
49
|
-
topicType: parsedTopicType.data
|
|
1
|
+
import { isJsonObject } 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
|
+
function applyCollectedFields(subject, fieldsList) {
|
|
7
|
+
if (fieldsList.length === 0) {
|
|
8
|
+
return subject;
|
|
9
|
+
}
|
|
10
|
+
const metadata = {
|
|
11
|
+
...subject.metadata ?? {}
|
|
50
12
|
};
|
|
13
|
+
for (const fields of fieldsList) {
|
|
14
|
+
if (fields.scope === "root") {
|
|
15
|
+
for (const [key, value] of Object.entries(fields.values)) {
|
|
16
|
+
metadata[key] = value;
|
|
17
|
+
}
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const scopeKey = fields.scope;
|
|
21
|
+
const existing = metadata[scopeKey];
|
|
22
|
+
const record = isJsonObject(existing) ? { ...existing } : {};
|
|
23
|
+
for (const [key, value] of Object.entries(fields.values)) {
|
|
24
|
+
record[key] = value;
|
|
25
|
+
}
|
|
26
|
+
metadata[scopeKey] = record;
|
|
27
|
+
}
|
|
28
|
+
return { ...subject, metadata };
|
|
51
29
|
}
|
|
52
|
-
function buildHcs26TransactionMemo(input) {
|
|
53
|
-
const operation = hcs26OperationEnumSchema.parse(input.operation);
|
|
54
|
-
const topicType = hcs26TopicTypeEnumSchema.parse(input.topicType);
|
|
55
|
-
return `${HCS26_PROTOCOL}:op:${operation}:${topicType}`;
|
|
56
|
-
}
|
|
57
|
-
function parseHcs26TransactionMemo(memoRaw) {
|
|
58
|
-
const memo = memoRaw.trim();
|
|
59
|
-
if (!memo) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
const match = memo.match(/^hcs-26:op:(\d+):(\d+)$/);
|
|
63
|
-
if (!match) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
const operation = Number(match[1]);
|
|
67
|
-
const topicType = Number(match[2]);
|
|
68
|
-
if (![operation, topicType].every(Number.isFinite)) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
const parsedOperation = hcs26OperationEnumSchema.safeParse(operation);
|
|
72
|
-
if (!parsedOperation.success) {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
const parsedTopicType = hcs26TopicTypeEnumSchema.safeParse(topicType);
|
|
76
|
-
if (!parsedTopicType.success) {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
protocol: HCS26_PROTOCOL,
|
|
81
|
-
operation: parsedOperation.data,
|
|
82
|
-
topicType: parsedTopicType.data
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const hcs26TopicMemoSchema = z.string().transform((value) => {
|
|
86
|
-
const parsed = parseHcs26TopicMemo(value);
|
|
87
|
-
if (!parsed) {
|
|
88
|
-
throw new Error("Invalid HCS-26 topic memo");
|
|
89
|
-
}
|
|
90
|
-
return parsed;
|
|
91
|
-
});
|
|
92
|
-
const hcs26TransactionMemoSchema = z.string().transform((value) => {
|
|
93
|
-
const parsed = parseHcs26TransactionMemo(value);
|
|
94
|
-
if (!parsed) {
|
|
95
|
-
throw new Error("Invalid HCS-26 transaction memo");
|
|
96
|
-
}
|
|
97
|
-
return parsed;
|
|
98
|
-
});
|
|
99
30
|
export {
|
|
100
|
-
|
|
101
|
-
buildHcs26TopicMemo,
|
|
102
|
-
buildHcs26TransactionMemo,
|
|
103
|
-
hcs26TopicMemoSchema,
|
|
104
|
-
hcs26TransactionMemoSchema,
|
|
105
|
-
parseHcs26TopicMemo,
|
|
106
|
-
parseHcs26TransactionMemo
|
|
31
|
+
applyCollectedFields
|
|
107
32
|
};
|
|
108
33
|
//# sourceMappingURL=standards-sdk.es124.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es124.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es124.js","sources":["../../src/hcs-25/collectors/merge.ts"],"sourcesContent":["import type { Hcs25JsonValue, Hcs25Subject } from '../types';\nimport { isJsonObject } from '../signals';\nimport type { Hcs25CollectedFields } from './types';\n\n/**\n * Immutably merges collected fields into a subject's metadata, honoring the\n * storage scopes documented by the HCS-25 signal catalog: `root` writes\n * `metadata.<key>`, `metrics` writes `metadata.metrics.<key>`, `additional`\n * writes `metadata.additional.<key>`, and any other scope string merges into\n * the `metadata.<scope>` record (e.g. `outputVerificationSummary`).\n */\nexport function applyCollectedFields(\n subject: Hcs25Subject,\n fieldsList: readonly Hcs25CollectedFields[],\n): Hcs25Subject {\n if (fieldsList.length === 0) {\n return subject;\n }\n\n const metadata: Record<string, Hcs25JsonValue> = {\n ...(subject.metadata ?? {}),\n };\n\n for (const fields of fieldsList) {\n if (fields.scope === 'root') {\n for (const [key, value] of Object.entries(fields.values)) {\n metadata[key] = value;\n }\n continue;\n }\n\n const scopeKey = fields.scope;\n const existing = metadata[scopeKey];\n const record: Record<string, Hcs25JsonValue> = isJsonObject(existing)\n ? { ...existing }\n : {};\n for (const [key, value] of Object.entries(fields.values)) {\n record[key] = value;\n }\n metadata[scopeKey] = record;\n }\n\n return { ...subject, metadata };\n}\n"],"names":[],"mappings":";;;;;AAWO,SAAS,qBACd,SACA,YACc;AACd,MAAI,WAAW,WAAW,GAAG;AAC3B,WAAO;AAAA,EACT;AAEA,QAAM,WAA2C;AAAA,IAC/C,GAAI,QAAQ,YAAY,CAAA;AAAA,EAAC;AAG3B,aAAW,UAAU,YAAY;AAC/B,QAAI,OAAO,UAAU,QAAQ;AAC3B,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AACxD,iBAAS,GAAG,IAAI;AAAA,MAClB;AACA;AAAA,IACF;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,WAAW,SAAS,QAAQ;AAClC,UAAM,SAAyC,aAAa,QAAQ,IAChE,EAAE,GAAG,SAAA,IACL,CAAA;AACJ,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AACxD,aAAO,GAAG,IAAI;AAAA,IAChB;AACA,aAAS,QAAQ,IAAI;AAAA,EACvB;AAEA,SAAO,EAAE,GAAG,SAAS,SAAA;AACvB;"}
|
|
@@ -1,163 +1,203 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (!
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
return
|
|
1
|
+
import { isValidSignalId, isValidAdapterId } from "./standards-sdk.es117.js";
|
|
2
|
+
import { applyCollectedFields } from "./standards-sdk.es124.js";
|
|
3
|
+
import { resolveFetch, Hcs25CollectorTimeoutError, isTimeoutError } from "./standards-sdk.es122.js";
|
|
4
|
+
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
5
|
+
function isSignalAdapterApplicable(rule, subject) {
|
|
6
|
+
if (rule.includeRegistries) {
|
|
7
|
+
if (subject.registry === void 0 || !rule.includeRegistries.includes(subject.registry)) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
if (rule.excludeRegistries && subject.registry !== void 0 && rule.excludeRegistries.includes(subject.registry)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (rule.appliesTo && !rule.appliesTo(subject)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
level: "info"
|
|
25
|
-
});
|
|
26
|
-
this.verificationProvider = config.verificationProvider;
|
|
27
|
-
this.resolver = new Hcs26SkillRegistryResolver({
|
|
28
|
-
network: this.network,
|
|
29
|
-
logger: this.logger,
|
|
30
|
-
mirrorNode: config.mirrorNode
|
|
31
|
-
});
|
|
19
|
+
function validateSignalAdapter(adapter) {
|
|
20
|
+
if (!isValidAdapterId(adapter.id)) {
|
|
21
|
+
throw new TypeError(
|
|
22
|
+
`invalid signal adapter id "${String(adapter.id)}": identifiers must match ^[a-z][a-z0-9]*(-[a-z][a-z0-9]*)*$`
|
|
23
|
+
);
|
|
32
24
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (!
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const versionRegistryTopicId = discovery.t_id;
|
|
43
|
-
const latestVersion = await this.resolver.getLatestVersionRegister({
|
|
44
|
-
versionRegistryTopicId,
|
|
45
|
-
skillUid: params.skillUid
|
|
46
|
-
});
|
|
47
|
-
if (!latestVersion) {
|
|
48
|
-
throw new Error(
|
|
49
|
-
`No active version entries found for skill ${params.skillUid} in version registry ${versionRegistryTopicId}`
|
|
25
|
+
if (!Array.isArray(adapter.produces) || adapter.produces.length === 0) {
|
|
26
|
+
throw new TypeError(
|
|
27
|
+
`signal adapter "${adapter.id}" must declare at least one produced signalId`
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
for (const signalId of adapter.produces) {
|
|
31
|
+
if (!isValidSignalId(signalId)) {
|
|
32
|
+
throw new TypeError(
|
|
33
|
+
`signal adapter "${adapter.id}" declares invalid signalId "${String(signalId)}"`
|
|
50
34
|
);
|
|
51
35
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
36
|
+
}
|
|
37
|
+
if (typeof adapter.collect !== "function") {
|
|
38
|
+
throw new TypeError(
|
|
39
|
+
`signal adapter "${adapter.id}" must declare a collect function`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function isStale(fetchedAt, staleAfterMs, now) {
|
|
44
|
+
if (!fetchedAt) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
const fetchedMs = Date.parse(fetchedAt);
|
|
48
|
+
if (Number.isNaN(fetchedMs)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return now.getTime() - fetchedMs > staleAfterMs;
|
|
52
|
+
}
|
|
53
|
+
function applyFreshness(result, staleAfterMs, now) {
|
|
54
|
+
if (staleAfterMs === void 0 || result.status !== "ok") {
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
const fetchedAt = result.provenance?.fetchedAt;
|
|
58
|
+
if (!isStale(fetchedAt, staleAfterMs, now)) {
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
...result,
|
|
63
|
+
status: "stale",
|
|
64
|
+
fields: markStatusFieldsStale(result.fields)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function markStatusFieldsStale(fields) {
|
|
68
|
+
if (!fields) {
|
|
69
|
+
return fields;
|
|
70
|
+
}
|
|
71
|
+
return fields.map((block) => {
|
|
72
|
+
const values = { ...block.values };
|
|
73
|
+
for (const key of Object.keys(values)) {
|
|
74
|
+
if (key.endsWith("Status") && typeof values[key] === "string") {
|
|
75
|
+
values[key] = "stale";
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
|
-
return {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
skillUid: params.skillUid,
|
|
99
|
-
limit: params.limit
|
|
100
|
-
});
|
|
78
|
+
return { ...block, values };
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function toSignal(result, now) {
|
|
82
|
+
return {
|
|
83
|
+
status: result.status,
|
|
84
|
+
value: result.value,
|
|
85
|
+
fetchedAt: result.provenance?.fetchedAt ?? now.toISOString(),
|
|
86
|
+
provenance: result.provenance
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function summarizeStatuses(counts) {
|
|
90
|
+
if (counts.has("error")) {
|
|
91
|
+
return "error";
|
|
92
|
+
}
|
|
93
|
+
if (counts.has("timeout")) {
|
|
94
|
+
return "timeout";
|
|
95
|
+
}
|
|
96
|
+
if (counts.size === 0) {
|
|
97
|
+
return "missing";
|
|
98
|
+
}
|
|
99
|
+
if ((counts.get("ok") ?? 0) > 0 || counts.has("stale")) {
|
|
100
|
+
return "ok";
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
return "missing";
|
|
103
|
+
}
|
|
104
|
+
async function collectHcs25Signals(subject, options) {
|
|
105
|
+
const fetch = resolveFetch(options.fetch);
|
|
106
|
+
const now = options.now ?? /* @__PURE__ */ new Date();
|
|
107
|
+
const snapshot = { ...options.previousSnapshot ?? {} };
|
|
108
|
+
const results = [];
|
|
109
|
+
let current = subject;
|
|
110
|
+
for (const adapter of options.adapters) {
|
|
111
|
+
validateSignalAdapter(adapter);
|
|
112
|
+
if (!isSignalAdapterApplicable(adapter, current)) {
|
|
113
|
+
results.push({
|
|
114
|
+
adapterId: adapter.id,
|
|
115
|
+
applicable: false,
|
|
116
|
+
signalIds: [],
|
|
117
|
+
status: "missing"
|
|
118
|
+
});
|
|
119
|
+
continue;
|
|
106
120
|
}
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
121
|
+
const timeoutMs = adapter.timeoutMs ?? options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
122
|
+
const controller = new AbortController();
|
|
123
|
+
let timer;
|
|
124
|
+
let adapterResults;
|
|
125
|
+
let runStatus;
|
|
126
|
+
let runError;
|
|
127
|
+
try {
|
|
128
|
+
adapterResults = await Promise.race([
|
|
129
|
+
adapter.collect(current, {
|
|
130
|
+
subject: current,
|
|
131
|
+
fetch,
|
|
132
|
+
timeoutMs,
|
|
133
|
+
now,
|
|
134
|
+
signal: controller.signal,
|
|
135
|
+
force: options.force === true
|
|
136
|
+
}),
|
|
137
|
+
new Promise((_resolve, reject) => {
|
|
138
|
+
timer = setTimeout(() => {
|
|
139
|
+
controller.abort();
|
|
140
|
+
reject(new Hcs25CollectorTimeoutError());
|
|
141
|
+
}, timeoutMs + 1);
|
|
142
|
+
})
|
|
143
|
+
]);
|
|
144
|
+
clearTimeout(timer);
|
|
145
|
+
if (adapterResults.length === 0) {
|
|
146
|
+
adapterResults = adapter.produces.filter((signalId) => !(signalId in snapshot)).map((signalId) => ({ signalId, status: "missing" }));
|
|
147
|
+
}
|
|
148
|
+
} catch (error) {
|
|
149
|
+
const status = isTimeoutError(error) ? "timeout" : "error";
|
|
150
|
+
runStatus = status;
|
|
151
|
+
runError = error instanceof Error ? error.message : String(error);
|
|
152
|
+
adapterResults = adapter.produces.map((signalId) => ({
|
|
153
|
+
signalId,
|
|
154
|
+
status
|
|
155
|
+
}));
|
|
114
156
|
}
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
157
|
+
const emitted = /* @__PURE__ */ new Set();
|
|
158
|
+
const statusCounts = /* @__PURE__ */ new Map();
|
|
159
|
+
const adapterFields = [];
|
|
160
|
+
for (const raw of adapterResults) {
|
|
161
|
+
if (!isValidSignalId(raw.signalId)) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const result = applyFreshness(raw, options.staleAfterMs, now);
|
|
165
|
+
emitted.add(result.signalId);
|
|
166
|
+
statusCounts.set(
|
|
167
|
+
result.status,
|
|
168
|
+
(statusCounts.get(result.status) ?? 0) + 1
|
|
169
|
+
);
|
|
170
|
+
snapshot[result.signalId] = toSignal(result, now);
|
|
171
|
+
if (result.fields) {
|
|
172
|
+
adapterFields.push(...result.fields);
|
|
173
|
+
}
|
|
124
174
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
175
|
+
if (adapterFields.length > 0) {
|
|
176
|
+
current = applyCollectedFields(current, adapterFields);
|
|
177
|
+
}
|
|
178
|
+
results.push({
|
|
179
|
+
adapterId: adapter.id,
|
|
180
|
+
applicable: true,
|
|
181
|
+
signalIds: [...emitted],
|
|
182
|
+
status: runStatus ?? summarizeStatuses(statusCounts),
|
|
183
|
+
error: runError
|
|
132
184
|
});
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
try {
|
|
139
|
-
verification = await provider.getSkillVerificationStatus({ name });
|
|
140
|
-
} catch (error) {
|
|
141
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
142
|
-
this.logger.warn(
|
|
143
|
-
`Failed to resolve verification status for skill "${name}": ${detail}`
|
|
144
|
-
);
|
|
145
|
-
verification = null;
|
|
185
|
+
}
|
|
186
|
+
if (options.staleAfterMs !== void 0) {
|
|
187
|
+
for (const [signalId, signal] of Object.entries(snapshot)) {
|
|
188
|
+
if (signal.status === "ok" && isStale(signal.fetchedAt, options.staleAfterMs, now)) {
|
|
189
|
+
snapshot[signalId] = { ...signal, status: "stale" };
|
|
146
190
|
}
|
|
147
191
|
}
|
|
148
|
-
return {
|
|
149
|
-
directoryTopicId: params.directoryTopicId,
|
|
150
|
-
skillUid: params.skillUid,
|
|
151
|
-
discovery,
|
|
152
|
-
versionRegistryTopicId,
|
|
153
|
-
versionEntry: target,
|
|
154
|
-
manifest,
|
|
155
|
-
manifestSha256Hex: sha256Hex,
|
|
156
|
-
...includeVerification ? { verification } : {}
|
|
157
|
-
};
|
|
158
192
|
}
|
|
193
|
+
return {
|
|
194
|
+
subject: current,
|
|
195
|
+
snapshot,
|
|
196
|
+
results
|
|
197
|
+
};
|
|
159
198
|
}
|
|
160
199
|
export {
|
|
161
|
-
|
|
200
|
+
collectHcs25Signals,
|
|
201
|
+
isSignalAdapterApplicable
|
|
162
202
|
};
|
|
163
203
|
//# sourceMappingURL=standards-sdk.es125.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es125.js","sources":["../../src/hcs-26/base-client.ts"],"sourcesContent":["import type { ILogger } from '../utils/logger';\nimport { Logger } from '../utils/logger';\nimport type { NetworkType } from '../utils/types';\nimport type { MirrorNodeConfig } from '../services/mirror-node';\nimport { Hcs26SkillRegistryResolver } from './resolver';\nimport type {\n Hcs26SkillManifest,\n Hcs26VersionRegister,\n Hcs26VersionRegisterLegacy,\n} from './types';\n\nexport type HCS26SkillVerificationStatus = {\n name: string;\n verified: boolean;\n previouslyVerified: boolean;\n pendingRequest?: unknown;\n};\n\nexport interface HCS26SkillVerificationProvider {\n getSkillVerificationStatus(params: {\n name: string;\n }): Promise<HCS26SkillVerificationStatus | null>;\n}\n\nexport interface HCS26ClientConfig {\n network: NetworkType;\n logger?: ILogger;\n mirrorNode?: MirrorNodeConfig;\n verificationProvider?: HCS26SkillVerificationProvider;\n}\n\nexport type HCS26DiscoveryRecord = {\n p: 'hcs-26';\n op: 'register';\n t_id: string;\n account_id: string;\n metadata: Record<string, unknown>;\n m?: string;\n sequence_number?: number;\n};\n\nexport type HCS26ResolvedSkill = {\n directoryTopicId: string;\n skillUid: number;\n discovery: HCS26DiscoveryRecord;\n versionRegistryTopicId: string;\n latestVersion:\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number });\n manifest: Hcs26SkillManifest;\n manifestSha256Hex: string;\n verification?: HCS26SkillVerificationStatus | null;\n};\n\nexport type HCS26ResolvedSkillVersion = Omit<\n HCS26ResolvedSkill,\n 'latestVersion'\n> & {\n versionEntry:\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number });\n};\n\nfunction getManifestTopicId(\n entry: Hcs26VersionRegister | Hcs26VersionRegisterLegacy,\n): string {\n const topicIdCandidate = (entry as { t_id?: unknown }).t_id;\n if (typeof topicIdCandidate === 'string' && topicIdCandidate.trim()) {\n return topicIdCandidate.trim();\n }\n\n const hrlCandidate = (entry as { manifest_hcs1?: unknown }).manifest_hcs1;\n if (typeof hrlCandidate !== 'string' || !hrlCandidate.trim()) {\n throw new Error('Missing manifest reference in version register entry');\n }\n\n const hrl = hrlCandidate.trim();\n const prefix = 'hcs://1/';\n if (!hrl.startsWith(prefix)) {\n throw new Error(`Invalid manifest HRL: ${hrl}`);\n }\n return hrl.slice(prefix.length);\n}\n\nexport class HCS26BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly resolver: Hcs26SkillRegistryResolver;\n protected readonly verificationProvider?: HCS26SkillVerificationProvider;\n\n constructor(config: HCS26ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ??\n Logger.getInstance({\n module: 'HCS26Client',\n level: 'info',\n });\n this.verificationProvider = config.verificationProvider;\n\n this.resolver = new Hcs26SkillRegistryResolver({\n network: this.network,\n logger: this.logger,\n mirrorNode: config.mirrorNode,\n });\n }\n\n async resolveSkill(params: {\n directoryTopicId: string;\n skillUid: number;\n discoveryScanLimit?: number;\n includeVerification?: boolean;\n }): Promise<HCS26ResolvedSkill | null> {\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return null;\n }\n\n const versionRegistryTopicId = discovery.t_id;\n const latestVersion = await this.resolver.getLatestVersionRegister({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n });\n\n if (!latestVersion) {\n throw new Error(\n `No active version entries found for skill ${params.skillUid} in version registry ${versionRegistryTopicId}`,\n );\n }\n\n const manifestTopicId = getManifestTopicId(latestVersion);\n const { manifest, sha256Hex } = await this.resolver.resolveManifest({\n manifestTopicId,\n });\n\n await this.resolver.verifyVersionRegisterMatchesManifest({\n versionRegister: latestVersion,\n manifestSha256Hex: sha256Hex,\n });\n\n let verification: HCS26SkillVerificationStatus | null | undefined;\n const provider = this.verificationProvider;\n const includeVerification = params.includeVerification === true;\n const name =\n typeof discovery.metadata?.name === 'string'\n ? discovery.metadata.name.trim()\n : '';\n\n if (includeVerification && provider && name) {\n try {\n verification = await provider.getSkillVerificationStatus({ name });\n } catch (error) {\n const detail = error instanceof Error ? error.message : String(error);\n this.logger.warn(\n `Failed to resolve verification status for skill \"${name}\": ${detail}`,\n );\n verification = null;\n }\n }\n\n return {\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n discovery,\n versionRegistryTopicId,\n latestVersion,\n manifest,\n manifestSha256Hex: sha256Hex,\n ...(includeVerification ? { verification } : {}),\n };\n }\n\n async listSkillVersions(params: {\n directoryTopicId: string;\n skillUid: number;\n discoveryScanLimit?: number;\n limit?: number;\n }): Promise<\n Array<\n | (Hcs26VersionRegister & { sequence_number?: number })\n | (Hcs26VersionRegisterLegacy & { sequence_number?: number })\n >\n > {\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return [];\n }\n\n const versionRegistryTopicId = discovery.t_id;\n return this.resolver.listVersionRegisters({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n limit: params.limit,\n });\n }\n\n async resolveSkillVersion(params: {\n directoryTopicId: string;\n skillUid: number;\n version: string;\n discoveryScanLimit?: number;\n includeVerification?: boolean;\n }): Promise<HCS26ResolvedSkillVersion | null> {\n const versionRaw = params.version.trim();\n if (!versionRaw) {\n throw new Error('version is required');\n }\n\n const discovery = (await this.resolver.resolveDiscoveryRecord({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n scanLimit: params.discoveryScanLimit,\n })) as HCS26DiscoveryRecord | null;\n\n if (!discovery) {\n return null;\n }\n\n const versionRegistryTopicId = discovery.t_id;\n const entries = await this.resolver.listVersionRegisters({\n versionRegistryTopicId,\n skillUid: params.skillUid,\n limit: 250,\n });\n\n const target = entries.find(entry => entry.version.trim() === versionRaw);\n if (!target) {\n return null;\n }\n\n const manifestTopicId = getManifestTopicId(target);\n const { manifest, sha256Hex } = await this.resolver.resolveManifest({\n manifestTopicId,\n });\n\n await this.resolver.verifyVersionRegisterMatchesManifest({\n versionRegister: target,\n manifestSha256Hex: sha256Hex,\n });\n\n let verification: HCS26SkillVerificationStatus | null | undefined;\n const provider = this.verificationProvider;\n const includeVerification = params.includeVerification === true;\n const name =\n typeof discovery.metadata?.name === 'string'\n ? discovery.metadata.name.trim()\n : '';\n\n if (includeVerification && provider && name) {\n try {\n verification = await provider.getSkillVerificationStatus({ name });\n } catch (error) {\n const detail = error instanceof Error ? error.message : String(error);\n this.logger.warn(\n `Failed to resolve verification status for skill \"${name}\": ${detail}`,\n );\n verification = null;\n }\n }\n\n return {\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n discovery,\n versionRegistryTopicId,\n versionEntry: target,\n manifest,\n manifestSha256Hex: sha256Hex,\n ...(includeVerification ? { verification } : {}),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es125.js","sources":["../../src/hcs-25/collectors/runner.ts"],"sourcesContent":["import { isValidAdapterId, isValidSignalId } from '../identifiers';\nimport type {\n Hcs25ApplicabilityRule,\n Hcs25Signal,\n Hcs25SignalSnapshot,\n Hcs25SignalStatus,\n Hcs25Subject,\n} from '../types';\nimport { applyCollectedFields } from './merge';\nimport {\n Hcs25CollectorTimeoutError,\n isTimeoutError,\n resolveFetch,\n} from './http';\nimport type {\n Hcs25CollectSignalsOptions,\n Hcs25CollectedFields,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n Hcs25SignalAdapterRunReport,\n Hcs25SignalCollection,\n} from './types';\n\nconst DEFAULT_TIMEOUT_MS = 30000;\n\n/**\n * Evaluates signal-adapter applicability using the same rule shape as trust\n * score adapters: registry include/exclude lists plus an optional\n * `appliesTo` predicate.\n */\nexport function isSignalAdapterApplicable(\n rule: Hcs25ApplicabilityRule,\n subject: Hcs25Subject,\n): boolean {\n if (rule.includeRegistries) {\n if (\n subject.registry === undefined ||\n !rule.includeRegistries.includes(subject.registry)\n ) {\n return false;\n }\n }\n if (\n rule.excludeRegistries &&\n subject.registry !== undefined &&\n rule.excludeRegistries.includes(subject.registry)\n ) {\n return false;\n }\n if (rule.appliesTo && !rule.appliesTo(subject)) {\n return false;\n }\n return true;\n}\n\nfunction validateSignalAdapter(adapter: Hcs25SignalAdapter): void {\n if (!isValidAdapterId(adapter.id)) {\n throw new TypeError(\n `invalid signal adapter id \"${String(adapter.id)}\": identifiers must match ^[a-z][a-z0-9]*(-[a-z][a-z0-9]*)*$`,\n );\n }\n if (!Array.isArray(adapter.produces) || adapter.produces.length === 0) {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" must declare at least one produced signalId`,\n );\n }\n for (const signalId of adapter.produces) {\n if (!isValidSignalId(signalId)) {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" declares invalid signalId \"${String(signalId)}\"`,\n );\n }\n }\n if (typeof adapter.collect !== 'function') {\n throw new TypeError(\n `signal adapter \"${adapter.id}\" must declare a collect function`,\n );\n }\n}\n\nfunction isStale(\n fetchedAt: string | undefined,\n staleAfterMs: number,\n now: Date,\n): boolean {\n if (!fetchedAt) {\n return false;\n }\n const fetchedMs = Date.parse(fetchedAt);\n if (Number.isNaN(fetchedMs)) {\n return false;\n }\n return now.getTime() - fetchedMs > staleAfterMs;\n}\n\nfunction applyFreshness(\n result: Hcs25SignalAdapterResult,\n staleAfterMs: number | undefined,\n now: Date,\n): Hcs25SignalAdapterResult {\n if (staleAfterMs === undefined || result.status !== 'ok') {\n return result;\n }\n const fetchedAt = result.provenance?.fetchedAt;\n if (!isStale(fetchedAt, staleAfterMs, now)) {\n return result;\n }\n return {\n ...result,\n status: 'stale',\n fields: markStatusFieldsStale(result.fields),\n };\n}\n\n/**\n * When a collected signal is stale, its stored `*Status` fields are rewritten\n * to `stale` so scoring adapters emit `status:'stale'` and the staleness\n * multiplier applies (per HCS-25 missing/stale rules).\n */\nfunction markStatusFieldsStale(\n fields: readonly Hcs25CollectedFields[] | undefined,\n): readonly Hcs25CollectedFields[] | undefined {\n if (!fields) {\n return fields;\n }\n return fields.map(block => {\n const values = { ...block.values };\n for (const key of Object.keys(values)) {\n if (key.endsWith('Status') && typeof values[key] === 'string') {\n values[key] = 'stale';\n }\n }\n return { ...block, values };\n });\n}\n\nfunction toSignal(result: Hcs25SignalAdapterResult, now: Date): Hcs25Signal {\n return {\n status: result.status,\n value: result.value,\n fetchedAt: result.provenance?.fetchedAt ?? now.toISOString(),\n provenance: result.provenance,\n };\n}\n\nfunction summarizeStatuses(\n counts: Map<Hcs25SignalStatus, number>,\n): Hcs25SignalAdapterRunReport['status'] {\n if (counts.has('error')) {\n return 'error';\n }\n if (counts.has('timeout')) {\n return 'timeout';\n }\n if (counts.size === 0) {\n return 'missing';\n }\n if ((counts.get('ok') ?? 0) > 0 || counts.has('stale')) {\n return 'ok';\n }\n return 'missing';\n}\n\n/**\n * Runs signal adapters for a subject: checks applicability, enforces\n * per-adapter time budgets, classifies failures into HCS-25 status codes,\n * marks stale signals per the configured freshness policy, merges collected\n * fields onto the subject record, and emits the signal snapshot.\n *\n * Carried-over `previousSnapshot` entries are preserved; when `staleAfterMs`\n * is configured, entries (new or carried) whose `fetchedAt` exceeds the\n * freshness window are marked `stale`.\n */\nexport async function collectHcs25Signals(\n subject: Hcs25Subject,\n options: Hcs25CollectSignalsOptions,\n): Promise<Hcs25SignalCollection> {\n const fetch = resolveFetch(options.fetch);\n const now = options.now ?? new Date();\n const snapshot: Hcs25SignalSnapshot = { ...(options.previousSnapshot ?? {}) };\n const results: Hcs25SignalAdapterRunReport[] = [];\n let current = subject;\n\n for (const adapter of options.adapters) {\n validateSignalAdapter(adapter);\n\n if (!isSignalAdapterApplicable(adapter, current)) {\n results.push({\n adapterId: adapter.id,\n applicable: false,\n signalIds: [],\n status: 'missing',\n });\n continue;\n }\n\n const timeoutMs =\n adapter.timeoutMs ?? options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n const controller = new AbortController();\n let timer: ReturnType<typeof setTimeout> | undefined;\n let adapterResults: readonly Hcs25SignalAdapterResult[];\n let runStatus: Hcs25SignalAdapterRunReport['status'] | undefined;\n let runError: string | undefined;\n\n try {\n adapterResults = await Promise.race([\n adapter.collect(current, {\n subject: current,\n fetch,\n timeoutMs,\n now,\n signal: controller.signal,\n force: options.force === true,\n }),\n new Promise<never>((_resolve, reject) => {\n timer = setTimeout(() => {\n controller.abort();\n reject(new Hcs25CollectorTimeoutError());\n }, timeoutMs + 1);\n }),\n ]);\n clearTimeout(timer);\n if (adapterResults.length === 0) {\n // An adapter returning no results means \"no changes\" (e.g. a\n // TTL-gated skip): carry over any existing snapshot entries and emit\n // `missing` placeholders only for signals never produced before.\n adapterResults = adapter.produces\n .filter(signalId => !(signalId in snapshot))\n .map(signalId => ({ signalId, status: 'missing' as const }));\n }\n } catch (error) {\n const status: Hcs25SignalStatus = isTimeoutError(error)\n ? 'timeout'\n : 'error';\n runStatus = status;\n runError = error instanceof Error ? error.message : String(error);\n adapterResults = adapter.produces.map(signalId => ({\n signalId,\n status,\n }));\n }\n\n const emitted = new Set<string>();\n const statusCounts = new Map<Hcs25SignalStatus, number>();\n const adapterFields: Hcs25CollectedFields[] = [];\n for (const raw of adapterResults) {\n if (!isValidSignalId(raw.signalId)) {\n continue;\n }\n const result = applyFreshness(raw, options.staleAfterMs, now);\n emitted.add(result.signalId);\n statusCounts.set(\n result.status,\n (statusCounts.get(result.status) ?? 0) + 1,\n );\n snapshot[result.signalId] = toSignal(result, now);\n if (result.fields) {\n adapterFields.push(...result.fields);\n }\n }\n // Merge each adapter's fields before the next adapter runs so later\n // adapters can consume metadata produced earlier in the same run\n // (e.g. an id resolved by one collector feeding a downstream source).\n if (adapterFields.length > 0) {\n current = applyCollectedFields(current, adapterFields);\n }\n\n results.push({\n adapterId: adapter.id,\n applicable: true,\n signalIds: [...emitted],\n status: runStatus ?? summarizeStatuses(statusCounts),\n error: runError,\n });\n }\n\n if (options.staleAfterMs !== undefined) {\n for (const [signalId, signal] of Object.entries(snapshot)) {\n if (\n signal.status === 'ok' &&\n isStale(signal.fetchedAt, options.staleAfterMs, now)\n ) {\n snapshot[signalId] = { ...signal, status: 'stale' };\n }\n }\n }\n\n return {\n subject: current,\n snapshot,\n results,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return {
|
|
14
|
-
async getSkillVerificationStatus(params) {
|
|
15
|
-
const status = await getSkillVerificationStatus(client, {
|
|
16
|
-
name: params.name
|
|
17
|
-
});
|
|
18
|
-
return mapVerification(status);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
class HCS26Client extends HCS26BaseClient {
|
|
23
|
-
constructor(config) {
|
|
24
|
-
const provider = config.verificationProvider ?? (config.registryBrokerClient ? createRegistryBrokerVerificationProvider(config.registryBrokerClient) : void 0);
|
|
25
|
-
super({
|
|
26
|
-
network: config.network,
|
|
27
|
-
logger: config.logger,
|
|
28
|
-
mirrorNode: config.mirrorNode,
|
|
29
|
-
verificationProvider: provider
|
|
30
|
-
});
|
|
31
|
-
}
|
|
1
|
+
import { computeTrustScore } from "./standards-sdk.es119.js";
|
|
2
|
+
import { collectHcs25Signals } from "./standards-sdk.es125.js";
|
|
3
|
+
async function collectAndScoreTrustScore(subject, options) {
|
|
4
|
+
const { config, ...collectOptions } = options;
|
|
5
|
+
const collection = await collectHcs25Signals(subject, collectOptions);
|
|
6
|
+
const record = computeTrustScore({
|
|
7
|
+
subject: collection.subject,
|
|
8
|
+
snapshot: collection.snapshot,
|
|
9
|
+
config,
|
|
10
|
+
now: collectOptions.now
|
|
11
|
+
});
|
|
12
|
+
return { collection, record };
|
|
32
13
|
}
|
|
33
14
|
export {
|
|
34
|
-
|
|
35
|
-
createRegistryBrokerVerificationProvider
|
|
15
|
+
collectAndScoreTrustScore
|
|
36
16
|
};
|
|
37
17
|
//# sourceMappingURL=standards-sdk.es126.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es126.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es126.js","sources":["../../src/hcs-25/collectors/pipeline.ts"],"sourcesContent":["import { computeTrustScore } from '../scoring';\nimport type {\n Hcs25ScoringConfigInput,\n Hcs25Subject,\n Hcs25TrustScoreRecord,\n} from '../types';\nimport { collectHcs25Signals } from './runner';\nimport type {\n Hcs25CollectSignalsOptions,\n Hcs25SignalCollection,\n} from './types';\n\nexport interface Hcs25CollectAndScoreOptions\n extends Hcs25CollectSignalsOptions {\n /** Scoring configuration (adapters, weights, modes) per HCS-25. */\n config: Hcs25ScoringConfigInput;\n}\n\nexport interface Hcs25CollectAndScoreResult {\n /** The collection outcome: enriched subject + signal snapshot. */\n collection: Hcs25SignalCollection;\n /** The computed trust score record for the enriched subject. */\n record: Hcs25TrustScoreRecord;\n}\n\n/**\n * End-to-end HCS-25 pipeline: collects trust signals via signal adapters,\n * merges the stored fields onto the subject, then computes the composite AI\n * Trust Score with the provided scoring configuration.\n */\nexport async function collectAndScoreTrustScore(\n subject: Hcs25Subject,\n options: Hcs25CollectAndScoreOptions,\n): Promise<Hcs25CollectAndScoreResult> {\n const { config, ...collectOptions } = options;\n const collection = await collectHcs25Signals(subject, collectOptions);\n const record = computeTrustScore({\n subject: collection.subject,\n snapshot: collection.snapshot,\n config,\n now: collectOptions.now,\n });\n return { collection, record };\n}\n"],"names":[],"mappings":";;AA8BA,eAAsB,0BACpB,SACA,SACqC;AACrC,QAAM,EAAE,QAAQ,GAAG,eAAA,IAAmB;AACtC,QAAM,aAAa,MAAM,oBAAoB,SAAS,cAAc;AACpE,QAAM,SAAS,kBAAkB;AAAA,IAC/B,SAAS,WAAW;AAAA,IACpB,UAAU,WAAW;AAAA,IACrB;AAAA,IACA,KAAK,eAAe;AAAA,EAAA,CACrB;AACD,SAAO,EAAE,YAAY,OAAA;AACvB;"}
|