@atxp/server 0.7.3 → 0.8.0

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 (62) hide show
  1. package/dist/atxpContext.d.ts +7 -0
  2. package/dist/atxpContext.d.ts.map +1 -0
  3. package/dist/atxpContext.js.map +1 -1
  4. package/dist/core/index.d.ts +4 -0
  5. package/dist/core/index.d.ts.map +1 -0
  6. package/dist/core/mcp.d.ts +7 -0
  7. package/dist/core/mcp.d.ts.map +1 -0
  8. package/dist/core/oauth.d.ts +11 -0
  9. package/dist/core/oauth.d.ts.map +1 -0
  10. package/dist/core/token.d.ts +7 -0
  11. package/dist/core/token.d.ts.map +1 -0
  12. package/dist/getResource.d.ts +4 -0
  13. package/dist/getResource.d.ts.map +1 -0
  14. package/dist/index.cjs +75 -120
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.ts +32 -36
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +77 -120
  19. package/dist/index.js.map +1 -1
  20. package/dist/node/getRawBody.d.ts +3 -0
  21. package/dist/node/getRawBody.d.ts.map +1 -0
  22. package/dist/node/http.d.ts +11 -0
  23. package/dist/node/http.d.ts.map +1 -0
  24. package/dist/node/index.d.ts +4 -0
  25. package/dist/node/index.d.ts.map +1 -0
  26. package/dist/node/oauth.d.ts +11 -0
  27. package/dist/node/oauth.d.ts.map +1 -0
  28. package/dist/node/token.d.ts +8 -0
  29. package/dist/node/token.d.ts.map +1 -0
  30. package/dist/oAuthMetadata.d.ts +4 -0
  31. package/dist/oAuthMetadata.d.ts.map +1 -0
  32. package/dist/paymentServer.d.ts +42 -0
  33. package/dist/paymentServer.d.ts.map +1 -0
  34. package/dist/protectedResourceMetadata.d.ts +3 -0
  35. package/dist/protectedResourceMetadata.d.ts.map +1 -0
  36. package/dist/requirePayment.d.ts +3 -0
  37. package/dist/requirePayment.d.ts.map +1 -0
  38. package/dist/requirePayment.js +45 -24
  39. package/dist/requirePayment.js.map +1 -1
  40. package/dist/serverConfig.d.ts +10 -0
  41. package/dist/serverConfig.d.ts.map +1 -0
  42. package/dist/serverConfig.js +2 -2
  43. package/dist/serverConfig.js.map +1 -1
  44. package/dist/serverTestHelpers.d.ts +30 -16
  45. package/dist/serverTestHelpers.d.ts.map +1 -0
  46. package/dist/serverTestHelpers.js +41 -15
  47. package/dist/serverTestHelpers.js.map +1 -1
  48. package/dist/types.d.ts +85 -0
  49. package/dist/types.d.ts.map +1 -0
  50. package/dist/types.js +30 -1
  51. package/dist/types.js.map +1 -1
  52. package/dist/webapi/index.d.ts +4 -0
  53. package/dist/webapi/index.d.ts.map +1 -0
  54. package/dist/webapi/mcp.d.ts +8 -0
  55. package/dist/webapi/mcp.d.ts.map +1 -0
  56. package/dist/webapi/oauth.d.ts +10 -0
  57. package/dist/webapi/oauth.d.ts.map +1 -0
  58. package/dist/webapi/token.d.ts +7 -0
  59. package/dist/webapi/token.d.ts.map +1 -0
  60. package/package.json +2 -2
  61. package/dist/paymentDestination.js +0 -97
  62. package/dist/paymentDestination.js.map +0 -1
@@ -10,8 +10,8 @@ const DEFAULT_CONFIG = {
10
10
  resource: null, // Set dynamically from the request URL
11
11
  };
