Versions in this module Expand all Collapse all v2 v2.3.0 Aug 28, 2026 Changes in this version + var ErrActionExecutionFailed = errors.New("action execution failed") + var ErrActionIndexOutOfBounds = errors.New("workflow action index out of bounds") + var ErrApprovalNoTargets = errors.New("approval action has no resolved targets") + var ErrAssignmentActionNotFound = errors.New("workflow assignment action not found") + var ErrAssignmentCreationFailed = errors.New("failed to create workflow assignment") + var ErrAssignmentNotFound = errors.New("workflow assignment not found") + var ErrAssignmentUpdateFailed = errors.New("failed to update workflow assignment") + var ErrCELCompilationFailed = errors.New("failed to compile CEL") + var ErrCELNilOutput = errors.New("CEL evaluation returned nil output") + var ErrCELProgramCreationFailed = errors.New("failed to create CEL program") + var ErrCELTypeMismatch = errors.New("CEL expression must return boolean") + var ErrConditionFailed = errors.New("condition evaluation failed") + var ErrEvaluationTimeout = errors.New("CEL evaluation timeout") + var ErrExecutorNotAvailable = errors.New("executor is nil") + var ErrFailedToApplyFieldUpdates = errors.New("failed to apply field updates") + var ErrFailedToComputeProposalHash = errors.New("failed to compute proposal hash") + var ErrFailedToCreateAssignmentTarget = errors.New("failed to create assignment target") + var ErrFailedToCreateProposal = errors.New("failed to create workflow proposal inside of proposal manager") + var ErrFailedToEnrichWebhookPayload = errors.New("failed to enrich webhook payload") + var ErrFailedToLoadProposal = errors.New("failed to load proposal") + var ErrFailedToLoadWorkflowDefinition = errors.New("failed to load workflow definition") + var ErrFailedToQueryDefinitions = errors.New("failed to query workflow definitions") + var ErrFailedToQueryObjectRefs = errors.New("failed to query object refs") + var ErrFailedToQueryProposals = errors.New("failed to query proposals") + var ErrFailedToResolveNotificationTarget = errors.New("failed to resolve notification target") + var ErrFailedToResolveTarget = errors.New("failed to resolve target") + var ErrInstanceNotFound = errors.New("workflow instance not found") + var ErrIntegrationOperationCriteriaRequired = errors.New("integration operation name required") + var ErrIntegrationOperationsRequired = errors.New("integration dispatcher required") + var ErrIntegrationOwnerRequired = errors.New("integration action requires instance owner_id") + var ErrIntegrationRegistryRequired = errors.New("integration registry required") + var ErrIntegrationScopeConditionFalse = errors.New("integration scope condition false") + var ErrInvalidActionType = errors.New("invalid action type") + var ErrInvalidState = errors.New("invalid workflow state") + var ErrInvalidTargetType = errors.New("invalid target type") + var ErrMarshalPayload = errors.New("failed to marshal payload") + var ErrMissingObjectRef = errors.New("workflow object ref is required") + var ErrMissingRequiredField = errors.New("missing required field") + var ErrNotificationCreationFailed = errors.New("failed to create notification") + var ErrObjectNil = errors.New("object is nil") + var ErrObjectRefMissingID = errors.New("workflow object ref has no object ID set") + var ErrReviewNoTargets = errors.New("review action has no resolved targets") + var ErrScopeExpressionRequired = errors.New("scope expression is required") + var ErrSendEmailNoRecipients = errors.New("send_email action has no resolved recipients") + var ErrSendEmailRecipientInvalid = errors.New("send_email recipient address invalid") + var ErrSendEmailTemplateNotFound = errors.New("send_email email template not found") + var ErrSendEmailTemplateReferenceConflict = errors.New("send_email template reference conflict") + var ErrSendEmailTemplateRequired = errors.New("send_email action requires emailTemplateId or emailTemplateKey") + var ErrSendEmailUserLookupFailed = errors.New("send_email user lookup failed") + var ErrUnmarshalParams = errors.New("failed to unmarshal action params") + var ErrWebhookFailed = errors.New("webhook request failed") + var ErrWebhookPayloadExpressionFailed = errors.New("webhook payload expression failed") + var ErrWebhookPayloadExpressionInvalid = errors.New("webhook payload expression invalid") + var ErrWebhookPayloadUnsupported = errors.New("webhook payload is not supported; use payload_expr") + var ErrWebhookURLRequired = errors.New("webhook action requires url") + var WorkflowActionCompletedEventTopic = gala.NamespacedTopic[WorkflowActionCompletedPayload](WorkflowCommandTopics, "action_completed") + var WorkflowActionStartedEventTopic = gala.NamespacedTopic[WorkflowActionStartedPayload](WorkflowCommandTopics, "advance") + var WorkflowAssignmentCompletedEventTopic = gala.NamespacedTopic[WorkflowAssignmentCompletedPayload](WorkflowCommandTopics, "assignment_completed") + var WorkflowCommandTopics = gala.Workflow.Child("command") + var WorkflowInstanceCompletedEventTopic = gala.NamespacedTopic[WorkflowInstanceCompletedPayload](WorkflowCommandTopics, "instance_completed") + var WorkflowTriggeredEventTopic = gala.NamespacedTopic[WorkflowTriggeredPayload](WorkflowCommandTopics, "trigger") + func Enabled() bool + func SetDefault(e *WorkflowEngine) + type AssignmentStatusCounts struct + Approved int + ChangesRequested int + ChangesRequestedRequired bool + Pending int + Rejected int + RejectedRequired bool + func CountAssignmentStatus(assignments []*generated.WorkflowAssignment) AssignmentStatusCounts + type CELEvaluator struct + func NewCELEvaluator(env *cel.Env, config *workflows.Config) *CELEvaluator + func (e *CELEvaluator) Evaluate(ctx context.Context, expression string, vars map[string]any) (bool, error) + func (e *CELEvaluator) EvaluateJSONMap(ctx context.Context, expression string, vars map[string]any) (map[string]any, error) + func (e *CELEvaluator) EvaluateValue(ctx context.Context, expression string, vars map[string]any) (any, error) + func (e *CELEvaluator) Validate(expression string) error + type IntegrationDeps struct + Runtime *integrationsruntime.Runtime + type IntegrationQueueRequest struct + Config json.RawMessage + DefinitionID string + ForceClientRebuild bool + InstallationID string + Operation string + OrgID string + RunType enums.IntegrationRunType + ScopeExpression string + ScopePayload json.RawMessage + ScopeResource string + Workflow *types.WorkflowMeta + type IntegrationQueueResult struct + EventID string + RunID string + Status enums.IntegrationRunStatus + type IntegrationScopeEvaluator struct + func NewIntegrationScopeEvaluator() (*IntegrationScopeEvaluator, error) + func (e *IntegrationScopeEvaluator) EvaluateConditionWithVars(ctx context.Context, expr string, vars types.ScopeVars) (bool, error) + func (e *IntegrationScopeEvaluator) Validate(expr string) error + type ProposalManager struct + func NewProposalManager(client *generated.Client) *ProposalManager + func (m *ProposalManager) Apply(scope *observability.Scope, proposalID string, obj *workflows.Object) error + func (m *ProposalManager) ComputeHash(ctx context.Context, instance *generated.WorkflowInstance, ...) (string, error) + func (m *ProposalManager) Create(ctx context.Context, tx *generated.Tx, objRef *generated.WorkflowObjectRef, ...) (*generated.WorkflowProposal, error) + func (m *ProposalManager) LoadForObject(ctx context.Context, obj *workflows.Object) (*generated.WorkflowProposal, error) + type TriggerInput struct + AddedIDs map[string][]string + ChangedEdges []string + ChangedFields []string + ClearedFields []string + EventType string + OldValues map[string]any + ProposedChanges map[string]any + RemovedIDs map[string][]string + func (input *TriggerInput) SetChangeSet(changeSet entityops.ChangeSet) + func (input TriggerInput) ChangeSet() entityops.ChangeSet + type WorkflowActionCompletedPayload struct + ActionIndex int + ActionType enums.WorkflowActionType + ErrorMessage string + InstanceID string + ObjectID string + ObjectType enums.WorkflowObjectType + Skipped bool + Success bool + type WorkflowActionStartedPayload struct + ActionIndex int + ActionType enums.WorkflowActionType + InstanceID string + ObjectID string + ObjectType enums.WorkflowObjectType + type WorkflowAssignmentCompletedPayload struct + AssignmentID string + CompletedBy string + InstanceID string + ObjectID string + ObjectType enums.WorkflowObjectType + Status enums.WorkflowAssignmentStatus + type WorkflowEngine struct + func Default() *WorkflowEngine + func NewWorkflowEngine(client *generated.Client, runtime *gala.Gala, opts ...workflows.ConfigOpts) (*WorkflowEngine, error) + func NewWorkflowEngineWithConfig(client *generated.Client, runtime *gala.Gala, config *workflows.Config) (*WorkflowEngine, error) + func (e *WorkflowEngine) CompleteAssignment(ctx context.Context, assignmentID string, ...) (err error) + func (e *WorkflowEngine) EvaluateActionWhen(ctx context.Context, expression string, instance *generated.WorkflowInstance, ...) (bool, error) + func (e *WorkflowEngine) EvaluateConditions(ctx context.Context, def *generated.WorkflowDefinition, obj *workflows.Object, ...) (bool, error) + func (e *WorkflowEngine) Execute(ctx context.Context, action models.WorkflowAction, ...) error + func (e *WorkflowEngine) FindMatchingDefinitions(ctx context.Context, schemaType string, eventType string, ...) (defs []*generated.WorkflowDefinition, err error) + func (e *WorkflowEngine) ProcessAction(ctx context.Context, instance *generated.WorkflowInstance, ...) error + func (e *WorkflowEngine) QueueIntegrationOperation(ctx context.Context, req IntegrationQueueRequest) (IntegrationQueueResult, error) + func (e *WorkflowEngine) ResolveTargets(ctx context.Context, target workflows.TargetConfig, obj *workflows.Object) ([]string, error) + func (e *WorkflowEngine) SetIntegrationDeps(deps IntegrationDeps) error + func (e *WorkflowEngine) TriggerExistingInstance(ctx context.Context, instance *generated.WorkflowInstance, ...) (err error) + func (e *WorkflowEngine) TriggerWorkflow(ctx context.Context, def *generated.WorkflowDefinition, obj *workflows.Object, ...) (instance *generated.WorkflowInstance, err error) + type WorkflowInstanceCompletedPayload struct + InstanceID string + ObjectID string + ObjectType enums.WorkflowObjectType + State enums.WorkflowInstanceState + type WorkflowListeners struct + func NewWorkflowListeners(client *generated.Client, engine *WorkflowEngine, runtime *gala.Gala) *WorkflowListeners + func (l *WorkflowListeners) HandleActionCompleted(ctx gala.HandlerContext, payload WorkflowActionCompletedPayload) (err error) + func (l *WorkflowListeners) HandleActionStarted(ctx gala.HandlerContext, payload WorkflowActionStartedPayload) (err error) + func (l *WorkflowListeners) HandleAssignmentCompleted(ctx gala.HandlerContext, payload WorkflowAssignmentCompletedPayload) (err error) + func (l *WorkflowListeners) HandleInstanceCompleted(ctx gala.HandlerContext, payload WorkflowInstanceCompletedPayload) (err error) + func (l *WorkflowListeners) HandleWorkflowAssignmentMutationGala(inv entityops.Invocation, payload entityops.MutationPayload) error + func (l *WorkflowListeners) HandleWorkflowMutationGala(inv entityops.Invocation, payload entityops.MutationPayload) error + func (l *WorkflowListeners) HandleWorkflowTriggered(ctx gala.HandlerContext, payload WorkflowTriggeredPayload) (err error) + type WorkflowTriggeredPayload struct + DefinitionID string + InstanceID string + ObjectID string + ObjectType enums.WorkflowObjectType + TriggerChangedFields []string + TriggerEventType string Other modules containing this package github.com/theopenlane/core