@hashgraphonline/standards-sdk 0.1.188 → 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 (548) 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/services/registry-broker/client/agent-network.d.ts +210 -66
  61. package/dist/browser/services/registry-broker/client/agent-network.d.ts.map +1 -1
  62. package/dist/browser/services/registry-broker/client.d.ts +1 -1
  63. package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
  64. package/dist/browser/standards-sdk.browser.js +37 -10
  65. package/dist/browser/standards-sdk.browser.js.map +1 -1
  66. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
  67. package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
  68. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
  69. package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
  70. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
  71. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  72. package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
  73. package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
  74. package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
  75. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
  76. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
  77. package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
  78. package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
  79. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +57 -0
  80. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
  81. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
  82. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
  83. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
  84. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
  85. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
  86. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
  87. package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
  88. package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
  89. package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
  90. package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
  91. package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
  92. package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
  93. package/dist/browser-root/hcs-25/collectors/index.d.ts +21 -0
  94. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
  95. package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
  96. package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
  97. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
  98. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
  99. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
  100. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  101. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
  102. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
  103. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
  104. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
  105. package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
  106. package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
  107. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
  108. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  109. package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
  110. package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
  111. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
  112. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  113. package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
  114. package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
  115. package/dist/browser-root/hcs-25/index.d.ts +1 -0
  116. package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
  117. package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
  118. package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
  119. package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
  120. package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
  121. package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
  122. package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
  123. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
  124. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
  125. package/dist/browser-root/services/registry-broker/client/agent-network.d.ts +210 -66
  126. package/dist/browser-root/services/registry-broker/client/agent-network.d.ts.map +1 -1
  127. package/dist/browser-root/services/registry-broker/client.d.ts +1 -1
  128. package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -1
  129. package/dist/browser-root/standards-sdk.root-browser.js +78 -11
  130. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
  131. package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
  132. package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
  133. package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
  134. package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
  135. package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
  136. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  137. package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
  138. package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
  139. package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
  140. package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
  141. package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
  142. package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
  143. package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
  144. package/dist/cjs/hcs-25/collectors/catalog.d.ts +57 -0
  145. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
  146. package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
  147. package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
  148. package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
  149. package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
  150. package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
  151. package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
  152. package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
  153. package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
  154. package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
  155. package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
  156. package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
  157. package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
  158. package/dist/cjs/hcs-25/collectors/index.d.ts +21 -0
  159. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
  160. package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
  161. package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
  162. package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
  163. package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
  164. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
  165. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  166. package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
  167. package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
  168. package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
  169. package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
  170. package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
  171. package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
  172. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
  173. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  174. package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
  175. package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
  176. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
  177. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  178. package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
  179. package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
  180. package/dist/cjs/hcs-25/index.d.ts +1 -0
  181. package/dist/cjs/hcs-25/index.d.ts.map +1 -1
  182. package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
  183. package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
  184. package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
  185. package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
  186. package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
  187. package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
  188. package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
  189. package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
  190. package/dist/cjs/services/registry-broker/client/agent-network.d.ts +210 -66
  191. package/dist/cjs/services/registry-broker/client/agent-network.d.ts.map +1 -1
  192. package/dist/cjs/services/registry-broker/client.d.ts +1 -1
  193. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  194. package/dist/cjs/standards-sdk.cjs +2 -2
  195. package/dist/cjs/standards-sdk.cjs.map +1 -1
  196. package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
  197. package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
  198. package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
  199. package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
  200. package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
  201. package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  202. package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
  203. package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
  204. package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
  205. package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
  206. package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
  207. package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
  208. package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
  209. package/dist/es/hcs-25/collectors/catalog.d.ts +57 -0
  210. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
  211. package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
  212. package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
  213. package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
  214. package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
  215. package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
  216. package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
  217. package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
  218. package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
  219. package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
  220. package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
  221. package/dist/es/hcs-25/collectors/http.d.ts +67 -0
  222. package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
  223. package/dist/es/hcs-25/collectors/index.d.ts +21 -0
  224. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
  225. package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
  226. package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
  227. package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
  228. package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
  229. package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
  230. package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  231. package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
  232. package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
  233. package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
  234. package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
  235. package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
  236. package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
  237. package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
  238. package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  239. package/dist/es/hcs-25/collectors/types.d.ts +113 -0
  240. package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
  241. package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
  242. package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  243. package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
  244. package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
  245. package/dist/es/hcs-25/index.d.ts +1 -0
  246. package/dist/es/hcs-25/index.d.ts.map +1 -1
  247. package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
  248. package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
  249. package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
  250. package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
  251. package/dist/es/hcs-25/signals/operational.d.ts +15 -12
  252. package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
  253. package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
  254. package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
  255. package/dist/es/services/registry-broker/client/agent-network.d.ts +210 -66
  256. package/dist/es/services/registry-broker/client/agent-network.d.ts.map +1 -1
  257. package/dist/es/services/registry-broker/client.d.ts +1 -1
  258. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  259. package/dist/es/standards-sdk.es.js +141 -58
  260. package/dist/es/standards-sdk.es.js.map +1 -1
  261. package/dist/es/standards-sdk.es101.js +2 -2
  262. package/dist/es/standards-sdk.es103.js +2 -2
  263. package/dist/es/standards-sdk.es104.js +1 -1
  264. package/dist/es/standards-sdk.es106.js +1 -1
  265. package/dist/es/standards-sdk.es108.js +2 -2
  266. package/dist/es/standards-sdk.es11.js +1 -1
  267. package/dist/es/standards-sdk.es110.js +1 -1
  268. package/dist/es/standards-sdk.es111.js +2 -2
  269. package/dist/es/standards-sdk.es115.js +3 -3
  270. package/dist/es/standards-sdk.es116.js +4 -4
  271. package/dist/es/standards-sdk.es12.js +1 -1
  272. package/dist/es/standards-sdk.es120.js +4 -4
  273. package/dist/es/standards-sdk.es121.js +11 -11
  274. package/dist/es/standards-sdk.es122.js +176 -240
  275. package/dist/es/standards-sdk.es122.js.map +1 -1
  276. package/dist/es/standards-sdk.es123.js +41 -468
  277. package/dist/es/standards-sdk.es123.js.map +1 -1
  278. package/dist/es/standards-sdk.es124.js +28 -103
  279. package/dist/es/standards-sdk.es124.js.map +1 -1
  280. package/dist/es/standards-sdk.es125.js +185 -145
  281. package/dist/es/standards-sdk.es125.js.map +1 -1
  282. package/dist/es/standards-sdk.es126.js +13 -33
  283. package/dist/es/standards-sdk.es126.js.map +1 -1
  284. package/dist/es/standards-sdk.es127.js +44 -10
  285. package/dist/es/standards-sdk.es127.js.map +1 -1
  286. package/dist/es/standards-sdk.es128.js +150 -172
  287. package/dist/es/standards-sdk.es128.js.map +1 -1
  288. package/dist/es/standards-sdk.es129.js +166 -26
  289. package/dist/es/standards-sdk.es129.js.map +1 -1
  290. package/dist/es/standards-sdk.es13.js +1 -1
  291. package/dist/es/standards-sdk.es130.js +375 -18
  292. package/dist/es/standards-sdk.es130.js.map +1 -1
  293. package/dist/es/standards-sdk.es131.js +371 -139
  294. package/dist/es/standards-sdk.es131.js.map +1 -1
  295. package/dist/es/standards-sdk.es132.js +211 -180
  296. package/dist/es/standards-sdk.es132.js.map +1 -1
  297. package/dist/es/standards-sdk.es133.js +210 -770
  298. package/dist/es/standards-sdk.es133.js.map +1 -1
  299. package/dist/es/standards-sdk.es134.js +376 -10
  300. package/dist/es/standards-sdk.es134.js.map +1 -1
  301. package/dist/es/standards-sdk.es135.js +118 -564
  302. package/dist/es/standards-sdk.es135.js.map +1 -1
  303. package/dist/es/standards-sdk.es136.js +233 -608
  304. package/dist/es/standards-sdk.es136.js.map +1 -1
  305. package/dist/es/standards-sdk.es137.js +1328 -12
  306. package/dist/es/standards-sdk.es137.js.map +1 -1
  307. package/dist/es/standards-sdk.es138.js +133 -2
  308. package/dist/es/standards-sdk.es138.js.map +1 -1
  309. package/dist/es/standards-sdk.es139.js +258 -74
  310. package/dist/es/standards-sdk.es139.js.map +1 -1
  311. package/dist/es/standards-sdk.es14.js +1 -1
  312. package/dist/es/standards-sdk.es140.js +104 -38
  313. package/dist/es/standards-sdk.es140.js.map +1 -1
  314. package/dist/es/standards-sdk.es141.js +252 -2
  315. package/dist/es/standards-sdk.es141.js.map +1 -1
  316. package/dist/es/standards-sdk.es142.js +446 -203
  317. package/dist/es/standards-sdk.es142.js.map +1 -1
  318. package/dist/es/standards-sdk.es143.js +104 -1139
  319. package/dist/es/standards-sdk.es143.js.map +1 -1
  320. package/dist/es/standards-sdk.es144.js +144 -290
  321. package/dist/es/standards-sdk.es144.js.map +1 -1
  322. package/dist/es/standards-sdk.es145.js +31 -419
  323. package/dist/es/standards-sdk.es145.js.map +1 -1
  324. package/dist/es/standards-sdk.es146.js +10 -353
  325. package/dist/es/standards-sdk.es146.js.map +1 -1
  326. package/dist/es/standards-sdk.es147.js +144 -1084
  327. package/dist/es/standards-sdk.es147.js.map +1 -1
  328. package/dist/es/standards-sdk.es148.js +25 -204
  329. package/dist/es/standards-sdk.es148.js.map +1 -1
  330. package/dist/es/standards-sdk.es149.js +17 -1562
  331. package/dist/es/standards-sdk.es149.js.map +1 -1
  332. package/dist/es/standards-sdk.es15.js +1 -1
  333. package/dist/es/standards-sdk.es150.js +128 -1134
  334. package/dist/es/standards-sdk.es150.js.map +1 -1
  335. package/dist/es/standards-sdk.es151.js +199 -14
  336. package/dist/es/standards-sdk.es151.js.map +1 -1
  337. package/dist/es/standards-sdk.es152.js +774 -367
  338. package/dist/es/standards-sdk.es152.js.map +1 -1
  339. package/dist/es/standards-sdk.es153.js +10 -256
  340. package/dist/es/standards-sdk.es153.js.map +1 -1
  341. package/dist/es/standards-sdk.es154.js +567 -4
  342. package/dist/es/standards-sdk.es154.js.map +1 -1
  343. package/dist/es/standards-sdk.es155.js +619 -74
  344. package/dist/es/standards-sdk.es155.js.map +1 -1
  345. package/dist/es/standards-sdk.es156.js +12 -86
  346. package/dist/es/standards-sdk.es156.js.map +1 -1
  347. package/dist/es/standards-sdk.es157.js +2 -60
  348. package/dist/es/standards-sdk.es157.js.map +1 -1
  349. package/dist/es/standards-sdk.es158.js +87 -2547
  350. package/dist/es/standards-sdk.es158.js.map +1 -1
  351. package/dist/es/standards-sdk.es159.js +36 -155
  352. package/dist/es/standards-sdk.es159.js.map +1 -1
  353. package/dist/es/standards-sdk.es16.js +6 -6
  354. package/dist/es/standards-sdk.es160.js +2 -7
  355. package/dist/es/standards-sdk.es160.js.map +1 -1
  356. package/dist/es/standards-sdk.es161.js +223 -74
  357. package/dist/es/standards-sdk.es161.js.map +1 -1
  358. package/dist/es/standards-sdk.es162.js +1122 -47
  359. package/dist/es/standards-sdk.es162.js.map +1 -1
  360. package/dist/es/standards-sdk.es163.js +299 -187
  361. package/dist/es/standards-sdk.es163.js.map +1 -1
  362. package/dist/es/standards-sdk.es164.js +419 -23
  363. package/dist/es/standards-sdk.es164.js.map +1 -1
  364. package/dist/es/standards-sdk.es165.js +352 -55
  365. package/dist/es/standards-sdk.es165.js.map +1 -1
  366. package/dist/es/standards-sdk.es166.js +1113 -86
  367. package/dist/es/standards-sdk.es166.js.map +1 -1
  368. package/dist/es/standards-sdk.es167.js +200 -41
  369. package/dist/es/standards-sdk.es167.js.map +1 -1
  370. package/dist/es/standards-sdk.es168.js +1551 -188
  371. package/dist/es/standards-sdk.es168.js.map +1 -1
  372. package/dist/es/standards-sdk.es169.js +1161 -51
  373. package/dist/es/standards-sdk.es169.js.map +1 -1
  374. package/dist/es/standards-sdk.es170.js +15 -47
  375. package/dist/es/standards-sdk.es170.js.map +1 -1
  376. package/dist/es/standards-sdk.es171.js +445 -50
  377. package/dist/es/standards-sdk.es171.js.map +1 -1
  378. package/dist/es/standards-sdk.es172.js +255 -45
  379. package/dist/es/standards-sdk.es172.js.map +1 -1
  380. package/dist/es/standards-sdk.es173.js +4 -122
  381. package/dist/es/standards-sdk.es173.js.map +1 -1
  382. package/dist/es/standards-sdk.es174.js +77 -50
  383. package/dist/es/standards-sdk.es174.js.map +1 -1
  384. package/dist/es/standards-sdk.es175.js +85 -42
  385. package/dist/es/standards-sdk.es175.js.map +1 -1
  386. package/dist/es/standards-sdk.es176.js +60 -72
  387. package/dist/es/standards-sdk.es176.js.map +1 -1
  388. package/dist/es/standards-sdk.es177.js +2544 -65
  389. package/dist/es/standards-sdk.es177.js.map +1 -1
  390. package/dist/es/standards-sdk.es178.js +159 -44
  391. package/dist/es/standards-sdk.es178.js.map +1 -1
  392. package/dist/es/standards-sdk.es179.js +7 -36
  393. package/dist/es/standards-sdk.es179.js.map +1 -1
  394. package/dist/es/standards-sdk.es18.js +13 -13
  395. package/dist/es/standards-sdk.es180.js +86 -30
  396. package/dist/es/standards-sdk.es180.js.map +1 -1
  397. package/dist/es/standards-sdk.es181.js +65 -34
  398. package/dist/es/standards-sdk.es181.js.map +1 -1
  399. package/dist/es/standards-sdk.es182.js +196 -48
  400. package/dist/es/standards-sdk.es182.js.map +1 -1
  401. package/dist/es/standards-sdk.es183.js +23 -135
  402. package/dist/es/standards-sdk.es183.js.map +1 -1
  403. package/dist/es/standards-sdk.es184.js +54 -38
  404. package/dist/es/standards-sdk.es184.js.map +1 -1
  405. package/dist/es/standards-sdk.es185.js +102 -12470
  406. package/dist/es/standards-sdk.es185.js.map +1 -1
  407. package/dist/es/standards-sdk.es186.js +53 -52
  408. package/dist/es/standards-sdk.es186.js.map +1 -1
  409. package/dist/es/standards-sdk.es187.js +223 -103
  410. package/dist/es/standards-sdk.es187.js.map +1 -1
  411. package/dist/es/standards-sdk.es188.js +66 -75
  412. package/dist/es/standards-sdk.es188.js.map +1 -1
  413. package/dist/es/standards-sdk.es189.js +46 -197
  414. package/dist/es/standards-sdk.es189.js.map +1 -1
  415. package/dist/es/standards-sdk.es19.js +10 -10
  416. package/dist/es/standards-sdk.es190.js +60 -15
  417. package/dist/es/standards-sdk.es190.js.map +1 -1
  418. package/dist/es/standards-sdk.es191.js +47 -670
  419. package/dist/es/standards-sdk.es191.js.map +1 -1
  420. package/dist/es/standards-sdk.es192.js +112 -162
  421. package/dist/es/standards-sdk.es192.js.map +1 -1
  422. package/dist/es/standards-sdk.es193.js +53 -318
  423. package/dist/es/standards-sdk.es193.js.map +1 -1
  424. package/dist/es/standards-sdk.es194.js +54 -341
  425. package/dist/es/standards-sdk.es194.js.map +1 -1
  426. package/dist/es/standards-sdk.es195.js +72 -453
  427. package/dist/es/standards-sdk.es195.js.map +1 -1
  428. package/dist/es/standards-sdk.es196.js +75 -331
  429. package/dist/es/standards-sdk.es196.js.map +1 -1
  430. package/dist/es/standards-sdk.es197.js +44 -76
  431. package/dist/es/standards-sdk.es197.js.map +1 -1
  432. package/dist/es/standards-sdk.es198.js +30 -67
  433. package/dist/es/standards-sdk.es198.js.map +1 -1
  434. package/dist/es/standards-sdk.es199.js +30 -139
  435. package/dist/es/standards-sdk.es199.js.map +1 -1
  436. package/dist/es/standards-sdk.es2.js +2 -2
  437. package/dist/es/standards-sdk.es20.js +1 -1
  438. package/dist/es/standards-sdk.es200.js +34 -517
  439. package/dist/es/standards-sdk.es200.js.map +1 -1
  440. package/dist/es/standards-sdk.es201.js +48 -259
  441. package/dist/es/standards-sdk.es201.js.map +1 -1
  442. package/dist/es/standards-sdk.es202.js +127 -185
  443. package/dist/es/standards-sdk.es202.js.map +1 -1
  444. package/dist/es/standards-sdk.es203.js +36 -113
  445. package/dist/es/standards-sdk.es203.js.map +1 -1
  446. package/dist/es/standards-sdk.es204.js +12464 -134
  447. package/dist/es/standards-sdk.es204.js.map +1 -1
  448. package/dist/es/standards-sdk.es205.js +14 -181
  449. package/dist/es/standards-sdk.es205.js.map +1 -1
  450. package/dist/es/standards-sdk.es206.js +55 -683
  451. package/dist/es/standards-sdk.es206.js.map +1 -1
  452. package/dist/es/standards-sdk.es207.js +93 -167
  453. package/dist/es/standards-sdk.es207.js.map +1 -1
  454. package/dist/es/standards-sdk.es208.js +71 -225
  455. package/dist/es/standards-sdk.es208.js.map +1 -1
  456. package/dist/es/standards-sdk.es209.js +176 -215
  457. package/dist/es/standards-sdk.es209.js.map +1 -1
  458. package/dist/es/standards-sdk.es21.js +1 -1
  459. package/dist/es/standards-sdk.es210.js +675 -0
  460. package/dist/es/standards-sdk.es210.js.map +1 -0
  461. package/dist/es/standards-sdk.es211.js +76 -0
  462. package/dist/es/standards-sdk.es211.js.map +1 -0
  463. package/dist/es/standards-sdk.es212.js +175 -0
  464. package/dist/es/standards-sdk.es212.js.map +1 -0
  465. package/dist/es/standards-sdk.es213.js +325 -0
  466. package/dist/es/standards-sdk.es213.js.map +1 -0
  467. package/dist/es/standards-sdk.es214.js +349 -0
  468. package/dist/es/standards-sdk.es214.js.map +1 -0
  469. package/dist/es/standards-sdk.es215.js +456 -0
  470. package/dist/es/standards-sdk.es215.js.map +1 -0
  471. package/dist/es/standards-sdk.es216.js +334 -0
  472. package/dist/es/standards-sdk.es216.js.map +1 -0
  473. package/dist/es/standards-sdk.es217.js +79 -0
  474. package/dist/es/standards-sdk.es217.js.map +1 -0
  475. package/dist/es/standards-sdk.es218.js +142 -0
  476. package/dist/es/standards-sdk.es218.js.map +1 -0
  477. package/dist/es/standards-sdk.es219.js +520 -0
  478. package/dist/es/standards-sdk.es219.js.map +1 -0
  479. package/dist/es/standards-sdk.es22.js +1 -1
  480. package/dist/es/standards-sdk.es220.js +262 -0
  481. package/dist/es/standards-sdk.es220.js.map +1 -0
  482. package/dist/es/standards-sdk.es221.js +199 -0
  483. package/dist/es/standards-sdk.es221.js.map +1 -0
  484. package/dist/es/standards-sdk.es222.js +122 -0
  485. package/dist/es/standards-sdk.es222.js.map +1 -0
  486. package/dist/es/standards-sdk.es223.js +155 -0
  487. package/dist/es/standards-sdk.es223.js.map +1 -0
  488. package/dist/es/standards-sdk.es224.js +187 -0
  489. package/dist/es/standards-sdk.es224.js.map +1 -0
  490. package/dist/es/standards-sdk.es225.js +687 -0
  491. package/dist/es/standards-sdk.es225.js.map +1 -0
  492. package/dist/es/standards-sdk.es226.js +188 -0
  493. package/dist/es/standards-sdk.es226.js.map +1 -0
  494. package/dist/es/standards-sdk.es227.js +238 -0
  495. package/dist/es/standards-sdk.es227.js.map +1 -0
  496. package/dist/es/standards-sdk.es228.js +242 -0
  497. package/dist/es/standards-sdk.es228.js.map +1 -0
  498. package/dist/es/standards-sdk.es23.js +1 -1
  499. package/dist/es/standards-sdk.es24.js +1 -1
  500. package/dist/es/standards-sdk.es25.js +1 -1
  501. package/dist/es/standards-sdk.es26.js +1 -1
  502. package/dist/es/standards-sdk.es27.js +13 -13
  503. package/dist/es/standards-sdk.es30.js +2 -2
  504. package/dist/es/standards-sdk.es31.js +4 -4
  505. package/dist/es/standards-sdk.es32.js +1 -1
  506. package/dist/es/standards-sdk.es35.js +7 -7
  507. package/dist/es/standards-sdk.es36.js +4 -4
  508. package/dist/es/standards-sdk.es37.js +2 -2
  509. package/dist/es/standards-sdk.es38.js +2 -2
  510. package/dist/es/standards-sdk.es39.js +1 -1
  511. package/dist/es/standards-sdk.es4.js +2 -2
  512. package/dist/es/standards-sdk.es40.js +1 -1
  513. package/dist/es/standards-sdk.es41.js +2 -2
  514. package/dist/es/standards-sdk.es46.js +1 -1
  515. package/dist/es/standards-sdk.es5.js +2 -2
  516. package/dist/es/standards-sdk.es51.js +1 -1
  517. package/dist/es/standards-sdk.es53.js +1 -1
  518. package/dist/es/standards-sdk.es56.js +2 -2
  519. package/dist/es/standards-sdk.es59.js +1 -1
  520. package/dist/es/standards-sdk.es6.js +2 -2
  521. package/dist/es/standards-sdk.es60.js +1 -1
  522. package/dist/es/standards-sdk.es62.js +1 -1
  523. package/dist/es/standards-sdk.es63.js +2 -2
  524. package/dist/es/standards-sdk.es64.js +1 -1
  525. package/dist/es/standards-sdk.es65.js +1 -1
  526. package/dist/es/standards-sdk.es66.js +1 -1
  527. package/dist/es/standards-sdk.es67.js +8 -8
  528. package/dist/es/standards-sdk.es69.js +1 -1
  529. package/dist/es/standards-sdk.es7.js +1 -1
  530. package/dist/es/standards-sdk.es71.js +2 -2
  531. package/dist/es/standards-sdk.es72.js +3 -3
  532. package/dist/es/standards-sdk.es75.js +5 -5
  533. package/dist/es/standards-sdk.es76.js +3 -3
  534. package/dist/es/standards-sdk.es77.js +2 -2
  535. package/dist/es/standards-sdk.es78.js +1 -1
  536. package/dist/es/standards-sdk.es81.js +2 -2
  537. package/dist/es/standards-sdk.es83.js +2 -2
  538. package/dist/es/standards-sdk.es84.js +5 -5
  539. package/dist/es/standards-sdk.es85.js +1 -1
  540. package/dist/es/standards-sdk.es88.js +1 -1
  541. package/dist/es/standards-sdk.es89.js +2 -2
  542. package/dist/es/standards-sdk.es9.js +2 -2
  543. package/dist/es/standards-sdk.es90.js +4 -4
  544. package/dist/es/standards-sdk.es94.js +3 -3
  545. package/dist/es/standards-sdk.es96.js +2 -2
  546. package/dist/es/standards-sdk.es98.js +1 -1
  547. package/dist/es/standards-sdk.es99.js +3 -3
  548. package/package.json +1 -1
