@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.
Files changed (159) hide show
  1. package/README.md +2 -2
  2. package/dist/browser/services/registry-broker/client/base-client.d.ts +3 -2
  3. package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
  4. package/dist/browser/services/registry-broker/client/search.d.ts +2 -1
  5. package/dist/browser/services/registry-broker/client/search.d.ts.map +1 -1
  6. package/dist/browser/services/registry-broker/client.d.ts +1 -0
  7. package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
  8. package/dist/browser/services/registry-broker/schemas.d.ts +17723 -58
  9. package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
  10. package/dist/browser/services/registry-broker/types.d.ts +36 -1
  11. package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
  12. package/dist/browser/standards-sdk.browser.js +64 -1
  13. package/dist/browser/standards-sdk.browser.js.map +1 -1
  14. package/dist/cjs/services/registry-broker/client/base-client.d.ts +3 -2
  15. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  16. package/dist/cjs/services/registry-broker/client/search.d.ts +2 -1
  17. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -1
  18. package/dist/cjs/services/registry-broker/client.d.ts +1 -0
  19. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  20. package/dist/cjs/services/registry-broker/schemas.d.ts +17814 -149
  21. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  22. package/dist/cjs/services/registry-broker/types.d.ts +36 -1
  23. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  24. package/dist/cjs/standards-sdk.cjs +3 -3
  25. package/dist/cjs/standards-sdk.cjs.map +1 -1
  26. package/dist/es/services/registry-broker/client/base-client.d.ts +3 -2
  27. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  28. package/dist/es/services/registry-broker/client/search.d.ts +2 -1
  29. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -1
  30. package/dist/es/services/registry-broker/client.d.ts +1 -0
  31. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  32. package/dist/es/services/registry-broker/schemas.d.ts +17814 -149
  33. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  34. package/dist/es/services/registry-broker/types.d.ts +36 -1
  35. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  36. package/dist/es/standards-sdk.es.js +20 -9
  37. package/dist/es/standards-sdk.es.js.map +1 -1
  38. package/dist/es/standards-sdk.es104.js +1 -1
  39. package/dist/es/standards-sdk.es106.js +1 -1
  40. package/dist/es/standards-sdk.es108.js +1 -1
  41. package/dist/es/standards-sdk.es11.js +1 -1
  42. package/dist/es/standards-sdk.es110.js +1 -1
  43. package/dist/es/standards-sdk.es116.js +2 -2
  44. package/dist/es/standards-sdk.es12.js +1 -1
  45. package/dist/es/standards-sdk.es121.js +1 -1
  46. package/dist/es/standards-sdk.es127.js +1 -1
  47. package/dist/es/standards-sdk.es128.js +5 -5
  48. package/dist/es/standards-sdk.es138.js +1 -1
  49. package/dist/es/standards-sdk.es139.js +1 -1
  50. package/dist/es/standards-sdk.es140.js +5 -5
  51. package/dist/es/standards-sdk.es142.js +2 -2
  52. package/dist/es/standards-sdk.es143.js +1 -1
  53. package/dist/es/standards-sdk.es145.js +65 -1
  54. package/dist/es/standards-sdk.es145.js.map +1 -1
  55. package/dist/es/standards-sdk.es147.js +250 -78
  56. package/dist/es/standards-sdk.es147.js.map +1 -1
  57. package/dist/es/standards-sdk.es148.js +77 -71
  58. package/dist/es/standards-sdk.es148.js.map +1 -1
  59. package/dist/es/standards-sdk.es149.js +79 -936
  60. package/dist/es/standards-sdk.es149.js.map +1 -1
  61. package/dist/es/standards-sdk.es150.js +934 -53
  62. package/dist/es/standards-sdk.es150.js.map +1 -1
  63. package/dist/es/standards-sdk.es151.js +53 -152
  64. package/dist/es/standards-sdk.es151.js.map +1 -1
  65. package/dist/es/standards-sdk.es152.js +159 -7
  66. package/dist/es/standards-sdk.es152.js.map +1 -1
  67. package/dist/es/standards-sdk.es153.js +7 -86
  68. package/dist/es/standards-sdk.es153.js.map +1 -1
  69. package/dist/es/standards-sdk.es154.js +64 -43
  70. package/dist/es/standards-sdk.es154.js.map +1 -1
  71. package/dist/es/standards-sdk.es155.js +65 -30
  72. package/dist/es/standards-sdk.es155.js.map +1 -1
  73. package/dist/es/standards-sdk.es156.js +30 -34
  74. package/dist/es/standards-sdk.es156.js.map +1 -1
  75. package/dist/es/standards-sdk.es157.js +34 -48
  76. package/dist/es/standards-sdk.es157.js.map +1 -1
  77. package/dist/es/standards-sdk.es158.js +48 -138
  78. package/dist/es/standards-sdk.es158.js.map +1 -1
  79. package/dist/es/standards-sdk.es159.js +133 -37
  80. package/dist/es/standards-sdk.es159.js.map +1 -1
  81. package/dist/es/standards-sdk.es16.js +1 -1
  82. package/dist/es/standards-sdk.es160.js +34 -12474
  83. package/dist/es/standards-sdk.es160.js.map +1 -1
  84. package/dist/es/standards-sdk.es161.js +12479 -53
  85. package/dist/es/standards-sdk.es161.js.map +1 -1
  86. package/dist/es/standards-sdk.es162.js +48 -76
  87. package/dist/es/standards-sdk.es162.js.map +1 -1
  88. package/dist/es/standards-sdk.es163.js +69 -66
  89. package/dist/es/standards-sdk.es163.js.map +1 -1
  90. package/dist/es/standards-sdk.es164.js +61 -180
  91. package/dist/es/standards-sdk.es164.js.map +1 -1
  92. package/dist/es/standards-sdk.es165.js +197 -14
  93. package/dist/es/standards-sdk.es165.js.map +1 -1
  94. package/dist/es/standards-sdk.es166.js +15 -548
  95. package/dist/es/standards-sdk.es166.js.map +1 -1
  96. package/dist/es/standards-sdk.es167.js +66 -165
  97. package/dist/es/standards-sdk.es167.js.map +1 -1
  98. package/dist/es/standards-sdk.es168.js +535 -307
  99. package/dist/es/standards-sdk.es168.js.map +1 -1
  100. package/dist/es/standards-sdk.es169.js +120 -294
  101. package/dist/es/standards-sdk.es169.js.map +1 -1
  102. package/dist/es/standards-sdk.es170.js +191 -322
  103. package/dist/es/standards-sdk.es170.js.map +1 -1
  104. package/dist/es/standards-sdk.es171.js +294 -279
  105. package/dist/es/standards-sdk.es171.js.map +1 -1
  106. package/dist/es/standards-sdk.es172.js +440 -63
  107. package/dist/es/standards-sdk.es172.js.map +1 -1
  108. package/dist/es/standards-sdk.es173.js +323 -65
  109. package/dist/es/standards-sdk.es173.js.map +1 -1
  110. package/dist/es/standards-sdk.es174.js +61 -157
  111. package/dist/es/standards-sdk.es174.js.map +1 -1
  112. package/dist/es/standards-sdk.es175.js +152 -202
  113. package/dist/es/standards-sdk.es175.js.map +1 -1
  114. package/dist/es/standards-sdk.es176.js +219 -223
  115. package/dist/es/standards-sdk.es176.js.map +1 -1
  116. package/dist/es/standards-sdk.es177.js +227 -107
  117. package/dist/es/standards-sdk.es177.js.map +1 -1
  118. package/dist/es/standards-sdk.es178.js +98 -105
  119. package/dist/es/standards-sdk.es178.js.map +1 -1
  120. package/dist/es/standards-sdk.es179.js +105 -140
  121. package/dist/es/standards-sdk.es179.js.map +1 -1
  122. package/dist/es/standards-sdk.es18.js +4 -4
  123. package/dist/es/standards-sdk.es180.js +2 -2
  124. package/dist/es/standards-sdk.es182.js +1 -1
  125. package/dist/es/standards-sdk.es19.js +2 -2
  126. package/dist/es/standards-sdk.es22.js +1 -1
  127. package/dist/es/standards-sdk.es27.js +4 -4
  128. package/dist/es/standards-sdk.es30.js +1 -1
  129. package/dist/es/standards-sdk.es31.js +1 -1
  130. package/dist/es/standards-sdk.es35.js +2 -2
  131. package/dist/es/standards-sdk.es36.js +3 -3
  132. package/dist/es/standards-sdk.es37.js +1 -1
  133. package/dist/es/standards-sdk.es4.js +1 -1
  134. package/dist/es/standards-sdk.es53.js +1 -1
  135. package/dist/es/standards-sdk.es56.js +1 -1
  136. package/dist/es/standards-sdk.es59.js +1 -1
  137. package/dist/es/standards-sdk.es60.js +1 -1
  138. package/dist/es/standards-sdk.es62.js +1 -1
  139. package/dist/es/standards-sdk.es63.js +2 -2
  140. package/dist/es/standards-sdk.es64.js +1 -1
  141. package/dist/es/standards-sdk.es65.js +1 -1
  142. package/dist/es/standards-sdk.es66.js +1 -1
  143. package/dist/es/standards-sdk.es67.js +2 -2
  144. package/dist/es/standards-sdk.es69.js +1 -1
  145. package/dist/es/standards-sdk.es7.js +1 -1
  146. package/dist/es/standards-sdk.es71.js +1 -1
  147. package/dist/es/standards-sdk.es72.js +2 -2
  148. package/dist/es/standards-sdk.es75.js +3 -3
  149. package/dist/es/standards-sdk.es76.js +1 -1
  150. package/dist/es/standards-sdk.es78.js +1 -1
  151. package/dist/es/standards-sdk.es83.js +1 -1
  152. package/dist/es/standards-sdk.es84.js +1 -1
  153. package/dist/es/standards-sdk.es85.js +1 -1
  154. package/dist/es/standards-sdk.es88.js +1 -1
  155. package/dist/es/standards-sdk.es90.js +1 -1
  156. package/dist/es/standards-sdk.es94.js +3 -3
  157. package/dist/es/standards-sdk.es98.js +1 -1
  158. package/dist/es/standards-sdk.es99.js +1 -1
  159. package/package.json +1 -1
