@frontmcp/testing 1.11.2 → 1.11.3
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/README.md +11 -1
- package/assertions/mcp-assertions.d.ts +2 -2
- package/assertions/mcp-assertions.d.ts.map +1 -1
- package/auth/mock-cimd-server.d.ts +12 -2
- package/auth/mock-cimd-server.d.ts.map +1 -1
- package/client/index.d.ts +1 -1
- package/client/index.d.ts.map +1 -1
- package/client/mcp-test-client.builder.d.ts +9 -4
- package/client/mcp-test-client.builder.d.ts.map +1 -1
- package/client/mcp-test-client.d.ts +34 -1
- package/client/mcp-test-client.d.ts.map +1 -1
- package/client/mcp-test-client.types.d.ts +17 -3
- package/client/mcp-test-client.types.d.ts.map +1 -1
- package/esm/fixtures/index.mjs +2 -2
- package/esm/index.mjs +3 -3
- package/esm/package.json +6 -6
- package/esm/perf/index.mjs +1 -1
- package/fixtures/fixture-types.d.ts +13 -0
- package/fixtures/fixture-types.d.ts.map +1 -1
- package/fixtures/index.js +3 -3
- package/fixtures/test-fixture.d.ts.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +7 -7
- package/interceptor/interceptor-chain.d.ts +1 -1
- package/interceptor/interceptor-chain.d.ts.map +1 -1
- package/interceptor/mock-registry.d.ts +1 -1
- package/interceptor/mock-registry.d.ts.map +1 -1
- package/matchers/index.d.ts +1 -1
- package/matchers/index.d.ts.map +1 -1
- package/package.json +6 -6
- package/perf/index.js +4 -4
- package/perf/leak-detector.d.ts.map +1 -1
- package/perf/metrics-collector.d.ts +1 -1
- package/perf/metrics-collector.d.ts.map +1 -1
- package/perf/perf-fixtures.d.ts +1 -1
- package/perf/perf-fixtures.d.ts.map +1 -1
- package/perf/regression-detector.d.ts +1 -1
- package/perf/regression-detector.d.ts.map +1 -1
- package/transport/mcp-20260728.d.ts +19 -0
- package/transport/mcp-20260728.d.ts.map +1 -0
- package/transport/streamable-http.transport.d.ts +12 -0
- package/transport/streamable-http.transport.d.ts.map +1 -1
- package/transport/transport.interface.d.ts +14 -1
- package/transport/transport.interface.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -92,7 +92,9 @@ test.use({
|
|
|
92
92
|
transport: 'streamable-http', // or 'sse'
|
|
93
93
|
entryPath: '/mcp', // if the server sets http.entryPath
|
|
94
94
|
publicMode: true, // send no Authorization header, for auth: { mode: 'public' }
|
|
95
|
-
logLevel: 'debug',
|
|
95
|
+
logLevel: 'debug', // the server's own log level
|
|
96
|
+
protocolVersion: '2026-07-28', // default: '2025-06-18'
|
|
97
|
+
mcpLogLevel: 'info', // the log messages the clients ask for; default: 'debug', false for none
|
|
96
98
|
env: { API_KEY: 'test' },
|
|
97
99
|
startupTimeout: 30_000,
|
|
98
100
|
});
|
|
@@ -100,6 +102,14 @@ test.use({
|
|
|
100
102
|
|
|
101
103
|
Call `test.use()` at the top of a file to configure every test in it, or inside `test.describe()` to configure that block, which then gets a server of its own. `baseUrl` tests a server that's already running instead of starting one.
|
|
102
104
|
|
|
105
|
+
## Notifications
|
|
106
|
+
|
|
107
|
+
A tool's progress and log messages reach `mcp.notifications` by the time `mcp.tools.call()` returns, from a FrontMCP server that sends them on the call's own response (1.11.3 and later). The client asks for every log message unless `mcpLogLevel` says otherwise, and each progress update keeps its `message`.
|
|
108
|
+
|
|
109
|
+
## Protocol versions
|
|
110
|
+
|
|
111
|
+
The client speaks MCP `2025-06-18` by default, and any revision up to `2025-11-25` opens a session with `initialize`. With `protocolVersion: '2026-07-28'` it's stateless: it connects with `server/discover`, sends each request with its `_meta` and mirrored headers (`MCP-Protocol-Version`, `Mcp-Method`, `Mcp-Name`, `Mcp-Param-*`), answers a tool's `this.elicit()` through `input_required` with your `mcp.onElicitation()` handler, and listens for changes with `subscriptions/listen`. `mcp.discover()` sends `server/discover` from a client on any version.
|
|
112
|
+
|
|
103
113
|
## Other exports
|
|
104
114
|
|
|
105
115
|
| Export | Use it to |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @file mcp-assertions.ts
|
|
3
3
|
* @description MCP-specific test assertions
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { CallToolResult, Prompt, ReadResourceResult, Resource, ResourceTemplate, Tool } from '@frontmcp/protocol';
|
|
6
|
+
import type { McpErrorInfo, McpResponse, ResourceContentWrapper, ToolResultWrapper } from '../client';
|
|
7
7
|
/**
|
|
8
8
|
* MCP-specific assertion helpers
|
|
9
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-assertions.d.ts","sourceRoot":"","sources":["../../src/assertions/mcp-assertions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-assertions.d.ts","sourceRoot":"","sources":["../../src/assertions/mcp-assertions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAMtG;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;kBACW,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,YAAY,MAAM,GAAG,CAAC;IAW/D;;;OAGG;gBACS,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,iBAAiB,MAAM,GAAG,YAAY;IAa7E;;OAEG;8BACuB,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI;IAiBhF;;OAEG;8BAEO,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,QACjD,MAAM,GAAG,OAAO,GAAG,UAAU,GAClC,IAAI;IAkBP;;OAEG;iCAC0B,sBAAsB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,MAAM;IAwB9F;;OAEG;8BACuB,IAAI,EAAE,QAAQ,MAAM,GAAG,IAAI;IASrD;;OAEG;sCAC+B,QAAQ,EAAE,OAAO,MAAM,GAAG,QAAQ;IASpE;;OAEG;8CACuC,gBAAgB,EAAE,eAAe,MAAM,GAAG,gBAAgB;IASpG;;OAEG;kCAC2B,MAAM,EAAE,QAAQ,MAAM,GAAG,MAAM;CAQ9D,CAAC;AAMF;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,sBAAsB,GAAG,OAAO,CAExF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAM1G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErF"}
|
|
@@ -49,8 +49,18 @@ export interface MockCimdClientOptions {
|
|
|
49
49
|
*/
|
|
50
50
|
tokenEndpointAuthMethod?: 'none' | 'client_secret_basic' | 'client_secret_post' | 'private_key_jwt';
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
|
|
52
|
+
* Inline public keys a `private_key_jwt` client signs its client assertions with. Not together with `jwksUri`.
|
|
53
|
+
*/
|
|
54
|
+
jwks?: {
|
|
55
|
+
keys: Array<Record<string, unknown>>;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* URL of the key set a `private_key_jwt` client signs its client assertions with. Not together with `jwks`.
|
|
59
|
+
*/
|
|
60
|
+
jwksUri?: string;
|
|
61
|
+
/**
|
|
62
|
+
* OAuth grant types the client can use. Without `refresh_token`, FrontMCP issues the client no refresh token.
|
|
63
|
+
* @default ['authorization_code', 'refresh_token']
|
|
54
64
|
*/
|
|
55
65
|
grantTypes?: string[];
|
|
56
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-cimd-server.d.ts","sourceRoot":"","sources":["../../src/auth/mock-cimd-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;IAEpG;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"mock-cimd-server.d.ts","sourceRoot":"","sources":["../../src/auth/mock-cimd-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;IAEpG;;OAEG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAgCD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAmC;IAEhD,4BAA4B;IAC5B,OAAO,CAAC,OAAO,CAAuC;IAEtD,yDAAyD;IACzD,OAAO,CAAC,eAAe,CAAyD;gBAEpE,OAAO,GAAE,qBAA0B;IAI/C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAmC1C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;OAEG;IACH,IAAI,IAAI,IAAI,kBAAkB,CAK7B;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IA8BtD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgBjC;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAiB9D;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM1E;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,GAAG;CAKZ"}
|
package/client/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { McpTestClient } from './mcp-test-client';
|
|
6
6
|
export { McpTestClientBuilder } from './mcp-test-client.builder';
|
|
7
|
-
export type { McpTestClientConfig, McpResponse, McpErrorInfo, TestTransportType, TestAuthConfig, ToolResultWrapper, ResourceContentWrapper, PromptResultWrapper, LogEntry, LogLevel, RequestTrace, NotificationEntry, ProgressUpdate, ToolCallOptions, SessionInfo, AuthState, TransportState, JSONRPCRequest, JSONRPCResponse, ElicitationCreateRequest, ElicitResponse, ElicitationHandler, InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, } from './mcp-test-client.types';
|
|
7
|
+
export type { McpTestClientConfig, McpResponse, McpErrorInfo, TestTransportType, TestAuthConfig, ToolResultWrapper, ResourceContentWrapper, PromptResultWrapper, LogEntry, LogLevel, RequestTrace, NotificationEntry, ProgressUpdate, ToolCallOptions, SessionInfo, AuthState, TransportState, JSONRPCRequest, JSONRPCResponse, ElicitationCreateRequest, ElicitResponse, ElicitationHandler, DiscoverResult, InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, } from './mcp-test-client.types';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/client/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EAEd,cAAc,EACd,eAAe,EAEf,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAElB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,GACP,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EAEd,cAAc,EACd,eAAe,EAEf,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAElB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,GACP,MAAM,yBAAyB,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @file mcp-test-client.builder.ts
|
|
3
3
|
* @description Builder pattern for creating McpTestClient instances
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import { McpTestClient } from './mcp-test-client';
|
|
5
|
+
import type { LoggingLevel } from '@frontmcp/protocol';
|
|
7
6
|
import type { TestPlatformType } from '../platform/platform-types';
|
|
7
|
+
import { McpTestClient } from './mcp-test-client';
|
|
8
|
+
import type { McpTestClientConfig, TestAuthConfig, TestClientCapabilities, TestTransportType } from './mcp-test-client.types';
|
|
8
9
|
/**
|
|
9
10
|
* Builder for creating McpTestClient instances with fluent API
|
|
10
11
|
*
|
|
@@ -52,10 +53,14 @@ export declare class McpTestClientBuilder {
|
|
|
52
53
|
*/
|
|
53
54
|
withPublicMode(enabled?: boolean): this;
|
|
54
55
|
/**
|
|
55
|
-
* Set the MCP protocol version
|
|
56
|
-
* '2026-07-28'
|
|
56
|
+
* Set the MCP protocol version the client speaks (default '2025-06-18').
|
|
57
|
+
* '2026-07-28' is stateless: the client sends `server/discover` instead of `initialize`.
|
|
57
58
|
*/
|
|
58
59
|
withProtocolVersion(version: string): this;
|
|
60
|
+
/**
|
|
61
|
+
* Set the level of the log messages the client asks the server for (default 'debug'); `false` asks for none.
|
|
62
|
+
*/
|
|
63
|
+
withMcpLogLevel(level: LoggingLevel | false): this;
|
|
59
64
|
/**
|
|
60
65
|
* Set the client info sent during initialization
|
|
61
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-test-client.builder.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mcp-test-client.builder.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAIvC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAKpC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAQlD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAKjD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,SAAS,CAAC,OAAO,UAAO,GAAG,IAAI;IAK/B;;;;OAIG;IACH,cAAc,CAAC,OAAO,UAAO,GAAG,IAAI;IAKpC;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK1C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI;IAKlD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAK7D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAS9C;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI;IAK5D;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKrD;;OAEG;IACH,KAAK,IAAI,aAAa;IAItB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC;CAKhD"}
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
* @file mcp-test-client.ts
|
|
3
3
|
* @description Main MCP Test Client implementation for E2E testing
|
|
4
4
|
*/
|
|
5
|
+
import { type DiscoverResult } from '@frontmcp/protocol';
|
|
5
6
|
import { type MockDefinition, type MockHandle, type RequestInterceptor, type ResponseInterceptor } from '../interceptor';
|
|
6
7
|
import { McpTestClientBuilder } from './mcp-test-client.builder';
|
|
7
8
|
import type { AuthState, ElicitationHandler, InitializeResult, JSONRPCResponse, LogEntry, McpTestClientConfig, NotificationEntry, ProgressUpdate, Prompt, PromptResultWrapper, RequestTrace, Resource, ResourceContentWrapper, ResourceTemplate, SessionInfo, TestTransportType, Tool, ToolCallOptions, ToolResultWrapper } from './mcp-test-client.types';
|
|
8
9
|
export declare class McpTestClient {
|
|
9
10
|
private readonly config;
|
|
11
|
+
/** Protocol 2026-07-28: the resources `resources.subscribe()` listens to. */
|
|
12
|
+
private readonly resourceSubscriptions;
|
|
13
|
+
/** Protocol 2026-07-28: whether the tools were listed since connecting, which mirrors `x-mcp-header` arguments. */
|
|
14
|
+
private toolsListed;
|
|
10
15
|
private transport;
|
|
11
16
|
private initResult;
|
|
12
17
|
private requestIdCounter;
|
|
@@ -73,6 +78,12 @@ export declare class McpTestClient {
|
|
|
73
78
|
* Check if server has a specific capability
|
|
74
79
|
*/
|
|
75
80
|
hasCapability(name: 'tools' | 'resources' | 'prompts' | 'logging' | 'sampling'): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Send `server/discover` and return what the server answers: its supported versions, capabilities,
|
|
83
|
+
* instructions and `_meta` (with its server info). Sent as a 2026-07-28 request whatever revision
|
|
84
|
+
* this client speaks, since the method exists only there. Throws with the server's error.
|
|
85
|
+
*/
|
|
86
|
+
discover(): Promise<DiscoverResult>;
|
|
76
87
|
readonly tools: {
|
|
77
88
|
/**
|
|
78
89
|
* List all available tools
|
|
@@ -98,7 +109,9 @@ export declare class McpTestClient {
|
|
|
98
109
|
read: (uri: string) => Promise<ResourceContentWrapper>;
|
|
99
110
|
/**
|
|
100
111
|
* Subscribe to a resource: the server then sends `notifications/resources/updated` when it changes.
|
|
101
|
-
* Throws with the server's error when it refuses the subscription.
|
|
112
|
+
* Throws with the server's error when it refuses the subscription. On 2026-07-28, which has no
|
|
113
|
+
* `resources/subscribe`, the client listens again (`subscriptions/listen`) with the URI added, and
|
|
114
|
+
* throws when the server doesn't acknowledge it.
|
|
102
115
|
*/
|
|
103
116
|
subscribe: (uri: string) => Promise<void>;
|
|
104
117
|
/**
|
|
@@ -376,7 +389,18 @@ export declare class McpTestClient {
|
|
|
376
389
|
clearAll: () => void;
|
|
377
390
|
};
|
|
378
391
|
setTimeout(ms: number): void;
|
|
392
|
+
private get isStateless();
|
|
393
|
+
private get clientCapabilities();
|
|
379
394
|
private initialize;
|
|
395
|
+
/** Protocol 2026-07-28 has no `initialize`: `server/discover` tells the client what the server offers. */
|
|
396
|
+
private discoverServer;
|
|
397
|
+
/** Ask for the server's log messages at `mcpLogLevel`, when the server has the logging capability. */
|
|
398
|
+
private setServerLogLevel;
|
|
399
|
+
/** Protocol 2026-07-28: open the `subscriptions/listen` stream for list changes and the subscribed resources. */
|
|
400
|
+
private listen;
|
|
401
|
+
private listenToResource;
|
|
402
|
+
/** Protocol 2026-07-28 mirrors `x-mcp-header` arguments into headers, so the tools' schemas are listed once. */
|
|
403
|
+
private learnToolSchemas;
|
|
380
404
|
private listTools;
|
|
381
405
|
/**
|
|
382
406
|
* Follow `nextCursor` until the server stops returning one, concatenating the
|
|
@@ -395,7 +419,16 @@ export declare class McpTestClient {
|
|
|
395
419
|
/** The MCP path this client is currently pointed at, for log and error text. */
|
|
396
420
|
private mcpPathLabel;
|
|
397
421
|
private createTransport;
|
|
422
|
+
/**
|
|
423
|
+
* Send a request, and answer each `input_required` result (protocol 2026-07-28) by sending the
|
|
424
|
+
* request again with the answers and the server's `requestState`, until the server settles.
|
|
425
|
+
*/
|
|
398
426
|
private request;
|
|
427
|
+
/** The answers to an `input_required` result's requests, or why the client can't give them. */
|
|
428
|
+
private answerInputRequests;
|
|
429
|
+
/** As over a session: the handler's answer, `decline` without a handler, and `cancel` when it throws. */
|
|
430
|
+
private answerElicitation;
|
|
431
|
+
private send;
|
|
399
432
|
/**
|
|
400
433
|
* Get the transport, throwing if not connected.
|
|
401
434
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-test-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"mcp-test-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file mcp-test-client.types.ts
|
|
3
3
|
* @description Type definitions for the MCP Test Client
|
|
4
4
|
*/
|
|
5
|
-
import type { CallToolResult, GetPromptResult, Implementation, InitializeResult, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, Prompt, ReadResourceResult, Resource, ResourceTemplate, Tool } from '@frontmcp/protocol';
|
|
5
|
+
import type { CallToolResult, DiscoverResult, GetPromptResult, Implementation, InitializeResult, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, LoggingLevel, Prompt, ReadResourceResult, Resource, ResourceTemplate, Tool } from '@frontmcp/protocol';
|
|
6
6
|
import type { TestPlatformType } from '../platform/platform-types';
|
|
7
7
|
/**
|
|
8
8
|
* Simplified JSON-RPC request type for testing
|
|
@@ -117,8 +117,20 @@ export interface McpTestClientConfig {
|
|
|
117
117
|
timeout?: number;
|
|
118
118
|
/** Enable debug logging (default: false) */
|
|
119
119
|
debug?: boolean;
|
|
120
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* The MCP protocol version the client speaks (default: '2025-06-18'). Up to '2025-11-25' it opens a
|
|
122
|
+
* session with `initialize`. '2026-07-28' is stateless: `connect()` sends `server/discover`, and every
|
|
123
|
+
* request carries the version, client info, capabilities and log level in its `_meta`, with the
|
|
124
|
+
* `MCP-Protocol-Version`, `Mcp-Method`, `Mcp-Name` and `Mcp-Param-*` headers. It needs the
|
|
125
|
+
* 'streamable-http' transport.
|
|
126
|
+
*/
|
|
121
127
|
protocolVersion?: string;
|
|
128
|
+
/**
|
|
129
|
+
* The level of the log messages (`notifications/message`) the client asks the server for
|
|
130
|
+
* (default: 'debug', every message). Sent with `logging/setLevel` after `initialize`, when the server
|
|
131
|
+
* has the logging capability, or in each request's `_meta` on 2026-07-28. `false` asks for none.
|
|
132
|
+
*/
|
|
133
|
+
mcpLogLevel?: LoggingLevel | false;
|
|
122
134
|
/** Client info to send during initialization and for platform detection */
|
|
123
135
|
clientInfo?: ClientInfo;
|
|
124
136
|
/**
|
|
@@ -289,6 +301,8 @@ export interface ProgressUpdate {
|
|
|
289
301
|
progress: number;
|
|
290
302
|
/** Total value */
|
|
291
303
|
total?: number;
|
|
304
|
+
/** The update's message, when the server sent one */
|
|
305
|
+
message?: string;
|
|
292
306
|
/** Progress token */
|
|
293
307
|
progressToken?: string | number;
|
|
294
308
|
/** Timestamp */
|
|
@@ -348,5 +362,5 @@ export interface ElicitResponse {
|
|
|
348
362
|
* Called when the server requests interactive input during tool execution.
|
|
349
363
|
*/
|
|
350
364
|
export type ElicitationHandler = (request: ElicitationCreateRequest) => Promise<ElicitResponse> | ElicitResponse;
|
|
351
|
-
export type { InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, };
|
|
365
|
+
export type { DiscoverResult, InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, };
|
|
352
366
|
//# sourceMappingURL=mcp-test-client.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-test-client.types.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-test-client.types.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.types.ts"],"names":[],"mappings":"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"}
|