Type Alias ContributionEvent

ContributionEvent:
    | { stage: "auth-check" }
    | { stage: "diff-compute" }
    | { stage: "permission-check" }
    | {
        installUrl: string;
        stage: "install-required";
        targetOwner: string;
        targetRepo: string;
    }
    | { stage: "conflict-check" }
    | { alreadyExists: boolean; forkOwner: string; stage: "fork-prepare" }
    | { index: number; path: string; stage: "upload-blob"; total: number }
    | { stage: "create-tree" }
    | { stage: "create-commit" }
    | { branchName: string; stage: "create-branch" }
    | { stage: "create-pr" }
    | {
        commitSha: string;
        prNumber: number;
        prUrl: string;
        stage: "pr-updated";
    }
    | { commitSha: string; ref: string; stage: "commit-pushed" }
    | {
        branchName: string;
        provider: "github";
        pushOwner: string;
        repository: string;
        stage: "switch-branch";
    }
    | { commitSha: string; prNumber?: number; prUrl?: string; stage: "done" }
    | { details?: unknown; message: string; stage: "warning" }
    | { message: string; recoverable: boolean; stage: "error" }

A stage emitted as the contribution runs. Mirrors the host orchestrator's event union; carries progress metadata only — never the token or file blobs.