Versions in this module Expand all Collapse all v0 v0.1.1 Oct 12, 2026 Changes in this version + var ErrNoExecutor = errors.New("omniworkflow/durable: no executor registered; call NewWorker first") + var ErrNoPendingApproval = errors.New("omniworkflow/durable: no gate awaiting this approval") + type FileStore struct + func NewFileStore(dir string) (*FileStore, error) + func (f *FileStore) List(_ context.Context) ([]Snapshot, error) + func (f *FileStore) Load(_ context.Context, runID string) (Snapshot, bool, error) + func (f *FileStore) Save(_ context.Context, snap Snapshot) error + type MemStore struct + func NewMemStore() *MemStore + func (m *MemStore) List(_ context.Context) ([]Snapshot, error) + func (m *MemStore) Load(_ context.Context, runID string) (Snapshot, bool, error) + func (m *MemStore) Save(_ context.Context, snap Snapshot) error + type Provider struct + func New(store StateStore) *Provider + func (p *Provider) Cancel(_ context.Context, id string) error + func (p *Provider) Get(ctx context.Context, id string) (*omniworkflow.Run, error) + func (p *Provider) NewWorker(executor omniworkflow.StepExecutor) omniworkflow.Worker + func (p *Provider) Signal(_ context.Context, id string, signal omniworkflow.Signal) error + func (p *Provider) Start(ctx context.Context, req omniworkflow.StartRequest) (*omniworkflow.Run, error) + type Snapshot struct + Approved map[string]bool + Failed map[string]bool + Plan omniworkflow.Plan + RunID string + Status omniworkflow.RunStatus + Succeeded map[string]bool + type StateStore interface + List func(ctx context.Context) ([]Snapshot, error) + Load func(ctx context.Context, runID string) (snap Snapshot, ok bool, err error) + Save func(ctx context.Context, snap Snapshot) error