@hashgraphonline/standards-sdk 0.1.189 → 0.1.191

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 (576) hide show
  1. package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
  2. package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  3. package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  4. package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
  5. package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
  6. package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
  7. package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
  8. package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
  9. package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
  10. package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  11. package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
  12. package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
  13. package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
  14. package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
  15. package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
  16. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  17. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  18. package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
  19. package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
  20. package/dist/browser/hcs-25/collectors/catalog.d.ts +64 -0
  21. package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
  22. package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
  23. package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
  24. package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
  25. package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
  26. package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
  27. package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
  28. package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
  29. package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
  30. package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
  31. package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
  32. package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
  33. package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
  34. package/dist/browser/hcs-25/collectors/index.d.ts +22 -0
  35. package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
  36. package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
  37. package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
  38. package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
  39. package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
  40. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
  41. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  42. package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
  43. package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
  44. package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
  45. package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
  46. package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
  47. package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
  48. package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
  49. package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  50. package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
  51. package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
  52. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
  53. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  54. package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
  55. package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
  56. package/dist/browser/hcs-25/index.d.ts +1 -0
  57. package/dist/browser/hcs-25/index.d.ts.map +1 -1
  58. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  59. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  60. package/dist/browser/hcs-25/signals/index.d.ts +1 -0
  61. package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
  62. package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
  63. package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
  64. package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
  65. package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
  66. package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
  67. package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
  68. package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
  69. package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
  70. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
  71. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  72. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  73. package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
  74. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
  75. package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
  76. package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
  77. package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
  78. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
  79. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  80. package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
  81. package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
  82. package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
  83. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
  84. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
  85. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  86. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  87. package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
  88. package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
  89. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +64 -0
  90. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
  91. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
  92. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
  93. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
  94. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
  95. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
  96. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
  97. package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
  98. package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
  99. package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
  100. package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
  101. package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
  102. package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
  103. package/dist/browser-root/hcs-25/collectors/index.d.ts +22 -0
  104. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
  105. package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
  106. package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
  107. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
  108. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
  109. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
  110. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  111. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
  112. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
  113. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
  114. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
  115. package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
  116. package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
  117. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
  118. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  119. package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
  120. package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
  121. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
  122. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  123. package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
  124. package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
  125. package/dist/browser-root/hcs-25/index.d.ts +1 -0
  126. package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
  127. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  128. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  129. package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
  130. package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
  131. package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
  132. package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
  133. package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
  134. package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
  135. package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
  136. package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
  137. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
  138. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
  139. package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
  140. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  141. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  142. package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
  143. package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
  144. package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
  145. package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
  146. package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
  147. package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
  148. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  149. package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
  150. package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
  151. package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
  152. package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
  153. package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
  154. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  155. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  156. package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
  157. package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
  158. package/dist/cjs/hcs-25/collectors/catalog.d.ts +64 -0
  159. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
  160. package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
  161. package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
  162. package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
  163. package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
  164. package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
  165. package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
  166. package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
  167. package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
  168. package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
  169. package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
  170. package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
  171. package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
  172. package/dist/cjs/hcs-25/collectors/index.d.ts +22 -0
  173. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
  174. package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
  175. package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
  176. package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
  177. package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
  178. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
  179. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  180. package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
  181. package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
  182. package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
  183. package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
  184. package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
  185. package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
  186. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
  187. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  188. package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
  189. package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
  190. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
  191. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  192. package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
  193. package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
  194. package/dist/cjs/hcs-25/index.d.ts +1 -0
  195. package/dist/cjs/hcs-25/index.d.ts.map +1 -1
  196. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  197. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  198. package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
  199. package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
  200. package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
  201. package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
  202. package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
  203. package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
  204. package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
  205. package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
  206. package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
  207. package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
  208. package/dist/cjs/standards-sdk.cjs +2 -2
  209. package/dist/cjs/standards-sdk.cjs.map +1 -1
  210. package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
  211. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  212. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  213. package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
  214. package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
  215. package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
  216. package/dist/es/hcs-25/adapters/index.d.ts +1 -0
  217. package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
  218. package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
  219. package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  220. package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
  221. package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
  222. package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
  223. package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
  224. package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
  225. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  226. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  227. package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
  228. package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
  229. package/dist/es/hcs-25/collectors/catalog.d.ts +64 -0
  230. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
  231. package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
  232. package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
  233. package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
  234. package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
  235. package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
  236. package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
  237. package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
  238. package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
  239. package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
  240. package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
  241. package/dist/es/hcs-25/collectors/http.d.ts +67 -0
  242. package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
  243. package/dist/es/hcs-25/collectors/index.d.ts +22 -0
  244. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
  245. package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
  246. package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
  247. package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
  248. package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
  249. package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
  250. package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  251. package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
  252. package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
  253. package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
  254. package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
  255. package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
  256. package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
  257. package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
  258. package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  259. package/dist/es/hcs-25/collectors/types.d.ts +113 -0
  260. package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
  261. package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
  262. package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  263. package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
  264. package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
  265. package/dist/es/hcs-25/index.d.ts +1 -0
  266. package/dist/es/hcs-25/index.d.ts.map +1 -1
  267. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  268. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  269. package/dist/es/hcs-25/signals/index.d.ts +1 -0
  270. package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
  271. package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
  272. package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
  273. package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
  274. package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
  275. package/dist/es/hcs-25/signals/operational.d.ts +15 -12
  276. package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
  277. package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
  278. package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
  279. package/dist/es/standards-sdk.es.js +144 -58
  280. package/dist/es/standards-sdk.es.js.map +1 -1
  281. package/dist/es/standards-sdk.es101.js +2 -2
  282. package/dist/es/standards-sdk.es103.js +2 -2
  283. package/dist/es/standards-sdk.es104.js +1 -1
  284. package/dist/es/standards-sdk.es106.js +1 -1
  285. package/dist/es/standards-sdk.es108.js +2 -2
  286. package/dist/es/standards-sdk.es11.js +1 -1
  287. package/dist/es/standards-sdk.es110.js +1 -1
  288. package/dist/es/standards-sdk.es111.js +2 -2
  289. package/dist/es/standards-sdk.es115.js +3 -3
  290. package/dist/es/standards-sdk.es116.js +4 -4
  291. package/dist/es/standards-sdk.es12.js +1 -1
  292. package/dist/es/standards-sdk.es120.js +22 -4
  293. package/dist/es/standards-sdk.es120.js.map +1 -1
  294. package/dist/es/standards-sdk.es121.js +15 -12
  295. package/dist/es/standards-sdk.es121.js.map +1 -1
  296. package/dist/es/standards-sdk.es122.js +176 -240
  297. package/dist/es/standards-sdk.es122.js.map +1 -1
  298. package/dist/es/standards-sdk.es123.js +42 -468
  299. package/dist/es/standards-sdk.es123.js.map +1 -1
  300. package/dist/es/standards-sdk.es124.js +29 -103
  301. package/dist/es/standards-sdk.es124.js.map +1 -1
  302. package/dist/es/standards-sdk.es125.js +185 -145
  303. package/dist/es/standards-sdk.es125.js.map +1 -1
  304. package/dist/es/standards-sdk.es126.js +13 -33
  305. package/dist/es/standards-sdk.es126.js.map +1 -1
  306. package/dist/es/standards-sdk.es127.js +45 -10
  307. package/dist/es/standards-sdk.es127.js.map +1 -1
  308. package/dist/es/standards-sdk.es128.js +120 -168
  309. package/dist/es/standards-sdk.es128.js.map +1 -1
  310. package/dist/es/standards-sdk.es129.js +158 -26
  311. package/dist/es/standards-sdk.es129.js.map +1 -1
  312. package/dist/es/standards-sdk.es13.js +1 -1
  313. package/dist/es/standards-sdk.es130.js +166 -19
  314. package/dist/es/standards-sdk.es130.js.map +1 -1
  315. package/dist/es/standards-sdk.es131.js +360 -140
  316. package/dist/es/standards-sdk.es131.js.map +1 -1
  317. package/dist/es/standards-sdk.es132.js +371 -180
  318. package/dist/es/standards-sdk.es132.js.map +1 -1
  319. package/dist/es/standards-sdk.es133.js +210 -766
  320. package/dist/es/standards-sdk.es133.js.map +1 -1
  321. package/dist/es/standards-sdk.es134.js +229 -11
  322. package/dist/es/standards-sdk.es134.js.map +1 -1
  323. package/dist/es/standards-sdk.es135.js +368 -556
  324. package/dist/es/standards-sdk.es135.js.map +1 -1
  325. package/dist/es/standards-sdk.es136.js +108 -612
  326. package/dist/es/standards-sdk.es136.js.map +1 -1
  327. package/dist/es/standards-sdk.es137.js +251 -12
  328. package/dist/es/standards-sdk.es137.js.map +1 -1
  329. package/dist/es/standards-sdk.es138.js +1330 -2
  330. package/dist/es/standards-sdk.es138.js.map +1 -1
  331. package/dist/es/standards-sdk.es139.js +126 -79
  332. package/dist/es/standards-sdk.es139.js.map +1 -1
  333. package/dist/es/standards-sdk.es14.js +1 -1
  334. package/dist/es/standards-sdk.es140.js +264 -32
  335. package/dist/es/standards-sdk.es140.js.map +1 -1
  336. package/dist/es/standards-sdk.es141.js +111 -2
  337. package/dist/es/standards-sdk.es141.js.map +1 -1
  338. package/dist/es/standards-sdk.es142.js +244 -227
  339. package/dist/es/standards-sdk.es142.js.map +1 -1
  340. package/dist/es/standards-sdk.es143.js +436 -1098
  341. package/dist/es/standards-sdk.es143.js.map +1 -1
  342. package/dist/es/standards-sdk.es144.js +92 -293
  343. package/dist/es/standards-sdk.es144.js.map +1 -1
  344. package/dist/es/standards-sdk.es145.js +157 -419
  345. package/dist/es/standards-sdk.es145.js.map +1 -1
  346. package/dist/es/standards-sdk.es146.js +30 -351
  347. package/dist/es/standards-sdk.es146.js.map +1 -1
  348. package/dist/es/standards-sdk.es147.js +9 -1119
  349. package/dist/es/standards-sdk.es147.js.map +1 -1
  350. package/dist/es/standards-sdk.es148.js +160 -186
  351. package/dist/es/standards-sdk.es148.js.map +1 -1
  352. package/dist/es/standards-sdk.es149.js +27 -1565
  353. package/dist/es/standards-sdk.es149.js.map +1 -1
  354. package/dist/es/standards-sdk.es15.js +1 -1
  355. package/dist/es/standards-sdk.es150.js +16 -1160
  356. package/dist/es/standards-sdk.es150.js.map +1 -1
  357. package/dist/es/standards-sdk.es151.js +157 -14
  358. package/dist/es/standards-sdk.es151.js.map +1 -1
  359. package/dist/es/standards-sdk.es152.js +191 -440
  360. package/dist/es/standards-sdk.es152.js.map +1 -1
  361. package/dist/es/standards-sdk.es153.js +764 -233
  362. package/dist/es/standards-sdk.es153.js.map +1 -1
  363. package/dist/es/standards-sdk.es154.js +13 -4
  364. package/dist/es/standards-sdk.es154.js.map +1 -1
  365. package/dist/es/standards-sdk.es155.js +567 -81
  366. package/dist/es/standards-sdk.es155.js.map +1 -1
  367. package/dist/es/standards-sdk.es156.js +617 -78
  368. package/dist/es/standards-sdk.es156.js.map +1 -1
  369. package/dist/es/standards-sdk.es157.js +13 -60
  370. package/dist/es/standards-sdk.es157.js.map +1 -1
  371. package/dist/es/standards-sdk.es158.js +2 -2547
  372. package/dist/es/standards-sdk.es158.js.map +1 -1
  373. package/dist/es/standards-sdk.es159.js +73 -145
  374. package/dist/es/standards-sdk.es159.js.map +1 -1
  375. package/dist/es/standards-sdk.es16.js +6 -6
  376. package/dist/es/standards-sdk.es160.js +40 -7
  377. package/dist/es/standards-sdk.es160.js.map +1 -1
  378. package/dist/es/standards-sdk.es161.js +2 -86
  379. package/dist/es/standards-sdk.es161.js.map +1 -1
  380. package/dist/es/standards-sdk.es162.js +225 -55
  381. package/dist/es/standards-sdk.es162.js.map +1 -1
  382. package/dist/es/standards-sdk.es163.js +1137 -191
  383. package/dist/es/standards-sdk.es163.js.map +1 -1
  384. package/dist/es/standards-sdk.es164.js +303 -23
  385. package/dist/es/standards-sdk.es164.js.map +1 -1
  386. package/dist/es/standards-sdk.es165.js +419 -55
  387. package/dist/es/standards-sdk.es165.js.map +1 -1
  388. package/dist/es/standards-sdk.es166.js +351 -91
  389. package/dist/es/standards-sdk.es166.js.map +1 -1
  390. package/dist/es/standards-sdk.es167.js +1113 -40
  391. package/dist/es/standards-sdk.es167.js.map +1 -1
  392. package/dist/es/standards-sdk.es168.js +200 -196
  393. package/dist/es/standards-sdk.es168.js.map +1 -1
  394. package/dist/es/standards-sdk.es169.js +1561 -50
  395. package/dist/es/standards-sdk.es169.js.map +1 -1
  396. package/dist/es/standards-sdk.es170.js +1161 -44
  397. package/dist/es/standards-sdk.es170.js.map +1 -1
  398. package/dist/es/standards-sdk.es171.js +14 -53
  399. package/dist/es/standards-sdk.es171.js.map +1 -1
  400. package/dist/es/standards-sdk.es172.js +443 -41
  401. package/dist/es/standards-sdk.es172.js.map +1 -1
  402. package/dist/es/standards-sdk.es173.js +242 -105
  403. package/dist/es/standards-sdk.es173.js.map +1 -1
  404. package/dist/es/standards-sdk.es174.js +4 -54
  405. package/dist/es/standards-sdk.es174.js.map +1 -1
  406. package/dist/es/standards-sdk.es175.js +79 -42
  407. package/dist/es/standards-sdk.es175.js.map +1 -1
  408. package/dist/es/standards-sdk.es176.js +87 -72
  409. package/dist/es/standards-sdk.es176.js.map +1 -1
  410. package/dist/es/standards-sdk.es177.js +60 -68
  411. package/dist/es/standards-sdk.es177.js.map +1 -1
  412. package/dist/es/standards-sdk.es178.js +2545 -42
  413. package/dist/es/standards-sdk.es178.js.map +1 -1
  414. package/dist/es/standards-sdk.es179.js +157 -34
  415. package/dist/es/standards-sdk.es179.js.map +1 -1
  416. package/dist/es/standards-sdk.es18.js +13 -13
  417. package/dist/es/standards-sdk.es180.js +7 -30
  418. package/dist/es/standards-sdk.es180.js.map +1 -1
  419. package/dist/es/standards-sdk.es181.js +86 -34
  420. package/dist/es/standards-sdk.es181.js.map +1 -1
  421. package/dist/es/standards-sdk.es182.js +65 -48
  422. package/dist/es/standards-sdk.es182.js.map +1 -1
  423. package/dist/es/standards-sdk.es183.js +27 -138
  424. package/dist/es/standards-sdk.es183.js.map +1 -1
  425. package/dist/es/standards-sdk.es184.js +191 -37
  426. package/dist/es/standards-sdk.es184.js.map +1 -1
  427. package/dist/es/standards-sdk.es185.js +17 -12473
  428. package/dist/es/standards-sdk.es185.js.map +1 -1
  429. package/dist/es/standards-sdk.es186.js +56 -53
  430. package/dist/es/standards-sdk.es186.js.map +1 -1
  431. package/dist/es/standards-sdk.es187.js +104 -100
  432. package/dist/es/standards-sdk.es187.js.map +1 -1
  433. package/dist/es/standards-sdk.es188.js +43 -75
  434. package/dist/es/standards-sdk.es188.js.map +1 -1
  435. package/dist/es/standards-sdk.es189.js +55 -197
  436. package/dist/es/standards-sdk.es189.js.map +1 -1
  437. package/dist/es/standards-sdk.es19.js +10 -10
  438. package/dist/es/standards-sdk.es190.js +229 -669
  439. package/dist/es/standards-sdk.es190.js.map +1 -1
  440. package/dist/es/standards-sdk.es191.js +67 -166
  441. package/dist/es/standards-sdk.es191.js.map +1 -1
  442. package/dist/es/standards-sdk.es192.js +45 -317
  443. package/dist/es/standards-sdk.es192.js.map +1 -1
  444. package/dist/es/standards-sdk.es193.js +59 -342
  445. package/dist/es/standards-sdk.es193.js.map +1 -1
  446. package/dist/es/standards-sdk.es194.js +45 -448
  447. package/dist/es/standards-sdk.es194.js.map +1 -1
  448. package/dist/es/standards-sdk.es195.js +117 -325
  449. package/dist/es/standards-sdk.es195.js.map +1 -1
  450. package/dist/es/standards-sdk.es196.js +51 -69
  451. package/dist/es/standards-sdk.es196.js.map +1 -1
  452. package/dist/es/standards-sdk.es197.js +54 -67
  453. package/dist/es/standards-sdk.es197.js.map +1 -1
  454. package/dist/es/standards-sdk.es198.js +72 -17
  455. package/dist/es/standards-sdk.es198.js.map +1 -1
  456. package/dist/es/standards-sdk.es199.js +75 -139
  457. package/dist/es/standards-sdk.es199.js.map +1 -1
  458. package/dist/es/standards-sdk.es2.js +2 -2
  459. package/dist/es/standards-sdk.es20.js +1 -1
  460. package/dist/es/standards-sdk.es200.js +44 -517
  461. package/dist/es/standards-sdk.es200.js.map +1 -1
  462. package/dist/es/standards-sdk.es201.js +33 -256
  463. package/dist/es/standards-sdk.es201.js.map +1 -1
  464. package/dist/es/standards-sdk.es202.js +30 -196
  465. package/dist/es/standards-sdk.es202.js.map +1 -1
  466. package/dist/es/standards-sdk.es203.js +34 -119
  467. package/dist/es/standards-sdk.es203.js.map +1 -1
  468. package/dist/es/standards-sdk.es204.js +48 -152
  469. package/dist/es/standards-sdk.es204.js.map +1 -1
  470. package/dist/es/standards-sdk.es205.js +126 -172
  471. package/dist/es/standards-sdk.es205.js.map +1 -1
  472. package/dist/es/standards-sdk.es206.js +34 -676
  473. package/dist/es/standards-sdk.es206.js.map +1 -1
  474. package/dist/es/standards-sdk.es207.js +12453 -156
  475. package/dist/es/standards-sdk.es207.js.map +1 -1
  476. package/dist/es/standards-sdk.es208.js +14 -232
  477. package/dist/es/standards-sdk.es208.js.map +1 -1
  478. package/dist/es/standards-sdk.es209.js +49 -232
  479. package/dist/es/standards-sdk.es209.js.map +1 -1
  480. package/dist/es/standards-sdk.es21.js +1 -1
  481. package/dist/es/standards-sdk.es210.js +114 -0
  482. package/dist/es/standards-sdk.es210.js.map +1 -0
  483. package/dist/es/standards-sdk.es211.js +84 -0
  484. package/dist/es/standards-sdk.es211.js.map +1 -0
  485. package/dist/es/standards-sdk.es212.js +203 -0
  486. package/dist/es/standards-sdk.es212.js.map +1 -0
  487. package/dist/es/standards-sdk.es213.js +76 -0
  488. package/dist/es/standards-sdk.es213.js.map +1 -0
  489. package/dist/es/standards-sdk.es214.js +675 -0
  490. package/dist/es/standards-sdk.es214.js.map +1 -0
  491. package/dist/es/standards-sdk.es215.js +175 -0
  492. package/dist/es/standards-sdk.es215.js.map +1 -0
  493. package/dist/es/standards-sdk.es216.js +325 -0
  494. package/dist/es/standards-sdk.es216.js.map +1 -0
  495. package/dist/es/standards-sdk.es217.js +349 -0
  496. package/dist/es/standards-sdk.es217.js.map +1 -0
  497. package/dist/es/standards-sdk.es218.js +456 -0
  498. package/dist/es/standards-sdk.es218.js.map +1 -0
  499. package/dist/es/standards-sdk.es219.js +334 -0
  500. package/dist/es/standards-sdk.es219.js.map +1 -0
  501. package/dist/es/standards-sdk.es22.js +1 -1
  502. package/dist/es/standards-sdk.es220.js +79 -0
  503. package/dist/es/standards-sdk.es220.js.map +1 -0
  504. package/dist/es/standards-sdk.es221.js +142 -0
  505. package/dist/es/standards-sdk.es221.js.map +1 -0
  506. package/dist/es/standards-sdk.es222.js +520 -0
  507. package/dist/es/standards-sdk.es222.js.map +1 -0
  508. package/dist/es/standards-sdk.es223.js +262 -0
  509. package/dist/es/standards-sdk.es223.js.map +1 -0
  510. package/dist/es/standards-sdk.es224.js +199 -0
  511. package/dist/es/standards-sdk.es224.js.map +1 -0
  512. package/dist/es/standards-sdk.es225.js +122 -0
  513. package/dist/es/standards-sdk.es225.js.map +1 -0
  514. package/dist/es/standards-sdk.es226.js +155 -0
  515. package/dist/es/standards-sdk.es226.js.map +1 -0
  516. package/dist/es/standards-sdk.es227.js +187 -0
  517. package/dist/es/standards-sdk.es227.js.map +1 -0
  518. package/dist/es/standards-sdk.es228.js +687 -0
  519. package/dist/es/standards-sdk.es228.js.map +1 -0
  520. package/dist/es/standards-sdk.es229.js +188 -0
  521. package/dist/es/standards-sdk.es229.js.map +1 -0
  522. package/dist/es/standards-sdk.es23.js +1 -1
  523. package/dist/es/standards-sdk.es230.js +238 -0
  524. package/dist/es/standards-sdk.es230.js.map +1 -0
  525. package/dist/es/standards-sdk.es231.js +242 -0
  526. package/dist/es/standards-sdk.es231.js.map +1 -0
  527. package/dist/es/standards-sdk.es24.js +1 -1
  528. package/dist/es/standards-sdk.es25.js +1 -1
  529. package/dist/es/standards-sdk.es26.js +1 -1
  530. package/dist/es/standards-sdk.es27.js +13 -13
  531. package/dist/es/standards-sdk.es30.js +2 -2
  532. package/dist/es/standards-sdk.es31.js +4 -4
  533. package/dist/es/standards-sdk.es32.js +1 -1
  534. package/dist/es/standards-sdk.es35.js +7 -7
  535. package/dist/es/standards-sdk.es36.js +4 -4
  536. package/dist/es/standards-sdk.es37.js +2 -2
  537. package/dist/es/standards-sdk.es38.js +2 -2
  538. package/dist/es/standards-sdk.es39.js +1 -1
  539. package/dist/es/standards-sdk.es4.js +2 -2
  540. package/dist/es/standards-sdk.es40.js +1 -1
  541. package/dist/es/standards-sdk.es41.js +2 -2
  542. package/dist/es/standards-sdk.es46.js +1 -1
  543. package/dist/es/standards-sdk.es5.js +2 -2
  544. package/dist/es/standards-sdk.es51.js +1 -1
  545. package/dist/es/standards-sdk.es53.js +1 -1
  546. package/dist/es/standards-sdk.es56.js +2 -2
  547. package/dist/es/standards-sdk.es59.js +1 -1
  548. package/dist/es/standards-sdk.es6.js +2 -2
  549. package/dist/es/standards-sdk.es60.js +1 -1
  550. package/dist/es/standards-sdk.es62.js +1 -1
  551. package/dist/es/standards-sdk.es63.js +2 -2
  552. package/dist/es/standards-sdk.es64.js +1 -1
  553. package/dist/es/standards-sdk.es65.js +1 -1
  554. package/dist/es/standards-sdk.es66.js +1 -1
  555. package/dist/es/standards-sdk.es67.js +8 -8
  556. package/dist/es/standards-sdk.es69.js +1 -1
  557. package/dist/es/standards-sdk.es7.js +1 -1
  558. package/dist/es/standards-sdk.es71.js +2 -2
  559. package/dist/es/standards-sdk.es72.js +3 -3
  560. package/dist/es/standards-sdk.es75.js +5 -5
  561. package/dist/es/standards-sdk.es76.js +3 -3
  562. package/dist/es/standards-sdk.es77.js +2 -2
  563. package/dist/es/standards-sdk.es78.js +1 -1
  564. package/dist/es/standards-sdk.es81.js +2 -2
  565. package/dist/es/standards-sdk.es83.js +2 -2
  566. package/dist/es/standards-sdk.es84.js +5 -5
  567. package/dist/es/standards-sdk.es85.js +1 -1
  568. package/dist/es/standards-sdk.es88.js +1 -1
  569. package/dist/es/standards-sdk.es89.js +2 -2
  570. package/dist/es/standards-sdk.es9.js +2 -2
  571. package/dist/es/standards-sdk.es90.js +4 -4
  572. package/dist/es/standards-sdk.es94.js +3 -3
  573. package/dist/es/standards-sdk.es96.js +2 -2
  574. package/dist/es/standards-sdk.es98.js +1 -1
  575. package/dist/es/standards-sdk.es99.js +3 -3
  576. package/package.json +1 -1
