Interface: RunnerDriver
Defined in: ports/runner-driver.ts:7
Runtime concurrency limiter for one-shot subprocess slots and background daemon sessions.
Resolved from RunnerPoolASTNode via RuntimeExecutorRegistry.runners[node.type] and memoized per node.id inside the active runtime.
Methods
withDaemonSlot()
withDaemonSlot<T>(fn, signal?): Promise<T>;Defined in: ports/runner-driver.ts:37
Acquires a long-lived background daemon slot until releaseDaemonSlot() is invoked.
Holds the concurrency slot beyond the startup promise resolution until the service session stops or is quiesced.
Type Parameters
| Type Parameter | Description |
|---|---|
T | Return value type of fn. |
Parameters
| Parameter | Type | Description |
|---|---|---|
fn | (releaseDaemonSlot) => Promise<T> | Startup callback receiving the explicit release handle. |
signal? | AbortSignal | Optional abort signal that cancels daemon slot acquisition. |
Returns
Promise<T>
Result produced by fn().
withSlot()
withSlot<T>(fn, signal?): Promise<T>;Defined in: ports/runner-driver.ts:23
Acquires a one-shot command execution slot for the duration of fn().
Queues the caller when all pool slots are occupied and releases the slot automatically in a finally block.
Type Parameters
| Type Parameter | Description |
|---|---|
T | Return value type of fn. |
Parameters
| Parameter | Type | Description |
|---|---|---|
fn | () => Promise<T> | Asynchronous work callback executed while holding the slot. |
signal? | AbortSignal | Optional abort signal that cancels slot acquisition or execution. |
Returns
Promise<T>
Result produced by fn().
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
id | readonly | string | Logical identifier of the runner pool. | ports/runner-driver.ts:9 |