@hashgraphonline/standards-sdk 0.1.141-canary.13 → 0.1.141-canary.15

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 (103) hide show
  1. package/README.md +13 -1
  2. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  4. package/dist/cjs/hcs-21/types.d.ts +30 -0
  5. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  6. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  7. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  8. package/dist/cjs/services/registry-broker/client.d.ts +4 -3
  9. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  10. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  11. package/dist/cjs/services/registry-broker/schemas.d.ts +16 -16
  12. package/dist/cjs/standards-sdk.cjs +2 -2
  13. package/dist/cjs/standards-sdk.cjs.map +1 -1
  14. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  15. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  16. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  17. package/dist/es/hcs-17/types.d.ts.map +1 -1
  18. package/dist/es/hcs-21/types.d.ts +30 -0
  19. package/dist/es/hcs-21/types.d.ts.map +1 -1
  20. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  21. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  22. package/dist/es/services/registry-broker/client.d.ts +4 -3
  23. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  24. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  25. package/dist/es/services/registry-broker/schemas.d.ts +16 -16
  26. package/dist/es/standards-sdk.es100.js +1 -1
  27. package/dist/es/standards-sdk.es102.js +1 -1
  28. package/dist/es/standards-sdk.es104.js +1 -1
  29. package/dist/es/standards-sdk.es110.js +0 -5
  30. package/dist/es/standards-sdk.es110.js.map +1 -1
  31. package/dist/es/standards-sdk.es12.js +1 -1
  32. package/dist/es/standards-sdk.es125.js +61 -125
  33. package/dist/es/standards-sdk.es125.js.map +1 -1
  34. package/dist/es/standards-sdk.es126.js +2 -2
  35. package/dist/es/standards-sdk.es126.js.map +1 -1
  36. package/dist/es/standards-sdk.es128.js +68 -41
  37. package/dist/es/standards-sdk.es128.js.map +1 -1
  38. package/dist/es/standards-sdk.es129.js +6 -11
  39. package/dist/es/standards-sdk.es129.js.map +1 -1
  40. package/dist/es/standards-sdk.es13.js +1 -1
  41. package/dist/es/standards-sdk.es135.js +82 -28
  42. package/dist/es/standards-sdk.es135.js.map +1 -1
  43. package/dist/es/standards-sdk.es136.js +28 -12274
  44. package/dist/es/standards-sdk.es136.js.map +1 -1
  45. package/dist/es/standards-sdk.es137.js +1 -1
  46. package/dist/es/standards-sdk.es137.js.map +1 -1
  47. package/dist/es/standards-sdk.es138.js +12241 -105
  48. package/dist/es/standards-sdk.es138.js.map +1 -1
  49. package/dist/es/standards-sdk.es139.js +133 -37
  50. package/dist/es/standards-sdk.es139.js.map +1 -1
  51. package/dist/es/standards-sdk.es140.js +36 -50
  52. package/dist/es/standards-sdk.es140.js.map +1 -1
  53. package/dist/es/standards-sdk.es141.js +49 -57
  54. package/dist/es/standards-sdk.es141.js.map +1 -1
  55. package/dist/es/standards-sdk.es17.js +0 -6
  56. package/dist/es/standards-sdk.es17.js.map +1 -1
  57. package/dist/es/standards-sdk.es19.js +3 -8
  58. package/dist/es/standards-sdk.es19.js.map +1 -1
  59. package/dist/es/standards-sdk.es2.js +26 -72
  60. package/dist/es/standards-sdk.es2.js.map +1 -1
  61. package/dist/es/standards-sdk.es20.js +1 -6
  62. package/dist/es/standards-sdk.es20.js.map +1 -1
  63. package/dist/es/standards-sdk.es23.js +1 -1
  64. package/dist/es/standards-sdk.es28.js +3 -8
  65. package/dist/es/standards-sdk.es28.js.map +1 -1
  66. package/dist/es/standards-sdk.es31.js +1 -1
  67. package/dist/es/standards-sdk.es32.js +1 -1
  68. package/dist/es/standards-sdk.es36.js +1 -7
  69. package/dist/es/standards-sdk.es36.js.map +1 -1
  70. package/dist/es/standards-sdk.es37.js +3 -3
  71. package/dist/es/standards-sdk.es38.js +1 -1
  72. package/dist/es/standards-sdk.es5.js +1 -1
  73. package/dist/es/standards-sdk.es54.js +1 -1
  74. package/dist/es/standards-sdk.es57.js +1 -1
  75. package/dist/es/standards-sdk.es59.js +1 -1
  76. package/dist/es/standards-sdk.es60.js +1 -1
  77. package/dist/es/standards-sdk.es61.js +1 -6
  78. package/dist/es/standards-sdk.es61.js.map +1 -1
  79. package/dist/es/standards-sdk.es63.js +1 -1
  80. package/dist/es/standards-sdk.es66.js +1 -1
  81. package/dist/es/standards-sdk.es69.js +2 -2
  82. package/dist/es/standards-sdk.es70.js +1 -1
  83. package/dist/es/standards-sdk.es72.js +1 -1
  84. package/dist/es/standards-sdk.es77.js +1 -1
  85. package/dist/es/standards-sdk.es78.js +0 -6
  86. package/dist/es/standards-sdk.es78.js.map +1 -1
  87. package/dist/es/standards-sdk.es79.js +1 -1
  88. package/dist/es/standards-sdk.es8.js +1 -1
  89. package/dist/es/standards-sdk.es80.js +4 -1
  90. package/dist/es/standards-sdk.es80.js.map +1 -1
  91. package/dist/es/standards-sdk.es82.js +1 -1
  92. package/dist/es/standards-sdk.es84.js +1 -1
  93. package/dist/es/standards-sdk.es88.js +1 -1
  94. package/dist/es/standards-sdk.es92.js +1 -1
  95. package/dist/es/standards-sdk.es93.js +1 -1
  96. package/dist/es/standards-sdk.es95.js +7 -2
  97. package/dist/es/standards-sdk.es95.js.map +1 -1
  98. package/dist/es/standards-sdk.es96.js +3 -0
  99. package/dist/es/standards-sdk.es96.js.map +1 -1
  100. package/dist/es/standards-sdk.es98.js +1 -1
  101. package/dist/es/utils/dynamic-import.d.ts +1 -0
  102. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  103. package/package.json +1 -1
