@atxp/server 0.3.0 → 0.4.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.
- package/dist/core/mcp.js.map +1 -1
- package/dist/getResource.js +19 -2
- package/dist/getResource.js.map +1 -1
- package/dist/index.cjs +371 -13444
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +70 -14
- package/dist/index.js +342 -13441
- package/dist/index.js.map +1 -1
- package/dist/node/getRawBody.js +35 -0
- package/dist/node/getRawBody.js.map +1 -0
- package/dist/node/http.js +4 -7
- package/dist/node/http.js.map +1 -1
- package/dist/node/oauth.js +19 -1
- package/dist/node/oauth.js.map +1 -1
- package/dist/oAuthMetadata.js +1 -10
- package/dist/oAuthMetadata.js.map +1 -1
- package/dist/protectedResourceMetadata.js +6 -15
- package/dist/protectedResourceMetadata.js.map +1 -1
- package/dist/serverConfig.js +37 -0
- package/dist/serverConfig.js.map +1 -0
- package/dist/serverTestHelpers.d.ts +104 -0
- package/dist/serverTestHelpers.js +119 -0
- package/dist/serverTestHelpers.js.map +1 -0
- package/dist/webapi/mcp.js.map +1 -1
- package/dist/webapi/oauth.js +23 -1
- package/dist/webapi/oauth.js.map +1 -1
- package/package.json +8 -8
- package/dist/_virtual/_commonjsHelpers.js +0 -8
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/bom-handling.js +0 -4
- package/dist/_virtual/bom-handling.js.map +0 -1
- package/dist/_virtual/dbcs-codec.js +0 -4
- package/dist/_virtual/dbcs-codec.js.map +0 -1
- package/dist/_virtual/index.js +0 -8
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index2.js +0 -4
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index3.js +0 -4
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -4
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -4
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/_virtual/inherits.js +0 -4
- package/dist/_virtual/inherits.js.map +0 -1
- package/dist/_virtual/inherits_browser.js +0 -4
- package/dist/_virtual/inherits_browser.js.map +0 -1
- package/dist/_virtual/sbcs-codec.js +0 -4
- package/dist/_virtual/sbcs-codec.js.map +0 -1
- package/dist/_virtual/utf16.js +0 -4
- package/dist/_virtual/utf16.js.map +0 -1
- package/dist/_virtual/utf32.js +0 -4
- package/dist/_virtual/utf32.js.map +0 -1
- package/dist/_virtual/utf7.js +0 -4
- package/dist/_virtual/utf7.js.map +0 -1
- package/dist/atxpServer.js +0 -93
- package/dist/atxpServer.js.map +0 -1
- package/dist/node_modules/bytes/index.js +0 -181
- package/dist/node_modules/bytes/index.js.map +0 -1
- package/dist/node_modules/depd/index.js +0 -551
- package/dist/node_modules/depd/index.js.map +0 -1
- package/dist/node_modules/http-errors/index.js +0 -307
- package/dist/node_modules/http-errors/index.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -599
- package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +0 -207
- package/dist/node_modules/iconv-lite/encodings/dbcs-data.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/index.js +0 -45
- package/dist/node_modules/iconv-lite/encodings/index.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/internal.js +0 -211
- package/dist/node_modules/iconv-lite/encodings/internal.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -84
- package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -461
- package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +0 -188
- package/dist/node_modules/iconv-lite/encodings/sbcs-data.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js +0 -507
- package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js +0 -2622
- package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js +0 -2381
- package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js +0 -730
- package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js +0 -823
- package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +0 -425
- package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +0 -265
- package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +0 -549
- package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/utf16.js +0 -207
- package/dist/node_modules/iconv-lite/encodings/utf16.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/utf32.js +0 -330
- package/dist/node_modules/iconv-lite/encodings/utf32.js.map +0 -1
- package/dist/node_modules/iconv-lite/encodings/utf7.js +0 -298
- package/dist/node_modules/iconv-lite/encodings/utf7.js.map +0 -1
- package/dist/node_modules/iconv-lite/lib/bom-handling.js +0 -62
- package/dist/node_modules/iconv-lite/lib/bom-handling.js.map +0 -1
- package/dist/node_modules/iconv-lite/lib/index.js +0 -193
- package/dist/node_modules/iconv-lite/lib/index.js.map +0 -1
- package/dist/node_modules/iconv-lite/lib/streams.js +0 -121
- package/dist/node_modules/iconv-lite/lib/streams.js.map +0 -1
- package/dist/node_modules/inherits/inherits.js +0 -22
- package/dist/node_modules/inherits/inherits.js.map +0 -1
- package/dist/node_modules/inherits/inherits_browser.js +0 -39
- package/dist/node_modules/inherits/inherits_browser.js.map +0 -1
- package/dist/node_modules/raw-body/index.js +0 -352
- package/dist/node_modules/raw-body/index.js.map +0 -1
- package/dist/node_modules/safer-buffer/safer.js +0 -89
- package/dist/node_modules/safer-buffer/safer.js.map +0 -1
- package/dist/node_modules/setprototypeof/index.js +0 -27
- package/dist/node_modules/setprototypeof/index.js.map +0 -1
- package/dist/node_modules/statuses/codes.json.js +0 -68
- package/dist/node_modules/statuses/codes.json.js.map +0 -1
- package/dist/node_modules/statuses/index.js +0 -158
- package/dist/node_modules/statuses/index.js.map +0 -1
- package/dist/node_modules/toidentifier/index.js +0 -42
- package/dist/node_modules/toidentifier/index.js.map +0 -1
- package/dist/node_modules/unpipe/index.js +0 -79
- package/dist/node_modules/unpipe/index.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Currency, Network, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient,
|
|
2
|
-
import { Router } from 'express';
|
|
1
|
+
import { PaymentRequestData, Currency, Network, AuthorizationServerUrl, UrlString, Logger, OAuthDb, OAuthResourceClient, TokenData, RequirePaymentConfig, FetchLike } from '@atxp/common';
|
|
3
2
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import * as oauth from 'oauth4webapi';
|
|
4
4
|
import { IncomingMessage as IncomingMessage$1 } from 'node:http';
|
|
5
5
|
import { JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import BigNumber from 'bignumber.js';
|
|
6
7
|
|
|
7
8
|
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';
|
|
8
9
|
type McpName = string;
|
|
@@ -62,15 +63,6 @@ type ProtectedResourceMetadata = {
|
|
|
62
63
|
scopes_supported: string[];
|
|
63
64
|
};
|
|
64
65
|
|
|
65
|
-
type RequiredATXPConfigFields = 'destination';
|
|
66
|
-
type RequiredATXPConfig = Pick<ATXPConfig, RequiredATXPConfigFields>;
|
|
67
|
-
type OptionalATXPConfig = Omit<ATXPConfig, RequiredATXPConfigFields>;
|
|
68
|
-
type ATXPArgs = RequiredATXPConfig & Partial<OptionalATXPConfig>;
|
|
69
|
-
type BuildableATXPConfigFields = 'oAuthDb' | 'oAuthClient' | 'paymentServer' | 'logger';
|
|
70
|
-
declare const DEFAULT_CONFIG: Required<Omit<OptionalATXPConfig, BuildableATXPConfigFields>>;
|
|
71
|
-
declare function buildServerConfig(args: ATXPArgs): ATXPConfig;
|
|
72
|
-
declare function atxpServer(args: ATXPArgs): Router;
|
|
73
|
-
|
|
74
66
|
declare function getATXPConfig(): ATXPConfig | null;
|
|
75
67
|
declare function getATXPResource(): URL | null;
|
|
76
68
|
declare function atxpAccountId(): string | null;
|
|
@@ -96,7 +88,7 @@ declare function createOAuthChallengeResponseCore(tokenCheck: TokenCheck): {
|
|
|
96
88
|
* Core platform-agnostic MCP request parsing logic
|
|
97
89
|
* Takes parsed JSON and request metadata instead of platform-specific request objects
|
|
98
90
|
*/
|
|
99
|
-
declare function parseMcpRequestsCore(config: ATXPConfig, requestUrl: URL, method: string, parsedBody: unknown):
|
|
91
|
+
declare function parseMcpRequestsCore(config: ATXPConfig, requestUrl: URL, method: string, parsedBody: unknown): unknown[];
|
|
100
92
|
|
|
101
93
|
/**
|
|
102
94
|
* Node.js HTTP implementation of token checking
|
|
@@ -109,6 +101,8 @@ declare function checkToken(config: ATXPConfig, resourceURL: URL, req: IncomingM
|
|
|
109
101
|
* Uses Node.js ServerResponse and delegates to core logic
|
|
110
102
|
*/
|
|
111
103
|
declare function sendOAuthChallenge(res: ServerResponse, tokenCheck: TokenCheck): boolean;
|
|
104
|
+
declare function sendProtectedResourceMetadata$1(res: ServerResponse, metadata: ProtectedResourceMetadata | null): boolean;
|
|
105
|
+
declare function sendOAuthMetadata$1(res: ServerResponse, metadata: oauth.AuthorizationServer | null): boolean;
|
|
112
106
|
|
|
113
107
|
/**
|
|
114
108
|
* Node.js HTTP implementation of MCP request parsing
|
|
@@ -128,14 +122,76 @@ declare function checkTokenWebApi(config: ATXPConfig, resourceURL: URL, request:
|
|
|
128
122
|
* Uses Web API Response and delegates to core logic
|
|
129
123
|
*/
|
|
130
124
|
declare function sendOAuthChallengeWebApi(tokenCheck: TokenCheck): Response | null;
|
|
125
|
+
declare function sendProtectedResourceMetadata(metadata: ProtectedResourceMetadata | null): Response | null;
|
|
126
|
+
declare function sendOAuthMetadata(metadata: oauth.AuthorizationServer | null): Response | null;
|
|
131
127
|
|
|
132
128
|
/**
|
|
133
129
|
* Web API implementation of MCP request parsing for Cloudflare Workers, Deno, etc.
|
|
134
130
|
* Handles Web API Request parsing and delegates to core logic
|
|
135
131
|
*/
|
|
136
|
-
declare function parseMcpRequestsWebApi(config: ATXPConfig, request: Request): Promise<
|
|
132
|
+
declare function parseMcpRequestsWebApi(config: ATXPConfig, request: Request): Promise<JSONRPCRequest[]>;
|
|
137
133
|
|
|
138
134
|
declare function requirePayment(paymentConfig: RequirePaymentConfig): Promise<void>;
|
|
139
135
|
|
|
140
|
-
|
|
136
|
+
type RequiredATXPConfigFields = 'destination';
|
|
137
|
+
type RequiredATXPConfig = Pick<ATXPConfig, RequiredATXPConfigFields>;
|
|
138
|
+
type OptionalATXPConfig = Omit<ATXPConfig, RequiredATXPConfigFields>;
|
|
139
|
+
type ATXPArgs = RequiredATXPConfig & Partial<OptionalATXPConfig>;
|
|
140
|
+
type BuildableATXPConfigFields = 'oAuthDb' | 'oAuthClient' | 'paymentServer' | 'logger';
|
|
141
|
+
declare const DEFAULT_CONFIG: Required<Omit<OptionalATXPConfig, BuildableATXPConfigFields>>;
|
|
142
|
+
declare function buildServerConfig(args: ATXPArgs): ATXPConfig;
|
|
143
|
+
|
|
144
|
+
declare function getResource(config: ATXPConfig, requestUrl: URL, headers?: Record<string, string | string[] | undefined>): URL;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* ATXP Payment Server implementation
|
|
148
|
+
*
|
|
149
|
+
* This class handles payment operations with the ATXP authorization server.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const paymentServer = new ATXPPaymentServer(
|
|
154
|
+
* 'https://auth.atxp.ai',
|
|
155
|
+
* logger
|
|
156
|
+
* );
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
declare class ATXPPaymentServer implements PaymentServer {
|
|
160
|
+
private readonly server;
|
|
161
|
+
private readonly logger;
|
|
162
|
+
private readonly fetchFn;
|
|
163
|
+
constructor(server: AuthorizationServerUrl, logger: Logger, fetchFn?: FetchLike);
|
|
164
|
+
charge: ({ source, destination, network, currency, amount }: {
|
|
165
|
+
source: string;
|
|
166
|
+
destination: string;
|
|
167
|
+
network: Network;
|
|
168
|
+
currency: Currency;
|
|
169
|
+
amount: BigNumber;
|
|
170
|
+
}) => Promise<ChargeResponse>;
|
|
171
|
+
createPaymentRequest: (charge: Charge) => Promise<string>;
|
|
172
|
+
/**
|
|
173
|
+
* Makes authenticated requests to the ATXP authorization server
|
|
174
|
+
*
|
|
175
|
+
* @param method - HTTP method ('GET' or 'POST')
|
|
176
|
+
* @param path - API endpoint path
|
|
177
|
+
* @param body - Request body (for POST requests)
|
|
178
|
+
* @returns Promise<Response> - The HTTP response from the server
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* const response = await paymentServer.makeRequest('POST', '/charge', {
|
|
183
|
+
* source: 'user123',
|
|
184
|
+
* destination: 'merchant456',
|
|
185
|
+
* amount: new BigNumber('0.01')
|
|
186
|
+
* });
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
protected makeRequest: (method: "GET" | "POST", path: string, body: unknown) => Promise<Response>;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
declare function getOAuthMetadata(config: ATXPConfig, requestUrl: URL): Promise<oauth.AuthorizationServer | null>;
|
|
193
|
+
|
|
194
|
+
declare function getProtectedResourceMetadata(config: ATXPConfig, requestUrl: URL, headers?: Record<string, string | string[] | undefined>): ProtectedResourceMetadata | null;
|
|
195
|
+
|
|
196
|
+
export { ATXPPaymentServer, DEFAULT_CONFIG, TokenProblem, atxpAccountId, buildServerConfig, checkTokenCore, checkToken as checkTokenNode, checkTokenWebApi, createOAuthChallengeResponseCore, getATXPConfig, getATXPResource, getOAuthMetadata, getProtectedResourceMetadata, getResource, parseBody as parseBodyNode, parseMcpRequestsCore, parseMcpRequests as parseMcpRequestsNode, parseMcpRequestsWebApi, requirePayment, sendOAuthChallenge, sendOAuthChallengeWebApi, sendOAuthMetadata$1 as sendOAuthMetadataNode, sendOAuthMetadata as sendOAuthMetadataWebApi, sendProtectedResourceMetadata$1 as sendProtectedResourceMetadataNode, sendProtectedResourceMetadata as sendProtectedResourceMetadataWebApi, withATXPContext };
|
|
141
197
|
export type { ATXPArgs, ATXPConfig, Charge, ChargeResponse, McpMethod, McpName, McpNamePattern, McpOperation, McpOperationPattern, PaymentServer, ProtectedResourceMetadata, RefundErrors, TokenCheck, TokenCheckFail, TokenCheckPass };
|