@hashgraphonline/standards-sdk 0.1.190 → 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 (350) hide show
  1. package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  2. package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  3. package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
  4. package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
  5. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  6. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  7. package/dist/browser/hcs-25/collectors/catalog.d.ts +9 -2
  8. package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -1
  9. package/dist/browser/hcs-25/collectors/index.d.ts +1 -0
  10. package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -1
  11. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  12. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  13. package/dist/browser/hcs-25/signals/index.d.ts +1 -0
  14. package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
  15. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  16. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  17. package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
  18. package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
  19. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  20. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  21. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +9 -2
  22. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -1
  23. package/dist/browser-root/hcs-25/collectors/index.d.ts +1 -0
  24. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -1
  25. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  26. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  27. package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
  28. package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
  29. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  30. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  31. package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
  32. package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
  33. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  34. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  35. package/dist/cjs/hcs-25/collectors/catalog.d.ts +9 -2
  36. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -1
  37. package/dist/cjs/hcs-25/collectors/index.d.ts +1 -0
  38. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -1
  39. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  40. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  41. package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
  42. package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
  43. package/dist/cjs/standards-sdk.cjs +1 -1
  44. package/dist/cjs/standards-sdk.cjs.map +1 -1
  45. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  46. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  47. package/dist/es/hcs-25/adapters/index.d.ts +1 -0
  48. package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
  49. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  50. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  51. package/dist/es/hcs-25/collectors/catalog.d.ts +9 -2
  52. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -1
  53. package/dist/es/hcs-25/collectors/index.d.ts +1 -0
  54. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -1
  55. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  56. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  57. package/dist/es/hcs-25/signals/index.d.ts +1 -0
  58. package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
  59. package/dist/es/standards-sdk.es.js +78 -71
  60. package/dist/es/standards-sdk.es.js.map +1 -1
  61. package/dist/es/standards-sdk.es101.js +2 -2
  62. package/dist/es/standards-sdk.es103.js +2 -2
  63. package/dist/es/standards-sdk.es104.js +1 -1
  64. package/dist/es/standards-sdk.es106.js +1 -1
  65. package/dist/es/standards-sdk.es108.js +2 -2
  66. package/dist/es/standards-sdk.es11.js +1 -1
  67. package/dist/es/standards-sdk.es110.js +1 -1
  68. package/dist/es/standards-sdk.es111.js +2 -2
  69. package/dist/es/standards-sdk.es115.js +3 -3
  70. package/dist/es/standards-sdk.es116.js +4 -4
  71. package/dist/es/standards-sdk.es12.js +1 -1
  72. package/dist/es/standards-sdk.es120.js +22 -4
  73. package/dist/es/standards-sdk.es120.js.map +1 -1
  74. package/dist/es/standards-sdk.es121.js +15 -12
  75. package/dist/es/standards-sdk.es121.js.map +1 -1
  76. package/dist/es/standards-sdk.es123.js +6 -5
  77. package/dist/es/standards-sdk.es123.js.map +1 -1
  78. package/dist/es/standards-sdk.es124.js +6 -5
  79. package/dist/es/standards-sdk.es124.js.map +1 -1
  80. package/dist/es/standards-sdk.es127.js +6 -5
  81. package/dist/es/standards-sdk.es127.js.map +1 -1
  82. package/dist/es/standards-sdk.es128.js +110 -136
  83. package/dist/es/standards-sdk.es128.js.map +1 -1
  84. package/dist/es/standards-sdk.es129.js +133 -141
  85. package/dist/es/standards-sdk.es129.js.map +1 -1
  86. package/dist/es/standards-sdk.es13.js +1 -1
  87. package/dist/es/standards-sdk.es130.js +135 -345
  88. package/dist/es/standards-sdk.es130.js.map +1 -1
  89. package/dist/es/standards-sdk.es131.js +332 -344
  90. package/dist/es/standards-sdk.es131.js.map +1 -1
  91. package/dist/es/standards-sdk.es132.js +338 -178
  92. package/dist/es/standards-sdk.es132.js.map +1 -1
  93. package/dist/es/standards-sdk.es133.js +200 -196
  94. package/dist/es/standards-sdk.es133.js.map +1 -1
  95. package/dist/es/standards-sdk.es134.js +216 -364
  96. package/dist/es/standards-sdk.es134.js.map +1 -1
  97. package/dist/es/standards-sdk.es135.js +358 -100
  98. package/dist/es/standards-sdk.es135.js.map +1 -1
  99. package/dist/es/standards-sdk.es136.js +91 -220
  100. package/dist/es/standards-sdk.es136.js.map +1 -1
  101. package/dist/es/standards-sdk.es137.js +173 -1250
  102. package/dist/es/standards-sdk.es137.js.map +1 -1
  103. package/dist/es/standards-sdk.es138.js +1295 -98
  104. package/dist/es/standards-sdk.es138.js.map +1 -1
  105. package/dist/es/standards-sdk.es139.js +109 -246
  106. package/dist/es/standards-sdk.es139.js.map +1 -1
  107. package/dist/es/standards-sdk.es14.js +1 -1
  108. package/dist/es/standards-sdk.es140.js +263 -97
  109. package/dist/es/standards-sdk.es140.js.map +1 -1
  110. package/dist/es/standards-sdk.es141.js +107 -248
  111. package/dist/es/standards-sdk.es141.js.map +1 -1
  112. package/dist/es/standards-sdk.es142.js +246 -472
  113. package/dist/es/standards-sdk.es142.js.map +1 -1
  114. package/dist/es/standards-sdk.es143.js +458 -85
  115. package/dist/es/standards-sdk.es143.js.map +1 -1
  116. package/dist/es/standards-sdk.es144.js +96 -151
  117. package/dist/es/standards-sdk.es144.js.map +1 -1
  118. package/dist/es/standards-sdk.es145.js +155 -29
  119. package/dist/es/standards-sdk.es145.js.map +1 -1
  120. package/dist/es/standards-sdk.es146.js +26 -4
  121. package/dist/es/standards-sdk.es146.js.map +1 -1
  122. package/dist/es/standards-sdk.es147.js +10 -180
  123. package/dist/es/standards-sdk.es147.js.map +1 -1
  124. package/dist/es/standards-sdk.es148.js +179 -26
  125. package/dist/es/standards-sdk.es148.js.map +1 -1
  126. package/dist/es/standards-sdk.es149.js +27 -20
  127. package/dist/es/standards-sdk.es149.js.map +1 -1
  128. package/dist/es/standards-sdk.es15.js +1 -1
  129. package/dist/es/standards-sdk.es150.js +18 -156
  130. package/dist/es/standards-sdk.es150.js.map +1 -1
  131. package/dist/es/standards-sdk.es151.js +148 -190
  132. package/dist/es/standards-sdk.es151.js.map +1 -1
  133. package/dist/es/standards-sdk.es152.js +159 -747
  134. package/dist/es/standards-sdk.es152.js.map +1 -1
  135. package/dist/es/standards-sdk.es153.js +786 -9
  136. package/dist/es/standards-sdk.es153.js.map +1 -1
  137. package/dist/es/standards-sdk.es154.js +13 -567
  138. package/dist/es/standards-sdk.es154.js.map +1 -1
  139. package/dist/es/standards-sdk.es155.js +541 -600
  140. package/dist/es/standards-sdk.es155.js.map +1 -1
  141. package/dist/es/standards-sdk.es156.js +625 -12
  142. package/dist/es/standards-sdk.es156.js.map +1 -1
  143. package/dist/es/standards-sdk.es157.js +13 -2
  144. package/dist/es/standards-sdk.es157.js.map +1 -1
  145. package/dist/es/standards-sdk.es158.js +2 -87
  146. package/dist/es/standards-sdk.es158.js.map +1 -1
  147. package/dist/es/standards-sdk.es159.js +84 -37
  148. package/dist/es/standards-sdk.es159.js.map +1 -1
  149. package/dist/es/standards-sdk.es16.js +6 -6
  150. package/dist/es/standards-sdk.es160.js +40 -2
  151. package/dist/es/standards-sdk.es160.js.map +1 -1
  152. package/dist/es/standards-sdk.es161.js +2 -235
  153. package/dist/es/standards-sdk.es161.js.map +1 -1
  154. package/dist/es/standards-sdk.es162.js +204 -1109
  155. package/dist/es/standards-sdk.es162.js.map +1 -1
  156. package/dist/es/standards-sdk.es163.js +1059 -225
  157. package/dist/es/standards-sdk.es163.js.map +1 -1
  158. package/dist/es/standards-sdk.es164.js +303 -419
  159. package/dist/es/standards-sdk.es164.js.map +1 -1
  160. package/dist/es/standards-sdk.es165.js +418 -351
  161. package/dist/es/standards-sdk.es165.js.map +1 -1
  162. package/dist/es/standards-sdk.es166.js +347 -1114
  163. package/dist/es/standards-sdk.es166.js.map +1 -1
  164. package/dist/es/standards-sdk.es167.js +1094 -180
  165. package/dist/es/standards-sdk.es167.js.map +1 -1
  166. package/dist/es/standards-sdk.es168.js +153 -1512
  167. package/dist/es/standards-sdk.es168.js.map +1 -1
  168. package/dist/es/standards-sdk.es169.js +1457 -1056
  169. package/dist/es/standards-sdk.es169.js.map +1 -1
  170. package/dist/es/standards-sdk.es170.js +1163 -14
  171. package/dist/es/standards-sdk.es170.js.map +1 -1
  172. package/dist/es/standards-sdk.es171.js +15 -449
  173. package/dist/es/standards-sdk.es171.js.map +1 -1
  174. package/dist/es/standards-sdk.es172.js +440 -248
  175. package/dist/es/standards-sdk.es172.js.map +1 -1
  176. package/dist/es/standards-sdk.es173.js +259 -4
  177. package/dist/es/standards-sdk.es173.js.map +1 -1
  178. package/dist/es/standards-sdk.es174.js +4 -81
  179. package/dist/es/standards-sdk.es174.js.map +1 -1
  180. package/dist/es/standards-sdk.es175.js +71 -77
  181. package/dist/es/standards-sdk.es175.js.map +1 -1
  182. package/dist/es/standards-sdk.es176.js +80 -53
  183. package/dist/es/standards-sdk.es176.js.map +1 -1
  184. package/dist/es/standards-sdk.es177.js +59 -2546
  185. package/dist/es/standards-sdk.es177.js.map +1 -1
  186. package/dist/es/standards-sdk.es178.js +2547 -159
  187. package/dist/es/standards-sdk.es178.js.map +1 -1
  188. package/dist/es/standards-sdk.es179.js +159 -7
  189. package/dist/es/standards-sdk.es179.js.map +1 -1
  190. package/dist/es/standards-sdk.es18.js +13 -13
  191. package/dist/es/standards-sdk.es180.js +7 -86
  192. package/dist/es/standards-sdk.es180.js.map +1 -1
  193. package/dist/es/standards-sdk.es181.js +65 -44
  194. package/dist/es/standards-sdk.es181.js.map +1 -1
  195. package/dist/es/standards-sdk.es182.js +57 -188
  196. package/dist/es/standards-sdk.es182.js.map +1 -1
  197. package/dist/es/standards-sdk.es183.js +27 -26
  198. package/dist/es/standards-sdk.es183.js.map +1 -1
  199. package/dist/es/standards-sdk.es184.js +191 -53
  200. package/dist/es/standards-sdk.es184.js.map +1 -1
  201. package/dist/es/standards-sdk.es185.js +21 -109
  202. package/dist/es/standards-sdk.es185.js.map +1 -1
  203. package/dist/es/standards-sdk.es186.js +49 -47
  204. package/dist/es/standards-sdk.es186.js.map +1 -1
  205. package/dist/es/standards-sdk.es187.js +89 -205
  206. package/dist/es/standards-sdk.es187.js.map +1 -1
  207. package/dist/es/standards-sdk.es188.js +35 -58
  208. package/dist/es/standards-sdk.es188.js.map +1 -1
  209. package/dist/es/standards-sdk.es189.js +48 -39
  210. package/dist/es/standards-sdk.es189.js.map +1 -1
  211. package/dist/es/standards-sdk.es19.js +10 -10
  212. package/dist/es/standards-sdk.es190.js +218 -48
  213. package/dist/es/standards-sdk.es190.js.map +1 -1
  214. package/dist/es/standards-sdk.es191.js +66 -42
  215. package/dist/es/standards-sdk.es191.js.map +1 -1
  216. package/dist/es/standards-sdk.es192.js +33 -105
  217. package/dist/es/standards-sdk.es192.js.map +1 -1
  218. package/dist/es/standards-sdk.es193.js +49 -43
  219. package/dist/es/standards-sdk.es193.js.map +1 -1
  220. package/dist/es/standards-sdk.es194.js +33 -42
  221. package/dist/es/standards-sdk.es194.js.map +1 -1
  222. package/dist/es/standards-sdk.es195.js +123 -72
  223. package/dist/es/standards-sdk.es195.js.map +1 -1
  224. package/dist/es/standards-sdk.es196.js +58 -75
  225. package/dist/es/standards-sdk.es196.js.map +1 -1
  226. package/dist/es/standards-sdk.es197.js +60 -44
  227. package/dist/es/standards-sdk.es197.js.map +1 -1
  228. package/dist/es/standards-sdk.es198.js +72 -36
  229. package/dist/es/standards-sdk.es198.js.map +1 -1
  230. package/dist/es/standards-sdk.es199.js +75 -30
  231. package/dist/es/standards-sdk.es199.js.map +1 -1
  232. package/dist/es/standards-sdk.es2.js +2 -2
  233. package/dist/es/standards-sdk.es20.js +1 -1
  234. package/dist/es/standards-sdk.es200.js +44 -34
  235. package/dist/es/standards-sdk.es200.js.map +1 -1
  236. package/dist/es/standards-sdk.es201.js +36 -48
  237. package/dist/es/standards-sdk.es201.js.map +1 -1
  238. package/dist/es/standards-sdk.es202.js +30 -138
  239. package/dist/es/standards-sdk.es202.js.map +1 -1
  240. package/dist/es/standards-sdk.es203.js +34 -42
  241. package/dist/es/standards-sdk.es203.js.map +1 -1
  242. package/dist/es/standards-sdk.es204.js +48 -12482
  243. package/dist/es/standards-sdk.es204.js.map +1 -1
  244. package/dist/es/standards-sdk.es205.js +134 -13
  245. package/dist/es/standards-sdk.es205.js.map +1 -1
  246. package/dist/es/standards-sdk.es206.js +36 -50
  247. package/dist/es/standards-sdk.es206.js.map +1 -1
  248. package/dist/es/standards-sdk.es207.js +12449 -78
  249. package/dist/es/standards-sdk.es207.js.map +1 -1
  250. package/dist/es/standards-sdk.es208.js +15 -79
  251. package/dist/es/standards-sdk.es208.js.map +1 -1
  252. package/dist/es/standards-sdk.es209.js +48 -192
  253. package/dist/es/standards-sdk.es209.js.map +1 -1
  254. package/dist/es/standards-sdk.es21.js +1 -1
  255. package/dist/es/standards-sdk.es210.js +90 -651
  256. package/dist/es/standards-sdk.es210.js.map +1 -1
  257. package/dist/es/standards-sdk.es211.js +71 -63
  258. package/dist/es/standards-sdk.es211.js.map +1 -1
  259. package/dist/es/standards-sdk.es212.js +188 -160
  260. package/dist/es/standards-sdk.es212.js.map +1 -1
  261. package/dist/es/standards-sdk.es213.js +65 -314
  262. package/dist/es/standards-sdk.es213.js.map +1 -1
  263. package/dist/es/standards-sdk.es214.js +661 -335
  264. package/dist/es/standards-sdk.es214.js.map +1 -1
  265. package/dist/es/standards-sdk.es215.js +129 -410
  266. package/dist/es/standards-sdk.es215.js.map +1 -1
  267. package/dist/es/standards-sdk.es216.js +200 -209
  268. package/dist/es/standards-sdk.es216.js.map +1 -1
  269. package/dist/es/standards-sdk.es217.js +334 -64
  270. package/dist/es/standards-sdk.es217.js.map +1 -1
  271. package/dist/es/standards-sdk.es218.js +438 -124
  272. package/dist/es/standards-sdk.es218.js.map +1 -1
  273. package/dist/es/standards-sdk.es219.js +310 -496
  274. package/dist/es/standards-sdk.es219.js.map +1 -1
  275. package/dist/es/standards-sdk.es22.js +1 -1
  276. package/dist/es/standards-sdk.es220.js +60 -243
  277. package/dist/es/standards-sdk.es220.js.map +1 -1
  278. package/dist/es/standards-sdk.es221.js +118 -175
  279. package/dist/es/standards-sdk.es221.js.map +1 -1
  280. package/dist/es/standards-sdk.es222.js +465 -67
  281. package/dist/es/standards-sdk.es222.js.map +1 -1
  282. package/dist/es/standards-sdk.es223.js +250 -143
  283. package/dist/es/standards-sdk.es223.js.map +1 -1
  284. package/dist/es/standards-sdk.es224.js +172 -160
  285. package/dist/es/standards-sdk.es224.js.map +1 -1
  286. package/dist/es/standards-sdk.es225.js +65 -630
  287. package/dist/es/standards-sdk.es225.js.map +1 -1
  288. package/dist/es/standards-sdk.es226.js +128 -161
  289. package/dist/es/standards-sdk.es226.js.map +1 -1
  290. package/dist/es/standards-sdk.es227.js +144 -195
  291. package/dist/es/standards-sdk.es227.js.map +1 -1
  292. package/dist/es/standards-sdk.es228.js +668 -223
  293. package/dist/es/standards-sdk.es228.js.map +1 -1
  294. package/dist/es/standards-sdk.es229.js +188 -0
  295. package/dist/es/standards-sdk.es229.js.map +1 -0
  296. package/dist/es/standards-sdk.es23.js +1 -1
  297. package/dist/es/standards-sdk.es230.js +238 -0
  298. package/dist/es/standards-sdk.es230.js.map +1 -0
  299. package/dist/es/standards-sdk.es231.js +242 -0
  300. package/dist/es/standards-sdk.es231.js.map +1 -0
  301. package/dist/es/standards-sdk.es24.js +1 -1
  302. package/dist/es/standards-sdk.es25.js +1 -1
  303. package/dist/es/standards-sdk.es26.js +1 -1
  304. package/dist/es/standards-sdk.es27.js +13 -13
  305. package/dist/es/standards-sdk.es30.js +2 -2
  306. package/dist/es/standards-sdk.es31.js +4 -4
  307. package/dist/es/standards-sdk.es32.js +1 -1
  308. package/dist/es/standards-sdk.es35.js +7 -7
  309. package/dist/es/standards-sdk.es36.js +4 -4
  310. package/dist/es/standards-sdk.es37.js +2 -2
  311. package/dist/es/standards-sdk.es38.js +2 -2
  312. package/dist/es/standards-sdk.es39.js +1 -1
  313. package/dist/es/standards-sdk.es4.js +2 -2
  314. package/dist/es/standards-sdk.es40.js +1 -1
  315. package/dist/es/standards-sdk.es41.js +2 -2
  316. package/dist/es/standards-sdk.es46.js +1 -1
  317. package/dist/es/standards-sdk.es5.js +2 -2
  318. package/dist/es/standards-sdk.es51.js +1 -1
  319. package/dist/es/standards-sdk.es53.js +1 -1
  320. package/dist/es/standards-sdk.es56.js +2 -2
  321. package/dist/es/standards-sdk.es59.js +1 -1
  322. package/dist/es/standards-sdk.es6.js +2 -2
  323. package/dist/es/standards-sdk.es60.js +1 -1
  324. package/dist/es/standards-sdk.es62.js +1 -1
  325. package/dist/es/standards-sdk.es63.js +2 -2
  326. package/dist/es/standards-sdk.es64.js +1 -1
  327. package/dist/es/standards-sdk.es65.js +1 -1
  328. package/dist/es/standards-sdk.es66.js +1 -1
  329. package/dist/es/standards-sdk.es67.js +8 -8
  330. package/dist/es/standards-sdk.es69.js +1 -1
  331. package/dist/es/standards-sdk.es7.js +1 -1
  332. package/dist/es/standards-sdk.es71.js +2 -2
  333. package/dist/es/standards-sdk.es72.js +3 -3
  334. package/dist/es/standards-sdk.es75.js +5 -5
  335. package/dist/es/standards-sdk.es76.js +3 -3
  336. package/dist/es/standards-sdk.es77.js +2 -2
  337. package/dist/es/standards-sdk.es78.js +1 -1
  338. package/dist/es/standards-sdk.es81.js +2 -2
  339. package/dist/es/standards-sdk.es83.js +2 -2
  340. package/dist/es/standards-sdk.es84.js +5 -5
  341. package/dist/es/standards-sdk.es85.js +1 -1
  342. package/dist/es/standards-sdk.es88.js +1 -1
  343. package/dist/es/standards-sdk.es89.js +2 -2
  344. package/dist/es/standards-sdk.es9.js +2 -2
  345. package/dist/es/standards-sdk.es90.js +4 -4
  346. package/dist/es/standards-sdk.es94.js +3 -3
  347. package/dist/es/standards-sdk.es96.js +2 -2
  348. package/dist/es/standards-sdk.es98.js +1 -1
  349. package/dist/es/standards-sdk.es99.js +3 -3
  350. package/package.json +1 -1
