WarrenClient
Defined in: .upstream/src/client/client.ts:70
Public re-exports for the warren-client facade. Internal and external
modules can import from here so the file layout under client/ can
move without touching call sites.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new WarrenClient(
opts):WarrenClient
Defined in: .upstream/src/client/client.ts:74
Parameters
Section titled “Parameters”Returns
Section titled “Returns”WarrenClient
Properties
Section titled “Properties”config
Section titled “config”
readonlyconfig:WarrenClientConfig
Defined in: .upstream/src/client/client.ts:71
Methods
Section titled “Methods”cancelPlanRun()
Section titled “cancelPlanRun()”cancelPlanRun(
planRunId):Promise<CancelPlanRunResponse>
Defined in: .upstream/src/client/client.ts:345
POST /plan-runs/:id/cancel — flip the plan-run to cancelled
and best-effort cancel its in-flight child run. Idempotent: a
plan-run already in a terminal state returns
{ alreadyTerminal: true, cancelledChild: null } without firing a
second cancel.
Parameters
Section titled “Parameters”planRunId
Section titled “planRunId”string
Returns
Section titled “Returns”Promise<CancelPlanRunResponse>
close()
Section titled “close()”close():
Promise<void>
Defined in: .upstream/src/client/client.ts:394
Returns
Section titled “Returns”Promise<void>
createPlanRun()
Section titled “createPlanRun()”createPlanRun(
input):Promise<CreatePlanRunResponse>
Defined in: .upstream/src/client/client.ts:310
POST /plan-runs — dispatch a serial plan execution against a
seeds plan. Walks the plan’s children one at a time, gating
each on the previous PR merging. Re-dispatching the same
planId after children land resumes from the next open child
(idempotent resume contract).
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<CreatePlanRunResponse>
createProject()
Section titled “createProject()”createProject(
input):Promise<ProjectRow>
Defined in: .upstream/src/client/client.ts:137
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<ProjectRow>
createRun()
Section titled “createRun()”createRun(
input):Promise<SpawnRunResponse>
Defined in: .upstream/src/client/client.ts:186
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<SpawnRunResponse>
dispatch()
Section titled “dispatch()”dispatch(
input):Promise<SpawnRunResponse>
Defined in: .upstream/src/client/client.ts:195
POST /runs with ergonomic warren run field names. Wraps createRun.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<SpawnRunResponse>
getAgent()
Section titled “getAgent()”getAgent(
name,query?):Promise<AgentRow>
Defined in: .upstream/src/client/client.ts:174
Parameters
Section titled “Parameters”string
query?
Section titled “query?”ListAgentsQuery = {}
Returns
Section titled “Returns”Promise<AgentRow>
getPlanRun()
Section titled “getPlanRun()”getPlanRun(
planRunId):Promise<PlanRunDetailResponse>
Defined in: .upstream/src/client/client.ts:324
GET /plan-runs/:id — full plan-run status: row + children +
fanned-out child RunRow[] (excludes children whose runId is
still null) so callers can render a detail view in one
round-trip.
Parameters
Section titled “Parameters”planRunId
Section titled “planRunId”string
Returns
Section titled “Returns”Promise<PlanRunDetailResponse>
getProject()
Section titled “getProject()”getProject(
projectId):Promise<ProjectRow>
Defined in: .upstream/src/client/client.ts:123
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
Returns
Section titled “Returns”Promise<ProjectRow>
getRun()
Section titled “getRun()”getRun(
runId):Promise<RunRow>
Defined in: .upstream/src/client/client.ts:231
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<RunRow>
listAgents()
Section titled “listAgents()”listAgents(
query?):Promise<ListAgentsResponse>
Defined in: .upstream/src/client/client.ts:166
Parameters
Section titled “Parameters”query?
Section titled “query?”ListAgentsQuery = {}
Returns
Section titled “Returns”Promise<ListAgentsResponse>
listPlanRuns()
Section titled “listPlanRuns()”listPlanRuns(
filter?):Promise<ListPlanRunsResponse>
Defined in: .upstream/src/client/client.ts:329
GET /plan-runs[?project=&state=] — list plan-runs, optionally filtered.
Parameters
Section titled “Parameters”filter?
Section titled “filter?”ListPlanRunsFilter = {}
Returns
Section titled “Returns”Promise<ListPlanRunsResponse>
listProjects()
Section titled “listProjects()”listProjects():
Promise<ListProjectsResponse>
Defined in: .upstream/src/client/client.ts:127
Returns
Section titled “Returns”Promise<ListProjectsResponse>
listReadyPlans()
Section titled “listReadyPlans()”listReadyPlans(
projectId,signal?):Promise<ListReadyPlansResponse>
Defined in: .upstream/src/client/client.ts:132
GET /projects/:id/ready-plans — approved, undispatched plans with an open child (warren-7937).
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
signal?
Section titled “signal?”AbortSignal
Returns
Section titled “Returns”Promise<ListReadyPlansResponse>
listRuns()
Section titled “listRuns()”listRuns():
Promise<ListRunsResponse>
Defined in: .upstream/src/client/client.ts:235
Returns
Section titled “Returns”Promise<ListRunsResponse>
probe()
Section titled “probe()”probe(
timeoutMs?):Promise<void>
Defined in: .upstream/src/client/client.ts:88
Hit /healthz with a timeout and convert transport-layer failures
into WarrenUnreachableError. /healthz is auth-exempt.
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number = DEFAULT_PROBE_TIMEOUT_MS
Returns
Section titled “Returns”Promise<void>
refreshAgents()
Section titled “refreshAgents()”refreshAgents():
Promise<RefreshAgentsResponse>
Defined in: .upstream/src/client/client.ts:182
Returns
Section titled “Returns”Promise<RefreshAgentsResponse>
refreshProject()
Section titled “refreshProject()”refreshProject(
projectId,input?):Promise<RefreshProjectResponse>
Defined in: .upstream/src/client/client.ts:145
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
input?
Section titled “input?”RefreshProjectInput = {}
Returns
Section titled “Returns”Promise<RefreshProjectResponse>
refreshProjectAgents()
Section titled “refreshProjectAgents()”refreshProjectAgents(
projectId):Promise<RefreshProjectAgentsResult>
Defined in: .upstream/src/client/client.ts:159
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
Returns
Section titled “Returns”Promise<RefreshProjectAgentsResult>
request()
Section titled “request()”request<
T>(path,init?):Promise<T>
Defined in: .upstream/src/client/client.ts:111
Helper to send requests and handle common things like bearer token auth, URL concatenation, and response deserialization.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”string
RequestInit = {}
Returns
Section titled “Returns”Promise<T>
steer()
Section titled “steer()”steer(
runId,input):Promise<SteerRunResponse>
Defined in: .upstream/src/client/client.ts:220
POST /runs/:id/steer — mid-run steering. Forwards an operator
message into the burrow inbox; valid only while the run is
non-terminal AND a burrow is attached (else ValidationError).
Batch runs get nudges here; src/runs/pause.ts drives the
blocking-question pause ↔ resume cycle server-side — no explicit
“resume” needed after a steer.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<SteerRunResponse>
streamPlanRunEvents()
Section titled “streamPlanRunEvents()”streamPlanRunEvents(
planRunId,opts?):AsyncGenerator<RunEvent,void,void>
Defined in: .upstream/src/client/client.ts:367
Async iterator over GET /plan-runs/:id/events (NDJSON tail). One
yield per child-run event row, parsed as RunEvent. Shares
the same wire shape and reader as streamRunEvents; each
envelope carries its originating runId discriminator.
follow: truekeeps the connection open until the client disconnects or the plan-run reaches a terminal state; without it the server replays the current snapshot then closes.signalaborts the underlying fetch.
There is no sinceSeq — the endpoint replays the full union
snapshot from the top on every (re)open. On reconnect, dedupe
client-side by (runId, seq) to drop events already seen.
Parameters
Section titled “Parameters”planRunId
Section titled “planRunId”string
StreamPlanRunEventsOptions = {}
Returns
Section titled “Returns”AsyncGenerator<RunEvent, void, void>
streamRunEvents()
Section titled “streamRunEvents()”streamRunEvents(
runId,opts?):AsyncGenerator<RunEvent,void,void>
Defined in: .upstream/src/client/client.ts:274
Async iterator over GET /runs/:id/events (NDJSON tail). One yield
per event row, parsed as RunEvent. The wire format is
NDJSON, not SSE — each line is a JSON envelope terminated by \n.
follow: truekeeps the connection open so new events stream as the run progresses. Without it, the server closes once the current backlog is drained.sinceSeqreplays only events withburrowEventSeq > sinceSeq, matching the server’s?since=semantics.signalaborts the underlying fetch so callers can tear the connection down on unmount / cancel.
Malformed lines are dropped silently — the stream is best-effort by
design, mirroring the UI consumer in src/ui/src/api/client.ts.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”AsyncGenerator<RunEvent, void, void>
waitForPlanRun()
Section titled “waitForPlanRun()”waitForPlanRun(
planRunId,opts?):Promise<PlanRunRow>
Defined in: .upstream/src/client/client.ts:383
Poll GET /plan-runs/:id until the plan-run reaches a terminal
state (succeeded | failed | cancelled) or the timeout/abort
fires. Mirrors waitForRun for serial plan executions.
Parameters
Section titled “Parameters”planRunId
Section titled “planRunId”string
Returns
Section titled “Returns”Promise<PlanRunRow>
waitForRun()
Section titled “waitForRun()”waitForRun(
runId,opts?):Promise<RunRow>
Defined in: .upstream/src/client/client.ts:247
Poll GET /runs/:id until the run reaches a terminal state
(succeeded | failed | cancelled) or the timeout/abort fires.
Polling — not SSE — is the right primitive for short-lived external callers that just want a final state without holding an open connection.
Parameters
Section titled “Parameters”string
WaitForRunOptions = {}
Returns
Section titled “Returns”Promise<RunRow>
fromEnv()
Section titled “fromEnv()”
staticfromEnv(env?,fetchImpl?):WarrenClient
Defined in: .upstream/src/client/client.ts:79
Parameters
Section titled “Parameters”EnvLike = process.env
fetchImpl?
Section titled “fetchImpl?”typeof fetch
Returns
Section titled “Returns”WarrenClient
