Supervise subprocesses from TypeScript: prefix logs, wait for output patterns, and manage lifecycle/restarts.