@hashgraphonline/standards-sdk 0.1.170 → 0.1.172
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/README.md +2 -2
- package/dist/browser/services/registry-broker/client/base-client.d.ts +3 -2
- package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client/search.d.ts +2 -1
- package/dist/browser/services/registry-broker/client/search.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client.d.ts +1 -0
- package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/schemas.d.ts +17723 -58
- package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/types.d.ts +36 -1
- package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
- package/dist/browser/standards-sdk.browser.js +64 -1
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +3 -2
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/search.d.ts +2 -1
- package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +1 -0
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +17814 -149
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/types.d.ts +36 -1
- package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +3 -3
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/services/registry-broker/client/base-client.d.ts +3 -2
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/search.d.ts +2 -1
- package/dist/es/services/registry-broker/client/search.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +1 -0
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +17814 -149
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/registry-broker/types.d.ts +36 -1
- package/dist/es/services/registry-broker/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +20 -9
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es116.js +2 -2
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es121.js +1 -1
- package/dist/es/standards-sdk.es127.js +1 -1
- package/dist/es/standards-sdk.es128.js +5 -5
- package/dist/es/standards-sdk.es138.js +1 -1
- package/dist/es/standards-sdk.es139.js +1 -1
- package/dist/es/standards-sdk.es140.js +5 -5
- package/dist/es/standards-sdk.es142.js +2 -2
- package/dist/es/standards-sdk.es143.js +1 -1
- package/dist/es/standards-sdk.es145.js +65 -1
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +250 -78
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +77 -71
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +79 -936
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +934 -53
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +53 -152
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +159 -7
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +7 -86
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +64 -43
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +65 -30
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +30 -34
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +34 -48
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +48 -138
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +133 -37
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +1 -1
- package/dist/es/standards-sdk.es160.js +34 -12474
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +12479 -53
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +48 -76
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +69 -66
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +61 -180
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +197 -14
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +15 -548
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +66 -165
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +535 -307
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +120 -294
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +191 -322
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +294 -279
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +440 -63
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +323 -65
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +61 -157
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +152 -202
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +219 -223
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +227 -107
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +98 -105
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +105 -140
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +4 -4
- package/dist/es/standards-sdk.es180.js +2 -2
- package/dist/es/standards-sdk.es182.js +1 -1
- package/dist/es/standards-sdk.es19.js +2 -2
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es27.js +4 -4
- package/dist/es/standards-sdk.es30.js +1 -1
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es35.js +2 -2
- package/dist/es/standards-sdk.es36.js +3 -3
- package/dist/es/standards-sdk.es37.js +1 -1
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +1 -1
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +2 -2
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +1 -1
- package/dist/es/standards-sdk.es72.js +2 -2
- package/dist/es/standards-sdk.es75.js +3 -3
- package/dist/es/standards-sdk.es76.js +1 -1
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es83.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es90.js +1 -1
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +1 -1
- package/package.json +1 -1
|
@@ -1,122 +1,242 @@
|
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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();
|
|
24
|
+
}
|
|
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
|
+
}
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
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) => {
|
|
78
|
+
const body = {
|
|
79
|
+
profile: toJsonObject(payload.profile)
|
|
80
|
+
};
|
|
81
|
+
if (payload.endpoint !== void 0) {
|
|
82
|
+
body.endpoint = payload.endpoint;
|
|
40
83
|
}
|
|
41
|
-
if (
|
|
42
|
-
|
|
84
|
+
if (payload.protocol !== void 0) {
|
|
85
|
+
body.protocol = payload.protocol;
|
|
43
86
|
}
|
|
44
|
-
if (
|
|
45
|
-
|
|
87
|
+
if (payload.communicationProtocol !== void 0) {
|
|
88
|
+
body.communicationProtocol = payload.communicationProtocol;
|
|
46
89
|
}
|
|
47
|
-
if (
|
|
48
|
-
|
|
90
|
+
if (payload.registry !== void 0) {
|
|
91
|
+
body.registry = payload.registry;
|
|
49
92
|
}
|
|
50
|
-
if (
|
|
51
|
-
|
|
93
|
+
if (payload.additionalRegistries !== void 0) {
|
|
94
|
+
body.additionalRegistries = payload.additionalRegistries;
|
|
52
95
|
}
|
|
53
|
-
if (
|
|
54
|
-
|
|
96
|
+
if (payload.metadata !== void 0) {
|
|
97
|
+
body.metadata = toJsonObject(payload.metadata);
|
|
55
98
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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();
|
|
61
126
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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`;
|
|
68
137
|
}
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
headers: { "content-type": "application/json" },
|
|
75
|
-
body: toJsonObject(payload)
|
|
138
|
+
function buildSearchQuery(params) {
|
|
139
|
+
const query = new URLSearchParams();
|
|
140
|
+
const appendList = (key, values) => {
|
|
141
|
+
if (!values) {
|
|
142
|
+
return;
|
|
76
143
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
{
|
|
89
|
-
|
|
90
|
-
headers: { "content-type": "application/json" },
|
|
91
|
-
body: toJsonObject(payload)
|
|
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
|
+
});
|
|
152
|
+
};
|
|
153
|
+
if (params.q) {
|
|
154
|
+
const trimmed = params.q.trim();
|
|
155
|
+
if (trimmed.length > 0) {
|
|
156
|
+
query.set("q", trimmed);
|
|
92
157
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
method: "GET"
|
|
158
|
+
}
|
|
159
|
+
if (typeof params.page === "number") {
|
|
160
|
+
query.set("page", params.page.toString());
|
|
161
|
+
}
|
|
162
|
+
if (typeof params.limit === "number") {
|
|
163
|
+
query.set("limit", params.limit.toString());
|
|
164
|
+
}
|
|
165
|
+
if (params.registry) {
|
|
166
|
+
const trimmed = params.registry.trim();
|
|
167
|
+
if (trimmed.length > 0) {
|
|
168
|
+
query.set("registry", trimmed);
|
|
105
169
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
);
|
|
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);
|
|
178
|
+
if (params.metadata) {
|
|
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}` : "";
|
|
112
221
|
}
|
|
113
222
|
export {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
|
121
241
|
};
|
|
122
242
|
//# sourceMappingURL=standards-sdk.es177.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es177.js","sources":["../../src/services/registry-broker/client/adapters.ts"],"sourcesContent":["import type {\n AdapterDetailsResponse,\n AdapterRegistryAdaptersResponse,\n AdapterRegistryCategoriesResponse,\n AdapterRegistryCategory,\n AdapterRegistrySubmitAdapterAcceptedResponse,\n AdapterRegistrySubmissionStatusResponse,\n AdaptersResponse,\n CreateAdapterRegistryCategoryRequest,\n JsonValue,\n SubmitAdapterRegistryAdapterRequest,\n} from '../types';\nimport {\n adapterDetailsResponseSchema,\n adapterRegistryAdaptersResponseSchema,\n adapterRegistryCategoriesResponseSchema,\n adapterRegistryCreateCategoryResponseSchema,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n adapterRegistrySubmissionStatusResponseSchema,\n adaptersResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { toJsonObject } from './utils';\n\nexport async function adapters(\n client: RegistryBrokerClient,\n): Promise<AdaptersResponse> {\n const raw = await client.requestJson<JsonValue>('/adapters', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n adaptersResponseSchema,\n 'adapters response',\n );\n}\n\nexport async function adaptersDetailed(\n client: RegistryBrokerClient,\n): Promise<AdapterDetailsResponse> {\n const raw = await client.requestJson<JsonValue>('/adapters/details', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n adapterDetailsResponseSchema,\n 'adapter details response',\n );\n}\n\nexport async function adapterRegistryCategories(\n client: RegistryBrokerClient,\n): Promise<AdapterRegistryCategoriesResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistryCategoriesResponseSchema,\n 'adapter registry categories response',\n );\n}\n\nexport async function adapterRegistryAdapters(\n client: RegistryBrokerClient,\n filters: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n } = {},\n): Promise<AdapterRegistryAdaptersResponse> {\n const params = new URLSearchParams();\n if (filters.category) {\n params.set('category', filters.category);\n }\n if (filters.entity) {\n params.set('entity', filters.entity);\n }\n if (filters.keywords?.length) {\n params.set('keywords', filters.keywords.join(','));\n }\n if (filters.query) {\n params.set('query', filters.query);\n }\n if (typeof filters.limit === 'number') {\n params.set('limit', String(filters.limit));\n }\n if (typeof filters.offset === 'number') {\n params.set('offset', String(filters.offset));\n }\n\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(\n `/adapters/registry/adapters${suffix}`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistryAdaptersResponseSchema,\n 'adapter registry adapters response',\n );\n}\n\nexport async function createAdapterRegistryCategory(\n client: RegistryBrokerClient,\n payload: CreateAdapterRegistryCategoryRequest,\n): Promise<AdapterRegistryCategory> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n },\n );\n const parsed = client.parseWithSchema(\n raw,\n adapterRegistryCreateCategoryResponseSchema,\n 'adapter registry create category response',\n );\n return parsed.category;\n}\n\nexport async function submitAdapterRegistryAdapter(\n client: RegistryBrokerClient,\n payload: SubmitAdapterRegistryAdapterRequest,\n): Promise<AdapterRegistrySubmitAdapterAcceptedResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/adapters',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n 'adapter registry submit adapter response',\n );\n}\n\nexport async function adapterRegistrySubmissionStatus(\n client: RegistryBrokerClient,\n submissionId: string,\n): Promise<AdapterRegistrySubmissionStatusResponse> {\n const raw = await client.requestJson<JsonValue>(\n `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistrySubmissionStatusResponseSchema,\n 'adapter registry submission status response',\n );\n}\n"],"names":[],"mappings":";;AAwBA,eAAsB,SACpB,QAC2B;AAC3B,QAAM,MAAM,MAAM,OAAO,YAAuB,aAAa;AAAA,IAC3D,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,iBACpB,QACiC;AACjC,QAAM,MAAM,MAAM,OAAO,YAAuB,qBAAqB;AAAA,IACnE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,0BACpB,QAC4C;AAC5C,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,wBACpB,QACA,UAOI,IACsC;AAC1C,QAAM,SAAS,IAAI,gBAAA;AACnB,MAAI,QAAQ,UAAU;AACpB,WAAO,IAAI,YAAY,QAAQ,QAAQ;AAAA,EACzC;AACA,MAAI,QAAQ,QAAQ;AAClB,WAAO,IAAI,UAAU,QAAQ,MAAM;AAAA,EACrC;AACA,MAAI,QAAQ,UAAU,QAAQ;AAC5B,WAAO,IAAI,YAAY,QAAQ,SAAS,KAAK,GAAG,CAAC;AAAA,EACnD;AACA,MAAI,QAAQ,OAAO;AACjB,WAAO,IAAI,SAAS,QAAQ,KAAK;AAAA,EACnC;AACA,MAAI,OAAO,QAAQ,UAAU,UAAU;AACrC,WAAO,IAAI,SAAS,OAAO,QAAQ,KAAK,CAAC;AAAA,EAC3C;AACA,MAAI,OAAO,QAAQ,WAAW,UAAU;AACtC,WAAO,IAAI,UAAU,OAAO,QAAQ,MAAM,CAAC;AAAA,EAC7C;AAEA,QAAM,SAAS,OAAO,OAAO,IAAI,IAAI,OAAO,UAAU,KAAK;AAC3D,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,8BAA8B,MAAM;AAAA,IACpC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,8BACpB,QACA,SACkC;AAClC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,QAAM,SAAS,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,OAAO;AAChB;AAEA,eAAsB,6BACpB,QACA,SACuD;AACvD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gCACpB,QACA,cACkD;AAClD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,kCAAkC,mBAAmB,YAAY,CAAC;AAAA,IAClE;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es177.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":"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"}
|
|
@@ -1,129 +1,122 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"x402-axios and x402/types are required for X402 flows. Install them to enable ledger payments."
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
const withPaymentInterceptor = x402Axios.withPaymentInterceptor;
|
|
16
|
-
const decodePaymentResponse = x402Axios.decodeXPaymentResponse;
|
|
17
|
-
const createX402Signer = x402Types.createSigner;
|
|
18
|
-
const createPaymentClient = (walletClient) => {
|
|
19
|
-
const axiosClient = axios.create({
|
|
20
|
-
baseURL: client.baseUrl,
|
|
21
|
-
headers: {
|
|
22
|
-
...client.getDefaultHeaders(),
|
|
23
|
-
"content-type": "application/json"
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
const paymentClient = withPaymentInterceptor(axiosClient, walletClient);
|
|
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");
|
|
35
|
-
}
|
|
36
|
-
return tinybars / 1e8;
|
|
1
|
+
import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es145.js";
|
|
2
|
+
import { toJsonObject } from "./standards-sdk.es177.js";
|
|
3
|
+
async function adapters(client) {
|
|
4
|
+
const raw = await client.requestJson("/adapters", {
|
|
5
|
+
method: "GET"
|
|
6
|
+
});
|
|
7
|
+
return client.parseWithSchema(
|
|
8
|
+
raw,
|
|
9
|
+
adaptersResponseSchema,
|
|
10
|
+
"adapters response"
|
|
11
|
+
);
|
|
37
12
|
}
|
|
38
|
-
async function
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
payerKey: params.privateKey,
|
|
42
|
-
hbarAmount: calculateHbarAmountParam(params.hbarAmount)
|
|
43
|
-
};
|
|
44
|
-
if (params.memo) {
|
|
45
|
-
body.memo = params.memo;
|
|
46
|
-
}
|
|
47
|
-
if (params.metadata) {
|
|
48
|
-
body.metadata = params.metadata;
|
|
49
|
-
}
|
|
50
|
-
const raw = await client.requestJson("/credits/purchase", {
|
|
51
|
-
method: "POST",
|
|
52
|
-
headers: { "content-type": "application/json" },
|
|
53
|
-
body
|
|
13
|
+
async function adaptersDetailed(client) {
|
|
14
|
+
const raw = await client.requestJson("/adapters/details", {
|
|
15
|
+
method: "GET"
|
|
54
16
|
});
|
|
55
17
|
return client.parseWithSchema(
|
|
56
18
|
raw,
|
|
57
|
-
|
|
58
|
-
"
|
|
19
|
+
adapterDetailsResponseSchema,
|
|
20
|
+
"adapter details response"
|
|
59
21
|
);
|
|
60
22
|
}
|
|
61
|
-
async function
|
|
23
|
+
async function adapterRegistryCategories(client) {
|
|
62
24
|
const raw = await client.requestJson(
|
|
63
|
-
"/
|
|
64
|
-
{
|
|
25
|
+
"/adapters/registry/categories",
|
|
26
|
+
{
|
|
27
|
+
method: "GET"
|
|
28
|
+
}
|
|
65
29
|
);
|
|
66
30
|
return client.parseWithSchema(
|
|
67
31
|
raw,
|
|
68
|
-
|
|
69
|
-
"
|
|
32
|
+
adapterRegistryCategoriesResponseSchema,
|
|
33
|
+
"adapter registry categories response"
|
|
70
34
|
);
|
|
71
35
|
}
|
|
72
|
-
async function
|
|
73
|
-
const
|
|
74
|
-
if (
|
|
75
|
-
|
|
36
|
+
async function adapterRegistryAdapters(client, filters = {}) {
|
|
37
|
+
const params = new URLSearchParams();
|
|
38
|
+
if (filters.category) {
|
|
39
|
+
params.set("category", filters.category);
|
|
40
|
+
}
|
|
41
|
+
if (filters.entity) {
|
|
42
|
+
params.set("entity", filters.entity);
|
|
76
43
|
}
|
|
77
|
-
if (
|
|
78
|
-
|
|
44
|
+
if (filters.keywords?.length) {
|
|
45
|
+
params.set("keywords", filters.keywords.join(","));
|
|
79
46
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
credits: params.credits
|
|
83
|
-
};
|
|
84
|
-
if (params.usdAmount !== void 0) {
|
|
85
|
-
body.usdAmount = params.usdAmount;
|
|
47
|
+
if (filters.query) {
|
|
48
|
+
params.set("query", filters.query);
|
|
86
49
|
}
|
|
87
|
-
if (
|
|
88
|
-
|
|
50
|
+
if (typeof filters.limit === "number") {
|
|
51
|
+
params.set("limit", String(filters.limit));
|
|
89
52
|
}
|
|
90
|
-
if (
|
|
91
|
-
|
|
53
|
+
if (typeof filters.offset === "number") {
|
|
54
|
+
params.set("offset", String(filters.offset));
|
|
92
55
|
}
|
|
93
|
-
const
|
|
94
|
-
const
|
|
56
|
+
const suffix = params.size > 0 ? `?${params.toString()}` : "";
|
|
57
|
+
const raw = await client.requestJson(
|
|
58
|
+
`/adapters/registry/adapters${suffix}`,
|
|
59
|
+
{
|
|
60
|
+
method: "GET"
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
return client.parseWithSchema(
|
|
64
|
+
raw,
|
|
65
|
+
adapterRegistryAdaptersResponseSchema,
|
|
66
|
+
"adapter registry adapters response"
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
async function createAdapterRegistryCategory(client, payload) {
|
|
70
|
+
const raw = await client.requestJson(
|
|
71
|
+
"/adapters/registry/categories",
|
|
72
|
+
{
|
|
73
|
+
method: "POST",
|
|
74
|
+
headers: { "content-type": "application/json" },
|
|
75
|
+
body: toJsonObject(payload)
|
|
76
|
+
}
|
|
77
|
+
);
|
|
95
78
|
const parsed = client.parseWithSchema(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
79
|
+
raw,
|
|
80
|
+
adapterRegistryCreateCategoryResponseSchema,
|
|
81
|
+
"adapter registry create category response"
|
|
99
82
|
);
|
|
100
|
-
|
|
101
|
-
const paymentHeader = typeof responseHeaders["x-payment-response"] === "string" ? responseHeaders["x-payment-response"] : void 0;
|
|
102
|
-
const decodedPayment = paymentHeader !== void 0 ? decodePaymentResponse(paymentHeader) : void 0;
|
|
103
|
-
return {
|
|
104
|
-
...parsed,
|
|
105
|
-
paymentResponseHeader: paymentHeader,
|
|
106
|
-
paymentResponse: decodedPayment
|
|
107
|
-
};
|
|
83
|
+
return parsed.category;
|
|
108
84
|
}
|
|
109
|
-
async function
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
+
);
|
|
99
|
+
}
|
|
100
|
+
async function adapterRegistrySubmissionStatus(client, submissionId) {
|
|
101
|
+
const raw = await client.requestJson(
|
|
102
|
+
`/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
|
|
103
|
+
{
|
|
104
|
+
method: "GET"
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
return client.parseWithSchema(
|
|
108
|
+
raw,
|
|
109
|
+
adapterRegistrySubmissionStatusResponseSchema,
|
|
110
|
+
"adapter registry submission status response"
|
|
111
|
+
);
|
|
122
112
|
}
|
|
123
113
|
export {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
114
|
+
adapterRegistryAdapters,
|
|
115
|
+
adapterRegistryCategories,
|
|
116
|
+
adapterRegistrySubmissionStatus,
|
|
117
|
+
adapters,
|
|
118
|
+
adaptersDetailed,
|
|
119
|
+
createAdapterRegistryCategory,
|
|
120
|
+
submitAdapterRegistryAdapter
|
|
128
121
|
};
|
|
129
122
|
//# sourceMappingURL=standards-sdk.es178.js.map
|