@atxp/client 0.7.2 → 0.7.4

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 (43) hide show
  1. package/dist/atxpAccount.d.ts +18 -0
  2. package/dist/atxpAccount.d.ts.map +1 -0
  3. package/dist/atxpAccount.js +25 -0
  4. package/dist/atxpAccount.js.map +1 -1
  5. package/dist/atxpClient.d.ts +12 -0
  6. package/dist/atxpClient.d.ts.map +1 -0
  7. package/dist/atxpFetcher.d.ts +87 -0
  8. package/dist/atxpFetcher.d.ts.map +1 -0
  9. package/dist/atxpFetcher.js +105 -16
  10. package/dist/atxpFetcher.js.map +1 -1
  11. package/dist/atxpLocalAccount.d.ts +50 -0
  12. package/dist/atxpLocalAccount.d.ts.map +1 -0
  13. package/dist/baseAccount.d.ts +17 -0
  14. package/dist/baseAccount.d.ts.map +1 -0
  15. package/dist/baseConstants.d.ts +10 -0
  16. package/dist/baseConstants.d.ts.map +1 -0
  17. package/dist/basePaymentMaker.d.ts +22 -0
  18. package/dist/basePaymentMaker.d.ts.map +1 -0
  19. package/dist/basePaymentMaker.js +3 -0
  20. package/dist/basePaymentMaker.js.map +1 -1
  21. package/dist/clientTestHelpers.d.ts +6 -0
  22. package/dist/clientTestHelpers.d.ts.map +1 -0
  23. package/dist/index.cjs +136 -16
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.ts +18 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +136 -16
  28. package/dist/index.js.map +1 -1
  29. package/dist/oAuth.d.ts +44 -0
  30. package/dist/oAuth.d.ts.map +1 -0
  31. package/dist/setup.expo.d.ts +2 -0
  32. package/dist/setup.expo.d.ts.map +1 -0
  33. package/dist/solanaAccount.d.ts +9 -0
  34. package/dist/solanaAccount.d.ts.map +1 -0
  35. package/dist/solanaPaymentMaker.d.ts +24 -0
  36. package/dist/solanaPaymentMaker.d.ts.map +1 -0
  37. package/dist/solanaPaymentMaker.js +3 -0
  38. package/dist/solanaPaymentMaker.js.map +1 -1
  39. package/dist/types.d.ts +81 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/worldConstants.d.ts +53 -0
  42. package/dist/worldConstants.d.ts.map +1 -0
  43. package/package.json +2 -2
