@hashgraphonline/standards-sdk 0.1.146-chore-jsr-improvements.canary.6bc8731.90 → 0.1.146-chore-jsr-improvements.canary.01d3174.92

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 (142) hide show
  1. package/dist/cjs/jsr-entry.d.ts +30 -10
  2. package/dist/cjs/jsr-entry.d.ts.map +1 -1
  3. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  4. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  5. package/dist/cjs/services/registry-broker/client/search-helpers.d.ts +16 -0
  6. package/dist/cjs/services/registry-broker/client/search-helpers.d.ts.map +1 -0
  7. package/dist/cjs/services/registry-broker/client/search.d.ts +5 -18
  8. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -1
  9. package/dist/cjs/standards-sdk.cjs +1 -1
  10. package/dist/cjs/standards-sdk.cjs.map +1 -1
  11. package/dist/es/jsr-entry.d.ts +30 -10
  12. package/dist/es/jsr-entry.d.ts.map +1 -1
  13. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  14. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  15. package/dist/es/services/registry-broker/client/search-helpers.d.ts +16 -0
  16. package/dist/es/services/registry-broker/client/search-helpers.d.ts.map +1 -0
  17. package/dist/es/services/registry-broker/client/search.d.ts +5 -18
  18. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -1
  19. package/dist/es/standards-sdk.es.js +9 -10
  20. package/dist/es/standards-sdk.es.js.map +1 -1
  21. package/dist/es/standards-sdk.es101.js +1 -1
  22. package/dist/es/standards-sdk.es103.js +1 -1
  23. package/dist/es/standards-sdk.es109.js +2 -3
  24. package/dist/es/standards-sdk.es109.js.map +1 -1
  25. package/dist/es/standards-sdk.es11.js +1 -1
  26. package/dist/es/standards-sdk.es110.js +5 -5
  27. package/dist/es/standards-sdk.es12.js +1 -1
  28. package/dist/es/standards-sdk.es120.js +1 -1
  29. package/dist/es/standards-sdk.es121.js +1 -1
  30. package/dist/es/standards-sdk.es122.js +5 -5
  31. package/dist/es/standards-sdk.es124.js +1 -1
  32. package/dist/es/standards-sdk.es125.js +1 -1
  33. package/dist/es/standards-sdk.es127.js +3 -3
  34. package/dist/es/standards-sdk.es128.js +61 -164
  35. package/dist/es/standards-sdk.es128.js.map +1 -1
  36. package/dist/es/standards-sdk.es129.js +102 -85
  37. package/dist/es/standards-sdk.es129.js.map +1 -1
  38. package/dist/es/standards-sdk.es130.js +222 -96
  39. package/dist/es/standards-sdk.es130.js.map +1 -1
  40. package/dist/es/standards-sdk.es131.js +153 -220
  41. package/dist/es/standards-sdk.es131.js.map +1 -1
  42. package/dist/es/standards-sdk.es132.js +104 -162
  43. package/dist/es/standards-sdk.es132.js.map +1 -1
  44. package/dist/es/standards-sdk.es133.js +296 -92
  45. package/dist/es/standards-sdk.es133.js.map +1 -1
  46. package/dist/es/standards-sdk.es134.js +587 -288
  47. package/dist/es/standards-sdk.es134.js.map +1 -1
  48. package/dist/es/standards-sdk.es135.js +14 -461
  49. package/dist/es/standards-sdk.es135.js.map +1 -1
  50. package/dist/es/standards-sdk.es136.js +79 -15
  51. package/dist/es/standards-sdk.es136.js.map +1 -1
  52. package/dist/es/standards-sdk.es137.js +77 -71
  53. package/dist/es/standards-sdk.es137.js.map +1 -1
  54. package/dist/es/standards-sdk.es138.js +53 -80
  55. package/dist/es/standards-sdk.es138.js.map +1 -1
  56. package/dist/es/standards-sdk.es139.js +152 -53
  57. package/dist/es/standards-sdk.es139.js.map +1 -1
  58. package/dist/es/standards-sdk.es140.js +7 -159
  59. package/dist/es/standards-sdk.es140.js.map +1 -1
  60. package/dist/es/standards-sdk.es141.js +86 -7
  61. package/dist/es/standards-sdk.es141.js.map +1 -1
  62. package/dist/es/standards-sdk.es142.js +43 -64
  63. package/dist/es/standards-sdk.es142.js.map +1 -1
  64. package/dist/es/standards-sdk.es143.js +30 -65
  65. package/dist/es/standards-sdk.es143.js.map +1 -1
  66. package/dist/es/standards-sdk.es144.js +34 -30
  67. package/dist/es/standards-sdk.es144.js.map +1 -1
  68. package/dist/es/standards-sdk.es145.js +28 -34
  69. package/dist/es/standards-sdk.es145.js.map +1 -1
  70. package/dist/es/standards-sdk.es146.js +138 -28
  71. package/dist/es/standards-sdk.es146.js.map +1 -1
  72. package/dist/es/standards-sdk.es147.js +34 -12281
  73. package/dist/es/standards-sdk.es147.js.map +1 -1
  74. package/dist/es/standards-sdk.es148.js +17 -959
  75. package/dist/es/standards-sdk.es148.js.map +1 -1
  76. package/dist/es/standards-sdk.es149.js +12256 -105
  77. package/dist/es/standards-sdk.es149.js.map +1 -1
  78. package/dist/es/standards-sdk.es150.js +959 -42
  79. package/dist/es/standards-sdk.es150.js.map +1 -1
  80. package/dist/es/standards-sdk.es151.js +54 -15
  81. package/dist/es/standards-sdk.es151.js.map +1 -1
  82. package/dist/es/standards-sdk.es152.js +76 -48
  83. package/dist/es/standards-sdk.es152.js.map +1 -1
  84. package/dist/es/standards-sdk.es153.js +160 -72
  85. package/dist/es/standards-sdk.es153.js.map +1 -1
  86. package/dist/es/standards-sdk.es154.js +289 -139
  87. package/dist/es/standards-sdk.es154.js.map +1 -1
  88. package/dist/es/standards-sdk.es155.js +298 -274
  89. package/dist/es/standards-sdk.es155.js.map +1 -1
  90. package/dist/es/standards-sdk.es156.js +369 -262
  91. package/dist/es/standards-sdk.es156.js.map +1 -1
  92. package/dist/es/standards-sdk.es157.js +194 -316
  93. package/dist/es/standards-sdk.es157.js.map +1 -1
  94. package/dist/es/standards-sdk.es158.js +64 -319
  95. package/dist/es/standards-sdk.es158.js.map +1 -1
  96. package/dist/es/standards-sdk.es159.js +231 -68
  97. package/dist/es/standards-sdk.es159.js.map +1 -1
  98. package/dist/es/standards-sdk.es16.js +2 -3
  99. package/dist/es/standards-sdk.es16.js.map +1 -1
  100. package/dist/es/standards-sdk.es160.js +223 -218
  101. package/dist/es/standards-sdk.es160.js.map +1 -1
  102. package/dist/es/standards-sdk.es18.js +5 -6
  103. package/dist/es/standards-sdk.es18.js.map +1 -1
  104. package/dist/es/standards-sdk.es19.js +3 -4
  105. package/dist/es/standards-sdk.es19.js.map +1 -1
  106. package/dist/es/standards-sdk.es22.js +1 -1
  107. package/dist/es/standards-sdk.es27.js +5 -6
  108. package/dist/es/standards-sdk.es27.js.map +1 -1
  109. package/dist/es/standards-sdk.es30.js +1 -1
  110. package/dist/es/standards-sdk.es31.js +1 -1
  111. package/dist/es/standards-sdk.es35.js +3 -4
  112. package/dist/es/standards-sdk.es35.js.map +1 -1
  113. package/dist/es/standards-sdk.es36.js +3 -3
  114. package/dist/es/standards-sdk.es37.js +1 -1
  115. package/dist/es/standards-sdk.es4.js +1 -1
  116. package/dist/es/standards-sdk.es53.js +1 -1
  117. package/dist/es/standards-sdk.es56.js +1 -1
  118. package/dist/es/standards-sdk.es58.js +1 -1
  119. package/dist/es/standards-sdk.es59.js +1 -1
  120. package/dist/es/standards-sdk.es60.js +3 -4
  121. package/dist/es/standards-sdk.es60.js.map +1 -1
  122. package/dist/es/standards-sdk.es62.js +1 -1
  123. package/dist/es/standards-sdk.es64.js +1 -1
  124. package/dist/es/standards-sdk.es65.js +2 -2
  125. package/dist/es/standards-sdk.es68.js +2 -2
  126. package/dist/es/standards-sdk.es69.js +1 -1
  127. package/dist/es/standards-sdk.es7.js +1 -1
  128. package/dist/es/standards-sdk.es71.js +1 -1
  129. package/dist/es/standards-sdk.es76.js +1 -1
  130. package/dist/es/standards-sdk.es77.js +2 -3
  131. package/dist/es/standards-sdk.es77.js.map +1 -1
  132. package/dist/es/standards-sdk.es78.js +1 -1
  133. package/dist/es/standards-sdk.es81.js +1 -1
  134. package/dist/es/standards-sdk.es83.js +1 -1
  135. package/dist/es/standards-sdk.es87.js +3 -3
  136. package/dist/es/standards-sdk.es91.js +1 -1
  137. package/dist/es/standards-sdk.es92.js +1 -1
  138. package/dist/es/standards-sdk.es97.js +1 -1
  139. package/dist/es/standards-sdk.es99.js +1 -1
  140. package/package.json +1 -1
  141. package/dist/es/standards-sdk.es161.js +0 -247
  142. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -1,210 +1,107 @@
