@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":"instance.operations.d.ts","names":[],"sources":["../../src/instance/instance.operations.ts"],"mappings":";;;;;;;cAkBa,qBAAA,+BAAqB,aAAA,2BAAA,WAAA;;UAqDhC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;UArDgC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0DrB,0BAAA,+BAA0B,aAAA,2BAAA,WAAA;;UA4DrC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;UA5DqC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiE1B,qBAAA,+BAAqB,aAAA,2BAAA,WAAA;;UAqDhC,yBAAA,CAAA,SAAA;;;;;;;;;UArDgC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0DrB,sBAAA,+BAAsB,aAAA,2BAAA,WAAA;;UAqDjC,yBAAA,CAAA,SAAA;;;;;;;;;UArDiC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0DtB,sBAAA,+BAAsB,aAAA,2BAAA,WAAA;;UAwDjC,yBAAA,CAAA,SAAA;;;;;;;;;UAxDiC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6DtB,qBAAA,+BAAqB,aAAA,2BAAA,WAAA;;UA0EhC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA1EgC,yBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+ErB,mBAAA,+BAAmB,aAAA,2BAAA,WAAA;;UAyC9B,yBAAA,CAAA,SAAA;;;;;UAzC8B,yBAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"instance.operations.d.ts","sourceRoot":"","sources":["../../src/instance/instance.operations.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwDjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0EhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC9B,CAAC"}
@@ -1,464 +1,10 @@
1
- import { InstanceStatusEnum } from "./instance.enum.js";
2
- import { StartWorkflowInputModel, TransitionInputModel, TransitionResultModel, WorkflowInstanceModel } from "./instance.schema.js";
3
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
4
- import { defineCommand, defineQuery } from "@contractspec/lib.contracts/operations";
5
-
6
- //#region src/instance/instance.operations.ts
7
- const OWNERS = ["@example.workflow-system"];
8
- /**
9
- * Start a new workflow instance.
10
- */
11
- const StartWorkflowContract = defineCommand({
12
- meta: {
13
- key: "workflow.instance.start",
14
- version: "1.0.0",
15
- stability: "stable",
16
- owners: [...OWNERS],
17
- tags: [
18
- "workflow",
19
- "instance",
20
- "start"
21
- ],
22
- description: "Start a new workflow instance.",
23
- goal: "Initiate a workflow for a business process.",
24
- context: "Order creation, request submission, etc."
25
- },
26
- io: {
27
- input: StartWorkflowInputModel,
28
- output: WorkflowInstanceModel
29
- },
30
- policy: { auth: "user" },
31
- sideEffects: {
32
- emits: [{
33
- key: "workflow.instance.started",
34
- version: "1.0.0",
35
- when: "Workflow starts",
36
- payload: WorkflowInstanceModel
37
- }, {
38
- key: "workflow.step.entered",
39
- version: "1.0.0",
40
- when: "First step entered",
41
- payload: WorkflowInstanceModel
42
- }],
43
- audit: ["workflow.instance.started"]
44
- },
45
- acceptance: {
46
- scenarios: [{
47
- key: "start-workflow-happy-path",
48
- given: ["Workflow definition exists"],
49
- when: ["User starts workflow"],
50
- then: ["Instance is created and started"]
51
- }],
52
- examples: [{
53
- key: "start-onboarding",
54
- input: {
55
- workflowKey: "onboarding-v1",
56
- context: { employeeId: "emp-123" }
57
- },
58
- output: {
59
- id: "inst-456",
60
- status: "running"
61
- }
62
- }]
63
- }
64
- });
65
- /**
66
- * Transition workflow to next step.
67
- */
68
- const TransitionWorkflowContract = defineCommand({
69
- meta: {
70
- key: "workflow.instance.transition",
71
- version: "1.0.0",
72
- stability: "stable",
73
- owners: [...OWNERS],
74
- tags: [
75
- "workflow",
76
- "instance",
77
- "transition",
78
- "state-machine"
79
- ],
80
- description: "Transition a workflow instance to the next step.",
81
- goal: "Move workflow forward based on action.",
82
- context: "Task completion, approval decisions."
83
- },
84
- io: {
85
- input: TransitionInputModel,
86
- output: TransitionResultModel
87
- },
88
- policy: { auth: "user" },
89
- sideEffects: {
90
- emits: [
91
- {
92
- key: "workflow.step.exited",
93
- version: "1.0.0",
94
- when: "Step is exited",
95
- payload: WorkflowInstanceModel
96
- },
97
- {
98
- key: "workflow.step.entered",
99
- version: "1.0.0",
100
- when: "New step is entered",
101
- payload: WorkflowInstanceModel
102
- },
103
- {
104
- key: "workflow.instance.completed",
105
- version: "1.0.0",
106
- when: "Workflow reaches end",
107
- payload: WorkflowInstanceModel
108
- }
109
- ],
110
- audit: ["workflow.instance.transitioned"]
111
- },
112
- acceptance: {
113
- scenarios: [{
114
- key: "transition-workflow-happy-path",
115
- given: ["Workflow instance is waiting at step"],
116
- when: ["User provides input"],
117
- then: ["Instance moves to next step"]
118
- }],
119
- examples: [{
120
- key: "complete-task",
121
- input: {
122
- instanceId: "inst-456",
123
- action: "complete",
124
- data: { approved: true }
125
- },
126
- output: {
127
- success: true,
128
- nextStep: "notify-hr"
129
- }
130
- }]
131
- }
132
- });
133
- /**
134
- * Pause a running workflow.
135
- */
136
- const PauseWorkflowContract = defineCommand({
137
- meta: {
138
- key: "workflow.instance.pause",
139
- version: "1.0.0",
140
- stability: "stable",
141
- owners: [...OWNERS],
142
- tags: [
143
- "workflow",
144
- "instance",
145
- "pause"
146
- ],
147
- description: "Pause a running workflow instance.",
148
- goal: "Temporarily halt workflow execution.",
149
- context: "Administrative action, emergency stop."
150
- },
151
- io: {
152
- input: defineSchemaModel({
153
- name: "PauseResumeInput",
154
- fields: {
155
- instanceId: {
156
- type: ScalarTypeEnum.String_unsecure(),
157
- isOptional: false
158
- },
159
- reason: {
160
- type: ScalarTypeEnum.String_unsecure(),
161
- isOptional: true
162
- }
163
- }
164
- }),
165
- output: WorkflowInstanceModel
166
- },
167
- policy: { auth: "user" },
168
- sideEffects: {
169
- emits: [{
170
- key: "workflow.instance.paused",
171
- version: "1.0.0",
172
- when: "Workflow is paused",
173
- payload: WorkflowInstanceModel
174
- }],
175
- audit: ["workflow.instance.paused"]
176
- },
177
- acceptance: {
178
- scenarios: [{
179
- key: "pause-workflow-happy-path",
180
- given: ["Workflow is running"],
181
- when: ["Admin pauses workflow"],
182
- then: ["Instance status becomes PAUSED"]
183
- }],
184
- examples: [{
185
- key: "pause-maintenance",
186
- input: {
187
- instanceId: "inst-456",
188
- reason: "System maintenance"
189
- },
190
- output: {
191
- id: "inst-456",
192
- status: "paused"
193
- }
194
- }]
195
- }
196
- });
197
- /**
198
- * Resume a paused workflow.
199
- */
200
- const ResumeWorkflowContract = defineCommand({
201
- meta: {
202
- key: "workflow.instance.resume",
203
- version: "1.0.0",
204
- stability: "stable",
205
- owners: [...OWNERS],
206
- tags: [
207
- "workflow",
208
- "instance",
209
- "resume"
210
- ],
211
- description: "Resume a paused workflow instance.",
212
- goal: "Continue workflow execution.",
213
- context: "Administrative action."
214
- },
215
- io: {
216
- input: defineSchemaModel({
217
- name: "PauseResumeInput",
218
- fields: {
219
- instanceId: {
220
- type: ScalarTypeEnum.String_unsecure(),
221
- isOptional: false
222
- },
223
- reason: {
224
- type: ScalarTypeEnum.String_unsecure(),
225
- isOptional: true
226
- }
227
- }
228
- }),
229
- output: WorkflowInstanceModel
230
- },
231
- policy: { auth: "user" },
232
- sideEffects: {
233
- emits: [{
234
- key: "workflow.instance.resumed",
235
- version: "1.0.0",
236
- when: "Workflow is resumed",
237
- payload: WorkflowInstanceModel
238
- }],
239
- audit: ["workflow.instance.resumed"]
240
- },
241
- acceptance: {
242
- scenarios: [{
243
- key: "resume-workflow-happy-path",
244
- given: ["Workflow is paused"],
245
- when: ["Admin resumes workflow"],
246
- then: ["Instance status becomes RUNNING"]
247
- }],
248
- examples: [{
249
- key: "resume-normal",
250
- input: {
251
- instanceId: "inst-456",
252
- reason: "Issue resolved"
253
- },
254
- output: {
255
- id: "inst-456",
256
- status: "running"
257
- }
258
- }]
259
- }
260
- });
261
- /**
262
- * Cancel a workflow instance.
263
- */
264
- const CancelWorkflowContract = defineCommand({
265
- meta: {
266
- key: "workflow.instance.cancel",
267
- version: "1.0.0",
268
- stability: "stable",
269
- owners: [...OWNERS],
270
- tags: [
271
- "workflow",
272
- "instance",
273
- "cancel"
274
- ],
275
- description: "Cancel a workflow instance.",
276
- goal: "Terminate workflow without completion.",
277
- context: "User request, system cancellation."
278
- },
279
- io: {
280
- input: defineSchemaModel({
281
- name: "CancelWorkflowInput",
282
- fields: {
283
- instanceId: {
284
- type: ScalarTypeEnum.String_unsecure(),
285
- isOptional: false
286
- },
287
- reason: {
288
- type: ScalarTypeEnum.String_unsecure(),
289
- isOptional: false
290
- }
291
- }
292
- }),
293
- output: WorkflowInstanceModel
294
- },
295
- policy: { auth: "user" },
296
- sideEffects: {
297
- emits: [{
298
- key: "workflow.instance.cancelled",
299
- version: "1.0.0",
300
- when: "Workflow is cancelled",
301
- payload: WorkflowInstanceModel
302
- }],
303
- audit: ["workflow.instance.cancelled"]
304
- },
305
- acceptance: {
306
- scenarios: [{
307
- key: "cancel-workflow-happy-path",
308
- given: ["Workflow is running"],
309
- when: ["User cancels workflow"],
310
- then: ["Instance status becomes CANCELLED"]
311
- }],
312
- examples: [{
313
- key: "cancel-mistake",
314
- input: {
315
- instanceId: "inst-456",
316
- reason: "Created by mistake"
317
- },
318
- output: {
319
- id: "inst-456",
320
- status: "cancelled"
321
- }
322
- }]
323
- }
324
- });
325
- /**
326
- * List workflow instances.
327
- */
328
- const ListInstancesContract = defineQuery({
329
- meta: {
330
- key: "workflow.instance.list",
331
- version: "1.0.0",
332
- stability: "stable",
333
- owners: [...OWNERS],
334
- tags: [
335
- "workflow",
336
- "instance",
337
- "list"
338
- ],
339
- description: "List workflow instances with filtering.",
340
- goal: "Browse and search running workflows.",
341
- context: "Dashboard, monitoring."
342
- },
343
- io: {
344
- input: defineSchemaModel({
345
- name: "ListInstancesInput",
346
- fields: {
347
- workflowKey: {
348
- type: ScalarTypeEnum.String_unsecure(),
349
- isOptional: true
350
- },
351
- status: {
352
- type: InstanceStatusEnum,
353
- isOptional: true
354
- },
355
- referenceType: {
356
- type: ScalarTypeEnum.String_unsecure(),
357
- isOptional: true
358
- },
359
- referenceId: {
360
- type: ScalarTypeEnum.String_unsecure(),
361
- isOptional: true
362
- },
363
- triggeredBy: {
364
- type: ScalarTypeEnum.String_unsecure(),
365
- isOptional: true
366
- },
367
- limit: {
368
- type: ScalarTypeEnum.Int_unsecure(),
369
- isOptional: true,
370
- defaultValue: 20
371
- },
372
- offset: {
373
- type: ScalarTypeEnum.Int_unsecure(),
374
- isOptional: true,
375
- defaultValue: 0
376
- }
377
- }
378
- }),
379
- output: defineSchemaModel({
380
- name: "ListInstancesOutput",
381
- fields: {
382
- instances: {
383
- type: WorkflowInstanceModel,
384
- isArray: true,
385
- isOptional: false
386
- },
387
- total: {
388
- type: ScalarTypeEnum.Int_unsecure(),
389
- isOptional: false
390
- }
391
- }
392
- })
393
- },
394
- policy: { auth: "user" },
395
- acceptance: {
396
- scenarios: [{
397
- key: "list-instances-happy-path",
398
- given: ["Workflow instances exist"],
399
- when: ["User lists instances"],
400
- then: ["List of instances is returned"]
401
- }],
402
- examples: [{
403
- key: "list-running",
404
- input: {
405
- status: "running",
406
- limit: 10
407
- },
408
- output: {
409
- instances: [],
410
- total: 5
411
- }
412
- }]
413
- }
414
- });
415
- /**
416
- * Get a single workflow instance.
417
- */
418
- const GetInstanceContract = defineQuery({
419
- meta: {
420
- key: "workflow.instance.get",
421
- version: "1.0.0",
422
- stability: "stable",
423
- owners: [...OWNERS],
424
- tags: [
425
- "workflow",
426
- "instance",
427
- "get"
428
- ],
429
- description: "Get a workflow instance with details.",
430
- goal: "View workflow instance details.",
431
- context: "Instance detail view."
432
- },
433
- io: {
434
- input: defineSchemaModel({
435
- name: "GetInstanceInput",
436
- fields: { instanceId: {
437
- type: ScalarTypeEnum.String_unsecure(),
438
- isOptional: false
439
- } }
440
- }),
441
- output: WorkflowInstanceModel
442
- },
443
- policy: { auth: "user" },
444
- acceptance: {
445
- scenarios: [{
446
- key: "get-instance-happy-path",
447
- given: ["Instance exists"],
448
- when: ["User requests instance details"],
449
- then: ["Instance details are returned"]
450
- }],
451
- examples: [{
452
- key: "get-details",
453
- input: { instanceId: "inst-456" },
454
- output: {
455
- id: "inst-456",
456
- workflowKey: "onboarding-v1"
457
- }
458
- }]
459
- }
460
- });
461
-
462
- //#endregion
463
- export { CancelWorkflowContract, GetInstanceContract, ListInstancesContract, PauseWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, TransitionWorkflowContract };
464
- //# sourceMappingURL=instance.operations.js.map
1
+ // @bun
2
+ export {
3
+ TransitionWorkflowContract,
4
+ StartWorkflowContract,
5
+ ResumeWorkflowContract,
6
+ PauseWorkflowContract,
7
+ ListInstancesContract,
8
+ GetInstanceContract,
9
+ CancelWorkflowContract
10
+ };