/* tslint:disable */
/* eslint-disable */
/**
 * Fabro Run API
 * HTTP API for managing Fabro workflow run executions.
 *
 * The version of the OpenAPI document: 0.1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { ApiConfiguration } from './api-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { AssetsConfiguration } from './assets-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { CheckpointConfiguration } from './checkpoint-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { Features } from './features';
// May contain unused imports in some cases
// @ts-ignore
import type { GitConfiguration } from './git-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { GitHubConfiguration } from './git-hub-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { HookDefinition } from './hook-definition';
// May contain unused imports in some cases
// @ts-ignore
import type { LlmConfiguration } from './llm-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { LogConfiguration } from './log-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { McpServerEntry } from './mcp-server-entry';
// May contain unused imports in some cases
// @ts-ignore
import type { PullRequestConfiguration } from './pull-request-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxConfiguration } from './sandbox-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SetupConfiguration } from './setup-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { WebConfiguration } from './web-configuration';

/**
 * Structured server configuration mirroring ServerConfig.
 */
export interface ServerConfiguration {
    /**
     * Data directory path.
     */
    'data_dir'?: string;
    /**
     * Maximum concurrent runs.
     */
    'max_concurrent_runs'?: number;
    'web'?: WebConfiguration;
    'api'?: ApiConfiguration;
    'git'?: GitConfiguration;
    'features'?: Features;
    'log'?: LogConfiguration;
    /**
     * Default working directory.
     */
    'work_dir'?: string;
    'llm'?: LlmConfiguration;
    'setup'?: SetupConfiguration;
    'sandbox'?: SandboxConfiguration;
    /**
     * Default variable map.
     */
    'vars'?: { [key: string]: string; };
    'checkpoint'?: CheckpointConfiguration;
    'pull_request'?: PullRequestConfiguration;
    'hooks'?: Array<HookDefinition>;
    'assets'?: AssetsConfiguration;
    /**
     * Default MCP server configurations.
     */
    'mcp_servers'?: { [key: string]: McpServerEntry; };
    'github'?: GitHubConfiguration;
}

