@atxp/server 0.10.7 → 0.10.9
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/dist/index.cjs +202 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +176 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -3
- package/dist/index.js.map +1 -1
- package/dist/omniChallenge.d.ts +55 -0
- package/dist/omniChallenge.d.ts.map +1 -0
- package/dist/omniChallenge.js +86 -0
- package/dist/omniChallenge.js.map +1 -0
- package/dist/protocol.d.ts +121 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +116 -0
- package/dist/protocol.js.map +1 -0
- package/dist/serverTestHelpers.d.ts +1 -1
- package/dist/serverTestHelpers.d.ts.map +1 -1
- package/dist/serverTestHelpers.js +1 -0
- package/dist/serverTestHelpers.js.map +1 -1
- package/package.json +2 -2
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect the payment protocol from inbound credentials on a retry request.
|
|
3
|
+
*
|
|
4
|
+
* Only detects X402 via the X-PAYMENT header. ATXP-MCP payments flow through
|
|
5
|
+
* the MCP token check + requirePayment() path, not through HTTP header
|
|
6
|
+
* detection. Bearer JWTs in non-MCP requests are OAuth access tokens, not
|
|
7
|
+
* payment credentials — detecting them here would misidentify normal auth.
|
|
8
|
+
*
|
|
9
|
+
* Returns null if no payment credential is detected.
|
|
10
|
+
*/
|
|
11
|
+
function detectProtocol(headers) {
|
|
12
|
+
// X-PAYMENT header indicates X402 protocol
|
|
13
|
+
const xPayment = headers['x-payment'];
|
|
14
|
+
if (xPayment) {
|
|
15
|
+
return { protocol: 'x402', credential: xPayment };
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Client for calling auth service verify/settle endpoints.
|
|
21
|
+
* Routes to the appropriate protocol-specific endpoint.
|
|
22
|
+
*/
|
|
23
|
+
class ProtocolSettlement {
|
|
24
|
+
constructor(authServer, logger, fetchFn = fetch.bind(globalThis),
|
|
25
|
+
/** Destination account ID for ATXP settle (the server/LLM's own account) */
|
|
26
|
+
destinationAccountId) {
|
|
27
|
+
this.authServer = authServer;
|
|
28
|
+
this.logger = logger;
|
|
29
|
+
this.fetchFn = fetchFn;
|
|
30
|
+
this.destinationAccountId = destinationAccountId;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Verify a payment credential at request start.
|
|
34
|
+
* Calls auth `/verify/{protocol}` to check if the credential is valid.
|
|
35
|
+
*
|
|
36
|
+
* For X402: sends { payload, paymentRequirements } (credential is the X-PAYMENT header).
|
|
37
|
+
* For ATXP: sends { sourceAccountId, destinationAccountId, sourceAccountToken, options }.
|
|
38
|
+
*/
|
|
39
|
+
async verify(protocol, credential, context) {
|
|
40
|
+
const url = new URL(`/verify/${protocol}`, this.authServer);
|
|
41
|
+
this.logger.debug(`Verifying ${protocol} credential at ${url}`);
|
|
42
|
+
const body = this.buildRequestBody(protocol, credential, context);
|
|
43
|
+
const response = await this.fetchFn(url.toString(), {
|
|
44
|
+
method: 'POST',
|
|
45
|
+
headers: { 'Content-Type': 'application/json' },
|
|
46
|
+
body: JSON.stringify(body),
|
|
47
|
+
});
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
this.logger.warn(`Verify ${protocol} failed with status ${response.status}`);
|
|
50
|
+
return { valid: false };
|
|
51
|
+
}
|
|
52
|
+
const result = await response.json();
|
|
53
|
+
this.logger.debug(`Verify ${protocol} result: valid=${result.valid}`);
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Settle a payment at request end.
|
|
58
|
+
* Calls auth `/settle/{protocol}` to finalize the payment.
|
|
59
|
+
*/
|
|
60
|
+
async settle(protocol, credential, context) {
|
|
61
|
+
const url = new URL(`/settle/${protocol}`, this.authServer);
|
|
62
|
+
this.logger.debug(`Settling ${protocol} credential at ${url}`);
|
|
63
|
+
const body = this.buildRequestBody(protocol, credential, context);
|
|
64
|
+
const response = await this.fetchFn(url.toString(), {
|
|
65
|
+
method: 'POST',
|
|
66
|
+
headers: { 'Content-Type': 'application/json' },
|
|
67
|
+
body: JSON.stringify(body),
|
|
68
|
+
});
|
|
69
|
+
if (!response.ok) {
|
|
70
|
+
const errorText = await response.text();
|
|
71
|
+
this.logger.error(`Settle ${protocol} failed with status ${response.status}: ${errorText}`);
|
|
72
|
+
throw new Error(`Settlement failed for ${protocol}: ${response.status}`);
|
|
73
|
+
}
|
|
74
|
+
const result = await response.json();
|
|
75
|
+
this.logger.info(`Settled ${protocol}: txHash=${result.txHash}, amount=${result.settledAmount}`);
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Build the protocol-specific request body for verify/settle calls.
|
|
80
|
+
*/
|
|
81
|
+
buildRequestBody(protocol, credential, context) {
|
|
82
|
+
if (protocol === 'x402') {
|
|
83
|
+
// X402: auth expects { payload, paymentRequirements }
|
|
84
|
+
// The credential is the base64-encoded X-PAYMENT header containing the payload
|
|
85
|
+
let payload;
|
|
86
|
+
try {
|
|
87
|
+
payload = JSON.parse(Buffer.from(credential, 'base64').toString());
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// If not valid base64 JSON, pass as-is (auth will validate)
|
|
91
|
+
payload = { raw: credential };
|
|
92
|
+
}
|
|
93
|
+
return { payload, paymentRequirements: context?.paymentRequirements };
|
|
94
|
+
}
|
|
95
|
+
// ATXP: auth expects { sourceAccountId, destinationAccountId, sourceAccountToken, options }
|
|
96
|
+
// The credential is a self-contained JSON string from PaymentClient/ATXPAccount.authorize()
|
|
97
|
+
// containing sourceAccountId, sourceAccountToken, and options.
|
|
98
|
+
// destinationAccountId comes from this instance's config (it's the server's own account).
|
|
99
|
+
let parsed = {};
|
|
100
|
+
try {
|
|
101
|
+
parsed = JSON.parse(credential);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
this.logger.warn('ProtocolSettlement: ATXP credential is not valid JSON, using context fallback');
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
sourceAccountId: parsed.sourceAccountId ?? context?.sourceAccountId,
|
|
108
|
+
destinationAccountId: this.destinationAccountId ?? context?.destinationAccountId,
|
|
109
|
+
sourceAccountToken: parsed.sourceAccountToken ?? credential,
|
|
110
|
+
options: parsed.options ?? context?.options ?? [],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { ProtocolSettlement, detectProtocol };
|
|
116
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sources":["../src/protocol.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as vitest from 'vitest';
|
|
|
2
2
|
import * as _vitest_spy from '@vitest/spy';
|
|
3
3
|
import { IncomingHttpHeaders, IncomingMessage, ServerResponse } from 'http';
|
|
4
4
|
import { JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import { PaymentRequest, PaymentDestination, Currency, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient, TokenData,
|
|
5
|
+
import { PaymentRequest, PaymentDestination, Currency, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient, TokenData, Account, Network } from '@atxp/common';
|
|
6
6
|
import * as oauth from 'oauth4webapi';
|
|
7
7
|
|
|
8
8
|
declare enum McpMethodEnum {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverTestHelpers.d.ts","sourceRoot":"","sources":["../src/serverTestHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAA+C,OAAO,EAAE,MAAM,cAAc,CAAC;AAE/I,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAkC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI7I,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAGnC,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"serverTestHelpers.d.ts","sourceRoot":"","sources":["../src/serverTestHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ function mockAccount(accountId) {
|
|
|
53
53
|
paymentMakers: [],
|
|
54
54
|
getSources: async () => [],
|
|
55
55
|
createSpendPermission: async () => null,
|
|
56
|
+
authorize: async () => ({ protocol: 'atxp', credential: '' }),
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
function charge({ amount = BigNumber(0.01), currency = 'USDC', network = 'solana', destinationAddress = DESTINATION, sourceAccountId = `${network}:${SOURCE}`, destinationAccountId = `${network}:${DESTINATION}`, payeeName = 'Test Payee' } = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAGA;AACA;AACA,IAAY,aAyBX;AAzBD,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;AA0EzB,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;;AC/ExB;AAaO,MAAM,WAAW,GAAG;AACpB,MAAM,MAAM,GAAG;AAEtB;AACM,SAAU,WAAW,CAAC,SAAiB,EAAA;AAC3C,IAAA,MAAM,kBAAkB,GAAG,CAAA,KAAA,EAAQ,SAAS,EAAE;IAC9C,OAAO;AACL,QAAA,YAAY,EAAE,YAAY,kBAAyB;AACnD,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,UAAU,EAAE,YAAY,EAAE;AAC1B,QAAA,qBAAqB,EAAE,YAAY,IAAI;
|
|
1
|
+
{"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atxp/server",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.9",
|
|
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.10.
|
|
41
|
+
"@atxp/common": "0.10.8",
|
|
42
42
|
"@modelcontextprotocol/sdk": "^1.15.0",
|
|
43
43
|
"bignumber.js": "^9.3.0",
|
|
44
44
|
"oauth4webapi": "^3.8.3"
|