@@ -1,59 +1,60 @@
1
- const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
2
- const BASE = 58;
3
- function base58Encode(bytes) {
4
- if (bytes.length === 0) return "";
5
- let zeros = 0;
6
- while (zeros < bytes.length && bytes[zeros] === 0) zeros++;
7
- if (zeros === bytes.length) return "1".repeat(zeros);
8
- const digits = [0];
9
- for (let i = zeros; i < bytes.length; i++) {
10
- let carry = bytes[i];
11
- for (let j = 0; j < digits.length; j++) {
12
- const val = (digits[j] << 8) + carry;
13
- digits[j] = val % BASE;
14
- carry = val / BASE | 0;
15
- }
16
- while (carry > 0) {
17
- digits.push(carry % BASE);
18
- carry = carry / BASE | 0;
19
- }
1
+ import { clampScore } from "./standards-sdk.es119.js";
2
+ import { readString, readNumber, readSubjectMetrics, readBoolean } from "./standards-sdk.es198.js";
3
+ import "./standards-sdk.es182.js";
4
+ import "./standards-sdk.es195.js";
5
+ import "./standards-sdk.es196.js";
6
+ import "./standards-sdk.es197.js";
7
+ const DEFAULT_EXCLUDED_REGISTRIES = [
8
+ "openrouter",
9
+ "near-ai"
10
+ ];
11
+ function normalizeAvailability(subject, scoreScale, recencyWindowMinutes) {
12
+ const metadata = subject.metadata;
13
+ const probeStatus = metadata ? readString(metadata, "availabilityStatus") : null;
14
+ const stale = probeStatus === "stale";
15
+ const rawScore = metadata ? readNumber(metadata, "availabilityScore") : null;
16
+ if (rawScore !== null) {
17
+ const ratio = scoreScale === "ratio" ? rawScore : scoreScale === "percent" ? rawScore / 100 : rawScore > 1 ? rawScore / 100 : rawScore;
18
+ return {
19
+ value: clampScore(ratio * 100),
20
+ status: stale ? "stale" : "ok"
21
+ };
20
22
  }
21
- let result = "";
22
- for (let i = 0; i < zeros; i++) result += "1";
23
- for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
24
- return result;
25
- }
26
- function base58Decode(text) {
27
- if (text.length === 0) return new Uint8Array(0);
28
- let zeros = 0;
29
- while (zeros < text.length && text[zeros] === "1") zeros++;
30
- const b256 = [];
31
- for (let i = zeros; i < text.length; i++) {
32
- const ch = text[i];
33
- const val = ALPHABET.indexOf(ch);
34
- if (val === -1) throw new Error("Invalid Base58 character");
35
- let carry = val;
36
- for (let j = 0; j < b256.length; j++) {
37
- const x = b256[j] * BASE + carry;
38
- b256[j] = x & 255;
39
- carry = x >> 8;
40
- }
41
- while (carry > 0) {
42
- b256.push(carry & 255);
43
- carry >>= 8;
44
- }
23
+ const metrics = readSubjectMetrics(subject);
24
+ const minsFromLastOnline = readNumber(metrics, "minsFromLastOnline");
25
+ if (minsFromLastOnline !== null) {
26
+ return {
27
+ value: clampScore(100 * (1 - minsFromLastOnline / recencyWindowMinutes)),
28
+ status: "ok"
29
+ };
30
+ }
31
+ const isOnline = readBoolean(metrics, "isOnline");
32
+ if (isOnline !== null) {
33
+ return { value: isOnline ? 100 : 0, status: "ok" };
34
+ }
35
+ if (probeStatus === "timeout" || probeStatus === "error") {
36
+ return { value: 0, status: probeStatus };
45
37
  }
46
- for (let i = 0; i < zeros; i++) b256.push(0);
47
- b256.reverse();
48
- return Uint8Array.from(b256);
38
+ return { value: 0, status: "missing" };
49
39
  }
50
- function multibaseB58btcDecode(zText) {
51
- if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
- return base58Decode(zText.slice(1));
40
+ function createAvailabilityAdapter(options = {}) {
41
+ const scoreScale = options.scoreScale ?? "auto";
42
+ const recencyWindowMinutes = options.recencyWindowMinutes ?? 1440;
43
+ return {
44
+ id: "availability",
45
+ weight: 1,
46
+ contributionMode: "universal",
47
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
48
+ defaultComponentKey: "availability.uptime",
49
+ components: [
50
+ {
51
+ name: "uptime",
52
+ normalize: ({ subject }) => normalizeAvailability(subject, scoreScale, recencyWindowMinutes)
53
+ }
54
+ ]
55
+ };
53
56
  }
54
57
  export {
55
- base58Decode,
56
- base58Encode,
57
- multibaseB58btcDecode
58
+ createAvailabilityAdapter
58
59
  };
59
60
  //# sourceMappingURL=standards-sdk.es186.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es186.js","sources":["../../src/hcs-14/base58.ts"],"sourcesContent":["/**\n * Minimal Base58 encoder/decoder (Bitcoin alphabet) with no external dependencies.\n */\n\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst BASE = 58;\n\nfunction countLeadingZeros(bytes: Uint8Array): number {\n let zeros = 0;\n for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {\n zeros++;\n }\n return zeros;\n}\n\nexport function base58Encode(bytes: Uint8Array): string {\n if (bytes.length === 0) return '';\n\n let zeros = 0;\n while (zeros < bytes.length && bytes[zeros] === 0) zeros++;\n\n if (zeros === bytes.length) return '1'.repeat(zeros);\n\n const digits: number[] = [0];\n for (let i = zeros; i < bytes.length; i++) {\n let carry = bytes[i];\n for (let j = 0; j < digits.length; j++) {\n const val = (digits[j] << 8) + carry;\n digits[j] = val % BASE;\n carry = (val / BASE) | 0;\n }\n while (carry > 0) {\n digits.push(carry % BASE);\n carry = (carry / BASE) | 0;\n }\n }\n\n let result = '';\n for (let i = 0; i < zeros; i++) result += '1';\n for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];\n return result;\n}\n\nexport function base58Decode(text: string): Uint8Array {\n if (text.length === 0) return new Uint8Array(0);\n\n let zeros = 0;\n while (zeros < text.length && text[zeros] === '1') zeros++;\n\n const b256: number[] = [];\n for (let i = zeros; i < text.length; i++) {\n const ch = text[i];\n const val = ALPHABET.indexOf(ch);\n if (val === -1) throw new Error('Invalid Base58 character');\n\n let carry = val;\n for (let j = 0; j < b256.length; j++) {\n const x = b256[j] * BASE + carry;\n b256[j] = x & 0xff;\n carry = x >> 8;\n }\n while (carry > 0) {\n b256.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n for (let i = 0; i < zeros; i++) b256.push(0);\n b256.reverse();\n return Uint8Array.from(b256);\n}\n\nexport function multibaseB58btcDecode(zText: string): Uint8Array {\n if (!zText.startsWith('z')) throw new Error('Invalid multibase base58btc');\n return base58Decode(zText.slice(1));\n}\n"],"names":[],"mappings":"AAIA,MAAM,WAAW;AACjB,MAAM,OAAO;AAUN,SAAS,aAAa,OAA2B;AACtD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,MAAI,QAAQ;AACZ,SAAO,QAAQ,MAAM,UAAU,MAAM,KAAK,MAAM,EAAG;AAEnD,MAAI,UAAU,MAAM,OAAQ,QAAO,IAAI,OAAO,KAAK;AAEnD,QAAM,SAAmB,CAAC,CAAC;AAC3B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,QAAI,QAAQ,MAAM,CAAC;AACnB,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,OAAO,OAAO,CAAC,KAAK,KAAK;AAC/B,aAAO,CAAC,IAAI,MAAM;AAClB,cAAS,MAAM,OAAQ;AAAA,IACzB;AACA,WAAO,QAAQ,GAAG;AAChB,aAAO,KAAK,QAAQ,IAAI;AACxB,cAAS,QAAQ,OAAQ;AAAA,IAC3B;AAAA,EACF;AAEA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,WAAU;AAC1C,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,SAAS,OAAO,CAAC,CAAC;AACzE,SAAO;AACT;AAEO,SAAS,aAAa,MAA0B;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO,IAAI,WAAW,CAAC;AAE9C,MAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,UAAU,KAAK,KAAK,MAAM,IAAK;AAEnD,QAAM,OAAiB,CAAA;AACvB,WAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK;AACxC,UAAM,KAAK,KAAK,CAAC;AACjB,UAAM,MAAM,SAAS,QAAQ,EAAE;AAC/B,QAAI,QAAQ,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAE1D,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,IAAI,KAAK,CAAC,IAAI,OAAO;AAC3B,WAAK,CAAC,IAAI,IAAI;AACd,cAAQ,KAAK;AAAA,IACf;AACA,WAAO,QAAQ,GAAG;AAChB,WAAK,KAAK,QAAQ,GAAI;AACtB,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,MAAK,KAAK,CAAC;AAC3C,OAAK,QAAA;AACL,SAAO,WAAW,KAAK,IAAI;AAC7B;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,MAAI,CAAC,MAAM,WAAW,GAAG,EAAG,OAAM,IAAI,MAAM,6BAA6B;AACzE,SAAO,aAAa,MAAM,MAAM,CAAC,CAAC;AACpC;"}
1
+ {"version":3,"file":"standards-sdk.es186.js","sources":["../../src/hcs-25/adapters/availability.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n readBoolean,\n readNumber,\n readString,\n readSubjectMetrics,\n} from '../signals';\n\n/**\n * Options for the availability adapter.\n */\nexport interface Hcs25AvailabilityAdapterOptions {\n /**\n * How to interpret `availabilityScore`. `auto` (the default) treats\n * values up to and including one as a ratio and larger values as an\n * already-normalized percent.\n */\n scoreScale?: 'ratio' | 'percent' | 'auto';\n /** Recency window in minutes for last-seen decay. Defaults to 1440. */\n recencyWindowMinutes?: number;\n /** Registries where reachability is not meaningful. */\n excludeRegistries?: readonly string[];\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\nfunction normalizeAvailability(\n subject: Hcs25Subject,\n scoreScale: 'ratio' | 'percent' | 'auto',\n recencyWindowMinutes: number,\n): Hcs25NormalizedValue {\n const metadata = subject.metadata;\n const probeStatus = metadata\n ? readString(metadata, 'availabilityStatus')\n : null;\n const stale = probeStatus === 'stale';\n const rawScore = metadata ? readNumber(metadata, 'availabilityScore') : null;\n if (rawScore !== null) {\n const ratio =\n scoreScale === 'ratio'\n ? rawScore\n : scoreScale === 'percent'\n ? rawScore / 100\n : rawScore > 1\n ? rawScore / 100\n : rawScore;\n return {\n value: clampScore(ratio * 100),\n status: stale ? 'stale' : 'ok',\n };\n }\n\n const metrics = readSubjectMetrics(subject);\n const minsFromLastOnline = readNumber(metrics, 'minsFromLastOnline');\n if (minsFromLastOnline !== null) {\n return {\n value: clampScore(100 * (1 - minsFromLastOnline / recencyWindowMinutes)),\n status: 'ok',\n };\n }\n\n const isOnline = readBoolean(metrics, 'isOnline');\n if (isOnline !== null) {\n return { value: isOnline ? 100 : 0, status: 'ok' };\n }\n\n if (probeStatus === 'timeout' || probeStatus === 'error') {\n return { value: 0, status: probeStatus };\n }\n\n return { value: 0, status: 'missing' };\n}\n\n/**\n * Creates the `availability` adapter: rewards reachable endpoints and\n * penalizes long offline windows using a linear 24-hour recency decay.\n */\nexport function createAvailabilityAdapter(\n options: Hcs25AvailabilityAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const scoreScale = options.scoreScale ?? 'auto';\n const recencyWindowMinutes = options.recencyWindowMinutes ?? 1440;\n\n return {\n id: 'availability',\n weight: 1,\n contributionMode: 'universal',\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n defaultComponentKey: 'availability.uptime',\n components: [\n {\n name: 'uptime',\n normalize: ({ subject }) =>\n normalizeAvailability(subject, scoreScale, recencyWindowMinutes),\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;AA6BA,MAAM,8BAAiD;AAAA,EACrD;AAAA,EACA;AACF;AAEA,SAAS,sBACP,SACA,YACA,sBACsB;AACtB,QAAM,WAAW,QAAQ;AACzB,QAAM,cAAc,WAChB,WAAW,UAAU,oBAAoB,IACzC;AACJ,QAAM,QAAQ,gBAAgB;AAC9B,QAAM,WAAW,WAAW,WAAW,UAAU,mBAAmB,IAAI;AACxE,MAAI,aAAa,MAAM;AACrB,UAAM,QACJ,eAAe,UACX,WACA,eAAe,YACb,WAAW,MACX,WAAW,IACT,WAAW,MACX;AACV,WAAO;AAAA,MACL,OAAO,WAAW,QAAQ,GAAG;AAAA,MAC7B,QAAQ,QAAQ,UAAU;AAAA,IAAA;AAAA,EAE9B;AAEA,QAAM,UAAU,mBAAmB,OAAO;AAC1C,QAAM,qBAAqB,WAAW,SAAS,oBAAoB;AACnE,MAAI,uBAAuB,MAAM;AAC/B,WAAO;AAAA,MACL,OAAO,WAAW,OAAO,IAAI,qBAAqB,qBAAqB;AAAA,MACvE,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAEA,QAAM,WAAW,YAAY,SAAS,UAAU;AAChD,MAAI,aAAa,MAAM;AACrB,WAAO,EAAE,OAAO,WAAW,MAAM,GAAG,QAAQ,KAAA;AAAA,EAC9C;AAEA,MAAI,gBAAgB,aAAa,gBAAgB,SAAS;AACxD,WAAO,EAAE,OAAO,GAAG,QAAQ,YAAA;AAAA,EAC7B;AAEA,SAAO,EAAE,OAAO,GAAG,QAAQ,UAAA;AAC7B;AAMO,SAAS,0BACd,UAA2C,IACnB;AACxB,QAAM,aAAa,QAAQ,cAAc;AACzC,QAAM,uBAAuB,QAAQ,wBAAwB;AAE7D,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,qBAAqB;AAAA,IACrB,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,QAAA,MACZ,sBAAsB,SAAS,YAAY,oBAAoB;AAAA,MAAA;AAAA,IACnE;AAAA,EACF;AAEJ;"}
@@ -1,114 +1,234 @@
1
- import { isBrowser } from "./standards-sdk.es141.js";
2
- let nodeRequire;
3
- const isNodeRuntime = () => typeof process !== "undefined" && Boolean(process.versions?.node);
4
- function resolveBuiltinModuleLoader() {
5
- if (typeof process === "undefined") {
6
- return void 0;
7
- }
8
- return process.getBuiltinModule;
9
- }
10
- function getNodeRequireSync() {
11
- try {
12
- const builtinModuleLoader = resolveBuiltinModuleLoader();
13
- const moduleNamespace = builtinModuleLoader?.("module");
14
- if (typeof moduleNamespace?.createRequire === "function") {
15
- const requireFromModule = moduleNamespace.createRequire(import.meta.url);
16
- if (typeof requireFromModule.resolve === "function") {
17
- return requireFromModule;
1
+ import { clampScore } from "./standards-sdk.es119.js";
2
+ import { readSubjectAdditional, readNumber, readString } from "./standards-sdk.es198.js";
3
+ import "./standards-sdk.es182.js";
4
+ import "./standards-sdk.es195.js";
5
+ import "./standards-sdk.es196.js";
6
+ import "./standards-sdk.es197.js";
7
+ const DEFAULT_MODEL_REGISTRIES = ["openrouter", "near-ai"];
8
+ const MISSING = { value: 0, status: "missing" };
9
+ const DEFAULT_MODEL_TIERS = [
10
+ {
11
+ score: 95,
12
+ patterns: [
13
+ "gpt-5",
14
+ "gpt-4.5",
15
+ "o3",
16
+ "o4-mini",
17
+ "claude-opus-4",
18
+ "claude-4-opus",
19
+ "gemini-3",
20
+ "grok-4"
21
+ ]
22
+ },
23
+ {
24
+ score: 85,
25
+ patterns: [
26
+ "claude-sonnet-4",
27
+ "claude-4-sonnet",
28
+ "claude-3-7-sonnet",
29
+ "gemini-2.5-pro",
30
+ "deepseek-v3",
31
+ "deepseek-r1",
32
+ "llama-4-maverick",
33
+ "qwen3-235b",
34
+ "grok-3"
35
+ ]
36
+ },
37
+ {
38
+ score: 70,
39
+ patterns: [
40
+ "gpt-4o",
41
+ "gemini-2.5-flash",
42
+ "claude-haiku",
43
+ "llama-4-scout",
44
+ "qwen3-32b",
45
+ "mistral-large"
46
+ ]
47
+ },
48
+ {
49
+ score: 55,
50
+ patterns: ["llama-3.3", "llama-3.1", "qwen", "mistral", "gemma", "phi-"]
51
+ },
52
+ { score: 35, patterns: ["llama-2", "gpt-3.5", "gemini-1"] }
53
+ ];
54
+ const DEFAULT_MODEL_ID_KEYS = [
55
+ "openrouterModelId",
56
+ "modelId",
57
+ "model"
58
+ ];
59
+ function createOpenRouterEvalsAdapter(options = {}) {
60
+ const lowCoverageMultiplier = options.lowCoverageMultiplier ?? 0.5;
61
+ return {
62
+ id: "openrouter-evals",
63
+ weight: 0.5,
64
+ contributionMode: "scoped",
65
+ includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
66
+ defaultComponentKey: "openrouter-evals.score",
67
+ components: [
68
+ {
69
+ name: "score",
70
+ normalize: ({ subject }) => {
71
+ const additional = readSubjectAdditional(subject);
72
+ const score = readNumber(additional, "openrouterEvalScore");
73
+ const status = readString(additional, "openrouterEvalStatus");
74
+ if (score === null || status === "missing") {
75
+ if (status === "timeout" || status === "error") {
76
+ return { value: 0, status };
77
+ }
78
+ return MISSING;
79
+ }
80
+ const multiplier = status === "low-coverage" ? lowCoverageMultiplier : 1;
81
+ return {
82
+ value: clampScore(score * multiplier),
83
+ status: status === "stale" ? "stale" : "ok"
84
+ };
85
+ }
18
86
  }
19
- }
20
- const globalObject = typeof global !== "undefined" ? global : globalThis;
21
- const runtimeRequire = globalObject.process?.mainModule?.require ?? globalObject.require ?? Function('return typeof require === "function" ? require : undefined;')();
22
- if (typeof runtimeRequire === "function" && typeof runtimeRequire.resolve === "function") {
23
- return runtimeRequire;
24
- }
25
- } catch {
26
- return null;
27
- }
28
- return null;
29
- }
30
- function isModuleNotFound(specifier, error) {
31
- if (!error || typeof error !== "object") {
32
- return false;
33
- }
34
- const code = Reflect.get(error, "code");
35
- const message = Reflect.get(error, "message");
36
- const messageText = typeof message === "string" ? message : "";
37
- if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
38
- return messageText.includes(specifier);
39
- }
40
- if (messageText) {
41
- const lowered = messageText.toLowerCase();
42
- if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
43
- return lowered.includes(specifier.toLowerCase());
44
- }
45
- }
46
- return false;
87
+ ]
88
+ };
47
89
  }
48
- async function resolveNodeRequire() {
49
- if (nodeRequire !== void 0) {
50
- return nodeRequire;
51
- }
52
- if (isBrowser && !isNodeRuntime()) {
53
- nodeRequire = null;
54
- return nodeRequire;
55
- }
56
- try {
57
- nodeRequire = getNodeRequireSync();
58
- } catch {
59
- nodeRequire = null;
60
- }
61
- return nodeRequire;
90
+ function createChatbotArenaAdapter(includeRegistries) {
91
+ return {
92
+ id: "chatbot-arena",
93
+ weight: 6,
94
+ contributionMode: "scoped",
95
+ includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
96
+ defaultComponentKey: "chatbot-arena.score",
97
+ components: [
98
+ {
99
+ name: "score",
100
+ normalize: ({ subject }) => {
101
+ const additional = readSubjectAdditional(subject);
102
+ const score = readNumber(additional, "chatbotArenaEvalScore");
103
+ const status = readString(additional, "chatbotArenaEvalStatus");
104
+ if (score === null) {
105
+ if (status === "timeout" || status === "error") {
106
+ return { value: 0, status };
107
+ }
108
+ return MISSING;
109
+ }
110
+ if (status === "missing") {
111
+ return MISSING;
112
+ }
113
+ return {
114
+ value: clampScore(score),
115
+ status: status === "stale" ? "stale" : "ok"
116
+ };
117
+ }
118
+ }
119
+ ]
120
+ };
62
121
  }
63
- async function dynamicImport(specifier) {
64
- try {
65
- return await import(
66
- /* webpackIgnore: true */
67
- specifier
68
- );
69
- } catch (error) {
70
- if (isModuleNotFound(specifier, error)) {
71
- return null;
72
- }
73
- throw error;
74
- }
122
+ function createHuggingFaceModelIndexAdapter(includeRegistries) {
123
+ return {
124
+ id: "huggingface-model-index",
125
+ weight: 0.8,
126
+ contributionMode: "conditional",
127
+ includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
128
+ defaultComponentKey: "huggingface-model-index.score",
129
+ components: [
130
+ {
131
+ name: "score",
132
+ nonScorableWhenUnavailable: true,
133
+ normalize: ({ subject }) => {
134
+ const additional = readSubjectAdditional(subject);
135
+ const score = readNumber(additional, "huggingFaceEvalScore") ?? readNumber(additional, "huggingFaceSignalScore");
136
+ const status = readString(additional, "huggingFaceEvalStatus");
137
+ const mode = readString(additional, "huggingFaceEvalMode");
138
+ if (score === null || mode === "missing" || status === "missing") {
139
+ if (status === "timeout" || status === "error") {
140
+ return { value: 0, status };
141
+ }
142
+ return MISSING;
143
+ }
144
+ return {
145
+ value: clampScore(score),
146
+ status: status === "stale" ? "stale" : "ok"
147
+ };
148
+ }
149
+ }
150
+ ]
151
+ };
75
152
  }
76
- async function optionalImport(specifier, options = {}) {
77
- if (isBrowser && !isNodeRuntime()) {
78
- return dynamicImport(specifier);
79
- }
80
- if (!options.preferImport) {
81
- const requireFn = await resolveNodeRequire();
82
- if (requireFn) {
83
- try {
84
- return requireFn(specifier);
85
- } catch (error) {
86
- if (!isModuleNotFound(specifier, error)) {
87
- throw error;
153
+ function createOpenLlmLeaderboardAdapter(includeRegistries) {
154
+ return {
155
+ id: "openllm-leaderboard",
156
+ weight: 1,
157
+ contributionMode: "conditional",
158
+ includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
159
+ defaultComponentKey: "openllm-leaderboard.score",
160
+ components: [
161
+ {
162
+ name: "score",
163
+ nonScorableWhenUnavailable: true,
164
+ normalize: ({ subject }) => {
165
+ const additional = readSubjectAdditional(subject);
166
+ const score = readNumber(additional, "openLlmEvalScore");
167
+ const status = readString(additional, "openLlmEvalStatus");
168
+ if (score === null || status === "missing") {
169
+ if (status === "timeout" || status === "error") {
170
+ return { value: 0, status };
171
+ }
172
+ return MISSING;
173
+ }
174
+ return {
175
+ value: clampScore(score),
176
+ status: status === "stale" ? "stale" : "ok"
177
+ };
88
178
  }
89
179
  }
90
- }
91
- }
92
- return dynamicImport(specifier);
180
+ ]
181
+ };
93
182
  }
94
- function optionalImportSync(specifier) {
95
- if (isBrowser && !isNodeRuntime()) {
96
- return null;
97
- }
98
- try {
99
- const requireFn = getNodeRequireSync();
100
- if (requireFn) {
101
- return requireFn(specifier);
102
- }
103
- } catch (error) {
104
- if (!isModuleNotFound(specifier, error)) {
105
- throw error;
106
- }
107
- }
108
- return null;
183
+ function createModelTierAdapter(options = {}) {
184
+ const tiers = options.tiers ?? DEFAULT_MODEL_TIERS;
185
+ const defaultScore = options.defaultScore ?? 50;
186
+ const modelIdKeys = options.modelIdKeys ?? DEFAULT_MODEL_ID_KEYS;
187
+ return {
188
+ id: "model-tier",
189
+ weight: 2,
190
+ contributionMode: "conditional",
191
+ includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
192
+ defaultComponentKey: "model-tier.score",
193
+ components: [
194
+ {
195
+ name: "score",
196
+ nonScorableWhenUnavailable: true,
197
+ normalize: ({ subject }) => {
198
+ const additional = readSubjectAdditional(subject);
199
+ const hasStrongCoverage = readString(additional, "openrouterEvalStatus") === "ok";
200
+ const hasIndependentEvals = [
201
+ "chatbotArenaEvalStatus",
202
+ "huggingFaceEvalStatus",
203
+ "openLlmEvalStatus"
204
+ ].some((key) => readString(additional, key) === "ok");
205
+ if (hasStrongCoverage || hasIndependentEvals) {
206
+ return MISSING;
207
+ }
208
+ const modelId = modelIdKeys.map((key) => readString(additional, key)).find((value) => value !== null);
209
+ if (modelId === null) {
210
+ return MISSING;
211
+ }
212
+ const normalizedId = modelId.toLowerCase();
213
+ const tier = tiers.find(
214
+ (entry) => entry.patterns.some(
215
+ (pattern) => normalizedId.includes(pattern.toLowerCase())
216
+ )
217
+ );
218
+ return {
219
+ value: clampScore(tier ? tier.score : defaultScore),
220
+ status: "ok"
221
+ };
222
+ }
223
+ }
224
+ ]
225
+ };
109
226
  }
110
227
  export {
111
- optionalImport,
112
- optionalImportSync
228
+ createChatbotArenaAdapter,
229
+ createHuggingFaceModelIndexAdapter,
230
+ createModelTierAdapter,
231
+ createOpenLlmLeaderboardAdapter,
232
+ createOpenRouterEvalsAdapter
113
233
  };
114
234
  //# sourceMappingURL=standards-sdk.es187.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es187.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nconst isNodeRuntime = (): boolean =>\n typeof process !== 'undefined' && Boolean(process.versions?.node);\n\ntype NodeModuleNamespace = {\n createRequire: (path: string | URL) => NodeRequire;\n};\n\ntype BuiltinModuleLoader = <TModule>(name: string) => TModule | undefined;\n\nfunction resolveBuiltinModuleLoader(): BuiltinModuleLoader | undefined {\n if (typeof process === 'undefined') {\n return undefined;\n }\n\n return (\n process as typeof process & {\n getBuiltinModule?: BuiltinModuleLoader;\n }\n ).getBuiltinModule;\n}\n\nfunction getNodeRequireSync(): NodeRequire | null {\n try {\n const builtinModuleLoader = resolveBuiltinModuleLoader();\n const moduleNamespace = builtinModuleLoader?.('module') as\n | Partial<NodeModuleNamespace>\n | undefined;\n if (typeof moduleNamespace?.createRequire === 'function') {\n const requireFromModule = moduleNamespace.createRequire(import.meta.url);\n if (typeof requireFromModule.resolve === 'function') {\n return requireFromModule;\n }\n }\n\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const runtimeRequire =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require ??\n Function('return typeof require === \"function\" ? require : undefined;')();\n\n if (\n typeof runtimeRequire === 'function' &&\n typeof (runtimeRequire as NodeRequire).resolve === 'function'\n ) {\n return runtimeRequire as NodeRequire;\n }\n } catch {\n return null;\n }\n\n return null;\n}\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser && !isNodeRuntime()) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n nodeRequire = getNodeRequireSync();\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(/* webpackIgnore: true */ specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser && !isNodeRuntime()) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser && !isNodeRuntime()) {\n return null;\n }\n\n try {\n const requireFn = getNodeRequireSync();\n if (requireFn) {\n return requireFn(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":";AAEA,IAAI;AAEJ,MAAM,gBAAgB,MACpB,OAAO,YAAY,eAAe,QAAQ,QAAQ,UAAU,IAAI;AAQlE,SAAS,6BAA8D;AACrE,MAAI,OAAO,YAAY,aAAa;AAClC,WAAO;AAAA,EACT;AAEA,SACE,QAGA;AACJ;AAEA,SAAS,qBAAyC;AAChD,MAAI;AACF,UAAM,sBAAsB,2BAAA;AAC5B,UAAM,kBAAkB,sBAAsB,QAAQ;AAGtD,QAAI,OAAO,iBAAiB,kBAAkB,YAAY;AACxD,YAAM,oBAAoB,gBAAgB,cAAc,YAAY,GAAG;AACvE,UAAI,OAAO,kBAAkB,YAAY,YAAY;AACnD,eAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,iBACJ,aAAa,SAAS,YAAY,WACjC,aAA2C,WAC5C,SAAS,6DAA6D,EAAA;AAExE,QACE,OAAO,mBAAmB,cAC1B,OAAQ,eAA+B,YAAY,YACnD;AACA,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,iBAAiB,WAAmB,OAAyB;AACpE,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,IAAI,OAAO,MAAM;AACtC,QAAM,UAAU,QAAQ,IAAI,OAAO,SAAS;AAC5C,QAAM,cAAc,OAAO,YAAY,WAAW,UAAU;AAE5D,MAAI,OAAO,SAAS,YAAY,KAAK,SAAS,kBAAkB,GAAG;AACjE,WAAO,YAAY,SAAS,SAAS;AAAA,EACvC;AAEA,MAAI,aAAa;AACf,UAAM,UAAU,YAAY,YAAA;AAC5B,QACE,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,kBAAkB,KACnC,QAAQ,SAAS,qBAAqB,GACtC;AACA,aAAO,QAAQ,SAAS,UAAU,YAAA,CAAa;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe,qBAAkD;AAC/D,MAAI,gBAAgB,QAAW;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,CAAC,iBAAiB;AACjC,kBAAc;AACd,WAAO;AAAA,EACT;AAEA,MAAI;AACF,kBAAc,mBAAA;AAAA,EAChB,QAAQ;AACN,kBAAc;AAAA,EAChB;AAEA,SAAO;AACT;AAEA,eAAe,cAAiB,WAAsC;AACpE,MAAI;AACF,WAAQ,MAAM;AAAA;AAAA,MAAiC;AAAA;AAAA,EACjD,SAAS,OAAO;AACd,QAAI,iBAAiB,WAAW,KAAK,GAAG;AACtC,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAMA,eAAsB,eACpB,WACA,UAAiC,IACd;AACnB,MAAI,aAAa,CAAC,iBAAiB;AACjC,WAAO,cAAiB,SAAS;AAAA,EACnC;AAEA,MAAI,CAAC,QAAQ,cAAc;AACzB,UAAM,YAAY,MAAM,mBAAA;AACxB,QAAI,WAAW;AACb,UAAI;AACF,eAAO,UAAU,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,YAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,cAAiB,SAAS;AACnC;AAEO,SAAS,mBAAsB,WAA6B;AACjE,MAAI,aAAa,CAAC,iBAAiB;AACjC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,YAAY,mBAAA;AAClB,QAAI,WAAW;AACb,aAAO,UAAU,SAAS;AAAA,IAC5B;AAAA,EACF,SAAS,OAAO;AACd,QAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;"}
1
+ {"version":3,"file":"standards-sdk.es187.js","sources":["../../src/hcs-25/adapters/model-evals.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n readNumber,\n readString,\n readSubjectAdditional,\n type Hcs25JsonObject,\n} from '../signals';\n\n/**\n * Options for the OpenRouter benchmarks adapter.\n */\nexport interface Hcs25OpenRouterEvalsAdapterOptions {\n /** Multiplier applied to scores whose coverage status is `low-coverage`. */\n lowCoverageMultiplier?: number;\n /** Model catalog registries where the adapter applies. */\n includeRegistries?: readonly string[];\n}\n\n/**\n * A heuristic model tier: a score plus the lowercase identifier patterns\n * that map to it. The first matching tier wins.\n */\nexport interface Hcs25ModelTier {\n score: number;\n patterns: readonly string[];\n}\n\n/**\n * Options for the fallback model-tier adapter.\n */\nexport interface Hcs25ModelTierAdapterOptions {\n /** Tier table; the first matching tier wins. */\n tiers?: readonly Hcs25ModelTier[];\n /** Score for models that match no tier. Default 50. */\n defaultScore?: number;\n /** Metadata keys checked for the model identifier, in order. */\n modelIdKeys?: readonly string[];\n /** Model catalog registries where the adapter applies. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_MODEL_REGISTRIES: readonly string[] = ['openrouter', 'near-ai'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nconst DEFAULT_MODEL_TIERS: readonly Hcs25ModelTier[] = [\n {\n score: 95,\n patterns: [\n 'gpt-5',\n 'gpt-4.5',\n 'o3',\n 'o4-mini',\n 'claude-opus-4',\n 'claude-4-opus',\n 'gemini-3',\n 'grok-4',\n ],\n },\n {\n score: 85,\n patterns: [\n 'claude-sonnet-4',\n 'claude-4-sonnet',\n 'claude-3-7-sonnet',\n 'gemini-2.5-pro',\n 'deepseek-v3',\n 'deepseek-r1',\n 'llama-4-maverick',\n 'qwen3-235b',\n 'grok-3',\n ],\n },\n {\n score: 70,\n patterns: [\n 'gpt-4o',\n 'gemini-2.5-flash',\n 'claude-haiku',\n 'llama-4-scout',\n 'qwen3-32b',\n 'mistral-large',\n ],\n },\n {\n score: 55,\n patterns: ['llama-3.3', 'llama-3.1', 'qwen', 'mistral', 'gemma', 'phi-'],\n },\n { score: 35, patterns: ['llama-2', 'gpt-3.5', 'gemini-1'] },\n];\n\nconst DEFAULT_MODEL_ID_KEYS: readonly string[] = [\n 'openrouterModelId',\n 'modelId',\n 'model',\n];\n\n/**\n * Creates the `openrouter-evals` adapter: exposes a coverage-aware\n * benchmark component for model catalog entries, down-weighting\n * low-coverage scores.\n */\nexport function createOpenRouterEvalsAdapter(\n options: Hcs25OpenRouterEvalsAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const lowCoverageMultiplier = options.lowCoverageMultiplier ?? 0.5;\n\n return {\n id: 'openrouter-evals',\n weight: 0.5,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'openrouter-evals.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional: Hcs25JsonObject = readSubjectAdditional(subject);\n const score = readNumber(additional, 'openrouterEvalScore');\n const status = readString(additional, 'openrouterEvalStatus');\n\n if (score === null || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n\n const multiplier =\n status === 'low-coverage' ? lowCoverageMultiplier : 1;\n return {\n value: clampScore(score * multiplier),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `chatbot-arena` adapter: exposes an independent\n * preference-leaderboard signal as a normalized component.\n */\nexport function createChatbotArenaAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'chatbot-arena',\n weight: 6,\n contributionMode: 'scoped',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'chatbot-arena.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'chatbotArenaEvalScore');\n const status = readString(additional, 'chatbotArenaEvalStatus');\n\n if (score === null) {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n if (status === 'missing') {\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `huggingface-model-index` adapter: exposes Hugging\n * Face-derived model-index and popularity signals, contributing only when\n * coverage exists.\n */\nexport function createHuggingFaceModelIndexAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'huggingface-model-index',\n weight: 0.8,\n contributionMode: 'conditional',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'huggingface-model-index.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score =\n readNumber(additional, 'huggingFaceEvalScore') ??\n readNumber(additional, 'huggingFaceSignalScore');\n const status = readString(additional, 'huggingFaceEvalStatus');\n const mode = readString(additional, 'huggingFaceEvalMode');\n\n if (score === null || mode === 'missing' || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `openllm-leaderboard` adapter: exposes a benchmark-derived\n * leaderboard score, contributing only when a record exists.\n */\nexport function createOpenLlmLeaderboardAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'openllm-leaderboard',\n weight: 1,\n contributionMode: 'conditional',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'openllm-leaderboard.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'openLlmEvalScore');\n const status = readString(additional, 'openLlmEvalStatus');\n\n if (score === null || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `model-tier` adapter: a deterministic fallback heuristic for\n * model catalogs with sparse external-eval coverage. It suppresses itself\n * when OpenRouter coverage is sufficient or any independent eval source\n * exists, per the specification's fallback-only guidance.\n */\nexport function createModelTierAdapter(\n options: Hcs25ModelTierAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const tiers = options.tiers ?? DEFAULT_MODEL_TIERS;\n const defaultScore = options.defaultScore ?? 50;\n const modelIdKeys = options.modelIdKeys ?? DEFAULT_MODEL_ID_KEYS;\n\n return {\n id: 'model-tier',\n weight: 2,\n contributionMode: 'conditional',\n includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'model-tier.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n\n const hasStrongCoverage =\n readString(additional, 'openrouterEvalStatus') === 'ok';\n const hasIndependentEvals = [\n 'chatbotArenaEvalStatus',\n 'huggingFaceEvalStatus',\n 'openLlmEvalStatus',\n ].some(key => readString(additional, key) === 'ok');\n if (hasStrongCoverage || hasIndependentEvals) {\n return MISSING;\n }\n\n const modelId = modelIdKeys\n .map(key => readString(additional, key))\n .find((value): value is string => value !== null);\n if (modelId === null) {\n return MISSING;\n }\n\n const normalizedId = modelId.toLowerCase();\n const tier = tiers.find(entry =>\n entry.patterns.some(pattern =>\n normalizedId.includes(pattern.toLowerCase()),\n ),\n );\n return {\n value: clampScore(tier ? tier.score : defaultScore),\n status: 'ok',\n };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":"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"}