hoomanjs 1.38.1 → 1.39.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/README.md +38 -0
- package/dist/core/mcp/config.d.ts +2 -0
- package/dist/core/mcp/oauth/provider.d.ts +21 -0
- package/dist/core/mcp/oauth/provider.js +32 -4
- package/dist/core/mcp/oauth/provider.js.map +1 -1
- package/dist/core/mcp/oauth/service.js +11 -3
- package/dist/core/mcp/oauth/service.js.map +1 -1
- package/dist/core/mcp/oauth/types.d.ts +1 -0
- package/dist/core/mcp/oauth/types.js +1 -0
- package/dist/core/mcp/oauth/types.js.map +1 -1
- package/dist/core/mcp/types.d.ts +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -565,6 +565,44 @@ At runtime, project-local `.hooman/mcp.json` files are merged on top of `~/.hoom
|
|
|
565
565
|
}
|
|
566
566
|
```
|
|
567
567
|
|
|
568
|
+
### How the client identity is established
|
|
569
|
+
|
|
570
|
+
When authorizing a remote server, the MCP SDK needs a `client_id`. Hooman resolves one in this order:
|
|
571
|
+
|
|
572
|
+
1. **Pre-registered client** — if `oauth.clientId` (and optionally `clientSecret`) is set, it is used as-is and no registration happens.
|
|
573
|
+
2. **Dynamic Client Registration (DCR)** — if the auth server advertises a `registration_endpoint`, Hooman registers a client on the fly. The redirect URI it registers is reused on later authorizations (persisted in `~/.hooman/mcp-oauth.json`), so keep it stable — set `oauth.callbackPort` or `oauth.redirectUri` if a server pins the redirect.
|
|
574
|
+
3. **Client ID Metadata Document (CIMD / SEP-991)** — some servers (e.g. Slack) support neither a static client nor DCR, and instead advertise `client_id_metadata_document_supported: true`. For these, the client presents an HTTPS URL that hosts a JSON metadata document; that URL becomes the `client_id`. Hooman sends `oauth.clientMetadataUrl` (falling back to a bundled default) whenever the server supports it.
|
|
575
|
+
|
|
576
|
+
If a server supports none of these, authorization fails with `Incompatible auth server: does not support dynamic client registration` — supply a `clientId` or `clientMetadataUrl`.
|
|
577
|
+
|
|
578
|
+
### Hosting a CIMD document (GitHub Pages)
|
|
579
|
+
|
|
580
|
+
The metadata document is a static JSON file served over HTTPS. A copy ships in this repo at [`docs/oauth/client-metadata.json`](docs/oauth/client-metadata.json) and is published via GitHub Pages at `https://vaibhavpandey.com/hooman/oauth/client-metadata.json`, which is the default `clientMetadataUrl`.
|
|
581
|
+
|
|
582
|
+
Requirements when hosting your own:
|
|
583
|
+
|
|
584
|
+
- The URL must be **HTTPS with a non-root path** (a bare domain is rejected).
|
|
585
|
+
- The document's own `client_id` field must equal the hosted URL **exactly** (self-referential).
|
|
586
|
+
- `redirect_uris` must include Hooman's loopback callback path `/mcp/oauth/callback`. Per RFC 8252 the loopback port is matched flexibly, so list the port-less hosts (`http://127.0.0.1/mcp/oauth/callback` and `http://localhost/mcp/oauth/callback`).
|
|
587
|
+
- `token_endpoint_auth_method` is `"none"` (public client — the document is public and holds no secrets).
|
|
588
|
+
|
|
589
|
+
Override the default per server:
|
|
590
|
+
|
|
591
|
+
```json
|
|
592
|
+
{
|
|
593
|
+
"mcpServers": {
|
|
594
|
+
"slack": {
|
|
595
|
+
"type": "streamable-http",
|
|
596
|
+
"url": "https://mcp.slack.com/mcp",
|
|
597
|
+
"oauth": {
|
|
598
|
+
"enabled": true,
|
|
599
|
+
"clientMetadataUrl": "https://vaibhavpandey.com/hooman/oauth/client-metadata.json"
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
```
|
|
605
|
+
|
|
568
606
|
### Example SSE server
|
|
569
607
|
|
|
570
608
|
```json
|
|
@@ -24,6 +24,7 @@ declare const McpServersFileSchema: z.ZodObject<{
|
|
|
24
24
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
25
25
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
26
26
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
27
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
27
28
|
}, z.core.$strip>>;
|
|
28
29
|
}, z.core.$strip>, z.ZodObject<{
|
|
29
30
|
type: z.ZodLiteral<"sse">;
|
|
@@ -42,6 +43,7 @@ declare const McpServersFileSchema: z.ZodObject<{
|
|
|
42
43
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
43
44
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
44
45
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
46
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
45
47
|
}, z.core.$strip>>;
|
|
46
48
|
}, z.core.$strip>], "type">>>>;
|
|
47
49
|
}, z.core.$strip>;
|
|
@@ -3,6 +3,15 @@ import type { OAuthClientInformationMixed, OAuthClientMetadata, OAuthTokens } fr
|
|
|
3
3
|
import type { Sse, StreamableHttp } from "../types.js";
|
|
4
4
|
import { Store } from "./store.js";
|
|
5
5
|
import type { McpOAuthConfig } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Hooman's hosted Client ID Metadata Document (CIMD / SEP-991). Auth servers
|
|
8
|
+
* that advertise `client_id_metadata_document_supported: true` (e.g. Slack) but
|
|
9
|
+
* do not support dynamic client registration use this URL directly as the
|
|
10
|
+
* `client_id`. The document is a static JSON file served over HTTPS whose own
|
|
11
|
+
* `client_id` field must equal this exact URL. Override per-server with
|
|
12
|
+
* `oauth.clientMetadataUrl`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_CLIENT_METADATA_URL = "https://vaibhavpandey.com/hooman/oauth/client-metadata.json";
|
|
6
15
|
export type ProviderOptions = {
|
|
7
16
|
serverName: string;
|
|
8
17
|
transport: StreamableHttp | Sse;
|
|
@@ -22,6 +31,12 @@ export declare class HoomanMcpOAuthProvider implements OAuthClientProvider {
|
|
|
22
31
|
get key(): string;
|
|
23
32
|
get redirectUrl(): string;
|
|
24
33
|
get clientMetadata(): OAuthClientMetadata;
|
|
34
|
+
/**
|
|
35
|
+
* URL-based client id (CIMD / SEP-991). Returned to the MCP SDK, which uses
|
|
36
|
+
* it as the `client_id` — skipping dynamic client registration — when the
|
|
37
|
+
* auth server advertises `client_id_metadata_document_supported: true`.
|
|
38
|
+
*/
|
|
39
|
+
get clientMetadataUrl(): string | undefined;
|
|
25
40
|
setRedirectUrl(url: string | URL): void;
|
|
26
41
|
takeAuthorizationUrl(): URL | undefined;
|
|
27
42
|
expectedState(): string | undefined;
|
|
@@ -38,6 +53,12 @@ export declare class HoomanMcpOAuthProvider implements OAuthClientProvider {
|
|
|
38
53
|
discoveryState(): Promise<OAuthDiscoveryState | undefined>;
|
|
39
54
|
invalidateCredentials(scope: "all" | "client" | "tokens" | "verifier" | "discovery"): Promise<void>;
|
|
40
55
|
oauthConfig(): McpOAuthConfig | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The redirect URI a previous dynamic client registration was bound to, if
|
|
58
|
+
* any. Reusing it keeps the authorization request consistent with what the
|
|
59
|
+
* OAuth server has on record for this client.
|
|
60
|
+
*/
|
|
61
|
+
registeredRedirectUri(): Promise<string | undefined>;
|
|
41
62
|
private readEntry;
|
|
42
63
|
private writeEntry;
|
|
43
64
|
}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { randomBytes } from "node:crypto";
|
|
2
2
|
import { createRemoteTransportIdentity } from "./identity.js";
|
|
3
3
|
import { Store } from "./store.js";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Hooman's hosted Client ID Metadata Document (CIMD / SEP-991). Auth servers
|
|
6
|
+
* that advertise `client_id_metadata_document_supported: true` (e.g. Slack) but
|
|
7
|
+
* do not support dynamic client registration use this URL directly as the
|
|
8
|
+
* `client_id`. The document is a static JSON file served over HTTPS whose own
|
|
9
|
+
* `client_id` field must equal this exact URL. Override per-server with
|
|
10
|
+
* `oauth.clientMetadataUrl`.
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_CLIENT_METADATA_URL = "https://vaibhavpandey.com/hooman/oauth/client-metadata.json";
|
|
5
13
|
export class HoomanMcpOAuthProvider {
|
|
6
14
|
options;
|
|
7
15
|
store;
|
|
@@ -21,9 +29,11 @@ export class HoomanMcpOAuthProvider {
|
|
|
21
29
|
return this.identity.key;
|
|
22
30
|
}
|
|
23
31
|
get redirectUrl() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
const url = this._redirectUrl ?? this.options.transport.oauth?.redirectUri;
|
|
33
|
+
if (!url) {
|
|
34
|
+
throw new Error("OAuth redirect URI is not initialized. Start the authorization flow before reading redirectUrl.");
|
|
35
|
+
}
|
|
36
|
+
return url;
|
|
27
37
|
}
|
|
28
38
|
get clientMetadata() {
|
|
29
39
|
return {
|
|
@@ -39,6 +49,15 @@ export class HoomanMcpOAuthProvider {
|
|
|
39
49
|
: {}),
|
|
40
50
|
};
|
|
41
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* URL-based client id (CIMD / SEP-991). Returned to the MCP SDK, which uses
|
|
54
|
+
* it as the `client_id` — skipping dynamic client registration — when the
|
|
55
|
+
* auth server advertises `client_id_metadata_document_supported: true`.
|
|
56
|
+
*/
|
|
57
|
+
get clientMetadataUrl() {
|
|
58
|
+
return (this.options.transport.oauth?.clientMetadataUrl ??
|
|
59
|
+
DEFAULT_CLIENT_METADATA_URL);
|
|
60
|
+
}
|
|
42
61
|
setRedirectUrl(url) {
|
|
43
62
|
this._redirectUrl = String(url);
|
|
44
63
|
}
|
|
@@ -188,6 +207,15 @@ export class HoomanMcpOAuthProvider {
|
|
|
188
207
|
oauthConfig() {
|
|
189
208
|
return this.options.transport.oauth;
|
|
190
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* The redirect URI a previous dynamic client registration was bound to, if
|
|
212
|
+
* any. Reusing it keeps the authorization request consistent with what the
|
|
213
|
+
* OAuth server has on record for this client.
|
|
214
|
+
*/
|
|
215
|
+
async registeredRedirectUri() {
|
|
216
|
+
const entry = await this.store.get(this.key);
|
|
217
|
+
return entry?.client?.redirectUris?.[0];
|
|
218
|
+
}
|
|
191
219
|
async readEntry() {
|
|
192
220
|
return this.store.get(this.key);
|
|
193
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,MAAM,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export class Service {
|
|
|
32
32
|
async beginAuthorization(serverName, transport) {
|
|
33
33
|
const provider = this.getProvider(serverName, transport);
|
|
34
34
|
provider.resetFlow();
|
|
35
|
-
const callbackServer = await this.createCallbackServer(transport);
|
|
35
|
+
const callbackServer = await this.createCallbackServer(provider, transport);
|
|
36
36
|
provider.setRedirectUrl(callbackServer.redirectUri);
|
|
37
37
|
let authorizationUrl;
|
|
38
38
|
try {
|
|
@@ -114,8 +114,16 @@ export class Service {
|
|
|
114
114
|
}
|
|
115
115
|
return "authenticated";
|
|
116
116
|
}
|
|
117
|
-
async createCallbackServer(transport) {
|
|
118
|
-
|
|
117
|
+
async createCallbackServer(provider, transport) {
|
|
118
|
+
// An explicit redirect URI always wins, then an explicit port. Otherwise
|
|
119
|
+
// reuse the redirect a prior dynamic client registration was bound to so
|
|
120
|
+
// the authorization request matches what the OAuth server has on record.
|
|
121
|
+
// With nothing to reuse (first-time registration), fall back to a random
|
|
122
|
+
// ephemeral port.
|
|
123
|
+
const redirectUri = transport.oauth?.redirectUri ??
|
|
124
|
+
(transport.oauth?.callbackPort
|
|
125
|
+
? undefined
|
|
126
|
+
: await provider.registeredRedirectUri());
|
|
119
127
|
if (redirectUri) {
|
|
120
128
|
const url = new URL(redirectUri);
|
|
121
129
|
return startCallbackServer({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,GAEL,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAkBjE,MAAM,OAAO,OAAO;IACD,KAAK,CAAQ;IACb,WAAW,CAAU;IACrB,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEvE,YAAmB,UAA0B,EAAE;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAEM,WAAW,CAChB,UAAkB,EAClB,SAA+B;QAE/B,MAAM,GAAG,GAAG,gCAAgC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,sBAAsB,CAAC;gBACpC,UAAU;gBACV,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,UAAkB,EAClB,SAA+B;QAE/B,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,CACvE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,UAAkB,EAClB,SAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,CAAC;QAErB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare const McpOAuthConfigSchema: z.ZodObject<{
|
|
|
12
12
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
13
13
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
14
14
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
15
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
15
16
|
}, z.core.$strip>;
|
|
16
17
|
export declare const StoredMcpOAuthTokensSchema: z.ZodObject<{
|
|
17
18
|
accessToken: z.ZodString;
|
|
@@ -12,6 +12,7 @@ export const McpOAuthConfigSchema = z.object({
|
|
|
12
12
|
redirectUri: z.url().optional(),
|
|
13
13
|
callbackPort: z.int().min(1).max(65535).optional(),
|
|
14
14
|
tokenParamName: z.string().min(1).optional(),
|
|
15
|
+
clientMetadataUrl: z.url().optional(),
|
|
15
16
|
});
|
|
16
17
|
export const StoredMcpOAuthTokensSchema = z.object({
|
|
17
18
|
accessToken: z.string().min(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1B,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/mcp/oauth/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/mcp/types.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export declare const StreamableHttpSchema: z.ZodObject<{
|
|
|
25
25
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
26
26
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
27
27
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
28
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
28
29
|
}, z.core.$strip>>;
|
|
29
30
|
}, z.core.$strip>;
|
|
30
31
|
/** MCP remote server over SSE + POST messages (legacy transport). */
|
|
@@ -45,6 +46,7 @@ export declare const SseSchema: z.ZodObject<{
|
|
|
45
46
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
46
47
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
47
48
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
49
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
48
50
|
}, z.core.$strip>>;
|
|
49
51
|
}, z.core.$strip>;
|
|
50
52
|
export declare const McpTransportSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -70,6 +72,7 @@ export declare const McpTransportSchema: z.ZodPipe<z.ZodTransform<unknown, unkno
|
|
|
70
72
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
71
73
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
72
74
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
75
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
73
76
|
}, z.core.$strip>>;
|
|
74
77
|
}, z.core.$strip>, z.ZodObject<{
|
|
75
78
|
type: z.ZodLiteral<"sse">;
|
|
@@ -88,6 +91,7 @@ export declare const McpTransportSchema: z.ZodPipe<z.ZodTransform<unknown, unkno
|
|
|
88
91
|
redirectUri: z.ZodOptional<z.ZodURL>;
|
|
89
92
|
callbackPort: z.ZodOptional<z.ZodInt>;
|
|
90
93
|
tokenParamName: z.ZodOptional<z.ZodString>;
|
|
94
|
+
clientMetadataUrl: z.ZodOptional<z.ZodURL>;
|
|
91
95
|
}, z.core.$strip>>;
|
|
92
96
|
}, z.core.$strip>], "type">>;
|
|
93
97
|
export type Stdio = z.infer<typeof StdioSchema>;
|