@open-mercato/core 0.4.2-canary-51881f6bf3 → 0.4.2-canary-5f415b8a44
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/dist/generated/entities/workflow_event_trigger/index.js +33 -0
- package/dist/generated/entities/workflow_event_trigger/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +59 -58
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +2 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/auth/events.js +30 -0
- package/dist/modules/auth/events.js.map +7 -0
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js +145 -0
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +7 -0
- package/dist/modules/business_rules/data/validators.js +34 -0
- package/dist/modules/business_rules/data/validators.js.map +2 -2
- package/dist/modules/business_rules/index.js +21 -1
- package/dist/modules/business_rules/index.js.map +2 -2
- package/dist/modules/business_rules/lib/rule-engine.js +182 -1
- package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
- package/dist/modules/catalog/events.js +34 -0
- package/dist/modules/catalog/events.js.map +7 -0
- package/dist/modules/customers/events.js +49 -0
- package/dist/modules/customers/events.js.map +7 -0
- package/dist/modules/directory/events.js +23 -0
- package/dist/modules/directory/events.js.map +7 -0
- package/dist/modules/sales/acl.js +1 -0
- package/dist/modules/sales/acl.js.map +2 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js +12 -0
- package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
- package/dist/modules/sales/commands/documents.js +62 -0
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/events.js +63 -0
- package/dist/modules/sales/events.js.map +7 -0
- package/dist/modules/sales/lib/dictionaries.js +3 -0
- package/dist/modules/sales/lib/dictionaries.js.map +2 -2
- package/dist/modules/sales/lib/frontend/documentDataEvents.js +25 -0
- package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +7 -0
- package/dist/modules/workflows/acl.js +2 -0
- package/dist/modules/workflows/acl.js.map +2 -2
- package/dist/modules/workflows/api/instances/route.js +18 -6
- package/dist/modules/workflows/api/instances/route.js.map +2 -2
- package/dist/modules/workflows/api/tasks/route.js +6 -1
- package/dist/modules/workflows/api/tasks/route.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.js +9 -1
- package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.js +24 -15
- package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +150 -132
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +5 -6
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/cli.js +81 -3
- package/dist/modules/workflows/cli.js.map +3 -3
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js +481 -0
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +7 -0
- package/dist/modules/workflows/components/EventTriggersEditor.js +553 -0
- package/dist/modules/workflows/components/EventTriggersEditor.js.map +7 -0
- package/dist/modules/workflows/data/entities.js +64 -1
- package/dist/modules/workflows/data/entities.js.map +2 -2
- package/dist/modules/workflows/data/validators.js +115 -0
- package/dist/modules/workflows/data/validators.js.map +2 -2
- package/dist/modules/workflows/events.js +38 -0
- package/dist/modules/workflows/events.js.map +7 -0
- package/dist/modules/workflows/examples/checkout-demo-definition.json +1 -5
- package/dist/modules/workflows/examples/order-approval-definition.json +257 -0
- package/dist/modules/workflows/examples/order-approval-guard-rules.json +32 -0
- package/dist/modules/workflows/lib/activity-executor.js +75 -13
- package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
- package/dist/modules/workflows/lib/event-trigger-service.js +308 -0
- package/dist/modules/workflows/lib/event-trigger-service.js.map +7 -0
- package/dist/modules/workflows/lib/graph-utils.js +71 -2
- package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
- package/dist/modules/workflows/lib/seeds.js +22 -5
- package/dist/modules/workflows/lib/seeds.js.map +2 -2
- package/dist/modules/workflows/lib/start-validator.js +33 -23
- package/dist/modules/workflows/lib/start-validator.js.map +2 -2
- package/dist/modules/workflows/lib/transition-handler.js +157 -45
- package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
- package/dist/modules/workflows/migrations/Migration20260123143500.js +36 -0
- package/dist/modules/workflows/migrations/Migration20260123143500.js.map +7 -0
- package/dist/modules/workflows/subscribers/event-trigger.js +78 -0
- package/dist/modules/workflows/subscribers/event-trigger.js.map +7 -0
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +323 -0
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +7 -0
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js +17 -0
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +7 -0
- package/dist/modules/workflows/widgets/injection-table.js +19 -0
- package/dist/modules/workflows/widgets/injection-table.js.map +7 -0
- package/generated/entities/workflow_event_trigger/index.ts +15 -0
- package/generated/entities.ids.generated.ts +59 -58
- package/generated/entity-fields-registry.ts +2 -0
- package/package.json +3 -5
- package/src/modules/auth/events.ts +39 -0
- package/src/modules/business_rules/api/execute/[ruleId]/route.ts +163 -0
- package/src/modules/business_rules/data/validators.ts +40 -0
- package/src/modules/business_rules/index.ts +25 -0
- package/src/modules/business_rules/lib/rule-engine.ts +281 -1
- package/src/modules/catalog/events.ts +45 -0
- package/src/modules/customers/events.ts +63 -0
- package/src/modules/directory/events.ts +31 -0
- package/src/modules/sales/acl.ts +1 -0
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +16 -0
- package/src/modules/sales/commands/documents.ts +74 -1
- package/src/modules/sales/events.ts +82 -0
- package/src/modules/sales/lib/dictionaries.ts +3 -0
- package/src/modules/sales/lib/frontend/documentDataEvents.ts +28 -0
- package/src/modules/workflows/acl.ts +2 -0
- package/src/modules/workflows/api/instances/route.ts +21 -7
- package/src/modules/workflows/api/tasks/route.ts +7 -1
- package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/[id]/page.tsx +9 -0
- package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/create/page.tsx +9 -0
- package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +21 -3
- package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/tasks/page.tsx +5 -6
- package/src/modules/workflows/cli.ts +111 -0
- package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +581 -0
- package/src/modules/workflows/components/EventTriggersEditor.tsx +664 -0
- package/src/modules/workflows/data/entities.ts +124 -0
- package/src/modules/workflows/data/validators.ts +138 -0
- package/src/modules/workflows/events.ts +49 -0
- package/src/modules/workflows/examples/checkout-demo-definition.json +1 -5
- package/src/modules/workflows/examples/order-approval-definition.json +257 -0
- package/src/modules/workflows/examples/order-approval-guard-rules.json +32 -0
- package/src/modules/workflows/i18n/en.json +71 -0
- package/src/modules/workflows/lib/activity-executor.ts +129 -16
- package/src/modules/workflows/lib/event-trigger-service.ts +557 -0
- package/src/modules/workflows/lib/graph-utils.ts +117 -2
- package/src/modules/workflows/lib/seeds.ts +34 -8
- package/src/modules/workflows/lib/start-validator.ts +38 -28
- package/src/modules/workflows/lib/transition-handler.ts +208 -55
- package/src/modules/workflows/migrations/Migration20260123143500.ts +38 -0
- package/src/modules/workflows/subscribers/event-trigger.ts +109 -0
- package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +446 -0
- package/src/modules/workflows/widgets/injection/order-approval/widget.ts +16 -0
- package/src/modules/workflows/widgets/injection-table.ts +21 -0
|
@@ -341,18 +341,81 @@ WorkflowEvent = __decorateClass([
|
|
|
341
341
|
Index({ name: "workflow_events_event_type_idx", properties: ["eventType", "occurredAt"] }),
|
|
342
342
|
Index({ name: "workflow_events_tenant_org_idx", properties: ["tenantId", "organizationId"] })
|
|
343
343
|
], WorkflowEvent);
|
|
344
|
+
OptionalProps;
|
|
345
|
+
let WorkflowEventTrigger = class {
|
|
346
|
+
constructor() {
|
|
347
|
+
this.enabled = true;
|
|
348
|
+
this.priority = 0;
|
|
349
|
+
this.createdAt = /* @__PURE__ */ new Date();
|
|
350
|
+
this.updatedAt = /* @__PURE__ */ new Date();
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
__decorateClass([
|
|
354
|
+
PrimaryKey({ type: "uuid", defaultRaw: "gen_random_uuid()" })
|
|
355
|
+
], WorkflowEventTrigger.prototype, "id", 2);
|
|
356
|
+
__decorateClass([
|
|
357
|
+
Property({ name: "name", type: "varchar", length: 255 })
|
|
358
|
+
], WorkflowEventTrigger.prototype, "name", 2);
|
|
359
|
+
__decorateClass([
|
|
360
|
+
Property({ name: "description", type: "text", nullable: true })
|
|
361
|
+
], WorkflowEventTrigger.prototype, "description", 2);
|
|
362
|
+
__decorateClass([
|
|
363
|
+
Property({ name: "workflow_definition_id", type: "uuid" })
|
|
364
|
+
], WorkflowEventTrigger.prototype, "workflowDefinitionId", 2);
|
|
365
|
+
__decorateClass([
|
|
366
|
+
Property({ name: "event_pattern", type: "varchar", length: 255 })
|
|
367
|
+
], WorkflowEventTrigger.prototype, "eventPattern", 2);
|
|
368
|
+
__decorateClass([
|
|
369
|
+
Property({ name: "config", type: "jsonb", nullable: true })
|
|
370
|
+
], WorkflowEventTrigger.prototype, "config", 2);
|
|
371
|
+
__decorateClass([
|
|
372
|
+
Property({ name: "enabled", type: "boolean", default: true })
|
|
373
|
+
], WorkflowEventTrigger.prototype, "enabled", 2);
|
|
374
|
+
__decorateClass([
|
|
375
|
+
Property({ name: "priority", type: "integer", default: 0 })
|
|
376
|
+
], WorkflowEventTrigger.prototype, "priority", 2);
|
|
377
|
+
__decorateClass([
|
|
378
|
+
Property({ name: "tenant_id", type: "uuid" })
|
|
379
|
+
], WorkflowEventTrigger.prototype, "tenantId", 2);
|
|
380
|
+
__decorateClass([
|
|
381
|
+
Property({ name: "organization_id", type: "uuid" })
|
|
382
|
+
], WorkflowEventTrigger.prototype, "organizationId", 2);
|
|
383
|
+
__decorateClass([
|
|
384
|
+
Property({ name: "created_by", type: "varchar", length: 255, nullable: true })
|
|
385
|
+
], WorkflowEventTrigger.prototype, "createdBy", 2);
|
|
386
|
+
__decorateClass([
|
|
387
|
+
Property({ name: "updated_by", type: "varchar", length: 255, nullable: true })
|
|
388
|
+
], WorkflowEventTrigger.prototype, "updatedBy", 2);
|
|
389
|
+
__decorateClass([
|
|
390
|
+
Property({ name: "created_at", type: Date, onCreate: () => /* @__PURE__ */ new Date() })
|
|
391
|
+
], WorkflowEventTrigger.prototype, "createdAt", 2);
|
|
392
|
+
__decorateClass([
|
|
393
|
+
Property({ name: "updated_at", type: Date, onUpdate: () => /* @__PURE__ */ new Date() })
|
|
394
|
+
], WorkflowEventTrigger.prototype, "updatedAt", 2);
|
|
395
|
+
__decorateClass([
|
|
396
|
+
Property({ name: "deleted_at", type: Date, nullable: true })
|
|
397
|
+
], WorkflowEventTrigger.prototype, "deletedAt", 2);
|
|
398
|
+
WorkflowEventTrigger = __decorateClass([
|
|
399
|
+
Entity({ tableName: "workflow_event_triggers" }),
|
|
400
|
+
Index({ name: "workflow_event_triggers_event_pattern_idx", properties: ["eventPattern", "enabled"] }),
|
|
401
|
+
Index({ name: "workflow_event_triggers_definition_idx", properties: ["workflowDefinitionId"] }),
|
|
402
|
+
Index({ name: "workflow_event_triggers_tenant_org_idx", properties: ["tenantId", "organizationId"] }),
|
|
403
|
+
Index({ name: "workflow_event_triggers_enabled_priority_idx", properties: ["enabled", "priority"] })
|
|
404
|
+
], WorkflowEventTrigger);
|
|
344
405
|
var entities_default = [
|
|
345
406
|
WorkflowDefinition,
|
|
346
407
|
WorkflowInstance,
|
|
347
408
|
StepInstance,
|
|
348
409
|
UserTask,
|
|
349
|
-
WorkflowEvent
|
|
410
|
+
WorkflowEvent,
|
|
411
|
+
WorkflowEventTrigger
|
|
350
412
|
];
|
|
351
413
|
export {
|
|
352
414
|
StepInstance,
|
|
353
415
|
UserTask,
|
|
354
416
|
WorkflowDefinition,
|
|
355
417
|
WorkflowEvent,
|
|
418
|
+
WorkflowEventTrigger,
|
|
356
419
|
WorkflowInstance,
|
|
357
420
|
entities_default as default
|
|
358
421
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/modules/workflows/data/entities.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Workflows Module - Database Entities\n *\n * MikroORM entities for workflow engine.\n */\n\nimport { Entity, PrimaryKey, Property, Index, Unique, OptionalProps } from '@mikro-orm/core'\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport type WorkflowStepType =\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 WorkflowInstanceStatus =\n | 'RUNNING'\n | 'PAUSED'\n | 'COMPLETED'\n | 'FAILED'\n | 'CANCELLED'\n | 'COMPENSATING'\n | 'COMPENSATED'\n | 'WAITING_FOR_ACTIVITIES'\n\nexport type StepInstanceStatus =\n | 'PENDING'\n | 'ACTIVE'\n | 'COMPLETED'\n | 'FAILED'\n | 'SKIPPED'\n | 'CANCELLED'\n\nexport type UserTaskStatus =\n | 'PENDING'\n | 'IN_PROGRESS'\n | 'COMPLETED'\n | 'CANCELLED'\n | 'ESCALATED'\n\n// ============================================================================\n// JSONB Structure Interfaces\n// ============================================================================\n\nexport interface WorkflowDefinitionData {\n steps: any[] // WorkflowStep[] - will define schema in validators.ts\n transitions: any[] // WorkflowTransition[] - will define schema in validators.ts\n activities?: any[] // ActivityDefinition[] - will define schema in validators.ts\n queries?: any[]\n signals?: any[]\n timers?: any[]\n}\n\nexport interface WorkflowMetadata {\n tags?: string[]\n category?: string\n icon?: string\n}\n\nexport interface WorkflowInstanceMetadata {\n entityType?: string\n entityId?: string\n initiatedBy?: string\n labels?: Record<string, string>\n}\n\n// ============================================================================\n// Entity: WorkflowDefinition\n// ============================================================================\n\n/**\n * WorkflowDefinition entity\n *\n * Stores workflow definitions (templates) that can be instantiated\n * to create workflow instances.\n */\n@Entity({ tableName: 'workflow_definitions' })\n@Unique({ properties: ['workflowId', 'tenantId'] })\n@Index({ name: 'workflow_definitions_enabled_idx', properties: ['enabled'] })\n@Index({ name: 'workflow_definitions_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\n@Index({ name: 'workflow_definitions_workflow_id_idx', properties: ['workflowId'] })\nexport class WorkflowDefinition {\n [OptionalProps]?: 'enabled' | 'version' | 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_id', type: 'varchar', length: 100 })\n workflowId!: string\n\n @Property({ name: 'workflow_name', type: 'varchar', length: 255 })\n workflowName!: string\n\n @Property({ name: 'description', type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'version', type: 'integer', default: 1 })\n version: number = 1\n\n @Property({ name: 'definition', type: 'jsonb' })\n definition!: WorkflowDefinitionData\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: WorkflowMetadata | null\n\n @Property({ name: 'enabled', type: 'boolean', default: true })\n enabled: boolean = true\n\n @Property({ name: 'effective_from', type: Date, nullable: true })\n effectiveFrom?: Date | null\n\n @Property({ name: 'effective_to', type: Date, nullable: true })\n effectiveTo?: Date | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_by', type: 'varchar', length: 255, nullable: true })\n createdBy?: string | null\n\n @Property({ name: 'updated_by', type: 'varchar', length: 255, nullable: true })\n updatedBy?: string | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n// ============================================================================\n// Entity: WorkflowInstance\n// ============================================================================\n\n/**\n * WorkflowInstance entity\n *\n * Represents a running instance of a workflow definition.\n * Tracks the current state, context data, and execution status.\n */\n@Entity({ tableName: 'workflow_instances' })\n@Index({ name: 'workflow_instances_definition_status_idx', properties: ['definitionId', 'status'] })\n@Index({ name: 'workflow_instances_correlation_key_idx', properties: ['correlationKey'] })\n@Index({ name: 'workflow_instances_status_tenant_idx', properties: ['status', 'tenantId'] })\n@Index({ name: 'workflow_instances_current_step_idx', properties: ['currentStepId', 'status'] })\n@Index({ name: 'workflow_instances_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class WorkflowInstance {\n [OptionalProps]?: 'retryCount' | 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'definition_id', type: 'uuid' })\n definitionId!: string\n\n @Property({ name: 'workflow_id', type: 'varchar', length: 100 })\n workflowId!: string\n\n @Property({ name: 'version', type: 'integer' })\n version!: number\n\n @Property({ name: 'status', type: 'varchar', length: 30 })\n status!: WorkflowInstanceStatus\n\n @Property({ name: 'current_step_id', type: 'varchar', length: 100 })\n currentStepId!: string\n\n @Property({ name: 'context', type: 'jsonb' })\n context!: Record<string, any>\n\n @Property({ name: 'correlation_key', type: 'varchar', length: 255, nullable: true })\n correlationKey?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: WorkflowInstanceMetadata | null\n\n @Property({ name: 'started_at', type: Date })\n startedAt!: Date\n\n @Property({ name: 'completed_at', type: Date, nullable: true })\n completedAt?: Date | null\n\n @Property({ name: 'paused_at', type: Date, nullable: true })\n pausedAt?: Date | null\n\n @Property({ name: 'cancelled_at', type: Date, nullable: true })\n cancelledAt?: Date | null\n\n @Property({ name: 'error_message', type: 'text', nullable: true })\n errorMessage?: string | null\n\n @Property({ name: 'error_details', type: 'jsonb', nullable: true })\n errorDetails?: any | null\n\n @Property({ name: 'pending_transition', type: 'jsonb', nullable: true })\n pendingTransition?: {\n toStepId: string\n activityResults: any[]\n timestamp: Date\n } | null\n\n @Property({ name: 'retry_count', type: 'integer', default: 0 })\n retryCount: number = 0\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n// ============================================================================\n// Entity: StepInstance\n// ============================================================================\n\n/**\n * StepInstance entity\n *\n * Tracks individual step executions within a workflow instance.\n * Records input/output data, timing, and execution status for each step.\n */\n@Entity({ tableName: 'step_instances' })\n@Index({ name: 'step_instances_workflow_instance_idx', properties: ['workflowInstanceId', 'status'] })\n@Index({ name: 'step_instances_step_id_idx', properties: ['stepId', 'status'] })\n@Index({ name: 'step_instances_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class StepInstance {\n [OptionalProps]?: 'retryCount' | 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_id', type: 'varchar', length: 100 })\n stepId!: string\n\n @Property({ name: 'step_name', type: 'varchar', length: 255 })\n stepName!: string\n\n @Property({ name: 'step_type', type: 'varchar', length: 50 })\n stepType!: string\n\n @Property({ name: 'status', type: 'varchar', length: 20 })\n status!: StepInstanceStatus\n\n @Property({ name: 'input_data', type: 'jsonb', nullable: true })\n inputData?: any | null\n\n @Property({ name: 'output_data', type: 'jsonb', nullable: true })\n outputData?: any | null\n\n @Property({ name: 'error_data', type: 'jsonb', nullable: true })\n errorData?: any | null\n\n @Property({ name: 'entered_at', type: Date, nullable: true })\n enteredAt?: Date | null\n\n @Property({ name: 'exited_at', type: Date, nullable: true })\n exitedAt?: Date | null\n\n @Property({ name: 'execution_time_ms', type: 'integer', nullable: true })\n executionTimeMs?: number | null\n\n @Property({ name: 'retry_count', type: 'integer', default: 0 })\n retryCount: number = 0\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n// ============================================================================\n// Entity: UserTask\n// ============================================================================\n\n/**\n * UserTask entity\n *\n * Represents user tasks that require human interaction within a workflow.\n * Tracks assignment, SLA, escalation, and completion status.\n */\n@Entity({ tableName: 'user_tasks' })\n@Index({ name: 'user_tasks_workflow_instance_idx', properties: ['workflowInstanceId'] })\n@Index({ name: 'user_tasks_status_assigned_idx', properties: ['status', 'assignedTo'] })\n@Index({ name: 'user_tasks_status_due_date_idx', properties: ['status', 'dueDate'] })\n@Index({ name: 'user_tasks_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class UserTask {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_instance_id', type: 'uuid' })\n stepInstanceId!: string\n\n @Property({ name: 'task_name', type: 'varchar', length: 255 })\n taskName!: string\n\n @Property({ name: 'description', type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'status', type: 'varchar', length: 20 })\n status!: UserTaskStatus\n\n @Property({ name: 'form_schema', type: 'jsonb', nullable: true })\n formSchema?: any | null\n\n @Property({ name: 'form_data', type: 'jsonb', nullable: true })\n formData?: any | null\n\n @Property({ name: 'assigned_to', type: 'varchar', length: 255, nullable: true })\n assignedTo?: string | null\n\n @Property({ name: 'assigned_to_roles', type: 'text[]', nullable: true })\n assignedToRoles?: string[] | null\n\n @Property({ name: 'claimed_by', type: 'varchar', length: 255, nullable: true })\n claimedBy?: string | null\n\n @Property({ name: 'claimed_at', type: Date, nullable: true })\n claimedAt?: Date | null\n\n @Property({ name: 'due_date', type: Date, nullable: true })\n dueDate?: Date | null\n\n @Property({ name: 'escalated_at', type: Date, nullable: true })\n escalatedAt?: Date | null\n\n @Property({ name: 'escalated_to', type: 'varchar', length: 255, nullable: true })\n escalatedTo?: string | null\n\n @Property({ name: 'completed_by', type: 'varchar', length: 255, nullable: true })\n completedBy?: string | null\n\n @Property({ name: 'completed_at', type: Date, nullable: true })\n completedAt?: Date | null\n\n @Property({ name: 'comments', type: 'text', nullable: true })\n comments?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n// ============================================================================\n// Entity: WorkflowEvent\n// ============================================================================\n\n/**\n * WorkflowEvent entity\n *\n * Event sourcing log for workflow execution history.\n * Records all events that occur during workflow execution for audit and replay.\n */\n@Entity({ tableName: 'workflow_events' })\n@Index({ name: 'workflow_events_instance_occurred_idx', properties: ['workflowInstanceId', 'occurredAt'] })\n@Index({ name: 'workflow_events_event_type_idx', properties: ['eventType', 'occurredAt'] })\n@Index({ name: 'workflow_events_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class WorkflowEvent {\n @PrimaryKey({ type: 'bigint', autoincrement: true })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_instance_id', type: 'uuid', nullable: true })\n stepInstanceId?: string | null\n\n @Property({ name: 'event_type', type: 'varchar', length: 50 })\n eventType!: string\n\n @Property({ name: 'event_data', type: 'jsonb' })\n eventData!: any\n\n @Property({ name: 'occurred_at', type: Date, onCreate: () => new Date() })\n occurredAt: Date = new Date()\n\n @Property({ name: 'user_id', type: 'varchar', length: 255, nullable: true })\n userId?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n}\n\n// Export all entities as default for MikroORM discovery\nexport default [\n WorkflowDefinition,\n WorkflowInstance,\n StepInstance,\n UserTask,\n WorkflowEvent,\n]\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * Workflows Module - Database Entities\n *\n * MikroORM entities for workflow engine.\n */\n\nimport { Entity, PrimaryKey, Property, Index, Unique, OptionalProps } from '@mikro-orm/core'\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport type WorkflowStepType =\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 WorkflowInstanceStatus =\n | 'RUNNING'\n | 'PAUSED'\n | 'COMPLETED'\n | 'FAILED'\n | 'CANCELLED'\n | 'COMPENSATING'\n | 'COMPENSATED'\n | 'WAITING_FOR_ACTIVITIES'\n\nexport type StepInstanceStatus =\n | 'PENDING'\n | 'ACTIVE'\n | 'COMPLETED'\n | 'FAILED'\n | 'SKIPPED'\n | 'CANCELLED'\n\nexport type UserTaskStatus =\n | 'PENDING'\n | 'IN_PROGRESS'\n | 'COMPLETED'\n | 'CANCELLED'\n | 'ESCALATED'\n\n// ============================================================================\n// Event Trigger Types\n// ============================================================================\n\nexport type TriggerFilterOperator =\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 interface TriggerFilterCondition {\n field: string // JSON path (e.g., \"status\", \"metadata.type\")\n operator: TriggerFilterOperator\n value: unknown\n}\n\nexport interface TriggerContextMapping {\n targetKey: string // Key in workflow initial context\n sourceExpression: string // Path from event payload (supports dot notation)\n defaultValue?: unknown\n}\n\nexport interface WorkflowEventTriggerConfig {\n filterConditions?: TriggerFilterCondition[]\n contextMapping?: TriggerContextMapping[]\n debounceMs?: number // Debounce rapid events\n maxConcurrentInstances?: number // Limit concurrent instances\n entityType?: string // Entity type for workflow instance metadata (e.g., \"SalesOrder\")\n}\n\n/**\n * WorkflowDefinitionTrigger - Embedded trigger configuration\n *\n * Triggers are now embedded directly in the workflow definition,\n * allowing users to configure event-based workflow starts during\n * workflow creation in the visual editor.\n */\nexport interface WorkflowDefinitionTrigger {\n triggerId: string\n name: string\n description?: string | null\n eventPattern: string // e.g., \"sales.orders.created\", \"customers.*\"\n config?: WorkflowEventTriggerConfig | null\n enabled: boolean\n priority: number\n}\n\n// ============================================================================\n// JSONB Structure Interfaces\n// ============================================================================\n\nexport interface WorkflowDefinitionData {\n steps: any[] // WorkflowStep[] - will define schema in validators.ts\n transitions: any[] // WorkflowTransition[] - will define schema in validators.ts\n triggers?: WorkflowDefinitionTrigger[] // Event triggers for automatic workflow start\n activities?: any[] // ActivityDefinition[] - will define schema in validators.ts\n queries?: any[]\n signals?: any[]\n timers?: any[]\n}\n\nexport interface WorkflowMetadata {\n tags?: string[]\n category?: string\n icon?: string\n}\n\nexport interface WorkflowInstanceMetadata {\n entityType?: string\n entityId?: string\n initiatedBy?: string\n labels?: Record<string, string>\n}\n\n// ============================================================================\n// Entity: WorkflowDefinition\n// ============================================================================\n\n/**\n * WorkflowDefinition entity\n *\n * Stores workflow definitions (templates) that can be instantiated\n * to create workflow instances.\n */\n@Entity({ tableName: 'workflow_definitions' })\n@Unique({ properties: ['workflowId', 'tenantId'] })\n@Index({ name: 'workflow_definitions_enabled_idx', properties: ['enabled'] })\n@Index({ name: 'workflow_definitions_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\n@Index({ name: 'workflow_definitions_workflow_id_idx', properties: ['workflowId'] })\nexport class WorkflowDefinition {\n [OptionalProps]?: 'enabled' | 'version' | 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_id', type: 'varchar', length: 100 })\n workflowId!: string\n\n @Property({ name: 'workflow_name', type: 'varchar', length: 255 })\n workflowName!: string\n\n @Property({ name: 'description', type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'version', type: 'integer', default: 1 })\n version: number = 1\n\n @Property({ name: 'definition', type: 'jsonb' })\n definition!: WorkflowDefinitionData\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: WorkflowMetadata | null\n\n @Property({ name: 'enabled', type: 'boolean', default: true })\n enabled: boolean = true\n\n @Property({ name: 'effective_from', type: Date, nullable: true })\n effectiveFrom?: Date | null\n\n @Property({ name: 'effective_to', type: Date, nullable: true })\n effectiveTo?: Date | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_by', type: 'varchar', length: 255, nullable: true })\n createdBy?: string | null\n\n @Property({ name: 'updated_by', type: 'varchar', length: 255, nullable: true })\n updatedBy?: string | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n// ============================================================================\n// Entity: WorkflowInstance\n// ============================================================================\n\n/**\n * WorkflowInstance entity\n *\n * Represents a running instance of a workflow definition.\n * Tracks the current state, context data, and execution status.\n */\n@Entity({ tableName: 'workflow_instances' })\n@Index({ name: 'workflow_instances_definition_status_idx', properties: ['definitionId', 'status'] })\n@Index({ name: 'workflow_instances_correlation_key_idx', properties: ['correlationKey'] })\n@Index({ name: 'workflow_instances_status_tenant_idx', properties: ['status', 'tenantId'] })\n@Index({ name: 'workflow_instances_current_step_idx', properties: ['currentStepId', 'status'] })\n@Index({ name: 'workflow_instances_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class WorkflowInstance {\n [OptionalProps]?: 'retryCount' | 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'definition_id', type: 'uuid' })\n definitionId!: string\n\n @Property({ name: 'workflow_id', type: 'varchar', length: 100 })\n workflowId!: string\n\n @Property({ name: 'version', type: 'integer' })\n version!: number\n\n @Property({ name: 'status', type: 'varchar', length: 30 })\n status!: WorkflowInstanceStatus\n\n @Property({ name: 'current_step_id', type: 'varchar', length: 100 })\n currentStepId!: string\n\n @Property({ name: 'context', type: 'jsonb' })\n context!: Record<string, any>\n\n @Property({ name: 'correlation_key', type: 'varchar', length: 255, nullable: true })\n correlationKey?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: WorkflowInstanceMetadata | null\n\n @Property({ name: 'started_at', type: Date })\n startedAt!: Date\n\n @Property({ name: 'completed_at', type: Date, nullable: true })\n completedAt?: Date | null\n\n @Property({ name: 'paused_at', type: Date, nullable: true })\n pausedAt?: Date | null\n\n @Property({ name: 'cancelled_at', type: Date, nullable: true })\n cancelledAt?: Date | null\n\n @Property({ name: 'error_message', type: 'text', nullable: true })\n errorMessage?: string | null\n\n @Property({ name: 'error_details', type: 'jsonb', nullable: true })\n errorDetails?: any | null\n\n @Property({ name: 'pending_transition', type: 'jsonb', nullable: true })\n pendingTransition?: {\n toStepId: string\n activityResults: any[]\n timestamp: Date\n } | null\n\n @Property({ name: 'retry_count', type: 'integer', default: 0 })\n retryCount: number = 0\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n// ============================================================================\n// Entity: StepInstance\n// ============================================================================\n\n/**\n * StepInstance entity\n *\n * Tracks individual step executions within a workflow instance.\n * Records input/output data, timing, and execution status for each step.\n */\n@Entity({ tableName: 'step_instances' })\n@Index({ name: 'step_instances_workflow_instance_idx', properties: ['workflowInstanceId', 'status'] })\n@Index({ name: 'step_instances_step_id_idx', properties: ['stepId', 'status'] })\n@Index({ name: 'step_instances_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class StepInstance {\n [OptionalProps]?: 'retryCount' | 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_id', type: 'varchar', length: 100 })\n stepId!: string\n\n @Property({ name: 'step_name', type: 'varchar', length: 255 })\n stepName!: string\n\n @Property({ name: 'step_type', type: 'varchar', length: 50 })\n stepType!: string\n\n @Property({ name: 'status', type: 'varchar', length: 20 })\n status!: StepInstanceStatus\n\n @Property({ name: 'input_data', type: 'jsonb', nullable: true })\n inputData?: any | null\n\n @Property({ name: 'output_data', type: 'jsonb', nullable: true })\n outputData?: any | null\n\n @Property({ name: 'error_data', type: 'jsonb', nullable: true })\n errorData?: any | null\n\n @Property({ name: 'entered_at', type: Date, nullable: true })\n enteredAt?: Date | null\n\n @Property({ name: 'exited_at', type: Date, nullable: true })\n exitedAt?: Date | null\n\n @Property({ name: 'execution_time_ms', type: 'integer', nullable: true })\n executionTimeMs?: number | null\n\n @Property({ name: 'retry_count', type: 'integer', default: 0 })\n retryCount: number = 0\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n// ============================================================================\n// Entity: UserTask\n// ============================================================================\n\n/**\n * UserTask entity\n *\n * Represents user tasks that require human interaction within a workflow.\n * Tracks assignment, SLA, escalation, and completion status.\n */\n@Entity({ tableName: 'user_tasks' })\n@Index({ name: 'user_tasks_workflow_instance_idx', properties: ['workflowInstanceId'] })\n@Index({ name: 'user_tasks_status_assigned_idx', properties: ['status', 'assignedTo'] })\n@Index({ name: 'user_tasks_status_due_date_idx', properties: ['status', 'dueDate'] })\n@Index({ name: 'user_tasks_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class UserTask {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_instance_id', type: 'uuid' })\n stepInstanceId!: string\n\n @Property({ name: 'task_name', type: 'varchar', length: 255 })\n taskName!: string\n\n @Property({ name: 'description', type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'status', type: 'varchar', length: 20 })\n status!: UserTaskStatus\n\n @Property({ name: 'form_schema', type: 'jsonb', nullable: true })\n formSchema?: any | null\n\n @Property({ name: 'form_data', type: 'jsonb', nullable: true })\n formData?: any | null\n\n @Property({ name: 'assigned_to', type: 'varchar', length: 255, nullable: true })\n assignedTo?: string | null\n\n @Property({ name: 'assigned_to_roles', type: 'text[]', nullable: true })\n assignedToRoles?: string[] | null\n\n @Property({ name: 'claimed_by', type: 'varchar', length: 255, nullable: true })\n claimedBy?: string | null\n\n @Property({ name: 'claimed_at', type: Date, nullable: true })\n claimedAt?: Date | null\n\n @Property({ name: 'due_date', type: Date, nullable: true })\n dueDate?: Date | null\n\n @Property({ name: 'escalated_at', type: Date, nullable: true })\n escalatedAt?: Date | null\n\n @Property({ name: 'escalated_to', type: 'varchar', length: 255, nullable: true })\n escalatedTo?: string | null\n\n @Property({ name: 'completed_by', type: 'varchar', length: 255, nullable: true })\n completedBy?: string | null\n\n @Property({ name: 'completed_at', type: Date, nullable: true })\n completedAt?: Date | null\n\n @Property({ name: 'comments', type: 'text', nullable: true })\n comments?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n// ============================================================================\n// Entity: WorkflowEvent\n// ============================================================================\n\n/**\n * WorkflowEvent entity\n *\n * Event sourcing log for workflow execution history.\n * Records all events that occur during workflow execution for audit and replay.\n */\n@Entity({ tableName: 'workflow_events' })\n@Index({ name: 'workflow_events_instance_occurred_idx', properties: ['workflowInstanceId', 'occurredAt'] })\n@Index({ name: 'workflow_events_event_type_idx', properties: ['eventType', 'occurredAt'] })\n@Index({ name: 'workflow_events_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\nexport class WorkflowEvent {\n @PrimaryKey({ type: 'bigint', autoincrement: true })\n id!: string\n\n @Property({ name: 'workflow_instance_id', type: 'uuid' })\n workflowInstanceId!: string\n\n @Property({ name: 'step_instance_id', type: 'uuid', nullable: true })\n stepInstanceId?: string | null\n\n @Property({ name: 'event_type', type: 'varchar', length: 50 })\n eventType!: string\n\n @Property({ name: 'event_data', type: 'jsonb' })\n eventData!: any\n\n @Property({ name: 'occurred_at', type: Date, onCreate: () => new Date() })\n occurredAt: Date = new Date()\n\n @Property({ name: 'user_id', type: 'varchar', length: 255, nullable: true })\n userId?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n}\n\n// ============================================================================\n// Entity: WorkflowEventTrigger\n// ============================================================================\n\n/**\n * WorkflowEventTrigger entity\n *\n * Maps event patterns to workflow definitions for automatic triggering.\n * When a matching event is emitted, the corresponding workflow is started\n * with context mapped from the event payload.\n */\n@Entity({ tableName: 'workflow_event_triggers' })\n@Index({ name: 'workflow_event_triggers_event_pattern_idx', properties: ['eventPattern', 'enabled'] })\n@Index({ name: 'workflow_event_triggers_definition_idx', properties: ['workflowDefinitionId'] })\n@Index({ name: 'workflow_event_triggers_tenant_org_idx', properties: ['tenantId', 'organizationId'] })\n@Index({ name: 'workflow_event_triggers_enabled_priority_idx', properties: ['enabled', 'priority'] })\nexport class WorkflowEventTrigger {\n [OptionalProps]?: 'enabled' | 'priority' | 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'name', type: 'varchar', length: 255 })\n name!: string\n\n @Property({ name: 'description', type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'workflow_definition_id', type: 'uuid' })\n workflowDefinitionId!: string\n\n @Property({ name: 'event_pattern', type: 'varchar', length: 255 })\n eventPattern!: string\n\n @Property({ name: 'config', type: 'jsonb', nullable: true })\n config?: WorkflowEventTriggerConfig | null\n\n @Property({ name: 'enabled', type: 'boolean', default: true })\n enabled: boolean = true\n\n @Property({ name: 'priority', type: 'integer', default: 0 })\n priority: number = 0\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'created_by', type: 'varchar', length: 255, nullable: true })\n createdBy?: string | null\n\n @Property({ name: 'updated_by', type: 'varchar', length: 255, nullable: true })\n updatedBy?: string | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n// Export all entities as default for MikroORM discovery\nexport default [\n WorkflowDefinition,\n WorkflowInstance,\n StepInstance,\n UserTask,\n WorkflowEvent,\n WorkflowEventTrigger,\n]\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -172,9 +172,36 @@ const workflowTransitionSchema = z.object({
|
|
|
172
172
|
// If false, transition fails when any activity fails
|
|
173
173
|
priority: z.number().int().min(0).max(9999).default(0)
|
|
174
174
|
});
|
|
175
|
+
const workflowDefinitionTriggerSchema = z.object({
|
|
176
|
+
triggerId: z.string().min(1).max(100).regex(/^[a-z0-9_-]+$/, "Trigger ID must contain only lowercase letters, numbers, hyphens, and underscores"),
|
|
177
|
+
name: z.string().min(1).max(255),
|
|
178
|
+
description: z.string().max(2e3).optional().nullable(),
|
|
179
|
+
eventPattern: z.string().min(1, "Event pattern is required").max(255, "Event pattern must be at most 255 characters").regex(
|
|
180
|
+
/^(\*|[a-z0-9_]+(\.[a-z0-9_*]+)*)$/i,
|
|
181
|
+
'Event pattern must be "*" or a dot-separated pattern with optional wildcards (e.g., "customers.people.created", "sales.orders.*")'
|
|
182
|
+
),
|
|
183
|
+
config: z.object({
|
|
184
|
+
filterConditions: z.array(z.object({
|
|
185
|
+
field: z.string().min(1).max(255),
|
|
186
|
+
operator: z.enum(["eq", "neq", "gt", "gte", "lt", "lte", "contains", "startsWith", "endsWith", "in", "notIn", "exists", "notExists", "regex"]),
|
|
187
|
+
value: z.any()
|
|
188
|
+
})).max(20).optional(),
|
|
189
|
+
contextMapping: z.array(z.object({
|
|
190
|
+
targetKey: z.string().min(1).max(100),
|
|
191
|
+
sourceExpression: z.string().min(1).max(255),
|
|
192
|
+
defaultValue: z.any().optional()
|
|
193
|
+
})).max(50).optional(),
|
|
194
|
+
debounceMs: z.number().int().min(0).max(36e5).optional(),
|
|
195
|
+
maxConcurrentInstances: z.number().int().min(1).max(1e3).optional()
|
|
196
|
+
}).optional().nullable(),
|
|
197
|
+
enabled: z.boolean().default(true),
|
|
198
|
+
priority: z.number().int().min(0).max(9999).default(0)
|
|
199
|
+
});
|
|
175
200
|
const workflowDefinitionDataSchema = z.object({
|
|
176
201
|
steps: z.array(workflowStepSchema).min(2, "Workflow must have at least START and END steps"),
|
|
177
202
|
transitions: z.array(workflowTransitionSchema).min(1, "Workflow must have at least one transition"),
|
|
203
|
+
triggers: z.array(workflowDefinitionTriggerSchema).optional(),
|
|
204
|
+
// Event triggers for automatic workflow start
|
|
178
205
|
queries: z.array(z.any()).optional(),
|
|
179
206
|
// For Phase 7
|
|
180
207
|
signals: z.array(z.any()).optional(),
|
|
@@ -360,11 +387,90 @@ const startWorkflowInputSchema = z.object({
|
|
|
360
387
|
initialContext: z.record(z.string(), z.any()).optional(),
|
|
361
388
|
metadata: workflowInstanceMetadataSchema.optional()
|
|
362
389
|
});
|
|
390
|
+
const triggerFilterOperatorSchema = z.enum([
|
|
391
|
+
"eq",
|
|
392
|
+
"neq",
|
|
393
|
+
"gt",
|
|
394
|
+
"gte",
|
|
395
|
+
"lt",
|
|
396
|
+
"lte",
|
|
397
|
+
"contains",
|
|
398
|
+
"startsWith",
|
|
399
|
+
"endsWith",
|
|
400
|
+
"in",
|
|
401
|
+
"notIn",
|
|
402
|
+
"exists",
|
|
403
|
+
"notExists",
|
|
404
|
+
"regex"
|
|
405
|
+
]);
|
|
406
|
+
const triggerFilterConditionSchema = z.object({
|
|
407
|
+
field: z.string().min(1).max(255, "Field path must be at most 255 characters"),
|
|
408
|
+
operator: triggerFilterOperatorSchema,
|
|
409
|
+
value: z.any()
|
|
410
|
+
});
|
|
411
|
+
const triggerContextMappingSchema = z.object({
|
|
412
|
+
targetKey: z.string().min(1).max(100, "Target key must be at most 100 characters"),
|
|
413
|
+
sourceExpression: z.string().min(1).max(255, "Source expression must be at most 255 characters"),
|
|
414
|
+
defaultValue: z.any().optional()
|
|
415
|
+
});
|
|
416
|
+
const eventTriggerConfigSchema = z.object({
|
|
417
|
+
filterConditions: z.array(triggerFilterConditionSchema).max(20, "Maximum 20 filter conditions allowed").optional(),
|
|
418
|
+
contextMapping: z.array(triggerContextMappingSchema).max(50, "Maximum 50 context mappings allowed").optional(),
|
|
419
|
+
debounceMs: z.number().int().min(0).max(36e5, "Debounce cannot exceed 1 hour").optional(),
|
|
420
|
+
maxConcurrentInstances: z.number().int().min(1).max(1e3, "Max concurrent instances must be between 1 and 1000").optional()
|
|
421
|
+
});
|
|
422
|
+
const eventPatternSchema = z.string().min(1, "Event pattern is required").max(255, "Event pattern must be at most 255 characters").regex(
|
|
423
|
+
/^(\*|[a-z0-9_]+(\.[a-z0-9_*]+)*)$/i,
|
|
424
|
+
'Event pattern must be "*" or a dot-separated pattern with optional wildcards (e.g., "customers.people.created", "sales.orders.*")'
|
|
425
|
+
);
|
|
426
|
+
const createEventTriggerSchema = z.object({
|
|
427
|
+
name: z.string().min(1).max(255),
|
|
428
|
+
description: z.string().max(2e3).optional().nullable(),
|
|
429
|
+
workflowDefinitionId: uuid,
|
|
430
|
+
eventPattern: eventPatternSchema,
|
|
431
|
+
config: eventTriggerConfigSchema.optional().nullable(),
|
|
432
|
+
enabled: z.boolean().default(true),
|
|
433
|
+
priority: z.number().int().min(0).max(9999).default(0),
|
|
434
|
+
tenantId: uuid,
|
|
435
|
+
organizationId: uuid,
|
|
436
|
+
createdBy: z.string().max(255).optional().nullable()
|
|
437
|
+
});
|
|
438
|
+
const createEventTriggerInputSchema = z.object({
|
|
439
|
+
name: z.string().min(1).max(255),
|
|
440
|
+
description: z.string().max(2e3).optional().nullable(),
|
|
441
|
+
workflowDefinitionId: uuid,
|
|
442
|
+
eventPattern: eventPatternSchema,
|
|
443
|
+
config: eventTriggerConfigSchema.optional().nullable(),
|
|
444
|
+
enabled: z.boolean().default(true).optional(),
|
|
445
|
+
priority: z.number().int().min(0).max(9999).default(0).optional()
|
|
446
|
+
});
|
|
447
|
+
const updateEventTriggerSchema = createEventTriggerSchema.partial().extend({
|
|
448
|
+
id: uuid
|
|
449
|
+
});
|
|
450
|
+
const updateEventTriggerInputSchema = z.object({
|
|
451
|
+
name: z.string().min(1).max(255).optional(),
|
|
452
|
+
description: z.string().max(2e3).optional().nullable(),
|
|
453
|
+
workflowDefinitionId: uuid.optional(),
|
|
454
|
+
eventPattern: eventPatternSchema.optional(),
|
|
455
|
+
config: eventTriggerConfigSchema.optional().nullable(),
|
|
456
|
+
enabled: z.boolean().optional(),
|
|
457
|
+
priority: z.number().int().min(0).max(9999).optional()
|
|
458
|
+
}).strict();
|
|
459
|
+
const eventTriggerFilterSchema = z.object({
|
|
460
|
+
name: z.string().optional(),
|
|
461
|
+
workflowDefinitionId: uuid.optional(),
|
|
462
|
+
eventPattern: z.string().optional(),
|
|
463
|
+
enabled: z.boolean().optional(),
|
|
464
|
+
tenantId: uuid.optional(),
|
|
465
|
+
organizationId: uuid.optional()
|
|
466
|
+
});
|
|
363
467
|
export {
|
|
364
468
|
activityDefinitionSchema,
|
|
365
469
|
activityRetryPolicySchema,
|
|
366
470
|
activityTypeSchema,
|
|
367
471
|
callApiConfigSchema,
|
|
472
|
+
createEventTriggerInputSchema,
|
|
473
|
+
createEventTriggerSchema,
|
|
368
474
|
createStepInstanceSchema,
|
|
369
475
|
createUserTaskSchema,
|
|
370
476
|
createWorkflowDefinitionInputSchema,
|
|
@@ -373,6 +479,9 @@ export {
|
|
|
373
479
|
createWorkflowInstanceSchema,
|
|
374
480
|
escalationActionSchema,
|
|
375
481
|
escalationTriggerSchema,
|
|
482
|
+
eventPatternSchema,
|
|
483
|
+
eventTriggerConfigSchema,
|
|
484
|
+
eventTriggerFilterSchema,
|
|
376
485
|
localizedMessageSchema,
|
|
377
486
|
retryPolicySchema,
|
|
378
487
|
startPreConditionSchema,
|
|
@@ -382,6 +491,11 @@ export {
|
|
|
382
491
|
subWorkflowConfigSchema,
|
|
383
492
|
transitionConditionSchema,
|
|
384
493
|
transitionTriggerSchema,
|
|
494
|
+
triggerContextMappingSchema,
|
|
495
|
+
triggerFilterConditionSchema,
|
|
496
|
+
triggerFilterOperatorSchema,
|
|
497
|
+
updateEventTriggerInputSchema,
|
|
498
|
+
updateEventTriggerSchema,
|
|
385
499
|
updateStepInstanceSchema,
|
|
386
500
|
updateUserTaskSchema,
|
|
387
501
|
updateWorkflowDefinitionInputSchema,
|
|
@@ -392,6 +506,7 @@ export {
|
|
|
392
506
|
userTaskStatusSchema,
|
|
393
507
|
workflowDefinitionDataSchema,
|
|
394
508
|
workflowDefinitionFilterSchema,
|
|
509
|
+
workflowDefinitionTriggerSchema,
|
|
395
510
|
workflowEventFilterSchema,
|
|
396
511
|
workflowExecutionContextSchema,
|
|
397
512
|
workflowInstanceFilterSchema,
|
|
@@ -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\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(true).optional(), // If false, transition fails when any activity fails\n priority: z.number().int().min(0).max(9999).default(0),\n})\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 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)\nexport const updateWorkflowDefinitionInputSchema = z.object({\n definition: workflowDefinitionDataSchema.optional(),\n enabled: z.boolean().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"],
|
|
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\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(true).optional(), // If false, transition fails when any activity fails\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)\nexport const updateWorkflowDefinitionInputSchema = z.object({\n definition: workflowDefinitionDataSchema.optional(),\n enabled: z.boolean().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
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createModuleEvents } from "@open-mercato/shared/modules/events";
|
|
2
|
+
const events = [
|
|
3
|
+
// Workflow Definitions
|
|
4
|
+
{ id: "workflows.definitions.created", label: "Workflow Definition Created", entity: "definitions", category: "crud" },
|
|
5
|
+
{ id: "workflows.definitions.updated", label: "Workflow Definition Updated", entity: "definitions", category: "crud" },
|
|
6
|
+
{ id: "workflows.definitions.deleted", label: "Workflow Definition Deleted", entity: "definitions", category: "crud" },
|
|
7
|
+
// Workflow Instances
|
|
8
|
+
{ id: "workflows.instances.created", label: "Workflow Instance Created", entity: "instances", category: "crud" },
|
|
9
|
+
{ id: "workflows.instances.updated", label: "Workflow Instance Updated", entity: "instances", category: "crud" },
|
|
10
|
+
{ id: "workflows.instances.deleted", label: "Workflow Instance Deleted", entity: "instances", category: "crud" },
|
|
11
|
+
// Workflow Lifecycle Events
|
|
12
|
+
{ id: "workflows.instance.started", label: "Workflow Started", category: "lifecycle" },
|
|
13
|
+
{ id: "workflows.instance.completed", label: "Workflow Completed", category: "lifecycle" },
|
|
14
|
+
{ id: "workflows.instance.failed", label: "Workflow Failed", category: "lifecycle" },
|
|
15
|
+
{ id: "workflows.instance.cancelled", label: "Workflow Cancelled", category: "lifecycle" },
|
|
16
|
+
{ id: "workflows.instance.paused", label: "Workflow Paused", category: "lifecycle" },
|
|
17
|
+
{ id: "workflows.instance.resumed", label: "Workflow Resumed", category: "lifecycle" },
|
|
18
|
+
// Activity Events
|
|
19
|
+
{ id: "workflows.activity.started", label: "Activity Started", category: "lifecycle" },
|
|
20
|
+
{ id: "workflows.activity.completed", label: "Activity Completed", category: "lifecycle" },
|
|
21
|
+
{ id: "workflows.activity.failed", label: "Activity Failed", category: "lifecycle" },
|
|
22
|
+
// Event Triggers
|
|
23
|
+
{ id: "workflows.triggers.created", label: "Trigger Created", entity: "triggers", category: "crud" },
|
|
24
|
+
{ id: "workflows.triggers.updated", label: "Trigger Updated", entity: "triggers", category: "crud" },
|
|
25
|
+
{ id: "workflows.triggers.deleted", label: "Trigger Deleted", entity: "triggers", category: "crud" }
|
|
26
|
+
];
|
|
27
|
+
const eventsConfig = createModuleEvents({
|
|
28
|
+
moduleId: "workflows",
|
|
29
|
+
events
|
|
30
|
+
});
|
|
31
|
+
const emitWorkflowsEvent = eventsConfig.emit;
|
|
32
|
+
var events_default = eventsConfig;
|
|
33
|
+
export {
|
|
34
|
+
events_default as default,
|
|
35
|
+
emitWorkflowsEvent,
|
|
36
|
+
eventsConfig
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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.definitions.created', label: 'Workflow Definition Created', entity: 'definitions', category: 'crud' },\n { id: 'workflows.definitions.updated', label: 'Workflow Definition Updated', entity: 'definitions', category: 'crud' },\n { id: 'workflows.definitions.deleted', label: 'Workflow Definition Deleted', entity: 'definitions', category: 'crud' },\n\n // Workflow Instances\n { id: 'workflows.instances.created', label: 'Workflow Instance Created', entity: 'instances', category: 'crud' },\n { id: 'workflows.instances.updated', label: 'Workflow Instance Updated', entity: 'instances', category: 'crud' },\n { id: 'workflows.instances.deleted', label: 'Workflow Instance Deleted', entity: 'instances', 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.triggers.created', label: 'Trigger Created', entity: 'triggers', category: 'crud' },\n { id: 'workflows.triggers.updated', label: 'Trigger Updated', entity: 'triggers', category: 'crud' },\n { id: 'workflows.triggers.deleted', label: 'Trigger Deleted', entity: 'triggers', 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,iCAAiC,OAAO,+BAA+B,QAAQ,eAAe,UAAU,OAAO;AAAA,EACrH,EAAE,IAAI,iCAAiC,OAAO,+BAA+B,QAAQ,eAAe,UAAU,OAAO;AAAA,EACrH,EAAE,IAAI,iCAAiC,OAAO,+BAA+B,QAAQ,eAAe,UAAU,OAAO;AAAA;AAAA,EAGrH,EAAE,IAAI,+BAA+B,OAAO,6BAA6B,QAAQ,aAAa,UAAU,OAAO;AAAA,EAC/G,EAAE,IAAI,+BAA+B,OAAO,6BAA6B,QAAQ,aAAa,UAAU,OAAO;AAAA,EAC/G,EAAE,IAAI,+BAA+B,OAAO,6BAA6B,QAAQ,aAAa,UAAU,OAAO;AAAA;AAAA,EAG/G,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,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AAAA,EACnG,EAAE,IAAI,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AAAA,EACnG,EAAE,IAAI,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AACrG;AAEO,MAAM,eAAe,mBAAmB;AAAA,EAC7C,UAAU;AAAA,EACV;AACF,CAAC;AAGM,MAAM,qBAAqB,aAAa;AAK/C,IAAO,iBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|