@@ -1,122 +1,242 @@
1
- import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es145.js";
2
- import { toJsonObject } from "./standards-sdk.es176.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
- );
12
- }
13
- async function adaptersDetailed(client) {
14
- const raw = await client.requestJson("/adapters/details", {
15
- method: "GET"
16
- });
17
- return client.parseWithSchema(
18
- raw,
19
- adapterDetailsResponseSchema,
20
- "adapter details response"
21
- );
22
- }
23
- async function adapterRegistryCategories(client) {
24
- const raw = await client.requestJson(
25
- "/adapters/registry/categories",
26
- {
27
- method: "GET"
28
- }
29
- );
30
- return client.parseWithSchema(
31
- raw,
32
- adapterRegistryCategoriesResponseSchema,
33
- "adapter registry categories response"
34
- );
35
- }
36
- async function adapterRegistryAdapters(client, filters = {}) {
37
- const params = new URLSearchParams();
38
- if (filters.category) {
39
- params.set("category", filters.category);
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 (filters.entity) {
42
- params.set("entity", filters.entity);
84
+ if (payload.protocol !== void 0) {
85
+ body.protocol = payload.protocol;
43
86
  }
44
- if (filters.keywords?.length) {
45
- params.set("keywords", filters.keywords.join(","));
87
+ if (payload.communicationProtocol !== void 0) {
88
+ body.communicationProtocol = payload.communicationProtocol;
46
89
  }
47
- if (filters.query) {
48
- params.set("query", filters.query);
90
+ if (payload.registry !== void 0) {
91
+ body.registry = payload.registry;
49
92
  }
50
- if (typeof filters.limit === "number") {
51
- params.set("limit", String(filters.limit));
93
+ if (payload.additionalRegistries !== void 0) {
94
+ body.additionalRegistries = payload.additionalRegistries;
52
95
  }
53
- if (typeof filters.offset === "number") {
54
- params.set("offset", String(filters.offset));
96
+ if (payload.metadata !== void 0) {
97
+ body.metadata = toJsonObject(payload.metadata);
55
98
  }
56
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
57
- const raw = await client.requestJson(
58
- `/adapters/registry/adapters${suffix}`,
59
- {
60
- method: "GET"
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
- return client.parseWithSchema(
64
- raw,
65
- adapterRegistryAdaptersResponseSchema,
66
- "adapter registry adapters response"
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
- 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)
138
+ function buildSearchQuery(params) {
139
+ const query = new URLSearchParams();
140
+ const appendList = (key, values) => {
141
+ if (!values) {
142
+ return;
76
143
  }
77
- );
78
- const parsed = client.parseWithSchema(
79
- raw,
80
- adapterRegistryCreateCategoryResponseSchema,
81
- "adapter registry create category response"
82
- );
83
- return parsed.category;
84
- }
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)
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
- 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"
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
- return client.parseWithSchema(
108
- raw,
109
- adapterRegistrySubmissionStatusResponseSchema,
110
- "adapter registry submission status response"
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
- adapterRegistryAdapters,
115
- adapterRegistryCategories,
116
- adapterRegistrySubmissionStatus,
117
- adapters,
118
- adaptersDetailed,
119
- createAdapterRegistryCategory,
120
- submitAdapterRegistryAdapter
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 { creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema } from "./standards-sdk.es145.js";
2
- import { normalizeHexPrivateKey } from "./standards-sdk.es176.js";
3
- import { optionalImport } from "./standards-sdk.es162.js";
4
- async function loadX402Dependencies(client) {
5
- const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
6
- import("axios"),
7
- optionalImport("x402-axios"),
8
- optionalImport("x402/types")
9
- ]);
10
- if (!x402Axios || !x402Types) {
11
- throw new Error(
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 purchaseCreditsWithHbar(client, params) {
39
- const body = {
40
- accountId: params.accountId,
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
- creditPurchaseResponseSchema,
58
- "credit purchase response"
19
+ adapterDetailsResponseSchema,
20
+ "adapter details response"
59
21
  );
60
22
  }
61
- async function getX402Minimums(client) {
23
+ async function adapterRegistryCategories(client) {
62
24
  const raw = await client.requestJson(
63
- "/credits/purchase/x402/minimums",
64
- { method: "GET" }
25
+ "/adapters/registry/categories",
26
+ {
27
+ method: "GET"
28
+ }
65
29
  );
66
30
  return client.parseWithSchema(
67
31
  raw,
68
- x402MinimumsResponseSchema,
69
- "x402 minimums response"
32
+ adapterRegistryCategoriesResponseSchema,
33
+ "adapter registry categories response"
70
34
  );
71
35
  }
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");
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 (params.usdAmount !== void 0 && (!Number.isFinite(params.usdAmount) || params.usdAmount <= 0)) {
78
- throw new Error("usdAmount must be a positive number when provided");
44
+ if (filters.keywords?.length) {
45
+ params.set("keywords", filters.keywords.join(","));
79
46
  }
80
- const body = {
81
- accountId: params.accountId,
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 (params.description) {
88
- body.description = params.description;
50
+ if (typeof filters.limit === "number") {
51
+ params.set("limit", String(filters.limit));
89
52
  }
90
- if (params.metadata) {
91
- body.metadata = params.metadata;
53
+ if (typeof filters.offset === "number") {
54
+ params.set("offset", String(filters.offset));
92
55
  }
93
- const paymentClient = createPaymentClient(params.walletClient);
94
- const response = await paymentClient.post("/credits/purchase/x402", body);
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
- response.data,
97
- x402CreditPurchaseResponseSchema,
98
- "x402 credit purchase response"
79
+ raw,
80
+ adapterRegistryCreateCategoryResponseSchema,
81
+ "adapter registry create category response"
99
82
  );
100
- const responseHeaders = response.headers ?? {};
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 buyCreditsWithX402(client, params) {
110
- const network = params.network ?? "base";
111
- const { createX402Signer } = await loadX402Dependencies(client);
112
- const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);
113
- const walletClient = await createX402Signer(network, normalizedKey);
114
- return purchaseCreditsWithX402(client, {
115
- accountId: params.accountId,
116
- credits: params.credits,
117
- usdAmount: params.usdAmount,
118
- description: params.description,
119
- metadata: params.metadata,
120
- walletClient
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
- buyCreditsWithX402,
125
- getX402Minimums,
126
- purchaseCreditsWithHbar,
127
- purchaseCreditsWithX402
114
+ adapterRegistryAdapters,
115
+ adapterRegistryCategories,
116
+ adapterRegistrySubmissionStatus,
117
+ adapters,
118
+ adaptersDetailed,
119
+ createAdapterRegistryCategory,
120
+ submitAdapterRegistryAdapter
128
121
  };
129
122
  //# sourceMappingURL=standards-sdk.es178.js.map