@atxp/client 0.9.2 → 0.10.1

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.
@@ -11,10 +11,11 @@ import { McpError } from '@modelcontextprotocol/sdk/types.js';
11
11
  */
12
12
  export declare function atxpFetch(config: ClientConfig): FetchLike;
13
13
  export declare class ATXPFetcher {
14
- protected oauthClient: OAuthClient;
14
+ protected oauthClient: OAuthClient | null;
15
15
  protected account: Account;
16
16
  protected destinationMakers: Map<Network, DestinationMaker>;
17
17
  protected sideChannelFetch: FetchLike;
18
+ protected safeFetchFn: FetchLike;
18
19
  protected db: OAuthDb;
19
20
  protected allowedAuthorizationServers: AuthorizationServerUrl[];
20
21
  protected approvePayment: (payment: ProspectivePayment) => Promise<boolean>;
@@ -39,6 +40,8 @@ export declare class ATXPFetcher {
39
40
  error: Error;
40
41
  remainingNetworks: string[];
41
42
  }) => Promise<void>;
43
+ protected strict: boolean;
44
+ protected allowInsecureRequests: boolean;
42
45
  constructor(config: {
43
46
  account: Account;
44
47
  db: OAuthDb;
@@ -71,6 +74,10 @@ export declare class ATXPFetcher {
71
74
  remainingNetworks: string[];
72
75
  }) => Promise<void>;
73
76
  });
77
+ /**
78
+ * Get or create the OAuthClient (lazy initialization to support async accountId)
79
+ */
80
+ protected getOAuthClient(): Promise<OAuthClient>;
74
81
  private defaultPaymentFailureHandler;
75
82
  protected handleMultiDestinationPayment: (paymentRequest: PaymentRequest, paymentRequestUrl: string, paymentRequestId: string) => Promise<boolean>;
76
83
  protected handlePaymentRequestError: (paymentRequestError: McpError) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"atxpFetcher.d.ts","sourceRoot":"","sources":["../src/atxpFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAGL,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,OAAO,EACP,cAAc,EAEd,MAAM,EAKN,OAAO,EACP,gBAAgB,EAChB,OAAO,EAER,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxG,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAkBzD;AAED,qBAAa,WAAW;IACtB,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC5D,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;IAChE,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,mBAAmB,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChH,SAAS,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAAE,mBAAmB,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrI,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxH,SAAS,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/G,MAAM,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,EAAE,EAAE,OAAO,CAAC;QACZ,iBAAiB,EAAE,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAClD,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,gBAAgB,CAAC,EAAE,SAAS,CAAC;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,2BAA2B,CAAC,EAAE,sBAAsB,EAAE,CAAC;QACvD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,mBAAmB,EAAE,sBAAsB,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACvG,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,mBAAmB,EAAE,sBAAsB,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5H,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,kBAAkB,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/G,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACrE,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAC;YAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAClH;IAkDD,OAAO,CAAC,4BAA4B,CAkClC;IAGF,SAAS,CAAC,6BAA6B,GACrC,gBAAgB,cAAc,EAC9B,mBAAmB,MAAM,EACzB,kBAAkB,MAAM,KACvB,OAAO,CAAC,OAAO,CAAC,CAyJlB;IAED,SAAS,CAAC,yBAAyB,GAAU,qBAAqB,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,CA6B5F;IAED,SAAS,CAAC,iBAAiB,GAAU,mBAAmB,MAAM,KAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiB9F;IAED,SAAS,CAAC,mBAAmB,GAAI,KAAK,MAAM,GAAG,GAAG,KAAG,OAAO,CAI3D;IAED,SAAS,CAAC,+BAA+B,GAAU,kBAAkB,GAAG,EAAE,cAAc,YAAY,KAAG,OAAO,CAAC,MAAM,CAAC,CA6DrH;IAED,SAAS,CAAC,aAAa,GAAU,OAAO,gCAAgC,KAAG,OAAO,CAAC,IAAI,CAAC,CAmDvF;IAED,SAAS,CAAC,aAAa,GAAU,SAAS,WAAW,EAAE,gBAAgB,MAAM,KAAG,OAAO,CAAC,WAAW,CAAC,CAKnG;IAED,SAAS,CAAC,oBAAoB,GAAU,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CA+BzE;IAED,KAAK,EAAE,SAAS,CAkDf;CACF"}
