@hashgraphonline/standards-sdk 0.1.189 → 0.1.190

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 (528) hide show
  1. package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
  2. package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
  3. package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
  4. package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
  5. package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
  6. package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  7. package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
  8. package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
  9. package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
  10. package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
  11. package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
  12. package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
  13. package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
  14. package/dist/browser/hcs-25/collectors/catalog.d.ts +57 -0
  15. package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
  16. package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
  17. package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
  18. package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
  19. package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
  20. package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
  21. package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
  22. package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
  23. package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
  24. package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
  25. package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
  26. package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
  27. package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
  28. package/dist/browser/hcs-25/collectors/index.d.ts +21 -0
  29. package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
  30. package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
  31. package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
  32. package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
  33. package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
  34. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
  35. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  36. package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
  37. package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
  38. package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
  39. package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
  40. package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
  41. package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
  42. package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
  43. package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  44. package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
  45. package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
  46. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
  47. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  48. package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
  49. package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
  50. package/dist/browser/hcs-25/index.d.ts +1 -0
  51. package/dist/browser/hcs-25/index.d.ts.map +1 -1
  52. package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
  53. package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
  54. package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
  55. package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
  56. package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
  57. package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
  58. package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
  59. package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
  60. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
  61. package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
  62. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
  63. package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
  64. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
  65. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  66. package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
  67. package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
  68. package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
  69. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
  70. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
  71. package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
  72. package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
  73. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +57 -0
  74. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
  75. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
  76. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
  77. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
  78. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
  79. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
  80. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
  81. package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
  82. package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
  83. package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
  84. package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
  85. package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
  86. package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
  87. package/dist/browser-root/hcs-25/collectors/index.d.ts +21 -0
  88. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
  89. package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
  90. package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
  91. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
  92. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
  93. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
  94. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  95. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
  96. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
  97. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
  98. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
  99. package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
  100. package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
  101. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
  102. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  103. package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
  104. package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
  105. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
  106. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  107. package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
  108. package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
  109. package/dist/browser-root/hcs-25/index.d.ts +1 -0
  110. package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
  111. package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
  112. package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
  113. package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
  114. package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
  115. package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
  116. package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
  117. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
  118. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
  119. package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
  120. package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
  121. package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
  122. package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
  123. package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
  124. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  125. package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
  126. package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
  127. package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
  128. package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
  129. package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
  130. package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
  131. package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
  132. package/dist/cjs/hcs-25/collectors/catalog.d.ts +57 -0
  133. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
  134. package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
  135. package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
  136. package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
  137. package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
  138. package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
  139. package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
  140. package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
  141. package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
  142. package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
  143. package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
  144. package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
  145. package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
  146. package/dist/cjs/hcs-25/collectors/index.d.ts +21 -0
  147. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
  148. package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
  149. package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
  150. package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
  151. package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
  152. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
  153. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  154. package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
  155. package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
  156. package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
  157. package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
  158. package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
  159. package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
  160. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
  161. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  162. package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
  163. package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
  164. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
  165. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  166. package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
  167. package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
  168. package/dist/cjs/hcs-25/index.d.ts +1 -0
  169. package/dist/cjs/hcs-25/index.d.ts.map +1 -1
  170. package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
  171. package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
  172. package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
  173. package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
  174. package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
  175. package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
  176. package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
  177. package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
  178. package/dist/cjs/standards-sdk.cjs +2 -2
  179. package/dist/cjs/standards-sdk.cjs.map +1 -1
  180. package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
  181. package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
  182. package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
  183. package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
  184. package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
  185. package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  186. package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
  187. package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
  188. package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
  189. package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
  190. package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
  191. package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
  192. package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
  193. package/dist/es/hcs-25/collectors/catalog.d.ts +57 -0
  194. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
  195. package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
  196. package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
  197. package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
  198. package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
  199. package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
  200. package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
  201. package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
  202. package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
  203. package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
  204. package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
  205. package/dist/es/hcs-25/collectors/http.d.ts +67 -0
  206. package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
  207. package/dist/es/hcs-25/collectors/index.d.ts +21 -0
  208. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
  209. package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
  210. package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
  211. package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
  212. package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
  213. package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
  214. package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  215. package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
  216. package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
  217. package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
  218. package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
  219. package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
  220. package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
  221. package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
  222. package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  223. package/dist/es/hcs-25/collectors/types.d.ts +113 -0
  224. package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
  225. package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
  226. package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  227. package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
  228. package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
  229. package/dist/es/hcs-25/index.d.ts +1 -0
  230. package/dist/es/hcs-25/index.d.ts.map +1 -1
  231. package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
  232. package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
  233. package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
  234. package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
  235. package/dist/es/hcs-25/signals/operational.d.ts +15 -12
  236. package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
  237. package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
  238. package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
  239. package/dist/es/standards-sdk.es.js +137 -58
  240. package/dist/es/standards-sdk.es.js.map +1 -1
  241. package/dist/es/standards-sdk.es101.js +2 -2
  242. package/dist/es/standards-sdk.es103.js +2 -2
  243. package/dist/es/standards-sdk.es104.js +1 -1
  244. package/dist/es/standards-sdk.es106.js +1 -1
  245. package/dist/es/standards-sdk.es108.js +2 -2
  246. package/dist/es/standards-sdk.es11.js +1 -1
  247. package/dist/es/standards-sdk.es110.js +1 -1
  248. package/dist/es/standards-sdk.es111.js +2 -2
  249. package/dist/es/standards-sdk.es115.js +3 -3
  250. package/dist/es/standards-sdk.es116.js +4 -4
  251. package/dist/es/standards-sdk.es12.js +1 -1
  252. package/dist/es/standards-sdk.es120.js +4 -4
  253. package/dist/es/standards-sdk.es121.js +11 -11
  254. package/dist/es/standards-sdk.es122.js +176 -240
  255. package/dist/es/standards-sdk.es122.js.map +1 -1
  256. package/dist/es/standards-sdk.es123.js +41 -468
  257. package/dist/es/standards-sdk.es123.js.map +1 -1
  258. package/dist/es/standards-sdk.es124.js +28 -103
  259. package/dist/es/standards-sdk.es124.js.map +1 -1
  260. package/dist/es/standards-sdk.es125.js +185 -145
  261. package/dist/es/standards-sdk.es125.js.map +1 -1
  262. package/dist/es/standards-sdk.es126.js +13 -33
  263. package/dist/es/standards-sdk.es126.js.map +1 -1
  264. package/dist/es/standards-sdk.es127.js +44 -10
  265. package/dist/es/standards-sdk.es127.js.map +1 -1
  266. package/dist/es/standards-sdk.es128.js +150 -172
  267. package/dist/es/standards-sdk.es128.js.map +1 -1
  268. package/dist/es/standards-sdk.es129.js +166 -26
  269. package/dist/es/standards-sdk.es129.js.map +1 -1
  270. package/dist/es/standards-sdk.es13.js +1 -1
  271. package/dist/es/standards-sdk.es130.js +375 -18
  272. package/dist/es/standards-sdk.es130.js.map +1 -1
  273. package/dist/es/standards-sdk.es131.js +371 -139
  274. package/dist/es/standards-sdk.es131.js.map +1 -1
  275. package/dist/es/standards-sdk.es132.js +211 -180
  276. package/dist/es/standards-sdk.es132.js.map +1 -1
  277. package/dist/es/standards-sdk.es133.js +210 -770
  278. package/dist/es/standards-sdk.es133.js.map +1 -1
  279. package/dist/es/standards-sdk.es134.js +376 -10
  280. package/dist/es/standards-sdk.es134.js.map +1 -1
  281. package/dist/es/standards-sdk.es135.js +118 -564
  282. package/dist/es/standards-sdk.es135.js.map +1 -1
  283. package/dist/es/standards-sdk.es136.js +233 -608
  284. package/dist/es/standards-sdk.es136.js.map +1 -1
  285. package/dist/es/standards-sdk.es137.js +1328 -12
  286. package/dist/es/standards-sdk.es137.js.map +1 -1
  287. package/dist/es/standards-sdk.es138.js +133 -2
  288. package/dist/es/standards-sdk.es138.js.map +1 -1
  289. package/dist/es/standards-sdk.es139.js +258 -74
  290. package/dist/es/standards-sdk.es139.js.map +1 -1
  291. package/dist/es/standards-sdk.es14.js +1 -1
  292. package/dist/es/standards-sdk.es140.js +104 -38
  293. package/dist/es/standards-sdk.es140.js.map +1 -1
  294. package/dist/es/standards-sdk.es141.js +252 -2
  295. package/dist/es/standards-sdk.es141.js.map +1 -1
  296. package/dist/es/standards-sdk.es142.js +446 -203
  297. package/dist/es/standards-sdk.es142.js.map +1 -1
  298. package/dist/es/standards-sdk.es143.js +104 -1139
  299. package/dist/es/standards-sdk.es143.js.map +1 -1
  300. package/dist/es/standards-sdk.es144.js +144 -290
  301. package/dist/es/standards-sdk.es144.js.map +1 -1
  302. package/dist/es/standards-sdk.es145.js +31 -419
  303. package/dist/es/standards-sdk.es145.js.map +1 -1
  304. package/dist/es/standards-sdk.es146.js +10 -353
  305. package/dist/es/standards-sdk.es146.js.map +1 -1
  306. package/dist/es/standards-sdk.es147.js +144 -1084
  307. package/dist/es/standards-sdk.es147.js.map +1 -1
  308. package/dist/es/standards-sdk.es148.js +25 -204
  309. package/dist/es/standards-sdk.es148.js.map +1 -1
  310. package/dist/es/standards-sdk.es149.js +17 -1562
  311. package/dist/es/standards-sdk.es149.js.map +1 -1
  312. package/dist/es/standards-sdk.es15.js +1 -1
  313. package/dist/es/standards-sdk.es150.js +128 -1134
  314. package/dist/es/standards-sdk.es150.js.map +1 -1
  315. package/dist/es/standards-sdk.es151.js +199 -14
  316. package/dist/es/standards-sdk.es151.js.map +1 -1
  317. package/dist/es/standards-sdk.es152.js +773 -434
  318. package/dist/es/standards-sdk.es152.js.map +1 -1
  319. package/dist/es/standards-sdk.es153.js +10 -256
  320. package/dist/es/standards-sdk.es153.js.map +1 -1
  321. package/dist/es/standards-sdk.es154.js +567 -4
  322. package/dist/es/standards-sdk.es154.js.map +1 -1
  323. package/dist/es/standards-sdk.es155.js +619 -74
  324. package/dist/es/standards-sdk.es155.js.map +1 -1
  325. package/dist/es/standards-sdk.es156.js +12 -86
  326. package/dist/es/standards-sdk.es156.js.map +1 -1
  327. package/dist/es/standards-sdk.es157.js +2 -60
  328. package/dist/es/standards-sdk.es157.js.map +1 -1
  329. package/dist/es/standards-sdk.es158.js +87 -2547
  330. package/dist/es/standards-sdk.es158.js.map +1 -1
  331. package/dist/es/standards-sdk.es159.js +36 -155
  332. package/dist/es/standards-sdk.es159.js.map +1 -1
  333. package/dist/es/standards-sdk.es16.js +6 -6
  334. package/dist/es/standards-sdk.es160.js +2 -7
  335. package/dist/es/standards-sdk.es160.js.map +1 -1
  336. package/dist/es/standards-sdk.es161.js +223 -74
  337. package/dist/es/standards-sdk.es161.js.map +1 -1
  338. package/dist/es/standards-sdk.es162.js +1122 -47
  339. package/dist/es/standards-sdk.es162.js.map +1 -1
  340. package/dist/es/standards-sdk.es163.js +299 -187
  341. package/dist/es/standards-sdk.es163.js.map +1 -1
  342. package/dist/es/standards-sdk.es164.js +419 -23
  343. package/dist/es/standards-sdk.es164.js.map +1 -1
  344. package/dist/es/standards-sdk.es165.js +352 -55
  345. package/dist/es/standards-sdk.es165.js.map +1 -1
  346. package/dist/es/standards-sdk.es166.js +1113 -86
  347. package/dist/es/standards-sdk.es166.js.map +1 -1
  348. package/dist/es/standards-sdk.es167.js +200 -41
  349. package/dist/es/standards-sdk.es167.js.map +1 -1
  350. package/dist/es/standards-sdk.es168.js +1551 -188
  351. package/dist/es/standards-sdk.es168.js.map +1 -1
  352. package/dist/es/standards-sdk.es169.js +1161 -51
  353. package/dist/es/standards-sdk.es169.js.map +1 -1
  354. package/dist/es/standards-sdk.es170.js +15 -47
  355. package/dist/es/standards-sdk.es170.js.map +1 -1
  356. package/dist/es/standards-sdk.es171.js +445 -50
  357. package/dist/es/standards-sdk.es171.js.map +1 -1
  358. package/dist/es/standards-sdk.es172.js +255 -45
  359. package/dist/es/standards-sdk.es172.js.map +1 -1
  360. package/dist/es/standards-sdk.es173.js +4 -122
  361. package/dist/es/standards-sdk.es173.js.map +1 -1
  362. package/dist/es/standards-sdk.es174.js +77 -50
  363. package/dist/es/standards-sdk.es174.js.map +1 -1
  364. package/dist/es/standards-sdk.es175.js +85 -42
  365. package/dist/es/standards-sdk.es175.js.map +1 -1
  366. package/dist/es/standards-sdk.es176.js +60 -72
  367. package/dist/es/standards-sdk.es176.js.map +1 -1
  368. package/dist/es/standards-sdk.es177.js +2544 -65
  369. package/dist/es/standards-sdk.es177.js.map +1 -1
  370. package/dist/es/standards-sdk.es178.js +159 -44
  371. package/dist/es/standards-sdk.es178.js.map +1 -1
  372. package/dist/es/standards-sdk.es179.js +7 -36
  373. package/dist/es/standards-sdk.es179.js.map +1 -1
  374. package/dist/es/standards-sdk.es18.js +13 -13
  375. package/dist/es/standards-sdk.es180.js +86 -30
  376. package/dist/es/standards-sdk.es180.js.map +1 -1
  377. package/dist/es/standards-sdk.es181.js +65 -34
  378. package/dist/es/standards-sdk.es181.js.map +1 -1
  379. package/dist/es/standards-sdk.es182.js +196 -48
  380. package/dist/es/standards-sdk.es182.js.map +1 -1
  381. package/dist/es/standards-sdk.es183.js +23 -135
  382. package/dist/es/standards-sdk.es183.js.map +1 -1
  383. package/dist/es/standards-sdk.es184.js +54 -38
  384. package/dist/es/standards-sdk.es184.js.map +1 -1
  385. package/dist/es/standards-sdk.es185.js +102 -12470
  386. package/dist/es/standards-sdk.es185.js.map +1 -1
  387. package/dist/es/standards-sdk.es186.js +53 -52
  388. package/dist/es/standards-sdk.es186.js.map +1 -1
  389. package/dist/es/standards-sdk.es187.js +223 -103
  390. package/dist/es/standards-sdk.es187.js.map +1 -1
  391. package/dist/es/standards-sdk.es188.js +66 -75
  392. package/dist/es/standards-sdk.es188.js.map +1 -1
  393. package/dist/es/standards-sdk.es189.js +46 -197
  394. package/dist/es/standards-sdk.es189.js.map +1 -1
  395. package/dist/es/standards-sdk.es19.js +10 -10
  396. package/dist/es/standards-sdk.es190.js +58 -668
  397. package/dist/es/standards-sdk.es190.js.map +1 -1
  398. package/dist/es/standards-sdk.es191.js +45 -168
  399. package/dist/es/standards-sdk.es191.js.map +1 -1
  400. package/dist/es/standards-sdk.es192.js +115 -315
  401. package/dist/es/standards-sdk.es192.js.map +1 -1
  402. package/dist/es/standards-sdk.es193.js +51 -340
  403. package/dist/es/standards-sdk.es193.js.map +1 -1
  404. package/dist/es/standards-sdk.es194.js +54 -448
  405. package/dist/es/standards-sdk.es194.js.map +1 -1
  406. package/dist/es/standards-sdk.es195.js +72 -331
  407. package/dist/es/standards-sdk.es195.js.map +1 -1
  408. package/dist/es/standards-sdk.es196.js +75 -76
  409. package/dist/es/standards-sdk.es196.js.map +1 -1
  410. package/dist/es/standards-sdk.es197.js +44 -73
  411. package/dist/es/standards-sdk.es197.js.map +1 -1
  412. package/dist/es/standards-sdk.es198.js +34 -15
  413. package/dist/es/standards-sdk.es198.js.map +1 -1
  414. package/dist/es/standards-sdk.es199.js +30 -139
  415. package/dist/es/standards-sdk.es199.js.map +1 -1
  416. package/dist/es/standards-sdk.es2.js +2 -2
  417. package/dist/es/standards-sdk.es20.js +1 -1
  418. package/dist/es/standards-sdk.es200.js +34 -517
  419. package/dist/es/standards-sdk.es200.js.map +1 -1
  420. package/dist/es/standards-sdk.es201.js +48 -259
  421. package/dist/es/standards-sdk.es201.js.map +1 -1
  422. package/dist/es/standards-sdk.es202.js +127 -185
  423. package/dist/es/standards-sdk.es202.js.map +1 -1
  424. package/dist/es/standards-sdk.es203.js +36 -113
  425. package/dist/es/standards-sdk.es203.js.map +1 -1
  426. package/dist/es/standards-sdk.es204.js +12464 -134
  427. package/dist/es/standards-sdk.es204.js.map +1 -1
  428. package/dist/es/standards-sdk.es205.js +14 -181
  429. package/dist/es/standards-sdk.es205.js.map +1 -1
  430. package/dist/es/standards-sdk.es206.js +55 -683
  431. package/dist/es/standards-sdk.es206.js.map +1 -1
  432. package/dist/es/standards-sdk.es207.js +93 -167
  433. package/dist/es/standards-sdk.es207.js.map +1 -1
  434. package/dist/es/standards-sdk.es208.js +71 -225
  435. package/dist/es/standards-sdk.es208.js.map +1 -1
  436. package/dist/es/standards-sdk.es209.js +176 -215
  437. package/dist/es/standards-sdk.es209.js.map +1 -1
  438. package/dist/es/standards-sdk.es21.js +1 -1
  439. package/dist/es/standards-sdk.es210.js +675 -0
  440. package/dist/es/standards-sdk.es210.js.map +1 -0
  441. package/dist/es/standards-sdk.es211.js +76 -0
  442. package/dist/es/standards-sdk.es211.js.map +1 -0
  443. package/dist/es/standards-sdk.es212.js +175 -0
  444. package/dist/es/standards-sdk.es212.js.map +1 -0
  445. package/dist/es/standards-sdk.es213.js +325 -0
  446. package/dist/es/standards-sdk.es213.js.map +1 -0
  447. package/dist/es/standards-sdk.es214.js +349 -0
  448. package/dist/es/standards-sdk.es214.js.map +1 -0
  449. package/dist/es/standards-sdk.es215.js +456 -0
  450. package/dist/es/standards-sdk.es215.js.map +1 -0
  451. package/dist/es/standards-sdk.es216.js +334 -0
  452. package/dist/es/standards-sdk.es216.js.map +1 -0
  453. package/dist/es/standards-sdk.es217.js +79 -0
  454. package/dist/es/standards-sdk.es217.js.map +1 -0
  455. package/dist/es/standards-sdk.es218.js +142 -0
  456. package/dist/es/standards-sdk.es218.js.map +1 -0
  457. package/dist/es/standards-sdk.es219.js +520 -0
  458. package/dist/es/standards-sdk.es219.js.map +1 -0
  459. package/dist/es/standards-sdk.es22.js +1 -1
  460. package/dist/es/standards-sdk.es220.js +262 -0
  461. package/dist/es/standards-sdk.es220.js.map +1 -0
  462. package/dist/es/standards-sdk.es221.js +199 -0
  463. package/dist/es/standards-sdk.es221.js.map +1 -0
  464. package/dist/es/standards-sdk.es222.js +122 -0
  465. package/dist/es/standards-sdk.es222.js.map +1 -0
  466. package/dist/es/standards-sdk.es223.js +155 -0
  467. package/dist/es/standards-sdk.es223.js.map +1 -0
  468. package/dist/es/standards-sdk.es224.js +187 -0
  469. package/dist/es/standards-sdk.es224.js.map +1 -0
  470. package/dist/es/standards-sdk.es225.js +687 -0
  471. package/dist/es/standards-sdk.es225.js.map +1 -0
  472. package/dist/es/standards-sdk.es226.js +188 -0
  473. package/dist/es/standards-sdk.es226.js.map +1 -0
  474. package/dist/es/standards-sdk.es227.js +238 -0
  475. package/dist/es/standards-sdk.es227.js.map +1 -0
  476. package/dist/es/standards-sdk.es228.js +242 -0
  477. package/dist/es/standards-sdk.es228.js.map +1 -0
  478. package/dist/es/standards-sdk.es23.js +1 -1
  479. package/dist/es/standards-sdk.es24.js +1 -1
  480. package/dist/es/standards-sdk.es25.js +1 -1
  481. package/dist/es/standards-sdk.es26.js +1 -1
  482. package/dist/es/standards-sdk.es27.js +13 -13
  483. package/dist/es/standards-sdk.es30.js +2 -2
  484. package/dist/es/standards-sdk.es31.js +4 -4
  485. package/dist/es/standards-sdk.es32.js +1 -1
  486. package/dist/es/standards-sdk.es35.js +7 -7
  487. package/dist/es/standards-sdk.es36.js +4 -4
  488. package/dist/es/standards-sdk.es37.js +2 -2
  489. package/dist/es/standards-sdk.es38.js +2 -2
  490. package/dist/es/standards-sdk.es39.js +1 -1
  491. package/dist/es/standards-sdk.es4.js +2 -2
  492. package/dist/es/standards-sdk.es40.js +1 -1
  493. package/dist/es/standards-sdk.es41.js +2 -2
  494. package/dist/es/standards-sdk.es46.js +1 -1
  495. package/dist/es/standards-sdk.es5.js +2 -2
  496. package/dist/es/standards-sdk.es51.js +1 -1
  497. package/dist/es/standards-sdk.es53.js +1 -1
  498. package/dist/es/standards-sdk.es56.js +2 -2
  499. package/dist/es/standards-sdk.es59.js +1 -1
  500. package/dist/es/standards-sdk.es6.js +2 -2
  501. package/dist/es/standards-sdk.es60.js +1 -1
  502. package/dist/es/standards-sdk.es62.js +1 -1
  503. package/dist/es/standards-sdk.es63.js +2 -2
  504. package/dist/es/standards-sdk.es64.js +1 -1
  505. package/dist/es/standards-sdk.es65.js +1 -1
  506. package/dist/es/standards-sdk.es66.js +1 -1
  507. package/dist/es/standards-sdk.es67.js +8 -8
  508. package/dist/es/standards-sdk.es69.js +1 -1
  509. package/dist/es/standards-sdk.es7.js +1 -1
  510. package/dist/es/standards-sdk.es71.js +2 -2
  511. package/dist/es/standards-sdk.es72.js +3 -3
  512. package/dist/es/standards-sdk.es75.js +5 -5
  513. package/dist/es/standards-sdk.es76.js +3 -3
  514. package/dist/es/standards-sdk.es77.js +2 -2
  515. package/dist/es/standards-sdk.es78.js +1 -1
  516. package/dist/es/standards-sdk.es81.js +2 -2
  517. package/dist/es/standards-sdk.es83.js +2 -2
  518. package/dist/es/standards-sdk.es84.js +5 -5
  519. package/dist/es/standards-sdk.es85.js +1 -1
  520. package/dist/es/standards-sdk.es88.js +1 -1
  521. package/dist/es/standards-sdk.es89.js +2 -2
  522. package/dist/es/standards-sdk.es9.js +2 -2
  523. package/dist/es/standards-sdk.es90.js +4 -4
  524. package/dist/es/standards-sdk.es94.js +3 -3
  525. package/dist/es/standards-sdk.es96.js +2 -2
  526. package/dist/es/standards-sdk.es98.js +1 -1
  527. package/dist/es/standards-sdk.es99.js +3 -3
  528. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es142.js","sources":["../../src/utils/crypto-abstraction.ts"],"sourcesContent":["/**\n * Crypto Abstraction Layer\n *\n * Provides a unified interface for cryptographic operations that works\n * across Node.js, browser, and SSR environments.\n */\n\nimport { detectCryptoEnvironment } from './crypto-env';\nimport {\n HashAdapter,\n NodeHashAdapter,\n WebHashAdapter,\n FallbackHashAdapter,\n} from './hash-adapter';\n\n/**\n * HMAC Adapter interface\n */\nexport interface HmacAdapter {\n update(data: Buffer): HmacAdapter;\n digest(encoding?: string): string | Buffer | Promise<string | Buffer>;\n}\n\n/**\n * Node.js HMAC adapter\n */\nexport class NodeHmacAdapter implements HmacAdapter {\n constructor(private nodeHmac: any) {}\n\n update(data: Buffer): HmacAdapter {\n this.nodeHmac.update(data);\n return this;\n }\n\n digest(encoding?: string): string | Buffer {\n return this.nodeHmac.digest(encoding);\n }\n}\n\n/**\n * WebCrypto HMAC adapter\n */\nexport class WebHmacAdapter implements HmacAdapter {\n private data: Buffer[] = [];\n\n constructor(\n private key: Buffer,\n private algorithm: string = 'sha256',\n ) {}\n\n update(data: Buffer): HmacAdapter {\n this.data.push(data);\n return this;\n }\n\n async digest(encoding?: string): Promise<string | Buffer> {\n const combined = Buffer.concat(this.data);\n const keyBytes = new Uint8Array(this.key);\n const webCrypto = globalThis.crypto;\n if (!webCrypto?.subtle) {\n throw new Error('WebCrypto not available');\n }\n const keyBuffer = await webCrypto.subtle.importKey(\n 'raw',\n keyBytes,\n { name: 'HMAC', hash: this.mapAlgorithm(this.algorithm) },\n false,\n ['sign'],\n );\n\n const signature = await webCrypto.subtle.sign(\n 'HMAC',\n keyBuffer,\n new Uint8Array(combined),\n );\n\n if (encoding === 'hex') {\n return Array.from(new Uint8Array(signature))\n .map(b => b.toString(16).padStart(2, '0'))\n .join('');\n }\n\n return Buffer.from(signature);\n }\n\n private mapAlgorithm(algorithm: string): string {\n const algorithmMap: Record<string, string> = {\n sha256: 'SHA-256',\n sha1: 'SHA-1',\n sha512: 'SHA-512',\n };\n\n return algorithmMap[algorithm.toLowerCase()] || 'SHA-256';\n }\n}\n\n/**\n * Fallback HMAC adapter\n */\nexport class FallbackHmacAdapter implements HmacAdapter {\n private data: Buffer[] = [];\n\n constructor(\n private key: Buffer,\n private algorithm: string = 'sha256',\n ) {}\n\n update(data: Buffer): HmacAdapter {\n this.data.push(data);\n return this;\n }\n\n digest(encoding?: string): string {\n const combined = Buffer.concat(this.data);\n const hash = this.simpleHmac(combined, this.key);\n\n if (encoding === 'hex') {\n return hash.toString(16).padStart(8, '0');\n }\n\n return hash.toString();\n }\n\n private simpleHmac(data: Buffer, key: Buffer): number {\n let hash = 0;\n for (let i = 0; i < data.length; i++) {\n const keyByte = key[i % key.length];\n hash = ((hash << 5) - hash + data[i] + keyByte) & 0xffffffff;\n }\n return Math.abs(hash);\n }\n}\n\n/**\n * Main crypto adapter interface\n */\nexport interface CryptoAdapter {\n createHash(algorithm: string): HashAdapter;\n createHmac(algorithm: string, key: Buffer): HmacAdapter;\n pbkdf2(\n password: string,\n salt: Buffer,\n iterations: number,\n keylen: number,\n digest: string,\n ): Promise<Buffer>;\n timingSafeEqual(a: Buffer, b: Buffer): boolean;\n}\n\ndeclare const require: any;\n\n/**\n * Node.js crypto adapter\n */\nexport class NodeCryptoAdapter implements CryptoAdapter {\n private crypto: any;\n\n constructor() {\n try {\n const moduleName = 'cry' + 'pto';\n this.crypto = require(moduleName);\n } catch (error) {\n throw new Error('Node.js crypto module not available');\n }\n }\n\n createHash(algorithm: string): HashAdapter {\n return new NodeHashAdapter(this.crypto.createHash(algorithm));\n }\n\n createHmac(algorithm: string, key: Buffer): HmacAdapter {\n return new NodeHmacAdapter(this.crypto.createHmac(algorithm, key));\n }\n\n async pbkdf2(\n password: string,\n salt: Buffer,\n iterations: number,\n keylen: number,\n digest: string,\n ): Promise<Buffer> {\n return new Promise((resolve, reject) => {\n this.crypto.pbkdf2(\n password,\n salt,\n iterations,\n keylen,\n digest,\n (err: any, derivedKey: Buffer) => {\n if (err) reject(err);\n else resolve(derivedKey);\n },\n );\n });\n }\n\n timingSafeEqual(a: Buffer, b: Buffer): boolean {\n return this.crypto.timingSafeEqual(a, b);\n }\n}\n\n/**\n * WebCrypto adapter\n */\nexport class WebCryptoAdapter implements CryptoAdapter {\n createHash(algorithm: string): HashAdapter {\n return new WebHashAdapter(algorithm);\n }\n\n createHmac(algorithm: string, key: Buffer): HmacAdapter {\n return new WebHmacAdapter(key, algorithm);\n }\n\n async pbkdf2(\n password: string,\n salt: Buffer,\n iterations: number,\n keylen: number,\n digest: string,\n ): Promise<Buffer> {\n const encoder = new TextEncoder();\n const webCrypto = globalThis.crypto;\n if (!webCrypto?.subtle) {\n throw new Error('WebCrypto not available');\n }\n const keyMaterial = await webCrypto.subtle.importKey(\n 'raw',\n encoder.encode(password),\n { name: 'PBKDF2' },\n false,\n ['deriveBits'],\n );\n\n const derivedBits = await webCrypto.subtle.deriveBits(\n {\n name: 'PBKDF2',\n salt: new Uint8Array(salt),\n iterations: iterations,\n hash: this.mapDigest(digest),\n },\n keyMaterial,\n keylen * 8,\n );\n\n return Buffer.from(derivedBits);\n }\n\n timingSafeEqual(a: Buffer, b: Buffer): boolean {\n if (a.length !== b.length) return false;\n\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return result === 0;\n }\n\n private mapDigest(digest: string): string {\n const digestMap: Record<string, string> = {\n sha256: 'SHA-256',\n sha1: 'SHA-1',\n sha512: 'SHA-512',\n };\n\n return digestMap[digest.toLowerCase()] || 'SHA-256';\n }\n}\n\n/**\n * Fallback crypto adapter for SSR\n */\nexport class FallbackCryptoAdapter implements CryptoAdapter {\n createHash(algorithm: string): HashAdapter {\n return new FallbackHashAdapter(algorithm);\n }\n\n createHmac(algorithm: string, key: Buffer): HmacAdapter {\n return new FallbackHmacAdapter(key, algorithm);\n }\n\n async pbkdf2(\n password: string,\n salt: Buffer,\n iterations: number,\n keylen: number,\n digest: string,\n ): Promise<Buffer> {\n const encoder = new TextEncoder();\n const passwordBuffer = Buffer.from(encoder.encode(password));\n let result = Buffer.alloc(keylen);\n\n for (let i = 0; i < iterations; i++) {\n const combined = Buffer.concat([passwordBuffer, salt, Buffer.from([i])]);\n let hash = 0;\n for (let j = 0; j < combined.length; j++) {\n hash = ((hash << 5) - hash + combined[j]) & 0xffffffff;\n }\n result[i % keylen] ^= hash & 0xff;\n }\n\n return result;\n }\n\n timingSafeEqual(a: Buffer, b: Buffer): boolean {\n if (a.length !== b.length) return false;\n\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return result === 0;\n }\n}\n\n/**\n * Get appropriate crypto adapter for current environment\n */\nexport function getCryptoAdapter(): CryptoAdapter {\n const env = detectCryptoEnvironment();\n\n switch (env.preferredAPI) {\n case 'node':\n try {\n return new NodeCryptoAdapter();\n } catch {\n const globalCrypto =\n typeof globalThis !== 'undefined' ? globalThis.crypto : undefined;\n if (typeof globalCrypto?.subtle !== 'undefined') {\n return new WebCryptoAdapter();\n }\n return new FallbackCryptoAdapter();\n }\n case 'web':\n return new WebCryptoAdapter();\n case 'none':\n default:\n return new FallbackCryptoAdapter();\n }\n}\n\n/**\n * Convenience function for simple hash operations\n */\nexport async function hash(\n content: Buffer | string,\n algorithm: string = 'sha256',\n): Promise<string> {\n const adapter = getCryptoAdapter();\n const hasher = adapter.createHash(algorithm);\n const buffer = typeof content === 'string' ? Buffer.from(content) : content;\n const result = hasher.update(buffer).digest('hex');\n\n if (result instanceof Promise) {\n return (await result) as string;\n }\n\n return result as string;\n}\n"],"names":["hash"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es142.js","sources":["../../src/hcs-26/resolver.ts"],"sourcesContent":["import { Logger, type ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HRLResolver } from '../utils/hrl-resolver';\nimport type { MirrorNodeConfig } from '../services/mirror-node';\nimport { hash } from '../utils/crypto-abstraction';\nimport {\n hcs26DiscoveryRegisterSchema,\n hcs26DiscoveryRegisterLegacySchema,\n hcs26DiscoveryMetadataSchema,\n hcs26DiscoveryMetadataPatchSchema,\n hcs26DiscoveryUpdateSchema,\n hcs26DiscoveryUpdateLegacySchema,\n hcs26DiscoveryDeleteSchema,\n hcs26SkillManifestSchema,\n hcs26VersionRegisterSchema,\n hcs26VersionRegisterLegacySchema,\n hcs26VersionUpdateSchema,\n hcs26VersionDeleteSchema,\n type HCS26Network,\n type Hcs26DiscoveryRegister,\n type Hcs26DiscoveryRegisterLegacy,\n type Hcs26SkillManifest,\n type Hcs26VersionRegister,\n type Hcs26VersionRegisterLegacy,\n type Hcs26VersionUpdate,\n} from './types';\n\ntype Hcs26ResolverDeps = {\n network: HCS26Network;\n logger?: ILogger;\n mirrorNode?: MirrorNodeConfig;\n};\n\ntype ParsedSemver = {\n major: number;\n minor: number;\n patch: number;\n prerelease: (string | number)[];\n};\n\nfunction parseSemver(versionRaw: string): ParsedSemver | null {\n const trimmed = versionRaw.trim().replace(/^v/i, '');\n const match = trimmed.match(\n /^(\\d+)\\.(\\d+)\\.(\\d+)(?:-([0-9A-Za-z.-]+))?(?:\\+[0-9A-Za-z.-]+)?$/,\n );\n if (!match) {\n return null;\n }\n\n const major = Number(match[1]);\n const minor = Number(match[2]);\n const patch = Number(match[3]);\n if (![major, minor, patch].every(Number.isFinite)) {\n return null;\n }\n\n const prereleaseRaw = match[4];\n const prerelease = prereleaseRaw\n ? prereleaseRaw.split('.').map(part => {\n if (/^(0|[1-9]\\d*)$/.test(part)) {\n return Number(part);\n }\n return part;\n })\n : [];\n\n return { major, minor, patch, prerelease };\n}\n\nfunction compareSemver(a: ParsedSemver, b: ParsedSemver): number {\n if (a.major !== b.major) return a.major - b.major;\n if (a.minor !== b.minor) return a.minor - b.minor;\n if (a.patch !== b.patch) return a.patch - b.patch;\n\n const aHasPre = a.prerelease.length > 0;\n const bHasPre = b.prerelease.length > 0;\n if (!aHasPre && bHasPre) return 1;\n if (aHasPre && !bHasPre) return -1;\n if (!aHasPre && !bHasPre) return 0;\n\n const len = Math.max(a.prerelease.length, b.prerelease.length);\n for (let index = 0; index < len; index += 1) {\n const aId = a.prerelease[index];\n const bId = b.prerelease[index];\n if (aId === undefined && bId !== undefined) return -1;\n if (aId !== undefined && bId === undefined) return 1;\n if (aId === bId) continue;\n\n if (typeof aId === 'number' && typeof bId === 'number') {\n return aId - bId;\n }\n if (typeof aId === 'number' && typeof bId === 'string') {\n return -1;\n }\n if (typeof aId === 'string' && typeof bId === 'number') {\n return 1;\n }\n if (typeof aId === 'string' && typeof bId === 'string') {\n return aId < bId ? -1 : 1;\n }\n }\n\n return 0;\n}\n\nfunction isActiveStatus(\n status: (Hcs26VersionRegister | Hcs26VersionRegisterLegacy)['status'],\n): boolean {\n return !status || status === 'active';\n}\n\nfunction normalizeUidString(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction resolveSequenceNumber(\n primary: unknown,\n fallback: unknown,\n): number | null {\n if (typeof primary === 'number') {\n return primary;\n }\n if (typeof fallback === 'number') {\n return fallback;\n }\n return null;\n}\n\nfunction parseSequenceFromUid(uid: string): number | null {\n if (!/^\\d+$/.test(uid)) {\n return null;\n }\n const parsed = Number(uid);\n return Number.isSafeInteger(parsed) ? parsed : null;\n}\n\nfunction ensureNonEmptyString(value: unknown, field: string): string {\n if (typeof value !== 'string') {\n throw new Error(`Expected ${field} to be a string`);\n }\n const trimmed = value.trim();\n if (!trimmed) {\n throw new Error(`Expected ${field} to be a non-empty string`);\n }\n return trimmed;\n}\n\ntype NormalizedDiscoveryRegister = {\n p: 'hcs-26';\n op: 'register';\n t_id: string;\n account_id: string;\n metadata: Record<string, unknown>;\n m?: string;\n sequence_number?: number;\n};\n\ntype NormalizedDiscoveryRegisterRaw = Omit<\n NormalizedDiscoveryRegister,\n 'metadata'\n> & {\n metadata: Record<string, unknown> | string;\n};\n\nfunction mergeDiscoveryMetadata(\n base: Record<string, unknown>,\n update?: Record<string, unknown>,\n): Record<string, unknown> {\n if (!update) {\n return base;\n }\n return { ...base, ...update };\n}\n\nfunction normalizeDiscoveryRegister(\n input: Hcs26DiscoveryRegister | Hcs26DiscoveryRegisterLegacy,\n messageSequenceNumber?: number,\n): NormalizedDiscoveryRegisterRaw {\n const seq =\n typeof input.sequence_number === 'number'\n ? input.sequence_number\n : typeof messageSequenceNumber === 'number'\n ? messageSequenceNumber\n : undefined;\n\n if ('t_id' in input) {\n return {\n p: 'hcs-26',\n op: 'register',\n t_id: ensureNonEmptyString(input.t_id, 't_id'),\n account_id: ensureNonEmptyString(input.account_id, 'account_id'),\n metadata: input.metadata,\n ...(input.m ? { m: input.m } : {}),\n ...(typeof seq === 'number' ? { sequence_number: seq } : {}),\n };\n }\n\n return {\n p: 'hcs-26',\n op: 'register',\n t_id: ensureNonEmptyString(input.version_registry, 'version_registry'),\n account_id: ensureNonEmptyString(input.publisher, 'publisher'),\n metadata: input.metadata,\n ...(input.m ? { m: input.m } : {}),\n ...(typeof seq === 'number' ? { sequence_number: seq } : {}),\n };\n}\n\nexport class Hcs26SkillRegistryResolver {\n private readonly logger: ILogger;\n private readonly mirrorNode: HederaMirrorNode;\n private readonly hrlResolver: HRLResolver;\n private readonly network: HCS26Network;\n\n constructor(deps: Hcs26ResolverDeps) {\n this.network = deps.network;\n this.logger =\n deps.logger ??\n Logger.getInstance({\n module: 'HCS26Resolver',\n level: 'info',\n });\n this.mirrorNode = new HederaMirrorNode(\n deps.network,\n this.logger,\n deps.mirrorNode,\n );\n this.hrlResolver = new HRLResolver('warn');\n }\n\n private async resolveDiscoveryMetadataHrl(\n metadataHrl: string,\n mode: 'full' | 'patch',\n ): Promise<Record<string, unknown>> {\n const resolved = await this.hrlResolver.resolve(metadataHrl, {\n network: this.network,\n returnRaw: true,\n });\n\n const bytes =\n resolved.content instanceof ArrayBuffer\n ? Buffer.from(resolved.content)\n : Buffer.from(String(resolved.content), 'utf8');\n\n let raw: unknown;\n try {\n raw = JSON.parse(bytes.toString('utf8'));\n } catch {\n throw new Error('Discovery metadata HRL content is not valid JSON');\n }\n\n const schema =\n mode === 'full'\n ? hcs26DiscoveryMetadataSchema\n : hcs26DiscoveryMetadataPatchSchema;\n const parsed = schema.safeParse(raw);\n if (!parsed.success) {\n throw new Error(`Invalid discovery metadata: ${parsed.error.message}`);\n }\n return this.normalizeDiscoveryMetadataObject(\n parsed.data as unknown as Record<string, unknown>,\n );\n }\n\n private normalizeDiscoveryMetadataObject(\n metadata: Record<string, unknown>,\n ): Record<string, unknown> {\n if (\n typeof metadata.icon !== 'string' ||\n metadata.icon.trim().length === 0\n ) {\n const iconLegacy = metadata.icon_hcs1;\n if (typeof iconLegacy === 'string' && iconLegacy.trim().length > 0) {\n return { ...metadata, icon: iconLegacy };\n }\n }\n return metadata;\n }\n\n private async resolveDiscoveryMetadataUri(\n metadataUri: string,\n mode: 'full' | 'patch',\n ): Promise<Record<string, unknown>> {\n const trimmed = metadataUri.trim();\n if (trimmed.startsWith('hcs://1/')) {\n return this.resolveDiscoveryMetadataHrl(trimmed, mode);\n }\n throw new Error(`Unsupported discovery metadata URI: ${trimmed}`);\n }\n\n private resolveDiscoveryMetadataObject(params: {\n metadata: unknown;\n mode: 'full' | 'patch';\n }): Promise<Record<string, unknown>> {\n if (typeof params.metadata === 'string') {\n return this.resolveDiscoveryMetadataUri(params.metadata, params.mode);\n }\n\n const schema =\n params.mode === 'full'\n ? hcs26DiscoveryMetadataSchema\n : hcs26DiscoveryMetadataPatchSchema;\n const parsed = schema.safeParse(params.metadata);\n if (!parsed.success) {\n throw new Error(`Invalid discovery metadata: ${parsed.error.message}`);\n }\n return Promise.resolve(\n this.normalizeDiscoveryMetadataObject(\n parsed.data as unknown as Record<string, unknown>,\n ),\n );\n }\n\n async getDiscoveryRegister(params: {\n directoryTopicId: string;\n skillUid: number;\n }): Promise<NormalizedDiscoveryRegister | null> {\n const messages = await this.mirrorNode.getTopicMessages(\n params.directoryTopicId,\n {\n sequenceNumber: `eq:${params.skillUid}`,\n limit: 5,\n order: 'asc',\n },\n );\n\n for (const message of messages) {\n const parsedNew = hcs26DiscoveryRegisterSchema.safeParse(message);\n const parsedLegacy = parsedNew.success\n ? null\n : hcs26DiscoveryRegisterLegacySchema.safeParse(message);\n const parsed = parsedNew.success\n ? parsedNew\n : parsedLegacy && parsedLegacy.success\n ? parsedLegacy\n : null;\n if (!parsed) {\n continue;\n }\n\n const normalized = normalizeDiscoveryRegister(\n parsed.data as Hcs26DiscoveryRegister | Hcs26DiscoveryRegisterLegacy,\n message.sequence_number,\n );\n const seq = normalized.sequence_number;\n if (typeof seq === 'number' && seq === params.skillUid) {\n const metadata = await this.resolveDiscoveryMetadataObject({\n metadata: normalized.metadata,\n mode: 'full',\n });\n return { ...normalized, metadata };\n }\n }\n\n return null;\n }\n\n async resolveDiscoveryRecord(params: {\n directoryTopicId: string;\n skillUid: number;\n scanLimit?: number;\n }): Promise<NormalizedDiscoveryRegister | null> {\n const register = await this.getDiscoveryRegister({\n directoryTopicId: params.directoryTopicId,\n skillUid: params.skillUid,\n });\n if (!register) {\n return null;\n }\n\n const scanLimit =\n typeof params.scanLimit === 'number' && params.scanLimit > 0\n ? Math.min(5000, Math.floor(params.scanLimit))\n : 1000;\n\n const messages = await this.mirrorNode.getTopicMessages(\n params.directoryTopicId,\n {\n limit: scanLimit,\n order: 'asc',\n },\n );\n\n const uid = String(params.skillUid);\n const registerSequence = resolveSequenceNumber(\n register.sequence_number,\n params.skillUid,\n );\n\n let current: NormalizedDiscoveryRegister = register;\n for (const message of messages) {\n const messageSequence = resolveSequenceNumber(\n undefined,\n message.sequence_number,\n );\n const deleteParsed = hcs26DiscoveryDeleteSchema.safeParse(message);\n if (deleteParsed.success && deleteParsed.data.uid === uid) {\n const deleteSequence = resolveSequenceNumber(\n deleteParsed.data.sequence_number,\n messageSequence,\n );\n if (\n registerSequence !== null &&\n deleteSequence !== null &&\n deleteSequence <= registerSequence\n ) {\n continue;\n }\n return null;\n }\n\n const updateParsedNew = hcs26DiscoveryUpdateSchema.safeParse(message);\n const updateParsedLegacy = updateParsedNew.success\n ? null\n : hcs26DiscoveryUpdateLegacySchema.safeParse(message);\n const updateParsed = updateParsedNew.success\n ? updateParsedNew\n : updateParsedLegacy && updateParsedLegacy.success\n ? updateParsedLegacy\n : null;\n if (!updateParsed || updateParsed.data.uid !== uid) {\n continue;\n }\n const updateSequence = resolveSequenceNumber(\n updateParsed.data.sequence_number,\n messageSequence,\n );\n if (\n registerSequence !== null &&\n updateSequence !== null &&\n updateSequence <= registerSequence\n ) {\n continue;\n }\n\n const nextAccountId =\n 'account_id' in updateParsed.data\n ? normalizeUidString(updateParsed.data.account_id)\n : normalizeUidString(updateParsed.data.publisher);\n const nextMetadataRaw = updateParsed.data.metadata;\n const nextMetadata =\n nextMetadataRaw !== undefined\n ? await this.resolveDiscoveryMetadataObject({\n metadata: nextMetadataRaw,\n mode: 'patch',\n })\n : undefined;\n current = {\n ...current,\n ...(nextAccountId ? { account_id: nextAccountId } : {}),\n metadata: mergeDiscoveryMetadata(current.metadata, nextMetadata),\n };\n }\n\n return current;\n }\n\n async listVersionRegisters(params: {\n versionRegistryTopicId: string;\n skillUid: number;\n limit?: number;\n }): Promise<Array<Hcs26VersionRegister | Hcs26VersionRegisterLegacy>> {\n const limit =\n typeof params.limit === 'number' && params.limit > 0\n ? Math.min(1000, params.limit)\n : 500;\n const messages = await this.mirrorNode.getTopicMessages(\n params.versionRegistryTopicId,\n {\n limit,\n order: 'desc',\n },\n );\n\n const registersByUid = new Map<\n string,\n {\n register: Hcs26VersionRegister | Hcs26VersionRegisterLegacy;\n sequenceNumber: number | null;\n }\n >();\n const updatesByUid = new Map<\n string,\n Array<{ update: Hcs26VersionUpdate; sequenceNumber: number | null }>\n >();\n const deletedByUid = new Map<string, number[]>();\n\n for (const message of messages) {\n const parsedNew = hcs26VersionRegisterSchema.safeParse(message);\n const parsedLegacy = parsedNew.success\n ? null\n : hcs26VersionRegisterLegacySchema.safeParse(message);\n const registerParsed = parsedNew.success\n ? parsedNew\n : parsedLegacy && parsedLegacy.success\n ? parsedLegacy\n : null;\n\n if (registerParsed) {\n if (registerParsed.data.skill_uid !== params.skillUid) {\n continue;\n }\n const uid =\n typeof registerParsed.data.sequence_number === 'number'\n ? String(registerParsed.data.sequence_number)\n : typeof message.sequence_number === 'number'\n ? String(message.sequence_number)\n : null;\n if (uid) {\n const registerSequence = resolveSequenceNumber(\n registerParsed.data.sequence_number,\n message.sequence_number,\n );\n registersByUid.set(uid, {\n register: registerParsed.data as\n | Hcs26VersionRegister\n | Hcs26VersionRegisterLegacy,\n sequenceNumber: registerSequence,\n });\n }\n continue;\n }\n\n const updateParsed = hcs26VersionUpdateSchema.safeParse(message);\n if (updateParsed.success) {\n const uid = updateParsed.data.uid.trim();\n const list = updatesByUid.get(uid) ?? [];\n list.push({\n update: updateParsed.data,\n sequenceNumber: resolveSequenceNumber(\n updateParsed.data.sequence_number,\n message.sequence_number,\n ),\n });\n updatesByUid.set(uid, list);\n continue;\n }\n\n const deleteParsed = hcs26VersionDeleteSchema.safeParse(message);\n if (deleteParsed.success) {\n const uid = deleteParsed.data.uid.trim();\n const list = deletedByUid.get(uid) ?? [];\n const sequenceNumber = resolveSequenceNumber(\n deleteParsed.data.sequence_number,\n message.sequence_number,\n );\n if (sequenceNumber !== null) {\n list.push(sequenceNumber);\n deletedByUid.set(uid, list);\n }\n }\n }\n\n const entries: Array<Hcs26VersionRegister | Hcs26VersionRegisterLegacy> =\n [];\n for (const [uid, registerState] of registersByUid.entries()) {\n const registerSequence =\n registerState.sequenceNumber ?? parseSequenceFromUid(uid);\n const deleteSequences = deletedByUid.get(uid) ?? [];\n const hasDeleteAfterRegister = deleteSequences.some(sequence =>\n registerSequence === null ? true : sequence > registerSequence,\n );\n if (hasDeleteAfterRegister) {\n continue;\n }\n\n const updates = updatesByUid.get(uid);\n if (!updates || updates.length === 0) {\n entries.push(registerState.register);\n continue;\n }\n\n const sorted = [...updates]\n .filter(update =>\n registerSequence === null\n ? true\n : update.sequenceNumber !== null &&\n update.sequenceNumber > registerSequence,\n )\n .sort((a, b) => {\n const aSeq = a.sequenceNumber ?? 0;\n const bSeq = b.sequenceNumber ?? 0;\n return aSeq - bSeq;\n });\n if (sorted.length === 0) {\n entries.push(registerState.register);\n continue;\n }\n\n const final = sorted.reduce<\n Hcs26VersionRegister | Hcs26VersionRegisterLegacy\n >((acc, updateState) => {\n if (updateState.update.status) {\n return { ...acc, status: updateState.update.status };\n }\n return acc;\n }, registerState.register);\n entries.push(final);\n }\n\n return entries;\n }\n\n async getLatestVersionRegister(params: {\n versionRegistryTopicId: string;\n skillUid: number;\n }): Promise<(Hcs26VersionRegister | Hcs26VersionRegisterLegacy) | null> {\n const entries = await this.listVersionRegisters({\n versionRegistryTopicId: params.versionRegistryTopicId,\n skillUid: params.skillUid,\n limit: 100,\n });\n const active = entries.filter(entry => isActiveStatus(entry.status));\n if (active.length === 0) {\n return null;\n }\n\n let best = active[0];\n let bestParsed = parseSemver(best.version);\n\n for (let index = 1; index < active.length; index += 1) {\n const candidate = active[index];\n const candidateParsed = parseSemver(candidate.version);\n\n if (!bestParsed && candidateParsed) {\n best = candidate;\n bestParsed = candidateParsed;\n continue;\n }\n\n if (bestParsed && candidateParsed) {\n const cmp = compareSemver(candidateParsed, bestParsed);\n if (cmp > 0) {\n best = candidate;\n bestParsed = candidateParsed;\n continue;\n }\n\n if (cmp === 0) {\n const bestSeq =\n typeof best.sequence_number === 'number' ? best.sequence_number : 0;\n const candSeq =\n typeof candidate.sequence_number === 'number'\n ? candidate.sequence_number\n : 0;\n if (candSeq > bestSeq) {\n best = candidate;\n bestParsed = candidateParsed;\n }\n }\n }\n }\n\n return best;\n }\n\n async resolveManifest(params: {\n manifestHrl?: string;\n manifestTopicId?: string;\n }): Promise<{\n manifest: Hcs26SkillManifest;\n raw: unknown;\n sha256Hex: string;\n }> {\n const manifestHrl =\n typeof params.manifestHrl === 'string' &&\n params.manifestHrl.trim().length > 0\n ? params.manifestHrl.trim()\n : typeof params.manifestTopicId === 'string' &&\n params.manifestTopicId.trim().length > 0\n ? `hcs://1/${params.manifestTopicId.trim()}`\n : null;\n if (!manifestHrl) {\n throw new Error('Manifest HRL or topic id is required');\n }\n\n const resolved = await this.hrlResolver.resolve(manifestHrl, {\n network: this.network,\n returnRaw: true,\n });\n\n const contentType = resolved.contentType ?? '';\n if (!contentType.toLowerCase().startsWith('application/json')) {\n throw new Error(\n `Expected application/json for manifest, got ${resolved.contentType ?? 'unknown'}`,\n );\n }\n\n const bytes =\n resolved.content instanceof ArrayBuffer\n ? Buffer.from(resolved.content)\n : Buffer.from(String(resolved.content), 'utf8');\n\n const sha256Hex = await hash(bytes, 'sha256');\n\n let raw: unknown;\n try {\n raw = JSON.parse(bytes.toString('utf8'));\n } catch {\n throw new Error('Manifest content is not valid JSON');\n }\n\n const parsed = hcs26SkillManifestSchema.safeParse(raw);\n if (!parsed.success) {\n throw new Error(`Invalid HCS-26 manifest: ${parsed.error.message}`);\n }\n\n const hasSkillMd = parsed.data.files.some(file => file.path === 'SKILL.md');\n if (!hasSkillMd) {\n throw new Error(\n 'HCS-26 manifest must include SKILL.md at path \"SKILL.md\"',\n );\n }\n\n return { manifest: parsed.data, raw, sha256Hex };\n }\n\n async verifyVersionRegisterMatchesManifest(params: {\n versionRegister: Hcs26VersionRegister | Hcs26VersionRegisterLegacy;\n manifestSha256Hex: string;\n }): Promise<void> {\n const checksumRaw = params.versionRegister.checksum;\n if (!checksumRaw) {\n this.logger.warn(\n 'HCS-26 version register is missing checksum; skipping manifest verification.',\n );\n return;\n }\n\n const checksum = checksumRaw.trim();\n if (!checksum.startsWith('sha256:')) {\n throw new Error(`Unsupported checksum: ${checksum}`);\n }\n const expectedHex = checksum.slice('sha256:'.length);\n if (params.manifestSha256Hex !== expectedHex) {\n throw new Error(\n `Manifest checksum mismatch (expected ${expectedHex}, got ${params.manifestSha256Hex})`,\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}