/** * GitHub Actions type definitions */ export interface GitHubWorkflow { id: number; node_id: string; name: string; path: string; state: 'active' | 'deleted' | 'disabled_fork' | 'disabled_inactivity' | 'disabled_manually'; created_at: string; updated_at: string; url: string; html_url: string; badge_url: string; } export interface GitHubWorkflowListResponse { total_count: number; workflows: GitHubWorkflow[]; } export interface GitHubWorkflowRun { id: number; name: string; node_id: string; head_branch: string; head_sha: string; run_number: number; event: string; status: 'queued' | 'in_progress' | 'completed' | null; conclusion: 'success' | 'failure' | 'neutral' | 'cancelled' | 'skipped' | 'timed_out' | 'action_required' | null; workflow_id: number; check_suite_id: number; check_suite_node_id: string; url: string; html_url: string; created_at: string; updated_at: string; run_attempt: number; run_started_at: string; jobs_url: string; logs_url: string; check_suite_url: string; artifacts_url: string; cancel_url: string; rerun_url: string; workflow_url: string; repository: { id: number; name: string; full_name: string; }; head_commit: { id: string; tree_id: string; message: string; timestamp: string; author: { name: string; email: string; }; committer: { name: string; email: string; }; }; } export interface GitHubWorkflowRunListResponse { total_count: number; workflow_runs: GitHubWorkflowRun[]; } export interface GitHubWorkflowRunJob { id: number; run_id: number; run_url: string; node_id: string; head_sha: string; url: string; html_url: string; status: 'queued' | 'in_progress' | 'completed'; conclusion: 'success' | 'failure' | 'neutral' | 'cancelled' | 'skipped' | 'timed_out' | 'action_required' | null; started_at: string; completed_at: string | null; name: string; steps: Array<{ name: string; status: 'queued' | 'in_progress' | 'completed'; conclusion: 'success' | 'failure' | 'neutral' | 'cancelled' | 'skipped' | 'timed_out' | 'action_required' | null; number: number; started_at: string | null; completed_at: string | null; }>; check_run_url: string; } export interface GitHubWorkflowRunJobsResponse { total_count: number; jobs: GitHubWorkflowRunJob[]; } export interface WorkflowDispatchOptions { ref: string; // The git reference for the workflow (branch, tag, HEAD) inputs?: Record; // Input parameters defined in the workflow file } export interface RerunWorkflowOptions { enable_debug_logging?: boolean; // Whether to enable debug logging during workflow re-runs }