1
+ {"version":3,"file":"atxpFetcher.d.ts","sourceRoot":"","sources":["../src/atxpFetcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OAuthAuthenticationRequiredError, OAuthClient } from './oAuth.js';
2
- import { getErrorRecoveryHint, PAYMENT_REQUIRED_ERROR_CODE, isSSEResponse, parseMcpMessages, parsePaymentRequests, paymentRequiredError, DEFAULT_AUTHORIZATION_SERVER, ConsoleLogger, getIsReactNative, createReactNativeSafeFetch } from '@atxp/common';
2
+ import { getErrorRecoveryHint, PAYMENT_REQUIRED_ERROR_CODE, isSSEResponse, parseMcpMessages, parsePaymentRequests, paymentRequiredError, DEFAULT_AUTHORIZATION_SERVER, ConsoleLogger, createReactNativeSafeFetch, getIsReactNative } from '@atxp/common';
3
3
  import { InsufficientFundsError, ATXPPaymentError } from './errors.js';
4
4
  import { BigNumber } from 'bignumber.js';
5
5
 
@@ -31,6 +31,7 @@ function atxpFetch(config) {
31
31
  }
32
32
  class ATXPFetcher {
33
33
  constructor(config) {
34
+ this.oauthClient = null;
34
35
  this.defaultPaymentFailureHandler = async (context) => {
35
36
  const { payment, error, attemptedNetworks, retryable } = context;
36
37
  const recoveryHint = getErrorRecoveryHint(error);
@@ -90,8 +91,9 @@ class ATXPFetcher {
90
91
  }
91
92
  // Create prospective payment for approval (using first destination for display)
92
93
  const firstDest = mappedDestinations[0];
94
+ const accountId = await this.account.getAccountId();
93
95
  const prospectivePayment = {
94
- accountId: this.account.accountId,
96
+ accountId,
95
97
  resourceUrl: paymentRequest.resource?.toString() ?? '',
96
98
  resourceName: paymentRequest.payeeName ?? '',
97
99
  currency: firstDest.currency,
@@ -125,7 +127,7 @@ class ATXPFetcher {
125
127
  network: result.chain
126
128
  });
127
129
  // Submit payment to the server
128
- const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '', accountId: this.account.accountId });
130
+ const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '', accountId });
129
131
  const response = await this.sideChannelFetch(paymentRequestUrl.toString(), {
130
132
  method: 'PUT',
131
133
  headers: {
@@ -253,7 +255,8 @@ class ATXPFetcher {
253
255
  const paymentMakerCount = this.account.paymentMakers.length;
254
256
  throw new Error(`Payment maker is missing generateJWT method. Available payment maker count: ${paymentMakerCount}. This indicates the payment maker object does not implement the PaymentMaker interface. If using TypeScript, ensure your payment maker properly implements the PaymentMaker interface.`);
255
257
  }
256
- const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge, accountId: this.account.accountId });
258
+ const accountId = await this.account.getAccountId();
259
+ const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge, accountId });
257
260
  // Make a fetch call to the authorization URL with the payment ID
258
261
  // redirect=false is a hack
259
262
  // The OAuth spec calls for the authorization url to return with a redirect, but fetch
