From 45771a7e392226ab8d2e4d776c4699fe122fd0da Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Sun, 16 Aug 2026 19:36:02 -0400 Subject: [PATCH] chore(util): log spawned processes (#42948) Co-authored-by: Dax Raad --- packages/util/src/cross-spawn-spawner.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/util/src/cross-spawn-spawner.ts b/packages/util/src/cross-spawn-spawner.ts index e863537a66..6a8a412b95 100644 --- a/packages/util/src/cross-spawn-spawner.ts +++ b/packages/util/src/cross-spawn-spawner.ts @@ -258,7 +258,7 @@ const makeCrossSpawnSpawner = Effect.gen(function* () { return { stdout, stderr, all: Stream.merge(stdout, stderr) } } - const spawn = (command: ChildProcess.StandardCommand, opts: NodeChildProcess.SpawnOptions) => + const launchProcess = (command: ChildProcess.StandardCommand, opts: NodeChildProcess.SpawnOptions) => Effect.callback((resume) => { const signal = Deferred.makeUnsafe() const proc = launch(command.command, command.args, opts) @@ -283,6 +283,14 @@ const makeCrossSpawnSpawner = Effect.gen(function* () { }) }) + const spawn = Effect.fnUntraced(function* ( + command: ChildProcess.StandardCommand, + opts: NodeChildProcess.SpawnOptions, + ) { + yield* Effect.logInfo("spawning process", { command: command.command, args: command.args, cwd: opts.cwd }) + return yield* launchProcess(command, opts) + }) + const killGroup = ( command: ChildProcess.StandardCommand, proc: NodeChildProcess.ChildProcess,