@hashgraphonline/standards-sdk 0.1.172 → 0.1.174

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 (655) hide show
  1. package/dist/browser/browser-root.d.ts +3 -0
  2. package/dist/browser/browser-root.d.ts.map +1 -0
  3. package/dist/browser/hcs-11/client.d.ts +30 -30
  4. package/dist/browser/hcs-11/client.d.ts.map +1 -1
  5. package/dist/browser/hcs-21/types.d.ts +23 -23
  6. package/dist/browser/inscribe/inscriber.d.ts.map +1 -1
  7. package/dist/browser/services/registry-broker/client/base-client.d.ts +6 -1
  8. package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
  9. package/dist/browser/services/registry-broker/client/encryption.d.ts.map +1 -1
  10. package/dist/browser/services/registry-broker/client/skills.d.ts +5 -1
  11. package/dist/browser/services/registry-broker/client/skills.d.ts.map +1 -1
  12. package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
  13. package/dist/browser/services/registry-broker/schemas.d.ts +1337 -154
  14. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  15. package/dist/browser/services/registry-broker/types.d.ts +8 -1
  16. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  17. package/dist/browser/standards-sdk.browser.js +5364 -8955
  18. package/dist/browser/standards-sdk.browser.js.map +1 -1
  19. package/dist/browser/utils/dynamic-import.d.ts.map +1 -1
  20. package/dist/browser-root/browser-root.d.ts +3 -0
  21. package/dist/browser-root/browser-root.d.ts.map +1 -0
  22. package/dist/browser-root/browser.d.ts +8 -0
  23. package/dist/browser-root/browser.d.ts.map +1 -0
  24. package/dist/browser-root/common/node-operator-resolver.d.ts +58 -0
  25. package/dist/browser-root/common/node-operator-resolver.d.ts.map +1 -0
  26. package/dist/browser-root/common/tx/tx-utils.d.ts +15 -0
  27. package/dist/browser-root/common/tx/tx-utils.d.ts.map +1 -0
  28. package/dist/browser-root/content-store/ContentResolverRegistry.d.ts +38 -0
  29. package/dist/browser-root/content-store/ContentResolverRegistry.d.ts.map +1 -0
  30. package/dist/browser-root/content-store/ContentStoreService.d.ts +40 -0
  31. package/dist/browser-root/content-store/ContentStoreService.d.ts.map +1 -0
  32. package/dist/browser-root/content-store/index.d.ts +9 -0
  33. package/dist/browser-root/content-store/index.d.ts.map +1 -0
  34. package/dist/browser-root/content-store/types.d.ts +41 -0
  35. package/dist/browser-root/content-store/types.d.ts.map +1 -0
  36. package/dist/browser-root/fees/fee-config-builder.d.ts +115 -0
  37. package/dist/browser-root/fees/fee-config-builder.d.ts.map +1 -0
  38. package/dist/browser-root/fees/index.d.ts +3 -0
  39. package/dist/browser-root/fees/index.d.ts.map +1 -0
  40. package/dist/browser-root/fees/types.d.ts +26 -0
  41. package/dist/browser-root/fees/types.d.ts.map +1 -0
  42. package/dist/browser-root/hcs-10/base-client.d.ts +312 -0
  43. package/dist/browser-root/hcs-10/base-client.d.ts.map +1 -0
  44. package/dist/browser-root/hcs-10/browser.d.ts +129 -0
  45. package/dist/browser-root/hcs-10/browser.d.ts.map +1 -0
  46. package/dist/browser-root/hcs-10/connections-manager.d.ts +367 -0
  47. package/dist/browser-root/hcs-10/connections-manager.d.ts.map +1 -0
  48. package/dist/browser-root/hcs-10/errors.d.ts +14 -0
  49. package/dist/browser-root/hcs-10/errors.d.ts.map +1 -0
  50. package/dist/browser-root/hcs-10/index.d.ts +9 -0
  51. package/dist/browser-root/hcs-10/index.d.ts.map +1 -0
  52. package/dist/browser-root/hcs-10/registrations.d.ts +49 -0
  53. package/dist/browser-root/hcs-10/registrations.d.ts.map +1 -0
  54. package/dist/browser-root/hcs-10/sdk.d.ts +293 -0
  55. package/dist/browser-root/hcs-10/sdk.d.ts.map +1 -0
  56. package/dist/browser-root/hcs-10/tx.d.ts +85 -0
  57. package/dist/browser-root/hcs-10/tx.d.ts.map +1 -0
  58. package/dist/browser-root/hcs-10/types.d.ts +286 -0
  59. package/dist/browser-root/hcs-10/types.d.ts.map +1 -0
  60. package/dist/browser-root/hcs-11/agent-builder.d.ts +57 -0
  61. package/dist/browser-root/hcs-11/agent-builder.d.ts.map +1 -0
  62. package/dist/browser-root/hcs-11/client.d.ts +1199 -0
  63. package/dist/browser-root/hcs-11/client.d.ts.map +1 -0
  64. package/dist/browser-root/hcs-11/flora-builder.d.ts +24 -0
  65. package/dist/browser-root/hcs-11/flora-builder.d.ts.map +1 -0
  66. package/dist/browser-root/hcs-11/index.d.ts +7 -0
  67. package/dist/browser-root/hcs-11/index.d.ts.map +1 -0
  68. package/dist/browser-root/hcs-11/mcp-server-builder.d.ts +227 -0
  69. package/dist/browser-root/hcs-11/mcp-server-builder.d.ts.map +1 -0
  70. package/dist/browser-root/hcs-11/person-builder.d.ts +30 -0
  71. package/dist/browser-root/hcs-11/person-builder.d.ts.map +1 -0
  72. package/dist/browser-root/hcs-11/types.d.ts +239 -0
  73. package/dist/browser-root/hcs-11/types.d.ts.map +1 -0
  74. package/dist/browser-root/hcs-12/assembly/assembly-engine.d.ts +83 -0
  75. package/dist/browser-root/hcs-12/assembly/assembly-engine.d.ts.map +1 -0
  76. package/dist/browser-root/hcs-12/assembly/index.d.ts +7 -0
  77. package/dist/browser-root/hcs-12/assembly/index.d.ts.map +1 -0
  78. package/dist/browser-root/hcs-12/base-client.d.ts +152 -0
  79. package/dist/browser-root/hcs-12/base-client.d.ts.map +1 -0
  80. package/dist/browser-root/hcs-12/browser.d.ts +135 -0
  81. package/dist/browser-root/hcs-12/browser.d.ts.map +1 -0
  82. package/dist/browser-root/hcs-12/builders/action-builder.d.ts +112 -0
  83. package/dist/browser-root/hcs-12/builders/action-builder.d.ts.map +1 -0
  84. package/dist/browser-root/hcs-12/builders/assembly-builder.d.ts +98 -0
  85. package/dist/browser-root/hcs-12/builders/assembly-builder.d.ts.map +1 -0
  86. package/dist/browser-root/hcs-12/builders/block-builder.d.ts +135 -0
  87. package/dist/browser-root/hcs-12/builders/block-builder.d.ts.map +1 -0
  88. package/dist/browser-root/hcs-12/builders/index.d.ts +7 -0
  89. package/dist/browser-root/hcs-12/builders/index.d.ts.map +1 -0
  90. package/dist/browser-root/hcs-12/constants.d.ts +35 -0
  91. package/dist/browser-root/hcs-12/constants.d.ts.map +1 -0
  92. package/dist/browser-root/hcs-12/index.d.ts +21 -0
  93. package/dist/browser-root/hcs-12/index.d.ts.map +1 -0
  94. package/dist/browser-root/hcs-12/registries/action-registry.d.ts +69 -0
  95. package/dist/browser-root/hcs-12/registries/action-registry.d.ts.map +1 -0
  96. package/dist/browser-root/hcs-12/registries/assembly-registry.d.ts +62 -0
  97. package/dist/browser-root/hcs-12/registries/assembly-registry.d.ts.map +1 -0
  98. package/dist/browser-root/hcs-12/registries/base-registry.d.ts +76 -0
  99. package/dist/browser-root/hcs-12/registries/base-registry.d.ts.map +1 -0
  100. package/dist/browser-root/hcs-12/registries/block-loader.d.ts +43 -0
  101. package/dist/browser-root/hcs-12/registries/block-loader.d.ts.map +1 -0
  102. package/dist/browser-root/hcs-12/registries/hashlinks-registry.d.ts +57 -0
  103. package/dist/browser-root/hcs-12/registries/hashlinks-registry.d.ts.map +1 -0
  104. package/dist/browser-root/hcs-12/registries/index.d.ts +9 -0
  105. package/dist/browser-root/hcs-12/registries/index.d.ts.map +1 -0
  106. package/dist/browser-root/hcs-12/rendering/block-renderer.d.ts +111 -0
  107. package/dist/browser-root/hcs-12/rendering/block-renderer.d.ts.map +1 -0
  108. package/dist/browser-root/hcs-12/rendering/block-state-manager.d.ts +158 -0
  109. package/dist/browser-root/hcs-12/rendering/block-state-manager.d.ts.map +1 -0
  110. package/dist/browser-root/hcs-12/rendering/gutenberg-bridge.d.ts +59 -0
  111. package/dist/browser-root/hcs-12/rendering/gutenberg-bridge.d.ts.map +1 -0
  112. package/dist/browser-root/hcs-12/rendering/hashlink-resolver.d.ts +69 -0
  113. package/dist/browser-root/hcs-12/rendering/hashlink-resolver.d.ts.map +1 -0
  114. package/dist/browser-root/hcs-12/rendering/hashlink-scanner.d.ts +35 -0
  115. package/dist/browser-root/hcs-12/rendering/hashlink-scanner.d.ts.map +1 -0
  116. package/dist/browser-root/hcs-12/rendering/index.d.ts +14 -0
  117. package/dist/browser-root/hcs-12/rendering/index.d.ts.map +1 -0
  118. package/dist/browser-root/hcs-12/rendering/resource-manager.d.ts +134 -0
  119. package/dist/browser-root/hcs-12/rendering/resource-manager.d.ts.map +1 -0
  120. package/dist/browser-root/hcs-12/rendering/template-engine.d.ts +108 -0
  121. package/dist/browser-root/hcs-12/rendering/template-engine.d.ts.map +1 -0
  122. package/dist/browser-root/hcs-12/sdk.d.ts +114 -0
  123. package/dist/browser-root/hcs-12/sdk.d.ts.map +1 -0
  124. package/dist/browser-root/hcs-12/security/hash-verifier.d.ts +195 -0
  125. package/dist/browser-root/hcs-12/security/hash-verifier.d.ts.map +1 -0
  126. package/dist/browser-root/hcs-12/security/permission-system.d.ts +254 -0
  127. package/dist/browser-root/hcs-12/security/permission-system.d.ts.map +1 -0
  128. package/dist/browser-root/hcs-12/security/signature-verifier.d.ts +192 -0
  129. package/dist/browser-root/hcs-12/security/signature-verifier.d.ts.map +1 -0
  130. package/dist/browser-root/hcs-12/tx.d.ts +34 -0
  131. package/dist/browser-root/hcs-12/tx.d.ts.map +1 -0
  132. package/dist/browser-root/hcs-12/types.d.ts +546 -0
  133. package/dist/browser-root/hcs-12/types.d.ts.map +1 -0
  134. package/dist/browser-root/hcs-12/validation/index.d.ts +6 -0
  135. package/dist/browser-root/hcs-12/validation/index.d.ts.map +1 -0
  136. package/dist/browser-root/hcs-12/validation/schemas.d.ts +361 -0
  137. package/dist/browser-root/hcs-12/validation/schemas.d.ts.map +1 -0
  138. package/dist/browser-root/hcs-12/validation/wasm-validator.d.ts +81 -0
  139. package/dist/browser-root/hcs-12/validation/wasm-validator.d.ts.map +1 -0
  140. package/dist/browser-root/hcs-12/wasm/index.d.ts +2 -0
  141. package/dist/browser-root/hcs-12/wasm/index.d.ts.map +1 -0
  142. package/dist/browser-root/hcs-12/wasm/wasm-executor.d.ts +44 -0
  143. package/dist/browser-root/hcs-12/wasm/wasm-executor.d.ts.map +1 -0
  144. package/dist/browser-root/hcs-14/adapters/types.d.ts +24 -0
  145. package/dist/browser-root/hcs-14/adapters/types.d.ts.map +1 -0
  146. package/dist/browser-root/hcs-14/base58.d.ts +7 -0
  147. package/dist/browser-root/hcs-14/base58.d.ts.map +1 -0
  148. package/dist/browser-root/hcs-14/browser.d.ts +5 -0
  149. package/dist/browser-root/hcs-14/browser.d.ts.map +1 -0
  150. package/dist/browser-root/hcs-14/caip.d.ts +14 -0
  151. package/dist/browser-root/hcs-14/caip.d.ts.map +1 -0
  152. package/dist/browser-root/hcs-14/canonical.d.ts +3 -0
  153. package/dist/browser-root/hcs-14/canonical.d.ts.map +1 -0
  154. package/dist/browser-root/hcs-14/did.d.ts +7 -0
  155. package/dist/browser-root/hcs-14/did.d.ts.map +1 -0
  156. package/dist/browser-root/hcs-14/index.d.ts +18 -0
  157. package/dist/browser-root/hcs-14/index.d.ts.map +1 -0
  158. package/dist/browser-root/hcs-14/issuers/hiero.d.ts +8 -0
  159. package/dist/browser-root/hcs-14/issuers/hiero.d.ts.map +1 -0
  160. package/dist/browser-root/hcs-14/issuers/registry.d.ts +15 -0
  161. package/dist/browser-root/hcs-14/issuers/registry.d.ts.map +1 -0
  162. package/dist/browser-root/hcs-14/issuers/types.d.ts +28 -0
  163. package/dist/browser-root/hcs-14/issuers/types.d.ts.map +1 -0
  164. package/dist/browser-root/hcs-14/resolvers/aid-dns-web-profile.d.ts +38 -0
  165. package/dist/browser-root/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  166. package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  167. package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  168. package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  169. package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  170. package/dist/browser-root/hcs-14/resolvers/dns.d.ts +3 -0
  171. package/dist/browser-root/hcs-14/resolvers/dns.d.ts.map +1 -0
  172. package/dist/browser-root/hcs-14/resolvers/hcs-11-profile.d.ts +9 -0
  173. package/dist/browser-root/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  174. package/dist/browser-root/hcs-14/resolvers/hiero.d.ts +9 -0
  175. package/dist/browser-root/hcs-14/resolvers/hiero.d.ts.map +1 -0
  176. package/dist/browser-root/hcs-14/resolvers/profile-utils.d.ts +9 -0
  177. package/dist/browser-root/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  178. package/dist/browser-root/hcs-14/resolvers/registry.d.ts +70 -0
  179. package/dist/browser-root/hcs-14/resolvers/registry.d.ts.map +1 -0
  180. package/dist/browser-root/hcs-14/resolvers/types.d.ts +166 -0
  181. package/dist/browser-root/hcs-14/resolvers/types.d.ts.map +1 -0
  182. package/dist/browser-root/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +11 -0
  183. package/dist/browser-root/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  184. package/dist/browser-root/hcs-14/resolvers/uaid-dns-web-profile.d.ts +23 -0
  185. package/dist/browser-root/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  186. package/dist/browser-root/hcs-14/sdk.d.ts +125 -0
  187. package/dist/browser-root/hcs-14/sdk.d.ts.map +1 -0
  188. package/dist/browser-root/hcs-14/types.d.ts +45 -0
  189. package/dist/browser-root/hcs-14/types.d.ts.map +1 -0
  190. package/dist/browser-root/hcs-15/base-client.d.ts +22 -0
  191. package/dist/browser-root/hcs-15/base-client.d.ts.map +1 -0
  192. package/dist/browser-root/hcs-15/browser.d.ts +36 -0
  193. package/dist/browser-root/hcs-15/browser.d.ts.map +1 -0
  194. package/dist/browser-root/hcs-15/index.d.ts +6 -0
  195. package/dist/browser-root/hcs-15/index.d.ts.map +1 -0
  196. package/dist/browser-root/hcs-15/sdk.d.ts +45 -0
  197. package/dist/browser-root/hcs-15/sdk.d.ts.map +1 -0
  198. package/dist/browser-root/hcs-15/tx.d.ts +26 -0
  199. package/dist/browser-root/hcs-15/tx.d.ts.map +1 -0
  200. package/dist/browser-root/hcs-15/types.d.ts +86 -0
  201. package/dist/browser-root/hcs-15/types.d.ts.map +1 -0
  202. package/dist/browser-root/hcs-16/base-client.d.ts +67 -0
  203. package/dist/browser-root/hcs-16/base-client.d.ts.map +1 -0
  204. package/dist/browser-root/hcs-16/browser.d.ts +119 -0
  205. package/dist/browser-root/hcs-16/browser.d.ts.map +1 -0
  206. package/dist/browser-root/hcs-16/index.d.ts +7 -0
  207. package/dist/browser-root/hcs-16/index.d.ts.map +1 -0
  208. package/dist/browser-root/hcs-16/sdk.d.ts +164 -0
  209. package/dist/browser-root/hcs-16/sdk.d.ts.map +1 -0
  210. package/dist/browser-root/hcs-16/tx.d.ts +142 -0
  211. package/dist/browser-root/hcs-16/tx.d.ts.map +1 -0
  212. package/dist/browser-root/hcs-16/types.d.ts +151 -0
  213. package/dist/browser-root/hcs-16/types.d.ts.map +1 -0
  214. package/dist/browser-root/hcs-17/base-client.d.ts +86 -0
  215. package/dist/browser-root/hcs-17/base-client.d.ts.map +1 -0
  216. package/dist/browser-root/hcs-17/browser.d.ts +41 -0
  217. package/dist/browser-root/hcs-17/browser.d.ts.map +1 -0
  218. package/dist/browser-root/hcs-17/index.d.ts +6 -0
  219. package/dist/browser-root/hcs-17/index.d.ts.map +1 -0
  220. package/dist/browser-root/hcs-17/sdk.d.ts +40 -0
  221. package/dist/browser-root/hcs-17/sdk.d.ts.map +1 -0
  222. package/dist/browser-root/hcs-17/tx.d.ts +27 -0
  223. package/dist/browser-root/hcs-17/tx.d.ts.map +1 -0
  224. package/dist/browser-root/hcs-17/types.d.ts +141 -0
  225. package/dist/browser-root/hcs-17/types.d.ts.map +1 -0
  226. package/dist/browser-root/hcs-18/base-client.d.ts +28 -0
  227. package/dist/browser-root/hcs-18/base-client.d.ts.map +1 -0
  228. package/dist/browser-root/hcs-18/browser.d.ts +33 -0
  229. package/dist/browser-root/hcs-18/browser.d.ts.map +1 -0
  230. package/dist/browser-root/hcs-18/index.d.ts +12 -0
  231. package/dist/browser-root/hcs-18/index.d.ts.map +1 -0
  232. package/dist/browser-root/hcs-18/sdk.d.ts +60 -0
  233. package/dist/browser-root/hcs-18/sdk.d.ts.map +1 -0
  234. package/dist/browser-root/hcs-18/tx.d.ts +22 -0
  235. package/dist/browser-root/hcs-18/tx.d.ts.map +1 -0
  236. package/dist/browser-root/hcs-18/types.d.ts +211 -0
  237. package/dist/browser-root/hcs-18/types.d.ts.map +1 -0
  238. package/dist/browser-root/hcs-2/base-client.d.ts +138 -0
  239. package/dist/browser-root/hcs-2/base-client.d.ts.map +1 -0
  240. package/dist/browser-root/hcs-2/browser.d.ts +76 -0
  241. package/dist/browser-root/hcs-2/browser.d.ts.map +1 -0
  242. package/dist/browser-root/hcs-2/client.d.ts +112 -0
  243. package/dist/browser-root/hcs-2/client.d.ts.map +1 -0
  244. package/dist/browser-root/hcs-2/index.d.ts +6 -0
  245. package/dist/browser-root/hcs-2/index.d.ts.map +1 -0
  246. package/dist/browser-root/hcs-2/tx.d.ts +40 -0
  247. package/dist/browser-root/hcs-2/tx.d.ts.map +1 -0
  248. package/dist/browser-root/hcs-2/types.d.ts +379 -0
  249. package/dist/browser-root/hcs-2/types.d.ts.map +1 -0
  250. package/dist/browser-root/hcs-20/base-client.d.ts +56 -0
  251. package/dist/browser-root/hcs-20/base-client.d.ts.map +1 -0
  252. package/dist/browser-root/hcs-20/browser.d.ts +53 -0
  253. package/dist/browser-root/hcs-20/browser.d.ts.map +1 -0
  254. package/dist/browser-root/hcs-20/errors.d.ts +126 -0
  255. package/dist/browser-root/hcs-20/errors.d.ts.map +1 -0
  256. package/dist/browser-root/hcs-20/index.d.ts +17 -0
  257. package/dist/browser-root/hcs-20/index.d.ts.map +1 -0
  258. package/dist/browser-root/hcs-20/points-indexer.d.ts +92 -0
  259. package/dist/browser-root/hcs-20/points-indexer.d.ts.map +1 -0
  260. package/dist/browser-root/hcs-20/sdk.d.ts +53 -0
  261. package/dist/browser-root/hcs-20/sdk.d.ts.map +1 -0
  262. package/dist/browser-root/hcs-20/tx.d.ts +46 -0
  263. package/dist/browser-root/hcs-20/tx.d.ts.map +1 -0
  264. package/dist/browser-root/hcs-20/types.d.ts +527 -0
  265. package/dist/browser-root/hcs-20/types.d.ts.map +1 -0
  266. package/dist/browser-root/hcs-21/base-client.d.ts +35 -0
  267. package/dist/browser-root/hcs-21/base-client.d.ts.map +1 -0
  268. package/dist/browser-root/hcs-21/browser.d.ts +30 -0
  269. package/dist/browser-root/hcs-21/browser.d.ts.map +1 -0
  270. package/dist/browser-root/hcs-21/errors.d.ts +6 -0
  271. package/dist/browser-root/hcs-21/errors.d.ts.map +1 -0
  272. package/dist/browser-root/hcs-21/index.d.ts +8 -0
  273. package/dist/browser-root/hcs-21/index.d.ts.map +1 -0
  274. package/dist/browser-root/hcs-21/sdk.d.ts +113 -0
  275. package/dist/browser-root/hcs-21/sdk.d.ts.map +1 -0
  276. package/dist/browser-root/hcs-21/tx.d.ts +24 -0
  277. package/dist/browser-root/hcs-21/tx.d.ts.map +1 -0
  278. package/dist/browser-root/hcs-21/types.d.ts +774 -0
  279. package/dist/browser-root/hcs-21/types.d.ts.map +1 -0
  280. package/dist/browser-root/hcs-21/verify.d.ts +6 -0
  281. package/dist/browser-root/hcs-21/verify.d.ts.map +1 -0
  282. package/dist/browser-root/hcs-26/base-client.d.ts +83 -0
  283. package/dist/browser-root/hcs-26/base-client.d.ts.map +1 -0
  284. package/dist/browser-root/hcs-26/browser.d.ts +11 -0
  285. package/dist/browser-root/hcs-26/browser.d.ts.map +1 -0
  286. package/dist/browser-root/hcs-26/index.d.ts +7 -0
  287. package/dist/browser-root/hcs-26/index.d.ts.map +1 -0
  288. package/dist/browser-root/hcs-26/memos.d.ts +28 -0
  289. package/dist/browser-root/hcs-26/memos.d.ts.map +1 -0
  290. package/dist/browser-root/hcs-26/resolver.d.ts +60 -0
  291. package/dist/browser-root/hcs-26/resolver.d.ts.map +1 -0
  292. package/dist/browser-root/hcs-26/sdk.d.ts +10 -0
  293. package/dist/browser-root/hcs-26/sdk.d.ts.map +1 -0
  294. package/dist/browser-root/hcs-26/types.d.ts +2752 -0
  295. package/dist/browser-root/hcs-26/types.d.ts.map +1 -0
  296. package/dist/browser-root/hcs-27/base-client.d.ts +41 -0
  297. package/dist/browser-root/hcs-27/base-client.d.ts.map +1 -0
  298. package/dist/browser-root/hcs-27/index.d.ts +6 -0
  299. package/dist/browser-root/hcs-27/index.d.ts.map +1 -0
  300. package/dist/browser-root/hcs-27/memos.d.ts +5 -0
  301. package/dist/browser-root/hcs-27/memos.d.ts.map +1 -0
  302. package/dist/browser-root/hcs-27/merkle.d.ts +23 -0
  303. package/dist/browser-root/hcs-27/merkle.d.ts.map +1 -0
  304. package/dist/browser-root/hcs-27/sdk.d.ts +23 -0
  305. package/dist/browser-root/hcs-27/sdk.d.ts.map +1 -0
  306. package/dist/browser-root/hcs-27/types.d.ts +1611 -0
  307. package/dist/browser-root/hcs-27/types.d.ts.map +1 -0
  308. package/dist/browser-root/hcs-3/index.d.ts +2 -0
  309. package/dist/browser-root/hcs-3/index.d.ts.map +1 -0
  310. package/dist/browser-root/hcs-3/src/index.d.ts +46 -0
  311. package/dist/browser-root/hcs-3/src/index.d.ts.map +1 -0
  312. package/dist/browser-root/hcs-3/src/types.d.ts +64 -0
  313. package/dist/browser-root/hcs-3/src/types.d.ts.map +1 -0
  314. package/dist/browser-root/hcs-5/base-client.d.ts +17 -0
  315. package/dist/browser-root/hcs-5/base-client.d.ts.map +1 -0
  316. package/dist/browser-root/hcs-5/browser.d.ts +20 -0
  317. package/dist/browser-root/hcs-5/browser.d.ts.map +1 -0
  318. package/dist/browser-root/hcs-5/index.d.ts +5 -0
  319. package/dist/browser-root/hcs-5/index.d.ts.map +1 -0
  320. package/dist/browser-root/hcs-5/sdk.d.ts +12 -0
  321. package/dist/browser-root/hcs-5/sdk.d.ts.map +1 -0
  322. package/dist/browser-root/hcs-5/tx.d.ts +12 -0
  323. package/dist/browser-root/hcs-5/tx.d.ts.map +1 -0
  324. package/dist/browser-root/hcs-5/types.d.ts +53 -0
  325. package/dist/browser-root/hcs-5/types.d.ts.map +1 -0
  326. package/dist/browser-root/hcs-6/base-client.d.ts +110 -0
  327. package/dist/browser-root/hcs-6/base-client.d.ts.map +1 -0
  328. package/dist/browser-root/hcs-6/browser.d.ts +78 -0
  329. package/dist/browser-root/hcs-6/browser.d.ts.map +1 -0
  330. package/dist/browser-root/hcs-6/client.d.ts +2 -0
  331. package/dist/browser-root/hcs-6/client.d.ts.map +1 -0
  332. package/dist/browser-root/hcs-6/index.d.ts +6 -0
  333. package/dist/browser-root/hcs-6/index.d.ts.map +1 -0
  334. package/dist/browser-root/hcs-6/sdk.d.ts +34 -0
  335. package/dist/browser-root/hcs-6/sdk.d.ts.map +1 -0
  336. package/dist/browser-root/hcs-6/tx.d.ts +16 -0
  337. package/dist/browser-root/hcs-6/tx.d.ts.map +1 -0
  338. package/dist/browser-root/hcs-6/types.d.ts +254 -0
  339. package/dist/browser-root/hcs-6/types.d.ts.map +1 -0
  340. package/dist/browser-root/hcs-7/base-client.d.ts +22 -0
  341. package/dist/browser-root/hcs-7/base-client.d.ts.map +1 -0
  342. package/dist/browser-root/hcs-7/browser.d.ts +16 -0
  343. package/dist/browser-root/hcs-7/browser.d.ts.map +1 -0
  344. package/dist/browser-root/hcs-7/evm-bridge.d.ts +33 -0
  345. package/dist/browser-root/hcs-7/evm-bridge.d.ts.map +1 -0
  346. package/dist/browser-root/hcs-7/index.d.ts +9 -0
  347. package/dist/browser-root/hcs-7/index.d.ts.map +1 -0
  348. package/dist/browser-root/hcs-7/redis-cache.d.ts +26 -0
  349. package/dist/browser-root/hcs-7/redis-cache.d.ts.map +1 -0
  350. package/dist/browser-root/hcs-7/sdk.d.ts +18 -0
  351. package/dist/browser-root/hcs-7/sdk.d.ts.map +1 -0
  352. package/dist/browser-root/hcs-7/tx.d.ts +31 -0
  353. package/dist/browser-root/hcs-7/tx.d.ts.map +1 -0
  354. package/dist/browser-root/hcs-7/types.d.ts +386 -0
  355. package/dist/browser-root/hcs-7/types.d.ts.map +1 -0
  356. package/dist/browser-root/hcs-7/wasm-bridge.d.ts +72 -0
  357. package/dist/browser-root/hcs-7/wasm-bridge.d.ts.map +1 -0
  358. package/dist/browser-root/index.d.ts +23 -0
  359. package/dist/browser-root/index.d.ts.map +1 -0
  360. package/dist/browser-root/inscribe/index.d.ts +4 -0
  361. package/dist/browser-root/inscribe/index.d.ts.map +1 -0
  362. package/dist/browser-root/inscribe/inscriber.d.ts +132 -0
  363. package/dist/browser-root/inscribe/inscriber.d.ts.map +1 -0
  364. package/dist/browser-root/inscribe/inscription-cost.d.ts +12 -0
  365. package/dist/browser-root/inscribe/inscription-cost.d.ts.map +1 -0
  366. package/dist/browser-root/inscribe/quote-cache.d.ts +23 -0
  367. package/dist/browser-root/inscribe/quote-cache.d.ts.map +1 -0
  368. package/dist/browser-root/inscribe/types.d.ts +130 -0
  369. package/dist/browser-root/inscribe/types.d.ts.map +1 -0
  370. package/dist/browser-root/services/index.d.ts +4 -0
  371. package/dist/browser-root/services/index.d.ts.map +1 -0
  372. package/dist/browser-root/services/mirror-node.d.ts +472 -0
  373. package/dist/browser-root/services/mirror-node.d.ts.map +1 -0
  374. package/dist/browser-root/services/registry-broker/agent-communicator/agent-communicator.d.ts +1 -0
  375. package/dist/browser-root/services/registry-broker/agent-communicator/agent-communicator.d.ts.map +1 -0
  376. package/dist/browser-root/services/registry-broker/agent-communicator/index.d.ts +1 -0
  377. package/dist/browser-root/services/registry-broker/agent-communicator/index.d.ts.map +1 -0
  378. package/dist/browser-root/services/registry-broker/agent-communicator/types.d.ts +1 -0
  379. package/dist/browser-root/services/registry-broker/agent-communicator/types.d.ts.map +1 -0
  380. package/dist/browser-root/services/registry-broker/client/adapters.d.ts +17 -0
  381. package/dist/browser-root/services/registry-broker/client/adapters.d.ts.map +1 -0
  382. package/dist/browser-root/services/registry-broker/client/agents.d.ts +13 -0
  383. package/dist/browser-root/services/registry-broker/client/agents.d.ts.map +1 -0
  384. package/dist/browser-root/services/registry-broker/client/base-client.d.ts +244 -0
  385. package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -0
  386. package/dist/browser-root/services/registry-broker/client/chat-history.d.ts +19 -0
  387. package/dist/browser-root/services/registry-broker/client/chat-history.d.ts.map +1 -0
  388. package/dist/browser-root/services/registry-broker/client/chat.d.ts +32 -0
  389. package/dist/browser-root/services/registry-broker/client/chat.d.ts.map +1 -0
  390. package/dist/browser-root/services/registry-broker/client/credits.d.ts +36 -0
  391. package/dist/browser-root/services/registry-broker/client/credits.d.ts.map +1 -0
  392. package/dist/browser-root/services/registry-broker/client/encrypted-chat-manager.d.ts +30 -0
  393. package/dist/browser-root/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  394. package/dist/browser-root/services/registry-broker/client/encryption.d.ts +35 -0
  395. package/dist/browser-root/services/registry-broker/client/encryption.d.ts.map +1 -0
  396. package/dist/browser-root/services/registry-broker/client/errors.d.ts +19 -0
  397. package/dist/browser-root/services/registry-broker/client/errors.d.ts.map +1 -0
  398. package/dist/browser-root/services/registry-broker/client/feedback.d.ts +2 -0
  399. package/dist/browser-root/services/registry-broker/client/feedback.d.ts.map +1 -0
  400. package/dist/browser-root/services/registry-broker/client/ledger-auth.d.ts +7 -0
  401. package/dist/browser-root/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  402. package/dist/browser-root/services/registry-broker/client/search.d.ts +17 -0
  403. package/dist/browser-root/services/registry-broker/client/search.d.ts.map +1 -0
  404. package/dist/browser-root/services/registry-broker/client/skills.d.ts +55 -0
  405. package/dist/browser-root/services/registry-broker/client/skills.d.ts.map +1 -0
  406. package/dist/browser-root/services/registry-broker/client/utils.d.ts +21 -0
  407. package/dist/browser-root/services/registry-broker/client/utils.d.ts.map +1 -0
  408. package/dist/browser-root/services/registry-broker/client/verification.d.ts +16 -0
  409. package/dist/browser-root/services/registry-broker/client/verification.d.ts.map +1 -0
  410. package/dist/browser-root/services/registry-broker/client.d.ts +4 -0
  411. package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -0
  412. package/dist/browser-root/services/registry-broker/hol-chat-ops.d.ts +24 -0
  413. package/dist/browser-root/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  414. package/dist/browser-root/services/registry-broker/index.d.ts +6 -0
  415. package/dist/browser-root/services/registry-broker/index.d.ts.map +1 -0
  416. package/dist/browser-root/services/registry-broker/ledger-network.d.ts +12 -0
  417. package/dist/browser-root/services/registry-broker/ledger-network.d.ts.map +1 -0
  418. package/dist/browser-root/services/registry-broker/private-key-signer.d.ts +9 -0
  419. package/dist/browser-root/services/registry-broker/private-key-signer.d.ts.map +1 -0
  420. package/dist/browser-root/services/registry-broker/schemas.d.ts +49069 -0
  421. package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -0
  422. package/dist/browser-root/services/registry-broker/types.d.ts +610 -0
  423. package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -0
  424. package/dist/browser-root/services/types.d.ts +614 -0
  425. package/dist/browser-root/services/types.d.ts.map +1 -0
  426. package/dist/browser-root/standards-sdk.root-browser.js +41845 -0
  427. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -0
  428. package/dist/browser-root/utils/crypto-abstraction.d.ts +89 -0
  429. package/dist/browser-root/utils/crypto-abstraction.d.ts.map +1 -0
  430. package/dist/browser-root/utils/crypto-env.d.ts +25 -0
  431. package/dist/browser-root/utils/crypto-env.d.ts.map +1 -0
  432. package/dist/browser-root/utils/dynamic-import.d.ts +7 -0
  433. package/dist/browser-root/utils/dynamic-import.d.ts.map +1 -0
  434. package/dist/browser-root/utils/hash-adapter.d.ts +46 -0
  435. package/dist/browser-root/utils/hash-adapter.d.ts.map +1 -0
  436. package/dist/browser-root/utils/hrl-resolver.d.ts +62 -0
  437. package/dist/browser-root/utils/hrl-resolver.d.ts.map +1 -0
  438. package/dist/browser-root/utils/index.d.ts +22 -0
  439. package/dist/browser-root/utils/index.d.ts.map +1 -0
  440. package/dist/browser-root/utils/interactive-terminal.d.ts +42 -0
  441. package/dist/browser-root/utils/interactive-terminal.d.ts.map +1 -0
  442. package/dist/browser-root/utils/is-browser.d.ts +5 -0
  443. package/dist/browser-root/utils/is-browser.d.ts.map +1 -0
  444. package/dist/browser-root/utils/is-dapp-signer.d.ts +4 -0
  445. package/dist/browser-root/utils/is-dapp-signer.d.ts.map +1 -0
  446. package/dist/browser-root/utils/key-type-detector.d.ts +194 -0
  447. package/dist/browser-root/utils/key-type-detector.d.ts.map +1 -0
  448. package/dist/browser-root/utils/logger-adapter.d.ts +17 -0
  449. package/dist/browser-root/utils/logger-adapter.d.ts.map +1 -0
  450. package/dist/browser-root/utils/logger.d.ts +51 -0
  451. package/dist/browser-root/utils/logger.d.ts.map +1 -0
  452. package/dist/browser-root/utils/parsers/crypto-parser.d.ts +51 -0
  453. package/dist/browser-root/utils/parsers/crypto-parser.d.ts.map +1 -0
  454. package/dist/browser-root/utils/parsers/file-parser.d.ts +55 -0
  455. package/dist/browser-root/utils/parsers/file-parser.d.ts.map +1 -0
  456. package/dist/browser-root/utils/parsers/hcs-parser.d.ts +19 -0
  457. package/dist/browser-root/utils/parsers/hcs-parser.d.ts.map +1 -0
  458. package/dist/browser-root/utils/parsers/hts-parser.d.ts +56 -0
  459. package/dist/browser-root/utils/parsers/hts-parser.d.ts.map +1 -0
  460. package/dist/browser-root/utils/parsers/parser-utils.d.ts +14 -0
  461. package/dist/browser-root/utils/parsers/parser-utils.d.ts.map +1 -0
  462. package/dist/browser-root/utils/parsers/schedule-parser.d.ts +89 -0
  463. package/dist/browser-root/utils/parsers/schedule-parser.d.ts.map +1 -0
  464. package/dist/browser-root/utils/parsers/scs-parser.d.ts +60 -0
  465. package/dist/browser-root/utils/parsers/scs-parser.d.ts.map +1 -0
  466. package/dist/browser-root/utils/parsers/util-parser.d.ts +78 -0
  467. package/dist/browser-root/utils/parsers/util-parser.d.ts.map +1 -0
  468. package/dist/browser-root/utils/progress-reporter.d.ts +54 -0
  469. package/dist/browser-root/utils/progress-reporter.d.ts.map +1 -0
  470. package/dist/browser-root/utils/sleep.d.ts +2 -0
  471. package/dist/browser-root/utils/sleep.d.ts.map +1 -0
  472. package/dist/browser-root/utils/topic-fee-utils.d.ts +12 -0
  473. package/dist/browser-root/utils/topic-fee-utils.d.ts.map +1 -0
  474. package/dist/browser-root/utils/topic-id-utils.d.ts +5 -0
  475. package/dist/browser-root/utils/topic-id-utils.d.ts.map +1 -0
  476. package/dist/browser-root/utils/transaction-parser-registry.d.ts +31 -0
  477. package/dist/browser-root/utils/transaction-parser-registry.d.ts.map +1 -0
  478. package/dist/browser-root/utils/transaction-parser-types.d.ts +568 -0
  479. package/dist/browser-root/utils/transaction-parser-types.d.ts.map +1 -0
  480. package/dist/browser-root/utils/transaction-parser.d.ts +147 -0
  481. package/dist/browser-root/utils/transaction-parser.d.ts.map +1 -0
  482. package/dist/browser-root/utils/transaction-summary-registry.d.ts +12 -0
  483. package/dist/browser-root/utils/transaction-summary-registry.d.ts.map +1 -0
  484. package/dist/browser-root/utils/transaction-type-registries.d.ts +38 -0
  485. package/dist/browser-root/utils/transaction-type-registries.d.ts.map +1 -0
  486. package/dist/browser-root/utils/types.d.ts +5 -0
  487. package/dist/browser-root/utils/types.d.ts.map +1 -0
  488. package/dist/cjs/browser-root.d.ts +3 -0
  489. package/dist/cjs/browser-root.d.ts.map +1 -0
  490. package/dist/cjs/hcs-11/client.d.ts +30 -30
  491. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  492. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  493. package/dist/cjs/services/registry-broker/client/base-client.d.ts +6 -1
  494. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  495. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -1
  496. package/dist/cjs/services/registry-broker/client/skills.d.ts +5 -1
  497. package/dist/cjs/services/registry-broker/client/skills.d.ts.map +1 -1
  498. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  499. package/dist/cjs/services/registry-broker/schemas.d.ts +1184 -1
  500. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  501. package/dist/cjs/services/registry-broker/types.d.ts +8 -1
  502. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  503. package/dist/cjs/standards-sdk.cjs +2 -2
  504. package/dist/cjs/standards-sdk.cjs.map +1 -1
  505. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  506. package/dist/es/browser-root.d.ts +3 -0
  507. package/dist/es/browser-root.d.ts.map +1 -0
  508. package/dist/es/hcs-11/client.d.ts +30 -30
  509. package/dist/es/hcs-11/client.d.ts.map +1 -1
  510. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  511. package/dist/es/services/registry-broker/client/base-client.d.ts +6 -1
  512. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  513. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -1
  514. package/dist/es/services/registry-broker/client/skills.d.ts +5 -1
  515. package/dist/es/services/registry-broker/client/skills.d.ts.map +1 -1
  516. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  517. package/dist/es/services/registry-broker/schemas.d.ts +1184 -1
  518. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  519. package/dist/es/services/registry-broker/types.d.ts +8 -1
  520. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  521. package/dist/es/standards-sdk.es.js +8 -13
  522. package/dist/es/standards-sdk.es.js.map +1 -1
  523. package/dist/es/standards-sdk.es104.js +1 -1
  524. package/dist/es/standards-sdk.es106.js +1 -1
  525. package/dist/es/standards-sdk.es108.js +1 -1
  526. package/dist/es/standards-sdk.es11.js +1 -1
  527. package/dist/es/standards-sdk.es110.js +1 -1
  528. package/dist/es/standards-sdk.es116.js +1 -1
  529. package/dist/es/standards-sdk.es12.js +1 -1
  530. package/dist/es/standards-sdk.es121.js +1 -1
  531. package/dist/es/standards-sdk.es127.js +2 -4
  532. package/dist/es/standards-sdk.es127.js.map +1 -1
  533. package/dist/es/standards-sdk.es128.js +5 -5
  534. package/dist/es/standards-sdk.es138.js +1 -1
  535. package/dist/es/standards-sdk.es139.js +1 -1
  536. package/dist/es/standards-sdk.es140.js +5 -5
  537. package/dist/es/standards-sdk.es142.js +4 -3
  538. package/dist/es/standards-sdk.es142.js.map +1 -1
  539. package/dist/es/standards-sdk.es145.js +954 -1564
  540. package/dist/es/standards-sdk.es145.js.map +1 -1
  541. package/dist/es/standards-sdk.es147.js +3 -3
  542. package/dist/es/standards-sdk.es148.js +71 -77
  543. package/dist/es/standards-sdk.es148.js.map +1 -1
  544. package/dist/es/standards-sdk.es149.js +77 -71
  545. package/dist/es/standards-sdk.es149.js.map +1 -1
  546. package/dist/es/standards-sdk.es150.js +53 -934
  547. package/dist/es/standards-sdk.es150.js.map +1 -1
  548. package/dist/es/standards-sdk.es151.js +152 -53
  549. package/dist/es/standards-sdk.es151.js.map +1 -1
  550. package/dist/es/standards-sdk.es152.js +7 -159
  551. package/dist/es/standards-sdk.es152.js.map +1 -1
  552. package/dist/es/standards-sdk.es153.js +86 -7
  553. package/dist/es/standards-sdk.es153.js.map +1 -1
  554. package/dist/es/standards-sdk.es154.js +43 -64
  555. package/dist/es/standards-sdk.es154.js.map +1 -1
  556. package/dist/es/standards-sdk.es155.js +30 -65
  557. package/dist/es/standards-sdk.es155.js.map +1 -1
  558. package/dist/es/standards-sdk.es156.js +34 -30
  559. package/dist/es/standards-sdk.es156.js.map +1 -1
  560. package/dist/es/standards-sdk.es157.js +48 -34
  561. package/dist/es/standards-sdk.es157.js.map +1 -1
  562. package/dist/es/standards-sdk.es158.js +138 -48
  563. package/dist/es/standards-sdk.es158.js.map +1 -1
  564. package/dist/es/standards-sdk.es159.js +37 -133
  565. package/dist/es/standards-sdk.es159.js.map +1 -1
  566. package/dist/es/standards-sdk.es16.js +2 -4
  567. package/dist/es/standards-sdk.es16.js.map +1 -1
  568. package/dist/es/standards-sdk.es160.js +1629 -42
  569. package/dist/es/standards-sdk.es160.js.map +1 -1
  570. package/dist/es/standards-sdk.es162.js +15 -54
  571. package/dist/es/standards-sdk.es162.js.map +1 -1
  572. package/dist/es/standards-sdk.es163.js +556 -67
  573. package/dist/es/standards-sdk.es163.js.map +1 -1
  574. package/dist/es/standards-sdk.es164.js +161 -70
  575. package/dist/es/standards-sdk.es164.js.map +1 -1
  576. package/dist/es/standards-sdk.es165.js +309 -187
  577. package/dist/es/standards-sdk.es165.js.map +1 -1
  578. package/dist/es/standards-sdk.es166.js +342 -13
  579. package/dist/es/standards-sdk.es166.js.map +1 -1
  580. package/dist/es/standards-sdk.es167.js +444 -64
  581. package/dist/es/standards-sdk.es167.js.map +1 -1
  582. package/dist/es/standards-sdk.es168.js +318 -537
  583. package/dist/es/standards-sdk.es168.js.map +1 -1
  584. package/dist/es/standards-sdk.es169.js +66 -162
  585. package/dist/es/standards-sdk.es169.js.map +1 -1
  586. package/dist/es/standards-sdk.es170.js +88 -306
  587. package/dist/es/standards-sdk.es170.js.map +1 -1
  588. package/dist/es/standards-sdk.es171.js +64 -337
  589. package/dist/es/standards-sdk.es171.js.map +1 -1
  590. package/dist/es/standards-sdk.es172.js +55 -452
  591. package/dist/es/standards-sdk.es172.js.map +1 -1
  592. package/dist/es/standards-sdk.es173.js +71 -321
  593. package/dist/es/standards-sdk.es173.js.map +1 -1
  594. package/dist/es/standards-sdk.es174.js +182 -58
  595. package/dist/es/standards-sdk.es174.js.map +1 -1
  596. package/dist/es/standards-sdk.es175.js +120 -153
  597. package/dist/es/standards-sdk.es175.js.map +1 -1
  598. package/dist/es/standards-sdk.es176.js +286 -190
  599. package/dist/es/standards-sdk.es176.js.map +1 -1
  600. package/dist/es/standards-sdk.es177.js +238 -218
  601. package/dist/es/standards-sdk.es177.js.map +1 -1
  602. package/dist/es/standards-sdk.es178.js +178 -101
  603. package/dist/es/standards-sdk.es178.js.map +1 -1
  604. package/dist/es/standards-sdk.es179.js +98 -105
  605. package/dist/es/standards-sdk.es179.js.map +1 -1
  606. package/dist/es/standards-sdk.es18.js +4 -6
  607. package/dist/es/standards-sdk.es18.js.map +1 -1
  608. package/dist/es/standards-sdk.es180.js +128 -161
  609. package/dist/es/standards-sdk.es180.js.map +1 -1
  610. package/dist/es/standards-sdk.es181.js +110 -123
  611. package/dist/es/standards-sdk.es181.js.map +1 -1
  612. package/dist/es/standards-sdk.es182.js +152 -298
  613. package/dist/es/standards-sdk.es182.js.map +1 -1
  614. package/dist/es/standards-sdk.es183.js +218 -242
  615. package/dist/es/standards-sdk.es183.js.map +1 -1
  616. package/dist/es/standards-sdk.es184.js +232 -145
  617. package/dist/es/standards-sdk.es184.js.map +1 -1
  618. package/dist/es/standards-sdk.es19.js +2 -4
  619. package/dist/es/standards-sdk.es19.js.map +1 -1
  620. package/dist/es/standards-sdk.es22.js +1 -1
  621. package/dist/es/standards-sdk.es27.js +25 -8
  622. package/dist/es/standards-sdk.es27.js.map +1 -1
  623. package/dist/es/standards-sdk.es35.js +2 -5
  624. package/dist/es/standards-sdk.es35.js.map +1 -1
  625. package/dist/es/standards-sdk.es36.js +2 -2
  626. package/dist/es/standards-sdk.es4.js +1 -1
  627. package/dist/es/standards-sdk.es53.js +1 -1
  628. package/dist/es/standards-sdk.es56.js +1 -1
  629. package/dist/es/standards-sdk.es59.js +1 -1
  630. package/dist/es/standards-sdk.es60.js +1 -1
  631. package/dist/es/standards-sdk.es62.js +1 -1
  632. package/dist/es/standards-sdk.es63.js +2 -2
  633. package/dist/es/standards-sdk.es64.js +1 -1
  634. package/dist/es/standards-sdk.es65.js +1 -1
  635. package/dist/es/standards-sdk.es66.js +1 -1
  636. package/dist/es/standards-sdk.es67.js +3 -5
  637. package/dist/es/standards-sdk.es67.js.map +1 -1
  638. package/dist/es/standards-sdk.es69.js +1 -1
  639. package/dist/es/standards-sdk.es7.js +1 -1
  640. package/dist/es/standards-sdk.es71.js +1 -1
  641. package/dist/es/standards-sdk.es72.js +2 -2
  642. package/dist/es/standards-sdk.es75.js +2 -2
  643. package/dist/es/standards-sdk.es76.js +1 -1
  644. package/dist/es/standards-sdk.es78.js +1 -1
  645. package/dist/es/standards-sdk.es83.js +1 -1
  646. package/dist/es/standards-sdk.es84.js +2 -4
  647. package/dist/es/standards-sdk.es84.js.map +1 -1
  648. package/dist/es/standards-sdk.es85.js +1 -1
  649. package/dist/es/standards-sdk.es88.js +1 -1
  650. package/dist/es/standards-sdk.es90.js +1 -1
  651. package/dist/es/standards-sdk.es94.js +3 -3
  652. package/dist/es/standards-sdk.es98.js +1 -1
  653. package/dist/es/standards-sdk.es99.js +1 -1
  654. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  655. package/package.json +105 -76
