@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 +1 @@
1
- {"version":3,"file":"standards-sdk.es129.js","sources":["../../src/utils/logger-adapter.ts"],"sourcesContent":["import { Logger, ILogger } from './logger';\n\n/**\n * Creates a Logger instance that wraps an ILogger implementation\n * This is needed for compatibility with external libraries that expect the concrete Logger type\n */\nexport function createLoggerAdapter(iLogger: ILogger): Logger {\n const adapter = Object.create(Logger.prototype);\n\n adapter.debug = (...args: any[]) => iLogger.debug(...args);\n adapter.info = (...args: any[]) => iLogger.info(...args);\n adapter.warn = (...args: any[]) => iLogger.warn(...args);\n adapter.error = (...args: any[]) => iLogger.error(...args);\n adapter.trace = (...args: any[]) => iLogger.trace(...args);\n adapter.setLogLevel = (level: any) => iLogger.setLogLevel(level);\n adapter.getLevel = () => iLogger.getLevel();\n adapter.setSilent = (silent: boolean) => iLogger.setSilent(silent);\n adapter.setModule = (module: string) => iLogger.setModule(module);\n\n adapter.logger = { level: iLogger.getLevel() };\n adapter.moduleContext = '';\n adapter.formatArgs = () => ({ msg: '' });\n\n return adapter as Logger;\n}\n\n/**\n * Type guard to check if a logger is the concrete Logger type\n */\nexport function isConcreteLogger(logger: ILogger | Logger): logger is Logger {\n return logger instanceof Logger;\n}\n\n/**\n * Gets a Logger-compatible instance from an ILogger\n * If the ILogger is already a Logger, returns it as-is\n * Otherwise, creates an adapter\n */\nexport function ensureLoggerType(logger: ILogger): Logger {\n if (isConcreteLogger(logger)) {\n return logger;\n }\n return createLoggerAdapter(logger);\n}\n"],"names":[],"mappings":";AAMO,SAAS,oBAAoB,SAA0B;AAC5D,QAAM,UAAU,OAAO,OAAO,OAAO,SAAS;AAE9C,UAAQ,QAAQ,IAAI,SAAgB,QAAQ,MAAM,GAAG,IAAI;AACzD,UAAQ,OAAO,IAAI,SAAgB,QAAQ,KAAK,GAAG,IAAI;AACvD,UAAQ,OAAO,IAAI,SAAgB,QAAQ,KAAK,GAAG,IAAI;AACvD,UAAQ,QAAQ,IAAI,SAAgB,QAAQ,MAAM,GAAG,IAAI;AACzD,UAAQ,QAAQ,IAAI,SAAgB,QAAQ,MAAM,GAAG,IAAI;AACzD,UAAQ,cAAc,CAAC,UAAe,QAAQ,YAAY,KAAK;AAC/D,UAAQ,WAAW,MAAM,QAAQ,SAAA;AACjC,UAAQ,YAAY,CAAC,WAAoB,QAAQ,UAAU,MAAM;AACjE,UAAQ,YAAY,CAAC,WAAmB,QAAQ,UAAU,MAAM;AAEhE,UAAQ,SAAS,EAAE,OAAO,QAAQ,WAAS;AAC3C,UAAQ,gBAAgB;AACxB,UAAQ,aAAa,OAAO,EAAE,KAAK,GAAA;AAEnC,SAAO;AACT;AAKO,SAAS,iBAAiB,QAA4C;AAC3E,SAAO,kBAAkB;AAC3B;AAOO,SAAS,iBAAiB,QAAyB;AACxD,MAAI,iBAAiB,MAAM,GAAG;AAC5B,WAAO;AAAA,EACT;AACA,SAAO,oBAAoB,MAAM;AACnC;"}
1
+ {"version":3,"file":"standards-sdk.es129.js","sources":["../../src/hcs-25/collectors/connectivity.ts"],"sourcesContent":["import type { Hcs25JsonValue, Hcs25Subject } from '../types';\nimport { resolveSubjectEndpoint } from './endpoints';\nimport { isTimeoutError } from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\n/**\n * A protocol probe: returns a connectivity score in `[0,100]`, or null when\n * the probe is not meaningful for the subject.\n */\nexport type Hcs25ConnectivityProbe = (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n) => Promise<number | null>;\n\nconst MCP_PROTOCOL_VERSION = '2024-11-05';\n\nasync function fetchOk(\n context: Hcs25CollectContext,\n url: string,\n init?: { method?: string; headers?: Record<string, string>; body?: string },\n): Promise<boolean> {\n const response = await context.fetch(url, {\n ...init,\n signal: context.signal,\n });\n return response.status < 500;\n}\n\n/**\n * MCP probe: posts a JSON-RPC `initialize` request to the endpoint. Any\n * definite HTTP response (including 4xx such as 405 on SSE-only endpoints)\n * proves connectivity; only network failure or 5xx count as disconnected.\n */\nexport const mcpConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const ok = await fetchOk(context, endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n accept: 'application/json, text/event-stream',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 1,\n method: 'initialize',\n params: {\n protocolVersion: MCP_PROTOCOL_VERSION,\n capabilities: {},\n clientInfo: { name: 'hcs-25-connectivity-probe', version: '1' },\n },\n }),\n });\n return ok ? 100 : 0;\n};\n\n/**\n * A2A probe: fetches the agent card at `/.well-known/agent.json` relative to\n * the endpoint origin (or the endpoint itself when it already points at a\n * well-known path).\n */\nexport const a2aConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const cardUrl = endpoint.includes('/.well-known/')\n ? endpoint\n : new URL('/.well-known/agent.json', endpoint).toString();\n const ok = await fetchOk(context, cardUrl);\n return ok ? 100 : 0;\n};\n\n/**\n * Generic HTTP probe: GET the endpoint; any response below 500 counts as\n * connected.\n */\nexport const httpConnectivityProbe: Hcs25ConnectivityProbe = async (\n subject,\n context,\n) => {\n const endpoint = resolveSubjectEndpoint(subject);\n if (!endpoint) {\n return null;\n }\n const ok = await fetchOk(context, endpoint);\n return ok ? 100 : 0;\n};\n\nconst DEFAULT_PROBES: Record<string, Hcs25ConnectivityProbe> = {\n mcp: mcpConnectivityProbe,\n a2a: a2aConnectivityProbe,\n};\n\n/**\n * Options for the connectivity signal adapter.\n */\nexport interface Hcs25ConnectivitySignalAdapterOptions {\n /**\n * Probe map keyed by target name. Keys `mcp`/`a2a` are used automatically\n * for matching `subject.protocol`; other keys run unconditionally as\n * named targets and populate `connectivityTargets`. Pass `{default: fn}`\n * to override the fallback HTTP probe.\n */\n probes?: Record<string, Hcs25ConnectivityProbe>;\n /** Per-adapter timeout in milliseconds. */\n timeoutMs?: number;\n includeRegistries?: readonly string[];\n excludeRegistries?: readonly string[];\n appliesTo?: (subject: Hcs25Subject) => boolean;\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\n/**\n * Creates the `connectivity` signal adapter: probes the subject's endpoint\n * using a protocol-aware probe (MCP initialize / A2A agent card / generic\n * HTTP) plus any named custom probes, and stores `connectivityScore` /\n * `connectivityTargets` under `metadata.additional`.\n */\nexport function createConnectivitySignalAdapter(\n options: Hcs25ConnectivitySignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const probes = { ...DEFAULT_PROBES, ...options.probes };\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const now = context.now;\n const protocol = subject.protocol?.toLowerCase();\n const protocolProbe = protocol ? probes[protocol] : undefined;\n const defaultProbe = probes.default ?? httpConnectivityProbe;\n const namedTargets = Object.keys(probes).filter(\n key => key !== protocol && key !== 'default' && !(key in DEFAULT_PROBES),\n );\n\n const results: Hcs25SignalAdapterResult[] = [];\n const targets: Record<string, number> = {};\n let primaryScore: number | null = null;\n let primaryStatus: 'ok' | 'timeout' | 'error' = 'ok';\n let probed = false;\n\n const runProbe = async (\n probe: Hcs25ConnectivityProbe,\n signalId: string,\n target?: string,\n ): Promise<void> => {\n try {\n const score = await probe(subject, context);\n if (score === null) {\n return;\n }\n probed = true;\n const clamped = Math.min(100, Math.max(0, score));\n if (target) {\n targets[target] = clamped;\n } else {\n primaryScore = clamped;\n }\n results.push({\n signalId,\n status: 'ok',\n value: clamped,\n provenance: {\n source: 'connectivity-probe',\n sourceUrl: resolveSubjectEndpoint(subject) ?? undefined,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n } catch (error) {\n probed = true;\n const status = isTimeoutError(error) ? 'timeout' : 'error';\n if (!target) {\n primaryStatus = status;\n primaryScore = 0;\n }\n results.push({\n signalId,\n status,\n provenance: {\n source: 'connectivity-probe',\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n }\n };\n\n await runProbe(protocolProbe ?? defaultProbe, 'connectivity.probe');\n\n for (const target of namedTargets) {\n await runProbe(probes[target], `connectivity.${target}`, target);\n }\n\n if (!probed) {\n return [\n {\n signalId: 'connectivity.probe',\n status: 'missing',\n fields: [\n {\n scope: 'additional',\n values: { connectivityStatus: 'missing' },\n },\n ],\n },\n ];\n }\n\n const additional: Record<string, Hcs25JsonValue> = {\n connectivityStatus: primaryStatus === 'ok' ? 'ok' : primaryStatus,\n };\n if (primaryScore !== null) {\n additional.connectivityScore = primaryScore;\n }\n if (Object.keys(targets).length > 0) {\n additional.connectivityTargets = { ...targets };\n }\n\n const last = results[results.length - 1];\n return [\n ...results,\n {\n signalId: 'connectivity.score',\n status: primaryStatus === 'ok' ? 'ok' : primaryStatus,\n value: primaryScore ?? undefined,\n fields: [{ scope: 'additional', values: additional }],\n provenance: last?.provenance,\n },\n ];\n };\n\n return {\n id: 'connectivity',\n produces: ['connectivity.probe', 'connectivity.score'],\n timeoutMs: options.timeoutMs,\n includeRegistries: options.includeRegistries,\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n appliesTo: options.appliesTo,\n collect,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Logger } from "./standards-sdk.es128.js";
1
+ import { Logger } from "./standards-sdk.es147.js";
2
2
  class WasmBridge {
3
3
  constructor() {
4
4
  this.wasm = null;
@@ -1,25 +1,382 @@
1
- import { HederaMirrorNode } from "./standards-sdk.es149.js";
2
- async function accountIdsToExemptKeys(accountIds, network, logger) {
3
- const mirrorNode = new HederaMirrorNode(
4
- network,
5
- logger
1
+ import { readSubjectAdditional, isJsonObject, readString } from "./standards-sdk.es198.js";
2
+ import "./standards-sdk.es182.js";
3
+ import "./standards-sdk.es195.js";
4
+ import "./standards-sdk.es196.js";
5
+ import "./standards-sdk.es197.js";
6
+ import { parseTimestampMs } from "./standards-sdk.es123.js";
7
+ import { stripTrailingSlashes, requestJson, Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
8
+ const ETHOS_API_BASE_URL = "https://api.ethos.network";
9
+ const DEFAULT_CLIENT_ID = "standards-sdk";
10
+ const EMBEDDED_EVM_ADDRESS_PATTERN = /0x[0-9a-fA-F]{40}/;
11
+ const TWITTER_HANDLE_PATTERN = /^[a-zA-Z0-9_]{1,64}$/;
12
+ const DEFAULT_EXCLUDED_REGISTRIES = [
13
+ "openrouter",
14
+ "near-ai",
15
+ "agentverse",
16
+ "uagent"
17
+ ];
18
+ const normalizeRegistry = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
19
+ const extractAddress = (value) => {
20
+ if (typeof value !== "string") {
21
+ return null;
22
+ }
23
+ const match = EMBEDDED_EVM_ADDRESS_PATTERN.exec(value.trim());
24
+ return match ? match[0] : null;
25
+ };
26
+ function normalizeEthosUserkey(value) {
27
+ if (typeof value !== "string") {
28
+ return null;
29
+ }
30
+ const trimmed = value.trim();
31
+ if (!trimmed) {
32
+ return null;
33
+ }
34
+ if (trimmed.includes(":")) {
35
+ return trimmed;
36
+ }
37
+ const address = extractAddress(trimmed);
38
+ return address ? `address:${address}` : null;
39
+ }
40
+ const userkeyKind = (userkey) => {
41
+ const trimmed = userkey.trim();
42
+ if (trimmed.startsWith("address:")) {
43
+ return "address";
44
+ }
45
+ if (trimmed.startsWith("service:x.com:")) {
46
+ return "x";
47
+ }
48
+ return "explicit";
49
+ };
50
+ const normalizeTwitterHandle = (value) => {
51
+ if (typeof value !== "string") {
52
+ return null;
53
+ }
54
+ const withoutAt = value.trim().replace(/^@/, "").replace(/\s+/g, "");
55
+ return TWITTER_HANDLE_PATTERN.test(withoutAt) ? withoutAt : null;
56
+ };
57
+ const extractTwitterFromSocials = (profile) => {
58
+ if (!isJsonObject(profile)) {
59
+ return null;
60
+ }
61
+ const socials = profile.socials;
62
+ if (!Array.isArray(socials)) {
63
+ return null;
64
+ }
65
+ for (const entry of socials) {
66
+ if (!isJsonObject(entry)) {
67
+ continue;
68
+ }
69
+ const platform = normalizeRegistry(
70
+ entry.platform
71
+ );
72
+ if (platform !== "twitter" && platform !== "x") {
73
+ continue;
74
+ }
75
+ const handle = normalizeTwitterHandle(
76
+ entry.handle
77
+ );
78
+ if (handle) {
79
+ return handle;
80
+ }
81
+ }
82
+ return null;
83
+ };
84
+ function isEthosExcluded(subject) {
85
+ const registry = normalizeRegistry(subject.registry);
86
+ const metadata = subject.metadata ?? {};
87
+ const protocol = normalizeRegistry(
88
+ metadata.protocol
6
89
  );
7
- const exemptKeys = [];
8
- for (const accountId of accountIds) {
9
- try {
10
- const publicKey = await mirrorNode.getPublicKey(accountId);
11
- exemptKeys.push(publicKey);
12
- } catch (error) {
13
- if (logger) {
14
- logger.warn(
15
- `Could not get public key for account ${accountId}: ${error}`
16
- );
17
- }
90
+ const protocols = Array.isArray(
91
+ subject.protocols
92
+ ) ? (subject.protocols ?? []).filter((v) => typeof v === "string").map(normalizeRegistry) : [];
93
+ return registry === "agentverse" || registry === "uagent" || protocol === "uagent" || protocols.includes("uagent");
94
+ }
95
+ function deriveEthosSources(subject) {
96
+ const metadata = subject.metadata ?? {};
97
+ const registry = normalizeRegistry(subject.registry);
98
+ const additional = readSubjectAdditional(subject);
99
+ const epoch = (/* @__PURE__ */ new Date(0)).toISOString();
100
+ const push = (list, userkey, kind, weight) => {
101
+ if (!list.some((source) => source.userkey === userkey)) {
102
+ list.push({
103
+ userkey,
104
+ kind,
105
+ weight,
106
+ status: "missing",
107
+ score: null,
108
+ updatedAt: epoch
109
+ });
110
+ }
111
+ };
112
+ const sources = [];
113
+ const trustProviderIds = isJsonObject(metadata.trustProviderIds) ? metadata.trustProviderIds : void 0;
114
+ const trustProviders = isJsonObject(metadata.trust) && isJsonObject(metadata.trust.providers) ? metadata.trust.providers : void 0;
115
+ for (const candidate of [
116
+ trustProviderIds?.ethos,
117
+ trustProviders?.ethos,
118
+ metadata.ethosUserkey
119
+ ]) {
120
+ const userkey = normalizeEthosUserkey(candidate);
121
+ if (userkey) {
122
+ push(sources, userkey, userkeyKind(userkey), 1);
123
+ return sources;
124
+ }
125
+ }
126
+ const metadataRecord = metadata;
127
+ const profileSocials = extractTwitterFromSocials(metadataRecord.profile) ?? extractTwitterFromSocials(subject.profile);
128
+ if (registry === "virtuals-protocol") {
129
+ const handle = normalizeTwitterHandle(metadataRecord.twitterHandle) ?? normalizeTwitterHandle(metadataRecord.memeTwitterHandle) ?? profileSocials;
130
+ if (handle) {
131
+ push(sources, `service:x.com:username:${handle}`, "x", 0.7);
132
+ }
133
+ } else if (registry === "moltbook") {
134
+ const owner = isJsonObject(metadataRecord.moltbook) ? normalizeTwitterHandle(
135
+ metadataRecord.moltbook.owner
136
+ ) : null;
137
+ const handle = owner ?? profileSocials;
138
+ if (handle) {
139
+ push(sources, `service:x.com:username:${handle}`, "x", 1);
18
140
  }
141
+ } else {
142
+ const genericHandle = [
143
+ readString(additional, "twitter"),
144
+ readString(additional, "xHandle"),
145
+ readString(additional, "x"),
146
+ readString(additional, "twitterHandle"),
147
+ readString(metadataRecord, "twitter"),
148
+ readString(metadataRecord, "xHandle"),
149
+ readString(metadataRecord, "x"),
150
+ profileSocials
151
+ ].map(normalizeTwitterHandle).find((handle) => handle !== null);
152
+ if (genericHandle) {
153
+ push(sources, `service:x.com:username:${genericHandle}`, "x", 1);
154
+ }
155
+ }
156
+ const addressCandidates = [
157
+ metadataRecord.agentAddress,
158
+ metadataRecord.ownerAddress,
159
+ metadataRecord.payTo,
160
+ metadataRecord.agentAddressCaip,
161
+ metadataRecord.nativeId,
162
+ metadataRecord.address,
163
+ metadataRecord.evmAddress,
164
+ metadataRecord.uid
165
+ ];
166
+ for (const candidate of addressCandidates) {
167
+ const address = extractAddress(candidate);
168
+ if (!address) {
169
+ continue;
170
+ }
171
+ const weightedRegistry = registry === "virtuals-protocol" || registry === "moltbook";
172
+ const weight = weightedRegistry && sources.some((source) => source.kind === "x") ? 0.3 : 1;
173
+ push(sources, `address:${address}`, "address", weight);
174
+ break;
175
+ }
176
+ return sources;
177
+ }
178
+ const pickPrimaryUserkey = (sources) => sources.find((source) => source.kind === "address")?.userkey ?? sources[0]?.userkey ?? null;
179
+ function readStoredSources(subject) {
180
+ const raw = subject.metadata?.ethosSources;
181
+ if (!Array.isArray(raw)) {
182
+ return [];
19
183
  }
20
- return exemptKeys;
184
+ const out = [];
185
+ for (const entry of raw) {
186
+ if (!isJsonObject(entry)) {
187
+ continue;
188
+ }
189
+ const record = entry;
190
+ const userkey = readString(record, "userkey");
191
+ if (!userkey) {
192
+ continue;
193
+ }
194
+ const rawKind = readString(record, "kind");
195
+ const rawStatus = readString(record, "status");
196
+ const score = record.score;
197
+ out.push({
198
+ userkey,
199
+ kind: rawKind === "x" || rawKind === "address" || rawKind === "explicit" ? rawKind : userkeyKind(userkey),
200
+ weight: typeof record.weight === "number" && Number.isFinite(record.weight) ? Math.max(0, record.weight) : 1,
201
+ status: rawStatus === "ok" || rawStatus === "error" ? rawStatus : "missing",
202
+ score: typeof score === "number" && Number.isFinite(score) ? score : null,
203
+ updatedAt: readString(record, "updatedAt") ?? (/* @__PURE__ */ new Date(0)).toISOString()
204
+ });
205
+ }
206
+ return out;
207
+ }
208
+ function createEthosSignalAdapter(options = {}) {
209
+ const baseUrl = stripTrailingSlashes(options.baseUrl ?? ETHOS_API_BASE_URL);
210
+ const resolveSources = options.sources ?? deriveEthosSources;
211
+ const ttlMs = options.ttlMs ?? 12 * 60 * 60 * 1e3;
212
+ const failureTtlMs = options.failureTtlMs ?? 6 * 60 * 60 * 1e3;
213
+ const maxRetries = options.maxRetries ?? 2;
214
+ const inferAddress = options.inferAddress ?? true;
215
+ const clientId = options.client ?? DEFAULT_CLIENT_ID;
216
+ const collect = async (subject, context) => {
217
+ const now = context.now.toISOString();
218
+ const resolved = (() => {
219
+ const sources = resolveSources(subject);
220
+ return inferAddress ? [...sources] : sources.filter((source) => source.kind !== "address");
221
+ })();
222
+ if (resolved.length === 0) {
223
+ return [
224
+ {
225
+ signalId: "ethos.score",
226
+ status: "missing",
227
+ fields: [
228
+ {
229
+ scope: "root",
230
+ values: {
231
+ ethosScore: null,
232
+ ethosScoreStatus: "missing",
233
+ ethosScoreUpdatedAt: now,
234
+ ethosSources: []
235
+ }
236
+ }
237
+ ]
238
+ }
239
+ ];
240
+ }
241
+ const storedByUserkey = new Map(
242
+ readStoredSources(subject).map((source) => [source.userkey, source])
243
+ );
244
+ const merged = resolved.map((source) => {
245
+ const stored = storedByUserkey.get(source.userkey);
246
+ return {
247
+ ...source,
248
+ status: stored?.status ?? source.status ?? "missing",
249
+ score: stored?.score ?? source.score ?? null,
250
+ updatedAt: stored?.updatedAt ?? source.updatedAt
251
+ };
252
+ });
253
+ const toRefresh = merged.filter((source) => {
254
+ if (context.force) {
255
+ return true;
256
+ }
257
+ const updatedMs = parseTimestampMs(source.updatedAt);
258
+ if (updatedMs === null || updatedMs <= 0) {
259
+ return true;
260
+ }
261
+ const ttl = source.status === "ok" ? ttlMs : failureTtlMs;
262
+ return context.now.getTime() - updatedMs >= ttl;
263
+ });
264
+ const headers = { "X-Ethos-Client": clientId };
265
+ let sawTimeout = false;
266
+ await Promise.all(
267
+ toRefresh.map(async (source) => {
268
+ const url = `${baseUrl}/api/v1/score/${encodeURIComponent(source.userkey)}`;
269
+ try {
270
+ const data = await requestJson(url, {
271
+ fetch: context.fetch,
272
+ headers,
273
+ timeoutMs: context.timeoutMs,
274
+ signal: context.signal,
275
+ maxRetries
276
+ });
277
+ const score = typeof data?.data?.score === "number" && Number.isFinite(data.data.score) ? data.data.score : typeof data?.score === "number" && Number.isFinite(data.score) ? data.score : null;
278
+ source.updatedAt = now;
279
+ if (data?.ok === false || score === null) {
280
+ source.status = "missing";
281
+ source.score = null;
282
+ } else {
283
+ source.status = "ok";
284
+ source.score = score;
285
+ }
286
+ } catch (error) {
287
+ source.updatedAt = now;
288
+ if (error instanceof Hcs25CollectorHttpError) {
289
+ if (error.status === 404) {
290
+ source.status = "missing";
291
+ source.score = null;
292
+ } else {
293
+ source.status = "error";
294
+ source.score = source.score ?? null;
295
+ }
296
+ } else if (isTimeoutError(error)) {
297
+ source.status = "error";
298
+ sawTimeout = true;
299
+ } else {
300
+ source.status = "error";
301
+ }
302
+ }
303
+ })
304
+ );
305
+ const scoredSources = merged.filter(
306
+ (source) => typeof source.score === "number" && Number.isFinite(source.score)
307
+ );
308
+ const weightSum = scoredSources.reduce(
309
+ (sum, source) => sum + Math.max(0, source.weight),
310
+ 0
311
+ );
312
+ const composite = weightSum > 0 ? Math.round(
313
+ scoredSources.reduce(
314
+ (sum, source) => sum + source.weight * (source.score ?? 0),
315
+ 0
316
+ ) / weightSum * 100
317
+ ) / 100 : null;
318
+ const compositeStatus = merged.some(
319
+ (source) => source.status === "ok"
320
+ ) ? "ok" : merged.some((source) => source.status === "error") ? "error" : "missing";
321
+ const weights = {};
322
+ for (const source of merged) {
323
+ weights[source.kind] = Math.round(((weights[source.kind] ?? 0) + source.weight) * 100) / 100;
324
+ }
325
+ const signalStatus = compositeStatus === "ok" ? "ok" : sawTimeout ? "timeout" : compositeStatus === "error" ? "error" : "missing";
326
+ return [
327
+ {
328
+ signalId: "ethos.score",
329
+ status: signalStatus,
330
+ value: composite,
331
+ fields: [
332
+ {
333
+ scope: "root",
334
+ values: {
335
+ ethosUserkey: pickPrimaryUserkey(merged),
336
+ ethosScore: composite,
337
+ ethosScoreStatus: compositeStatus,
338
+ ethosScoreUpdatedAt: now,
339
+ ethosSources: merged.map((source) => ({
340
+ userkey: source.userkey,
341
+ kind: source.kind,
342
+ weight: source.weight,
343
+ status: source.status ?? "missing",
344
+ score: source.score ?? null,
345
+ updatedAt: source.updatedAt ?? now
346
+ })),
347
+ ethosComposite: {
348
+ version: 1,
349
+ score: composite,
350
+ updatedAt: now,
351
+ weights
352
+ }
353
+ }
354
+ }
355
+ ],
356
+ provenance: {
357
+ source: "ethos",
358
+ sourceUrl: `${baseUrl}/api/v1/score`,
359
+ subjectId: subject.id,
360
+ fetchedAt: now,
361
+ params: { userkeys: merged.map((source) => source.userkey) }
362
+ }
363
+ }
364
+ ];
365
+ };
366
+ return {
367
+ id: "ethos",
368
+ produces: ["ethos.score"],
369
+ timeoutMs: options.timeoutMs,
370
+ includeRegistries: options.includeRegistries,
371
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
372
+ appliesTo: options.appliesTo ?? ((subject) => !isEthosExcluded(subject)),
373
+ collect
374
+ };
21
375
  }
22
376
  export {
23
- accountIdsToExemptKeys
377
+ createEthosSignalAdapter,
378
+ deriveEthosSources,
379
+ isEthosExcluded,
380
+ normalizeEthosUserkey
24
381
  };
25
382
  //# sourceMappingURL=standards-sdk.es130.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es130.js","sources":["../../src/utils/topic-fee-utils.ts"],"sourcesContent":["import { PublicKey } from '@hashgraph/sdk';\nimport { ILogger } from './logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\n\n/**\n * Converts account IDs to public keys for fee exemption\n * @param client Hedera client instance\n * @param accountIds Array of account IDs to convert to public keys\n * @param network The network to use for retrieving public keys\n * @param logger Optional logger instance\n * @returns Array of public keys\n */\nexport async function accountIdsToExemptKeys(\n accountIds: string[],\n network: string,\n logger?: ILogger,\n): Promise<PublicKey[]> {\n const mirrorNode = new HederaMirrorNode(\n network as 'mainnet' | 'testnet',\n logger,\n );\n const exemptKeys: PublicKey[] = [];\n\n for (const accountId of accountIds) {\n try {\n const publicKey = await mirrorNode.getPublicKey(accountId);\n exemptKeys.push(publicKey);\n } catch (error) {\n if (logger) {\n logger.warn(\n `Could not get public key for account ${accountId}: ${error}`,\n );\n }\n }\n }\n\n return exemptKeys;\n}\n"],"names":[],"mappings":";AAYA,eAAsB,uBACpB,YACA,SACA,QACsB;AACtB,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EAAA;AAEF,QAAM,aAA0B,CAAA;AAEhC,aAAW,aAAa,YAAY;AAClC,QAAI;AACF,YAAM,YAAY,MAAM,WAAW,aAAa,SAAS;AACzD,iBAAW,KAAK,SAAS;AAAA,IAC3B,SAAS,OAAO;AACd,UAAI,QAAQ;AACV,eAAO;AAAA,UACL,wCAAwC,SAAS,KAAK,KAAK;AAAA,QAAA;AAAA,MAE/D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;"}
1
+ {"version":3,"file":"standards-sdk.es130.js","sources":["../../src/hcs-25/collectors/ethos.ts"],"sourcesContent":["import type { Hcs25JsonValue, Hcs25Subject } from '../types';\nimport { isJsonObject, readString, readSubjectAdditional } from '../signals';\nimport { parseTimestampMs } from './freshness';\nimport {\n Hcs25CollectorHttpError,\n isTimeoutError,\n requestJson,\n stripTrailingSlashes,\n} from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\nconst ETHOS_API_BASE_URL = 'https://api.ethos.network';\nconst DEFAULT_CLIENT_ID = 'standards-sdk';\nconst EMBEDDED_EVM_ADDRESS_PATTERN = /0x[0-9a-fA-F]{40}/;\nconst TWITTER_HANDLE_PATTERN = /^[a-zA-Z0-9_]{1,64}$/;\n\ntype EthosSourceKind = 'explicit' | 'x' | 'address';\ntype EthosStoredStatus = 'ok' | 'missing' | 'error';\n\n/**\n * A resolved Ethos userkey source: the userkey, how it was derived, and its\n * composite weight (per the ethos signal document's `ethosSources` schema).\n */\nexport interface Hcs25EthosSource {\n userkey: string;\n kind: EthosSourceKind;\n weight: number;\n status?: EthosStoredStatus;\n score?: number | null;\n updatedAt?: string;\n}\n\n/**\n * Options for the Ethos signal adapter.\n */\nexport interface Hcs25EthosSignalAdapterOptions {\n /**\n * Ethos API base URL; the collector requests\n * `{baseUrl}/api/v1/score/{userkey}` (the production v1 endpoint, which\n * returns an `{ok, data: {score}}` envelope). Default\n * `https://api.ethos.network`.\n */\n baseUrl?: string;\n /** `X-Ethos-Client` identifier sent with every request. */\n client?: string;\n /**\n * Explicit source list; when omitted, sources are derived per the\n * production derivation rules (see {@link deriveEthosSources}).\n */\n sources?: (subject: Hcs25Subject) => readonly Hcs25EthosSource[];\n /**\n * Refresh interval applied to sources whose stored status is `ok`.\n * Default 12 hours. Set to 0 to always refetch.\n */\n ttlMs?: number;\n /**\n * Refresh interval applied to sources in `missing`/`error` state.\n * Default 6 hours.\n */\n failureTtlMs?: number;\n /** Transient-failure retries per source request. Default 2. */\n maxRetries?: number;\n /**\n * When false, disables EVM-address inference (`agentAddress`,\n * `ownerAddress`, `payTo`, `agentAddressCaip`, `nativeId`, …). Default\n * true.\n */\n inferAddress?: boolean;\n /** Per-adapter timeout in milliseconds. */\n timeoutMs?: number;\n includeRegistries?: readonly string[];\n excludeRegistries?: readonly string[];\n appliesTo?: (subject: Hcs25Subject) => boolean;\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n 'agentverse',\n 'uagent',\n];\n\ninterface EthosScoreResponse {\n ok?: boolean;\n data?: { score?: number };\n score?: number;\n}\n\nconst normalizeRegistry = (value: unknown): string =>\n typeof value === 'string' ? value.trim().toLowerCase() : '';\n\nconst extractAddress = (value: unknown): string | null => {\n if (typeof value !== 'string') {\n return null;\n }\n const match = EMBEDDED_EVM_ADDRESS_PATTERN.exec(value.trim());\n return match ? match[0] : null;\n};\n\n/**\n * Normalizes a stored/explicit Ethos userkey: values already containing a\n * `kind:` prefix pass through; bare EVM addresses become `address:0x…`.\n */\nexport function normalizeEthosUserkey(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.includes(':')) {\n return trimmed;\n }\n const address = extractAddress(trimmed);\n return address ? `address:${address}` : null;\n}\n\nconst userkeyKind = (userkey: string): EthosSourceKind => {\n const trimmed = userkey.trim();\n if (trimmed.startsWith('address:')) {\n return 'address';\n }\n if (trimmed.startsWith('service:x.com:')) {\n return 'x';\n }\n return 'explicit';\n};\n\nconst normalizeTwitterHandle = (value: unknown): string | null => {\n if (typeof value !== 'string') {\n return null;\n }\n const withoutAt = value.trim().replace(/^@/, '').replace(/\\s+/g, '');\n return TWITTER_HANDLE_PATTERN.test(withoutAt) ? withoutAt : null;\n};\n\nconst extractTwitterFromSocials = (profile: unknown): string | null => {\n if (!isJsonObject(profile as Hcs25JsonValue)) {\n return null;\n }\n const socials = (profile as Record<string, Hcs25JsonValue>).socials;\n if (!Array.isArray(socials)) {\n return null;\n }\n for (const entry of socials) {\n if (!isJsonObject(entry)) {\n continue;\n }\n const platform = normalizeRegistry(\n (entry as Record<string, Hcs25JsonValue>).platform,\n );\n if (platform !== 'twitter' && platform !== 'x') {\n continue;\n }\n const handle = normalizeTwitterHandle(\n (entry as Record<string, Hcs25JsonValue>).handle,\n );\n if (handle) {\n return handle;\n }\n }\n return null;\n};\n\n/**\n * True when the subject is structurally outside Ethos coverage (uAgent /\n * AgentVerse agents per the ethos signal doc).\n */\nexport function isEthosExcluded(subject: Hcs25Subject): boolean {\n const registry = normalizeRegistry(subject.registry);\n const metadata = subject.metadata ?? {};\n const protocol = normalizeRegistry(\n (metadata as Record<string, Hcs25JsonValue>).protocol,\n );\n const protocols = Array.isArray(\n (subject as { protocols?: unknown }).protocols,\n )\n ? ((subject as { protocols?: unknown[] }).protocols ?? [])\n .filter((v): v is string => typeof v === 'string')\n .map(normalizeRegistry)\n : [];\n return (\n registry === 'agentverse' ||\n registry === 'uagent' ||\n protocol === 'uagent' ||\n protocols.includes('uagent')\n );\n}\n\n/**\n * Derives Ethos userkey sources per the production rules:\n *\n * - `metadata.trustProviderIds.ethos` / `metadata.trust.providers.ethos` /\n * `metadata.ethosUserkey` are explicit userkeys (weight 1, short-circuit).\n * - `virtuals-protocol` subjects derive an `x` source from\n * `twitterHandle`/`memeTwitterHandle`/`profile.socials` (weight 0.7);\n * `moltbook` subjects derive from `moltbook.owner`/`profile.socials`\n * (weight 1). Other registries use the generic\n * `additional.twitter|xHandle|x|twitterHandle` keys (weight 1).\n * - `agentAddress`, `ownerAddress`, `payTo`, `agentAddressCaip`,\n * `nativeId`, `address`, `evmAddress`, `uid` yield an `address:` source\n * (embedded `0x…` extraction makes CAIP ids work). Weight drops to 0.3\n * when an `x` source already exists on a weighted registry.\n */\nexport function deriveEthosSources(subject: Hcs25Subject): Hcs25EthosSource[] {\n const metadata = subject.metadata ?? {};\n const registry = normalizeRegistry(subject.registry);\n const additional = readSubjectAdditional(subject);\n const epoch = new Date(0).toISOString();\n const push = (\n list: Hcs25EthosSource[],\n userkey: string,\n kind: EthosSourceKind,\n weight: number,\n ): void => {\n if (!list.some(source => source.userkey === userkey)) {\n list.push({\n userkey,\n kind,\n weight,\n status: 'missing',\n score: null,\n updatedAt: epoch,\n });\n }\n };\n\n const sources: Hcs25EthosSource[] = [];\n\n const trustProviderIds = isJsonObject(metadata.trustProviderIds)\n ? metadata.trustProviderIds\n : undefined;\n const trustProviders =\n isJsonObject(metadata.trust) && isJsonObject(metadata.trust.providers)\n ? (metadata.trust.providers as Record<string, Hcs25JsonValue>)\n : undefined;\n for (const candidate of [\n trustProviderIds?.ethos,\n trustProviders?.ethos,\n metadata.ethosUserkey,\n ]) {\n const userkey = normalizeEthosUserkey(candidate);\n if (userkey) {\n push(sources, userkey, userkeyKind(userkey), 1);\n return sources;\n }\n }\n\n const metadataRecord = metadata as Record<string, Hcs25JsonValue>;\n const profileSocials =\n extractTwitterFromSocials(metadataRecord.profile) ??\n extractTwitterFromSocials((subject as { profile?: unknown }).profile);\n\n if (registry === 'virtuals-protocol') {\n const handle =\n normalizeTwitterHandle(metadataRecord.twitterHandle) ??\n normalizeTwitterHandle(metadataRecord.memeTwitterHandle) ??\n profileSocials;\n if (handle) {\n push(sources, `service:x.com:username:${handle}`, 'x', 0.7);\n }\n } else if (registry === 'moltbook') {\n const owner = isJsonObject(metadataRecord.moltbook)\n ? normalizeTwitterHandle(\n (metadataRecord.moltbook as Record<string, Hcs25JsonValue>).owner,\n )\n : null;\n const handle = owner ?? profileSocials;\n if (handle) {\n push(sources, `service:x.com:username:${handle}`, 'x', 1);\n }\n } else {\n const genericHandle = [\n readString(additional, 'twitter'),\n readString(additional, 'xHandle'),\n readString(additional, 'x'),\n readString(additional, 'twitterHandle'),\n readString(metadataRecord, 'twitter'),\n readString(metadataRecord, 'xHandle'),\n readString(metadataRecord, 'x'),\n profileSocials,\n ]\n .map(normalizeTwitterHandle)\n .find((handle): handle is string => handle !== null);\n if (genericHandle) {\n push(sources, `service:x.com:username:${genericHandle}`, 'x', 1);\n }\n }\n\n const addressCandidates = [\n metadataRecord.agentAddress,\n metadataRecord.ownerAddress,\n metadataRecord.payTo,\n metadataRecord.agentAddressCaip,\n metadataRecord.nativeId,\n metadataRecord.address,\n metadataRecord.evmAddress,\n metadataRecord.uid,\n ];\n for (const candidate of addressCandidates) {\n const address = extractAddress(candidate);\n if (!address) {\n continue;\n }\n const weightedRegistry =\n registry === 'virtuals-protocol' || registry === 'moltbook';\n const weight =\n weightedRegistry && sources.some(source => source.kind === 'x') ? 0.3 : 1;\n push(sources, `address:${address}`, 'address', weight);\n break;\n }\n\n return sources;\n}\n\nconst pickPrimaryUserkey = (\n sources: readonly Hcs25EthosSource[],\n): string | null =>\n sources.find(source => source.kind === 'address')?.userkey ??\n sources[0]?.userkey ??\n null;\n\nfunction readStoredSources(subject: Hcs25Subject): Hcs25EthosSource[] {\n const raw = subject.metadata?.ethosSources;\n if (!Array.isArray(raw)) {\n return [];\n }\n const out: Hcs25EthosSource[] = [];\n for (const entry of raw) {\n if (!isJsonObject(entry)) {\n continue;\n }\n const record = entry as Record<string, Hcs25JsonValue>;\n const userkey = readString(record, 'userkey');\n if (!userkey) {\n continue;\n }\n const rawKind = readString(record, 'kind');\n const rawStatus = readString(record, 'status');\n const score = record.score;\n out.push({\n userkey,\n kind:\n rawKind === 'x' || rawKind === 'address' || rawKind === 'explicit'\n ? rawKind\n : userkeyKind(userkey),\n weight:\n typeof record.weight === 'number' && Number.isFinite(record.weight)\n ? Math.max(0, record.weight)\n : 1,\n status:\n rawStatus === 'ok' || rawStatus === 'error' ? rawStatus : 'missing',\n score: typeof score === 'number' && Number.isFinite(score) ? score : null,\n updatedAt: readString(record, 'updatedAt') ?? new Date(0).toISOString(),\n });\n }\n return out;\n}\n\n/**\n * Creates the `ethos` signal adapter: resolves the subject's Ethos userkeys\n * per the production derivation rules, fetches each source's score from the\n * Ethos v1 score endpoint (`{ok, data:{score}}` envelope), merges with the\n * stored `ethosSources` per-source freshness (TTL/failure-TTL gating), and\n * writes the `ethosUserkey`/`ethosScore`/`ethosScoreStatus`/`ethosSources`/\n * `ethosComposite` stored fields per the signal catalog.\n */\nexport function createEthosSignalAdapter(\n options: Hcs25EthosSignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const baseUrl = stripTrailingSlashes(options.baseUrl ?? ETHOS_API_BASE_URL);\n const resolveSources = options.sources ?? deriveEthosSources;\n const ttlMs = options.ttlMs ?? 12 * 60 * 60 * 1000;\n const failureTtlMs = options.failureTtlMs ?? 6 * 60 * 60 * 1000;\n const maxRetries = options.maxRetries ?? 2;\n const inferAddress = options.inferAddress ?? true;\n const clientId = options.client ?? DEFAULT_CLIENT_ID;\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const now = context.now.toISOString();\n\n const resolved = ((): Hcs25EthosSource[] => {\n const sources = resolveSources(subject);\n return inferAddress\n ? [...sources]\n : sources.filter(source => source.kind !== 'address');\n })();\n\n if (resolved.length === 0) {\n return [\n {\n signalId: 'ethos.score',\n status: 'missing',\n fields: [\n {\n scope: 'root',\n values: {\n ethosScore: null,\n ethosScoreStatus: 'missing',\n ethosScoreUpdatedAt: now,\n ethosSources: [],\n },\n },\n ],\n },\n ];\n }\n\n // Merge with stored sources: keep prior scores/statuses so a transient\n // failure does not erase data, and so TTL gating can skip fresh sources.\n const storedByUserkey = new Map(\n readStoredSources(subject).map(source => [source.userkey, source]),\n );\n const merged: Hcs25EthosSource[] = resolved.map(source => {\n const stored = storedByUserkey.get(source.userkey);\n return {\n ...source,\n status: stored?.status ?? source.status ?? 'missing',\n score: stored?.score ?? source.score ?? null,\n updatedAt: stored?.updatedAt ?? source.updatedAt,\n };\n });\n\n const toRefresh = merged.filter(source => {\n if (context.force) {\n return true;\n }\n const updatedMs = parseTimestampMs(source.updatedAt);\n if (updatedMs === null || updatedMs <= 0) {\n return true;\n }\n const ttl = source.status === 'ok' ? ttlMs : failureTtlMs;\n return context.now.getTime() - updatedMs >= ttl;\n });\n\n const headers: Record<string, string> = { 'X-Ethos-Client': clientId };\n let sawError = false;\n let sawTimeout = false;\n\n await Promise.all(\n toRefresh.map(async source => {\n const url = `${baseUrl}/api/v1/score/${encodeURIComponent(source.userkey)}`;\n try {\n const data = await requestJson<EthosScoreResponse>(url, {\n fetch: context.fetch,\n headers,\n timeoutMs: context.timeoutMs,\n signal: context.signal,\n maxRetries,\n });\n // Production envelope `{ok, data:{score}}`; tolerate a flat\n // `{score}` payload for v2-shaped endpoints.\n const score =\n typeof data?.data?.score === 'number' &&\n Number.isFinite(data.data.score)\n ? data.data.score\n : typeof data?.score === 'number' && Number.isFinite(data.score)\n ? data.score\n : null;\n source.updatedAt = now;\n if (data?.ok === false || score === null) {\n source.status = 'missing';\n source.score = null;\n } else {\n source.status = 'ok';\n source.score = score;\n }\n } catch (error) {\n source.updatedAt = now;\n if (error instanceof Hcs25CollectorHttpError) {\n if (error.status === 404) {\n source.status = 'missing';\n source.score = null;\n } else {\n source.status = 'error';\n // Preserve a previously stored score on transient failure.\n source.score = source.score ?? null;\n sawError = true;\n }\n } else if (isTimeoutError(error)) {\n source.status = 'error';\n sawTimeout = true;\n sawError = true;\n } else {\n source.status = 'error';\n sawError = true;\n }\n }\n }),\n );\n\n const scoredSources = merged.filter(\n source =>\n typeof source.score === 'number' && Number.isFinite(source.score),\n );\n const weightSum = scoredSources.reduce(\n (sum, source) => sum + Math.max(0, source.weight),\n 0,\n );\n const composite =\n weightSum > 0\n ? Math.round(\n (scoredSources.reduce(\n (sum, source) => sum + source.weight * (source.score ?? 0),\n 0,\n ) /\n weightSum) *\n 100,\n ) / 100\n : null;\n\n const compositeStatus: EthosStoredStatus = merged.some(\n source => source.status === 'ok',\n )\n ? 'ok'\n : merged.some(source => source.status === 'error')\n ? 'error'\n : 'missing';\n\n // Composite weights are keyed by source kind (x/address/explicit).\n const weights: Record<string, number> = {};\n for (const source of merged) {\n weights[source.kind] =\n Math.round(((weights[source.kind] ?? 0) + source.weight) * 100) / 100;\n }\n\n const signalStatus =\n compositeStatus === 'ok'\n ? 'ok'\n : sawTimeout\n ? 'timeout'\n : compositeStatus === 'error'\n ? 'error'\n : 'missing';\n\n return [\n {\n signalId: 'ethos.score',\n status: signalStatus,\n value: composite,\n fields: [\n {\n scope: 'root',\n values: {\n ethosUserkey: pickPrimaryUserkey(merged),\n ethosScore: composite,\n ethosScoreStatus: compositeStatus,\n ethosScoreUpdatedAt: now,\n ethosSources: merged.map(source => ({\n userkey: source.userkey,\n kind: source.kind,\n weight: source.weight,\n status: source.status ?? 'missing',\n score: source.score ?? null,\n updatedAt: source.updatedAt ?? now,\n })),\n ethosComposite: {\n version: 1,\n score: composite,\n updatedAt: now,\n weights,\n },\n },\n },\n ],\n provenance: {\n source: 'ethos',\n sourceUrl: `${baseUrl}/api/v1/score`,\n subjectId: subject.id,\n fetchedAt: now,\n params: { userkeys: merged.map(source => source.userkey) },\n },\n },\n ];\n };\n\n return {\n id: 'ethos',\n produces: ['ethos.score'],\n timeoutMs: options.timeoutMs,\n includeRegistries: options.includeRegistries,\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n appliesTo: options.appliesTo ?? (subject => !isEthosExcluded(subject)),\n collect,\n };\n}\n"],"names":[],"mappings":"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"}