@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.
Files changed (475) hide show
  1. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  2. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  3. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  4. package/dist/cjs/hcs-11/client.d.ts +2 -2
  5. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  7. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  8. package/dist/cjs/hcs-11/types.d.ts +1 -0
  9. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
  12. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  14. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  16. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  17. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  18. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-15/types.d.ts +16 -1
  20. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  22. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  26. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  28. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  31. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  32. package/dist/cjs/hcs-17/types.d.ts +4 -0
  33. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  34. package/dist/cjs/hcs-21/types.d.ts +75 -75
  35. package/dist/cjs/index.d.ts.map +1 -1
  36. package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
  37. package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
  39. package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
  40. package/dist/cjs/services/registry-broker/client/base-client.d.ts +70 -0
  41. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
  43. package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
  44. package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
  45. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
  47. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  49. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  50. package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
  51. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
  52. package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
  53. package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
  54. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  55. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  56. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
  57. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  58. package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
  59. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
  60. package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
  61. package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
  62. package/dist/cjs/services/registry-broker/client.d.ts +2 -205
  63. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  64. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  65. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  66. package/dist/cjs/services/registry-broker/schemas.d.ts +2509 -816
  67. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  68. package/dist/cjs/services/registry-broker/types.d.ts +64 -2
  69. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  70. package/dist/cjs/standards-sdk.cjs +3 -3
  71. package/dist/cjs/standards-sdk.cjs.map +1 -1
  72. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  73. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  74. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  75. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  76. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  77. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-10/sdk.d.ts +8 -0
  79. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  80. package/dist/es/hcs-11/client.d.ts +2 -2
  81. package/dist/es/hcs-11/client.d.ts.map +1 -1
  82. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  83. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  84. package/dist/es/hcs-11/types.d.ts +1 -0
  85. package/dist/es/hcs-11/types.d.ts.map +1 -1
  86. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  87. package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
  88. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  89. package/dist/es/hcs-15/browser.d.ts +2 -0
  90. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  91. package/dist/es/hcs-15/sdk.d.ts +7 -1
  92. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  93. package/dist/es/hcs-15/tx.d.ts +4 -0
  94. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  95. package/dist/es/hcs-15/types.d.ts +16 -1
  96. package/dist/es/hcs-15/types.d.ts.map +1 -1
  97. package/dist/es/hcs-16/browser.d.ts +11 -2
  98. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  99. package/dist/es/hcs-16/sdk.d.ts +62 -1
  100. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  101. package/dist/es/hcs-16/tx.d.ts +21 -3
  102. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  103. package/dist/es/hcs-17/base-client.d.ts +1 -0
  104. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  105. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  106. package/dist/es/hcs-17/tx.d.ts +2 -0
  107. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  108. package/dist/es/hcs-17/types.d.ts +4 -0
  109. package/dist/es/hcs-17/types.d.ts.map +1 -1
  110. package/dist/es/hcs-21/types.d.ts +75 -75
  111. package/dist/es/index.d.ts.map +1 -1
  112. package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
  113. package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
  114. package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
  115. package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
  116. package/dist/es/services/registry-broker/client/base-client.d.ts +70 -0
  117. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
  118. package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
  119. package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
  120. package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
  121. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
  122. package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
  123. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
  124. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  125. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  126. package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
  127. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
  128. package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
  129. package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
  130. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  131. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  132. package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
  133. package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  134. package/dist/es/services/registry-broker/client/search.d.ts +19 -0
  135. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
  136. package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
  137. package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
  138. package/dist/es/services/registry-broker/client.d.ts +2 -205
  139. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  140. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  141. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  142. package/dist/es/services/registry-broker/schemas.d.ts +2509 -816
  143. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  144. package/dist/es/services/registry-broker/types.d.ts +64 -2
  145. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  146. package/dist/es/standards-sdk.es.js +148 -133
  147. package/dist/es/standards-sdk.es.js.map +1 -1
  148. package/dist/es/standards-sdk.es10.js +70 -90
  149. package/dist/es/standards-sdk.es10.js.map +1 -1
  150. package/dist/es/standards-sdk.es100.js +229 -26
  151. package/dist/es/standards-sdk.es100.js.map +1 -1
  152. package/dist/es/standards-sdk.es101.js +109 -228
  153. package/dist/es/standards-sdk.es101.js.map +1 -1
  154. package/dist/es/standards-sdk.es102.js +15 -94
  155. package/dist/es/standards-sdk.es102.js.map +1 -1
  156. package/dist/es/standards-sdk.es103.js +80 -30
  157. package/dist/es/standards-sdk.es103.js.map +1 -1
  158. package/dist/es/standards-sdk.es104.js +27 -80
  159. package/dist/es/standards-sdk.es104.js.map +1 -1
  160. package/dist/es/standards-sdk.es105.js +136 -25
  161. package/dist/es/standards-sdk.es105.js.map +1 -1
  162. package/dist/es/standards-sdk.es106.js +27 -140
  163. package/dist/es/standards-sdk.es106.js.map +1 -1
  164. package/dist/es/standards-sdk.es107.js +20 -27
  165. package/dist/es/standards-sdk.es107.js.map +1 -1
  166. package/dist/es/standards-sdk.es108.js +156 -18
  167. package/dist/es/standards-sdk.es108.js.map +1 -1
  168. package/dist/es/standards-sdk.es109.js +198 -148
  169. package/dist/es/standards-sdk.es109.js.map +1 -1
  170. package/dist/es/standards-sdk.es11.js +121 -45
  171. package/dist/es/standards-sdk.es11.js.map +1 -1
  172. package/dist/es/standards-sdk.es110.js +747 -160
  173. package/dist/es/standards-sdk.es110.js.map +1 -1
  174. package/dist/es/standards-sdk.es111.js +9 -786
  175. package/dist/es/standards-sdk.es111.js.map +1 -1
  176. package/dist/es/standards-sdk.es112.js +567 -13
  177. package/dist/es/standards-sdk.es112.js.map +1 -1
  178. package/dist/es/standards-sdk.es113.js +576 -541
  179. package/dist/es/standards-sdk.es113.js.map +1 -1
  180. package/dist/es/standards-sdk.es114.js +12 -601
  181. package/dist/es/standards-sdk.es114.js.map +1 -1
  182. package/dist/es/standards-sdk.es115.js +2 -13
  183. package/dist/es/standards-sdk.es115.js.map +1 -1
  184. package/dist/es/standards-sdk.es116.js +87 -2
  185. package/dist/es/standards-sdk.es116.js.map +1 -1
  186. package/dist/es/standards-sdk.es117.js +37 -80
  187. package/dist/es/standards-sdk.es117.js.map +1 -1
  188. package/dist/es/standards-sdk.es118.js +2 -39
  189. package/dist/es/standards-sdk.es118.js.map +1 -1
  190. package/dist/es/standards-sdk.es119.js +231 -2
  191. package/dist/es/standards-sdk.es119.js.map +1 -1
  192. package/dist/es/standards-sdk.es12.js +60 -159
  193. package/dist/es/standards-sdk.es12.js.map +1 -1
  194. package/dist/es/standards-sdk.es120.js +1110 -193
  195. package/dist/es/standards-sdk.es120.js.map +1 -1
  196. package/dist/es/standards-sdk.es121.js +225 -1059
  197. package/dist/es/standards-sdk.es121.js.map +1 -1
  198. package/dist/es/standards-sdk.es122.js +419 -303
  199. package/dist/es/standards-sdk.es122.js.map +1 -1
  200. package/dist/es/standards-sdk.es123.js +351 -418
  201. package/dist/es/standards-sdk.es123.js.map +1 -1
  202. package/dist/es/standards-sdk.es124.js +872 -347
  203. package/dist/es/standards-sdk.es124.js.map +1 -1
  204. package/dist/es/standards-sdk.es125.js +182 -854
  205. package/dist/es/standards-sdk.es125.js.map +1 -1
  206. package/dist/es/standards-sdk.es126.js +1512 -153
  207. package/dist/es/standards-sdk.es126.js.map +1 -1
  208. package/dist/es/standards-sdk.es127.js +157 -1547
  209. package/dist/es/standards-sdk.es127.js.map +1 -1
  210. package/dist/es/standards-sdk.es128.js +184 -2190
  211. package/dist/es/standards-sdk.es128.js.map +1 -1
  212. package/dist/es/standards-sdk.es129.js +100 -63
  213. package/dist/es/standards-sdk.es129.js.map +1 -1
  214. package/dist/es/standards-sdk.es13.js +200 -60
  215. package/dist/es/standards-sdk.es13.js.map +1 -1
  216. package/dist/es/standards-sdk.es130.js +112 -78
  217. package/dist/es/standards-sdk.es130.js.map +1 -1
  218. package/dist/es/standards-sdk.es131.js +232 -144
  219. package/dist/es/standards-sdk.es131.js.map +1 -1
  220. package/dist/es/standards-sdk.es132.js +181 -8
  221. package/dist/es/standards-sdk.es132.js.map +1 -1
  222. package/dist/es/standards-sdk.es133.js +118 -82
  223. package/dist/es/standards-sdk.es133.js.map +1 -1
  224. package/dist/es/standards-sdk.es134.js +322 -61
  225. package/dist/es/standards-sdk.es134.js.map +1 -1
  226. package/dist/es/standards-sdk.es135.js +464 -28
  227. package/dist/es/standards-sdk.es135.js.map +1 -1
  228. package/dist/es/standards-sdk.es136.js +14 -135
  229. package/dist/es/standards-sdk.es136.js.map +1 -1
  230. package/dist/es/standards-sdk.es137.js +78 -39
  231. package/dist/es/standards-sdk.es137.js.map +1 -1
  232. package/dist/es/standards-sdk.es138.js +85 -764
  233. package/dist/es/standards-sdk.es138.js.map +1 -1
  234. package/dist/es/standards-sdk.es139.js +135 -12250
  235. package/dist/es/standards-sdk.es139.js.map +1 -1
  236. package/dist/es/standards-sdk.es14.js +149 -178
  237. package/dist/es/standards-sdk.es14.js.map +1 -1
  238. package/dist/es/standards-sdk.es140.js +7 -56
  239. package/dist/es/standards-sdk.es140.js.map +1 -1
  240. package/dist/es/standards-sdk.es141.js +72 -68
  241. package/dist/es/standards-sdk.es141.js.map +1 -1
  242. package/dist/es/standards-sdk.es142.js +61 -13
  243. package/dist/es/standards-sdk.es142.js.map +1 -1
  244. package/dist/es/standards-sdk.es143.js +30 -172
  245. package/dist/es/standards-sdk.es143.js.map +1 -1
  246. package/dist/es/standards-sdk.es144.js +34 -322
  247. package/dist/es/standards-sdk.es144.js.map +1 -1
  248. package/dist/es/standards-sdk.es145.js +28 -346
  249. package/dist/es/standards-sdk.es145.js.map +1 -1
  250. package/dist/es/standards-sdk.es146.js +112 -427
  251. package/dist/es/standards-sdk.es146.js.map +1 -1
  252. package/dist/es/standards-sdk.es147.js +40 -329
  253. package/dist/es/standards-sdk.es147.js.map +1 -1
  254. package/dist/es/standards-sdk.es148.js +12279 -66
  255. package/dist/es/standards-sdk.es148.js.map +1 -1
  256. package/dist/es/standards-sdk.es149.js +961 -0
  257. package/dist/es/standards-sdk.es149.js.map +1 -0
  258. package/dist/es/standards-sdk.es15.js +152 -151
  259. package/dist/es/standards-sdk.es15.js.map +1 -1
  260. package/dist/es/standards-sdk.es150.js +20 -0
  261. package/dist/es/standards-sdk.es150.js.map +1 -0
  262. package/dist/es/standards-sdk.es151.js +59 -0
  263. package/dist/es/standards-sdk.es151.js.map +1 -0
  264. package/dist/es/standards-sdk.es152.js +87 -0
  265. package/dist/es/standards-sdk.es152.js.map +1 -0
  266. package/dist/es/standards-sdk.es153.js +175 -0
  267. package/dist/es/standards-sdk.es153.js.map +1 -0
  268. package/dist/es/standards-sdk.es154.js +325 -0
  269. package/dist/es/standards-sdk.es154.js.map +1 -0
  270. package/dist/es/standards-sdk.es155.js +349 -0
  271. package/dist/es/standards-sdk.es155.js.map +1 -0
  272. package/dist/es/standards-sdk.es156.js +456 -0
  273. package/dist/es/standards-sdk.es156.js.map +1 -0
  274. package/dist/es/standards-sdk.es157.js +334 -0
  275. package/dist/es/standards-sdk.es157.js.map +1 -0
  276. package/dist/es/standards-sdk.es158.js +79 -0
  277. package/dist/es/standards-sdk.es158.js.map +1 -0
  278. package/dist/es/standards-sdk.es159.js +242 -0
  279. package/dist/es/standards-sdk.es159.js.map +1 -0
  280. package/dist/es/standards-sdk.es16.js +917 -136
  281. package/dist/es/standards-sdk.es16.js.map +1 -1
  282. package/dist/es/standards-sdk.es160.js +247 -0
  283. package/dist/es/standards-sdk.es160.js.map +1 -0
  284. package/dist/es/standards-sdk.es17.js +23 -938
  285. package/dist/es/standards-sdk.es17.js.map +1 -1
  286. package/dist/es/standards-sdk.es18.js +2422 -24
  287. package/dist/es/standards-sdk.es18.js.map +1 -1
  288. package/dist/es/standards-sdk.es19.js +826 -2075
  289. package/dist/es/standards-sdk.es19.js.map +1 -1
  290. package/dist/es/standards-sdk.es2.js +654 -189
  291. package/dist/es/standards-sdk.es2.js.map +1 -1
  292. package/dist/es/standards-sdk.es20.js +205 -1086
  293. package/dist/es/standards-sdk.es20.js.map +1 -1
  294. package/dist/es/standards-sdk.es21.js +858 -221
  295. package/dist/es/standards-sdk.es21.js.map +1 -1
  296. package/dist/es/standards-sdk.es22.js +179 -903
  297. package/dist/es/standards-sdk.es22.js.map +1 -1
  298. package/dist/es/standards-sdk.es23.js +164 -179
  299. package/dist/es/standards-sdk.es23.js.map +1 -1
  300. package/dist/es/standards-sdk.es24.js +62 -118
  301. package/dist/es/standards-sdk.es24.js.map +1 -1
  302. package/dist/es/standards-sdk.es25.js +377 -52
  303. package/dist/es/standards-sdk.es25.js.map +1 -1
  304. package/dist/es/standards-sdk.es26.js +36 -394
  305. package/dist/es/standards-sdk.es26.js.map +1 -1
  306. package/dist/es/standards-sdk.es27.js +901 -50
  307. package/dist/es/standards-sdk.es27.js.map +1 -1
  308. package/dist/es/standards-sdk.es28.js +134 -897
  309. package/dist/es/standards-sdk.es28.js.map +1 -1
  310. package/dist/es/standards-sdk.es29.js +7 -134
  311. package/dist/es/standards-sdk.es29.js.map +1 -1
  312. package/dist/es/standards-sdk.es3.js +63 -680
  313. package/dist/es/standards-sdk.es3.js.map +1 -1
  314. package/dist/es/standards-sdk.es30.js +344 -7
  315. package/dist/es/standards-sdk.es30.js.map +1 -1
  316. package/dist/es/standards-sdk.es31.js +302 -287
  317. package/dist/es/standards-sdk.es31.js.map +1 -1
  318. package/dist/es/standards-sdk.es32.js +94 -322
  319. package/dist/es/standards-sdk.es32.js.map +1 -1
  320. package/dist/es/standards-sdk.es33.js +458 -101
  321. package/dist/es/standards-sdk.es33.js.map +1 -1
  322. package/dist/es/standards-sdk.es34.js +132 -451
  323. package/dist/es/standards-sdk.es34.js.map +1 -1
  324. package/dist/es/standards-sdk.es35.js +216 -130
  325. package/dist/es/standards-sdk.es35.js.map +1 -1
  326. package/dist/es/standards-sdk.es36.js +274 -191
  327. package/dist/es/standards-sdk.es36.js.map +1 -1
  328. package/dist/es/standards-sdk.es37.js +148 -87
  329. package/dist/es/standards-sdk.es37.js.map +1 -1
  330. package/dist/es/standards-sdk.es38.js +183 -320
  331. package/dist/es/standards-sdk.es38.js.map +1 -1
  332. package/dist/es/standards-sdk.es39.js +238 -161
  333. package/dist/es/standards-sdk.es39.js.map +1 -1
  334. package/dist/es/standards-sdk.es4.js +425 -63
  335. package/dist/es/standards-sdk.es4.js.map +1 -1
  336. package/dist/es/standards-sdk.es40.js +136 -254
  337. package/dist/es/standards-sdk.es40.js.map +1 -1
  338. package/dist/es/standards-sdk.es41.js +225 -176
  339. package/dist/es/standards-sdk.es41.js.map +1 -1
  340. package/dist/es/standards-sdk.es42.js +199 -261
  341. package/dist/es/standards-sdk.es42.js.map +1 -1
  342. package/dist/es/standards-sdk.es43.js +237 -199
  343. package/dist/es/standards-sdk.es43.js.map +1 -1
  344. package/dist/es/standards-sdk.es44.js +209 -201
  345. package/dist/es/standards-sdk.es44.js.map +1 -1
  346. package/dist/es/standards-sdk.es45.js +305 -201
  347. package/dist/es/standards-sdk.es45.js.map +1 -1
  348. package/dist/es/standards-sdk.es46.js +371 -261
  349. package/dist/es/standards-sdk.es46.js.map +1 -1
  350. package/dist/es/standards-sdk.es47.js +316 -371
  351. package/dist/es/standards-sdk.es47.js.map +1 -1
  352. package/dist/es/standards-sdk.es48.js +404 -336
  353. package/dist/es/standards-sdk.es48.js.map +1 -1
  354. package/dist/es/standards-sdk.es49.js +83 -449
  355. package/dist/es/standards-sdk.es49.js.map +1 -1
  356. package/dist/es/standards-sdk.es5.js +232 -354
  357. package/dist/es/standards-sdk.es5.js.map +1 -1
  358. package/dist/es/standards-sdk.es50.js +179 -89
  359. package/dist/es/standards-sdk.es50.js.map +1 -1
  360. package/dist/es/standards-sdk.es51.js +231 -165
  361. package/dist/es/standards-sdk.es51.js.map +1 -1
  362. package/dist/es/standards-sdk.es52.js +25 -262
  363. package/dist/es/standards-sdk.es52.js.map +1 -1
  364. package/dist/es/standards-sdk.es53.js +56 -26
  365. package/dist/es/standards-sdk.es53.js.map +1 -1
  366. package/dist/es/standards-sdk.es54.js +12 -57
  367. package/dist/es/standards-sdk.es54.js.map +1 -1
  368. package/dist/es/standards-sdk.es55.js +49 -12
  369. package/dist/es/standards-sdk.es55.js.map +1 -1
  370. package/dist/es/standards-sdk.es56.js +115 -43
  371. package/dist/es/standards-sdk.es56.js.map +1 -1
  372. package/dist/es/standards-sdk.es57.js +42 -115
  373. package/dist/es/standards-sdk.es57.js.map +1 -1
  374. package/dist/es/standards-sdk.es58.js +52 -43
  375. package/dist/es/standards-sdk.es58.js.map +1 -1
  376. package/dist/es/standards-sdk.es59.js +36 -50
  377. package/dist/es/standards-sdk.es59.js.map +1 -1
  378. package/dist/es/standards-sdk.es6.js +125 -246
  379. package/dist/es/standards-sdk.es6.js.map +1 -1
  380. package/dist/es/standards-sdk.es60.js +207 -39
  381. package/dist/es/standards-sdk.es60.js.map +1 -1
  382. package/dist/es/standards-sdk.es61.js +24 -195
  383. package/dist/es/standards-sdk.es61.js.map +1 -1
  384. package/dist/es/standards-sdk.es62.js +87 -25
  385. package/dist/es/standards-sdk.es62.js.map +1 -1
  386. package/dist/es/standards-sdk.es63.js +3 -51
  387. package/dist/es/standards-sdk.es63.js.map +1 -1
  388. package/dist/es/standards-sdk.es64.js +100 -3
  389. package/dist/es/standards-sdk.es64.js.map +1 -1
  390. package/dist/es/standards-sdk.es65.js +61 -62
  391. package/dist/es/standards-sdk.es65.js.map +1 -1
  392. package/dist/es/standards-sdk.es66.js +17 -98
  393. package/dist/es/standards-sdk.es66.js.map +1 -1
  394. package/dist/es/standards-sdk.es67.js +77 -19
  395. package/dist/es/standards-sdk.es67.js.map +1 -1
  396. package/dist/es/standards-sdk.es68.js +458 -77
  397. package/dist/es/standards-sdk.es68.js.map +1 -1
  398. package/dist/es/standards-sdk.es69.js +106 -240
  399. package/dist/es/standards-sdk.es69.js.map +1 -1
  400. package/dist/es/standards-sdk.es7.js +28 -183
  401. package/dist/es/standards-sdk.es7.js.map +1 -1
  402. package/dist/es/standards-sdk.es70.js +170 -286
  403. package/dist/es/standards-sdk.es70.js.map +1 -1
  404. package/dist/es/standards-sdk.es71.js +71 -207
  405. package/dist/es/standards-sdk.es71.js.map +1 -1
  406. package/dist/es/standards-sdk.es72.js +71 -72
  407. package/dist/es/standards-sdk.es72.js.map +1 -1
  408. package/dist/es/standards-sdk.es73.js +143 -71
  409. package/dist/es/standards-sdk.es73.js.map +1 -1
  410. package/dist/es/standards-sdk.es74.js +62 -136
  411. package/dist/es/standards-sdk.es74.js.map +1 -1
  412. package/dist/es/standards-sdk.es75.js +380 -45
  413. package/dist/es/standards-sdk.es75.js.map +1 -1
  414. package/dist/es/standards-sdk.es76.js +222 -130
  415. package/dist/es/standards-sdk.es76.js.map +1 -1
  416. package/dist/es/standards-sdk.es77.js +320 -444
  417. package/dist/es/standards-sdk.es77.js.map +1 -1
  418. package/dist/es/standards-sdk.es78.js +88 -364
  419. package/dist/es/standards-sdk.es78.js.map +1 -1
  420. package/dist/es/standards-sdk.es79.js +125 -89
  421. package/dist/es/standards-sdk.es79.js.map +1 -1
  422. package/dist/es/standards-sdk.es8.js +80 -29
  423. package/dist/es/standards-sdk.es8.js.map +1 -1
  424. package/dist/es/standards-sdk.es80.js +8 -125
  425. package/dist/es/standards-sdk.es80.js.map +1 -1
  426. package/dist/es/standards-sdk.es81.js +45 -6
  427. package/dist/es/standards-sdk.es81.js.map +1 -1
  428. package/dist/es/standards-sdk.es82.js +98 -44
  429. package/dist/es/standards-sdk.es82.js.map +1 -1
  430. package/dist/es/standards-sdk.es83.js +331 -84
  431. package/dist/es/standards-sdk.es83.js.map +1 -1
  432. package/dist/es/standards-sdk.es84.js +93 -160
  433. package/dist/es/standards-sdk.es84.js.map +1 -1
  434. package/dist/es/standards-sdk.es85.js +55 -275
  435. package/dist/es/standards-sdk.es85.js.map +1 -1
  436. package/dist/es/standards-sdk.es86.js +43 -55
  437. package/dist/es/standards-sdk.es86.js.map +1 -1
  438. package/dist/es/standards-sdk.es87.js +145 -22
  439. package/dist/es/standards-sdk.es87.js.map +1 -1
  440. package/dist/es/standards-sdk.es88.js +34 -47
  441. package/dist/es/standards-sdk.es88.js.map +1 -1
  442. package/dist/es/standards-sdk.es89.js +22 -57
  443. package/dist/es/standards-sdk.es89.js.map +1 -1
  444. package/dist/es/standards-sdk.es9.js +104 -80
  445. package/dist/es/standards-sdk.es9.js.map +1 -1
  446. package/dist/es/standards-sdk.es90.js +23 -28
  447. package/dist/es/standards-sdk.es90.js.map +1 -1
  448. package/dist/es/standards-sdk.es91.js +238 -23
  449. package/dist/es/standards-sdk.es91.js.map +1 -1
  450. package/dist/es/standards-sdk.es92.js +265 -152
  451. package/dist/es/standards-sdk.es92.js.map +1 -1
  452. package/dist/es/standards-sdk.es93.js +95 -68
  453. package/dist/es/standards-sdk.es93.js.map +1 -1
  454. package/dist/es/standards-sdk.es94.js +124 -136
  455. package/dist/es/standards-sdk.es94.js.map +1 -1
  456. package/dist/es/standards-sdk.es95.js +42 -138
  457. package/dist/es/standards-sdk.es95.js.map +1 -1
  458. package/dist/es/standards-sdk.es96.js +259 -42
  459. package/dist/es/standards-sdk.es96.js.map +1 -1
  460. package/dist/es/standards-sdk.es97.js +82 -243
  461. package/dist/es/standards-sdk.es97.js.map +1 -1
  462. package/dist/es/standards-sdk.es98.js +48 -47
  463. package/dist/es/standards-sdk.es98.js.map +1 -1
  464. package/dist/es/standards-sdk.es99.js +29 -100
  465. package/dist/es/standards-sdk.es99.js.map +1 -1
  466. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  467. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  468. package/dist/es/utils/dynamic-import.d.ts +5 -1
  469. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  470. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  471. package/package.json +15 -16
  472. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  473. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  474. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  475. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,464 +1,409 @@
