/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import { ModelRepository } from "@workglow/ai"; import { FsFolderTabularStorage } from "@workglow/storage"; import { TaskGraphTabularRepository } from "@workglow/task-graph"; import type { CliConfig } from "./config"; export declare const McpServerRecordSchema: { readonly type: "object"; readonly properties: { readonly auth_type: { readonly type: "string"; readonly enum: readonly ["none", "bearer", "client_credentials", "private_key_jwt", "static_private_key_jwt", "authorization_code"]; readonly title: "Auth Type"; readonly description: "Authentication method for connecting to the MCP server"; }; readonly auth_token: { readonly type: "string"; readonly format: "credential"; readonly title: "Bearer Token"; readonly description: "Static bearer token or API key (for bearer auth)"; }; readonly auth_client_id: { readonly type: "string"; readonly title: "Client ID"; readonly description: "OAuth client ID (for OAuth auth types)"; }; readonly auth_client_secret: { readonly type: "string"; readonly format: "credential"; readonly title: "Client Secret"; readonly description: "OAuth client secret (for client_credentials auth)"; }; readonly auth_private_key: { readonly type: "string"; readonly format: "credential"; readonly title: "Private Key"; readonly description: "PEM or JWK private key (for private_key_jwt auth)"; }; readonly auth_algorithm: { readonly type: "string"; readonly title: "Algorithm"; readonly description: "JWT signing algorithm, e.g. RS256, ES256 (for private_key_jwt auth)"; }; readonly auth_jwt_bearer_assertion: { readonly type: "string"; readonly format: "credential"; readonly title: "JWT Assertion"; readonly description: "Pre-built JWT assertion (for static_private_key_jwt auth)"; }; readonly auth_redirect_url: { readonly type: "string"; readonly format: "uri"; readonly title: "Redirect URL"; readonly description: "OAuth redirect URL (for authorization_code auth)"; }; readonly auth_scope: { readonly type: "string"; readonly title: "Scope"; readonly description: "OAuth scope (space-separated)"; }; readonly auth_client_name: { readonly type: "string"; readonly title: "Client Name"; readonly description: "Optional OAuth client display name"; }; readonly auth_jwt_lifetime_seconds: { readonly type: "number"; readonly title: "JWT Lifetime"; readonly description: "JWT lifetime in seconds (default: 300)"; readonly minimum: 1; }; readonly transport: { readonly type: "string"; readonly enum: readonly ["stdio", "sse", "streamable-http"]; readonly title: "Transport"; readonly description: "The transport type to use for connecting to the MCP server"; }; readonly server_url: { readonly type: "string"; readonly format: "uri"; readonly title: "Server URL"; readonly description: "The URL of the MCP server (for sse and streamable-http transports)"; }; readonly command: { readonly type: "string"; readonly title: "Command"; readonly description: "The command to run (for stdio transport)"; }; readonly args: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly title: "Arguments"; readonly description: "Command arguments (for stdio transport)"; }; readonly env: { readonly type: "object"; readonly additionalProperties: { readonly type: "string"; }; readonly title: "Environment"; readonly description: "Environment variables (for stdio transport)"; }; readonly name: { readonly type: "string"; readonly "x-auto-generated": false; }; }; readonly required: readonly ["name", "transport", "auth_type"]; readonly allOf: readonly Record[]; }; export declare const McpServerPrimaryKeyNames: readonly ["name"]; export declare function createModelRepository(config: CliConfig): ModelRepository; export declare function createWorkflowRepository(config: CliConfig): TaskGraphTabularRepository; export declare function createAgentRepository(config: CliConfig): TaskGraphTabularRepository; export declare function createMcpStorage(config: CliConfig): FsFolderTabularStorage;