package storage import "github.com/kami/hexis/internal/domain" type Interface interface { Close() error CreateCapability(c *domain.Capability) error GetCapability(id string) (*domain.Capability, error) UpdateCapability(c *domain.Capability) error ListCapabilities(entityID string) ([]*domain.Capability, error) DeleteCapability(id string) error CreateExecution(e *domain.Execution) error GetExecution(id string) (*domain.Execution, error) UpdateExecution(e *domain.Execution) error GetExecutionByIdempotencyKey(key string) (*domain.Execution, error) GetInFlightExecution(capabilityID, targetEntityID string) (*domain.Execution, error) ListExecutions(entityID string, sinceSeq int64, limit int) ([]*domain.Execution, error) CreateConfirmation(c *domain.Confirmation) error GetConfirmation(id string) (*domain.Confirmation, error) UpdateConfirmationState(id string, state domain.ConfirmationState) error AppendEvent(evt *domain.Event) error EventsAfter(seq int64, limit int) ([]*domain.Event, error) LatestSequence() (int64, error) }