@@ -307,42 +310,47 @@ class ATXPFetcher {
307
310
  if (paymentMaker) {
308
311
  // We can do the full OAuth flow - we'll generate a signed JWT and call /authorize on the
309
312
  // AS to get a code, then exchange the code for an access token
310
- const authorizationUrl = await this.oauthClient.makeAuthorizationUrl(error.url, error.resourceServerUrl);
313
+ const oauthClient = await this.getOAuthClient();
314
+ const authorizationUrl = await oauthClient.makeAuthorizationUrl(error.url, error.resourceServerUrl);
311
315
  if (!this.isAllowedAuthServer(authorizationUrl)) {
312
316
  throw new Error(`ATXP: resource server ${error.url} is requesting to use ${authorizationUrl} which is not in the allowed list of authorization servers ${this.allowedAuthorizationServers.join(', ')}`);
313
317
  }
314
318
  try {
315
319
  const redirectUrl = await this.makeAuthRequestWithPaymentMaker(authorizationUrl, paymentMaker);
316
320
  // Handle the OAuth callback
317
- await this.oauthClient.handleCallback(redirectUrl);
321
+ const oauthClient = await this.getOAuthClient();
322
+ await oauthClient.handleCallback(redirectUrl);
318
323
  // Call onAuthorize callback after successful authorization
324
+ const accountId = await this.account.getAccountId();
319
325
  await this.onAuthorize({
320
326
  authorizationServer: authorizationUrl.origin,
321
- userId: this.account.accountId
327
+ userId: accountId
322
328
  });
323
329
  }
324
330
  catch (authError) {
325
331
  // Call onAuthorizeFailure callback if authorization fails
332
+ const accountId = await this.account.getAccountId();
326
333
  await this.onAuthorizeFailure({
327
334
  authorizationServer: authorizationUrl.origin,
328
- userId: this.account.accountId,
335
+ userId: accountId,
329
336
  error: authError
330
337
  });
331
338
  throw authError;
332
339
  }
333
340
  }
334
341
  else {
335
- // Else, we'll see if we've already got an OAuth token from OUR caller (if any).
342
+ // Else, we'll see if we've already got an OAuth token from OUR caller (if any).
336
343
  // If we do, we'll use it to auth to the downstream resource
337
344
  // (In pass-through scenarios, the atxpServer() middleware stores the incoming
338
345
  // token in the DB under the '' resource URL).
339
- const existingToken = await this.db.getAccessToken(this.account.accountId, '');
346
+ const accountId = await this.account.getAccountId();
347
+ const existingToken = await this.db.getAccessToken(accountId, '');
340
348
  if (!existingToken) {
341
349
  this.logger.info(`ATXP: no token found for the current server - we can't exchange a token if we don't have one`);
342
350
  throw error;
343
351
  }
344
352
  const newToken = await this.exchangeToken(existingToken, error.resourceServerUrl);
345
- this.db.saveAccessToken(this.account.accountId, error.resourceServerUrl, newToken);
353
+ this.db.saveAccessToken(accountId, error.resourceServerUrl, newToken);
346
354
  }
347
355
  };
