@hashgraphonline/standards-sdk 0.1.184 → 0.1.186
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/acp.d.ts +20 -0
- package/dist/browser/hcs-25/adapters/acp.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/agentverse.d.ts +34 -0
- package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/availability.d.ts +22 -0
- package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/connectivity.d.ts +25 -0
- package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
- package/dist/browser/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/ethos.d.ts +21 -0
- package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/index.d.ts +21 -0
- package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/model-evals.d.ts +61 -0
- package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/normalization.d.ts +20 -0
- package/dist/browser/hcs-25/adapters/normalization.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/oss-popularity.d.ts +22 -0
- package/dist/browser/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/output-verification.d.ts +27 -0
- package/dist/browser/hcs-25/adapters/output-verification.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts +14 -0
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/x402.d.ts +18 -0
- package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -0
- package/dist/browser/hcs-25/identifiers.d.ts +24 -0
- package/dist/browser/hcs-25/identifiers.d.ts.map +1 -0
- package/dist/browser/hcs-25/index.d.ts +6 -0
- package/dist/browser/hcs-25/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/scoring.d.ts +32 -0
- package/dist/browser/hcs-25/scoring.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts +20 -0
- package/dist/browser/hcs-25/signals/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/marketplace.d.ts +296 -0
- package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/metadata.d.ts +40 -0
- package/dist/browser/hcs-25/signals/metadata.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/model-evals.d.ts +127 -0
- package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/operational.d.ts +757 -0
- package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/simple-evals.d.ts +156 -0
- package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/types.d.ts +363 -0
- package/dist/browser/hcs-25/types.d.ts.map +1 -0
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/acp.d.ts +20 -0
- package/dist/browser-root/hcs-25/adapters/acp.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts +34 -0
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/availability.d.ts +22 -0
- package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts +25 -0
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
- package/dist/browser-root/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts +21 -0
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts +21 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts +61 -0
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/normalization.d.ts +20 -0
- package/dist/browser-root/hcs-25/adapters/normalization.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/oss-popularity.d.ts +22 -0
- package/dist/browser-root/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/output-verification.d.ts +27 -0
- package/dist/browser-root/hcs-25/adapters/output-verification.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts +14 -0
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/x402.d.ts +18 -0
- package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/identifiers.d.ts +24 -0
- package/dist/browser-root/hcs-25/identifiers.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/index.d.ts +6 -0
- package/dist/browser-root/hcs-25/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/scoring.d.ts +32 -0
- package/dist/browser-root/hcs-25/scoring.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts +20 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts +296 -0
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/metadata.d.ts +40 -0
- package/dist/browser-root/hcs-25/signals/metadata.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts +127 -0
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/operational.d.ts +757 -0
- package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +156 -0
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/types.d.ts +363 -0
- package/dist/browser-root/hcs-25/types.d.ts.map +1 -0
- package/dist/browser-root/index.d.ts +1 -0
- package/dist/browser-root/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/acp.d.ts +20 -0
- package/dist/cjs/hcs-25/adapters/acp.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts +34 -0
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/availability.d.ts +22 -0
- package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts +25 -0
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
- package/dist/cjs/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/ethos.d.ts +21 -0
- package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts +21 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts +61 -0
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/normalization.d.ts +20 -0
- package/dist/cjs/hcs-25/adapters/normalization.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/oss-popularity.d.ts +22 -0
- package/dist/cjs/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/output-verification.d.ts +27 -0
- package/dist/cjs/hcs-25/adapters/output-verification.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts +14 -0
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/x402.d.ts +18 -0
- package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -0
- package/dist/cjs/hcs-25/identifiers.d.ts +24 -0
- package/dist/cjs/hcs-25/identifiers.d.ts.map +1 -0
- package/dist/cjs/hcs-25/index.d.ts +6 -0
- package/dist/cjs/hcs-25/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/scoring.d.ts +32 -0
- package/dist/cjs/hcs-25/scoring.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts +20 -0
- package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/marketplace.d.ts +296 -0
- package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/metadata.d.ts +40 -0
- package/dist/cjs/hcs-25/signals/metadata.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/model-evals.d.ts +127 -0
- package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/operational.d.ts +757 -0
- package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts +156 -0
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/types.d.ts +363 -0
- package/dist/cjs/hcs-25/types.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.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/acp.d.ts +20 -0
- package/dist/es/hcs-25/adapters/acp.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/agentverse.d.ts +34 -0
- package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/availability.d.ts +22 -0
- package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/connectivity.d.ts +25 -0
- package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
- package/dist/es/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/ethos.d.ts +21 -0
- package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/index.d.ts +21 -0
- package/dist/es/hcs-25/adapters/index.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/model-evals.d.ts +61 -0
- package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/normalization.d.ts +20 -0
- package/dist/es/hcs-25/adapters/normalization.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/oss-popularity.d.ts +22 -0
- package/dist/es/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/output-verification.d.ts +27 -0
- package/dist/es/hcs-25/adapters/output-verification.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/simple-evals.d.ts +14 -0
- package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/x402.d.ts +18 -0
- package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -0
- package/dist/es/hcs-25/identifiers.d.ts +24 -0
- package/dist/es/hcs-25/identifiers.d.ts.map +1 -0
- package/dist/es/hcs-25/index.d.ts +6 -0
- package/dist/es/hcs-25/index.d.ts.map +1 -0
- package/dist/es/hcs-25/scoring.d.ts +32 -0
- package/dist/es/hcs-25/scoring.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/index.d.ts +20 -0
- package/dist/es/hcs-25/signals/index.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/marketplace.d.ts +296 -0
- package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/metadata.d.ts +40 -0
- package/dist/es/hcs-25/signals/metadata.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/model-evals.d.ts +127 -0
- package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/operational.d.ts +757 -0
- package/dist/es/hcs-25/signals/operational.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/simple-evals.d.ts +156 -0
- package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/types.d.ts +363 -0
- package/dist/es/hcs-25/types.d.ts.map +1 -0
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +131 -40
- 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.es117.js +19 -251
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +60 -475
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +218 -86
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +225 -159
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +50 -33
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +250 -10
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +448 -152
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +101 -25
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +155 -17
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +29 -155
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +9 -198
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +146 -754
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +27 -11
- 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 +19 -564
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +140 -606
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +200 -12
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +790 -2
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +10 -84
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +567 -40
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +626 -2
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +12 -234
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +2 -1140
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +73 -292
- 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 +36 -418
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +2 -355
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +198 -1085
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +1107 -175
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +218 -1479
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +419 -1154
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +351 -13
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +1077 -214
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +208 -4
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +1564 -78
- 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 +1153 -83
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +15 -58
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +259 -2547
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +4 -159
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +81 -7
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +79 -78
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +56 -61
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +2547 -30
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +159 -34
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +7 -48
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +5 -5
- package/dist/es/standards-sdk.es160.js +70 -122
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +58 -35
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +190 -12478
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +22 -52
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +54 -107
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +90 -76
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +46 -197
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +203 -16
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +54 -670
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +44 -167
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +55 -321
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +45 -342
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +115 -446
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +51 -328
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +42 -74
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +72 -73
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +68 -139
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +44 -517
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +33 -256
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +30 -196
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +12 -12
- package/dist/es/standards-sdk.es180.js +34 -119
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +48 -152
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +126 -172
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +34 -676
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +12453 -156
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +14 -232
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +642 -209
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +114 -0
- package/dist/es/standards-sdk.es187.js.map +1 -0
- package/dist/es/standards-sdk.es188.js +76 -0
- package/dist/es/standards-sdk.es188.js.map +1 -0
- package/dist/es/standards-sdk.es189.js +59 -0
- package/dist/es/standards-sdk.es189.js.map +1 -0
- package/dist/es/standards-sdk.es19.js +9 -9
- package/dist/es/standards-sdk.es190.js +84 -0
- package/dist/es/standards-sdk.es190.js.map +1 -0
- package/dist/es/standards-sdk.es191.js +203 -0
- package/dist/es/standards-sdk.es191.js.map +1 -0
- package/dist/es/standards-sdk.es192.js +175 -0
- package/dist/es/standards-sdk.es192.js.map +1 -0
- package/dist/es/standards-sdk.es193.js +325 -0
- package/dist/es/standards-sdk.es193.js.map +1 -0
- package/dist/es/standards-sdk.es194.js +349 -0
- package/dist/es/standards-sdk.es194.js.map +1 -0
- package/dist/es/standards-sdk.es195.js +456 -0
- package/dist/es/standards-sdk.es195.js.map +1 -0
- package/dist/es/standards-sdk.es196.js +334 -0
- package/dist/es/standards-sdk.es196.js.map +1 -0
- package/dist/es/standards-sdk.es197.js +79 -0
- package/dist/es/standards-sdk.es197.js.map +1 -0
- package/dist/es/standards-sdk.es198.js +142 -0
- package/dist/es/standards-sdk.es198.js.map +1 -0
- package/dist/es/standards-sdk.es199.js +520 -0
- package/dist/es/standards-sdk.es199.js.map +1 -0
- 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 +262 -0
- package/dist/es/standards-sdk.es200.js.map +1 -0
- package/dist/es/standards-sdk.es201.js +199 -0
- package/dist/es/standards-sdk.es201.js.map +1 -0
- package/dist/es/standards-sdk.es202.js +122 -0
- package/dist/es/standards-sdk.es202.js.map +1 -0
- package/dist/es/standards-sdk.es203.js +155 -0
- package/dist/es/standards-sdk.es203.js.map +1 -0
- package/dist/es/standards-sdk.es204.js +187 -0
- package/dist/es/standards-sdk.es204.js.map +1 -0
- package/dist/es/standards-sdk.es205.js +687 -0
- package/dist/es/standards-sdk.es205.js.map +1 -0
- package/dist/es/standards-sdk.es206.js +188 -0
- package/dist/es/standards-sdk.es206.js.map +1 -0
- package/dist/es/standards-sdk.es207.js +238 -0
- package/dist/es/standards-sdk.es207.js.map +1 -0
- package/dist/es/standards-sdk.es208.js +242 -0
- package/dist/es/standards-sdk.es208.js.map +1 -0
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- 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 +12 -12
- 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 +6 -6
- 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 +7 -7
- 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 +4 -4
- 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.es117.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.es117.js","sources":["../../src/hcs-25/identifiers.ts"],"sourcesContent":["/**\n * HCS-25 identifier namespacing rules.\n *\n * @see https://github.com/hiero-ledger/hiero-consensus-specifications/blob/main/docs/standards/hcs-25.md\n */\n\n/**\n * Adapter identifier pattern: hyphen-separated segments, where each segment\n * starts with a lowercase letter and continues with lowercase letters or\n * digits (`segment \"-\" segment`).\n */\nconst HCS25_ADAPTER_ID_PATTERN = /^[a-z][a-z0-9]*(?:-[a-z][a-z0-9]*)*$/;\n\n/**\n * Signal identifier pattern: dot-separated segments (at least two), where each\n * segment starts with a lowercase letter and continues with lowercase letters,\n * digits, underscores, or hyphens.\n */\nconst HCS25_SIGNAL_ID_PATTERN = /^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$/;\n\n/**\n * Component key pattern: ASCII, dot-separated, no whitespace. Lowercase is\n * recommended but uppercase segments are accepted.\n */\nconst HCS25_COMPONENT_KEY_PATTERN = /^[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*$/i;\n\n/**\n * Component name pattern: one or more dot-separated key segments, so names\n * like `jobs.successRate` produce namespaced component keys such as\n * `acp.jobs.successRate`.\n */\nconst HCS25_COMPONENT_NAME_PATTERN = /^[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*$/i;\n\n/**\n * Checks whether an adapter identifier satisfies HCS-25 namespacing.\n */\nexport function isValidAdapterId(adapterId: string): boolean {\n return HCS25_ADAPTER_ID_PATTERN.test(adapterId);\n}\n\n/**\n * Checks whether a signal identifier satisfies HCS-25 namespacing.\n */\nexport function isValidSignalId(signalId: string): boolean {\n return HCS25_SIGNAL_ID_PATTERN.test(signalId);\n}\n\n/**\n * Checks whether a component key satisfies HCS-25 key rules (ASCII, no\n * whitespace, dot-separated namespaces).\n */\nexport function isValidComponentKey(componentKey: string): boolean {\n return HCS25_COMPONENT_KEY_PATTERN.test(componentKey);\n}\n\n/**\n * Checks whether a component name forms valid key segments when prefixed\n * with an adapter identifier.\n */\nexport function isValidComponentName(componentName: string): boolean {\n return HCS25_COMPONENT_NAME_PATTERN.test(componentName);\n}\n"],"names":[],"mappings":"AAWA,MAAM,2BAA2B;AAOjC,MAAM,0BAA0B;AAMhC,MAAM,8BAA8B;AAOpC,MAAM,+BAA+B;AAK9B,SAAS,iBAAiB,WAA4B;AAC3D,SAAO,yBAAyB,KAAK,SAAS;AAChD;AAKO,SAAS,gBAAgB,UAA2B;AACzD,SAAO,wBAAwB,KAAK,QAAQ;AAC9C;AAMO,SAAS,oBAAoB,cAA+B;AACjE,SAAO,4BAA4B,KAAK,YAAY;AACtD;AAMO,SAAS,qBAAqB,eAAgC;AACnE,SAAO,6BAA6B,KAAK,aAAa;AACxD;"}
|
|
@@ -1,481 +1,66 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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;
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
function parseSequenceFromUid(uid) {
|
|
80
|
-
if (!/^\d+$/.test(uid)) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
const parsed = Number(uid);
|
|
84
|
-
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
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`);
|
|
93
|
-
}
|
|
94
|
-
return trimmed;
|
|
95
|
-
}
|
|
96
|
-
function mergeDiscoveryMetadata(base, update) {
|
|
97
|
-
if (!update) {
|
|
98
|
-
return base;
|
|
99
|
-
}
|
|
100
|
-
return { ...base, ...update };
|
|
101
|
-
}
|
|
102
|
-
function normalizeDiscoveryRegister(input, messageSequenceNumber) {
|
|
103
|
-
const seq = typeof input.sequence_number === "number" ? input.sequence_number : typeof messageSequenceNumber === "number" ? messageSequenceNumber : void 0;
|
|
104
|
-
if ("t_id" in input) {
|
|
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;
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { isValidSignalId } from "./standards-sdk.es117.js";
|
|
3
|
+
const hcs25JsonValueSchema = z.lazy(
|
|
4
|
+
() => z.union([
|
|
5
|
+
z.string(),
|
|
6
|
+
z.number(),
|
|
7
|
+
z.boolean(),
|
|
8
|
+
z.null(),
|
|
9
|
+
z.array(hcs25JsonValueSchema),
|
|
10
|
+
z.record(z.string(), hcs25JsonValueSchema)
|
|
11
|
+
])
|
|
12
|
+
);
|
|
13
|
+
const hcs25SignalStatusSchema = z.enum([
|
|
14
|
+
"ok",
|
|
15
|
+
"missing",
|
|
16
|
+
"timeout",
|
|
17
|
+
"error",
|
|
18
|
+
"stale"
|
|
19
|
+
]);
|
|
20
|
+
const hcs25SignalProvenanceSchema = z.object({
|
|
21
|
+
source: z.string().min(1).optional(),
|
|
22
|
+
sourceUrl: z.string().min(1).optional(),
|
|
23
|
+
subjectId: z.string().min(1).optional(),
|
|
24
|
+
fetchedAt: z.string().min(1).optional(),
|
|
25
|
+
params: z.record(z.string(), hcs25JsonValueSchema).optional()
|
|
26
|
+
}).passthrough();
|
|
27
|
+
const hcs25SignalSchema = z.object({
|
|
28
|
+
status: hcs25SignalStatusSchema,
|
|
29
|
+
value: hcs25JsonValueSchema.optional(),
|
|
30
|
+
fetchedAt: z.string().min(1).optional(),
|
|
31
|
+
provenance: hcs25SignalProvenanceSchema.optional()
|
|
32
|
+
}).passthrough();
|
|
33
|
+
const hcs25SignalSnapshotSchema = z.record(z.string(), hcs25SignalSchema).superRefine((snapshot, ctx) => {
|
|
34
|
+
for (const key of Object.keys(snapshot)) {
|
|
35
|
+
if (!isValidSignalId(key)) {
|
|
36
|
+
ctx.addIssue({
|
|
37
|
+
code: z.ZodIssueCode.custom,
|
|
38
|
+
message: `invalid signal identifier "${key}": signal identifiers must be namespaced, e.g. "provider.metric"`
|
|
369
39
|
});
|
|
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 };
|
|
457
|
-
}
|
|
458
|
-
async verifyVersionRegisterMatchesManifest(params) {
|
|
459
|
-
const checksumRaw = params.versionRegister.checksum;
|
|
460
|
-
if (!checksumRaw) {
|
|
461
|
-
this.logger.warn(
|
|
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
40
|
}
|
|
476
41
|
}
|
|
477
|
-
}
|
|
42
|
+
});
|
|
43
|
+
const hcs25SubjectSchema = z.object({
|
|
44
|
+
id: z.string().min(1),
|
|
45
|
+
registry: z.string().min(1).optional(),
|
|
46
|
+
protocol: z.string().min(1).optional(),
|
|
47
|
+
class: z.string().min(1).optional(),
|
|
48
|
+
metadata: z.record(z.string(), hcs25JsonValueSchema).optional()
|
|
49
|
+
}).passthrough();
|
|
50
|
+
const HCS25_DEFAULT_WEIGHT = 1;
|
|
51
|
+
const HCS25_DEFAULT_CONTRIBUTION_MODE = "conditional";
|
|
52
|
+
const HCS25_DEFAULT_STALE_MULTIPLIER = 1;
|
|
53
|
+
const HCS25_DEFAULT_ROUNDING_DECIMALS = 2;
|
|
478
54
|
export {
|
|
479
|
-
|
|
55
|
+
HCS25_DEFAULT_CONTRIBUTION_MODE,
|
|
56
|
+
HCS25_DEFAULT_ROUNDING_DECIMALS,
|
|
57
|
+
HCS25_DEFAULT_STALE_MULTIPLIER,
|
|
58
|
+
HCS25_DEFAULT_WEIGHT,
|
|
59
|
+
hcs25JsonValueSchema,
|
|
60
|
+
hcs25SignalProvenanceSchema,
|
|
61
|
+
hcs25SignalSchema,
|
|
62
|
+
hcs25SignalSnapshotSchema,
|
|
63
|
+
hcs25SignalStatusSchema,
|
|
64
|
+
hcs25SubjectSchema
|
|
480
65
|
};
|
|
481
66
|
//# sourceMappingURL=standards-sdk.es118.js.map
|