@lssm/example.workflow-system 0.0.0-canary-20251217080011 → 0.0.0-canary-20251219202229
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/LICENSE +21 -0
- package/dist/approval/approval.contracts.d.ts +136 -135
- package/dist/approval/approval.contracts.d.ts.map +1 -0
- package/dist/approval/approval.contracts.js +23 -24
- package/dist/approval/approval.contracts.js.map +1 -0
- package/dist/approval/approval.enum.d.ts +5 -4
- package/dist/approval/approval.enum.d.ts.map +1 -0
- package/dist/approval/approval.enum.js +5 -5
- package/dist/approval/approval.enum.js.map +1 -0
- package/dist/approval/approval.event.d.ts +34 -33
- package/dist/approval/approval.event.d.ts.map +1 -0
- package/dist/approval/approval.event.js +34 -34
- package/dist/approval/approval.event.js.map +1 -0
- package/dist/approval/approval.handler.d.ts +2 -1
- package/dist/approval/approval.handler.d.ts.map +1 -0
- package/dist/approval/approval.handler.js +2 -1
- package/dist/approval/approval.handler.js.map +1 -0
- package/dist/approval/approval.schema.d.ts +26 -25
- package/dist/approval/approval.schema.d.ts.map +1 -0
- package/dist/approval/approval.schema.js +24 -25
- package/dist/approval/approval.schema.js.map +1 -0
- package/dist/docs/workflow-system.docblock.js +2 -1
- package/dist/docs/workflow-system.docblock.js.map +1 -0
- package/dist/entities/approval.d.ts +38 -37
- package/dist/entities/approval.d.ts.map +1 -0
- package/dist/entities/approval.js +44 -44
- package/dist/entities/approval.js.map +1 -0
- package/dist/entities/index.d.ts +129 -128
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/instance.d.ts +49 -48
- package/dist/entities/instance.d.ts.map +1 -0
- package/dist/entities/instance.js +58 -58
- package/dist/entities/instance.js.map +1 -0
- package/dist/entities/step.d.ts +34 -33
- package/dist/entities/step.d.ts.map +1 -0
- package/dist/entities/step.js +37 -37
- package/dist/entities/step.js.map +1 -0
- package/dist/entities/workflow.d.ts +25 -24
- package/dist/entities/workflow.d.ts.map +1 -0
- package/dist/entities/workflow.js +28 -28
- package/dist/entities/workflow.js.map +1 -0
- package/dist/example.d.ts +2 -1
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +2 -1
- package/dist/example.js.map +1 -0
- package/dist/instance/instance.contracts.d.ts +258 -257
- package/dist/instance/instance.contracts.d.ts.map +1 -0
- package/dist/instance/instance.contracts.js +23 -24
- package/dist/instance/instance.contracts.js.map +1 -0
- package/dist/instance/instance.enum.d.ts +4 -3
- package/dist/instance/instance.enum.d.ts.map +1 -0
- package/dist/instance/instance.enum.js +4 -4
- package/dist/instance/instance.enum.js.map +1 -0
- package/dist/instance/instance.event.d.ts +89 -88
- package/dist/instance/instance.event.d.ts.map +1 -0
- package/dist/instance/instance.event.js +31 -31
- package/dist/instance/instance.event.js.map +1 -0
- package/dist/instance/instance.handler.d.ts +2 -1
- package/dist/instance/instance.handler.d.ts.map +1 -0
- package/dist/instance/instance.handler.js +2 -1
- package/dist/instance/instance.handler.js.map +1 -0
- package/dist/instance/instance.schema.d.ts +56 -55
- package/dist/instance/instance.schema.d.ts.map +1 -0
- package/dist/instance/instance.schema.js +37 -38
- package/dist/instance/instance.schema.js.map +1 -0
- package/dist/libs/contracts/dist/capabilities/openbanking.js +2 -1
- package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
- package/dist/libs/contracts/dist/contract-registry/schemas.js +2 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/index.js +2 -6
- package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
- package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
- package/dist/libs/contracts/dist/docs/presentations.js +2 -1
- package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
- package/dist/libs/contracts/dist/docs/registry.js +2 -1
- package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
- package/dist/libs/contracts/dist/events.js +2 -1
- package/dist/libs/contracts/dist/events.js.map +1 -0
- package/dist/libs/contracts/dist/index.js +3 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +65 -66
- package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +60 -61
- package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +2 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/powens.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/contracts.js +44 -45
- package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
- package/dist/libs/contracts/dist/llm/exporters.js +2 -1
- package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
- package/dist/libs/contracts/dist/onboarding-base.js +22 -23
- package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
- package/dist/libs/contracts/dist/ownership.js +4 -2
- package/dist/libs/contracts/dist/ownership.js.map +1 -0
- package/dist/libs/contracts/dist/presentations.v2.js +2 -1
- package/dist/libs/contracts/dist/presentations.v2.js.map +1 -0
- package/dist/libs/contracts/dist/regenerator/service.js +2 -1
- package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
- package/dist/libs/contracts/dist/schema/dist/index.js +3874 -6
- package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -0
- package/dist/libs/contracts/dist/spec.js +2 -1
- package/dist/libs/contracts/dist/spec.js.map +1 -0
- package/dist/libs/schema/dist/index.js +4922 -6
- package/dist/libs/schema/dist/index.js.map +1 -0
- package/dist/presentations/index.d.ts +2 -1
- package/dist/presentations/index.d.ts.map +1 -0
- package/dist/presentations/index.js +2 -1
- package/dist/presentations/index.js.map +1 -0
- package/dist/shared/mock-data.d.ts +2 -1
- package/dist/shared/mock-data.d.ts.map +1 -0
- package/dist/shared/mock-data.js +2 -1
- package/dist/shared/mock-data.js.map +1 -0
- package/dist/shared/types.d.ts +2 -1
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/state-machine/index.d.ts +2 -1
- package/dist/state-machine/index.d.ts.map +1 -0
- package/dist/state-machine/index.js +2 -1
- package/dist/state-machine/index.js.map +1 -0
- package/dist/workflow/workflow.contracts.d.ts +248 -247
- package/dist/workflow/workflow.contracts.d.ts.map +1 -0
- package/dist/workflow/workflow.contracts.js +13 -14
- package/dist/workflow/workflow.contracts.js.map +1 -0
- package/dist/workflow/workflow.enum.d.ts +7 -6
- package/dist/workflow/workflow.enum.d.ts.map +1 -0
- package/dist/workflow/workflow.enum.js +7 -7
- package/dist/workflow/workflow.enum.js.map +1 -0
- package/dist/workflow/workflow.event.d.ts +35 -34
- package/dist/workflow/workflow.event.d.ts.map +1 -0
- package/dist/workflow/workflow.event.js +19 -19
- package/dist/workflow/workflow.event.js.map +1 -0
- package/dist/workflow/workflow.handler.d.ts +2 -1
- package/dist/workflow/workflow.handler.d.ts.map +1 -0
- package/dist/workflow/workflow.handler.js +2 -1
- package/dist/workflow/workflow.handler.js.map +1 -0
- package/dist/workflow/workflow.schema.d.ts +65 -64
- package/dist/workflow/workflow.schema.d.ts.map +1 -0
- package/dist/workflow/workflow.schema.js +47 -48
- package/dist/workflow/workflow.schema.js.map +1 -0
- package/dist/workflow-system.feature.d.ts +2 -1
- package/dist/workflow-system.feature.d.ts.map +1 -0
- package/dist/workflow-system.feature.js +2 -1
- package/dist/workflow-system.feature.js.map +1 -0
- package/package.json +13 -12
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -56
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance.js","names":["defineEntityEnum","defineEntity","field","index"],"sources":["../../src/entities/instance.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\n\n/**\n * Instance status enum - lifecycle of a workflow instance.\n */\nexport const InstanceStatusEnum = defineEntityEnum({\n name: 'InstanceStatus',\n values: [\n 'PENDING', // Created but not started\n 'RUNNING', // Currently executing\n 'WAITING', // Waiting for approval/event\n 'PAUSED', // Manually paused\n 'COMPLETED', // Successfully completed\n 'CANCELLED', // Cancelled by user\n 'FAILED', // Failed due to error\n 'TIMEOUT', // Timed out\n ] as const,\n schema: 'workflow',\n description: 'Status of a workflow instance.',\n});\n\n/**\n * Step execution status enum.\n */\nexport const StepExecutionStatusEnum = defineEntityEnum({\n name: 'StepExecutionStatus',\n values: [\n 'PENDING', // Not yet started\n 'ACTIVE', // Currently active\n 'COMPLETED', // Successfully completed\n 'SKIPPED', // Skipped due to condition\n 'FAILED', // Failed\n 'TIMEOUT', // Timed out\n ] as const,\n schema: 'workflow',\n description: 'Status of a step execution.',\n});\n\n/**\n * WorkflowInstance entity - a running instance of a workflow.\n *\n * When a workflow is triggered, an instance is created. The instance\n * tracks the current state and all data associated with this execution.\n */\nexport const WorkflowInstanceEntity = defineEntity({\n name: 'WorkflowInstance',\n description: 'A running instance of a workflow definition.',\n schema: 'workflow',\n map: 'workflow_instance',\n fields: {\n id: field.id({ description: 'Unique instance ID' }),\n\n // Parent workflow\n workflowDefinitionId: field.foreignKey(),\n\n // Reference\n referenceId: field.string({\n isOptional: true,\n description: 'External reference (e.g., order ID)',\n }),\n referenceType: field.string({\n isOptional: true,\n description: 'Type of reference (e.g., \"Order\")',\n }),\n\n // Current state\n status: field.enum('InstanceStatus', { default: 'PENDING' }),\n currentStepId: field.string({\n isOptional: true,\n description: 'Current step being executed',\n }),\n\n // Context data - passed through the workflow\n contextData: field.json({ description: 'Data context for this instance' }),\n\n // Trigger info\n triggeredBy: field.foreignKey({\n description: 'User who triggered the workflow',\n }),\n triggerSource: field.string({\n isOptional: true,\n description: 'Source of trigger (e.g., \"api\", \"ui\")',\n }),\n\n // Ownership\n organizationId: field.foreignKey(),\n\n // Priority\n priority: field.int({\n default: 0,\n description: 'Processing priority (higher = more urgent)',\n }),\n\n // Deadlines\n dueAt: field.dateTime({\n isOptional: true,\n description: 'When this instance should complete',\n }),\n\n // Results\n outcome: field.string({\n isOptional: true,\n description: 'Final outcome (e.g., \"approved\", \"rejected\")',\n }),\n resultData: field.json({\n isOptional: true,\n description: 'Final result data',\n }),\n errorMessage: field.string({\n isOptional: true,\n description: 'Error message if failed',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n startedAt: field.dateTime({ isOptional: true }),\n completedAt: field.dateTime({ isOptional: true }),\n\n // Relations\n workflowDefinition: field.belongsTo(\n 'WorkflowDefinition',\n ['workflowDefinitionId'],\n ['id']\n ),\n currentStep: field.belongsTo('WorkflowStep', ['currentStepId'], ['id']),\n stepExecutions: field.hasMany('StepExecution'),\n approvalRequests: field.hasMany('ApprovalRequest'),\n },\n indexes: [\n index.on(['organizationId', 'status']),\n index.on(['workflowDefinitionId', 'status']),\n index.on(['referenceType', 'referenceId']),\n index.on(['triggeredBy', 'status']),\n index.on(['status', 'dueAt']),\n index.on(['createdAt']),\n ],\n enums: [InstanceStatusEnum],\n});\n\n/**\n * StepExecution entity - tracks execution of a step within an instance.\n */\nexport const StepExecutionEntity = defineEntity({\n name: 'StepExecution',\n description: 'Execution record of a step within a workflow instance.',\n schema: 'workflow',\n map: 'step_execution',\n fields: {\n id: field.id({ description: 'Unique execution ID' }),\n\n // Parent\n workflowInstanceId: field.foreignKey(),\n workflowStepId: field.foreignKey(),\n\n // Status\n status: field.enum('StepExecutionStatus', { default: 'PENDING' }),\n\n // Execution order\n executionOrder: field.int({\n default: 0,\n description: 'Order of execution within instance',\n }),\n\n // Input/Output\n inputData: field.json({\n isOptional: true,\n description: 'Data when entering step',\n }),\n outputData: field.json({\n isOptional: true,\n description: 'Data when exiting step',\n }),\n\n // Action taken\n actionTaken: field.string({\n isOptional: true,\n description: 'Action that caused transition (e.g., \"approve\")',\n }),\n transitionedTo: field.string({\n isOptional: true,\n description: 'Step key transitioned to',\n }),\n\n // Executor\n executedBy: field.string({\n isOptional: true,\n description: 'User who completed this step',\n }),\n\n // Error\n errorMessage: field.string({ isOptional: true }),\n errorDetails: field.json({ isOptional: true }),\n\n // Retries\n retryCount: field.int({ default: 0 }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n startedAt: field.dateTime({ isOptional: true }),\n completedAt: field.dateTime({ isOptional: true }),\n\n // Relations\n workflowInstance: field.belongsTo(\n 'WorkflowInstance',\n ['workflowInstanceId'],\n ['id'],\n { onDelete: 'Cascade' }\n ),\n workflowStep: field.belongsTo('WorkflowStep', ['workflowStepId'], ['id']),\n },\n indexes: [\n index.on(['workflowInstanceId', 'executionOrder']),\n index.on(['workflowInstanceId', 'workflowStepId']),\n index.on(['status']),\n ],\n enums: [StepExecutionStatusEnum],\n});\n"],"mappings":"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"}
|
package/dist/entities/step.d.ts
CHANGED
|
@@ -1,49 +1,50 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema790 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/entities/step.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Step type enum - what kind of step this is.
|
|
6
6
|
*/
|
|
7
|
-
declare const StepTypeEnum:
|
|
7
|
+
declare const StepTypeEnum: _lssm_lib_schema790.EntityEnumDef;
|
|
8
8
|
/**
|
|
9
9
|
* Approval mode enum - how approvals are handled.
|
|
10
10
|
*/
|
|
11
|
-
declare const ApprovalModeEnum:
|
|
11
|
+
declare const ApprovalModeEnum: _lssm_lib_schema790.EntityEnumDef;
|
|
12
12
|
/**
|
|
13
13
|
* WorkflowStep entity - defines a step in a workflow.
|
|
14
14
|
*
|
|
15
15
|
* Each step represents a state in the workflow state machine,
|
|
16
16
|
* with transitions defined by the `transitions` JSON field.
|
|
17
17
|
*/
|
|
18
|
-
declare const WorkflowStepEntity:
|
|
19
|
-
id:
|
|
20
|
-
workflowDefinitionId:
|
|
21
|
-
name:
|
|
22
|
-
key:
|
|
23
|
-
description:
|
|
24
|
-
type:
|
|
25
|
-
position:
|
|
26
|
-
transitions:
|
|
27
|
-
approvalMode:
|
|
28
|
-
approverRoles:
|
|
29
|
-
approverUserIds:
|
|
30
|
-
escalationConfig:
|
|
31
|
-
assigneeRoles:
|
|
32
|
-
taskTemplate:
|
|
33
|
-
conditionExpression:
|
|
34
|
-
waitDuration:
|
|
35
|
-
waitForEvent:
|
|
36
|
-
actionType:
|
|
37
|
-
actionConfig:
|
|
38
|
-
timeoutSeconds:
|
|
39
|
-
slaSeconds:
|
|
40
|
-
notifyOnEnter:
|
|
41
|
-
notifyOnExit:
|
|
42
|
-
metadata:
|
|
43
|
-
createdAt:
|
|
44
|
-
updatedAt:
|
|
45
|
-
workflowDefinition:
|
|
46
|
-
executions:
|
|
18
|
+
declare const WorkflowStepEntity: _lssm_lib_schema790.EntitySpec<{
|
|
19
|
+
id: _lssm_lib_schema790.EntityScalarField;
|
|
20
|
+
workflowDefinitionId: _lssm_lib_schema790.EntityScalarField;
|
|
21
|
+
name: _lssm_lib_schema790.EntityScalarField;
|
|
22
|
+
key: _lssm_lib_schema790.EntityScalarField;
|
|
23
|
+
description: _lssm_lib_schema790.EntityScalarField;
|
|
24
|
+
type: _lssm_lib_schema790.EntityEnumField;
|
|
25
|
+
position: _lssm_lib_schema790.EntityScalarField;
|
|
26
|
+
transitions: _lssm_lib_schema790.EntityScalarField;
|
|
27
|
+
approvalMode: _lssm_lib_schema790.EntityEnumField;
|
|
28
|
+
approverRoles: _lssm_lib_schema790.EntityScalarField;
|
|
29
|
+
approverUserIds: _lssm_lib_schema790.EntityScalarField;
|
|
30
|
+
escalationConfig: _lssm_lib_schema790.EntityScalarField;
|
|
31
|
+
assigneeRoles: _lssm_lib_schema790.EntityScalarField;
|
|
32
|
+
taskTemplate: _lssm_lib_schema790.EntityScalarField;
|
|
33
|
+
conditionExpression: _lssm_lib_schema790.EntityScalarField;
|
|
34
|
+
waitDuration: _lssm_lib_schema790.EntityScalarField;
|
|
35
|
+
waitForEvent: _lssm_lib_schema790.EntityScalarField;
|
|
36
|
+
actionType: _lssm_lib_schema790.EntityScalarField;
|
|
37
|
+
actionConfig: _lssm_lib_schema790.EntityScalarField;
|
|
38
|
+
timeoutSeconds: _lssm_lib_schema790.EntityScalarField;
|
|
39
|
+
slaSeconds: _lssm_lib_schema790.EntityScalarField;
|
|
40
|
+
notifyOnEnter: _lssm_lib_schema790.EntityScalarField;
|
|
41
|
+
notifyOnExit: _lssm_lib_schema790.EntityScalarField;
|
|
42
|
+
metadata: _lssm_lib_schema790.EntityScalarField;
|
|
43
|
+
createdAt: _lssm_lib_schema790.EntityScalarField;
|
|
44
|
+
updatedAt: _lssm_lib_schema790.EntityScalarField;
|
|
45
|
+
workflowDefinition: _lssm_lib_schema790.EntityRelationField;
|
|
46
|
+
executions: _lssm_lib_schema790.EntityRelationField;
|
|
47
47
|
}>;
|
|
48
48
|
//#endregion
|
|
49
|
-
export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
|
|
49
|
+
export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
|
|
50
|
+
//# sourceMappingURL=step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.d.ts","names":[],"sources":["../../src/entities/step.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,YAcX,EAAA,mBAAA,CAduB,aAcvB;AAKF;AAkBA;;cAlBa,kBAUX,mBAAA,CAV2B;;;;;;;cAkBhB,wCAAkB;MAwH7B,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;uDAxH6B;EAAA,UAAA,uCAAA"}
|
package/dist/entities/step.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
|
|
3
2
|
|
|
4
3
|
//#region src/entities/step.ts
|
|
5
4
|
/**
|
|
6
5
|
* Step type enum - what kind of step this is.
|
|
7
6
|
*/
|
|
8
|
-
const StepTypeEnum =
|
|
7
|
+
const StepTypeEnum = Z5({
|
|
9
8
|
name: "StepType",
|
|
10
9
|
values: [
|
|
11
10
|
"START",
|
|
@@ -23,7 +22,7 @@ const StepTypeEnum = defineEntityEnum({
|
|
|
23
22
|
/**
|
|
24
23
|
* Approval mode enum - how approvals are handled.
|
|
25
24
|
*/
|
|
26
|
-
const ApprovalModeEnum =
|
|
25
|
+
const ApprovalModeEnum = Z5({
|
|
27
26
|
name: "ApprovalMode",
|
|
28
27
|
values: [
|
|
29
28
|
"ANY",
|
|
@@ -40,96 +39,97 @@ const ApprovalModeEnum = defineEntityEnum({
|
|
|
40
39
|
* Each step represents a state in the workflow state machine,
|
|
41
40
|
* with transitions defined by the `transitions` JSON field.
|
|
42
41
|
*/
|
|
43
|
-
const WorkflowStepEntity =
|
|
42
|
+
const WorkflowStepEntity = L5({
|
|
44
43
|
name: "WorkflowStep",
|
|
45
44
|
description: "A single step/state in a workflow definition.",
|
|
46
45
|
schema: "workflow",
|
|
47
46
|
map: "workflow_step",
|
|
48
47
|
fields: {
|
|
49
|
-
id:
|
|
50
|
-
workflowDefinitionId:
|
|
51
|
-
name:
|
|
52
|
-
key:
|
|
53
|
-
description:
|
|
54
|
-
type:
|
|
55
|
-
position:
|
|
48
|
+
id: _5.id({ description: "Unique step ID" }),
|
|
49
|
+
workflowDefinitionId: _5.foreignKey(),
|
|
50
|
+
name: _5.string({ description: "Human-readable step name" }),
|
|
51
|
+
key: _5.string({ description: "Unique key within workflow (e.g., \"manager_approval\")" }),
|
|
52
|
+
description: _5.string({ isOptional: true }),
|
|
53
|
+
type: _5.enum("StepType", { default: "TASK" }),
|
|
54
|
+
position: _5.int({
|
|
56
55
|
default: 0,
|
|
57
56
|
description: "Order for display"
|
|
58
57
|
}),
|
|
59
|
-
transitions:
|
|
60
|
-
approvalMode:
|
|
58
|
+
transitions: _5.json({ description: "Map of action -> next step key" }),
|
|
59
|
+
approvalMode: _5.enum("ApprovalMode", {
|
|
61
60
|
default: "ANY",
|
|
62
61
|
isOptional: true
|
|
63
62
|
}),
|
|
64
|
-
approverRoles:
|
|
63
|
+
approverRoles: _5.string({
|
|
65
64
|
isArray: true,
|
|
66
65
|
description: "Roles that can approve"
|
|
67
66
|
}),
|
|
68
|
-
approverUserIds:
|
|
67
|
+
approverUserIds: _5.string({
|
|
69
68
|
isArray: true,
|
|
70
69
|
description: "Specific users that can approve"
|
|
71
70
|
}),
|
|
72
|
-
escalationConfig:
|
|
71
|
+
escalationConfig: _5.json({
|
|
73
72
|
isOptional: true,
|
|
74
73
|
description: "Escalation rules"
|
|
75
74
|
}),
|
|
76
|
-
assigneeRoles:
|
|
75
|
+
assigneeRoles: _5.string({
|
|
77
76
|
isArray: true,
|
|
78
77
|
description: "Roles that can be assigned"
|
|
79
78
|
}),
|
|
80
|
-
taskTemplate:
|
|
79
|
+
taskTemplate: _5.json({
|
|
81
80
|
isOptional: true,
|
|
82
81
|
description: "Template for task creation"
|
|
83
82
|
}),
|
|
84
|
-
conditionExpression:
|
|
83
|
+
conditionExpression: _5.string({
|
|
85
84
|
isOptional: true,
|
|
86
85
|
description: "Expression for branching"
|
|
87
86
|
}),
|
|
88
|
-
waitDuration:
|
|
87
|
+
waitDuration: _5.int({
|
|
89
88
|
isOptional: true,
|
|
90
89
|
description: "Wait duration in seconds"
|
|
91
90
|
}),
|
|
92
|
-
waitForEvent:
|
|
91
|
+
waitForEvent: _5.string({
|
|
93
92
|
isOptional: true,
|
|
94
93
|
description: "Event name to wait for"
|
|
95
94
|
}),
|
|
96
|
-
actionType:
|
|
95
|
+
actionType: _5.string({
|
|
97
96
|
isOptional: true,
|
|
98
97
|
description: "Action to execute"
|
|
99
98
|
}),
|
|
100
|
-
actionConfig:
|
|
99
|
+
actionConfig: _5.json({
|
|
101
100
|
isOptional: true,
|
|
102
101
|
description: "Action parameters"
|
|
103
102
|
}),
|
|
104
|
-
timeoutSeconds:
|
|
103
|
+
timeoutSeconds: _5.int({
|
|
105
104
|
isOptional: true,
|
|
106
105
|
description: "Step timeout"
|
|
107
106
|
}),
|
|
108
|
-
slaSeconds:
|
|
107
|
+
slaSeconds: _5.int({
|
|
109
108
|
isOptional: true,
|
|
110
109
|
description: "SLA deadline"
|
|
111
110
|
}),
|
|
112
|
-
notifyOnEnter:
|
|
111
|
+
notifyOnEnter: _5.json({
|
|
113
112
|
isOptional: true,
|
|
114
113
|
description: "Notification config when entering step"
|
|
115
114
|
}),
|
|
116
|
-
notifyOnExit:
|
|
115
|
+
notifyOnExit: _5.json({
|
|
117
116
|
isOptional: true,
|
|
118
117
|
description: "Notification config when exiting step"
|
|
119
118
|
}),
|
|
120
|
-
metadata:
|
|
121
|
-
createdAt:
|
|
122
|
-
updatedAt:
|
|
123
|
-
workflowDefinition:
|
|
124
|
-
executions:
|
|
119
|
+
metadata: _5.json({ isOptional: true }),
|
|
120
|
+
createdAt: _5.createdAt(),
|
|
121
|
+
updatedAt: _5.updatedAt(),
|
|
122
|
+
workflowDefinition: _5.belongsTo("WorkflowDefinition", ["workflowDefinitionId"], ["id"], { onDelete: "Cascade" }),
|
|
123
|
+
executions: _5.hasMany("StepExecution")
|
|
125
124
|
},
|
|
126
125
|
indexes: [
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
b5.unique(["workflowDefinitionId", "key"]),
|
|
127
|
+
b5.on(["workflowDefinitionId", "position"]),
|
|
128
|
+
b5.on(["type"])
|
|
130
129
|
],
|
|
131
130
|
enums: [StepTypeEnum, ApprovalModeEnum]
|
|
132
131
|
});
|
|
133
132
|
|
|
134
133
|
//#endregion
|
|
135
|
-
export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
|
|
134
|
+
export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
|
|
135
|
+
//# sourceMappingURL=step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","names":["defineEntityEnum","defineEntity","field","index"],"sources":["../../src/entities/step.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\n\n/**\n * Step type enum - what kind of step this is.\n */\nexport const StepTypeEnum = defineEntityEnum({\n name: 'StepType',\n values: [\n 'START', // Entry point\n 'APPROVAL', // Requires human approval\n 'TASK', // Task to be completed\n 'CONDITION', // Branching based on conditions\n 'PARALLEL', // Parallel execution\n 'WAIT', // Wait for event/time\n 'ACTION', // Automated action\n 'END', // Terminal state\n ] as const,\n schema: 'workflow',\n description: 'Type of workflow step.',\n});\n\n/**\n * Approval mode enum - how approvals are handled.\n */\nexport const ApprovalModeEnum = defineEntityEnum({\n name: 'ApprovalMode',\n values: [\n 'ANY', // Any one approver can approve\n 'ALL', // All approvers must approve\n 'MAJORITY', // Majority must approve\n 'SEQUENTIAL', // Approvers must approve in order\n ] as const,\n schema: 'workflow',\n description: 'How multiple approvers are handled.',\n});\n\n/**\n * WorkflowStep entity - defines a step in a workflow.\n *\n * Each step represents a state in the workflow state machine,\n * with transitions defined by the `transitions` JSON field.\n */\nexport const WorkflowStepEntity = defineEntity({\n name: 'WorkflowStep',\n description: 'A single step/state in a workflow definition.',\n schema: 'workflow',\n map: 'workflow_step',\n fields: {\n id: field.id({ description: 'Unique step ID' }),\n\n // Parent workflow\n workflowDefinitionId: field.foreignKey(),\n\n // Identity\n name: field.string({ description: 'Human-readable step name' }),\n key: field.string({\n description: 'Unique key within workflow (e.g., \"manager_approval\")',\n }),\n description: field.string({ isOptional: true }),\n\n // Type\n type: field.enum('StepType', { default: 'TASK' }),\n\n // Position in UI\n position: field.int({ default: 0, description: 'Order for display' }),\n\n // State machine transitions (JSON: { \"approve\": \"next_step\", \"reject\": \"rejected\" })\n transitions: field.json({ description: 'Map of action -> next step key' }),\n\n // Approval configuration (when type is APPROVAL)\n approvalMode: field.enum('ApprovalMode', {\n default: 'ANY',\n isOptional: true,\n }),\n approverRoles: field.string({\n isArray: true,\n description: 'Roles that can approve',\n }),\n approverUserIds: field.string({\n isArray: true,\n description: 'Specific users that can approve',\n }),\n escalationConfig: field.json({\n isOptional: true,\n description: 'Escalation rules',\n }),\n\n // Task configuration (when type is TASK)\n assigneeRoles: field.string({\n isArray: true,\n description: 'Roles that can be assigned',\n }),\n taskTemplate: field.json({\n isOptional: true,\n description: 'Template for task creation',\n }),\n\n // Condition configuration (when type is CONDITION)\n conditionExpression: field.string({\n isOptional: true,\n description: 'Expression for branching',\n }),\n\n // Wait configuration (when type is WAIT)\n waitDuration: field.int({\n isOptional: true,\n description: 'Wait duration in seconds',\n }),\n waitForEvent: field.string({\n isOptional: true,\n description: 'Event name to wait for',\n }),\n\n // Action configuration (when type is ACTION)\n actionType: field.string({\n isOptional: true,\n description: 'Action to execute',\n }),\n actionConfig: field.json({\n isOptional: true,\n description: 'Action parameters',\n }),\n\n // Timeout & SLA\n timeoutSeconds: field.int({\n isOptional: true,\n description: 'Step timeout',\n }),\n slaSeconds: field.int({ isOptional: true, description: 'SLA deadline' }),\n\n // Notifications\n notifyOnEnter: field.json({\n isOptional: true,\n description: 'Notification config when entering step',\n }),\n notifyOnExit: field.json({\n isOptional: true,\n description: 'Notification config when exiting step',\n }),\n\n // Metadata\n metadata: field.json({ isOptional: true }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n workflowDefinition: field.belongsTo(\n 'WorkflowDefinition',\n ['workflowDefinitionId'],\n ['id'],\n { onDelete: 'Cascade' }\n ),\n executions: field.hasMany('StepExecution'),\n },\n indexes: [\n index.unique(['workflowDefinitionId', 'key']),\n index.on(['workflowDefinitionId', 'position']),\n index.on(['type']),\n ],\n enums: [StepTypeEnum, ApprovalModeEnum],\n});\n"],"mappings":";;;;;;AAKA,MAAa,eAAeA,GAAiB;CAC3C,MAAM;CACN,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ;CACR,aAAa;CACd,CAAC;;;;AAKF,MAAa,mBAAmBA,GAAiB;CAC/C,MAAM;CACN,QAAQ;EACN;EACA;EACA;EACA;EACD;CACD,QAAQ;CACR,aAAa;CACd,CAAC;;;;;;;AAQF,MAAa,qBAAqBC,GAAa;CAC7C,MAAM;CACN,aAAa;CACb,QAAQ;CACR,KAAK;CACL,QAAQ;EACN,IAAIC,GAAM,GAAG,EAAE,aAAa,kBAAkB,CAAC;EAG/C,sBAAsBA,GAAM,YAAY;EAGxC,MAAMA,GAAM,OAAO,EAAE,aAAa,4BAA4B,CAAC;EAC/D,KAAKA,GAAM,OAAO,EAChB,aAAa,2DACd,CAAC;EACF,aAAaA,GAAM,OAAO,EAAE,YAAY,MAAM,CAAC;EAG/C,MAAMA,GAAM,KAAK,YAAY,EAAE,SAAS,QAAQ,CAAC;EAGjD,UAAUA,GAAM,IAAI;GAAE,SAAS;GAAG,aAAa;GAAqB,CAAC;EAGrE,aAAaA,GAAM,KAAK,EAAE,aAAa,kCAAkC,CAAC;EAG1E,cAAcA,GAAM,KAAK,gBAAgB;GACvC,SAAS;GACT,YAAY;GACb,CAAC;EACF,eAAeA,GAAM,OAAO;GAC1B,SAAS;GACT,aAAa;GACd,CAAC;EACF,iBAAiBA,GAAM,OAAO;GAC5B,SAAS;GACT,aAAa;GACd,CAAC;EACF,kBAAkBA,GAAM,KAAK;GAC3B,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,eAAeA,GAAM,OAAO;GAC1B,SAAS;GACT,aAAa;GACd,CAAC;EACF,cAAcA,GAAM,KAAK;GACvB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,qBAAqBA,GAAM,OAAO;GAChC,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,cAAcA,GAAM,IAAI;GACtB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,cAAcA,GAAM,OAAO;GACzB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,YAAYA,GAAM,OAAO;GACvB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,cAAcA,GAAM,KAAK;GACvB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,gBAAgBA,GAAM,IAAI;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,YAAYA,GAAM,IAAI;GAAE,YAAY;GAAM,aAAa;GAAgB,CAAC;EAGxE,eAAeA,GAAM,KAAK;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,cAAcA,GAAM,KAAK;GACvB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,UAAUA,GAAM,KAAK,EAAE,YAAY,MAAM,CAAC;EAG1C,WAAWA,GAAM,WAAW;EAC5B,WAAWA,GAAM,WAAW;EAG5B,oBAAoBA,GAAM,UACxB,sBACA,CAAC,uBAAuB,EACxB,CAAC,KAAK,EACN,EAAE,UAAU,WAAW,CACxB;EACD,YAAYA,GAAM,QAAQ,gBAAgB;EAC3C;CACD,SAAS;EACPC,GAAM,OAAO,CAAC,wBAAwB,MAAM,CAAC;EAC7CA,GAAM,GAAG,CAAC,wBAAwB,WAAW,CAAC;EAC9CA,GAAM,GAAG,CAAC,OAAO,CAAC;EACnB;CACD,OAAO,CAAC,cAAc,iBAAiB;CACxC,CAAC"}
|
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema1065 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/entities/workflow.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Workflow status enum - the lifecycle state of a workflow definition.
|
|
6
6
|
*/
|
|
7
|
-
declare const WorkflowStatusEnum:
|
|
7
|
+
declare const WorkflowStatusEnum: _lssm_lib_schema1065.EntityEnumDef;
|
|
8
8
|
/**
|
|
9
9
|
* Workflow trigger type enum - what initiates a workflow.
|
|
10
10
|
*/
|
|
11
|
-
declare const WorkflowTriggerTypeEnum:
|
|
11
|
+
declare const WorkflowTriggerTypeEnum: _lssm_lib_schema1065.EntityEnumDef;
|
|
12
12
|
/**
|
|
13
13
|
* WorkflowDefinition entity - defines a workflow blueprint.
|
|
14
14
|
*
|
|
15
15
|
* A workflow definition specifies the structure, steps, and rules
|
|
16
16
|
* for a business process. Instances are created from definitions.
|
|
17
17
|
*/
|
|
18
|
-
declare const WorkflowDefinitionEntity:
|
|
19
|
-
id:
|
|
20
|
-
name:
|
|
21
|
-
key:
|
|
22
|
-
description:
|
|
23
|
-
version:
|
|
24
|
-
status:
|
|
25
|
-
triggerType:
|
|
26
|
-
triggerConfig:
|
|
27
|
-
initialStepId:
|
|
28
|
-
featureFlagKey:
|
|
29
|
-
settings:
|
|
30
|
-
metadata:
|
|
31
|
-
organizationId:
|
|
32
|
-
createdBy:
|
|
33
|
-
createdAt:
|
|
34
|
-
updatedAt:
|
|
35
|
-
publishedAt:
|
|
36
|
-
steps:
|
|
37
|
-
instances:
|
|
18
|
+
declare const WorkflowDefinitionEntity: _lssm_lib_schema1065.EntitySpec<{
|
|
19
|
+
id: _lssm_lib_schema1065.EntityScalarField;
|
|
20
|
+
name: _lssm_lib_schema1065.EntityScalarField;
|
|
21
|
+
key: _lssm_lib_schema1065.EntityScalarField;
|
|
22
|
+
description: _lssm_lib_schema1065.EntityScalarField;
|
|
23
|
+
version: _lssm_lib_schema1065.EntityScalarField;
|
|
24
|
+
status: _lssm_lib_schema1065.EntityEnumField;
|
|
25
|
+
triggerType: _lssm_lib_schema1065.EntityEnumField;
|
|
26
|
+
triggerConfig: _lssm_lib_schema1065.EntityScalarField;
|
|
27
|
+
initialStepId: _lssm_lib_schema1065.EntityScalarField;
|
|
28
|
+
featureFlagKey: _lssm_lib_schema1065.EntityScalarField;
|
|
29
|
+
settings: _lssm_lib_schema1065.EntityScalarField;
|
|
30
|
+
metadata: _lssm_lib_schema1065.EntityScalarField;
|
|
31
|
+
organizationId: _lssm_lib_schema1065.EntityScalarField;
|
|
32
|
+
createdBy: _lssm_lib_schema1065.EntityScalarField;
|
|
33
|
+
createdAt: _lssm_lib_schema1065.EntityScalarField;
|
|
34
|
+
updatedAt: _lssm_lib_schema1065.EntityScalarField;
|
|
35
|
+
publishedAt: _lssm_lib_schema1065.EntityScalarField;
|
|
36
|
+
steps: _lssm_lib_schema1065.EntityRelationField;
|
|
37
|
+
instances: _lssm_lib_schema1065.EntityRelationField;
|
|
38
38
|
}>;
|
|
39
39
|
//#endregion
|
|
40
|
-
export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
|
|
40
|
+
export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
|
|
41
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","names":[],"sources":["../../src/entities/workflow.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,kBAKX,EAAA,oBAAA,CAL6B,aAK7B;AAKF;AAaA;;cAba,yBAKX,oBAAA,CALkC;;;;;;;cAavB,+CAAwB;MA2EnC,oBAAA,CAAA;;;;;;;;;;kDA3EmC;EAAA,QAAA,wCAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
|
|
3
2
|
|
|
4
3
|
//#region src/entities/workflow.ts
|
|
5
4
|
/**
|
|
6
5
|
* Workflow status enum - the lifecycle state of a workflow definition.
|
|
7
6
|
*/
|
|
8
|
-
const WorkflowStatusEnum =
|
|
7
|
+
const WorkflowStatusEnum = Z5({
|
|
9
8
|
name: "WorkflowStatus",
|
|
10
9
|
values: [
|
|
11
10
|
"DRAFT",
|
|
@@ -19,7 +18,7 @@ const WorkflowStatusEnum = defineEntityEnum({
|
|
|
19
18
|
/**
|
|
20
19
|
* Workflow trigger type enum - what initiates a workflow.
|
|
21
20
|
*/
|
|
22
|
-
const WorkflowTriggerTypeEnum =
|
|
21
|
+
const WorkflowTriggerTypeEnum = Z5({
|
|
23
22
|
name: "WorkflowTriggerType",
|
|
24
23
|
values: [
|
|
25
24
|
"MANUAL",
|
|
@@ -36,67 +35,68 @@ const WorkflowTriggerTypeEnum = defineEntityEnum({
|
|
|
36
35
|
* A workflow definition specifies the structure, steps, and rules
|
|
37
36
|
* for a business process. Instances are created from definitions.
|
|
38
37
|
*/
|
|
39
|
-
const WorkflowDefinitionEntity =
|
|
38
|
+
const WorkflowDefinitionEntity = L5({
|
|
40
39
|
name: "WorkflowDefinition",
|
|
41
40
|
description: "A workflow blueprint that defines the process structure.",
|
|
42
41
|
schema: "workflow",
|
|
43
42
|
map: "workflow_definition",
|
|
44
43
|
fields: {
|
|
45
|
-
id:
|
|
46
|
-
name:
|
|
47
|
-
key:
|
|
48
|
-
description:
|
|
44
|
+
id: _5.id({ description: "Unique workflow definition ID" }),
|
|
45
|
+
name: _5.string({ description: "Human-readable workflow name" }),
|
|
46
|
+
key: _5.string({ description: "Unique key for referencing (e.g., \"purchase_approval\")" }),
|
|
47
|
+
description: _5.string({
|
|
49
48
|
isOptional: true,
|
|
50
49
|
description: "Detailed description"
|
|
51
50
|
}),
|
|
52
|
-
version:
|
|
51
|
+
version: _5.int({
|
|
53
52
|
default: 1,
|
|
54
53
|
description: "Version number for versioning definitions"
|
|
55
54
|
}),
|
|
56
|
-
status:
|
|
57
|
-
triggerType:
|
|
58
|
-
triggerConfig:
|
|
55
|
+
status: _5.enum("WorkflowStatus", { default: "DRAFT" }),
|
|
56
|
+
triggerType: _5.enum("WorkflowTriggerType", { default: "MANUAL" }),
|
|
57
|
+
triggerConfig: _5.json({
|
|
59
58
|
isOptional: true,
|
|
60
59
|
description: "Trigger-specific configuration"
|
|
61
60
|
}),
|
|
62
|
-
initialStepId:
|
|
61
|
+
initialStepId: _5.string({
|
|
63
62
|
isOptional: true,
|
|
64
63
|
description: "First step when workflow starts"
|
|
65
64
|
}),
|
|
66
|
-
featureFlagKey:
|
|
65
|
+
featureFlagKey: _5.string({
|
|
67
66
|
isOptional: true,
|
|
68
67
|
description: "Feature flag to control availability"
|
|
69
68
|
}),
|
|
70
|
-
settings:
|
|
69
|
+
settings: _5.json({
|
|
71
70
|
isOptional: true,
|
|
72
71
|
description: "Workflow-wide settings"
|
|
73
72
|
}),
|
|
74
|
-
metadata:
|
|
73
|
+
metadata: _5.json({
|
|
75
74
|
isOptional: true,
|
|
76
75
|
description: "Custom metadata"
|
|
77
76
|
}),
|
|
78
|
-
organizationId:
|
|
79
|
-
createdBy:
|
|
80
|
-
createdAt:
|
|
81
|
-
updatedAt:
|
|
82
|
-
publishedAt:
|
|
77
|
+
organizationId: _5.foreignKey({ description: "Owning organization" }),
|
|
78
|
+
createdBy: _5.foreignKey({ description: "User who created this workflow" }),
|
|
79
|
+
createdAt: _5.createdAt(),
|
|
80
|
+
updatedAt: _5.updatedAt(),
|
|
81
|
+
publishedAt: _5.dateTime({
|
|
83
82
|
isOptional: true,
|
|
84
83
|
description: "When workflow was activated"
|
|
85
84
|
}),
|
|
86
|
-
steps:
|
|
87
|
-
instances:
|
|
85
|
+
steps: _5.hasMany("WorkflowStep"),
|
|
86
|
+
instances: _5.hasMany("WorkflowInstance")
|
|
88
87
|
},
|
|
89
88
|
indexes: [
|
|
90
|
-
|
|
89
|
+
b5.unique([
|
|
91
90
|
"organizationId",
|
|
92
91
|
"key",
|
|
93
92
|
"version"
|
|
94
93
|
]),
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
b5.on(["organizationId", "status"]),
|
|
95
|
+
b5.on(["key", "version"])
|
|
97
96
|
],
|
|
98
97
|
enums: [WorkflowStatusEnum, WorkflowTriggerTypeEnum]
|
|
99
98
|
});
|
|
100
99
|
|
|
101
100
|
//#endregion
|
|
102
|
-
export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
|
|
101
|
+
export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
|
|
102
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","names":["defineEntityEnum","defineEntity","field","index"],"sources":["../../src/entities/workflow.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\n\n/**\n * Workflow status enum - the lifecycle state of a workflow definition.\n */\nexport const WorkflowStatusEnum = defineEntityEnum({\n name: 'WorkflowStatus',\n values: ['DRAFT', 'ACTIVE', 'DEPRECATED', 'ARCHIVED'] as const,\n schema: 'workflow',\n description: 'Status of a workflow definition.',\n});\n\n/**\n * Workflow trigger type enum - what initiates a workflow.\n */\nexport const WorkflowTriggerTypeEnum = defineEntityEnum({\n name: 'WorkflowTriggerType',\n values: ['MANUAL', 'EVENT', 'SCHEDULED', 'API'] as const,\n schema: 'workflow',\n description: 'What triggers workflow instantiation.',\n});\n\n/**\n * WorkflowDefinition entity - defines a workflow blueprint.\n *\n * A workflow definition specifies the structure, steps, and rules\n * for a business process. Instances are created from definitions.\n */\nexport const WorkflowDefinitionEntity = defineEntity({\n name: 'WorkflowDefinition',\n description: 'A workflow blueprint that defines the process structure.',\n schema: 'workflow',\n map: 'workflow_definition',\n fields: {\n id: field.id({ description: 'Unique workflow definition ID' }),\n\n // Identity\n name: field.string({ description: 'Human-readable workflow name' }),\n key: field.string({\n description: 'Unique key for referencing (e.g., \"purchase_approval\")',\n }),\n description: field.string({\n isOptional: true,\n description: 'Detailed description',\n }),\n version: field.int({\n default: 1,\n description: 'Version number for versioning definitions',\n }),\n\n // Status\n status: field.enum('WorkflowStatus', { default: 'DRAFT' }),\n\n // Trigger\n triggerType: field.enum('WorkflowTriggerType', { default: 'MANUAL' }),\n triggerConfig: field.json({\n isOptional: true,\n description: 'Trigger-specific configuration',\n }),\n\n // Initial step\n initialStepId: field.string({\n isOptional: true,\n description: 'First step when workflow starts',\n }),\n\n // Feature flag integration\n featureFlagKey: field.string({\n isOptional: true,\n description: 'Feature flag to control availability',\n }),\n\n // Configuration\n settings: field.json({\n isOptional: true,\n description: 'Workflow-wide settings',\n }),\n metadata: field.json({ isOptional: true, description: 'Custom metadata' }),\n\n // Ownership\n organizationId: field.foreignKey({ description: 'Owning organization' }),\n createdBy: field.foreignKey({\n description: 'User who created this workflow',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n publishedAt: field.dateTime({\n isOptional: true,\n description: 'When workflow was activated',\n }),\n\n // Relations\n steps: field.hasMany('WorkflowStep'),\n instances: field.hasMany('WorkflowInstance'),\n },\n indexes: [\n index.unique(['organizationId', 'key', 'version']),\n index.on(['organizationId', 'status']),\n index.on(['key', 'version']),\n ],\n enums: [WorkflowStatusEnum, WorkflowTriggerTypeEnum],\n});\n"],"mappings":";;;;;;AAKA,MAAa,qBAAqBA,GAAiB;CACjD,MAAM;CACN,QAAQ;EAAC;EAAS;EAAU;EAAc;EAAW;CACrD,QAAQ;CACR,aAAa;CACd,CAAC;;;;AAKF,MAAa,0BAA0BA,GAAiB;CACtD,MAAM;CACN,QAAQ;EAAC;EAAU;EAAS;EAAa;EAAM;CAC/C,QAAQ;CACR,aAAa;CACd,CAAC;;;;;;;AAQF,MAAa,2BAA2BC,GAAa;CACnD,MAAM;CACN,aAAa;CACb,QAAQ;CACR,KAAK;CACL,QAAQ;EACN,IAAIC,GAAM,GAAG,EAAE,aAAa,iCAAiC,CAAC;EAG9D,MAAMA,GAAM,OAAO,EAAE,aAAa,gCAAgC,CAAC;EACnE,KAAKA,GAAM,OAAO,EAChB,aAAa,4DACd,CAAC;EACF,aAAaA,GAAM,OAAO;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,SAASA,GAAM,IAAI;GACjB,SAAS;GACT,aAAa;GACd,CAAC;EAGF,QAAQA,GAAM,KAAK,kBAAkB,EAAE,SAAS,SAAS,CAAC;EAG1D,aAAaA,GAAM,KAAK,uBAAuB,EAAE,SAAS,UAAU,CAAC;EACrE,eAAeA,GAAM,KAAK;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,eAAeA,GAAM,OAAO;GAC1B,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,gBAAgBA,GAAM,OAAO;GAC3B,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,UAAUA,GAAM,KAAK;GACnB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,UAAUA,GAAM,KAAK;GAAE,YAAY;GAAM,aAAa;GAAmB,CAAC;EAG1E,gBAAgBA,GAAM,WAAW,EAAE,aAAa,uBAAuB,CAAC;EACxE,WAAWA,GAAM,WAAW,EAC1B,aAAa,kCACd,CAAC;EAGF,WAAWA,GAAM,WAAW;EAC5B,WAAWA,GAAM,WAAW;EAC5B,aAAaA,GAAM,SAAS;GAC1B,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,OAAOA,GAAM,QAAQ,eAAe;EACpC,WAAWA,GAAM,QAAQ,mBAAmB;EAC7C;CACD,SAAS;EACPC,GAAM,OAAO;GAAC;GAAkB;GAAO;GAAU,CAAC;EAClDA,GAAM,GAAG,CAAC,kBAAkB,SAAS,CAAC;EACtCA,GAAM,GAAG,CAAC,OAAO,UAAU,CAAC;EAC7B;CACD,OAAO,CAAC,oBAAoB,wBAAwB;CACrD,CAAC"}
|
package/dist/example.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";cAAM;EAAA,SAAA,EA+BI,EAAA,iBAAA"}
|
package/dist/example.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["const example = {\n id: 'workflow-system',\n title: 'Workflow / Approval System',\n summary:\n 'State-machine driven approvals with RBAC, audit trail, notifications, and jobs.',\n tags: ['workflow', 'approval', 'state-machine', 'rbac'],\n kind: 'template',\n visibility: 'public',\n docs: {\n rootDocId: 'docs.examples.workflow-system',\n goalDocId: 'docs.examples.workflow-system.goal',\n usageDocId: 'docs.examples.workflow-system.usage',\n constraintsDocId: 'docs.examples.workflow-system.constraints',\n },\n entrypoints: {\n packageName: '@lssm/example.workflow-system',\n feature: './feature',\n contracts: './contracts',\n presentations: './presentations',\n handlers: './handlers',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: {\n enabled: true,\n modes: ['playground', 'specs', 'builder', 'markdown', 'evolution'],\n },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n} as const;\n\nexport default example;\n"],"mappings":";AAAA,MAAM,UAAU;CACd,IAAI;CACJ,OAAO;CACP,SACE;CACF,MAAM;EAAC;EAAY;EAAY;EAAiB;EAAO;CACvD,MAAM;CACN,YAAY;CACZ,MAAM;EACJ,WAAW;EACX,WAAW;EACX,YAAY;EACZ,kBAAkB;EACnB;CACD,aAAa;EACX,aAAa;EACb,SAAS;EACT,WAAW;EACX,eAAe;EACf,UAAU;EACV,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GACP,SAAS;GACT,OAAO;IAAC;IAAc;IAAS;IAAW;IAAY;IAAY;GACnE;EACD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
|