@contractspec/example.workflow-system 1.57.0 → 1.58.0

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.
Files changed (209) hide show
  1. package/dist/approval/approval.enum.d.ts +2 -7
  2. package/dist/approval/approval.enum.d.ts.map +1 -1
  3. package/dist/approval/approval.enum.js +20 -26
  4. package/dist/approval/approval.event.d.ts +108 -114
  5. package/dist/approval/approval.event.d.ts.map +1 -1
  6. package/dist/approval/approval.event.js +103 -210
  7. package/dist/approval/approval.handler.d.ts +17 -18
  8. package/dist/approval/approval.handler.d.ts.map +1 -1
  9. package/dist/approval/approval.operations.d.ts +429 -435
  10. package/dist/approval/approval.operations.d.ts.map +1 -1
  11. package/dist/approval/approval.operations.js +364 -339
  12. package/dist/approval/approval.schema.d.ts +86 -91
  13. package/dist/approval/approval.schema.d.ts.map +1 -1
  14. package/dist/approval/approval.schema.js +71 -107
  15. package/dist/approval/index.d.ts +8 -5
  16. package/dist/approval/index.d.ts.map +1 -0
  17. package/dist/approval/index.js +484 -5
  18. package/dist/browser/approval/approval.enum.js +22 -0
  19. package/dist/browser/approval/approval.event.js +112 -0
  20. package/dist/browser/approval/approval.operations.js +369 -0
  21. package/dist/browser/approval/approval.schema.js +73 -0
  22. package/dist/browser/approval/index.js +484 -0
  23. package/dist/browser/docs/index.js +103 -0
  24. package/dist/browser/docs/workflow-system.docblock.js +103 -0
  25. package/dist/browser/entities/approval.js +119 -0
  26. package/dist/browser/entities/index.js +508 -0
  27. package/dist/browser/entities/instance.js +161 -0
  28. package/dist/browser/entities/step.js +124 -0
  29. package/dist/browser/entities/workflow.js +82 -0
  30. package/dist/browser/example.js +42 -0
  31. package/dist/browser/handlers/index.js +253 -0
  32. package/dist/browser/handlers/workflow.handlers.js +253 -0
  33. package/dist/browser/index.js +3120 -0
  34. package/dist/browser/instance/index.js +677 -0
  35. package/dist/browser/instance/instance.enum.js +15 -0
  36. package/dist/browser/instance/instance.event.js +164 -0
  37. package/dist/browser/instance/instance.handler.js +356 -0
  38. package/dist/browser/instance/instance.operations.js +9 -0
  39. package/dist/browser/instance/instance.schema.js +101 -0
  40. package/dist/browser/presentations/index.js +109 -0
  41. package/dist/browser/seeders/index.js +3 -0
  42. package/dist/browser/shared/index.js +3 -0
  43. package/dist/browser/shared/mock-data.js +11 -0
  44. package/dist/browser/shared/types.js +0 -0
  45. package/dist/browser/state-machine/index.js +6 -0
  46. package/dist/browser/tests/operations.test-spec.js +6 -0
  47. package/dist/browser/ui/WorkflowDashboard.js +3 -0
  48. package/dist/browser/ui/hooks/index.js +50 -0
  49. package/dist/browser/ui/hooks/useWorkflowList.js +50 -0
  50. package/dist/browser/ui/index.js +54 -0
  51. package/dist/browser/ui/renderers/index.js +227 -0
  52. package/dist/browser/ui/renderers/workflow.markdown.js +227 -0
  53. package/dist/browser/workflow/index.js +21 -0
  54. package/dist/browser/workflow/workflow.enum.js +36 -0
  55. package/dist/browser/workflow/workflow.event.js +6 -0
  56. package/dist/browser/workflow/workflow.handler.js +5 -0
  57. package/dist/browser/workflow/workflow.operations.js +8 -0
  58. package/dist/browser/workflow/workflow.schema.js +151 -0
  59. package/dist/browser/workflow-system.capability.js +5 -0
  60. package/dist/browser/workflow-system.feature.js +3 -0
  61. package/dist/docs/index.d.ts +2 -1
  62. package/dist/docs/index.d.ts.map +1 -0
  63. package/dist/docs/index.js +104 -1
  64. package/dist/docs/workflow-system.docblock.d.ts +2 -1
  65. package/dist/docs/workflow-system.docblock.d.ts.map +1 -0
  66. package/dist/docs/workflow-system.docblock.js +45 -56
  67. package/dist/entities/approval.d.ts +35 -40
  68. package/dist/entities/approval.d.ts.map +1 -1
  69. package/dist/entities/approval.js +116 -124
  70. package/dist/entities/index.d.ts +132 -137
  71. package/dist/entities/index.d.ts.map +1 -1
  72. package/dist/entities/index.js +506 -29
  73. package/dist/entities/instance.d.ts +46 -51
  74. package/dist/entities/instance.d.ts.map +1 -1
  75. package/dist/entities/instance.js +158 -164
  76. package/dist/entities/step.d.ts +31 -36
  77. package/dist/entities/step.d.ts.map +1 -1
  78. package/dist/entities/step.js +122 -132
  79. package/dist/entities/workflow.d.ts +22 -27
  80. package/dist/entities/workflow.d.ts.map +1 -1
  81. package/dist/entities/workflow.js +80 -99
  82. package/dist/example.d.ts +2 -6
  83. package/dist/example.d.ts.map +1 -1
  84. package/dist/example.js +41 -55
  85. package/dist/handlers/index.d.ts +2 -2
  86. package/dist/handlers/index.d.ts.map +1 -0
  87. package/dist/handlers/index.js +254 -3
  88. package/dist/handlers/workflow.handlers.d.ts +107 -106
  89. package/dist/handlers/workflow.handlers.d.ts.map +1 -1
  90. package/dist/handlers/workflow.handlers.js +237 -246
  91. package/dist/index.d.ts +15 -26
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +3121 -26
  94. package/dist/instance/index.d.ts +8 -5
  95. package/dist/instance/index.d.ts.map +1 -0
  96. package/dist/instance/index.js +677 -5
  97. package/dist/instance/instance.enum.d.ts +1 -6
  98. package/dist/instance/instance.enum.d.ts.map +1 -1
  99. package/dist/instance/instance.enum.js +14 -18
  100. package/dist/instance/instance.event.d.ts +313 -319
  101. package/dist/instance/instance.event.d.ts.map +1 -1
  102. package/dist/instance/instance.event.js +151 -279
  103. package/dist/instance/instance.handler.d.ts +21 -22
  104. package/dist/instance/instance.handler.d.ts.map +1 -1
  105. package/dist/instance/instance.handler.js +352 -89
  106. package/dist/instance/instance.operations.d.ts +819 -825
  107. package/dist/instance/instance.operations.d.ts.map +1 -1
  108. package/dist/instance/instance.operations.js +10 -464
  109. package/dist/instance/instance.schema.d.ts +196 -201
  110. package/dist/instance/instance.schema.d.ts.map +1 -1
  111. package/dist/instance/instance.schema.js +97 -167
  112. package/dist/presentations/index.d.ts +23 -28
  113. package/dist/presentations/index.d.ts.map +1 -1
  114. package/dist/presentations/index.js +104 -334
  115. package/dist/seeders/index.d.ts +4 -8
  116. package/dist/seeders/index.d.ts.map +1 -1
  117. package/dist/seeders/index.js +4 -19
  118. package/dist/shared/index.d.ts +6 -3
  119. package/dist/shared/index.d.ts.map +1 -0
  120. package/dist/shared/index.js +4 -3
  121. package/dist/shared/mock-data.d.ts +16 -16
  122. package/dist/shared/mock-data.d.ts.map +1 -1
  123. package/dist/shared/mock-data.js +11 -11
  124. package/dist/shared/types.d.ts +69 -72
  125. package/dist/shared/types.d.ts.map +1 -1
  126. package/dist/shared/types.js +1 -0
  127. package/dist/state-machine/index.d.ts +92 -95
  128. package/dist/state-machine/index.d.ts.map +1 -1
  129. package/dist/state-machine/index.js +6 -157
  130. package/dist/tests/operations.test-spec.d.ts +4 -9
  131. package/dist/tests/operations.test-spec.d.ts.map +1 -1
  132. package/dist/tests/operations.test-spec.js +7 -123
  133. package/dist/ui/WorkflowDashboard.d.ts +1 -6
  134. package/dist/ui/WorkflowDashboard.d.ts.map +1 -1
  135. package/dist/ui/WorkflowDashboard.js +3 -222
  136. package/dist/ui/hooks/index.d.ts +2 -2
  137. package/dist/ui/hooks/index.d.ts.map +1 -0
  138. package/dist/ui/hooks/index.js +51 -5
  139. package/dist/ui/hooks/useWorkflowList.d.ts +15 -19
  140. package/dist/ui/hooks/useWorkflowList.d.ts.map +1 -1
  141. package/dist/ui/hooks/useWorkflowList.js +47 -51
  142. package/dist/ui/index.d.ts +7 -6
  143. package/dist/ui/index.d.ts.map +1 -0
  144. package/dist/ui/index.js +55 -6
  145. package/dist/ui/renderers/index.d.ts +2 -2
  146. package/dist/ui/renderers/index.d.ts.map +1 -0
  147. package/dist/ui/renderers/index.js +227 -2
  148. package/dist/ui/renderers/workflow.markdown.d.ts +13 -14
  149. package/dist/ui/renderers/workflow.markdown.d.ts.map +1 -1
  150. package/dist/ui/renderers/workflow.markdown.js +223 -229
  151. package/dist/workflow/index.d.ts +8 -5
  152. package/dist/workflow/index.d.ts.map +1 -0
  153. package/dist/workflow/index.js +22 -6
  154. package/dist/workflow/workflow.enum.d.ts +4 -9
  155. package/dist/workflow/workflow.enum.d.ts.map +1 -1
  156. package/dist/workflow/workflow.enum.js +32 -42
  157. package/dist/workflow/workflow.event.d.ts +112 -118
  158. package/dist/workflow/workflow.event.d.ts.map +1 -1
  159. package/dist/workflow/workflow.event.js +7 -150
  160. package/dist/workflow/workflow.handler.d.ts +23 -24
  161. package/dist/workflow/workflow.handler.d.ts.map +1 -1
  162. package/dist/workflow/workflow.handler.js +6 -66
  163. package/dist/workflow/workflow.operations.d.ts +847 -853
  164. package/dist/workflow/workflow.operations.d.ts.map +1 -1
  165. package/dist/workflow/workflow.operations.js +9 -345
  166. package/dist/workflow/workflow.schema.d.ts +229 -234
  167. package/dist/workflow/workflow.schema.d.ts.map +1 -1
  168. package/dist/workflow/workflow.schema.js +146 -243
  169. package/dist/workflow-system.capability.d.ts +3 -8
  170. package/dist/workflow-system.capability.d.ts.map +1 -1
  171. package/dist/workflow-system.capability.js +6 -34
  172. package/dist/workflow-system.feature.d.ts +1 -6
  173. package/dist/workflow-system.feature.d.ts.map +1 -1
  174. package/dist/workflow-system.feature.js +4 -346
  175. package/package.json +415 -93
  176. package/dist/approval/approval.enum.js.map +0 -1
  177. package/dist/approval/approval.event.js.map +0 -1
  178. package/dist/approval/approval.handler.js +0 -72
  179. package/dist/approval/approval.handler.js.map +0 -1
  180. package/dist/approval/approval.operations.js.map +0 -1
  181. package/dist/approval/approval.schema.js.map +0 -1
  182. package/dist/docs/workflow-system.docblock.js.map +0 -1
  183. package/dist/entities/approval.js.map +0 -1
  184. package/dist/entities/index.js.map +0 -1
  185. package/dist/entities/instance.js.map +0 -1
  186. package/dist/entities/step.js.map +0 -1
  187. package/dist/entities/workflow.js.map +0 -1
  188. package/dist/example.js.map +0 -1
  189. package/dist/handlers/workflow.handlers.js.map +0 -1
  190. package/dist/instance/instance.enum.js.map +0 -1
  191. package/dist/instance/instance.event.js.map +0 -1
  192. package/dist/instance/instance.handler.js.map +0 -1
  193. package/dist/instance/instance.operations.js.map +0 -1
  194. package/dist/instance/instance.schema.js.map +0 -1
  195. package/dist/presentations/index.js.map +0 -1
  196. package/dist/seeders/index.js.map +0 -1
  197. package/dist/shared/mock-data.js.map +0 -1
  198. package/dist/state-machine/index.js.map +0 -1
  199. package/dist/tests/operations.test-spec.js.map +0 -1
  200. package/dist/ui/WorkflowDashboard.js.map +0 -1
  201. package/dist/ui/hooks/useWorkflowList.js.map +0 -1
  202. package/dist/ui/renderers/workflow.markdown.js.map +0 -1
  203. package/dist/workflow/workflow.enum.js.map +0 -1
  204. package/dist/workflow/workflow.event.js.map +0 -1
  205. package/dist/workflow/workflow.handler.js.map +0 -1
  206. package/dist/workflow/workflow.operations.js.map +0 -1
  207. package/dist/workflow/workflow.schema.js.map +0 -1
  208. package/dist/workflow-system.capability.js.map +0 -1
  209. package/dist/workflow-system.feature.js.map +0 -1