@@ -1,52 +1,76 @@
1
- import { readNumber, readSubjectAdditional, readString } from "./standards-sdk.es198.js";
2
- import "./standards-sdk.es182.js";
3
- import "./standards-sdk.es195.js";
4
- import "./standards-sdk.es196.js";
5
- import "./standards-sdk.es197.js";
6
- import { logScale } from "./standards-sdk.es183.js";
1
+ import { clampScore } from "./standards-sdk.es119.js";
2
+ import { readSubjectAdditional, readNumber, readString, isJsonObject } from "./standards-sdk.es201.js";
3
+ import "./standards-sdk.es184.js";
4
+ import "./standards-sdk.es198.js";
5
+ import "./standards-sdk.es199.js";
6
+ import "./standards-sdk.es200.js";
7
+ import "./standards-sdk.es183.js";
8
+ const DEFAULT_EXCLUDED_REGISTRIES = [
9
+ "openrouter",
10
+ "near-ai"
11
+ ];
7
12
  const MISSING = { value: 0, status: "missing" };
8
- function readDownloadCount(subject) {
9
- const additional = readSubjectAdditional(subject);
10
- return readNumber(additional, "npmDownloads30d") ?? readNumber(additional, "pypiDownloads30d") ?? readNumber(additional, "packageDownloadCount");
13
+ function connectivityStatus(status, score, ok) {
14
+ if (score !== null) {
15
+ return status === "stale" ? { value: ok.value, status: "stale" } : ok;
16
+ }
17
+ if (status === "timeout" || status === "error") {
18
+ return { value: 0, status };
19
+ }
20
+ return MISSING;
11
21
  }
12
- function createOssPopularityAdapter(options = {}) {
13
- const starsCap = options.starsCap ?? 5e3;
14
- const downloadsCap = options.downloadsCap ?? 1e5;
15
- const starsWeight = options.starsWeight ?? 0.6;
16
- const downloadsWeight = options.downloadsWeight ?? 0.4;
17
- const looksLikeOssArtifact = (subject) => {
18
- const additional = readSubjectAdditional(subject);
19
- return readString(additional, "githubRepo") !== null || readNumber(additional, "githubStars") !== null || readString(additional, "packageName") !== null;
20
- };
21
- return {
22
- id: "oss-popularity",
23
- weight: 0.7,
24
- contributionMode: "scoped",
25
- appliesTo: looksLikeOssArtifact,
26
- components: [
27
- {
28
- name: "githubStars",
29
- weight: starsWeight,
30
- normalize: ({ subject }) => {
31
- const stars = readNumber(
32
- readSubjectAdditional(subject),
33
- "githubStars"
34
- );
35
- return stars === null ? MISSING : { value: logScale(stars, starsCap), status: "ok" };
22
+ function createConnectivityAdapter(options = {}) {
23
+ const targets = options.targets ?? [];
24
+ const excludeRegistries = options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES;
25
+ if (targets.length === 0) {
26
+ return {
27
+ id: "connectivity",
28
+ weight: 1,
29
+ contributionMode: "conditional",
30
+ excludeRegistries,
31
+ defaultComponentKey: "connectivity.score",
32
+ components: [
33
+ {
34
+ name: "score",
35
+ nonScorableWhenUnavailable: true,
36
+ normalize: ({ subject }) => {
37
+ const additional = readSubjectAdditional(subject);
38
+ const score = readNumber(additional, "connectivityScore");
39
+ const status = readString(additional, "connectivityStatus");
40
+ return connectivityStatus(status, score, {
41
+ value: clampScore(score ?? 0),
42
+ status: "ok"
43
+ });
44
+ }
36
45
  }
37
- },
38
- {
39
- name: "downloads",
40
- weight: downloadsWeight,
41
- normalize: ({ subject }) => {
42
- const downloads = readDownloadCount(subject);
43
- return downloads === null ? MISSING : { value: logScale(downloads, downloadsCap), status: "ok" };
46
+ ]
47
+ };
48
+ }
49
+ return {
50
+ id: "connectivity",
51
+ weight: 1,
52
+ contributionMode: "conditional",
53
+ excludeRegistries,
54
+ components: targets.map((target) => ({
55
+ name: target,
56
+ nonScorableWhenUnavailable: true,
57
+ normalize: ({ subject }) => {
58
+ const additional = readSubjectAdditional(subject);
59
+ const status = readString(additional, "connectivityStatus");
60
+ const stored = additional.connectivityTargets;
61
+ if (!isJsonObject(stored)) {
62
+ return connectivityStatus(status, null, MISSING);
44
63
  }
64
+ const score = readNumber(stored, target);
65
+ return connectivityStatus(status, score, {
66
+ value: clampScore(score ?? 0),
67
+ status: "ok"
68
+ });
45
69
  }
46
- ]
70
+ }))
47
71
  };
48
72
  }
49
73
  export {
50
- createOssPopularityAdapter
74
+ createConnectivityAdapter
51
75
  };
52
76
  //# sourceMappingURL=standards-sdk.es191.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es191.js","sources":["../../src/hcs-25/adapters/oss-popularity.ts"],"sourcesContent":["import type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readNumber, readString, readSubjectAdditional } from '../signals';\nimport { logScale } from './normalization';\n\n/**\n * Options for the OSS popularity adapter.\n */\nexport interface Hcs25OssPopularityAdapterOptions {\n /** GitHub star cap for log scaling. Default 5000. */\n starsCap?: number;\n /** Package download cap for log scaling. Default 100000. */\n downloadsCap?: number;\n /** Within-adapter weight for the stars component. Default 0.6. */\n starsWeight?: number;\n /** Within-adapter weight for the downloads component. Default 0.4. */\n downloadsWeight?: number;\n}\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction readDownloadCount(subject: Hcs25Subject): number | null {\n const additional = readSubjectAdditional(subject);\n return (\n readNumber(additional, 'npmDownloads30d') ??\n readNumber(additional, 'pypiDownloads30d') ??\n readNumber(additional, 'packageDownloadCount')\n );\n}\n\n/**\n * Creates the `oss-popularity` adapter: log-scales GitHub stars and package\n * downloads into adoption-related trust components for open-source\n * artifacts. It only applies to subjects that look like software artifacts\n * (repository, star count, or package name present).\n */\nexport function createOssPopularityAdapter(\n options: Hcs25OssPopularityAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const starsCap = options.starsCap ?? 5000;\n const downloadsCap = options.downloadsCap ?? 100000;\n const starsWeight = options.starsWeight ?? 0.6;\n const downloadsWeight = options.downloadsWeight ?? 0.4;\n\n const looksLikeOssArtifact = (subject: Hcs25Subject): boolean => {\n const additional = readSubjectAdditional(subject);\n return (\n readString(additional, 'githubRepo') !== null ||\n readNumber(additional, 'githubStars') !== null ||\n readString(additional, 'packageName') !== null\n );\n };\n\n return {\n id: 'oss-popularity',\n weight: 0.7,\n contributionMode: 'scoped',\n appliesTo: looksLikeOssArtifact,\n components: [\n {\n name: 'githubStars',\n weight: starsWeight,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const stars = readNumber(\n readSubjectAdditional(subject),\n 'githubStars',\n );\n return stars === null\n ? MISSING\n : { value: logScale(stars, starsCap), status: 'ok' };\n },\n },\n {\n name: 'downloads',\n weight: downloadsWeight,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const downloads = readDownloadCount(subject);\n return downloads === null\n ? MISSING\n : { value: logScale(downloads, downloadsCap), status: 'ok' };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;AAsBA,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,SAAS,kBAAkB,SAAsC;AAC/D,QAAM,aAAa,sBAAsB,OAAO;AAChD,SACE,WAAW,YAAY,iBAAiB,KACxC,WAAW,YAAY,kBAAkB,KACzC,WAAW,YAAY,sBAAsB;AAEjD;AAQO,SAAS,2BACd,UAA4C,IACpB;AACxB,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,cAAc,QAAQ,eAAe;AAC3C,QAAM,kBAAkB,QAAQ,mBAAmB;AAEnD,QAAM,uBAAuB,CAAC,YAAmC;AAC/D,UAAM,aAAa,sBAAsB,OAAO;AAChD,WACE,WAAW,YAAY,YAAY,MAAM,QACzC,WAAW,YAAY,aAAa,MAAM,QAC1C,WAAW,YAAY,aAAa,MAAM;AAAA,EAE9C;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,QAAQ;AAAA,YACZ,sBAAsB,OAAO;AAAA,YAC7B;AAAA,UAAA;AAEF,iBAAO,UAAU,OACb,UACA,EAAE,OAAO,SAAS,OAAO,QAAQ,GAAG,QAAQ,KAAA;AAAA,QAClD;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,YAAY,kBAAkB,OAAO;AAC3C,iBAAO,cAAc,OACjB,UACA,EAAE,OAAO,SAAS,WAAW,YAAY,GAAG,QAAQ,KAAA;AAAA,QAC1D;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es191.js","sources":["../../src/hcs-25/adapters/connectivity.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type { Hcs25AdapterDefinition, Hcs25NormalizedValue } from '../types';\nimport {\n isJsonObject,\n readNumber,\n readString,\n readSubjectAdditional,\n} from '../signals';\n\n/**\n * Options for the connectivity probe adapter. The adapter is\n * implementation-specific: probes are performed by signal adapters and their\n * results are stored on the subject record.\n */\nexport interface Hcs25ConnectivityAdapterOptions {\n /**\n * Probe target identifiers. When provided, one `connectivity.<target>`\n * component is emitted per target from the stored\n * `metadata.additional.connectivityTargets` record. When omitted, a single\n * `connectivity.score` component is emitted from\n * `metadata.additional.connectivityScore`.\n */\n targets?: readonly string[];\n /** Registries where a connectivity probe is not meaningful. */\n excludeRegistries?: readonly string[];\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\n/**\n * Maps a stored `connectivityStatus` onto the normalized result: `stale`\n * keeps the stored score with a stale status (the scoring layer applies the\n * stale multiplier), `timeout`/`error` without a score surface as those\n * statuses, and anything else falls back to ok/missing.\n */\nfunction connectivityStatus(\n status: string | null,\n score: number | null,\n ok: Hcs25NormalizedValue,\n): Hcs25NormalizedValue {\n if (score !== null) {\n return status === 'stale' ? { value: ok.value, status: 'stale' } : ok;\n }\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n}\n\n/**\n * Creates the `connectivity` adapter: scores stored connectivity probe\n * results. Contribution is conditional, so subjects without probe results\n * stay out of the denominator.\n */\nexport function createConnectivityAdapter(\n options: Hcs25ConnectivityAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const targets = options.targets ?? [];\n const excludeRegistries =\n options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES;\n\n if (targets.length === 0) {\n return {\n id: 'connectivity',\n weight: 1,\n contributionMode: 'conditional',\n excludeRegistries,\n defaultComponentKey: 'connectivity.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'connectivityScore');\n const status = readString(additional, 'connectivityStatus');\n return connectivityStatus(status, score, {\n value: clampScore(score ?? 0),\n status: 'ok',\n });\n },\n },\n ],\n };\n }\n\n return {\n id: 'connectivity',\n weight: 1,\n contributionMode: 'conditional',\n excludeRegistries,\n components: targets.map(target => ({\n name: target,\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const status = readString(additional, 'connectivityStatus');\n const stored = additional.connectivityTargets;\n if (!isJsonObject(stored)) {\n return connectivityStatus(status, null, MISSING);\n }\n const score = readNumber(stored, target);\n return connectivityStatus(status, score, {\n value: clampScore(score ?? 0),\n status: 'ok',\n });\n },\n })),\n };\n}\n"],"names":[],"mappings":";;;;;;;AA2BA,MAAM,8BAAiD;AAAA,EACrD;AAAA,EACA;AACF;AAEA,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAQ1D,SAAS,mBACP,QACA,OACA,IACsB;AACtB,MAAI,UAAU,MAAM;AAClB,WAAO,WAAW,UAAU,EAAE,OAAO,GAAG,OAAO,QAAQ,YAAY;AAAA,EACrE;AACA,MAAI,WAAW,aAAa,WAAW,SAAS;AAC9C,WAAO,EAAE,OAAO,GAAG,OAAA;AAAA,EACrB;AACA,SAAO;AACT;AAOO,SAAS,0BACd,UAA2C,IACnB;AACxB,QAAM,UAAU,QAAQ,WAAW,CAAA;AACnC,QAAM,oBACJ,QAAQ,qBAAqB;AAE/B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB;AAAA,MACA,qBAAqB;AAAA,MACrB,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,4BAA4B;AAAA,UAC5B,WAAW,CAAC,EAAE,cAAoC;AAChD,kBAAM,aAAa,sBAAsB,OAAO;AAChD,kBAAM,QAAQ,WAAW,YAAY,mBAAmB;AACxD,kBAAM,SAAS,WAAW,YAAY,oBAAoB;AAC1D,mBAAO,mBAAmB,QAAQ,OAAO;AAAA,cACvC,OAAO,WAAW,SAAS,CAAC;AAAA,cAC5B,QAAQ;AAAA,YAAA,CACT;AAAA,UACH;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB;AAAA,IACA,YAAY,QAAQ,IAAI,CAAA,YAAW;AAAA,MACjC,MAAM;AAAA,MACN,4BAA4B;AAAA,MAC5B,WAAW,CAAC,EAAE,cAAoC;AAChD,cAAM,aAAa,sBAAsB,OAAO;AAChD,cAAM,SAAS,WAAW,YAAY,oBAAoB;AAC1D,cAAM,SAAS,WAAW;AAC1B,YAAI,CAAC,aAAa,MAAM,GAAG;AACzB,iBAAO,mBAAmB,QAAQ,MAAM,OAAO;AAAA,QACjD;AACA,cAAM,QAAQ,WAAW,QAAQ,MAAM;AACvC,eAAO,mBAAmB,QAAQ,OAAO;AAAA,UACvC,OAAO,WAAW,SAAS,CAAC;AAAA,UAC5B,QAAQ;AAAA,QAAA,CACT;AAAA,MACH;AAAA,IAAA,EACA;AAAA,EAAA;AAEN;"}
@@ -1,125 +1,53 @@
1
1
  import { clampScore } from "./standards-sdk.es119.js";
2
- import { readMetadataRecord, readNumber, isJsonObject } 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 { clampUnit } from "./standards-sdk.es183.js";
2
+ import { readMetadataRecord, readNumber } from "./standards-sdk.es201.js";
3
+ import "./standards-sdk.es184.js";
4
+ import "./standards-sdk.es198.js";
5
+ import "./standards-sdk.es199.js";
6
+ import "./standards-sdk.es200.js";
7
+ import "./standards-sdk.es183.js";
8
+ import { clampUnit } from "./standards-sdk.es185.js";
9
+ const DEFAULT_INCLUDED_REGISTRIES = ["erc-8004"];
8
10
  const MISSING = { value: 0, status: "missing" };
9
- const DEFAULT_STAKE_MULTIPLIERS = {
10
- low: 0.5,
11
- medium: 1,
12
- high: 2,
13
- critical: 3
14
- };
15
- const DISCRIMINATIVE_POWER_BLOCK_RATE = 0.05;
16
- const STAKE_MULTIPLIER_QUALITY_CAP = 1.5;
17
- function computeStakeMultiplier(summary, multipliers) {
18
- const distribution = summary.stakeDistribution;
19
- if (!isJsonObject(distribution)) {
20
- return 1;
21
- }
22
- let weighted = 0;
23
- let unweighted = 0;
24
- for (const level of Object.keys(multipliers)) {
25
- const levelRecord = distribution[level];
26
- if (!isJsonObject(levelRecord)) {
27
- continue;
28
- }
29
- const checks = readNumber(levelRecord, "checks");
30
- if (checks === null) {
31
- continue;
32
- }
33
- weighted += checks * multipliers[level];
34
- unweighted += checks;
35
- }
36
- if (unweighted <= 0) {
37
- return 1;
38
- }
39
- const ratio = weighted / unweighted;
40
- return Math.min(3, Math.max(0.5, ratio));
41
- }
42
- function computeQuality(summary, multipliers) {
43
- const allowRate = clampUnit(readNumber(summary, "allowRate") ?? 0);
44
- const blockRate = clampUnit(readNumber(summary, "blockRate") ?? 0);
45
- const avgConfidence = clampUnit(readNumber(summary, "avgConfidence") ?? 0);
46
- const baseQuality = allowRate * avgConfidence;
47
- const discriminativePower = clampUnit(
48
- blockRate / DISCRIMINATIVE_POWER_BLOCK_RATE
49
- );
50
- const stakeMultiplier = computeStakeMultiplier(summary, multipliers);
51
- const cappedStakeMultiplier = Math.min(
52
- stakeMultiplier,
53
- STAKE_MULTIPLIER_QUALITY_CAP
54
- );
55
- return {
56
- value: clampScore(
57
- baseQuality * discriminativePower * cappedStakeMultiplier * 100
58
- ),
59
- status: "ok"
60
- };
11
+ function normalizeRating(subject) {
12
+ const summary = readMetadataRecord(subject, "erc8004FeedbackSummary");
13
+ const averageScore = summary ? readNumber(summary, "averageScore") : null;
14
+ return averageScore === null ? MISSING : { value: clampScore(averageScore), status: "ok" };
61
15
  }
62
- function computeCoverage(summary, volumeCap, volumeScale) {
63
- const totalChecks = readNumber(summary, "totalChecks");
64
- if (totalChecks === null) {
65
- return MISSING;
66
- }
67
- const volumeRaw = Math.min(
68
- volumeCap,
69
- Math.log10(totalChecks + 1) * volumeScale
70
- );
16
+ function createErc8004FeedbackAdapter(options = {}) {
17
+ const volumeWeight = options.volumeWeight ?? 10;
18
+ const volumeCap = options.volumeCap ?? 20;
71
19
  return {
72
- value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),
73
- status: "ok"
74
- };
75
- }
76
- function createOutputVerificationAdapter(options = {}) {
77
- const volumeCap = options.volumeCap ?? 50;
78
- const volumeScale = options.volumeScale ?? 20;
79
- const minChecks = options.minChecks ?? 10;
80
- const qualityWeight = options.qualityWeight ?? 0.7;
81
- const coverageWeight = options.coverageWeight ?? 0.3;
82
- const stakeMultipliers = options.stakeMultipliers ?? DEFAULT_STAKE_MULTIPLIERS;
83
- const hasVerificationHistory = (subject) => {
84
- const summary = readMetadataRecord(subject, "outputVerificationSummary");
85
- if (!summary) {
86
- return false;
87
- }
88
- const totalChecks = readNumber(summary, "totalChecks");
89
- return totalChecks !== null && totalChecks >= minChecks;
90
- };
91
- return {
92
- id: "output-verification",
20
+ id: "erc8004-feedback",
93
21
  weight: 1,
94
22
  contributionMode: "scoped",
95
- appliesTo: hasVerificationHistory,
23
+ includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
96
24
  components: [
97
25
  {
98
- name: "quality",
99
- weight: qualityWeight,
100
- normalize: ({ subject }) => {
101
- const summary = readMetadataRecord(
102
- subject,
103
- "outputVerificationSummary"
104
- );
105
- return summary ? computeQuality(summary, stakeMultipliers) : MISSING;
106
- }
26
+ name: "rating",
27
+ normalize: ({ subject }) => normalizeRating(subject)
107
28
  },
108
29
  {
109
- name: "coverage",
110
- weight: coverageWeight,
30
+ name: "volume",
111
31
  normalize: ({ subject }) => {
112
- const summary = readMetadataRecord(
113
- subject,
114
- "outputVerificationSummary"
32
+ const summary = readMetadataRecord(subject, "erc8004FeedbackSummary");
33
+ const totalFeedbacks = summary ? readNumber(summary, "totalFeedbacks") : null;
34
+ if (totalFeedbacks === null) {
35
+ return MISSING;
36
+ }
37
+ const volumeRaw = Math.min(
38
+ volumeCap,
39
+ Math.log10(totalFeedbacks + 1) * volumeWeight
115
40
  );
116
- return summary ? computeCoverage(summary, volumeCap, volumeScale) : MISSING;
41
+ return {
42
+ value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),
43
+ status: "ok"
44
+ };
117
45
  }
118
46
  }
119
47
  ]
120
48
  };
121
49
  }
122
50
  export {
123
- createOutputVerificationAdapter
51
+ createErc8004FeedbackAdapter
124
52
  };
125
53
  //# sourceMappingURL=standards-sdk.es192.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es192.js","sources":["../../src/hcs-25/adapters/output-verification.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n isJsonObject,\n readMetadataRecord,\n readNumber,\n type Hcs25JsonObject,\n} from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the output verification adapter.\n */\nexport interface Hcs25OutputVerificationAdapterOptions {\n /** Volume cap for the log-scaled coverage component. Default 50. */\n volumeCap?: number;\n /** Multiplier on log10 of the check count. Default 20. */\n volumeScale?: number;\n /** Minimum total checks before the adapter applies. Default 10. */\n minChecks?: number;\n /** Within-adapter weight of the quality component. Default 0.7. */\n qualityWeight?: number;\n /** Within-adapter weight of the coverage component. Default 0.3. */\n coverageWeight?: number;\n /** Per-stake-level multipliers applied to check counts. */\n stakeMultipliers?: Readonly<Record<string, number>>;\n}\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nconst DEFAULT_STAKE_MULTIPLIERS: Readonly<Record<string, number>> = {\n low: 0.5,\n medium: 1,\n high: 2,\n critical: 3,\n};\n\n/**\n * Block rate at which the verifier earns full discriminative-power credit.\n */\nconst DISCRIMINATIVE_POWER_BLOCK_RATE = 0.05;\n\n/**\n * Upper bound on the stake multiplier's influence on quality.\n */\nconst STAKE_MULTIPLIER_QUALITY_CAP = 1.5;\n\nfunction computeStakeMultiplier(\n summary: Hcs25JsonObject,\n multipliers: Readonly<Record<string, number>>,\n): number {\n const distribution = summary.stakeDistribution;\n if (!isJsonObject(distribution)) {\n return 1;\n }\n\n let weighted = 0;\n let unweighted = 0;\n for (const level of Object.keys(multipliers)) {\n const levelRecord = distribution[level];\n if (!isJsonObject(levelRecord)) {\n continue;\n }\n const checks = readNumber(levelRecord, 'checks');\n if (checks === null) {\n continue;\n }\n weighted += checks * multipliers[level];\n unweighted += checks;\n }\n\n if (unweighted <= 0) {\n return 1;\n }\n\n const ratio = weighted / unweighted;\n return Math.min(3, Math.max(0.5, ratio));\n}\n\nfunction computeQuality(\n summary: Hcs25JsonObject,\n multipliers: Readonly<Record<string, number>>,\n): Hcs25NormalizedValue {\n const allowRate = clampUnit(readNumber(summary, 'allowRate') ?? 0);\n const blockRate = clampUnit(readNumber(summary, 'blockRate') ?? 0);\n const avgConfidence = clampUnit(readNumber(summary, 'avgConfidence') ?? 0);\n\n const baseQuality = allowRate * avgConfidence;\n const discriminativePower = clampUnit(\n blockRate / DISCRIMINATIVE_POWER_BLOCK_RATE,\n );\n const stakeMultiplier = computeStakeMultiplier(summary, multipliers);\n const cappedStakeMultiplier = Math.min(\n stakeMultiplier,\n STAKE_MULTIPLIER_QUALITY_CAP,\n );\n\n return {\n value: clampScore(\n baseQuality * discriminativePower * cappedStakeMultiplier * 100,\n ),\n status: 'ok',\n };\n}\n\nfunction computeCoverage(\n summary: Hcs25JsonObject,\n volumeCap: number,\n volumeScale: number,\n): Hcs25NormalizedValue {\n const totalChecks = readNumber(summary, 'totalChecks');\n if (totalChecks === null) {\n return MISSING;\n }\n\n const volumeRaw = Math.min(\n volumeCap,\n Math.log10(totalChecks + 1) * volumeScale,\n );\n return {\n value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),\n status: 'ok',\n };\n}\n\n/**\n * Creates the `output-verification` adapter: converts per-decision reasoning\n * verification summaries into a stake-weighted quality component and a\n * log-scaled coverage component. It penalizes rubber-stamp verifiers through\n * discriminative power, resists trivial-claim farming through stake\n * weighting, and excludes agents below the minimum check threshold.\n */\nexport function createOutputVerificationAdapter(\n options: Hcs25OutputVerificationAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const volumeCap = options.volumeCap ?? 50;\n const volumeScale = options.volumeScale ?? 20;\n const minChecks = options.minChecks ?? 10;\n const qualityWeight = options.qualityWeight ?? 0.7;\n const coverageWeight = options.coverageWeight ?? 0.3;\n const stakeMultipliers =\n options.stakeMultipliers ?? DEFAULT_STAKE_MULTIPLIERS;\n\n const hasVerificationHistory = (subject: Hcs25Subject): boolean => {\n const summary = readMetadataRecord(subject, 'outputVerificationSummary');\n if (!summary) {\n return false;\n }\n const totalChecks = readNumber(summary, 'totalChecks');\n return totalChecks !== null && totalChecks >= minChecks;\n };\n\n return {\n id: 'output-verification',\n weight: 1,\n contributionMode: 'scoped',\n appliesTo: hasVerificationHistory,\n components: [\n {\n name: 'quality',\n weight: qualityWeight,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const summary = readMetadataRecord(\n subject,\n 'outputVerificationSummary',\n );\n return summary ? computeQuality(summary, stakeMultipliers) : MISSING;\n },\n },\n {\n name: 'coverage',\n weight: coverageWeight,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const summary = readMetadataRecord(\n subject,\n 'outputVerificationSummary',\n );\n return summary\n ? computeCoverage(summary, volumeCap, volumeScale)\n : MISSING;\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;AAgCA,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,MAAM,4BAA8D;AAAA,EAClE,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AACZ;AAKA,MAAM,kCAAkC;AAKxC,MAAM,+BAA+B;AAErC,SAAS,uBACP,SACA,aACQ;AACR,QAAM,eAAe,QAAQ;AAC7B,MAAI,CAAC,aAAa,YAAY,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,WAAW;AACf,MAAI,aAAa;AACjB,aAAW,SAAS,OAAO,KAAK,WAAW,GAAG;AAC5C,UAAM,cAAc,aAAa,KAAK;AACtC,QAAI,CAAC,aAAa,WAAW,GAAG;AAC9B;AAAA,IACF;AACA,UAAM,SAAS,WAAW,aAAa,QAAQ;AAC/C,QAAI,WAAW,MAAM;AACnB;AAAA,IACF;AACA,gBAAY,SAAS,YAAY,KAAK;AACtC,kBAAc;AAAA,EAChB;AAEA,MAAI,cAAc,GAAG;AACnB,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,WAAW;AACzB,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC;AACzC;AAEA,SAAS,eACP,SACA,aACsB;AACtB,QAAM,YAAY,UAAU,WAAW,SAAS,WAAW,KAAK,CAAC;AACjE,QAAM,YAAY,UAAU,WAAW,SAAS,WAAW,KAAK,CAAC;AACjE,QAAM,gBAAgB,UAAU,WAAW,SAAS,eAAe,KAAK,CAAC;AAEzE,QAAM,cAAc,YAAY;AAChC,QAAM,sBAAsB;AAAA,IAC1B,YAAY;AAAA,EAAA;AAEd,QAAM,kBAAkB,uBAAuB,SAAS,WAAW;AACnE,QAAM,wBAAwB,KAAK;AAAA,IACjC;AAAA,IACA;AAAA,EAAA;AAGF,SAAO;AAAA,IACL,OAAO;AAAA,MACL,cAAc,sBAAsB,wBAAwB;AAAA,IAAA;AAAA,IAE9D,QAAQ;AAAA,EAAA;AAEZ;AAEA,SAAS,gBACP,SACA,WACA,aACsB;AACtB,QAAM,cAAc,WAAW,SAAS,aAAa;AACrD,MAAI,gBAAgB,MAAM;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,KAAK;AAAA,IACrB;AAAA,IACA,KAAK,MAAM,cAAc,CAAC,IAAI;AAAA,EAAA;AAEhC,SAAO;AAAA,IACL,OAAO,WAAW,MAAM,UAAU,YAAY,SAAS,CAAC;AAAA,IACxD,QAAQ;AAAA,EAAA;AAEZ;AASO,SAAS,gCACd,UAAiD,IACzB;AACxB,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,cAAc,QAAQ,eAAe;AAC3C,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,iBAAiB,QAAQ,kBAAkB;AACjD,QAAM,mBACJ,QAAQ,oBAAoB;AAE9B,QAAM,yBAAyB,CAAC,YAAmC;AACjE,UAAM,UAAU,mBAAmB,SAAS,2BAA2B;AACvE,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AACA,UAAM,cAAc,WAAW,SAAS,aAAa;AACrD,WAAO,gBAAgB,QAAQ,eAAe;AAAA,EAChD;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU;AAAA,YACd;AAAA,YACA;AAAA,UAAA;AAEF,iBAAO,UAAU,eAAe,SAAS,gBAAgB,IAAI;AAAA,QAC/D;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU;AAAA,YACd;AAAA,YACA;AAAA,UAAA;AAEF,iBAAO,UACH,gBAAgB,SAAS,WAAW,WAAW,IAC/C;AAAA,QACN;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es192.js","sources":["../../src/hcs-25/adapters/erc8004-feedback.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readMetadataRecord, readNumber } from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the ERC-8004 feedback adapter.\n */\nexport interface Hcs25Erc8004FeedbackAdapterOptions {\n /** Multiplier applied to log10 of the feedback count. Default 10. */\n volumeWeight?: number;\n /** Cap on the raw volume score before normalization. Default 20. */\n volumeCap?: number;\n /** Registries where ERC-8004 feedback applies. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['erc-8004'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction normalizeRating(subject: Hcs25Subject): Hcs25NormalizedValue {\n const summary = readMetadataRecord(subject, 'erc8004FeedbackSummary');\n const averageScore = summary ? readNumber(summary, 'averageScore') : null;\n return averageScore === null\n ? MISSING\n : { value: clampScore(averageScore), status: 'ok' };\n}\n\n/**\n * Creates the `erc8004-feedback` adapter: converts an ERC-8004 feedback\n * summary (average rating plus feedback volume) into trust components,\n * log-scaling volume so a single rating cannot dominate.\n */\nexport function createErc8004FeedbackAdapter(\n options: Hcs25Erc8004FeedbackAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const volumeWeight = options.volumeWeight ?? 10;\n const volumeCap = options.volumeCap ?? 20;\n\n return {\n id: 'erc8004-feedback',\n weight: 1,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n components: [\n {\n name: 'rating',\n normalize: ({ subject }) => normalizeRating(subject),\n },\n {\n name: 'volume',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const summary = readMetadataRecord(subject, 'erc8004FeedbackSummary');\n const totalFeedbacks = summary\n ? readNumber(summary, 'totalFeedbacks')\n : null;\n if (totalFeedbacks === null) {\n return MISSING;\n }\n const volumeRaw = Math.min(\n volumeCap,\n Math.log10(totalFeedbacks + 1) * volumeWeight,\n );\n return {\n value: clampScore(100 * clampUnit(volumeRaw / volumeCap)),\n status: 'ok',\n };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,8BAAiD,CAAC,UAAU;AAElE,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,SAAS,gBAAgB,SAA6C;AACpE,QAAM,UAAU,mBAAmB,SAAS,wBAAwB;AACpE,QAAM,eAAe,UAAU,WAAW,SAAS,cAAc,IAAI;AACrE,SAAO,iBAAiB,OACpB,UACA,EAAE,OAAO,WAAW,YAAY,GAAG,QAAQ,KAAA;AACjD;AAOO,SAAS,6BACd,UAA8C,IACtB;AACxB,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,YAAY,QAAQ,aAAa;AAEvC,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,QAAA,MAAc,gBAAgB,OAAO;AAAA,MAAA;AAAA,MAErD;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU,mBAAmB,SAAS,wBAAwB;AACpE,gBAAM,iBAAiB,UACnB,WAAW,SAAS,gBAAgB,IACpC;AACJ,cAAI,mBAAmB,MAAM;AAC3B,mBAAO;AAAA,UACT;AACA,gBAAM,YAAY,KAAK;AAAA,YACrB;AAAA,YACA,KAAK,MAAM,iBAAiB,CAAC,IAAI;AAAA,UAAA;AAEnC,iBAAO;AAAA,YACL,OAAO,WAAW,MAAM,UAAU,YAAY,SAAS,CAAC;AAAA,YACxD,QAAQ;AAAA,UAAA;AAAA,QAEZ;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
@@ -1,60 +1,66 @@
1
1
  import { clampScore } from "./standards-sdk.es119.js";
2
- import { readSubjectAdditional, readString, readNumber } from "./standards-sdk.es198.js";
3
- import { mapSimpleEvalStatus } from "./standards-sdk.es182.js";
4
- import "./standards-sdk.es195.js";
5
- import "./standards-sdk.es196.js";
6
- import "./standards-sdk.es197.js";
7
- function readSimpleEval(subject, family) {
8
- const additional = readSubjectAdditional(subject);
9
- return {
10
- score: readNumber(additional, `a2aSimple${family}Score`) ?? readNumber(additional, `nandaSimple${family}Score`),
11
- statusToken: readString(additional, `a2aSimple${family}Status`) ?? readString(additional, `nandaSimple${family}Status`)
12
- };
13
- }
14
- function normalizeSimpleEval(subject, family) {
15
- const { score, statusToken } = readSimpleEval(subject, family);
16
- if (statusToken === null && score === null) {
17
- return { value: 0, status: "missing" };
2
+ import { readMetadataRecord, readNumber, readString } from "./standards-sdk.es201.js";
3
+ import "./standards-sdk.es184.js";
4
+ import "./standards-sdk.es198.js";
5
+ import "./standards-sdk.es199.js";
6
+ import "./standards-sdk.es200.js";
7
+ import "./standards-sdk.es183.js";
8
+ import { clampUnit } from "./standards-sdk.es185.js";
9
+ const DEFAULT_EXCLUDED_REGISTRIES = [
10
+ "openrouter",
11
+ "near-ai",
12
+ "agentverse",
13
+ "uagent"
14
+ ];
15
+ const MISSING_SCORE = { value: 0, status: "missing" };
16
+ function normalizeEthos(subject, baselineScore, maxScore, maxContribution) {
17
+ const metadata = subject.metadata;
18
+ const composite = readMetadataRecord(subject, "ethosComposite");
19
+ const compositeScore = composite ? readNumber(composite, "score") : null;
20
+ const flatScore = metadata ? readNumber(metadata, "ethosScore") : null;
21
+ const status = metadata ? readString(metadata, "ethosScoreStatus") : null;
22
+ const rawScore = compositeScore ?? flatScore;
23
+ if (rawScore === null) {
24
+ if (status === "error" || status === "timeout") {
25
+ return { value: 0, status };
26
+ }
27
+ if (status === "ok") {
28
+ return { value: 0, status: "missing" };
29
+ }
30
+ return MISSING_SCORE;
18
31
  }
19
- const status = mapSimpleEvalStatus(statusToken);
20
- if (status === "stale") {
21
- return { value: clampScore(score ?? 0), status: "stale" };
32
+ const denominator = maxScore - baselineScore;
33
+ if (denominator <= 0) {
34
+ return {
35
+ value: clampScore(maxContribution),
36
+ status: status === "stale" ? "stale" : "ok"
37
+ };
22
38
  }
23
- if (status !== "ok") {
24
- return { value: 0, status };
25
- }
26
- return { value: clampScore(score ?? 0), status: "ok" };
27
- }
28
- function createSimpleMathAdapter() {
39
+ const normalized = clampUnit((rawScore - baselineScore) / denominator);
29
40
  return {
30
- id: "simple-math",
31
- weight: 0.5,
32
- contributionMode: "scoped",
33
- defaultComponentKey: "simple-math.score",
34
- components: [
35
- {
36
- name: "score",
37
- normalize: ({ subject }) => normalizeSimpleEval(subject, "Math")
38
- }
39
- ]
41
+ value: clampScore(maxContribution * normalized),
42
+ status: status === "stale" ? "stale" : "ok"
40
43
  };
41
44
  }
42
- function createSimpleScienceAdapter() {
45
+ function createEthosAdapter(options = {}) {
46
+ const baselineScore = options.baselineScore ?? 1200;
47
+ const maxScore = options.maxScore ?? 2e3;
48
+ const maxContribution = options.maxContribution ?? 100;
43
49
  return {
44
- id: "simple-science",
45
- weight: 0.5,
46
- contributionMode: "scoped",
47
- defaultComponentKey: "simple-science.score",
50
+ id: "ethos",
51
+ weight: 1,
52
+ contributionMode: "universal",
53
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
54
+ defaultComponentKey: "ethos.score",
48
55
  components: [
49
56
  {
50
57
  name: "score",
51
- normalize: ({ subject }) => normalizeSimpleEval(subject, "Science")
58
+ normalize: ({ subject }) => normalizeEthos(subject, baselineScore, maxScore, maxContribution)
52
59
  }
53
60
  ]
54
61
  };
55
62
  }
56
63
  export {
57
- createSimpleMathAdapter,
58
- createSimpleScienceAdapter
64
+ createEthosAdapter
59
65
  };
60
66
  //# sourceMappingURL=standards-sdk.es193.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es193.js","sources":["../../src/hcs-25/adapters/simple-evals.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n mapSimpleEvalStatus,\n readNumber,\n readString,\n readSubjectAdditional,\n type Hcs25JsonObject,\n} from '../signals';\n\ninterface SimpleEvalRead {\n score: number | null;\n statusToken: string | null;\n}\n\nfunction readSimpleEval(\n subject: Hcs25Subject,\n family: 'Math' | 'Science',\n): SimpleEvalRead {\n const additional: Hcs25JsonObject = readSubjectAdditional(subject);\n return {\n score:\n readNumber(additional, `a2aSimple${family}Score`) ??\n readNumber(additional, `nandaSimple${family}Score`),\n statusToken:\n readString(additional, `a2aSimple${family}Status`) ??\n readString(additional, `nandaSimple${family}Status`),\n };\n}\n\nfunction normalizeSimpleEval(\n subject: Hcs25Subject,\n family: 'Math' | 'Science',\n): Hcs25NormalizedValue {\n const { score, statusToken } = readSimpleEval(subject, family);\n if (statusToken === null && score === null) {\n return { value: 0, status: 'missing' };\n }\n\n const status = mapSimpleEvalStatus(statusToken);\n if (status === 'stale') {\n return { value: clampScore(score ?? 0), status: 'stale' };\n }\n if (status !== 'ok') {\n return { value: 0, status };\n }\n\n return { value: clampScore(score ?? 0), status: 'ok' };\n}\n\n/**\n * Creates the `simple-math` adapter: scores baseline arithmetic correctness.\n * Missing, timed-out, or errored evals count as zero so sparse coverage\n * cannot inflate the composite by leaving the denominator.\n */\nexport function createSimpleMathAdapter(): Hcs25AdapterDefinition {\n return {\n id: 'simple-math',\n weight: 0.5,\n contributionMode: 'scoped',\n defaultComponentKey: 'simple-math.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }) => normalizeSimpleEval(subject, 'Math'),\n },\n ],\n };\n}\n\n/**\n * Creates the `simple-science` adapter: scores baseline multiple-choice\n * science correctness with the same missing-data policy as\n * `simple-math`.\n */\nexport function createSimpleScienceAdapter(): Hcs25AdapterDefinition {\n return {\n id: 'simple-science',\n weight: 0.5,\n contributionMode: 'scoped',\n defaultComponentKey: 'simple-science.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }) => normalizeSimpleEval(subject, 'Science'),\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;AAmBA,SAAS,eACP,SACA,QACgB;AAChB,QAAM,aAA8B,sBAAsB,OAAO;AACjE,SAAO;AAAA,IACL,OACE,WAAW,YAAY,YAAY,MAAM,OAAO,KAChD,WAAW,YAAY,cAAc,MAAM,OAAO;AAAA,IACpD,aACE,WAAW,YAAY,YAAY,MAAM,QAAQ,KACjD,WAAW,YAAY,cAAc,MAAM,QAAQ;AAAA,EAAA;AAEzD;AAEA,SAAS,oBACP,SACA,QACsB;AACtB,QAAM,EAAE,OAAO,YAAA,IAAgB,eAAe,SAAS,MAAM;AAC7D,MAAI,gBAAgB,QAAQ,UAAU,MAAM;AAC1C,WAAO,EAAE,OAAO,GAAG,QAAQ,UAAA;AAAA,EAC7B;AAEA,QAAM,SAAS,oBAAoB,WAAW;AAC9C,MAAI,WAAW,SAAS;AACtB,WAAO,EAAE,OAAO,WAAW,SAAS,CAAC,GAAG,QAAQ,QAAA;AAAA,EAClD;AACA,MAAI,WAAW,MAAM;AACnB,WAAO,EAAE,OAAO,GAAG,OAAA;AAAA,EACrB;AAEA,SAAO,EAAE,OAAO,WAAW,SAAS,CAAC,GAAG,QAAQ,KAAA;AAClD;AAOO,SAAS,0BAAkD;AAChE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAc,oBAAoB,SAAS,MAAM;AAAA,MAAA;AAAA,IACjE;AAAA,EACF;AAEJ;AAOO,SAAS,6BAAqD;AACnE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAc,oBAAoB,SAAS,SAAS;AAAA,MAAA;AAAA,IACpE;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es193.js","sources":["../../src/hcs-25/adapters/ethos.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readMetadataRecord, readNumber, readString } from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the Ethos credibility adapter.\n */\nexport interface Hcs25EthosAdapterOptions {\n /** Raw Ethos score that maps to a zero contribution. Default 1200. */\n baselineScore?: number;\n /** Raw Ethos score that maps to the maximum contribution. Default 2000. */\n maxScore?: number;\n /** Maximum contribution budget in `[0,100]`. Default 100. */\n maxContribution?: number;\n /** Registries where Ethos identity mapping is undefined. */\n excludeRegistries?: readonly string[];\n}\n\nconst DEFAULT_EXCLUDED_REGISTRIES: readonly string[] = [\n 'openrouter',\n 'near-ai',\n 'agentverse',\n 'uagent',\n];\n\nconst MISSING_SCORE: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction normalizeEthos(\n subject: Hcs25Subject,\n baselineScore: number,\n maxScore: number,\n maxContribution: number,\n): Hcs25NormalizedValue {\n const metadata = subject.metadata;\n const composite = readMetadataRecord(subject, 'ethosComposite');\n const compositeScore = composite ? readNumber(composite, 'score') : null;\n const flatScore = metadata ? readNumber(metadata, 'ethosScore') : null;\n const status = metadata ? readString(metadata, 'ethosScoreStatus') : null;\n\n const rawScore = compositeScore ?? flatScore;\n if (rawScore === null) {\n if (status === 'error' || status === 'timeout') {\n return { value: 0, status };\n }\n if (status === 'ok') {\n return { value: 0, status: 'missing' };\n }\n return MISSING_SCORE;\n }\n\n const denominator = maxScore - baselineScore;\n if (denominator <= 0) {\n return {\n value: clampScore(maxContribution),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n }\n\n const normalized = clampUnit((rawScore - baselineScore) / denominator);\n return {\n value: clampScore(maxContribution * normalized),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n}\n\n/**\n * Creates the `ethos` adapter: maps a raw Ethos reputation score into a\n * bounded trust contribution using configured baseline, max, and budget\n * anchors.\n */\nexport function createEthosAdapter(\n options: Hcs25EthosAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const baselineScore = options.baselineScore ?? 1200;\n const maxScore = options.maxScore ?? 2000;\n const maxContribution = options.maxContribution ?? 100;\n\n return {\n id: 'ethos',\n weight: 1,\n contributionMode: 'universal',\n excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,\n defaultComponentKey: 'ethos.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }) =>\n normalizeEthos(subject, baselineScore, maxScore, maxContribution),\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAuBA,MAAM,8BAAiD;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,gBAAsC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAEhE,SAAS,eACP,SACA,eACA,UACA,iBACsB;AACtB,QAAM,WAAW,QAAQ;AACzB,QAAM,YAAY,mBAAmB,SAAS,gBAAgB;AAC9D,QAAM,iBAAiB,YAAY,WAAW,WAAW,OAAO,IAAI;AACpE,QAAM,YAAY,WAAW,WAAW,UAAU,YAAY,IAAI;AAClE,QAAM,SAAS,WAAW,WAAW,UAAU,kBAAkB,IAAI;AAErE,QAAM,WAAW,kBAAkB;AACnC,MAAI,aAAa,MAAM;AACrB,QAAI,WAAW,WAAW,WAAW,WAAW;AAC9C,aAAO,EAAE,OAAO,GAAG,OAAA;AAAA,IACrB;AACA,QAAI,WAAW,MAAM;AACnB,aAAO,EAAE,OAAO,GAAG,QAAQ,UAAA;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,WAAW;AAC/B,MAAI,eAAe,GAAG;AACpB,WAAO;AAAA,MACL,OAAO,WAAW,eAAe;AAAA,MACjC,QAAQ,WAAW,UAAU,UAAU;AAAA,IAAA;AAAA,EAE3C;AAEA,QAAM,aAAa,WAAW,WAAW,iBAAiB,WAAW;AACrE,SAAO;AAAA,IACL,OAAO,WAAW,kBAAkB,UAAU;AAAA,IAC9C,QAAQ,WAAW,UAAU,UAAU;AAAA,EAAA;AAE3C;AAOO,SAAS,mBACd,UAAoC,IACZ;AACxB,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,kBAAkB,QAAQ,mBAAmB;AAEnD,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,qBAAqB;AAAA,IACrB,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,QAAA,MACZ,eAAe,SAAS,eAAe,UAAU,eAAe;AAAA,MAAA;AAAA,IACpE;AAAA,EACF;AAEJ;"}
@@ -1,62 +1,53 @@
1
- import { readMetadataRecord, readNumber, readString } from "./standards-sdk.es198.js";
2
- import "./standards-sdk.es182.js";
3
- import "./standards-sdk.es195.js";
4
- import "./standards-sdk.es196.js";
5
- import "./standards-sdk.es197.js";
6
- import { logScale } from "./standards-sdk.es183.js";
1
+ import { readNumber, readSubjectAdditional, 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 { logScale } from "./standards-sdk.es185.js";
7
8
  const MISSING = { value: 0, status: "missing" };
8
- function x402Status(subject, value, compute) {
9
- const status = subject.metadata !== void 0 ? readString(subject.metadata, "x402UsageStatus") : null;
10
- if (value === null) {
11
- if (status === "timeout" || status === "error") {
12
- return { value: 0, status };
13
- }
14
- return MISSING;
15
- }
16
- return { value: compute(), status: status === "stale" ? "stale" : "ok" };
9
+ function readDownloadCount(subject) {
10
+ const additional = readSubjectAdditional(subject);
11
+ return readNumber(additional, "npmDownloads30d") ?? readNumber(additional, "pypiDownloads30d") ?? readNumber(additional, "packageDownloadCount");
17
12
  }
18
- function createX402Adapter(options = {}) {
19
- const volumeCapUsd = options.volumeCapUsd ?? 1e4;
20
- const tradesCap = options.tradesCap ?? 500;
21
- const hasX402Configuration = (subject) => readMetadataRecord(subject, "x402UsageSummary") !== void 0 || subject.metadata !== void 0 && subject.metadata.payTo !== void 0;
13
+ function createOssPopularityAdapter(options = {}) {
14
+ const starsCap = options.starsCap ?? 5e3;
15
+ const downloadsCap = options.downloadsCap ?? 1e5;
16
+ const starsWeight = options.starsWeight ?? 0.6;
17
+ const downloadsWeight = options.downloadsWeight ?? 0.4;
18
+ const looksLikeOssArtifact = (subject) => {
19
+ const additional = readSubjectAdditional(subject);
20
+ return readString(additional, "githubRepo") !== null || readNumber(additional, "githubStars") !== null || readString(additional, "packageName") !== null;
21
+ };
22
22
  return {
23
- id: "x402",
24
- weight: 1,
23
+ id: "oss-popularity",
24
+ weight: 0.7,
25
25
  contributionMode: "scoped",
26
- appliesTo: hasX402Configuration,
26
+ appliesTo: looksLikeOssArtifact,
27
27
  components: [
28
28
  {
29
- name: "volume7d",
29
+ name: "githubStars",
30
+ weight: starsWeight,
30
31
  normalize: ({ subject }) => {
31
- const summary = readMetadataRecord(subject, "x402UsageSummary");
32
- const volume = summary ? readNumber(summary, "volume7dUsd") : null;
33
- return x402Status(
34
- subject,
35
- volume,
36
- () => logScale(volume ?? 0, volumeCapUsd)
32
+ const stars = readNumber(
33
+ readSubjectAdditional(subject),
34
+ "githubStars"
37
35
  );
36
+ return stars === null ? MISSING : { value: logScale(stars, starsCap), status: "ok" };
38
37
  }
39
38
  },
40
39
  {
41
- name: "trades7d",
40
+ name: "downloads",
41
+ weight: downloadsWeight,
42
42
  normalize: ({ subject }) => {
43
- const summary = readMetadataRecord(subject, "x402UsageSummary");
44
- if (!summary) {
45
- return x402Status(subject, null, () => 0);
46
- }
47
- const inbound = readNumber(summary, "inboundTrades7d") ?? 0;
48
- const outbound = readNumber(summary, "outboundTrades7d") ?? 0;
49
- return x402Status(
50
- subject,
51
- inbound + outbound,
52
- () => logScale(inbound + outbound, tradesCap)
53
- );
43
+ const downloads = readDownloadCount(subject);
44
+ return downloads === null ? MISSING : { value: logScale(downloads, downloadsCap), status: "ok" };
54
45
  }
55
46
  }
56
47
  ]
57
48
  };
58
49
  }
59
50
  export {
60
- createX402Adapter
51
+ createOssPopularityAdapter
61
52
  };
62
53
  //# sourceMappingURL=standards-sdk.es194.js.map