@@ -1,79 +1,203 @@
1
- import { proto } from "@hashgraph/proto";
2
- import { ContractId } from "@hashgraph/sdk";
3
- import { Buffer } from "buffer";
4
- function parseKey(key) {
5
- if (!key) {
6
- return void 0;
1
+ import { parseSemicolonFields } from "./standards-sdk.es173.js";
2
+ const ANS_HCS27_REGISTRY = "ans";
3
+ function isObjectRecord(value) {
4
+ return typeof value === "object" && value !== null;
5
+ }
6
+ function asString(value) {
7
+ if (typeof value !== "string") {
8
+ return null;
7
9
  }
8
- if (key.contractID) {
9
- return `ContractID: ${new ContractId(
10
- key.contractID.shardNum ?? 0,
11
- key.contractID.realmNum ?? 0,
12
- key.contractID.contractNum ?? 0
13
- ).toString()}`;
10
+ const trimmed = value.trim();
11
+ if (!trimmed) {
12
+ return null;
14
13
  }
15
- if (key.ed25519) {
16
- return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
14
+ return trimmed;
15
+ }
16
+ function isSemver(value) {
17
+ return /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/.test(
18
+ value
19
+ );
20
+ }
21
+ function normalizeAnsVersion(value) {
22
+ const trimmed = value.trim();
23
+ if (!trimmed) {
24
+ return null;
17
25
  }
18
- if (key.ECDSASecp256k1) {
19
- return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
20
- "hex"
21
- )}`;
26
+ const withoutPrefix = trimmed.startsWith("v") || trimmed.startsWith("V") ? trimmed.slice(1) : trimmed;
27
+ if (!isSemver(withoutPrefix)) {
28
+ return null;
22
29
  }
23
- if (key?.keyList?.keys?.length > 0) {
24
- const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
25
- return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
30
+ return withoutPrefix;
31
+ }
32
+ function parseAnsDnsTxtRecord(rawRecord) {
33
+ const fields = parseSemicolonFields(rawRecord);
34
+ const version = fields["v"];
35
+ const urlValue = fields["url"];
36
+ if (!version || !urlValue || version.toLowerCase() !== "ans1") {
37
+ return null;
26
38
  }
27
- if (key?.thresholdKey?.keys?.keys?.length > 0) {
28
- const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
29
- return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
39
+ let parsedUrl;
40
+ try {
41
+ parsedUrl = new URL(urlValue);
42
+ } catch {
43
+ return null;
30
44
  }
31
- if (key.delegatableContractId) {
32
- return `DelegatableContractID: ${new ContractId(
33
- key.delegatableContractId.shardNum ?? 0,
34
- key.delegatableContractId.realmNum ?? 0,
35
- key.delegatableContractId.contractNum ?? 0
36
- ).toString()}`;
45
+ if (parsedUrl.protocol.toLowerCase() !== "https:") {
46
+ return null;
37
47
  }
38
- if (Object.keys(key).length === 0) {
39
- return "Empty Key Structure";
48
+ const rawAnsVersion = fields["version"];
49
+ let normalizedAnsVersion;
50
+ if (rawAnsVersion !== void 0) {
51
+ const parsedVersion = normalizeAnsVersion(rawAnsVersion);
52
+ if (!parsedVersion) {
53
+ return null;
54
+ }
55
+ normalizedAnsVersion = parsedVersion;
40
56
  }
41
- return "Unknown or Unset Key Type";
57
+ return {
58
+ version: normalizedAnsVersion,
59
+ url: parsedUrl.toString()
60
+ };
42
61
  }
43
- function extractTransactionBody(transaction) {
44
- try {
45
- const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
46
- if (!bytes) {
47
- return null;
62
+ function isValidAnsProfileVersion(value) {
63
+ return !!value && normalizeAnsVersion(value) !== null;
64
+ }
65
+ function hasProtocolPathSegment(pathname, protocol) {
66
+ const normalizedProtocol = protocol.trim().toLowerCase();
67
+ if (!normalizedProtocol) {
68
+ return false;
69
+ }
70
+ const pathSegments = pathname.split("/").map((segment) => segment.trim()).filter((segment) => segment.length > 0);
71
+ for (const segment of pathSegments) {
72
+ if (segment.toLowerCase() === normalizedProtocol) {
73
+ return true;
48
74
  }
49
- const decoded = proto.TransactionList.decode(bytes);
50
- if (!decoded.transactionList || decoded.transactionList.length === 0) {
51
- return null;
75
+ }
76
+ return false;
77
+ }
78
+ function extractEndpointCandidates(endpoints, supportedSchemes) {
79
+ const candidates = [];
80
+ for (const [key, value] of Object.entries(endpoints)) {
81
+ if (!isObjectRecord(value)) {
82
+ continue;
83
+ }
84
+ const endpoint = asString(value["url"]);
85
+ if (!endpoint) {
86
+ continue;
52
87
  }
53
- const tx = decoded.transactionList[0];
54
- if (tx.bodyBytes && tx.bodyBytes.length > 0) {
55
- return proto.TransactionBody.decode(tx.bodyBytes);
88
+ let parsedUrl;
89
+ try {
90
+ parsedUrl = new URL(endpoint);
91
+ } catch {
92
+ continue;
56
93
  }
57
- if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
58
- const signedTx = proto.SignedTransaction.decode(
59
- tx.signedTransactionBytes
60
- );
61
- if (signedTx.bodyBytes) {
62
- return proto.TransactionBody.decode(signedTx.bodyBytes);
63
- }
94
+ const scheme = parsedUrl.protocol.replace(/:$/, "").toLowerCase();
95
+ if (!supportedSchemes.has(scheme)) {
96
+ continue;
64
97
  }
98
+ candidates.push({
99
+ key,
100
+ endpointUrl: parsedUrl.toString(),
101
+ parsedUrl
102
+ });
103
+ }
104
+ return candidates;
105
+ }
106
+ function validateAnsHcs27Hints(input) {
107
+ if (!isObjectRecord(input)) {
108
+ return void 0;
109
+ }
110
+ const checkpointTopicId = asString(input["checkpoint_topic_id"]);
111
+ const registry = asString(input["registry"]);
112
+ const logId = asString(input["log_id"]);
113
+ if (!checkpointTopicId || !registry || !logId || registry !== ANS_HCS27_REGISTRY) {
114
+ return void 0;
115
+ }
116
+ const checkpointUri = asString(input["checkpoint_uri"]) ?? void 0;
117
+ const viewerUri = asString(input["viewer_uri"]) ?? void 0;
118
+ return {
119
+ checkpointTopicId,
120
+ registry,
121
+ logId,
122
+ checkpointUri,
123
+ viewerUri
124
+ };
125
+ }
126
+ function validateHcs28Hints(input) {
127
+ if (!isObjectRecord(input)) {
128
+ return void 0;
129
+ }
130
+ const directoryTopicId = asString(input["directory_topic_id"]);
131
+ const tId = asString(input["t_id"]);
132
+ const agentId = asString(input["agent_id"]);
133
+ if (!directoryTopicId || !tId || !agentId) {
134
+ return void 0;
135
+ }
136
+ const proofProfile = asString(input["proof_profile"]) ?? void 0;
137
+ return {
138
+ directoryTopicId,
139
+ tId,
140
+ agentId,
141
+ proofProfile
142
+ };
143
+ }
144
+ function parseTransparencyHints(input) {
145
+ if (!isObjectRecord(input)) {
146
+ return void 0;
147
+ }
148
+ const hcs27 = validateAnsHcs27Hints(input["hcs27"]);
149
+ const hcs28 = validateHcs28Hints(input["hcs28"]);
150
+ if (!hcs27 && !hcs28) {
151
+ return void 0;
152
+ }
153
+ return {
154
+ hcs27,
155
+ hcs28
156
+ };
157
+ }
158
+ function parseAnsAgentCard(input) {
159
+ if (!isObjectRecord(input)) {
65
160
  return null;
66
- } catch (error) {
161
+ }
162
+ const ansName = asString(input["ansName"]);
163
+ const endpoints = input["endpoints"];
164
+ if (!ansName || !isObjectRecord(endpoints)) {
67
165
  return null;
68
166
  }
167
+ return {
168
+ ansName,
169
+ endpoints,
170
+ transparencyHints: parseTransparencyHints(input["transparency"])
171
+ };
69
172
  }
70
- function hasTransactionType(transaction, transactionField) {
71
- const txBody = extractTransactionBody(transaction);
72
- return !!(txBody && txBody[transactionField]);
173
+ function selectPreferredEndpoint(candidates, protocol) {
174
+ if (candidates.length === 0) {
175
+ return null;
176
+ }
177
+ const sortedCandidates = [...candidates].sort(
178
+ (a, b) => a.key.localeCompare(b.key)
179
+ );
180
+ const protocolMatches = sortedCandidates.filter(
181
+ (candidate) => hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol)
182
+ );
183
+ if (protocolMatches.length > 0) {
184
+ return protocolMatches[0];
185
+ }
186
+ return sortedCandidates[0];
187
+ }
188
+ function toErrorMessage(error) {
189
+ if (error instanceof Error && error.message) {
190
+ return error.message;
191
+ }
192
+ return null;
73
193
  }
74
194
  export {
75
- extractTransactionBody,
76
- hasTransactionType,
77
- parseKey
195
+ extractEndpointCandidates,
196
+ isValidAnsProfileVersion,
197
+ normalizeAnsVersion,
198
+ parseAnsAgentCard,
199
+ parseAnsDnsTxtRecord,
200
+ selectPreferredEndpoint,
201
+ toErrorMessage
78
202
  };
79
203
  //# sourceMappingURL=standards-sdk.es174.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es174.js","sources":["../../src/utils/parsers/parser-utils.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Transaction } from '@hashgraph/sdk';\nimport { Buffer } from 'buffer';\n\nexport function parseKey(\n key: proto.IKey | null | undefined,\n): string | undefined {\n if (!key) {\n return undefined;\n }\n\n if (key.contractID) {\n return `ContractID: ${new ContractId(\n key.contractID.shardNum ?? 0,\n key.contractID.realmNum ?? 0,\n key.contractID.contractNum ?? 0,\n ).toString()}`;\n }\n if (key.ed25519) {\n return `ED25519: ${Buffer.from(key.ed25519).toString('hex')}`;\n }\n if (key.ECDSASecp256k1) {\n return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(\n 'hex',\n )}`;\n }\n if (key?.keyList?.keys?.length > 0) {\n const keys = key.keyList.keys.map(k => parseKey(k)).filter(Boolean);\n return `KeyList (${keys.length} keys): [${keys.join(', ')}]`;\n }\n if (key?.thresholdKey?.keys?.keys?.length > 0) {\n const keys = key.thresholdKey.keys.keys\n .map(k => parseKey(k))\n .filter(Boolean);\n return `ThresholdKey (${key.thresholdKey.threshold} of ${\n keys.length\n }): [${keys.join(', ')}]`;\n }\n if (key.delegatableContractId) {\n return `DelegatableContractID: ${new ContractId(\n key.delegatableContractId.shardNum ?? 0,\n key.delegatableContractId.realmNum ?? 0,\n key.delegatableContractId.contractNum ?? 0,\n ).toString()}`;\n }\n if (Object.keys(key).length === 0) {\n return 'Empty Key Structure';\n }\n\n return 'Unknown or Unset Key Type';\n}\n\n/**\n * Extract TransactionBody from Transaction object using protobuf parsing\n * This replaces fragile constructor name checking with reliable protobuf data\n */\nexport function extractTransactionBody(\n transaction: Transaction,\n): proto.ITransactionBody | null {\n try {\n const bytes = transaction.toBytes ? transaction.toBytes() : undefined;\n if (!bytes) {\n return null;\n }\n\n const decoded = proto.TransactionList.decode(bytes);\n if (!decoded.transactionList || decoded.transactionList.length === 0) {\n return null;\n }\n\n const tx = decoded.transactionList[0];\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n return proto.TransactionBody.decode(tx.bodyBytes);\n }\n\n if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n return proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n return null;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Check if transaction has specific transaction type using protobuf data\n * This replaces constructor name checking with reliable protobuf field detection\n */\nexport function hasTransactionType(\n transaction: Transaction,\n transactionField: keyof proto.ITransactionBody,\n): boolean {\n const txBody = extractTransactionBody(transaction);\n return !!(txBody && txBody[transactionField]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SACd,KACoB;AACpB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,YAAY;AAClB,WAAO,eAAe,IAAI;AAAA,MACxB,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,eAAe;AAAA,IAAA,EAC9B,UAAU;AAAA,EACd;AACA,MAAI,IAAI,SAAS;AACf,WAAO,YAAY,OAAO,KAAK,IAAI,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EAC7D;AACA,MAAI,IAAI,gBAAgB;AACtB,WAAO,oBAAoB,OAAO,KAAK,IAAI,cAAc,EAAE;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AACA,MAAI,KAAK,SAAS,MAAM,SAAS,GAAG;AAClC,UAAM,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAClE,WAAO,YAAY,KAAK,MAAM,YAAY,KAAK,KAAK,IAAI,CAAC;AAAA,EAC3D;AACA,MAAI,KAAK,cAAc,MAAM,MAAM,SAAS,GAAG;AAC7C,UAAM,OAAO,IAAI,aAAa,KAAK,KAChC,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EACpB,OAAO,OAAO;AACjB,WAAO,iBAAiB,IAAI,aAAa,SAAS,OAChD,KAAK,MACP,OAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB;AACA,MAAI,IAAI,uBAAuB;AAC7B,WAAO,0BAA0B,IAAI;AAAA,MACnC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,eAAe;AAAA,IAAA,EACzC,UAAU;AAAA,EACd;AACA,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aAC+B;AAC/B,MAAI;AACF,UAAM,QAAQ,YAAY,UAAU,YAAY,YAAY;AAC5D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,gBAAgB,OAAO,KAAK;AAClD,QAAI,CAAC,QAAQ,mBAAmB,QAAQ,gBAAgB,WAAW,GAAG;AACpE,aAAO;AAAA,IACT;AAEA,UAAM,KAAK,QAAQ,gBAAgB,CAAC;AAEpC,QAAI,GAAG,aAAa,GAAG,UAAU,SAAS,GAAG;AAC3C,aAAO,MAAM,gBAAgB,OAAO,GAAG,SAAS;AAAA,IAClD;AAEA,QAAI,GAAG,0BAA0B,GAAG,uBAAuB,SAAS,GAAG;AACrE,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACvC,GAAG;AAAA,MAAA;AAEL,UAAI,SAAS,WAAW;AACtB,eAAO,MAAM,gBAAgB,OAAO,SAAS,SAAS;AAAA,MACxD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAMO,SAAS,mBACd,aACA,kBACS;AACT,QAAM,SAAS,uBAAuB,WAAW;AACjD,SAAO,CAAC,EAAE,UAAU,OAAO,gBAAgB;AAC7C;"}
1
+ {"version":3,"file":"standards-sdk.es174.js","sources":["../../src/hcs-14/resolvers/ans-dns-web-profile-utils.ts"],"sourcesContent":["import type {\n ProfileResolutionHcs27TransparencyHints,\n ProfileResolutionHcs28TransparencyHints,\n ProfileResolutionTransparencyHints,\n} from './types';\nimport { parseSemicolonFields } from './profile-utils';\n\nexport interface AnsDnsTxtRecord {\n version?: string;\n url: string;\n}\n\nexport interface AnsEndpointCandidate {\n key: string;\n endpointUrl: string;\n parsedUrl: URL;\n}\n\nexport interface ParsedAnsAgentCard {\n ansName: string;\n endpoints: Record<string, unknown>;\n transparencyHints?: ProfileResolutionTransparencyHints;\n}\n\nconst ANS_HCS27_REGISTRY = 'ans';\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asString(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n return trimmed;\n}\n\nfunction isSemver(value: string): boolean {\n return /^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/.test(\n value,\n );\n}\n\nexport function normalizeAnsVersion(value: string): string | null {\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n const withoutPrefix =\n trimmed.startsWith('v') || trimmed.startsWith('V')\n ? trimmed.slice(1)\n : trimmed;\n if (!isSemver(withoutPrefix)) {\n return null;\n }\n return withoutPrefix;\n}\n\nexport function parseAnsDnsTxtRecord(\n rawRecord: string,\n): AnsDnsTxtRecord | null {\n const fields = parseSemicolonFields(rawRecord);\n const version = fields['v'];\n const urlValue = fields['url'];\n if (!version || !urlValue || version.toLowerCase() !== 'ans1') {\n return null;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(urlValue);\n } catch {\n return null;\n }\n\n if (parsedUrl.protocol.toLowerCase() !== 'https:') {\n return null;\n }\n\n const rawAnsVersion = fields['version'];\n let normalizedAnsVersion: string | undefined;\n if (rawAnsVersion !== undefined) {\n const parsedVersion = normalizeAnsVersion(rawAnsVersion);\n if (!parsedVersion) {\n return null;\n }\n normalizedAnsVersion = parsedVersion;\n }\n\n return {\n version: normalizedAnsVersion,\n url: parsedUrl.toString(),\n };\n}\n\nexport function isValidAnsProfileVersion(value: string | undefined): boolean {\n return !!value && normalizeAnsVersion(value) !== null;\n}\n\nfunction hasProtocolPathSegment(pathname: string, protocol: string): boolean {\n const normalizedProtocol = protocol.trim().toLowerCase();\n if (!normalizedProtocol) {\n return false;\n }\n\n const pathSegments = pathname\n .split('/')\n .map(segment => segment.trim())\n .filter(segment => segment.length > 0);\n for (const segment of pathSegments) {\n if (segment.toLowerCase() === normalizedProtocol) {\n return true;\n }\n }\n return false;\n}\n\nexport function extractEndpointCandidates(\n endpoints: Record<string, unknown>,\n supportedSchemes: Set<string>,\n): AnsEndpointCandidate[] {\n const candidates: AnsEndpointCandidate[] = [];\n for (const [key, value] of Object.entries(endpoints)) {\n if (!isObjectRecord(value)) {\n continue;\n }\n const endpoint = asString(value['url']);\n if (!endpoint) {\n continue;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(endpoint);\n } catch {\n continue;\n }\n\n const scheme = parsedUrl.protocol.replace(/:$/, '').toLowerCase();\n if (!supportedSchemes.has(scheme)) {\n continue;\n }\n\n candidates.push({\n key,\n endpointUrl: parsedUrl.toString(),\n parsedUrl,\n });\n }\n\n return candidates;\n}\n\nfunction validateAnsHcs27Hints(\n input: unknown,\n): ProfileResolutionHcs27TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const checkpointTopicId = asString(input['checkpoint_topic_id']);\n const registry = asString(input['registry']);\n const logId = asString(input['log_id']);\n if (\n !checkpointTopicId ||\n !registry ||\n !logId ||\n registry !== ANS_HCS27_REGISTRY\n ) {\n return undefined;\n }\n const checkpointUri = asString(input['checkpoint_uri']) ?? undefined;\n const viewerUri = asString(input['viewer_uri']) ?? undefined;\n return {\n checkpointTopicId,\n registry,\n logId,\n checkpointUri,\n viewerUri,\n };\n}\n\nfunction validateHcs28Hints(\n input: unknown,\n): ProfileResolutionHcs28TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const directoryTopicId = asString(input['directory_topic_id']);\n const tId = asString(input['t_id']);\n const agentId = asString(input['agent_id']);\n if (!directoryTopicId || !tId || !agentId) {\n return undefined;\n }\n const proofProfile = asString(input['proof_profile']) ?? undefined;\n return {\n directoryTopicId,\n tId,\n agentId,\n proofProfile,\n };\n}\n\nfunction parseTransparencyHints(\n input: unknown,\n): ProfileResolutionTransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const hcs27 = validateAnsHcs27Hints(input['hcs27']);\n const hcs28 = validateHcs28Hints(input['hcs28']);\n if (!hcs27 && !hcs28) {\n return undefined;\n }\n return {\n hcs27,\n hcs28,\n };\n}\n\nexport function parseAnsAgentCard(input: unknown): ParsedAnsAgentCard | null {\n if (!isObjectRecord(input)) {\n return null;\n }\n const ansName = asString(input['ansName']);\n const endpoints = input['endpoints'];\n if (!ansName || !isObjectRecord(endpoints)) {\n return null;\n }\n return {\n ansName,\n endpoints,\n transparencyHints: parseTransparencyHints(input['transparency']),\n };\n}\n\nexport function selectPreferredEndpoint(\n candidates: AnsEndpointCandidate[],\n protocol: string,\n): AnsEndpointCandidate | null {\n if (candidates.length === 0) {\n return null;\n }\n\n const sortedCandidates = [...candidates].sort((a, b) =>\n a.key.localeCompare(b.key),\n );\n const protocolMatches = sortedCandidates.filter(candidate =>\n hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol),\n );\n if (protocolMatches.length > 0) {\n return protocolMatches[0];\n }\n return sortedCandidates[0];\n}\n\nexport function toErrorMessage(error: unknown): string | null {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n return null;\n}\n"],"names":[],"mappings":"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"}
@@ -1,175 +1,142 @@
1
- import * as path from "path";
2
1
  import { Buffer } from "buffer";
3
- import { randomBytes } from "crypto";
4
- import { secp256k1 } from "@noble/curves/secp256k1.js";
5
- import { registerEncryptionKeyResponseSchema } from "./standards-sdk.es145.js";
6
- import { optionalImport } from "./standards-sdk.es163.js";
7
- const getFs = async () => {
8
- const fsModule = await optionalImport("node:fs");
9
- if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
10
- return fsModule;
11
- }
12
- return null;
13
- };
14
- async function registerEncryptionKey(client, payload) {
15
- const raw = await client.requestJson("/encryption/keys", {
16
- method: "POST",
17
- headers: { "content-type": "application/json" },
18
- body: payload
19
- });
20
- return client.parseWithSchema(
21
- raw,
22
- registerEncryptionKeyResponseSchema,
23
- "register encryption key response"
24
- );
25
- }
26
- function normalizeAutoRegisterIdentity(config) {
27
- const identity = {};
28
- if (config.uaid) {
29
- identity.uaid = config.uaid;
30
- }
31
- if (config.ledgerAccountId) {
32
- identity.ledgerAccountId = config.ledgerAccountId;
33
- if (config.ledgerNetwork) {
34
- identity.ledgerNetwork = config.ledgerNetwork;
35
- }
2
+ import { chatHistorySnapshotResponseSchema } from "./standards-sdk.es160.js";
3
+ function identitiesMatch(a, b) {
4
+ if (!a && !b) {
5
+ return true;
36
6
  }
37
- if (config.email) {
38
- identity.email = config.email;
7
+ if (!a || !b) {
8
+ return false;
39
9
  }
40
- if (identity.uaid || identity.ledgerAccountId || identity.email) {
41
- return identity;
10
+ if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {
11
+ return true;
42
12
  }
43
- return null;
44
- }
45
- function derivePublicKeyFromPrivateKey(client, privateKey) {
46
- const normalized = client.hexToBuffer(privateKey);
47
- const publicKey = secp256k1.getPublicKey(normalized, true);
48
- return Buffer.from(publicKey).toString("hex");
49
- }
50
- async function resolveAutoRegisterKeyMaterial(client, config) {
51
- if (config.publicKey?.trim()) {
52
- return { publicKey: config.publicKey.trim() };
53
- }
54
- let privateKey = config.privateKey?.trim();
55
- const envVar = config.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
56
- if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {
57
- privateKey = process.env[envVar]?.trim();
58
- }
59
- if (!privateKey && config.generateIfMissing) {
60
- const pair = await client.generateEncryptionKeyPair({
61
- keyType: config.keyType ?? "secp256k1",
62
- envVar,
63
- envPath: config.envPath,
64
- overwrite: config.overwriteEnv
65
- });
66
- return { publicKey: pair.publicKey, privateKey: pair.privateKey };
13
+ if (a.ledgerAccountId && b.ledgerAccountId && a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()) {
14
+ return true;
15
+ }
16
+ if (a.userId && b.userId && a.userId === b.userId) {
17
+ return true;
67
18
  }
68
- if (privateKey) {
69
- const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);
70
- return { publicKey, privateKey };
19
+ if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {
20
+ return true;
71
21
  }
72
- return null;
22
+ return false;
73
23
  }
74
- async function autoRegisterEncryptionKey(client, config) {
75
- const identity = normalizeAutoRegisterIdentity(config);
76
- if (!identity) {
77
- throw new Error(
78
- "Auto-registration requires uaid, ledgerAccountId, or email"
79
- );
24
+ async function fetchHistorySnapshot(conversationContexts, client, sessionId, options) {
25
+ if (!sessionId || sessionId.trim().length === 0) {
26
+ throw new Error("sessionId is required to fetch chat history");
27
+ }
28
+ const raw = await client.requestJson(
29
+ `/chat/session/${encodeURIComponent(sessionId)}/history`,
30
+ {
31
+ method: "GET"
32
+ }
33
+ );
34
+ const snapshot = client.parseWithSchema(
35
+ raw,
36
+ chatHistorySnapshotResponseSchema,
37
+ "chat history snapshot response"
38
+ );
39
+ return attachDecryptedHistory(
40
+ conversationContexts,
41
+ client,
42
+ sessionId,
43
+ snapshot,
44
+ options
45
+ );
46
+ }
47
+ function attachDecryptedHistory(conversationContexts, client, sessionId, snapshot, options) {
48
+ const shouldDecrypt = options?.decrypt !== void 0 ? options.decrypt : client.encryptionOptions?.autoDecryptHistory === true;
49
+ if (!shouldDecrypt) {
50
+ return snapshot;
51
+ }
52
+ const requiresContext = snapshot.history.some(
53
+ (entry) => Boolean(entry.cipherEnvelope)
54
+ );
55
+ if (!requiresContext) {
56
+ return {
57
+ ...snapshot,
58
+ decryptedHistory: snapshot.history.map((entry) => ({
59
+ entry,
60
+ plaintext: entry.content
61
+ }))
62
+ };
80
63
  }
81
- const material = await resolveAutoRegisterKeyMaterial(client, config);
82
- if (!material) {
64
+ const context = resolveDecryptionContext(
65
+ conversationContexts,
66
+ client,
67
+ sessionId,
68
+ options
69
+ );
70
+ if (!context) {
83
71
  throw new Error(
84
- "Unable to resolve encryption public key for auto-registration"
72
+ "Unable to decrypt chat history: encryption context unavailable"
85
73
  );
86
74
  }
87
- await registerEncryptionKey(client, {
88
- keyType: config.keyType ?? "secp256k1",
89
- publicKey: material.publicKey,
90
- ...identity
91
- });
92
- return material;
93
- }
94
- async function ensureAgentEncryptionKey(client, options) {
95
- return autoRegisterEncryptionKey(client, {
96
- ...options,
97
- uaid: options.uaid
98
- });
75
+ const decryptedHistory = snapshot.history.map((entry) => ({
76
+ entry,
77
+ plaintext: decryptHistoryEntryFromContext(client, entry, context)
78
+ }));
79
+ return { ...snapshot, decryptedHistory };
99
80
  }
100
- function createEncryptionApi(client) {
101
- return {
102
- registerKey: (payload) => registerEncryptionKey(client, payload),
103
- generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),
104
- deriveSharedSecret: (options) => client.deriveSharedSecret(options),
105
- encryptCipherEnvelope: (options) => client.buildCipherEnvelope(options),
106
- decryptCipherEnvelope: (options) => client.openCipherEnvelope(options),
107
- ensureAgentKey: (options) => ensureAgentEncryptionKey(client, options)
81
+ function registerConversationContextForEncryption(conversationContexts, context) {
82
+ const normalized = {
83
+ sessionId: context.sessionId,
84
+ sharedSecret: Buffer.from(context.sharedSecret),
85
+ identity: context.identity ? { ...context.identity } : void 0
108
86
  };
87
+ const entries = conversationContexts.get(context.sessionId) ?? [];
88
+ const existingIndex = entries.findIndex(
89
+ (existing) => identitiesMatch(existing.identity, normalized.identity)
90
+ );
91
+ if (existingIndex >= 0) {
92
+ entries[existingIndex] = normalized;
93
+ } else {
94
+ entries.push(normalized);
95
+ }
96
+ conversationContexts.set(context.sessionId, entries);
109
97
  }
110
- async function bootstrapEncryptionOptions(client, options) {
111
- if (!options?.autoRegister || options.autoRegister.enabled === false) {
98
+ function resolveDecryptionContext(conversationContexts, client, sessionId, options) {
99
+ if (options?.sharedSecret) {
100
+ return {
101
+ sessionId,
102
+ sharedSecret: client.normalizeSharedSecret(options.sharedSecret),
103
+ identity: options.identity
104
+ };
105
+ }
106
+ const contexts = conversationContexts.get(sessionId);
107
+ if (!contexts || contexts.length === 0) {
112
108
  return null;
113
109
  }
114
- return autoRegisterEncryptionKey(client, options.autoRegister);
115
- }
116
- async function generateEncryptionKeyPair(client, options = {}) {
117
- client.assertNodeRuntime("generateEncryptionKeyPair");
118
- const keyType = options.keyType ?? "secp256k1";
119
- if (keyType !== "secp256k1") {
120
- throw new Error("Only secp256k1 key generation is supported currently");
121
- }
122
- const privateKeyBytes = randomBytes(32);
123
- const privateKey = Buffer.from(privateKeyBytes).toString("hex");
124
- const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);
125
- const publicKey = Buffer.from(publicKeyBytes).toString("hex");
126
- const envVar = options.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
127
- const resolvedPath = options.envPath ? path.resolve(options.envPath) : void 0;
128
- if (resolvedPath) {
129
- const fsModule = await getFs();
130
- if (!fsModule) {
131
- throw new Error(
132
- "File system module is not available; cannot write encryption key env file"
133
- );
134
- }
135
- const envLine = `${envVar}=${privateKey}`;
136
- if (fsModule.existsSync(resolvedPath)) {
137
- const content = fsModule.readFileSync(resolvedPath, "utf-8");
138
- const lineRegex = new RegExp(`^${envVar}=.*$`, "m");
139
- if (lineRegex.test(content)) {
140
- if (!options.overwrite) {
141
- throw new Error(
142
- `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`
143
- );
144
- }
145
- const updated = content.replace(lineRegex, envLine);
146
- fsModule.writeFileSync(resolvedPath, updated);
147
- } else {
148
- const needsNewline = !content.endsWith("\n");
149
- fsModule.appendFileSync(
150
- resolvedPath,
151
- `${needsNewline ? "\n" : ""}${envLine}
152
- `
153
- );
154
- }
155
- } else {
156
- fsModule.writeFileSync(resolvedPath, `${envLine}
157
- `);
110
+ if (options?.identity) {
111
+ const match = contexts.find(
112
+ (context) => identitiesMatch(context.identity, options.identity)
113
+ );
114
+ if (match) {
115
+ return match;
158
116
  }
159
117
  }
160
- return {
161
- privateKey,
162
- publicKey,
163
- envPath: resolvedPath,
164
- envVar
165
- };
118
+ return contexts[0];
119
+ }
120
+ function decryptHistoryEntryFromContext(client, entry, context) {
121
+ const envelope = entry.cipherEnvelope;
122
+ if (!envelope) {
123
+ return entry.content;
124
+ }
125
+ const secret = Buffer.from(context.sharedSecret);
126
+ try {
127
+ return client.encryption.decryptCipherEnvelope({
128
+ envelope,
129
+ sharedSecret: secret
130
+ });
131
+ } catch (_error) {
132
+ return null;
133
+ }
166
134
  }
167
135
  export {
168
- autoRegisterEncryptionKey,
169
- bootstrapEncryptionOptions,
170
- createEncryptionApi,
171
- ensureAgentEncryptionKey,
172
- generateEncryptionKeyPair,
173
- registerEncryptionKey
136
+ attachDecryptedHistory,
137
+ decryptHistoryEntryFromContext,
138
+ fetchHistorySnapshot,
139
+ registerConversationContextForEncryption,
140
+ resolveDecryptionContext
174
141
  };
175
142
  //# sourceMappingURL=standards-sdk.es175.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es175.js","sources":["../../src/services/registry-broker/client/encryption.ts"],"sourcesContent":["import * as path from 'path';\nimport { Buffer } from 'buffer';\nimport { randomBytes } from 'crypto';\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport type {\n AutoRegisterEncryptionKeyOptions,\n CipherEnvelope,\n ClientEncryptionOptions,\n DecryptCipherEnvelopeOptions,\n DeriveSharedSecretOptions,\n EncryptCipherEnvelopeOptions,\n EphemeralKeyPair,\n EnsureAgentKeyOptions,\n RegisterEncryptionKeyPayload,\n RegisterEncryptionKeyResponse,\n SharedSecretInput,\n} from '../types';\nimport { registerEncryptionKeyResponseSchema } from '../schemas';\nimport { optionalImport } from '../../../utils/dynamic-import';\nimport type {\n RegistryBrokerClient,\n GenerateEncryptionKeyPairOptions,\n} from './base-client';\n\ntype FsModule = {\n existsSync: (path: string) => boolean;\n readFileSync: (path: string, encoding: BufferEncoding) => string;\n writeFileSync: (path: string, data: string) => void;\n appendFileSync: (path: string, data: string) => void;\n};\n\nconst getFs = async (): Promise<FsModule | null> => {\n const fsModule = await optionalImport<Partial<FsModule>>('node:fs');\n\n if (\n fsModule &&\n typeof fsModule.existsSync === 'function' &&\n typeof fsModule.readFileSync === 'function' &&\n typeof fsModule.writeFileSync === 'function' &&\n typeof fsModule.appendFileSync === 'function'\n ) {\n return fsModule as FsModule;\n }\n\n return null;\n};\n\nexport interface RegistryBrokerEncryptionApi {\n registerKey: (\n payload: RegisterEncryptionKeyPayload,\n ) => Promise<RegisterEncryptionKeyResponse>;\n generateEphemeralKeyPair: () => EphemeralKeyPair;\n deriveSharedSecret: (options: DeriveSharedSecretOptions) => Buffer;\n encryptCipherEnvelope: (\n options: EncryptCipherEnvelopeOptions,\n ) => CipherEnvelope;\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) => string;\n ensureAgentKey: (\n options: EnsureAgentKeyOptions,\n ) => Promise<{ publicKey: string; privateKey?: string }>;\n}\n\nexport async function registerEncryptionKey(\n client: RegistryBrokerClient,\n payload: RegisterEncryptionKeyPayload,\n): Promise<RegisterEncryptionKeyResponse> {\n const raw = await client.requestJson('/encryption/keys', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n registerEncryptionKeyResponseSchema,\n 'register encryption key response',\n );\n}\n\nfunction normalizeAutoRegisterIdentity(\n config: AutoRegisterEncryptionKeyOptions,\n): Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n> | null {\n const identity: Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n > = {};\n if (config.uaid) {\n identity.uaid = config.uaid;\n }\n if (config.ledgerAccountId) {\n identity.ledgerAccountId = config.ledgerAccountId;\n if (config.ledgerNetwork) {\n identity.ledgerNetwork = config.ledgerNetwork;\n }\n }\n if (config.email) {\n identity.email = config.email;\n }\n if (identity.uaid || identity.ledgerAccountId || identity.email) {\n return identity;\n }\n return null;\n}\n\nfunction derivePublicKeyFromPrivateKey(\n client: RegistryBrokerClient,\n privateKey: string,\n): string {\n const normalized = client.hexToBuffer(privateKey);\n const publicKey = secp256k1.getPublicKey(normalized, true);\n return Buffer.from(publicKey).toString('hex');\n}\n\nasync function resolveAutoRegisterKeyMaterial(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (config.publicKey?.trim()) {\n return { publicKey: config.publicKey.trim() };\n }\n let privateKey = config.privateKey?.trim();\n const envVar = config.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {\n privateKey = process.env[envVar]?.trim();\n }\n if (!privateKey && config.generateIfMissing) {\n const pair = await client.generateEncryptionKeyPair({\n keyType: config.keyType ?? 'secp256k1',\n envVar,\n envPath: config.envPath,\n overwrite: config.overwriteEnv,\n });\n return { publicKey: pair.publicKey, privateKey: pair.privateKey };\n }\n if (privateKey) {\n const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);\n return { publicKey, privateKey };\n }\n return null;\n}\n\nexport async function autoRegisterEncryptionKey(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n const identity = normalizeAutoRegisterIdentity(config);\n if (!identity) {\n throw new Error(\n 'Auto-registration requires uaid, ledgerAccountId, or email',\n );\n }\n const material = await resolveAutoRegisterKeyMaterial(client, config);\n if (!material) {\n throw new Error(\n 'Unable to resolve encryption public key for auto-registration',\n );\n }\n await registerEncryptionKey(client, {\n keyType: config.keyType ?? 'secp256k1',\n publicKey: material.publicKey,\n ...identity,\n });\n return material;\n}\n\nexport async function ensureAgentEncryptionKey(\n client: RegistryBrokerClient,\n options: EnsureAgentKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n return autoRegisterEncryptionKey(client, {\n ...options,\n uaid: options.uaid,\n enabled: true,\n });\n}\n\nexport function createEncryptionApi(\n client: RegistryBrokerClient,\n): RegistryBrokerEncryptionApi {\n return {\n registerKey: (payload: RegisterEncryptionKeyPayload) =>\n registerEncryptionKey(client, payload),\n generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),\n deriveSharedSecret: (options: DeriveSharedSecretOptions) =>\n client.deriveSharedSecret(options),\n encryptCipherEnvelope: (options: EncryptCipherEnvelopeOptions) =>\n client.buildCipherEnvelope(options),\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) =>\n client.openCipherEnvelope(options),\n ensureAgentKey: (options: EnsureAgentKeyOptions) =>\n ensureAgentEncryptionKey(client, options),\n };\n}\n\nexport async function bootstrapEncryptionOptions(\n client: RegistryBrokerClient,\n options?: ClientEncryptionOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (!options?.autoRegister || options.autoRegister.enabled === false) {\n return null;\n }\n return autoRegisterEncryptionKey(client, options.autoRegister);\n}\n\nexport async function generateEncryptionKeyPair(\n client: RegistryBrokerClient,\n options: GenerateEncryptionKeyPairOptions = {},\n): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n}> {\n client.assertNodeRuntime('generateEncryptionKeyPair');\n\n const keyType = options.keyType ?? 'secp256k1';\n if (keyType !== 'secp256k1') {\n throw new Error('Only secp256k1 key generation is supported currently');\n }\n\n const privateKeyBytes = randomBytes(32);\n const privateKey = Buffer.from(privateKeyBytes).toString('hex');\n const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);\n const publicKey = Buffer.from(publicKeyBytes).toString('hex');\n\n const envVar = options.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n const resolvedPath = options.envPath\n ? path.resolve(options.envPath)\n : undefined;\n\n if (resolvedPath) {\n const fsModule = await getFs();\n\n if (!fsModule) {\n throw new Error(\n 'File system module is not available; cannot write encryption key env file',\n );\n }\n\n const envLine = `${envVar}=${privateKey}`;\n if (fsModule.existsSync(resolvedPath)) {\n const content = fsModule.readFileSync(resolvedPath, 'utf-8');\n const lineRegex = new RegExp(`^${envVar}=.*$`, 'm');\n if (lineRegex.test(content)) {\n if (!options.overwrite) {\n throw new Error(\n `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`,\n );\n }\n const updated = content.replace(lineRegex, envLine);\n fsModule.writeFileSync(resolvedPath, updated);\n } else {\n const needsNewline = !content.endsWith('\\n');\n fsModule.appendFileSync(\n resolvedPath,\n `${needsNewline ? '\\n' : ''}${envLine}\\n`,\n );\n }\n } else {\n fsModule.writeFileSync(resolvedPath, `${envLine}\\n`);\n }\n }\n\n return {\n privateKey,\n publicKey,\n envPath: resolvedPath,\n envVar,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es175.js","sources":["../../src/services/registry-broker/client/chat-history.ts"],"sourcesContent":["import { Buffer } from 'buffer';\nimport type {\n ChatHistoryEntry,\n ChatHistoryFetchOptions,\n ChatHistorySnapshotResponse,\n ChatHistorySnapshotWithDecryptedEntries,\n JsonValue,\n RecipientIdentity,\n} from '../types';\nimport { chatHistorySnapshotResponseSchema } from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nexport interface ConversationContextInput {\n sessionId: string;\n sharedSecret: Uint8Array | Buffer;\n identity?: RecipientIdentity;\n}\n\nexport interface ConversationContextState {\n sessionId: string;\n sharedSecret: Buffer;\n identity?: RecipientIdentity;\n}\n\nfunction identitiesMatch(\n a?: RecipientIdentity,\n b?: RecipientIdentity,\n): boolean {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {\n return true;\n }\n if (\n a.ledgerAccountId &&\n b.ledgerAccountId &&\n a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()\n ) {\n return true;\n }\n if (a.userId && b.userId && a.userId === b.userId) {\n return true;\n }\n if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {\n return true;\n }\n return false;\n}\n\nexport async function fetchHistorySnapshot(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): Promise<ChatHistorySnapshotWithDecryptedEntries> {\n if (!sessionId || sessionId.trim().length === 0) {\n throw new Error('sessionId is required to fetch chat history');\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(sessionId)}/history`,\n {\n method: 'GET',\n },\n );\n const snapshot = client.parseWithSchema(\n raw,\n chatHistorySnapshotResponseSchema,\n 'chat history snapshot response',\n );\n return attachDecryptedHistory(\n conversationContexts,\n client,\n sessionId,\n snapshot,\n options,\n );\n}\n\nexport function attachDecryptedHistory(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n snapshot: ChatHistorySnapshotResponse,\n options?: ChatHistoryFetchOptions,\n): ChatHistorySnapshotWithDecryptedEntries {\n const shouldDecrypt =\n options?.decrypt !== undefined\n ? options.decrypt\n : client.encryptionOptions?.autoDecryptHistory === true;\n if (!shouldDecrypt) {\n return snapshot;\n }\n const requiresContext = snapshot.history.some(entry =>\n Boolean(entry.cipherEnvelope),\n );\n if (!requiresContext) {\n return {\n ...snapshot,\n decryptedHistory: snapshot.history.map(entry => ({\n entry,\n plaintext: entry.content,\n })),\n };\n }\n const context = resolveDecryptionContext(\n conversationContexts,\n client,\n sessionId,\n options,\n );\n if (!context) {\n throw new Error(\n 'Unable to decrypt chat history: encryption context unavailable',\n );\n }\n const decryptedHistory = snapshot.history.map(entry => ({\n entry,\n plaintext: decryptHistoryEntryFromContext(client, entry, context),\n }));\n return { ...snapshot, decryptedHistory };\n}\n\nexport function registerConversationContextForEncryption(\n conversationContexts: Map<string, ConversationContextState[]>,\n context: ConversationContextInput,\n): void {\n const normalized: ConversationContextState = {\n sessionId: context.sessionId,\n sharedSecret: Buffer.from(context.sharedSecret),\n identity: context.identity ? { ...context.identity } : undefined,\n };\n const entries = conversationContexts.get(context.sessionId) ?? [];\n const existingIndex = entries.findIndex(existing =>\n identitiesMatch(existing.identity, normalized.identity),\n );\n if (existingIndex >= 0) {\n entries[existingIndex] = normalized;\n } else {\n entries.push(normalized);\n }\n conversationContexts.set(context.sessionId, entries);\n}\n\nexport function resolveDecryptionContext(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): ConversationContextState | null {\n if (options?.sharedSecret) {\n return {\n sessionId,\n sharedSecret: client.normalizeSharedSecret(options.sharedSecret),\n identity: options.identity,\n };\n }\n const contexts = conversationContexts.get(sessionId);\n if (!contexts || contexts.length === 0) {\n return null;\n }\n if (options?.identity) {\n const match = contexts.find(context =>\n identitiesMatch(context.identity, options.identity),\n );\n if (match) {\n return match;\n }\n }\n return contexts[0];\n}\n\nexport function decryptHistoryEntryFromContext(\n client: RegistryBrokerClient,\n entry: ChatHistoryEntry,\n context: ConversationContextState,\n): string | null {\n const envelope = entry.cipherEnvelope;\n if (!envelope) {\n return entry.content;\n }\n const secret = Buffer.from(context.sharedSecret);\n try {\n return client.encryption.decryptCipherEnvelope({\n envelope,\n sharedSecret: secret,\n });\n } catch (_error) {\n return null;\n }\n}\n"],"names":[],"mappings":";;AAwBA,SAAS,gBACP,GACA,GACS;AACT,MAAI,CAAC,KAAK,CAAC,GAAG;AACZ,WAAO;AAAA,EACT;AACA,MAAI,CAAC,KAAK,CAAC,GAAG;AACZ,WAAO;AAAA,EACT;AACA,MAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAA,GAAe;AACrE,WAAO;AAAA,EACT;AACA,MACE,EAAE,mBACF,EAAE,mBACF,EAAE,gBAAgB,kBAAkB,EAAE,gBAAgB,YAAA,GACtD;AACA,WAAO;AAAA,EACT;AACA,MAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ;AACjD,WAAO;AAAA,EACT;AACA,MAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,EAAE,MAAM,YAAA,GAAe;AACzE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,eAAsB,qBACpB,sBACA,QACA,WACA,SACkD;AAClD,MAAI,CAAC,aAAa,UAAU,KAAA,EAAO,WAAW,GAAG;AAC/C,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AACA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,iBAAiB,mBAAmB,SAAS,CAAC;AAAA,IAC9C;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,QAAM,WAAW,OAAO;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEO,SAAS,uBACd,sBACA,QACA,WACA,UACA,SACyC;AACzC,QAAM,gBACJ,SAAS,YAAY,SACjB,QAAQ,UACR,OAAO,mBAAmB,uBAAuB;AACvD,MAAI,CAAC,eAAe;AAClB,WAAO;AAAA,EACT;AACA,QAAM,kBAAkB,SAAS,QAAQ;AAAA,IAAK,CAAA,UAC5C,QAAQ,MAAM,cAAc;AAAA,EAAA;AAE9B,MAAI,CAAC,iBAAiB;AACpB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,kBAAkB,SAAS,QAAQ,IAAI,CAAA,WAAU;AAAA,QAC/C;AAAA,QACA,WAAW,MAAM;AAAA,MAAA,EACjB;AAAA,IAAA;AAAA,EAEN;AACA,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACA,QAAM,mBAAmB,SAAS,QAAQ,IAAI,CAAA,WAAU;AAAA,IACtD;AAAA,IACA,WAAW,+BAA+B,QAAQ,OAAO,OAAO;AAAA,EAAA,EAChE;AACF,SAAO,EAAE,GAAG,UAAU,iBAAA;AACxB;AAEO,SAAS,yCACd,sBACA,SACM;AACN,QAAM,aAAuC;AAAA,IAC3C,WAAW,QAAQ;AAAA,IACnB,cAAc,OAAO,KAAK,QAAQ,YAAY;AAAA,IAC9C,UAAU,QAAQ,WAAW,EAAE,GAAG,QAAQ,aAAa;AAAA,EAAA;AAEzD,QAAM,UAAU,qBAAqB,IAAI,QAAQ,SAAS,KAAK,CAAA;AAC/D,QAAM,gBAAgB,QAAQ;AAAA,IAAU,CAAA,aACtC,gBAAgB,SAAS,UAAU,WAAW,QAAQ;AAAA,EAAA;AAExD,MAAI,iBAAiB,GAAG;AACtB,YAAQ,aAAa,IAAI;AAAA,EAC3B,OAAO;AACL,YAAQ,KAAK,UAAU;AAAA,EACzB;AACA,uBAAqB,IAAI,QAAQ,WAAW,OAAO;AACrD;AAEO,SAAS,yBACd,sBACA,QACA,WACA,SACiC;AACjC,MAAI,SAAS,cAAc;AACzB,WAAO;AAAA,MACL;AAAA,MACA,cAAc,OAAO,sBAAsB,QAAQ,YAAY;AAAA,MAC/D,UAAU,QAAQ;AAAA,IAAA;AAAA,EAEtB;AACA,QAAM,WAAW,qBAAqB,IAAI,SAAS;AACnD,MAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AACtC,WAAO;AAAA,EACT;AACA,MAAI,SAAS,UAAU;AACrB,UAAM,QAAQ,SAAS;AAAA,MAAK,CAAA,YAC1B,gBAAgB,QAAQ,UAAU,QAAQ,QAAQ;AAAA,IAAA;AAEpD,QAAI,OAAO;AACT,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO,SAAS,CAAC;AACnB;AAEO,SAAS,+BACd,QACA,OACA,SACe;AACf,QAAM,WAAW,MAAM;AACvB,MAAI,CAAC,UAAU;AACb,WAAO,MAAM;AAAA,EACf;AACA,QAAM,SAAS,OAAO,KAAK,QAAQ,YAAY;AAC/C,MAAI;AACF,WAAO,OAAO,WAAW,sBAAsB;AAAA,MAC7C;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;"}