@@ -1,168 +1,162 @@
1
- import { defineEntity, defineEntityEnum, field, index } from "@contractspec/lib.schema";
2
-
3
- //#region src/entities/instance.ts
4
- /**
5
- * Instance status enum - lifecycle of a workflow instance.
6
- */
7
- const InstanceStatusEnum = defineEntityEnum({
8
- name: "InstanceStatus",
9
- values: [
10
- "PENDING",
11
- "RUNNING",
12
- "WAITING",
13
- "PAUSED",
14
- "COMPLETED",
15
- "CANCELLED",
16
- "FAILED",
17
- "TIMEOUT"
18
- ],
19
- schema: "workflow",
20
- description: "Status of a workflow instance."
1
+ // @bun
2
+ // src/entities/instance.ts
3
+ import {
4
+ defineEntity,
5
+ defineEntityEnum,
6
+ field,
7
+ index
8
+ } from "@contractspec/lib.schema";
9
+ var InstanceStatusEnum = defineEntityEnum({
10
+ name: "InstanceStatus",
11
+ values: [
12
+ "PENDING",
13
+ "RUNNING",
14
+ "WAITING",
15
+ "PAUSED",
16
+ "COMPLETED",
17
+ "CANCELLED",
18
+ "FAILED",
19
+ "TIMEOUT"
20
+ ],
21
+ schema: "workflow",
22
+ description: "Status of a workflow instance."
21
23
  });
22
- /**
23
- * Step execution status enum.
24
- */
25
- const StepExecutionStatusEnum = defineEntityEnum({
26
- name: "StepExecutionStatus",
27
- values: [
28
- "PENDING",
29
- "ACTIVE",
30
- "COMPLETED",
31
- "SKIPPED",
32
- "FAILED",
33
- "TIMEOUT"
34
- ],
35
- schema: "workflow",
36
- description: "Status of a step execution."
24
+ var StepExecutionStatusEnum = defineEntityEnum({
25
+ name: "StepExecutionStatus",
26
+ values: [
27
+ "PENDING",
28
+ "ACTIVE",
29
+ "COMPLETED",
30
+ "SKIPPED",
31
+ "FAILED",
32
+ "TIMEOUT"
33
+ ],
34
+ schema: "workflow",
35
+ description: "Status of a step execution."
37
36
  });
38
- /**
39
- * WorkflowInstance entity - a running instance of a workflow.
40
- *
41
- * When a workflow is triggered, an instance is created. The instance
42
- * tracks the current state and all data associated with this execution.
43
- */
44
- const WorkflowInstanceEntity = defineEntity({
45
- name: "WorkflowInstance",
46
- description: "A running instance of a workflow definition.",
47
- schema: "workflow",
48
- map: "workflow_instance",
49
- fields: {
50
- id: field.id({ description: "Unique instance ID" }),
51
- workflowDefinitionId: field.foreignKey(),
52
- referenceId: field.string({
53
- isOptional: true,
54
- description: "External reference (e.g., order ID)"
55
- }),
56
- referenceType: field.string({
57
- isOptional: true,
58
- description: "Type of reference (e.g., \"Order\")"
59
- }),
60
- status: field.enum("InstanceStatus", { default: "PENDING" }),
61
- currentStepId: field.string({
62
- isOptional: true,
63
- description: "Current step being executed"
64
- }),
65
- contextData: field.json({ description: "Data context for this instance" }),
66
- triggeredBy: field.foreignKey({ description: "User who triggered the workflow" }),
67
- triggerSource: field.string({
68
- isOptional: true,
69
- description: "Source of trigger (e.g., \"api\", \"ui\")"
70
- }),
71
- organizationId: field.foreignKey(),
72
- priority: field.int({
73
- default: 0,
74
- description: "Processing priority (higher = more urgent)"
75
- }),
76
- dueAt: field.dateTime({
77
- isOptional: true,
78
- description: "When this instance should complete"
79
- }),
80
- outcome: field.string({
81
- isOptional: true,
82
- description: "Final outcome (e.g., \"approved\", \"rejected\")"
83
- }),
84
- resultData: field.json({
85
- isOptional: true,
86
- description: "Final result data"
87
- }),
88
- errorMessage: field.string({
89
- isOptional: true,
90
- description: "Error message if failed"
91
- }),
92
- createdAt: field.createdAt(),
93
- updatedAt: field.updatedAt(),
94
- startedAt: field.dateTime({ isOptional: true }),
95
- completedAt: field.dateTime({ isOptional: true }),
96
- workflowDefinition: field.belongsTo("WorkflowDefinition", ["workflowDefinitionId"], ["id"]),
97
- currentStep: field.belongsTo("WorkflowStep", ["currentStepId"], ["id"]),
98
- stepExecutions: field.hasMany("StepExecution"),
99
- approvalRequests: field.hasMany("ApprovalRequest")
100
- },
101
- indexes: [
102
- index.on(["organizationId", "status"]),
103
- index.on(["workflowDefinitionId", "status"]),
104
- index.on(["referenceType", "referenceId"]),
105
- index.on(["triggeredBy", "status"]),
106
- index.on(["status", "dueAt"]),
107
- index.on(["createdAt"])
108
- ],
109
- enums: [InstanceStatusEnum]
37
+ var WorkflowInstanceEntity = defineEntity({
38
+ name: "WorkflowInstance",
39
+ description: "A running instance of a workflow definition.",
40
+ schema: "workflow",
41
+ map: "workflow_instance",
42
+ fields: {
43
+ id: field.id({ description: "Unique instance ID" }),
44
+ workflowDefinitionId: field.foreignKey(),
45
+ referenceId: field.string({
46
+ isOptional: true,
47
+ description: "External reference (e.g., order ID)"
48
+ }),
49
+ referenceType: field.string({
50
+ isOptional: true,
51
+ description: 'Type of reference (e.g., "Order")'
52
+ }),
53
+ status: field.enum("InstanceStatus", { default: "PENDING" }),
54
+ currentStepId: field.string({
55
+ isOptional: true,
56
+ description: "Current step being executed"
57
+ }),
58
+ contextData: field.json({ description: "Data context for this instance" }),
59
+ triggeredBy: field.foreignKey({
60
+ description: "User who triggered the workflow"
61
+ }),
62
+ triggerSource: field.string({
63
+ isOptional: true,
64
+ description: 'Source of trigger (e.g., "api", "ui")'
65
+ }),
66
+ organizationId: field.foreignKey(),
67
+ priority: field.int({
68
+ default: 0,
69
+ description: "Processing priority (higher = more urgent)"
70
+ }),
71
+ dueAt: field.dateTime({
72
+ isOptional: true,
73
+ description: "When this instance should complete"
74
+ }),
75
+ outcome: field.string({
76
+ isOptional: true,
77
+ description: 'Final outcome (e.g., "approved", "rejected")'
78
+ }),
79
+ resultData: field.json({
80
+ isOptional: true,
81
+ description: "Final result data"
82
+ }),
83
+ errorMessage: field.string({
84
+ isOptional: true,
85
+ description: "Error message if failed"
86
+ }),
87
+ createdAt: field.createdAt(),
88
+ updatedAt: field.updatedAt(),
89
+ startedAt: field.dateTime({ isOptional: true }),
90
+ completedAt: field.dateTime({ isOptional: true }),
91
+ workflowDefinition: field.belongsTo("WorkflowDefinition", ["workflowDefinitionId"], ["id"]),
92
+ currentStep: field.belongsTo("WorkflowStep", ["currentStepId"], ["id"]),
93
+ stepExecutions: field.hasMany("StepExecution"),
94
+ approvalRequests: field.hasMany("ApprovalRequest")
95
+ },
96
+ indexes: [
97
+ index.on(["organizationId", "status"]),
98
+ index.on(["workflowDefinitionId", "status"]),
99
+ index.on(["referenceType", "referenceId"]),
100
+ index.on(["triggeredBy", "status"]),
101
+ index.on(["status", "dueAt"]),
102
+ index.on(["createdAt"])
103
+ ],
104
+ enums: [InstanceStatusEnum]
110
105
  });
111
- /**
112
- * StepExecution entity - tracks execution of a step within an instance.
113
- */
114
- const StepExecutionEntity = defineEntity({
115
- name: "StepExecution",
116
- description: "Execution record of a step within a workflow instance.",
117
- schema: "workflow",
118
- map: "step_execution",
119
- fields: {
120
- id: field.id({ description: "Unique execution ID" }),
121
- workflowInstanceId: field.foreignKey(),
122
- workflowStepId: field.foreignKey(),
123
- status: field.enum("StepExecutionStatus", { default: "PENDING" }),
124
- executionOrder: field.int({
125
- default: 0,
126
- description: "Order of execution within instance"
127
- }),
128
- inputData: field.json({
129
- isOptional: true,
130
- description: "Data when entering step"
131
- }),
132
- outputData: field.json({
133
- isOptional: true,
134
- description: "Data when exiting step"
135
- }),
136
- actionTaken: field.string({
137
- isOptional: true,
138
- description: "Action that caused transition (e.g., \"approve\")"
139
- }),
140
- transitionedTo: field.string({
141
- isOptional: true,
142
- description: "Step key transitioned to"
143
- }),
144
- executedBy: field.string({
145
- isOptional: true,
146
- description: "User who completed this step"
147
- }),
148
- errorMessage: field.string({ isOptional: true }),
149
- errorDetails: field.json({ isOptional: true }),
150
- retryCount: field.int({ default: 0 }),
151
- createdAt: field.createdAt(),
152
- updatedAt: field.updatedAt(),
153
- startedAt: field.dateTime({ isOptional: true }),
154
- completedAt: field.dateTime({ isOptional: true }),
155
- workflowInstance: field.belongsTo("WorkflowInstance", ["workflowInstanceId"], ["id"], { onDelete: "Cascade" }),
156
- workflowStep: field.belongsTo("WorkflowStep", ["workflowStepId"], ["id"])
157
- },
158
- indexes: [
159
- index.on(["workflowInstanceId", "executionOrder"]),
160
- index.on(["workflowInstanceId", "workflowStepId"]),
161
- index.on(["status"])
162
- ],
163
- enums: [StepExecutionStatusEnum]
106
+ var StepExecutionEntity = defineEntity({
107
+ name: "StepExecution",
108
+ description: "Execution record of a step within a workflow instance.",
109
+ schema: "workflow",
110
+ map: "step_execution",
111
+ fields: {
112
+ id: field.id({ description: "Unique execution ID" }),
113
+ workflowInstanceId: field.foreignKey(),
114
+ workflowStepId: field.foreignKey(),
115
+ status: field.enum("StepExecutionStatus", { default: "PENDING" }),
116
+ executionOrder: field.int({
117
+ default: 0,
118
+ description: "Order of execution within instance"
119
+ }),
120
+ inputData: field.json({
121
+ isOptional: true,
122
+ description: "Data when entering step"
123
+ }),
124
+ outputData: field.json({
125
+ isOptional: true,
126
+ description: "Data when exiting step"
127
+ }),
128
+ actionTaken: field.string({
129
+ isOptional: true,
130
+ description: 'Action that caused transition (e.g., "approve")'
131
+ }),
132
+ transitionedTo: field.string({
133
+ isOptional: true,
134
+ description: "Step key transitioned to"
135
+ }),
136
+ executedBy: field.string({
137
+ isOptional: true,
138
+ description: "User who completed this step"
139
+ }),
140
+ errorMessage: field.string({ isOptional: true }),
141
+ errorDetails: field.json({ isOptional: true }),
142
+ retryCount: field.int({ default: 0 }),
143
+ createdAt: field.createdAt(),
144
+ updatedAt: field.updatedAt(),
145
+ startedAt: field.dateTime({ isOptional: true }),
146
+ completedAt: field.dateTime({ isOptional: true }),
147
+ workflowInstance: field.belongsTo("WorkflowInstance", ["workflowInstanceId"], ["id"], { onDelete: "Cascade" }),
148
+ workflowStep: field.belongsTo("WorkflowStep", ["workflowStepId"], ["id"])
149
+ },
150
+ indexes: [
151
+ index.on(["workflowInstanceId", "executionOrder"]),
152
+ index.on(["workflowInstanceId", "workflowStepId"]),
153
+ index.on(["status"])
154
+ ],
155
+ enums: [StepExecutionStatusEnum]
164
156
  });
165
-
166
- //#endregion
167
- export { InstanceStatusEnum, StepExecutionEntity, StepExecutionStatusEnum, WorkflowInstanceEntity };
168
- //# sourceMappingURL=instance.js.map
157
+ export {
158
+ WorkflowInstanceEntity,
159
+ StepExecutionStatusEnum,
160
+ StepExecutionEntity,
161
+ InstanceStatusEnum
162
+ };
@@ -1,50 +1,45 @@
1
- import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
-
3
- //#region src/entities/step.d.ts
4
1
  /**
5
2
  * Step type enum - what kind of step this is.
6
3
  */
7
- declare const StepTypeEnum: _contractspec_lib_schema0.EntityEnumDef;
4
+ export declare const StepTypeEnum: import("@contractspec/lib.schema").EntityEnumDef;
8
5
  /**
9
6
  * Approval mode enum - how approvals are handled.
10
7
  */
11
- declare const ApprovalModeEnum: _contractspec_lib_schema0.EntityEnumDef;
8
+ export declare const ApprovalModeEnum: import("@contractspec/lib.schema").EntityEnumDef;
12
9
  /**
13
10
  * WorkflowStep entity - defines a step in a workflow.
14
11
  *
15
12
  * Each step represents a state in the workflow state machine,
16
13
  * with transitions defined by the `transitions` JSON field.
17
14
  */
18
- declare const WorkflowStepEntity: _contractspec_lib_schema0.EntitySpec<{
19
- id: _contractspec_lib_schema0.EntityScalarField;
20
- workflowDefinitionId: _contractspec_lib_schema0.EntityScalarField;
21
- name: _contractspec_lib_schema0.EntityScalarField;
22
- key: _contractspec_lib_schema0.EntityScalarField;
23
- description: _contractspec_lib_schema0.EntityScalarField;
24
- type: _contractspec_lib_schema0.EntityEnumField;
25
- position: _contractspec_lib_schema0.EntityScalarField;
26
- transitions: _contractspec_lib_schema0.EntityScalarField;
27
- approvalMode: _contractspec_lib_schema0.EntityEnumField;
28
- approverRoles: _contractspec_lib_schema0.EntityScalarField;
29
- approverUserIds: _contractspec_lib_schema0.EntityScalarField;
30
- escalationConfig: _contractspec_lib_schema0.EntityScalarField;
31
- assigneeRoles: _contractspec_lib_schema0.EntityScalarField;
32
- taskTemplate: _contractspec_lib_schema0.EntityScalarField;
33
- conditionExpression: _contractspec_lib_schema0.EntityScalarField;
34
- waitDuration: _contractspec_lib_schema0.EntityScalarField;
35
- waitForEvent: _contractspec_lib_schema0.EntityScalarField;
36
- actionType: _contractspec_lib_schema0.EntityScalarField;
37
- actionConfig: _contractspec_lib_schema0.EntityScalarField;
38
- timeoutSeconds: _contractspec_lib_schema0.EntityScalarField;
39
- slaSeconds: _contractspec_lib_schema0.EntityScalarField;
40
- notifyOnEnter: _contractspec_lib_schema0.EntityScalarField;
41
- notifyOnExit: _contractspec_lib_schema0.EntityScalarField;
42
- metadata: _contractspec_lib_schema0.EntityScalarField;
43
- createdAt: _contractspec_lib_schema0.EntityScalarField;
44
- updatedAt: _contractspec_lib_schema0.EntityScalarField;
45
- workflowDefinition: _contractspec_lib_schema0.EntityRelationField;
46
- executions: _contractspec_lib_schema0.EntityRelationField;
15
+ export declare const WorkflowStepEntity: import("@contractspec/lib.schema").EntitySpec<{
16
+ id: import("@contractspec/lib.schema").EntityScalarField;
17
+ workflowDefinitionId: import("@contractspec/lib.schema").EntityScalarField;
18
+ name: import("@contractspec/lib.schema").EntityScalarField;
19
+ key: import("@contractspec/lib.schema").EntityScalarField;
20
+ description: import("@contractspec/lib.schema").EntityScalarField;
21
+ type: import("@contractspec/lib.schema").EntityEnumField;
22
+ position: import("@contractspec/lib.schema").EntityScalarField;
23
+ transitions: import("@contractspec/lib.schema").EntityScalarField;
24
+ approvalMode: import("@contractspec/lib.schema").EntityEnumField;
25
+ approverRoles: import("@contractspec/lib.schema").EntityScalarField;
26
+ approverUserIds: import("@contractspec/lib.schema").EntityScalarField;
27
+ escalationConfig: import("@contractspec/lib.schema").EntityScalarField;
28
+ assigneeRoles: import("@contractspec/lib.schema").EntityScalarField;
29
+ taskTemplate: import("@contractspec/lib.schema").EntityScalarField;
30
+ conditionExpression: import("@contractspec/lib.schema").EntityScalarField;
31
+ waitDuration: import("@contractspec/lib.schema").EntityScalarField;
32
+ waitForEvent: import("@contractspec/lib.schema").EntityScalarField;
33
+ actionType: import("@contractspec/lib.schema").EntityScalarField;
34
+ actionConfig: import("@contractspec/lib.schema").EntityScalarField;
35
+ timeoutSeconds: import("@contractspec/lib.schema").EntityScalarField;
36
+ slaSeconds: import("@contractspec/lib.schema").EntityScalarField;
37
+ notifyOnEnter: import("@contractspec/lib.schema").EntityScalarField;
38
+ notifyOnExit: import("@contractspec/lib.schema").EntityScalarField;
39
+ metadata: import("@contractspec/lib.schema").EntityScalarField;
40
+ createdAt: import("@contractspec/lib.schema").EntityScalarField;
41
+ updatedAt: import("@contractspec/lib.schema").EntityScalarField;
42
+ workflowDefinition: import("@contractspec/lib.schema").EntityRelationField;
43
+ executions: import("@contractspec/lib.schema").EntityRelationField;
47
44
  }>;
48
- //#endregion
49
- export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
50
45
  //# sourceMappingURL=step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","names":[],"sources":["../../src/entities/step.ts"],"mappings":";;;;;;cAUa,YAAA,EAcX,yBAAA,CAduB,aAAA;;;;cAmBZ,gBAAA,EAUX,yBAAA,CAV2B,aAAA;AAA7B;;;;;AAkBA;AAlBA,cAkBa,kBAAA,4BAAkB,UAAA;MAwH7B,yBAAA,CAAA,iBAAA"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/entities/step.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,YAAY,kDAcvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,kDAU3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwH7B,CAAC"}