@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,464 +1,409 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
this.
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"image/jpg",
|
|
11
|
-
"image/gif",
|
|
12
|
-
"image/svg+xml",
|
|
13
|
-
"image/webp"
|
|
14
|
-
]);
|
|
15
|
-
this.dangerousJSPatterns = [
|
|
16
|
-
/eval\s*\(/g,
|
|
17
|
-
/Function\s*\(/g,
|
|
18
|
-
/setTimeout\s*\(\s*["'].*["']/g,
|
|
19
|
-
/setInterval\s*\(\s*["'].*["']/g,
|
|
20
|
-
/document\.write/g,
|
|
21
|
-
/innerHTML\s*=/g,
|
|
22
|
-
/outerHTML\s*=/g
|
|
23
|
-
];
|
|
24
|
-
this.dangerousCSSPatterns = [
|
|
25
|
-
/javascript\s*:/gi,
|
|
26
|
-
/@import.*url\s*\(\s*["']?javascript:/gi,
|
|
27
|
-
/expression\s*\(/gi,
|
|
28
|
-
/behavior\s*:/gi
|
|
29
|
-
];
|
|
1
|
+
class BlockStateManager {
|
|
2
|
+
constructor(logger) {
|
|
3
|
+
this.blockStates = /* @__PURE__ */ new Map();
|
|
4
|
+
this.stateListeners = /* @__PURE__ */ new Map();
|
|
5
|
+
this.messageHandlers = /* @__PURE__ */ new Map();
|
|
6
|
+
this.schemas = /* @__PURE__ */ new Map();
|
|
7
|
+
this.persistentBlocks = /* @__PURE__ */ new Set();
|
|
8
|
+
this.unusedBlocks = /* @__PURE__ */ new Set();
|
|
9
|
+
this.maxBlockStates = 1e3;
|
|
30
10
|
this.logger = logger;
|
|
31
|
-
this.hcs = hcs || new HCS();
|
|
32
|
-
this.options = {
|
|
33
|
-
cacheTTL: options.cacheTTL || 3e5,
|
|
34
|
-
maxCacheSize: options.maxCacheSize || 50 * 1024 * 1024,
|
|
35
|
-
maxResourceSize: options.maxResourceSize || 5 * 1024 * 1024
|
|
36
|
-
};
|
|
37
11
|
}
|
|
38
12
|
/**
|
|
39
|
-
*
|
|
13
|
+
* Create isolated state for a block instance
|
|
40
14
|
*/
|
|
41
|
-
|
|
42
|
-
this.logger.debug("
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
15
|
+
createBlockState(blockId, initialState) {
|
|
16
|
+
this.logger.debug("Creating block state", { blockId });
|
|
17
|
+
if (this.schemas.has(blockId)) {
|
|
18
|
+
this.validateState(blockId, initialState);
|
|
19
|
+
}
|
|
20
|
+
while (this.blockStates.size >= this.maxBlockStates) {
|
|
21
|
+
if (this.unusedBlocks.size > 0) {
|
|
22
|
+
this.cleanupUnusedStates();
|
|
23
|
+
} else {
|
|
24
|
+
this.evictOldestBlock();
|
|
47
25
|
}
|
|
48
|
-
const content = resource.content;
|
|
49
|
-
const sanitized = this.sanitizeCSS(content);
|
|
50
|
-
this.logger.debug("CSS resource loaded successfully", {
|
|
51
|
-
topicId,
|
|
52
|
-
size: content.length,
|
|
53
|
-
sanitized: sanitized.length !== content.length
|
|
54
|
-
});
|
|
55
|
-
return sanitized;
|
|
56
|
-
} catch (error) {
|
|
57
|
-
this.logger.error("Failed to load CSS resource", { topicId, error });
|
|
58
|
-
throw new Error(
|
|
59
|
-
`Failed to load CSS resource: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
60
|
-
);
|
|
61
26
|
}
|
|
27
|
+
this.blockStates.set(blockId, { ...initialState });
|
|
28
|
+
this.logger.debug("Block state created", {
|
|
29
|
+
blockId,
|
|
30
|
+
stateKeys: Object.keys(initialState)
|
|
31
|
+
});
|
|
62
32
|
}
|
|
63
33
|
/**
|
|
64
|
-
*
|
|
34
|
+
* Get current state for a block
|
|
65
35
|
*/
|
|
66
|
-
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
const resource = await this.loadResource(topicId);
|
|
70
|
-
if (!resource.contentType.includes("javascript") && !resource.contentType.includes("ecmascript")) {
|
|
71
|
-
throw new Error(
|
|
72
|
-
`Expected JavaScript resource, got ${resource.contentType}`
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
const content = resource.content;
|
|
76
|
-
if (content.length > this.options.maxResourceSize) {
|
|
77
|
-
throw new Error("JavaScript resource too large");
|
|
78
|
-
}
|
|
79
|
-
const sanitized = this.sanitizeJavaScript(content);
|
|
80
|
-
this.logger.debug("JavaScript resource loaded successfully", {
|
|
81
|
-
topicId,
|
|
82
|
-
size: content.length,
|
|
83
|
-
sanitized: sanitized.length !== content.length
|
|
84
|
-
});
|
|
85
|
-
return sanitized;
|
|
86
|
-
} catch (error) {
|
|
87
|
-
this.logger.error("Failed to load JavaScript resource", {
|
|
88
|
-
topicId,
|
|
89
|
-
error
|
|
90
|
-
});
|
|
91
|
-
throw new Error(
|
|
92
|
-
`Failed to load JavaScript resource: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
93
|
-
);
|
|
36
|
+
getBlockState(blockId) {
|
|
37
|
+
if (!this.blockStates.has(blockId)) {
|
|
38
|
+
return null;
|
|
94
39
|
}
|
|
40
|
+
return { ...this.blockStates.get(blockId) };
|
|
95
41
|
}
|
|
96
42
|
/**
|
|
97
|
-
*
|
|
43
|
+
* Check if block state exists
|
|
98
44
|
*/
|
|
99
|
-
|
|
100
|
-
this.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
45
|
+
hasBlockState(blockId) {
|
|
46
|
+
return this.blockStates.has(blockId);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Update block state and emit events
|
|
50
|
+
*/
|
|
51
|
+
updateBlockState(blockId, updates) {
|
|
52
|
+
if (!this.blockStates.has(blockId)) {
|
|
53
|
+
throw new Error(`Block state not found: ${blockId}`);
|
|
54
|
+
}
|
|
55
|
+
const oldState = { ...this.blockStates.get(blockId) };
|
|
56
|
+
const newState = { ...oldState, ...updates };
|
|
57
|
+
if (this.schemas.has(blockId)) {
|
|
58
|
+
this.validateState(blockId, newState);
|
|
59
|
+
}
|
|
60
|
+
this.blockStates.set(blockId, newState);
|
|
61
|
+
const listeners = this.stateListeners.get(blockId) || [];
|
|
62
|
+
for (const listener of listeners) {
|
|
63
|
+
try {
|
|
64
|
+
listener(newState, oldState, blockId);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
this.logger.error("State change listener error", { blockId, error });
|
|
105
67
|
}
|
|
106
|
-
const content = resource.content;
|
|
107
|
-
const view = new Uint8Array(content);
|
|
108
|
-
const blob = new Blob([view.buffer], { type: resource.contentType });
|
|
109
|
-
this.logger.debug("Image resource loaded successfully", {
|
|
110
|
-
topicId,
|
|
111
|
-
size: content.length,
|
|
112
|
-
type: resource.contentType
|
|
113
|
-
});
|
|
114
|
-
return blob;
|
|
115
|
-
} catch (error) {
|
|
116
|
-
this.logger.error("Failed to load image resource", { topicId, error });
|
|
117
|
-
throw new Error(
|
|
118
|
-
`Failed to load image resource: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
119
|
-
);
|
|
120
68
|
}
|
|
69
|
+
this.logger.debug("Block state updated", { blockId, updates });
|
|
121
70
|
}
|
|
122
71
|
/**
|
|
123
|
-
*
|
|
72
|
+
* Destroy block state and cleanup
|
|
124
73
|
*/
|
|
125
|
-
|
|
126
|
-
this.logger.debug("
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
);
|
|
74
|
+
destroyBlockState(blockId) {
|
|
75
|
+
this.logger.debug("Destroying block state", { blockId });
|
|
76
|
+
this.blockStates.delete(blockId);
|
|
77
|
+
this.stateListeners.delete(blockId);
|
|
78
|
+
this.messageHandlers.delete(blockId);
|
|
79
|
+
this.schemas.delete(blockId);
|
|
80
|
+
this.persistentBlocks.delete(blockId);
|
|
81
|
+
this.unusedBlocks.delete(blockId);
|
|
82
|
+
this.logger.debug("Block state destroyed", { blockId });
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Listen for state changes on a block
|
|
86
|
+
*/
|
|
87
|
+
onStateChange(blockId, listener) {
|
|
88
|
+
if (!this.stateListeners.has(blockId)) {
|
|
89
|
+
this.stateListeners.set(blockId, []);
|
|
142
90
|
}
|
|
91
|
+
this.stateListeners.get(blockId).push(listener);
|
|
143
92
|
}
|
|
144
93
|
/**
|
|
145
|
-
*
|
|
94
|
+
* Remove state change listener
|
|
146
95
|
*/
|
|
147
|
-
|
|
148
|
-
this.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const resource = await this.loadResource(topicId);
|
|
154
|
-
const verified = await this.verifyIntegrity(
|
|
155
|
-
resource.content,
|
|
156
|
-
expectedHash
|
|
157
|
-
);
|
|
158
|
-
if (!verified) {
|
|
159
|
-
throw new Error("Resource integrity verification failed");
|
|
96
|
+
removeStateChangeListener(blockId, listener) {
|
|
97
|
+
const listeners = this.stateListeners.get(blockId);
|
|
98
|
+
if (listeners) {
|
|
99
|
+
const index = listeners.indexOf(listener);
|
|
100
|
+
if (index > -1) {
|
|
101
|
+
listeners.splice(index, 1);
|
|
160
102
|
}
|
|
161
|
-
this.logger.debug("Resource integrity verified", { topicId });
|
|
162
|
-
return {
|
|
163
|
-
content: resource.content,
|
|
164
|
-
verified,
|
|
165
|
-
contentType: resource.contentType
|
|
166
|
-
};
|
|
167
|
-
} catch (error) {
|
|
168
|
-
this.logger.error("Resource integrity check failed", { topicId, error });
|
|
169
|
-
throw error;
|
|
170
103
|
}
|
|
171
104
|
}
|
|
172
105
|
/**
|
|
173
|
-
*
|
|
106
|
+
* Listen for messages sent to a block
|
|
174
107
|
*/
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
108
|
+
onBlockMessage(blockId, handler) {
|
|
109
|
+
if (!this.messageHandlers.has(blockId)) {
|
|
110
|
+
this.messageHandlers.set(blockId, []);
|
|
111
|
+
}
|
|
112
|
+
this.messageHandlers.get(blockId).push(handler);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Send message from one block to another
|
|
116
|
+
*/
|
|
117
|
+
sendBlockMessage(fromBlock, toBlock, type, payload) {
|
|
118
|
+
const message = {
|
|
119
|
+
type,
|
|
120
|
+
payload,
|
|
121
|
+
fromBlock,
|
|
122
|
+
toBlock
|
|
123
|
+
};
|
|
124
|
+
const handlers = this.messageHandlers.get(toBlock) || [];
|
|
125
|
+
for (const handler of handlers) {
|
|
126
|
+
try {
|
|
127
|
+
handler(message);
|
|
128
|
+
} catch (error) {
|
|
129
|
+
this.logger.error("Block message handler error", {
|
|
130
|
+
fromBlock,
|
|
131
|
+
toBlock,
|
|
132
|
+
type,
|
|
133
|
+
error
|
|
134
|
+
});
|
|
180
135
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
136
|
+
}
|
|
137
|
+
this.logger.debug("Block message sent", { fromBlock, toBlock, type });
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Broadcast message to all blocks
|
|
141
|
+
*/
|
|
142
|
+
broadcastMessage(type, payload) {
|
|
143
|
+
for (const blockId of this.blockStates.keys()) {
|
|
144
|
+
const handlers = this.messageHandlers.get(blockId) || [];
|
|
145
|
+
const message = {
|
|
146
|
+
type,
|
|
147
|
+
payload,
|
|
148
|
+
fromBlock: "system",
|
|
149
|
+
toBlock: blockId
|
|
150
|
+
};
|
|
151
|
+
for (const handler of handlers) {
|
|
152
|
+
try {
|
|
153
|
+
handler(message);
|
|
154
|
+
} catch (error) {
|
|
155
|
+
this.logger.error("Broadcast message handler error", {
|
|
156
|
+
blockId,
|
|
157
|
+
type,
|
|
158
|
+
error
|
|
159
|
+
});
|
|
160
|
+
}
|
|
186
161
|
}
|
|
187
|
-
const buffer = typeof content === "string" ? new TextEncoder().encode(content) : content;
|
|
188
|
-
const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
|
|
189
|
-
const copy = new Uint8Array(bytes);
|
|
190
|
-
const hashBuffer = await crypto.subtle.digest("SHA-256", copy.buffer);
|
|
191
|
-
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
192
|
-
const actualHash = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
193
|
-
return actualHash === expectedHash.toLowerCase();
|
|
194
|
-
} catch (error) {
|
|
195
|
-
this.logger.error("Error verifying integrity", { error });
|
|
196
|
-
return false;
|
|
197
162
|
}
|
|
163
|
+
this.logger.debug("Message broadcasted", {
|
|
164
|
+
type,
|
|
165
|
+
blockCount: this.blockStates.size
|
|
166
|
+
});
|
|
198
167
|
}
|
|
199
168
|
/**
|
|
200
|
-
*
|
|
169
|
+
* Bind action result to block state
|
|
201
170
|
*/
|
|
202
|
-
async
|
|
203
|
-
this.
|
|
171
|
+
async bindActionResult(blockId, actionName, result, binding) {
|
|
172
|
+
if (!this.blockStates.has(blockId)) {
|
|
173
|
+
throw new Error(`Block state not found: ${blockId}`);
|
|
174
|
+
}
|
|
175
|
+
const currentState = this.getBlockState(blockId);
|
|
176
|
+
let newState;
|
|
204
177
|
try {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
case "css":
|
|
212
|
-
content = await this.loadCSS(dep.topicId);
|
|
213
|
-
break;
|
|
214
|
-
case "js":
|
|
215
|
-
content = await this.loadJS(dep.topicId);
|
|
216
|
-
break;
|
|
217
|
-
case "template":
|
|
218
|
-
content = await this.loadTemplate(dep.topicId);
|
|
219
|
-
break;
|
|
220
|
-
case "image":
|
|
221
|
-
const blob = await this.loadImage(dep.topicId);
|
|
222
|
-
content = new Uint8Array(await blob.arrayBuffer());
|
|
223
|
-
break;
|
|
224
|
-
default:
|
|
225
|
-
throw new Error(`Unsupported dependency type: ${dep.type}`);
|
|
226
|
-
}
|
|
227
|
-
results.push({
|
|
228
|
-
topicId: dep.topicId,
|
|
229
|
-
content,
|
|
230
|
-
contentType: this.getContentTypeForType(dep.type),
|
|
231
|
-
type: dep.type
|
|
232
|
-
});
|
|
178
|
+
if (result.success && binding.onSuccess) {
|
|
179
|
+
newState = binding.onSuccess(currentState, result);
|
|
180
|
+
} else if (!result.success && binding.onError) {
|
|
181
|
+
newState = binding.onError(currentState, result);
|
|
182
|
+
} else {
|
|
183
|
+
return;
|
|
233
184
|
}
|
|
234
|
-
|
|
235
|
-
|
|
185
|
+
if (newState) {
|
|
186
|
+
this.updateBlockState(blockId, newState);
|
|
187
|
+
}
|
|
188
|
+
this.logger.debug("Action result bound to state", {
|
|
189
|
+
blockId,
|
|
190
|
+
actionName,
|
|
191
|
+
success: result.success
|
|
236
192
|
});
|
|
237
|
-
return results;
|
|
238
193
|
} catch (error) {
|
|
239
|
-
this.logger.error("
|
|
194
|
+
this.logger.error("Action result binding failed", {
|
|
195
|
+
blockId,
|
|
196
|
+
actionName,
|
|
197
|
+
error
|
|
198
|
+
});
|
|
240
199
|
throw error;
|
|
241
200
|
}
|
|
242
201
|
}
|
|
243
202
|
/**
|
|
244
|
-
*
|
|
203
|
+
* Persist block state to storage
|
|
245
204
|
*/
|
|
246
|
-
|
|
247
|
-
this.
|
|
248
|
-
|
|
249
|
-
|
|
205
|
+
async persistBlockState(blockId) {
|
|
206
|
+
if (!this.storageBackend) {
|
|
207
|
+
this.logger.warn("No storage backend configured");
|
|
208
|
+
this.persistentBlocks.add(blockId);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (!this.blockStates.has(blockId)) {
|
|
212
|
+
throw new Error(`Block state not found: ${blockId}`);
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
const state = this.blockStates.get(blockId);
|
|
216
|
+
await this.storageBackend.setItem(blockId, JSON.stringify(state));
|
|
217
|
+
this.persistentBlocks.add(blockId);
|
|
218
|
+
this.logger.debug("Block state persisted", { blockId });
|
|
219
|
+
} catch (error) {
|
|
220
|
+
this.logger.error("Failed to persist block state", { blockId, error });
|
|
221
|
+
}
|
|
250
222
|
}
|
|
251
223
|
/**
|
|
252
|
-
*
|
|
224
|
+
* Restore block state from storage
|
|
253
225
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
226
|
+
async restoreBlockState(blockId) {
|
|
227
|
+
if (!this.storageBackend) {
|
|
228
|
+
this.logger.warn("No storage backend configured");
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
const stored = await this.storageBackend.getItem(blockId);
|
|
233
|
+
if (stored) {
|
|
234
|
+
const state = JSON.parse(stored);
|
|
235
|
+
this.blockStates.set(blockId, state);
|
|
236
|
+
this.persistentBlocks.add(blockId);
|
|
237
|
+
this.logger.debug("Block state restored", { blockId });
|
|
238
|
+
}
|
|
239
|
+
} catch (error) {
|
|
240
|
+
this.logger.error("Failed to restore block state", { blockId, error });
|
|
241
|
+
}
|
|
256
242
|
}
|
|
257
243
|
/**
|
|
258
|
-
*
|
|
244
|
+
* Check if block state is persistent
|
|
259
245
|
*/
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
if (cached) {
|
|
263
|
-
this.logger.debug("Resource loaded from cache", { topicId });
|
|
264
|
-
return cached;
|
|
265
|
-
}
|
|
266
|
-
const blob = await this.hcs.retrieveHCS1Data(topicId);
|
|
267
|
-
const contentType = blob.type || "application/octet-stream";
|
|
268
|
-
let content;
|
|
269
|
-
if (contentType.startsWith("text/") || contentType.includes("javascript") || contentType.includes("json")) {
|
|
270
|
-
content = await blob.text();
|
|
271
|
-
} else {
|
|
272
|
-
content = new Uint8Array(await blob.arrayBuffer());
|
|
273
|
-
}
|
|
274
|
-
const resource = {
|
|
275
|
-
content,
|
|
276
|
-
contentType,
|
|
277
|
-
size: blob.size
|
|
278
|
-
};
|
|
279
|
-
this.addToCache(topicId, resource);
|
|
280
|
-
return resource;
|
|
246
|
+
isPersistent(blockId) {
|
|
247
|
+
return this.persistentBlocks.has(blockId);
|
|
281
248
|
}
|
|
282
249
|
/**
|
|
283
|
-
*
|
|
250
|
+
* Set storage backend
|
|
284
251
|
*/
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
if (!entry) return null;
|
|
288
|
-
if (Date.now() - entry.timestamp > this.options.cacheTTL) {
|
|
289
|
-
this.removeFromCache(topicId);
|
|
290
|
-
return null;
|
|
291
|
-
}
|
|
292
|
-
return entry.data;
|
|
252
|
+
setStorageBackend(backend) {
|
|
253
|
+
this.storageBackend = backend;
|
|
293
254
|
}
|
|
294
255
|
/**
|
|
295
|
-
*
|
|
256
|
+
* Set validation schema for a block
|
|
296
257
|
*/
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
this.logger.warn("Resource too large for cache", { topicId, size });
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
while (this.currentCacheSize + size > this.options.maxCacheSize && this.cache.size > 0) {
|
|
304
|
-
this.evictOldestEntry();
|
|
305
|
-
}
|
|
306
|
-
const entry = {
|
|
307
|
-
data: resource,
|
|
308
|
-
timestamp: Date.now(),
|
|
309
|
-
size
|
|
310
|
-
};
|
|
311
|
-
this.cache.set(topicId, entry);
|
|
312
|
-
this.currentCacheSize += size;
|
|
313
|
-
this.logger.debug("Resource added to cache", {
|
|
314
|
-
topicId,
|
|
315
|
-
size,
|
|
316
|
-
totalCacheSize: this.currentCacheSize
|
|
317
|
-
});
|
|
258
|
+
setBlockStateSchema(blockId, schema) {
|
|
259
|
+
this.schemas.set(blockId, schema);
|
|
260
|
+
this.logger.debug("Block state schema set", { blockId });
|
|
318
261
|
}
|
|
319
262
|
/**
|
|
320
|
-
*
|
|
263
|
+
* Set maximum number of block states
|
|
321
264
|
*/
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
if (entry) {
|
|
325
|
-
this.cache.delete(topicId);
|
|
326
|
-
this.currentCacheSize -= entry.size;
|
|
327
|
-
}
|
|
265
|
+
setMaxBlockStates(max) {
|
|
266
|
+
this.maxBlockStates = max;
|
|
328
267
|
}
|
|
329
268
|
/**
|
|
330
|
-
*
|
|
269
|
+
* Get active block count
|
|
331
270
|
*/
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
let oldestTime = Date.now();
|
|
335
|
-
for (const [topicId, entry] of this.cache) {
|
|
336
|
-
if (entry.timestamp < oldestTime) {
|
|
337
|
-
oldestTime = entry.timestamp;
|
|
338
|
-
oldest = topicId;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
if (oldest) {
|
|
342
|
-
this.removeFromCache(oldest);
|
|
343
|
-
this.logger.debug("Evicted oldest cache entry", { topicId: oldest });
|
|
344
|
-
}
|
|
271
|
+
getActiveBlockCount() {
|
|
272
|
+
return this.blockStates.size;
|
|
345
273
|
}
|
|
346
274
|
/**
|
|
347
|
-
*
|
|
275
|
+
* Mark block as unused for cleanup
|
|
348
276
|
*/
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
for (const pattern of this.dangerousCSSPatterns) {
|
|
352
|
-
sanitized = sanitized.replace(pattern, "");
|
|
353
|
-
}
|
|
354
|
-
return sanitized;
|
|
277
|
+
markBlockUnused(blockId) {
|
|
278
|
+
this.unusedBlocks.add(blockId);
|
|
355
279
|
}
|
|
356
280
|
/**
|
|
357
|
-
*
|
|
281
|
+
* Clean up unused block states
|
|
358
282
|
*/
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
sanitized = sanitized.replace(pattern, "");
|
|
283
|
+
cleanupUnusedStates() {
|
|
284
|
+
for (const blockId of this.unusedBlocks) {
|
|
285
|
+
this.destroyBlockState(blockId);
|
|
363
286
|
}
|
|
364
|
-
|
|
287
|
+
this.unusedBlocks.clear();
|
|
288
|
+
this.logger.debug("Unused states cleaned up");
|
|
365
289
|
}
|
|
366
290
|
/**
|
|
367
|
-
*
|
|
291
|
+
* Evict oldest non-persistent block to make room
|
|
368
292
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
293
|
+
evictOldestBlock() {
|
|
294
|
+
for (const blockId of this.blockStates.keys()) {
|
|
295
|
+
if (!this.persistentBlocks.has(blockId)) {
|
|
296
|
+
this.destroyBlockState(blockId);
|
|
297
|
+
this.logger.debug("Evicted block to make room", { blockId });
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
this.logger.warn("Cannot evict blocks - all are persistent");
|
|
371
302
|
}
|
|
372
303
|
/**
|
|
373
|
-
*
|
|
304
|
+
* Get listener count for a block (for testing)
|
|
374
305
|
*/
|
|
375
|
-
|
|
376
|
-
const
|
|
377
|
-
const
|
|
378
|
-
|
|
379
|
-
throw new Error("Invalid template syntax: unmatched braces");
|
|
380
|
-
}
|
|
381
|
-
const openBlocks = (template.match(/\{\{#\w+/g) || []).length;
|
|
382
|
-
const closeBlocks = (template.match(/\{\{\/\w+/g) || []).length;
|
|
383
|
-
if (openBlocks !== closeBlocks) {
|
|
384
|
-
throw new Error("Invalid template syntax: unclosed block helpers");
|
|
385
|
-
}
|
|
306
|
+
getListenerCount(blockId) {
|
|
307
|
+
const stateListeners = this.stateListeners.get(blockId)?.length || 0;
|
|
308
|
+
const messageHandlers = this.messageHandlers.get(blockId)?.length || 0;
|
|
309
|
+
return stateListeners + messageHandlers;
|
|
386
310
|
}
|
|
387
311
|
/**
|
|
388
|
-
*
|
|
312
|
+
* Validate state against schema
|
|
389
313
|
*/
|
|
390
|
-
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
const visiting = /* @__PURE__ */ new Set();
|
|
397
|
-
const visit = (topicId) => {
|
|
398
|
-
if (visiting.has(topicId)) {
|
|
399
|
-
throw new Error("Circular dependency detected");
|
|
314
|
+
validateState(blockId, state) {
|
|
315
|
+
const schema = this.schemas.get(blockId);
|
|
316
|
+
if (!schema) return;
|
|
317
|
+
if (schema.type === "object") {
|
|
318
|
+
if (typeof state !== "object" || state === null) {
|
|
319
|
+
throw new Error("State validation failed: expected object");
|
|
400
320
|
}
|
|
401
|
-
if (
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
321
|
+
if (schema.required) {
|
|
322
|
+
for (const prop of schema.required) {
|
|
323
|
+
if (!(prop in state)) {
|
|
324
|
+
throw new Error(
|
|
325
|
+
`State validation failed: missing required property '${prop}'`
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (schema.properties) {
|
|
331
|
+
for (const [prop, propSchema] of Object.entries(schema.properties)) {
|
|
332
|
+
if (prop in state) {
|
|
333
|
+
const value = state[prop];
|
|
334
|
+
const expectedType = propSchema.type;
|
|
335
|
+
if (expectedType === "string" && typeof value !== "string") {
|
|
336
|
+
throw new Error(
|
|
337
|
+
`State validation failed: property '${prop}' must be string`
|
|
338
|
+
);
|
|
339
|
+
}
|
|
340
|
+
if (expectedType === "number" && typeof value !== "number") {
|
|
341
|
+
throw new Error(
|
|
342
|
+
`State validation failed: property '${prop}' must be number`
|
|
343
|
+
);
|
|
344
|
+
}
|
|
345
|
+
if (expectedType === "number" && propSchema.minimum !== void 0) {
|
|
346
|
+
if (value < propSchema.minimum) {
|
|
347
|
+
throw new Error(
|
|
348
|
+
`State validation failed: property '${prop}' below minimum`
|
|
349
|
+
);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
406
354
|
}
|
|
407
|
-
visiting.delete(topicId);
|
|
408
|
-
visited.add(topicId);
|
|
409
|
-
};
|
|
410
|
-
for (const dep of dependencies) {
|
|
411
|
-
visit(dep.topicId);
|
|
412
355
|
}
|
|
413
356
|
}
|
|
414
357
|
/**
|
|
415
|
-
*
|
|
358
|
+
* Set block state (alias for updateBlockState)
|
|
416
359
|
*/
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
dependsMap.set(dep.topicId, dep.depends || []);
|
|
360
|
+
setBlockState(blockId, state) {
|
|
361
|
+
if (!this.blockStates.has(blockId)) {
|
|
362
|
+
this.createBlockState(blockId, state);
|
|
363
|
+
} else {
|
|
364
|
+
this.updateBlockState(blockId, state);
|
|
423
365
|
}
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Remove block state
|
|
369
|
+
*/
|
|
370
|
+
removeBlockState(blockId) {
|
|
371
|
+
this.blockStates.delete(blockId);
|
|
372
|
+
this.stateListeners.delete(blockId);
|
|
373
|
+
this.messageHandlers.delete(blockId);
|
|
374
|
+
this.persistentBlocks.delete(blockId);
|
|
375
|
+
this.schemas.delete(blockId);
|
|
376
|
+
if (this.storageBackend) {
|
|
377
|
+
this.storageBackend.removeItem(blockId).catch((error) => {
|
|
378
|
+
this.logger.error("Failed to remove persisted state", {
|
|
379
|
+
blockId,
|
|
380
|
+
error
|
|
381
|
+
});
|
|
382
|
+
});
|
|
440
383
|
}
|
|
441
|
-
|
|
384
|
+
this.logger.debug("Block state removed", { blockId });
|
|
442
385
|
}
|
|
443
386
|
/**
|
|
444
|
-
*
|
|
387
|
+
* Send message to a block
|
|
445
388
|
*/
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
389
|
+
sendMessage(blockId, type, data, fromBlock = "system") {
|
|
390
|
+
const handlers = this.messageHandlers.get(blockId) || [];
|
|
391
|
+
const message = {
|
|
392
|
+
type,
|
|
393
|
+
payload: data,
|
|
394
|
+
fromBlock,
|
|
395
|
+
toBlock: blockId
|
|
396
|
+
};
|
|
397
|
+
for (const handler of handlers) {
|
|
398
|
+
try {
|
|
399
|
+
handler(message);
|
|
400
|
+
} catch (error) {
|
|
401
|
+
this.logger.error("Message handler error", { blockId, type, error });
|
|
402
|
+
}
|
|
458
403
|
}
|
|
459
404
|
}
|
|
460
405
|
}
|
|
461
406
|
export {
|
|
462
|
-
|
|
407
|
+
BlockStateManager
|
|
463
408
|
};
|
|
464
409
|
//# sourceMappingURL=standards-sdk.es47.js.map
|