@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.
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts +9 -2
- package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/index.d.ts +1 -0
- package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts +9 -2
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
- package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts +9 -2
- package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/index.d.ts +1 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
- package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +1 -1
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
- package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/adapters/index.d.ts +1 -0
- package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
- package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts +9 -2
- package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/index.d.ts +1 -0
- package/dist/es/hcs-25/collectors/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
- package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
- package/dist/es/hcs-25/signals/index.d.ts +1 -0
- package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +78 -71
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +2 -2
- package/dist/es/standards-sdk.es103.js +2 -2
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +2 -2
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es111.js +2 -2
- package/dist/es/standards-sdk.es115.js +3 -3
- package/dist/es/standards-sdk.es116.js +4 -4
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +22 -4
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +15 -12
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +6 -5
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +6 -5
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +6 -5
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +110 -136
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +133 -141
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +135 -345
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +332 -344
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +338 -178
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +200 -196
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +216 -364
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +358 -100
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +91 -220
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +173 -1250
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +1295 -98
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +109 -246
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +263 -97
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +107 -248
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +246 -472
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +458 -85
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +96 -151
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +155 -29
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +26 -4
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +10 -180
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +179 -26
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +27 -20
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +18 -156
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +148 -190
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +159 -747
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +786 -9
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +13 -567
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +541 -600
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +625 -12
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +13 -2
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +2 -87
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +84 -37
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +6 -6
- package/dist/es/standards-sdk.es160.js +40 -2
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +2 -235
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +204 -1109
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +1059 -225
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +303 -419
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +418 -351
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +347 -1114
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +1094 -180
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +153 -1512
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1457 -1056
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +1163 -14
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +15 -449
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +440 -248
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +259 -4
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +4 -81
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +71 -77
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +80 -53
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +59 -2546
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +2547 -159
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +159 -7
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +13 -13
- package/dist/es/standards-sdk.es180.js +7 -86
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +65 -44
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +57 -188
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +27 -26
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +191 -53
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +21 -109
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +49 -47
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +89 -205
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +35 -58
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +48 -39
- package/dist/es/standards-sdk.es189.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +10 -10
- package/dist/es/standards-sdk.es190.js +218 -48
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +66 -42
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +33 -105
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +49 -43
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +33 -42
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +123 -72
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +58 -75
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +60 -44
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +72 -36
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +75 -30
- package/dist/es/standards-sdk.es199.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es200.js +44 -34
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +36 -48
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +30 -138
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +34 -42
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +48 -12482
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +134 -13
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +36 -50
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +12449 -78
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +15 -79
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +48 -192
- package/dist/es/standards-sdk.es209.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es210.js +90 -651
- package/dist/es/standards-sdk.es210.js.map +1 -1
- package/dist/es/standards-sdk.es211.js +71 -63
- package/dist/es/standards-sdk.es211.js.map +1 -1
- package/dist/es/standards-sdk.es212.js +188 -160
- package/dist/es/standards-sdk.es212.js.map +1 -1
- package/dist/es/standards-sdk.es213.js +65 -314
- package/dist/es/standards-sdk.es213.js.map +1 -1
- package/dist/es/standards-sdk.es214.js +661 -335
- package/dist/es/standards-sdk.es214.js.map +1 -1
- package/dist/es/standards-sdk.es215.js +129 -410
- package/dist/es/standards-sdk.es215.js.map +1 -1
- package/dist/es/standards-sdk.es216.js +200 -209
- package/dist/es/standards-sdk.es216.js.map +1 -1
- package/dist/es/standards-sdk.es217.js +334 -64
- package/dist/es/standards-sdk.es217.js.map +1 -1
- package/dist/es/standards-sdk.es218.js +438 -124
- package/dist/es/standards-sdk.es218.js.map +1 -1
- package/dist/es/standards-sdk.es219.js +310 -496
- package/dist/es/standards-sdk.es219.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es220.js +60 -243
- package/dist/es/standards-sdk.es220.js.map +1 -1
- package/dist/es/standards-sdk.es221.js +118 -175
- package/dist/es/standards-sdk.es221.js.map +1 -1
- package/dist/es/standards-sdk.es222.js +465 -67
- package/dist/es/standards-sdk.es222.js.map +1 -1
- package/dist/es/standards-sdk.es223.js +250 -143
- package/dist/es/standards-sdk.es223.js.map +1 -1
- package/dist/es/standards-sdk.es224.js +172 -160
- package/dist/es/standards-sdk.es224.js.map +1 -1
- package/dist/es/standards-sdk.es225.js +65 -630
- package/dist/es/standards-sdk.es225.js.map +1 -1
- package/dist/es/standards-sdk.es226.js +128 -161
- package/dist/es/standards-sdk.es226.js.map +1 -1
- package/dist/es/standards-sdk.es227.js +144 -195
- package/dist/es/standards-sdk.es227.js.map +1 -1
- package/dist/es/standards-sdk.es228.js +668 -223
- package/dist/es/standards-sdk.es228.js.map +1 -1
- package/dist/es/standards-sdk.es229.js +188 -0
- package/dist/es/standards-sdk.es229.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es230.js +238 -0
- package/dist/es/standards-sdk.es230.js.map +1 -0
- package/dist/es/standards-sdk.es231.js +242 -0
- package/dist/es/standards-sdk.es231.js.map +1 -0
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +13 -13
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +7 -7
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +8 -8
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +3 -3
- package/dist/es/standards-sdk.es75.js +5 -5
- package/dist/es/standards-sdk.es76.js +3 -3
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es81.js +2 -2
- package/dist/es/standards-sdk.es83.js +2 -2
- package/dist/es/standards-sdk.es84.js +5 -5
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es89.js +2 -2
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +4 -4
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/package.json +1 -1
|
@@ -1,60 +1,62 @@
|
|
|
1
1
|
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
-
import {
|
|
3
|
-
import "./standards-sdk.
|
|
4
|
-
import "./standards-sdk.
|
|
5
|
-
import "./standards-sdk.
|
|
6
|
-
import "./standards-sdk.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const rawScore = metadata ? readNumber(metadata, "availabilityScore") : null;
|
|
16
|
-
if (rawScore !== null) {
|
|
17
|
-
const ratio = scoreScale === "ratio" ? rawScore : scoreScale === "percent" ? rawScore / 100 : rawScore > 1 ? rawScore / 100 : rawScore;
|
|
18
|
-
return {
|
|
19
|
-
value: clampScore(ratio * 100),
|
|
20
|
-
status: stale ? "stale" : "ok"
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const metrics = readSubjectMetrics(subject);
|
|
24
|
-
const minsFromLastOnline = readNumber(metrics, "minsFromLastOnline");
|
|
25
|
-
if (minsFromLastOnline !== null) {
|
|
26
|
-
return {
|
|
27
|
-
value: clampScore(100 * (1 - minsFromLastOnline / recencyWindowMinutes)),
|
|
28
|
-
status: "ok"
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
const isOnline = readBoolean(metrics, "isOnline");
|
|
32
|
-
if (isOnline !== null) {
|
|
33
|
-
return { value: isOnline ? 100 : 0, status: "ok" };
|
|
34
|
-
}
|
|
35
|
-
if (probeStatus === "timeout" || probeStatus === "error") {
|
|
36
|
-
return { value: 0, status: probeStatus };
|
|
2
|
+
import { readNumber, readSubjectMetrics } 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 { normalizeRatio, logScale } from "./standards-sdk.es185.js";
|
|
9
|
+
const DEFAULT_INCLUDED_REGISTRIES = ["virtuals-protocol"];
|
|
10
|
+
const MISSING = { value: 0, status: "missing" };
|
|
11
|
+
function readAcpField(subject, key) {
|
|
12
|
+
const metricsValue = readNumber(readSubjectMetrics(subject), key);
|
|
13
|
+
if (metricsValue !== null) {
|
|
14
|
+
return metricsValue;
|
|
37
15
|
}
|
|
38
|
-
|
|
16
|
+
const metadata = subject.metadata;
|
|
17
|
+
return metadata ? readNumber(metadata, key) : null;
|
|
39
18
|
}
|
|
40
|
-
function
|
|
41
|
-
const
|
|
42
|
-
const
|
|
19
|
+
function createAcpAdapter(options = {}) {
|
|
20
|
+
const volumeCap = options.volumeCap ?? 500;
|
|
21
|
+
const revenueCap = options.revenueCap ?? 1e4;
|
|
43
22
|
return {
|
|
44
|
-
id: "
|
|
45
|
-
weight:
|
|
46
|
-
contributionMode: "
|
|
47
|
-
|
|
48
|
-
defaultComponentKey: "availability.uptime",
|
|
23
|
+
id: "acp",
|
|
24
|
+
weight: 2,
|
|
25
|
+
contributionMode: "scoped",
|
|
26
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
49
27
|
components: [
|
|
50
28
|
{
|
|
51
|
-
name: "
|
|
52
|
-
normalize: ({ subject }) =>
|
|
29
|
+
name: "jobs.successRate",
|
|
30
|
+
normalize: ({ subject }) => {
|
|
31
|
+
const raw = readAcpField(subject, "successRate");
|
|
32
|
+
return raw === null ? MISSING : { value: clampScore(normalizeRatio(raw) * 100), status: "ok" };
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "jobs.deliveryVolume",
|
|
37
|
+
normalize: ({ subject }) => {
|
|
38
|
+
const volume = readAcpField(subject, "volume") ?? readAcpField(subject, "successfulJobCount");
|
|
39
|
+
return volume === null ? MISSING : { value: logScale(volume, volumeCap), status: "ok" };
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "jobs.revenue",
|
|
44
|
+
normalize: ({ subject }) => {
|
|
45
|
+
const revenue = readAcpField(subject, "revenue");
|
|
46
|
+
return revenue === null ? MISSING : { value: logScale(revenue, revenueCap), status: "ok" };
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "reviews.rating",
|
|
51
|
+
normalize: ({ subject }) => {
|
|
52
|
+
const rating = readAcpField(subject, "rating");
|
|
53
|
+
return rating === null ? MISSING : { value: clampScore(rating / 5 * 100), status: "ok" };
|
|
54
|
+
}
|
|
53
55
|
}
|
|
54
56
|
]
|
|
55
57
|
};
|
|
56
58
|
}
|
|
57
59
|
export {
|
|
58
|
-
|
|
60
|
+
createAcpAdapter
|
|
59
61
|
};
|
|
60
62
|
//# sourceMappingURL=standards-sdk.es186.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es186.js","sources":["../../src/hcs-25/adapters/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es186.js","sources":["../../src/hcs-25/adapters/acp.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport { readNumber, readSubjectMetrics } from '../signals';\nimport { logScale, normalizeRatio } from './normalization';\n\n/**\n * Options for the ACP/Virtuals marketplace adapter.\n */\nexport interface Hcs25AcpAdapterOptions {\n /** Volume cap used for log scaling delivery volume. Default 500. */\n volumeCap?: number;\n /** Revenue cap used for log scaling revenue. Default 10000. */\n revenueCap?: number;\n /** Registries where marketplace metrics apply. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['virtuals-protocol'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nfunction readAcpField(subject: Hcs25Subject, key: string): number | null {\n const metricsValue = readNumber(readSubjectMetrics(subject), key);\n if (metricsValue !== null) {\n return metricsValue;\n }\n const metadata = subject.metadata;\n return metadata ? readNumber(metadata, key) : null;\n}\n\n/**\n * Creates the `acp` adapter: normalizes marketplace-native execution\n * performance (job success, delivery volume, revenue, ratings) for\n * ACP/Virtuals-style agents. Delivery volume falls back to the successful\n * job count when no provider-defined volume exists.\n */\nexport function createAcpAdapter(\n options: Hcs25AcpAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const volumeCap = options.volumeCap ?? 500;\n const revenueCap = options.revenueCap ?? 10000;\n\n return {\n id: 'acp',\n weight: 2,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n components: [\n {\n name: 'jobs.successRate',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const raw = readAcpField(subject, 'successRate');\n return raw === null\n ? MISSING\n : { value: clampScore(normalizeRatio(raw) * 100), status: 'ok' };\n },\n },\n {\n name: 'jobs.deliveryVolume',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const volume =\n readAcpField(subject, 'volume') ??\n readAcpField(subject, 'successfulJobCount');\n return volume === null\n ? MISSING\n : { value: logScale(volume, volumeCap), status: 'ok' };\n },\n },\n {\n name: 'jobs.revenue',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const revenue = readAcpField(subject, 'revenue');\n return revenue === null\n ? MISSING\n : { value: logScale(revenue, revenueCap), status: 'ok' };\n },\n },\n {\n name: 'reviews.rating',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const rating = readAcpField(subject, 'rating');\n return rating === null\n ? MISSING\n : { value: clampScore((rating / 5) * 100), status: 'ok' };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,8BAAiD,CAAC,mBAAmB;AAE3E,MAAM,UAAgC,EAAE,OAAO,GAAG,QAAQ,UAAA;AAE1D,SAAS,aAAa,SAAuB,KAA4B;AACvE,QAAM,eAAe,WAAW,mBAAmB,OAAO,GAAG,GAAG;AAChE,MAAI,iBAAiB,MAAM;AACzB,WAAO;AAAA,EACT;AACA,QAAM,WAAW,QAAQ;AACzB,SAAO,WAAW,WAAW,UAAU,GAAG,IAAI;AAChD;AAQO,SAAS,iBACd,UAAkC,IACV;AACxB,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,aAAa,QAAQ,cAAc;AAEzC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,mBAAmB,QAAQ,qBAAqB;AAAA,IAChD,YAAY;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,MAAM,aAAa,SAAS,aAAa;AAC/C,iBAAO,QAAQ,OACX,UACA,EAAE,OAAO,WAAW,eAAe,GAAG,IAAI,GAAG,GAAG,QAAQ,KAAA;AAAA,QAC9D;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,SACJ,aAAa,SAAS,QAAQ,KAC9B,aAAa,SAAS,oBAAoB;AAC5C,iBAAO,WAAW,OACd,UACA,EAAE,OAAO,SAAS,QAAQ,SAAS,GAAG,QAAQ,KAAA;AAAA,QACpD;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,UAAU,aAAa,SAAS,SAAS;AAC/C,iBAAO,YAAY,OACf,UACA,EAAE,OAAO,SAAS,SAAS,UAAU,GAAG,QAAQ,KAAA;AAAA,QACtD;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAC,EAAE,cAAoC;AAChD,gBAAM,SAAS,aAAa,SAAS,QAAQ;AAC7C,iBAAO,WAAW,OACd,UACA,EAAE,OAAO,WAAY,SAAS,IAAK,GAAG,GAAG,QAAQ,KAAA;AAAA,QACvD;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
|
|
@@ -1,234 +1,118 @@
|
|
|
1
1
|
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
-
import { readSubjectAdditional, readNumber, readString } from "./standards-sdk.
|
|
3
|
-
import "./standards-sdk.
|
|
4
|
-
import "./standards-sdk.
|
|
5
|
-
import "./standards-sdk.
|
|
6
|
-
import "./standards-sdk.
|
|
7
|
-
|
|
2
|
+
import { readSubjectAdditional, 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_INCLUDED_REGISTRIES = ["agentverse", "uagent"];
|
|
8
10
|
const MISSING = { value: 0, status: "missing" };
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
]
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
score: 85,
|
|
25
|
-
patterns: [
|
|
26
|
-
"claude-sonnet-4",
|
|
27
|
-
"claude-4-sonnet",
|
|
28
|
-
"claude-3-7-sonnet",
|
|
29
|
-
"gemini-2.5-pro",
|
|
30
|
-
"deepseek-v3",
|
|
31
|
-
"deepseek-r1",
|
|
32
|
-
"llama-4-maverick",
|
|
33
|
-
"qwen3-235b",
|
|
34
|
-
"grok-3"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
score: 70,
|
|
39
|
-
patterns: [
|
|
40
|
-
"gpt-4o",
|
|
41
|
-
"gemini-2.5-flash",
|
|
42
|
-
"claude-haiku",
|
|
43
|
-
"llama-4-scout",
|
|
44
|
-
"qwen3-32b",
|
|
45
|
-
"mistral-large"
|
|
46
|
-
]
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
score: 55,
|
|
50
|
-
patterns: ["llama-3.3", "llama-3.1", "qwen", "mistral", "gemma", "phi-"]
|
|
51
|
-
},
|
|
52
|
-
{ score: 35, patterns: ["llama-2", "gpt-3.5", "gemini-1"] }
|
|
53
|
-
];
|
|
54
|
-
const DEFAULT_MODEL_ID_KEYS = [
|
|
55
|
-
"openrouterModelId",
|
|
56
|
-
"modelId",
|
|
57
|
-
"model"
|
|
58
|
-
];
|
|
59
|
-
function createOpenRouterEvalsAdapter(options = {}) {
|
|
60
|
-
const lowCoverageMultiplier = options.lowCoverageMultiplier ?? 0.5;
|
|
61
|
-
return {
|
|
62
|
-
id: "openrouter-evals",
|
|
63
|
-
weight: 0.5,
|
|
64
|
-
contributionMode: "scoped",
|
|
65
|
-
includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
|
|
66
|
-
defaultComponentKey: "openrouter-evals.score",
|
|
67
|
-
components: [
|
|
68
|
-
{
|
|
69
|
-
name: "score",
|
|
70
|
-
normalize: ({ subject }) => {
|
|
71
|
-
const additional = readSubjectAdditional(subject);
|
|
72
|
-
const score = readNumber(additional, "openrouterEvalScore");
|
|
73
|
-
const status = readString(additional, "openrouterEvalStatus");
|
|
74
|
-
if (score === null || status === "missing") {
|
|
75
|
-
if (status === "timeout" || status === "error") {
|
|
76
|
-
return { value: 0, status };
|
|
77
|
-
}
|
|
78
|
-
return MISSING;
|
|
79
|
-
}
|
|
80
|
-
const multiplier = status === "low-coverage" ? lowCoverageMultiplier : 1;
|
|
81
|
-
return {
|
|
82
|
-
value: clampScore(score * multiplier),
|
|
83
|
-
status: status === "stale" ? "stale" : "ok"
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
};
|
|
11
|
+
function withInsightsStatus(additional, result) {
|
|
12
|
+
const status = readString(additional, "agentverseInsightsStatus");
|
|
13
|
+
if (result.status === "ok" && status === "stale") {
|
|
14
|
+
return { value: result.value, status: "stale" };
|
|
15
|
+
}
|
|
16
|
+
if (result.status !== "ok" && (status === "upstream-error" || status === "error")) {
|
|
17
|
+
return { value: 0, status: "error" };
|
|
18
|
+
}
|
|
19
|
+
if (result.status !== "ok" && status === "timeout") {
|
|
20
|
+
return { value: 0, status: "timeout" };
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
89
23
|
}
|
|
90
|
-
function
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
return {
|
|
114
|
-
value: clampScore(score),
|
|
115
|
-
status: status === "stale" ? "stale" : "ok"
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
]
|
|
120
|
-
};
|
|
24
|
+
function normalizeInsights(subject) {
|
|
25
|
+
const additional = readSubjectAdditional(subject);
|
|
26
|
+
const rating = readNumber(additional, "agentverseInsightsRating");
|
|
27
|
+
if (rating !== null) {
|
|
28
|
+
return withInsightsStatus(additional, {
|
|
29
|
+
value: clampScore(rating / 5 * 100),
|
|
30
|
+
status: "ok"
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const proxies = [
|
|
34
|
+
readNumber(additional, "agentverseInsightsReadmeQualityScore"),
|
|
35
|
+
readNumber(additional, "agentverseInsightsReadmeUniquenessScore"),
|
|
36
|
+
readNumber(additional, "agentverseInsightsInteractionsScore")
|
|
37
|
+
].filter((value) => value !== null);
|
|
38
|
+
if (proxies.length === 0) {
|
|
39
|
+
return withInsightsStatus(additional, MISSING);
|
|
40
|
+
}
|
|
41
|
+
const mean = proxies.reduce((sum, value) => sum + value, 0) / proxies.length;
|
|
42
|
+
return withInsightsStatus(additional, {
|
|
43
|
+
value: clampScore(mean * 100),
|
|
44
|
+
status: "ok"
|
|
45
|
+
});
|
|
121
46
|
}
|
|
122
|
-
function
|
|
47
|
+
function createAgentverseInsightsAdapter(options = {}) {
|
|
123
48
|
return {
|
|
124
|
-
id: "
|
|
125
|
-
weight: 0.8,
|
|
126
|
-
contributionMode: "conditional",
|
|
127
|
-
includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,
|
|
128
|
-
defaultComponentKey: "huggingface-model-index.score",
|
|
129
|
-
components: [
|
|
130
|
-
{
|
|
131
|
-
name: "score",
|
|
132
|
-
nonScorableWhenUnavailable: true,
|
|
133
|
-
normalize: ({ subject }) => {
|
|
134
|
-
const additional = readSubjectAdditional(subject);
|
|
135
|
-
const score = readNumber(additional, "huggingFaceEvalScore") ?? readNumber(additional, "huggingFaceSignalScore");
|
|
136
|
-
const status = readString(additional, "huggingFaceEvalStatus");
|
|
137
|
-
const mode = readString(additional, "huggingFaceEvalMode");
|
|
138
|
-
if (score === null || mode === "missing" || status === "missing") {
|
|
139
|
-
if (status === "timeout" || status === "error") {
|
|
140
|
-
return { value: 0, status };
|
|
141
|
-
}
|
|
142
|
-
return MISSING;
|
|
143
|
-
}
|
|
144
|
-
return {
|
|
145
|
-
value: clampScore(score),
|
|
146
|
-
status: status === "stale" ? "stale" : "ok"
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
]
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function createOpenLlmLeaderboardAdapter(includeRegistries) {
|
|
154
|
-
return {
|
|
155
|
-
id: "openllm-leaderboard",
|
|
49
|
+
id: "agentverse-insights",
|
|
156
50
|
weight: 1,
|
|
157
|
-
contributionMode: "
|
|
158
|
-
includeRegistries: includeRegistries ??
|
|
159
|
-
defaultComponentKey: "
|
|
51
|
+
contributionMode: "scoped",
|
|
52
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
53
|
+
defaultComponentKey: "agentverse-insights.score",
|
|
160
54
|
components: [
|
|
161
|
-
{
|
|
162
|
-
name: "score",
|
|
163
|
-
nonScorableWhenUnavailable: true,
|
|
164
|
-
normalize: ({ subject }) => {
|
|
165
|
-
const additional = readSubjectAdditional(subject);
|
|
166
|
-
const score = readNumber(additional, "openLlmEvalScore");
|
|
167
|
-
const status = readString(additional, "openLlmEvalStatus");
|
|
168
|
-
if (score === null || status === "missing") {
|
|
169
|
-
if (status === "timeout" || status === "error") {
|
|
170
|
-
return { value: 0, status };
|
|
171
|
-
}
|
|
172
|
-
return MISSING;
|
|
173
|
-
}
|
|
174
|
-
return {
|
|
175
|
-
value: clampScore(score),
|
|
176
|
-
status: status === "stale" ? "stale" : "ok"
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
}
|
|
55
|
+
{ name: "score", normalize: ({ subject }) => normalizeInsights(subject) }
|
|
180
56
|
]
|
|
181
57
|
};
|
|
182
58
|
}
|
|
183
|
-
function
|
|
184
|
-
const
|
|
185
|
-
const
|
|
186
|
-
const modelIdKeys = options.modelIdKeys ?? DEFAULT_MODEL_ID_KEYS;
|
|
59
|
+
function createAgentverseVerifierAdapter(options = {}) {
|
|
60
|
+
const interactionCap = options.interactionCap ?? 1e3;
|
|
61
|
+
const responseTimeCapSeconds = options.responseTimeCapSeconds ?? 30;
|
|
187
62
|
return {
|
|
188
|
-
id: "
|
|
189
|
-
weight:
|
|
63
|
+
id: "agentverse-verifier",
|
|
64
|
+
weight: 1,
|
|
190
65
|
contributionMode: "conditional",
|
|
191
|
-
includeRegistries: options.includeRegistries ??
|
|
192
|
-
defaultComponentKey: "
|
|
66
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
67
|
+
defaultComponentKey: "agentverse-verifier.score",
|
|
193
68
|
components: [
|
|
194
69
|
{
|
|
195
70
|
name: "score",
|
|
196
71
|
nonScorableWhenUnavailable: true,
|
|
197
72
|
normalize: ({ subject }) => {
|
|
198
73
|
const additional = readSubjectAdditional(subject);
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
"
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
74
|
+
const recentInteractions = readNumber(
|
|
75
|
+
additional,
|
|
76
|
+
"agentverseInsightsVerifierRecentInteractions"
|
|
77
|
+
) ?? 0;
|
|
78
|
+
const recentSuccesses = readNumber(
|
|
79
|
+
additional,
|
|
80
|
+
"agentverseInsightsVerifierRecentSuccessInteractions"
|
|
81
|
+
) ?? 0;
|
|
82
|
+
const totalInteractions = readNumber(
|
|
83
|
+
additional,
|
|
84
|
+
"agentverseInsightsVerifierTotalInteractions"
|
|
85
|
+
) ?? 0;
|
|
86
|
+
const totalSuccesses = readNumber(
|
|
87
|
+
additional,
|
|
88
|
+
"agentverseInsightsVerifierTotalSuccessInteractions"
|
|
89
|
+
) ?? 0;
|
|
90
|
+
const useRecent = recentInteractions > 0;
|
|
91
|
+
const interactions = useRecent ? recentInteractions : totalInteractions;
|
|
92
|
+
const successes = useRecent ? recentSuccesses : totalSuccesses;
|
|
93
|
+
if (interactions <= 0) {
|
|
94
|
+
return withInsightsStatus(additional, MISSING);
|
|
211
95
|
}
|
|
212
|
-
const
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
96
|
+
const successRate = clampUnit(successes / interactions) * 100;
|
|
97
|
+
const avgResponseTime = readNumber(
|
|
98
|
+
additional,
|
|
99
|
+
"agentverseInsightsAvgResponseTime"
|
|
100
|
+
);
|
|
101
|
+
const responseFactor = avgResponseTime === null ? 1 : clampUnit(1 - avgResponseTime / responseTimeCapSeconds);
|
|
102
|
+
const volumeFactor = clampUnit(
|
|
103
|
+
Math.log1p(interactions) / Math.log1p(interactionCap)
|
|
217
104
|
);
|
|
218
|
-
return {
|
|
219
|
-
value: clampScore(
|
|
105
|
+
return withInsightsStatus(additional, {
|
|
106
|
+
value: clampScore(successRate * responseFactor * volumeFactor),
|
|
220
107
|
status: "ok"
|
|
221
|
-
};
|
|
108
|
+
});
|
|
222
109
|
}
|
|
223
110
|
}
|
|
224
111
|
]
|
|
225
112
|
};
|
|
226
113
|
}
|
|
227
114
|
export {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
createModelTierAdapter,
|
|
231
|
-
createOpenLlmLeaderboardAdapter,
|
|
232
|
-
createOpenRouterEvalsAdapter
|
|
115
|
+
createAgentverseInsightsAdapter,
|
|
116
|
+
createAgentverseVerifierAdapter
|
|
233
117
|
};
|
|
234
118
|
//# sourceMappingURL=standards-sdk.es187.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es187.js","sources":["../../src/hcs-25/adapters/model-evals.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n readNumber,\n readString,\n readSubjectAdditional,\n type Hcs25JsonObject,\n} from '../signals';\n\n/**\n * Options for the OpenRouter benchmarks adapter.\n */\nexport interface Hcs25OpenRouterEvalsAdapterOptions {\n /** Multiplier applied to scores whose coverage status is `low-coverage`. */\n lowCoverageMultiplier?: number;\n /** Model catalog registries where the adapter applies. */\n includeRegistries?: readonly string[];\n}\n\n/**\n * A heuristic model tier: a score plus the lowercase identifier patterns\n * that map to it. The first matching tier wins.\n */\nexport interface Hcs25ModelTier {\n score: number;\n patterns: readonly string[];\n}\n\n/**\n * Options for the fallback model-tier adapter.\n */\nexport interface Hcs25ModelTierAdapterOptions {\n /** Tier table; the first matching tier wins. */\n tiers?: readonly Hcs25ModelTier[];\n /** Score for models that match no tier. Default 50. */\n defaultScore?: number;\n /** Metadata keys checked for the model identifier, in order. */\n modelIdKeys?: readonly string[];\n /** Model catalog registries where the adapter applies. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_MODEL_REGISTRIES: readonly string[] = ['openrouter', 'near-ai'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\nconst DEFAULT_MODEL_TIERS: readonly Hcs25ModelTier[] = [\n {\n score: 95,\n patterns: [\n 'gpt-5',\n 'gpt-4.5',\n 'o3',\n 'o4-mini',\n 'claude-opus-4',\n 'claude-4-opus',\n 'gemini-3',\n 'grok-4',\n ],\n },\n {\n score: 85,\n patterns: [\n 'claude-sonnet-4',\n 'claude-4-sonnet',\n 'claude-3-7-sonnet',\n 'gemini-2.5-pro',\n 'deepseek-v3',\n 'deepseek-r1',\n 'llama-4-maverick',\n 'qwen3-235b',\n 'grok-3',\n ],\n },\n {\n score: 70,\n patterns: [\n 'gpt-4o',\n 'gemini-2.5-flash',\n 'claude-haiku',\n 'llama-4-scout',\n 'qwen3-32b',\n 'mistral-large',\n ],\n },\n {\n score: 55,\n patterns: ['llama-3.3', 'llama-3.1', 'qwen', 'mistral', 'gemma', 'phi-'],\n },\n { score: 35, patterns: ['llama-2', 'gpt-3.5', 'gemini-1'] },\n];\n\nconst DEFAULT_MODEL_ID_KEYS: readonly string[] = [\n 'openrouterModelId',\n 'modelId',\n 'model',\n];\n\n/**\n * Creates the `openrouter-evals` adapter: exposes a coverage-aware\n * benchmark component for model catalog entries, down-weighting\n * low-coverage scores.\n */\nexport function createOpenRouterEvalsAdapter(\n options: Hcs25OpenRouterEvalsAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const lowCoverageMultiplier = options.lowCoverageMultiplier ?? 0.5;\n\n return {\n id: 'openrouter-evals',\n weight: 0.5,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'openrouter-evals.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional: Hcs25JsonObject = readSubjectAdditional(subject);\n const score = readNumber(additional, 'openrouterEvalScore');\n const status = readString(additional, 'openrouterEvalStatus');\n\n if (score === null || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n\n const multiplier =\n status === 'low-coverage' ? lowCoverageMultiplier : 1;\n return {\n value: clampScore(score * multiplier),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `chatbot-arena` adapter: exposes an independent\n * preference-leaderboard signal as a normalized component.\n */\nexport function createChatbotArenaAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'chatbot-arena',\n weight: 6,\n contributionMode: 'scoped',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'chatbot-arena.score',\n components: [\n {\n name: 'score',\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'chatbotArenaEvalScore');\n const status = readString(additional, 'chatbotArenaEvalStatus');\n\n if (score === null) {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n if (status === 'missing') {\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `huggingface-model-index` adapter: exposes Hugging\n * Face-derived model-index and popularity signals, contributing only when\n * coverage exists.\n */\nexport function createHuggingFaceModelIndexAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'huggingface-model-index',\n weight: 0.8,\n contributionMode: 'conditional',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'huggingface-model-index.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score =\n readNumber(additional, 'huggingFaceEvalScore') ??\n readNumber(additional, 'huggingFaceSignalScore');\n const status = readString(additional, 'huggingFaceEvalStatus');\n const mode = readString(additional, 'huggingFaceEvalMode');\n\n if (score === null || mode === 'missing' || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `openllm-leaderboard` adapter: exposes a benchmark-derived\n * leaderboard score, contributing only when a record exists.\n */\nexport function createOpenLlmLeaderboardAdapter(\n includeRegistries?: readonly string[],\n): Hcs25AdapterDefinition {\n return {\n id: 'openllm-leaderboard',\n weight: 1,\n contributionMode: 'conditional',\n includeRegistries: includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'openllm-leaderboard.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const score = readNumber(additional, 'openLlmEvalScore');\n const status = readString(additional, 'openLlmEvalStatus');\n\n if (score === null || status === 'missing') {\n if (status === 'timeout' || status === 'error') {\n return { value: 0, status };\n }\n return MISSING;\n }\n return {\n value: clampScore(score),\n status: status === 'stale' ? 'stale' : 'ok',\n };\n },\n },\n ],\n };\n}\n\n/**\n * Creates the `model-tier` adapter: a deterministic fallback heuristic for\n * model catalogs with sparse external-eval coverage. It suppresses itself\n * when OpenRouter coverage is sufficient or any independent eval source\n * exists, per the specification's fallback-only guidance.\n */\nexport function createModelTierAdapter(\n options: Hcs25ModelTierAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const tiers = options.tiers ?? DEFAULT_MODEL_TIERS;\n const defaultScore = options.defaultScore ?? 50;\n const modelIdKeys = options.modelIdKeys ?? DEFAULT_MODEL_ID_KEYS;\n\n return {\n id: 'model-tier',\n weight: 2,\n contributionMode: 'conditional',\n includeRegistries: options.includeRegistries ?? DEFAULT_MODEL_REGISTRIES,\n defaultComponentKey: 'model-tier.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n\n const hasStrongCoverage =\n readString(additional, 'openrouterEvalStatus') === 'ok';\n const hasIndependentEvals = [\n 'chatbotArenaEvalStatus',\n 'huggingFaceEvalStatus',\n 'openLlmEvalStatus',\n ].some(key => readString(additional, key) === 'ok');\n if (hasStrongCoverage || hasIndependentEvals) {\n return MISSING;\n }\n\n const modelId = modelIdKeys\n .map(key => readString(additional, key))\n .find((value): value is string => value !== null);\n if (modelId === null) {\n return MISSING;\n }\n\n const normalizedId = modelId.toLowerCase();\n const tier = tiers.find(entry =>\n entry.patterns.some(pattern =>\n normalizedId.includes(pattern.toLowerCase()),\n ),\n );\n return {\n value: clampScore(tier ? tier.score : defaultScore),\n status: 'ok',\n };\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es187.js","sources":["../../src/hcs-25/adapters/agentverse.ts"],"sourcesContent":["import { clampScore } from '../scoring';\nimport type {\n Hcs25AdapterDefinition,\n Hcs25NormalizedValue,\n Hcs25Subject,\n} from '../types';\nimport {\n readNumber,\n readString,\n readSubjectAdditional,\n type Hcs25JsonObject,\n} from '../signals';\nimport { clampUnit } from './normalization';\n\n/**\n * Options for the AgentVerse insights adapter.\n */\nexport interface Hcs25AgentverseInsightsAdapterOptions {\n /** Registries where AgentVerse insights apply. */\n includeRegistries?: readonly string[];\n}\n\n/**\n * Options for the AgentVerse verifier reliability adapter.\n */\nexport interface Hcs25AgentverseVerifierAdapterOptions {\n /** Interaction count cap for the volume confidence factor. Default 1000. */\n interactionCap?: number;\n /** Average response time (seconds) that maps to a zero factor. Default 30. */\n responseTimeCapSeconds?: number;\n /** Registries where AgentVerse verifier counters apply. */\n includeRegistries?: readonly string[];\n}\n\nconst DEFAULT_INCLUDED_REGISTRIES: readonly string[] = ['agentverse', 'uagent'];\n\nconst MISSING: Hcs25NormalizedValue = { value: 0, status: 'missing' };\n\n/**\n * Threads the stored `agentverseInsightsStatus` through a computed result:\n * `stale` keeps the value with a stale status, `upstream-error`/`error`\n * without usable data surface as `error`, `timeout` surfaces as `timeout`.\n */\nfunction withInsightsStatus(\n additional: Hcs25JsonObject,\n result: Hcs25NormalizedValue,\n): Hcs25NormalizedValue {\n const status = readString(additional, 'agentverseInsightsStatus');\n if (result.status === 'ok' && status === 'stale') {\n return { value: result.value, status: 'stale' };\n }\n if (\n result.status !== 'ok' &&\n (status === 'upstream-error' || status === 'error')\n ) {\n return { value: 0, status: 'error' };\n }\n if (result.status !== 'ok' && status === 'timeout') {\n return { value: 0, status: 'timeout' };\n }\n return result;\n}\n\nfunction normalizeInsights(subject: Hcs25Subject): Hcs25NormalizedValue {\n const additional: Hcs25JsonObject = readSubjectAdditional(subject);\n const rating = readNumber(additional, 'agentverseInsightsRating');\n if (rating !== null) {\n return withInsightsStatus(additional, {\n value: clampScore((rating / 5) * 100),\n status: 'ok',\n });\n }\n\n const proxies = [\n readNumber(additional, 'agentverseInsightsReadmeQualityScore'),\n readNumber(additional, 'agentverseInsightsReadmeUniquenessScore'),\n readNumber(additional, 'agentverseInsightsInteractionsScore'),\n ].filter((value): value is number => value !== null);\n\n if (proxies.length === 0) {\n return withInsightsStatus(additional, MISSING);\n }\n\n const mean = proxies.reduce((sum, value) => sum + value, 0) / proxies.length;\n return withInsightsStatus(additional, {\n value: clampScore(mean * 100),\n status: 'ok',\n });\n}\n\n/**\n * Creates the `agentverse-insights` adapter: converts marketplace \"insights\"\n * indicators into a single normalized component, preferring the explicit\n * rating (scaled from five) and falling back to the mean of the available\n * quality proxies.\n */\nexport function createAgentverseInsightsAdapter(\n options: Hcs25AgentverseInsightsAdapterOptions = {},\n): Hcs25AdapterDefinition {\n return {\n id: 'agentverse-insights',\n weight: 1,\n contributionMode: 'scoped',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n defaultComponentKey: 'agentverse-insights.score',\n components: [\n { name: 'score', normalize: ({ subject }) => normalizeInsights(subject) },\n ],\n };\n}\n\n/**\n * Creates the `agentverse-verifier` adapter: converts verifier interaction\n * counters into a reliability score combining success rate, a response-time\n * penalty, and a volume confidence factor. Conditional contribution keeps\n * agents without verifier counters out of the denominator.\n */\nexport function createAgentverseVerifierAdapter(\n options: Hcs25AgentverseVerifierAdapterOptions = {},\n): Hcs25AdapterDefinition {\n const interactionCap = options.interactionCap ?? 1000;\n const responseTimeCapSeconds = options.responseTimeCapSeconds ?? 30;\n\n return {\n id: 'agentverse-verifier',\n weight: 1,\n contributionMode: 'conditional',\n includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,\n defaultComponentKey: 'agentverse-verifier.score',\n components: [\n {\n name: 'score',\n nonScorableWhenUnavailable: true,\n normalize: ({ subject }): Hcs25NormalizedValue => {\n const additional = readSubjectAdditional(subject);\n const recentInteractions =\n readNumber(\n additional,\n 'agentverseInsightsVerifierRecentInteractions',\n ) ?? 0;\n const recentSuccesses =\n readNumber(\n additional,\n 'agentverseInsightsVerifierRecentSuccessInteractions',\n ) ?? 0;\n const totalInteractions =\n readNumber(\n additional,\n 'agentverseInsightsVerifierTotalInteractions',\n ) ?? 0;\n const totalSuccesses =\n readNumber(\n additional,\n 'agentverseInsightsVerifierTotalSuccessInteractions',\n ) ?? 0;\n\n const useRecent = recentInteractions > 0;\n const interactions = useRecent\n ? recentInteractions\n : totalInteractions;\n const successes = useRecent ? recentSuccesses : totalSuccesses;\n\n if (interactions <= 0) {\n return withInsightsStatus(additional, MISSING);\n }\n\n const successRate = clampUnit(successes / interactions) * 100;\n const avgResponseTime = readNumber(\n additional,\n 'agentverseInsightsAvgResponseTime',\n );\n const responseFactor =\n avgResponseTime === null\n ? 1\n : clampUnit(1 - avgResponseTime / responseTimeCapSeconds);\n const volumeFactor = clampUnit(\n Math.log1p(interactions) / Math.log1p(interactionCap),\n );\n\n return withInsightsStatus(additional, {\n value: clampScore(successRate * responseFactor * volumeFactor),\n status: 'ok',\n });\n },\n },\n ],\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +1,52 @@
|
|
|
1
1
|
import { clampScore } from "./standards-sdk.es119.js";
|
|
2
|
-
import {
|
|
3
|
-
import "./standards-sdk.
|
|
4
|
-
import "./standards-sdk.
|
|
5
|
-
import "./standards-sdk.
|
|
6
|
-
import "./standards-sdk.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
];
|
|
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 { HCS25_ANS_TRUST_DISCOVERY_SIGNALS } from "./standards-sdk.es183.js";
|
|
8
|
+
const ADAPTER_ID = "ans-trust-discovery";
|
|
9
|
+
const DEFAULT_INCLUDED_REGISTRIES = ["ans"];
|
|
11
10
|
const MISSING = { value: 0, status: "missing" };
|
|
12
|
-
function
|
|
11
|
+
function ansTrustStatus(status, score) {
|
|
13
12
|
if (score !== null) {
|
|
14
|
-
return
|
|
13
|
+
return {
|
|
14
|
+
value: clampScore(score),
|
|
15
|
+
status: status === "stale" ? "stale" : "ok"
|
|
16
|
+
};
|
|
15
17
|
}
|
|
16
18
|
if (status === "timeout" || status === "error") {
|
|
17
19
|
return { value: 0, status };
|
|
18
20
|
}
|
|
19
21
|
return MISSING;
|
|
20
22
|
}
|
|
21
|
-
function
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return {
|
|
26
|
-
id: "connectivity",
|
|
27
|
-
weight: 1,
|
|
28
|
-
contributionMode: "conditional",
|
|
29
|
-
excludeRegistries,
|
|
30
|
-
defaultComponentKey: "connectivity.score",
|
|
31
|
-
components: [
|
|
32
|
-
{
|
|
33
|
-
name: "score",
|
|
34
|
-
nonScorableWhenUnavailable: true,
|
|
35
|
-
normalize: ({ subject }) => {
|
|
36
|
-
const additional = readSubjectAdditional(subject);
|
|
37
|
-
const score = readNumber(additional, "connectivityScore");
|
|
38
|
-
const status = readString(additional, "connectivityStatus");
|
|
39
|
-
return connectivityStatus(status, score, {
|
|
40
|
-
value: clampScore(score ?? 0),
|
|
41
|
-
status: "ok"
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
};
|
|
23
|
+
function normalizeAnsTrustSignal(subject, signal) {
|
|
24
|
+
const record = readMetadataRecord(subject, "ansTrustDiscovery");
|
|
25
|
+
if (!record) {
|
|
26
|
+
return MISSING;
|
|
47
27
|
}
|
|
28
|
+
return ansTrustStatus(
|
|
29
|
+
readString(record, "ansTrustDiscoveryStatus"),
|
|
30
|
+
readNumber(record, `${ADAPTER_ID}.${signal}`)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function createAnsTrustDiscoveryAdapter(options = {}) {
|
|
48
34
|
return {
|
|
49
|
-
id:
|
|
35
|
+
id: ADAPTER_ID,
|
|
50
36
|
weight: 1,
|
|
51
|
-
contributionMode: "
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return connectivityStatus(status, null, MISSING);
|
|
62
|
-
}
|
|
63
|
-
const score = readNumber(stored, target);
|
|
64
|
-
return connectivityStatus(status, score, {
|
|
65
|
-
value: clampScore(score ?? 0),
|
|
66
|
-
status: "ok"
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}))
|
|
37
|
+
contributionMode: "scoped",
|
|
38
|
+
includeRegistries: options.includeRegistries ?? DEFAULT_INCLUDED_REGISTRIES,
|
|
39
|
+
defaultComponentKey: `${ADAPTER_ID}.certtype`,
|
|
40
|
+
components: HCS25_ANS_TRUST_DISCOVERY_SIGNALS.map(
|
|
41
|
+
(signal) => ({
|
|
42
|
+
name: signal,
|
|
43
|
+
nonScorableWhenUnavailable: true,
|
|
44
|
+
normalize: ({ subject }) => normalizeAnsTrustSignal(subject, signal)
|
|
45
|
+
})
|
|
46
|
+
)
|
|
70
47
|
};
|
|
71
48
|
}
|
|
72
49
|
export {
|
|
73
|
-
|
|
50
|
+
createAnsTrustDiscoveryAdapter
|
|
74
51
|
};
|
|
75
52
|
//# sourceMappingURL=standards-sdk.es188.js.map
|