12
12
  function buildServerConfig(args) {
13
- if (!args.paymentDestination) {
14
- throw new Error('paymentDestination is required');
13
+ if (!args.destination) {
14
+ throw new Error('destination is required');
15
15
  }
16
16
  // Validate minimumPayment if provided
17
17
  if (args.minimumPayment && args.minimumPayment.isGreaterThan(1)) {
@@ -1 +1 @@
1
- {"version":3,"file":"serverConfig.js","sources":["../src/serverConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUO,MAAM,cAAc,GAAkE;AAC3F,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,QAAQ,EAAE,MAAe;AACzB,IAAA,MAAM,EAAE,4BAA4B;AACpC,IAAA,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;;AAGV,SAAU,iBAAiB,CAAC,IAAc,EAAA;AAC9C,IAAA,IAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,QAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;IACnD;;AAGA,IAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;AAC/D,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACvD;;AAGA,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,GAAG,cAAc;AACjB,QAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;KAClD;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAI,mBAAmB,CAAC;AACtE,QAAA,EAAE,EAAE,OAAO;QACX,qBAAqB,EAAE,YAAY,CAAC,SAAS;QAC7C,UAAU,EAAE,YAAY,CAAC,SAAS;AACnC,KAAA,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;AACzD,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAEtG,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAC;AAC5D,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD;;;;"}
1
+ {"version":3,"file":"serverConfig.js","sources":["../src/serverConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUO,MAAM,cAAc,GAAkE;AAC3F,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,QAAQ,EAAE,MAAe;AACzB,IAAA,MAAM,EAAE,4BAA4B;AACpC,IAAA,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;;AAGV,SAAU,iBAAiB,CAAC,IAAc,EAAA;AAC9C,IAAA,IAAG,CAAC,IAAI,CAAC,WAAW,EAAE;AACpB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;;AAGA,IAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;AAC/D,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACvD;;AAGA,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,GAAG,cAAc;AACjB,QAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;KAClD;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAI,mBAAmB,CAAC;AACtE,QAAA,EAAE,EAAE,OAAO;QACX,qBAAqB,EAAE,YAAY,CAAC,SAAS;QAC7C,UAAU,EAAE,YAAY,CAAC,SAAS;AACnC,KAAA,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;AACzD,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAEtG,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAC;AAC5D,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD;;;;"}
@@ -1,23 +1,36 @@
1
1
  import * as vitest from 'vitest';
2
2
  import { IncomingHttpHeaders, IncomingMessage, ServerResponse } from 'http';
3
3
  import { JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';
4
- import { Currency, Network, PaymentRequestData, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient, TokenData } from '@atxp/common';
5
- import BigNumber$1 from 'bignumber.js';
4
+ import { PaymentRequestData, Account, Currency, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient, TokenData, Network } from '@atxp/common';
6
5
  import * as oauth from 'oauth4webapi';
7
6
 
8
- type FundingAmount = {
9
- amount: BigNumber$1;
10
- currency: Currency;
11
- };
12
- type PaymentAddress = {
13
- destination: string;
14
- network: Network;
15
- };
16
- interface PaymentDestination {
17
- destinations(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
7
+ declare enum McpMethodEnum {
8
+ NotificationsCancelled = "notifications/cancelled",
9
+ Initialize = "initialize",
10
+ Ping = "ping",
11
+ NotificationsProgress = "notifications/progress",
12
+ ResourcesList = "resources/list",
13
+ ResourcesTemplatesList = "resources/templates/list",
14
+ ResourcesRead = "resources/read",
15
+ NotificationsResourcesListChanged = "notifications/resources/list_changed",
16
+ ResourcesSubscribe = "resources/subscribe",
17
+ ResourcesUnsubscribe = "resources/unsubscribe",
18
+ NotificationsResourcesUpdated = "notifications/resources/updated",
19
+ PromptsList = "prompts/list",
20
+ PromptsGet = "prompts/get",
21
+ NotificationsPromptsListChanged = "notifications/prompts/list_changed",
22
+ ToolsList = "tools/list",
23
+ ToolsCall = "tools/call",
24
+ NotificationsToolsListChanged = "notifications/tools/list_changed",
25
+ LoggingSetLevel = "logging/setLevel",
26
+ NotificationsMessage = "notifications/message",
27
+ SamplingCreateMessage = "sampling/createMessage",
28
+ ElicitationCreate = "elicitation/create",
29
+ CompletionComplete = "completion/complete",
30
+ RootsList = "roots/list",
31
+ NotificationsRootsListChanged = "notifications/roots/list_changed"
18
32
  }
19
-
20
- type McpMethod = 'notifications/cancelled' | 'initialize' | 'ping' | 'notifications/progress' | 'resources/list' | 'resources/templates/list' | 'resources/read' | 'notifications/resources/list_changed' | 'resources/subscribe' | 'resources/unsubscribe' | 'notifications/resources/updated' | 'prompts/list' | 'prompts/get' | 'notifications/prompts/list_changed' | 'tools/list' | 'tools/call' | 'notifications/tools/list_changed' | 'logging/setLevel' | 'notifications/message' | 'sampling/createMessage' | 'elicitation/create' | 'completion/complete' | 'roots/list' | 'notifications/roots/list_changed';
33
+ type McpMethod = `${McpMethodEnum}`;
21
34
  type McpName = string;
22
35
  type Charge = Omit<PaymentRequestData, 'resource' | 'resourceName' | 'iss'>;
23
36
  type ChargeResponse = {
@@ -29,7 +42,7 @@ type PaymentServer = {
29
42
  createPaymentRequest: (args: Charge) => Promise<string>;
30
43
  };
31
44
  type ATXPConfig = {
32
- paymentDestination: PaymentDestination;
45
+ destination: Account;
33
46
  mountPath: string;
34
47
  currency: Currency;
35
48
  server: AuthorizationServerUrl;
@@ -66,6 +79,7 @@ type TokenCheck = TokenCheckPass | TokenCheckFail;
66
79
 
67
80
  declare const DESTINATION = "testDestination";
68
81
  declare const SOURCE = "testSource";
82
+ declare function mockAccount(accountId: string): Account;
69
83
  declare function charge({ amount, currency, network, destination, source }?: {
70
84
  amount?: BigNumber;
71
85
  currency?: Currency;
@@ -114,4 +128,4 @@ declare function tokenCheck({ data, token, passes, problem, resourceMetadataUrl
114
128
  }): TokenCheck;
115
129
  declare function serverResponse(): ServerResponse;
116
130
 
117
- export { DESTINATION, SOURCE, charge, config, incomingMessage, incomingToolMessage, logger, mcpRequest, mcpToolRequest, oAuthClient, oneCentCharge, paymentServer, serverResponse, tokenCheck, tokenData, zeroCharge };
131
+ export { DESTINATION, SOURCE, charge, config, incomingMessage, incomingToolMessage, logger, mcpRequest, mcpToolRequest, mockAccount, oAuthClient, oneCentCharge, paymentServer, serverResponse, tokenCheck, tokenData, zeroCharge };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverTestHelpers.d.ts","sourceRoot":"","sources":["../src/serverTestHelpers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,35 @@ import { MemoryOAuthDb, DEFAULT_AUTHORIZATION_SERVER } from '@atxp/common';
3
3
  import { vi } from 'vitest';
4
4
  import { BigNumber } from 'bignumber.js';
5
5
 
6
+ // https://github.com/modelcontextprotocol/typescript-sdk/blob/c6ac083b1b37b222b5bfba5563822daa5d03372e/src/types.ts
7
+ // ctrl+f "method: z.literal(""
8
+ var McpMethodEnum;
9
+ (function (McpMethodEnum) {
10
+ McpMethodEnum["NotificationsCancelled"] = "notifications/cancelled";
11
+ McpMethodEnum["Initialize"] = "initialize";
12
+ McpMethodEnum["Ping"] = "ping";
13
+ McpMethodEnum["NotificationsProgress"] = "notifications/progress";
14
+ McpMethodEnum["ResourcesList"] = "resources/list";
15
+ McpMethodEnum["ResourcesTemplatesList"] = "resources/templates/list";
16
+ McpMethodEnum["ResourcesRead"] = "resources/read";
17
+ McpMethodEnum["NotificationsResourcesListChanged"] = "notifications/resources/list_changed";
18
+ McpMethodEnum["ResourcesSubscribe"] = "resources/subscribe";
19
+ McpMethodEnum["ResourcesUnsubscribe"] = "resources/unsubscribe";
20
+ McpMethodEnum["NotificationsResourcesUpdated"] = "notifications/resources/updated";
21
+ McpMethodEnum["PromptsList"] = "prompts/list";
22
+ McpMethodEnum["PromptsGet"] = "prompts/get";
23
+ McpMethodEnum["NotificationsPromptsListChanged"] = "notifications/prompts/list_changed";
24
+ McpMethodEnum["ToolsList"] = "tools/list";
25
+ McpMethodEnum["ToolsCall"] = "tools/call";
26
+ McpMethodEnum["NotificationsToolsListChanged"] = "notifications/tools/list_changed";
27
+ McpMethodEnum["LoggingSetLevel"] = "logging/setLevel";
28
+ McpMethodEnum["NotificationsMessage"] = "notifications/message";
29
+ McpMethodEnum["SamplingCreateMessage"] = "sampling/createMessage";
30
+ McpMethodEnum["ElicitationCreate"] = "elicitation/create";
31
+ McpMethodEnum["CompletionComplete"] = "completion/complete";
32
+ McpMethodEnum["RootsList"] = "roots/list";
33
+ McpMethodEnum["NotificationsRootsListChanged"] = "notifications/roots/list_changed";
34
+ })(McpMethodEnum || (McpMethodEnum = {}));
6
35
  var TokenProblem;
7
36
  (function (TokenProblem) {
8
37
  TokenProblem["NO_TOKEN"] = "NO-TOKEN";
@@ -13,22 +42,17 @@ var TokenProblem;
13
42
  TokenProblem["INTROSPECT_ERROR"] = "INTROSPECT-ERROR";
14
43
  })(TokenProblem || (TokenProblem = {}));
15
44
 
16
- class ChainPaymentDestination {
17
- constructor(address, network) {
18
- this.address = address;
19
- this.network = network;
20
- }
21
- async destinations(_fundingAmount, _buyerAddress) {
22
- return [{
23
- destination: this.address,
24
- network: this.network
25
- }];
26
- }
27
- }
28
-
29
45
  /* eslint-disable @typescript-eslint/no-explicit-any, no-console */
30
46
  const DESTINATION = 'testDestination';
31
47
  const SOURCE = 'testSource';
48
+ // Helper to create a mock Account for testing
49
+ function mockAccount(accountId) {
50
+ return {
51
+ accountId: `base:${accountId}`, // Format as base:address for tests
52
+ paymentMakers: [],
53
+ getSources: async () => [],
54
+ };
55
+ }
32
56
  function charge({ amount = BigNumber(0.01), currency = 'USDC', network = 'solana', destination = DESTINATION, source = SOURCE } = {}) {
33
57
  return { amount, currency, network, destination, source };
34
58
  }
@@ -51,8 +75,10 @@ function config(args = {}) {
51
75
  validateClientCredentials: vi.fn().mockResolvedValue(true),
52
76
  extractAccessToken: vi.fn().mockReturnValue('test-token')
53
77
  };
78
+ // Create a mock Account for testing
79
+ const mockDestination = args.destination ?? mockAccount(DESTINATION);
54
80
  const config = {
55
- paymentDestination: args.paymentDestination ?? new ChainPaymentDestination(DESTINATION, 'base'),
81
+ destination: mockDestination,
56
82
  mountPath: args.mountPath ?? '/',
57
83
  currency: args.currency ?? 'USDC',
58
84
  server: args.server ?? DEFAULT_AUTHORIZATION_SERVER,
@@ -127,5 +153,5 @@ function serverResponse() {
127
153
  };
128
154
  }
129
155
 
130
- export { DESTINATION, SOURCE, charge, config, incomingMessage, incomingToolMessage, logger, mcpRequest, mcpToolRequest, oAuthClient, oneCentCharge, paymentServer, serverResponse, tokenCheck, tokenData, zeroCharge };
156
+ export { DESTINATION, SOURCE, charge, config, incomingMessage, incomingToolMessage, logger, mcpRequest, mcpToolRequest, mockAccount, oAuthClient, oneCentCharge, paymentServer, serverResponse, tokenCheck, tokenData, zeroCharge };
131
157
  //# sourceMappingURL=serverTestHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/paymentDestination.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;AAqDA,IAAY,YAOX;AAPD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;MCpCX,uBAAuB,CAAA;IAClC,WAAA,CACmB,OAAe,EACf,OAAgB,EAAA;QADhB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;IACvB;AAEH,IAAA,MAAM,YAAY,CAAC,cAA6B,EAAE,aAAqB,EAAA;AACrE,QAAA,OAAO,CAAC;gBACN,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB,OAAO,EAAE,IAAI,CAAC;AACf,aAAA,CAAC;IACJ;AACD;;AC7BD;AAcO,MAAM,WAAW,GAAG;AACpB,MAAM,MAAM,GAAG;AAEhB,SAAU,MAAM,CAAC,EACnB,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EACxB,QAAQ,GAAG,MAAM,EACjB,OAAO,GAAG,QAAQ,EAClB,WAAW,GAAG,WAAW,EACzB,MAAM,GAAG,MAAM,EAAA,GAOb,EAAE,EAAA;IAEN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;AAC3D;AAEO,MAAM,aAAa,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAC;AAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC;SAEvC,MAAM,GAAA;IACpB,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACxE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;KACzE;AACH;AAEM,SAAU,MAAM,CAAC,IAAA,GAA4B,EAAE,EAAA;;AAEnD,IAAA,MAAM,UAAU,GAAG,MAAM,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE;AACnD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI;QACtC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC1D,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY;KAClD;AAER,IAAA,MAAM,MAAM,GAAe;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC;AAC/F,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;AAChC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;AACjC,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,4BAA4B;AACnD,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;AAC/C,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;AACjC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO;QACP,WAAW;AACX,QAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE;AACpD,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU;AACjC,QAAA,GAAG;KACJ;AAED,IAAA,OAAO,MAAM;AACf;SAEgB,aAAa,CAAC,EAC5B,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,CAAC,EAC5E,oBAAoB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAC5E,GAAG,EAAE,EAAA;IACJ,OAAO;QACL,MAAM;QACN,oBAAoB;KACO;AAC/B;SAEgB,UAAU,CAAC,EAAC,MAAM,GAAG,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,KAIzE,EAAE,EAAA;IAEJ,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;AACxD;SAEgB,cAAc,CAAC,EAC3B,QAAQ,GAAG,UAAU,EACrB,IAAI,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,MAIvB,EAAE,EAAA;IAEN,OAAO,UAAU,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,EAAC,CAAC;AACtF;AAEM,SAAU,eAAe,CAAC,EAC5B,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,MAAM,EACf,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,EAAA,GAM5C,EAAE,EAAA;IAEN,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACvC,IAAA,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;QAC1B,IAAI,GAAA;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;AACD,KAAA,CAAoB;AACrB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM;AACtB,IAAA,MAAM,CAAC,GAAG,GAAG,GAAG;AAChB,IAAA,MAAM,CAAC,OAAO,GAAG,OAAO;AACxB,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,mBAAmB,CAAC,EAChC,UAAU,GAAG,SAAS,EACtB,GAAG,GAAG,GAAG,GAAA,GAIP,EAAE,EAAA;AAEN,IAAA,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,cAAc,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC;QAC5C,OAAO,EAAE,EAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAC;QAC1E;AACD,KAAA,CAAC;AACJ;AAEM,SAAU,WAAW,CAAC,EAC1B,gBAAgB,GAAG,SAAS,EAAE,EAC9B,mBAAmB,GAAG;AACpB,IAAA,MAAM,EAAE,sBAAsB;AAC/B,CAAA,EAAA,GAIC,EAAE,EAAA;IACJ,OAAO;QACL,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAC5D,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB;KACxC;AACrC;AAEM,SAAU,SAAS,CAAC,EACtB,MAAM,GAAG,IAAI,EACb,GAAG,GAAG,WAAW,EACjB,KAAK,GAAG,YAAY,EACpB,GAAG,GAAG,qBAAqB,KACL,EAAE,EAAA;IAE1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACpC;AAEM,SAAU,UAAU,CAAC,EACzB,IAAI,GAAG,SAAS,EAAE,EAClB,KAAK,GAAG,YAAY,EACpB,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,YAAY,CAAC,QAAQ,EAC/B,mBAAmB,GAAG,0DAA0D,EAAA,GAO9E,EAAE,EAAA;IACJ,IAAI,MAAM,EAAE;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAqB;IACnD;SAAO;QACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAoB;IAChF;AACF;SAEgB,cAAc,GAAA;IAC5B,OAAO;AACL,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;KACgB;AAChC;;;;"}
1
+ {"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { AuthorizationServerUrl, Currency, Logger, PaymentRequestData, UrlString, OAuthDb, TokenData, OAuthResourceClient, Account } from "@atxp/common";
2
+ export declare enum McpMethodEnum {
3
+ NotificationsCancelled = "notifications/cancelled",
4
+ Initialize = "initialize",
5
+ Ping = "ping",
6
+ NotificationsProgress = "notifications/progress",
7
+ ResourcesList = "resources/list",
8
+ ResourcesTemplatesList = "resources/templates/list",
9
+ ResourcesRead = "resources/read",
10
+ NotificationsResourcesListChanged = "notifications/resources/list_changed",
11
+ ResourcesSubscribe = "resources/subscribe",
12
+ ResourcesUnsubscribe = "resources/unsubscribe",
13
+ NotificationsResourcesUpdated = "notifications/resources/updated",
14
+ PromptsList = "prompts/list",
15
+ PromptsGet = "prompts/get",
16
+ NotificationsPromptsListChanged = "notifications/prompts/list_changed",
17
+ ToolsList = "tools/list",
18
+ ToolsCall = "tools/call",
19
+ NotificationsToolsListChanged = "notifications/tools/list_changed",
20
+ LoggingSetLevel = "logging/setLevel",
21
+ NotificationsMessage = "notifications/message",
22
+ SamplingCreateMessage = "sampling/createMessage",
23
+ ElicitationCreate = "elicitation/create",
24
+ CompletionComplete = "completion/complete",
25
+ RootsList = "roots/list",
26
+ NotificationsRootsListChanged = "notifications/roots/list_changed"
27
+ }
28
+ export type McpMethod = `${McpMethodEnum}`;
29
+ export type McpName = string;
30
+ export type McpNamePattern = McpName | '*';
31
+ export type McpOperation = `${McpMethod}` | `${McpMethod}:${McpName}`;
32
+ export type McpOperationPattern = McpOperation | '*' | `${McpMethod}:*`;
33
+ export type RefundErrors = boolean | 'nonMcpOnly';
34
+ export type Charge = Omit<PaymentRequestData, 'resource' | 'resourceName' | 'iss'>;
35
+ export type ChargeResponse = {
36
+ success: boolean;
37
+ requiredPayment: PaymentRequestData | null;
38
+ };
39
+ export type PaymentServer = {
40
+ charge: (args: Charge) => Promise<ChargeResponse>;
41
+ createPaymentRequest: (args: Charge) => Promise<string>;
42
+ };
43
+ export type ATXPConfig = {
44
+ destination: Account;
45
+ mountPath: string;
46
+ currency: Currency;
47
+ server: AuthorizationServerUrl;
48
+ payeeName: string;
49
+ resource: UrlString | null;
50
+ allowHttp: boolean;
51
+ logger: Logger;
52
+ oAuthDb: OAuthDb;
53
+ oAuthClient: OAuthResourceClient;
54
+ paymentServer: PaymentServer;
55
+ minimumPayment?: BigNumber;
56
+ };
57
+ export declare enum TokenProblem {
58
+ NO_TOKEN = "NO-TOKEN",
59
+ NON_BEARER_AUTH_HEADER = "NON-BEARER-AUTH-HEADER",
60
+ INVALID_TOKEN = "INVALID-TOKEN",
61
+ INVALID_AUDIENCE = "INVALID-AUDIENCE",
62
+ NON_SUFFICIENT_FUNDS = "NON-SUFFICIENT-FUNDS",
63
+ INTROSPECT_ERROR = "INTROSPECT-ERROR"
64
+ }
65
+ export type TokenCheckPass = {
66
+ passes: true;
67
+ token: string;
68
+ data: TokenData;
69
+ };
70
+ export type TokenCheckFail = {
71
+ passes: false;
72
+ problem: TokenProblem;
73
+ token: string | null;
74
+ data: TokenData | null;
75
+ resourceMetadataUrl: string | null;
76
+ };
77
+ export type TokenCheck = TokenCheckPass | TokenCheckFail;
78
+ export type ProtectedResourceMetadata = {
79
+ resource: URL;
80
+ resource_name: string;
81
+ authorization_servers: string[];
82
+ bearer_methods_supported: string[];
83
+ scopes_supported: string[];
84
+ };
85
+ //# 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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"}
package/dist/types.js CHANGED
@@ -1,3 +1,32 @@
1
+ // https://github.com/modelcontextprotocol/typescript-sdk/blob/c6ac083b1b37b222b5bfba5563822daa5d03372e/src/types.ts
2
+ // ctrl+f "method: z.literal(""
3
+ var McpMethodEnum;
4
+ (function (McpMethodEnum) {
5
+ McpMethodEnum["NotificationsCancelled"] = "notifications/cancelled";
6
+ McpMethodEnum["Initialize"] = "initialize";
7
+ McpMethodEnum["Ping"] = "ping";
8
+ McpMethodEnum["NotificationsProgress"] = "notifications/progress";
9
+ McpMethodEnum["ResourcesList"] = "resources/list";
10
+ McpMethodEnum["ResourcesTemplatesList"] = "resources/templates/list";
11
+ McpMethodEnum["ResourcesRead"] = "resources/read";
12
+ McpMethodEnum["NotificationsResourcesListChanged"] = "notifications/resources/list_changed";
13
+ McpMethodEnum["ResourcesSubscribe"] = "resources/subscribe";
14
+ McpMethodEnum["ResourcesUnsubscribe"] = "resources/unsubscribe";
15
+ McpMethodEnum["NotificationsResourcesUpdated"] = "notifications/resources/updated";
16
+ McpMethodEnum["PromptsList"] = "prompts/list";
17
+ McpMethodEnum["PromptsGet"] = "prompts/get";
18
+ McpMethodEnum["NotificationsPromptsListChanged"] = "notifications/prompts/list_changed";
19
+ McpMethodEnum["ToolsList"] = "tools/list";
20
+ McpMethodEnum["ToolsCall"] = "tools/call";
21
+ McpMethodEnum["NotificationsToolsListChanged"] = "notifications/tools/list_changed";
22
+ McpMethodEnum["LoggingSetLevel"] = "logging/setLevel";
23
+ McpMethodEnum["NotificationsMessage"] = "notifications/message";
24
+ McpMethodEnum["SamplingCreateMessage"] = "sampling/createMessage";
25
+ McpMethodEnum["ElicitationCreate"] = "elicitation/create";
26
+ McpMethodEnum["CompletionComplete"] = "completion/complete";
27
+ McpMethodEnum["RootsList"] = "roots/list";
28
+ McpMethodEnum["NotificationsRootsListChanged"] = "notifications/roots/list_changed";
29
+ })(McpMethodEnum || (McpMethodEnum = {}));
1
30
  var TokenProblem;
2
31
  (function (TokenProblem) {
3
32
  TokenProblem["NO_TOKEN"] = "NO-TOKEN";
@@ -8,5 +37,5 @@ var TokenProblem;
8
37
  TokenProblem["INTROSPECT_ERROR"] = "INTROSPECT-ERROR";
9
38
  })(TokenProblem || (TokenProblem = {}));
10
39
 
11
- export { TokenProblem };
40
+ export { McpMethodEnum, TokenProblem };
12
41
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":[null],"names":[],"mappings":"IAqDY;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;AACA;IACY;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,yBAAkD;AAClD,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,wBAAgD;AAChD,IAAA,aAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,0BAAmD;AACnD,IAAA,aAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,aAAA,CAAA,mCAAA,CAAA,GAAA,sCAA0E;AAC1E,IAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,qBAA0C;AAC1C,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C;AAC9C,IAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,iCAAiE;AACjE,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC5B,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,aAAA,CAAA,iCAAA,CAAA,GAAA,oCAAsE;AACtE,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,kCAAkE;AAClE,IAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC;AACpC,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C;AAC9C,IAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,wBAAgD;AAChD,IAAA,aAAA,CAAA,mBAAA,CAAA,GAAA,oBAAwC;AACxC,IAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,qBAA0C;AAC1C,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,kCAAkE;AACpE,CAAC,EAzBW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;IAmEb;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,4 @@
1
+ export { checkTokenWebApi } from './token.js';
2
+ export { sendOAuthChallengeWebApi, sendProtectedResourceMetadata as sendProtectedResourceMetadataWebApi, sendOAuthMetadata as sendOAuthMetadataWebApi } from './oauth.js';
3
+ export { parseMcpRequestsWebApi } from './mcp.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webapi/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,IAAI,mCAAmC,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1K,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { JSONRPCRequest } from "@modelcontextprotocol/sdk/types.js";
2
+ import { ATXPConfig } from "../types.js";
3
+ /**
4
+ * Web API implementation of MCP request parsing for Cloudflare Workers, Deno, etc.
5
+ * Handles Web API Request parsing and delegates to core logic
6
+ */
7
+ export declare function parseMcpRequestsWebApi(config: ATXPConfig, request: Request): Promise<JSONRPCRequest[]>;
8
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/webapi/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,EAAE,CAAC,CAiB3B"}
@@ -0,0 +1,10 @@
1
+ import { ProtectedResourceMetadata, TokenCheck } from "../types.js";
2
+ import * as oauth from 'oauth4webapi';
3
+ /**
4
+ * Web API implementation of OAuth challenge sending for Cloudflare Workers, Deno, etc.
5
+ * Uses Web API Response and delegates to core logic
6
+ */
7
+ export declare function sendOAuthChallengeWebApi(tokenCheck: TokenCheck): Response | null;
8
+ export declare function sendProtectedResourceMetadata(metadata: ProtectedResourceMetadata | null): Response | null;
9
+ export declare function sendOAuthMetadata(metadata: oauth.AuthorizationServer | null): Response | null;
10
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/webapi/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAahF;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAWzG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAW7F"}
@@ -0,0 +1,7 @@
1
+ import { ATXPConfig, TokenCheck } from "../types.js";
2
+ /**
3
+ * Web API implementation of token checking for Cloudflare Workers, Deno, etc.
4
+ * Extracts data from Web API Request and delegates to core logic
5
+ */
6
+ export declare function checkTokenWebApi(config: ATXPConfig, resourceURL: URL, request: Request): Promise<TokenCheck>;
7
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/webapi/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAMrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/server",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "description": "ATXP Server - MCP server implementation with payment processing capabilities",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "pack:dry": "npm pack --dry-run"
39
39
  },
40
40
  "dependencies": {
41
- "@atxp/common": "0.7.3",
41
+ "@atxp/common": "0.8.0",
42
42
  "@modelcontextprotocol/sdk": "^1.15.0",
43
43
  "bignumber.js": "^9.3.0",
44
44
  "oauth4webapi": "^3.5.0"
@@ -1,97 +0,0 @@
1
- import { ConsoleLogger } from '@atxp/common';
2
-
3
- class ChainPaymentDestination {
4
- constructor(address, network) {
5
- this.address = address;
6
- this.network = network;
7
- }
8
- async destinations(_fundingAmount, _buyerAddress) {
9
- return [{
10
- destination: this.address,
11
- network: this.network
12
- }];
13
- }
14
- }
15
- function parseConnectionString(connectionString) {
16
- const url = new URL(connectionString);
17
- const origin = url.origin;
18
- const token = url.searchParams.get('connection_token') || '';
19
- if (!token) {
20
- throw new Error('ATXPPaymentDestination: connection string missing connection token');
21
- }
22
- return { origin, token };
23
- }
24
- class ATXPPaymentDestination {
25
- constructor(connectionString, opts) {
26
- const { origin, token } = parseConnectionString(connectionString);
27
- this.accountServerURL = origin;
28
- this.token = token;
29
- this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
30
- this.logger = opts?.logger ?? new ConsoleLogger({ prefix: '[atxp-payment-destination]' });
31
- }
32
- async destinations(fundingAmount, buyerAddress) {
33
- this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
34
- const url = new URL(`${this.accountServerURL}/addresses?buyerAddress=${buyerAddress}&amount=${fundingAmount.amount.toString()}`);
35
- // Add currency parameter if provided
36
- if (fundingAmount.currency) {
37
- url.searchParams.set('currency', fundingAmount.currency);
38
- }
39
- // Use Basic auth with the token, like ATXPLocalAccount does
40
- const authHeader = `Basic ${Buffer.from(`${this.token}:`).toString('base64')}`;
41
- this.logger.debug(`Making request to: ${url.toString()}`);
42
- const response = await this.fetchFn(url.toString(), {
43
- method: 'GET',
44
- headers: {
45
- 'Authorization': authHeader,
46
- 'Accept': 'application/json',
47
- },
48
- });
49
- if (!response.ok) {
50
- const text = await response.text();
51
- this.logger.error(`/addresses failed: ${response.status} ${response.statusText} ${text}`);
52
- throw new Error(`ATXPPaymentDestination: /addresses failed: ${response.status} ${response.statusText} ${text}`);
53
- }
54
- const json = await response.json();
55
- if (!Array.isArray(json) || json.length === 0) {
56
- this.logger.error('/addresses did not return any addresses');
57
- throw new Error('ATXPPaymentDestination: /addresses did not return any addresses');
58
- }
59
- const addresses = [];
60
- for (const item of json) {
61
- const networkFromItem = item?.network;
62
- if (!item?.address || !networkFromItem) {
63
- this.logger.warn('Skipping invalid address entry');
64
- continue;
65
- }
66
- // Map network values if needed
67
- let network;
68
- switch (networkFromItem) {
69
- case 'ethereum':
70
- network = 'base'; // Base is an Ethereum L2
71
- break;
72
- case 'base':
73
- case 'base_sepolia':
74
- case 'world':
75
- case 'world_sepolia':
76
- case 'solana':
77
- network = networkFromItem;
78
- break;
79
- default:
80
- this.logger.warn(`Unknown network: ${networkFromItem}, skipping`);
81
- continue;
82
- }
83
- addresses.push({
84
- destination: item.address,
85
- network
86
- });
87
- }
88
- if (addresses.length === 0) {
89
- throw new Error('ATXPPaymentDestination: no valid addresses returned');
90
- }
91
- this.logger.debug(`Successfully got ${addresses.length} payment destinations`);
92
- return addresses;
93
- }
94
- }
95
-
96
- export { ATXPPaymentDestination, ChainPaymentDestination };
97
- //# sourceMappingURL=paymentDestination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paymentDestination.js","sources":["../src/paymentDestination.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}