@hashgraphonline/standards-sdk 0.1.158 → 0.1.160
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/cjs/hcs-12/validation/schemas.d.ts +4 -4
- package/dist/cjs/hcs-14/index.d.ts +5 -0
- package/dist/cjs/hcs-14/index.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/dns.d.ts +3 -0
- package/dist/cjs/hcs-14/resolvers/dns.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts +9 -0
- package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -1
- package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/types.d.ts +106 -5
- package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/sdk.d.ts +16 -1
- package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
- package/dist/cjs/inscribe/inscriber.d.ts +1 -1
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/inscribe/inscription-cost.d.ts +12 -0
- package/dist/cjs/inscribe/inscription-cost.d.ts.map +1 -0
- package/dist/cjs/inscribe/types.d.ts +5 -1
- package/dist/cjs/inscribe/types.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
- package/dist/es/hcs-14/index.d.ts +5 -0
- package/dist/es/hcs-14/index.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
- package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
- package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/registry.d.ts +21 -1
- package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/types.d.ts +106 -5
- package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/sdk.d.ts +16 -1
- package/dist/es/hcs-14/sdk.d.ts.map +1 -1
- package/dist/es/inscribe/inscriber.d.ts +1 -1
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/inscribe/inscription-cost.d.ts +12 -0
- package/dist/es/inscribe/inscription-cost.d.ts.map +1 -0
- package/dist/es/inscribe/types.d.ts +5 -1
- package/dist/es/inscribe/types.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +96 -83
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +41 -224
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +249 -97
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +95 -27
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +97 -80
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +29 -30
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +229 -249
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +103 -468
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +32 -103
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +79 -155
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +28 -31
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +250 -10
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +451 -115
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +101 -25
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +155 -17
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +29 -155
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +9 -200
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +109 -757
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +27 -11
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +19 -564
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +140 -582
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +202 -12
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +790 -2
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +10 -84
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +567 -40
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +602 -2
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +12 -234
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +2 -1140
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +73 -292
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +36 -418
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +2 -355
- 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 +197 -1090
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +1107 -175
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +218 -1479
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +422 -1236
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +351 -13
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +1102 -73
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +203 -76
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1459 -785
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +1254 -59
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +14 -156
- 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 +87 -7
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +74 -79
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +889 -61
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +60 -30
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +159 -34
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +7 -28
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +70 -122
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +58 -35
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +30 -12320
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +34 -56
- 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 +41 -84
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +134 -13
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +36 -236
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +12444 -134
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +139 -289
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +274 -298
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +262 -369
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +316 -194
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +319 -64
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +61 -157
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +5 -5
- package/dist/es/standards-sdk.es160.js +14 -219
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +226 -223
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +49 -112
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +72 -114
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +67 -147
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +61 -173
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +153 -120
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +178 -287
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +218 -238
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +75 -72
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +129 -0
- package/dist/es/standards-sdk.es170.js.map +1 -0
- package/dist/es/standards-sdk.es171.js +164 -0
- package/dist/es/standards-sdk.es171.js.map +1 -0
- package/dist/es/standards-sdk.es172.js +188 -0
- package/dist/es/standards-sdk.es172.js.map +1 -0
- package/dist/es/standards-sdk.es173.js +142 -0
- package/dist/es/standards-sdk.es173.js.map +1 -0
- package/dist/es/standards-sdk.es174.js +334 -0
- package/dist/es/standards-sdk.es174.js.map +1 -0
- package/dist/es/standards-sdk.es175.js +262 -0
- package/dist/es/standards-sdk.es175.js.map +1 -0
- package/dist/es/standards-sdk.es176.js +119 -0
- package/dist/es/standards-sdk.es176.js.map +1 -0
- package/dist/es/standards-sdk.es18.js +12 -12
- package/dist/es/standards-sdk.es19.js +9 -9
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- 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 +12 -12
- 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 +6 -6
- 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.es58.js +194 -13
- package/dist/es/standards-sdk.es58.js.map +1 -1
- 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 +100 -192
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +172 -24
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +204 -77
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +130 -3
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +41 -95
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +245 -88
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +32 -17
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +96 -77
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +4 -458
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +72 -295
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es70.js +86 -194
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +16 -69
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +69 -63
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +458 -143
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +298 -43
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +174 -370
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +71 -495
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +71 -365
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +137 -83
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +69 -125
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +402 -6
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +492 -43
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +350 -86
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +88 -347
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +125 -281
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +6 -59
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +43 -45
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +86 -135
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +333 -52
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +277 -26
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +59 -23
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +26 -217
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +104 -236
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +51 -141
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +22 -137
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +20 -44
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +227 -252
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +248 -68
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +108 -52
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +144 -29
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +14 -4
|
@@ -1,255 +1,235 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
if (path.startsWith("/")) {
|
|
35
|
-
throw new Error("Path must be relative");
|
|
36
|
-
}
|
|
37
|
-
if (path.includes("\\")) {
|
|
38
|
-
throw new Error('Path must use "/" separators');
|
|
39
|
-
}
|
|
40
|
-
const segments = path.split("/");
|
|
41
|
-
for (const segment of segments) {
|
|
42
|
-
if (!segment || segment === "." || segment === "..") {
|
|
43
|
-
throw new Error(
|
|
44
|
-
'Path must be normalized (no ".", "..", or empty segments)'
|
|
45
|
-
);
|
|
46
|
-
}
|
|
1
|
+
var DiscoveryOperation = /* @__PURE__ */ ((DiscoveryOperation2) => {
|
|
2
|
+
DiscoveryOperation2["ANNOUNCE"] = "announce";
|
|
3
|
+
DiscoveryOperation2["PROPOSE"] = "propose";
|
|
4
|
+
DiscoveryOperation2["RESPOND"] = "respond";
|
|
5
|
+
DiscoveryOperation2["COMPLETE"] = "complete";
|
|
6
|
+
DiscoveryOperation2["WITHDRAW"] = "withdraw";
|
|
7
|
+
return DiscoveryOperation2;
|
|
8
|
+
})(DiscoveryOperation || {});
|
|
9
|
+
function isRecord(value) {
|
|
10
|
+
return typeof value === "object" && value !== null;
|
|
11
|
+
}
|
|
12
|
+
function isString(value) {
|
|
13
|
+
return typeof value === "string";
|
|
14
|
+
}
|
|
15
|
+
function isNumber(value) {
|
|
16
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
17
|
+
}
|
|
18
|
+
function isArray(value) {
|
|
19
|
+
return Array.isArray(value);
|
|
20
|
+
}
|
|
21
|
+
function isArrayOfStrings(value) {
|
|
22
|
+
return Array.isArray(value) && value.every(isString);
|
|
23
|
+
}
|
|
24
|
+
function isDiscoveryMessage(value) {
|
|
25
|
+
if (!isRecord(value)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (value.p !== "hcs-18") {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (!isString(value.op)) {
|
|
32
|
+
return false;
|
|
47
33
|
}
|
|
34
|
+
const op = value.op;
|
|
35
|
+
if (!["announce", "propose", "respond", "complete", "withdraw"].includes(op)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return "data" in value;
|
|
48
39
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
).
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
m: z.string().max(500).optional(),
|
|
112
|
-
sequence_number: z.number().int().optional()
|
|
113
|
-
}).passthrough();
|
|
114
|
-
const hcs26DiscoveryDeleteSchema = z.object({
|
|
115
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
116
|
-
op: z.literal("delete"),
|
|
117
|
-
uid: z.string().min(1),
|
|
118
|
-
m: z.string().max(500).optional(),
|
|
119
|
-
sequence_number: z.number().int().optional()
|
|
120
|
-
}).passthrough();
|
|
121
|
-
const hcs26DiscoveryMigrateSchema = z.object({
|
|
122
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
123
|
-
op: z.literal("migrate"),
|
|
124
|
-
m: z.string().max(500).optional(),
|
|
125
|
-
sequence_number: z.number().int().optional()
|
|
126
|
-
}).passthrough();
|
|
127
|
-
const checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);
|
|
128
|
-
const hcs26VersionRegisterSchema = z.object({
|
|
129
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
130
|
-
op: z.literal("register"),
|
|
131
|
-
skill_uid: z.number().int().positive(),
|
|
132
|
-
version: semverSchema,
|
|
133
|
-
t_id: topicIdSchema,
|
|
134
|
-
checksum: checksumSchema.optional(),
|
|
135
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
136
|
-
m: z.string().max(500).optional(),
|
|
137
|
-
sequence_number: z.number().int().optional()
|
|
138
|
-
}).passthrough();
|
|
139
|
-
const hcs26VersionRegisterLegacySchema = z.object({
|
|
140
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
141
|
-
op: z.literal("register"),
|
|
142
|
-
skill_uid: z.number().int().positive(),
|
|
143
|
-
version: semverSchema,
|
|
144
|
-
manifest_hcs1: hcs1HrlSchema,
|
|
145
|
-
checksum: checksumSchema.optional(),
|
|
146
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
147
|
-
m: z.string().max(500).optional(),
|
|
148
|
-
sequence_number: z.number().int().optional()
|
|
149
|
-
}).passthrough();
|
|
150
|
-
const hcs26VersionUpdateSchema = z.object({
|
|
151
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
152
|
-
op: z.literal("update"),
|
|
153
|
-
uid: z.string().min(1),
|
|
154
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
155
|
-
m: z.string().max(500).optional(),
|
|
156
|
-
sequence_number: z.number().int().optional()
|
|
157
|
-
}).passthrough();
|
|
158
|
-
const hcs26VersionDeleteSchema = z.object({
|
|
159
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
160
|
-
op: z.literal("delete"),
|
|
161
|
-
uid: z.string().min(1),
|
|
162
|
-
m: z.string().max(500).optional(),
|
|
163
|
-
sequence_number: z.number().int().optional()
|
|
164
|
-
}).passthrough();
|
|
165
|
-
const hcs26VersionMigrateSchema = z.object({
|
|
166
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
167
|
-
op: z.literal("migrate"),
|
|
168
|
-
m: z.string().max(500).optional(),
|
|
169
|
-
sequence_number: z.number().int().optional()
|
|
170
|
-
}).passthrough();
|
|
171
|
-
const hcs26ManifestFileSchema = z.object({
|
|
172
|
-
path: z.string().min(1).superRefine((value, ctx) => {
|
|
173
|
-
try {
|
|
174
|
-
validateNormalizedRelativePath(value);
|
|
175
|
-
} catch (error) {
|
|
176
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
177
|
-
ctx.addIssue({ code: z.ZodIssueCode.custom, message });
|
|
40
|
+
function isAnnounceMessage(value) {
|
|
41
|
+
if (!isDiscoveryMessage(value)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
const v = value;
|
|
45
|
+
if (v.op !== "announce") {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (!isRecord(v.data)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
const d = v.data;
|
|
52
|
+
if (!isString(d.account)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
if (!isRecord(d.petal)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const petal = d.petal;
|
|
59
|
+
if (!isString(petal.name) || !isNumber(petal.priority)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
if (!isRecord(d.capabilities)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const caps = d.capabilities;
|
|
66
|
+
if (!isArrayOfStrings(caps.protocols)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
if ("valid_for" in d && d.valid_for !== void 0 && d.valid_for !== null && !isNumber(d.valid_for)) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
function isProposeMessage(value) {
|
|
75
|
+
if (!isDiscoveryMessage(value)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
const v = value;
|
|
79
|
+
if (v.op !== "propose") {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
if (!isRecord(v.data)) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
const d = v.data;
|
|
86
|
+
if (!isString(d.proposer)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (!isArray(d.members)) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
const membersOk = d.members.every((m) => {
|
|
93
|
+
if (!isRecord(m)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
const mr = m;
|
|
97
|
+
if (!isString(mr.account)) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
if (!("priority" in mr) || !isNumber(mr.priority)) {
|
|
101
|
+
return false;
|
|
178
102
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
})
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
103
|
+
if ("announce_seq" in mr && mr.announce_seq !== void 0 && mr.announce_seq !== null && !isNumber(mr.announce_seq)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
});
|
|
108
|
+
if (!membersOk) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
if (!isRecord(d.config)) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const cfg = d.config;
|
|
115
|
+
if (!isString(cfg.name) || !isNumber(cfg.threshold)) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
function isRespondMessage(value) {
|
|
121
|
+
if (!isDiscoveryMessage(value)) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
const v = value;
|
|
125
|
+
if (v.op !== "respond") {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
if (!isRecord(v.data)) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
const d = v.data;
|
|
132
|
+
if (!isString(d.responder)) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
if (!isNumber(d.proposal_seq)) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
if (!isString(d.decision)) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
if (!["accept", "reject"].includes(d.decision)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
function isCompleteMessage(value) {
|
|
147
|
+
if (!isDiscoveryMessage(value)) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
const v = value;
|
|
151
|
+
if (v.op !== "complete") {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
if (!isRecord(v.data)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
const d = v.data;
|
|
158
|
+
if (!isString(d.proposer)) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
if (!isNumber(d.proposal_seq)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
if (!isString(d.flora_account)) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
if (!isRecord(d.topics)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
const t = d.topics;
|
|
171
|
+
if (!isString(t.communication) || !isString(t.transaction) || !isString(t.state)) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
function isWithdrawMessage(value) {
|
|
177
|
+
if (!isDiscoveryMessage(value)) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const v = value;
|
|
181
|
+
if (v.op !== "withdraw") {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
if (!isRecord(v.data)) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
const d = v.data;
|
|
188
|
+
if (!isString(d.account)) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
if (!isNumber(d.announce_seq)) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
if ("reason" in d && d.reason !== void 0 && d.reason !== null && !isString(d.reason)) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
var DiscoveryState = /* @__PURE__ */ ((DiscoveryState2) => {
|
|
200
|
+
DiscoveryState2["IDLE"] = "idle";
|
|
201
|
+
DiscoveryState2["ANNOUNCED"] = "announced";
|
|
202
|
+
DiscoveryState2["PROPOSING"] = "proposing";
|
|
203
|
+
DiscoveryState2["FORMING"] = "forming";
|
|
204
|
+
DiscoveryState2["ACTIVE"] = "active";
|
|
205
|
+
DiscoveryState2["WITHDRAWN"] = "withdrawn";
|
|
206
|
+
return DiscoveryState2;
|
|
207
|
+
})(DiscoveryState || {});
|
|
208
|
+
class DiscoveryError extends Error {
|
|
209
|
+
constructor(message, code) {
|
|
210
|
+
super(message);
|
|
211
|
+
this.code = code;
|
|
212
|
+
this.name = "DiscoveryError";
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
const DiscoveryErrorCodes = {
|
|
216
|
+
INVALID_MESSAGE: "INVALID_MESSAGE",
|
|
217
|
+
TIMEOUT: "TIMEOUT",
|
|
218
|
+
INSUFFICIENT_PETALS: "INSUFFICIENT_PETALS",
|
|
219
|
+
FLORA_CREATION_FAILED: "FLORA_CREATION_FAILED",
|
|
220
|
+
ALREADY_IN_DISCOVERY: "ALREADY_IN_DISCOVERY",
|
|
221
|
+
INVALID_STATE: "INVALID_STATE"
|
|
222
|
+
};
|
|
233
223
|
export {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
hcs26ManifestFileSchema,
|
|
245
|
-
hcs26OperationEnumSchema,
|
|
246
|
-
hcs26SkillManifestSchema,
|
|
247
|
-
hcs26TopicTypeEnumSchema,
|
|
248
|
-
hcs26VersionDeleteSchema,
|
|
249
|
-
hcs26VersionMessageSchema,
|
|
250
|
-
hcs26VersionMigrateSchema,
|
|
251
|
-
hcs26VersionRegisterLegacySchema,
|
|
252
|
-
hcs26VersionRegisterSchema,
|
|
253
|
-
hcs26VersionUpdateSchema
|
|
224
|
+
DiscoveryError,
|
|
225
|
+
DiscoveryErrorCodes,
|
|
226
|
+
DiscoveryOperation,
|
|
227
|
+
DiscoveryState,
|
|
228
|
+
isAnnounceMessage,
|
|
229
|
+
isCompleteMessage,
|
|
230
|
+
isDiscoveryMessage,
|
|
231
|
+
isProposeMessage,
|
|
232
|
+
isRespondMessage,
|
|
233
|
+
isWithdrawMessage
|
|
254
234
|
};
|
|
255
235
|
//# sourceMappingURL=standards-sdk.es105.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/hcs-26/types.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { NetworkType } from '../utils/types';\n\nexport type HCS26Network = NetworkType;\n\nexport const HCS26_PROTOCOL = 'hcs-26' as const;\n\nexport const hcs26TopicTypeEnumSchema = z.union([\n z.literal(0), // discovery\n z.literal(1), // version\n z.literal(2), // reputation (optional)\n]);\n\nexport type Hcs26TopicTypeEnum = z.infer<typeof hcs26TopicTypeEnumSchema>;\n\nexport const hcs26OperationEnumSchema = z.union([\n z.literal(0), // register\n z.literal(1), // update\n z.literal(2), // delete\n z.literal(3), // migrate\n]);\n\nexport type Hcs26OperationEnum = z.infer<typeof hcs26OperationEnumSchema>;\n\nconst topicIdSchema = z.string().regex(/^[0-9]+\\.[0-9]+\\.[0-9]+$/);\nconst hcs1HrlSchema = z.string().regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/);\n\nconst decentralizedAssetUriSchema = z\n .string()\n .regex(\n /^(hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|ord:\\/\\/\\S+)$/,\n );\n\nconst semverSchema = z\n .string()\n .regex(\n /^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-([0-9A-Za-z.-]+))?(?:\\+[0-9A-Za-z.-]+)?$/,\n );\n\nfunction validateNormalizedRelativePath(pathRaw: string): void {\n const path = pathRaw.trim();\n if (!path) {\n throw new Error('Path must be non-empty');\n }\n if (path.startsWith('/')) {\n throw new Error('Path must be relative');\n }\n if (path.includes('\\\\')) {\n throw new Error('Path must use \"/\" separators');\n }\n const segments = path.split('/');\n for (const segment of segments) {\n if (!segment || segment === '.' || segment === '..') {\n throw new Error(\n 'Path must be normalized (no \".\", \"..\", or empty segments)',\n );\n }\n }\n}\n\nconst hcs1HrlOptionalSchema = z\n .string()\n .regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/)\n .optional();\n\nconst discoveryMetadataAuthorSchema = z.union([\n z.string().min(1),\n z\n .object({\n name: z.string().min(1),\n contact: z.string().min(1).optional(),\n url: z.string().url().optional(),\n })\n .passthrough(),\n]);\n\nexport const hcs26DiscoveryMetadataSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n license: z.string().min(1),\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n icon: z.union([z.string().url(), decentralizedAssetUriSchema]).optional(),\n icon_hcs1: hcs1HrlOptionalSchema,\n languages: z.array(z.string().min(1)).optional(),\n capabilities: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n })\n .passthrough();\n\nexport const hcs26DiscoveryMetadataPatchSchema = hcs26DiscoveryMetadataSchema\n .partial()\n .passthrough();\n\nexport const hcs26DiscoveryRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n t_id: topicIdSchema,\n account_id: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegister = z.infer<\n typeof hcs26DiscoveryRegisterSchema\n>;\n\nexport const hcs26DiscoveryRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n version_registry: topicIdSchema,\n publisher: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegisterLegacy = z.infer<\n typeof hcs26DiscoveryRegisterLegacySchema\n>;\n\nexport const hcs26DiscoveryUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n account_id: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdate = z.infer<typeof hcs26DiscoveryUpdateSchema>;\n\nexport const hcs26DiscoveryUpdateLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n publisher: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdateLegacy = z.infer<\n typeof hcs26DiscoveryUpdateLegacySchema\n>;\n\nexport const hcs26DiscoveryDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryDelete = z.infer<typeof hcs26DiscoveryDeleteSchema>;\n\nexport const hcs26DiscoveryMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryMigrate = z.infer<typeof hcs26DiscoveryMigrateSchema>;\n\nconst checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);\n\nexport const hcs26VersionRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n t_id: topicIdSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegister = z.infer<typeof hcs26VersionRegisterSchema>;\n\nexport const hcs26VersionRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n manifest_hcs1: hcs1HrlSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegisterLegacy = z.infer<\n typeof hcs26VersionRegisterLegacySchema\n>;\n\nexport const hcs26VersionUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionUpdate = z.infer<typeof hcs26VersionUpdateSchema>;\n\nexport const hcs26VersionDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionDelete = z.infer<typeof hcs26VersionDeleteSchema>;\n\nexport const hcs26VersionMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionMigrate = z.infer<typeof hcs26VersionMigrateSchema>;\n\nexport const hcs26ManifestFileSchema = z\n .object({\n path: z\n .string()\n .min(1)\n .superRefine((value, ctx) => {\n try {\n validateNormalizedRelativePath(value);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : String(error);\n ctx.addIssue({ code: z.ZodIssueCode.custom, message });\n }\n }),\n hrl: hcs1HrlSchema,\n sha256: z.string().regex(/^[0-9a-f]{64}$/),\n mime: z.string().min(1),\n })\n .passthrough();\n\nexport type Hcs26ManifestFile = z.infer<typeof hcs26ManifestFileSchema>;\n\nexport const hcs26SkillManifestSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n version: semverSchema,\n license: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n languages: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n entrypoints: z\n .array(\n z\n .object({\n path: z.string().min(1),\n language: z.string().min(1),\n args: z.array(z.string()).optional(),\n })\n .passthrough(),\n )\n .optional(),\n files: z.array(hcs26ManifestFileSchema).min(1),\n })\n .passthrough()\n .superRefine((value, ctx) => {\n const hasSkillMd = value.files.some(file => file.path === 'SKILL.md');\n if (!hasSkillMd) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'SKILL.md must be present in the manifest files list with path \"SKILL.md\".',\n path: ['files'],\n });\n }\n });\n\nexport type Hcs26SkillManifest = z.infer<typeof hcs26SkillManifestSchema>;\n\nexport const hcs26DiscoveryMessageSchema = z.union([\n hcs26DiscoveryRegisterSchema,\n hcs26DiscoveryRegisterLegacySchema,\n hcs26DiscoveryUpdateSchema,\n hcs26DiscoveryUpdateLegacySchema,\n hcs26DiscoveryDeleteSchema,\n hcs26DiscoveryMigrateSchema,\n]);\n\nexport type Hcs26DiscoveryMessage = z.infer<typeof hcs26DiscoveryMessageSchema>;\n\nexport const hcs26VersionMessageSchema = z.union([\n hcs26VersionRegisterSchema,\n hcs26VersionRegisterLegacySchema,\n hcs26VersionUpdateSchema,\n hcs26VersionDeleteSchema,\n hcs26VersionMigrateSchema,\n]);\n\nexport type Hcs26VersionMessage = z.infer<typeof hcs26VersionMessageSchema>;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/hcs-18/types.ts"],"sourcesContent":["/**\n * HCS-18 Flora Discovery Protocol Types\n * Standard for Flora discovery and formation\n */\n\nimport { TopicId } from '@hashgraph/sdk';\n\n/**\n * HCS-18 Operation types\n */\nexport enum DiscoveryOperation {\n ANNOUNCE = 'announce',\n PROPOSE = 'propose',\n RESPOND = 'respond',\n COMPLETE = 'complete',\n WITHDRAW = 'withdraw',\n}\n\n/**\n * Base HCS-18 message structure\n */\nexport interface DiscoveryMessage {\n p: 'hcs-18';\n op: DiscoveryOperation;\n data: any;\n}\n\n/**\n * Announce operation data\n */\nexport interface AnnounceData {\n account: string;\n petal: {\n name: string;\n priority: number;\n };\n capabilities: {\n protocols: string[];\n resources?: {\n compute?: 'high' | 'medium' | 'low';\n storage?: 'high' | 'medium' | 'low';\n bandwidth?: 'high' | 'medium' | 'low';\n };\n group_preferences?: {\n sizes?: number[];\n threshold_ratios?: number[];\n };\n };\n valid_for?: number;\n}\n\n/**\n * Propose operation data\n */\nexport interface ProposeData {\n proposer: string;\n members: Array<{\n account: string;\n announce_seq?: number;\n priority: number;\n status?: 'existing' | 'proposed';\n }>;\n config: {\n name: string;\n threshold: number;\n purpose?: string;\n reason?: string;\n };\n existing_flora?: string;\n}\n\n/**\n * Respond operation data\n */\nexport interface RespondData {\n responder: string;\n proposal_seq: number;\n decision: 'accept' | 'reject';\n reason?: string;\n accepted_seq?: number;\n}\n\n/**\n * Complete operation data\n */\nexport interface CompleteData {\n proposal_seq: number;\n flora_account: string;\n topics: {\n communication: string;\n transaction: string;\n state: string;\n };\n proposer?: string;\n}\n\n/**\n * Withdraw operation data\n */\nexport interface WithdrawData {\n account: string;\n announce_seq: number;\n reason?: string;\n}\n\n/**\n * Typed message operations\n */\nexport interface AnnounceMessage extends DiscoveryMessage {\n op: DiscoveryOperation.ANNOUNCE;\n data: AnnounceData;\n}\n\nexport interface ProposeMessage extends DiscoveryMessage {\n op: DiscoveryOperation.PROPOSE;\n data: ProposeData;\n}\n\nexport interface RespondMessage extends DiscoveryMessage {\n op: DiscoveryOperation.RESPOND;\n data: RespondData;\n}\n\nexport interface CompleteMessage extends DiscoveryMessage {\n op: DiscoveryOperation.COMPLETE;\n data: CompleteData;\n}\n\nexport interface WithdrawMessage extends DiscoveryMessage {\n op: DiscoveryOperation.WITHDRAW;\n data: WithdrawData;\n}\n\n/**\n * Type guard utilities for HCS-18 discovery messages\n */\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nfunction isNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nfunction isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nfunction isArrayOfStrings(value: unknown): value is string[] {\n return Array.isArray(value) && value.every(isString);\n}\n\nexport function isDiscoveryMessage(value: unknown): value is DiscoveryMessage {\n if (!isRecord(value)) {\n return false;\n }\n if (value.p !== 'hcs-18') {\n return false;\n }\n if (!isString((value as Record<string, unknown>).op)) {\n return false;\n }\n const op = (value as Record<string, unknown>).op as string;\n if (\n !['announce', 'propose', 'respond', 'complete', 'withdraw'].includes(op)\n ) {\n return false;\n }\n return 'data' in value;\n}\n\nexport function isAnnounceMessage(value: unknown): value is AnnounceMessage {\n if (!isDiscoveryMessage(value)) {\n return false;\n }\n const v = value as DiscoveryMessage;\n if (v.op !== DiscoveryOperation.ANNOUNCE) {\n return false;\n }\n if (!isRecord(v.data)) {\n return false;\n }\n const d = v.data as Record<string, unknown>;\n if (!isString(d.account)) {\n return false;\n }\n if (!isRecord(d.petal)) {\n return false;\n }\n const petal = d.petal as Record<string, unknown>;\n if (!isString(petal.name) || !isNumber(petal.priority)) {\n return false;\n }\n if (!isRecord(d.capabilities)) {\n return false;\n }\n const caps = d.capabilities as Record<string, unknown>;\n if (!isArrayOfStrings(caps.protocols)) {\n return false;\n }\n if (\n 'valid_for' in d &&\n d.valid_for !== undefined &&\n d.valid_for !== null &&\n !isNumber(d.valid_for)\n ) {\n return false;\n }\n return true;\n}\n\nexport function isProposeMessage(value: unknown): value is ProposeMessage {\n if (!isDiscoveryMessage(value)) {\n return false;\n }\n const v = value as DiscoveryMessage;\n if (v.op !== DiscoveryOperation.PROPOSE) {\n return false;\n }\n if (!isRecord(v.data)) {\n return false;\n }\n const d = v.data as Record<string, unknown>;\n if (!isString(d.proposer)) {\n return false;\n }\n if (!isArray(d.members)) {\n return false;\n }\n const membersOk = (d.members as unknown[]).every(m => {\n if (!isRecord(m)) {\n return false;\n }\n const mr = m as Record<string, unknown>;\n if (!isString(mr.account)) {\n return false;\n }\n if (!('priority' in mr) || !isNumber(mr.priority)) {\n return false;\n }\n if (\n 'announce_seq' in mr &&\n mr.announce_seq !== undefined &&\n mr.announce_seq !== null &&\n !isNumber(mr.announce_seq)\n ) {\n return false;\n }\n return true;\n });\n if (!membersOk) {\n return false;\n }\n if (!isRecord(d.config)) {\n return false;\n }\n const cfg = d.config as Record<string, unknown>;\n if (!isString(cfg.name) || !isNumber(cfg.threshold)) {\n return false;\n }\n return true;\n}\n\nexport function isRespondMessage(value: unknown): value is RespondMessage {\n if (!isDiscoveryMessage(value)) {\n return false;\n }\n const v = value as DiscoveryMessage;\n if (v.op !== DiscoveryOperation.RESPOND) {\n return false;\n }\n if (!isRecord(v.data)) {\n return false;\n }\n const d = v.data as Record<string, unknown>;\n if (!isString(d.responder)) {\n return false;\n }\n if (!isNumber(d.proposal_seq)) {\n return false;\n }\n if (!isString(d.decision)) {\n return false;\n }\n if (!['accept', 'reject'].includes(d.decision as string)) {\n return false;\n }\n return true;\n}\n\nexport function isCompleteMessage(value: unknown): value is CompleteMessage {\n if (!isDiscoveryMessage(value)) {\n return false;\n }\n const v = value as DiscoveryMessage;\n if (v.op !== DiscoveryOperation.COMPLETE) {\n return false;\n }\n if (!isRecord(v.data)) {\n return false;\n }\n const d = v.data as Record<string, unknown>;\n if (!isString(d.proposer)) {\n return false;\n }\n if (!isNumber(d.proposal_seq)) {\n return false;\n }\n if (!isString(d.flora_account)) {\n return false;\n }\n if (!isRecord(d.topics)) {\n return false;\n }\n const t = d.topics as Record<string, unknown>;\n if (\n !isString(t.communication) ||\n !isString(t.transaction) ||\n !isString(t.state)\n ) {\n return false;\n }\n return true;\n}\n\nexport function isWithdrawMessage(value: unknown): value is WithdrawMessage {\n if (!isDiscoveryMessage(value)) {\n return false;\n }\n const v = value as DiscoveryMessage;\n if (v.op !== DiscoveryOperation.WITHDRAW) {\n return false;\n }\n if (!isRecord(v.data)) {\n return false;\n }\n const d = v.data as Record<string, unknown>;\n if (!isString(d.account)) {\n return false;\n }\n if (!isNumber(d.announce_seq)) {\n return false;\n }\n if (\n 'reason' in d &&\n d.reason !== undefined &&\n d.reason !== null &&\n !isString(d.reason)\n ) {\n return false;\n }\n return true;\n}\n\n/**\n * Discovery phase states\n */\nexport enum DiscoveryState {\n IDLE = 'idle',\n ANNOUNCED = 'announced',\n PROPOSING = 'proposing',\n FORMING = 'forming',\n ACTIVE = 'active',\n WITHDRAWN = 'withdrawn',\n}\n\n/**\n * Tracked announcement with HCS metadata\n */\nexport interface TrackedAnnouncement {\n account: string;\n sequenceNumber: number;\n consensusTimestamp: string;\n data: AnnounceData;\n}\n\n/**\n * Tracked proposal with HCS metadata\n */\nexport interface TrackedProposal {\n sequenceNumber: number;\n consensusTimestamp: string;\n proposer: string;\n data: ProposeData;\n responses: Map<string, RespondData>;\n}\n\n/**\n * Flora formation result\n */\nexport interface FloraFormation {\n proposalSeq: number;\n floraAccountId: string;\n topics: {\n communication: string;\n transaction: string;\n state: string;\n };\n members: Array<{\n account: string;\n priority: number;\n }>;\n threshold: number;\n createdAt: Date;\n}\n\n/**\n * Discovery event types for monitoring\n */\nexport interface DiscoveryEvent {\n type:\n | 'announcement_received'\n | 'proposal_received'\n | 'response_received'\n | 'formation_complete'\n | 'withdrawal_received'\n | 'discovery_timeout';\n sequenceNumber?: number;\n timestamp: Date;\n data: any;\n}\n\n/**\n * Discovery configuration\n */\nexport interface DiscoveryConfig {\n discoveryTopicId: string | TopicId;\n accountId: string;\n petalName: string;\n priority: number;\n capabilities: {\n protocols: string[];\n resources?: AnnounceData['capabilities']['resources'];\n group_preferences?: AnnounceData['capabilities']['group_preferences'];\n };\n autoAcceptFilter?: (proposal: TrackedProposal) => boolean;\n onDiscoveryEvent?: (event: DiscoveryEvent) => void;\n memberPrivateKeys?: Map<string, string>;\n}\n\n/**\n * HCS-18 Errors\n */\nexport class DiscoveryError extends Error {\n constructor(\n message: string,\n public readonly code: string,\n ) {\n super(message);\n this.name = 'DiscoveryError';\n }\n}\n\nexport const DiscoveryErrorCodes = {\n INVALID_MESSAGE: 'INVALID_MESSAGE',\n TIMEOUT: 'TIMEOUT',\n INSUFFICIENT_PETALS: 'INSUFFICIENT_PETALS',\n FLORA_CREATION_FAILED: 'FLORA_CREATION_FAILED',\n ALREADY_IN_DISCOVERY: 'ALREADY_IN_DISCOVERY',\n INVALID_STATE: 'INVALID_STATE',\n} as const;\n"],"names":["DiscoveryOperation","DiscoveryState"],"mappings":"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"}
|