ProcessManager

works.iterative.claude.effectful.internal.cli.ProcessManager
See theProcessManager companion object

Manages process configuration and execution for Claude Code CLI.

Provides clean separation between process configuration and execution, enabling better testing by allowing ProcessBuilder configuration to be tested independently from actual process execution.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def configureProcessBuilder(executablePath: String, args: List[String], options: QueryOptions): ProcessBuilder

Configure ProcessBuilder from QueryOptions.

Configure ProcessBuilder from QueryOptions.

Maps QueryOptions fields to ProcessBuilder configuration including working directory, environment variables, and other process settings.

Value parameters

args

Command line arguments for the executable

executablePath

Path to the Claude Code CLI executable

options

Query configuration options

Attributes

Returns

Configured ProcessBuilder ready for execution

def executeProcess(processBuilder: ProcessBuilder, options: QueryOptions, executablePath: String, args: List[String])(using logger: Logger[IO]): Stream[IO, Message]

Execute configured process and return message stream.

Execute configured process and return message stream.

Takes a configured ProcessBuilder and executes it, parsing the output into a stream of Message objects.

Value parameters

args

Original command arguments for error reporting

executablePath

Original executable path for error reporting

logger

Logger instance for logging process execution events

options

Query options for timeout and other execution settings

processBuilder

Configured ProcessBuilder to execute

Attributes

Returns

Stream of parsed messages from the CLI process