@frontmcp/testing 0.6.3 → 0.7.2
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/assertions/index.d.ts +1 -0
- package/assertions/index.d.ts.map +1 -0
- package/assertions/mcp-assertions.d.ts +1 -0
- package/assertions/mcp-assertions.d.ts.map +1 -0
- package/auth/auth-headers.d.ts +1 -0
- package/auth/auth-headers.d.ts.map +1 -0
- package/auth/index.d.ts +1 -0
- package/auth/index.d.ts.map +1 -0
- package/auth/mock-api-server.d.ts +61 -6
- package/auth/mock-api-server.d.ts.map +1 -0
- package/auth/mock-oauth-server.d.ts +1 -0
- package/auth/mock-oauth-server.d.ts.map +1 -0
- package/auth/token-factory.d.ts +1 -0
- package/auth/token-factory.d.ts.map +1 -0
- package/auth/user-fixtures.d.ts +1 -0
- package/auth/user-fixtures.d.ts.map +1 -0
- package/client/index.d.ts +1 -0
- package/client/index.d.ts.map +1 -0
- package/client/mcp-test-client.builder.d.ts +1 -0
- package/client/mcp-test-client.builder.d.ts.map +1 -0
- package/client/mcp-test-client.d.ts +1 -0
- package/client/mcp-test-client.d.ts.map +1 -0
- package/client/mcp-test-client.types.d.ts +1 -0
- package/client/mcp-test-client.types.d.ts.map +1 -0
- package/errors/index.d.ts +1 -0
- package/errors/index.d.ts.map +1 -0
- package/esm/index.mjs +169 -72
- package/esm/matchers/index.mjs +4 -14
- package/esm/package.json +3 -3
- package/esm/setup.mjs +4 -14
- package/example-tools/index.d.ts +1 -0
- package/example-tools/index.d.ts.map +1 -0
- package/example-tools/tool-configs.d.ts +15 -4
- package/example-tools/tool-configs.d.ts.map +1 -0
- package/expect.d.ts +1 -0
- package/expect.d.ts.map +1 -0
- package/fixtures/fixture-types.d.ts +1 -0
- package/fixtures/fixture-types.d.ts.map +1 -0
- package/fixtures/index.d.ts +1 -0
- package/fixtures/index.d.ts.map +1 -0
- package/fixtures/test-fixture.d.ts +1 -0
- package/fixtures/test-fixture.d.ts.map +1 -0
- package/http-mock/http-mock.d.ts +1 -0
- package/http-mock/http-mock.d.ts.map +1 -0
- package/http-mock/http-mock.types.d.ts +1 -0
- package/http-mock/http-mock.types.d.ts.map +1 -0
- package/http-mock/index.d.ts +1 -0
- package/http-mock/index.d.ts.map +1 -0
- package/index.d.ts +3 -2
- package/index.d.ts.map +1 -0
- package/index.js +170 -73
- package/interceptor/index.d.ts +1 -0
- package/interceptor/index.d.ts.map +1 -0
- package/interceptor/interceptor-chain.d.ts +1 -0
- package/interceptor/interceptor-chain.d.ts.map +1 -0
- package/interceptor/interceptor.types.d.ts +1 -0
- package/interceptor/interceptor.types.d.ts.map +1 -0
- package/interceptor/mock-registry.d.ts +1 -0
- package/interceptor/mock-registry.d.ts.map +1 -0
- package/matchers/index.d.ts +1 -0
- package/matchers/index.d.ts.map +1 -0
- package/matchers/index.js +4 -14
- package/matchers/matcher-types.d.ts +1 -0
- package/matchers/matcher-types.d.ts.map +1 -0
- package/matchers/mcp-matchers.d.ts +1 -0
- package/matchers/mcp-matchers.d.ts.map +1 -0
- package/package.json +3 -3
- package/platform/index.d.ts +2 -1
- package/platform/index.d.ts.map +1 -0
- package/platform/platform-client-info.d.ts +1 -0
- package/platform/platform-client-info.d.ts.map +1 -0
- package/platform/platform-types.d.ts +12 -12
- package/platform/platform-types.d.ts.map +1 -0
- package/playwright/index.d.ts +1 -0
- package/playwright/index.d.ts.map +1 -0
- package/server/index.d.ts +1 -0
- package/server/index.d.ts.map +1 -0
- package/server/test-server.d.ts +1 -0
- package/server/test-server.d.ts.map +1 -0
- package/setup.d.ts +1 -0
- package/setup.d.ts.map +1 -0
- package/setup.js +4 -14
- package/transport/index.d.ts +1 -0
- package/transport/index.d.ts.map +1 -0
- package/transport/streamable-http.transport.d.ts +1 -0
- package/transport/streamable-http.transport.d.ts.map +1 -0
- package/transport/transport.interface.d.ts +1 -0
- package/transport/transport.interface.d.ts.map +1 -0
- package/ui/index.d.ts +1 -0
- package/ui/index.d.ts.map +1 -0
- package/ui/ui-assertions.d.ts +5 -4
- package/ui/ui-assertions.d.ts.map +1 -0
- package/ui/ui-matchers.d.ts +1 -0
- package/ui/ui-matchers.d.ts.map +1 -0
package/assertions/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assertions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,WAAW,GACZ,MAAM,kBAAkB,CAAC"}
|
|
@@ -79,3 +79,4 @@ export declare function hasTextContent(result: ToolResultWrapper): boolean;
|
|
|
79
79
|
* Check if resource has specific MIME type
|
|
80
80
|
*/
|
|
81
81
|
export declare function hasMimeType(result: ResourceContentWrapper, mimeType: string): boolean;
|
|
82
|
+
//# sourceMappingURL=mcp-assertions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-assertions.d.ts","sourceRoot":"","sources":["../../src/assertions/mcp-assertions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAM5C;;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"}
|
package/auth/auth-headers.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-headers.d.ts","sourceRoot":"","sources":["../../src/auth/auth-headers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;kBACW,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM7C;;OAEG;cACO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIhC;;OAEG;sBACe,MAAM,cAAc,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAcrE;;OAEG;2BACoB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAatD;;OAEG;uBACgB,MAAM,eAAe,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAKxE,CAAC"}
|
package/auth/index.d.ts
CHANGED
|
@@ -7,3 +7,4 @@ export type { CreateTokenOptions, TokenFactoryOptions } from './token-factory';
|
|
|
7
7
|
export { AuthHeaders } from './auth-headers';
|
|
8
8
|
export { TestUsers, createTestUser } from './user-fixtures';
|
|
9
9
|
export type { TestUserFixture } from './user-fixtures';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -27,14 +27,36 @@
|
|
|
27
27
|
* await apiServer.stop();
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Mock request object for handlers
|
|
32
|
+
*/
|
|
33
|
+
export interface MockRequest {
|
|
34
|
+
/** Request URL */
|
|
35
|
+
url: string;
|
|
31
36
|
/** HTTP method */
|
|
32
|
-
method:
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
+
method: string;
|
|
38
|
+
/** Request headers (lowercase keys) */
|
|
39
|
+
headers: Record<string, string | undefined>;
|
|
40
|
+
/** Path parameters extracted from the route */
|
|
41
|
+
params: Record<string, string>;
|
|
42
|
+
/** Query parameters */
|
|
43
|
+
query: Record<string, string>;
|
|
44
|
+
/** Request body (parsed JSON if applicable) */
|
|
45
|
+
body?: unknown;
|
|
37
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Mock response helper for handlers
|
|
49
|
+
*/
|
|
50
|
+
export interface MockResponseHelper {
|
|
51
|
+
/** Send a JSON response */
|
|
52
|
+
json: (body: unknown, status?: number) => void;
|
|
53
|
+
/** Send a response with custom headers */
|
|
54
|
+
send: (body: unknown, status?: number, headers?: Record<string, string>) => void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Handler function type for dynamic route handling
|
|
58
|
+
*/
|
|
59
|
+
export type MockRouteHandler = (req: MockRequest, res: MockResponseHelper) => void | Promise<void>;
|
|
38
60
|
export interface MockResponse {
|
|
39
61
|
/** HTTP status code (default: 200) */
|
|
40
62
|
status?: number;
|
|
@@ -43,9 +65,32 @@ export interface MockResponse {
|
|
|
43
65
|
/** Response body (will be JSON serialized) */
|
|
44
66
|
body: unknown;
|
|
45
67
|
}
|
|
68
|
+
export type MockRoute = {
|
|
69
|
+
/** HTTP method */
|
|
70
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
71
|
+
/** Path to match (e.g., '/products', '/products/:id') */
|
|
72
|
+
path: string;
|
|
73
|
+
/** Dynamic handler function (mutually exclusive with response) */
|
|
74
|
+
handler: MockRouteHandler;
|
|
75
|
+
/** Static response to return (mutually exclusive with handler) */
|
|
76
|
+
response?: never;
|
|
77
|
+
} | {
|
|
78
|
+
/** HTTP method */
|
|
79
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
80
|
+
/** Path to match (e.g., '/products', '/products/:id') */
|
|
81
|
+
path: string;
|
|
82
|
+
/** Static response to return (mutually exclusive with handler) */
|
|
83
|
+
response: MockResponse;
|
|
84
|
+
/** Dynamic handler function (mutually exclusive with response) */
|
|
85
|
+
handler?: never;
|
|
86
|
+
};
|
|
46
87
|
export interface MockAPIServerOptions {
|
|
47
88
|
/** Port to listen on (default: random available port) */
|
|
48
89
|
port?: number;
|
|
90
|
+
/** Maximum request body size (default: 1MB) */
|
|
91
|
+
maxBodyBytes?: number;
|
|
92
|
+
/** Request body read timeout in ms (default: 10s) */
|
|
93
|
+
bodyTimeoutMs?: number;
|
|
49
94
|
/** OpenAPI spec to serve at /openapi.json */
|
|
50
95
|
openApiSpec: unknown;
|
|
51
96
|
/** Routes to mock */
|
|
@@ -93,7 +138,17 @@ export declare class MockAPIServer {
|
|
|
93
138
|
* Clear all routes
|
|
94
139
|
*/
|
|
95
140
|
clearRoutes(): void;
|
|
141
|
+
private validateRoute;
|
|
96
142
|
private handleRequest;
|
|
97
143
|
private findRoute;
|
|
144
|
+
/**
|
|
145
|
+
* Parse request body as JSON
|
|
146
|
+
*/
|
|
147
|
+
private parseBody;
|
|
148
|
+
/**
|
|
149
|
+
* Normalize headers to lowercase keys
|
|
150
|
+
*/
|
|
151
|
+
private normalizeHeaders;
|
|
98
152
|
private log;
|
|
99
153
|
}
|
|
154
|
+
//# sourceMappingURL=mock-api-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-api-server.d.ts","sourceRoot":"","sources":["../../src/auth/mock-api-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-oauth-server.d.ts","sourceRoot":"","sources":["../../src/auth/mock-oauth-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,WAAW,CAAwC;gBAE/C,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAE,sBAA2B;IAKhF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA6C3C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B;;OAEG;IACH,IAAI,IAAI,IAAI,mBAAmB,CAK9B;IAED;;OAEG;IACH,eAAe,IAAI,gBAAgB;YAQrB,aAAa;YAmCb,UAAU;YAOV,gBAAgB;YAqBhB,mBAAmB;YAkBnB,mBAAmB;IA6BjC,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,GAAG;CAKZ"}
|
package/auth/token-factory.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-factory.d.ts","sourceRoot":"","sources":["../../src/auth/token-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAwD,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAMtF,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,mBAAwB;IAM7C;;OAEG;YACW,UAAU;IAkBxB;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnE;;OAEG;IACG,gBAAgB,CAAC,GAAG,SAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;OAEG;IACG,eAAe,CAAC,GAAG,SAAa,EAAE,MAAM,WAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYpF;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAW7C;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBnF;;OAEG;IACH,+BAA+B,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,MAAM;IAqBjF;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAO/C;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
|
package/auth/user-fixtures.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-fixtures.d.ts","sourceRoot":"","sources":["../../src/auth/user-fixtures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA4ErD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAKrG"}
|
package/client/index.d.ts
CHANGED
|
@@ -5,3 +5,4 @@
|
|
|
5
5
|
export { McpTestClient } from './mcp-test-client';
|
|
6
6
|
export { McpTestClientBuilder } from './mcp-test-client.builder';
|
|
7
7
|
export type { McpTestClientConfig, McpResponse, McpErrorInfo, TestTransportType, TestAuthConfig, ToolResultWrapper, ResourceContentWrapper, PromptResultWrapper, LogEntry, LogLevel, RequestTrace, NotificationEntry, ProgressUpdate, SessionInfo, AuthState, TransportState, JSONRPCRequest, JSONRPCResponse, InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, } from './mcp-test-client.types';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,WAAW,EACX,SAAS,EACT,cAAc,EAEd,cAAc,EACd,eAAe,EAEf,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"}
|
|
@@ -0,0 +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,EACV,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;;;;;;;;;;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;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK1C;;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;;OAEG;IACH,KAAK,IAAI,aAAa;IAItB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC;CAKhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-test-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-test-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -275,3 +275,4 @@ export interface AuthState {
|
|
|
275
275
|
};
|
|
276
276
|
}
|
|
277
277
|
export type { InitializeResult, ListToolsResult, CallToolResult, ListResourcesResult, ReadResourceResult, ListResourceTemplatesResult, ListPromptsResult, GetPromptResult, Tool, Resource, ResourceTemplate, Prompt, };
|
|
278
|
+
//# sourceMappingURL=mcp-test-client.types.d.ts.map
|
|
@@ -0,0 +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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"}
|
package/errors/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAM5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;aACI,KAAK,CAAC,EAAE,KAAK;gBAAvD,OAAO,EAAE,MAAM,EAA2B,KAAK,CAAC,EAAE,KAAK,YAAA;CAKpE;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe;aACF,SAAS,EAAE,MAAM;gBAAlD,OAAO,EAAE,MAAM,EAAkB,SAAS,EAAE,MAAM;CAK/D;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;aACN,IAAI,EAAE,MAAM;aAAkB,IAAI,CAAC,EAAE,OAAO;gBAA7E,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,OAAO,YAAA;CAK1F;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;aACG,KAAK,CAAC,EAAE,KAAK;gBAAvD,OAAO,EAAE,MAAM,EAA2B,KAAK,CAAC,EAAE,KAAK,YAAA;CAKpE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,OAAO,EAAE,MAAM;CAK5B"}
|
package/esm/index.mjs
CHANGED
|
@@ -2325,6 +2325,9 @@ var MockAPIServer = class {
|
|
|
2325
2325
|
constructor(options) {
|
|
2326
2326
|
this.options = options;
|
|
2327
2327
|
this.routes = options.routes ?? [];
|
|
2328
|
+
for (const route of this.routes) {
|
|
2329
|
+
this.validateRoute(route);
|
|
2330
|
+
}
|
|
2328
2331
|
}
|
|
2329
2332
|
/**
|
|
2330
2333
|
* Start the mock API server
|
|
@@ -2335,13 +2338,14 @@ var MockAPIServer = class {
|
|
|
2335
2338
|
}
|
|
2336
2339
|
const port = this.options.port ?? 0;
|
|
2337
2340
|
return new Promise((resolve, reject) => {
|
|
2338
|
-
|
|
2339
|
-
this.server
|
|
2341
|
+
const server = createServer2(this.handleRequest.bind(this));
|
|
2342
|
+
this.server = server;
|
|
2343
|
+
server.on("error", (err) => {
|
|
2340
2344
|
this.log(`Server error: ${err.message}`);
|
|
2341
2345
|
reject(err);
|
|
2342
2346
|
});
|
|
2343
|
-
|
|
2344
|
-
const address =
|
|
2347
|
+
server.listen(port, () => {
|
|
2348
|
+
const address = server.address();
|
|
2345
2349
|
if (!address || typeof address === "string") {
|
|
2346
2350
|
reject(new Error("Failed to get server address"));
|
|
2347
2351
|
return;
|
|
@@ -2361,11 +2365,12 @@ var MockAPIServer = class {
|
|
|
2361
2365
|
* Stop the mock API server
|
|
2362
2366
|
*/
|
|
2363
2367
|
async stop() {
|
|
2364
|
-
|
|
2368
|
+
const server = this.server;
|
|
2369
|
+
if (!server) {
|
|
2365
2370
|
return;
|
|
2366
2371
|
}
|
|
2367
2372
|
return new Promise((resolve, reject) => {
|
|
2368
|
-
|
|
2373
|
+
server.close((err) => {
|
|
2369
2374
|
if (err) {
|
|
2370
2375
|
reject(err);
|
|
2371
2376
|
} else {
|
|
@@ -2390,6 +2395,7 @@ var MockAPIServer = class {
|
|
|
2390
2395
|
* Add a route dynamically
|
|
2391
2396
|
*/
|
|
2392
2397
|
addRoute(route) {
|
|
2398
|
+
this.validateRoute(route);
|
|
2393
2399
|
this.routes.push(route);
|
|
2394
2400
|
}
|
|
2395
2401
|
/**
|
|
@@ -2401,6 +2407,18 @@ var MockAPIServer = class {
|
|
|
2401
2407
|
// ═══════════════════════════════════════════════════════════════════
|
|
2402
2408
|
// PRIVATE
|
|
2403
2409
|
// ═══════════════════════════════════════════════════════════════════
|
|
2410
|
+
validateRoute(route) {
|
|
2411
|
+
const method = route.method ?? "UNKNOWN";
|
|
2412
|
+
const path = route.path ?? "<unknown>";
|
|
2413
|
+
const hasHandler = typeof route.handler === "function";
|
|
2414
|
+
const hasResponse = route.response != null;
|
|
2415
|
+
if (hasHandler && hasResponse) {
|
|
2416
|
+
throw new Error(`Mock route ${method} ${path} must define either 'handler' or 'response', not both`);
|
|
2417
|
+
}
|
|
2418
|
+
if (!hasHandler && !hasResponse) {
|
|
2419
|
+
throw new Error(`Mock route ${method} ${path} must define either 'handler' or 'response'`);
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2404
2422
|
async handleRequest(req, res) {
|
|
2405
2423
|
const url = req.url ?? "/";
|
|
2406
2424
|
const method = (req.method ?? "GET").toUpperCase();
|
|
@@ -2420,17 +2438,55 @@ var MockAPIServer = class {
|
|
|
2420
2438
|
this.log("Served OpenAPI spec");
|
|
2421
2439
|
return;
|
|
2422
2440
|
}
|
|
2423
|
-
const
|
|
2424
|
-
if (
|
|
2425
|
-
const
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2441
|
+
const matchResult = this.findRoute(method, url);
|
|
2442
|
+
if (matchResult) {
|
|
2443
|
+
const { route, params } = matchResult;
|
|
2444
|
+
if (route.handler) {
|
|
2445
|
+
let body;
|
|
2446
|
+
if (["POST", "PUT", "PATCH"].includes(method)) {
|
|
2447
|
+
body = await this.parseBody(req);
|
|
2448
|
+
}
|
|
2449
|
+
const queryString = url.includes("?") ? url.split("?")[1] : "";
|
|
2450
|
+
const query = {};
|
|
2451
|
+
if (queryString) {
|
|
2452
|
+
const searchParams = new URLSearchParams(queryString);
|
|
2453
|
+
searchParams.forEach((value, key) => {
|
|
2454
|
+
query[key] = value;
|
|
2455
|
+
});
|
|
2456
|
+
}
|
|
2457
|
+
const mockReq = {
|
|
2458
|
+
url,
|
|
2459
|
+
method,
|
|
2460
|
+
headers: this.normalizeHeaders(req.headers),
|
|
2461
|
+
params,
|
|
2462
|
+
query,
|
|
2463
|
+
body
|
|
2464
|
+
};
|
|
2465
|
+
const mockRes = {
|
|
2466
|
+
json: (responseBody, status = 200) => {
|
|
2467
|
+
res.writeHead(status, { "Content-Type": "application/json" });
|
|
2468
|
+
res.end(JSON.stringify(responseBody));
|
|
2469
|
+
},
|
|
2470
|
+
send: (responseBody, status = 200, headers = {}) => {
|
|
2471
|
+
res.writeHead(status, { "Content-Type": "application/json", ...headers });
|
|
2472
|
+
res.end(JSON.stringify(responseBody));
|
|
2473
|
+
}
|
|
2474
|
+
};
|
|
2475
|
+
await route.handler(mockReq, mockRes);
|
|
2476
|
+
this.log(`Matched route with handler: ${method} ${route.path}`);
|
|
2477
|
+
return;
|
|
2478
|
+
}
|
|
2479
|
+
if (route.response) {
|
|
2480
|
+
const status = route.response.status ?? 200;
|
|
2481
|
+
const headers = {
|
|
2482
|
+
"Content-Type": "application/json",
|
|
2483
|
+
...route.response.headers
|
|
2484
|
+
};
|
|
2485
|
+
res.writeHead(status, headers);
|
|
2486
|
+
res.end(JSON.stringify(route.response.body));
|
|
2487
|
+
this.log(`Matched route: ${method} ${route.path} -> ${status}`);
|
|
2488
|
+
return;
|
|
2489
|
+
}
|
|
2434
2490
|
}
|
|
2435
2491
|
res.writeHead(404, { "Content-Type": "application/json" });
|
|
2436
2492
|
res.end(JSON.stringify({ error: "not_found", message: `No mock for ${method} ${url}` }));
|
|
@@ -2442,18 +2498,87 @@ var MockAPIServer = class {
|
|
|
2442
2498
|
}
|
|
2443
2499
|
findRoute(method, url) {
|
|
2444
2500
|
const path = url.split("?")[0];
|
|
2445
|
-
|
|
2446
|
-
if (route.method !== method)
|
|
2447
|
-
if (route.path === path)
|
|
2501
|
+
for (const route of this.routes) {
|
|
2502
|
+
if (route.method !== method) continue;
|
|
2503
|
+
if (route.path === path) {
|
|
2504
|
+
return { route, params: {} };
|
|
2505
|
+
}
|
|
2448
2506
|
const routeParts = route.path.split("/");
|
|
2449
2507
|
const urlParts = path.split("/");
|
|
2450
|
-
if (routeParts.length !== urlParts.length)
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2508
|
+
if (routeParts.length !== urlParts.length) continue;
|
|
2509
|
+
const params = {};
|
|
2510
|
+
let match = true;
|
|
2511
|
+
for (let i = 0; i < routeParts.length; i++) {
|
|
2512
|
+
if (routeParts[i].startsWith(":")) {
|
|
2513
|
+
params[routeParts[i].slice(1)] = urlParts[i];
|
|
2514
|
+
} else if (routeParts[i] !== urlParts[i]) {
|
|
2515
|
+
match = false;
|
|
2516
|
+
break;
|
|
2517
|
+
}
|
|
2518
|
+
}
|
|
2519
|
+
if (match) {
|
|
2520
|
+
return { route, params };
|
|
2521
|
+
}
|
|
2522
|
+
}
|
|
2523
|
+
return void 0;
|
|
2524
|
+
}
|
|
2525
|
+
/**
|
|
2526
|
+
* Parse request body as JSON
|
|
2527
|
+
*/
|
|
2528
|
+
async parseBody(req) {
|
|
2529
|
+
const maxBodyBytes = this.options.maxBodyBytes ?? 1 * 1024 * 1024;
|
|
2530
|
+
const bodyTimeoutMs = this.options.bodyTimeoutMs ?? 1e4;
|
|
2531
|
+
return new Promise((resolve, reject) => {
|
|
2532
|
+
let body = "";
|
|
2533
|
+
let bodyBytes = 0;
|
|
2534
|
+
const onData = (chunk) => {
|
|
2535
|
+
bodyBytes += chunk.length;
|
|
2536
|
+
if (bodyBytes > maxBodyBytes) {
|
|
2537
|
+
cleanup();
|
|
2538
|
+
req.destroy();
|
|
2539
|
+
reject(new Error(`Request body too large (>${maxBodyBytes} bytes)`));
|
|
2540
|
+
return;
|
|
2541
|
+
}
|
|
2542
|
+
body += chunk.toString();
|
|
2543
|
+
};
|
|
2544
|
+
const cleanup = () => {
|
|
2545
|
+
req.off("data", onData);
|
|
2546
|
+
req.off("end", onEnd);
|
|
2547
|
+
req.off("error", onError);
|
|
2548
|
+
clearTimeout(timeout);
|
|
2549
|
+
};
|
|
2550
|
+
const timeout = setTimeout(() => {
|
|
2551
|
+
cleanup();
|
|
2552
|
+
req.destroy();
|
|
2553
|
+
reject(new Error(`Request body read timed out after ${bodyTimeoutMs}ms`));
|
|
2554
|
+
}, bodyTimeoutMs);
|
|
2555
|
+
const onEnd = () => {
|
|
2556
|
+
cleanup();
|
|
2557
|
+
try {
|
|
2558
|
+
resolve(body ? JSON.parse(body) : void 0);
|
|
2559
|
+
} catch {
|
|
2560
|
+
resolve(body);
|
|
2561
|
+
}
|
|
2562
|
+
};
|
|
2563
|
+
const onError = (error) => {
|
|
2564
|
+
cleanup();
|
|
2565
|
+
reject(error);
|
|
2566
|
+
};
|
|
2567
|
+
req.on("data", onData);
|
|
2568
|
+
req.once("end", onEnd);
|
|
2569
|
+
req.once("error", onError);
|
|
2455
2570
|
});
|
|
2456
2571
|
}
|
|
2572
|
+
/**
|
|
2573
|
+
* Normalize headers to lowercase keys
|
|
2574
|
+
*/
|
|
2575
|
+
normalizeHeaders(headers) {
|
|
2576
|
+
const normalized = {};
|
|
2577
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
2578
|
+
normalized[key.toLowerCase()] = Array.isArray(value) ? value[0] : value;
|
|
2579
|
+
}
|
|
2580
|
+
return normalized;
|
|
2581
|
+
}
|
|
2457
2582
|
log(message) {
|
|
2458
2583
|
if (this.options.debug) {
|
|
2459
2584
|
console.log(`[MockAPIServer] ${message}`);
|
|
@@ -3157,10 +3282,8 @@ function getPlatformMetaNamespace(platform) {
|
|
|
3157
3282
|
switch (platform) {
|
|
3158
3283
|
case "openai":
|
|
3159
3284
|
return "openai";
|
|
3160
|
-
case "ext-apps":
|
|
3161
|
-
return "ui";
|
|
3162
3285
|
default:
|
|
3163
|
-
return "
|
|
3286
|
+
return "ui";
|
|
3164
3287
|
}
|
|
3165
3288
|
}
|
|
3166
3289
|
function getPlatformMimeType(platform) {
|
|
@@ -3172,37 +3295,31 @@ function isOpenAIPlatform(platform) {
|
|
|
3172
3295
|
function isExtAppsPlatform(platform) {
|
|
3173
3296
|
return platform === "ext-apps";
|
|
3174
3297
|
}
|
|
3175
|
-
function
|
|
3176
|
-
return platform !== "openai"
|
|
3298
|
+
function isUiPlatform(platform) {
|
|
3299
|
+
return platform !== "openai";
|
|
3177
3300
|
}
|
|
3178
3301
|
function getToolsListMetaPrefixes(platform) {
|
|
3179
3302
|
switch (platform) {
|
|
3180
3303
|
case "openai":
|
|
3181
3304
|
return ["openai/"];
|
|
3182
|
-
case "ext-apps":
|
|
3183
|
-
return ["ui/"];
|
|
3184
3305
|
default:
|
|
3185
|
-
return ["
|
|
3306
|
+
return ["ui/"];
|
|
3186
3307
|
}
|
|
3187
3308
|
}
|
|
3188
3309
|
function getToolCallMetaPrefixes(platform) {
|
|
3189
3310
|
switch (platform) {
|
|
3190
3311
|
case "openai":
|
|
3191
3312
|
return ["openai/"];
|
|
3192
|
-
case "ext-apps":
|
|
3193
|
-
return ["ui/"];
|
|
3194
3313
|
default:
|
|
3195
|
-
return ["
|
|
3314
|
+
return ["ui/"];
|
|
3196
3315
|
}
|
|
3197
3316
|
}
|
|
3198
3317
|
function getForbiddenMetaPrefixes(platform) {
|
|
3199
3318
|
switch (platform) {
|
|
3200
3319
|
case "openai":
|
|
3201
3320
|
return ["ui/", "frontmcp/"];
|
|
3202
|
-
case "ext-apps":
|
|
3203
|
-
return ["openai/", "frontmcp/"];
|
|
3204
3321
|
default:
|
|
3205
|
-
return ["openai/"];
|
|
3322
|
+
return ["openai/", "frontmcp/"];
|
|
3206
3323
|
}
|
|
3207
3324
|
}
|
|
3208
3325
|
|
|
@@ -3483,11 +3600,8 @@ var toHavePlatformMimeType = function(received, platform) {
|
|
|
3483
3600
|
case "openai":
|
|
3484
3601
|
mimeTypeKey = "openai/mimeType";
|
|
3485
3602
|
break;
|
|
3486
|
-
case "ext-apps":
|
|
3487
|
-
mimeTypeKey = "ui/mimeType";
|
|
3488
|
-
break;
|
|
3489
3603
|
default:
|
|
3490
|
-
mimeTypeKey = "
|
|
3604
|
+
mimeTypeKey = "ui/mimeType";
|
|
3491
3605
|
}
|
|
3492
3606
|
const actualMimeType = meta[mimeTypeKey];
|
|
3493
3607
|
const pass = actualMimeType === expectedMimeType;
|
|
@@ -3509,11 +3623,8 @@ var toHavePlatformHtml = function(received, platform) {
|
|
|
3509
3623
|
case "openai":
|
|
3510
3624
|
htmlKey = "openai/html";
|
|
3511
3625
|
break;
|
|
3512
|
-
case "ext-apps":
|
|
3513
|
-
htmlKey = "ui/html";
|
|
3514
|
-
break;
|
|
3515
3626
|
default:
|
|
3516
|
-
htmlKey = "
|
|
3627
|
+
htmlKey = "ui/html";
|
|
3517
3628
|
}
|
|
3518
3629
|
const html = meta[htmlKey];
|
|
3519
3630
|
const pass = typeof html === "string" && html.length > 0;
|
|
@@ -4436,12 +4547,12 @@ var UIAssertions = {
|
|
|
4436
4547
|
UIAssertions.assertPlatformMeta(result, "ext-apps");
|
|
4437
4548
|
},
|
|
4438
4549
|
/**
|
|
4439
|
-
* Assert tool result has correct meta keys for
|
|
4440
|
-
* Verifies
|
|
4550
|
+
* Assert tool result has correct meta keys for ui/* platforms (Claude, Cursor, etc.).
|
|
4551
|
+
* Verifies ui/* keys are present and openai/*, frontmcp/* keys are absent.
|
|
4441
4552
|
* @param result - The tool result wrapper
|
|
4442
|
-
* @throws Error if meta keys don't match
|
|
4553
|
+
* @throws Error if meta keys don't match ui/* expectations
|
|
4443
4554
|
*/
|
|
4444
|
-
|
|
4555
|
+
assertUiMeta(result) {
|
|
4445
4556
|
UIAssertions.assertPlatformMeta(result, "claude");
|
|
4446
4557
|
},
|
|
4447
4558
|
/**
|
|
@@ -4507,11 +4618,8 @@ var UIAssertions = {
|
|
|
4507
4618
|
case "openai":
|
|
4508
4619
|
mimeTypeKey = "openai/mimeType";
|
|
4509
4620
|
break;
|
|
4510
|
-
case "ext-apps":
|
|
4511
|
-
mimeTypeKey = "ui/mimeType";
|
|
4512
|
-
break;
|
|
4513
4621
|
default:
|
|
4514
|
-
mimeTypeKey = "
|
|
4622
|
+
mimeTypeKey = "ui/mimeType";
|
|
4515
4623
|
}
|
|
4516
4624
|
const actualMimeType = meta[mimeTypeKey];
|
|
4517
4625
|
if (actualMimeType !== expectedMimeType) {
|
|
@@ -4537,11 +4645,8 @@ var UIAssertions = {
|
|
|
4537
4645
|
case "openai":
|
|
4538
4646
|
htmlKey = "openai/html";
|
|
4539
4647
|
break;
|
|
4540
|
-
case "ext-apps":
|
|
4541
|
-
htmlKey = "ui/html";
|
|
4542
|
-
break;
|
|
4543
4648
|
default:
|
|
4544
|
-
htmlKey = "
|
|
4649
|
+
htmlKey = "ui/html";
|
|
4545
4650
|
}
|
|
4546
4651
|
const html = meta[htmlKey];
|
|
4547
4652
|
if (typeof html !== "string" || html.length === 0) {
|
|
@@ -4690,18 +4795,10 @@ var EXPECTED_OPENAI_TOOLS_LIST_META_KEYS = [
|
|
|
4690
4795
|
var EXPECTED_OPENAI_TOOL_CALL_META_KEYS = ["openai/html", "openai/mimeType", "openai/type"];
|
|
4691
4796
|
var EXPECTED_EXTAPPS_TOOLS_LIST_META_KEYS = ["ui/resourceUri", "ui/mimeType", "ui/cdn", "ui/type"];
|
|
4692
4797
|
var EXPECTED_EXTAPPS_TOOL_CALL_META_KEYS = ["ui/html", "ui/mimeType", "ui/type"];
|
|
4693
|
-
var
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
|
|
4697
|
-
"ui/type"
|
|
4698
|
-
];
|
|
4699
|
-
var EXPECTED_FRONTMCP_TOOL_CALL_META_KEYS = [
|
|
4700
|
-
"frontmcp/html",
|
|
4701
|
-
"frontmcp/mimeType",
|
|
4702
|
-
"ui/html",
|
|
4703
|
-
"ui/mimeType"
|
|
4704
|
-
];
|
|
4798
|
+
var EXPECTED_GENERIC_TOOLS_LIST_META_KEYS = ["ui/resourceUri", "ui/mimeType", "ui/cdn", "ui/type"];
|
|
4799
|
+
var EXPECTED_GENERIC_TOOL_CALL_META_KEYS = ["ui/html", "ui/mimeType", "ui/type"];
|
|
4800
|
+
var EXPECTED_FRONTMCP_TOOLS_LIST_META_KEYS = EXPECTED_GENERIC_TOOLS_LIST_META_KEYS;
|
|
4801
|
+
var EXPECTED_FRONTMCP_TOOL_CALL_META_KEYS = EXPECTED_GENERIC_TOOL_CALL_META_KEYS;
|
|
4705
4802
|
export {
|
|
4706
4803
|
AssertionError,
|
|
4707
4804
|
AuthHeaders,
|
|
@@ -4758,9 +4855,9 @@ export {
|
|
|
4758
4855
|
interceptors,
|
|
4759
4856
|
isError,
|
|
4760
4857
|
isExtAppsPlatform,
|
|
4761
|
-
isFrontmcpPlatform,
|
|
4762
4858
|
isOpenAIPlatform,
|
|
4763
4859
|
isSuccessful,
|
|
4860
|
+
isUiPlatform,
|
|
4764
4861
|
mcpMatchers,
|
|
4765
4862
|
mockResponse,
|
|
4766
4863
|
test,
|