@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,395 +1,383 @@
1
- import { readString, readSubjectAdditional, isJsonObject } 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 { resolveSubjectEndpoint } from "./standards-sdk.es127.js";
7
- import { requestJson, requestText, Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
8
- const GITHUB_API_BASE = "https://api.github.com";
9
- const NPM_API_BASE = "https://api.npmjs.org";
10
- const NPM_REGISTRY_BASE = "https://registry.npmjs.org";
11
- const PYPISTATS_API_BASE = "https://pypistats.org/api";
12
- const PYPI_API_BASE = "https://pypi.org/pypi";
13
- const RAW_GITHUB_BASE = "https://raw.githubusercontent.com";
14
- const GITHUB_REPO_PATTERN = /github\.com[:/]+([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)/;
15
- function parseGithubRepo(value) {
16
- if (!value) {
1
+ import { readSubjectAdditional, isJsonObject, 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 { parseTimestampMs } from "./standards-sdk.es123.js";
8
+ import { stripTrailingSlashes, requestJson, Hcs25CollectorHttpError, isTimeoutError } from "./standards-sdk.es122.js";
9
+ const ETHOS_API_BASE_URL = "https://api.ethos.network";
10
+ const DEFAULT_CLIENT_ID = "standards-sdk";
11
+ const EMBEDDED_EVM_ADDRESS_PATTERN = /0x[0-9a-fA-F]{40}/;
12
+ const TWITTER_HANDLE_PATTERN = /^[a-zA-Z0-9_]{1,64}$/;
13
+ const DEFAULT_EXCLUDED_REGISTRIES = [
14
+ "openrouter",
15
+ "near-ai",
16
+ "agentverse",
17
+ "uagent"
18
+ ];
19
+ const normalizeRegistry = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
20
+ const extractAddress = (value) => {
21
+ if (typeof value !== "string") {
17
22
  return null;
18
23
  }
19
- const direct = value.match(/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)$/);
20
- if (direct) {
21
- return `${direct[1]}/${direct[2]}`;
24
+ const match = EMBEDDED_EVM_ADDRESS_PATTERN.exec(value.trim());
25
+ return match ? match[0] : null;
26
+ };
27
+ function normalizeEthosUserkey(value) {
28
+ if (typeof value !== "string") {
29
+ return null;
22
30
  }
23
- const match = value.match(GITHUB_REPO_PATTERN);
24
- if (!match) {
31
+ const trimmed = value.trim();
32
+ if (!trimmed) {
25
33
  return null;
26
34
  }
27
- return `${match[1]}/${match[2].replace(/\.git$/, "")}`;
28
- }
29
- function resolveGithubRepo(subject) {
30
- const additional = readSubjectAdditional(subject);
31
- const metadata = subject.metadata ?? {};
32
- const mcp = isJsonObject(metadata.mcp) ? metadata.mcp : void 0;
33
- for (const value of [
34
- readString(additional, "githubRepo"),
35
- readString(additional, "repository"),
36
- readString(metadata, "repository"),
37
- readString(mcp, "repository"),
38
- readString(metadata, "repoUrl"),
39
- readString(additional, "repoUrl"),
40
- readString(metadata, "homepage"),
41
- readString(additional, "homepage"),
42
- resolveSubjectEndpoint(subject)
43
- ]) {
44
- const repo = parseGithubRepo(value);
45
- if (repo) {
46
- return repo;
47
- }
35
+ if (trimmed.includes(":")) {
36
+ return trimmed;
48
37
  }
49
- return null;
38
+ const address = extractAddress(trimmed);
39
+ return address ? `address:${address}` : null;
50
40
  }
51
- function resolvePackage(subject) {
52
- const additional = readSubjectAdditional(subject);
53
- const registry = readString(additional, "packageRegistry");
54
- const name = readString(additional, "packageName");
55
- if (name && (registry === "npm" || registry === "pypi")) {
56
- return { registry, name };
57
- }
58
- if (name) {
59
- return { registry: "npm", name };
41
+ const userkeyKind = (userkey) => {
42
+ const trimmed = userkey.trim();
43
+ if (trimmed.startsWith("address:")) {
44
+ return "address";
60
45
  }
61
- return null;
62
- }
63
- function statusFromError(error) {
64
- if (error instanceof Hcs25CollectorHttpError && error.status === 404) {
65
- return "missing";
46
+ if (trimmed.startsWith("service:x.com:")) {
47
+ return "x";
66
48
  }
67
- return isTimeoutError(error) ? "timeout" : "error";
68
- }
69
- const parseLikelyPackageName = (value) => {
70
- if (!value) {
49
+ return "explicit";
50
+ };
51
+ const normalizeTwitterHandle = (value) => {
52
+ if (typeof value !== "string") {
71
53
  return null;
72
54
  }
73
- const trimmed = value.trim();
74
- return /^[a-zA-Z0-9._~@/-]{1,214}$/.test(trimmed) ? trimmed : null;
55
+ const withoutAt = value.trim().replace(/^@/, "").replace(/\s+/g, "");
56
+ return TWITTER_HANDLE_PATTERN.test(withoutAt) ? withoutAt : null;
75
57
  };
76
- const parseNpmPackageName = (body) => {
77
- try {
78
- const parsed = JSON.parse(body);
79
- return typeof parsed.name === "string" ? parsed.name : null;
80
- } catch {
58
+ const extractTwitterFromSocials = (profile) => {
59
+ if (!isJsonObject(profile)) {
81
60
  return null;
82
61
  }
83
- };
84
- const parsePyProjectName = (body) => {
85
- const match = body.match(/^\s*name\s*=\s*["']([^"']+)["']/m);
86
- return match?.[1] ?? null;
87
- };
88
- const parseSetupCfgName = (body) => {
89
- const match = body.match(/^\s*name\s*=\s*(\S+)\s*$/m);
90
- return match?.[1] ?? null;
91
- };
92
- async function inferPackageIdentity(repo, context) {
93
- const base = `${RAW_GITHUB_BASE}/${repo.split("/").map(encodeURIComponent).join("/")}`;
94
- let npmName = null;
95
- let pypiName = null;
96
- for (const branch of ["main", "master"]) {
97
- if (!npmName) {
98
- try {
99
- const body = await requestText(`${base}/${branch}/package.json`, {
100
- fetch: context.fetch,
101
- timeoutMs: context.timeoutMs,
102
- signal: context.signal
103
- });
104
- npmName = parseLikelyPackageName(parseNpmPackageName(body));
105
- } catch {
106
- }
62
+ const socials = profile.socials;
63
+ if (!Array.isArray(socials)) {
64
+ return null;
65
+ }
66
+ for (const entry of socials) {
67
+ if (!isJsonObject(entry)) {
68
+ continue;
107
69
  }
108
- if (!pypiName) {
109
- try {
110
- const body = await requestText(`${base}/${branch}/pyproject.toml`, {
111
- fetch: context.fetch,
112
- timeoutMs: context.timeoutMs,
113
- signal: context.signal
114
- });
115
- pypiName = parseLikelyPackageName(parsePyProjectName(body));
116
- } catch {
117
- try {
118
- const body = await requestText(`${base}/${branch}/setup.cfg`, {
119
- fetch: context.fetch,
120
- timeoutMs: context.timeoutMs,
121
- signal: context.signal
122
- });
123
- pypiName = parseLikelyPackageName(parseSetupCfgName(body));
124
- } catch {
125
- }
126
- }
70
+ const platform = normalizeRegistry(
71
+ entry.platform
72
+ );
73
+ if (platform !== "twitter" && platform !== "x") {
74
+ continue;
127
75
  }
128
- if (npmName || pypiName) {
129
- break;
76
+ const handle = normalizeTwitterHandle(
77
+ entry.handle
78
+ );
79
+ if (handle) {
80
+ return handle;
130
81
  }
131
82
  }
132
- if (npmName && !pypiName) {
133
- return { registry: "npm", name: npmName };
134
- }
135
- if (pypiName && !npmName) {
136
- return { registry: "pypi", name: pypiName };
137
- }
138
83
  return null;
84
+ };
85
+ function isEthosExcluded(subject) {
86
+ const registry = normalizeRegistry(subject.registry);
87
+ const metadata = subject.metadata ?? {};
88
+ const protocol = normalizeRegistry(
89
+ metadata.protocol
90
+ );
91
+ const protocols = Array.isArray(
92
+ subject.protocols
93
+ ) ? (subject.protocols ?? []).filter((v) => typeof v === "string").map(normalizeRegistry) : [];
94
+ return registry === "agentverse" || registry === "uagent" || protocol === "uagent" || protocols.includes("uagent");
139
95
  }
140
- async function inferRepositoryFromPackage(pkg, context) {
141
- const candidates = [];
142
- try {
143
- if (pkg.registry === "pypi") {
144
- const payload = await requestJson(`${PYPI_API_BASE}/${encodeURIComponent(pkg.name)}/json`, {
145
- fetch: context.fetch,
146
- timeoutMs: context.timeoutMs,
147
- signal: context.signal
148
- });
149
- const home = payload.info?.home_page;
150
- if (typeof home === "string") {
151
- candidates.push(home);
152
- }
153
- const urls = payload.info?.project_urls;
154
- if (urls && typeof urls === "object" && !Array.isArray(urls)) {
155
- for (const value of Object.values(urls)) {
156
- if (typeof value === "string") {
157
- candidates.push(value);
158
- }
159
- }
160
- }
161
- } else {
162
- const payload = await requestJson(`${NPM_REGISTRY_BASE}/${encodeURIComponent(pkg.name)}`, {
163
- fetch: context.fetch,
164
- timeoutMs: context.timeoutMs,
165
- signal: context.signal
96
+ function deriveEthosSources(subject) {
97
+ const metadata = subject.metadata ?? {};
98
+ const registry = normalizeRegistry(subject.registry);
99
+ const additional = readSubjectAdditional(subject);
100
+ const epoch = (/* @__PURE__ */ new Date(0)).toISOString();
101
+ const push = (list, userkey, kind, weight) => {
102
+ if (!list.some((source) => source.userkey === userkey)) {
103
+ list.push({
104
+ userkey,
105
+ kind,
106
+ weight,
107
+ status: "missing",
108
+ score: null,
109
+ updatedAt: epoch
166
110
  });
167
- const repo = payload.repository && typeof payload.repository === "object" && !Array.isArray(payload.repository) ? payload.repository.url : payload.repository;
168
- if (typeof repo === "string") {
169
- candidates.push(repo);
170
- }
171
- if (typeof payload.homepage === "string") {
172
- candidates.push(payload.homepage);
173
- }
174
- const bugs = payload.bugs && typeof payload.bugs === "object" && !Array.isArray(payload.bugs) ? payload.bugs.url : payload.bugs;
175
- if (typeof bugs === "string") {
176
- candidates.push(bugs);
177
- }
178
111
  }
179
- } catch {
180
- return null;
112
+ };
113
+ const sources = [];
114
+ const trustProviderIds = isJsonObject(metadata.trustProviderIds) ? metadata.trustProviderIds : void 0;
115
+ const trustProviders = isJsonObject(metadata.trust) && isJsonObject(metadata.trust.providers) ? metadata.trust.providers : void 0;
116
+ for (const candidate of [
117
+ trustProviderIds?.ethos,
118
+ trustProviders?.ethos,
119
+ metadata.ethosUserkey
120
+ ]) {
121
+ const userkey = normalizeEthosUserkey(candidate);
122
+ if (userkey) {
123
+ push(sources, userkey, userkeyKind(userkey), 1);
124
+ return sources;
125
+ }
181
126
  }
182
- for (const candidate of candidates) {
183
- const repo = parseGithubRepo(candidate);
184
- if (repo) {
185
- return repo;
127
+ const metadataRecord = metadata;
128
+ const profileSocials = extractTwitterFromSocials(metadataRecord.profile) ?? extractTwitterFromSocials(subject.profile);
129
+ if (registry === "virtuals-protocol") {
130
+ const handle = normalizeTwitterHandle(metadataRecord.twitterHandle) ?? normalizeTwitterHandle(metadataRecord.memeTwitterHandle) ?? profileSocials;
131
+ if (handle) {
132
+ push(sources, `service:x.com:username:${handle}`, "x", 0.7);
133
+ }
134
+ } else if (registry === "moltbook") {
135
+ const owner = isJsonObject(metadataRecord.moltbook) ? normalizeTwitterHandle(
136
+ metadataRecord.moltbook.owner
137
+ ) : null;
138
+ const handle = owner ?? profileSocials;
139
+ if (handle) {
140
+ push(sources, `service:x.com:username:${handle}`, "x", 1);
141
+ }
142
+ } else {
143
+ const genericHandle = [
144
+ readString(additional, "twitter"),
145
+ readString(additional, "xHandle"),
146
+ readString(additional, "x"),
147
+ readString(additional, "twitterHandle"),
148
+ readString(metadataRecord, "twitter"),
149
+ readString(metadataRecord, "xHandle"),
150
+ readString(metadataRecord, "x"),
151
+ profileSocials
152
+ ].map(normalizeTwitterHandle).find((handle) => handle !== null);
153
+ if (genericHandle) {
154
+ push(sources, `service:x.com:username:${genericHandle}`, "x", 1);
186
155
  }
187
156
  }
188
- return null;
157
+ const addressCandidates = [
158
+ metadataRecord.agentAddress,
159
+ metadataRecord.ownerAddress,
160
+ metadataRecord.payTo,
161
+ metadataRecord.agentAddressCaip,
162
+ metadataRecord.nativeId,
163
+ metadataRecord.address,
164
+ metadataRecord.evmAddress,
165
+ metadataRecord.uid
166
+ ];
167
+ for (const candidate of addressCandidates) {
168
+ const address = extractAddress(candidate);
169
+ if (!address) {
170
+ continue;
171
+ }
172
+ const weightedRegistry = registry === "virtuals-protocol" || registry === "moltbook";
173
+ const weight = weightedRegistry && sources.some((source) => source.kind === "x") ? 0.3 : 1;
174
+ push(sources, `address:${address}`, "address", weight);
175
+ break;
176
+ }
177
+ return sources;
189
178
  }
190
- async function fetchGithubStarsViaHtml(repo, context) {
191
- const url = `https://github.com/${repo.split("/").map(encodeURIComponent).join("/")}`;
192
- const body = await requestText(url, {
193
- fetch: context.fetch,
194
- timeoutMs: context.timeoutMs,
195
- signal: context.signal,
196
- headers: { accept: "text/html" }
197
- });
198
- const match = body.match(
199
- /id="repo-stars-counter-star"[^>]*aria-label="(?<count>[0-9,]+)\s+users?\s+starred/i
200
- ) ?? body.match(/id="repo-stars-counter-star"[^>]*title="(?<count>[0-9,]+)"/i);
201
- const raw = match?.groups?.count;
202
- if (!raw) {
203
- return null;
179
+ const pickPrimaryUserkey = (sources) => sources.find((source) => source.kind === "address")?.userkey ?? sources[0]?.userkey ?? null;
180
+ function readStoredSources(subject) {
181
+ const raw = subject.metadata?.ethosSources;
182
+ if (!Array.isArray(raw)) {
183
+ return [];
184
+ }
185
+ const out = [];
186
+ for (const entry of raw) {
187
+ if (!isJsonObject(entry)) {
188
+ continue;
189
+ }
190
+ const record = entry;
191
+ const userkey = readString(record, "userkey");
192
+ if (!userkey) {
193
+ continue;
194
+ }
195
+ const rawKind = readString(record, "kind");
196
+ const rawStatus = readString(record, "status");
197
+ const score = record.score;
198
+ out.push({
199
+ userkey,
200
+ kind: rawKind === "x" || rawKind === "address" || rawKind === "explicit" ? rawKind : userkeyKind(userkey),
201
+ weight: typeof record.weight === "number" && Number.isFinite(record.weight) ? Math.max(0, record.weight) : 1,
202
+ status: rawStatus === "ok" || rawStatus === "error" ? rawStatus : "missing",
203
+ score: typeof score === "number" && Number.isFinite(score) ? score : null,
204
+ updatedAt: readString(record, "updatedAt") ?? (/* @__PURE__ */ new Date(0)).toISOString()
205
+ });
204
206
  }
205
- const parsed = Number(raw.replace(/,/g, ""));
206
- return Number.isFinite(parsed) ? Math.max(0, Math.floor(parsed)) : null;
207
+ return out;
207
208
  }
208
- function createOssPopularitySignalAdapter(options = {}) {
209
+ function createEthosSignalAdapter(options = {}) {
210
+ const baseUrl = stripTrailingSlashes(options.baseUrl ?? ETHOS_API_BASE_URL);
211
+ const resolveSources = options.sources ?? deriveEthosSources;
212
+ const ttlMs = options.ttlMs ?? 12 * 60 * 60 * 1e3;
213
+ const failureTtlMs = options.failureTtlMs ?? 6 * 60 * 60 * 1e3;
214
+ const maxRetries = options.maxRetries ?? 2;
215
+ const inferAddress = options.inferAddress ?? true;
216
+ const clientId = options.client ?? DEFAULT_CLIENT_ID;
209
217
  const collect = async (subject, context) => {
210
218
  const now = context.now.toISOString();
211
- let repo = resolveGithubRepo(subject);
212
- let pkg = resolvePackage(subject);
213
- if (!repo && pkg && options.inferRepository !== false) {
214
- repo = await inferRepositoryFromPackage(pkg, context).catch(
215
- () => null
216
- );
217
- }
218
- if (!pkg && repo && options.inferPackageIdentity !== false) {
219
- pkg = await inferPackageIdentity(repo, context).catch(() => null);
220
- }
221
- const results = [];
222
- const additional = {};
223
- if (repo) {
224
- additional.githubRepo = repo;
225
- additional.packageRepositoryUpdatedAt = now;
226
- try {
227
- const headers = {
228
- accept: "application/vnd.github+json"
229
- };
230
- if (options.githubToken) {
231
- headers.authorization = `Bearer ${options.githubToken}`;
232
- }
233
- let stars = null;
234
- try {
235
- const data = await requestJson(
236
- `${options.githubApiBase ?? GITHUB_API_BASE}/repos/${repo}`,
219
+ const resolved = (() => {
220
+ const sources = resolveSources(subject);
221
+ return inferAddress ? [...sources] : sources.filter((source) => source.kind !== "address");
222
+ })();
223
+ if (resolved.length === 0) {
224
+ return [
225
+ {
226
+ signalId: "ethos.score",
227
+ status: "missing",
228
+ fields: [
237
229
  {
238
- fetch: context.fetch,
239
- headers,
240
- timeoutMs: context.timeoutMs,
241
- signal: context.signal
230
+ scope: "root",
231
+ values: {
232
+ ethosScore: null,
233
+ ethosScoreStatus: "missing",
234
+ ethosScoreUpdatedAt: now,
235
+ ethosSources: []
236
+ }
242
237
  }
243
- );
244
- stars = typeof data.stargazers_count === "number" ? Math.max(0, Math.floor(data.stargazers_count)) : null;
245
- } catch (error) {
246
- if (options.githubHtmlFallback === false) {
247
- throw error;
248
- }
249
- }
250
- if (stars === null && options.githubHtmlFallback !== false) {
251
- stars = await fetchGithubStarsViaHtml(repo, context).catch(
252
- () => null
253
- );
238
+ ]
254
239
  }
255
- additional.githubStars = stars;
256
- additional.githubStarsUpdatedAt = now;
257
- results.push({
258
- signalId: "oss.github_stars",
259
- status: stars === null ? "missing" : "ok",
260
- value: stars,
261
- provenance: {
262
- source: "github",
263
- sourceUrl: `${options.githubApiBase ?? GITHUB_API_BASE}/repos/${repo}`,
264
- subjectId: repo,
265
- fetchedAt: now
266
- }
267
- });
268
- } catch (error) {
269
- results.push({
270
- signalId: "oss.github_stars",
271
- status: statusFromError(error),
272
- provenance: {
273
- source: "github",
274
- subjectId: repo,
275
- fetchedAt: now
276
- }
277
- });
278
- }
240
+ ];
279
241
  }
280
- if (pkg) {
281
- additional.packageRegistry = pkg.registry;
282
- additional.packageName = pkg.name;
283
- additional.packageIdentityUpdatedAt = now;
284
- const signalId = pkg.registry === "npm" ? "oss.npm_downloads" : "oss.pypi_downloads";
285
- try {
286
- if (pkg.registry === "npm") {
287
- const data = await requestJson(
288
- `${options.npmApiBase ?? NPM_API_BASE}/downloads/point/last-month/${encodeURIComponent(pkg.name)}`,
289
- {
290
- fetch: context.fetch,
291
- timeoutMs: context.timeoutMs,
292
- signal: context.signal
293
- }
294
- );
295
- const downloads = typeof data.downloads === "number" ? Math.max(0, Math.floor(data.downloads)) : null;
296
- additional.npmDownloads30d = downloads;
297
- additional.npmDownloadsUpdatedAt = now;
298
- if (downloads !== null) {
299
- additional.packageDownloadCount = downloads;
300
- }
301
- results.push({
302
- signalId,
303
- status: downloads === null ? "missing" : "ok",
304
- value: downloads,
305
- provenance: {
306
- source: "npm",
307
- subjectId: pkg.name,
308
- fetchedAt: now
309
- }
242
+ const storedByUserkey = new Map(
243
+ readStoredSources(subject).map((source) => [source.userkey, source])
244
+ );
245
+ const merged = resolved.map((source) => {
246
+ const stored = storedByUserkey.get(source.userkey);
247
+ return {
248
+ ...source,
249
+ status: stored?.status ?? source.status ?? "missing",
250
+ score: stored?.score ?? source.score ?? null,
251
+ updatedAt: stored?.updatedAt ?? source.updatedAt
252
+ };
253
+ });
254
+ const toRefresh = merged.filter((source) => {
255
+ if (context.force) {
256
+ return true;
257
+ }
258
+ const updatedMs = parseTimestampMs(source.updatedAt);
259
+ if (updatedMs === null || updatedMs <= 0) {
260
+ return true;
261
+ }
262
+ const ttl = source.status === "ok" ? ttlMs : failureTtlMs;
263
+ return context.now.getTime() - updatedMs >= ttl;
264
+ });
265
+ const headers = { "X-Ethos-Client": clientId };
266
+ let sawTimeout = false;
267
+ await Promise.all(
268
+ toRefresh.map(async (source) => {
269
+ const url = `${baseUrl}/api/v1/score/${encodeURIComponent(source.userkey)}`;
270
+ try {
271
+ const data = await requestJson(url, {
272
+ fetch: context.fetch,
273
+ headers,
274
+ timeoutMs: context.timeoutMs,
275
+ signal: context.signal,
276
+ maxRetries
310
277
  });
311
- } else {
312
- const data = await requestJson(
313
- `${options.pypiApiBase ?? PYPISTATS_API_BASE}/packages/${encodeURIComponent(pkg.name)}/recent`,
314
- {
315
- fetch: context.fetch,
316
- timeoutMs: context.timeoutMs,
317
- signal: context.signal
318
- }
319
- );
320
- const downloads = typeof data.data?.last_month === "number" ? Math.max(0, Math.floor(data.data.last_month)) : null;
321
- additional.pypiDownloads30d = downloads;
322
- additional.pypiDownloadsUpdatedAt = now;
323
- if (downloads !== null) {
324
- additional.packageDownloadCount = downloads;
278
+ const score = typeof data?.data?.score === "number" && Number.isFinite(data.data.score) ? data.data.score : typeof data?.score === "number" && Number.isFinite(data.score) ? data.score : null;
279
+ source.updatedAt = now;
280
+ if (data?.ok === false || score === null) {
281
+ source.status = "missing";
282
+ source.score = null;
283
+ } else {
284
+ source.status = "ok";
285
+ source.score = score;
325
286
  }
326
- results.push({
327
- signalId,
328
- status: downloads === null ? "missing" : "ok",
329
- value: downloads,
330
- provenance: {
331
- source: "pypi",
332
- subjectId: pkg.name,
333
- fetchedAt: now
287
+ } catch (error) {
288
+ source.updatedAt = now;
289
+ if (error instanceof Hcs25CollectorHttpError) {
290
+ if (error.status === 404) {
291
+ source.status = "missing";
292
+ source.score = null;
293
+ } else {
294
+ source.status = "error";
295
+ source.score = source.score ?? null;
334
296
  }
335
- });
336
- }
337
- } catch (error) {
338
- results.push({
339
- signalId,
340
- status: statusFromError(error),
341
- provenance: {
342
- source: pkg.registry,
343
- subjectId: pkg.name,
344
- fetchedAt: now
297
+ } else if (isTimeoutError(error)) {
298
+ source.status = "error";
299
+ sawTimeout = true;
300
+ } else {
301
+ source.status = "error";
345
302
  }
346
- });
347
- }
348
- }
349
- if (results.length === 0) {
350
- return [
351
- {
352
- signalId: "oss.github_stars",
353
- status: "missing"
354
303
  }
355
- ];
304
+ })
305
+ );
306
+ const scoredSources = merged.filter(
307
+ (source) => typeof source.score === "number" && Number.isFinite(source.score)
308
+ );
309
+ const weightSum = scoredSources.reduce(
310
+ (sum, source) => sum + Math.max(0, source.weight),
311
+ 0
312
+ );
313
+ const composite = weightSum > 0 ? Math.round(
314
+ scoredSources.reduce(
315
+ (sum, source) => sum + source.weight * (source.score ?? 0),
316
+ 0
317
+ ) / weightSum * 100
318
+ ) / 100 : null;
319
+ const compositeStatus = merged.some(
320
+ (source) => source.status === "ok"
321
+ ) ? "ok" : merged.some((source) => source.status === "error") ? "error" : "missing";
322
+ const weights = {};
323
+ for (const source of merged) {
324
+ weights[source.kind] = Math.round(((weights[source.kind] ?? 0) + source.weight) * 100) / 100;
356
325
  }
357
- const rootValues = {};
358
- if (repo && !readString(subject.metadata ?? {}, "repository")) {
359
- rootValues.repository = `https://github.com/${repo}`;
360
- }
361
- results.push({
362
- signalId: "oss.popularity",
363
- status: "ok",
364
- fields: [
365
- { scope: "additional", values: additional },
366
- ...Object.keys(rootValues).length > 0 ? [{ scope: "root", values: rootValues }] : []
367
- ],
368
- provenance: {
369
- source: "oss-popularity",
370
- subjectId: subject.id,
371
- fetchedAt: now
326
+ const signalStatus = compositeStatus === "ok" ? "ok" : sawTimeout ? "timeout" : compositeStatus === "error" ? "error" : "missing";
327
+ return [
328
+ {
329
+ signalId: "ethos.score",
330
+ status: signalStatus,
331
+ value: composite,
332
+ fields: [
333
+ {
334
+ scope: "root",
335
+ values: {
336
+ ethosUserkey: pickPrimaryUserkey(merged),
337
+ ethosScore: composite,
338
+ ethosScoreStatus: compositeStatus,
339
+ ethosScoreUpdatedAt: now,
340
+ ethosSources: merged.map((source) => ({
341
+ userkey: source.userkey,
342
+ kind: source.kind,
343
+ weight: source.weight,
344
+ status: source.status ?? "missing",
345
+ score: source.score ?? null,
346
+ updatedAt: source.updatedAt ?? now
347
+ })),
348
+ ethosComposite: {
349
+ version: 1,
350
+ score: composite,
351
+ updatedAt: now,
352
+ weights
353
+ }
354
+ }
355
+ }
356
+ ],
357
+ provenance: {
358
+ source: "ethos",
359
+ sourceUrl: `${baseUrl}/api/v1/score`,
360
+ subjectId: subject.id,
361
+ fetchedAt: now,
362
+ params: { userkeys: merged.map((source) => source.userkey) }
363
+ }
372
364
  }
373
- });
374
- return results;
365
+ ];
375
366
  };
376
367
  return {
377
- id: "oss-popularity",
378
- produces: [
379
- "oss.github_stars",
380
- "oss.npm_downloads",
381
- "oss.pypi_downloads",
382
- "oss.popularity"
383
- ],
368
+ id: "ethos",
369
+ produces: ["ethos.score"],
384
370
  timeoutMs: options.timeoutMs,
385
371
  includeRegistries: options.includeRegistries,
386
- excludeRegistries: options.excludeRegistries,
387
- appliesTo: options.appliesTo,
372
+ excludeRegistries: options.excludeRegistries ?? DEFAULT_EXCLUDED_REGISTRIES,
373
+ appliesTo: options.appliesTo ?? ((subject) => !isEthosExcluded(subject)),
388
374
  collect
389
375
  };
390
376
  }
391
377
  export {
392
- createOssPopularitySignalAdapter,
393
- parseGithubRepo
378
+ createEthosSignalAdapter,
379
+ deriveEthosSources,
380
+ isEthosExcluded,
381
+ normalizeEthosUserkey
394
382
  };
395
383
  //# sourceMappingURL=standards-sdk.es131.js.map