import { BackendConfigSection } from "../backends/types.js"; export type AutonomyLevel = "full" | "supervised" | "guided"; export type ModelProfile = "quality" | "speed" | "balanced"; export type BranchingStrategy = "phase" | "feature" | "trunk"; export type PhaseName = "research" | "plan" | "execute" | "verify" | "complete"; export type AgentName = | "orchestrator" | "planner" | "executor" | "verifier" | "researcher" | "phase-researcher" | "challenger" | "security-auditor" | "debugger" | "doc-writer" | "doc-verifier" | "code-reviewer" | "ideation-agent" | "roadmapper" | "plan-checker" | "project-researcher" | "research-synthesizer" | "solution-writer"; export interface AutonomyConfig { level: AutonomyLevel; escalation_hooks: string[]; clarify_budget: number; decision_confidence_threshold: number; max_revision_iterations: number; max_verification_retries: number; escalation_timeout_ms: number; } export interface ParallelizationConfig { enabled: boolean; max_concurrent_agents: number; min_plans_for_parallel: number; } export interface VerificationConfig { automated_only: boolean; escalate_visual: boolean; escalate_external_integration: boolean; test_first: boolean; } export interface SecurityConfig { auto_accept_low_severity: boolean; auto_mitigate_medium_severity: boolean; escalate_high_severity: boolean; } export interface GitConfig { branching_strategy: BranchingStrategy; auto_commit: boolean; auto_push: boolean; } export interface ProjectEntry { slug: string; name: string; default?: boolean; } export interface CIConfig { projects: ProjectEntry[]; active_project: string; autonomy: AutonomyConfig; model_profile: ModelProfile; parallelization: ParallelizationConfig; verification: VerificationConfig; security: SecurityConfig; git: GitConfig; backend: BackendConfigSection; } export const DEFAULT_CI_CONFIG: CIConfig = { projects: [], active_project: "", autonomy: { level: "full", escalation_hooks: ["deploy", "delete_data", "merge_to_main"], clarify_budget: 10, decision_confidence_threshold: 0.6, max_revision_iterations: 3, max_verification_retries: 2, escalation_timeout_ms: 300000, }, model_profile: "quality", parallelization: { enabled: true, max_concurrent_agents: 5, min_plans_for_parallel: 2, }, verification: { automated_only: true, escalate_visual: true, escalate_external_integration: true, test_first: false, }, security: { auto_accept_low_severity: true, auto_mitigate_medium_severity: true, escalate_high_severity: true, }, git: { branching_strategy: "phase", auto_commit: true, auto_push: false, }, backend: { provider: "auto", agent_backends: { opencode: { enabled: true }, }, llm_backends: { "ollama-local": { base_url: "http://localhost:11434", model_profile: "balanced", }, "ollama-cloud": { base_url: "", api_key_env: "OLLAMA_CLOUD_API_KEY", model_profile: "quality", timeout_ms: 60000, }, }, }, };