@kya-os/mcp-i
Version:
The TypeScript MCP framework with identity features built-in
286 lines (285 loc) • 11.1 kB
TypeScript
import { z } from "zod";
import { Configuration } from "webpack";
/**
* xmcp Config schema
*/
export declare const configSchema: z.ZodObject<{
stdio: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
debug: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
debug: boolean;
}, {
debug?: boolean | undefined;
}>]>>>;
http: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodOptional<z.ZodDefault<z.ZodObject<{
port: z.ZodOptional<z.ZodNumber>;
host: z.ZodOptional<z.ZodString>;
bodySizeLimit: z.ZodOptional<z.ZodNumber>;
debug: z.ZodOptional<z.ZodBoolean>;
endpoint: z.ZodOptional<z.ZodString>;
cors: z.ZodOptional<z.ZodObject<{
origin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>;
methods: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
allowedHeaders: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
exposedHeaders: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
credentials: z.ZodOptional<z.ZodBoolean>;
maxAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
}, {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
port?: number | undefined;
host?: string | undefined;
bodySizeLimit?: number | undefined;
debug?: boolean | undefined;
endpoint?: string | undefined;
cors?: {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
} | undefined;
}, {
port?: number | undefined;
host?: string | undefined;
bodySizeLimit?: number | undefined;
debug?: boolean | undefined;
endpoint?: string | undefined;
cors?: {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
} | undefined;
}>>>]>>;
experimental: z.ZodOptional<z.ZodObject<{
oauth: z.ZodOptional<z.ZodObject<{
endpoints: z.ZodObject<{
authorizationUrl: z.ZodString;
tokenUrl: z.ZodString;
revocationUrl: z.ZodOptional<z.ZodString>;
userInfoUrl: z.ZodOptional<z.ZodString>;
registerUrl: z.ZodString;
}, "strip", z.ZodTypeAny, {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
}, {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
}>;
issuerUrl: z.ZodString;
baseUrl: z.ZodString;
serviceDocumentationUrl: z.ZodOptional<z.ZodString>;
pathPrefix: z.ZodDefault<z.ZodString>;
defaultScopes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
pathPrefix: string;
defaultScopes: string[];
serviceDocumentationUrl?: string | undefined;
}, {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
serviceDocumentationUrl?: string | undefined;
pathPrefix?: string | undefined;
defaultScopes?: string[] | undefined;
}>>;
adapter: z.ZodOptional<z.ZodEnum<["express", "nextjs"]>>;
}, "strip", z.ZodTypeAny, {
oauth?: {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
pathPrefix: string;
defaultScopes: string[];
serviceDocumentationUrl?: string | undefined;
} | undefined;
adapter?: "express" | "nextjs" | undefined;
}, {
oauth?: {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
serviceDocumentationUrl?: string | undefined;
pathPrefix?: string | undefined;
defaultScopes?: string[] | undefined;
} | undefined;
adapter?: "express" | "nextjs" | undefined;
}>>;
paths: z.ZodOptional<z.ZodObject<{
tools: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
tools: string;
}, {
tools?: string | undefined;
}>>;
webpack: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodAny>>>;
identity: z.ZodOptional<z.ZodOptional<z.ZodObject<{
enabled: z.ZodBoolean;
environment: z.ZodOptional<z.ZodEnum<["development", "production"]>>;
devIdentityPath: z.ZodOptional<z.ZodString>;
privacyMode: z.ZodOptional<z.ZodBoolean>;
debug: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
enabled: boolean;
debug?: boolean | undefined;
environment?: "development" | "production" | undefined;
devIdentityPath?: string | undefined;
privacyMode?: boolean | undefined;
}, {
enabled: boolean;
debug?: boolean | undefined;
environment?: "development" | "production" | undefined;
devIdentityPath?: string | undefined;
privacyMode?: boolean | undefined;
}>>>;
}, "strip", z.ZodTypeAny, {
stdio?: boolean | {
debug: boolean;
} | undefined;
http?: boolean | {
port?: number | undefined;
host?: string | undefined;
bodySizeLimit?: number | undefined;
debug?: boolean | undefined;
endpoint?: string | undefined;
cors?: {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
} | undefined;
} | undefined;
experimental?: {
oauth?: {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
pathPrefix: string;
defaultScopes: string[];
serviceDocumentationUrl?: string | undefined;
} | undefined;
adapter?: "express" | "nextjs" | undefined;
} | undefined;
paths?: {
tools: string;
} | undefined;
webpack?: ((args_0: any, ...args: unknown[]) => any) | undefined;
identity?: {
enabled: boolean;
debug?: boolean | undefined;
environment?: "development" | "production" | undefined;
devIdentityPath?: string | undefined;
privacyMode?: boolean | undefined;
} | undefined;
}, {
stdio?: boolean | {
debug?: boolean | undefined;
} | undefined;
http?: boolean | {
port?: number | undefined;
host?: string | undefined;
bodySizeLimit?: number | undefined;
debug?: boolean | undefined;
endpoint?: string | undefined;
cors?: {
origin?: string | boolean | string[] | undefined;
methods?: string | string[] | undefined;
allowedHeaders?: string | string[] | undefined;
exposedHeaders?: string | string[] | undefined;
credentials?: boolean | undefined;
maxAge?: number | undefined;
} | undefined;
} | undefined;
experimental?: {
oauth?: {
endpoints: {
authorizationUrl: string;
tokenUrl: string;
registerUrl: string;
revocationUrl?: string | undefined;
userInfoUrl?: string | undefined;
};
issuerUrl: string;
baseUrl: string;
serviceDocumentationUrl?: string | undefined;
pathPrefix?: string | undefined;
defaultScopes?: string[] | undefined;
} | undefined;
adapter?: "express" | "nextjs" | undefined;
} | undefined;
paths?: {
tools?: string | undefined;
} | undefined;
webpack?: ((args_0: any, ...args: unknown[]) => any) | undefined;
identity?: {
enabled: boolean;
debug?: boolean | undefined;
environment?: "development" | "production" | undefined;
devIdentityPath?: string | undefined;
privacyMode?: boolean | undefined;
} | undefined;
}>;
type WebpackConfig = {
webpack?: (config: Configuration) => Configuration;
};
export type XmcpConfigInputSchema = Omit<z.input<typeof configSchema>, "webpack"> & WebpackConfig;
export type XmcpConfigOuputSchema = Omit<z.output<typeof configSchema>, "webpack"> & WebpackConfig;
export {};