@hashgraphonline/standards-sdk 0.1.159 → 0.1.160

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 (326) hide show
  1. package/dist/cjs/hcs-12/validation/schemas.d.ts +4 -4
  2. package/dist/cjs/hcs-14/index.d.ts +5 -0
  3. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  5. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  6. package/dist/cjs/hcs-14/resolvers/dns.d.ts +3 -0
  7. package/dist/cjs/hcs-14/resolvers/dns.d.ts.map +1 -0
  8. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  10. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts +9 -0
  11. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  12. package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  14. package/dist/cjs/hcs-14/resolvers/types.d.ts +106 -5
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  16. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  20. package/dist/cjs/hcs-14/sdk.d.ts +16 -1
  21. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  22. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  23. package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
  24. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  25. package/dist/cjs/standards-sdk.cjs +2 -2
  26. package/dist/cjs/standards-sdk.cjs.map +1 -1
  27. package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
  28. package/dist/es/hcs-14/index.d.ts +5 -0
  29. package/dist/es/hcs-14/index.d.ts.map +1 -1
  30. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  31. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  32. package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
  33. package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  35. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  36. package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
  37. package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  38. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -1
  39. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  40. package/dist/es/hcs-14/resolvers/types.d.ts +106 -5
  41. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  43. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  45. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  46. package/dist/es/hcs-14/sdk.d.ts +16 -1
  47. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  48. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  49. package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
  50. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  51. package/dist/es/standards-sdk.es.js +96 -83
  52. package/dist/es/standards-sdk.es.js.map +1 -1
  53. package/dist/es/standards-sdk.es100.js +41 -224
  54. package/dist/es/standards-sdk.es100.js.map +1 -1
  55. package/dist/es/standards-sdk.es101.js +249 -97
  56. package/dist/es/standards-sdk.es101.js.map +1 -1
  57. package/dist/es/standards-sdk.es102.js +95 -27
  58. package/dist/es/standards-sdk.es102.js.map +1 -1
  59. package/dist/es/standards-sdk.es103.js +97 -80
  60. package/dist/es/standards-sdk.es103.js.map +1 -1
  61. package/dist/es/standards-sdk.es104.js +29 -30
  62. package/dist/es/standards-sdk.es104.js.map +1 -1
  63. package/dist/es/standards-sdk.es105.js +229 -249
  64. package/dist/es/standards-sdk.es105.js.map +1 -1
  65. package/dist/es/standards-sdk.es106.js +103 -468
  66. package/dist/es/standards-sdk.es106.js.map +1 -1
  67. package/dist/es/standards-sdk.es107.js +32 -103
  68. package/dist/es/standards-sdk.es107.js.map +1 -1
  69. package/dist/es/standards-sdk.es108.js +79 -155
  70. package/dist/es/standards-sdk.es108.js.map +1 -1
  71. package/dist/es/standards-sdk.es109.js +28 -31
  72. package/dist/es/standards-sdk.es109.js.map +1 -1
  73. package/dist/es/standards-sdk.es11.js +1 -1
  74. package/dist/es/standards-sdk.es110.js +250 -10
  75. package/dist/es/standards-sdk.es110.js.map +1 -1
  76. package/dist/es/standards-sdk.es111.js +451 -115
  77. package/dist/es/standards-sdk.es111.js.map +1 -1
  78. package/dist/es/standards-sdk.es112.js +101 -25
  79. package/dist/es/standards-sdk.es112.js.map +1 -1
  80. package/dist/es/standards-sdk.es113.js +155 -17
  81. package/dist/es/standards-sdk.es113.js.map +1 -1
  82. package/dist/es/standards-sdk.es114.js +29 -155
  83. package/dist/es/standards-sdk.es114.js.map +1 -1
  84. package/dist/es/standards-sdk.es115.js +9 -200
  85. package/dist/es/standards-sdk.es115.js.map +1 -1
  86. package/dist/es/standards-sdk.es116.js +109 -757
  87. package/dist/es/standards-sdk.es116.js.map +1 -1
  88. package/dist/es/standards-sdk.es117.js +27 -11
  89. package/dist/es/standards-sdk.es117.js.map +1 -1
  90. package/dist/es/standards-sdk.es118.js +19 -564
  91. package/dist/es/standards-sdk.es118.js.map +1 -1
  92. package/dist/es/standards-sdk.es119.js +140 -582
  93. package/dist/es/standards-sdk.es119.js.map +1 -1
  94. package/dist/es/standards-sdk.es12.js +1 -1
  95. package/dist/es/standards-sdk.es120.js +202 -12
  96. package/dist/es/standards-sdk.es120.js.map +1 -1
  97. package/dist/es/standards-sdk.es121.js +790 -2
  98. package/dist/es/standards-sdk.es121.js.map +1 -1
  99. package/dist/es/standards-sdk.es122.js +10 -84
  100. package/dist/es/standards-sdk.es122.js.map +1 -1
  101. package/dist/es/standards-sdk.es123.js +567 -40
  102. package/dist/es/standards-sdk.es123.js.map +1 -1
  103. package/dist/es/standards-sdk.es124.js +602 -2
  104. package/dist/es/standards-sdk.es124.js.map +1 -1
  105. package/dist/es/standards-sdk.es125.js +12 -234
  106. package/dist/es/standards-sdk.es125.js.map +1 -1
  107. package/dist/es/standards-sdk.es126.js +2 -1140
  108. package/dist/es/standards-sdk.es126.js.map +1 -1
  109. package/dist/es/standards-sdk.es127.js +73 -292
  110. package/dist/es/standards-sdk.es127.js.map +1 -1
  111. package/dist/es/standards-sdk.es128.js +36 -418
  112. package/dist/es/standards-sdk.es128.js.map +1 -1
  113. package/dist/es/standards-sdk.es129.js +2 -355
  114. package/dist/es/standards-sdk.es129.js.map +1 -1
  115. package/dist/es/standards-sdk.es13.js +1 -1
  116. package/dist/es/standards-sdk.es130.js +198 -1079
  117. package/dist/es/standards-sdk.es130.js.map +1 -1
  118. package/dist/es/standards-sdk.es131.js +1107 -175
  119. package/dist/es/standards-sdk.es131.js.map +1 -1
  120. package/dist/es/standards-sdk.es132.js +218 -1479
  121. package/dist/es/standards-sdk.es132.js.map +1 -1
  122. package/dist/es/standards-sdk.es133.js +422 -1236
  123. package/dist/es/standards-sdk.es133.js.map +1 -1
  124. package/dist/es/standards-sdk.es134.js +351 -13
  125. package/dist/es/standards-sdk.es134.js.map +1 -1
  126. package/dist/es/standards-sdk.es135.js +1102 -73
  127. package/dist/es/standards-sdk.es135.js.map +1 -1
  128. package/dist/es/standards-sdk.es136.js +203 -76
  129. package/dist/es/standards-sdk.es136.js.map +1 -1
  130. package/dist/es/standards-sdk.es137.js +1459 -785
  131. package/dist/es/standards-sdk.es137.js.map +1 -1
  132. package/dist/es/standards-sdk.es138.js +1254 -59
  133. package/dist/es/standards-sdk.es138.js.map +1 -1
  134. package/dist/es/standards-sdk.es139.js +14 -156
  135. package/dist/es/standards-sdk.es139.js.map +1 -1
  136. package/dist/es/standards-sdk.es14.js +1 -1
  137. package/dist/es/standards-sdk.es140.js +87 -7
  138. package/dist/es/standards-sdk.es140.js.map +1 -1
  139. package/dist/es/standards-sdk.es141.js +74 -79
  140. package/dist/es/standards-sdk.es141.js.map +1 -1
  141. package/dist/es/standards-sdk.es142.js +889 -61
  142. package/dist/es/standards-sdk.es142.js.map +1 -1
  143. package/dist/es/standards-sdk.es143.js +60 -30
  144. package/dist/es/standards-sdk.es143.js.map +1 -1
  145. package/dist/es/standards-sdk.es144.js +159 -34
  146. package/dist/es/standards-sdk.es144.js.map +1 -1
  147. package/dist/es/standards-sdk.es145.js +7 -28
  148. package/dist/es/standards-sdk.es145.js.map +1 -1
  149. package/dist/es/standards-sdk.es146.js +70 -122
  150. package/dist/es/standards-sdk.es146.js.map +1 -1
  151. package/dist/es/standards-sdk.es147.js +58 -35
  152. package/dist/es/standards-sdk.es147.js.map +1 -1
  153. package/dist/es/standards-sdk.es148.js +30 -12482
  154. package/dist/es/standards-sdk.es148.js.map +1 -1
  155. package/dist/es/standards-sdk.es149.js +34 -242
  156. package/dist/es/standards-sdk.es149.js.map +1 -1
  157. package/dist/es/standards-sdk.es15.js +1 -1
  158. package/dist/es/standards-sdk.es150.js +41 -172
  159. package/dist/es/standards-sdk.es150.js.map +1 -1
  160. package/dist/es/standards-sdk.es151.js +115 -299
  161. package/dist/es/standards-sdk.es151.js.map +1 -1
  162. package/dist/es/standards-sdk.es152.js +36 -340
  163. package/dist/es/standards-sdk.es152.js.map +1 -1
  164. package/dist/es/standards-sdk.es153.js +12427 -398
  165. package/dist/es/standards-sdk.es153.js.map +1 -1
  166. package/dist/es/standards-sdk.es154.js +142 -301
  167. package/dist/es/standards-sdk.es154.js.map +1 -1
  168. package/dist/es/standards-sdk.es155.js +310 -64
  169. package/dist/es/standards-sdk.es155.js.map +1 -1
  170. package/dist/es/standards-sdk.es156.js +342 -13
  171. package/dist/es/standards-sdk.es156.js.map +1 -1
  172. package/dist/es/standards-sdk.es157.js +444 -64
  173. package/dist/es/standards-sdk.es157.js.map +1 -1
  174. package/dist/es/standards-sdk.es158.js +330 -55
  175. package/dist/es/standards-sdk.es158.js.map +1 -1
  176. package/dist/es/standards-sdk.es159.js +60 -68
  177. package/dist/es/standards-sdk.es159.js.map +1 -1
  178. package/dist/es/standards-sdk.es16.js +5 -5
  179. package/dist/es/standards-sdk.es160.js +14 -169
  180. package/dist/es/standards-sdk.es160.js.map +1 -1
  181. package/dist/es/standards-sdk.es161.js +179 -159
  182. package/dist/es/standards-sdk.es161.js.map +1 -1
  183. package/dist/es/standards-sdk.es162.js +49 -232
  184. package/dist/es/standards-sdk.es162.js.map +1 -1
  185. package/dist/es/standards-sdk.es163.js +71 -106
  186. package/dist/es/standards-sdk.es163.js.map +1 -1
  187. package/dist/es/standards-sdk.es164.js +70 -115
  188. package/dist/es/standards-sdk.es164.js.map +1 -1
  189. package/dist/es/standards-sdk.es165.js +60 -148
  190. package/dist/es/standards-sdk.es165.js.map +1 -1
  191. package/dist/es/standards-sdk.es166.js +149 -162
  192. package/dist/es/standards-sdk.es166.js.map +1 -1
  193. package/dist/es/standards-sdk.es167.js +195 -112
  194. package/dist/es/standards-sdk.es167.js.map +1 -1
  195. package/dist/es/standards-sdk.es168.js +208 -300
  196. package/dist/es/standards-sdk.es168.js.map +1 -1
  197. package/dist/es/standards-sdk.es169.js +106 -246
  198. package/dist/es/standards-sdk.es169.js.map +1 -1
  199. package/dist/es/standards-sdk.es170.js +107 -97
  200. package/dist/es/standards-sdk.es170.js.map +1 -1
  201. package/dist/es/standards-sdk.es171.js +164 -0
  202. package/dist/es/standards-sdk.es171.js.map +1 -0
  203. package/dist/es/standards-sdk.es172.js +188 -0
  204. package/dist/es/standards-sdk.es172.js.map +1 -0
  205. package/dist/es/standards-sdk.es173.js +142 -0
  206. package/dist/es/standards-sdk.es173.js.map +1 -0
  207. package/dist/es/standards-sdk.es174.js +334 -0
  208. package/dist/es/standards-sdk.es174.js.map +1 -0
  209. package/dist/es/standards-sdk.es175.js +262 -0
  210. package/dist/es/standards-sdk.es175.js.map +1 -0
  211. package/dist/es/standards-sdk.es176.js +119 -0
  212. package/dist/es/standards-sdk.es176.js.map +1 -0
  213. package/dist/es/standards-sdk.es18.js +12 -12
  214. package/dist/es/standards-sdk.es19.js +9 -9
  215. package/dist/es/standards-sdk.es2.js +2 -2
  216. package/dist/es/standards-sdk.es20.js +1 -1
  217. package/dist/es/standards-sdk.es21.js +1 -1
  218. package/dist/es/standards-sdk.es22.js +1 -1
  219. package/dist/es/standards-sdk.es23.js +1 -1
  220. package/dist/es/standards-sdk.es24.js +1 -1
  221. package/dist/es/standards-sdk.es25.js +1 -1
  222. package/dist/es/standards-sdk.es26.js +1 -1
  223. package/dist/es/standards-sdk.es27.js +12 -12
  224. package/dist/es/standards-sdk.es30.js +2 -2
  225. package/dist/es/standards-sdk.es31.js +4 -4
  226. package/dist/es/standards-sdk.es32.js +1 -1
  227. package/dist/es/standards-sdk.es35.js +6 -6
  228. package/dist/es/standards-sdk.es36.js +4 -4
  229. package/dist/es/standards-sdk.es37.js +2 -2
  230. package/dist/es/standards-sdk.es38.js +2 -2
  231. package/dist/es/standards-sdk.es39.js +1 -1
  232. package/dist/es/standards-sdk.es4.js +2 -2
  233. package/dist/es/standards-sdk.es40.js +1 -1
  234. package/dist/es/standards-sdk.es41.js +2 -2
  235. package/dist/es/standards-sdk.es46.js +1 -1
  236. package/dist/es/standards-sdk.es5.js +2 -2
  237. package/dist/es/standards-sdk.es51.js +1 -1
  238. package/dist/es/standards-sdk.es53.js +1 -1
  239. package/dist/es/standards-sdk.es56.js +2 -2
  240. package/dist/es/standards-sdk.es58.js +194 -13
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +1 -1
  243. package/dist/es/standards-sdk.es6.js +2 -2
  244. package/dist/es/standards-sdk.es60.js +100 -192
  245. package/dist/es/standards-sdk.es60.js.map +1 -1
  246. package/dist/es/standards-sdk.es61.js +172 -24
  247. package/dist/es/standards-sdk.es61.js.map +1 -1
  248. package/dist/es/standards-sdk.es62.js +204 -77
  249. package/dist/es/standards-sdk.es62.js.map +1 -1
  250. package/dist/es/standards-sdk.es63.js +130 -3
  251. package/dist/es/standards-sdk.es63.js.map +1 -1
  252. package/dist/es/standards-sdk.es64.js +41 -95
  253. package/dist/es/standards-sdk.es64.js.map +1 -1
  254. package/dist/es/standards-sdk.es65.js +245 -88
  255. package/dist/es/standards-sdk.es65.js.map +1 -1
  256. package/dist/es/standards-sdk.es66.js +32 -17
  257. package/dist/es/standards-sdk.es66.js.map +1 -1
  258. package/dist/es/standards-sdk.es67.js +96 -77
  259. package/dist/es/standards-sdk.es67.js.map +1 -1
  260. package/dist/es/standards-sdk.es68.js +4 -458
  261. package/dist/es/standards-sdk.es68.js.map +1 -1
  262. package/dist/es/standards-sdk.es69.js +72 -295
  263. package/dist/es/standards-sdk.es69.js.map +1 -1
  264. package/dist/es/standards-sdk.es7.js +1 -1
  265. package/dist/es/standards-sdk.es70.js +86 -194
  266. package/dist/es/standards-sdk.es70.js.map +1 -1
  267. package/dist/es/standards-sdk.es71.js +16 -69
  268. package/dist/es/standards-sdk.es71.js.map +1 -1
  269. package/dist/es/standards-sdk.es72.js +69 -63
  270. package/dist/es/standards-sdk.es72.js.map +1 -1
  271. package/dist/es/standards-sdk.es73.js +458 -143
  272. package/dist/es/standards-sdk.es73.js.map +1 -1
  273. package/dist/es/standards-sdk.es74.js +298 -43
  274. package/dist/es/standards-sdk.es74.js.map +1 -1
  275. package/dist/es/standards-sdk.es75.js +174 -370
  276. package/dist/es/standards-sdk.es75.js.map +1 -1
  277. package/dist/es/standards-sdk.es76.js +71 -495
  278. package/dist/es/standards-sdk.es76.js.map +1 -1
  279. package/dist/es/standards-sdk.es77.js +71 -365
  280. package/dist/es/standards-sdk.es77.js.map +1 -1
  281. package/dist/es/standards-sdk.es78.js +137 -83
  282. package/dist/es/standards-sdk.es78.js.map +1 -1
  283. package/dist/es/standards-sdk.es79.js +69 -125
  284. package/dist/es/standards-sdk.es79.js.map +1 -1
  285. package/dist/es/standards-sdk.es80.js +402 -6
  286. package/dist/es/standards-sdk.es80.js.map +1 -1
  287. package/dist/es/standards-sdk.es81.js +492 -43
  288. package/dist/es/standards-sdk.es81.js.map +1 -1
  289. package/dist/es/standards-sdk.es82.js +350 -86
  290. package/dist/es/standards-sdk.es82.js.map +1 -1
  291. package/dist/es/standards-sdk.es83.js +88 -347
  292. package/dist/es/standards-sdk.es83.js.map +1 -1
  293. package/dist/es/standards-sdk.es84.js +125 -281
  294. package/dist/es/standards-sdk.es84.js.map +1 -1
  295. package/dist/es/standards-sdk.es85.js +6 -59
  296. package/dist/es/standards-sdk.es85.js.map +1 -1
  297. package/dist/es/standards-sdk.es86.js +43 -45
  298. package/dist/es/standards-sdk.es86.js.map +1 -1
  299. package/dist/es/standards-sdk.es87.js +86 -135
  300. package/dist/es/standards-sdk.es87.js.map +1 -1
  301. package/dist/es/standards-sdk.es88.js +333 -52
  302. package/dist/es/standards-sdk.es88.js.map +1 -1
  303. package/dist/es/standards-sdk.es89.js +277 -26
  304. package/dist/es/standards-sdk.es89.js.map +1 -1
  305. package/dist/es/standards-sdk.es9.js +2 -2
  306. package/dist/es/standards-sdk.es90.js +59 -23
  307. package/dist/es/standards-sdk.es90.js.map +1 -1
  308. package/dist/es/standards-sdk.es91.js +26 -217
  309. package/dist/es/standards-sdk.es91.js.map +1 -1
  310. package/dist/es/standards-sdk.es92.js +104 -236
  311. package/dist/es/standards-sdk.es92.js.map +1 -1
  312. package/dist/es/standards-sdk.es93.js +51 -141
  313. package/dist/es/standards-sdk.es93.js.map +1 -1
  314. package/dist/es/standards-sdk.es94.js +22 -137
  315. package/dist/es/standards-sdk.es94.js.map +1 -1
  316. package/dist/es/standards-sdk.es95.js +20 -44
  317. package/dist/es/standards-sdk.es95.js.map +1 -1
  318. package/dist/es/standards-sdk.es96.js +227 -252
  319. package/dist/es/standards-sdk.es96.js.map +1 -1
  320. package/dist/es/standards-sdk.es97.js +248 -68
  321. package/dist/es/standards-sdk.es97.js.map +1 -1
  322. package/dist/es/standards-sdk.es98.js +108 -52
  323. package/dist/es/standards-sdk.es98.js.map +1 -1
  324. package/dist/es/standards-sdk.es99.js +144 -29
  325. package/dist/es/standards-sdk.es99.js.map +1 -1
  326. package/package.json +13 -3
