@hashgraphonline/standards-sdk 0.1.161 → 0.1.162
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-14/index.d.ts +1 -0
- package/dist/cjs/hcs-14/index.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/types.d.ts +40 -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 +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/sdk.d.ts +23 -1
- package/dist/cjs/hcs-14/sdk.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-14/index.d.ts +1 -0
- package/dist/es/hcs-14/index.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/types.d.ts +40 -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 +1 -0
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/sdk.d.ts +23 -1
- package/dist/es/hcs-14/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +89 -86
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +136 -124
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +138 -42
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +43 -259
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +245 -82
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +50 -49
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +100 -29
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -229
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +228 -109
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +94 -15
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +30 -80
- 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 +80 -27
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +27 -248
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +246 -472
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +458 -85
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +96 -151
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +155 -29
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +26 -4
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +10 -140
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +140 -27
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +27 -20
- 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 +18 -156
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +148 -191
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +160 -747
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +786 -9
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +13 -567
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +541 -576
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +601 -12
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +13 -2
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +2 -87
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +84 -37
- 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 +40 -2
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +2 -235
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +204 -1109
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +1059 -225
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +303 -419
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +418 -351
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +347 -1108
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1088 -180
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +153 -1512
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +1567 -1255
- 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 +1255 -17
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +15 -85
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +77 -71
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +79 -891
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +886 -53
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +53 -152
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +159 -7
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +7 -86
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +65 -44
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +65 -30
- 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 +30 -34
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +34 -45
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +48 -138
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +133 -37
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +34 -12474
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +12477 -12
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +15 -54
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +48 -76
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +69 -66
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +71 -63
- 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 +188 -160
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +65 -314
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +232 -336
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +129 -410
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +200 -209
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +334 -64
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +442 -231
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +317 -158
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +61 -207
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +155 -222
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +178 -75
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +226 -113
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +77 -119
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +103 -162
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +141 -119
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +152 -298
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +120 -240
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +298 -83
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +262 -0
- package/dist/es/standards-sdk.es178.js.map +1 -0
- package/dist/es/standards-sdk.es179.js +119 -0
- package/dist/es/standards-sdk.es179.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 +37 -4
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +17 -10
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +2 -1
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +1 -0
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +19 -5
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +214 -153
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +205 -84
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +125 -40
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +41 -261
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +262 -24
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +25 -87
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +95 -3
- 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 +3 -100
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +62 -61
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +98 -17
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +19 -77
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +77 -458
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +240 -106
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +286 -170
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +207 -71
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +72 -71
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +71 -143
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +136 -62
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -380
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +130 -222
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +444 -313
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +364 -88
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +89 -125
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +125 -8
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +6 -45
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +44 -98
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +84 -331
- 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 +160 -93
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +275 -55
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +55 -43
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +44 -145
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +113 -30
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +59 -22
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +28 -23
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +23 -238
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +225 -267
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +220 -95
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +5 -1
|
@@ -1,129 +1,242 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
const DEFAULT_USER_AGENT = "@hol-org/rb-client";
|
|
2
|
+
const DEFAULT_PROGRESS_INTERVAL_MS = 1500;
|
|
3
|
+
const DEFAULT_PROGRESS_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
4
|
+
const DEFAULT_BASE_URL = "https://hol.org/registry/api/v1";
|
|
5
|
+
const JSON_CONTENT_TYPE = /application\/json/i;
|
|
6
|
+
const DEFAULT_HISTORY_TOP_UP_HBAR = 0.25;
|
|
7
|
+
const MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS = 1;
|
|
8
|
+
const stripTrailingSlashes = (value) => {
|
|
9
|
+
let end = value.length;
|
|
10
|
+
while (end > 0 && value.charCodeAt(end - 1) === 47) {
|
|
11
|
+
end -= 1;
|
|
12
|
+
}
|
|
13
|
+
return end === value.length ? value : value.slice(0, end);
|
|
14
|
+
};
|
|
15
|
+
const createAbortError = () => typeof DOMException === "function" ? new DOMException("Aborted", "AbortError") : new Error("The operation was aborted");
|
|
16
|
+
const normaliseHeaderName = (name) => name.trim().toLowerCase();
|
|
17
|
+
const isBrowserRuntime = () => typeof window !== "undefined" && typeof window.fetch === "function";
|
|
18
|
+
const toJsonValue = (value) => {
|
|
19
|
+
if (value === null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (value instanceof Date) {
|
|
23
|
+
return value.toISOString();
|
|
14
24
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(value)) {
|
|
29
|
+
return value.map((item) => item === void 0 ? null : toJsonValue(item));
|
|
30
|
+
}
|
|
31
|
+
if (typeof value === "object") {
|
|
32
|
+
const result = {};
|
|
33
|
+
Object.entries(value).forEach(
|
|
34
|
+
([key, entryValue]) => {
|
|
35
|
+
if (entryValue !== void 0) {
|
|
36
|
+
result[key] = toJsonValue(entryValue);
|
|
37
|
+
}
|
|
24
38
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return paymentClient;
|
|
28
|
-
};
|
|
29
|
-
return { createPaymentClient, decodePaymentResponse, createX402Signer };
|
|
30
|
-
}
|
|
31
|
-
function calculateHbarAmountParam(hbarAmount) {
|
|
32
|
-
const tinybars = Math.ceil(hbarAmount * 1e8);
|
|
33
|
-
if (tinybars <= 0) {
|
|
34
|
-
throw new Error("Calculated purchase amount must be positive");
|
|
39
|
+
);
|
|
40
|
+
return result;
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
42
|
+
throw new TypeError("Only JSON-compatible values are supported");
|
|
43
|
+
};
|
|
44
|
+
const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
45
|
+
const toJsonObject = (value) => {
|
|
46
|
+
const normalised = toJsonValue(value);
|
|
47
|
+
if (isJsonObject(normalised)) {
|
|
48
|
+
return normalised;
|
|
49
|
+
}
|
|
50
|
+
throw new TypeError("Expected JSON object value");
|
|
51
|
+
};
|
|
52
|
+
const serialiseAuthConfig = (auth) => {
|
|
53
|
+
const authPayload = {};
|
|
54
|
+
if (auth.type) {
|
|
55
|
+
authPayload.type = auth.type;
|
|
56
|
+
}
|
|
57
|
+
if (auth.token) {
|
|
58
|
+
authPayload.token = auth.token;
|
|
59
|
+
}
|
|
60
|
+
if (auth.username) {
|
|
61
|
+
authPayload.username = auth.username;
|
|
62
|
+
}
|
|
63
|
+
if (auth.password) {
|
|
64
|
+
authPayload.password = auth.password;
|
|
65
|
+
}
|
|
66
|
+
if (auth.headerName) {
|
|
67
|
+
authPayload.headerName = auth.headerName;
|
|
68
|
+
}
|
|
69
|
+
if (auth.headerValue) {
|
|
70
|
+
authPayload.headerValue = auth.headerValue;
|
|
71
|
+
}
|
|
72
|
+
if (auth.headers) {
|
|
73
|
+
authPayload.headers = { ...auth.headers };
|
|
74
|
+
}
|
|
75
|
+
return authPayload;
|
|
76
|
+
};
|
|
77
|
+
const serialiseAgentRegistrationRequest = (payload) => {
|
|
39
78
|
const body = {
|
|
40
|
-
|
|
41
|
-
payerKey: params.privateKey,
|
|
42
|
-
hbarAmount: calculateHbarAmountParam(params.hbarAmount)
|
|
79
|
+
profile: toJsonObject(payload.profile)
|
|
43
80
|
};
|
|
44
|
-
if (
|
|
45
|
-
body.
|
|
81
|
+
if (payload.endpoint !== void 0) {
|
|
82
|
+
body.endpoint = payload.endpoint;
|
|
46
83
|
}
|
|
47
|
-
if (
|
|
48
|
-
body.
|
|
49
|
-
}
|
|
50
|
-
const raw = await client.requestJson("/credits/purchase", {
|
|
51
|
-
method: "POST",
|
|
52
|
-
headers: { "content-type": "application/json" },
|
|
53
|
-
body
|
|
54
|
-
});
|
|
55
|
-
return client.parseWithSchema(
|
|
56
|
-
raw,
|
|
57
|
-
creditPurchaseResponseSchema,
|
|
58
|
-
"credit purchase response"
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
async function getX402Minimums(client) {
|
|
62
|
-
const raw = await client.requestJson(
|
|
63
|
-
"/credits/purchase/x402/minimums",
|
|
64
|
-
{ method: "GET" }
|
|
65
|
-
);
|
|
66
|
-
return client.parseWithSchema(
|
|
67
|
-
raw,
|
|
68
|
-
x402MinimumsResponseSchema,
|
|
69
|
-
"x402 minimums response"
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
async function purchaseCreditsWithX402(client, params) {
|
|
73
|
-
const { createPaymentClient, decodePaymentResponse } = await loadX402Dependencies(client);
|
|
74
|
-
if (!Number.isFinite(params.credits) || params.credits <= 0) {
|
|
75
|
-
throw new Error("credits must be a positive number");
|
|
84
|
+
if (payload.protocol !== void 0) {
|
|
85
|
+
body.protocol = payload.protocol;
|
|
76
86
|
}
|
|
77
|
-
if (
|
|
78
|
-
|
|
87
|
+
if (payload.communicationProtocol !== void 0) {
|
|
88
|
+
body.communicationProtocol = payload.communicationProtocol;
|
|
79
89
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
90
|
+
if (payload.registry !== void 0) {
|
|
91
|
+
body.registry = payload.registry;
|
|
92
|
+
}
|
|
93
|
+
if (payload.additionalRegistries !== void 0) {
|
|
94
|
+
body.additionalRegistries = payload.additionalRegistries;
|
|
95
|
+
}
|
|
96
|
+
if (payload.metadata !== void 0) {
|
|
97
|
+
body.metadata = toJsonObject(payload.metadata);
|
|
98
|
+
}
|
|
99
|
+
return body;
|
|
100
|
+
};
|
|
101
|
+
const normalizeHexPrivateKey = (value) => {
|
|
102
|
+
const trimmed = value.trim();
|
|
103
|
+
if (!trimmed) {
|
|
104
|
+
throw new Error("evmPrivateKey is required");
|
|
105
|
+
}
|
|
106
|
+
return trimmed.startsWith("0x") ? trimmed : `0x${trimmed}`;
|
|
107
|
+
};
|
|
108
|
+
function normaliseBaseUrl(input) {
|
|
109
|
+
const trimmed = input?.trim();
|
|
110
|
+
let baseCandidate = trimmed && trimmed.length > 0 ? trimmed : DEFAULT_BASE_URL;
|
|
111
|
+
try {
|
|
112
|
+
const url = new URL(stripTrailingSlashes(baseCandidate));
|
|
113
|
+
const hostname = url.hostname.toLowerCase();
|
|
114
|
+
const ensureRegistryPrefix = () => {
|
|
115
|
+
if (!url.pathname.startsWith("/registry")) {
|
|
116
|
+
url.pathname = url.pathname === "/" ? "/registry" : `/registry${url.pathname}`;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
if (hostname === "hol.org") {
|
|
120
|
+
ensureRegistryPrefix();
|
|
121
|
+
baseCandidate = url.toString();
|
|
122
|
+
} else if (hostname === "registry.hashgraphonline.com" || hostname === "hashgraphonline.com") {
|
|
123
|
+
ensureRegistryPrefix();
|
|
124
|
+
url.hostname = "hol.org";
|
|
125
|
+
baseCandidate = url.toString();
|
|
126
|
+
}
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
const withoutTrailing = stripTrailingSlashes(baseCandidate);
|
|
130
|
+
if (/\/api\/v\d+$/i.test(withoutTrailing)) {
|
|
131
|
+
return withoutTrailing;
|
|
132
|
+
}
|
|
133
|
+
if (/\/api$/i.test(withoutTrailing)) {
|
|
134
|
+
return `${withoutTrailing}/v1`;
|
|
135
|
+
}
|
|
136
|
+
return `${withoutTrailing}/api/v1`;
|
|
137
|
+
}
|
|
138
|
+
function buildSearchQuery(params) {
|
|
139
|
+
const query = new URLSearchParams();
|
|
140
|
+
const appendList = (key, values) => {
|
|
141
|
+
if (!values) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
values.forEach((value) => {
|
|
145
|
+
if (typeof value === "string") {
|
|
146
|
+
const trimmed = value.trim();
|
|
147
|
+
if (trimmed.length > 0) {
|
|
148
|
+
query.append(key, trimmed);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
});
|
|
83
152
|
};
|
|
84
|
-
if (params.
|
|
85
|
-
|
|
153
|
+
if (params.q) {
|
|
154
|
+
const trimmed = params.q.trim();
|
|
155
|
+
if (trimmed.length > 0) {
|
|
156
|
+
query.set("q", trimmed);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (typeof params.page === "number") {
|
|
160
|
+
query.set("page", params.page.toString());
|
|
86
161
|
}
|
|
87
|
-
if (params.
|
|
88
|
-
|
|
162
|
+
if (typeof params.limit === "number") {
|
|
163
|
+
query.set("limit", params.limit.toString());
|
|
89
164
|
}
|
|
165
|
+
if (params.registry) {
|
|
166
|
+
const trimmed = params.registry.trim();
|
|
167
|
+
if (trimmed.length > 0) {
|
|
168
|
+
query.set("registry", trimmed);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
appendList("registries", params.registries);
|
|
172
|
+
if (typeof params.minTrust === "number") {
|
|
173
|
+
query.set("minTrust", params.minTrust.toString());
|
|
174
|
+
}
|
|
175
|
+
appendList("capabilities", params.capabilities);
|
|
176
|
+
appendList("protocols", params.protocols);
|
|
177
|
+
appendList("adapters", params.adapters);
|
|
90
178
|
if (params.metadata) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
179
|
+
Object.entries(params.metadata).forEach(([key, values]) => {
|
|
180
|
+
if (!key || !Array.isArray(values) || values.length === 0) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const trimmedKey = key.trim();
|
|
184
|
+
if (trimmedKey.length === 0) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
values.forEach((value) => {
|
|
188
|
+
if (value === void 0 || value === null) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
query.append(`metadata.${trimmedKey}`, String(value));
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
if (params.type) {
|
|
196
|
+
const trimmedType = params.type.trim();
|
|
197
|
+
if (trimmedType.length > 0 && trimmedType.toLowerCase() !== "all") {
|
|
198
|
+
query.set("type", trimmedType);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (params.verified === true) {
|
|
202
|
+
query.set("verified", "true");
|
|
203
|
+
}
|
|
204
|
+
if (params.online === true) {
|
|
205
|
+
query.set("online", "true");
|
|
206
|
+
}
|
|
207
|
+
if (params.sortBy) {
|
|
208
|
+
const trimmedSort = params.sortBy.trim();
|
|
209
|
+
if (trimmedSort.length > 0) {
|
|
210
|
+
query.set("sortBy", trimmedSort);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (params.sortOrder) {
|
|
214
|
+
const lowered = params.sortOrder.toLowerCase();
|
|
215
|
+
if (lowered === "asc" || lowered === "desc") {
|
|
216
|
+
query.set("sortOrder", lowered);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const queryString = query.toString();
|
|
220
|
+
return queryString.length > 0 ? `?${queryString}` : "";
|
|
122
221
|
}
|
|
123
222
|
export {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
223
|
+
DEFAULT_BASE_URL,
|
|
224
|
+
DEFAULT_HISTORY_TOP_UP_HBAR,
|
|
225
|
+
DEFAULT_PROGRESS_INTERVAL_MS,
|
|
226
|
+
DEFAULT_PROGRESS_TIMEOUT_MS,
|
|
227
|
+
DEFAULT_USER_AGENT,
|
|
228
|
+
JSON_CONTENT_TYPE,
|
|
229
|
+
MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS,
|
|
230
|
+
buildSearchQuery,
|
|
231
|
+
createAbortError,
|
|
232
|
+
isBrowserRuntime,
|
|
233
|
+
isJsonObject,
|
|
234
|
+
normaliseBaseUrl,
|
|
235
|
+
normaliseHeaderName,
|
|
236
|
+
normalizeHexPrivateKey,
|
|
237
|
+
serialiseAgentRegistrationRequest,
|
|
238
|
+
serialiseAuthConfig,
|
|
239
|
+
toJsonObject,
|
|
240
|
+
toJsonValue
|
|
128
241
|
};
|
|
129
242
|
//# sourceMappingURL=standards-sdk.es171.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es171.js","sources":["../../src/services/registry-broker/client/credits.ts"],"sourcesContent":["import type {\n CreditPurchaseResponse,\n JsonObject,\n JsonValue,\n X402CreditPurchaseResponse,\n X402MinimumsResponse,\n} from '../types';\nimport {\n creditPurchaseResponseSchema,\n x402CreditPurchaseResponseSchema,\n x402MinimumsResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { normalizeHexPrivateKey, type X402NetworkId } from './utils';\nimport { optionalImport } from '../../../utils/dynamic-import';\n\ntype PaymentHeaders = Record<string, string | string[] | undefined>;\ntype PaymentClient = {\n post: (\n url: string,\n body: JsonObject,\n ) => Promise<{ data: JsonValue; headers?: PaymentHeaders }>;\n};\n\nexport interface PurchaseCreditsWithX402Params {\n accountId: string;\n credits: number;\n usdAmount?: number;\n description?: string;\n metadata?: JsonObject;\n walletClient: object;\n}\n\nexport interface BuyCreditsWithX402Params {\n accountId: string;\n credits: number;\n usdAmount?: number;\n description?: string;\n metadata?: JsonObject;\n evmPrivateKey: string;\n network?: X402NetworkId;\n rpcUrl?: string;\n}\n\nexport type X402PurchaseResult = X402CreditPurchaseResponse & {\n paymentResponseHeader?: string;\n paymentResponse?: unknown;\n};\n\ntype LoadX402DependenciesResult = {\n createPaymentClient: (walletClient: object) => PaymentClient;\n decodePaymentResponse: (value: string) => unknown;\n createX402Signer: (\n network: X402NetworkId,\n privateKey: `0x${string}`,\n ) => Promise<object>;\n};\n\nasync function loadX402Dependencies(\n client: RegistryBrokerClient,\n): Promise<LoadX402DependenciesResult> {\n type X402AxiosModule = {\n withPaymentInterceptor: (client: unknown, walletClient: object) => unknown;\n decodeXPaymentResponse: (value: string) => unknown;\n };\n type X402TypesModule = {\n createSigner: (\n network: X402NetworkId,\n privateKey: `0x${string}`,\n ) => Promise<object>;\n };\n\n const [{ default: axios }, x402Axios, x402Types] = await Promise.all([\n import('axios'),\n optionalImport<X402AxiosModule>('x402-axios'),\n optionalImport<X402TypesModule>('x402/types'),\n ]);\n\n if (!x402Axios || !x402Types) {\n throw new Error(\n 'x402-axios and x402/types are required for X402 flows. Install them to enable ledger payments.',\n );\n }\n\n const withPaymentInterceptor = x402Axios.withPaymentInterceptor;\n const decodePaymentResponse = x402Axios.decodeXPaymentResponse;\n const createX402Signer = x402Types.createSigner;\n\n const createPaymentClient = (walletClient: object): PaymentClient => {\n const axiosClient = axios.create({\n baseURL: client.baseUrl,\n headers: {\n ...client.getDefaultHeaders(),\n 'content-type': 'application/json',\n },\n });\n const paymentClient = withPaymentInterceptor(axiosClient, walletClient);\n return paymentClient as PaymentClient;\n };\n\n return { createPaymentClient, decodePaymentResponse, createX402Signer };\n}\n\nfunction calculateHbarAmountParam(hbarAmount: number): number {\n const tinybars = Math.ceil(hbarAmount * 1e8);\n if (tinybars <= 0) {\n throw new Error('Calculated purchase amount must be positive');\n }\n return tinybars / 1e8;\n}\n\nexport async function purchaseCreditsWithHbar(\n client: RegistryBrokerClient,\n params: {\n accountId: string;\n privateKey: string;\n hbarAmount: number;\n memo?: string;\n metadata?: JsonObject;\n },\n): Promise<CreditPurchaseResponse> {\n const body: JsonObject = {\n accountId: params.accountId,\n payerKey: params.privateKey,\n hbarAmount: calculateHbarAmountParam(params.hbarAmount),\n };\n\n if (params.memo) {\n body.memo = params.memo;\n }\n\n if (params.metadata) {\n body.metadata = params.metadata;\n }\n\n const raw = await client.requestJson<JsonValue>('/credits/purchase', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n });\n\n return client.parseWithSchema(\n raw,\n creditPurchaseResponseSchema,\n 'credit purchase response',\n );\n}\n\nexport async function getX402Minimums(\n client: RegistryBrokerClient,\n): Promise<X402MinimumsResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/credits/purchase/x402/minimums',\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n x402MinimumsResponseSchema,\n 'x402 minimums response',\n );\n}\n\nexport async function purchaseCreditsWithX402(\n client: RegistryBrokerClient,\n params: PurchaseCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const { createPaymentClient, decodePaymentResponse } =\n await loadX402Dependencies(client);\n\n if (!Number.isFinite(params.credits) || params.credits <= 0) {\n throw new Error('credits must be a positive number');\n }\n if (\n params.usdAmount !== undefined &&\n (!Number.isFinite(params.usdAmount) || params.usdAmount <= 0)\n ) {\n throw new Error('usdAmount must be a positive number when provided');\n }\n\n const body: JsonObject = {\n accountId: params.accountId,\n credits: params.credits,\n };\n\n if (params.usdAmount !== undefined) {\n body.usdAmount = params.usdAmount;\n }\n if (params.description) {\n body.description = params.description;\n }\n if (params.metadata) {\n body.metadata = params.metadata;\n }\n\n const paymentClient = createPaymentClient(params.walletClient);\n\n const response = await paymentClient.post('/credits/purchase/x402', body);\n\n const parsed = client.parseWithSchema(\n response.data,\n x402CreditPurchaseResponseSchema,\n 'x402 credit purchase response',\n );\n\n const responseHeaders = response.headers ?? {};\n const paymentHeader =\n typeof responseHeaders['x-payment-response'] === 'string'\n ? responseHeaders['x-payment-response']\n : undefined;\n const decodedPayment =\n paymentHeader !== undefined\n ? decodePaymentResponse(paymentHeader)\n : undefined;\n\n return {\n ...parsed,\n paymentResponseHeader: paymentHeader,\n paymentResponse: decodedPayment,\n };\n}\n\nexport async function buyCreditsWithX402(\n client: RegistryBrokerClient,\n params: BuyCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const network: X402NetworkId = params.network ?? 'base';\n const { createX402Signer } = await loadX402Dependencies(client);\n const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);\n const walletClient = await createX402Signer(network, normalizedKey);\n\n return purchaseCreditsWithX402(client, {\n accountId: params.accountId,\n credits: params.credits,\n usdAmount: params.usdAmount,\n description: params.description,\n metadata: params.metadata,\n walletClient,\n });\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es171.js","sources":["../../src/services/registry-broker/client/utils.ts"],"sourcesContent":["import type {\n AgentAuthConfig,\n AgentRegistrationRequest,\n JsonObject,\n JsonValue,\n SearchParams,\n} from '../types';\n\nexport const DEFAULT_USER_AGENT = '@hol-org/rb-client';\nexport const DEFAULT_PROGRESS_INTERVAL_MS = 1_500;\nexport const DEFAULT_PROGRESS_TIMEOUT_MS = 5 * 60 * 1_000;\nexport const DEFAULT_BASE_URL = 'https://hol.org/registry/api/v1';\nexport const JSON_CONTENT_TYPE = /application\\/json/i;\nexport const DEFAULT_HISTORY_TOP_UP_HBAR = 0.25;\nexport const MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS = 1;\n\nconst stripTrailingSlashes = (value: string): string => {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 47) {\n end -= 1;\n }\n return end === value.length ? value : value.slice(0, end);\n};\n\nexport const createAbortError = (): Error =>\n typeof DOMException === 'function'\n ? new DOMException('Aborted', 'AbortError')\n : new Error('The operation was aborted');\n\nexport const normaliseHeaderName = (name: string): string =>\n name.trim().toLowerCase();\n\nexport const isBrowserRuntime = (): boolean =>\n typeof window !== 'undefined' && typeof window.fetch === 'function';\n\nexport const toJsonValue = (value: unknown): JsonValue => {\n if (value === null) {\n return null;\n }\n if (value instanceof Date) {\n return value.toISOString();\n }\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(item => (item === undefined ? null : toJsonValue(item)));\n }\n if (typeof value === 'object') {\n const result: JsonObject = {};\n Object.entries(value as Record<string, unknown>).forEach(\n ([key, entryValue]) => {\n if (entryValue !== undefined) {\n result[key] = toJsonValue(entryValue);\n }\n },\n );\n return result;\n }\n throw new TypeError('Only JSON-compatible values are supported');\n};\n\nexport const isJsonObject = (value: JsonValue): value is JsonObject =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const toJsonObject = (value: unknown): JsonObject => {\n const normalised = toJsonValue(value);\n if (isJsonObject(normalised)) {\n return normalised;\n }\n throw new TypeError('Expected JSON object value');\n};\n\nexport const serialiseAuthConfig = (auth: AgentAuthConfig): JsonObject => {\n const authPayload: JsonObject = {};\n if (auth.type) {\n authPayload.type = auth.type;\n }\n if (auth.token) {\n authPayload.token = auth.token;\n }\n if (auth.username) {\n authPayload.username = auth.username;\n }\n if (auth.password) {\n authPayload.password = auth.password;\n }\n if (auth.headerName) {\n authPayload.headerName = auth.headerName;\n }\n if (auth.headerValue) {\n authPayload.headerValue = auth.headerValue;\n }\n if (auth.headers) {\n authPayload.headers = { ...auth.headers };\n }\n return authPayload;\n};\n\nexport const serialiseAgentRegistrationRequest = (\n payload: AgentRegistrationRequest,\n): JsonObject => {\n const body: JsonObject = {\n profile: toJsonObject(payload.profile),\n };\n if (payload.endpoint !== undefined) {\n body.endpoint = payload.endpoint;\n }\n if (payload.protocol !== undefined) {\n body.protocol = payload.protocol;\n }\n if (payload.communicationProtocol !== undefined) {\n body.communicationProtocol = payload.communicationProtocol;\n }\n if (payload.registry !== undefined) {\n body.registry = payload.registry;\n }\n if (payload.additionalRegistries !== undefined) {\n body.additionalRegistries = payload.additionalRegistries;\n }\n if (payload.metadata !== undefined) {\n body.metadata = toJsonObject(payload.metadata);\n }\n return body;\n};\n\nexport type X402NetworkId = 'base' | 'base-sepolia';\n\nexport const normalizeHexPrivateKey = (value: string): `0x${string}` => {\n const trimmed = value.trim();\n if (!trimmed) {\n throw new Error('evmPrivateKey is required');\n }\n return trimmed.startsWith('0x')\n ? (trimmed as `0x${string}`)\n : (`0x${trimmed}` as `0x${string}`);\n};\n\nexport function normaliseBaseUrl(input?: string): string {\n const trimmed = input?.trim();\n let baseCandidate =\n trimmed && trimmed.length > 0 ? trimmed : DEFAULT_BASE_URL;\n\n try {\n const url = new URL(stripTrailingSlashes(baseCandidate));\n const hostname = url.hostname.toLowerCase();\n const ensureRegistryPrefix = (): void => {\n if (!url.pathname.startsWith('/registry')) {\n url.pathname =\n url.pathname === '/' ? '/registry' : `/registry${url.pathname}`;\n }\n };\n\n if (hostname === 'hol.org') {\n ensureRegistryPrefix();\n baseCandidate = url.toString();\n } else if (\n hostname === 'registry.hashgraphonline.com' ||\n hostname === 'hashgraphonline.com'\n ) {\n ensureRegistryPrefix();\n url.hostname = 'hol.org';\n baseCandidate = url.toString();\n }\n } catch {}\n\n const withoutTrailing = stripTrailingSlashes(baseCandidate);\n if (/\\/api\\/v\\d+$/i.test(withoutTrailing)) {\n return withoutTrailing;\n }\n if (/\\/api$/i.test(withoutTrailing)) {\n return `${withoutTrailing}/v1`;\n }\n return `${withoutTrailing}/api/v1`;\n}\n\nexport function buildSearchQuery(params: SearchParams): string {\n const query = new URLSearchParams();\n const appendList = (key: string, values?: string[]) => {\n if (!values) {\n return;\n }\n values.forEach(value => {\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed.length > 0) {\n query.append(key, trimmed);\n }\n }\n });\n };\n\n if (params.q) {\n const trimmed = params.q.trim();\n if (trimmed.length > 0) {\n query.set('q', trimmed);\n }\n }\n if (typeof params.page === 'number') {\n query.set('page', params.page.toString());\n }\n if (typeof params.limit === 'number') {\n query.set('limit', params.limit.toString());\n }\n if (params.registry) {\n const trimmed = params.registry.trim();\n if (trimmed.length > 0) {\n query.set('registry', trimmed);\n }\n }\n appendList('registries', params.registries);\n if (typeof params.minTrust === 'number') {\n query.set('minTrust', params.minTrust.toString());\n }\n appendList('capabilities', params.capabilities);\n appendList('protocols', params.protocols);\n appendList('adapters', params.adapters);\n\n if (params.metadata) {\n Object.entries(params.metadata).forEach(([key, values]) => {\n if (!key || !Array.isArray(values) || values.length === 0) {\n return;\n }\n const trimmedKey = key.trim();\n if (trimmedKey.length === 0) {\n return;\n }\n values.forEach(value => {\n if (value === undefined || value === null) {\n return;\n }\n query.append(`metadata.${trimmedKey}`, String(value));\n });\n });\n }\n\n if (params.type) {\n const trimmedType = params.type.trim();\n if (trimmedType.length > 0 && trimmedType.toLowerCase() !== 'all') {\n query.set('type', trimmedType);\n }\n }\n\n if (params.verified === true) {\n query.set('verified', 'true');\n }\n\n if (params.online === true) {\n query.set('online', 'true');\n }\n\n if (params.sortBy) {\n const trimmedSort = params.sortBy.trim();\n if (trimmedSort.length > 0) {\n query.set('sortBy', trimmedSort);\n }\n }\n\n if (params.sortOrder) {\n const lowered = params.sortOrder.toLowerCase();\n if (lowered === 'asc' || lowered === 'desc') {\n query.set('sortOrder', lowered);\n }\n }\n const queryString = query.toString();\n return queryString.length > 0 ? `?${queryString}` : '';\n}\n"],"names":[],"mappings":"AAQO,MAAM,qBAAqB;AAC3B,MAAM,+BAA+B;AACrC,MAAM,8BAA8B,IAAI,KAAK;AAC7C,MAAM,mBAAmB;AACzB,MAAM,oBAAoB;AAC1B,MAAM,8BAA8B;AACpC,MAAM,2CAA2C;AAExD,MAAM,uBAAuB,CAAC,UAA0B;AACtD,MAAI,MAAM,MAAM;AAChB,SAAO,MAAM,KAAK,MAAM,WAAW,MAAM,CAAC,MAAM,IAAI;AAClD,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,MAAM,SAAS,QAAQ,MAAM,MAAM,GAAG,GAAG;AAC1D;AAEO,MAAM,mBAAmB,MAC9B,OAAO,iBAAiB,aACpB,IAAI,aAAa,WAAW,YAAY,IACxC,IAAI,MAAM,2BAA2B;AAEpC,MAAM,sBAAsB,CAAC,SAClC,KAAK,KAAA,EAAO,YAAA;AAEP,MAAM,mBAAmB,MAC9B,OAAO,WAAW,eAAe,OAAO,OAAO,UAAU;AAEpD,MAAM,cAAc,CAAC,UAA8B;AACxD,MAAI,UAAU,MAAM;AAClB,WAAO;AAAA,EACT;AACA,MAAI,iBAAiB,MAAM;AACzB,WAAO,MAAM,YAAA;AAAA,EACf;AACA,MACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAA,SAAS,SAAS,SAAY,OAAO,YAAY,IAAI,CAAE;AAAA,EAC1E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,SAAqB,CAAA;AAC3B,WAAO,QAAQ,KAAgC,EAAE;AAAA,MAC/C,CAAC,CAAC,KAAK,UAAU,MAAM;AACrB,YAAI,eAAe,QAAW;AAC5B,iBAAO,GAAG,IAAI,YAAY,UAAU;AAAA,QACtC;AAAA,MACF;AAAA,IAAA;AAEF,WAAO;AAAA,EACT;AACA,QAAM,IAAI,UAAU,2CAA2C;AACjE;AAEO,MAAM,eAAe,CAAC,UAC3B,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAE9D,MAAM,eAAe,CAAC,UAA+B;AAC1D,QAAM,aAAa,YAAY,KAAK;AACpC,MAAI,aAAa,UAAU,GAAG;AAC5B,WAAO;AAAA,EACT;AACA,QAAM,IAAI,UAAU,4BAA4B;AAClD;AAEO,MAAM,sBAAsB,CAAC,SAAsC;AACxE,QAAM,cAA0B,CAAA;AAChC,MAAI,KAAK,MAAM;AACb,gBAAY,OAAO,KAAK;AAAA,EAC1B;AACA,MAAI,KAAK,OAAO;AACd,gBAAY,QAAQ,KAAK;AAAA,EAC3B;AACA,MAAI,KAAK,UAAU;AACjB,gBAAY,WAAW,KAAK;AAAA,EAC9B;AACA,MAAI,KAAK,UAAU;AACjB,gBAAY,WAAW,KAAK;AAAA,EAC9B;AACA,MAAI,KAAK,YAAY;AACnB,gBAAY,aAAa,KAAK;AAAA,EAChC;AACA,MAAI,KAAK,aAAa;AACpB,gBAAY,cAAc,KAAK;AAAA,EACjC;AACA,MAAI,KAAK,SAAS;AAChB,gBAAY,UAAU,EAAE,GAAG,KAAK,QAAA;AAAA,EAClC;AACA,SAAO;AACT;AAEO,MAAM,oCAAoC,CAC/C,YACe;AACf,QAAM,OAAmB;AAAA,IACvB,SAAS,aAAa,QAAQ,OAAO;AAAA,EAAA;AAEvC,MAAI,QAAQ,aAAa,QAAW;AAClC,SAAK,WAAW,QAAQ;AAAA,EAC1B;AACA,MAAI,QAAQ,aAAa,QAAW;AAClC,SAAK,WAAW,QAAQ;AAAA,EAC1B;AACA,MAAI,QAAQ,0BAA0B,QAAW;AAC/C,SAAK,wBAAwB,QAAQ;AAAA,EACvC;AACA,MAAI,QAAQ,aAAa,QAAW;AAClC,SAAK,WAAW,QAAQ;AAAA,EAC1B;AACA,MAAI,QAAQ,yBAAyB,QAAW;AAC9C,SAAK,uBAAuB,QAAQ;AAAA,EACtC;AACA,MAAI,QAAQ,aAAa,QAAW;AAClC,SAAK,WAAW,aAAa,QAAQ,QAAQ;AAAA,EAC/C;AACA,SAAO;AACT;AAIO,MAAM,yBAAyB,CAAC,UAAiC;AACtE,QAAM,UAAU,MAAM,KAAA;AACtB,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AACA,SAAO,QAAQ,WAAW,IAAI,IACzB,UACA,KAAK,OAAO;AACnB;AAEO,SAAS,iBAAiB,OAAwB;AACvD,QAAM,UAAU,OAAO,KAAA;AACvB,MAAI,gBACF,WAAW,QAAQ,SAAS,IAAI,UAAU;AAE5C,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,qBAAqB,aAAa,CAAC;AACvD,UAAM,WAAW,IAAI,SAAS,YAAA;AAC9B,UAAM,uBAAuB,MAAY;AACvC,UAAI,CAAC,IAAI,SAAS,WAAW,WAAW,GAAG;AACzC,YAAI,WACF,IAAI,aAAa,MAAM,cAAc,YAAY,IAAI,QAAQ;AAAA,MACjE;AAAA,IACF;AAEA,QAAI,aAAa,WAAW;AAC1B,2BAAA;AACA,sBAAgB,IAAI,SAAA;AAAA,IACtB,WACE,aAAa,kCACb,aAAa,uBACb;AACA,2BAAA;AACA,UAAI,WAAW;AACf,sBAAgB,IAAI,SAAA;AAAA,IACtB;AAAA,EACF,QAAQ;AAAA,EAAC;AAET,QAAM,kBAAkB,qBAAqB,aAAa;AAC1D,MAAI,gBAAgB,KAAK,eAAe,GAAG;AACzC,WAAO;AAAA,EACT;AACA,MAAI,UAAU,KAAK,eAAe,GAAG;AACnC,WAAO,GAAG,eAAe;AAAA,EAC3B;AACA,SAAO,GAAG,eAAe;AAC3B;AAEO,SAAS,iBAAiB,QAA8B;AAC7D,QAAM,QAAQ,IAAI,gBAAA;AAClB,QAAM,aAAa,CAAC,KAAa,WAAsB;AACrD,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AACA,WAAO,QAAQ,CAAA,UAAS;AACtB,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,UAAU,MAAM,KAAA;AACtB,YAAI,QAAQ,SAAS,GAAG;AACtB,gBAAM,OAAO,KAAK,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,OAAO,GAAG;AACZ,UAAM,UAAU,OAAO,EAAE,KAAA;AACzB,QAAI,QAAQ,SAAS,GAAG;AACtB,YAAM,IAAI,KAAK,OAAO;AAAA,IACxB;AAAA,EACF;AACA,MAAI,OAAO,OAAO,SAAS,UAAU;AACnC,UAAM,IAAI,QAAQ,OAAO,KAAK,UAAU;AAAA,EAC1C;AACA,MAAI,OAAO,OAAO,UAAU,UAAU;AACpC,UAAM,IAAI,SAAS,OAAO,MAAM,UAAU;AAAA,EAC5C;AACA,MAAI,OAAO,UAAU;AACnB,UAAM,UAAU,OAAO,SAAS,KAAA;AAChC,QAAI,QAAQ,SAAS,GAAG;AACtB,YAAM,IAAI,YAAY,OAAO;AAAA,IAC/B;AAAA,EACF;AACA,aAAW,cAAc,OAAO,UAAU;AAC1C,MAAI,OAAO,OAAO,aAAa,UAAU;AACvC,UAAM,IAAI,YAAY,OAAO,SAAS,UAAU;AAAA,EAClD;AACA,aAAW,gBAAgB,OAAO,YAAY;AAC9C,aAAW,aAAa,OAAO,SAAS;AACxC,aAAW,YAAY,OAAO,QAAQ;AAEtC,MAAI,OAAO,UAAU;AACnB,WAAO,QAAQ,OAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAM,MAAM;AACzD,UAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,GAAG;AACzD;AAAA,MACF;AACA,YAAM,aAAa,IAAI,KAAA;AACvB,UAAI,WAAW,WAAW,GAAG;AAC3B;AAAA,MACF;AACA,aAAO,QAAQ,CAAA,UAAS;AACtB,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC;AAAA,QACF;AACA,cAAM,OAAO,YAAY,UAAU,IAAI,OAAO,KAAK,CAAC;AAAA,MACtD,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,MAAI,OAAO,MAAM;AACf,UAAM,cAAc,OAAO,KAAK,KAAA;AAChC,QAAI,YAAY,SAAS,KAAK,YAAY,YAAA,MAAkB,OAAO;AACjE,YAAM,IAAI,QAAQ,WAAW;AAAA,IAC/B;AAAA,EACF;AAEA,MAAI,OAAO,aAAa,MAAM;AAC5B,UAAM,IAAI,YAAY,MAAM;AAAA,EAC9B;AAEA,MAAI,OAAO,WAAW,MAAM;AAC1B,UAAM,IAAI,UAAU,MAAM;AAAA,EAC5B;AAEA,MAAI,OAAO,QAAQ;AACjB,UAAM,cAAc,OAAO,OAAO,KAAA;AAClC,QAAI,YAAY,SAAS,GAAG;AAC1B,YAAM,IAAI,UAAU,WAAW;AAAA,IACjC;AAAA,EACF;AAEA,MAAI,OAAO,WAAW;AACpB,UAAM,UAAU,OAAO,UAAU,YAAA;AACjC,QAAI,YAAY,SAAS,YAAY,QAAQ;AAC3C,YAAM,IAAI,aAAa,OAAO;AAAA,IAChC;AAAA,EACF;AACA,QAAM,cAAc,MAAM,SAAA;AAC1B,SAAO,YAAY,SAAS,IAAI,IAAI,WAAW,KAAK;AACtD;"}
|
|
@@ -1,164 +1,122 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
{
|
|
8
|
-
method: "GET"
|
|
9
|
-
}
|
|
10
|
-
);
|
|
1
|
+
import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es140.js";
|
|
2
|
+
import { toJsonObject } from "./standards-sdk.es171.js";
|
|
3
|
+
async function adapters(client) {
|
|
4
|
+
const raw = await client.requestJson("/adapters", {
|
|
5
|
+
method: "GET"
|
|
6
|
+
});
|
|
11
7
|
return client.parseWithSchema(
|
|
12
8
|
raw,
|
|
13
|
-
|
|
14
|
-
"
|
|
9
|
+
adaptersResponseSchema,
|
|
10
|
+
"adapters response"
|
|
15
11
|
);
|
|
16
12
|
}
|
|
17
|
-
async function
|
|
18
|
-
const raw = await client.requestJson("/
|
|
19
|
-
method: "
|
|
20
|
-
body: serialiseAgentRegistrationRequest(payload),
|
|
21
|
-
headers: { "content-type": "application/json" }
|
|
13
|
+
async function adaptersDetailed(client) {
|
|
14
|
+
const raw = await client.requestJson("/adapters/details", {
|
|
15
|
+
method: "GET"
|
|
22
16
|
});
|
|
23
17
|
return client.parseWithSchema(
|
|
24
18
|
raw,
|
|
25
|
-
|
|
26
|
-
"
|
|
19
|
+
adapterDetailsResponseSchema,
|
|
20
|
+
"adapter details response"
|
|
27
21
|
);
|
|
28
22
|
}
|
|
29
|
-
async function
|
|
23
|
+
async function adapterRegistryCategories(client) {
|
|
30
24
|
const raw = await client.requestJson(
|
|
31
|
-
|
|
25
|
+
"/adapters/registry/categories",
|
|
32
26
|
{
|
|
33
|
-
method: "
|
|
34
|
-
body: serialiseAgentRegistrationRequest(payload),
|
|
35
|
-
headers: { "content-type": "application/json" }
|
|
27
|
+
method: "GET"
|
|
36
28
|
}
|
|
37
29
|
);
|
|
38
30
|
return client.parseWithSchema(
|
|
39
31
|
raw,
|
|
40
|
-
|
|
41
|
-
"
|
|
32
|
+
adapterRegistryCategoriesResponseSchema,
|
|
33
|
+
"adapter registry categories response"
|
|
42
34
|
);
|
|
43
35
|
}
|
|
44
|
-
async function
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
|
|
36
|
+
async function adapterRegistryAdapters(client, filters = {}) {
|
|
37
|
+
const params = new URLSearchParams();
|
|
38
|
+
if (filters.category) {
|
|
39
|
+
params.set("category", filters.category);
|
|
48
40
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
`/register/progress/${encodeURIComponent(normalisedAttemptId)}`,
|
|
52
|
-
{ method: "GET" }
|
|
53
|
-
);
|
|
54
|
-
const parsed = client.parseWithSchema(
|
|
55
|
-
raw,
|
|
56
|
-
registrationProgressResponseSchema,
|
|
57
|
-
"registration progress response"
|
|
58
|
-
);
|
|
59
|
-
return parsed.progress;
|
|
60
|
-
} catch (error) {
|
|
61
|
-
if (error instanceof RegistryBrokerError && error.status === 404) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
throw error;
|
|
41
|
+
if (filters.entity) {
|
|
42
|
+
params.set("entity", filters.entity);
|
|
65
43
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const normalisedAttemptId = attemptId.trim();
|
|
69
|
-
if (!normalisedAttemptId) {
|
|
70
|
-
throw new Error("attemptId is required");
|
|
44
|
+
if (filters.keywords?.length) {
|
|
45
|
+
params.set("keywords", filters.keywords.join(","));
|
|
71
46
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
options.intervalMs ?? DEFAULT_PROGRESS_INTERVAL_MS
|
|
75
|
-
);
|
|
76
|
-
const timeoutMs = options.timeoutMs ?? DEFAULT_PROGRESS_TIMEOUT_MS;
|
|
77
|
-
const throwOnFailure = options.throwOnFailure ?? true;
|
|
78
|
-
const signal = options.signal;
|
|
79
|
-
const startedAt = Date.now();
|
|
80
|
-
while (true) {
|
|
81
|
-
if (signal?.aborted) {
|
|
82
|
-
throw createAbortError();
|
|
83
|
-
}
|
|
84
|
-
const progress = await client.getRegistrationProgress(normalisedAttemptId);
|
|
85
|
-
if (progress) {
|
|
86
|
-
options.onProgress?.(progress);
|
|
87
|
-
if (progress.status === "completed") {
|
|
88
|
-
return progress;
|
|
89
|
-
}
|
|
90
|
-
if (progress.status === "partial" || progress.status === "failed") {
|
|
91
|
-
if (throwOnFailure) {
|
|
92
|
-
throw new RegistryBrokerError(
|
|
93
|
-
"Registration did not complete successfully",
|
|
94
|
-
{
|
|
95
|
-
status: 409,
|
|
96
|
-
statusText: progress.status,
|
|
97
|
-
body: progress
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
return progress;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (Date.now() - startedAt >= timeoutMs) {
|
|
105
|
-
throw new Error(
|
|
106
|
-
`Registration progress polling timed out after ${timeoutMs}ms`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
await client.delay(interval, signal);
|
|
47
|
+
if (filters.query) {
|
|
48
|
+
params.set("query", filters.query);
|
|
110
49
|
}
|
|
111
|
-
|
|
112
|
-
|
|
50
|
+
if (typeof filters.limit === "number") {
|
|
51
|
+
params.set("limit", String(filters.limit));
|
|
52
|
+
}
|
|
53
|
+
if (typeof filters.offset === "number") {
|
|
54
|
+
params.set("offset", String(filters.offset));
|
|
55
|
+
}
|
|
56
|
+
const suffix = params.size > 0 ? `?${params.toString()}` : "";
|
|
113
57
|
const raw = await client.requestJson(
|
|
114
|
-
`/
|
|
58
|
+
`/adapters/registry/adapters${suffix}`,
|
|
115
59
|
{
|
|
116
60
|
method: "GET"
|
|
117
61
|
}
|
|
118
62
|
);
|
|
119
63
|
return client.parseWithSchema(
|
|
120
64
|
raw,
|
|
121
|
-
|
|
122
|
-
"
|
|
65
|
+
adapterRegistryAdaptersResponseSchema,
|
|
66
|
+
"adapter registry adapters response"
|
|
123
67
|
);
|
|
124
68
|
}
|
|
125
|
-
async function
|
|
69
|
+
async function createAdapterRegistryCategory(client, payload) {
|
|
126
70
|
const raw = await client.requestJson(
|
|
127
|
-
|
|
71
|
+
"/adapters/registry/categories",
|
|
128
72
|
{
|
|
129
|
-
method: "
|
|
73
|
+
method: "POST",
|
|
74
|
+
headers: { "content-type": "application/json" },
|
|
75
|
+
body: toJsonObject(payload)
|
|
130
76
|
}
|
|
131
77
|
);
|
|
132
|
-
|
|
78
|
+
const parsed = client.parseWithSchema(
|
|
133
79
|
raw,
|
|
134
|
-
|
|
135
|
-
"
|
|
80
|
+
adapterRegistryCreateCategoryResponseSchema,
|
|
81
|
+
"adapter registry create category response"
|
|
136
82
|
);
|
|
83
|
+
return parsed.category;
|
|
137
84
|
}
|
|
138
|
-
async function
|
|
139
|
-
await client.
|
|
140
|
-
|
|
141
|
-
|
|
85
|
+
async function submitAdapterRegistryAdapter(client, payload) {
|
|
86
|
+
const raw = await client.requestJson(
|
|
87
|
+
"/adapters/registry/adapters",
|
|
88
|
+
{
|
|
89
|
+
method: "POST",
|
|
90
|
+
headers: { "content-type": "application/json" },
|
|
91
|
+
body: toJsonObject(payload)
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
return client.parseWithSchema(
|
|
95
|
+
raw,
|
|
96
|
+
adapterRegistrySubmitAdapterAcceptedResponseSchema,
|
|
97
|
+
"adapter registry submit adapter response"
|
|
98
|
+
);
|
|
142
99
|
}
|
|
143
|
-
async function
|
|
144
|
-
const raw = await client.requestJson(
|
|
145
|
-
|
|
146
|
-
|
|
100
|
+
async function adapterRegistrySubmissionStatus(client, submissionId) {
|
|
101
|
+
const raw = await client.requestJson(
|
|
102
|
+
`/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
|
|
103
|
+
{
|
|
104
|
+
method: "GET"
|
|
105
|
+
}
|
|
106
|
+
);
|
|
147
107
|
return client.parseWithSchema(
|
|
148
108
|
raw,
|
|
149
|
-
|
|
150
|
-
"
|
|
109
|
+
adapterRegistrySubmissionStatusResponseSchema,
|
|
110
|
+
"adapter registry submission status response"
|
|
151
111
|
);
|
|
152
112
|
}
|
|
153
113
|
export {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
validateUaid,
|
|
162
|
-
waitForRegistrationCompletion
|
|
114
|
+
adapterRegistryAdapters,
|
|
115
|
+
adapterRegistryCategories,
|
|
116
|
+
adapterRegistrySubmissionStatus,
|
|
117
|
+
adapters,
|
|
118
|
+
adaptersDetailed,
|
|
119
|
+
createAdapterRegistryCategory,
|
|
120
|
+
submitAdapterRegistryAdapter
|
|
163
121
|
};
|
|
164
122
|
//# sourceMappingURL=standards-sdk.es172.js.map
|