rebuno.Client creates executions and inspects what they did. Your backend, a
script, or an operator uses it, not the agent handler.
base_url is required, from the argument or REBUNO_URL. api_key is optional
and sent as Authorization: Bearer ... when present.
Client is an async context manager, so it closes its connection pool:
await client.close() when you’re done.
Executions
create and get return an Execution. Poll get or read the
event log to watch it progress. create also takes idempotency_key,
spawned_by, and on_behalf_of; see Create an execution.
Event log and steps
Read the raw event stream, or the steps it produced:events is paginated by after_seq: pass the last event_seq you’ve seen.
limit defaults to 100.
Approvals
When policy requires approval for a step, the execution blocks and an approval is created. Inspect and resolve them throughClient:
Errors
Failed requests raise typed exceptions:NotFoundError, UnauthorizedError,
ForbiddenError, ValidationError, PolicyError, NetworkError, and others,
all subclasses of rebuno.RebunoError. See Errors.
Models
Client returns pydantic models. They ignore unknown fields, so kernel
additions won’t break you.
Execution:id,agent_id,input,status,output,failure_reason,session,parent_execution_id,forked_from,fork_seq,idempotency_key,spawned_by,created_by,on_behalf_of,subject_groups.statusis anExecutionStatus, one ofpending,running,blocked,completed,failed,cancelled.Step:step_id,execution_id,kind,target,args_hash,occurrence,status,idempotency,args,result,error.Event:execution_id,event_seq,type,payload,occurred_at.Approval:id,step_id,execution_id,status,message,decided_by,asserted_by,rationale.
rebuno.types.