@frontmcp/testing 1.8.6 → 1.9.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/auth/mock-oauth-server.d.ts.map +1 -1
- package/auth/token-factory.d.ts +2 -2
- package/auth/token-factory.d.ts.map +1 -1
- package/client/mcp-test-client.d.ts +6 -1
- package/client/mcp-test-client.d.ts.map +1 -1
- package/esm/fixtures/index.mjs +993 -237
- package/esm/index.mjs +1151 -360
- package/esm/matchers/index.mjs +3 -0
- package/esm/package.json +8 -6
- package/esm/perf/index.mjs +874 -280
- package/esm/perf/perf-setup.mjs +3 -0
- package/esm/playwright/index.mjs +3 -0
- package/esm/setup.mjs +3 -0
- package/expect.d.ts +12 -11
- package/expect.d.ts.map +1 -1
- package/fixtures/fixture-types.d.ts +41 -10
- package/fixtures/fixture-types.d.ts.map +1 -1
- package/fixtures/index.d.ts +1 -1
- package/fixtures/index.d.ts.map +1 -1
- package/fixtures/index.js +989 -229
- package/fixtures/test-fixture.d.ts +6 -5
- package/fixtures/test-fixture.d.ts.map +1 -1
- package/http-mock/http-mock.d.ts +5 -3
- package/http-mock/http-mock.d.ts.map +1 -1
- package/http-mock/http-mock.types.d.ts +17 -6
- package/http-mock/http-mock.types.d.ts.map +1 -1
- package/http-mock/index.d.ts +1 -1
- package/http-mock/index.d.ts.map +1 -1
- package/index.d.ts +3 -2
- package/index.d.ts.map +1 -1
- package/index.js +1157 -361
- package/package.json +8 -6
- package/perf/baseline-store.d.ts +1 -1
- package/perf/baseline-store.d.ts.map +1 -1
- package/perf/index.js +874 -293
- package/perf/perf-test.d.ts.map +1 -1
- package/perf/report-generator.d.ts +1 -1
- package/perf/report-generator.d.ts.map +1 -1
- package/server/port-registry.d.ts +7 -1
- package/server/port-registry.d.ts.map +1 -1
- package/server/test-server.d.ts +10 -1
- package/server/test-server.d.ts.map +1 -1
- package/transport/error-utils.d.ts +15 -0
- package/transport/error-utils.d.ts.map +1 -0
- package/transport/index.d.ts +1 -0
- package/transport/index.d.ts.map +1 -1
- package/transport/sse.transport.d.ts +80 -0
- package/transport/sse.transport.d.ts.map +1 -0
- package/transport/streamable-http.transport.d.ts.map +1 -1
package/perf/perf-test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perf-test.d.ts","sourceRoot":"","sources":["../../src/perf/perf-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;
|
|
1
|
+
{"version":3,"file":"perf-test.d.ts","sourceRoot":"","sources":["../../src/perf/perf-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAA8B,UAAU,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AAGhH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM5D;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,0BAA0B;IAC1B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IAErC,kDAAkD;IAClD,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC;IAE/C,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAE1B,uCAAuC;IACvC,SAAS,EAAE,OAAO,SAAS,CAAC;IAE5B,2BAA2B;IAC3B,UAAU,EAAE,OAAO,UAAU,CAAC;IAE9B,0BAA0B;IAC1B,SAAS,EAAE,OAAO,SAAS,CAAC;IAE5B,sCAAsC;IACtC,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAE1B,kBAAkB;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IAEzC,yBAAyB;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IAEzC,0CAA0C;IAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAiTD,QAAA,MAAM,QAAQ,EAA2B,oBAAoB,CAAC;AAoB9D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file report-generator.ts
|
|
3
3
|
* @description Generate JSON and Markdown reports from performance measurements
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
5
|
+
import type { PerfBaseline, PerfMeasurement, PerfReport } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* Generates performance reports in JSON and Markdown formats.
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-generator.d.ts","sourceRoot":"","sources":["../../src/perf/report-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"report-generator.d.ts","sourceRoot":"","sources":["../../src/perf/report-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAEV,YAAY,EACZ,eAAe,EACf,UAAU,EAGX,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;;IAM9C;;OAEG;IACH,cAAc,CACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,UAAU;IAwCb;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAuIlD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAI9C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CASzB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAarD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This module provides:
|
|
6
6
|
* 1. Dedicated port ranges for each E2E test project
|
|
7
|
-
* 2. Port reservation with proper locking
|
|
7
|
+
* 2. Port reservation with proper locking (a bound socket inside the process, plus a lock file
|
|
8
|
+
* that also covers other Jest workers, which each load their own copy of this module)
|
|
8
9
|
* 3. Verification that ports are actually available before assignment
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
@@ -175,6 +176,10 @@ export declare const E2E_PORT_RANGES: {
|
|
|
175
176
|
readonly start: 50460;
|
|
176
177
|
readonly size: 20;
|
|
177
178
|
};
|
|
179
|
+
readonly 'demo-e2e-testing': {
|
|
180
|
+
readonly start: 50480;
|
|
181
|
+
readonly size: 20;
|
|
182
|
+
};
|
|
178
183
|
readonly 'mock-oauth': {
|
|
179
184
|
readonly start: 50900;
|
|
180
185
|
readonly size: 10;
|
|
@@ -213,6 +218,7 @@ export declare function getPortRange(project: string): {
|
|
|
213
218
|
export declare function reservePort(project: string, preferredPort?: number): Promise<{
|
|
214
219
|
port: number;
|
|
215
220
|
release: () => Promise<void>;
|
|
221
|
+
releaseSocket: () => Promise<void>;
|
|
216
222
|
}>;
|
|
217
223
|
/**
|
|
218
224
|
* Get the primary port for a project (first port in its range)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-registry.d.ts","sourceRoot":"","sources":["../../src/server/port-registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"port-registry.d.ts","sourceRoot":"","sources":["../../src/server/port-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiElB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,eAAe,CAAC;AAyGtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAM7E;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAgE7F;AAmDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAWxE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAM/F"}
|
package/server/test-server.d.ts
CHANGED
|
@@ -25,8 +25,13 @@ export interface TestServerInfo {
|
|
|
25
25
|
baseUrl: string;
|
|
26
26
|
/** Port the server is running on */
|
|
27
27
|
port: number;
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Process ID of the server: the process listening on `port` when it can be found, otherwise the
|
|
30
|
+
* pid of the shell the command was spawned through.
|
|
31
|
+
*/
|
|
29
32
|
pid?: number;
|
|
33
|
+
/** Process ID of the shell the command was spawned through */
|
|
34
|
+
shellPid?: number;
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
32
37
|
* Manages test server lifecycle for E2E testing
|
|
@@ -55,7 +60,10 @@ export declare class TestServer {
|
|
|
55
60
|
private readonly options;
|
|
56
61
|
private _info;
|
|
57
62
|
private logs;
|
|
63
|
+
/** Frees the port reservation (socket and cross-process lock); held until stop() */
|
|
58
64
|
private portRelease;
|
|
65
|
+
/** Frees only the reservation socket, just before the server is spawned */
|
|
66
|
+
private portReleaseSocket;
|
|
59
67
|
private constructor();
|
|
60
68
|
/**
|
|
61
69
|
* Start a test server with custom command
|
|
@@ -77,6 +85,7 @@ export declare class TestServer {
|
|
|
77
85
|
* Stop the test server
|
|
78
86
|
*/
|
|
79
87
|
stop(): Promise<void>;
|
|
88
|
+
private stopProcess;
|
|
80
89
|
/**
|
|
81
90
|
* Wait for server to be ready
|
|
82
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-server.d.ts","sourceRoot":"","sources":["../../src/server/test-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"test-server.d.ts","sourceRoot":"","sources":["../../src/server/test-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsE;IAC9F,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,IAAI,CAAgB;IAC5B,oFAAoF;IACpF,OAAO,CAAC,WAAW,CAAsC;IACzD,2EAA2E;IAC3E,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,OAAO;IAyBP;;OAEG;WACU,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4CnE;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0DpG;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAoB3C;;OAEG;IACH,IAAI,IAAI,IAAI,cAAc,CAEzB;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAYb,WAAW;IAwDzB;;OAEG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;OAEG;IACH,SAAS,IAAI,IAAI;YAQH,YAAY;IA+G1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;YACW,6BAA6B;IAqE3C,OAAO,CAAC,GAAG;CAKZ;AA+KD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file error-utils.ts
|
|
3
|
+
* @description Realm-safe error helpers.
|
|
4
|
+
*
|
|
5
|
+
* Under Jest the test code runs in a `vm` context while `fetch` (undici) throws errors created in
|
|
6
|
+
* the outer realm, so `err instanceof Error` is false for a perfectly good `AbortError`. Everything
|
|
7
|
+
* here duck-types instead of relying on `instanceof`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function errorName(err: unknown): string | undefined;
|
|
10
|
+
export declare function isAbortError(err: unknown): boolean;
|
|
11
|
+
export declare function errorMessage(err: unknown, fallback?: string): string;
|
|
12
|
+
/** Tag an error produced by a request interceptor so the client rethrows it instead of wrapping it. */
|
|
13
|
+
export declare function markInterceptedError<T extends object>(err: T): T;
|
|
14
|
+
export declare function isInterceptedError(err: unknown): boolean;
|
|
15
|
+
//# sourceMappingURL=error-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../src/transport/error-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI1D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAO7E;AAID,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAGhE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAExD"}
|
package/transport/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type { McpTransport, TransportConfig, TransportState, JsonRpcRequest, JsonRpcResponse, NotificationHandler, } from './transport.interface';
|
|
6
6
|
export { StreamableHttpTransport } from './streamable-http.transport';
|
|
7
|
+
export { SseTransport } from './sse.transport';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/transport/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file sse.transport.ts
|
|
3
|
+
* @description Legacy HTTP+SSE transport (MCP 2024-11-05) for the MCP Test Client
|
|
4
|
+
*
|
|
5
|
+
* The client opens a long-lived `GET <entry>/sse` stream. The server's first event, `endpoint`,
|
|
6
|
+
* names the URL to POST JSON-RPC messages to (`<entry>/message?sessionId=…`). Every POST is
|
|
7
|
+
* answered `202 Accepted`; the JSON-RPC response arrives later as a `message` event on the
|
|
8
|
+
* stream, as do notifications and server→client requests (e.g. `elicitation/create`).
|
|
9
|
+
*/
|
|
10
|
+
import type { ElicitationHandler } from '../client/mcp-test-client.types';
|
|
11
|
+
import type { InterceptorChain } from '../interceptor';
|
|
12
|
+
import type { JsonRpcRequest, JsonRpcResponse, McpTransport, TransportConfig, TransportState } from './transport.interface';
|
|
13
|
+
/**
|
|
14
|
+
* Legacy HTTP+SSE transport.
|
|
15
|
+
*
|
|
16
|
+
* Needs a server that serves the legacy SSE endpoints (`transport.protocol` with `legacy: true`,
|
|
17
|
+
* or `sse: true`). Requests are correlated with their responses by JSON-RPC id.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SseTransport implements McpTransport {
|
|
20
|
+
private readonly baseUrl;
|
|
21
|
+
private readonly entryPath?;
|
|
22
|
+
private timeout;
|
|
23
|
+
private readonly authHeaders;
|
|
24
|
+
private readonly publicMode;
|
|
25
|
+
private readonly debug;
|
|
26
|
+
private readonly clientInfo?;
|
|
27
|
+
private readonly notificationHandler?;
|
|
28
|
+
private interceptors?;
|
|
29
|
+
private elicitationHandler?;
|
|
30
|
+
private state;
|
|
31
|
+
private authToken;
|
|
32
|
+
private sessionId;
|
|
33
|
+
private messageEndpoint;
|
|
34
|
+
private stream;
|
|
35
|
+
private readonly pending;
|
|
36
|
+
private connectionCount;
|
|
37
|
+
private reconnectCount;
|
|
38
|
+
private lastRequestHeaders;
|
|
39
|
+
constructor(config: TransportConfig);
|
|
40
|
+
connect(): Promise<void>;
|
|
41
|
+
request<T = unknown>(message: JsonRpcRequest): Promise<JsonRpcResponse & {
|
|
42
|
+
result?: T;
|
|
43
|
+
}>;
|
|
44
|
+
notify(message: JsonRpcRequest): Promise<void>;
|
|
45
|
+
sendRaw(data: string): Promise<JsonRpcResponse>;
|
|
46
|
+
close(): Promise<void>;
|
|
47
|
+
isConnected(): boolean;
|
|
48
|
+
getState(): TransportState;
|
|
49
|
+
getSessionId(): string | undefined;
|
|
50
|
+
setAuthToken(token: string): void;
|
|
51
|
+
setTimeout(ms: number): void;
|
|
52
|
+
getMessageEndpoint(): string | undefined;
|
|
53
|
+
getConnectionCount(): number;
|
|
54
|
+
getReconnectCount(): number;
|
|
55
|
+
getLastRequestHeaders(): Record<string, string>;
|
|
56
|
+
setInterceptors(interceptors: InterceptorChain): void;
|
|
57
|
+
getInterceptors(): InterceptorChain | undefined;
|
|
58
|
+
setElicitationHandler(handler: ElicitationHandler | undefined): void;
|
|
59
|
+
simulateDisconnect(): Promise<void>;
|
|
60
|
+
waitForReconnect(timeoutMs: number): Promise<void>;
|
|
61
|
+
/** Open `GET <entry>/sse` and wait for the `endpoint` event. */
|
|
62
|
+
private openStream;
|
|
63
|
+
private readStream;
|
|
64
|
+
private handleMessage;
|
|
65
|
+
/** Server→client requests: elicitation goes to the handler, `ping` is answered, the rest refused. */
|
|
66
|
+
private answerServerRequest;
|
|
67
|
+
private elicit;
|
|
68
|
+
private closeStream;
|
|
69
|
+
private rejectPending;
|
|
70
|
+
/** POST a message and resolve with the response the stream carries for `id`. */
|
|
71
|
+
private postAndAwait;
|
|
72
|
+
private post;
|
|
73
|
+
private requestAnonymousToken;
|
|
74
|
+
/** `<baseUrl><entryPath>/sse`, built from URL parts so query params on `baseUrl` survive. */
|
|
75
|
+
private sseUrl;
|
|
76
|
+
private buildHeaders;
|
|
77
|
+
private ensureConnected;
|
|
78
|
+
private log;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=sse.transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.transport.d.ts","sourceRoot":"","sources":["../../src/transport/sse.transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAwC,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EAEZ,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAc/B;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAsB;IAC3D,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAEhD,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAA8B;gBAE5C,MAAM,EAAE,eAAe;IAc7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBxB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IAuCxF,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkB/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,cAAc;IAI1B,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAIxC,kBAAkB,IAAI,MAAM;IAI5B,iBAAiB,IAAI,MAAM;IAI3B,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI/C,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAIrD,eAAe,IAAI,gBAAgB,GAAG,SAAS;IAI/C,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAI9D,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOnC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,gEAAgE;YAClD,UAAU;YAsDV,UAAU;YAgDV,aAAa;IA8B3B,qGAAqG;YACvF,mBAAmB;YAcnB,MAAM;IAYpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAYrB,gFAAgF;YAClE,YAAY;YAyBZ,IAAI;YA2BJ,qBAAqB;IAuBnC,6FAA6F;IAC7F,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,GAAG;CAKZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamable-http.transport.d.ts","sourceRoot":"","sources":["../../src/transport/streamable-http.transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAwC,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"streamable-http.transport.d.ts","sourceRoot":"","sources":["../../src/transport/streamable-http.transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAwC,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EAEZ,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAK/B;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAMrB;IACF,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAsB;IAC3D,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAC7C,OAAO,CAAC,2BAA2B,CAAM;IACzC,OAAO,CAAC,6BAA6B,CAAC,CAAgC;gBAE1D,MAAM,EAAE,eAAe;IAmB7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B9B;;;OAGG;YACW,qBAAqB;IAqC7B,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IA8HxF,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC9C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmD/C,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,cAAc;IAI1B,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAIrD,eAAe,IAAI,gBAAgB,GAAG,SAAS;IAI/C,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAIpE,kBAAkB,IAAI,MAAM;IAI5B,iBAAiB,IAAI,MAAM;IAI3B,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,OAAO,CAAC,uBAAuB;IAM/B,+GAA+G;YACjG,yBAAyB;IAiCvC,OAAO,CAAC,yBAAyB;YAInB,sBAAsB;IA6BpC;;;;;OAKG;YACW,gCAAgC;IA+F9C;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;YACW,cAAc;IA+C5B;;OAEG;YACW,wBAAwB;IAqCtC;;OAEG;YACW,uBAAuB;IA8BrC;;;;OAIG;IACH,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,GAAG;IAMX;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,2BAA2B;CAsDpC"}
|