@contractspec/example.workflow-system 1.57.0 → 1.59.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,135 +1,125 @@
1
- import { defineEntity, defineEntityEnum, field, index } from "@contractspec/lib.schema";
2
-
3
- //#region src/entities/step.ts
4
- /**
5
- * Step type enum - what kind of step this is.
6
- */
7
- const StepTypeEnum = defineEntityEnum({
8
- name: "StepType",
9
- values: [
10
- "START",
11
- "APPROVAL",
12
- "TASK",
13
- "CONDITION",
14
- "PARALLEL",
15
- "WAIT",
16
- "ACTION",
17
- "END"
18
- ],
19
- schema: "workflow",
20
- description: "Type of workflow step."
1
+ // @bun
2
+ // src/entities/step.ts
3
+ import {
4
+ defineEntity,
5
+ defineEntityEnum,
6
+ field,
7
+ index
8
+ } from "@contractspec/lib.schema";
9
+ var StepTypeEnum = defineEntityEnum({
10
+ name: "StepType",
11
+ values: [
12
+ "START",
13
+ "APPROVAL",
14
+ "TASK",
15
+ "CONDITION",
16
+ "PARALLEL",
17
+ "WAIT",
18
+ "ACTION",
19
+ "END"
20
+ ],
21
+ schema: "workflow",
22
+ description: "Type of workflow step."
21
23
  });
22
- /**
23
- * Approval mode enum - how approvals are handled.
24
- */
25
- const ApprovalModeEnum = defineEntityEnum({
26
- name: "ApprovalMode",
27
- values: [
28
- "ANY",
29
- "ALL",
30
- "MAJORITY",
31
- "SEQUENTIAL"
32
- ],
33
- schema: "workflow",
34
- description: "How multiple approvers are handled."
24
+ var ApprovalModeEnum = defineEntityEnum({
25
+ name: "ApprovalMode",
26
+ values: [
27
+ "ANY",
28
+ "ALL",
29
+ "MAJORITY",
30
+ "SEQUENTIAL"
31
+ ],
32
+ schema: "workflow",
33
+ description: "How multiple approvers are handled."
35
34
  });
36
- /**
37
- * WorkflowStep entity - defines a step in a workflow.
38
- *
39
- * Each step represents a state in the workflow state machine,
40
- * with transitions defined by the `transitions` JSON field.
41
- */
42
- const WorkflowStepEntity = defineEntity({
43
- name: "WorkflowStep",
44
- description: "A single step/state in a workflow definition.",
45
- schema: "workflow",
46
- map: "workflow_step",
47
- fields: {
48
- id: field.id({ description: "Unique step ID" }),
49
- workflowDefinitionId: field.foreignKey(),
50
- name: field.string({ description: "Human-readable step name" }),
51
- key: field.string({ description: "Unique key within workflow (e.g., \"manager_approval\")" }),
52
- description: field.string({ isOptional: true }),
53
- type: field.enum("StepType", { default: "TASK" }),
54
- position: field.int({
55
- default: 0,
56
- description: "Order for display"
57
- }),
58
- transitions: field.json({ description: "Map of action -> next step key" }),
59
- approvalMode: field.enum("ApprovalMode", {
60
- default: "ANY",
61
- isOptional: true
62
- }),
63
- approverRoles: field.string({
64
- isArray: true,
65
- description: "Roles that can approve"
66
- }),
67
- approverUserIds: field.string({
68
- isArray: true,
69
- description: "Specific users that can approve"
70
- }),
71
- escalationConfig: field.json({
72
- isOptional: true,
73
- description: "Escalation rules"
74
- }),
75
- assigneeRoles: field.string({
76
- isArray: true,
77
- description: "Roles that can be assigned"
78
- }),
79
- taskTemplate: field.json({
80
- isOptional: true,
81
- description: "Template for task creation"
82
- }),
83
- conditionExpression: field.string({
84
- isOptional: true,
85
- description: "Expression for branching"
86
- }),
87
- waitDuration: field.int({
88
- isOptional: true,
89
- description: "Wait duration in seconds"
90
- }),
91
- waitForEvent: field.string({
92
- isOptional: true,
93
- description: "Event name to wait for"
94
- }),
95
- actionType: field.string({
96
- isOptional: true,
97
- description: "Action to execute"
98
- }),
99
- actionConfig: field.json({
100
- isOptional: true,
101
- description: "Action parameters"
102
- }),
103
- timeoutSeconds: field.int({
104
- isOptional: true,
105
- description: "Step timeout"
106
- }),
107
- slaSeconds: field.int({
108
- isOptional: true,
109
- description: "SLA deadline"
110
- }),
111
- notifyOnEnter: field.json({
112
- isOptional: true,
113
- description: "Notification config when entering step"
114
- }),
115
- notifyOnExit: field.json({
116
- isOptional: true,
117
- description: "Notification config when exiting step"
118
- }),
119
- metadata: field.json({ isOptional: true }),
120
- createdAt: field.createdAt(),
121
- updatedAt: field.updatedAt(),
122
- workflowDefinition: field.belongsTo("WorkflowDefinition", ["workflowDefinitionId"], ["id"], { onDelete: "Cascade" }),
123
- executions: field.hasMany("StepExecution")
124
- },
125
- indexes: [
126
- index.unique(["workflowDefinitionId", "key"]),
127
- index.on(["workflowDefinitionId", "position"]),
128
- index.on(["type"])
129
- ],
130
- enums: [StepTypeEnum, ApprovalModeEnum]
35
+ var WorkflowStepEntity = defineEntity({
36
+ name: "WorkflowStep",
37
+ description: "A single step/state in a workflow definition.",
38
+ schema: "workflow",
39
+ map: "workflow_step",
40
+ fields: {
41
+ id: field.id({ description: "Unique step ID" }),
42
+ workflowDefinitionId: field.foreignKey(),
43
+ name: field.string({ description: "Human-readable step name" }),
44
+ key: field.string({
45
+ description: 'Unique key within workflow (e.g., "manager_approval")'
46
+ }),
47
+ description: field.string({ isOptional: true }),
48
+ type: field.enum("StepType", { default: "TASK" }),
49
+ position: field.int({ default: 0, description: "Order for display" }),
50
+ transitions: field.json({ description: "Map of action -> next step key" }),
51
+ approvalMode: field.enum("ApprovalMode", {
52
+ default: "ANY",
53
+ isOptional: true
54
+ }),
55
+ approverRoles: field.string({
56
+ isArray: true,
57
+ description: "Roles that can approve"
58
+ }),
59
+ approverUserIds: field.string({
60
+ isArray: true,
61
+ description: "Specific users that can approve"
62
+ }),
63
+ escalationConfig: field.json({
64
+ isOptional: true,
65
+ description: "Escalation rules"
66
+ }),
67
+ assigneeRoles: field.string({
68
+ isArray: true,
69
+ description: "Roles that can be assigned"
70
+ }),
71
+ taskTemplate: field.json({
72
+ isOptional: true,
73
+ description: "Template for task creation"
74
+ }),
75
+ conditionExpression: field.string({
76
+ isOptional: true,
77
+ description: "Expression for branching"
78
+ }),
79
+ waitDuration: field.int({
80
+ isOptional: true,
81
+ description: "Wait duration in seconds"
82
+ }),
83
+ waitForEvent: field.string({
84
+ isOptional: true,
85
+ description: "Event name to wait for"
86
+ }),
87
+ actionType: field.string({
88
+ isOptional: true,
89
+ description: "Action to execute"
90
+ }),
91
+ actionConfig: field.json({
92
+ isOptional: true,
93
+ description: "Action parameters"
94
+ }),
95
+ timeoutSeconds: field.int({
96
+ isOptional: true,
97
+ description: "Step timeout"
98
+ }),
99
+ slaSeconds: field.int({ isOptional: true, description: "SLA deadline" }),
100
+ notifyOnEnter: field.json({
101
+ isOptional: true,
102
+ description: "Notification config when entering step"
103
+ }),
104
+ notifyOnExit: field.json({
105
+ isOptional: true,
106
+ description: "Notification config when exiting step"
107
+ }),
108
+ metadata: field.json({ isOptional: true }),
109
+ createdAt: field.createdAt(),
110
+ updatedAt: field.updatedAt(),
111
+ workflowDefinition: field.belongsTo("WorkflowDefinition", ["workflowDefinitionId"], ["id"], { onDelete: "Cascade" }),
112
+ executions: field.hasMany("StepExecution")
113
+ },
114
+ indexes: [
115
+ index.unique(["workflowDefinitionId", "key"]),
116
+ index.on(["workflowDefinitionId", "position"]),
117
+ index.on(["type"])
118
+ ],
119
+ enums: [StepTypeEnum, ApprovalModeEnum]
131
120
  });
132
-
133
- //#endregion
134
- export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity };
135
- //# sourceMappingURL=step.js.map
121
+ export {
122
+ WorkflowStepEntity,
123
+ StepTypeEnum,
124
+ ApprovalModeEnum
125
+ };
@@ -1,41 +1,36 @@
1
- import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
-
3
- //#region src/entities/workflow.d.ts
4
1
  /**
5
2
  * Workflow status enum - the lifecycle state of a workflow definition.
6
3
  */
7
- declare const WorkflowStatusEnum: _contractspec_lib_schema0.EntityEnumDef;
4
+ export declare const WorkflowStatusEnum: import("@contractspec/lib.schema").EntityEnumDef;
8
5
  /**
9
6
  * Workflow trigger type enum - what initiates a workflow.
10
7
  */
11
- declare const WorkflowTriggerTypeEnum: _contractspec_lib_schema0.EntityEnumDef;
8
+ export declare const WorkflowTriggerTypeEnum: import("@contractspec/lib.schema").EntityEnumDef;
12
9
  /**
13
10
  * WorkflowDefinition entity - defines a workflow blueprint.
14
11
  *
15
12
  * A workflow definition specifies the structure, steps, and rules
16
13
  * for a business process. Instances are created from definitions.
17
14
  */
18
- declare const WorkflowDefinitionEntity: _contractspec_lib_schema0.EntitySpec<{
19
- id: _contractspec_lib_schema0.EntityScalarField;
20
- name: _contractspec_lib_schema0.EntityScalarField;
21
- key: _contractspec_lib_schema0.EntityScalarField;
22
- description: _contractspec_lib_schema0.EntityScalarField;
23
- version: _contractspec_lib_schema0.EntityScalarField;
24
- status: _contractspec_lib_schema0.EntityEnumField;
25
- triggerType: _contractspec_lib_schema0.EntityEnumField;
26
- triggerConfig: _contractspec_lib_schema0.EntityScalarField;
27
- initialStepId: _contractspec_lib_schema0.EntityScalarField;
28
- featureFlagKey: _contractspec_lib_schema0.EntityScalarField;
29
- settings: _contractspec_lib_schema0.EntityScalarField;
30
- metadata: _contractspec_lib_schema0.EntityScalarField;
31
- organizationId: _contractspec_lib_schema0.EntityScalarField;
32
- createdBy: _contractspec_lib_schema0.EntityScalarField;
33
- createdAt: _contractspec_lib_schema0.EntityScalarField;
34
- updatedAt: _contractspec_lib_schema0.EntityScalarField;
35
- publishedAt: _contractspec_lib_schema0.EntityScalarField;
36
- steps: _contractspec_lib_schema0.EntityRelationField;
37
- instances: _contractspec_lib_schema0.EntityRelationField;
15
+ export declare const WorkflowDefinitionEntity: import("@contractspec/lib.schema").EntitySpec<{
16
+ id: import("@contractspec/lib.schema").EntityScalarField;
17
+ name: import("@contractspec/lib.schema").EntityScalarField;
18
+ key: import("@contractspec/lib.schema").EntityScalarField;
19
+ description: import("@contractspec/lib.schema").EntityScalarField;
20
+ version: import("@contractspec/lib.schema").EntityScalarField;
21
+ status: import("@contractspec/lib.schema").EntityEnumField;
22
+ triggerType: import("@contractspec/lib.schema").EntityEnumField;
23
+ triggerConfig: import("@contractspec/lib.schema").EntityScalarField;
24
+ initialStepId: import("@contractspec/lib.schema").EntityScalarField;
25
+ featureFlagKey: import("@contractspec/lib.schema").EntityScalarField;
26
+ settings: import("@contractspec/lib.schema").EntityScalarField;
27
+ metadata: import("@contractspec/lib.schema").EntityScalarField;
28
+ organizationId: import("@contractspec/lib.schema").EntityScalarField;
29
+ createdBy: import("@contractspec/lib.schema").EntityScalarField;
30
+ createdAt: import("@contractspec/lib.schema").EntityScalarField;
31
+ updatedAt: import("@contractspec/lib.schema").EntityScalarField;
32
+ publishedAt: import("@contractspec/lib.schema").EntityScalarField;
33
+ steps: import("@contractspec/lib.schema").EntityRelationField;
34
+ instances: import("@contractspec/lib.schema").EntityRelationField;
38
35
  }>;
39
- //#endregion
40
- export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
41
36
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","names":[],"sources":["../../src/entities/workflow.ts"],"mappings":";;;;;;cAUa,kBAAA,EAKX,yBAAA,CAL6B,aAAA;;;;cAUlB,uBAAA,EAKX,yBAAA,CALkC,aAAA;AAApC;;;;;AAaA;AAbA,cAaa,wBAAA,4BAAwB,UAAA;MA2EnC,yBAAA,CAAA,iBAAA"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/entities/workflow.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,kBAAkB,kDAK7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,kDAKlC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;EA2EnC,CAAC"}
@@ -1,102 +1,83 @@
1
- import { defineEntity, defineEntityEnum, field, index } from "@contractspec/lib.schema";
2
-
3
- //#region src/entities/workflow.ts
4
- /**
5
- * Workflow status enum - the lifecycle state of a workflow definition.
6
- */
7
- const WorkflowStatusEnum = defineEntityEnum({
8
- name: "WorkflowStatus",
9
- values: [
10
- "DRAFT",
11
- "ACTIVE",
12
- "DEPRECATED",
13
- "ARCHIVED"
14
- ],
15
- schema: "workflow",
16
- description: "Status of a workflow definition."
1
+ // @bun
2
+ // src/entities/workflow.ts
3
+ import {
4
+ defineEntity,
5
+ defineEntityEnum,
6
+ field,
7
+ index
8
+ } from "@contractspec/lib.schema";
9
+ var WorkflowStatusEnum = defineEntityEnum({
10
+ name: "WorkflowStatus",
11
+ values: ["DRAFT", "ACTIVE", "DEPRECATED", "ARCHIVED"],
12
+ schema: "workflow",
13
+ description: "Status of a workflow definition."
17
14
  });
18
- /**
19
- * Workflow trigger type enum - what initiates a workflow.
20
- */
21
- const WorkflowTriggerTypeEnum = defineEntityEnum({
22
- name: "WorkflowTriggerType",
23
- values: [
24
- "MANUAL",
25
- "EVENT",
26
- "SCHEDULED",
27
- "API"
28
- ],
29
- schema: "workflow",
30
- description: "What triggers workflow instantiation."
15
+ var WorkflowTriggerTypeEnum = defineEntityEnum({
16
+ name: "WorkflowTriggerType",
17
+ values: ["MANUAL", "EVENT", "SCHEDULED", "API"],
18
+ schema: "workflow",
19
+ description: "What triggers workflow instantiation."
31
20
  });
32
- /**
33
- * WorkflowDefinition entity - defines a workflow blueprint.
34
- *
35
- * A workflow definition specifies the structure, steps, and rules
36
- * for a business process. Instances are created from definitions.
37
- */
38
- const WorkflowDefinitionEntity = defineEntity({
39
- name: "WorkflowDefinition",
40
- description: "A workflow blueprint that defines the process structure.",
41
- schema: "workflow",
42
- map: "workflow_definition",
43
- fields: {
44
- id: field.id({ description: "Unique workflow definition ID" }),
45
- name: field.string({ description: "Human-readable workflow name" }),
46
- key: field.string({ description: "Unique key for referencing (e.g., \"purchase_approval\")" }),
47
- description: field.string({
48
- isOptional: true,
49
- description: "Detailed description"
50
- }),
51
- version: field.int({
52
- default: 1,
53
- description: "Version number for versioning definitions"
54
- }),
55
- status: field.enum("WorkflowStatus", { default: "DRAFT" }),
56
- triggerType: field.enum("WorkflowTriggerType", { default: "MANUAL" }),
57
- triggerConfig: field.json({
58
- isOptional: true,
59
- description: "Trigger-specific configuration"
60
- }),
61
- initialStepId: field.string({
62
- isOptional: true,
63
- description: "First step when workflow starts"
64
- }),
65
- featureFlagKey: field.string({
66
- isOptional: true,
67
- description: "Feature flag to control availability"
68
- }),
69
- settings: field.json({
70
- isOptional: true,
71
- description: "Workflow-wide settings"
72
- }),
73
- metadata: field.json({
74
- isOptional: true,
75
- description: "Custom metadata"
76
- }),
77
- organizationId: field.foreignKey({ description: "Owning organization" }),
78
- createdBy: field.foreignKey({ description: "User who created this workflow" }),
79
- createdAt: field.createdAt(),
80
- updatedAt: field.updatedAt(),
81
- publishedAt: field.dateTime({
82
- isOptional: true,
83
- description: "When workflow was activated"
84
- }),
85
- steps: field.hasMany("WorkflowStep"),
86
- instances: field.hasMany("WorkflowInstance")
87
- },
88
- indexes: [
89
- index.unique([
90
- "organizationId",
91
- "key",
92
- "version"
93
- ]),
94
- index.on(["organizationId", "status"]),
95
- index.on(["key", "version"])
96
- ],
97
- enums: [WorkflowStatusEnum, WorkflowTriggerTypeEnum]
21
+ var WorkflowDefinitionEntity = defineEntity({
22
+ name: "WorkflowDefinition",
23
+ description: "A workflow blueprint that defines the process structure.",
24
+ schema: "workflow",
25
+ map: "workflow_definition",
26
+ fields: {
27
+ id: field.id({ description: "Unique workflow definition ID" }),
28
+ name: field.string({ description: "Human-readable workflow name" }),
29
+ key: field.string({
30
+ description: 'Unique key for referencing (e.g., "purchase_approval")'
31
+ }),
32
+ description: field.string({
33
+ isOptional: true,
34
+ description: "Detailed description"
35
+ }),
36
+ version: field.int({
37
+ default: 1,
38
+ description: "Version number for versioning definitions"
39
+ }),
40
+ status: field.enum("WorkflowStatus", { default: "DRAFT" }),
41
+ triggerType: field.enum("WorkflowTriggerType", { default: "MANUAL" }),
42
+ triggerConfig: field.json({
43
+ isOptional: true,
44
+ description: "Trigger-specific configuration"
45
+ }),
46
+ initialStepId: field.string({
47
+ isOptional: true,
48
+ description: "First step when workflow starts"
49
+ }),
50
+ featureFlagKey: field.string({
51
+ isOptional: true,
52
+ description: "Feature flag to control availability"
53
+ }),
54
+ settings: field.json({
55
+ isOptional: true,
56
+ description: "Workflow-wide settings"
57
+ }),
58
+ metadata: field.json({ isOptional: true, description: "Custom metadata" }),
59
+ organizationId: field.foreignKey({ description: "Owning organization" }),
60
+ createdBy: field.foreignKey({
61
+ description: "User who created this workflow"
62
+ }),
63
+ createdAt: field.createdAt(),
64
+ updatedAt: field.updatedAt(),
65
+ publishedAt: field.dateTime({
66
+ isOptional: true,
67
+ description: "When workflow was activated"
68
+ }),
69
+ steps: field.hasMany("WorkflowStep"),
70
+ instances: field.hasMany("WorkflowInstance")
71
+ },
72
+ indexes: [
73
+ index.unique(["organizationId", "key", "version"]),
74
+ index.on(["organizationId", "status"]),
75
+ index.on(["key", "version"])
76
+ ],
77
+ enums: [WorkflowStatusEnum, WorkflowTriggerTypeEnum]
98
78
  });
99
-
100
- //#endregion
101
- export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
102
- //# sourceMappingURL=workflow.js.map
79
+ export {
80
+ WorkflowTriggerTypeEnum,
81
+ WorkflowStatusEnum,
82
+ WorkflowDefinitionEntity
83
+ };
package/dist/example.d.ts CHANGED
@@ -1,7 +1,3 @@
1
- import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
-
3
- //#region src/example.d.ts
4
- declare const example: _contractspec_lib_contracts0.ExampleSpec;
5
- //#endregion
6
- export { example as default };
1
+ declare const example: import("@contractspec/lib.contracts").ExampleSpec;
2
+ export default example;
7
3
  //# sourceMappingURL=example.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"mappings":";;;cAEM,OAAA,EAoCJ,4BAAA,CApCW,WAAA"}
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,OAAO,mDAoCX,CAAC;AAEH,eAAe,OAAO,CAAC"}
package/dist/example.js CHANGED
@@ -1,57 +1,43 @@
1
+ // @bun
2
+ // src/example.ts
1
3
  import { defineExample } from "@contractspec/lib.contracts";
2
-
3
- //#region src/example.ts
4
- const example = defineExample({
5
- meta: {
6
- key: "workflow-system",
7
- version: "1.0.0",
8
- title: "Workflow / Approval System",
9
- description: "State-machine driven approvals with RBAC, audit trail, notifications, and jobs.",
10
- kind: "template",
11
- visibility: "public",
12
- stability: "experimental",
13
- owners: ["@platform.core"],
14
- tags: [
15
- "workflow",
16
- "approval",
17
- "state-machine",
18
- "rbac"
19
- ]
20
- },
21
- docs: {
22
- rootDocId: "docs.examples.workflow-system",
23
- goalDocId: "docs.examples.workflow-system.goal",
24
- usageDocId: "docs.examples.workflow-system.usage",
25
- constraintsDocId: "docs.examples.workflow-system.constraints"
26
- },
27
- entrypoints: {
28
- packageName: "@contractspec/example.workflow-system",
29
- feature: "./feature",
30
- contracts: "./contracts",
31
- presentations: "./presentations",
32
- handlers: "./handlers",
33
- docs: "./docs"
34
- },
35
- surfaces: {
36
- templates: true,
37
- sandbox: {
38
- enabled: true,
39
- modes: [
40
- "playground",
41
- "specs",
42
- "builder",
43
- "markdown",
44
- "evolution"
45
- ]
46
- },
47
- studio: {
48
- enabled: true,
49
- installable: true
50
- },
51
- mcp: { enabled: true }
52
- }
4
+ var example = defineExample({
5
+ meta: {
6
+ key: "workflow-system",
7
+ version: "1.0.0",
8
+ title: "Workflow / Approval System",
9
+ description: "State-machine driven approvals with RBAC, audit trail, notifications, and jobs.",
10
+ kind: "template",
11
+ visibility: "public",
12
+ stability: "experimental",
13
+ owners: ["@platform.core"],
14
+ tags: ["workflow", "approval", "state-machine", "rbac"]
15
+ },
16
+ docs: {
17
+ rootDocId: "docs.examples.workflow-system",
18
+ goalDocId: "docs.examples.workflow-system.goal",
19
+ usageDocId: "docs.examples.workflow-system.usage",
20
+ constraintsDocId: "docs.examples.workflow-system.constraints"
21
+ },
22
+ entrypoints: {
23
+ packageName: "@contractspec/example.workflow-system",
24
+ feature: "./feature",
25
+ contracts: "./contracts",
26
+ presentations: "./presentations",
27
+ handlers: "./handlers",
28
+ docs: "./docs"
29
+ },
30
+ surfaces: {
31
+ templates: true,
32
+ sandbox: {
33
+ enabled: true,
34
+ modes: ["playground", "specs", "builder", "markdown", "evolution"]
35
+ },
36
+ studio: { enabled: true, installable: true },
37
+ mcp: { enabled: true }
38
+ }
53
39
  });
54
-
55
- //#endregion
56
- export { example as default };
57
- //# sourceMappingURL=example.js.map
40
+ var example_default = example;
41
+ export {
42
+ example_default as default
43
+ };
@@ -1,2 +1,2 @@
1
- import { AddWorkflowStepInput, ApproveStepInput, CreateWorkflowDefinitionInput, ListWorkflowDefinitionsInput, ListWorkflowDefinitionsOutput, ListWorkflowInstancesInput, ListWorkflowInstancesOutput, RejectStepInput, StartWorkflowInput, WorkflowApproval, WorkflowDefinition, WorkflowHandlers, WorkflowInstance, WorkflowStep, createWorkflowHandlers } from "./workflow.handlers.js";
2
- export { AddWorkflowStepInput, ApproveStepInput, CreateWorkflowDefinitionInput, ListWorkflowDefinitionsInput, ListWorkflowDefinitionsOutput, ListWorkflowInstancesInput, ListWorkflowInstancesOutput, RejectStepInput, StartWorkflowInput, WorkflowApproval, WorkflowDefinition, WorkflowHandlers, WorkflowInstance, WorkflowStep, createWorkflowHandlers };
1
+ export * from './workflow.handlers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}