Metadata-Version: 2.5
Name: exoclaw-executor-dbos
Version: 0.16.0
Summary: DBOS-backed durable executor for exoclaw — turns and tool calls survive restarts
Requires-Python: >=3.11
Requires-Dist: dbos>=1.0.0
Requires-Dist: exoclaw-subagent>=0.12.0
Requires-Dist: exoclaw>=0.32.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: uuid-utils>=0.9.0
Description-Content-Type: text/markdown

# exoclaw-executor-dbos

DBOS-backed durable executor for exoclaw. Makes agent turns survive process restarts.

Every LLM call and tool execution is a DBOS step, checkpointed to SQLite. If the process restarts mid-turn, DBOS replays completed steps and continues from the next one.

## Session steering

Construct the executor with a persistent workspace to enable durable
safe-boundary steering:

```python
executor = DBOSExecutor(steering_workspace=workspace)
```

An inbound follow-up for a currently active session is recorded under the
channel event's DBOS workflow ID, then `AgentLoop(on_steer=executor.drain_steering)`
injects it after the current model or tool boundary. Channel retries use the
same workflow ID as normal inbound processing, so they do not generate a
duplicate response.
