@hashgraphonline/standards-sdk 0.1.146-chore-jsr-improvements.canary.46c0c0f.91 → 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 (138) hide show
  1. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  2. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  3. package/dist/cjs/services/registry-broker/client/search-helpers.d.ts +16 -0
  4. package/dist/cjs/services/registry-broker/client/search-helpers.d.ts.map +1 -0
  5. package/dist/cjs/services/registry-broker/client/search.d.ts +5 -18
  6. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -1
  7. package/dist/cjs/standards-sdk.cjs +1 -1
  8. package/dist/cjs/standards-sdk.cjs.map +1 -1
  9. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  10. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  11. package/dist/es/services/registry-broker/client/search-helpers.d.ts +16 -0
  12. package/dist/es/services/registry-broker/client/search-helpers.d.ts.map +1 -0
  13. package/dist/es/services/registry-broker/client/search.d.ts +5 -18
  14. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -1
  15. package/dist/es/standards-sdk.es.js +9 -10
  16. package/dist/es/standards-sdk.es.js.map +1 -1
  17. package/dist/es/standards-sdk.es101.js +1 -1
  18. package/dist/es/standards-sdk.es103.js +1 -1
  19. package/dist/es/standards-sdk.es109.js +2 -3
  20. package/dist/es/standards-sdk.es109.js.map +1 -1
  21. package/dist/es/standards-sdk.es11.js +1 -1
  22. package/dist/es/standards-sdk.es110.js +5 -5
  23. package/dist/es/standards-sdk.es12.js +1 -1
  24. package/dist/es/standards-sdk.es120.js +1 -1
  25. package/dist/es/standards-sdk.es121.js +1 -1
  26. package/dist/es/standards-sdk.es122.js +5 -5
  27. package/dist/es/standards-sdk.es124.js +1 -1
  28. package/dist/es/standards-sdk.es125.js +1 -1
  29. package/dist/es/standards-sdk.es127.js +3 -3
  30. package/dist/es/standards-sdk.es128.js +61 -164
  31. package/dist/es/standards-sdk.es128.js.map +1 -1
  32. package/dist/es/standards-sdk.es129.js +102 -85
  33. package/dist/es/standards-sdk.es129.js.map +1 -1
  34. package/dist/es/standards-sdk.es130.js +222 -96
  35. package/dist/es/standards-sdk.es130.js.map +1 -1
  36. package/dist/es/standards-sdk.es131.js +153 -220
  37. package/dist/es/standards-sdk.es131.js.map +1 -1
  38. package/dist/es/standards-sdk.es132.js +104 -162
  39. package/dist/es/standards-sdk.es132.js.map +1 -1
  40. package/dist/es/standards-sdk.es133.js +296 -92
  41. package/dist/es/standards-sdk.es133.js.map +1 -1
  42. package/dist/es/standards-sdk.es134.js +587 -288
  43. package/dist/es/standards-sdk.es134.js.map +1 -1
  44. package/dist/es/standards-sdk.es135.js +14 -461
  45. package/dist/es/standards-sdk.es135.js.map +1 -1
  46. package/dist/es/standards-sdk.es136.js +79 -15
  47. package/dist/es/standards-sdk.es136.js.map +1 -1
  48. package/dist/es/standards-sdk.es137.js +77 -71
  49. package/dist/es/standards-sdk.es137.js.map +1 -1
  50. package/dist/es/standards-sdk.es138.js +53 -80
  51. package/dist/es/standards-sdk.es138.js.map +1 -1
  52. package/dist/es/standards-sdk.es139.js +152 -53
  53. package/dist/es/standards-sdk.es139.js.map +1 -1
  54. package/dist/es/standards-sdk.es140.js +7 -159
  55. package/dist/es/standards-sdk.es140.js.map +1 -1
  56. package/dist/es/standards-sdk.es141.js +86 -7
  57. package/dist/es/standards-sdk.es141.js.map +1 -1
  58. package/dist/es/standards-sdk.es142.js +43 -64
  59. package/dist/es/standards-sdk.es142.js.map +1 -1
  60. package/dist/es/standards-sdk.es143.js +30 -65
  61. package/dist/es/standards-sdk.es143.js.map +1 -1
  62. package/dist/es/standards-sdk.es144.js +34 -30
  63. package/dist/es/standards-sdk.es144.js.map +1 -1
  64. package/dist/es/standards-sdk.es145.js +28 -34
  65. package/dist/es/standards-sdk.es145.js.map +1 -1
  66. package/dist/es/standards-sdk.es146.js +138 -28
  67. package/dist/es/standards-sdk.es146.js.map +1 -1
  68. package/dist/es/standards-sdk.es147.js +37 -133
  69. package/dist/es/standards-sdk.es147.js.map +1 -1
  70. package/dist/es/standards-sdk.es148.js +15 -40
  71. package/dist/es/standards-sdk.es148.js.map +1 -1
  72. package/dist/es/standards-sdk.es149.js +12269 -939
  73. package/dist/es/standards-sdk.es149.js.map +1 -1
  74. package/dist/es/standards-sdk.es150.js +939 -12269
  75. package/dist/es/standards-sdk.es150.js.map +1 -1
  76. package/dist/es/standards-sdk.es151.js +54 -15
  77. package/dist/es/standards-sdk.es151.js.map +1 -1
  78. package/dist/es/standards-sdk.es152.js +76 -48
  79. package/dist/es/standards-sdk.es152.js.map +1 -1
  80. package/dist/es/standards-sdk.es153.js +160 -72
  81. package/dist/es/standards-sdk.es153.js.map +1 -1
  82. package/dist/es/standards-sdk.es154.js +289 -139
  83. package/dist/es/standards-sdk.es154.js.map +1 -1
  84. package/dist/es/standards-sdk.es155.js +298 -274
  85. package/dist/es/standards-sdk.es155.js.map +1 -1
  86. package/dist/es/standards-sdk.es156.js +369 -262
  87. package/dist/es/standards-sdk.es156.js.map +1 -1
  88. package/dist/es/standards-sdk.es157.js +194 -316
  89. package/dist/es/standards-sdk.es157.js.map +1 -1
  90. package/dist/es/standards-sdk.es158.js +64 -319
  91. package/dist/es/standards-sdk.es158.js.map +1 -1
  92. package/dist/es/standards-sdk.es159.js +231 -68
  93. package/dist/es/standards-sdk.es159.js.map +1 -1
  94. package/dist/es/standards-sdk.es16.js +2 -3
  95. package/dist/es/standards-sdk.es16.js.map +1 -1
  96. package/dist/es/standards-sdk.es160.js +223 -218
  97. package/dist/es/standards-sdk.es160.js.map +1 -1
  98. package/dist/es/standards-sdk.es18.js +5 -6
  99. package/dist/es/standards-sdk.es18.js.map +1 -1
  100. package/dist/es/standards-sdk.es19.js +3 -4
  101. package/dist/es/standards-sdk.es19.js.map +1 -1
  102. package/dist/es/standards-sdk.es22.js +1 -1
  103. package/dist/es/standards-sdk.es27.js +5 -6
  104. package/dist/es/standards-sdk.es27.js.map +1 -1
  105. package/dist/es/standards-sdk.es30.js +1 -1
  106. package/dist/es/standards-sdk.es31.js +1 -1
  107. package/dist/es/standards-sdk.es35.js +2 -3
  108. package/dist/es/standards-sdk.es35.js.map +1 -1
  109. package/dist/es/standards-sdk.es36.js +3 -3
  110. package/dist/es/standards-sdk.es37.js +1 -1
  111. package/dist/es/standards-sdk.es4.js +1 -1
  112. package/dist/es/standards-sdk.es53.js +1 -1
  113. package/dist/es/standards-sdk.es56.js +1 -1
  114. package/dist/es/standards-sdk.es58.js +1 -1
  115. package/dist/es/standards-sdk.es59.js +1 -1
  116. package/dist/es/standards-sdk.es60.js +3 -4
  117. package/dist/es/standards-sdk.es60.js.map +1 -1
  118. package/dist/es/standards-sdk.es62.js +1 -1
  119. package/dist/es/standards-sdk.es64.js +1 -1
  120. package/dist/es/standards-sdk.es65.js +2 -2
  121. package/dist/es/standards-sdk.es68.js +2 -2
  122. package/dist/es/standards-sdk.es69.js +1 -1
  123. package/dist/es/standards-sdk.es7.js +1 -1
  124. package/dist/es/standards-sdk.es71.js +1 -1
  125. package/dist/es/standards-sdk.es76.js +1 -1
  126. package/dist/es/standards-sdk.es77.js +2 -3
  127. package/dist/es/standards-sdk.es77.js.map +1 -1
  128. package/dist/es/standards-sdk.es78.js +1 -1
  129. package/dist/es/standards-sdk.es81.js +1 -1
  130. package/dist/es/standards-sdk.es83.js +1 -1
  131. package/dist/es/standards-sdk.es87.js +3 -3
  132. package/dist/es/standards-sdk.es91.js +1 -1
  133. package/dist/es/standards-sdk.es92.js +1 -1
  134. package/dist/es/standards-sdk.es97.js +1 -1
  135. package/dist/es/standards-sdk.es99.js +1 -1
  136. package/package.json +1 -1
  137. package/dist/es/standards-sdk.es161.js +0 -247
  138. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -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.es149.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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"}