@@ -1,32 +1,164 @@
1
- import { Logger } from "./standards-sdk.es128.js";
2
- function createLoggerAdapter(iLogger) {
3
- const adapter = Object.create(Logger.prototype);
4
- adapter.debug = (...args) => iLogger.debug(...args);
5
- adapter.info = (...args) => iLogger.info(...args);
6
- adapter.warn = (...args) => iLogger.warn(...args);
7
- adapter.error = (...args) => iLogger.error(...args);
8
- adapter.trace = (...args) => iLogger.trace(...args);
9
- adapter.setLogLevel = (level) => iLogger.setLogLevel(level);
10
- adapter.getLevel = () => iLogger.getLevel();
11
- adapter.setSilent = (silent) => iLogger.setSilent(silent);
12
- adapter.setModule = (module) => iLogger.setModule(module);
13
- adapter.logger = { level: iLogger.getLevel() };
14
- adapter.moduleContext = "";
15
- adapter.formatArgs = () => ({ msg: "" });
16
- return adapter;
1
+ import { readMetadataRecord, readString } from "./standards-sdk.es201.js";
2
+ import "./standards-sdk.es184.js";
3
+ import "./standards-sdk.es198.js";
4
+ import "./standards-sdk.es199.js";
5
+ import "./standards-sdk.es200.js";
6
+ import "./standards-sdk.es183.js";
7
+ import { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
8
+ import { Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
9
+ const DEFAULT_EXCLUDED_REGISTRIES = [
10
+ "openrouter",
11
+ "near-ai"
12
+ ];
13
+ function minutesSince(timestamp, now) {
14
+ const ms = Date.parse(timestamp);
15
+ if (Number.isNaN(ms)) {
16
+ return null;
17
+ }
18
+ return Math.max(0, (now.getTime() - ms) / 6e4);
17
19
  }
18
- function isConcreteLogger(logger) {
19
- return logger instanceof Logger;
20
+ function missingResult(now, reason) {
21
+ return [
22
+ {
23
+ signalId: "availability.probe",
24
+ status: "missing",
25
+ fields: [
26
+ {
27
+ scope: "root",
28
+ values: {
29
+ availabilityScore: null,
30
+ availabilityCheckedAt: now.toISOString(),
31
+ availabilityReason: reason,
32
+ availabilitySource: "probe",
33
+ availabilityStatus: "missing"
34
+ }
35
+ }
36
+ ]
37
+ }
38
+ ];
20
39
  }
21
- function ensureLoggerType(logger) {
22
- if (isConcreteLogger(logger)) {
23
- return logger;
24
- }
25
- return createLoggerAdapter(logger);
40
+ function createAvailabilitySignalAdapter(options = {}) {
41
+ const resolveEndpoint = options.resolveEndpoint ?? resolveSubjectEndpoint;
42
+ const method = options.method ?? "auto";
43
+ const collect = async (subject, context) => {
44
+ const { now } = context;
45
+ const results = [];
46
+ const metrics = readMetadataRecord(subject, "metrics");
47
+ const lastActiveAt = metrics ? readString(metrics, "lastActiveAt") : null;
48
+ if (lastActiveAt !== null) {
49
+ const mins = minutesSince(lastActiveAt, now);
50
+ if (mins !== null) {
51
+ results.push({
52
+ signalId: "availability.last_seen",
53
+ status: "ok",
54
+ value: mins,
55
+ fields: [{ scope: "metrics", values: { minsFromLastOnline: mins } }],
56
+ provenance: {
57
+ source: "metadata",
58
+ subjectId: subject.id,
59
+ fetchedAt: now.toISOString()
60
+ }
61
+ });
62
+ }
63
+ }
64
+ const endpoint = resolveEndpoint(subject);
65
+ if (!endpoint) {
66
+ if (results.length > 0) {
67
+ return results;
68
+ }
69
+ return missingResult(now, "no endpoint metadata");
70
+ }
71
+ const started = now.getTime();
72
+ try {
73
+ const attempt = async (verb) => {
74
+ const response = await context.fetch(endpoint, {
75
+ method: verb,
76
+ headers: options.headers,
77
+ signal: context.signal
78
+ });
79
+ return response.status;
80
+ };
81
+ let status;
82
+ if (method === "auto") {
83
+ try {
84
+ status = await attempt("HEAD");
85
+ if (status === 405 || status === 501) {
86
+ status = await attempt("GET");
87
+ }
88
+ } catch (error) {
89
+ if (error instanceof Hcs25CollectorHttpError) {
90
+ throw error;
91
+ }
92
+ status = await attempt("GET");
93
+ }
94
+ } else {
95
+ status = await attempt(method);
96
+ }
97
+ const latencyMs = Date.now() - started;
98
+ const reachable = status < 500;
99
+ results.push({
100
+ signalId: "availability.probe",
101
+ status: "ok",
102
+ value: reachable ? 1 : 0,
103
+ fields: [
104
+ {
105
+ scope: "root",
106
+ values: {
107
+ availabilityScore: reachable ? 1 : 0,
108
+ availabilityCheckedAt: now.toISOString(),
109
+ availabilityLatencyMs: latencyMs,
110
+ availabilityReason: reachable ? "reachable" : `endpoint returned HTTP ${status}`,
111
+ availabilitySource: "probe",
112
+ availabilityStatus: "ok"
113
+ }
114
+ }
115
+ ],
116
+ provenance: {
117
+ source: "probe",
118
+ sourceUrl: endpoint,
119
+ subjectId: subject.id,
120
+ fetchedAt: now.toISOString()
121
+ }
122
+ });
123
+ return results;
124
+ } catch (error) {
125
+ const timedOut = isTimeoutError(error);
126
+ const statusValue = timedOut ? "timeout" : "error";
127
+ results.push({
128
+ signalId: "availability.probe",
129
+ status: statusValue,
130
+ fields: [
131
+ {
132
+ scope: "root",
133
+ values: {
134
+ availabilityCheckedAt: now.toISOString(),
135
+ availabilityReason: error instanceof Error ? error.message : String(error),
136
+ availabilitySource: "probe",
137
+ availabilityStatus: statusValue
138
+ }
139
+ }
140
+ ],
141
+ provenance: {
142
+ source: "probe",
143
+ sourceUrl: endpoint,
144
+ subjectId: subject.id,
145
+ fetchedAt: now.toISOString()
146
+ }
147
+ });
148
+ return results;
149
+ }
150
+ };
151
+ return {
152
+ id: "availability",
153
+ produces: ["availability.probe", "availability.last_seen"],
154
+ timeoutMs: options.timeoutMs,
155
+ includeRegistries: options.includeRegistries,
156
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
157
+ appliesTo: options.appliesTo,
158
+ collect
159
+ };
26
160
  }
27
161
  export {
28
- createLoggerAdapter,
29
- ensureLoggerType,
30
- isConcreteLogger
162
+ createAvailabilitySignalAdapter
31
163
  };
32
164
  //# sourceMappingURL=standards-sdk.es129.js.map
@@ -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/availability.ts"],"sourcesContent":["import type { Hcs25Subject } from '../types';\nimport { readMetadataRecord, readString } from '../signals';\nimport { resolveSubjectEndpoint } from './endpoints';\nimport { Hcs25CollectorHttpError, isTimeoutError } from './http';\nimport type {\n Hcs25CollectContext,\n Hcs25SignalAdapter,\n Hcs25SignalAdapterResult,\n} from './types';\n\n/**\n * Options for the availability signal adapter.\n */\nexport interface Hcs25AvailabilitySignalAdapterOptions {\n /** Custom endpoint resolver; defaults to {@link resolveSubjectEndpoint}. */\n resolveEndpoint?: (subject: Hcs25Subject) => string | null;\n /** Probe method. `auto` (default) tries HEAD and falls back to GET. */\n method?: 'auto' | 'HEAD' | 'GET';\n /** Per-probe timeout in milliseconds. */\n timeoutMs?: number;\n /** Extra request headers (e.g. auth for gated endpoints). */\n headers?: Record<string, string>;\n /** Applicability constraints. */\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\nfunction minutesSince(timestamp: string, now: Date): number | null {\n const ms = Date.parse(timestamp);\n if (Number.isNaN(ms)) {\n return null;\n }\n return Math.max(0, (now.getTime() - ms) / 60000);\n}\n\nfunction missingResult(now: Date, reason: string): Hcs25SignalAdapterResult[] {\n return [\n {\n signalId: 'availability.probe',\n status: 'missing',\n fields: [\n {\n scope: 'root',\n values: {\n availabilityScore: null,\n availabilityCheckedAt: now.toISOString(),\n availabilityReason: reason,\n availabilitySource: 'probe',\n availabilityStatus: 'missing',\n },\n },\n ],\n },\n ];\n}\n\n/**\n * Creates the `availability` signal adapter: probes the subject's endpoint,\n * records reachability, latency, and probe provenance, and converts the\n * ecosystem-native `metrics.lastActiveAt` field into\n * `metrics.minsFromLastOnline` (the deterministic scoring adapter consumes\n * the derived field). Unreachable endpoints score 0; absent endpoints are\n * `missing`.\n */\nexport function createAvailabilitySignalAdapter(\n options: Hcs25AvailabilitySignalAdapterOptions = {},\n): Hcs25SignalAdapter {\n const resolveEndpoint = options.resolveEndpoint ?? resolveSubjectEndpoint;\n const method = options.method ?? 'auto';\n\n const collect = async (\n subject: Hcs25Subject,\n context: Hcs25CollectContext,\n ): Promise<Hcs25SignalAdapterResult[]> => {\n const { now } = context;\n const results: Hcs25SignalAdapterResult[] = [];\n\n const metrics = readMetadataRecord(subject, 'metrics');\n const lastActiveAt = metrics ? readString(metrics, 'lastActiveAt') : null;\n if (lastActiveAt !== null) {\n const mins = minutesSince(lastActiveAt, now);\n if (mins !== null) {\n results.push({\n signalId: 'availability.last_seen',\n status: 'ok',\n value: mins,\n fields: [{ scope: 'metrics', values: { minsFromLastOnline: mins } }],\n provenance: {\n source: 'metadata',\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n }\n }\n\n const endpoint = resolveEndpoint(subject);\n if (!endpoint) {\n if (results.length > 0) {\n return results;\n }\n return missingResult(now, 'no endpoint metadata');\n }\n\n const started = now.getTime();\n try {\n const attempt = async (verb: 'HEAD' | 'GET'): Promise<number> => {\n const response = await context.fetch(endpoint, {\n method: verb,\n headers: options.headers,\n signal: context.signal,\n });\n return response.status;\n };\n\n let status: number;\n if (method === 'auto') {\n try {\n status = await attempt('HEAD');\n if (status === 405 || status === 501) {\n status = await attempt('GET');\n }\n } catch (error) {\n if (error instanceof Hcs25CollectorHttpError) {\n throw error;\n }\n status = await attempt('GET');\n }\n } else {\n status = await attempt(method);\n }\n\n const latencyMs = Date.now() - started;\n const reachable = status < 500;\n results.push({\n signalId: 'availability.probe',\n status: 'ok',\n value: reachable ? 1 : 0,\n fields: [\n {\n scope: 'root',\n values: {\n availabilityScore: reachable ? 1 : 0,\n availabilityCheckedAt: now.toISOString(),\n availabilityLatencyMs: latencyMs,\n availabilityReason: reachable\n ? 'reachable'\n : `endpoint returned HTTP ${status}`,\n availabilitySource: 'probe',\n availabilityStatus: 'ok',\n },\n },\n ],\n provenance: {\n source: 'probe',\n sourceUrl: endpoint,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n return results;\n } catch (error) {\n const timedOut = isTimeoutError(error);\n const statusValue = timedOut ? 'timeout' : 'error';\n results.push({\n signalId: 'availability.probe',\n status: statusValue,\n fields: [\n {\n scope: 'root',\n values: {\n availabilityCheckedAt: now.toISOString(),\n availabilityReason:\n error instanceof Error ? error.message : String(error),\n availabilitySource: 'probe',\n availabilityStatus: statusValue,\n },\n },\n ],\n provenance: {\n source: 'probe',\n sourceUrl: endpoint,\n subjectId: subject.id,\n fetchedAt: now.toISOString(),\n },\n });\n return results;\n }\n };\n\n return {\n id: 'availability',\n produces: ['availability.probe', 'availability.last_seen'],\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.es148.js";
2
2
  class WasmBridge {
3
3
  constructor() {
4
4
  this.wasm = null;
@@ -1,25 +1,172 @@
1
- import { HederaMirrorNode } from "./standards-sdk.es149.js";
2
- async function accountIdsToExemptKeys(accountIds, network, logger) {
3
- const mirrorNode = new HederaMirrorNode(
4
- network,
5
- logger
6
- );
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
- );
1
+ import { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
2
+ import { isTimeoutError } from "./standards-sdk.es122.js";
3
+ const MCP_PROTOCOL_VERSION = "2024-11-05";
4
+ async function fetchOk(context, url, init) {
5
+ const response = await context.fetch(url, {
6
+ ...init,
7
+ signal: context.signal
8
+ });
9
+ return response.status < 500;
10
+ }
11
+ const mcpConnectivityProbe = async (subject, context) => {
12
+ const endpoint = resolveSubjectEndpoint(subject);
13
+ if (!endpoint) {
14
+ return null;
15
+ }
16
+ const ok = await fetchOk(context, endpoint, {
17
+ method: "POST",
18
+ headers: {
19
+ "content-type": "application/json",
20
+ accept: "application/json, text/event-stream"
21
+ },
22
+ body: JSON.stringify({
23
+ jsonrpc: "2.0",
24
+ id: 1,
25
+ method: "initialize",
26
+ params: {
27
+ protocolVersion: MCP_PROTOCOL_VERSION,
28
+ capabilities: {},
29
+ clientInfo: { name: "hcs-25-connectivity-probe", version: "1" }
17
30
  }
18
- }
31
+ })
32
+ });
33
+ return ok ? 100 : 0;
34
+ };
35
+ const a2aConnectivityProbe = async (subject, context) => {
36
+ const endpoint = resolveSubjectEndpoint(subject);
37
+ if (!endpoint) {
38
+ return null;
19
39
  }
20
- return exemptKeys;
40
+ const cardUrl = endpoint.includes("/.well-known/") ? endpoint : new URL("/.well-known/agent.json", endpoint).toString();
41
+ const ok = await fetchOk(context, cardUrl);
42
+ return ok ? 100 : 0;
43
+ };
44
+ const httpConnectivityProbe = async (subject, context) => {
45
+ const endpoint = resolveSubjectEndpoint(subject);
46
+ if (!endpoint) {
47
+ return null;
48
+ }
49
+ const ok = await fetchOk(context, endpoint);
50
+ return ok ? 100 : 0;
51
+ };
52
+ const DEFAULT_PROBES = {
53
+ mcp: mcpConnectivityProbe,
54
+ a2a: a2aConnectivityProbe
55
+ };
56
+ const DEFAULT_EXCLUDED_REGISTRIES = [
57
+ "openrouter",
58
+ "near-ai"
59
+ ];
60
+ function createConnectivitySignalAdapter(options = {}) {
61
+ const probes = { ...DEFAULT_PROBES, ...options.probes };
62
+ const collect = async (subject, context) => {
63
+ const now = context.now;
64
+ const protocol = subject.protocol?.toLowerCase();
65
+ const protocolProbe = protocol ? probes[protocol] : void 0;
66
+ const defaultProbe = probes.default ?? httpConnectivityProbe;
67
+ const namedTargets = Object.keys(probes).filter(
68
+ (key) => key !== protocol && key !== "default" && !(key in DEFAULT_PROBES)
69
+ );
70
+ const results = [];
71
+ const targets = {};
72
+ let primaryScore = null;
73
+ let primaryStatus = "ok";
74
+ let probed = false;
75
+ const runProbe = async (probe, signalId, target) => {
76
+ try {
77
+ const score = await probe(subject, context);
78
+ if (score === null) {
79
+ return;
80
+ }
81
+ probed = true;
82
+ const clamped = Math.min(100, Math.max(0, score));
83
+ if (target) {
84
+ targets[target] = clamped;
85
+ } else {
86
+ primaryScore = clamped;
87
+ }
88
+ results.push({
89
+ signalId,
90
+ status: "ok",
91
+ value: clamped,
92
+ provenance: {
93
+ source: "connectivity-probe",
94
+ sourceUrl: resolveSubjectEndpoint(subject) ?? void 0,
95
+ subjectId: subject.id,
96
+ fetchedAt: now.toISOString()
97
+ }
98
+ });
99
+ } catch (error) {
100
+ probed = true;
101
+ const status = isTimeoutError(error) ? "timeout" : "error";
102
+ if (!target) {
103
+ primaryStatus = status;
104
+ primaryScore = 0;
105
+ }
106
+ results.push({
107
+ signalId,
108
+ status,
109
+ provenance: {
110
+ source: "connectivity-probe",
111
+ subjectId: subject.id,
112
+ fetchedAt: now.toISOString()
113
+ }
114
+ });
115
+ }
116
+ };
117
+ await runProbe(protocolProbe ?? defaultProbe, "connectivity.probe");
118
+ for (const target of namedTargets) {
119
+ await runProbe(probes[target], `connectivity.${target}`, target);
120
+ }
121
+ if (!probed) {
122
+ return [
123
+ {
124
+ signalId: "connectivity.probe",
125
+ status: "missing",
126
+ fields: [
127
+ {
128
+ scope: "additional",
129
+ values: { connectivityStatus: "missing" }
130
+ }
131
+ ]
132
+ }
133
+ ];
134
+ }
135
+ const additional = {
136
+ connectivityStatus: primaryStatus === "ok" ? "ok" : primaryStatus
137
+ };
138
+ if (primaryScore !== null) {
139
+ additional.connectivityScore = primaryScore;
140
+ }
141
+ if (Object.keys(targets).length > 0) {
142
+ additional.connectivityTargets = { ...targets };
143
+ }
144
+ const last = results[results.length - 1];
145
+ return [
146
+ ...results,
147
+ {
148
+ signalId: "connectivity.score",
149
+ status: primaryStatus === "ok" ? "ok" : primaryStatus,
150
+ value: primaryScore ?? void 0,
151
+ fields: [{ scope: "additional", values: additional }],
152
+ provenance: last?.provenance
153
+ }
154
+ ];
155
+ };
156
+ return {
157
+ id: "connectivity",
158
+ produces: ["connectivity.probe", "connectivity.score"],
159
+ timeoutMs: options.timeoutMs,
160
+ includeRegistries: options.includeRegistries,
161
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
162
+ appliesTo: options.appliesTo,
163
+ collect
164
+ };
21
165
  }
22
166
  export {
23
- accountIdsToExemptKeys
167
+ a2aConnectivityProbe,
168
+ createConnectivitySignalAdapter,
169
+ httpConnectivityProbe,
170
+ mcpConnectivityProbe
24
171
  };
25
172
  //# 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/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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"}