1
- import { HCS } from "./standards-sdk.es3.js";
2
- import { isSSREnvironment } from "./standards-sdk.es118.js";
3
- class ResourceManager {
4
- constructor(networkType, logger, hcs, options = {}) {
5
- this.cache = /* @__PURE__ */ new Map();
6
- this.currentCacheSize = 0;
7
- this.supportedImageTypes = /* @__PURE__ */ new Set([
8
- "image/png",
9
- "image/jpeg",
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
- * Load CSS resource from HCS-3
13
+ * Create isolated state for a block instance
40
14
  */
41
- async loadCSS(topicId) {
42
- this.logger.debug("Loading CSS resource", { topicId });
43
- try {
44
- const resource = await this.loadResource(topicId);
45
- if (resource.contentType !== "text/css") {
46
- throw new Error(`Expected CSS resource, got ${resource.contentType}`);
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
- * Load JavaScript resource from HCS-3
34
+ * Get current state for a block
65
35
  */
66
- async loadJS(topicId) {
67
- this.logger.debug("Loading JavaScript resource", { topicId });
68
- try {
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
- * Load image resource from HCS-3 as Blob
43
+ * Check if block state exists
98
44
  */
99
- async loadImage(topicId) {
100
- this.logger.debug("Loading image resource", { topicId });
101
- try {
102
- const resource = await this.loadResource(topicId);
103
- if (!this.supportedImageTypes.has(resource.contentType)) {
104
- throw new Error(`Unsupported image format: ${resource.contentType}`);
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
- * Load template resource from HCS-3
72
+ * Destroy block state and cleanup
124
73
  */
125
- async loadTemplate(topicId) {
126
- this.logger.debug("Loading template resource", { topicId });
127
- try {
128
- const resource = await this.loadResource(topicId);
129
- const content = resource.content;
130
- this.validateTemplateSyntax(content);
131
- const sanitized = this.sanitizeTemplate(content);
132
- this.logger.debug("Template resource loaded successfully", {
133
- topicId,
134
- size: content.length
135
- });
136
- return sanitized;
137
- } catch (error) {
138
- this.logger.error("Failed to load template resource", { topicId, error });
139
- throw new Error(
140
- `Failed to load template resource: ${error instanceof Error ? error.message : "Unknown error"}`
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
- * Load resource with integrity verification
94
+ * Remove state change listener
146
95
  */
147
- async loadWithIntegrityCheck(topicId, expectedHash) {
148
- this.logger.debug("Loading resource with integrity check", {
149
- topicId,
150
- expectedHash
151
- });
152
- try {
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
- * Verify content integrity using SHA-256 hash
106
+ * Listen for messages sent to a block
174
107
  */
175
- async verifyIntegrity(content, expectedHash) {
176
- try {
177
- if (isSSREnvironment()) {
178
- this.logger.warn("Integrity verification skipped in SSR environment");
179
- return true;
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
- if (typeof crypto === "undefined" || !crypto.subtle) {
182
- this.logger.warn(
183
- "WebCrypto not available, skipping integrity verification"
184
- );
185
- return true;
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
- * Load multiple dependencies in correct order
169
+ * Bind action result to block state
201
170
  */
202
- async loadDependencies(dependencies) {
203
- this.logger.debug("Loading dependencies", { count: dependencies.length });
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
- this.detectCircularDependencies(dependencies);
206
- const sorted = this.topologicalSort(dependencies);
207
- const results = [];
208
- for (const dep of sorted) {
209
- let content;
210
- switch (dep.type) {
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
- this.logger.debug("Dependencies loaded successfully", {
235
- count: results.length
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("Failed to load dependencies", { 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
- * Clear resource cache
203
+ * Persist block state to storage
245
204
  */
246
- clearCache() {
247
- this.cache.clear();
248
- this.currentCacheSize = 0;
249
- this.logger.debug("Resource cache cleared");
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
- * Get current cache size for testing
224
+ * Restore block state from storage
253
225
  */
254
- getCacheSize() {
255
- return this.currentCacheSize;
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
- * Load resource with caching
244
+ * Check if block state is persistent
259
245
  */
260
- async loadResource(topicId) {
261
- const cached = this.getFromCache(topicId);
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
- * Get resource from cache if valid
250
+ * Set storage backend
284
251
  */
285
- getFromCache(topicId) {
286
- const entry = this.cache.get(topicId);
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
- * Add resource to cache with size management
256
+ * Set validation schema for a block
296
257
  */
297
- addToCache(topicId, resource) {
298
- const size = typeof resource.content === "string" ? resource.content.length : resource.content.byteLength;
299
- if (size > this.options.maxCacheSize / 2) {
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
- * Remove resource from cache
263
+ * Set maximum number of block states
321
264
  */
322
- removeFromCache(topicId) {
323
- const entry = this.cache.get(topicId);
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
- * Evict oldest cache entry
269
+ * Get active block count
331
270
  */
332
- evictOldestEntry() {
333
- let oldest = null;
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
- * Sanitize CSS content
275
+ * Mark block as unused for cleanup
348
276
  */
349
- sanitizeCSS(css) {
350
- let sanitized = css;
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
- * Sanitize JavaScript content
281
+ * Clean up unused block states
358
282
  */
359
- sanitizeJavaScript(js) {
360
- let sanitized = js;
361
- for (const pattern of this.dangerousJSPatterns) {
362
- sanitized = sanitized.replace(pattern, "");
283
+ cleanupUnusedStates() {
284
+ for (const blockId of this.unusedBlocks) {
285
+ this.destroyBlockState(blockId);
363
286
  }
364
- return sanitized;
287
+ this.unusedBlocks.clear();
288
+ this.logger.debug("Unused states cleaned up");
365
289
  }
366
290
  /**
367
- * Sanitize template content
291
+ * Evict oldest non-persistent block to make room
368
292
  */
369
- sanitizeTemplate(template) {
370
- return template.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, "").replace(/on\w+\s*=\s*["'][^"']*["']/gi, "").replace(/javascript\s*:/gi, "");
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
- * Validate template syntax
304
+ * Get listener count for a block (for testing)
374
305
  */
375
- validateTemplateSyntax(template) {
376
- const openBraces = (template.match(/\{\{/g) || []).length;
377
- const closeBraces = (template.match(/\}\}/g) || []).length;
378
- if (openBraces !== closeBraces) {
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
- * Detect circular dependencies
312
+ * Validate state against schema
389
313
  */
390
- detectCircularDependencies(dependencies) {
391
- const dependencyMap = /* @__PURE__ */ new Map();
392
- for (const dep of dependencies) {
393
- dependencyMap.set(dep.topicId, dep.depends || []);
394
- }
395
- const visited = /* @__PURE__ */ new Set();
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 (visited.has(topicId)) return;
402
- visiting.add(topicId);
403
- const deps = dependencyMap.get(topicId) || [];
404
- for (const dep of deps) {
405
- visit(dep);
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
- * Topological sort of dependencies
358
+ * Set block state (alias for updateBlockState)
416
359
  */
417
- topologicalSort(dependencies) {
418
- const dependencyMap = /* @__PURE__ */ new Map();
419
- const dependsMap = /* @__PURE__ */ new Map();
420
- for (const dep of dependencies) {
421
- dependencyMap.set(dep.topicId, dep);
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
- const sorted = [];
425
- const visited = /* @__PURE__ */ new Set();
426
- const visit = (topicId) => {
427
- if (visited.has(topicId)) return;
428
- const deps = dependsMap.get(topicId) || [];
429
- for (const dep of deps) {
430
- visit(dep);
431
- }
432
- visited.add(topicId);
433
- const depObj = dependencyMap.get(topicId);
434
- if (depObj) {
435
- sorted.push(depObj);
436
- }
437
- };
438
- for (const dep of dependencies) {
439
- visit(dep.topicId);
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
- return sorted;
384
+ this.logger.debug("Block state removed", { blockId });
442
385
  }
443
386
  /**
444
- * Get content type for dependency type
387
+ * Send message to a block
445
388
  */
446
- getContentTypeForType(type) {
447
- switch (type) {
448
- case "css":
449
- return "text/css";
450
- case "js":
451
- return "application/javascript";
452
- case "template":
453
- return "text/html";
454
- case "image":
455
- return "image/*";
456
- default:
457
- return "application/octet-stream";
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
- ResourceManager
407
+ BlockStateManager
463
408
  };
464
409
  //# sourceMappingURL=standards-sdk.es47.js.map