@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.
- package/README.md +13 -1
- package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-17/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/types.d.ts +30 -0
- package/dist/cjs/hcs-21/types.d.ts.map +1 -1
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +4 -3
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +16 -16
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +1 -0
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/hcs-16/base-client.d.ts.map +1 -1
- package/dist/es/hcs-17/types.d.ts.map +1 -1
- package/dist/es/hcs-21/types.d.ts +30 -0
- package/dist/es/hcs-21/types.d.ts.map +1 -1
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +4 -3
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +16 -16
- package/dist/es/standards-sdk.es100.js +1 -1
- package/dist/es/standards-sdk.es102.js +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es110.js +0 -5
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es125.js +61 -125
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +2 -2
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +68 -41
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +6 -11
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es135.js +82 -28
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +28 -12274
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1 -1
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +12241 -105
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +133 -37
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es140.js +36 -50
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +49 -57
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es17.js +0 -6
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +3 -8
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +26 -72
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +1 -6
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es28.js +3 -8
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es36.js +1 -7
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +3 -3
- package/dist/es/standards-sdk.es38.js +1 -1
- package/dist/es/standards-sdk.es5.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es57.js +1 -1
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es61.js +1 -6
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es70.js +1 -1
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es77.js +1 -1
- package/dist/es/standards-sdk.es78.js +0 -6
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es80.js +4 -1
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es92.js +1 -1
- package/dist/es/standards-sdk.es93.js +1 -1
- package/dist/es/standards-sdk.es95.js +7 -2
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +3 -0
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/utils/dynamic-import.d.ts +1 -0
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- 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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
|
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
|
|
740
|
-
const
|
|
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
|
|
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 =
|
|
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"
|