1
- import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, searchFacetsResponseSchema } from "./standards-sdk.es148.js";
2
- import { RegistryBrokerClient } from "./standards-sdk.es135.js";
3
- import { buildSearchQuery } from "./standards-sdk.es160.js";
4
- import { RegistryBrokerError } from "./standards-sdk.es136.js";
5
- function buildVectorFallbackSearchParams(request) {
6
- const params = {
7
- q: request.query
8
- };
9
- let effectiveLimit;
10
- if (typeof request.limit === "number" && Number.isFinite(request.limit)) {
11
- effectiveLimit = request.limit;
12
- params.limit = request.limit;
13
- }
14
- if (typeof request.offset === "number" && Number.isFinite(request.offset) && request.offset > 0) {
15
- const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;
16
- params.limit = limit;
17
- params.page = Math.floor(request.offset / limit) + 1;
18
- }
19
- if (request.filter?.registry) {
20
- params.registry = request.filter.registry;
21
- }
22
- if (request.filter?.protocols?.length) {
23
- params.protocols = [...request.filter.protocols];
24
- }
25
- if (request.filter?.adapter?.length) {
26
- params.adapters = [...request.filter.adapter];
27
- }
28
- if (request.filter?.capabilities?.length) {
29
- params.capabilities = request.filter.capabilities.map(
30
- (value) => typeof value === "number" ? value.toString(10) : value
31
- );
32
- }
33
- if (request.filter?.type) {
34
- params.type = request.filter.type;
35
- }
36
- return params;
37
- }
38
- function convertSearchResultToVectorResponse(result) {
39
- const hits = result.hits.map((agent) => ({
40
- agent,
41
- score: 0,
42
- highlights: {}
43
- }));
44
- const total = result.total;
45
- const limit = result.limit;
46
- const page = result.page;
47
- const totalVisible = page * limit;
48
- const limited = total > totalVisible || page > 1;
49
- return {
50
- hits,
51
- total,
52
- took: 0,
53
- totalAvailable: total,
54
- visible: hits.length,
55
- limited,
56
- credits_used: 0
57
- };
58
- }
59
- RegistryBrokerClient.prototype.search = async function(params = {}) {
60
- const query = buildSearchQuery(params);
61
- const raw = await this.requestJson(`/search${query}`, {
1
+ import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es150.js";
2
+ import { RegistryBrokerClient } from "./standards-sdk.es134.js";
3
+ import { toJsonObject } from "./standards-sdk.es159.js";
4
+ RegistryBrokerClient.prototype.adapters = async function() {
5
+ const raw = await this.requestJson("/adapters", {
62
6
  method: "GET"
63
7
  });
64
- return this.parseWithSchema(raw, searchResponseSchema, "search response");
8
+ return this.parseWithSchema(raw, adaptersResponseSchema, "adapters response");
65
9
  };
66
- RegistryBrokerClient.prototype.stats = async function() {
67
- const raw = await this.requestJson("/stats", { method: "GET" });
68
- return this.parseWithSchema(raw, statsResponseSchema, "stats response");
69
- };
70
- RegistryBrokerClient.prototype.registries = async function() {
71
- const raw = await this.requestJson("/registries", {
10
+ RegistryBrokerClient.prototype.adaptersDetailed = async function() {
11
+ const raw = await this.requestJson("/adapters/details", {
72
12
  method: "GET"
73
13
  });
74
14
  return this.parseWithSchema(
75
15
  raw,
76
- registriesResponseSchema,
77
- "registries response"
16
+ adapterDetailsResponseSchema,
17
+ "adapter details response"
78
18
  );
79
19
  };
80
- RegistryBrokerClient.prototype.getAdditionalRegistries = async function() {
20
+ RegistryBrokerClient.prototype.adapterRegistryCategories = async function() {
81
21
  const raw = await this.requestJson(
82
- "/register/additional-registries",
22
+ "/adapters/registry/categories",
83
23
  {
84
24
  method: "GET"
85
25
  }
86
26
  );
87
27
  return this.parseWithSchema(
88
28
  raw,
89
- additionalRegistryCatalogResponseSchema,
90
- "additional registry catalog response"
91
- );
92
- };
93
- RegistryBrokerClient.prototype.popularSearches = async function() {
94
- const raw = await this.requestJson("/popular", {
95
- method: "GET"
96
- });
97
- return this.parseWithSchema(
98
- raw,
99
- popularResponseSchema,
100
- "popular searches response"
101
- );
102
- };
103
- RegistryBrokerClient.prototype.listProtocols = async function() {
104
- const raw = await this.requestJson("/protocols", {
105
- method: "GET"
106
- });
107
- return this.parseWithSchema(
108
- raw,
109
- protocolsResponseSchema,
110
- "protocols response"
111
- );
112
- };
113
- RegistryBrokerClient.prototype.detectProtocol = async function(message) {
114
- const raw = await this.requestJson("/detect-protocol", {
115
- method: "POST",
116
- body: { message },
117
- headers: { "content-type": "application/json" }
118
- });
119
- return this.parseWithSchema(
120
- raw,
121
- detectProtocolResponseSchema,
122
- "detect protocol response"
29
+ adapterRegistryCategoriesResponseSchema,
30
+ "adapter registry categories response"
123
31
  );
124
32
  };
125
- RegistryBrokerClient.prototype.registrySearchByNamespace = async function(registry, query) {
33
+ RegistryBrokerClient.prototype.adapterRegistryAdapters = async function(filters = {}) {
126
34
  const params = new URLSearchParams();
127
- if (query) {
128
- params.set("q", query);
35
+ if (filters.category) {
36
+ params.set("category", filters.category);
37
+ }
38
+ if (filters.entity) {
39
+ params.set("entity", filters.entity);
40
+ }
41
+ if (filters.keywords?.length) {
42
+ params.set("keywords", filters.keywords.join(","));
43
+ }
44
+ if (filters.query) {
45
+ params.set("query", filters.query);
46
+ }
47
+ if (typeof filters.limit === "number") {
48
+ params.set("limit", String(filters.limit));
49
+ }
50
+ if (typeof filters.offset === "number") {
51
+ params.set("offset", String(filters.offset));
129
52
  }
130
53
  const suffix = params.size > 0 ? `?${params.toString()}` : "";
131
54
  const raw = await this.requestJson(
132
- `/registries/${encodeURIComponent(registry)}/search${suffix}`,
55
+ `/adapters/registry/adapters${suffix}`,
133
56
  {
134
57
  method: "GET"
135
58
  }
136
59
  );
137
60
  return this.parseWithSchema(
138
61
  raw,
139
- registrySearchByNamespaceSchema,
140
- "registry search response"
62
+ adapterRegistryAdaptersResponseSchema,
63
+ "adapter registry adapters response"
141
64
  );
142
65
  };
143
- RegistryBrokerClient.prototype.vectorSearch = async function(request) {
144
- try {
145
- const raw = await this.requestJson("/search", {
66
+ RegistryBrokerClient.prototype.createAdapterRegistryCategory = async function(payload) {
67
+ const raw = await this.requestJson(
68
+ "/adapters/registry/categories",
69
+ {
146
70
  method: "POST",
147
- body: request,
148
- headers: { "content-type": "application/json" }
149
- });
150
- return this.parseWithSchema(
151
- raw,
152
- vectorSearchResponseSchema,
153
- "vector search response"
154
- );
155
- } catch (error) {
156
- if (error instanceof RegistryBrokerError && error.status === 501) {
157
- const fallback = await this.search(
158
- buildVectorFallbackSearchParams(request)
159
- );
160
- return convertSearchResultToVectorResponse(fallback);
71
+ headers: { "content-type": "application/json" },
72
+ body: toJsonObject(payload)
161
73
  }
162
- throw error;
163
- }
164
- };
165
- RegistryBrokerClient.prototype.searchStatus = async function() {
166
- const raw = await this.requestJson("/search/status", {
167
- method: "GET"
168
- });
169
- return this.parseWithSchema(
170
- raw,
171
- searchStatusResponseSchema,
172
- "search status response"
173
74
  );
174
- };
175
- RegistryBrokerClient.prototype.websocketStats = async function() {
176
- const raw = await this.requestJson("/websocket/stats", {
177
- method: "GET"
178
- });
179
- return this.parseWithSchema(
75
+ const parsed = this.parseWithSchema(
180
76
  raw,
181
- websocketStatsResponseSchema,
182
- "websocket stats response"
77
+ adapterRegistryCreateCategoryResponseSchema,
78
+ "adapter registry create category response"
183
79
  );
80
+ return parsed.category;
184
81
  };
185
- RegistryBrokerClient.prototype.metricsSummary = async function() {
186
- const raw = await this.requestJson("/metrics", {
187
- method: "GET"
82
+ RegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function(payload) {
83
+ const raw = await this.requestJson("/adapters/registry/adapters", {
84
+ method: "POST",
85
+ headers: { "content-type": "application/json" },
86
+ body: toJsonObject(payload)
188
87
  });
189
88
  return this.parseWithSchema(
190
89
  raw,
191
- metricsSummaryResponseSchema,
192
- "metrics summary response"
90
+ adapterRegistrySubmitAdapterAcceptedResponseSchema,
91
+ "adapter registry submit adapter response"
193
92
  );
194
93
  };
195
- RegistryBrokerClient.prototype.facets = async function(adapter) {
196
- const params = new URLSearchParams();
197
- if (adapter) {
198
- params.set("adapter", adapter);
199
- }
200
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
201
- const raw = await this.requestJson(`/search/facets${suffix}`, {
202
- method: "GET"
203
- });
94
+ RegistryBrokerClient.prototype.adapterRegistrySubmissionStatus = async function(submissionId) {
95
+ const raw = await this.requestJson(
96
+ `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
97
+ {
98
+ method: "GET"
99
+ }
100
+ );
204
101
  return this.parseWithSchema(
205
102
  raw,
206
- searchFacetsResponseSchema,
207
- "search facets response"
103
+ adapterRegistrySubmissionStatusResponseSchema,
104
+ "adapter registry submission status response"
208
105
  );
209
106
  };
210
107
  //# sourceMappingURL=standards-sdk.es128.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es128.js","sources":["../../src/services/registry-broker/client/search.ts"],"sourcesContent":["import type {\n JsonValue,\n PopularSearchesResponse,\n ProtocolDetectionMessage,\n DetectProtocolResponse,\n ProtocolsResponse,\n RegistriesResponse,\n AdditionalRegistryCatalogResponse,\n RegistrySearchByNamespaceResponse,\n RegistryStatsResponse,\n SearchFacetsResponse,\n SearchParams,\n SearchResult,\n SearchStatusResponse,\n VectorSearchRequest,\n VectorSearchResponse,\n WebsocketStatsResponse,\n MetricsSummaryResponse,\n} from '../types';\nimport {\n additionalRegistryCatalogResponseSchema,\n detectProtocolResponseSchema,\n metricsSummaryResponseSchema,\n popularResponseSchema,\n protocolsResponseSchema,\n registriesResponseSchema,\n registrySearchByNamespaceSchema,\n searchFacetsResponseSchema,\n searchResponseSchema,\n searchStatusResponseSchema,\n statsResponseSchema,\n vectorSearchResponseSchema,\n websocketStatsResponseSchema,\n} from '../schemas';\nimport { RegistryBrokerClient } from './base-client';\nimport { buildSearchQuery } from './utils';\nimport { RegistryBrokerError } from './errors';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n search(params?: SearchParams): Promise<SearchResult>;\n stats(): Promise<RegistryStatsResponse>;\n registries(): Promise<RegistriesResponse>;\n getAdditionalRegistries(): Promise<AdditionalRegistryCatalogResponse>;\n popularSearches(): Promise<PopularSearchesResponse>;\n listProtocols(): Promise<ProtocolsResponse>;\n detectProtocol(\n message: ProtocolDetectionMessage,\n ): Promise<DetectProtocolResponse>;\n registrySearchByNamespace(\n registry: string,\n query?: string,\n ): Promise<RegistrySearchByNamespaceResponse>;\n vectorSearch(request: VectorSearchRequest): Promise<VectorSearchResponse>;\n searchStatus(): Promise<SearchStatusResponse>;\n websocketStats(): Promise<WebsocketStatsResponse>;\n metricsSummary(): Promise<MetricsSummaryResponse>;\n facets(adapter?: string): Promise<SearchFacetsResponse>;\n }\n}\n\nfunction buildVectorFallbackSearchParams(\n request: VectorSearchRequest,\n): SearchParams {\n const params: SearchParams = {\n q: request.query,\n };\n let effectiveLimit: number | undefined;\n if (typeof request.limit === 'number' && Number.isFinite(request.limit)) {\n effectiveLimit = request.limit;\n params.limit = request.limit;\n }\n if (\n typeof request.offset === 'number' &&\n Number.isFinite(request.offset) &&\n request.offset > 0\n ) {\n const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;\n params.limit = limit;\n params.page = Math.floor(request.offset / limit) + 1;\n }\n if (request.filter?.registry) {\n params.registry = request.filter.registry;\n }\n if (request.filter?.protocols?.length) {\n params.protocols = [...request.filter.protocols];\n }\n if (request.filter?.adapter?.length) {\n params.adapters = [...request.filter.adapter];\n }\n if (request.filter?.capabilities?.length) {\n params.capabilities = request.filter.capabilities.map(value =>\n typeof value === 'number' ? value.toString(10) : value,\n );\n }\n if (request.filter?.type) {\n params.type = request.filter.type;\n }\n return params;\n}\n\nfunction convertSearchResultToVectorResponse(\n result: SearchResult,\n): VectorSearchResponse {\n const hits = result.hits.map(agent => ({\n agent,\n score: 0,\n highlights: {},\n }));\n const total = result.total;\n const limit = result.limit;\n const page = result.page;\n const totalVisible = page * limit;\n const limited = total > totalVisible || page > 1;\n\n return {\n hits,\n total,\n took: 0,\n totalAvailable: total,\n visible: hits.length,\n limited,\n credits_used: 0,\n };\n}\n\nRegistryBrokerClient.prototype.search = async function (\n this: RegistryBrokerClient,\n params: SearchParams = {},\n): Promise<SearchResult> {\n const query = buildSearchQuery(params);\n const raw = await this.requestJson<JsonValue>(`/search${query}`, {\n method: 'GET',\n });\n return this.parseWithSchema(raw, searchResponseSchema, 'search response');\n};\n\nRegistryBrokerClient.prototype.stats = async function (\n this: RegistryBrokerClient,\n): Promise<RegistryStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/stats', { method: 'GET' });\n return this.parseWithSchema(raw, statsResponseSchema, 'stats response');\n};\n\nRegistryBrokerClient.prototype.registries = async function (\n this: RegistryBrokerClient,\n): Promise<RegistriesResponse> {\n const raw = await this.requestJson<JsonValue>('/registries', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n registriesResponseSchema,\n 'registries response',\n );\n};\n\nRegistryBrokerClient.prototype.getAdditionalRegistries = async function (\n this: RegistryBrokerClient,\n) {\n const raw = await this.requestJson<JsonValue>(\n '/register/additional-registries',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n additionalRegistryCatalogResponseSchema,\n 'additional registry catalog response',\n );\n};\n\nRegistryBrokerClient.prototype.popularSearches = async function (\n this: RegistryBrokerClient,\n): Promise<PopularSearchesResponse> {\n const raw = await this.requestJson<JsonValue>('/popular', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n popularResponseSchema,\n 'popular searches response',\n );\n};\n\nRegistryBrokerClient.prototype.listProtocols = async function (\n this: RegistryBrokerClient,\n): Promise<ProtocolsResponse> {\n const raw = await this.requestJson<JsonValue>('/protocols', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n protocolsResponseSchema,\n 'protocols response',\n );\n};\n\nRegistryBrokerClient.prototype.detectProtocol = async function (\n this: RegistryBrokerClient,\n message: ProtocolDetectionMessage,\n): Promise<DetectProtocolResponse> {\n const raw = await this.requestJson<JsonValue>('/detect-protocol', {\n method: 'POST',\n body: { message },\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n detectProtocolResponseSchema,\n 'detect protocol response',\n );\n};\n\nRegistryBrokerClient.prototype.registrySearchByNamespace = async function (\n this: RegistryBrokerClient,\n registry: string,\n query?: string,\n): Promise<RegistrySearchByNamespaceResponse> {\n const params = new URLSearchParams();\n if (query) {\n params.set('q', query);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(\n `/registries/${encodeURIComponent(registry)}/search${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n registrySearchByNamespaceSchema,\n 'registry search response',\n );\n};\n\nRegistryBrokerClient.prototype.vectorSearch = async function (\n this: RegistryBrokerClient,\n request: VectorSearchRequest,\n): Promise<VectorSearchResponse> {\n try {\n const raw = await this.requestJson<JsonValue>('/search', {\n method: 'POST',\n body: request,\n headers: { 'content-type': 'application/json' },\n });\n return this.parseWithSchema(\n raw,\n vectorSearchResponseSchema,\n 'vector search response',\n );\n } catch (error) {\n if (error instanceof RegistryBrokerError && error.status === 501) {\n const fallback = await this.search(\n buildVectorFallbackSearchParams(request),\n );\n return convertSearchResultToVectorResponse(fallback);\n }\n throw error;\n }\n};\n\nRegistryBrokerClient.prototype.searchStatus = async function (\n this: RegistryBrokerClient,\n): Promise<SearchStatusResponse> {\n const raw = await this.requestJson<JsonValue>('/search/status', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchStatusResponseSchema,\n 'search status response',\n );\n};\n\nRegistryBrokerClient.prototype.websocketStats = async function (\n this: RegistryBrokerClient,\n): Promise<WebsocketStatsResponse> {\n const raw = await this.requestJson<JsonValue>('/websocket/stats', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n websocketStatsResponseSchema,\n 'websocket stats response',\n );\n};\n\nRegistryBrokerClient.prototype.metricsSummary = async function (\n this: RegistryBrokerClient,\n): Promise<MetricsSummaryResponse> {\n const raw = await this.requestJson<JsonValue>('/metrics', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n metricsSummaryResponseSchema,\n 'metrics summary response',\n );\n};\n\nRegistryBrokerClient.prototype.facets = async function (\n this: RegistryBrokerClient,\n adapter?: string,\n): Promise<SearchFacetsResponse> {\n const params = new URLSearchParams();\n if (adapter) {\n params.set('adapter', adapter);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await this.requestJson<JsonValue>(`/search/facets${suffix}`, {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n searchFacetsResponseSchema,\n 'search facets response',\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es128.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 { RegistryBrokerClient } from './base-client';\nimport { toJsonObject } from './utils';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n adapters(): Promise<AdaptersResponse>;\n adaptersDetailed(): Promise<AdapterDetailsResponse>;\n adapterRegistryCategories(): Promise<AdapterRegistryCategoriesResponse>;\n adapterRegistryAdapters(filters?: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n }): Promise<AdapterRegistryAdaptersResponse>;\n createAdapterRegistryCategory(\n payload: CreateAdapterRegistryCategoryRequest,\n ): Promise<AdapterRegistryCategory>;\n submitAdapterRegistryAdapter(\n payload: SubmitAdapterRegistryAdapterRequest,\n ): Promise<AdapterRegistrySubmitAdapterAcceptedResponse>;\n adapterRegistrySubmissionStatus(\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse>;\n }\n}\n\nRegistryBrokerClient.prototype.adapters = async function (\n this: RegistryBrokerClient,\n): Promise<AdaptersResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters', {\n method: 'GET',\n });\n return this.parseWithSchema(raw, adaptersResponseSchema, 'adapters response');\n};\n\nRegistryBrokerClient.prototype.adaptersDetailed = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterDetailsResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/details', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n adapterDetailsResponseSchema,\n 'adapter details response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryCategories = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterRegistryCategoriesResponse> {\n const raw = await this.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryCategoriesResponseSchema,\n 'adapter registry categories response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryAdapters = async function (\n this: 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 this.requestJson<JsonValue>(\n `/adapters/registry/adapters${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryAdaptersResponseSchema,\n 'adapter registry adapters response',\n );\n};\n\nRegistryBrokerClient.prototype.createAdapterRegistryCategory = async function (\n this: RegistryBrokerClient,\n payload: CreateAdapterRegistryCategoryRequest,\n): Promise<AdapterRegistryCategory> {\n const raw = await this.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 = this.parseWithSchema(\n raw,\n adapterRegistryCreateCategoryResponseSchema,\n 'adapter registry create category response',\n );\n return parsed.category;\n};\n\nRegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function (\n this: RegistryBrokerClient,\n payload: SubmitAdapterRegistryAdapterRequest,\n): Promise<AdapterRegistrySubmitAdapterAcceptedResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/registry/adapters', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n });\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n 'adapter registry submit adapter response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistrySubmissionStatus =\n async function (\n this: RegistryBrokerClient,\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse> {\n const raw = await this.requestJson<JsonValue>(\n `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmissionStatusResponseSchema,\n 'adapter registry submission status response',\n );\n };\n"],"names":[],"mappings":";;;AAiDA,qBAAqB,UAAU,WAAW,iBAEb;AAC3B,QAAM,MAAM,MAAM,KAAK,YAAuB,aAAa;AAAA,IACzD,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK,gBAAgB,KAAK,wBAAwB,mBAAmB;AAC9E;AAEA,qBAAqB,UAAU,mBAAmB,iBAEf;AACjC,QAAM,MAAM,MAAM,KAAK,YAAuB,qBAAqB;AAAA,IACjE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,4BAA4B,iBAEb;AAC5C,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,0BAA0B,eAEvD,UAOI,CAAA,GACsC;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,KAAK;AAAA,IACrB,8BAA8B,MAAM;AAAA,IACpC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,gCAAgC,eAE7D,SACkC;AAClC,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,QAAM,SAAS,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,OAAO;AAChB;AAEA,qBAAqB,UAAU,+BAA+B,eAE5D,SACuD;AACvD,QAAM,MAAM,MAAM,KAAK,YAAuB,+BAA+B;AAAA,IAC3E,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAC3B,MAAM,aAAa,OAAO;AAAA,EAAA,CAC3B;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,kCAC7B,eAEE,cACkD;AAClD,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB,kCAAkC,mBAAmB,YAAY,CAAC;AAAA,IAClE;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
@@ -1,107 +1,124 @@
1
- import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es148.js";
2
- import { RegistryBrokerClient } from "./standards-sdk.es135.js";
3
- import { toJsonObject } from "./standards-sdk.es160.js";
4
- RegistryBrokerClient.prototype.adapters = async function() {
5
- const raw = await this.requestJson("/adapters", {
6
- method: "GET"
7
- });
8
- return this.parseWithSchema(raw, adaptersResponseSchema, "adapters response");
9
- };
10
- RegistryBrokerClient.prototype.adaptersDetailed = async function() {
11
- const raw = await this.requestJson("/adapters/details", {
12
- method: "GET"
1
+ import { creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema } from "./standards-sdk.es150.js";
2
+ import { RegistryBrokerClient } from "./standards-sdk.es134.js";
3
+ import { normalizeHexPrivateKey } from "./standards-sdk.es159.js";
4
+ import { optionalImport } from "./standards-sdk.es152.js";
5
+ async function loadX402Dependencies(client) {
6
+ const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
7
+ import("axios"),
8
+ optionalImport("x402-axios"),
9
+ optionalImport("x402/types")
10
+ ]);
11
+ if (!x402Axios || !x402Types) {
12
+ throw new Error(
13
+ "x402-axios and x402/types are required for X402 flows. Install them to enable ledger payments."
14
+ );
15
+ }
16
+ const withPaymentInterceptor = x402Axios.withPaymentInterceptor;
17
+ const decodePaymentResponse = x402Axios.decodeXPaymentResponse;
18
+ const createX402Signer = x402Types.createSigner;
19
+ const createPaymentClient = (walletClient) => {
20
+ const axiosClient = axios.create({
21
+ baseURL: client.baseUrl,
22
+ headers: {
23
+ ...client.getDefaultHeaders(),
24
+ "content-type": "application/json"
25
+ }
26
+ });
27
+ const paymentClient = withPaymentInterceptor(axiosClient, walletClient);
28
+ return paymentClient;
29
+ };
30
+ return { createPaymentClient, decodePaymentResponse, createX402Signer };
31
+ }
32
+ function calculateHbarAmountParam(hbarAmount) {
33
+ const tinybars = Math.ceil(hbarAmount * 1e8);
34
+ if (tinybars <= 0) {
35
+ throw new Error("Calculated purchase amount must be positive");
36
+ }
37
+ return tinybars / 1e8;
38
+ }
39
+ RegistryBrokerClient.prototype.purchaseCreditsWithHbar = async function(params) {
40
+ const body = {
41
+ accountId: params.accountId,
42
+ payerKey: params.privateKey,
43
+ hbarAmount: calculateHbarAmountParam(params.hbarAmount)
44
+ };
45
+ if (params.memo) {
46
+ body.memo = params.memo;
47
+ }
48
+ if (params.metadata) {
49
+ body.metadata = params.metadata;
50
+ }
51
+ const raw = await this.requestJson("/credits/purchase", {
52
+ method: "POST",
53
+ headers: { "content-type": "application/json" },
54
+ body
13
55
  });
14
56
  return this.parseWithSchema(
15
57
  raw,
16
- adapterDetailsResponseSchema,
17
- "adapter details response"
58
+ creditPurchaseResponseSchema,
59
+ "credit purchase response"
18
60
  );
19
61
  };
20
- RegistryBrokerClient.prototype.adapterRegistryCategories = async function() {
62
+ RegistryBrokerClient.prototype.getX402Minimums = async function() {
21
63
  const raw = await this.requestJson(
22
- "/adapters/registry/categories",
23
- {
24
- method: "GET"
25
- }
64
+ "/credits/purchase/x402/minimums",
65
+ { method: "GET" }
26
66
  );
27
67
  return this.parseWithSchema(
28
68
  raw,
29
- adapterRegistryCategoriesResponseSchema,
30
- "adapter registry categories response"
69
+ x402MinimumsResponseSchema,
70
+ "x402 minimums response"
31
71
  );
32
72
  };
33
- RegistryBrokerClient.prototype.adapterRegistryAdapters = async function(filters = {}) {
34
- const params = new URLSearchParams();
35
- if (filters.category) {
36
- params.set("category", filters.category);
73
+ RegistryBrokerClient.prototype.purchaseCreditsWithX402 = async function(params) {
74
+ const { createPaymentClient, decodePaymentResponse } = await loadX402Dependencies(this);
75
+ if (!Number.isFinite(params.credits) || params.credits <= 0) {
76
+ throw new Error("credits must be a positive number");
37
77
  }
38
- if (filters.entity) {
39
- params.set("entity", filters.entity);
78
+ if (params.usdAmount !== void 0 && (!Number.isFinite(params.usdAmount) || params.usdAmount <= 0)) {
79
+ throw new Error("usdAmount must be a positive number when provided");
40
80
  }
41
- if (filters.keywords?.length) {
42
- params.set("keywords", filters.keywords.join(","));
81
+ const body = {
82
+ accountId: params.accountId,
83
+ credits: params.credits
84
+ };
85
+ if (params.usdAmount !== void 0) {
86
+ body.usdAmount = params.usdAmount;
43
87
  }
44
- if (filters.query) {
45
- params.set("query", filters.query);
88
+ if (params.description) {
89
+ body.description = params.description;
46
90
  }
47
- if (typeof filters.limit === "number") {
48
- params.set("limit", String(filters.limit));
91
+ if (params.metadata) {
92
+ body.metadata = params.metadata;
49
93
  }
50
- if (typeof filters.offset === "number") {
51
- params.set("offset", String(filters.offset));
52
- }
53
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
54
- const raw = await this.requestJson(
55
- `/adapters/registry/adapters${suffix}`,
56
- {
57
- method: "GET"
58
- }
59
- );
60
- return this.parseWithSchema(
61
- raw,
62
- adapterRegistryAdaptersResponseSchema,
63
- "adapter registry adapters response"
64
- );
65
- };
66
- RegistryBrokerClient.prototype.createAdapterRegistryCategory = async function(payload) {
67
- const raw = await this.requestJson(
68
- "/adapters/registry/categories",
69
- {
70
- method: "POST",
71
- headers: { "content-type": "application/json" },
72
- body: toJsonObject(payload)
73
- }
74
- );
94
+ const paymentClient = createPaymentClient(params.walletClient);
95
+ const response = await paymentClient.post("/credits/purchase/x402", body);
75
96
  const parsed = this.parseWithSchema(
76
- raw,
77
- adapterRegistryCreateCategoryResponseSchema,
78
- "adapter registry create category response"
97
+ response.data,
98
+ x402CreditPurchaseResponseSchema,
99
+ "x402 credit purchase response"
79
100
  );
80
- return parsed.category;
101
+ const responseHeaders = response.headers ?? {};
102
+ const paymentHeader = typeof responseHeaders["x-payment-response"] === "string" ? responseHeaders["x-payment-response"] : void 0;
103
+ const decodedPayment = paymentHeader !== void 0 ? decodePaymentResponse(paymentHeader) : void 0;
104
+ return {
105
+ ...parsed,
106
+ paymentResponseHeader: paymentHeader,
107
+ paymentResponse: decodedPayment
108
+ };
81
109
  };
82
- RegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function(payload) {
83
- const raw = await this.requestJson("/adapters/registry/adapters", {
84
- method: "POST",
85
- headers: { "content-type": "application/json" },
86
- body: toJsonObject(payload)
110
+ RegistryBrokerClient.prototype.buyCreditsWithX402 = async function(params) {
111
+ const network = params.network ?? "base";
112
+ const { createX402Signer } = await loadX402Dependencies(this);
113
+ const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);
114
+ const walletClient = await createX402Signer(network, normalizedKey);
115
+ return this.purchaseCreditsWithX402({
116
+ accountId: params.accountId,
117
+ credits: params.credits,
118
+ usdAmount: params.usdAmount,
119
+ description: params.description,
120
+ metadata: params.metadata,
121
+ walletClient
87
122
  });
88
- return this.parseWithSchema(
89
- raw,
90
- adapterRegistrySubmitAdapterAcceptedResponseSchema,
91
- "adapter registry submit adapter response"
92
- );
93
- };
94
- RegistryBrokerClient.prototype.adapterRegistrySubmissionStatus = async function(submissionId) {
95
- const raw = await this.requestJson(
96
- `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
97
- {
98
- method: "GET"
99
- }
100
- );
101
- return this.parseWithSchema(
102
- raw,
103
- adapterRegistrySubmissionStatusResponseSchema,
104
- "adapter registry submission status response"
105
- );
106
123
  };
107
124
  //# sourceMappingURL=standards-sdk.es129.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es129.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 { RegistryBrokerClient } from './base-client';\nimport { toJsonObject } from './utils';\n\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n adapters(): Promise<AdaptersResponse>;\n adaptersDetailed(): Promise<AdapterDetailsResponse>;\n adapterRegistryCategories(): Promise<AdapterRegistryCategoriesResponse>;\n adapterRegistryAdapters(filters?: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n }): Promise<AdapterRegistryAdaptersResponse>;\n createAdapterRegistryCategory(\n payload: CreateAdapterRegistryCategoryRequest,\n ): Promise<AdapterRegistryCategory>;\n submitAdapterRegistryAdapter(\n payload: SubmitAdapterRegistryAdapterRequest,\n ): Promise<AdapterRegistrySubmitAdapterAcceptedResponse>;\n adapterRegistrySubmissionStatus(\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse>;\n }\n}\n\nRegistryBrokerClient.prototype.adapters = async function (\n this: RegistryBrokerClient,\n): Promise<AdaptersResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters', {\n method: 'GET',\n });\n return this.parseWithSchema(raw, adaptersResponseSchema, 'adapters response');\n};\n\nRegistryBrokerClient.prototype.adaptersDetailed = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterDetailsResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/details', {\n method: 'GET',\n });\n return this.parseWithSchema(\n raw,\n adapterDetailsResponseSchema,\n 'adapter details response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryCategories = async function (\n this: RegistryBrokerClient,\n): Promise<AdapterRegistryCategoriesResponse> {\n const raw = await this.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryCategoriesResponseSchema,\n 'adapter registry categories response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistryAdapters = async function (\n this: 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 this.requestJson<JsonValue>(\n `/adapters/registry/adapters${suffix}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistryAdaptersResponseSchema,\n 'adapter registry adapters response',\n );\n};\n\nRegistryBrokerClient.prototype.createAdapterRegistryCategory = async function (\n this: RegistryBrokerClient,\n payload: CreateAdapterRegistryCategoryRequest,\n): Promise<AdapterRegistryCategory> {\n const raw = await this.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 = this.parseWithSchema(\n raw,\n adapterRegistryCreateCategoryResponseSchema,\n 'adapter registry create category response',\n );\n return parsed.category;\n};\n\nRegistryBrokerClient.prototype.submitAdapterRegistryAdapter = async function (\n this: RegistryBrokerClient,\n payload: SubmitAdapterRegistryAdapterRequest,\n): Promise<AdapterRegistrySubmitAdapterAcceptedResponse> {\n const raw = await this.requestJson<JsonValue>('/adapters/registry/adapters', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n });\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n 'adapter registry submit adapter response',\n );\n};\n\nRegistryBrokerClient.prototype.adapterRegistrySubmissionStatus =\n async function (\n this: RegistryBrokerClient,\n submissionId: string,\n ): Promise<AdapterRegistrySubmissionStatusResponse> {\n const raw = await this.requestJson<JsonValue>(\n `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,\n {\n method: 'GET',\n },\n );\n return this.parseWithSchema(\n raw,\n adapterRegistrySubmissionStatusResponseSchema,\n 'adapter registry submission status response',\n );\n };\n"],"names":[],"mappings":";;;AAiDA,qBAAqB,UAAU,WAAW,iBAEb;AAC3B,QAAM,MAAM,MAAM,KAAK,YAAuB,aAAa;AAAA,IACzD,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK,gBAAgB,KAAK,wBAAwB,mBAAmB;AAC9E;AAEA,qBAAqB,UAAU,mBAAmB,iBAEf;AACjC,QAAM,MAAM,MAAM,KAAK,YAAuB,qBAAqB;AAAA,IACjE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,4BAA4B,iBAEb;AAC5C,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,0BAA0B,eAEvD,UAOI,CAAA,GACsC;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,KAAK;AAAA,IACrB,8BAA8B,MAAM;AAAA,IACpC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,gCAAgC,eAE7D,SACkC;AAClC,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,QAAM,SAAS,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,OAAO;AAChB;AAEA,qBAAqB,UAAU,+BAA+B,eAE5D,SACuD;AACvD,QAAM,MAAM,MAAM,KAAK,YAAuB,+BAA+B;AAAA,IAC3E,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAC3B,MAAM,aAAa,OAAO;AAAA,EAAA,CAC3B;AACD,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,qBAAqB,UAAU,kCAC7B,eAEE,cACkD;AAClD,QAAM,MAAM,MAAM,KAAK;AAAA,IACrB,kCAAkC,mBAAmB,YAAY,CAAC;AAAA,IAClE;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es129.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 { 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\ninterface PurchaseCreditsWithX402Params {\n accountId: string;\n credits: number;\n usdAmount?: number;\n description?: string;\n metadata?: JsonObject;\n walletClient: object;\n}\n\ninterface 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\ntype 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\ndeclare module './base-client' {\n interface RegistryBrokerClient {\n purchaseCreditsWithHbar(params: {\n accountId: string;\n privateKey: string;\n hbarAmount: number;\n memo?: string;\n metadata?: JsonObject;\n }): Promise<CreditPurchaseResponse>;\n getX402Minimums(): Promise<X402MinimumsResponse>;\n purchaseCreditsWithX402(\n params: PurchaseCreditsWithX402Params,\n ): Promise<X402PurchaseResult>;\n buyCreditsWithX402(\n params: BuyCreditsWithX402Params,\n ): Promise<X402PurchaseResult>;\n }\n}\n\nRegistryBrokerClient.prototype.purchaseCreditsWithHbar = async function (\n this: 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 this.requestJson<JsonValue>('/credits/purchase', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n });\n\n return this.parseWithSchema(\n raw,\n creditPurchaseResponseSchema,\n 'credit purchase response',\n );\n};\n\nRegistryBrokerClient.prototype.getX402Minimums = async function (\n this: RegistryBrokerClient,\n): Promise<X402MinimumsResponse> {\n const raw = await this.requestJson<JsonValue>(\n '/credits/purchase/x402/minimums',\n { method: 'GET' },\n );\n return this.parseWithSchema(\n raw,\n x402MinimumsResponseSchema,\n 'x402 minimums response',\n );\n};\n\nRegistryBrokerClient.prototype.purchaseCreditsWithX402 = async function (\n this: RegistryBrokerClient,\n params: PurchaseCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const { createPaymentClient, decodePaymentResponse } =\n await loadX402Dependencies(this);\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 = this.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\nRegistryBrokerClient.prototype.buyCreditsWithX402 = async function (\n this: RegistryBrokerClient,\n params: BuyCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const network: X402NetworkId = params.network ?? 'base';\n const { createX402Signer } = await loadX402Dependencies(this);\n const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);\n const walletClient = await createX402Signer(network, normalizedKey);\n\n return this.purchaseCreditsWithX402({\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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"}