Versions in this module Expand all Collapse all v1 v1.0.5 Aug 22, 2026 v1.0.4 Aug 22, 2026 Changes in this version + var ErrAlreadyLeased = errors.New("target already has a lease") + var ErrIdempotencyConflict = errors.New("worker protocol idempotency key conflicts with an earlier command") + var ErrInvalid = errors.New("worker protocol command is invalid") + var ErrNeedsAttention = errors.New("target recovery needs human attention") + var ErrStaleAttempt = errors.New("worker attempt is stale") + var ErrTerminalReceiptExists = errors.New("attempt already has a terminal receipt") + type AuthoritySnapshot struct + ContextRecordIDs []string + ID string + Permissions []string + Revision string + type CancelCommand struct + AttemptID string + IdempotencyKey string + MachineID string + Reason string + RequestedAt time.Time + TargetID string + type Cancellation struct + AttemptID string + IdempotencyKey string + MachineID string + Reason string + RequestedAt time.Time + TargetID string + type ClaimCommand struct + AttemptID string + ClaimedAt time.Time + ExpiresAt time.Time + IdempotencyKey string + MachineID string + TargetID string + type EnrolledMachine struct + AccountID string + EnrolledAt time.Time + ID string + State MachineState + func (m EnrolledMachine) Validate(at time.Time) error + type ExecutionPins struct + AgentID string + BehaviorRevisionID string + BindingRevisionID string + EffectiveAuthoritySnapshot AuthoritySnapshot + SeatID string + type HeartbeatCommand struct + AttemptID string + ExtendUntil time.Time + MachineID string + ObservedAt time.Time + TargetID string + type HeartbeatResult struct + Directive WorkerDirective + Lease Lease + type Lease struct + AttemptID string + ClaimedAt time.Time + ExpiresAt time.Time + MachineID string + Pins ExecutionPins + State LeaseState + TargetID string + type LeaseState string + const LeaseCancelRequested + const LeaseCanceled + const LeaseClaimed + const LeaseCompleted + const LeaseExpired + const LeaseFailed + const LeaseWorking + type MachineState string + const MachineEnrolled + const MachineRevoked + type Recovery struct + AttemptID string + ExpiresAt time.Time + MachineID string + ObservedAt time.Time + Reason RecoveryReason + TargetID string + type RecoveryReason string + const RecoveryLeaseExpired + type Target struct + func NewTarget(spec TargetSpec) (*Target, error) + func (t *Target) Claim(machine EnrolledMachine, command ClaimCommand) (Lease, error) + func (t *Target) CommitTerminal(receipt TerminalReceipt) (TerminalReceipt, bool, error) + func (t *Target) Heartbeat(command HeartbeatCommand) (HeartbeatResult, error) + func (t *Target) ObserveExpiry(observedAt time.Time) (bool, error) + func (t *Target) RequestCancel(command CancelCommand) (Cancellation, error) + func (t *Target) Snapshot() TargetSnapshot + type TargetSnapshot struct + AccountID string + Cancellation *Cancellation + ID string + Lease *Lease + Pins ExecutionPins + Recovery *Recovery + State TargetState + TerminalReceipt *TerminalReceipt + type TargetSpec struct + AccountID string + ID string + Pins ExecutionPins + type TargetState string + const TargetCancelRequested + const TargetCanceled + const TargetCompleted + const TargetFailed + const TargetLeased + const TargetQueued + const TargetRecoverableNeedsAttention + const TargetWorking + type TerminalReceipt struct + AttemptID string + CommittedAt time.Time + IdempotencyKey string + MachineID string + ResultDigest string + Status TerminalStatus + TargetID string + type TerminalStatus string + const TerminalCanceled + const TerminalCompleted + const TerminalFailed + type WorkerDirective string + const DirectiveCancel + const DirectiveContinue