@@ -1,36 +1,16 @@
1
1
  import * as path from "node:path";
2
2
  import { Buffer } from "node:buffer";
3
3
  import { randomBytes, createHash, createCipheriv, createDecipheriv } from "node:crypto";
4
- import { createRequire } from "node:module";
5
4
  import { secp256k1 } from "@noble/curves/secp256k1.js";
6
5
  import { canonicalizeLedgerNetwork } from "./standards-sdk.es130.js";
7
- import axios from "axios";
8
- import { privateKeyToAccount } from "viem/accounts";
9
- import "viem/chains";
10
- import { withPaymentInterceptor, decodeXPaymentResponse } from "x402-axios";
11
- import { createSigner } from "x402/types";
12
6
  import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, resolveResponseSchema, registerAgentResponseSchema, registrationQuoteResponseSchema, registrationProgressResponseSchema, creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema, ledgerChallengeResponseSchema, ledgerVerifyResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, adapterDetailsResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, uaidValidationResponseSchema, uaidConnectionStatusSchema, dashboardStatsResponseSchema, adaptersResponseSchema, searchFacetsResponseSchema, createSessionResponseSchema, chatHistorySnapshotResponseSchema, chatHistoryCompactionResponseSchema, sessionEncryptionStatusResponseSchema, encryptionHandshakeResponseSchema, registerEncryptionKeyResponseSchema, sendMessageResponseSchema } from "./standards-sdk.es137.js";
13
7
  import { ZodError } from "zod";
14
8
  import { createPrivateKeySigner } from "./standards-sdk.es129.js";
15
- const createNodeRequire = () => {
16
- const metaUrl = typeof import.meta !== "undefined" && typeof import.meta.url === "string" ? import.meta.url : void 0;
17
- try {
18
- return createRequire(metaUrl ?? `${process.cwd()}/.hol-rb-client.cjs`);
19
- } catch {
20
- return null;
21
- }
22
- };
23
- const getFs = () => {
24
- const loader = createNodeRequire();
25
- if (!loader) {
26
- return null;
27
- }
28
- try {
29
- const fsModule = loader("node:fs");
30
- if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
31
- return fsModule;
32
- }
33
- } catch {
9
+ import { optionalImport } from "./standards-sdk.es135.js";
10
+ const getFs = async () => {
11
+ const fsModule = await optionalImport("node:fs");
12
+ if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
13
+ return fsModule;
34
14
  }
35
15
  return null;
36
16
  };
@@ -368,6 +348,60 @@ class RegistryBrokerClient {
368
348
  }
369
349
  return { client, encryption };
370
350
  }
