@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.es182.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"standards-sdk.es182.js","sources":["../../src/hcs-25/signals/simple-evals.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport type { Hcs25SignalStatus } from '../types';\n\n/**\n * Status tokens emitted by simple eval runners, per the HCS-25 simple-evals\n * methodology.\n */\nexport type Hcs25SimpleEvalStatus =\n | 'correct'\n | 'wrong'\n | 'unparseable'\n | 'timeout'\n | 'missing'\n | 'empty'\n | 'skipped'\n | 'upstream-error'\n | 'stale'\n | 'error';\n\n/**\n * A graded simple-eval outcome. Scores are binary per the methodology.\n */\nexport interface Hcs25SimpleEvalGrade {\n status: Hcs25SimpleEvalStatus;\n score: number;\n}\n\nconst SIMPLE_EVAL_GRADE_CORRECT: Hcs25SimpleEvalGrade = {\n status: 'correct',\n score: 100,\n};\n\nconst SIMPLE_EVAL_GRADE_WRONG: Hcs25SimpleEvalGrade = {\n status: 'wrong',\n score: 0,\n};\n\nconst SIMPLE_EVAL_GRADE_UNPARSEABLE: Hcs25SimpleEvalGrade = {\n status: 'unparseable',\n score: 0,\n};\n\n/**\n * Maps a simple-eval status token onto an HCS-25 signal status code.\n * Substantive outcomes stay `ok` because the stored score carries the value;\n * skipped runs are treated as missing.\n */\nexport function mapSimpleEvalStatus(token: string | null): Hcs25SignalStatus {\n switch (token) {\n case 'timeout':\n return 'timeout';\n case 'stale':\n return 'stale';\n case 'missing':\n case 'skipped':\n return 'missing';\n case 'upstream-error':\n case 'error':\n return 'error';\n default:\n return 'ok';\n }\n}\n\n/**\n * Grades a SimpleMath response by extracting the first numeric token and\n * comparing it against the expected answer.\n */\nexport function gradeSimpleMathResponse(\n response: string,\n expected: number,\n): Hcs25SimpleEvalGrade {\n const match = response.match(/-?\\d+(?:\\.\\d+)?/);\n if (!match) {\n return SIMPLE_EVAL_GRADE_UNPARSEABLE;\n }\n\n const value = Number.parseFloat(match[0]);\n return value === expected\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n}\n\nconst SCIENCE_CHOICE_LETTERS = ['A', 'B', 'C', 'D'] as const;\n\n/**\n * Grades a SimpleScience response by extracting a standalone `A|B|C|D`\n * token, falling back to full option-text matching when options are\n * provided.\n */\nexport function gradeSimpleScienceResponse(\n response: string,\n correctChoice: (typeof SCIENCE_CHOICE_LETTERS)[number],\n options?: readonly string[],\n): Hcs25SimpleEvalGrade {\n const letterMatch = response.match(/\\b([A-Da-d])\\b/);\n if (letterMatch) {\n return letterMatch[1].toUpperCase() === correctChoice\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n }\n\n if (options) {\n const normalized = response.toLowerCase();\n const matchedIndex = options.findIndex(\n option => option.length > 0 && normalized.includes(option.toLowerCase()),\n );\n if (matchedIndex >= 0) {\n return SCIENCE_CHOICE_LETTERS[matchedIndex] === correctChoice\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n }\n }\n\n return SIMPLE_EVAL_GRADE_UNPARSEABLE;\n}\n\n/**\n * A generated SimpleMath question with its stable identifier and expected\n * answer.\n */\nexport interface Hcs25SimpleMathQuestion {\n questionId: string;\n prompt: string;\n expected: number;\n}\n\nfunction randomInt(\n rng: () => number,\n minInclusive: number,\n maxInclusive: number,\n): number {\n const span = maxInclusive - minInclusive + 1;\n return minInclusive + Math.floor(rng() * span);\n}\n\n/**\n * Generates a random SimpleMath question. Operand ranges follow the\n * methodology: addition uses two integers in 10–100, subtraction subtracts\n * 1–50 from 10–100, and multiplication uses small integers in 2–12. Pass a\n * seeded rng for deterministic generation.\n */\nexport function generateSimpleMathQuestion(\n rng: () => number = Math.random,\n): Hcs25SimpleMathQuestion {\n const operations = ['add', 'sub', 'mul'] as const;\n const operation =\n operations[Math.floor(rng() * operations.length) % operations.length];\n\n let left: number;\n let right: number;\n let expected: number;\n let expression: string;\n\n if (operation === 'add') {\n left = randomInt(rng, 10, 100);\n right = randomInt(rng, 10, 100);\n expected = left + right;\n expression = `${left}+${right}`;\n } else if (operation === 'sub') {\n left = randomInt(rng, 10, 100);\n right = randomInt(rng, 1, 50);\n expected = left - right;\n expression = `${left}-${right}`;\n } else {\n left = randomInt(rng, 2, 12);\n right = randomInt(rng, 2, 12);\n expected = left * right;\n expression = `${left}x${right}`;\n }\n\n const operator = operation === 'add' ? '+' : operation === 'sub' ? '−' : '×';\n\n return {\n questionId: `math:${operation}:${expression}`,\n prompt: `Answer with just the number.\\n\\nWhat is ${left} ${operator} ${right}?`,\n expected,\n };\n}\n\n/**\n * A curated SimpleScience multiple-choice question with exactly four\n * options and one unambiguous correct choice.\n */\nexport interface Hcs25SimpleScienceQuestion {\n questionId: string;\n prompt: string;\n options: readonly [string, string, string, string];\n correctChoice: (typeof SCIENCE_CHOICE_LETTERS)[number];\n}\n\nfunction sciencePrompt(stem: string, options: readonly string[]): string {\n const lines = options.map(\n (option, index) => `${SCIENCE_CHOICE_LETTERS[index]}) ${option}`,\n );\n return `Answer with just A, B, C, or D.\\n\\n${stem}\\n${lines.join('\\n')}`;\n}\n\nfunction scienceQuestion(\n questionId: string,\n stem: string,\n options: readonly string[],\n correctIndex: number,\n): Hcs25SimpleScienceQuestion {\n return {\n questionId,\n prompt: sciencePrompt(stem, options),\n options: [options[0], options[1], options[2], options[3]],\n correctChoice: SCIENCE_CHOICE_LETTERS[correctIndex],\n };\n}\n\n/**\n * A small curated bank of basic science facts spanning chemistry, biology,\n * physics, and earth science, per the methodology.\n */\nexport const SIMPLE_SCIENCE_QUESTION_BANK: readonly Hcs25SimpleScienceQuestion[] =\n [\n scienceQuestion(\n 'science:photosynthesis-gas',\n 'Which gas do plants primarily absorb during photosynthesis?',\n ['Oxygen', 'Carbon dioxide', 'Nitrogen', 'Helium'],\n 1,\n ),\n scienceQuestion(\n 'science:water-formula',\n 'What is the chemical formula for water?',\n ['HO', 'H2O2', 'H2O', 'O2H'],\n 2,\n ),\n scienceQuestion(\n 'science:blood-pump',\n 'Which organ pumps blood through the human body?',\n ['Liver', 'Heart', 'Lungs', 'Kidneys'],\n 1,\n ),\n scienceQuestion(\n 'science:vacuum-speed',\n 'Which of these travels fastest in a vacuum?',\n ['Sound', 'Water waves', 'Wind', 'Light'],\n 3,\n ),\n scienceQuestion(\n 'science:red-planet',\n 'Which planet is known as the Red Planet?',\n ['Mars', 'Venus', 'Jupiter', 'Mercury'],\n 0,\n ),\n scienceQuestion(\n 'science:boiling-point',\n 'At what temperature does water boil at sea level, in Celsius?',\n ['50°C', '100°C', '150°C', '200°C'],\n 1,\n ),\n scienceQuestion(\n 'science:photosynthesis-energy',\n 'What is the primary source of energy for photosynthesis?',\n ['Sunlight', 'Moonlight', 'Lightning', 'Starlight'],\n 0,\n ),\n scienceQuestion(\n 'science:atom-charge',\n 'What is the electrical charge of a proton?',\n ['Negative', 'Neutral', 'Positive', 'Variable'],\n 2,\n ),\n ];\n\n/**\n * Samples a random science question from the curated bank. Pass a seeded rng\n * for deterministic sampling.\n */\nexport function sampleSimpleScienceQuestion(\n rng: () => number = Math.random,\n): Hcs25SimpleScienceQuestion {\n const index =\n Math.floor(rng() * SIMPLE_SCIENCE_QUESTION_BANK.length) %\n SIMPLE_SCIENCE_QUESTION_BANK.length;\n return SIMPLE_SCIENCE_QUESTION_BANK[index];\n}\n\n/**\n * Stored-field schema for the shared A2A/NANDA simple-eval signal family.\n * Field names follow the `a2aSimple*` / `nandaSimple*` conventions.\n */\nexport const hcs25SimpleEvalFieldsSchema = z\n .object({\n a2aSimpleMathScore: z.number().nullish(),\n a2aSimpleMathStatus: z.string().nullish(),\n a2aSimpleMathQuestionId: z.string().nullish(),\n a2aSimpleMathSessionId: z.string().nullish(),\n a2aSimpleMathResponse: z.string().nullish(),\n a2aSimpleMathError: z.string().nullish(),\n a2aSimpleMathUpdatedAt: z.string().nullish(),\n a2aSimpleScienceScore: z.number().nullish(),\n a2aSimpleScienceStatus: z.string().nullish(),\n a2aSimpleScienceQuestionId: z.string().nullish(),\n a2aSimpleScienceSessionId: z.string().nullish(),\n a2aSimpleScienceResponse: z.string().nullish(),\n a2aSimpleScienceError: z.string().nullish(),\n a2aSimpleScienceUpdatedAt: z.string().nullish(),\n nandaSimpleMathScore: z.number().nullish(),\n nandaSimpleMathStatus: z.string().nullish(),\n nandaSimpleMathQuestionId: z.string().nullish(),\n nandaSimpleMathResponse: z.string().nullish(),\n nandaSimpleMathError: z.string().nullish(),\n nandaSimpleMathUpdatedAt: z.string().nullish(),\n nandaSimpleScienceScore: z.number().nullish(),\n nandaSimpleScienceStatus: z.string().nullish(),\n nandaSimpleScienceQuestionId: z.string().nullish(),\n nandaSimpleScienceResponse: z.string().nullish(),\n nandaSimpleScienceError: z.string().nullish(),\n nandaSimpleScienceUpdatedAt: z.string().nullish(),\n })\n .passthrough();\n"],"names":[],"mappings":"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"}
@@ -1,141 +1,29 @@
1
- import { AccountId, Client, PrivateKey } from "@hashgraph/sdk";
2
- import { detectKeyTypeFromString } from "./standards-sdk.es136.js";
3
- class NodeOperatorResolver {
4
- constructor(params) {
5
- this.mirror = params.mirrorNode;
6
- this.logger = params.logger;
7
- }
8
- /**
9
- * Best-guess parsing for an operator key without network calls.
10
- * - If PrivateKey: returns immediately with provided or fallback type.
11
- * - If string with explicitType: parse directly.
12
- * - If string without type: detect format; fallback to ECDSA.
13
- */
14
- bestGuessOperatorKey(operatorKeyInput, explicitType) {
15
- if (typeof operatorKeyInput !== "string") {
16
- return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
17
- }
18
- if (explicitType) {
19
- const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
20
- return { keyType: explicitType, privateKey: pk };
21
- }
22
- try {
23
- const detected = detectKeyTypeFromString(operatorKeyInput);
24
- return {
25
- keyType: detected.detectedType,
26
- privateKey: detected.privateKey
27
- };
28
- } catch {
29
- return {
30
- keyType: "ecdsa",
31
- privateKey: PrivateKey.fromStringECDSA(operatorKeyInput)
32
- };
33
- }
34
- }
35
- /**
36
- * Resolve an operator key using Mirror Node for key type when possible.
37
- * - If PrivateKey: return immediately.
38
- * - If explicitType: parse directly.
39
- * - Else: query Mirror Node; fallback to local detection.
40
- */
41
- async resolveOperatorKey(operatorId, operatorKeyInput, explicitType) {
42
- if (typeof operatorKeyInput !== "string") {
43
- return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
44
- }
45
- if (explicitType) {
46
- const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
47
- return { keyType: explicitType, privateKey: pk };
48
- }
49
- const account = typeof operatorId === "string" ? operatorId : operatorId.toString();
50
- try {
51
- const info = await this.mirror.requestAccount(account);
52
- const t = info?.key?._type || "";
53
- const keyType = t.includes("ED25519") ? "ed25519" : "ecdsa";
54
- const privateKey = keyType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
55
- return { keyType, privateKey };
56
- } catch {
57
- this.logger.warn(
58
- "Mirror node key detection failed; using local detection or default ECDSA"
59
- );
60
- return this.bestGuessOperatorKey(operatorKeyInput);
61
- }
62
- }
63
- /**
64
- * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.
65
- */
66
- async resolveSupplyKey(tokenId, keyInput, fallbackType, explicitType) {
67
- try {
68
- const info = await this.mirror.getTokenInfo(tokenId);
69
- const t = info?.supply_key?._type || "";
70
- if (typeof keyInput !== "string") {
71
- return keyInput;
72
- }
73
- if (explicitType) {
74
- return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
75
- }
76
- if (t.includes("ED25519")) {
77
- return PrivateKey.fromStringED25519(keyInput);
78
- }
79
- if (t.includes("ECDSA")) {
80
- return PrivateKey.fromStringECDSA(keyInput);
81
- }
82
- return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
83
- } catch {
84
- if (typeof keyInput !== "string") {
85
- return keyInput;
86
- }
87
- if (explicitType) {
88
- return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
89
- }
90
- return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
91
- }
92
- }
1
+ import { clampScore } from "./standards-sdk.es119.js";
2
+ function clampUnit(value) {
3
+ return Math.min(1, Math.max(0, value));
93
4
  }
94
- function createNodeOperatorContext(params) {
95
- const operatorId = typeof params.operatorId === "string" ? AccountId.fromString(params.operatorId) : params.operatorId;
96
- const client = params.client ? params.client : params.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
97
- const resolver = new NodeOperatorResolver({
98
- mirrorNode: params.mirrorNode,
99
- logger: params.logger
100
- });
101
- let currentKeyType;
102
- let currentPrivateKey;
103
- const guess = resolver.bestGuessOperatorKey(
104
- params.operatorKey,
105
- params.keyType
5
+ function normalizeRatio(value) {
6
+ return clampUnit(value > 1 ? value / 100 : value);
7
+ }
8
+ function logScale(value, cap) {
9
+ if (cap <= 0) {
10
+ return 0;
11
+ }
12
+ return clampScore(
13
+ 100 * clampUnit(Math.log1p(Math.max(0, value)) / Math.log1p(cap))
106
14
  );
107
- currentKeyType = guess.keyType;
108
- currentPrivateKey = guess.privateKey;
109
- client.setOperator(operatorId.toString(), currentPrivateKey);
110
- const initPromise = (async () => {
111
- try {
112
- const resolved = await resolver.resolveOperatorKey(
113
- operatorId,
114
- params.operatorKey,
115
- params.keyType
116
- );
117
- currentKeyType = resolved.keyType;
118
- currentPrivateKey = resolved.privateKey;
119
- client.setOperator(operatorId.toString(), currentPrivateKey);
120
- } catch {
121
- }
122
- })();
123
- return {
124
- client,
125
- operatorId,
126
- get operatorKey() {
127
- return currentPrivateKey;
128
- },
129
- get keyType() {
130
- return currentKeyType;
131
- },
132
- ensureInitialized: async () => {
133
- await initPromise;
134
- }
135
- };
15
+ }
16
+ function meanOfPresent(values) {
17
+ const present = values.filter((value) => value !== null);
18
+ if (present.length === 0) {
19
+ return null;
20
+ }
21
+ return present.reduce((sum, value) => sum + value, 0) / present.length;
136
22
  }
137
23
  export {
138
- NodeOperatorResolver,
139
- createNodeOperatorContext
24
+ clampUnit,
25
+ logScale,
26
+ meanOfPresent,
27
+ normalizeRatio
140
28
  };
141
29
  //# sourceMappingURL=standards-sdk.es183.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es183.js","sources":["../../src/common/node-operator-resolver.ts"],"sourcesContent":["import { AccountId, Client, PrivateKey } from '@hashgraph/sdk';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger } from '../utils/logger';\nimport { detectKeyTypeFromString } from '../utils/key-type-detector';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Resolves operator and supply private keys using Mirror Node as source of truth\n * with format-detection fallbacks for string keys.\n */\nexport class NodeOperatorResolver {\n private readonly mirror: HederaMirrorNode;\n private readonly logger: ILogger;\n\n constructor(params: { mirrorNode: HederaMirrorNode; logger: ILogger }) {\n this.mirror = params.mirrorNode;\n this.logger = params.logger;\n }\n\n /**\n * Best-guess parsing for an operator key without network calls.\n * - If PrivateKey: returns immediately with provided or fallback type.\n * - If string with explicitType: parse directly.\n * - If string without type: detect format; fallback to ECDSA.\n */\n bestGuessOperatorKey(\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): { keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey } {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n try {\n const detected = detectKeyTypeFromString(operatorKeyInput);\n return {\n keyType: detected.detectedType,\n privateKey: detected.privateKey,\n };\n } catch {\n return {\n keyType: 'ecdsa',\n privateKey: PrivateKey.fromStringECDSA(operatorKeyInput),\n };\n }\n }\n\n /**\n * Resolve an operator key using Mirror Node for key type when possible.\n * - If PrivateKey: return immediately.\n * - If explicitType: parse directly.\n * - Else: query Mirror Node; fallback to local detection.\n */\n async resolveOperatorKey(\n operatorId: string | AccountId,\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<{ keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey }> {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n const account =\n typeof operatorId === 'string' ? operatorId : operatorId.toString();\n try {\n const info = await this.mirror.requestAccount(account);\n const t = info?.key?._type || '';\n const keyType: 'ed25519' | 'ecdsa' = t.includes('ED25519')\n ? 'ed25519'\n : 'ecdsa';\n const privateKey =\n keyType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType, privateKey };\n } catch {\n this.logger.warn(\n 'Mirror node key detection failed; using local detection or default ECDSA',\n );\n return this.bestGuessOperatorKey(operatorKeyInput);\n }\n }\n\n /**\n * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.\n */\n async resolveSupplyKey(\n tokenId: string,\n keyInput: string | PrivateKey,\n fallbackType: 'ed25519' | 'ecdsa',\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<PrivateKey> {\n try {\n const info = await this.mirror.getTokenInfo(tokenId);\n const t = info?.supply_key?._type || '';\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n if (t.includes('ED25519')) {\n return PrivateKey.fromStringED25519(keyInput);\n }\n if (t.includes('ECDSA')) {\n return PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n } catch {\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n }\n}\n\nexport interface NodeOperatorInitParams {\n network: NetworkType;\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n mirrorNode: HederaMirrorNode;\n logger: ILogger;\n client?: Client;\n}\n\nexport interface NodeOperatorContext {\n client: Client;\n operatorId: AccountId;\n readonly operatorKey: PrivateKey;\n readonly keyType: 'ed25519' | 'ecdsa';\n ensureInitialized(): Promise<void>;\n}\n\nexport function createNodeOperatorContext(\n params: NodeOperatorInitParams,\n): NodeOperatorContext {\n const operatorId: AccountId =\n typeof params.operatorId === 'string'\n ? AccountId.fromString(params.operatorId)\n : params.operatorId;\n\n const client: Client = params.client\n ? params.client\n : params.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet();\n\n const resolver = new NodeOperatorResolver({\n mirrorNode: params.mirrorNode,\n logger: params.logger,\n });\n\n let currentKeyType: 'ed25519' | 'ecdsa';\n let currentPrivateKey: PrivateKey;\n\n const guess = resolver.bestGuessOperatorKey(\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = guess.keyType;\n currentPrivateKey = guess.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n\n const initPromise = (async () => {\n try {\n const resolved = await resolver.resolveOperatorKey(\n operatorId,\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = resolved.keyType;\n currentPrivateKey = resolved.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n } catch {}\n })();\n\n return {\n client,\n operatorId,\n get operatorKey() {\n return currentPrivateKey;\n },\n get keyType() {\n return currentKeyType;\n },\n ensureInitialized: async () => {\n await initPromise;\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es183.js","sources":["../../src/hcs-25/adapters/normalization.ts"],"sourcesContent":["import { clampScore } from '../scoring';\n\n/**\n * Clamps a value into the unit interval `[0, 1]`.\n */\nexport function clampUnit(value: number): number {\n return Math.min(1, Math.max(0, value));\n}\n\n/**\n * Normalizes a ratio that implementations may store either as `0..1` or as\n * `0..100`. Values above one are treated as percent scale.\n */\nexport function normalizeRatio(value: number): number {\n return clampUnit(value > 1 ? value / 100 : value);\n}\n\n/**\n * Log-scales a raw count into `[0, 100]` using `log1p` against a cap, per\n * the HCS-25 recommended log-scaling pattern.\n */\nexport function logScale(value: number, cap: number): number {\n if (cap <= 0) {\n return 0;\n }\n return clampScore(\n 100 * clampUnit(Math.log1p(Math.max(0, value)) / Math.log1p(cap)),\n );\n}\n\n/**\n * Computes the arithmetic mean of the provided values, returning null when\n * none are present.\n */\nexport function meanOfPresent(\n values: readonly (number | null)[],\n): number | null {\n const present = values.filter((value): value is number => value !== null);\n if (present.length === 0) {\n return null;\n }\n return present.reduce((sum, value) => sum + value, 0) / present.length;\n}\n"],"names":[],"mappings":";AAKO,SAAS,UAAU,OAAuB;AAC/C,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC;AACvC;AAMO,SAAS,eAAe,OAAuB;AACpD,SAAO,UAAU,QAAQ,IAAI,QAAQ,MAAM,KAAK;AAClD;AAMO,SAAS,SAAS,OAAe,KAAqB;AAC3D,MAAI,OAAO,GAAG;AACZ,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,MAAM,UAAU,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,GAAG,CAAC;AAAA,EAAA;AAEpE;AAMO,SAAS,cACd,QACe;AACf,QAAM,UAAU,OAAO,OAAO,CAAC,UAA2B,UAAU,IAAI;AACxE,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,OAAO,CAAC,KAAK,UAAU,MAAM,OAAO,CAAC,IAAI,QAAQ;AAClE;"}
@@ -1,45 +1,61 @@
1
- import { TopicMessageSubmitTransaction, TopicId, TopicCreateTransaction, PublicKey, KeyList } from "@hashgraph/sdk";
2
- function encodeHcs2RegistryMemo(indexedFlag, ttl) {
3
- return `hcs-2:${indexedFlag}:${ttl}`;
1
+ import { clampScore } from "./standards-sdk.es119.js";
2
+ import { readNumber, readSubjectMetrics } from "./standards-sdk.es198.js";
3
+ import "./standards-sdk.es182.js";
4
+ import "./standards-sdk.es195.js";
5
+ import "./standards-sdk.es196.js";
6
+ import "./standards-sdk.es197.js";
7
+ import { normalizeRatio, logScale } from "./standards-sdk.es183.js";
8
+ const DEFAULT_INCLUDED_REGISTRIES = ["virtuals-protocol"];
9
+ const MISSING = { value: 0, status: "missing" };
10
+ function readAcpField(subject, key) {
11
+ const metricsValue = readNumber(readSubjectMetrics(subject), key);
12
+ if (metricsValue !== null) {
13
+ return metricsValue;
14
+ }
15
+ const metadata = subject.metadata;
16
+ return metadata ? readNumber(metadata, key) : null;
4
17
  }
5
- function buildTopicCreateTx(params) {
6
- const { memo, adminKey, submitKey, operatorPublicKey } = params;
7
- const tx = new TopicCreateTransaction().setTopicMemo(memo);
8
- const coerceKey = (k) => {
9
- if (!k) return void 0;
10
- if (k instanceof PublicKey || k instanceof KeyList) return k;
11
- if (typeof k === "boolean") {
12
- return k ? operatorPublicKey : void 0;
13
- }
14
- if (typeof k === "string") {
15
- try {
16
- return PublicKey.fromString(k);
17
- } catch {
18
- return void 0;
18
+ function createAcpAdapter(options = {}) {
19
+ const volumeCap = options.volumeCap ?? 500;
20
+ const revenueCap = options.revenueCap ?? 1e4;
21
+ return {
22
+ id: "acp",
23
+ weight: 2,
24
+ contributionMode: "scoped",
25
+ includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
26
+ components: [
27
+ {
28
+ name: "jobs.successRate",
29
+ normalize: ({ subject }) => {
30
+ const raw = readAcpField(subject, "successRate");
31
+ return raw === null ? MISSING : { value: clampScore(normalizeRatio(raw) * 100), status: "ok" };
32
+ }
33
+ },
34
+ {
35
+ name: "jobs.deliveryVolume",
36
+ normalize: ({ subject }) => {
37
+ const volume = readAcpField(subject, "volume") ?? readAcpField(subject, "successfulJobCount");
38
+ return volume === null ? MISSING : { value: logScale(volume, volumeCap), status: "ok" };
39
+ }
40
+ },
41
+ {
42
+ name: "jobs.revenue",
43
+ normalize: ({ subject }) => {
44
+ const revenue = readAcpField(subject, "revenue");
45
+ return revenue === null ? MISSING : { value: logScale(revenue, revenueCap), status: "ok" };
46
+ }
47
+ },
48
+ {
49
+ name: "reviews.rating",
50
+ normalize: ({ subject }) => {
51
+ const rating = readAcpField(subject, "rating");
52
+ return rating === null ? MISSING : { value: clampScore(rating / 5 * 100), status: "ok" };
53
+ }
19
54
  }
20
- }
21
- return void 0;
55
+ ]
22
56
  };
23
- const admin = coerceKey(adminKey);
24
- if (admin) {
25
- tx.setAdminKey(admin);
26
- }
27
- const submit = coerceKey(submitKey);
28
- if (submit) {
29
- tx.setSubmitKey(submit);
30
- }
31
- return tx;
32
- }
33
- function buildMessageTx(params) {
34
- const tx = new TopicMessageSubmitTransaction().setTopicId(TopicId.fromString(params.topicId)).setMessage(params.message);
35
- if (params.transactionMemo) {
36
- tx.setTransactionMemo(params.transactionMemo);
37
- }
38
- return tx;
39
57
  }
40
58
  export {
41
- buildMessageTx,
42
- buildTopicCreateTx,
43
- encodeHcs2RegistryMemo
59
+ createAcpAdapter
44
60
  };
45
61
  //# sourceMappingURL=standards-sdk.es184.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es184.js","sources":["../../src/common/tx/tx-utils.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PublicKey,\n KeyList,\n TopicId,\n} from '@hashgraph/sdk';\n\nexport type MaybeKey = boolean | string | PublicKey | KeyList | undefined;\n\nexport function encodeHcs2RegistryMemo(\n indexedFlag: 0 | 1,\n ttl: number,\n): string {\n return `hcs-2:${indexedFlag}:${ttl}`;\n}\n\nexport function buildTopicCreateTx(params: {\n memo: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const { memo, adminKey, submitKey, operatorPublicKey } = params;\n const tx = new TopicCreateTransaction().setTopicMemo(memo);\n\n const coerceKey = (k?: MaybeKey): PublicKey | KeyList | undefined => {\n if (!k) return undefined;\n if (k instanceof PublicKey || k instanceof KeyList) return k;\n if (typeof k === 'boolean') {\n return k ? operatorPublicKey : undefined;\n }\n if (typeof k === 'string') {\n try {\n return PublicKey.fromString(k);\n } catch {\n return undefined;\n }\n }\n return undefined;\n };\n\n const admin = coerceKey(adminKey);\n if (admin) {\n tx.setAdminKey(admin);\n }\n\n const submit = coerceKey(submitKey);\n if (submit) {\n tx.setSubmitKey(submit);\n }\n\n return tx;\n}\n\nexport function buildMessageTx(params: {\n topicId: string;\n message: string | Uint8Array;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const tx = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(params.topicId))\n .setMessage(params.message);\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n return tx;\n}\n"],"names":[],"mappings":";AAUO,SAAS,uBACd,aACA,KACQ;AACR,SAAO,SAAS,WAAW,IAAI,GAAG;AACpC;AAEO,SAAS,mBAAmB,QAKR;AACzB,QAAM,EAAE,MAAM,UAAU,WAAW,sBAAsB;AACzD,QAAM,KAAK,IAAI,yBAAyB,aAAa,IAAI;AAEzD,QAAM,YAAY,CAAC,MAAkD;AACnE,QAAI,CAAC,EAAG,QAAO;AACf,QAAI,aAAa,aAAa,aAAa,QAAS,QAAO;AAC3D,QAAI,OAAO,MAAM,WAAW;AAC1B,aAAO,IAAI,oBAAoB;AAAA,IACjC;AACA,QAAI,OAAO,MAAM,UAAU;AACzB,UAAI;AACF,eAAO,UAAU,WAAW,CAAC;AAAA,MAC/B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,UAAU,QAAQ;AAChC,MAAI,OAAO;AACT,OAAG,YAAY,KAAK;AAAA,EACtB;AAEA,QAAM,SAAS,UAAU,SAAS;AAClC,MAAI,QAAQ;AACV,OAAG,aAAa,MAAM;AAAA,EACxB;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,QAIG;AAChC,QAAM,KAAK,IAAI,gCACZ,WAAW,QAAQ,WAAW,OAAO,OAAO,CAAC,EAC7C,WAAW,OAAO,OAAO;AAC5B,MAAI,OAAO,iBAAiB;AAC1B,OAAG,mBAAmB,OAAO,eAAe;AAAA,EAC9C;AACA,SAAO;AACT;"}
1
+ {"version":3,"file":"standards-sdk.es184.js","sources":["../../src/hcs-25/adapters/acp.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readNumber, readSubjectMetrics } from '../signals';\nimport { logScale, normalizeRatio } from './normalization';\n\n/**\n * Options for the ACP/Virtuals marketplace adapter.\n */\nexport interface Hcs25AcpAdapterOptions {\n /** Volume cap used for log scaling delivery volume. Default 500. */\n volumeCap?: number;\n /** Revenue cap used for log scaling revenue. Default 10000. */\n revenueCap?: number;\n /** Registries where marketplace metrics apply. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['virtuals-protocol'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction readAcpField(subject: Hcs25Subject, key: string): number | null {\n const metricsValue = readNumber(readSubjectMetrics(subject), key);\n if (metricsValue !== null) {\n return metricsValue;\n }\n const metadata = subject.metadata;\n return metadata ? readNumber(metadata, key) : null;\n}\n\n/**\n * Creates the `acp` adapter: normalizes marketplace-native execution\n * performance (job success, delivery volume, revenue, ratings) for\n * ACP/Virtuals-style agents. Delivery volume falls back to the successful\n * job count when no provider-defined volume exists.\n */\nexport function createAcpAdapter(\n options: Hcs25AcpAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const volumeCap = options.volumeCap ?? 500;\n const revenueCap = options.revenueCap ?? 10000;\n\n return {\n id: 'acp',\n weight: 2,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n components: [\n {\n name: 'jobs.successRate',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const raw = readAcpField(subject, 'successRate');\n return raw === null\n ? MISSING\n : { value: clampScore(normalizeRatio(raw) * 100), status: 'ok' };\n },\n },\n {\n name: 'jobs.deliveryVolume',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const volume =\n readAcpField(subject, 'volume') ??\n readAcpField(subject, 'successfulJobCount');\n return volume === null\n ? MISSING\n : { value: logScale(volume, volumeCap), status: 'ok' };\n },\n },\n {\n name: 'jobs.revenue',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const revenue = readAcpField(subject, 'revenue');\n return revenue === null\n ? MISSING\n : { value: logScale(revenue, revenueCap), status: 'ok' };\n },\n },\n {\n name: 'reviews.rating',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const rating = readAcpField(subject, 'rating');\n return rating === null\n ? MISSING\n : { value: clampScore((rating / 5) * 100), status: 'ok' };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;AAqBA,MAAM,8BAAiD,CAAC,mBAAmB;AAE3E,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,SAAS,aAAa,SAAuB,KAA4B;AACvE,QAAM,eAAe,WAAW,mBAAmB,OAAO,GAAG,GAAG;AAChE,MAAI,iBAAiB,MAAM;AACzB,WAAO;AAAA,EACT;AACA,QAAM,WAAW,QAAQ;AACzB,SAAO,WAAW,WAAW,UAAU,GAAG,IAAI;AAChD;AAQO,SAAS,iBACd,UAAkC,IACV;AACxB,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,aAAa,QAAQ,cAAc;AAEzC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,MAAM,aAAa,SAAS,aAAa;AAC/C,iBAAO,QAAQ,OACX,UACA,EAAE,OAAO,WAAW,eAAe,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAA;AAAA,QAC9D;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,SACJ,aAAa,SAAS,QAAQ,KAC9B,aAAa,SAAS,oBAAoB;AAC5C,iBAAO,WAAW,OACd,UACA,EAAE,OAAO,SAAS,QAAQ,SAAS,GAAG,QAAQ,KAAA;AAAA,QACpD;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU,aAAa,SAAS,SAAS;AAC/C,iBAAO,YAAY,OACf,UACA,EAAE,OAAO,SAAS,SAAS,UAAU,GAAG,QAAQ,KAAA;AAAA,QACtD;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,SAAS,aAAa,SAAS,QAAQ;AAC7C,iBAAO,WAAW,OACd,UACA,EAAE,OAAO,WAAY,SAAS,IAAK,GAAG,GAAG,QAAQ,KAAA;AAAA,QACvD;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}