@@ -0,0 +1,44 @@
1
+ import * as oauth from 'oauth4webapi';
2
+ import { OAuthResourceClient } from '@atxp/common';
3
+ import { AccessToken, ClientCredentials, FetchLike, Logger, OAuthDb, PKCEValues } from '@atxp/common';
4
+ export declare class OAuthAuthenticationRequiredError extends Error {
5
+ readonly url: string;
6
+ readonly resourceServerUrl: string;
7
+ readonly idempotencyKey: string;
8
+ constructor(url: string, resourceServerUrl: string, idempotencyKey: string);
9
+ static create(url: string, resourceServerUrl: string, token?: string): Promise<OAuthAuthenticationRequiredError>;
10
+ }
11
+ export interface OAuthClientConfig {
12
+ userId: string;
13
+ db: OAuthDb;
14
+ callbackUrl: string;
15
+ isPublic: boolean;
16
+ fetchFn?: FetchLike;
17
+ sideChannelFetch?: FetchLike;
18
+ strict?: boolean;
19
+ allowInsecureRequests?: boolean;
20
+ clientName?: string;
21
+ logger?: Logger;
22
+ }
23
+ export declare class OAuthClient extends OAuthResourceClient {
24
+ protected db: OAuthDb;
25
+ protected userId: string;
26
+ protected fetchFn: FetchLike;
27
+ constructor({ userId, db, callbackUrl, clientName, isPublic, fetchFn, sideChannelFetch, strict, allowInsecureRequests, logger }: OAuthClientConfig);
28
+ protected extractResourceUrl: (response: Response) => string | null;
29
+ fetch: FetchLike;
30
+ makeAuthorizationUrl: (url: string, resourceUrl: string) => Promise<URL>;
31
+ handleCallback: (url: string) => Promise<void>;
32
+ getRegistrationMetadata: () => Promise<Partial<oauth.OmitSymbolProperties<oauth.Client>>>;
33
+ protected generatePKCE: (url: string, resourceUrl: string) => Promise<{
34
+ codeVerifier: string;
35
+ codeChallenge: string;
36
+ state: string;
37
+ }>;
38
+ protected makeTokenRequestAndClient: (authorizationServer: oauth.AuthorizationServer, credentials: ClientCredentials, codeVerifier: string, authResponse: URLSearchParams) => Promise<[Response, oauth.Client]>;
39
+ protected exchangeCodeForToken: (authResponse: URLSearchParams, pkceValues: PKCEValues, authorizationServer: oauth.AuthorizationServer) => Promise<string>;
40
+ protected getAccessToken: (url: string) => Promise<AccessToken | null>;
41
+ protected tryRefreshToken: (url: string) => Promise<AccessToken | null>;
42
+ protected _doFetch: FetchLike;
43
+ }
44
+ //# sourceMappingURL=oAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oAuth.d.ts","sourceRoot":"","sources":["../src/oAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGtG,qBAAa,gCAAiC,SAAQ,KAAK;aAEvC,GAAG,EAAE,MAAM;aACX,iBAAiB,EAAE,MAAM;aAGzB,cAAc,EAAE,MAAM;gBAJtB,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EAGzB,cAAc,EAAE,MAAM;WAO3B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;CAOvH;AAgBD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,SAAQ,mBAAmB;IAClD,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;gBAEjB,EACV,MAAM,EACN,EAAE,EACF,WAAW,EACX,UAAwB,EACxB,QAAQ,EACR,OAAe,EACf,gBAA0B,EAC1B,MAAc,EACd,qBAA8D,EAC9D,MAA4B,EAC7B,EAAE,iBAAiB;IAgBpB,SAAS,CAAC,kBAAkB,GAAI,UAAU,QAAQ,KAAG,MAAM,GAAG,IAAI,CAgBjE;IAED,KAAK,EAAE,SAAS,CAoCf;IAED,oBAAoB,GAAU,KAAK,MAAM,EAAE,aAAa,MAAM,KAAG,OAAO,CAAC,GAAG,CAAC,CAa5E;IAED,cAAc,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAuClD;IAEQ,uBAAuB,QAAa,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAqBtG;IAED,SAAS,CAAC,YAAY,GAAU,KAAK,MAAM,EAAE,aAAa,MAAM,KAAG,OAAO,CAAC;QACzE,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAsBD;IAED,SAAS,CAAC,yBAAyB,GACjC,qBAAqB,KAAK,CAAC,mBAAmB,EAC9C,aAAa,iBAAiB,EAC9B,cAAc,MAAM,EACpB,cAAc,eAAe,KAC5B,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAkBnC;IAED,SAAS,CAAC,oBAAoB,GAC5B,cAAc,eAAe,EAC7B,YAAY,UAAU,EACtB,qBAAqB,KAAK,CAAC,mBAAmB,KAC7C,OAAO,CAAC,MAAM,CAAC,CA6BjB;IAED,SAAS,CAAC,cAAc,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAW1E;IAED,SAAS,CAAC,eAAe,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAqC3E;IAED,SAAS,CAAC,QAAQ,EAAE,SAAS,CAsB5B;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setup.expo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.expo.d.ts","sourceRoot":"","sources":["../src/setup.expo.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { Account, PaymentMaker } from './types.js';
2
+ export declare class SolanaAccount implements Account {
3
+ accountId: string;
4
+ paymentMakers: {
5
+ [key: string]: PaymentMaker;
6
+ };
7
+ constructor(solanaEndpoint: string, sourceSecretKey: string);
8
+ }
9
+ //# sourceMappingURL=solanaAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solanaAccount.d.ts","sourceRoot":"","sources":["../src/solanaAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKxD,qBAAa,aAAc,YAAW,OAAO;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC;gBAEnC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAc5D"}
@@ -0,0 +1,24 @@
1
+ import type { PaymentMaker } from './types.js';
2
+ import { ValidateTransferError as _ValidateTransferError } from "@solana/pay";
3
+ import BigNumber from "bignumber.js";
4
+ import { Currency } from '@atxp/common';
5
+ import { Logger } from '@atxp/common';
6
+ export declare const ValidateTransferError: typeof _ValidateTransferError;
7
+ export declare class SolanaPaymentMaker implements PaymentMaker {
8
+ private connection;
9
+ private source;
10
+ private logger;
11
+ constructor(solanaEndpoint: string, sourceSecretKey: string, logger?: Logger);
12
+ getSourceAddress(_params: {
13
+ amount: BigNumber;
14
+ currency: Currency;
15
+ receiver: string;
16
+ memo: string;
17
+ }): string;
18
+ generateJWT: ({ paymentRequestId, codeChallenge }: {
19
+ paymentRequestId: string;
20
+ codeChallenge: string;
21
+ }) => Promise<string>;
22
+ makePayment: (amount: BigNumber, currency: Currency, receiver: string, memo: string) => Promise<string>;
23
+ }
24
+ //# sourceMappingURL=solanaPaymentMaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solanaPaymentMaker.d.ts","sourceRoot":"","sources":["../src/solanaPaymentMaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAkB,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAe,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMtC,eAAO,MAAM,qBAAqB,+BAAyB,CAAC;AAE5D,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAY5E,gBAAgB,CAAC,OAAO,EAAE;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM;IAI1G,WAAW,GAAS,qCAAmC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO,CAAC,MAAM,CAAC,CAezH;IAED,WAAW,GAAU,QAAQ,SAAS,EAAE,UAAU,QAAQ,EAAE,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CA8D3G;CACF"}
@@ -80,6 +80,9 @@ class SolanaPaymentMaker {
80
80
  this.source = Keypair.fromSecretKey(bs58.decode(sourceSecretKey));
81
81
  this.logger = logger ?? new ConsoleLogger();
82
82
  }
