@hashgraphonline/standards-sdk 0.1.143 → 0.1.144-feat-solana-register.canary.d5edcec.80
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/cjs/hcs-10/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-10/sdk.d.ts +8 -0
- package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-11/client.d.ts +2 -2
- package/dist/cjs/hcs-11/client.d.ts.map +1 -1
- package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
- package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
- package/dist/cjs/hcs-11/types.d.ts +1 -0
- package/dist/cjs/hcs-11/types.d.ts.map +1 -1
- package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
- package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
- package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/cjs/hcs-15/browser.d.ts +2 -0
- package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-15/sdk.d.ts +7 -1
- package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-15/tx.d.ts +4 -0
- package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-15/types.d.ts +16 -1
- package/dist/cjs/hcs-15/types.d.ts.map +1 -1
- package/dist/cjs/hcs-16/browser.d.ts +11 -2
- package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-16/sdk.d.ts +62 -1
- package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-16/tx.d.ts +21 -3
- package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-17/base-client.d.ts +1 -0
- package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-17/tx.d.ts +2 -0
- package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-17/types.d.ts +4 -0
- package/dist/cjs/hcs-17/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/types.d.ts +75 -75
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
- package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
- package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +70 -0
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
- package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
- package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
- package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
- package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
- package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
- package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
- package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
- package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
- package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
- package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client.d.ts +2 -205
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +2509 -816
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/types.d.ts +64 -2
- package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +3 -3
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
- package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +5 -1
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +8 -0
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/hcs-11/client.d.ts +2 -2
- package/dist/es/hcs-11/client.d.ts.map +1 -1
- package/dist/es/hcs-11/person-builder.d.ts +1 -0
- package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
- package/dist/es/hcs-11/types.d.ts +1 -0
- package/dist/es/hcs-11/types.d.ts.map +1 -1
- package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
- package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
- package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/es/hcs-15/browser.d.ts +2 -0
- package/dist/es/hcs-15/browser.d.ts.map +1 -1
- package/dist/es/hcs-15/sdk.d.ts +7 -1
- package/dist/es/hcs-15/sdk.d.ts.map +1 -1
- package/dist/es/hcs-15/tx.d.ts +4 -0
- package/dist/es/hcs-15/tx.d.ts.map +1 -1
- package/dist/es/hcs-15/types.d.ts +16 -1
- package/dist/es/hcs-15/types.d.ts.map +1 -1
- package/dist/es/hcs-16/browser.d.ts +11 -2
- package/dist/es/hcs-16/browser.d.ts.map +1 -1
- package/dist/es/hcs-16/sdk.d.ts +62 -1
- package/dist/es/hcs-16/sdk.d.ts.map +1 -1
- package/dist/es/hcs-16/tx.d.ts +21 -3
- package/dist/es/hcs-16/tx.d.ts.map +1 -1
- package/dist/es/hcs-17/base-client.d.ts +1 -0
- package/dist/es/hcs-17/base-client.d.ts.map +1 -1
- package/dist/es/hcs-17/sdk.d.ts.map +1 -1
- package/dist/es/hcs-17/tx.d.ts +2 -0
- package/dist/es/hcs-17/tx.d.ts.map +1 -1
- package/dist/es/hcs-17/types.d.ts +4 -0
- package/dist/es/hcs-17/types.d.ts.map +1 -1
- package/dist/es/hcs-21/types.d.ts +75 -75
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
- package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
- package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/base-client.d.ts +70 -0
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
- package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
- package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
- package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
- package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
- package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
- package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
- package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
- package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/search.d.ts +19 -0
- package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
- package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client.d.ts +2 -205
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
- package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +2509 -816
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/registry-broker/types.d.ts +64 -2
- package/dist/es/services/registry-broker/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +148 -133
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +70 -90
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +229 -26
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +109 -228
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +15 -94
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +80 -30
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +27 -80
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +136 -25
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -140
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +20 -27
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +156 -18
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +198 -148
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +121 -45
- package/dist/es/standards-sdk.es11.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +747 -160
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +9 -786
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +567 -13
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +576 -541
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +12 -601
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +2 -13
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +87 -2
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +37 -80
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +2 -39
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +231 -2
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +60 -159
- package/dist/es/standards-sdk.es12.js.map +1 -1
- package/dist/es/standards-sdk.es120.js +1110 -193
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +225 -1059
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +419 -303
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +351 -418
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +872 -347
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +182 -854
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +1512 -153
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +157 -1547
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +184 -2190
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +100 -63
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +200 -60
- package/dist/es/standards-sdk.es13.js.map +1 -1
- package/dist/es/standards-sdk.es130.js +112 -78
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +232 -144
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +181 -8
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +118 -82
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +322 -61
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +464 -28
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +14 -135
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +78 -39
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +85 -764
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +135 -12250
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +149 -178
- package/dist/es/standards-sdk.es14.js.map +1 -1
- package/dist/es/standards-sdk.es140.js +7 -56
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +72 -68
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +61 -13
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +30 -172
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +34 -322
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +28 -346
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +112 -427
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +40 -329
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +12279 -66
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +961 -0
- package/dist/es/standards-sdk.es149.js.map +1 -0
- package/dist/es/standards-sdk.es15.js +152 -151
- package/dist/es/standards-sdk.es15.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +20 -0
- package/dist/es/standards-sdk.es150.js.map +1 -0
- package/dist/es/standards-sdk.es151.js +59 -0
- package/dist/es/standards-sdk.es151.js.map +1 -0
- package/dist/es/standards-sdk.es152.js +87 -0
- package/dist/es/standards-sdk.es152.js.map +1 -0
- package/dist/es/standards-sdk.es153.js +175 -0
- package/dist/es/standards-sdk.es153.js.map +1 -0
- package/dist/es/standards-sdk.es154.js +325 -0
- package/dist/es/standards-sdk.es154.js.map +1 -0
- package/dist/es/standards-sdk.es155.js +349 -0
- package/dist/es/standards-sdk.es155.js.map +1 -0
- package/dist/es/standards-sdk.es156.js +456 -0
- package/dist/es/standards-sdk.es156.js.map +1 -0
- package/dist/es/standards-sdk.es157.js +334 -0
- package/dist/es/standards-sdk.es157.js.map +1 -0
- package/dist/es/standards-sdk.es158.js +79 -0
- package/dist/es/standards-sdk.es158.js.map +1 -0
- package/dist/es/standards-sdk.es159.js +242 -0
- package/dist/es/standards-sdk.es159.js.map +1 -0
- package/dist/es/standards-sdk.es16.js +917 -136
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es160.js +247 -0
- package/dist/es/standards-sdk.es160.js.map +1 -0
- package/dist/es/standards-sdk.es17.js +23 -938
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +2422 -24
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +826 -2075
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +654 -189
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +205 -1086
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +858 -221
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +179 -903
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +164 -179
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +62 -118
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +377 -52
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +36 -394
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +901 -50
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +134 -897
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +7 -134
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +63 -680
- package/dist/es/standards-sdk.es3.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +344 -7
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +302 -287
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +94 -322
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +458 -101
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +132 -451
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +216 -130
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +274 -191
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +148 -87
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +183 -320
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +238 -161
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +425 -63
- package/dist/es/standards-sdk.es4.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +136 -254
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +225 -176
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +199 -261
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +237 -199
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +209 -201
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +305 -201
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +371 -261
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +316 -371
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +404 -336
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +83 -449
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +232 -354
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +179 -89
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +231 -165
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +25 -262
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +56 -26
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +12 -57
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +49 -12
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +115 -43
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +42 -115
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +52 -43
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +36 -50
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +125 -246
- package/dist/es/standards-sdk.es6.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +207 -39
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +24 -195
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +87 -25
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +3 -51
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +100 -3
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +61 -62
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +17 -98
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +77 -19
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +458 -77
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +106 -240
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +28 -183
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +170 -286
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +71 -207
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +71 -72
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +143 -71
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +62 -136
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +380 -45
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +222 -130
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +320 -444
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +88 -364
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +125 -89
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +80 -29
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +8 -125
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -6
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +98 -44
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +331 -84
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +93 -160
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +55 -275
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +43 -55
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +145 -22
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +34 -47
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +22 -57
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +104 -80
- package/dist/es/standards-sdk.es9.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +23 -28
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +238 -23
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +265 -152
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +95 -68
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +124 -136
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +42 -138
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +259 -42
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +82 -243
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +48 -47
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +29 -100
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
- package/dist/es/utils/crypto-env.d.ts.map +1 -1
- package/dist/es/utils/dynamic-import.d.ts +5 -1
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/utils/hash-adapter.d.ts.map +1 -1
- package/package.json +15 -16
- package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
- package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
|
@@ -1,205 +1,243 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
format: z.enum(["tar.gz", "zip", "car"]),
|
|
9
|
-
root_manifest: z.string(),
|
|
10
|
-
includes_lockfile: z.boolean(),
|
|
11
|
-
workspace_members: z.array(z.string()).optional()
|
|
12
|
-
});
|
|
13
|
-
const sourceVerificationSchema = z.object({
|
|
14
|
-
source_t_id: hederaAddressSchema,
|
|
15
|
-
source_hash: sha256HashSchema,
|
|
16
|
-
compiler_version: z.string(),
|
|
17
|
-
cargo_version: z.string(),
|
|
18
|
-
target: z.literal("wasm32-unknown-unknown"),
|
|
19
|
-
profile: z.string(),
|
|
20
|
-
build_flags: z.array(z.string()),
|
|
21
|
-
lockfile_hash: sha256HashSchema,
|
|
22
|
-
source_structure: sourceStructureSchema
|
|
23
|
-
});
|
|
24
|
-
const validationRuleSchema = z.lazy(
|
|
25
|
-
() => z.object({
|
|
26
|
-
type: z.string().optional(),
|
|
27
|
-
required: z.array(z.string()).optional(),
|
|
28
|
-
properties: z.record(validationRuleSchema).optional(),
|
|
29
|
-
pattern: z.string().optional(),
|
|
30
|
-
minimum: z.number().optional(),
|
|
31
|
-
maximum: z.number().optional(),
|
|
32
|
-
regex: z.string().optional(),
|
|
33
|
-
min: z.number().optional(),
|
|
34
|
-
max: z.number().optional(),
|
|
35
|
-
length: z.number().optional(),
|
|
36
|
-
email: z.boolean().optional(),
|
|
37
|
-
url: z.boolean().optional(),
|
|
38
|
-
uuid: z.boolean().optional(),
|
|
39
|
-
cuid: z.boolean().optional(),
|
|
40
|
-
cuid2: z.boolean().optional(),
|
|
41
|
-
ulid: z.boolean().optional(),
|
|
42
|
-
datetime: z.boolean().optional(),
|
|
43
|
-
ip: z.boolean().optional(),
|
|
44
|
-
startsWith: z.string().optional(),
|
|
45
|
-
endsWith: z.string().optional(),
|
|
46
|
-
includes: z.string().optional(),
|
|
47
|
-
gt: z.number().optional(),
|
|
48
|
-
gte: z.number().optional(),
|
|
49
|
-
lt: z.number().optional(),
|
|
50
|
-
lte: z.number().optional(),
|
|
51
|
-
int: z.boolean().optional(),
|
|
52
|
-
positive: z.boolean().optional(),
|
|
53
|
-
nonnegative: z.boolean().optional(),
|
|
54
|
-
negative: z.boolean().optional(),
|
|
55
|
-
nonpositive: z.boolean().optional(),
|
|
56
|
-
multipleOf: z.number().optional(),
|
|
57
|
-
finite: z.boolean().optional(),
|
|
58
|
-
safe: z.boolean().optional(),
|
|
59
|
-
nonempty: z.boolean().optional(),
|
|
60
|
-
literal: z.union([z.string(), z.number(), z.boolean()]).optional(),
|
|
61
|
-
enum: z.array(z.string()).optional(),
|
|
62
|
-
nullable: z.boolean().optional(),
|
|
63
|
-
nullish: z.boolean().optional(),
|
|
64
|
-
optional: z.boolean().optional(),
|
|
65
|
-
element: z.any().optional(),
|
|
66
|
-
shape: z.record(z.any()).optional(),
|
|
67
|
-
strict: z.boolean().optional(),
|
|
68
|
-
passthrough: z.boolean().optional(),
|
|
69
|
-
catchall: z.any().optional()
|
|
70
|
-
})
|
|
71
|
-
);
|
|
72
|
-
const actionRegistrationSchema = z.object({
|
|
73
|
-
p: z.literal("hcs-12"),
|
|
74
|
-
op: z.literal("register"),
|
|
75
|
-
t_id: hederaAddressSchema,
|
|
76
|
-
hash: sha256HashSchema,
|
|
77
|
-
wasm_hash: sha256HashSchema,
|
|
78
|
-
js_t_id: hederaAddressSchema.optional(),
|
|
79
|
-
js_hash: sha256HashSchema.optional(),
|
|
80
|
-
interface_version: z.string().regex(/^\d+\.\d+\.\d+$/, "Invalid version format").optional(),
|
|
81
|
-
info_t_id: hederaAddressSchema.optional(),
|
|
82
|
-
source_verification: sourceVerificationSchema.optional(),
|
|
83
|
-
previous_version: z.string().optional(),
|
|
84
|
-
migration_notes: z.string().optional(),
|
|
85
|
-
validation_rules: z.record(validationRuleSchema).optional(),
|
|
86
|
-
m: z.string().optional()
|
|
87
|
-
});
|
|
88
|
-
const blockRegistrationSchema = z.object({
|
|
89
|
-
p: z.literal("hcs-12"),
|
|
90
|
-
op: z.enum(["register", "template"]),
|
|
91
|
-
name: z.string(),
|
|
92
|
-
version: z.string().regex(/^\d+\.\d+\.\d+$/, "Invalid semver format"),
|
|
93
|
-
data: z.union([z.any(), z.string()]).optional(),
|
|
94
|
-
t_id: hederaAddressSchema.optional()
|
|
95
|
-
});
|
|
96
|
-
z.enum([
|
|
97
|
-
"register",
|
|
98
|
-
"add-action",
|
|
99
|
-
"add-block",
|
|
100
|
-
"update"
|
|
101
|
-
]);
|
|
102
|
-
const assemblyRegisterSchema = baseRegistrationSchema.extend({
|
|
103
|
-
op: z.literal("register"),
|
|
104
|
-
name: z.string(),
|
|
105
|
-
version: z.string().regex(/^\d+\.\d+\.\d+$/, "Invalid semver format"),
|
|
106
|
-
description: z.string().optional(),
|
|
107
|
-
tags: z.array(z.string()).optional(),
|
|
108
|
-
author: z.string().optional()
|
|
109
|
-
});
|
|
110
|
-
const assemblyAddActionSchema = baseRegistrationSchema.extend({
|
|
111
|
-
op: z.literal("add-action"),
|
|
112
|
-
t_id: hederaAddressSchema,
|
|
113
|
-
alias: z.string(),
|
|
114
|
-
config: z.any().optional(),
|
|
115
|
-
data: hederaAddressSchema.optional()
|
|
116
|
-
});
|
|
117
|
-
const assemblyAddBlockSchema = baseRegistrationSchema.extend({
|
|
118
|
-
op: z.literal("add-block"),
|
|
119
|
-
block_t_id: hederaAddressSchema,
|
|
120
|
-
actions: z.record(z.string(), hederaAddressSchema).optional(),
|
|
121
|
-
attributes: z.record(z.any()).optional(),
|
|
122
|
-
children: z.array(z.string()).optional(),
|
|
123
|
-
data: hederaAddressSchema.optional()
|
|
124
|
-
});
|
|
125
|
-
const assemblyUpdateSchema = baseRegistrationSchema.extend({
|
|
126
|
-
op: z.literal("update"),
|
|
127
|
-
description: z.string().optional(),
|
|
128
|
-
tags: z.array(z.string()).optional()
|
|
129
|
-
});
|
|
130
|
-
z.object({
|
|
131
|
-
type: z.enum(["vertical", "horizontal", "grid"]),
|
|
132
|
-
responsive: z.boolean().optional(),
|
|
133
|
-
containerClass: z.string().optional()
|
|
134
|
-
});
|
|
135
|
-
z.object({
|
|
136
|
-
source_t_id: hederaAddressSchema,
|
|
137
|
-
source_hash: sha256HashSchema,
|
|
138
|
-
description: z.string().optional()
|
|
139
|
-
});
|
|
140
|
-
const assemblyMessageSchema = z.discriminatedUnion("op", [
|
|
141
|
-
assemblyRegisterSchema,
|
|
142
|
-
assemblyAddActionSchema,
|
|
143
|
-
assemblyAddBlockSchema,
|
|
144
|
-
assemblyUpdateSchema
|
|
145
|
-
]);
|
|
146
|
-
const assemblyRegistrationSchema = assemblyRegisterSchema;
|
|
147
|
-
const hashLinksRegistrationSchema = baseRegistrationSchema.extend({
|
|
148
|
-
op: z.literal("register"),
|
|
149
|
-
t_id: hederaAddressSchema,
|
|
150
|
-
name: z.string().max(100, "Name must be 100 characters or less"),
|
|
151
|
-
description: z.string().max(500, "Description must be 500 characters or less").optional(),
|
|
152
|
-
tags: z.array(z.string()).max(10, "Maximum 10 tags allowed").optional(),
|
|
153
|
-
category: z.string().optional(),
|
|
154
|
-
featured: z.boolean().optional(),
|
|
155
|
-
icon: z.string().optional(),
|
|
156
|
-
author: z.string().optional(),
|
|
157
|
-
website: z.string().url().optional()
|
|
158
|
-
});
|
|
159
|
-
function validateActionRegistration(data) {
|
|
160
|
-
return actionRegistrationSchema.parse(data);
|
|
161
|
-
}
|
|
162
|
-
function validateBlockRegistration(data) {
|
|
163
|
-
return blockRegistrationSchema.parse(data);
|
|
164
|
-
}
|
|
165
|
-
function validateAssemblyMessage(data) {
|
|
166
|
-
return assemblyMessageSchema.parse(data);
|
|
167
|
-
}
|
|
168
|
-
function validateAssemblyRegistration(data) {
|
|
169
|
-
return assemblyRegistrationSchema.parse(data);
|
|
170
|
-
}
|
|
171
|
-
function validateHashLinksRegistration(data) {
|
|
172
|
-
return hashLinksRegistrationSchema.parse(data);
|
|
173
|
-
}
|
|
174
|
-
function safeValidate(schema, data) {
|
|
175
|
-
const result = schema.safeParse(data);
|
|
176
|
-
if (result.success) {
|
|
177
|
-
return { success: true, data: result.data };
|
|
1
|
+
class AssemblyEngine {
|
|
2
|
+
constructor(logger, assemblyRegistry, actionRegistry, blockLoader) {
|
|
3
|
+
this.cache = /* @__PURE__ */ new Map();
|
|
4
|
+
this.logger = logger;
|
|
5
|
+
this.assemblyRegistry = assemblyRegistry;
|
|
6
|
+
this.actionRegistry = actionRegistry;
|
|
7
|
+
this.blockLoader = blockLoader;
|
|
178
8
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Load assembly state from topic and resolve all references
|
|
11
|
+
*/
|
|
12
|
+
async loadAssembly(topicId) {
|
|
13
|
+
this.logger.debug("Loading assembly", { topicId });
|
|
14
|
+
const cached = this.cache.get(topicId);
|
|
15
|
+
if (cached) {
|
|
16
|
+
this.logger.debug("Assembly loaded from cache", { topicId });
|
|
17
|
+
return cached;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const assemblyState = await this.assemblyRegistry.getAssemblyState(topicId);
|
|
21
|
+
if (!assemblyState) {
|
|
22
|
+
throw new Error(`Assembly not found: ${topicId}`);
|
|
23
|
+
}
|
|
24
|
+
const assembly = {
|
|
25
|
+
topicId,
|
|
26
|
+
state: assemblyState,
|
|
27
|
+
actions: [],
|
|
28
|
+
blocks: []
|
|
29
|
+
};
|
|
30
|
+
this.cache.set(topicId, assembly);
|
|
31
|
+
this.logger.debug("Assembly loaded successfully", {
|
|
32
|
+
topicId,
|
|
33
|
+
name: assemblyState.name,
|
|
34
|
+
version: assemblyState.version,
|
|
35
|
+
actionsCount: assemblyState.actions?.length || 0,
|
|
36
|
+
blocksCount: assemblyState.blocks?.length || 0
|
|
37
|
+
});
|
|
38
|
+
return assembly;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
this.logger.error("Failed to load assembly", { topicId, error });
|
|
41
|
+
throw new Error(
|
|
42
|
+
`Failed to load assembly: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resolve all references in an assembly state
|
|
48
|
+
*/
|
|
49
|
+
async resolveReferences(assemblyState) {
|
|
50
|
+
this.logger.debug("Resolving assembly references", {
|
|
51
|
+
name: assemblyState.name
|
|
52
|
+
});
|
|
53
|
+
const assembly = {
|
|
54
|
+
topicId: assemblyState.topicId,
|
|
55
|
+
state: assemblyState,
|
|
56
|
+
actions: [],
|
|
57
|
+
blocks: []
|
|
58
|
+
};
|
|
59
|
+
if (assemblyState.actions) {
|
|
60
|
+
for (const actionRef of assemblyState.actions) {
|
|
61
|
+
try {
|
|
62
|
+
const actionDefinition = await this.resolveActionReference(actionRef);
|
|
63
|
+
assembly.actions.push({
|
|
64
|
+
alias: actionRef.alias,
|
|
65
|
+
t_id: actionRef.t_id,
|
|
66
|
+
definition: actionDefinition,
|
|
67
|
+
config: actionRef.config
|
|
68
|
+
});
|
|
69
|
+
} catch (error) {
|
|
70
|
+
this.logger.warn("Failed to resolve action reference", {
|
|
71
|
+
t_id: actionRef.t_id,
|
|
72
|
+
alias: actionRef.alias,
|
|
73
|
+
error
|
|
74
|
+
});
|
|
75
|
+
assembly.actions.push({
|
|
76
|
+
alias: actionRef.alias,
|
|
77
|
+
t_id: actionRef.t_id,
|
|
78
|
+
definition: null,
|
|
79
|
+
config: actionRef.config,
|
|
80
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (assemblyState.blocks) {
|
|
86
|
+
for (const blockRef of assemblyState.blocks) {
|
|
87
|
+
try {
|
|
88
|
+
const { definition, template } = await this.resolveBlockReference(blockRef);
|
|
89
|
+
assembly.blocks.push({
|
|
90
|
+
block_t_id: blockRef.block_t_id,
|
|
91
|
+
definition,
|
|
92
|
+
template,
|
|
93
|
+
attributes: blockRef.attributes,
|
|
94
|
+
actions: blockRef.actions,
|
|
95
|
+
children: blockRef.children
|
|
96
|
+
});
|
|
97
|
+
} catch (error) {
|
|
98
|
+
this.logger.warn("Failed to resolve block reference", {
|
|
99
|
+
block_t_id: blockRef.block_t_id,
|
|
100
|
+
error
|
|
101
|
+
});
|
|
102
|
+
assembly.blocks.push({
|
|
103
|
+
block_t_id: blockRef.block_t_id,
|
|
104
|
+
definition: null,
|
|
105
|
+
attributes: blockRef.attributes,
|
|
106
|
+
actions: blockRef.actions,
|
|
107
|
+
children: blockRef.children,
|
|
108
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return assembly;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Validate that an assembly can be composed without errors
|
|
117
|
+
*/
|
|
118
|
+
validateComposition(assembly) {
|
|
119
|
+
const errors = [];
|
|
120
|
+
this.logger.debug("Validating assembly composition", {
|
|
121
|
+
topicId: assembly.topicId
|
|
122
|
+
});
|
|
123
|
+
if (!assembly.state.name) {
|
|
124
|
+
errors.push("Assembly must have a name");
|
|
125
|
+
}
|
|
126
|
+
if (!assembly.state.version) {
|
|
127
|
+
errors.push("Assembly must have a version");
|
|
128
|
+
}
|
|
129
|
+
if (assembly.state.blocks) {
|
|
130
|
+
for (const block of assembly.state.blocks) {
|
|
131
|
+
if (block.actions) {
|
|
132
|
+
for (const [actionKey, actionTopicId] of Object.entries(
|
|
133
|
+
block.actions
|
|
134
|
+
)) {
|
|
135
|
+
const actionExists = assembly.state.actions?.some(
|
|
136
|
+
(a) => a.t_id === actionTopicId
|
|
137
|
+
);
|
|
138
|
+
if (!actionExists) {
|
|
139
|
+
errors.push(
|
|
140
|
+
`Block ${block.block_t_id} references non-existent action: ${actionTopicId} for key ${actionKey}`
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (block.children) {
|
|
146
|
+
for (const childTopicId of block.children) {
|
|
147
|
+
const childExists = assembly.state.blocks?.some(
|
|
148
|
+
(b) => b.block_t_id === childTopicId
|
|
149
|
+
);
|
|
150
|
+
if (!childExists) {
|
|
151
|
+
errors.push(
|
|
152
|
+
`Block ${block.block_t_id} references non-existent child block: ${childTopicId}`
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (const action of assembly.actions) {
|
|
160
|
+
if (action.error) {
|
|
161
|
+
errors.push(
|
|
162
|
+
`Action ${action.alias} has resolution error: ${action.error}`
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
for (const block of assembly.blocks) {
|
|
167
|
+
if (block.error) {
|
|
168
|
+
errors.push(
|
|
169
|
+
`Block ${block.block_t_id} has resolution error: ${block.error}`
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
valid: errors.length === 0,
|
|
175
|
+
errors
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Load and resolve assembly with full validation
|
|
180
|
+
*/
|
|
181
|
+
async loadAndResolveAssembly(topicId) {
|
|
182
|
+
this.logger.debug("Loading and resolving assembly", { topicId });
|
|
183
|
+
try {
|
|
184
|
+
const assembly = await this.loadAssembly(topicId);
|
|
185
|
+
const resolved = await this.resolveReferences(assembly.state);
|
|
186
|
+
const validation = this.validateComposition(resolved);
|
|
187
|
+
if (!validation.valid) {
|
|
188
|
+
this.logger.warn("Assembly validation failed", {
|
|
189
|
+
topicId,
|
|
190
|
+
errors: validation.errors
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return resolved;
|
|
194
|
+
} catch (error) {
|
|
195
|
+
this.logger.error("Failed to load and resolve assembly", {
|
|
196
|
+
topicId,
|
|
197
|
+
error
|
|
198
|
+
});
|
|
199
|
+
throw new Error(
|
|
200
|
+
`Failed to load and resolve assembly: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Resolve action reference by fetching from action registry
|
|
206
|
+
*/
|
|
207
|
+
async resolveActionReference(actionRef) {
|
|
208
|
+
const action = await this.actionRegistry.getActionByTopicId(actionRef.t_id);
|
|
209
|
+
if (!action) {
|
|
210
|
+
throw new Error(`Action not found at topic: ${actionRef.t_id}`);
|
|
211
|
+
}
|
|
212
|
+
return action;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Resolve block reference by fetching from HCS-1
|
|
216
|
+
*/
|
|
217
|
+
async resolveBlockReference(blockRef) {
|
|
218
|
+
return await this.blockLoader.loadBlock(blockRef.block_t_id);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Clear assembly cache
|
|
222
|
+
*/
|
|
223
|
+
clearCache() {
|
|
224
|
+
this.cache.clear();
|
|
225
|
+
this.logger.debug("Assembly cache cleared");
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get cached assembly
|
|
229
|
+
*/
|
|
230
|
+
getCachedAssembly(topicId) {
|
|
231
|
+
return this.cache.get(topicId);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Check if assembly is cached
|
|
235
|
+
*/
|
|
236
|
+
isAssemblyCached(topicId) {
|
|
237
|
+
return this.cache.has(topicId);
|
|
185
238
|
}
|
|
186
|
-
return {
|
|
187
|
-
isValid: false,
|
|
188
|
-
errors: result.error.errors.map((e) => `${e.path.join(".")}: ${e.message}`)
|
|
189
|
-
};
|
|
190
239
|
}
|
|
191
240
|
export {
|
|
192
|
-
|
|
193
|
-
assemblyMessageSchema,
|
|
194
|
-
assemblyRegistrationSchema,
|
|
195
|
-
blockRegistrationSchema,
|
|
196
|
-
hashLinksRegistrationSchema,
|
|
197
|
-
safeValidate,
|
|
198
|
-
validateActionRegistration,
|
|
199
|
-
validateAssemblyMessage,
|
|
200
|
-
validateAssemblyRegistration,
|
|
201
|
-
validateBlockRegistration,
|
|
202
|
-
validateHashLinksRegistration,
|
|
203
|
-
validateWithSchema
|
|
241
|
+
AssemblyEngine
|
|
204
242
|
};
|
|
205
243
|
//# sourceMappingURL=standards-sdk.es43.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es43.js","sources":["../../src/hcs-12/validation/schemas.ts"],"sourcesContent":["/**\n * Zod validation schemas for HCS-12 registries\n *\n * Provides comprehensive validation for all HCS-12 registration types\n * following the standard specification exactly.\n */\n\nimport { z } from 'zod';\n\n/**\n * Common HCS-12 protocol fields\n */\nconst baseRegistrationSchema = z.object({\n p: z.literal('hcs-12'),\n});\n\n/**\n * Hedera address format validation\n */\nconst hederaAddressSchema = z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/, 'Invalid Hedera address format');\n\n/**\n * SHA-256 hash format validation\n */\nconst sha256HashSchema = z\n .string()\n .regex(/^[a-f0-9]{64}$/, 'Invalid SHA-256 hash format');\n\n/**\n * Source structure schema\n */\nconst sourceStructureSchema = z.object({\n format: z.enum(['tar.gz', 'zip', 'car']),\n root_manifest: z.string(),\n includes_lockfile: z.boolean(),\n workspace_members: z.array(z.string()).optional(),\n});\n\n/**\n * Source verification schema\n */\nconst sourceVerificationSchema = z.object({\n source_t_id: hederaAddressSchema,\n source_hash: sha256HashSchema,\n compiler_version: z.string(),\n cargo_version: z.string(),\n target: z.literal('wasm32-unknown-unknown'),\n profile: z.string(),\n build_flags: z.array(z.string()),\n lockfile_hash: sha256HashSchema,\n source_structure: sourceStructureSchema,\n});\n\n/**\n * Validation rule schema (mirrors Zod API)\n */\nconst validationRuleSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n type: z.string().optional(),\n required: z.array(z.string()).optional(),\n properties: z.record(validationRuleSchema).optional(),\n pattern: z.string().optional(),\n minimum: z.number().optional(),\n maximum: z.number().optional(),\n\n regex: z.string().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n length: z.number().optional(),\n email: z.boolean().optional(),\n url: z.boolean().optional(),\n uuid: z.boolean().optional(),\n cuid: z.boolean().optional(),\n cuid2: z.boolean().optional(),\n ulid: z.boolean().optional(),\n datetime: z.boolean().optional(),\n ip: z.boolean().optional(),\n startsWith: z.string().optional(),\n endsWith: z.string().optional(),\n includes: z.string().optional(),\n\n gt: z.number().optional(),\n gte: z.number().optional(),\n lt: z.number().optional(),\n lte: z.number().optional(),\n int: z.boolean().optional(),\n positive: z.boolean().optional(),\n nonnegative: z.boolean().optional(),\n negative: z.boolean().optional(),\n nonpositive: z.boolean().optional(),\n multipleOf: z.number().optional(),\n finite: z.boolean().optional(),\n safe: z.boolean().optional(),\n\n nonempty: z.boolean().optional(),\n\n literal: z.union([z.string(), z.number(), z.boolean()]).optional(),\n enum: z.array(z.string()).optional(),\n nullable: z.boolean().optional(),\n nullish: z.boolean().optional(),\n optional: z.boolean().optional(),\n\n element: z.any().optional(),\n shape: z.record(z.any()).optional(),\n strict: z.boolean().optional(),\n passthrough: z.boolean().optional(),\n catchall: z.any().optional(),\n }),\n);\n\n/**\n * Action registration schema - follows HCS-12 spec exactly\n */\nexport const actionRegistrationSchema = z.object({\n p: z.literal('hcs-12'),\n op: z.literal('register'),\n t_id: hederaAddressSchema,\n hash: sha256HashSchema,\n wasm_hash: sha256HashSchema,\n js_t_id: hederaAddressSchema.optional(),\n js_hash: sha256HashSchema.optional(),\n interface_version: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/, 'Invalid version format')\n .optional(),\n info_t_id: hederaAddressSchema.optional(),\n source_verification: sourceVerificationSchema.optional(),\n previous_version: z.string().optional(),\n migration_notes: z.string().optional(),\n validation_rules: z.record(validationRuleSchema).optional(),\n m: z.string().optional(),\n});\n\n/**\n * Block registration schema - follows HCS-12 spec exactly\n */\nexport const blockRegistrationSchema = z.object({\n p: z.literal('hcs-12'),\n op: z.enum(['register', 'template']),\n name: z.string(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/, 'Invalid semver format'),\n data: z.union([z.any(), z.string()]).optional(),\n t_id: hederaAddressSchema.optional(),\n});\n\n/**\n * Assembly operations\n */\nconst assemblyOperationSchema = z.enum([\n 'register',\n 'add-action',\n 'add-block',\n 'update',\n]);\n\n/**\n * Assembly registration schema\n */\nconst assemblyRegisterSchema = baseRegistrationSchema.extend({\n op: z.literal('register'),\n name: z.string(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/, 'Invalid semver format'),\n description: z.string().optional(),\n tags: z.array(z.string()).optional(),\n author: z.string().optional(),\n});\n\n/**\n * Assembly add-action schema\n */\nconst assemblyAddActionSchema = baseRegistrationSchema.extend({\n op: z.literal('add-action'),\n t_id: hederaAddressSchema,\n alias: z.string(),\n config: z.any().optional(),\n data: hederaAddressSchema.optional(),\n});\n\n/**\n * Assembly add-block schema\n */\nconst assemblyAddBlockSchema = baseRegistrationSchema.extend({\n op: z.literal('add-block'),\n block_t_id: hederaAddressSchema,\n actions: z.record(z.string(), hederaAddressSchema).optional(),\n attributes: z.record(z.any()).optional(),\n children: z.array(z.string()).optional(),\n data: hederaAddressSchema.optional(),\n});\n\n/**\n * Assembly update schema\n */\nconst assemblyUpdateSchema = baseRegistrationSchema.extend({\n op: z.literal('update'),\n description: z.string().optional(),\n tags: z.array(z.string()).optional(),\n});\n\n/**\n * Assembly layout schema\n */\nconst assemblyLayoutSchema = z.object({\n type: z.enum(['vertical', 'horizontal', 'grid']),\n responsive: z.boolean().optional(),\n containerClass: z.string().optional(),\n});\n\n/**\n * Assembly source verification schema\n */\nconst assemblySourceVerificationSchema = z.object({\n source_t_id: hederaAddressSchema,\n source_hash: sha256HashSchema,\n description: z.string().optional(),\n});\n\n/**\n * Assembly message schema - union of all operation types\n */\nexport const assemblyMessageSchema = z.discriminatedUnion('op', [\n assemblyRegisterSchema,\n assemblyAddActionSchema,\n assemblyAddBlockSchema,\n assemblyUpdateSchema,\n]);\n\n/**\n * Legacy assembly registration schema for backwards compatibility\n */\nexport const assemblyRegistrationSchema = assemblyRegisterSchema;\n\n/**\n * HashLinks registration schema - for global directory\n */\nexport const hashLinksRegistrationSchema = baseRegistrationSchema.extend({\n op: z.literal('register'),\n t_id: hederaAddressSchema,\n name: z.string().max(100, 'Name must be 100 characters or less'),\n description: z\n .string()\n .max(500, 'Description must be 500 characters or less')\n .optional(),\n tags: z.array(z.string()).max(10, 'Maximum 10 tags allowed').optional(),\n category: z.string().optional(),\n featured: z.boolean().optional(),\n icon: z.string().optional(),\n author: z.string().optional(),\n website: z.string().url().optional(),\n});\n\n/**\n * Validate action registration\n */\nexport function validateActionRegistration(\n data: unknown,\n): z.infer<typeof actionRegistrationSchema> {\n return actionRegistrationSchema.parse(data);\n}\n\n/**\n * Validate block registration\n */\nexport function validateBlockRegistration(\n data: unknown,\n): z.infer<typeof blockRegistrationSchema> {\n return blockRegistrationSchema.parse(data);\n}\n\n/**\n * Validate assembly message (any operation type)\n */\nexport function validateAssemblyMessage(\n data: unknown,\n): z.infer<typeof assemblyMessageSchema> {\n return assemblyMessageSchema.parse(data);\n}\n\n/**\n * Validate assembly registration\n */\nexport function validateAssemblyRegistration(\n data: unknown,\n): z.infer<typeof assemblyRegistrationSchema> {\n return assemblyRegistrationSchema.parse(data);\n}\n\n/**\n * Validate HashLinks registration\n */\nexport function validateHashLinksRegistration(\n data: unknown,\n): z.infer<typeof hashLinksRegistrationSchema> {\n return hashLinksRegistrationSchema.parse(data);\n}\n\n/**\n * Type-safe validation with error details\n */\nexport function safeValidate<T>(\n schema: z.ZodSchema<T>,\n data: unknown,\n): { success: true; data: T } | { success: false; errors: z.ZodError } {\n const result = schema.safeParse(data);\n if (result.success) {\n return { success: true, data: result.data };\n }\n return { success: false, errors: result.error };\n}\n\n/**\n * Validate data against a schema and return validation result\n */\nexport function validateWithSchema<T>(\n data: unknown,\n schema: z.ZodSchema<T>,\n): { isValid: boolean; errors: string[]; data?: T } {\n const result = schema.safeParse(data);\n if (result.success) {\n return { isValid: true, errors: [], data: result.data };\n }\n return {\n isValid: false,\n errors: result.error.errors.map(e => `${e.path.join('.')}: ${e.message}`),\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es43.js","sources":["../../src/hcs-12/assembly/assembly-engine.ts"],"sourcesContent":["/**\n * Assembly Engine for HCS-12 HashLinks\n *\n * Handles loading, reference resolution, and validation of HashLink assemblies\n * using the new incremental assembly approach with caching and error handling.\n */\n\nimport { ILogger, Logger } from '../../utils/logger';\nimport {\n AssemblyState,\n AssemblyAction,\n AssemblyBlock,\n ActionRegistration,\n BlockDefinition,\n AssemblyRegistration,\n} from '../types';\nimport { AssemblyRegistry } from '../registries/assembly-registry';\nimport { ActionRegistry } from '../registries/action-registry';\nimport { BlockLoader } from '../registries/block-loader';\n\nexport interface Assembly {\n topicId: string;\n state: AssemblyState;\n actions: ResolvedAction[];\n blocks: ResolvedBlock[];\n dependencies?: ResolvedDependency[];\n}\n\nexport interface ResolvedAction {\n alias: string;\n t_id: string;\n definition: ActionRegistration | null;\n config?: any;\n error?: string;\n}\n\nexport interface ResolvedBlock {\n block_t_id: string;\n definition: BlockDefinition | null;\n template?: string;\n attributes?: Record<string, any>;\n actions?: Record<string, string>;\n children?: string[];\n error?: string;\n}\n\nexport interface ResolvedDependency {\n name: string;\n version: string;\n registry?: string;\n definition: AssemblyRegistration | null;\n error?: string;\n}\n\nexport class AssemblyEngine {\n private logger: ILogger;\n private cache: Map<string, Assembly> = new Map();\n private assemblyRegistry: AssemblyRegistry;\n private actionRegistry: ActionRegistry;\n private blockLoader: BlockLoader;\n\n constructor(\n logger: ILogger,\n assemblyRegistry: AssemblyRegistry,\n actionRegistry: ActionRegistry,\n blockLoader: BlockLoader,\n ) {\n this.logger = logger;\n this.assemblyRegistry = assemblyRegistry;\n this.actionRegistry = actionRegistry;\n this.blockLoader = blockLoader;\n }\n\n /**\n * Load assembly state from topic and resolve all references\n */\n async loadAssembly(topicId: string): Promise<Assembly> {\n this.logger.debug('Loading assembly', { topicId });\n\n const cached = this.cache.get(topicId);\n if (cached) {\n this.logger.debug('Assembly loaded from cache', { topicId });\n return cached;\n }\n\n try {\n const assemblyState =\n await this.assemblyRegistry.getAssemblyState(topicId);\n if (!assemblyState) {\n throw new Error(`Assembly not found: ${topicId}`);\n }\n\n const assembly: Assembly = {\n topicId,\n state: assemblyState,\n actions: [],\n blocks: [],\n };\n\n this.cache.set(topicId, assembly);\n\n this.logger.debug('Assembly loaded successfully', {\n topicId,\n name: assemblyState.name,\n version: assemblyState.version,\n actionsCount: assemblyState.actions?.length || 0,\n blocksCount: assemblyState.blocks?.length || 0,\n });\n\n return assembly;\n } catch (error) {\n this.logger.error('Failed to load assembly', { topicId, error });\n throw new Error(\n `Failed to load assembly: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n }\n\n /**\n * Resolve all references in an assembly state\n */\n async resolveReferences(assemblyState: AssemblyState): Promise<Assembly> {\n this.logger.debug('Resolving assembly references', {\n name: assemblyState.name,\n });\n\n const assembly: Assembly = {\n topicId: assemblyState.topicId,\n state: assemblyState,\n actions: [],\n blocks: [],\n };\n\n if (assemblyState.actions) {\n for (const actionRef of assemblyState.actions) {\n try {\n const actionDefinition = await this.resolveActionReference(actionRef);\n assembly.actions.push({\n alias: actionRef.alias,\n t_id: actionRef.t_id,\n definition: actionDefinition,\n config: actionRef.config,\n });\n } catch (error) {\n this.logger.warn('Failed to resolve action reference', {\n t_id: actionRef.t_id,\n alias: actionRef.alias,\n error,\n });\n assembly.actions.push({\n alias: actionRef.alias,\n t_id: actionRef.t_id,\n definition: null,\n config: actionRef.config,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n }\n }\n }\n\n if (assemblyState.blocks) {\n for (const blockRef of assemblyState.blocks) {\n try {\n const { definition, template } =\n await this.resolveBlockReference(blockRef);\n assembly.blocks.push({\n block_t_id: blockRef.block_t_id,\n definition,\n template,\n attributes: blockRef.attributes,\n actions: blockRef.actions,\n children: blockRef.children,\n });\n } catch (error) {\n this.logger.warn('Failed to resolve block reference', {\n block_t_id: blockRef.block_t_id,\n error,\n });\n assembly.blocks.push({\n block_t_id: blockRef.block_t_id,\n definition: null,\n attributes: blockRef.attributes,\n actions: blockRef.actions,\n children: blockRef.children,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n }\n }\n }\n\n return assembly;\n }\n\n /**\n * Validate that an assembly can be composed without errors\n */\n validateComposition(assembly: Assembly): {\n valid: boolean;\n errors: string[];\n } {\n const errors: string[] = [];\n\n this.logger.debug('Validating assembly composition', {\n topicId: assembly.topicId,\n });\n\n if (!assembly.state.name) {\n errors.push('Assembly must have a name');\n }\n\n if (!assembly.state.version) {\n errors.push('Assembly must have a version');\n }\n\n if (assembly.state.blocks) {\n for (const block of assembly.state.blocks) {\n if (block.actions) {\n for (const [actionKey, actionTopicId] of Object.entries(\n block.actions,\n )) {\n const actionExists = assembly.state.actions?.some(\n a => a.t_id === actionTopicId,\n );\n if (!actionExists) {\n errors.push(\n `Block ${block.block_t_id} references non-existent action: ${actionTopicId} for key ${actionKey}`,\n );\n }\n }\n }\n\n if (block.children) {\n for (const childTopicId of block.children) {\n const childExists = assembly.state.blocks?.some(\n b => b.block_t_id === childTopicId,\n );\n if (!childExists) {\n errors.push(\n `Block ${block.block_t_id} references non-existent child block: ${childTopicId}`,\n );\n }\n }\n }\n }\n }\n\n for (const action of assembly.actions) {\n if (action.error) {\n errors.push(\n `Action ${action.alias} has resolution error: ${action.error}`,\n );\n }\n }\n\n for (const block of assembly.blocks) {\n if (block.error) {\n errors.push(\n `Block ${block.block_t_id} has resolution error: ${block.error}`,\n );\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n };\n }\n\n /**\n * Load and resolve assembly with full validation\n */\n async loadAndResolveAssembly(topicId: string): Promise<Assembly> {\n this.logger.debug('Loading and resolving assembly', { topicId });\n\n try {\n const assembly = await this.loadAssembly(topicId);\n const resolved = await this.resolveReferences(assembly.state);\n\n const validation = this.validateComposition(resolved);\n if (!validation.valid) {\n this.logger.warn('Assembly validation failed', {\n topicId,\n errors: validation.errors,\n });\n }\n\n return resolved;\n } catch (error) {\n this.logger.error('Failed to load and resolve assembly', {\n topicId,\n error,\n });\n throw new Error(\n `Failed to load and resolve assembly: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n }\n\n /**\n * Resolve action reference by fetching from action registry\n */\n private async resolveActionReference(\n actionRef: AssemblyAction,\n ): Promise<ActionRegistration> {\n const action = await this.actionRegistry.getActionByTopicId(actionRef.t_id);\n if (!action) {\n throw new Error(`Action not found at topic: ${actionRef.t_id}`);\n }\n return action;\n }\n\n /**\n * Resolve block reference by fetching from HCS-1\n */\n private async resolveBlockReference(\n blockRef: AssemblyBlock,\n ): Promise<{ definition: BlockDefinition; template: string }> {\n return await this.blockLoader.loadBlock(blockRef.block_t_id);\n }\n\n /**\n * Clear assembly cache\n */\n clearCache(): void {\n this.cache.clear();\n this.logger.debug('Assembly cache cleared');\n }\n\n /**\n * Get cached assembly\n */\n getCachedAssembly(topicId: string): Assembly | undefined {\n return this.cache.get(topicId);\n }\n\n /**\n * Check if assembly is cached\n */\n isAssemblyCached(topicId: string): boolean {\n return this.cache.has(topicId);\n }\n}\n"],"names":[],"mappings":"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"}
|