Versions in this module Expand all Collapse all v0 v0.3.0 Sep 1, 2026 Changes in this version + type CapabilityAwareExecutor struct + func NewCapabilityAwareExecutor(executor effectus.Executor, capSystem *CapabilitySystem, holderID string) *CapabilityAwareExecutor + func (cae *CapabilityAwareExecutor) Do(effect effectus.Effect) (interface{}, error) + func (cae *CapabilityAwareExecutor) DoContext(ctx context.Context, effect effectus.Effect) (interface{}, error) + type CapabilityContext struct + Capability types.Capability + Effect effectus.Effect + Holder string + Key string + Timestamp time.Time + type CapabilitySystem struct + func NewCapabilitySystem() *CapabilitySystem + func (cs *CapabilitySystem) AcquireLock(capability types.Capability, key, holder string) (*LockResult, error) + func (cs *CapabilitySystem) CheckConflicts(effect1, effect2 effectus.Effect, cap1, cap2 types.Capability) bool + func (cs *CapabilitySystem) CleanupExpiredLocks() + func (cs *CapabilitySystem) GetActiveLocks() map[string]LockInfo + func (cs *CapabilitySystem) RegisterResourcePolicy(policy *ResourcePolicy) + func (cs *CapabilitySystem) ValidateCapability(effect effectus.Effect, requiredCapability types.Capability) error + func (cs *CapabilitySystem) ValidateCapabilityForHolder(effect effectus.Effect, requiredCapability types.Capability, holder string) error + type CapabilityValidator interface + Validate func(ctx CapabilityContext) error + type DefaultCapabilityValidator struct + func (dcv *DefaultCapabilityValidator) Validate(ctx CapabilityContext) error + type LockInfo struct + Acquired time.Time + Capability string + Exclusive bool + Expires time.Time + Holder string + Key string + type LockResult struct + ExpiresAt time.Time + FenceToken int64 + FencingStatus invocation.FencingStatus + Guarantee fencing.Guarantee + LockID string + Unlock func() + type ResourcePolicy struct + AllowConcurrent bool + DefaultTimeout time.Duration + MaxConcurrency int + RequiredCapability types.Capability + ResourceType string + Validators []CapabilityValidator + type TimeBasedCapabilityValidator struct + AllowedHours []int + func (tbcv *TimeBasedCapabilityValidator) Validate(ctx CapabilityContext) error