83
+ getSourceAddress(_params) {
84
+ return this.source.publicKey.toBase58();
85
+ }
83
86
  }
84
87
 
85
88
  export { SolanaPaymentMaker, ValidateTransferError };
@@ -1 +1 @@
1
- {"version":3,"file":"solanaPaymentMaker.js","sources":["../src/solanaPaymentMaker.ts"],"sourcesContent":[null],"names":["_ValidateTransferError"],"mappings":"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"}
1
+ {"version":3,"file":"solanaPaymentMaker.js","sources":["../src/solanaPaymentMaker.ts"],"sourcesContent":[null],"names":["_ValidateTransferError"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { AuthorizationServerUrl, Currency, Logger, Network, OAuthDb, FetchLike } from "@atxp/common";
2
+ import { ClientOptions } from "@modelcontextprotocol/sdk/client/index.js";
3
+ import { Implementation } from "@modelcontextprotocol/sdk/types.js";
4
+ export type Hex = `0x${string}`;
5
+ type AccountPrefix = Network;
6
+ export type AccountIdString = `${AccountPrefix}${string}`;
7
+ export type Account = {
8
+ accountId: string;
9
+ paymentMakers: {
10
+ [key: string]: PaymentMaker;
11
+ };
12
+ };
13
+ export type ProspectivePayment = {
14
+ accountId: string;
15
+ resourceUrl: string;
16
+ resourceName: string;
17
+ network: Network;
18
+ currency: Currency;
19
+ amount: BigNumber;
20
+ iss: string;
21
+ };
22
+ export type ClientConfig = {
23
+ mcpServer: string;
24
+ account: Account;
25
+ allowedAuthorizationServers: AuthorizationServerUrl[];
26
+ approvePayment: (payment: ProspectivePayment) => Promise<boolean>;
27
+ oAuthDb: OAuthDb;
28
+ fetchFn: FetchLike;
29
+ oAuthChannelFetch: FetchLike;
30
+ allowHttp: boolean;
31
+ logger: Logger;
32
+ clientInfo: Implementation;
33
+ clientOptions: ClientOptions;
34
+ onAuthorize: (args: {
35
+ authorizationServer: AuthorizationServerUrl;
36
+ userId: string;
37
+ }) => Promise<void>;
38
+ onAuthorizeFailure: (args: {
39
+ authorizationServer: AuthorizationServerUrl;
40
+ userId: string;
41
+ error: Error;
42
+ }) => Promise<void>;
43
+ onPayment: (args: {
44
+ payment: ProspectivePayment;
45
+ }) => Promise<void>;
46
+ onPaymentFailure: (args: {
47
+ payment: ProspectivePayment;
48
+ error: Error;
49
+ }) => Promise<void>;
50
+ };
51
+ type RequiredClientConfigFields = 'mcpServer' | 'account';
52
+ type RequiredClientConfig = Pick<ClientConfig, RequiredClientConfigFields>;
53
+ type OptionalClientConfig = Omit<ClientConfig, RequiredClientConfigFields>;
54
+ export type ClientArgs = RequiredClientConfig & Partial<OptionalClientConfig>;
55
+ export type FetchWrapper = (config: ClientArgs) => FetchLike;
56
+ export declare class InsufficientFundsError extends Error {
57
+ readonly currency: Currency;
58
+ readonly required: BigNumber;
59
+ readonly available?: BigNumber | undefined;
60
+ readonly network?: string | undefined;
61
+ constructor(currency: Currency, required: BigNumber, available?: BigNumber | undefined, network?: string | undefined);
62
+ }
63
+ export declare class PaymentNetworkError extends Error {
64
+ readonly originalError?: Error | undefined;
65
+ constructor(message: string, originalError?: Error | undefined);
66
+ }
67
+ export interface PaymentMaker {
68
+ makePayment: (amount: BigNumber, currency: Currency, receiver: string, memo: string) => Promise<string>;
69
+ generateJWT: (params: {
70
+ paymentRequestId: string;
71
+ codeChallenge: string;
72
+ }) => Promise<string>;
73
+ getSourceAddress: (params: {
74
+ amount: BigNumber;
75
+ currency: Currency;
76
+ receiver: string;
77
+ memo: string;
78
+ }) => string | Promise<string>;
79
+ }
80
+ export {};
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * World Chain configuration type, compatible with viem's Chain interface
3
+ */
4
+ export type WorldChain = {
5
+ readonly id: number;
6
+ readonly name: string;
7
+ readonly nativeCurrency: {
8
+ readonly name: string;
9
+ readonly symbol: string;
10
+ readonly decimals: number;
11
+ };
12
+ readonly rpcUrls: {
13
+ readonly default: {
14
+ readonly http: readonly string[];
15
+ };
16
+ };
17
+ readonly blockExplorers: {
18
+ readonly default: {
19
+ readonly name: string;
20
+ readonly url: string;
21
+ };
22
+ };
23
+ readonly testnet?: boolean;
24
+ };
25
+ export declare const USDC_CONTRACT_ADDRESS_WORLD_MAINNET = "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1";
26
+ export declare const USDC_CONTRACT_ADDRESS_WORLD_SEPOLIA = "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1";
27
+ export declare const WORLD_CHAIN_MAINNET: WorldChain;
28
+ export declare const WORLD_CHAIN_SEPOLIA: WorldChain;
29
+ /**
30
+ * Get World Chain Mainnet configuration with custom RPC URL (e.g., with API key)
31
+ * @param rpcUrl - Custom RPC URL, e.g., 'https://worldchain-mainnet.g.alchemy.com/v2/YOUR_API_KEY'
32
+ */
33
+ export declare const getWorldChainMainnetWithRPC: (rpcUrl: string) => WorldChain;
34
+ /**
35
+ * Get World Chain Sepolia configuration with custom RPC URL (e.g., with API key)
36
+ * @param rpcUrl - Custom RPC URL, e.g., 'https://worldchain-sepolia.g.alchemy.com/v2/YOUR_API_KEY'
37
+ */
38
+ export declare const getWorldChainSepoliaWithRPC: (rpcUrl: string) => WorldChain;
39
+ /**
40
+ * Get World Chain configuration by chain ID
41
+ * @param chainId - Chain ID (480 for mainnet, 4801 for sepolia)
42
+ * @returns World Chain configuration
43
+ * @throws Error if chain ID is not supported
44
+ */
45
+ export declare const getWorldChainByChainId: (chainId: number) => WorldChain;
46
+ /**
47
+ * Get USDC contract address for World Chain by chain ID
48
+ * @param chainId - Chain ID (480 for mainnet, 4801 for sepolia)
49
+ * @returns USDC contract address
50
+ * @throws Error if chain ID is not supported
51
+ */
52
+ export declare const getWorldChainUSDCAddress: (chainId: number) => string;
53
+ //# sourceMappingURL=worldConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldConstants.d.ts","sourceRoot":"","sources":["../src/worldConstants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;SAAE,CAAC;KACxD,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KACnE,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,mCAAmC,+CAA+C,CAAC;AAChG,eAAO,MAAM,mCAAmC,+CAA+C,CAAC;AAGhG,eAAO,MAAM,mBAAmB,EAAE,UAUxB,CAAC;AAGX,eAAO,MAAM,mBAAmB,EAAE,UAWxB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,KAAG,UAK3D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,KAAG,UAK3D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,UASxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,MAS1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/client",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "ATXP Client - MCP client with OAuth authentication and payment processing",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "pack:dry": "npm pack --dry-run"
34
34
  },
35
35
  "dependencies": {
36
- "@atxp/common": "0.7.2",
36
+ "@atxp/common": "0.7.4",
37
37
  "@modelcontextprotocol/sdk": "^1.15.0",
38
38
  "bignumber.js": "^9.3.0",
39
39
  "oauth4webapi": "^3.5.0"