@hashgraphonline/standards-sdk 0.1.188 → 0.1.190
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/index.d.ts +21 -0
- package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser/hcs-25/index.d.ts +1 -0
- package/dist/browser/hcs-25/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client.d.ts +1 -1
- package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser/standards-sdk.browser.js +37 -10
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts +21 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser-root/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser-root/standards-sdk.root-browser.js +78 -11
- package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts +21 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/cjs/hcs-25/index.d.ts +1 -0
- package/dist/cjs/hcs-25/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
- package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/cjs/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/http.d.ts +67 -0
- package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/index.d.ts +21 -0
- package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/types.d.ts +113 -0
- package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/es/hcs-25/index.d.ts +1 -0
- package/dist/es/hcs-25/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/operational.d.ts +15 -12
- package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/es/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +1 -1
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +141 -58
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +2 -2
- package/dist/es/standards-sdk.es103.js +2 -2
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +2 -2
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es111.js +2 -2
- package/dist/es/standards-sdk.es115.js +3 -3
- package/dist/es/standards-sdk.es116.js +4 -4
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +4 -4
- package/dist/es/standards-sdk.es121.js +11 -11
- package/dist/es/standards-sdk.es122.js +176 -240
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +41 -468
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +28 -103
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +185 -145
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +13 -33
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +44 -10
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +150 -172
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +166 -26
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +375 -18
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +371 -139
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +211 -180
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +210 -770
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +376 -10
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +118 -564
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +233 -608
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1328 -12
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +133 -2
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +258 -74
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +104 -38
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +252 -2
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +446 -203
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +104 -1139
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +144 -290
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +31 -419
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +10 -353
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +144 -1084
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +25 -204
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +17 -1562
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +128 -1134
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +199 -14
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +774 -367
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +10 -256
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +567 -4
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +619 -74
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +12 -86
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +2 -60
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +87 -2547
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +36 -155
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +6 -6
- package/dist/es/standards-sdk.es160.js +2 -7
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +223 -74
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +1122 -47
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +299 -187
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +419 -23
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +352 -55
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +1113 -86
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +200 -41
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +1551 -188
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1161 -51
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +15 -47
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +445 -50
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +255 -45
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +4 -122
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +77 -50
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +85 -42
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +60 -72
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +2544 -65
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +159 -44
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +7 -36
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +13 -13
- package/dist/es/standards-sdk.es180.js +86 -30
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +65 -34
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +196 -48
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +23 -135
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +54 -38
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +102 -12470
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +53 -52
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +223 -103
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +66 -75
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +46 -197
- package/dist/es/standards-sdk.es189.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +10 -10
- package/dist/es/standards-sdk.es190.js +60 -15
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +47 -670
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +112 -162
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +53 -318
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +54 -341
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +72 -453
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +75 -331
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +44 -76
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +30 -67
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +30 -139
- package/dist/es/standards-sdk.es199.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es200.js +34 -517
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +48 -259
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +127 -185
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +36 -113
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +12464 -134
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +14 -181
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +55 -683
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +93 -167
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +71 -225
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +176 -215
- package/dist/es/standards-sdk.es209.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es210.js +675 -0
- package/dist/es/standards-sdk.es210.js.map +1 -0
- package/dist/es/standards-sdk.es211.js +76 -0
- package/dist/es/standards-sdk.es211.js.map +1 -0
- package/dist/es/standards-sdk.es212.js +175 -0
- package/dist/es/standards-sdk.es212.js.map +1 -0
- package/dist/es/standards-sdk.es213.js +325 -0
- package/dist/es/standards-sdk.es213.js.map +1 -0
- package/dist/es/standards-sdk.es214.js +349 -0
- package/dist/es/standards-sdk.es214.js.map +1 -0
- package/dist/es/standards-sdk.es215.js +456 -0
- package/dist/es/standards-sdk.es215.js.map +1 -0
- package/dist/es/standards-sdk.es216.js +334 -0
- package/dist/es/standards-sdk.es216.js.map +1 -0
- package/dist/es/standards-sdk.es217.js +79 -0
- package/dist/es/standards-sdk.es217.js.map +1 -0
- package/dist/es/standards-sdk.es218.js +142 -0
- package/dist/es/standards-sdk.es218.js.map +1 -0
- package/dist/es/standards-sdk.es219.js +520 -0
- package/dist/es/standards-sdk.es219.js.map +1 -0
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es220.js +262 -0
- package/dist/es/standards-sdk.es220.js.map +1 -0
- package/dist/es/standards-sdk.es221.js +199 -0
- package/dist/es/standards-sdk.es221.js.map +1 -0
- package/dist/es/standards-sdk.es222.js +122 -0
- package/dist/es/standards-sdk.es222.js.map +1 -0
- package/dist/es/standards-sdk.es223.js +155 -0
- package/dist/es/standards-sdk.es223.js.map +1 -0
- package/dist/es/standards-sdk.es224.js +187 -0
- package/dist/es/standards-sdk.es224.js.map +1 -0
- package/dist/es/standards-sdk.es225.js +687 -0
- package/dist/es/standards-sdk.es225.js.map +1 -0
- package/dist/es/standards-sdk.es226.js +188 -0
- package/dist/es/standards-sdk.es226.js.map +1 -0
- package/dist/es/standards-sdk.es227.js +238 -0
- package/dist/es/standards-sdk.es227.js.map +1 -0
- package/dist/es/standards-sdk.es228.js +242 -0
- package/dist/es/standards-sdk.es228.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +13 -13
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +7 -7
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +8 -8
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +3 -3
- package/dist/es/standards-sdk.es75.js +5 -5
- package/dist/es/standards-sdk.es76.js +3 -3
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es81.js +2 -2
- package/dist/es/standards-sdk.es83.js +2 -2
- package/dist/es/standards-sdk.es84.js +5 -5
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es89.js +2 -2
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +4 -4
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/package.json +1 -1
|
@@ -1,255 +1,191 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// discovery
|
|
6
|
-
z.literal(1),
|
|
7
|
-
// version
|
|
8
|
-
z.literal(2)
|
|
9
|
-
// reputation (optional)
|
|
10
|
-
]);
|
|
11
|
-
const hcs26OperationEnumSchema = z.union([
|
|
12
|
-
z.literal(0),
|
|
13
|
-
// register
|
|
14
|
-
z.literal(1),
|
|
15
|
-
// update
|
|
16
|
-
z.literal(2),
|
|
17
|
-
// delete
|
|
18
|
-
z.literal(3)
|
|
19
|
-
// migrate
|
|
20
|
-
]);
|
|
21
|
-
const topicIdSchema = z.string().regex(/^[0-9]+\.[0-9]+\.[0-9]+$/);
|
|
22
|
-
const hcs1HrlSchema = z.string().regex(/^hcs:\/\/1\/[0-9]+\.[0-9]+\.[0-9]+$/);
|
|
23
|
-
const decentralizedAssetUriSchema = z.string().regex(
|
|
24
|
-
/^(hcs:\/\/1\/[0-9]+\.[0-9]+\.[0-9]+|ipfs:\/\/\S+|ar:\/\/\S+|ord:\/\/\S+)$/
|
|
25
|
-
);
|
|
26
|
-
const semverSchema = z.string().regex(
|
|
27
|
-
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/
|
|
28
|
-
);
|
|
29
|
-
function validateNormalizedRelativePath(pathRaw) {
|
|
30
|
-
const path = pathRaw.trim();
|
|
31
|
-
if (!path) {
|
|
32
|
-
throw new Error("Path must be non-empty");
|
|
1
|
+
class Hcs25CollectorError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = "Hcs25CollectorError";
|
|
33
5
|
}
|
|
34
|
-
|
|
35
|
-
|
|
6
|
+
}
|
|
7
|
+
class Hcs25CollectorHttpError extends Hcs25CollectorError {
|
|
8
|
+
constructor(status, message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "Hcs25CollectorHttpError";
|
|
11
|
+
this.status = status;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class Hcs25CollectorTimeoutError extends Hcs25CollectorError {
|
|
15
|
+
constructor(message = "request timed out") {
|
|
16
|
+
super(message);
|
|
17
|
+
this.name = "Hcs25CollectorTimeoutError";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function isTimeoutError(error) {
|
|
21
|
+
if (error instanceof Hcs25CollectorTimeoutError) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
25
|
+
return true;
|
|
36
26
|
}
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
return error instanceof Error && (error.name === "AbortError" || error.name === "TimeoutError");
|
|
28
|
+
}
|
|
29
|
+
function resolveFetch(fetch) {
|
|
30
|
+
if (fetch) {
|
|
31
|
+
return fetch;
|
|
32
|
+
}
|
|
33
|
+
if (typeof globalThis.fetch !== "function") {
|
|
34
|
+
throw new Hcs25CollectorError(
|
|
35
|
+
"no fetch implementation available; pass one via options.fetch"
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
return (input, init) => globalThis.fetch(input, init);
|
|
39
|
+
}
|
|
40
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
41
|
+
function stripTrailingSlashes(value) {
|
|
42
|
+
let end = value.length;
|
|
43
|
+
while (end > 0 && value.charCodeAt(end - 1) === 47) {
|
|
44
|
+
end -= 1;
|
|
39
45
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
return value.slice(0, end);
|
|
47
|
+
}
|
|
48
|
+
async function requestOnce(url, options) {
|
|
49
|
+
const fetch = resolveFetch(options.fetch);
|
|
50
|
+
const timeoutMs = options.timeoutMs ?? 3e4;
|
|
51
|
+
const controller = new AbortController();
|
|
52
|
+
const onExternalAbort = () => controller.abort();
|
|
53
|
+
options.signal?.addEventListener("abort", onExternalAbort, { once: true });
|
|
54
|
+
let timeoutId;
|
|
55
|
+
const timeoutPromise = new Promise((_resolve, reject) => {
|
|
56
|
+
timeoutId = setTimeout(() => {
|
|
57
|
+
controller.abort();
|
|
58
|
+
reject(new Hcs25CollectorTimeoutError());
|
|
59
|
+
}, timeoutMs);
|
|
60
|
+
});
|
|
61
|
+
try {
|
|
62
|
+
const response = await Promise.race([
|
|
63
|
+
fetch(url, {
|
|
64
|
+
method: options.method ?? "GET",
|
|
65
|
+
headers: {
|
|
66
|
+
accept: "application/json",
|
|
67
|
+
...options.body !== void 0 ? { "content-type": "application/json" } : {},
|
|
68
|
+
...options.headers
|
|
69
|
+
},
|
|
70
|
+
body: options.body === void 0 ? void 0 : JSON.stringify(options.body),
|
|
71
|
+
signal: controller.signal
|
|
72
|
+
}),
|
|
73
|
+
timeoutPromise
|
|
74
|
+
]);
|
|
75
|
+
if (!response.ok) {
|
|
76
|
+
throw new Hcs25CollectorHttpError(
|
|
77
|
+
response.status,
|
|
78
|
+
`HTTP ${response.status} from ${url}`
|
|
45
79
|
);
|
|
46
80
|
}
|
|
81
|
+
return await response.json();
|
|
82
|
+
} catch (error) {
|
|
83
|
+
if (isTimeoutError(error) || controller.signal.aborted) {
|
|
84
|
+
throw error instanceof Hcs25CollectorError ? error : new Hcs25CollectorTimeoutError();
|
|
85
|
+
}
|
|
86
|
+
throw error;
|
|
87
|
+
} finally {
|
|
88
|
+
if (timeoutId !== void 0) {
|
|
89
|
+
clearTimeout(timeoutId);
|
|
90
|
+
}
|
|
91
|
+
options.signal?.removeEventListener("abort", onExternalAbort);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function isRetryableError(error) {
|
|
95
|
+
if (isTimeoutError(error) || error instanceof Hcs25CollectorTimeoutError) {
|
|
96
|
+
return false;
|
|
47
97
|
}
|
|
98
|
+
if (error instanceof Hcs25CollectorHttpError) {
|
|
99
|
+
return error.status >= 500;
|
|
100
|
+
}
|
|
101
|
+
return !(error instanceof Hcs25CollectorError);
|
|
48
102
|
}
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
]);
|
|
58
|
-
const hcs26DiscoveryMetadataSchema = z.object({
|
|
59
|
-
name: z.string().min(1),
|
|
60
|
-
description: z.string().min(1),
|
|
61
|
-
author: discoveryMetadataAuthorSchema,
|
|
62
|
-
license: z.string().min(1),
|
|
63
|
-
tags: z.array(
|
|
64
|
-
z.union([
|
|
65
|
-
z.number().int().positive(),
|
|
66
|
-
z.string().regex(/^(0|[1-9]\d*)$/).transform((value) => Number.parseInt(value, 10))
|
|
67
|
-
])
|
|
68
|
-
).optional(),
|
|
69
|
-
homepage: z.string().url().optional(),
|
|
70
|
-
icon: z.union([z.string().url(), decentralizedAssetUriSchema]).optional(),
|
|
71
|
-
icon_hcs1: hcs1HrlOptionalSchema,
|
|
72
|
-
languages: z.array(z.string().min(1)).optional(),
|
|
73
|
-
capabilities: z.array(z.string().min(1)).optional(),
|
|
74
|
-
repo: z.string().url().optional(),
|
|
75
|
-
commit: z.string().regex(/^[0-9a-f]{7,64}$/i, "commit must be a git commit SHA").optional()
|
|
76
|
-
}).passthrough();
|
|
77
|
-
const hcs26DiscoveryMetadataPatchSchema = hcs26DiscoveryMetadataSchema.partial().passthrough();
|
|
78
|
-
const hcs26DiscoveryRegisterSchema = z.object({
|
|
79
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
80
|
-
op: z.literal("register"),
|
|
81
|
-
t_id: topicIdSchema,
|
|
82
|
-
account_id: z.string().min(1),
|
|
83
|
-
metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),
|
|
84
|
-
m: z.string().max(500).optional(),
|
|
85
|
-
sequence_number: z.number().int().optional()
|
|
86
|
-
}).passthrough();
|
|
87
|
-
const hcs26DiscoveryRegisterLegacySchema = z.object({
|
|
88
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
89
|
-
op: z.literal("register"),
|
|
90
|
-
version_registry: topicIdSchema,
|
|
91
|
-
publisher: z.string().min(1),
|
|
92
|
-
metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),
|
|
93
|
-
m: z.string().max(500).optional(),
|
|
94
|
-
sequence_number: z.number().int().optional()
|
|
95
|
-
}).passthrough();
|
|
96
|
-
const hcs26DiscoveryUpdateSchema = z.object({
|
|
97
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
98
|
-
op: z.literal("update"),
|
|
99
|
-
uid: z.string().min(1),
|
|
100
|
-
account_id: z.string().min(1).optional(),
|
|
101
|
-
metadata: z.union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema]).optional(),
|
|
102
|
-
m: z.string().max(500).optional(),
|
|
103
|
-
sequence_number: z.number().int().optional()
|
|
104
|
-
}).passthrough();
|
|
105
|
-
const hcs26DiscoveryUpdateLegacySchema = z.object({
|
|
106
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
107
|
-
op: z.literal("update"),
|
|
108
|
-
uid: z.string().min(1),
|
|
109
|
-
publisher: z.string().min(1).optional(),
|
|
110
|
-
metadata: z.union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema]).optional(),
|
|
111
|
-
m: z.string().max(500).optional(),
|
|
112
|
-
sequence_number: z.number().int().optional()
|
|
113
|
-
}).passthrough();
|
|
114
|
-
const hcs26DiscoveryDeleteSchema = z.object({
|
|
115
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
116
|
-
op: z.literal("delete"),
|
|
117
|
-
uid: z.string().min(1),
|
|
118
|
-
m: z.string().max(500).optional(),
|
|
119
|
-
sequence_number: z.number().int().optional()
|
|
120
|
-
}).passthrough();
|
|
121
|
-
const hcs26DiscoveryMigrateSchema = z.object({
|
|
122
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
123
|
-
op: z.literal("migrate"),
|
|
124
|
-
m: z.string().max(500).optional(),
|
|
125
|
-
sequence_number: z.number().int().optional()
|
|
126
|
-
}).passthrough();
|
|
127
|
-
const checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);
|
|
128
|
-
const hcs26VersionRegisterSchema = z.object({
|
|
129
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
130
|
-
op: z.literal("register"),
|
|
131
|
-
skill_uid: z.number().int().positive(),
|
|
132
|
-
version: semverSchema,
|
|
133
|
-
t_id: topicIdSchema,
|
|
134
|
-
checksum: checksumSchema.optional(),
|
|
135
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
136
|
-
m: z.string().max(500).optional(),
|
|
137
|
-
sequence_number: z.number().int().optional()
|
|
138
|
-
}).passthrough();
|
|
139
|
-
const hcs26VersionRegisterLegacySchema = z.object({
|
|
140
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
141
|
-
op: z.literal("register"),
|
|
142
|
-
skill_uid: z.number().int().positive(),
|
|
143
|
-
version: semverSchema,
|
|
144
|
-
manifest_hcs1: hcs1HrlSchema,
|
|
145
|
-
checksum: checksumSchema.optional(),
|
|
146
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
147
|
-
m: z.string().max(500).optional(),
|
|
148
|
-
sequence_number: z.number().int().optional()
|
|
149
|
-
}).passthrough();
|
|
150
|
-
const hcs26VersionUpdateSchema = z.object({
|
|
151
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
152
|
-
op: z.literal("update"),
|
|
153
|
-
uid: z.string().min(1),
|
|
154
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
155
|
-
m: z.string().max(500).optional(),
|
|
156
|
-
sequence_number: z.number().int().optional()
|
|
157
|
-
}).passthrough();
|
|
158
|
-
const hcs26VersionDeleteSchema = z.object({
|
|
159
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
160
|
-
op: z.literal("delete"),
|
|
161
|
-
uid: z.string().min(1),
|
|
162
|
-
m: z.string().max(500).optional(),
|
|
163
|
-
sequence_number: z.number().int().optional()
|
|
164
|
-
}).passthrough();
|
|
165
|
-
const hcs26VersionMigrateSchema = z.object({
|
|
166
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
167
|
-
op: z.literal("migrate"),
|
|
168
|
-
m: z.string().max(500).optional(),
|
|
169
|
-
sequence_number: z.number().int().optional()
|
|
170
|
-
}).passthrough();
|
|
171
|
-
const hcs26ManifestFileSchema = z.object({
|
|
172
|
-
path: z.string().min(1).superRefine((value, ctx) => {
|
|
103
|
+
async function requestJson(url, options = {}) {
|
|
104
|
+
const maxRetries = Math.max(0, Math.floor(options.maxRetries ?? 0));
|
|
105
|
+
const baseDelay = options.retryDelayMs ?? 200;
|
|
106
|
+
let lastError;
|
|
107
|
+
for (let attempt = 0; attempt <= maxRetries; attempt += 1) {
|
|
108
|
+
if (options.signal?.aborted) {
|
|
109
|
+
throw new Hcs25CollectorTimeoutError();
|
|
110
|
+
}
|
|
173
111
|
try {
|
|
174
|
-
|
|
112
|
+
return await requestOnce(url, options);
|
|
175
113
|
} catch (error) {
|
|
176
|
-
|
|
177
|
-
|
|
114
|
+
lastError = error;
|
|
115
|
+
if (attempt >= maxRetries || !isRetryableError(error)) {
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
await sleep(baseDelay * 2 ** attempt);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
throw lastError;
|
|
122
|
+
}
|
|
123
|
+
async function requestText(url, options = {}) {
|
|
124
|
+
const maxRetries = Math.max(0, Math.floor(options.maxRetries ?? 0));
|
|
125
|
+
const baseDelay = options.retryDelayMs ?? 200;
|
|
126
|
+
const fetch = resolveFetch(options.fetch);
|
|
127
|
+
let lastError;
|
|
128
|
+
for (let attempt = 0; attempt <= maxRetries; attempt += 1) {
|
|
129
|
+
if (options.signal?.aborted) {
|
|
130
|
+
throw new Hcs25CollectorTimeoutError();
|
|
178
131
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
author: discoveryMetadataAuthorSchema,
|
|
190
|
-
tags: z.array(
|
|
191
|
-
z.union([
|
|
192
|
-
z.number().int().positive(),
|
|
193
|
-
z.string().regex(/^(0|[1-9]\d*)$/).transform((value) => Number.parseInt(value, 10))
|
|
194
|
-
])
|
|
195
|
-
).optional(),
|
|
196
|
-
homepage: z.string().url().optional(),
|
|
197
|
-
languages: z.array(z.string().min(1)).optional(),
|
|
198
|
-
repo: z.string().url().optional(),
|
|
199
|
-
commit: z.string().regex(/^[0-9a-f]{7,64}$/i, "commit must be a git commit SHA").optional(),
|
|
200
|
-
entrypoints: z.array(
|
|
201
|
-
z.object({
|
|
202
|
-
path: z.string().min(1),
|
|
203
|
-
language: z.string().min(1),
|
|
204
|
-
args: z.array(z.string()).optional()
|
|
205
|
-
}).passthrough()
|
|
206
|
-
).optional(),
|
|
207
|
-
files: z.array(hcs26ManifestFileSchema).min(1)
|
|
208
|
-
}).passthrough().superRefine((value, ctx) => {
|
|
209
|
-
const hasSkillMd = value.files.some((file) => file.path === "SKILL.md");
|
|
210
|
-
if (!hasSkillMd) {
|
|
211
|
-
ctx.addIssue({
|
|
212
|
-
code: z.ZodIssueCode.custom,
|
|
213
|
-
message: 'SKILL.md must be present in the manifest files list with path "SKILL.md".',
|
|
214
|
-
path: ["files"]
|
|
132
|
+
const timeoutMs = options.timeoutMs ?? 3e4;
|
|
133
|
+
const controller = new AbortController();
|
|
134
|
+
const onExternalAbort = () => controller.abort();
|
|
135
|
+
options.signal?.addEventListener("abort", onExternalAbort, { once: true });
|
|
136
|
+
let timeoutId;
|
|
137
|
+
const timeoutPromise = new Promise((_resolve, reject) => {
|
|
138
|
+
timeoutId = setTimeout(() => {
|
|
139
|
+
controller.abort();
|
|
140
|
+
reject(new Hcs25CollectorTimeoutError());
|
|
141
|
+
}, timeoutMs);
|
|
215
142
|
});
|
|
143
|
+
try {
|
|
144
|
+
const response = await Promise.race([
|
|
145
|
+
fetch(url, {
|
|
146
|
+
method: "GET",
|
|
147
|
+
headers: {
|
|
148
|
+
accept: "text/plain, text/html, */*",
|
|
149
|
+
...options.headers
|
|
150
|
+
},
|
|
151
|
+
signal: controller.signal
|
|
152
|
+
}),
|
|
153
|
+
timeoutPromise
|
|
154
|
+
]);
|
|
155
|
+
if (!response.ok) {
|
|
156
|
+
throw new Hcs25CollectorHttpError(
|
|
157
|
+
response.status,
|
|
158
|
+
`HTTP ${response.status} from ${url}`
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
if (typeof response.text === "function") {
|
|
162
|
+
return await response.text();
|
|
163
|
+
}
|
|
164
|
+
return JSON.stringify(await response.json());
|
|
165
|
+
} catch (error) {
|
|
166
|
+
const normalized = isTimeoutError(error) || controller.signal.aborted ? error instanceof Hcs25CollectorError ? error : new Hcs25CollectorTimeoutError() : error;
|
|
167
|
+
lastError = normalized;
|
|
168
|
+
if (attempt >= maxRetries || !isRetryableError(normalized)) {
|
|
169
|
+
throw normalized;
|
|
170
|
+
}
|
|
171
|
+
await sleep(baseDelay * 2 ** attempt);
|
|
172
|
+
} finally {
|
|
173
|
+
if (timeoutId !== void 0) {
|
|
174
|
+
clearTimeout(timeoutId);
|
|
175
|
+
}
|
|
176
|
+
options.signal?.removeEventListener("abort", onExternalAbort);
|
|
177
|
+
}
|
|
216
178
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
hcs26DiscoveryRegisterSchema,
|
|
220
|
-
hcs26DiscoveryRegisterLegacySchema,
|
|
221
|
-
hcs26DiscoveryUpdateSchema,
|
|
222
|
-
hcs26DiscoveryUpdateLegacySchema,
|
|
223
|
-
hcs26DiscoveryDeleteSchema,
|
|
224
|
-
hcs26DiscoveryMigrateSchema
|
|
225
|
-
]);
|
|
226
|
-
const hcs26VersionMessageSchema = z.union([
|
|
227
|
-
hcs26VersionRegisterSchema,
|
|
228
|
-
hcs26VersionRegisterLegacySchema,
|
|
229
|
-
hcs26VersionUpdateSchema,
|
|
230
|
-
hcs26VersionDeleteSchema,
|
|
231
|
-
hcs26VersionMigrateSchema
|
|
232
|
-
]);
|
|
179
|
+
throw lastError;
|
|
180
|
+
}
|
|
233
181
|
export {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
hcs26DiscoveryUpdateLegacySchema,
|
|
243
|
-
hcs26DiscoveryUpdateSchema,
|
|
244
|
-
hcs26ManifestFileSchema,
|
|
245
|
-
hcs26OperationEnumSchema,
|
|
246
|
-
hcs26SkillManifestSchema,
|
|
247
|
-
hcs26TopicTypeEnumSchema,
|
|
248
|
-
hcs26VersionDeleteSchema,
|
|
249
|
-
hcs26VersionMessageSchema,
|
|
250
|
-
hcs26VersionMigrateSchema,
|
|
251
|
-
hcs26VersionRegisterLegacySchema,
|
|
252
|
-
hcs26VersionRegisterSchema,
|
|
253
|
-
hcs26VersionUpdateSchema
|
|
182
|
+
Hcs25CollectorError,
|
|
183
|
+
Hcs25CollectorHttpError,
|
|
184
|
+
Hcs25CollectorTimeoutError,
|
|
185
|
+
isTimeoutError,
|
|
186
|
+
requestJson,
|
|
187
|
+
requestText,
|
|
188
|
+
resolveFetch,
|
|
189
|
+
stripTrailingSlashes
|
|
254
190
|
};
|
|
255
191
|
//# sourceMappingURL=standards-sdk.es122.js.map
|
|
@@ -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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"}
|