@hashgraphonline/standards-sdk 0.1.189 → 0.1.191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/index.d.ts +22 -0
- package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser/hcs-25/index.d.ts +1 -0
- package/dist/browser/hcs-25/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts +22 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts +22 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/cjs/hcs-25/index.d.ts +1 -0
- package/dist/cjs/hcs-25/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
- package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/index.d.ts +1 -0
- package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts +64 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/http.d.ts +67 -0
- package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/index.d.ts +22 -0
- package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/types.d.ts +113 -0
- package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/es/hcs-25/index.d.ts +1 -0
- package/dist/es/hcs-25/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/index.d.ts +1 -0
- package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/operational.d.ts +15 -12
- package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +144 -58
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +2 -2
- package/dist/es/standards-sdk.es103.js +2 -2
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +2 -2
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es111.js +2 -2
- package/dist/es/standards-sdk.es115.js +3 -3
- package/dist/es/standards-sdk.es116.js +4 -4
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +22 -4
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +15 -12
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +176 -240
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +42 -468
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +29 -103
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +185 -145
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +13 -33
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +45 -10
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +120 -168
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +158 -26
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +166 -19
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +360 -140
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +371 -180
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +210 -766
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +229 -11
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +368 -556
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +108 -612
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +251 -12
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +1330 -2
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +126 -79
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +264 -32
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +111 -2
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +244 -227
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +436 -1098
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +92 -293
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +157 -419
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +30 -351
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +9 -1119
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +160 -186
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +27 -1565
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +16 -1160
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +157 -14
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +191 -440
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +764 -233
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +13 -4
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +567 -81
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +617 -78
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +13 -60
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +2 -2547
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +73 -145
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +6 -6
- package/dist/es/standards-sdk.es160.js +40 -7
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +2 -86
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +225 -55
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +1137 -191
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +303 -23
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +419 -55
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +351 -91
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +1113 -40
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +200 -196
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1561 -50
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +1161 -44
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +14 -53
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +443 -41
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +242 -105
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +4 -54
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +79 -42
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +87 -72
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +60 -68
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +2545 -42
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +157 -34
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +13 -13
- package/dist/es/standards-sdk.es180.js +7 -30
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +86 -34
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +65 -48
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +27 -138
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +191 -37
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +17 -12473
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +56 -53
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +104 -100
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +43 -75
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +55 -197
- package/dist/es/standards-sdk.es189.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +10 -10
- package/dist/es/standards-sdk.es190.js +229 -669
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +67 -166
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +45 -317
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +59 -342
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +45 -448
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +117 -325
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +51 -69
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +54 -67
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +72 -17
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +75 -139
- package/dist/es/standards-sdk.es199.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es200.js +44 -517
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +33 -256
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +30 -196
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +34 -119
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +48 -152
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +126 -172
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +34 -676
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +12453 -156
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +14 -232
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +49 -232
- package/dist/es/standards-sdk.es209.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es210.js +114 -0
- package/dist/es/standards-sdk.es210.js.map +1 -0
- package/dist/es/standards-sdk.es211.js +84 -0
- package/dist/es/standards-sdk.es211.js.map +1 -0
- package/dist/es/standards-sdk.es212.js +203 -0
- package/dist/es/standards-sdk.es212.js.map +1 -0
- package/dist/es/standards-sdk.es213.js +76 -0
- package/dist/es/standards-sdk.es213.js.map +1 -0
- package/dist/es/standards-sdk.es214.js +675 -0
- package/dist/es/standards-sdk.es214.js.map +1 -0
- package/dist/es/standards-sdk.es215.js +175 -0
- package/dist/es/standards-sdk.es215.js.map +1 -0
- package/dist/es/standards-sdk.es216.js +325 -0
- package/dist/es/standards-sdk.es216.js.map +1 -0
- package/dist/es/standards-sdk.es217.js +349 -0
- package/dist/es/standards-sdk.es217.js.map +1 -0
- package/dist/es/standards-sdk.es218.js +456 -0
- package/dist/es/standards-sdk.es218.js.map +1 -0
- package/dist/es/standards-sdk.es219.js +334 -0
- package/dist/es/standards-sdk.es219.js.map +1 -0
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es220.js +79 -0
- package/dist/es/standards-sdk.es220.js.map +1 -0
- package/dist/es/standards-sdk.es221.js +142 -0
- package/dist/es/standards-sdk.es221.js.map +1 -0
- package/dist/es/standards-sdk.es222.js +520 -0
- package/dist/es/standards-sdk.es222.js.map +1 -0
- package/dist/es/standards-sdk.es223.js +262 -0
- package/dist/es/standards-sdk.es223.js.map +1 -0
- package/dist/es/standards-sdk.es224.js +199 -0
- package/dist/es/standards-sdk.es224.js.map +1 -0
- package/dist/es/standards-sdk.es225.js +122 -0
- package/dist/es/standards-sdk.es225.js.map +1 -0
- package/dist/es/standards-sdk.es226.js +155 -0
- package/dist/es/standards-sdk.es226.js.map +1 -0
- package/dist/es/standards-sdk.es227.js +187 -0
- package/dist/es/standards-sdk.es227.js.map +1 -0
- package/dist/es/standards-sdk.es228.js +687 -0
- package/dist/es/standards-sdk.es228.js.map +1 -0
- package/dist/es/standards-sdk.es229.js +188 -0
- package/dist/es/standards-sdk.es229.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es230.js +238 -0
- package/dist/es/standards-sdk.es230.js.map +1 -0
- package/dist/es/standards-sdk.es231.js +242 -0
- package/dist/es/standards-sdk.es231.js.map +1 -0
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +13 -13
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +7 -7
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +8 -8
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +3 -3
- package/dist/es/standards-sdk.es75.js +5 -5
- package/dist/es/standards-sdk.es76.js +3 -3
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es81.js +2 -2
- package/dist/es/standards-sdk.es83.js +2 -2
- package/dist/es/standards-sdk.es84.js +5 -5
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es89.js +2 -2
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +4 -4
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es122.js","sources":["../../src/hcs-26/types.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { NetworkType } from '../utils/types';\n\nexport type HCS26Network = NetworkType;\n\nexport const HCS26_PROTOCOL = 'hcs-26' as const;\n\nexport const hcs26TopicTypeEnumSchema = z.union([\n z.literal(0), // discovery\n z.literal(1), // version\n z.literal(2), // reputation (optional)\n]);\n\nexport type Hcs26TopicTypeEnum = z.infer<typeof hcs26TopicTypeEnumSchema>;\n\nexport const hcs26OperationEnumSchema = z.union([\n z.literal(0), // register\n z.literal(1), // update\n z.literal(2), // delete\n z.literal(3), // migrate\n]);\n\nexport type Hcs26OperationEnum = z.infer<typeof hcs26OperationEnumSchema>;\n\nconst topicIdSchema = z.string().regex(/^[0-9]+\\.[0-9]+\\.[0-9]+$/);\nconst hcs1HrlSchema = z.string().regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/);\n\nconst decentralizedAssetUriSchema = z\n .string()\n .regex(\n /^(hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|ord:\\/\\/\\S+)$/,\n );\n\nconst semverSchema = z\n .string()\n .regex(\n /^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-([0-9A-Za-z.-]+))?(?:\\+[0-9A-Za-z.-]+)?$/,\n );\n\nfunction validateNormalizedRelativePath(pathRaw: string): void {\n const path = pathRaw.trim();\n if (!path) {\n throw new Error('Path must be non-empty');\n }\n if (path.startsWith('/')) {\n throw new Error('Path must be relative');\n }\n if (path.includes('\\\\')) {\n throw new Error('Path must use \"/\" separators');\n }\n const segments = path.split('/');\n for (const segment of segments) {\n if (!segment || segment === '.' || segment === '..') {\n throw new Error(\n 'Path must be normalized (no \".\", \"..\", or empty segments)',\n );\n }\n }\n}\n\nconst hcs1HrlOptionalSchema = z\n .string()\n .regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/)\n .optional();\n\nconst discoveryMetadataAuthorSchema = z.union([\n z.string().min(1),\n z\n .object({\n name: z.string().min(1),\n contact: z.string().min(1).optional(),\n url: z.string().url().optional(),\n })\n .passthrough(),\n]);\n\nexport const hcs26DiscoveryMetadataSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n license: z.string().min(1),\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n icon: z.union([z.string().url(), decentralizedAssetUriSchema]).optional(),\n icon_hcs1: hcs1HrlOptionalSchema,\n languages: z.array(z.string().min(1)).optional(),\n capabilities: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n })\n .passthrough();\n\nexport const hcs26DiscoveryMetadataPatchSchema = hcs26DiscoveryMetadataSchema\n .partial()\n .passthrough();\n\nexport const hcs26DiscoveryRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n t_id: topicIdSchema,\n account_id: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegister = z.infer<\n typeof hcs26DiscoveryRegisterSchema\n>;\n\nexport const hcs26DiscoveryRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n version_registry: topicIdSchema,\n publisher: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegisterLegacy = z.infer<\n typeof hcs26DiscoveryRegisterLegacySchema\n>;\n\nexport const hcs26DiscoveryUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n account_id: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdate = z.infer<typeof hcs26DiscoveryUpdateSchema>;\n\nexport const hcs26DiscoveryUpdateLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n publisher: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdateLegacy = z.infer<\n typeof hcs26DiscoveryUpdateLegacySchema\n>;\n\nexport const hcs26DiscoveryDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryDelete = z.infer<typeof hcs26DiscoveryDeleteSchema>;\n\nexport const hcs26DiscoveryMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryMigrate = z.infer<typeof hcs26DiscoveryMigrateSchema>;\n\nconst checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);\n\nexport const hcs26VersionRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n t_id: topicIdSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegister = z.infer<typeof hcs26VersionRegisterSchema>;\n\nexport const hcs26VersionRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n manifest_hcs1: hcs1HrlSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegisterLegacy = z.infer<\n typeof hcs26VersionRegisterLegacySchema\n>;\n\nexport const hcs26VersionUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionUpdate = z.infer<typeof hcs26VersionUpdateSchema>;\n\nexport const hcs26VersionDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionDelete = z.infer<typeof hcs26VersionDeleteSchema>;\n\nexport const hcs26VersionMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionMigrate = z.infer<typeof hcs26VersionMigrateSchema>;\n\nexport const hcs26ManifestFileSchema = z\n .object({\n path: z\n .string()\n .min(1)\n .superRefine((value, ctx) => {\n try {\n validateNormalizedRelativePath(value);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : String(error);\n ctx.addIssue({ code: z.ZodIssueCode.custom, message });\n }\n }),\n hrl: hcs1HrlSchema,\n sha256: z.string().regex(/^[0-9a-f]{64}$/),\n mime: z.string().min(1),\n })\n .passthrough();\n\nexport type Hcs26ManifestFile = z.infer<typeof hcs26ManifestFileSchema>;\n\nexport const hcs26SkillManifestSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n version: semverSchema,\n license: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n languages: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n entrypoints: z\n .array(\n z\n .object({\n path: z.string().min(1),\n language: z.string().min(1),\n args: z.array(z.string()).optional(),\n })\n .passthrough(),\n )\n .optional(),\n files: z.array(hcs26ManifestFileSchema).min(1),\n })\n .passthrough()\n .superRefine((value, ctx) => {\n const hasSkillMd = value.files.some(file => file.path === 'SKILL.md');\n if (!hasSkillMd) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'SKILL.md must be present in the manifest files list with path \"SKILL.md\".',\n path: ['files'],\n });\n }\n });\n\nexport type Hcs26SkillManifest = z.infer<typeof hcs26SkillManifestSchema>;\n\nexport const hcs26DiscoveryMessageSchema = z.union([\n hcs26DiscoveryRegisterSchema,\n hcs26DiscoveryRegisterLegacySchema,\n hcs26DiscoveryUpdateSchema,\n hcs26DiscoveryUpdateLegacySchema,\n hcs26DiscoveryDeleteSchema,\n hcs26DiscoveryMigrateSchema,\n]);\n\nexport type Hcs26DiscoveryMessage = z.infer<typeof hcs26DiscoveryMessageSchema>;\n\nexport const hcs26VersionMessageSchema = z.union([\n hcs26VersionRegisterSchema,\n hcs26VersionRegisterLegacySchema,\n hcs26VersionUpdateSchema,\n hcs26VersionDeleteSchema,\n hcs26VersionMigrateSchema,\n]);\n\nexport type Hcs26VersionMessage = z.infer<typeof hcs26VersionMessageSchema>;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es122.js","sources":["../../src/hcs-25/collectors/http.ts"],"sourcesContent":["import type { Hcs25Fetch } from './types';\n\n/**\n * Base error thrown by collector HTTP helpers.\n */\nexport class Hcs25CollectorError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'Hcs25CollectorError';\n }\n}\n\n/**\n * A non-2xx HTTP response from an upstream source.\n */\nexport class Hcs25CollectorHttpError extends Hcs25CollectorError {\n readonly status: number;\n\n constructor(status: number, message: string) {\n super(message);\n this.name = 'Hcs25CollectorHttpError';\n this.status = status;\n }\n}\n\n/**\n * The upstream source did not respond within the configured time budget.\n */\nexport class Hcs25CollectorTimeoutError extends Hcs25CollectorError {\n constructor(message = 'request timed out') {\n super(message);\n this.name = 'Hcs25CollectorTimeoutError';\n }\n}\n\n/**\n * True when an error represents an aborted or timed-out request, including\n * AbortSignal-driven rejections from injected fetch implementations.\n */\nexport function isTimeoutError(error: unknown): boolean {\n if (error instanceof Hcs25CollectorTimeoutError) {\n return true;\n }\n if (error instanceof DOMException && error.name === 'AbortError') {\n return true;\n }\n return (\n error instanceof Error &&\n (error.name === 'AbortError' || error.name === 'TimeoutError')\n );\n}\n\n/**\n * Resolves the fetch implementation: the injected one, else `globalThis.fetch`.\n */\nexport function resolveFetch(fetch?: Hcs25Fetch): Hcs25Fetch {\n if (fetch) {\n return fetch;\n }\n if (typeof globalThis.fetch !== 'function') {\n throw new Hcs25CollectorError(\n 'no fetch implementation available; pass one via options.fetch',\n );\n }\n return (input, init) =>\n globalThis.fetch(input, init as RequestInit) as Promise<\n Awaited<ReturnType<Hcs25Fetch>>\n >;\n}\n\nexport interface Hcs25RequestJsonOptions {\n fetch?: Hcs25Fetch;\n method?: string;\n headers?: Record<string, string>;\n body?: unknown;\n /** Time budget in milliseconds. Default 30000. */\n timeoutMs?: number;\n /** External abort signal (combined with the timeout). */\n signal?: AbortSignal;\n /**\n * Retries for transient failures: network errors and HTTP 5xx responses\n * retry with exponential backoff. 4xx responses, timeouts, and aborts are\n * never retried. Default 0 (single attempt).\n */\n maxRetries?: number;\n /** Base backoff delay in milliseconds. Default 200. */\n retryDelayMs?: number;\n}\n\nconst sleep = (ms: number): Promise<void> =>\n new Promise(resolve => setTimeout(resolve, ms));\n\n/**\n * Strips trailing `/` characters from a base URL without regex (avoids\n * polynomial-backtracking warnings on anchored quantifiers).\n */\nexport function stripTrailingSlashes(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 47) {\n end -= 1;\n }\n return value.slice(0, end);\n}\n\nasync function requestOnce<T>(\n url: string,\n options: Hcs25RequestJsonOptions,\n): Promise<T> {\n const fetch = resolveFetch(options.fetch);\n const timeoutMs = options.timeoutMs ?? 30000;\n const controller = new AbortController();\n const onExternalAbort = (): void => controller.abort();\n options.signal?.addEventListener('abort', onExternalAbort, { once: true });\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n const timeoutPromise = new Promise<never>((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n reject(new Hcs25CollectorTimeoutError());\n }, timeoutMs);\n });\n\n try {\n const response = await Promise.race([\n fetch(url, {\n method: options.method ?? 'GET',\n headers: {\n accept: 'application/json',\n ...(options.body !== undefined\n ? { 'content-type': 'application/json' }\n : {}),\n ...options.headers,\n },\n body:\n options.body === undefined ? undefined : JSON.stringify(options.body),\n signal: controller.signal,\n }),\n timeoutPromise,\n ]);\n\n if (!response.ok) {\n throw new Hcs25CollectorHttpError(\n response.status,\n `HTTP ${response.status} from ${url}`,\n );\n }\n return (await response.json()) as T;\n } catch (error) {\n if (isTimeoutError(error) || controller.signal.aborted) {\n throw error instanceof Hcs25CollectorError\n ? error\n : new Hcs25CollectorTimeoutError();\n }\n throw error;\n } finally {\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n options.signal?.removeEventListener('abort', onExternalAbort);\n }\n}\n\nfunction isRetryableError(error: unknown): boolean {\n if (isTimeoutError(error) || error instanceof Hcs25CollectorTimeoutError) {\n return false;\n }\n if (error instanceof Hcs25CollectorHttpError) {\n return error.status >= 500;\n }\n // Network-level failures (fetch rejects with a TypeError or generic Error).\n return !(error instanceof Hcs25CollectorError);\n}\n\n/**\n * Performs a JSON HTTP request with a time budget. Throws\n * {@link Hcs25CollectorTimeoutError} on timeout/abort and\n * {@link Hcs25CollectorHttpError} on non-2xx responses. The timeout races\n * the fetch so injected implementations that ignore `signal` still respect\n * the budget. With `maxRetries`, transient failures (network errors and\n * HTTP 5xx) retry with exponential backoff.\n */\nexport async function requestJson<T = unknown>(\n url: string,\n options: Hcs25RequestJsonOptions = {},\n): Promise<T> {\n const maxRetries = Math.max(0, Math.floor(options.maxRetries ?? 0));\n const baseDelay = options.retryDelayMs ?? 200;\n\n let lastError: unknown;\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n if (options.signal?.aborted) {\n throw new Hcs25CollectorTimeoutError();\n }\n try {\n return await requestOnce<T>(url, options);\n } catch (error) {\n lastError = error;\n if (attempt >= maxRetries || !isRetryableError(error)) {\n throw error;\n }\n await sleep(baseDelay * 2 ** attempt);\n }\n }\n throw lastError;\n}\n\n/**\n * Performs a text HTTP request with a time budget (for HTML/TOML/CFG\n * scraping sources). Same retry and error semantics as {@link requestJson}.\n */\nexport async function requestText(\n url: string,\n options: Hcs25RequestJsonOptions = {},\n): Promise<string> {\n const maxRetries = Math.max(0, Math.floor(options.maxRetries ?? 0));\n const baseDelay = options.retryDelayMs ?? 200;\n const fetch = resolveFetch(options.fetch);\n\n let lastError: unknown;\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n if (options.signal?.aborted) {\n throw new Hcs25CollectorTimeoutError();\n }\n const timeoutMs = options.timeoutMs ?? 30000;\n const controller = new AbortController();\n const onExternalAbort = (): void => controller.abort();\n options.signal?.addEventListener('abort', onExternalAbort, { once: true });\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n const timeoutPromise = new Promise<never>((_resolve, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n reject(new Hcs25CollectorTimeoutError());\n }, timeoutMs);\n });\n\n try {\n const response = await Promise.race([\n fetch(url, {\n method: 'GET',\n headers: {\n accept: 'text/plain, text/html, */*',\n ...options.headers,\n },\n signal: controller.signal,\n }),\n timeoutPromise,\n ]);\n if (!response.ok) {\n throw new Hcs25CollectorHttpError(\n response.status,\n `HTTP ${response.status} from ${url}`,\n );\n }\n if (typeof response.text === 'function') {\n return await response.text();\n }\n return JSON.stringify(await response.json());\n } catch (error) {\n const normalized =\n isTimeoutError(error) || controller.signal.aborted\n ? error instanceof Hcs25CollectorError\n ? error\n : new Hcs25CollectorTimeoutError()\n : error;\n lastError = normalized;\n if (attempt >= maxRetries || !isRetryableError(normalized)) {\n throw normalized;\n }\n await sleep(baseDelay * 2 ** attempt);\n } finally {\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n options.signal?.removeEventListener('abort', onExternalAbort);\n }\n }\n throw lastError;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,481 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (![major, minor, patch].every(Number.isFinite)) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
const prereleaseRaw = match[4];
|
|
21
|
-
const prerelease = prereleaseRaw ? prereleaseRaw.split(".").map((part) => {
|
|
22
|
-
if (/^(0|[1-9]\d*)$/.test(part)) {
|
|
23
|
-
return Number(part);
|
|
24
|
-
}
|
|
25
|
-
return part;
|
|
26
|
-
}) : [];
|
|
27
|
-
return { major, minor, patch, prerelease };
|
|
28
|
-
}
|
|
29
|
-
function compareSemver(a, b) {
|
|
30
|
-
if (a.major !== b.major) return a.major - b.major;
|
|
31
|
-
if (a.minor !== b.minor) return a.minor - b.minor;
|
|
32
|
-
if (a.patch !== b.patch) return a.patch - b.patch;
|
|
33
|
-
const aHasPre = a.prerelease.length > 0;
|
|
34
|
-
const bHasPre = b.prerelease.length > 0;
|
|
35
|
-
if (!aHasPre && bHasPre) return 1;
|
|
36
|
-
if (aHasPre && !bHasPre) return -1;
|
|
37
|
-
if (!aHasPre && !bHasPre) return 0;
|
|
38
|
-
const len = Math.max(a.prerelease.length, b.prerelease.length);
|
|
39
|
-
for (let index = 0; index < len; index += 1) {
|
|
40
|
-
const aId = a.prerelease[index];
|
|
41
|
-
const bId = b.prerelease[index];
|
|
42
|
-
if (aId === void 0 && bId !== void 0) return -1;
|
|
43
|
-
if (aId !== void 0 && bId === void 0) return 1;
|
|
44
|
-
if (aId === bId) continue;
|
|
45
|
-
if (typeof aId === "number" && typeof bId === "number") {
|
|
46
|
-
return aId - bId;
|
|
47
|
-
}
|
|
48
|
-
if (typeof aId === "number" && typeof bId === "string") {
|
|
49
|
-
return -1;
|
|
50
|
-
}
|
|
51
|
-
if (typeof aId === "string" && typeof bId === "number") {
|
|
52
|
-
return 1;
|
|
53
|
-
}
|
|
54
|
-
if (typeof aId === "string" && typeof bId === "string") {
|
|
55
|
-
return aId < bId ? -1 : 1;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return 0;
|
|
59
|
-
}
|
|
60
|
-
function isActiveStatus(status) {
|
|
61
|
-
return !status || status === "active";
|
|
62
|
-
}
|
|
63
|
-
function normalizeUidString(value) {
|
|
64
|
-
if (typeof value !== "string") {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
const trimmed = value.trim();
|
|
68
|
-
return trimmed.length > 0 ? trimmed : null;
|
|
69
|
-
}
|
|
70
|
-
function resolveSequenceNumber(primary, fallback) {
|
|
71
|
-
if (typeof primary === "number") {
|
|
72
|
-
return primary;
|
|
73
|
-
}
|
|
74
|
-
if (typeof fallback === "number") {
|
|
75
|
-
return fallback;
|
|
1
|
+
import { isJsonObject } from "./standards-sdk.es201.js";
|
|
2
|
+
import "./standards-sdk.es184.js";
|
|
3
|
+
import "./standards-sdk.es198.js";
|
|
4
|
+
import "./standards-sdk.es199.js";
|
|
5
|
+
import "./standards-sdk.es200.js";
|
|
6
|
+
import "./standards-sdk.es183.js";
|
|
7
|
+
function parseTimestampMs(value) {
|
|
8
|
+
if (value instanceof Date) {
|
|
9
|
+
return value.getTime();
|
|
10
|
+
}
|
|
11
|
+
if (typeof value === "string") {
|
|
12
|
+
const parsed = Date.parse(value);
|
|
13
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
14
|
+
}
|
|
15
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
16
|
+
return value;
|
|
76
17
|
}
|
|
77
18
|
return null;
|
|
78
19
|
}
|
|
79
|
-
function
|
|
80
|
-
|
|
81
|
-
|
|
20
|
+
function readField(subject, scope, key) {
|
|
21
|
+
const metadata = subject.metadata ?? {};
|
|
22
|
+
if (scope === "root") {
|
|
23
|
+
return metadata[key];
|
|
82
24
|
}
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
function ensureNonEmptyString(value, field) {
|
|
87
|
-
if (typeof value !== "string") {
|
|
88
|
-
throw new Error(`Expected ${field} to be a string`);
|
|
89
|
-
}
|
|
90
|
-
const trimmed = value.trim();
|
|
91
|
-
if (!trimmed) {
|
|
92
|
-
throw new Error(`Expected ${field} to be a non-empty string`);
|
|
25
|
+
const record = metadata[scope];
|
|
26
|
+
if (!isJsonObject(record)) {
|
|
27
|
+
return void 0;
|
|
93
28
|
}
|
|
94
|
-
return
|
|
29
|
+
return record[key];
|
|
95
30
|
}
|
|
96
|
-
function
|
|
97
|
-
if (
|
|
98
|
-
return
|
|
31
|
+
function shouldRefreshStoredFields(subject, options) {
|
|
32
|
+
if (options.force) {
|
|
33
|
+
return true;
|
|
99
34
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (
|
|
105
|
-
return
|
|
106
|
-
p: "hcs-26",
|
|
107
|
-
op: "register",
|
|
108
|
-
t_id: ensureNonEmptyString(input.t_id, "t_id"),
|
|
109
|
-
account_id: ensureNonEmptyString(input.account_id, "account_id"),
|
|
110
|
-
metadata: input.metadata,
|
|
111
|
-
...input.m ? { m: input.m } : {},
|
|
112
|
-
...typeof seq === "number" ? { sequence_number: seq } : {}
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
p: "hcs-26",
|
|
117
|
-
op: "register",
|
|
118
|
-
t_id: ensureNonEmptyString(input.version_registry, "version_registry"),
|
|
119
|
-
account_id: ensureNonEmptyString(input.publisher, "publisher"),
|
|
120
|
-
metadata: input.metadata,
|
|
121
|
-
...input.m ? { m: input.m } : {},
|
|
122
|
-
...typeof seq === "number" ? { sequence_number: seq } : {}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
class Hcs26SkillRegistryResolver {
|
|
126
|
-
constructor(deps) {
|
|
127
|
-
this.network = deps.network;
|
|
128
|
-
this.logger = deps.logger ?? Logger.getInstance({
|
|
129
|
-
module: "HCS26Resolver",
|
|
130
|
-
level: "info"
|
|
131
|
-
});
|
|
132
|
-
this.mirrorNode = new HederaMirrorNode(
|
|
133
|
-
deps.network,
|
|
134
|
-
this.logger,
|
|
135
|
-
deps.mirrorNode
|
|
136
|
-
);
|
|
137
|
-
this.hrlResolver = new HRLResolver("warn");
|
|
138
|
-
}
|
|
139
|
-
async resolveDiscoveryMetadataHrl(metadataHrl, mode) {
|
|
140
|
-
const resolved = await this.hrlResolver.resolve(metadataHrl, {
|
|
141
|
-
network: this.network,
|
|
142
|
-
returnRaw: true
|
|
143
|
-
});
|
|
144
|
-
const bytes = resolved.content instanceof ArrayBuffer ? Buffer.from(resolved.content) : Buffer.from(String(resolved.content), "utf8");
|
|
145
|
-
let raw;
|
|
146
|
-
try {
|
|
147
|
-
raw = JSON.parse(bytes.toString("utf8"));
|
|
148
|
-
} catch {
|
|
149
|
-
throw new Error("Discovery metadata HRL content is not valid JSON");
|
|
150
|
-
}
|
|
151
|
-
const schema = mode === "full" ? hcs26DiscoveryMetadataSchema : hcs26DiscoveryMetadataPatchSchema;
|
|
152
|
-
const parsed = schema.safeParse(raw);
|
|
153
|
-
if (!parsed.success) {
|
|
154
|
-
throw new Error(`Invalid discovery metadata: ${parsed.error.message}`);
|
|
155
|
-
}
|
|
156
|
-
return this.normalizeDiscoveryMetadataObject(
|
|
157
|
-
parsed.data
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
normalizeDiscoveryMetadataObject(metadata) {
|
|
161
|
-
if (typeof metadata.icon !== "string" || metadata.icon.trim().length === 0) {
|
|
162
|
-
const iconLegacy = metadata.icon_hcs1;
|
|
163
|
-
if (typeof iconLegacy === "string" && iconLegacy.trim().length > 0) {
|
|
164
|
-
return { ...metadata, icon: iconLegacy };
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return metadata;
|
|
168
|
-
}
|
|
169
|
-
async resolveDiscoveryMetadataUri(metadataUri, mode) {
|
|
170
|
-
const trimmed = metadataUri.trim();
|
|
171
|
-
if (trimmed.startsWith("hcs://1/")) {
|
|
172
|
-
return this.resolveDiscoveryMetadataHrl(trimmed, mode);
|
|
173
|
-
}
|
|
174
|
-
throw new Error(`Unsupported discovery metadata URI: ${trimmed}`);
|
|
175
|
-
}
|
|
176
|
-
resolveDiscoveryMetadataObject(params) {
|
|
177
|
-
if (typeof params.metadata === "string") {
|
|
178
|
-
return this.resolveDiscoveryMetadataUri(params.metadata, params.mode);
|
|
179
|
-
}
|
|
180
|
-
const schema = params.mode === "full" ? hcs26DiscoveryMetadataSchema : hcs26DiscoveryMetadataPatchSchema;
|
|
181
|
-
const parsed = schema.safeParse(params.metadata);
|
|
182
|
-
if (!parsed.success) {
|
|
183
|
-
throw new Error(`Invalid discovery metadata: ${parsed.error.message}`);
|
|
184
|
-
}
|
|
185
|
-
return Promise.resolve(
|
|
186
|
-
this.normalizeDiscoveryMetadataObject(
|
|
187
|
-
parsed.data
|
|
188
|
-
)
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
async getDiscoveryRegister(params) {
|
|
192
|
-
const messages = await this.mirrorNode.getTopicMessages(
|
|
193
|
-
params.directoryTopicId,
|
|
194
|
-
{
|
|
195
|
-
sequenceNumber: `eq:${params.skillUid}`,
|
|
196
|
-
limit: 5,
|
|
197
|
-
order: "asc"
|
|
198
|
-
}
|
|
199
|
-
);
|
|
200
|
-
for (const message of messages) {
|
|
201
|
-
const parsedNew = hcs26DiscoveryRegisterSchema.safeParse(message);
|
|
202
|
-
const parsedLegacy = parsedNew.success ? null : hcs26DiscoveryRegisterLegacySchema.safeParse(message);
|
|
203
|
-
const parsed = parsedNew.success ? parsedNew : parsedLegacy && parsedLegacy.success ? parsedLegacy : null;
|
|
204
|
-
if (!parsed) {
|
|
205
|
-
continue;
|
|
206
|
-
}
|
|
207
|
-
const normalized = normalizeDiscoveryRegister(
|
|
208
|
-
parsed.data,
|
|
209
|
-
message.sequence_number
|
|
210
|
-
);
|
|
211
|
-
const seq = normalized.sequence_number;
|
|
212
|
-
if (typeof seq === "number" && seq === params.skillUid) {
|
|
213
|
-
const metadata = await this.resolveDiscoveryMetadataObject({
|
|
214
|
-
metadata: normalized.metadata,
|
|
215
|
-
mode: "full"
|
|
216
|
-
});
|
|
217
|
-
return { ...normalized, metadata };
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return null;
|
|
221
|
-
}
|
|
222
|
-
async resolveDiscoveryRecord(params) {
|
|
223
|
-
const register = await this.getDiscoveryRegister({
|
|
224
|
-
directoryTopicId: params.directoryTopicId,
|
|
225
|
-
skillUid: params.skillUid
|
|
226
|
-
});
|
|
227
|
-
if (!register) {
|
|
228
|
-
return null;
|
|
229
|
-
}
|
|
230
|
-
const scanLimit = typeof params.scanLimit === "number" && params.scanLimit > 0 ? Math.min(5e3, Math.floor(params.scanLimit)) : 1e3;
|
|
231
|
-
const messages = await this.mirrorNode.getTopicMessages(
|
|
232
|
-
params.directoryTopicId,
|
|
233
|
-
{
|
|
234
|
-
limit: scanLimit,
|
|
235
|
-
order: "asc"
|
|
236
|
-
}
|
|
237
|
-
);
|
|
238
|
-
const uid = String(params.skillUid);
|
|
239
|
-
const registerSequence = resolveSequenceNumber(
|
|
240
|
-
register.sequence_number,
|
|
241
|
-
params.skillUid
|
|
242
|
-
);
|
|
243
|
-
let current = register;
|
|
244
|
-
for (const message of messages) {
|
|
245
|
-
const messageSequence = resolveSequenceNumber(
|
|
246
|
-
void 0,
|
|
247
|
-
message.sequence_number
|
|
248
|
-
);
|
|
249
|
-
const deleteParsed = hcs26DiscoveryDeleteSchema.safeParse(message);
|
|
250
|
-
if (deleteParsed.success && deleteParsed.data.uid === uid) {
|
|
251
|
-
const deleteSequence = resolveSequenceNumber(
|
|
252
|
-
deleteParsed.data.sequence_number,
|
|
253
|
-
messageSequence
|
|
254
|
-
);
|
|
255
|
-
if (registerSequence !== null && deleteSequence !== null && deleteSequence <= registerSequence) {
|
|
256
|
-
continue;
|
|
257
|
-
}
|
|
258
|
-
return null;
|
|
259
|
-
}
|
|
260
|
-
const updateParsedNew = hcs26DiscoveryUpdateSchema.safeParse(message);
|
|
261
|
-
const updateParsedLegacy = updateParsedNew.success ? null : hcs26DiscoveryUpdateLegacySchema.safeParse(message);
|
|
262
|
-
const updateParsed = updateParsedNew.success ? updateParsedNew : updateParsedLegacy && updateParsedLegacy.success ? updateParsedLegacy : null;
|
|
263
|
-
if (!updateParsed || updateParsed.data.uid !== uid) {
|
|
264
|
-
continue;
|
|
265
|
-
}
|
|
266
|
-
const updateSequence = resolveSequenceNumber(
|
|
267
|
-
updateParsed.data.sequence_number,
|
|
268
|
-
messageSequence
|
|
269
|
-
);
|
|
270
|
-
if (registerSequence !== null && updateSequence !== null && updateSequence <= registerSequence) {
|
|
271
|
-
continue;
|
|
272
|
-
}
|
|
273
|
-
const nextAccountId = "account_id" in updateParsed.data ? normalizeUidString(updateParsed.data.account_id) : normalizeUidString(updateParsed.data.publisher);
|
|
274
|
-
const nextMetadataRaw = updateParsed.data.metadata;
|
|
275
|
-
const nextMetadata = nextMetadataRaw !== void 0 ? await this.resolveDiscoveryMetadataObject({
|
|
276
|
-
metadata: nextMetadataRaw,
|
|
277
|
-
mode: "patch"
|
|
278
|
-
}) : void 0;
|
|
279
|
-
current = {
|
|
280
|
-
...current,
|
|
281
|
-
...nextAccountId ? { account_id: nextAccountId } : {},
|
|
282
|
-
metadata: mergeDiscoveryMetadata(current.metadata, nextMetadata)
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
return current;
|
|
286
|
-
}
|
|
287
|
-
async listVersionRegisters(params) {
|
|
288
|
-
const limit = typeof params.limit === "number" && params.limit > 0 ? Math.min(1e3, params.limit) : 500;
|
|
289
|
-
const messages = await this.mirrorNode.getTopicMessages(
|
|
290
|
-
params.versionRegistryTopicId,
|
|
291
|
-
{
|
|
292
|
-
limit,
|
|
293
|
-
order: "desc"
|
|
294
|
-
}
|
|
295
|
-
);
|
|
296
|
-
const registersByUid = /* @__PURE__ */ new Map();
|
|
297
|
-
const updatesByUid = /* @__PURE__ */ new Map();
|
|
298
|
-
const deletedByUid = /* @__PURE__ */ new Map();
|
|
299
|
-
for (const message of messages) {
|
|
300
|
-
const parsedNew = hcs26VersionRegisterSchema.safeParse(message);
|
|
301
|
-
const parsedLegacy = parsedNew.success ? null : hcs26VersionRegisterLegacySchema.safeParse(message);
|
|
302
|
-
const registerParsed = parsedNew.success ? parsedNew : parsedLegacy && parsedLegacy.success ? parsedLegacy : null;
|
|
303
|
-
if (registerParsed) {
|
|
304
|
-
if (registerParsed.data.skill_uid !== params.skillUid) {
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
|
-
const uid = typeof registerParsed.data.sequence_number === "number" ? String(registerParsed.data.sequence_number) : typeof message.sequence_number === "number" ? String(message.sequence_number) : null;
|
|
308
|
-
if (uid) {
|
|
309
|
-
const registerSequence = resolveSequenceNumber(
|
|
310
|
-
registerParsed.data.sequence_number,
|
|
311
|
-
message.sequence_number
|
|
312
|
-
);
|
|
313
|
-
registersByUid.set(uid, {
|
|
314
|
-
register: registerParsed.data,
|
|
315
|
-
sequenceNumber: registerSequence
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
continue;
|
|
319
|
-
}
|
|
320
|
-
const updateParsed = hcs26VersionUpdateSchema.safeParse(message);
|
|
321
|
-
if (updateParsed.success) {
|
|
322
|
-
const uid = updateParsed.data.uid.trim();
|
|
323
|
-
const list = updatesByUid.get(uid) ?? [];
|
|
324
|
-
list.push({
|
|
325
|
-
update: updateParsed.data,
|
|
326
|
-
sequenceNumber: resolveSequenceNumber(
|
|
327
|
-
updateParsed.data.sequence_number,
|
|
328
|
-
message.sequence_number
|
|
329
|
-
)
|
|
330
|
-
});
|
|
331
|
-
updatesByUid.set(uid, list);
|
|
332
|
-
continue;
|
|
333
|
-
}
|
|
334
|
-
const deleteParsed = hcs26VersionDeleteSchema.safeParse(message);
|
|
335
|
-
if (deleteParsed.success) {
|
|
336
|
-
const uid = deleteParsed.data.uid.trim();
|
|
337
|
-
const list = deletedByUid.get(uid) ?? [];
|
|
338
|
-
const sequenceNumber = resolveSequenceNumber(
|
|
339
|
-
deleteParsed.data.sequence_number,
|
|
340
|
-
message.sequence_number
|
|
341
|
-
);
|
|
342
|
-
if (sequenceNumber !== null) {
|
|
343
|
-
list.push(sequenceNumber);
|
|
344
|
-
deletedByUid.set(uid, list);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
const entries = [];
|
|
349
|
-
for (const [uid, registerState] of registersByUid.entries()) {
|
|
350
|
-
const registerSequence = registerState.sequenceNumber ?? parseSequenceFromUid(uid);
|
|
351
|
-
const deleteSequences = deletedByUid.get(uid) ?? [];
|
|
352
|
-
const hasDeleteAfterRegister = deleteSequences.some(
|
|
353
|
-
(sequence) => registerSequence === null ? true : sequence > registerSequence
|
|
354
|
-
);
|
|
355
|
-
if (hasDeleteAfterRegister) {
|
|
356
|
-
continue;
|
|
357
|
-
}
|
|
358
|
-
const updates = updatesByUid.get(uid);
|
|
359
|
-
if (!updates || updates.length === 0) {
|
|
360
|
-
entries.push(registerState.register);
|
|
361
|
-
continue;
|
|
362
|
-
}
|
|
363
|
-
const sorted = [...updates].filter(
|
|
364
|
-
(update) => registerSequence === null ? true : update.sequenceNumber !== null && update.sequenceNumber > registerSequence
|
|
365
|
-
).sort((a, b) => {
|
|
366
|
-
const aSeq = a.sequenceNumber ?? 0;
|
|
367
|
-
const bSeq = b.sequenceNumber ?? 0;
|
|
368
|
-
return aSeq - bSeq;
|
|
369
|
-
});
|
|
370
|
-
if (sorted.length === 0) {
|
|
371
|
-
entries.push(registerState.register);
|
|
372
|
-
continue;
|
|
373
|
-
}
|
|
374
|
-
const final = sorted.reduce((acc, updateState) => {
|
|
375
|
-
if (updateState.update.status) {
|
|
376
|
-
return { ...acc, status: updateState.update.status };
|
|
377
|
-
}
|
|
378
|
-
return acc;
|
|
379
|
-
}, registerState.register);
|
|
380
|
-
entries.push(final);
|
|
381
|
-
}
|
|
382
|
-
return entries;
|
|
383
|
-
}
|
|
384
|
-
async getLatestVersionRegister(params) {
|
|
385
|
-
const entries = await this.listVersionRegisters({
|
|
386
|
-
versionRegistryTopicId: params.versionRegistryTopicId,
|
|
387
|
-
skillUid: params.skillUid,
|
|
388
|
-
limit: 100
|
|
389
|
-
});
|
|
390
|
-
const active = entries.filter((entry) => isActiveStatus(entry.status));
|
|
391
|
-
if (active.length === 0) {
|
|
392
|
-
return null;
|
|
393
|
-
}
|
|
394
|
-
let best = active[0];
|
|
395
|
-
let bestParsed = parseSemver(best.version);
|
|
396
|
-
for (let index = 1; index < active.length; index += 1) {
|
|
397
|
-
const candidate = active[index];
|
|
398
|
-
const candidateParsed = parseSemver(candidate.version);
|
|
399
|
-
if (!bestParsed && candidateParsed) {
|
|
400
|
-
best = candidate;
|
|
401
|
-
bestParsed = candidateParsed;
|
|
402
|
-
continue;
|
|
403
|
-
}
|
|
404
|
-
if (bestParsed && candidateParsed) {
|
|
405
|
-
const cmp = compareSemver(candidateParsed, bestParsed);
|
|
406
|
-
if (cmp > 0) {
|
|
407
|
-
best = candidate;
|
|
408
|
-
bestParsed = candidateParsed;
|
|
409
|
-
continue;
|
|
410
|
-
}
|
|
411
|
-
if (cmp === 0) {
|
|
412
|
-
const bestSeq = typeof best.sequence_number === "number" ? best.sequence_number : 0;
|
|
413
|
-
const candSeq = typeof candidate.sequence_number === "number" ? candidate.sequence_number : 0;
|
|
414
|
-
if (candSeq > bestSeq) {
|
|
415
|
-
best = candidate;
|
|
416
|
-
bestParsed = candidateParsed;
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
return best;
|
|
422
|
-
}
|
|
423
|
-
async resolveManifest(params) {
|
|
424
|
-
const manifestHrl = typeof params.manifestHrl === "string" && params.manifestHrl.trim().length > 0 ? params.manifestHrl.trim() : typeof params.manifestTopicId === "string" && params.manifestTopicId.trim().length > 0 ? `hcs://1/${params.manifestTopicId.trim()}` : null;
|
|
425
|
-
if (!manifestHrl) {
|
|
426
|
-
throw new Error("Manifest HRL or topic id is required");
|
|
427
|
-
}
|
|
428
|
-
const resolved = await this.hrlResolver.resolve(manifestHrl, {
|
|
429
|
-
network: this.network,
|
|
430
|
-
returnRaw: true
|
|
431
|
-
});
|
|
432
|
-
const contentType = resolved.contentType ?? "";
|
|
433
|
-
if (!contentType.toLowerCase().startsWith("application/json")) {
|
|
434
|
-
throw new Error(
|
|
435
|
-
`Expected application/json for manifest, got ${resolved.contentType ?? "unknown"}`
|
|
436
|
-
);
|
|
437
|
-
}
|
|
438
|
-
const bytes = resolved.content instanceof ArrayBuffer ? Buffer.from(resolved.content) : Buffer.from(String(resolved.content), "utf8");
|
|
439
|
-
const sha256Hex = await hash(bytes, "sha256");
|
|
440
|
-
let raw;
|
|
441
|
-
try {
|
|
442
|
-
raw = JSON.parse(bytes.toString("utf8"));
|
|
443
|
-
} catch {
|
|
444
|
-
throw new Error("Manifest content is not valid JSON");
|
|
445
|
-
}
|
|
446
|
-
const parsed = hcs26SkillManifestSchema.safeParse(raw);
|
|
447
|
-
if (!parsed.success) {
|
|
448
|
-
throw new Error(`Invalid HCS-26 manifest: ${parsed.error.message}`);
|
|
449
|
-
}
|
|
450
|
-
const hasSkillMd = parsed.data.files.some((file) => file.path === "SKILL.md");
|
|
451
|
-
if (!hasSkillMd) {
|
|
452
|
-
throw new Error(
|
|
453
|
-
'HCS-26 manifest must include SKILL.md at path "SKILL.md"'
|
|
454
|
-
);
|
|
455
|
-
}
|
|
456
|
-
return { manifest: parsed.data, raw, sha256Hex };
|
|
35
|
+
const scope = options.scope ?? "root";
|
|
36
|
+
const updatedAt = parseTimestampMs(
|
|
37
|
+
readField(subject, scope, options.updatedAtKey ?? "updatedAt")
|
|
38
|
+
);
|
|
39
|
+
if (updatedAt === null) {
|
|
40
|
+
return true;
|
|
457
41
|
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
"HCS-26 version register is missing checksum; skipping manifest verification."
|
|
463
|
-
);
|
|
464
|
-
return;
|
|
465
|
-
}
|
|
466
|
-
const checksum = checksumRaw.trim();
|
|
467
|
-
if (!checksum.startsWith("sha256:")) {
|
|
468
|
-
throw new Error(`Unsupported checksum: ${checksum}`);
|
|
469
|
-
}
|
|
470
|
-
const expectedHex = checksum.slice("sha256:".length);
|
|
471
|
-
if (params.manifestSha256Hex !== expectedHex) {
|
|
472
|
-
throw new Error(
|
|
473
|
-
`Manifest checksum mismatch (expected ${expectedHex}, got ${params.manifestSha256Hex})`
|
|
474
|
-
);
|
|
475
|
-
}
|
|
42
|
+
const status = readField(subject, scope, options.statusKey ?? "status");
|
|
43
|
+
const normalizedStatus = typeof status === "string" ? status.trim() : "";
|
|
44
|
+
if (!normalizedStatus) {
|
|
45
|
+
return true;
|
|
476
46
|
}
|
|
47
|
+
const ttl = normalizedStatus === "ok" ? options.ttlMs : options.failureTtlMs ?? options.ttlMs;
|
|
48
|
+
const now = options.now ?? /* @__PURE__ */ new Date();
|
|
49
|
+
return now.getTime() - updatedAt >= ttl;
|
|
477
50
|
}
|
|
478
51
|
export {
|
|
479
|
-
|
|
52
|
+
parseTimestampMs,
|
|
53
|
+
shouldRefreshStoredFields
|
|
480
54
|
};
|
|
481
55
|
//# sourceMappingURL=standards-sdk.es123.js.map
|