@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 +1 @@
1
- {"version":3,"file":"workflow.operations.d.ts","names":[],"sources":["../../src/workflow/workflow.operations.ts"],"mappings":";;;;;;;cAmBa,sBAAA,+BAAsB,aAAA,2BAAA,WAAA;;UAmDjC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAnDiC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwDtB,sBAAA,+BAAsB,aAAA,2BAAA,WAAA;;UA+CjC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA/CiC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoDtB,eAAA,+BAAe,aAAA,2BAAA,WAAA;;UAgD1B,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAhD0B,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqDf,uBAAA,+BAAuB,aAAA,2BAAA,WAAA;;UAoDlC,yBAAA,CAAA,SAAA;;;;;UApDkC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyDvB,qBAAA,+BAAqB,aAAA,2BAAA,WAAA;;UA2DhC,yBAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;cA3DgC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgErB,mBAAA,+BAAmB,aAAA,2BAAA,WAAA;;UAyC9B,yBAAA,CAAA,SAAA;;;;;UAzC8B,yBAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"workflow.operations.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.operations.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmDjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+CjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgD1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoDlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2DhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC9B,CAAC"}
@@ -1,345 +1,9 @@
1
- import { WorkflowStatusEnum } from "./workflow.enum.js";
2
- import { AddStepInputModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, WorkflowDefinitionModel, WorkflowStepModel } from "./workflow.schema.js";
3
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
4
- import { defineCommand, defineQuery } from "@contractspec/lib.contracts/operations";
5
-
6
- //#region src/workflow/workflow.operations.ts
7
- const OWNERS = ["@example.workflow-system"];
8
- /**
9
- * Create a new workflow definition.
10
- */
11
- const CreateWorkflowContract = defineCommand({
12
- meta: {
13
- key: "workflow.definition.create",
14
- version: "1.0.0",
15
- stability: "stable",
16
- owners: [...OWNERS],
17
- tags: [
18
- "workflow",
19
- "definition",
20
- "create"
21
- ],
22
- description: "Create a new workflow definition.",
23
- goal: "Allow users to define new workflow blueprints.",
24
- context: "Workflow designer, admin panel."
25
- },
26
- io: {
27
- input: CreateWorkflowInputModel,
28
- output: WorkflowDefinitionModel
29
- },
30
- policy: { auth: "user" },
31
- sideEffects: {
32
- emits: [{
33
- key: "workflow.definition.created",
34
- version: "1.0.0",
35
- when: "Workflow is created",
36
- payload: WorkflowDefinitionModel
37
- }],
38
- audit: ["workflow.definition.created"]
39
- },
40
- acceptance: {
41
- scenarios: [{
42
- key: "create-workflow-happy-path",
43
- given: ["User is admin"],
44
- when: ["User creates new workflow definition"],
45
- then: ["Definition is created", "WorkflowDefinitionCreated event is emitted"]
46
- }],
47
- examples: [{
48
- key: "create-onboarding",
49
- input: {
50
- key: "onboarding-v1",
51
- name: "Employee Onboarding",
52
- version: "1.0.0"
53
- },
54
- output: {
55
- id: "def-123",
56
- status: "draft"
57
- }
58
- }]
59
- }
60
- });
61
- /**
62
- * Update an existing workflow definition.
63
- */
64
- const UpdateWorkflowContract = defineCommand({
65
- meta: {
66
- key: "workflow.definition.update",
67
- version: "1.0.0",
68
- stability: "stable",
69
- owners: [...OWNERS],
70
- tags: [
71
- "workflow",
72
- "definition",
73
- "update"
74
- ],
75
- description: "Update an existing workflow definition.",
76
- goal: "Allow users to modify workflow blueprints.",
77
- context: "Workflow designer."
78
- },
79
- io: {
80
- input: UpdateWorkflowInputModel,
81
- output: WorkflowDefinitionModel
82
- },
83
- policy: { auth: "user" },
84
- sideEffects: {
85
- emits: [{
86
- key: "workflow.definition.updated",
87
- version: "1.0.0",
88
- when: "Workflow is updated",
89
- payload: WorkflowDefinitionModel
90
- }],
91
- audit: ["workflow.definition.updated"]
92
- },
93
- acceptance: {
94
- scenarios: [{
95
- key: "update-workflow-happy-path",
96
- given: ["Workflow definition exists"],
97
- when: ["User updates definition"],
98
- then: ["Definition is updated", "WorkflowDefinitionUpdated event is emitted"]
99
- }],
100
- examples: [{
101
- key: "update-name",
102
- input: {
103
- workflowId: "def-123",
104
- name: "New Employee Onboarding"
105
- },
106
- output: {
107
- id: "def-123",
108
- name: "New Employee Onboarding"
109
- }
110
- }]
111
- }
112
- });
113
- /**
114
- * Add a step to a workflow definition.
115
- */
116
- const AddStepContract = defineCommand({
117
- meta: {
118
- key: "workflow.step.add",
119
- version: "1.0.0",
120
- stability: "stable",
121
- owners: [...OWNERS],
122
- tags: [
123
- "workflow",
124
- "step",
125
- "add"
126
- ],
127
- description: "Add a step to a workflow definition.",
128
- goal: "Build workflow structure step by step.",
129
- context: "Workflow designer."
130
- },
131
- io: {
132
- input: AddStepInputModel,
133
- output: WorkflowStepModel
134
- },
135
- policy: { auth: "user" },
136
- sideEffects: {
137
- emits: [{
138
- key: "workflow.step.added",
139
- version: "1.0.0",
140
- when: "Step is added",
141
- payload: WorkflowStepModel
142
- }],
143
- audit: ["workflow.step.added"]
144
- },
145
- acceptance: {
146
- scenarios: [{
147
- key: "add-step-happy-path",
148
- given: ["Workflow definition exists"],
149
- when: ["User adds a step"],
150
- then: ["Step is added", "StepAdded event is emitted"]
151
- }],
152
- examples: [{
153
- key: "add-approval-step",
154
- input: {
155
- workflowId: "def-123",
156
- stepKey: "approve-contract",
157
- type: "approval"
158
- },
159
- output: {
160
- id: "step-456",
161
- key: "approve-contract"
162
- }
163
- }]
164
- }
165
- });
166
- /**
167
- * Publish a workflow definition (make it active).
168
- */
169
- const PublishWorkflowContract = defineCommand({
170
- meta: {
171
- key: "workflow.definition.publish",
172
- version: "1.0.0",
173
- stability: "stable",
174
- owners: [...OWNERS],
175
- tags: [
176
- "workflow",
177
- "definition",
178
- "publish"
179
- ],
180
- description: "Publish a workflow definition to make it available for use.",
181
- goal: "Activate workflow for production use.",
182
- context: "Workflow designer, deployment."
183
- },
184
- io: {
185
- input: defineSchemaModel({
186
- name: "PublishWorkflowInput",
187
- fields: { workflowId: {
188
- type: ScalarTypeEnum.String_unsecure(),
189
- isOptional: false
190
- } }
191
- }),
192
- output: WorkflowDefinitionModel
193
- },
194
- policy: { auth: "user" },
195
- sideEffects: {
196
- emits: [{
197
- key: "workflow.definition.published",
198
- version: "1.0.0",
199
- when: "Workflow is published",
200
- payload: WorkflowDefinitionModel
201
- }],
202
- audit: ["workflow.definition.published"]
203
- },
204
- acceptance: {
205
- scenarios: [{
206
- key: "publish-workflow-happy-path",
207
- given: ["Workflow definition is valid"],
208
- when: ["User publishes workflow"],
209
- then: ["Workflow becomes active", "WorkflowPublished event is emitted"]
210
- }],
211
- examples: [{
212
- key: "publish-onboarding",
213
- input: { workflowId: "def-123" },
214
- output: {
215
- id: "def-123",
216
- status: "published"
217
- }
218
- }]
219
- }
220
- });
221
- /**
222
- * List workflow definitions.
223
- */
224
- const ListWorkflowsContract = defineQuery({
225
- meta: {
226
- key: "workflow.definition.list",
227
- version: "1.0.0",
228
- stability: "stable",
229
- owners: [...OWNERS],
230
- tags: [
231
- "workflow",
232
- "definition",
233
- "list"
234
- ],
235
- description: "List workflow definitions with filtering.",
236
- goal: "Browse and search available workflows.",
237
- context: "Workflow list, search."
238
- },
239
- io: {
240
- input: defineSchemaModel({
241
- name: "ListWorkflowsInput",
242
- fields: {
243
- status: {
244
- type: WorkflowStatusEnum,
245
- isOptional: true
246
- },
247
- search: {
248
- type: ScalarTypeEnum.String_unsecure(),
249
- isOptional: true
250
- },
251
- limit: {
252
- type: ScalarTypeEnum.Int_unsecure(),
253
- isOptional: true,
254
- defaultValue: 20
255
- },
256
- offset: {
257
- type: ScalarTypeEnum.Int_unsecure(),
258
- isOptional: true,
259
- defaultValue: 0
260
- }
261
- }
262
- }),
263
- output: defineSchemaModel({
264
- name: "ListWorkflowsOutput",
265
- fields: {
266
- workflows: {
267
- type: WorkflowDefinitionModel,
268
- isArray: true,
269
- isOptional: false
270
- },
271
- total: {
272
- type: ScalarTypeEnum.Int_unsecure(),
273
- isOptional: false
274
- }
275
- }
276
- })
277
- },
278
- policy: { auth: "user" },
279
- acceptance: {
280
- scenarios: [{
281
- key: "list-workflows-happy-path",
282
- given: ["Workflow definitions exist"],
283
- when: ["User lists workflows"],
284
- then: ["List of workflows is returned"]
285
- }],
286
- examples: [{
287
- key: "list-all",
288
- input: { limit: 10 },
289
- output: {
290
- workflows: [],
291
- total: 5
292
- }
293
- }]
294
- }
295
- });
296
- /**
297
- * Get a single workflow definition with steps.
298
- */
299
- const GetWorkflowContract = defineQuery({
300
- meta: {
301
- key: "workflow.definition.get",
302
- version: "1.0.0",
303
- stability: "stable",
304
- owners: [...OWNERS],
305
- tags: [
306
- "workflow",
307
- "definition",
308
- "get"
309
- ],
310
- description: "Get a workflow definition with all steps.",
311
- goal: "View workflow details.",
312
- context: "Workflow designer, detail view."
313
- },
314
- io: {
315
- input: defineSchemaModel({
316
- name: "GetWorkflowInput",
317
- fields: { workflowId: {
318
- type: ScalarTypeEnum.String_unsecure(),
319
- isOptional: false
320
- } }
321
- }),
322
- output: WorkflowDefinitionModel
323
- },
324
- policy: { auth: "user" },
325
- acceptance: {
326
- scenarios: [{
327
- key: "get-workflow-happy-path",
328
- given: ["Workflow definition exists"],
329
- when: ["User requests workflow details"],
330
- then: ["Workflow details are returned"]
331
- }],
332
- examples: [{
333
- key: "get-details",
334
- input: { workflowId: "def-123" },
335
- output: {
336
- id: "def-123",
337
- name: "Employee Onboarding"
338
- }
339
- }]
340
- }
341
- });
342
-
343
- //#endregion
344
- export { AddStepContract, CreateWorkflowContract, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, UpdateWorkflowContract };
345
- //# sourceMappingURL=workflow.operations.js.map
1
+ // @bun
2
+ export {
3
+ UpdateWorkflowContract,
4
+ PublishWorkflowContract,
5
+ ListWorkflowsContract,
6
+ GetWorkflowContract,
7
+ CreateWorkflowContract,
8
+ AddStepContract
9
+ };