Rulvar API reference / @rulvar/executor / ToolEffectIntent
Interface: ToolEffectIntent
Defined in: packages/executor/src/spi.ts:62
The pre-dispatch half of a two-phase ledger entry (RV404): everything the executor knows BEFORE the external effect is dispatched, which is exactly the set a host needs to reconcile an orphaned effect with the effect's provider (look the idempotency key up, correlate by tool and argsHash). attemptId is the attempt join key (RV501): the outcome record of the same attempt carries the identical value. startedAt remains the documented legacy join for rows written before the id shipped; a wall-clock millisecond is not unique, which is why the id exists.
Extended by
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
argsHash | string | sha256 of the canonical arguments: correlates without storing them. | packages/executor/src/spi.ts:69 |
attemptId? | string | Unique id of this dispatch ATTEMPT (RV501): the reference executors mint one before the intent row is written and copy it verbatim onto the same attempt's outcome row, so the two phases pair exactly. Optional because rows written before v1.96.0 (and third-party ledgers) may omit it; loadEffectLedger then falls back to the legacy (idempotencyKey, startedAt) join. | packages/executor/src/spi.ts:82 |
executor | IsolatedExecutorTag | - | packages/executor/src/spi.ts:70 |
idempotencyKey | string | The stable per-call idempotency key (createEngine derives it). | packages/executor/src/spi.ts:64 |
runId | string | - | packages/executor/src/spi.ts:65 |
spanId | string | - | packages/executor/src/spi.ts:66 |
startedAt | number | - | packages/executor/src/spi.ts:73 |
tool | string | - | packages/executor/src/spi.ts:67 |
workdir | string | The ephemeral working directory the dispatch runs in. | packages/executor/src/spi.ts:72 |