export interface McpStdioServerConfig { type?: 'stdio'; command: string; args?: string[]; env?: Record; } export interface McpSseServerConfig { type: 'sse'; url: string; headers?: Record; } export interface McpHttpServerConfig { type: 'http'; url: string; headers?: Record; } export type McpServerConfig = McpStdioServerConfig | McpSseServerConfig | McpHttpServerConfig; export interface ProviderGuardOptions { /** プロバイダイベントが届かない時間の上限 (ms)。既定 60 分。 */ callTimeoutMs?: number; } export interface CodexProviderOptions { baseUrl?: string; networkAccess?: boolean; permissionControl?: CodexPermissionControl; configProfile?: string; reasoningEffort?: CodexReasoningEffort; fastMode?: boolean; guards?: ProviderGuardOptions; skills?: { repo?: boolean; user?: boolean; }; } export type CodexPermissionControl = 'takt' | 'codex'; export declare function assertCodexConfigProfilePermissionControl(options: CodexProviderOptions | undefined): void; export declare const OPENCODE_GUARD_PROFILES: readonly ["standard", "minimal"]; export type OpenCodeGuardProfile = (typeof OPENCODE_GUARD_PROFILES)[number]; /** * OpenCode 実行ガード設定。 * profile が切るのはヒューリスティック検出(連続エラー・burst・cycle budget・ * 連続完全一致反復)のみ。無応答期限・有界資源(容量・イベント数・追跡ID数)・ * 機密リダクションの fail-closed・厳密検出(edit conflict / unavailable / invalid * + correction)は minimal でも常時有効。idle watchdog は認証済み transport * の拡張として明示的に追加する場合だけ利用する。 */ export interface OpenCodeGuardOptions { /** standard(既定)= 全ガード有効。minimal = ヒューリスティック検出のみ無効。 */ profile?: OpenCodeGuardProfile; /** 解決済みモデル文字列に対する先勝ちの `*` ワイルドカードプロファイル。 */ modelProfiles?: Record; /** プロバイダイベントが届かない時間の上限 (ms)。60,000〜86,400,000 の整数。0 不可。既定 3,600,000。 */ callTimeoutMs?: number; /** 構造イベント数上限。既定 500,000。 */ eventLimit?: number; /** 可視テキスト累計バイト上限。既定 1MiB。 */ textByteLimit?: number; /** reasoning 累計バイト上限。既定 4MiB。 */ reasoningByteLimit?: number; } export interface OpenCodeProviderOptions { networkAccess?: boolean; variant?: string; allowedTools?: string[]; guards?: OpenCodeGuardOptions; } export declare const RUNTIME_PREPARE_PRESETS: readonly ["gradle", "node"]; export type RuntimePreparePreset = (typeof RUNTIME_PREPARE_PRESETS)[number]; export type CodexReasoningEffort = string; export type ClaudeEffort = string; export type CopilotEffort = string; export declare function isRuntimePreparePreset(entry: string): entry is RuntimePreparePreset; export type RuntimePrepareEntry = RuntimePreparePreset | string; export interface WorkflowRuntimeConfig { prepare?: RuntimePrepareEntry[]; } export interface ClaudeSandboxSettings { allowUnsandboxedCommands?: boolean; excludedCommands?: string[]; } export interface ClaudeSkillOptions { enabled?: boolean; } export interface ClaudeProviderOptions { baseUrl?: string; allowedTools?: string[]; effort?: ClaudeEffort; skills?: ClaudeSkillOptions; sandbox?: ClaudeSandboxSettings; guards?: ProviderGuardOptions; } export interface ClaudeTerminalProviderOptions { backend?: 'tmux'; guards?: ProviderGuardOptions; /** 旧設定。guards.callTimeoutMs が未指定の場合だけ無応答上限として使う。 */ timeoutMs?: number; keepSession?: boolean; transcriptPollIntervalMs?: number; } export interface CopilotProviderOptions { effort?: CopilotEffort; guards?: ProviderGuardOptions; } export interface KiroProviderOptions { agent?: string; guards?: ProviderGuardOptions; } export interface CursorProviderOptions { guards?: ProviderGuardOptions; } /** Configuration for the DeepSeek Harness Python SDK bridge. */ export type DeepSeekReasoningEffort = 'off' | 'low' | 'high' | 'max'; export interface DeepSeekHarnessProviderOptions { baseUrl?: string; maxTokens?: number; requestTimeoutMs?: number; shutdownTimeoutMs?: number; runtimeMode?: 'exe' | 'node'; reasoningEffort?: DeepSeekReasoningEffort; } /** * Pi SDK execution and resource-loading options. Bare npm sources try existing project and user * installs before temporary resolution; version-qualified npm and non-npm sources * are always temporary and explicit sources are never persisted to Pi settings. */ export interface PiProviderOptions { guards?: ProviderGuardOptions; extensions?: string[]; thinkingLevel?: string; noExtensions?: boolean; noSkills?: boolean; noPromptTemplates?: boolean; noThemes?: boolean; noContextFiles?: boolean; } export interface StepProviderOptions { codex?: CodexProviderOptions; opencode?: OpenCodeProviderOptions; claude?: ClaudeProviderOptions; claudeTerminal?: ClaudeTerminalProviderOptions; cursor?: CursorProviderOptions; copilot?: CopilotProviderOptions; kiro?: KiroProviderOptions; pi?: PiProviderOptions; deepseekHarness?: DeepSeekHarnessProviderOptions; } export type WorkflowStepKind = 'agent' | 'system' | 'workflow_call'; //# sourceMappingURL=workflow-provider-options.d.ts.map