@open-mercato/core 0.6.2-develop.3400.1.d948268f50 → 0.6.2-develop.3406.1.2b403f40da
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/generated/entities/workflow_definition/index.js +2 -0
- package/dist/generated/entities/workflow_definition/index.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +1 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/sales/workflows.js +180 -0
- package/dist/modules/sales/workflows.js.map +7 -0
- package/dist/modules/workflows/api/definitions/[id]/customize/route.js +172 -0
- package/dist/modules/workflows/api/definitions/[id]/customize/route.js.map +7 -0
- package/dist/modules/workflows/api/definitions/[id]/reset-to-code/route.js +205 -0
- package/dist/modules/workflows/api/definitions/[id]/reset-to-code/route.js.map +7 -0
- package/dist/modules/workflows/api/definitions/[id]/route.js +91 -2
- package/dist/modules/workflows/api/definitions/[id]/route.js.map +2 -2
- package/dist/modules/workflows/api/definitions/route.js +32 -9
- package/dist/modules/workflows/api/definitions/route.js.map +2 -2
- package/dist/modules/workflows/api/definitions/serialize.js +36 -1
- package/dist/modules/workflows/api/definitions/serialize.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.js +161 -52
- package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/page.js +37 -34
- package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +134 -41
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/cli.js +19 -121
- package/dist/modules/workflows/cli.js.map +2 -2
- package/dist/modules/workflows/components/formConfig.js +1 -1
- package/dist/modules/workflows/components/formConfig.js.map +2 -2
- package/dist/modules/workflows/data/entities.js +3 -0
- package/dist/modules/workflows/data/entities.js.map +2 -2
- package/dist/modules/workflows/data/validators.js +2 -2
- package/dist/modules/workflows/data/validators.js.map +2 -2
- package/dist/modules/workflows/events.js +2 -0
- package/dist/modules/workflows/events.js.map +2 -2
- package/dist/modules/workflows/examples/guard-rules-example.json +6 -6
- package/dist/modules/workflows/examples/order-approval-guard-rules.json +2 -2
- package/dist/modules/workflows/frontend/checkout-demo/page.js +4 -4
- package/dist/modules/workflows/frontend/checkout-demo/page.js.map +2 -2
- package/dist/modules/workflows/lib/code-registry.js +40 -0
- package/dist/modules/workflows/lib/code-registry.js.map +7 -0
- package/dist/modules/workflows/lib/find-definition.js +58 -0
- package/dist/modules/workflows/lib/find-definition.js.map +7 -0
- package/dist/modules/workflows/lib/seeds.js +0 -3
- package/dist/modules/workflows/lib/seeds.js.map +2 -2
- package/dist/modules/workflows/lib/start-validator.js +1 -20
- package/dist/modules/workflows/lib/start-validator.js.map +2 -2
- package/dist/modules/workflows/lib/workflow-executor.js +1 -19
- package/dist/modules/workflows/lib/workflow-executor.js.map +2 -2
- package/dist/modules/workflows/migrations/Migration20260414120000.js +13 -0
- package/dist/modules/workflows/migrations/Migration20260414120000.js.map +7 -0
- package/dist/modules/workflows/migrations/Migration20260428102318.js +32 -0
- package/dist/modules/workflows/migrations/Migration20260428102318.js.map +7 -0
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +1 -1
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +1 -1
- package/dist/modules/workflows/workflows.js +260 -0
- package/dist/modules/workflows/workflows.js.map +7 -0
- package/generated/entities/workflow_definition/index.ts +1 -0
- package/generated/entity-fields-registry.ts +1 -0
- package/package.json +7 -7
- package/src/modules/sales/workflows.ts +184 -0
- package/src/modules/workflows/api/definitions/[id]/customize/route.ts +197 -0
- package/src/modules/workflows/api/definitions/[id]/reset-to-code/route.ts +252 -0
- package/src/modules/workflows/api/definitions/[id]/route.ts +108 -4
- package/src/modules/workflows/api/definitions/route.ts +54 -10
- package/src/modules/workflows/api/definitions/serialize.ts +42 -0
- package/src/modules/workflows/backend/definitions/[id]/page.tsx +135 -11
- package/src/modules/workflows/backend/definitions/page.tsx +45 -33
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +222 -97
- package/src/modules/workflows/cli.ts +32 -155
- package/src/modules/workflows/components/formConfig.tsx +2 -2
- package/src/modules/workflows/data/entities.ts +4 -1
- package/src/modules/workflows/data/validators.ts +4 -3
- package/src/modules/workflows/events.ts +2 -0
- package/src/modules/workflows/examples/guard-rules-example.json +6 -6
- package/src/modules/workflows/examples/order-approval-guard-rules.json +2 -2
- package/src/modules/workflows/frontend/checkout-demo/page.tsx +4 -4
- package/src/modules/workflows/i18n/de.json +16 -0
- package/src/modules/workflows/i18n/en.json +16 -0
- package/src/modules/workflows/i18n/es.json +16 -0
- package/src/modules/workflows/i18n/pl.json +16 -0
- package/src/modules/workflows/lib/code-registry.ts +65 -0
- package/src/modules/workflows/lib/find-definition.ts +100 -0
- package/src/modules/workflows/lib/seeds.ts +4 -3
- package/src/modules/workflows/lib/start-validator.ts +2 -35
- package/src/modules/workflows/lib/workflow-executor.ts +2 -39
- package/src/modules/workflows/migrations/.snapshot-open-mercato.json +10 -0
- package/src/modules/workflows/migrations/Migration20260414120000.ts +13 -0
- package/src/modules/workflows/migrations/Migration20260428102318.ts +57 -0
- package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +1 -1
- package/src/modules/workflows/workflows.ts +278 -0
- package/dist/modules/workflows/examples/checkout-demo-definition.json +0 -486
- package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
- package/dist/modules/workflows/examples/simple-approval-definition.json +0 -134
- package/src/modules/workflows/examples/checkout-demo-definition.json +0 -486
- package/src/modules/workflows/examples/order-approval-definition.json +0 -257
- package/src/modules/workflows/examples/simple-approval-definition.json +0 -134
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/modules/workflows/data/validators.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from 'zod'\n\n/**\n * Workflows Module - Zod Validators\n *\n * Comprehensive validation schemas for workflow engine entities.\n */\n\nconst uuid = z.uuid()\n\n// ============================================================================\n// Enum Schemas - Workflow Types and Statuses\n// ============================================================================\n\nexport const workflowStepTypeSchema = z.enum([\n 'START',\n 'END',\n 'USER_TASK',\n 'AUTOMATED',\n 'PARALLEL_FORK',\n 'PARALLEL_JOIN',\n 'SUB_WORKFLOW',\n 'WAIT_FOR_SIGNAL',\n 'WAIT_FOR_TIMER',\n])\nexport type WorkflowStepType = z.infer<typeof workflowStepTypeSchema>\n\nexport const workflowInstanceStatusSchema = z.enum([\n 'RUNNING',\n 'PAUSED',\n 'COMPLETED',\n 'FAILED',\n 'CANCELLED',\n 'COMPENSATING',\n 'COMPENSATED',\n 'WAITING_FOR_ACTIVITIES',\n])\nexport type WorkflowInstanceStatus = z.infer<typeof workflowInstanceStatusSchema>\n\nexport const stepInstanceStatusSchema = z.enum([\n 'PENDING',\n 'ACTIVE',\n 'COMPLETED',\n 'FAILED',\n 'SKIPPED',\n 'CANCELLED',\n])\nexport type StepInstanceStatus = z.infer<typeof stepInstanceStatusSchema>\n\nexport const userTaskStatusSchema = z.enum([\n 'PENDING',\n 'IN_PROGRESS',\n 'COMPLETED',\n 'CANCELLED',\n 'ESCALATED',\n])\nexport type UserTaskStatus = z.infer<typeof userTaskStatusSchema>\n\nexport const transitionTriggerSchema = z.enum(['auto', 'manual', 'signal', 'timer'])\nexport type TransitionTrigger = z.infer<typeof transitionTriggerSchema>\n\nexport const activityTypeSchema = z.enum([\n 'SEND_EMAIL',\n 'CALL_API',\n 'UPDATE_ENTITY',\n 'EMIT_EVENT',\n 'CALL_WEBHOOK',\n 'EXECUTE_FUNCTION',\n 'WAIT',\n])\nexport type ActivityType = z.infer<typeof activityTypeSchema>\n\nexport const escalationTriggerSchema = z.enum(['sla_breach', 'no_progress', 'custom'])\nexport type EscalationTrigger = z.infer<typeof escalationTriggerSchema>\n\nexport const escalationActionSchema = z.enum(['reassign', 'notify', 'escalate'])\nexport type EscalationAction = z.infer<typeof escalationActionSchema>\n\n// ============================================================================\n// Complex Object Schemas - Workflow Definition Components\n// ============================================================================\n\n// User task configuration\nexport const userTaskConfigSchema = z.object({\n // Support both custom fields array format and JSON Schema format\n formSchema: z.union([\n // Custom format with fields array\n z.object({\n fields: z.array(z.object({\n name: z.string().min(1),\n type: z.string().min(1),\n label: z.string().min(1),\n required: z.boolean().optional(),\n options: z.array(z.any()).optional(),\n }))\n }),\n // JSON Schema format with properties\n z.object({\n type: z.literal('object').optional(),\n properties: z.record(z.string(), z.any()),\n required: z.array(z.string()).optional(),\n }),\n ]).optional(),\n assignedTo: z.union([\n z.string(),\n z.array(z.string()),\n ]).optional(),\n assignmentRule: z.string().optional(), // Business rule ID\n slaDuration: z.string().optional(), // ISO 8601 duration\n escalationRules: z.array(z.object({\n trigger: escalationTriggerSchema,\n action: escalationActionSchema,\n escalateTo: z.string().optional(),\n notifyUsers: z.array(z.string()).optional(),\n })).optional(),\n})\n\n// Sub-workflow configuration (Phase 8)\nexport const subWorkflowConfigSchema = z.object({\n subWorkflowId: z.string().min(1, 'Sub-workflow ID is required'),\n version: z.number().int().positive().optional(),\n inputMapping: z.record(z.string(), z.string()).optional(),\n outputMapping: z.record(z.string(), z.string()).optional(),\n timeoutMs: z.number().int().positive().optional(),\n})\n\n// CALL_API activity configuration\nexport const callApiConfigSchema = z.object({\n endpoint: z.string().min(1, 'API endpoint is required'),\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']).default('GET'),\n headers: z.record(z.string(), z.string()).optional(),\n body: z.any().optional(),\n validateTenantMatch: z.boolean().default(true).optional(),\n timeout: z.number().int().positive().optional(),\n})\n\nexport const callWebhookConfigSchema = z.object({\n url: z.string().min(1, 'Webhook URL is required'),\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).default('POST'),\n headers: z.record(z.string(), z.string()).optional(),\n body: z.any().optional(),\n})\nexport type CallWebhookConfig = z.infer<typeof callWebhookConfigSchema>\n\n// Retry policy\nexport const retryPolicySchema = z.object({\n maxAttempts: z.number().int().min(1).max(10),\n backoffMs: z.number().int().min(0),\n})\n\n// Activity retry policy (more detailed)\nexport const activityRetryPolicySchema = z.object({\n maxAttempts: z.number().int().min(1).max(10),\n initialIntervalMs: z.number().int().min(0),\n backoffCoefficient: z.number().min(1).max(10),\n maxIntervalMs: z.number().int().min(0),\n})\n\n// Activity definition (embedded in transitions)\nexport const activityDefinitionSchema = z.object({\n activityId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Activity ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n activityName: z.string().min(1).max(255),\n activityType: activityTypeSchema,\n config: z.record(z.string(), z.any()),\n async: z.boolean().default(false).optional(), // For Phase 8.3\n retryPolicy: activityRetryPolicySchema.optional(),\n timeout: z.string().optional(), // ISO 8601 duration\n compensation: z.object({\n activityId: z.string().min(1), // ID of compensation activity\n automatic: z.boolean().default(true).optional() // Auto-trigger on failure\n }).optional(), // Compensation configuration (Phase 8.2)\n})\n\n// Localized validation message schema (for START step pre-conditions)\nexport const localizedMessageSchema = z.record(z.string(), z.string())\n\n// START step pre-condition schema (with optional localized validation messages)\nexport const startPreConditionSchema = z.object({\n ruleId: z.string().min(1).max(50), // Business rule ID\n required: z.boolean().default(true),\n validationMessage: localizedMessageSchema.optional(), // Optional localized error messages\n})\n\nexport type StartPreCondition = z.infer<typeof startPreConditionSchema>\n\n// Step definition\nexport const workflowStepSchema = z.object({\n stepId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Step ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n stepName: z.string().min(1).max(255),\n stepType: workflowStepTypeSchema,\n description: z.string().max(1000).optional(),\n config: z.record(z.string(), z.any()).optional(),\n userTaskConfig: userTaskConfigSchema.optional(),\n subWorkflowConfig: subWorkflowConfigSchema.optional(),\n signalConfig: z.object({\n signalName: z.string().min(1),\n timeout: z.string().optional(),\n }).optional(),\n activities: z.array(activityDefinitionSchema).optional(),\n timeout: z.string().optional(), // ISO 8601 duration\n retryPolicy: retryPolicySchema.optional(),\n // Pre-conditions for START step (business rules to validate before workflow can be started)\n preConditions: z.array(startPreConditionSchema).optional(),\n})\n\n// Transition condition (reference to business rule)\nexport const transitionConditionSchema = z.object({\n ruleId: z.string().min(1).max(50), // Business rule ID\n required: z.boolean().default(true),\n})\n\n// Transition definition\nexport const workflowTransitionSchema = z.object({\n transitionId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Transition ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n fromStepId: z.string().min(1).max(100),\n toStepId: z.string().min(1).max(100),\n transitionName: z.string().max(255).optional(),\n trigger: transitionTriggerSchema,\n preConditions: z.array(transitionConditionSchema).optional(),\n postConditions: z.array(transitionConditionSchema).optional(),\n activities: z.array(activityDefinitionSchema).optional(), // Activities to execute during transition\n continueOnActivityFailure: z.boolean().default(false).optional(), // If true, transition continues even when activities fail\n priority: z.number().int().min(0).max(9999).default(0),\n})\n\n// Workflow definition trigger schema (embedded in definition)\n// Note: Uses forward reference pattern since eventPatternSchema and eventTriggerConfigSchema are defined later\nexport const workflowDefinitionTriggerSchema = z.object({\n triggerId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Trigger ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n eventPattern: z.string()\n .min(1, 'Event pattern is required')\n .max(255, 'Event pattern must be at most 255 characters')\n .regex(\n /^(\\*|[a-z0-9_]+(\\.[a-z0-9_*]+)*)$/i,\n 'Event pattern must be \"*\" or a dot-separated pattern with optional wildcards (e.g., \"customers.people.created\", \"sales.orders.*\")'\n ),\n config: z.object({\n filterConditions: z.array(z.object({\n field: z.string().min(1).max(255),\n operator: z.enum(['eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'contains', 'startsWith', 'endsWith', 'in', 'notIn', 'exists', 'notExists', 'regex']),\n value: z.any(),\n })).max(20).optional(),\n contextMapping: z.array(z.object({\n targetKey: z.string().min(1).max(100),\n sourceExpression: z.string().min(1).max(255),\n defaultValue: z.any().optional(),\n })).max(50).optional(),\n debounceMs: z.number().int().min(0).max(3600000).optional(),\n maxConcurrentInstances: z.number().int().min(1).max(1000).optional(),\n }).optional().nullable(),\n enabled: z.boolean().default(true),\n priority: z.number().int().min(0).max(9999).default(0),\n})\nexport type WorkflowDefinitionTrigger = z.infer<typeof workflowDefinitionTriggerSchema>\n\n// Workflow definition data (JSONB structure)\nexport const workflowDefinitionDataSchema = z.object({\n steps: z.array(workflowStepSchema).min(2, 'Workflow must have at least START and END steps'),\n transitions: z.array(workflowTransitionSchema).min(1, 'Workflow must have at least one transition'),\n triggers: z.array(workflowDefinitionTriggerSchema).optional(), // Event triggers for automatic workflow start\n queries: z.array(z.any()).optional(), // For Phase 7\n signals: z.array(z.any()).optional(), // For Phase 9\n timers: z.array(z.any()).optional(), // For Phase 9\n})\n\n// Workflow metadata\nexport const workflowMetadataSchema = z.object({\n tags: z.array(z.string().max(50)).optional(),\n category: z.string().max(100).optional(),\n icon: z.string().max(100).optional(),\n})\n\n// Date preprocessing helper\nconst dateOrNull = z.preprocess((value) => {\n if (value === undefined || value === null || value === '') return null\n const date = value instanceof Date ? value : new Date(String(value))\n return Number.isNaN(date.getTime()) ? null : date\n}, z.date().nullable())\n\n// ============================================================================\n// WorkflowDefinition Schemas\n// ============================================================================\n\n// Full schema for database entities (includes tenant fields)\nexport const createWorkflowDefinitionSchema = z.object({\n workflowId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Workflow ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n workflowName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().default(1),\n definition: workflowDefinitionDataSchema,\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().default(true),\n effectiveFrom: dateOrNull.optional(),\n effectiveTo: dateOrNull.optional(),\n tenantId: uuid,\n organizationId: uuid,\n createdBy: z.string().max(255).optional().nullable(),\n})\n\nexport type CreateWorkflowDefinitionInput = z.infer<typeof createWorkflowDefinitionSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const createWorkflowDefinitionInputSchema = z.object({\n workflowId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Workflow ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n workflowName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().default(1),\n definition: workflowDefinitionDataSchema,\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().default(true).optional(),\n})\n\nexport type CreateWorkflowDefinitionApiInput = z.infer<typeof createWorkflowDefinitionInputSchema>\n\nexport const updateWorkflowDefinitionSchema = createWorkflowDefinitionSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateWorkflowDefinitionInput = z.infer<typeof updateWorkflowDefinitionSchema>\n\n// API update schema (omits tenant fields and allows partial updates)\n// Accepts the same shape as the create form so the edit page can submit a\n// full payload without triggering \"Unrecognized keys\" validation errors.\n// workflowId and version are accepted but ignored by the route handler.\nexport const updateWorkflowDefinitionInputSchema = z.object({\n workflowId: z.string().min(1).max(100).optional(),\n workflowName: z.string().min(1).max(255).optional(),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().optional(),\n definition: workflowDefinitionDataSchema.optional(),\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().optional(),\n effectiveFrom: dateOrNull.optional(),\n effectiveTo: dateOrNull.optional(),\n}).strict()\n\nexport type UpdateWorkflowDefinitionApiInput = z.infer<typeof updateWorkflowDefinitionInputSchema>\n\nexport const workflowDefinitionFilterSchema = z.object({\n workflowId: z.string().optional(),\n workflowName: z.string().optional(),\n enabled: z.boolean().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type WorkflowDefinitionFilter = z.infer<typeof workflowDefinitionFilterSchema>\n\n// ============================================================================\n// WorkflowInstance Schemas\n// ============================================================================\n\nexport const workflowInstanceMetadataSchema = z.object({\n entityType: z.string().max(100).optional(),\n entityId: z.string().max(255).optional(),\n initiatedBy: z.string().max(255).optional(),\n labels: z.record(z.string(), z.string()).optional(),\n})\n\nexport const createWorkflowInstanceSchema = z.object({\n definitionId: uuid,\n workflowId: z.string().min(1).max(100),\n version: z.number().int().positive(),\n status: workflowInstanceStatusSchema,\n currentStepId: z.string().min(1).max(100),\n context: z.record(z.string(), z.any()),\n correlationKey: z.string().max(255).optional().nullable(),\n metadata: workflowInstanceMetadataSchema.optional().nullable(),\n startedAt: z.coerce.date(),\n completedAt: dateOrNull.optional(),\n pausedAt: dateOrNull.optional(),\n cancelledAt: dateOrNull.optional(),\n errorMessage: z.string().max(5000).optional().nullable(),\n errorDetails: z.any().optional().nullable(),\n retryCount: z.number().int().min(0).default(0),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateWorkflowInstanceInput = z.infer<typeof createWorkflowInstanceSchema>\n\nexport const updateWorkflowInstanceSchema = createWorkflowInstanceSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateWorkflowInstanceInput = z.infer<typeof updateWorkflowInstanceSchema>\n\nexport const workflowInstanceFilterSchema = z.object({\n definitionId: uuid.optional(),\n workflowId: z.string().optional(),\n status: workflowInstanceStatusSchema.optional(),\n correlationKey: z.string().optional(),\n currentStepId: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type WorkflowInstanceFilter = z.infer<typeof workflowInstanceFilterSchema>\n\n// ============================================================================\n// StepInstance Schemas\n// ============================================================================\n\nexport const createStepInstanceSchema = z.object({\n workflowInstanceId: uuid,\n stepId: z.string().min(1).max(100),\n stepName: z.string().min(1).max(255),\n stepType: z.string().min(1).max(50),\n status: stepInstanceStatusSchema,\n inputData: z.any().optional().nullable(),\n outputData: z.any().optional().nullable(),\n errorData: z.any().optional().nullable(),\n enteredAt: dateOrNull.optional(),\n exitedAt: dateOrNull.optional(),\n executionTimeMs: z.number().int().min(0).optional().nullable(),\n retryCount: z.number().int().min(0).default(0),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateStepInstanceInput = z.infer<typeof createStepInstanceSchema>\n\nexport const updateStepInstanceSchema = createStepInstanceSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateStepInstanceInput = z.infer<typeof updateStepInstanceSchema>\n\nexport const stepInstanceFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n stepId: z.string().optional(),\n status: stepInstanceStatusSchema.optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type StepInstanceFilter = z.infer<typeof stepInstanceFilterSchema>\n\n// ============================================================================\n// UserTask Schemas\n// ============================================================================\n\nexport const createUserTaskSchema = z.object({\n workflowInstanceId: uuid,\n stepInstanceId: uuid,\n taskName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n status: userTaskStatusSchema,\n formSchema: z.any().optional().nullable(),\n formData: z.any().optional().nullable(),\n assignedTo: z.string().max(255).optional().nullable(),\n assignedToRoles: z.array(z.string().max(100)).optional().nullable(),\n claimedBy: z.string().max(255).optional().nullable(),\n claimedAt: dateOrNull.optional(),\n dueDate: dateOrNull.optional(),\n escalatedAt: dateOrNull.optional(),\n escalatedTo: z.string().max(255).optional().nullable(),\n completedBy: z.string().max(255).optional().nullable(),\n completedAt: dateOrNull.optional(),\n comments: z.string().max(5000).optional().nullable(),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateUserTaskInput = z.infer<typeof createUserTaskSchema>\n\nexport const updateUserTaskSchema = createUserTaskSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateUserTaskInput = z.infer<typeof updateUserTaskSchema>\n\nexport const userTaskFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n status: userTaskStatusSchema.optional(),\n assignedTo: z.string().optional(),\n claimedBy: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type UserTaskFilter = z.infer<typeof userTaskFilterSchema>\n\n// ============================================================================\n// WorkflowEvent Schemas\n// ============================================================================\n\nexport const createWorkflowEventSchema = z.object({\n workflowInstanceId: uuid,\n stepInstanceId: uuid.optional().nullable(),\n eventType: z.string().min(1).max(50),\n eventData: z.any(),\n occurredAt: z.coerce.date().optional(),\n userId: z.string().max(255).optional().nullable(),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateWorkflowEventInput = z.infer<typeof createWorkflowEventSchema>\n\nexport const workflowEventFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n stepInstanceId: uuid.optional(),\n eventType: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n occurredAtFrom: z.date().optional(),\n occurredAtTo: z.date().optional(),\n})\n\nexport type WorkflowEventFilter = z.infer<typeof workflowEventFilterSchema>\n\n// ============================================================================\n// Workflow Execution Context Schema\n// ============================================================================\n\nexport const workflowExecutionContextSchema = z.looseObject({\n workflowId: z.string().min(1),\n version: z.number().int().positive().optional(),\n correlationKey: z.string().optional(),\n context: z.record(z.string(), z.any()).optional(),\n metadata: workflowInstanceMetadataSchema.optional(),\n tenantId: z.uuid('tenantId must be a valid UUID'),\n organizationId: z.uuid('organizationId must be a valid UUID'),\n initiatedBy: z.string().optional(),\n})\n\nexport type WorkflowExecutionContextInput = z.infer<typeof workflowExecutionContextSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const startWorkflowInputSchema = z.object({\n workflowId: z.string().min(1),\n version: z.number().int().positive().optional(),\n correlationKey: z.string().optional(),\n initialContext: z.record(z.string(), z.any()).optional(),\n metadata: workflowInstanceMetadataSchema.optional(),\n})\n\nexport type StartWorkflowApiInput = z.infer<typeof startWorkflowInputSchema>\n\n// ============================================================================\n// WorkflowEventTrigger Schemas\n// ============================================================================\n\nexport const triggerFilterOperatorSchema = z.enum([\n 'eq',\n 'neq',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'startsWith',\n 'endsWith',\n 'in',\n 'notIn',\n 'exists',\n 'notExists',\n 'regex',\n])\nexport type TriggerFilterOperator = z.infer<typeof triggerFilterOperatorSchema>\n\nexport const triggerFilterConditionSchema = z.object({\n field: z.string().min(1).max(255, 'Field path must be at most 255 characters'),\n operator: triggerFilterOperatorSchema,\n value: z.any(),\n})\nexport type TriggerFilterCondition = z.infer<typeof triggerFilterConditionSchema>\n\nexport const triggerContextMappingSchema = z.object({\n targetKey: z.string().min(1).max(100, 'Target key must be at most 100 characters'),\n sourceExpression: z.string().min(1).max(255, 'Source expression must be at most 255 characters'),\n defaultValue: z.any().optional(),\n})\nexport type TriggerContextMapping = z.infer<typeof triggerContextMappingSchema>\n\nexport const eventTriggerConfigSchema = z.object({\n filterConditions: z.array(triggerFilterConditionSchema).max(20, 'Maximum 20 filter conditions allowed').optional(),\n contextMapping: z.array(triggerContextMappingSchema).max(50, 'Maximum 50 context mappings allowed').optional(),\n debounceMs: z.number().int().min(0).max(3600000, 'Debounce cannot exceed 1 hour').optional(),\n maxConcurrentInstances: z.number().int().min(1).max(1000, 'Max concurrent instances must be between 1 and 1000').optional(),\n})\nexport type EventTriggerConfig = z.infer<typeof eventTriggerConfigSchema>\n\nexport const eventPatternSchema = z.string()\n .min(1, 'Event pattern is required')\n .max(255, 'Event pattern must be at most 255 characters')\n .regex(\n /^(\\*|[a-z0-9_]+(\\.[a-z0-9_*]+)*)$/i,\n 'Event pattern must be \"*\" or a dot-separated pattern with optional wildcards (e.g., \"customers.people.created\", \"sales.orders.*\")'\n )\n\nexport const createEventTriggerSchema = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid,\n eventPattern: eventPatternSchema,\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().default(true),\n priority: z.number().int().min(0).max(9999).default(0),\n tenantId: uuid,\n organizationId: uuid,\n createdBy: z.string().max(255).optional().nullable(),\n})\nexport type CreateEventTriggerInput = z.infer<typeof createEventTriggerSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const createEventTriggerInputSchema = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid,\n eventPattern: eventPatternSchema,\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().default(true).optional(),\n priority: z.number().int().min(0).max(9999).default(0).optional(),\n})\nexport type CreateEventTriggerApiInput = z.infer<typeof createEventTriggerInputSchema>\n\nexport const updateEventTriggerSchema = createEventTriggerSchema.partial().extend({\n id: uuid,\n})\nexport type UpdateEventTriggerInput = z.infer<typeof updateEventTriggerSchema>\n\n// API update schema (omits tenant fields and allows partial updates)\nexport const updateEventTriggerInputSchema = z.object({\n name: z.string().min(1).max(255).optional(),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid.optional(),\n eventPattern: eventPatternSchema.optional(),\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().optional(),\n priority: z.number().int().min(0).max(9999).optional(),\n}).strict()\nexport type UpdateEventTriggerApiInput = z.infer<typeof updateEventTriggerInputSchema>\n\nexport const eventTriggerFilterSchema = z.object({\n name: z.string().optional(),\n workflowDefinitionId: uuid.optional(),\n eventPattern: z.string().optional(),\n enabled: z.boolean().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\nexport type EventTriggerFilter = z.infer<typeof eventTriggerFilterSchema>\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { z } from 'zod'\n\n/**\n * Workflows Module - Zod Validators\n *\n * Comprehensive validation schemas for workflow engine entities.\n */\n\nconst uuid = z.uuid()\n\n// ============================================================================\n// Enum Schemas - Workflow Types and Statuses\n// ============================================================================\n\nexport const workflowStepTypeSchema = z.enum([\n 'START',\n 'END',\n 'USER_TASK',\n 'AUTOMATED',\n 'PARALLEL_FORK',\n 'PARALLEL_JOIN',\n 'SUB_WORKFLOW',\n 'WAIT_FOR_SIGNAL',\n 'WAIT_FOR_TIMER',\n])\nexport type WorkflowStepType = z.infer<typeof workflowStepTypeSchema>\n\nexport const workflowInstanceStatusSchema = z.enum([\n 'RUNNING',\n 'PAUSED',\n 'COMPLETED',\n 'FAILED',\n 'CANCELLED',\n 'COMPENSATING',\n 'COMPENSATED',\n 'WAITING_FOR_ACTIVITIES',\n])\nexport type WorkflowInstanceStatus = z.infer<typeof workflowInstanceStatusSchema>\n\nexport const stepInstanceStatusSchema = z.enum([\n 'PENDING',\n 'ACTIVE',\n 'COMPLETED',\n 'FAILED',\n 'SKIPPED',\n 'CANCELLED',\n])\nexport type StepInstanceStatus = z.infer<typeof stepInstanceStatusSchema>\n\nexport const userTaskStatusSchema = z.enum([\n 'PENDING',\n 'IN_PROGRESS',\n 'COMPLETED',\n 'CANCELLED',\n 'ESCALATED',\n])\nexport type UserTaskStatus = z.infer<typeof userTaskStatusSchema>\n\nexport const transitionTriggerSchema = z.enum(['auto', 'manual', 'signal', 'timer'])\nexport type TransitionTrigger = z.infer<typeof transitionTriggerSchema>\n\nexport const activityTypeSchema = z.enum([\n 'SEND_EMAIL',\n 'CALL_API',\n 'UPDATE_ENTITY',\n 'EMIT_EVENT',\n 'CALL_WEBHOOK',\n 'EXECUTE_FUNCTION',\n 'WAIT',\n])\nexport type ActivityType = z.infer<typeof activityTypeSchema>\n\nexport const escalationTriggerSchema = z.enum(['sla_breach', 'no_progress', 'custom'])\nexport type EscalationTrigger = z.infer<typeof escalationTriggerSchema>\n\nexport const escalationActionSchema = z.enum(['reassign', 'notify', 'escalate'])\nexport type EscalationAction = z.infer<typeof escalationActionSchema>\n\n// ============================================================================\n// Complex Object Schemas - Workflow Definition Components\n// ============================================================================\n\n// User task configuration\nexport const userTaskConfigSchema = z.object({\n // Support both custom fields array format and JSON Schema format\n formSchema: z.union([\n // Custom format with fields array\n z.object({\n fields: z.array(z.object({\n name: z.string().min(1),\n type: z.string().min(1),\n label: z.string().min(1),\n required: z.boolean().optional(),\n options: z.array(z.any()).optional(),\n }))\n }),\n // JSON Schema format with properties\n z.object({\n type: z.literal('object').optional(),\n properties: z.record(z.string(), z.any()),\n required: z.array(z.string()).optional(),\n }),\n ]).optional(),\n assignedTo: z.union([\n z.string(),\n z.array(z.string()),\n ]).optional(),\n assignmentRule: z.string().optional(), // Business rule ID\n slaDuration: z.string().optional(), // ISO 8601 duration\n escalationRules: z.array(z.object({\n trigger: escalationTriggerSchema,\n action: escalationActionSchema,\n escalateTo: z.string().optional(),\n notifyUsers: z.array(z.string()).optional(),\n })).optional(),\n})\n\n// Sub-workflow configuration (Phase 8)\nexport const subWorkflowConfigSchema = z.object({\n subWorkflowId: z.string().min(1, 'Sub-workflow ID is required'),\n version: z.number().int().positive().optional(),\n inputMapping: z.record(z.string(), z.string()).optional(),\n outputMapping: z.record(z.string(), z.string()).optional(),\n timeoutMs: z.number().int().positive().optional(),\n})\n\n// CALL_API activity configuration\nexport const callApiConfigSchema = z.object({\n endpoint: z.string().min(1, 'API endpoint is required'),\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']).default('GET'),\n headers: z.record(z.string(), z.string()).optional(),\n body: z.any().optional(),\n validateTenantMatch: z.boolean().default(true).optional(),\n timeout: z.number().int().positive().optional(),\n})\n\nexport const callWebhookConfigSchema = z.object({\n url: z.string().min(1, 'Webhook URL is required'),\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).default('POST'),\n headers: z.record(z.string(), z.string()).optional(),\n body: z.any().optional(),\n})\nexport type CallWebhookConfig = z.infer<typeof callWebhookConfigSchema>\n\n// Retry policy\nexport const retryPolicySchema = z.object({\n maxAttempts: z.number().int().min(1).max(10),\n backoffMs: z.number().int().min(0),\n})\n\n// Activity retry policy (more detailed)\nexport const activityRetryPolicySchema = z.object({\n maxAttempts: z.number().int().min(1).max(10),\n initialIntervalMs: z.number().int().min(0),\n backoffCoefficient: z.number().min(1).max(10),\n maxIntervalMs: z.number().int().min(0),\n})\n\n// Activity definition (embedded in transitions)\nexport const activityDefinitionSchema = z.object({\n activityId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Activity ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n activityName: z.string().min(1).max(255),\n activityType: activityTypeSchema,\n config: z.record(z.string(), z.any()),\n async: z.boolean().default(false).optional(), // For Phase 8.3\n retryPolicy: activityRetryPolicySchema.optional(),\n timeout: z.string().optional(), // ISO 8601 duration\n compensation: z.object({\n activityId: z.string().min(1), // ID of compensation activity\n automatic: z.boolean().default(true).optional() // Auto-trigger on failure\n }).optional(), // Compensation configuration (Phase 8.2)\n})\n\n// Localized validation message schema (for START step pre-conditions)\nexport const localizedMessageSchema = z.record(z.string(), z.string())\n\n// START step pre-condition schema (with optional localized validation messages)\nexport const startPreConditionSchema = z.object({\n ruleId: z.string().min(1).max(50), // Business rule ID\n required: z.boolean().default(true),\n validationMessage: localizedMessageSchema.optional(), // Optional localized error messages\n})\n\nexport type StartPreCondition = z.infer<typeof startPreConditionSchema>\n\n// Step definition\nexport const workflowStepSchema = z.object({\n stepId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Step ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n stepName: z.string().min(1).max(255),\n stepType: workflowStepTypeSchema,\n description: z.string().max(1000).optional(),\n config: z.record(z.string(), z.any()).optional(),\n userTaskConfig: userTaskConfigSchema.optional(),\n subWorkflowConfig: subWorkflowConfigSchema.optional(),\n signalConfig: z.object({\n signalName: z.string().min(1),\n timeout: z.string().optional(),\n }).optional(),\n activities: z.array(activityDefinitionSchema).optional(),\n timeout: z.string().optional(), // ISO 8601 duration\n retryPolicy: retryPolicySchema.optional(),\n // Pre-conditions for START step (business rules to validate before workflow can be started)\n preConditions: z.array(startPreConditionSchema).optional(),\n})\n\n// Transition condition (reference to business rule)\nexport const transitionConditionSchema = z.object({\n ruleId: z.string().min(1).max(50), // Business rule ID\n required: z.boolean().default(true),\n})\n\n// Transition definition\nexport const workflowTransitionSchema = z.object({\n transitionId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Transition ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n fromStepId: z.string().min(1).max(100),\n toStepId: z.string().min(1).max(100),\n transitionName: z.string().max(255).optional(),\n trigger: transitionTriggerSchema,\n preConditions: z.array(transitionConditionSchema).optional(),\n postConditions: z.array(transitionConditionSchema).optional(),\n activities: z.array(activityDefinitionSchema).optional(), // Activities to execute during transition\n continueOnActivityFailure: z.boolean().default(false).optional(), // If true, transition continues even when activities fail\n priority: z.number().int().min(0).max(9999).default(0),\n})\n\n// Workflow definition trigger schema (embedded in definition)\n// Note: Uses forward reference pattern since eventPatternSchema and eventTriggerConfigSchema are defined later\nexport const workflowDefinitionTriggerSchema = z.object({\n triggerId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, 'Trigger ID must contain only lowercase letters, numbers, hyphens, and underscores'),\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n eventPattern: z.string()\n .min(1, 'Event pattern is required')\n .max(255, 'Event pattern must be at most 255 characters')\n .regex(\n /^(\\*|[a-z0-9_]+(\\.[a-z0-9_*]+)*)$/i,\n 'Event pattern must be \"*\" or a dot-separated pattern with optional wildcards (e.g., \"customers.people.created\", \"sales.orders.*\")'\n ),\n config: z.object({\n filterConditions: z.array(z.object({\n field: z.string().min(1).max(255),\n operator: z.enum(['eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'contains', 'startsWith', 'endsWith', 'in', 'notIn', 'exists', 'notExists', 'regex']),\n value: z.any(),\n })).max(20).optional(),\n contextMapping: z.array(z.object({\n targetKey: z.string().min(1).max(100),\n sourceExpression: z.string().min(1).max(255),\n defaultValue: z.any().optional(),\n })).max(50).optional(),\n debounceMs: z.number().int().min(0).max(3600000).optional(),\n maxConcurrentInstances: z.number().int().min(1).max(1000).optional(),\n }).optional().nullable(),\n enabled: z.boolean().default(true),\n priority: z.number().int().min(0).max(9999).default(0),\n})\nexport type WorkflowDefinitionTrigger = z.infer<typeof workflowDefinitionTriggerSchema>\n\n// Workflow definition data (JSONB structure)\nexport const workflowDefinitionDataSchema = z.object({\n steps: z.array(workflowStepSchema).min(2, 'Workflow must have at least START and END steps'),\n transitions: z.array(workflowTransitionSchema).min(1, 'Workflow must have at least one transition'),\n triggers: z.array(workflowDefinitionTriggerSchema).optional(), // Event triggers for automatic workflow start\n queries: z.array(z.any()).optional(), // For Phase 7\n signals: z.array(z.any()).optional(), // For Phase 9\n timers: z.array(z.any()).optional(), // For Phase 9\n})\n\n// Workflow metadata\nexport const workflowMetadataSchema = z.object({\n tags: z.array(z.string().max(50)).optional(),\n category: z.string().max(100).optional(),\n icon: z.string().max(100).optional(),\n})\n\n// Date preprocessing helper\nconst dateOrNull = z.preprocess((value) => {\n if (value === undefined || value === null || value === '') return null\n const date = value instanceof Date ? value : new Date(String(value))\n return Number.isNaN(date.getTime()) ? null : date\n}, z.date().nullable())\n\n// ============================================================================\n// WorkflowDefinition Schemas\n// ============================================================================\n\n// Full schema for database entities (includes tenant fields)\nexport const createWorkflowDefinitionSchema = z.object({\n workflowId: z.string().min(1).max(100).regex(/^[a-z0-9._-]+$/, 'Workflow ID must contain only lowercase letters, numbers, dots, hyphens, and underscores'),\n workflowName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().default(1),\n definition: workflowDefinitionDataSchema,\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().default(true),\n effectiveFrom: dateOrNull.optional(),\n effectiveTo: dateOrNull.optional(),\n tenantId: uuid,\n organizationId: uuid,\n createdBy: z.string().max(255).optional().nullable(),\n})\n\nexport type CreateWorkflowDefinitionInput = z.infer<typeof createWorkflowDefinitionSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const createWorkflowDefinitionInputSchema = z.object({\n workflowId: z.string().min(1).max(100).regex(/^[a-z0-9._-]+$/, 'Workflow ID must contain only lowercase letters, numbers, dots, hyphens, and underscores'),\n workflowName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().default(1),\n definition: workflowDefinitionDataSchema,\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().default(true).optional(),\n})\n\nexport type CreateWorkflowDefinitionApiInput = z.infer<typeof createWorkflowDefinitionInputSchema>\n\nexport const updateWorkflowDefinitionSchema = createWorkflowDefinitionSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateWorkflowDefinitionInput = z.infer<typeof updateWorkflowDefinitionSchema>\n\n// API update schema (omits tenant fields and allows partial updates)\n// Accepts the same shape as the create form so the edit page can submit a\n// full payload without triggering \"Unrecognized keys\" validation errors.\n// workflowId is accepted but ignored by the route handler (it identifies the\n// row); version is applied when supplied so the form can bump it explicitly.\nexport const updateWorkflowDefinitionInputSchema = z.object({\n workflowId: z.string().min(1).max(100).optional(),\n workflowName: z.string().min(1).max(255).optional(),\n description: z.string().max(2000).optional().nullable(),\n version: z.number().int().positive().optional(),\n definition: workflowDefinitionDataSchema.optional(),\n metadata: workflowMetadataSchema.optional().nullable(),\n enabled: z.boolean().optional(),\n effectiveFrom: dateOrNull.optional(),\n effectiveTo: dateOrNull.optional(),\n}).strict()\n\nexport type UpdateWorkflowDefinitionApiInput = z.infer<typeof updateWorkflowDefinitionInputSchema>\n\nexport const workflowDefinitionFilterSchema = z.object({\n workflowId: z.string().optional(),\n workflowName: z.string().optional(),\n enabled: z.boolean().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type WorkflowDefinitionFilter = z.infer<typeof workflowDefinitionFilterSchema>\n\n// ============================================================================\n// WorkflowInstance Schemas\n// ============================================================================\n\nexport const workflowInstanceMetadataSchema = z.object({\n entityType: z.string().max(100).optional(),\n entityId: z.string().max(255).optional(),\n initiatedBy: z.string().max(255).optional(),\n labels: z.record(z.string(), z.string()).optional(),\n})\n\nexport const createWorkflowInstanceSchema = z.object({\n definitionId: uuid,\n workflowId: z.string().min(1).max(100),\n version: z.number().int().positive(),\n status: workflowInstanceStatusSchema,\n currentStepId: z.string().min(1).max(100),\n context: z.record(z.string(), z.any()),\n correlationKey: z.string().max(255).optional().nullable(),\n metadata: workflowInstanceMetadataSchema.optional().nullable(),\n startedAt: z.coerce.date(),\n completedAt: dateOrNull.optional(),\n pausedAt: dateOrNull.optional(),\n cancelledAt: dateOrNull.optional(),\n errorMessage: z.string().max(5000).optional().nullable(),\n errorDetails: z.any().optional().nullable(),\n retryCount: z.number().int().min(0).default(0),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateWorkflowInstanceInput = z.infer<typeof createWorkflowInstanceSchema>\n\nexport const updateWorkflowInstanceSchema = createWorkflowInstanceSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateWorkflowInstanceInput = z.infer<typeof updateWorkflowInstanceSchema>\n\nexport const workflowInstanceFilterSchema = z.object({\n definitionId: uuid.optional(),\n workflowId: z.string().optional(),\n status: workflowInstanceStatusSchema.optional(),\n correlationKey: z.string().optional(),\n currentStepId: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type WorkflowInstanceFilter = z.infer<typeof workflowInstanceFilterSchema>\n\n// ============================================================================\n// StepInstance Schemas\n// ============================================================================\n\nexport const createStepInstanceSchema = z.object({\n workflowInstanceId: uuid,\n stepId: z.string().min(1).max(100),\n stepName: z.string().min(1).max(255),\n stepType: z.string().min(1).max(50),\n status: stepInstanceStatusSchema,\n inputData: z.any().optional().nullable(),\n outputData: z.any().optional().nullable(),\n errorData: z.any().optional().nullable(),\n enteredAt: dateOrNull.optional(),\n exitedAt: dateOrNull.optional(),\n executionTimeMs: z.number().int().min(0).optional().nullable(),\n retryCount: z.number().int().min(0).default(0),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateStepInstanceInput = z.infer<typeof createStepInstanceSchema>\n\nexport const updateStepInstanceSchema = createStepInstanceSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateStepInstanceInput = z.infer<typeof updateStepInstanceSchema>\n\nexport const stepInstanceFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n stepId: z.string().optional(),\n status: stepInstanceStatusSchema.optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type StepInstanceFilter = z.infer<typeof stepInstanceFilterSchema>\n\n// ============================================================================\n// UserTask Schemas\n// ============================================================================\n\nexport const createUserTaskSchema = z.object({\n workflowInstanceId: uuid,\n stepInstanceId: uuid,\n taskName: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n status: userTaskStatusSchema,\n formSchema: z.any().optional().nullable(),\n formData: z.any().optional().nullable(),\n assignedTo: z.string().max(255).optional().nullable(),\n assignedToRoles: z.array(z.string().max(100)).optional().nullable(),\n claimedBy: z.string().max(255).optional().nullable(),\n claimedAt: dateOrNull.optional(),\n dueDate: dateOrNull.optional(),\n escalatedAt: dateOrNull.optional(),\n escalatedTo: z.string().max(255).optional().nullable(),\n completedBy: z.string().max(255).optional().nullable(),\n completedAt: dateOrNull.optional(),\n comments: z.string().max(5000).optional().nullable(),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateUserTaskInput = z.infer<typeof createUserTaskSchema>\n\nexport const updateUserTaskSchema = createUserTaskSchema.partial().extend({\n id: uuid,\n})\n\nexport type UpdateUserTaskInput = z.infer<typeof updateUserTaskSchema>\n\nexport const userTaskFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n status: userTaskStatusSchema.optional(),\n assignedTo: z.string().optional(),\n claimedBy: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\n\nexport type UserTaskFilter = z.infer<typeof userTaskFilterSchema>\n\n// ============================================================================\n// WorkflowEvent Schemas\n// ============================================================================\n\nexport const createWorkflowEventSchema = z.object({\n workflowInstanceId: uuid,\n stepInstanceId: uuid.optional().nullable(),\n eventType: z.string().min(1).max(50),\n eventData: z.any(),\n occurredAt: z.coerce.date().optional(),\n userId: z.string().max(255).optional().nullable(),\n tenantId: uuid,\n organizationId: uuid,\n})\n\nexport type CreateWorkflowEventInput = z.infer<typeof createWorkflowEventSchema>\n\nexport const workflowEventFilterSchema = z.object({\n workflowInstanceId: uuid.optional(),\n stepInstanceId: uuid.optional(),\n eventType: z.string().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n occurredAtFrom: z.date().optional(),\n occurredAtTo: z.date().optional(),\n})\n\nexport type WorkflowEventFilter = z.infer<typeof workflowEventFilterSchema>\n\n// ============================================================================\n// Workflow Execution Context Schema\n// ============================================================================\n\nexport const workflowExecutionContextSchema = z.looseObject({\n workflowId: z.string().min(1),\n version: z.number().int().positive().optional(),\n correlationKey: z.string().optional(),\n context: z.record(z.string(), z.any()).optional(),\n metadata: workflowInstanceMetadataSchema.optional(),\n tenantId: z.uuid('tenantId must be a valid UUID'),\n organizationId: z.uuid('organizationId must be a valid UUID'),\n initiatedBy: z.string().optional(),\n})\n\nexport type WorkflowExecutionContextInput = z.infer<typeof workflowExecutionContextSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const startWorkflowInputSchema = z.object({\n workflowId: z.string().min(1),\n version: z.number().int().positive().optional(),\n correlationKey: z.string().optional(),\n initialContext: z.record(z.string(), z.any()).optional(),\n metadata: workflowInstanceMetadataSchema.optional(),\n})\n\nexport type StartWorkflowApiInput = z.infer<typeof startWorkflowInputSchema>\n\n// ============================================================================\n// WorkflowEventTrigger Schemas\n// ============================================================================\n\nexport const triggerFilterOperatorSchema = z.enum([\n 'eq',\n 'neq',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'startsWith',\n 'endsWith',\n 'in',\n 'notIn',\n 'exists',\n 'notExists',\n 'regex',\n])\nexport type TriggerFilterOperator = z.infer<typeof triggerFilterOperatorSchema>\n\nexport const triggerFilterConditionSchema = z.object({\n field: z.string().min(1).max(255, 'Field path must be at most 255 characters'),\n operator: triggerFilterOperatorSchema,\n value: z.any(),\n})\nexport type TriggerFilterCondition = z.infer<typeof triggerFilterConditionSchema>\n\nexport const triggerContextMappingSchema = z.object({\n targetKey: z.string().min(1).max(100, 'Target key must be at most 100 characters'),\n sourceExpression: z.string().min(1).max(255, 'Source expression must be at most 255 characters'),\n defaultValue: z.any().optional(),\n})\nexport type TriggerContextMapping = z.infer<typeof triggerContextMappingSchema>\n\nexport const eventTriggerConfigSchema = z.object({\n filterConditions: z.array(triggerFilterConditionSchema).max(20, 'Maximum 20 filter conditions allowed').optional(),\n contextMapping: z.array(triggerContextMappingSchema).max(50, 'Maximum 50 context mappings allowed').optional(),\n debounceMs: z.number().int().min(0).max(3600000, 'Debounce cannot exceed 1 hour').optional(),\n maxConcurrentInstances: z.number().int().min(1).max(1000, 'Max concurrent instances must be between 1 and 1000').optional(),\n})\nexport type EventTriggerConfig = z.infer<typeof eventTriggerConfigSchema>\n\nexport const eventPatternSchema = z.string()\n .min(1, 'Event pattern is required')\n .max(255, 'Event pattern must be at most 255 characters')\n .regex(\n /^(\\*|[a-z0-9_]+(\\.[a-z0-9_*]+)*)$/i,\n 'Event pattern must be \"*\" or a dot-separated pattern with optional wildcards (e.g., \"customers.people.created\", \"sales.orders.*\")'\n )\n\nexport const createEventTriggerSchema = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid,\n eventPattern: eventPatternSchema,\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().default(true),\n priority: z.number().int().min(0).max(9999).default(0),\n tenantId: uuid,\n organizationId: uuid,\n createdBy: z.string().max(255).optional().nullable(),\n})\nexport type CreateEventTriggerInput = z.infer<typeof createEventTriggerSchema>\n\n// API input schema (omits tenant fields - injected from auth context)\nexport const createEventTriggerInputSchema = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid,\n eventPattern: eventPatternSchema,\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().default(true).optional(),\n priority: z.number().int().min(0).max(9999).default(0).optional(),\n})\nexport type CreateEventTriggerApiInput = z.infer<typeof createEventTriggerInputSchema>\n\nexport const updateEventTriggerSchema = createEventTriggerSchema.partial().extend({\n id: uuid,\n})\nexport type UpdateEventTriggerInput = z.infer<typeof updateEventTriggerSchema>\n\n// API update schema (omits tenant fields and allows partial updates)\nexport const updateEventTriggerInputSchema = z.object({\n name: z.string().min(1).max(255).optional(),\n description: z.string().max(2000).optional().nullable(),\n workflowDefinitionId: uuid.optional(),\n eventPattern: eventPatternSchema.optional(),\n config: eventTriggerConfigSchema.optional().nullable(),\n enabled: z.boolean().optional(),\n priority: z.number().int().min(0).max(9999).optional(),\n}).strict()\nexport type UpdateEventTriggerApiInput = z.infer<typeof updateEventTriggerInputSchema>\n\nexport const eventTriggerFilterSchema = z.object({\n name: z.string().optional(),\n workflowDefinitionId: uuid.optional(),\n eventPattern: z.string().optional(),\n enabled: z.boolean().optional(),\n tenantId: uuid.optional(),\n organizationId: uuid.optional(),\n})\nexport type EventTriggerFilter = z.infer<typeof eventTriggerFilterSchema>\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,6 +4,8 @@ const events = [
|
|
|
4
4
|
{ id: "workflows.definition.created", label: "Workflow Definition Created", entity: "definition", category: "crud" },
|
|
5
5
|
{ id: "workflows.definition.updated", label: "Workflow Definition Updated", entity: "definition", category: "crud" },
|
|
6
6
|
{ id: "workflows.definition.deleted", label: "Workflow Definition Deleted", entity: "definition", category: "crud" },
|
|
7
|
+
{ id: "workflows.definition.customized", label: "Workflow Definition Customized", entity: "definition", category: "lifecycle" },
|
|
8
|
+
{ id: "workflows.definition.reset_to_code", label: "Workflow Definition Reset to Code", entity: "definition", category: "lifecycle" },
|
|
7
9
|
// Workflow Instances
|
|
8
10
|
{ id: "workflows.instance.created", label: "Workflow Instance Created", entity: "instance", category: "crud" },
|
|
9
11
|
{ id: "workflows.instance.updated", label: "Workflow Instance Updated", entity: "instance", category: "crud" },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/modules/workflows/events.ts"],
|
|
4
|
-
"sourcesContent": ["import { createModuleEvents } from '@open-mercato/shared/modules/events'\n\n/**\n * Workflows Module Events\n *\n * Declares all events that can be emitted by the workflows module.\n */\nconst events = [\n // Workflow Definitions\n { id: 'workflows.definition.created', label: 'Workflow Definition Created', entity: 'definition', category: 'crud' },\n { id: 'workflows.definition.updated', label: 'Workflow Definition Updated', entity: 'definition', category: 'crud' },\n { id: 'workflows.definition.deleted', label: 'Workflow Definition Deleted', entity: 'definition', category: 'crud' },\n\n // Workflow Instances\n { id: 'workflows.instance.created', label: 'Workflow Instance Created', entity: 'instance', category: 'crud' },\n { id: 'workflows.instance.updated', label: 'Workflow Instance Updated', entity: 'instance', category: 'crud' },\n { id: 'workflows.instance.deleted', label: 'Workflow Instance Deleted', entity: 'instance', category: 'crud' },\n\n // Workflow Lifecycle Events\n { id: 'workflows.instance.started', label: 'Workflow Started', category: 'lifecycle' },\n { id: 'workflows.instance.completed', label: 'Workflow Completed', category: 'lifecycle' },\n { id: 'workflows.instance.failed', label: 'Workflow Failed', category: 'lifecycle' },\n { id: 'workflows.instance.cancelled', label: 'Workflow Cancelled', category: 'lifecycle' },\n { id: 'workflows.instance.paused', label: 'Workflow Paused', category: 'lifecycle' },\n { id: 'workflows.instance.resumed', label: 'Workflow Resumed', category: 'lifecycle' },\n\n // Activity Events\n { id: 'workflows.activity.started', label: 'Activity Started', category: 'lifecycle' },\n { id: 'workflows.activity.completed', label: 'Activity Completed', category: 'lifecycle' },\n { id: 'workflows.activity.failed', label: 'Activity Failed', category: 'lifecycle' },\n\n // Event Triggers\n { id: 'workflows.trigger.created', label: 'Trigger Created', entity: 'trigger', category: 'crud' },\n { id: 'workflows.trigger.updated', label: 'Trigger Updated', entity: 'trigger', category: 'crud' },\n { id: 'workflows.trigger.deleted', label: 'Trigger Deleted', entity: 'trigger', category: 'crud' },\n] as const\n\nexport const eventsConfig = createModuleEvents({\n moduleId: 'workflows',\n events,\n})\n\n/** Type-safe event emitter for workflows module */\nexport const emitWorkflowsEvent = eventsConfig.emit\n\n/** Event IDs that can be emitted by the workflows module */\nexport type WorkflowsEventId = typeof events[number]['id']\n\nexport default eventsConfig\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,0BAA0B;AAOnC,MAAM,SAAS;AAAA;AAAA,EAEb,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA,EACnH,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA,EACnH,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { createModuleEvents } from '@open-mercato/shared/modules/events'\n\n/**\n * Workflows Module Events\n *\n * Declares all events that can be emitted by the workflows module.\n */\nconst events = [\n // Workflow Definitions\n { id: 'workflows.definition.created', label: 'Workflow Definition Created', entity: 'definition', category: 'crud' },\n { id: 'workflows.definition.updated', label: 'Workflow Definition Updated', entity: 'definition', category: 'crud' },\n { id: 'workflows.definition.deleted', label: 'Workflow Definition Deleted', entity: 'definition', category: 'crud' },\n { id: 'workflows.definition.customized', label: 'Workflow Definition Customized', entity: 'definition', category: 'lifecycle' },\n { id: 'workflows.definition.reset_to_code', label: 'Workflow Definition Reset to Code', entity: 'definition', category: 'lifecycle' },\n\n // Workflow Instances\n { id: 'workflows.instance.created', label: 'Workflow Instance Created', entity: 'instance', category: 'crud' },\n { id: 'workflows.instance.updated', label: 'Workflow Instance Updated', entity: 'instance', category: 'crud' },\n { id: 'workflows.instance.deleted', label: 'Workflow Instance Deleted', entity: 'instance', category: 'crud' },\n\n // Workflow Lifecycle Events\n { id: 'workflows.instance.started', label: 'Workflow Started', category: 'lifecycle' },\n { id: 'workflows.instance.completed', label: 'Workflow Completed', category: 'lifecycle' },\n { id: 'workflows.instance.failed', label: 'Workflow Failed', category: 'lifecycle' },\n { id: 'workflows.instance.cancelled', label: 'Workflow Cancelled', category: 'lifecycle' },\n { id: 'workflows.instance.paused', label: 'Workflow Paused', category: 'lifecycle' },\n { id: 'workflows.instance.resumed', label: 'Workflow Resumed', category: 'lifecycle' },\n\n // Activity Events\n { id: 'workflows.activity.started', label: 'Activity Started', category: 'lifecycle' },\n { id: 'workflows.activity.completed', label: 'Activity Completed', category: 'lifecycle' },\n { id: 'workflows.activity.failed', label: 'Activity Failed', category: 'lifecycle' },\n\n // Event Triggers\n { id: 'workflows.trigger.created', label: 'Trigger Created', entity: 'trigger', category: 'crud' },\n { id: 'workflows.trigger.updated', label: 'Trigger Updated', entity: 'trigger', category: 'crud' },\n { id: 'workflows.trigger.deleted', label: 'Trigger Deleted', entity: 'trigger', category: 'crud' },\n] as const\n\nexport const eventsConfig = createModuleEvents({\n moduleId: 'workflows',\n events,\n})\n\n/** Type-safe event emitter for workflows module */\nexport const emitWorkflowsEvent = eventsConfig.emit\n\n/** Event IDs that can be emitted by the workflows module */\nexport type WorkflowsEventId = typeof events[number]['id']\n\nexport default eventsConfig\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,0BAA0B;AAOnC,MAAM,SAAS;AAAA;AAAA,EAEb,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA,EACnH,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA,EACnH,EAAE,IAAI,gCAAgC,OAAO,+BAA+B,QAAQ,cAAc,UAAU,OAAO;AAAA,EACnH,EAAE,IAAI,mCAAmC,OAAO,kCAAkC,QAAQ,cAAc,UAAU,YAAY;AAAA,EAC9H,EAAE,IAAI,sCAAsC,OAAO,qCAAqC,QAAQ,cAAc,UAAU,YAAY;AAAA;AAAA,EAGpI,EAAE,IAAI,8BAA8B,OAAO,6BAA6B,QAAQ,YAAY,UAAU,OAAO;AAAA,EAC7G,EAAE,IAAI,8BAA8B,OAAO,6BAA6B,QAAQ,YAAY,UAAU,OAAO;AAAA,EAC7G,EAAE,IAAI,8BAA8B,OAAO,6BAA6B,QAAQ,YAAY,UAAU,OAAO;AAAA;AAAA,EAG7G,EAAE,IAAI,8BAA8B,OAAO,oBAAoB,UAAU,YAAY;AAAA,EACrF,EAAE,IAAI,gCAAgC,OAAO,sBAAsB,UAAU,YAAY;AAAA,EACzF,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,UAAU,YAAY;AAAA,EACnF,EAAE,IAAI,gCAAgC,OAAO,sBAAsB,UAAU,YAAY;AAAA,EACzF,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,UAAU,YAAY;AAAA,EACnF,EAAE,IAAI,8BAA8B,OAAO,oBAAoB,UAAU,YAAY;AAAA;AAAA,EAGrF,EAAE,IAAI,8BAA8B,OAAO,oBAAoB,UAAU,YAAY;AAAA,EACrF,EAAE,IAAI,gCAAgC,OAAO,sBAAsB,UAAU,YAAY;AAAA,EACzF,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,UAAU,YAAY;AAAA;AAAA,EAGnF,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EACjG,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EACjG,EAAE,IAAI,6BAA6B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AACnG;AAEO,MAAM,eAAe,mBAAmB;AAAA,EAC7C,UAAU;AAAA,EACV;AACF,CAAC;AAGM,MAAM,qBAAqB,aAAa;AAK/C,IAAO,iBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "Guard rule that blocks checkout if cart has no items",
|
|
6
6
|
"ruleType": "GUARD",
|
|
7
7
|
"ruleCategory": "checkout_validation",
|
|
8
|
-
"entityType": "workflow:
|
|
8
|
+
"entityType": "workflow:workflows.checkout-demo:start",
|
|
9
9
|
"eventType": "validate_start",
|
|
10
10
|
"conditionExpression": {
|
|
11
11
|
"operator": "AND",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"description": "Guard rule that checks if all items are in stock",
|
|
47
47
|
"ruleType": "GUARD",
|
|
48
48
|
"ruleCategory": "checkout_validation",
|
|
49
|
-
"entityType": "workflow:
|
|
49
|
+
"entityType": "workflow:workflows.checkout-demo:transition_seed",
|
|
50
50
|
"eventType": "pre_transition",
|
|
51
51
|
"conditionExpression": {
|
|
52
52
|
"field": "workflowContext.inventory.available",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"description": "Guard rule that enforces minimum order amount of $10",
|
|
71
71
|
"ruleType": "GUARD",
|
|
72
72
|
"ruleCategory": "checkout_validation",
|
|
73
|
-
"entityType": "workflow:
|
|
73
|
+
"entityType": "workflow:workflows.checkout-demo:transition_seed",
|
|
74
74
|
"eventType": "pre_transition",
|
|
75
75
|
"conditionExpression": {
|
|
76
76
|
"field": "workflowContext.cart.total",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"description": "Guard rule for payment step - checks payment method is set",
|
|
95
95
|
"ruleType": "GUARD",
|
|
96
96
|
"ruleCategory": "payment_validation",
|
|
97
|
-
"entityType": "workflow:
|
|
97
|
+
"entityType": "workflow:workflows.checkout-demo:transition_seed",
|
|
98
98
|
"eventType": "pre_transition",
|
|
99
99
|
"conditionExpression": {
|
|
100
100
|
"operator": "AND",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"description": "Guard rule that checks customer has email and shipping address",
|
|
128
128
|
"ruleType": "GUARD",
|
|
129
129
|
"ruleCategory": "checkout_validation",
|
|
130
|
-
"entityType": "workflow:
|
|
130
|
+
"entityType": "workflow:workflows.checkout-demo:transition_seed",
|
|
131
131
|
"eventType": "pre_transition",
|
|
132
132
|
"conditionExpression": {
|
|
133
133
|
"operator": "AND",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"description": "Guard rule that only allows orders between 9 AM and 5 PM",
|
|
164
164
|
"ruleType": "GUARD",
|
|
165
165
|
"ruleCategory": "business_logic",
|
|
166
|
-
"entityType": "workflow:
|
|
166
|
+
"entityType": "workflow:workflows.checkout-demo:transition_seed",
|
|
167
167
|
"eventType": "pre_transition",
|
|
168
168
|
"conditionExpression": {
|
|
169
169
|
"operator": "AND",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"ruleName": "Check Decision is Approve",
|
|
5
5
|
"description": "Validates that the approval task decision is 'approve'",
|
|
6
6
|
"ruleType": "GUARD",
|
|
7
|
-
"entityType": "workflow:
|
|
7
|
+
"entityType": "workflow:sales.order-approval:transition",
|
|
8
8
|
"eventType": "pre_transition",
|
|
9
9
|
"conditionExpression": {
|
|
10
10
|
"field": "workflowContext.decision",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"ruleName": "Check Decision is Reject",
|
|
20
20
|
"description": "Validates that the approval task decision is 'reject'",
|
|
21
21
|
"ruleType": "GUARD",
|
|
22
|
-
"entityType": "workflow:
|
|
22
|
+
"entityType": "workflow:sales.order-approval:transition",
|
|
23
23
|
"eventType": "pre_transition",
|
|
24
24
|
"conditionExpression": {
|
|
25
25
|
"field": "workflowContext.decision",
|
|
@@ -96,9 +96,9 @@ function CheckoutDemoPage() {
|
|
|
96
96
|
refetchInterval: result?.status === "PAUSED" && enableTaskPolling ? 2e3 : false
|
|
97
97
|
});
|
|
98
98
|
const { data: workflowDefinition } = useQuery({
|
|
99
|
-
queryKey: ["workflow-definition", "
|
|
99
|
+
queryKey: ["workflow-definition", "workflows.checkout-demo"],
|
|
100
100
|
queryFn: async () => {
|
|
101
|
-
const response = await fetch("/api/workflows/definitions?workflowId=
|
|
101
|
+
const response = await fetch("/api/workflows/definitions?workflowId=workflows.checkout-demo");
|
|
102
102
|
if (!response.ok) return null;
|
|
103
103
|
const json = await response.json();
|
|
104
104
|
return json.data?.[0] || null;
|
|
@@ -220,7 +220,7 @@ function CheckoutDemoPage() {
|
|
|
220
220
|
method: "POST",
|
|
221
221
|
headers: { "Content-Type": "application/json" },
|
|
222
222
|
body: JSON.stringify({
|
|
223
|
-
workflowId: "
|
|
223
|
+
workflowId: "workflows.checkout-demo",
|
|
224
224
|
context: {
|
|
225
225
|
cart: {
|
|
226
226
|
items: demoCart,
|
|
@@ -311,7 +311,7 @@ function CheckoutDemoPage() {
|
|
|
311
311
|
"Content-Type": "application/json"
|
|
312
312
|
},
|
|
313
313
|
body: JSON.stringify({
|
|
314
|
-
workflowId: "
|
|
314
|
+
workflowId: "workflows.checkout-demo",
|
|
315
315
|
version: 1,
|
|
316
316
|
correlationKey: `DEMO-ORDER-${Date.now()}`,
|
|
317
317
|
initialContext,
|