351
+ async loadViemAccount(privateKey) {
352
+ try {
353
+ const viem = await import("viem/accounts");
354
+ return viem.privateKeyToAccount(privateKey);
355
+ } catch (error) {
356
+ const err = new Error(
357
+ 'EVM ledger authentication requires the optional dependency "viem". Install it to use evmPrivateKey flows.'
358
+ );
359
+ err.cause = error;
360
+ throw err;
361
+ }
362
+ }
363
+ async loadX402Dependencies() {
364
+ try {
365
+ const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
366
+ import("axios"),
367
+ import("x402-axios"),
368
+ import("x402/types")
369
+ ]);
370
+ const withPaymentInterceptor = x402Axios.withPaymentInterceptor;
371
+ const decodePaymentResponse = x402Axios.decodeXPaymentResponse;
372
+ const createX402Signer = x402Types.createSigner;
373
+ const createPaymentClient = (walletClient) => {
374
+ const axiosClient = axios.create({
375
+ baseURL: this.baseUrl,
376
+ headers: {
377
+ ...this.getDefaultHeaders(),
378
+ "content-type": "application/json"
379
+ }
380
+ });
381
+ const client = withPaymentInterceptor(axiosClient, walletClient);
382
+ return {
383
+ post: async (url, body) => {
384
+ const response = await client.post(url, body);
385
+ return {
386
+ data: response.data,
387
+ headers: response.headers
388
+ };
389
+ }
390
+ };
391
+ };
392
+ return {
393
+ createPaymentClient,
394
+ decodePaymentResponse,
395
+ createX402Signer
396
+ };
397
+ } catch (error) {
398
+ const err = new Error(
399
+ 'X402 credit purchases require optional dependencies "axios", "x402-axios", and "x402/types". Install them to enable this feature.'
400
+ );
401
+ err.cause = error;
402
+ throw err;
403
+ }
404
+ }
371
405
  setApiKey(apiKey) {
372
406
  this.setDefaultHeader("x-api-key", apiKey);
373
407
  }
@@ -700,6 +734,7 @@ class RegistryBrokerClient {
700
734
  );
701
735
  }
702
736
  async purchaseCreditsWithX402(params) {
737
+ const { createPaymentClient, decodePaymentResponse } = await this.loadX402Dependencies();
703
738
  if (!Number.isFinite(params.credits) || params.credits <= 0) {
704
739
  throw new Error("credits must be a positive number");
705
740
  }
@@ -719,25 +754,16 @@ class RegistryBrokerClient {
719
754
  if (params.metadata) {
720
755
  body.metadata = params.metadata;
721
756
  }
722
- const axiosClient = axios.create({
723
- baseURL: this.baseUrl,
724
- headers: {
725
- ...this.getDefaultHeaders(),
726
- "content-type": "application/json"
727
- }
728
- });
729
- const paymentClient = withPaymentInterceptor(
730
- axiosClient,
731
- params.walletClient
732
- );
757
+ const paymentClient = createPaymentClient(params.walletClient);
733
758
  const response = await paymentClient.post("/credits/purchase/x402", body);
734
759
  const parsed = this.parseWithSchema(
735
760
  response.data,
736
761
  x402CreditPurchaseResponseSchema,
737
762
  "x402 credit purchase response"
738
763
  );
739
- const paymentHeader = typeof response.headers["x-payment-response"] === "string" ? response.headers["x-payment-response"] : void 0;
740
- const decodedPayment = paymentHeader !== void 0 ? decodeXPaymentResponse(paymentHeader) : void 0;
764
+ const responseHeaders = response.headers ?? {};
765
+ const paymentHeader = typeof responseHeaders["x-payment-response"] === "string" ? responseHeaders["x-payment-response"] : void 0;
766
+ const decodedPayment = paymentHeader !== void 0 ? decodePaymentResponse(paymentHeader) : void 0;
741
767
  return {
742
768
  ...parsed,
743
769
  paymentResponseHeader: paymentHeader,
@@ -746,8 +772,9 @@ class RegistryBrokerClient {
746
772
  }
747
773
  async buyCreditsWithX402(params) {
748
774
  const network = params.network ?? "base";
775
+ const { createX402Signer } = await this.loadX402Dependencies();
749
776
  const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);
750
- const walletClient = await createSigner(network, normalizedKey);
777
+ const walletClient = await createX402Signer(network, normalizedKey);
751
778
  return this.purchaseCreditsWithX402({
752
779
  accountId: params.accountId,
753
780
  credits: params.credits,
@@ -1034,7 +1061,7 @@ class RegistryBrokerClient {
1034
1061
  );
1035
1062
  }
1036
1063
  const formattedKey = evmPrivateKey.startsWith("0x") ? evmPrivateKey : `0x${evmPrivateKey}`;
1037
- const account = privateKeyToAccount(formattedKey);
1064
+ const account = await this.loadViemAccount(formattedKey);
1038
1065
  authOptions.sign = async (message) => ({
1039
1066
  signature: await account.signMessage({ message }),
1040
1067
  signatureKind: "evm",
@@ -1664,7 +1691,7 @@ class RegistryBrokerClient {
1664
1691
  const envVar = options.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
1665
1692
  const resolvedPath = options.envPath ? path.resolve(options.envPath) : void 0;
1666
1693
  if (resolvedPath) {
1667
- const fsModule = getFs();
1694
+ const fsModule = await getFs();
1668
1695
  if (!fsModule) {
1669
1696
  throw new Error(
1670
1697
  "File system module is not available; cannot write encryption key env file"