348
356
  this.exchangeToken = async (myToken, newResourceUrl) => {
@@ -386,9 +394,10 @@ class ATXPFetcher {
386
394
  this.fetch = async (url, init) => {
387
395
  let response = null;
388
396
  let fetchError = null;
397
+ const oauthClient = await this.getOAuthClient();
389
398
  try {
390
399
  // Try to fetch the resource
391
- response = await this.oauthClient.fetch(url, init);
400
+ response = await oauthClient.fetch(url, init);
392
401
  await this.checkForATXPResponse(response);
393
402
  return response;
394
403
  }
@@ -400,7 +409,7 @@ class ATXPFetcher {
400
409
  await this.authToService(error);
401
410
  try {
402
411
  // Retry the request once - we should be auth'd now
403
- response = await this.oauthClient.fetch(url, init);
412
+ response = await oauthClient.fetch(url, init);
404
413
  await this.checkForATXPResponse(response);
405
414
  return response;
406
415
  }
@@ -416,7 +425,7 @@ class ATXPFetcher {
416
425
  this.logger.info(`Payment required - ATXP client starting payment flow ${mcpError?.data?.paymentRequestUrl}`);
417
426
  if (await this.handlePaymentRequestError(mcpError)) {
418
427
  // Retry the request once - we should be auth'd now
419
- response = await this.oauthClient.fetch(url, init);
428
+ response = await oauthClient.fetch(url, init);
420
429
  await this.checkForATXPResponse(response);
421
430
  }
422
431
  else {
@@ -435,26 +444,15 @@ class ATXPFetcher {
435
444
  };
436
445
  const { account, db, destinationMakers, fetchFn = fetch, sideChannelFetch = fetchFn, strict = true, allowInsecureRequests = process.env.NODE_ENV === 'development', allowedAuthorizationServers = [DEFAULT_AUTHORIZATION_SERVER], approvePayment = async () => true, logger = new ConsoleLogger(), onAuthorize = async () => { }, onAuthorizeFailure = async () => { }, onPayment = async () => { }, onPaymentFailure, onPaymentAttemptFailed } = config;
437
446
  // Use React Native safe fetch if in React Native environment
438
- const safeFetchFn = getIsReactNative() ? createReactNativeSafeFetch(fetchFn) : fetchFn;
447
+ this.safeFetchFn = getIsReactNative() ? createReactNativeSafeFetch(fetchFn) : fetchFn;
439
448
  const safeSideChannelFetch = getIsReactNative() ? createReactNativeSafeFetch(sideChannelFetch) : sideChannelFetch;
440
- // ATXPClient should never actually use the callback url - instead of redirecting the user to
441
- // an authorization url which redirects back to the callback url, ATXPClient posts the payment
442
- // directly to the authorization server, then does the token exchange itself
443
- this.oauthClient = new OAuthClient({
444
- userId: account.accountId,
445
- db,
446
- callbackUrl: 'http://localhost:3000/unused-dummy-atxp-callback',
447
- isPublic: false,
448
- fetchFn: safeFetchFn,
449
- sideChannelFetch: safeSideChannelFetch,
450
- strict,
451
- allowInsecureRequests,
452
- logger: logger
453
- });
449
+ // OAuthClient is initialized lazily in getOAuthClient() since it needs async accountId
454
450
  this.account = account;
455
451
  this.destinationMakers = destinationMakers;
456
452
  this.sideChannelFetch = safeSideChannelFetch;
457
453
  this.db = db;
454
+ this.strict = strict;
455
+ this.allowInsecureRequests = allowInsecureRequests;
458
456
  this.allowedAuthorizationServers = allowedAuthorizationServers;
459
457
  this.approvePayment = approvePayment;
460
458
  this.logger = logger;
@@ -464,6 +462,27 @@ class ATXPFetcher {
464
462
  this.onPaymentFailure = onPaymentFailure || this.defaultPaymentFailureHandler;
465
463
  this.onPaymentAttemptFailed = onPaymentAttemptFailed;
466
464
  }
465
+ /**
466
+ * Get or create the OAuthClient (lazy initialization to support async accountId)
467
+ */
468
+ async getOAuthClient() {
469
+ if (this.oauthClient) {
470
+ return this.oauthClient;
471
+ }
472
+ const accountId = await this.account.getAccountId();
473
+ this.oauthClient = new OAuthClient({
474
+ userId: accountId,
475
+ db: this.db,
476
+ callbackUrl: 'http://localhost:3000/unused-dummy-atxp-callback',
477
+ isPublic: false,
478
+ fetchFn: this.safeFetchFn,
479
+ sideChannelFetch: this.sideChannelFetch,
480
+ strict: this.strict,
481
+ allowInsecureRequests: this.allowInsecureRequests,
482
+ logger: this.logger
483
+ });
484
+ return this.oauthClient;
485
+ }
467
486
  }
468
487
 
469
488
  export { ATXPFetcher, atxpFetch };
@@ -1 +1 @@
1
- {"version":3,"file":"atxpFetcher.js","sources":["../src/atxpFetcher.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atxpFetcher.js","sources":["../src/atxpFetcher.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -473,6 +473,7 @@ function atxpFetch(config) {
473
473
  }
474
474
  class ATXPFetcher {
475
475
  constructor(config) {
476
+ this.oauthClient = null;
476
477
  this.defaultPaymentFailureHandler = async (context) => {
477
478
  const { payment, error, attemptedNetworks, retryable } = context;
478
479
  const recoveryHint = common.getErrorRecoveryHint(error);
@@ -532,8 +533,9 @@ class ATXPFetcher {
532
533
  }
533
534
  // Create prospective payment for approval (using first destination for display)
534
535
  const firstDest = mappedDestinations[0];
536
+ const accountId = await this.account.getAccountId();
535
537
  const prospectivePayment = {
536
- accountId: this.account.accountId,
538
+ accountId,
537
539
  resourceUrl: paymentRequest.resource?.toString() ?? '',
538
540
  resourceName: paymentRequest.payeeName ?? '',
539
541
  currency: firstDest.currency,
@@ -567,7 +569,7 @@ class ATXPFetcher {
567
569
  network: result.chain
568
570
  });
569
571
  // Submit payment to the server
570
- const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '', accountId: this.account.accountId });
572
+ const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '', accountId });
571
573
  const response = await this.sideChannelFetch(paymentRequestUrl.toString(), {
572
574
  method: 'PUT',
573
575
  headers: {
@@ -695,7 +697,8 @@ class ATXPFetcher {
695
697
  const paymentMakerCount = this.account.paymentMakers.length;
696
698
  throw new Error(`Payment maker is missing generateJWT method. Available payment maker count: ${paymentMakerCount}. This indicates the payment maker object does not implement the PaymentMaker interface. If using TypeScript, ensure your payment maker properly implements the PaymentMaker interface.`);
697
699
  }
698
- const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge, accountId: this.account.accountId });
700
+ const accountId = await this.account.getAccountId();
701
+ const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge, accountId });
699
702
  // Make a fetch call to the authorization URL with the payment ID
700
703
  // redirect=false is a hack
701
704
  // The OAuth spec calls for the authorization url to return with a redirect, but fetch
@@ -749,42 +752,47 @@ class ATXPFetcher {
749
752
  if (paymentMaker) {
750
753
  // We can do the full OAuth flow - we'll generate a signed JWT and call /authorize on the
751
754
  // AS to get a code, then exchange the code for an access token
752
- const authorizationUrl = await this.oauthClient.makeAuthorizationUrl(error.url, error.resourceServerUrl);
755
+ const oauthClient = await this.getOAuthClient();
756
+ const authorizationUrl = await oauthClient.makeAuthorizationUrl(error.url, error.resourceServerUrl);
753
757
  if (!this.isAllowedAuthServer(authorizationUrl)) {
754
758
  throw new Error(`ATXP: resource server ${error.url} is requesting to use ${authorizationUrl} which is not in the allowed list of authorization servers ${this.allowedAuthorizationServers.join(', ')}`);
755
759
  }
756
760
  try {
757
761
  const redirectUrl = await this.makeAuthRequestWithPaymentMaker(authorizationUrl, paymentMaker);
758
762
  // Handle the OAuth callback
759
- await this.oauthClient.handleCallback(redirectUrl);
763
+ const oauthClient = await this.getOAuthClient();
764
+ await oauthClient.handleCallback(redirectUrl);
760
765
  // Call onAuthorize callback after successful authorization
766
+ const accountId = await this.account.getAccountId();
761
767
  await this.onAuthorize({
762
768
  authorizationServer: authorizationUrl.origin,
763
- userId: this.account.accountId
769
+ userId: accountId
764
770
  });
765
771
  }
766
772
  catch (authError) {
767
773
  // Call onAuthorizeFailure callback if authorization fails
774
+ const accountId = await this.account.getAccountId();
768
775
  await this.onAuthorizeFailure({
769
776
  authorizationServer: authorizationUrl.origin,
770
- userId: this.account.accountId,
777
+ userId: accountId,
771
778
  error: authError
772
779
  });
773
780
  throw authError;
774
781
  }
775
782
  }
776
783
  else {
777
- // Else, we'll see if we've already got an OAuth token from OUR caller (if any).
784
+ // Else, we'll see if we've already got an OAuth token from OUR caller (if any).
778
785
  // If we do, we'll use it to auth to the downstream resource
779
786
  // (In pass-through scenarios, the atxpServer() middleware stores the incoming
780
787
  // token in the DB under the '' resource URL).
781
- const existingToken = await this.db.getAccessToken(this.account.accountId, '');
788
+ const accountId = await this.account.getAccountId();
789
+ const existingToken = await this.db.getAccessToken(accountId, '');
782
790
  if (!existingToken) {
783
791
  this.logger.info(`ATXP: no token found for the current server - we can't exchange a token if we don't have one`);
784
792
  throw error;
785
793
  }
786
794
  const newToken = await this.exchangeToken(existingToken, error.resourceServerUrl);
787
- this.db.saveAccessToken(this.account.accountId, error.resourceServerUrl, newToken);
795
+ this.db.saveAccessToken(accountId, error.resourceServerUrl, newToken);
788
796
  }
789
797
  };
790
798
  this.exchangeToken = async (myToken, newResourceUrl) => {
@@ -828,9 +836,10 @@ class ATXPFetcher {
828
836
  this.fetch = async (url, init) => {
829
837
  let response = null;
830
838
  let fetchError = null;
839
+ const oauthClient = await this.getOAuthClient();
831
840
  try {
832
841
  // Try to fetch the resource
833
- response = await this.oauthClient.fetch(url, init);
842
+ response = await oauthClient.fetch(url, init);
834
843
  await this.checkForATXPResponse(response);
835
844
  return response;
836
845
  }
@@ -842,7 +851,7 @@ class ATXPFetcher {
842
851
  await this.authToService(error);
843
852
  try {
844
853
  // Retry the request once - we should be auth'd now
845
- response = await this.oauthClient.fetch(url, init);
854
+ response = await oauthClient.fetch(url, init);
846
855
  await this.checkForATXPResponse(response);
847
856
  return response;
848
857
  }
@@ -858,7 +867,7 @@ class ATXPFetcher {
858
867
  this.logger.info(`Payment required - ATXP client starting payment flow ${mcpError?.data?.paymentRequestUrl}`);
859
868
  if (await this.handlePaymentRequestError(mcpError)) {
860
869
  // Retry the request once - we should be auth'd now
861
- response = await this.oauthClient.fetch(url, init);
870
+ response = await oauthClient.fetch(url, init);
862
871
  await this.checkForATXPResponse(response);
863
872
  }
864
873
  else {
@@ -877,26 +886,15 @@ class ATXPFetcher {
877
886
  };
878
887
  const { account, db, destinationMakers, fetchFn = fetch, sideChannelFetch = fetchFn, strict = true, allowInsecureRequests = process.env.NODE_ENV === 'development', allowedAuthorizationServers = [common.DEFAULT_AUTHORIZATION_SERVER], approvePayment = async () => true, logger = new common.ConsoleLogger(), onAuthorize = async () => { }, onAuthorizeFailure = async () => { }, onPayment = async () => { }, onPaymentFailure, onPaymentAttemptFailed } = config;
879
888
  // Use React Native safe fetch if in React Native environment
880
- const safeFetchFn = common.getIsReactNative() ? common.createReactNativeSafeFetch(fetchFn) : fetchFn;
889
+ this.safeFetchFn = common.getIsReactNative() ? common.createReactNativeSafeFetch(fetchFn) : fetchFn;
881
890
  const safeSideChannelFetch = common.getIsReactNative() ? common.createReactNativeSafeFetch(sideChannelFetch) : sideChannelFetch;
882
- // ATXPClient should never actually use the callback url - instead of redirecting the user to
883
- // an authorization url which redirects back to the callback url, ATXPClient posts the payment
884
- // directly to the authorization server, then does the token exchange itself
885
- this.oauthClient = new OAuthClient({
886
- userId: account.accountId,
887
- db,
888
- callbackUrl: 'http://localhost:3000/unused-dummy-atxp-callback',
889
- isPublic: false,
890
- fetchFn: safeFetchFn,
891
- sideChannelFetch: safeSideChannelFetch,
892
- strict,
893
- allowInsecureRequests,
894
- logger: logger
895
- });
891
+ // OAuthClient is initialized lazily in getOAuthClient() since it needs async accountId
896
892
  this.account = account;
897
893
  this.destinationMakers = destinationMakers;
898
894
  this.sideChannelFetch = safeSideChannelFetch;
899
895
  this.db = db;
896
+ this.strict = strict;
897
+ this.allowInsecureRequests = allowInsecureRequests;
900
898
  this.allowedAuthorizationServers = allowedAuthorizationServers;
901
899
  this.approvePayment = approvePayment;
902
900
  this.logger = logger;
@@ -906,6 +904,27 @@ class ATXPFetcher {
906
904
  this.onPaymentFailure = onPaymentFailure || this.defaultPaymentFailureHandler;
907
905
  this.onPaymentAttemptFailed = onPaymentAttemptFailed;
908
906
  }
907
+ /**
908
+ * Get or create the OAuthClient (lazy initialization to support async accountId)
909
+ */
910
+ async getOAuthClient() {
911
+ if (this.oauthClient) {
912
+ return this.oauthClient;
913
+ }
914
+ const accountId = await this.account.getAccountId();
915
+ this.oauthClient = new OAuthClient({
916
+ userId: accountId,
917
+ db: this.db,
918
+ callbackUrl: 'http://localhost:3000/unused-dummy-atxp-callback',
919
+ isPublic: false,
920
+ fetchFn: this.safeFetchFn,
921
+ sideChannelFetch: this.sideChannelFetch,
922
+ strict: this.strict,
923
+ allowInsecureRequests: this.allowInsecureRequests,
924
+ logger: this.logger
925
+ });
926
+ return this.oauthClient;
927
+ }
909
928
  }
910
929
 
911
930
  var util$1;