import type { Complexity } from "./base.js";
import type { RequirementPoint, SemanticEvidence } from "./pipeline.js";
/** 交付前审查结果（R11 Developer Sovereignty，advisory 不 hard block） */
export interface PreDeliveryReview {
    task_id: string;
    /** raw diff 摘要（变更文件列表 + 行数统计） */
    diff_summary: {
        changed_files: string[];
        additions: number;
        deletions: number;
        file_details: Array<{
            file_path: string;
            additions: number;
            deletions: number;
        }>;
    };
    /** 风险摘要 */
    risk_summary: {
        risk_level: "low" | "medium" | "high";
        factors: string[];
        advisory: string;
    };
    /** 证据链（requirement → change → test → evidence） */
    evidence_chain: {
        requirements: RequirementPoint[];
        coverage_summary: string;
        uncovered_points: string[];
    } | null;
    /** 回滚命令 */
    rollback_command: string;
    /** 是否可以交付 */
    can_deliver: boolean;
    /** 阻断原因（can_deliver=false 时） */
    delivery_blockers: string[];
    /** advisory 信息 */
    advisory: string;
}
/** 否决结果 */
export interface VetoResult {
    vetoed: boolean;
    task_id: string;
    reason: string;
    timestamp: string;
    advisory: string;
}
/** 交付动作类型: commit=提交, push=推送, pr=创建PR, changelog=生成变更日志 */
export type DeliveryAction = "commit" | "push" | "pr" | "changelog";
/** 交付配置 */
export interface DeliveryConfig {
    /** 是否自动提交 */
    auto_commit: boolean;
    /** 是否自动推送 */
    auto_push: boolean;
    /** 是否自动创建 PR */
    auto_pr: boolean;
    /** PR 标签列表 */
    pr_labels: string[];
    /** 是否需要审批 */
    require_approval: boolean;
}
/** 交付证据链（R9 语义交付证据） */
export interface DeliveryEvidenceChain {
    /** 需求点列表（来自 expand） */
    requirement_points: RequirementPoint[];
    /** 语义证据（来自 verify） */
    semantic_evidence?: SemanticEvidence;
    /** 变更文件到需求点的映射 */
    file_to_requirements: Array<{
        file_path: string;
        requirement_point_ids: string[];
    }>;
    /** 证据完整性评估 */
    completeness: {
        all_requirements_covered: boolean;
        uncovered_points: string[];
        advisory: string;
    };
}
/** 交付结果 */
export interface DeliveryResult {
    /** 任务 ID */
    task_id: string;
    /** 已执行的交付动作 */
    actions_performed: DeliveryAction[];
    /** 提交哈希 */
    commit_hash?: string;
    /** 提交信息 */
    commit_message: string;
    /** 分支名 */
    branch: string;
    /** PR 链接 */
    pr_url?: string;
    /** 变更日志 */
    changelog?: string;
    /** 跳过的动作及原因 */
    skipped_actions: Array<{
        action: DeliveryAction;
        reason: string;
    }>;
    /** 错误信息列表 */
    errors: string[];
    /** 证据链（R9 语义交付证据） */
    evidence_chain?: DeliveryEvidenceChain;
    /** 运行安全包 advisory 警告（R12 命令分级 + 供应链） */
    safety_advisories?: string[];
    /** 交付前审查结果（R11 Developer Sovereignty，advisory 不 hard block） */
    pre_delivery_review?: PreDeliveryReview;
}
/** 变更日志条目 */
export interface ChangelogEntry {
    /** 变更类型: feat=新功能, fix=修复, refactor=重构, test=测试, docs=文档, chore=杂项 */
    type: "feat" | "fix" | "refactor" | "test" | "docs" | "chore";
    /** 影响范围 */
    scope: string;
    /** 变更描述 */
    description: string;
    /** 关联任务 ID */
    task_id: string;
}
/** 冲突风险等级: none=无, low=低, medium=中, high=高 */
export type ConflictRisk = "none" | "low" | "medium" | "high";
/** 冲突警告 */
export interface ConflictWarning {
    /** 文件路径 */
    file: string;
    /** 冲突风险 */
    risk: ConflictRisk;
    /** 原因说明 */
    reason: string;
    /** 冲突分支 */
    other_branch?: string;
    /** 其他作者 */
    other_author?: string;
}
/** 跨仓库关联提示 */
export interface CrossRepoHint {
    /** 仓库 A */
    repo_a: string;
    /** 仓库 B */
    repo_b: string;
    /** 共享契约 */
    shared_contract: string;
    /** 关联描述 */
    description: string;
}
/** 变更协调检查结果 */
export interface CoordinationCheckResult {
    /** 当前分支 */
    branch: string;
    /** 本地变更文件列表 */
    local_changes: string[];
    /** 冲突警告列表 */
    conflict_warnings: ConflictWarning[];
    /** 跨仓库关联提示 */
    cross_repo_hints: CrossRepoHint[];
    /** 领先 main 的提交数 */
    commits_ahead: number;
    /** main 分支是否过期警告 */
    stale_main_warning: boolean;
    /** 检查摘要 */
    summary: string;
}
/** 团队活动条目 */
export interface TeamActivityEntry {
    /** 作者 */
    author: string;
    /** 日期 */
    date: string;
    /** 提交信息 */
    message: string;
    /** 短哈希 */
    short_hash: string;
    /** 变更文件数 */
    files_changed: number;
}
/** 团队成员工作负载 */
export interface TeamMemberWorkload {
    /** 作者 */
    author: string;
    /** 提交次数 */
    commit_count: number;
    /** 活跃文件列表 */
    active_files: string[];
    /** 最后活跃时间 */
    last_active: string;
}
/** 团队状态结果 */
export interface TeamStatusResult {
    /** 活动动态列表 */
    activity_feed: TeamActivityEntry[];
    /** 成员工作负载列表 */
    member_workloads: TeamMemberWorkload[];
    /** 近期知识更新 */
    recent_knowledge: Array<{
        name: string;
        type: string;
        updated: string;
    }>;
    /** 过期分支列表 */
    stale_branches: Array<{
        name: string;
        last_commit_date: string;
    }>;
    /** 状态摘要 */
    summary: string;
}
/** 契约变更类型 */
export type ContractChangeType = "path_added" | "path_removed" | "method_changed" | "field_added" | "field_removed" | "field_type_changed";
/** 契约变更严重程度: breaking=破坏性, compatible=兼容 */
export type ContractChangeSeverity = "breaking" | "compatible";
/** 契约变更条目 */
export interface ContractChange {
    /** 文件路径 */
    file: string;
    /** 变更类型 */
    change_type: ContractChangeType;
    /** 严重程度 */
    severity: ContractChangeSeverity;
    /** 变更描述 */
    description: string;
    /** 变更前内容 */
    before?: string;
    /** 变更后内容 */
    after?: string;
}
/** 契约检查结果 */
export interface ContractCheckResult {
    /** 变更列表 */
    changes: ContractChange[];
    /** 破坏性变更数量 */
    breaking_count: number;
    /** 兼容变更数量 */
    compatible_count: number;
    /** 跨服务影响 */
    cross_service_impact: Array<{
        service: string;
        endpoints: string[];
    }>;
    /** 是否需要审查 */
    requires_review: boolean;
    /** 检查摘要 */
    summary: string;
}
/** 引导步骤: project_overview=项目概览, code_tour=代码漫游, knowledge_review=知识复习, first_task=首个任务 */
export type OnboardingStep = "project_overview" | "code_tour" | "knowledge_review" | "first_task";
/** 代码漫游条目 */
export interface CodeTourItem {
    /** 文件路径 */
    path: string;
    /** 描述说明 */
    description: string;
}
/** 引导结果 */
export interface OnboardingResult {
    /** 当前步骤 */
    current_step: OnboardingStep;
    /** 已完成的步骤 */
    completed_steps: OnboardingStep[];
    /** 项目概览 */
    project_overview?: {
        /** 项目名称 */
        name: string;
        /** 技术栈 */
        tech_stack: string;
        /** 仓库列表 */
        repos: Array<{
            name: string;
            lang: string;
            framework: string;
        }>;
        /** 编码约定 */
        conventions: string[];
    };
    /** 代码漫游 */
    code_tour?: {
        /** 关键模块 */
        key_modules: CodeTourItem[];
        /** 入口文件 */
        entry_points: string[];
    };
    /** 知识摘要 */
    knowledge_summary?: {
        /** 知识总数 */
        total: number;
        /** 模式数量 */
        patterns: number;
        /** 流程数量 */
        procedures: number;
        /** 关键主题 */
        key_topics: string[];
    };
    /** 首个任务建议 */
    first_task_suggestion?: {
        /** 任务意图 */
        intent: string;
        /** 推荐原因 */
        reason: string;
        /** 难度 */
        difficulty: Complexity;
    };
    /** 下一步操作提示 */
    next_action_hint: string;
}
//# sourceMappingURL=delivery.d.ts.map