Expand description
Client-supplied operation-id resolution.
Commands that advertise supports_op_id: true in the command
catalog accept --op-id <UUID> or HEDDLE_OPERATION_ID. The local
CLI reserves the id before dispatch, records stdout/stderr/exit
status, and replays that recorded result for the same command body.
Reusing the id with different arguments fails with a typed conflict.
Commands that advertise persists_op_id: true may additionally
generate and save an op-id for interrupted retry loops. Current
explicit replay support does not imply generated persistence.
Functions§
- clear_
persisted_ op_ id - Drop the persisted op-id for
verb. Called after a successful response — releases the slot so the next run gets a fresh id rather than replaying. - resolve_
operation_ id - Canonical helper used by every state-changing dispatch arm in
main.rs. Validates the--op-idformat eagerly so a malformed value fails before the verb starts work. - resolve_
or_ persist_ for_ verb - Resolve the op-id for a verb that opts into
^C → re-runpersistence. Order: - run_
local_ idempotency_ if_ requested - supports_
local_ op_ id - wire
- Same as
resolve_operation_idbut returns the wire-string form expected by gRPC requests.""means “no idempotency for this call”.