@@ -1,334 +1,242 @@
1
- import { createSessionResponseSchema, chatHistoryCompactionResponseSchema, sessionEncryptionStatusResponseSchema, encryptionHandshakeResponseSchema, sendMessageResponseSchema } from "./standards-sdk.es133.js";
2
- import { serialiseAuthConfig, toJsonObject } from "./standards-sdk.es162.js";
3
- import { EncryptionUnavailableError } from "./standards-sdk.es169.js";
4
- function createChatApi(client, encryptedManager) {
5
- return {
6
- start: (options) => client.startChat(options),
7
- createSession: (payload) => client.createSession(payload),
8
- sendMessage: (payload) => client.sendMessage(payload),
9
- endSession: (sessionId) => client.endSession(sessionId),
10
- getHistory: (sessionId, options) => client.fetchHistorySnapshot(sessionId, options),
11
- compactHistory: (payload) => client.compactHistory(payload),
12
- getEncryptionStatus: (sessionId) => client.fetchEncryptionStatus(sessionId),
13
- submitEncryptionHandshake: (sessionId, payload) => client.postEncryptionHandshake(sessionId, payload),
14
- startConversation: (options) => client.startConversation(options),
15
- acceptConversation: (options) => client.acceptConversation(options),
16
- createEncryptedSession: (options) => encryptedManager.startSession(options),
17
- acceptEncryptedSession: (options) => encryptedManager.acceptSession(options)
18
- };
19
- }
20
- async function createSession(client, payload, allowHistoryAutoTopUp = true) {
21
- const body = {};
22
- if ("uaid" in payload && payload.uaid) {
23
- body.uaid = payload.uaid;
1
+ const DEFAULT_USER_AGENT = "@hol-org/rb-client";
2
+ const DEFAULT_PROGRESS_INTERVAL_MS = 1500;
3
+ const DEFAULT_PROGRESS_TIMEOUT_MS = 5 * 60 * 1e3;
4
+ const DEFAULT_BASE_URL = "https://hol.org/registry/api/v1";
5
+ const JSON_CONTENT_TYPE = /application\/json/i;
6
+ const DEFAULT_HISTORY_TOP_UP_HBAR = 0.25;
7
+ const MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS = 1;
8
+ const stripTrailingSlashes = (value) => {
9
+ let end = value.length;
10
+ while (end > 0 && value.charCodeAt(end - 1) === 47) {
11
+ end -= 1;
12
+ }
13
+ return end === value.length ? value : value.slice(0, end);
14
+ };
15
+ const createAbortError = () => typeof DOMException === "function" ? new DOMException("Aborted", "AbortError") : new Error("The operation was aborted");
16
+ const normaliseHeaderName = (name) => name.trim().toLowerCase();
17
+ const isBrowserRuntime = () => typeof window !== "undefined" && typeof window.fetch === "function";
18
+ const toJsonValue = (value) => {
19
+ if (value === null) {
20
+ return null;
21
+ }
22
+ if (value instanceof Date) {
23
+ return value.toISOString();
24
+ }
25
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
26
+ return value;
27
+ }
28
+ if (Array.isArray(value)) {
29
+ return value.map((item) => item === void 0 ? null : toJsonValue(item));
30
+ }
31
+ if (typeof value === "object") {
32
+ const result = {};
33
+ Object.entries(value).forEach(
34
+ ([key, entryValue]) => {
35
+ if (entryValue !== void 0) {
36
+ result[key] = toJsonValue(entryValue);
37
+ }
38
+ }
39
+ );
40
+ return result;
24
41
  }
25
- if ("agentUrl" in payload && payload.agentUrl) {
26
- body.agentUrl = payload.agentUrl;
42
+ throw new TypeError("Only JSON-compatible values are supported");
43
+ };
44
+ const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
45
+ const toJsonObject = (value) => {
46
+ const normalised = toJsonValue(value);
47
+ if (isJsonObject(normalised)) {
48
+ return normalised;
27
49
  }
28
- if (payload.auth) {
29
- body.auth = serialiseAuthConfig(payload.auth);
50
+ throw new TypeError("Expected JSON object value");
51
+ };
52
+ const serialiseAuthConfig = (auth) => {
53
+ const authPayload = {};
54
+ if (auth.type) {
55
+ authPayload.type = auth.type;
30
56
  }
31
- if (payload.historyTtlSeconds !== void 0) {
32
- body.historyTtlSeconds = payload.historyTtlSeconds;
57
+ if (auth.token) {
58
+ authPayload.token = auth.token;
33
59
  }
34
- if (payload.encryptionRequested !== void 0) {
35
- body.encryptionRequested = payload.encryptionRequested;
60
+ if (auth.username) {
61
+ authPayload.username = auth.username;
36
62
  }
37
- if (payload.senderUaid) {
38
- body.senderUaid = payload.senderUaid;
63
+ if (auth.password) {
64
+ authPayload.password = auth.password;
39
65
  }
40
- try {
41
- const raw = await client.requestJson("/chat/session", {
42
- method: "POST",
43
- body,
44
- headers: { "content-type": "application/json" }
45
- });
46
- return client.parseWithSchema(
47
- raw,
48
- createSessionResponseSchema,
49
- "chat session response"
50
- );
51
- } catch (error) {
52
- const maybeError = error instanceof Error ? error : null;
53
- if (allowHistoryAutoTopUp && client.shouldAutoTopUpHistory(payload, maybeError)) {
54
- await client.executeHistoryAutoTopUp("chat.session");
55
- return createSession(client, payload, false);
56
- }
57
- throw error;
66
+ if (auth.headerName) {
67
+ authPayload.headerName = auth.headerName;
58
68
  }
59
- }
60
- async function startChat(client, encryptedManager, options) {
61
- if ("uaid" in options && options.uaid) {
62
- return startConversation(client, encryptedManager, {
63
- uaid: options.uaid,
64
- senderUaid: options.senderUaid,
65
- historyTtlSeconds: options.historyTtlSeconds,
66
- auth: options.auth,
67
- encryption: options.encryption,
68
- onSessionCreated: options.onSessionCreated
69
- });
69
+ if (auth.headerValue) {
70
+ authPayload.headerValue = auth.headerValue;
70
71
  }
71
- if ("agentUrl" in options && options.agentUrl) {
72
- const session = await createSession(client, {
73
- agentUrl: options.agentUrl,
74
- auth: options.auth,
75
- historyTtlSeconds: options.historyTtlSeconds,
76
- senderUaid: options.senderUaid
77
- });
78
- options.onSessionCreated?.(session.sessionId);
79
- return createPlaintextConversationHandle(
80
- client,
81
- session.sessionId,
82
- session.encryption ?? null,
83
- options.auth,
84
- { agentUrl: options.agentUrl, uaid: options.uaid }
85
- );
72
+ if (auth.headers) {
73
+ authPayload.headers = { ...auth.headers };
86
74
  }
87
- throw new Error("startChat requires either uaid or agentUrl");
88
- }
89
- async function startConversation(client, encryptedManager, options) {
90
- const preference = options.encryption?.preference ?? "preferred";
91
- const requestEncryption = preference !== "disabled";
92
- if (!requestEncryption) {
93
- const session = await createSession(client, {
94
- uaid: options.uaid,
95
- auth: options.auth,
96
- historyTtlSeconds: options.historyTtlSeconds,
97
- senderUaid: options.senderUaid,
98
- encryptionRequested: false
99
- });
100
- options.onSessionCreated?.(session.sessionId);
101
- return createPlaintextConversationHandle(
102
- client,
103
- session.sessionId,
104
- session.encryption ?? null,
105
- options.auth,
106
- { uaid: options.uaid }
107
- );
75
+ return authPayload;
76
+ };
77
+ const serialiseAgentRegistrationRequest = (payload) => {
78
+ const body = {
79
+ profile: toJsonObject(payload.profile)
80
+ };
81
+ if (payload.endpoint !== void 0) {
82
+ body.endpoint = payload.endpoint;
83
+ }
84
+ if (payload.protocol !== void 0) {
85
+ body.protocol = payload.protocol;
86
+ }
87
+ if (payload.communicationProtocol !== void 0) {
88
+ body.communicationProtocol = payload.communicationProtocol;
89
+ }
90
+ if (payload.registry !== void 0) {
91
+ body.registry = payload.registry;
92
+ }
93
+ if (payload.additionalRegistries !== void 0) {
94
+ body.additionalRegistries = payload.additionalRegistries;
95
+ }
96
+ if (payload.metadata !== void 0) {
97
+ body.metadata = toJsonObject(payload.metadata);
98
+ }
99
+ return body;
100
+ };
101
+ const normalizeHexPrivateKey = (value) => {
102
+ const trimmed = value.trim();
103
+ if (!trimmed) {
104
+ throw new Error("evmPrivateKey is required");
108
105
  }
106
+ return trimmed.startsWith("0x") ? trimmed : `0x${trimmed}`;
107
+ };
108
+ function normaliseBaseUrl(input) {
109
+ const trimmed = input?.trim();
110
+ let baseCandidate = trimmed && trimmed.length > 0 ? trimmed : DEFAULT_BASE_URL;
109
111
  try {
110
- const handle = await encryptedManager.startSession({
111
- uaid: options.uaid,
112
- senderUaid: options.senderUaid,
113
- historyTtlSeconds: options.historyTtlSeconds,
114
- handshakeTimeoutMs: options.encryption?.handshakeTimeoutMs,
115
- pollIntervalMs: options.encryption?.pollIntervalMs,
116
- onSessionCreated: (sessionId) => {
117
- options.onSessionCreated?.(sessionId);
118
- },
119
- auth: options.auth
120
- });
121
- return handle;
122
- } catch (error) {
123
- if (error instanceof EncryptionUnavailableError) {
124
- if (preference === "required") {
125
- throw error;
112
+ const url = new URL(stripTrailingSlashes(baseCandidate));
113
+ const hostname = url.hostname.toLowerCase();
114
+ const ensureRegistryPrefix = () => {
115
+ if (!url.pathname.startsWith("/registry")) {
116
+ url.pathname = url.pathname === "/" ? "/registry" : `/registry${url.pathname}`;
126
117
  }
127
- return createPlaintextConversationHandle(
128
- client,
129
- error.sessionId,
130
- error.summary ?? null,
131
- options.auth,
132
- { uaid: options.uaid }
133
- );
118
+ };
119
+ if (hostname === "hol.org") {
120
+ ensureRegistryPrefix();
121
+ baseCandidate = url.toString();
122
+ } else if (hostname === "registry.hashgraphonline.com" || hostname === "hashgraphonline.com") {
123
+ ensureRegistryPrefix();
124
+ url.hostname = "hol.org";
125
+ baseCandidate = url.toString();
134
126
  }
135
- throw error;
127
+ } catch {
136
128
  }
137
- }
138
- async function acceptConversation(client, encryptedManager, options) {
139
- const preference = options.encryption?.preference ?? "preferred";
140
- if (preference === "disabled") {
141
- return createPlaintextConversationHandle(client, options.sessionId, null);
129
+ const withoutTrailing = stripTrailingSlashes(baseCandidate);
130
+ if (/\/api\/v\d+$/i.test(withoutTrailing)) {
131
+ return withoutTrailing;
142
132
  }
143
- try {
144
- const handle = await encryptedManager.acceptSession({
145
- sessionId: options.sessionId,
146
- responderUaid: options.responderUaid,
147
- handshakeTimeoutMs: options.encryption?.handshakeTimeoutMs,
148
- pollIntervalMs: options.encryption?.pollIntervalMs
149
- });
150
- return handle;
151
- } catch (error) {
152
- if (error instanceof EncryptionUnavailableError && preference !== "required") {
153
- return createPlaintextConversationHandle(
154
- client,
155
- options.sessionId,
156
- null,
157
- void 0,
158
- { uaid: options.responderUaid }
159
- );
160
- }
161
- throw error;
133
+ if (/\/api$/i.test(withoutTrailing)) {
134
+ return `${withoutTrailing}/v1`;
162
135
  }
136
+ return `${withoutTrailing}/api/v1`;
163
137
  }
164
- function createPlaintextConversationHandle(client, sessionId, summary, defaultAuth, context) {
165
- const uaid = context?.uaid?.trim();
166
- const agentUrl = context?.agentUrl?.trim();
167
- const fetchHistory = async (options) => {
168
- const snapshot = await client.fetchHistorySnapshot(sessionId, options);
169
- if (snapshot.decryptedHistory) {
170
- return snapshot.decryptedHistory;
138
+ function buildSearchQuery(params) {
139
+ const query = new URLSearchParams();
140
+ const appendList = (key, values) => {
141
+ if (!values) {
142
+ return;
171
143
  }
172
- return snapshot.history.map((entry) => ({
173
- entry,
174
- plaintext: entry.content
175
- }));
176
- };
177
- return {
178
- sessionId,
179
- mode: "plaintext",
180
- summary: summary ?? null,
181
- send: async (options) => {
182
- const plaintext = options.plaintext;
183
- if (!plaintext || plaintext.trim().length === 0) {
184
- throw new Error("plaintext is required for chat messages");
144
+ values.forEach((value) => {
145
+ if (typeof value === "string") {
146
+ const trimmed = value.trim();
147
+ if (trimmed.length > 0) {
148
+ query.append(key, trimmed);
149
+ }
185
150
  }
186
- const message = options.message ?? plaintext;
187
- return sendMessage(client, {
188
- sessionId,
189
- message,
190
- streaming: options.streaming,
191
- auth: options.auth ?? defaultAuth,
192
- uaid,
193
- agentUrl
194
- });
195
- },
196
- decryptHistoryEntry: (entry) => entry.content,
197
- fetchHistory
151
+ });
198
152
  };
199
- }
200
- async function compactHistory(client, payload) {
201
- if (!payload.sessionId || payload.sessionId.trim().length === 0) {
202
- throw new Error("sessionId is required to compact chat history");
203
- }
204
- const body = {};
205
- if (typeof payload.preserveEntries === "number" && Number.isFinite(payload.preserveEntries) && payload.preserveEntries >= 0) {
206
- body.preserveEntries = Math.floor(payload.preserveEntries);
207
- }
208
- const raw = await client.requestJson(
209
- `/chat/session/${encodeURIComponent(payload.sessionId)}/compact`,
210
- {
211
- method: "POST",
212
- headers: { "content-type": "application/json" },
213
- body
153
+ if (params.q) {
154
+ const trimmed = params.q.trim();
155
+ if (trimmed.length > 0) {
156
+ query.set("q", trimmed);
214
157
  }
215
- );
216
- return client.parseWithSchema(
217
- raw,
218
- chatHistoryCompactionResponseSchema,
219
- "chat history compaction response"
220
- );
221
- }
222
- async function fetchEncryptionStatus(client, sessionId) {
223
- if (!sessionId || sessionId.trim().length === 0) {
224
- throw new Error("sessionId is required for encryption status");
225
- }
226
- const raw = await client.requestJson(
227
- `/chat/session/${encodeURIComponent(sessionId)}/encryption`,
228
- {
229
- method: "GET"
230
- }
231
- );
232
- return client.parseWithSchema(
233
- raw,
234
- sessionEncryptionStatusResponseSchema,
235
- "session encryption status response"
236
- );
237
- }
238
- async function postEncryptionHandshake(client, sessionId, payload) {
239
- if (!sessionId || sessionId.trim().length === 0) {
240
- throw new Error("sessionId is required for encryption handshake");
241
- }
242
- const raw = await client.requestJson(
243
- `/chat/session/${encodeURIComponent(sessionId)}/encryption-handshake`,
244
- {
245
- method: "POST",
246
- headers: { "content-type": "application/json" },
247
- body: {
248
- role: payload.role,
249
- keyType: payload.keyType,
250
- ephemeralPublicKey: payload.ephemeralPublicKey,
251
- longTermPublicKey: payload.longTermPublicKey,
252
- signature: payload.signature,
253
- uaid: payload.uaid,
254
- userId: payload.userId,
255
- ledgerAccountId: payload.ledgerAccountId,
256
- metadata: payload.metadata
257
- }
158
+ }
159
+ if (typeof params.page === "number") {
160
+ query.set("page", params.page.toString());
161
+ }
162
+ if (typeof params.limit === "number") {
163
+ query.set("limit", params.limit.toString());
164
+ }
165
+ if (params.registry) {
166
+ const trimmed = params.registry.trim();
167
+ if (trimmed.length > 0) {
168
+ query.set("registry", trimmed);
258
169
  }
259
- );
260
- const response = client.parseWithSchema(
261
- raw,
262
- encryptionHandshakeResponseSchema,
263
- "encryption handshake response"
264
- );
265
- return response.handshake;
266
- }
267
- async function sendMessage(client, payload) {
268
- const body = {
269
- message: payload.message
270
- };
271
- if (payload.streaming !== void 0) {
272
- body.streaming = payload.streaming;
273
170
  }
274
- if (payload.auth) {
275
- body.auth = serialiseAuthConfig(payload.auth);
171
+ appendList("registries", params.registries);
172
+ if (typeof params.minTrust === "number") {
173
+ query.set("minTrust", params.minTrust.toString());
174
+ }
175
+ appendList("capabilities", params.capabilities);
176
+ appendList("protocols", params.protocols);
177
+ appendList("adapters", params.adapters);
178
+ if (params.metadata) {
179
+ Object.entries(params.metadata).forEach(([key, values]) => {
180
+ if (!key || !Array.isArray(values) || values.length === 0) {
181
+ return;
182
+ }
183
+ const trimmedKey = key.trim();
184
+ if (trimmedKey.length === 0) {
185
+ return;
186
+ }
187
+ values.forEach((value) => {
188
+ if (value === void 0 || value === null) {
189
+ return;
190
+ }
191
+ query.append(`metadata.${trimmedKey}`, String(value));
192
+ });
193
+ });
276
194
  }
277
- if ("uaid" in payload) {
278
- body.uaid = payload.uaid;
195
+ if (params.type) {
196
+ const trimmedType = params.type.trim();
197
+ if (trimmedType.length > 0 && trimmedType.toLowerCase() !== "all") {
198
+ query.set("type", trimmedType);
199
+ }
279
200
  }
280
- if ("sessionId" in payload && payload.sessionId) {
281
- body.sessionId = payload.sessionId;
201
+ if (params.verified === true) {
202
+ query.set("verified", "true");
282
203
  }
283
- if ("agentUrl" in payload && payload.agentUrl) {
284
- body.agentUrl = payload.agentUrl;
204
+ if (params.online === true) {
205
+ query.set("online", "true");
285
206
  }
286
- let cipherEnvelope = payload.cipherEnvelope ?? null;
287
- if (payload.encryption) {
288
- const sessionIdForEncryption = payload.encryption.sessionId ?? (typeof body.sessionId === "string" ? body.sessionId : void 0);
289
- if (!sessionIdForEncryption) {
290
- throw new Error(
291
- "sessionId is required when using encrypted chat payloads"
292
- );
207
+ if (params.sortBy) {
208
+ const trimmedSort = params.sortBy.trim();
209
+ if (trimmedSort.length > 0) {
210
+ query.set("sortBy", trimmedSort);
293
211
  }
294
- if (!payload.encryption.recipients?.length) {
295
- throw new Error("recipients are required for encrypted chat payloads");
212
+ }
213
+ if (params.sortOrder) {
214
+ const lowered = params.sortOrder.toLowerCase();
215
+ if (lowered === "asc" || lowered === "desc") {
216
+ query.set("sortOrder", lowered);
296
217
  }
297
- cipherEnvelope = client.encryption.encryptCipherEnvelope({
298
- ...payload.encryption,
299
- sessionId: sessionIdForEncryption
300
- });
301
218
  }
302
- if (cipherEnvelope) {
303
- body.cipherEnvelope = toJsonObject(cipherEnvelope);
304
- }
305
- const raw = await client.requestJson("/chat/message", {
306
- method: "POST",
307
- body,
308
- headers: { "content-type": "application/json" }
309
- });
310
- return client.parseWithSchema(
311
- raw,
312
- sendMessageResponseSchema,
313
- "chat message response"
314
- );
315
- }
316
- async function endSession(client, sessionId) {
317
- await client.request(`/chat/session/${encodeURIComponent(sessionId)}`, {
318
- method: "DELETE"
319
- });
219
+ const queryString = query.toString();
220
+ return queryString.length > 0 ? `?${queryString}` : "";
320
221
  }
321
222
  export {
322
- acceptConversation,
323
- compactHistory,
324
- createChatApi,
325
- createPlaintextConversationHandle,
326
- createSession,
327
- endSession,
328
- fetchEncryptionStatus,
329
- postEncryptionHandshake,
330
- sendMessage,
331
- startChat,
332
- startConversation
223
+ DEFAULT_BASE_URL,
224
+ DEFAULT_HISTORY_TOP_UP_HBAR,
225
+ DEFAULT_PROGRESS_INTERVAL_MS,
226
+ DEFAULT_PROGRESS_TIMEOUT_MS,
227
+ DEFAULT_USER_AGENT,
228
+ JSON_CONTENT_TYPE,
229
+ MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS,
230
+ buildSearchQuery,
231
+ createAbortError,
232
+ isBrowserRuntime,
233
+ isJsonObject,
234
+ normaliseBaseUrl,
235
+ normaliseHeaderName,
236
+ normalizeHexPrivateKey,
237
+ serialiseAgentRegistrationRequest,
238
+ serialiseAuthConfig,
239
+ toJsonObject,
240
+ toJsonValue
333
241
  };
334
242
  //# sourceMappingURL=standards-sdk.es168.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/services/registry-broker/client/chat.ts"],"sourcesContent":["import type {\n AcceptConversationOptions,\n AcceptEncryptedChatSessionOptions,\n AgentAuthConfig,\n ChatConversationHandle,\n DecryptedHistoryEntry,\n ChatHistoryCompactionResponse,\n ChatHistoryFetchOptions,\n ChatHistorySnapshotWithDecryptedEntries,\n CompactHistoryRequestPayload,\n CreateSessionRequestPayload,\n CreateSessionResponse,\n EncryptionHandshakeRecord,\n EncryptionHandshakeSubmissionPayload,\n EncryptedChatSessionHandle,\n JsonObject,\n JsonValue,\n SendMessageRequestPayload,\n SendMessageResponse,\n SessionEncryptionStatusResponse,\n SessionEncryptionSummary,\n StartChatOptions,\n StartConversationOptions,\n StartEncryptedChatSessionOptions,\n} from '../types';\nimport {\n chatHistoryCompactionResponseSchema,\n createSessionResponseSchema,\n encryptionHandshakeResponseSchema,\n sendMessageResponseSchema,\n sessionEncryptionStatusResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { serialiseAuthConfig, toJsonObject } from './utils';\nimport {\n EncryptedChatManager,\n EncryptionUnavailableError,\n} from './encrypted-chat-manager';\n\nexport interface RegistryBrokerChatApi {\n start: (options: StartChatOptions) => Promise<ChatConversationHandle>;\n createSession: (\n payload: CreateSessionRequestPayload,\n ) => Promise<CreateSessionResponse>;\n sendMessage: (\n payload: SendMessageRequestPayload,\n ) => Promise<SendMessageResponse>;\n endSession: (sessionId: string) => Promise<void>;\n getHistory: (\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n ) => Promise<ChatHistorySnapshotWithDecryptedEntries>;\n compactHistory: (\n payload: CompactHistoryRequestPayload,\n ) => Promise<ChatHistoryCompactionResponse>;\n getEncryptionStatus: (\n sessionId: string,\n ) => Promise<SessionEncryptionStatusResponse>;\n submitEncryptionHandshake: (\n sessionId: string,\n payload: EncryptionHandshakeSubmissionPayload,\n ) => Promise<EncryptionHandshakeRecord>;\n createEncryptedSession: (\n options: StartEncryptedChatSessionOptions,\n ) => Promise<EncryptedChatSessionHandle>;\n acceptEncryptedSession: (\n options: AcceptEncryptedChatSessionOptions,\n ) => Promise<EncryptedChatSessionHandle>;\n startConversation: (\n options: StartConversationOptions,\n ) => Promise<ChatConversationHandle>;\n acceptConversation: (\n options: AcceptConversationOptions,\n ) => Promise<ChatConversationHandle>;\n}\n\nexport function createChatApi(\n client: RegistryBrokerClient,\n encryptedManager: EncryptedChatManager,\n): RegistryBrokerChatApi {\n return {\n start: (options: StartChatOptions) => client.startChat(options),\n createSession: (payload: CreateSessionRequestPayload) =>\n client.createSession(payload),\n sendMessage: (payload: SendMessageRequestPayload) =>\n client.sendMessage(payload),\n endSession: (sessionId: string) => client.endSession(sessionId),\n getHistory: (sessionId: string, options?: ChatHistoryFetchOptions) =>\n client.fetchHistorySnapshot(sessionId, options),\n compactHistory: (payload: CompactHistoryRequestPayload) =>\n client.compactHistory(payload),\n getEncryptionStatus: (sessionId: string) =>\n client.fetchEncryptionStatus(sessionId),\n submitEncryptionHandshake: (\n sessionId: string,\n payload: EncryptionHandshakeSubmissionPayload,\n ) => client.postEncryptionHandshake(sessionId, payload),\n startConversation: (options: StartConversationOptions) =>\n client.startConversation(options),\n acceptConversation: (options: AcceptConversationOptions) =>\n client.acceptConversation(options),\n createEncryptedSession: (options: StartEncryptedChatSessionOptions) =>\n encryptedManager.startSession(options),\n acceptEncryptedSession: (options: AcceptEncryptedChatSessionOptions) =>\n encryptedManager.acceptSession(options),\n };\n}\n\nexport async function createSession(\n client: RegistryBrokerClient,\n payload: CreateSessionRequestPayload,\n allowHistoryAutoTopUp = true,\n): Promise<CreateSessionResponse> {\n const body: JsonObject = {};\n if ('uaid' in payload && payload.uaid) {\n body.uaid = payload.uaid;\n }\n if ('agentUrl' in payload && payload.agentUrl) {\n body.agentUrl = payload.agentUrl;\n }\n if (payload.auth) {\n body.auth = serialiseAuthConfig(payload.auth);\n }\n if (payload.historyTtlSeconds !== undefined) {\n body.historyTtlSeconds = payload.historyTtlSeconds;\n }\n if (payload.encryptionRequested !== undefined) {\n body.encryptionRequested = payload.encryptionRequested;\n }\n if (payload.senderUaid) {\n body.senderUaid = payload.senderUaid;\n }\n try {\n const raw = await client.requestJson<JsonValue>('/chat/session', {\n method: 'POST',\n body,\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n createSessionResponseSchema,\n 'chat session response',\n );\n } catch (error) {\n const maybeError = error instanceof Error ? error : null;\n if (\n allowHistoryAutoTopUp &&\n client.shouldAutoTopUpHistory(payload, maybeError)\n ) {\n await client.executeHistoryAutoTopUp('chat.session');\n return createSession(client, payload, false);\n }\n throw error;\n }\n}\n\nexport async function startChat(\n client: RegistryBrokerClient,\n encryptedManager: EncryptedChatManager,\n options: StartChatOptions,\n): Promise<ChatConversationHandle> {\n if ('uaid' in options && options.uaid) {\n return startConversation(client, encryptedManager, {\n uaid: options.uaid,\n senderUaid: options.senderUaid,\n historyTtlSeconds: options.historyTtlSeconds,\n auth: options.auth,\n encryption: options.encryption,\n onSessionCreated: options.onSessionCreated,\n });\n }\n if ('agentUrl' in options && options.agentUrl) {\n const session = await createSession(client, {\n agentUrl: options.agentUrl,\n auth: options.auth,\n historyTtlSeconds: options.historyTtlSeconds,\n senderUaid: options.senderUaid,\n });\n options.onSessionCreated?.(session.sessionId);\n return createPlaintextConversationHandle(\n client,\n session.sessionId,\n session.encryption ?? null,\n options.auth,\n { agentUrl: options.agentUrl, uaid: options.uaid },\n );\n }\n throw new Error('startChat requires either uaid or agentUrl');\n}\n\nexport async function startConversation(\n client: RegistryBrokerClient,\n encryptedManager: EncryptedChatManager,\n options: StartConversationOptions,\n): Promise<ChatConversationHandle> {\n const preference = options.encryption?.preference ?? 'preferred';\n const requestEncryption = preference !== 'disabled';\n if (!requestEncryption) {\n const session = await createSession(client, {\n uaid: options.uaid,\n auth: options.auth,\n historyTtlSeconds: options.historyTtlSeconds,\n senderUaid: options.senderUaid,\n encryptionRequested: false,\n });\n options.onSessionCreated?.(session.sessionId);\n return createPlaintextConversationHandle(\n client,\n session.sessionId,\n session.encryption ?? null,\n options.auth,\n { uaid: options.uaid },\n );\n }\n try {\n const handle = await encryptedManager.startSession({\n uaid: options.uaid,\n senderUaid: options.senderUaid,\n historyTtlSeconds: options.historyTtlSeconds,\n handshakeTimeoutMs: options.encryption?.handshakeTimeoutMs,\n pollIntervalMs: options.encryption?.pollIntervalMs,\n onSessionCreated: sessionId => {\n options.onSessionCreated?.(sessionId);\n },\n auth: options.auth,\n });\n return handle;\n } catch (error) {\n if (error instanceof EncryptionUnavailableError) {\n if (preference === 'required') {\n throw error;\n }\n return createPlaintextConversationHandle(\n client,\n error.sessionId,\n error.summary ?? null,\n options.auth,\n { uaid: options.uaid },\n );\n }\n throw error;\n }\n}\n\nexport async function acceptConversation(\n client: RegistryBrokerClient,\n encryptedManager: EncryptedChatManager,\n options: AcceptConversationOptions,\n): Promise<ChatConversationHandle> {\n const preference = options.encryption?.preference ?? 'preferred';\n if (preference === 'disabled') {\n return createPlaintextConversationHandle(client, options.sessionId, null);\n }\n try {\n const handle = await encryptedManager.acceptSession({\n sessionId: options.sessionId,\n responderUaid: options.responderUaid,\n handshakeTimeoutMs: options.encryption?.handshakeTimeoutMs,\n pollIntervalMs: options.encryption?.pollIntervalMs,\n });\n return handle;\n } catch (error) {\n if (\n error instanceof EncryptionUnavailableError &&\n preference !== 'required'\n ) {\n return createPlaintextConversationHandle(\n client,\n options.sessionId,\n null,\n undefined,\n { uaid: options.responderUaid },\n );\n }\n throw error;\n }\n}\n\nexport function createPlaintextConversationHandle(\n client: RegistryBrokerClient,\n sessionId: string,\n summary: SessionEncryptionSummary | null,\n defaultAuth?: AgentAuthConfig,\n context?: { uaid?: string; agentUrl?: string },\n): ChatConversationHandle {\n const uaid = context?.uaid?.trim();\n const agentUrl = context?.agentUrl?.trim();\n const fetchHistory = async (\n options?: ChatHistoryFetchOptions,\n ): Promise<DecryptedHistoryEntry[]> => {\n const snapshot = await client.fetchHistorySnapshot(sessionId, options);\n if (snapshot.decryptedHistory) {\n return snapshot.decryptedHistory;\n }\n return snapshot.history.map(entry => ({\n entry,\n plaintext: entry.content,\n }));\n };\n return {\n sessionId,\n mode: 'plaintext',\n summary: summary ?? null,\n send: async options => {\n const plaintext = options.plaintext;\n if (!plaintext || plaintext.trim().length === 0) {\n throw new Error('plaintext is required for chat messages');\n }\n const message = options.message ?? plaintext;\n return sendMessage(client, {\n sessionId,\n message,\n streaming: options.streaming,\n auth: options.auth ?? defaultAuth,\n uaid,\n agentUrl,\n });\n },\n decryptHistoryEntry: entry => entry.content,\n fetchHistory,\n };\n}\n\nexport async function compactHistory(\n client: RegistryBrokerClient,\n payload: CompactHistoryRequestPayload,\n): Promise<ChatHistoryCompactionResponse> {\n if (!payload.sessionId || payload.sessionId.trim().length === 0) {\n throw new Error('sessionId is required to compact chat history');\n }\n const body: JsonObject = {};\n if (\n typeof payload.preserveEntries === 'number' &&\n Number.isFinite(payload.preserveEntries) &&\n payload.preserveEntries >= 0\n ) {\n body.preserveEntries = Math.floor(payload.preserveEntries);\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(payload.sessionId)}/compact`,\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n },\n );\n return client.parseWithSchema(\n raw,\n chatHistoryCompactionResponseSchema,\n 'chat history compaction response',\n );\n}\n\nexport async function fetchEncryptionStatus(\n client: RegistryBrokerClient,\n sessionId: string,\n): Promise<SessionEncryptionStatusResponse> {\n if (!sessionId || sessionId.trim().length === 0) {\n throw new Error('sessionId is required for encryption status');\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(sessionId)}/encryption`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n sessionEncryptionStatusResponseSchema,\n 'session encryption status response',\n );\n}\n\nexport async function postEncryptionHandshake(\n client: RegistryBrokerClient,\n sessionId: string,\n payload: EncryptionHandshakeSubmissionPayload,\n): Promise<EncryptionHandshakeRecord> {\n if (!sessionId || sessionId.trim().length === 0) {\n throw new Error('sessionId is required for encryption handshake');\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(sessionId)}/encryption-handshake`,\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: {\n role: payload.role,\n keyType: payload.keyType,\n ephemeralPublicKey: payload.ephemeralPublicKey,\n longTermPublicKey: payload.longTermPublicKey,\n signature: payload.signature,\n uaid: payload.uaid,\n userId: payload.userId,\n ledgerAccountId: payload.ledgerAccountId,\n metadata: payload.metadata,\n },\n },\n );\n const response = client.parseWithSchema(\n raw,\n encryptionHandshakeResponseSchema,\n 'encryption handshake response',\n );\n return response.handshake;\n}\n\nexport async function sendMessage(\n client: RegistryBrokerClient,\n payload: SendMessageRequestPayload,\n): Promise<SendMessageResponse> {\n const body: JsonObject = {\n message: payload.message,\n };\n if (payload.streaming !== undefined) {\n body.streaming = payload.streaming;\n }\n if (payload.auth) {\n body.auth = serialiseAuthConfig(payload.auth);\n }\n if ('uaid' in payload) {\n body.uaid = payload.uaid;\n }\n if ('sessionId' in payload && payload.sessionId) {\n body.sessionId = payload.sessionId;\n }\n if ('agentUrl' in payload && payload.agentUrl) {\n body.agentUrl = payload.agentUrl;\n }\n let cipherEnvelope = payload.cipherEnvelope ?? null;\n if (payload.encryption) {\n const sessionIdForEncryption =\n payload.encryption.sessionId ??\n (typeof body.sessionId === 'string' ? body.sessionId : undefined);\n if (!sessionIdForEncryption) {\n throw new Error(\n 'sessionId is required when using encrypted chat payloads',\n );\n }\n if (!payload.encryption.recipients?.length) {\n throw new Error('recipients are required for encrypted chat payloads');\n }\n cipherEnvelope = client.encryption.encryptCipherEnvelope({\n ...payload.encryption,\n sessionId: sessionIdForEncryption,\n });\n }\n if (cipherEnvelope) {\n body.cipherEnvelope = toJsonObject(cipherEnvelope);\n }\n const raw = await client.requestJson<JsonValue>('/chat/message', {\n method: 'POST',\n body,\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n sendMessageResponseSchema,\n 'chat message response',\n );\n}\n\nexport async function endSession(\n client: RegistryBrokerClient,\n sessionId: string,\n): Promise<void> {\n await client.request(`/chat/session/${encodeURIComponent(sessionId)}`, {\n method: 'DELETE',\n });\n}\n"],"names":[],"mappings":";;;AA4EO,SAAS,cACd,QACA,kBACuB;AACvB,SAAO;AAAA,IACL,OAAO,CAAC,YAA8B,OAAO,UAAU,OAAO;AAAA,IAC9D,eAAe,CAAC,YACd,OAAO,cAAc,OAAO;AAAA,IAC9B,aAAa,CAAC,YACZ,OAAO,YAAY,OAAO;AAAA,IAC5B,YAAY,CAAC,cAAsB,OAAO,WAAW,SAAS;AAAA,IAC9D,YAAY,CAAC,WAAmB,YAC9B,OAAO,qBAAqB,WAAW,OAAO;AAAA,IAChD,gBAAgB,CAAC,YACf,OAAO,eAAe,OAAO;AAAA,IAC/B,qBAAqB,CAAC,cACpB,OAAO,sBAAsB,SAAS;AAAA,IACxC,2BAA2B,CACzB,WACA,YACG,OAAO,wBAAwB,WAAW,OAAO;AAAA,IACtD,mBAAmB,CAAC,YAClB,OAAO,kBAAkB,OAAO;AAAA,IAClC,oBAAoB,CAAC,YACnB,OAAO,mBAAmB,OAAO;AAAA,IACnC,wBAAwB,CAAC,YACvB,iBAAiB,aAAa,OAAO;AAAA,IACvC,wBAAwB,CAAC,YACvB,iBAAiB,cAAc,OAAO;AAAA,EAAA;AAE5C;AAEA,eAAsB,cACpB,QACA,SACA,wBAAwB,MACQ;AAChC,QAAM,OAAmB,CAAA;AACzB,MAAI,UAAU,WAAW,QAAQ,MAAM;AACrC,SAAK,OAAO,QAAQ;AAAA,EACtB;AACA,MAAI,cAAc,WAAW,QAAQ,UAAU;AAC7C,SAAK,WAAW,QAAQ;AAAA,EAC1B;AACA,MAAI,QAAQ,MAAM;AAChB,SAAK,OAAO,oBAAoB,QAAQ,IAAI;AAAA,EAC9C;AACA,MAAI,QAAQ,sBAAsB,QAAW;AAC3C,SAAK,oBAAoB,QAAQ;AAAA,EACnC;AACA,MAAI,QAAQ,wBAAwB,QAAW;AAC7C,SAAK,sBAAsB,QAAQ;AAAA,EACrC;AACA,MAAI,QAAQ,YAAY;AACtB,SAAK,aAAa,QAAQ;AAAA,EAC5B;AACA,MAAI;AACF,UAAM,MAAM,MAAM,OAAO,YAAuB,iBAAiB;AAAA,MAC/D,QAAQ;AAAA,MACR;AAAA,MACA,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB,CAC/C;AACD,WAAO,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ,SAAS,OAAO;AACd,UAAM,aAAa,iBAAiB,QAAQ,QAAQ;AACpD,QACE,yBACA,OAAO,uBAAuB,SAAS,UAAU,GACjD;AACA,YAAM,OAAO,wBAAwB,cAAc;AACnD,aAAO,cAAc,QAAQ,SAAS,KAAK;AAAA,IAC7C;AACA,UAAM;AAAA,EACR;AACF;AAEA,eAAsB,UACpB,QACA,kBACA,SACiC;AACjC,MAAI,UAAU,WAAW,QAAQ,MAAM;AACrC,WAAO,kBAAkB,QAAQ,kBAAkB;AAAA,MACjD,MAAM,QAAQ;AAAA,MACd,YAAY,QAAQ;AAAA,MACpB,mBAAmB,QAAQ;AAAA,MAC3B,MAAM,QAAQ;AAAA,MACd,YAAY,QAAQ;AAAA,MACpB,kBAAkB,QAAQ;AAAA,IAAA,CAC3B;AAAA,EACH;AACA,MAAI,cAAc,WAAW,QAAQ,UAAU;AAC7C,UAAM,UAAU,MAAM,cAAc,QAAQ;AAAA,MAC1C,UAAU,QAAQ;AAAA,MAClB,MAAM,QAAQ;AAAA,MACd,mBAAmB,QAAQ;AAAA,MAC3B,YAAY,QAAQ;AAAA,IAAA,CACrB;AACD,YAAQ,mBAAmB,QAAQ,SAAS;AAC5C,WAAO;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ,cAAc;AAAA,MACtB,QAAQ;AAAA,MACR,EAAE,UAAU,QAAQ,UAAU,MAAM,QAAQ,KAAA;AAAA,IAAK;AAAA,EAErD;AACA,QAAM,IAAI,MAAM,4CAA4C;AAC9D;AAEA,eAAsB,kBACpB,QACA,kBACA,SACiC;AACjC,QAAM,aAAa,QAAQ,YAAY,cAAc;AACrD,QAAM,oBAAoB,eAAe;AACzC,MAAI,CAAC,mBAAmB;AACtB,UAAM,UAAU,MAAM,cAAc,QAAQ;AAAA,MAC1C,MAAM,QAAQ;AAAA,MACd,MAAM,QAAQ;AAAA,MACd,mBAAmB,QAAQ;AAAA,MAC3B,YAAY,QAAQ;AAAA,MACpB,qBAAqB;AAAA,IAAA,CACtB;AACD,YAAQ,mBAAmB,QAAQ,SAAS;AAC5C,WAAO;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ,cAAc;AAAA,MACtB,QAAQ;AAAA,MACR,EAAE,MAAM,QAAQ,KAAA;AAAA,IAAK;AAAA,EAEzB;AACA,MAAI;AACF,UAAM,SAAS,MAAM,iBAAiB,aAAa;AAAA,MACjD,MAAM,QAAQ;AAAA,MACd,YAAY,QAAQ;AAAA,MACpB,mBAAmB,QAAQ;AAAA,MAC3B,oBAAoB,QAAQ,YAAY;AAAA,MACxC,gBAAgB,QAAQ,YAAY;AAAA,MACpC,kBAAkB,CAAA,cAAa;AAC7B,gBAAQ,mBAAmB,SAAS;AAAA,MACtC;AAAA,MACA,MAAM,QAAQ;AAAA,IAAA,CACf;AACD,WAAO;AAAA,EACT,SAAS,OAAO;AACd,QAAI,iBAAiB,4BAA4B;AAC/C,UAAI,eAAe,YAAY;AAC7B,cAAM;AAAA,MACR;AACA,aAAO;AAAA,QACL;AAAA,QACA,MAAM;AAAA,QACN,MAAM,WAAW;AAAA,QACjB,QAAQ;AAAA,QACR,EAAE,MAAM,QAAQ,KAAA;AAAA,MAAK;AAAA,IAEzB;AACA,UAAM;AAAA,EACR;AACF;AAEA,eAAsB,mBACpB,QACA,kBACA,SACiC;AACjC,QAAM,aAAa,QAAQ,YAAY,cAAc;AACrD,MAAI,eAAe,YAAY;AAC7B,WAAO,kCAAkC,QAAQ,QAAQ,WAAW,IAAI;AAAA,EAC1E;AACA,MAAI;AACF,UAAM,SAAS,MAAM,iBAAiB,cAAc;AAAA,MAClD,WAAW,QAAQ;AAAA,MACnB,eAAe,QAAQ;AAAA,MACvB,oBAAoB,QAAQ,YAAY;AAAA,MACxC,gBAAgB,QAAQ,YAAY;AAAA,IAAA,CACrC;AACD,WAAO;AAAA,EACT,SAAS,OAAO;AACd,QACE,iBAAiB,8BACjB,eAAe,YACf;AACA,aAAO;AAAA,QACL;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,EAAE,MAAM,QAAQ,cAAA;AAAA,MAAc;AAAA,IAElC;AACA,UAAM;AAAA,EACR;AACF;AAEO,SAAS,kCACd,QACA,WACA,SACA,aACA,SACwB;AACxB,QAAM,OAAO,SAAS,MAAM,KAAA;AAC5B,QAAM,WAAW,SAAS,UAAU,KAAA;AACpC,QAAM,eAAe,OACnB,YACqC;AACrC,UAAM,WAAW,MAAM,OAAO,qBAAqB,WAAW,OAAO;AACrE,QAAI,SAAS,kBAAkB;AAC7B,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS,QAAQ,IAAI,CAAA,WAAU;AAAA,MACpC;AAAA,MACA,WAAW,MAAM;AAAA,IAAA,EACjB;AAAA,EACJ;AACA,SAAO;AAAA,IACL;AAAA,IACA,MAAM;AAAA,IACN,SAAS,WAAW;AAAA,IACpB,MAAM,OAAM,YAAW;AACrB,YAAM,YAAY,QAAQ;AAC1B,UAAI,CAAC,aAAa,UAAU,KAAA,EAAO,WAAW,GAAG;AAC/C,cAAM,IAAI,MAAM,yCAAyC;AAAA,MAC3D;AACA,YAAM,UAAU,QAAQ,WAAW;AACnC,aAAO,YAAY,QAAQ;AAAA,QACzB;AAAA,QACA;AAAA,QACA,WAAW,QAAQ;AAAA,QACnB,MAAM,QAAQ,QAAQ;AAAA,QACtB;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,qBAAqB,WAAS,MAAM;AAAA,IACpC;AAAA,EAAA;AAEJ;AAEA,eAAsB,eACpB,QACA,SACwC;AACxC,MAAI,CAAC,QAAQ,aAAa,QAAQ,UAAU,KAAA,EAAO,WAAW,GAAG;AAC/D,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AACA,QAAM,OAAmB,CAAA;AACzB,MACE,OAAO,QAAQ,oBAAoB,YACnC,OAAO,SAAS,QAAQ,eAAe,KACvC,QAAQ,mBAAmB,GAC3B;AACA,SAAK,kBAAkB,KAAK,MAAM,QAAQ,eAAe;AAAA,EAC3D;AACA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,iBAAiB,mBAAmB,QAAQ,SAAS,CAAC;AAAA,IACtD;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B;AAAA,IAAA;AAAA,EACF;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,sBACpB,QACA,WAC0C;AAC1C,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,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,wBACpB,QACA,WACA,SACoC;AACpC,MAAI,CAAC,aAAa,UAAU,KAAA,EAAO,WAAW,GAAG;AAC/C,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,iBAAiB,mBAAmB,SAAS,CAAC;AAAA,IAC9C;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM;AAAA,QACJ,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,oBAAoB,QAAQ;AAAA,QAC5B,mBAAmB,QAAQ;AAAA,QAC3B,WAAW,QAAQ;AAAA,QACnB,MAAM,QAAQ;AAAA,QACd,QAAQ,QAAQ;AAAA,QAChB,iBAAiB,QAAQ;AAAA,QACzB,UAAU,QAAQ;AAAA,MAAA;AAAA,IACpB;AAAA,EACF;AAEF,QAAM,WAAW,OAAO;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,SAAS;AAClB;AAEA,eAAsB,YACpB,QACA,SAC8B;AAC9B,QAAM,OAAmB;AAAA,IACvB,SAAS,QAAQ;AAAA,EAAA;AAEnB,MAAI,QAAQ,cAAc,QAAW;AACnC,SAAK,YAAY,QAAQ;AAAA,EAC3B;AACA,MAAI,QAAQ,MAAM;AAChB,SAAK,OAAO,oBAAoB,QAAQ,IAAI;AAAA,EAC9C;AACA,MAAI,UAAU,SAAS;AACrB,SAAK,OAAO,QAAQ;AAAA,EACtB;AACA,MAAI,eAAe,WAAW,QAAQ,WAAW;AAC/C,SAAK,YAAY,QAAQ;AAAA,EAC3B;AACA,MAAI,cAAc,WAAW,QAAQ,UAAU;AAC7C,SAAK,WAAW,QAAQ;AAAA,EAC1B;AACA,MAAI,iBAAiB,QAAQ,kBAAkB;AAC/C,MAAI,QAAQ,YAAY;AACtB,UAAM,yBACJ,QAAQ,WAAW,cAClB,OAAO,KAAK,cAAc,WAAW,KAAK,YAAY;AACzD,QAAI,CAAC,wBAAwB;AAC3B,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AACA,QAAI,CAAC,QAAQ,WAAW,YAAY,QAAQ;AAC1C,YAAM,IAAI,MAAM,qDAAqD;AAAA,IACvE;AACA,qBAAiB,OAAO,WAAW,sBAAsB;AAAA,MACvD,GAAG,QAAQ;AAAA,MACX,WAAW;AAAA,IAAA,CACZ;AAAA,EACH;AACA,MAAI,gBAAgB;AAClB,SAAK,iBAAiB,aAAa,cAAc;AAAA,EACnD;AACA,QAAM,MAAM,MAAM,OAAO,YAAuB,iBAAiB;AAAA,IAC/D,QAAQ;AAAA,IACR;AAAA,IACA,SAAS,EAAE,gBAAgB,mBAAA;AAAA,EAAmB,CAC/C;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,WACpB,QACA,WACe;AACf,QAAM,OAAO,QAAQ,iBAAiB,mBAAmB,SAAS,CAAC,IAAI;AAAA,IACrE,QAAQ;AAAA,EAAA,CACT;AACH;"}
1
+ {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/services/registry-broker/client/utils.ts"],"sourcesContent":["import type {\n AgentAuthConfig,\n AgentRegistrationRequest,\n JsonObject,\n JsonValue,\n SearchParams,\n} from '../types';\n\nexport const DEFAULT_USER_AGENT = '@hol-org/rb-client';\nexport const DEFAULT_PROGRESS_INTERVAL_MS = 1_500;\nexport const DEFAULT_PROGRESS_TIMEOUT_MS = 5 * 60 * 1_000;\nexport const DEFAULT_BASE_URL = 'https://hol.org/registry/api/v1';\nexport const JSON_CONTENT_TYPE = /application\\/json/i;\nexport const DEFAULT_HISTORY_TOP_UP_HBAR = 0.25;\nexport const MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS = 1;\n\nconst stripTrailingSlashes = (value: string): string => {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 47) {\n end -= 1;\n }\n return end === value.length ? value : value.slice(0, end);\n};\n\nexport const createAbortError = (): Error =>\n typeof DOMException === 'function'\n ? new DOMException('Aborted', 'AbortError')\n : new Error('The operation was aborted');\n\nexport const normaliseHeaderName = (name: string): string =>\n name.trim().toLowerCase();\n\nexport const isBrowserRuntime = (): boolean =>\n typeof window !== 'undefined' && typeof window.fetch === 'function';\n\nexport const toJsonValue = (value: unknown): JsonValue => {\n if (value === null) {\n return null;\n }\n if (value instanceof Date) {\n return value.toISOString();\n }\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(item => (item === undefined ? null : toJsonValue(item)));\n }\n if (typeof value === 'object') {\n const result: JsonObject = {};\n Object.entries(value as Record<string, unknown>).forEach(\n ([key, entryValue]) => {\n if (entryValue !== undefined) {\n result[key] = toJsonValue(entryValue);\n }\n },\n );\n return result;\n }\n throw new TypeError('Only JSON-compatible values are supported');\n};\n\nexport const isJsonObject = (value: JsonValue): value is JsonObject =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const toJsonObject = (value: unknown): JsonObject => {\n const normalised = toJsonValue(value);\n if (isJsonObject(normalised)) {\n return normalised;\n }\n throw new TypeError('Expected JSON object value');\n};\n\nexport const serialiseAuthConfig = (auth: AgentAuthConfig): JsonObject => {\n const authPayload: JsonObject = {};\n if (auth.type) {\n authPayload.type = auth.type;\n }\n if (auth.token) {\n authPayload.token = auth.token;\n }\n if (auth.username) {\n authPayload.username = auth.username;\n }\n if (auth.password) {\n authPayload.password = auth.password;\n }\n if (auth.headerName) {\n authPayload.headerName = auth.headerName;\n }\n if (auth.headerValue) {\n authPayload.headerValue = auth.headerValue;\n }\n if (auth.headers) {\n authPayload.headers = { ...auth.headers };\n }\n return authPayload;\n};\n\nexport const serialiseAgentRegistrationRequest = (\n payload: AgentRegistrationRequest,\n): JsonObject => {\n const body: JsonObject = {\n profile: toJsonObject(payload.profile),\n };\n if (payload.endpoint !== undefined) {\n body.endpoint = payload.endpoint;\n }\n if (payload.protocol !== undefined) {\n body.protocol = payload.protocol;\n }\n if (payload.communicationProtocol !== undefined) {\n body.communicationProtocol = payload.communicationProtocol;\n }\n if (payload.registry !== undefined) {\n body.registry = payload.registry;\n }\n if (payload.additionalRegistries !== undefined) {\n body.additionalRegistries = payload.additionalRegistries;\n }\n if (payload.metadata !== undefined) {\n body.metadata = toJsonObject(payload.metadata);\n }\n return body;\n};\n\nexport type X402NetworkId = 'base' | 'base-sepolia';\n\nexport const normalizeHexPrivateKey = (value: string): `0x${string}` => {\n const trimmed = value.trim();\n if (!trimmed) {\n throw new Error('evmPrivateKey is required');\n }\n return trimmed.startsWith('0x')\n ? (trimmed as `0x${string}`)\n : (`0x${trimmed}` as `0x${string}`);\n};\n\nexport function normaliseBaseUrl(input?: string): string {\n const trimmed = input?.trim();\n let baseCandidate =\n trimmed && trimmed.length > 0 ? trimmed : DEFAULT_BASE_URL;\n\n try {\n const url = new URL(stripTrailingSlashes(baseCandidate));\n const hostname = url.hostname.toLowerCase();\n const ensureRegistryPrefix = (): void => {\n if (!url.pathname.startsWith('/registry')) {\n url.pathname =\n url.pathname === '/' ? '/registry' : `/registry${url.pathname}`;\n }\n };\n\n if (hostname === 'hol.org') {\n ensureRegistryPrefix();\n baseCandidate = url.toString();\n } else if (\n hostname === 'registry.hashgraphonline.com' ||\n hostname === 'hashgraphonline.com'\n ) {\n ensureRegistryPrefix();\n url.hostname = 'hol.org';\n baseCandidate = url.toString();\n }\n } catch {}\n\n const withoutTrailing = stripTrailingSlashes(baseCandidate);\n if (/\\/api\\/v\\d+$/i.test(withoutTrailing)) {\n return withoutTrailing;\n }\n if (/\\/api$/i.test(withoutTrailing)) {\n return `${withoutTrailing}/v1`;\n }\n return `${withoutTrailing}/api/v1`;\n}\n\nexport function buildSearchQuery(params: SearchParams): string {\n const query = new URLSearchParams();\n const appendList = (key: string, values?: string[]) => {\n if (!values) {\n return;\n }\n values.forEach(value => {\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed.length > 0) {\n query.append(key, trimmed);\n }\n }\n });\n };\n\n if (params.q) {\n const trimmed = params.q.trim();\n if (trimmed.length > 0) {\n query.set('q', trimmed);\n }\n }\n if (typeof params.page === 'number') {\n query.set('page', params.page.toString());\n }\n if (typeof params.limit === 'number') {\n query.set('limit', params.limit.toString());\n }\n if (params.registry) {\n const trimmed = params.registry.trim();\n if (trimmed.length > 0) {\n query.set('registry', trimmed);\n }\n }\n appendList('registries', params.registries);\n if (typeof params.minTrust === 'number') {\n query.set('minTrust', params.minTrust.toString());\n }\n appendList('capabilities', params.capabilities);\n appendList('protocols', params.protocols);\n appendList('adapters', params.adapters);\n\n if (params.metadata) {\n Object.entries(params.metadata).forEach(([key, values]) => {\n if (!key || !Array.isArray(values) || values.length === 0) {\n return;\n }\n const trimmedKey = key.trim();\n if (trimmedKey.length === 0) {\n return;\n }\n values.forEach(value => {\n if (value === undefined || value === null) {\n return;\n }\n query.append(`metadata.${trimmedKey}`, String(value));\n });\n });\n }\n\n if (params.type) {\n const trimmedType = params.type.trim();\n if (trimmedType.length > 0 && trimmedType.toLowerCase() !== 'all') {\n query.set('type', trimmedType);\n }\n }\n\n if (params.verified === true) {\n query.set('verified', 'true');\n }\n\n if (params.online === true) {\n query.set('online', 'true');\n }\n\n if (params.sortBy) {\n const trimmedSort = params.sortBy.trim();\n if (trimmedSort.length > 0) {\n query.set('sortBy', trimmedSort);\n }\n }\n\n if (params.sortOrder) {\n const lowered = params.sortOrder.toLowerCase();\n if (lowered === 'asc' || lowered === 'desc') {\n query.set('sortOrder', lowered);\n }\n }\n const queryString = query.toString();\n return queryString.length > 0 ? `?${queryString}` : '';\n}\n"],"names":[],"mappings":"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"}