@mongodb-js/mcp-types 3.0.0-prerelease.5 → 3.0.0-prerelease.6
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/keychain.d.ts +12 -5
- package/dist/keychain.d.ts.map +1 -1
- package/dist/transport.d.ts +27 -17
- package/dist/transport.d.ts.map +1 -1
- package/dist/transports.d.ts +5 -11
- package/dist/transports.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/keychain.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Secret } from "mongodb-redact";
|
|
2
1
|
export type { Secret } from "mongodb-redact";
|
|
3
2
|
/**
|
|
4
3
|
* The redaction half of a keychain, for consumers that need to scrub secrets out of a value but
|
|
@@ -15,9 +14,17 @@ export interface IRedactor {
|
|
|
15
14
|
* redacted. Never mutates `value`, and terminates on self-referencing input.
|
|
16
15
|
*/
|
|
17
16
|
redact<T>(value: T): T;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the message of an `error` (or the string form of a non-error) with
|
|
19
|
+
* this redactor's secrets removed, for safe logging or display.
|
|
20
|
+
*/
|
|
21
|
+
redactErrorMessage(error: unknown): string;
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A keychain, for consumers that hold one and need to redact secrets (loggers,
|
|
25
|
+
* tools, the server). It is immutable: its secrets are fixed at construction and
|
|
26
|
+
* cannot be registered or cleared afterwards, so it never grows over a process
|
|
27
|
+
* lifetime. The only action is {@link IRedactor.redact}.
|
|
28
|
+
*/
|
|
29
|
+
export type IKeychain = IRedactor;
|
|
23
30
|
//# sourceMappingURL=keychain.d.ts.map
|
package/dist/keychain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC"}
|
package/dist/transport.d.ts
CHANGED
|
@@ -13,32 +13,42 @@ export type RequestAuthInfo = {
|
|
|
13
13
|
scopes: string[];
|
|
14
14
|
/** When the token expires (in seconds since epoch). */
|
|
15
15
|
expiresAt?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Additional verified claims about the token, mirroring the SDK's
|
|
18
|
+
* `AuthInfo.extra`. Per-user scoping reads the OIDC `sub` claim here:
|
|
19
|
+
* `clientId` identifies the OAuth client application, not the end user, so
|
|
20
|
+
* deployments where several users authenticate through one shared client
|
|
21
|
+
* need a per-user principal claim (carried here) for per-user isolation.
|
|
22
|
+
*/
|
|
23
|
+
extra?: Record<string, unknown>;
|
|
16
24
|
};
|
|
17
25
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
26
|
+
* Decides which connection scope a request gets — i.e. which connections it
|
|
27
|
+
* can see and where connections it creates are stored. Returns the scope key,
|
|
28
|
+
* or `undefined` for an ephemeral scope (no cross-request state, isolated
|
|
29
|
+
* from every other request).
|
|
30
|
+
*
|
|
31
|
+
* This is the knob that controls connection isolation: it must be keyed on
|
|
32
|
+
* whatever actually distinguishes the calling principals (per-user principal,
|
|
33
|
+
* OAuth client id, token, tenant, …) for correct, per-caller isolation with
|
|
34
|
+
* no shared state. Keyed on `clientId` alone, for example, it groups every
|
|
35
|
+
* user of one client registration together — fine for service accounts,
|
|
36
|
+
* wrong for a multi-user OIDC deployment. Returning `undefined` declines
|
|
37
|
+
* cross-request state for a request entirely.
|
|
25
38
|
*/
|
|
26
|
-
export type
|
|
27
|
-
mode: "unauthenticated";
|
|
28
|
-
} | {
|
|
29
|
-
mode: "authenticated";
|
|
30
|
-
state: RequestAuthInfo;
|
|
31
|
-
};
|
|
39
|
+
export type ConnectionScopePolicy = (request: TransportRequestContext) => string | undefined;
|
|
32
40
|
export type McpProtocol = "legacy" | "2026-07-28";
|
|
33
41
|
export type TransportRequestContext = {
|
|
34
42
|
headers?: Record<string, string | string[] | undefined>;
|
|
35
43
|
query?: Record<string, string | string[] | undefined>;
|
|
36
44
|
/**
|
|
37
|
-
* The
|
|
38
|
-
*
|
|
39
|
-
*
|
|
45
|
+
* The verified identity of this request, if the host injected one (via
|
|
46
|
+
* `req.auth`, which the node adapter forwards, or directly). Absent means
|
|
47
|
+
* the host did not verify an identity for this request. Connection
|
|
48
|
+
* scoping and per-request authorization decisions key on this rather than
|
|
49
|
+
* self-asserted headers.
|
|
40
50
|
*/
|
|
41
|
-
authInfo?:
|
|
51
|
+
authInfo?: RequestAuthInfo;
|
|
42
52
|
protocol?: McpProtocol;
|
|
43
53
|
};
|
|
44
54
|
export interface ITransportRunner {
|
package/dist/transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,MAAM,GAAG,SAAS,CAAC;AAE7F,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACtD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
|
package/dist/transports.d.ts
CHANGED
|
@@ -13,18 +13,12 @@ export type HttpServerOptions = {
|
|
|
13
13
|
/** Response type: 'sse' for Server-Sent Events, 'json' for JSON responses */
|
|
14
14
|
responseType?: "sse" | "json";
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* inject it via `req.auth`, which the node adapter forwards as the
|
|
21
|
-
* handler's authInfo; the server never authenticates on its own).
|
|
22
|
-
* Unauthenticated requests are rejected with 401 and the request
|
|
23
|
-
* context's authInfo is always `{ mode: "authenticated", state }`.
|
|
24
|
-
* - `"unauthenticated"`: authInfo carries whatever the host provides,
|
|
25
|
-
* defaulting to `{ mode: "unauthenticated" }`.
|
|
16
|
+
* When true, permits binding to a non-loopback host (e.g. `0.0.0.0`, `::`,
|
|
17
|
+
* a LAN IP, or an empty host meaning "all interfaces"). Defaults to a strict
|
|
18
|
+
* loopback-only policy that throws when the host is not loopback. Set this
|
|
19
|
+
* explicitly only when the server is intentionally exposed to the network.
|
|
26
20
|
*/
|
|
27
|
-
|
|
21
|
+
dangerousHostBinding?: boolean;
|
|
28
22
|
};
|
|
29
23
|
/**
|
|
30
24
|
* Options for transport runners.
|
package/dist/transports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongodb-js/mcp-types",
|
|
3
3
|
"description": "Shared TypeScript types and interfaces for MongoDB MCP server packages",
|
|
4
|
-
"version": "3.0.0-prerelease.
|
|
4
|
+
"version": "3.0.0-prerelease.6",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"author": "MongoDB <info@mongodb.com>",
|