package infra

import (
	"bytes"
	"os/exec"
	"time"
)

// ProcessHandle represents a running subprocess with output buffers.
type ProcessHandle struct {
	Cmd       *exec.Cmd
	Pid       int
	StartTime time.Time
	Dir       string
	stdout    *bytes.Buffer
	stderr    *bytes.Buffer
}

// ProcessResult contains the outcome of a completed subprocess.
type ProcessResult struct {
	ExitCode   int
	Stdout     string
	Stderr     string
	DurationMs int64
	Killed     bool
}
