@contractspec/example.workflow-system 1.44.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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/dist/approval/approval.enum.d.ts +14 -0
  4. package/dist/approval/approval.enum.d.ts.map +1 -0
  5. package/dist/approval/approval.enum.js +29 -0
  6. package/dist/approval/approval.enum.js.map +1 -0
  7. package/dist/approval/approval.event.d.ts +131 -0
  8. package/dist/approval/approval.event.d.ts.map +1 -0
  9. package/dist/approval/approval.event.js +220 -0
  10. package/dist/approval/approval.event.js.map +1 -0
  11. package/dist/approval/approval.handler.d.ts +23 -0
  12. package/dist/approval/approval.handler.d.ts.map +1 -0
  13. package/dist/approval/approval.handler.js +72 -0
  14. package/dist/approval/approval.handler.js.map +1 -0
  15. package/dist/approval/approval.operations.d.ts +535 -0
  16. package/dist/approval/approval.operations.d.ts.map +1 -0
  17. package/dist/approval/approval.operations.js +345 -0
  18. package/dist/approval/approval.operations.js.map +1 -0
  19. package/dist/approval/approval.schema.d.ts +100 -0
  20. package/dist/approval/approval.schema.d.ts.map +1 -0
  21. package/dist/approval/approval.schema.js +110 -0
  22. package/dist/approval/approval.schema.js.map +1 -0
  23. package/dist/approval/index.d.ts +5 -0
  24. package/dist/approval/index.js +6 -0
  25. package/dist/docs/index.d.ts +1 -0
  26. package/dist/docs/index.js +1 -0
  27. package/dist/docs/workflow-system.docblock.d.ts +1 -0
  28. package/dist/docs/workflow-system.docblock.js +115 -0
  29. package/dist/docs/workflow-system.docblock.js.map +1 -0
  30. package/dist/entities/approval.d.ts +58 -0
  31. package/dist/entities/approval.d.ts.map +1 -0
  32. package/dist/entities/approval.js +128 -0
  33. package/dist/entities/approval.js.map +1 -0
  34. package/dist/entities/index.d.ts +139 -0
  35. package/dist/entities/index.d.ts.map +1 -0
  36. package/dist/entities/index.js +32 -0
  37. package/dist/entities/index.js.map +1 -0
  38. package/dist/entities/instance.d.ts +69 -0
  39. package/dist/entities/instance.d.ts.map +1 -0
  40. package/dist/entities/instance.js +168 -0
  41. package/dist/entities/instance.js.map +1 -0
  42. package/dist/entities/step.d.ts +50 -0
  43. package/dist/entities/step.d.ts.map +1 -0
  44. package/dist/entities/step.js +135 -0
  45. package/dist/entities/step.js.map +1 -0
  46. package/dist/entities/workflow.d.ts +41 -0
  47. package/dist/entities/workflow.d.ts.map +1 -0
  48. package/dist/entities/workflow.js +102 -0
  49. package/dist/entities/workflow.js.map +1 -0
  50. package/dist/example.d.ts +40 -0
  51. package/dist/example.d.ts.map +1 -0
  52. package/dist/example.js +51 -0
  53. package/dist/example.js.map +1 -0
  54. package/dist/index.d.ts +21 -0
  55. package/dist/index.js +21 -0
  56. package/dist/instance/index.d.ts +5 -0
  57. package/dist/instance/index.js +6 -0
  58. package/dist/instance/instance.enum.d.ts +10 -0
  59. package/dist/instance/instance.enum.d.ts.map +1 -0
  60. package/dist/instance/instance.enum.js +20 -0
  61. package/dist/instance/instance.enum.js.map +1 -0
  62. package/dist/instance/instance.event.d.ts +356 -0
  63. package/dist/instance/instance.event.d.ts.map +1 -0
  64. package/dist/instance/instance.event.js +293 -0
  65. package/dist/instance/instance.event.js.map +1 -0
  66. package/dist/instance/instance.handler.d.ts +27 -0
  67. package/dist/instance/instance.handler.d.ts.map +1 -0
  68. package/dist/instance/instance.handler.js +94 -0
  69. package/dist/instance/instance.handler.js.map +1 -0
  70. package/dist/instance/instance.operations.d.ts +1024 -0
  71. package/dist/instance/instance.operations.d.ts.map +1 -0
  72. package/dist/instance/instance.operations.js +464 -0
  73. package/dist/instance/instance.operations.js.map +1 -0
  74. package/dist/instance/instance.schema.d.ts +223 -0
  75. package/dist/instance/instance.schema.d.ts.map +1 -0
  76. package/dist/instance/instance.schema.js +172 -0
  77. package/dist/instance/instance.schema.js.map +1 -0
  78. package/dist/presentations/index.d.ts +64 -0
  79. package/dist/presentations/index.d.ts.map +1 -0
  80. package/dist/presentations/index.js +337 -0
  81. package/dist/presentations/index.js.map +1 -0
  82. package/dist/shared/index.d.ts +3 -0
  83. package/dist/shared/index.js +3 -0
  84. package/dist/shared/mock-data.d.ts +19 -0
  85. package/dist/shared/mock-data.d.ts.map +1 -0
  86. package/dist/shared/mock-data.js +12 -0
  87. package/dist/shared/mock-data.js.map +1 -0
  88. package/dist/shared/types.d.ts +81 -0
  89. package/dist/shared/types.d.ts.map +1 -0
  90. package/dist/shared/types.js +0 -0
  91. package/dist/state-machine/index.d.ts +148 -0
  92. package/dist/state-machine/index.d.ts.map +1 -0
  93. package/dist/state-machine/index.js +158 -0
  94. package/dist/state-machine/index.js.map +1 -0
  95. package/dist/workflow/index.d.ts +5 -0
  96. package/dist/workflow/index.js +6 -0
  97. package/dist/workflow/workflow.enum.d.ts +22 -0
  98. package/dist/workflow/workflow.enum.d.ts.map +1 -0
  99. package/dist/workflow/workflow.enum.js +47 -0
  100. package/dist/workflow/workflow.enum.js.map +1 -0
  101. package/dist/workflow/workflow.event.d.ts +135 -0
  102. package/dist/workflow/workflow.event.d.ts.map +1 -0
  103. package/dist/workflow/workflow.event.js +150 -0
  104. package/dist/workflow/workflow.event.js.map +1 -0
  105. package/dist/workflow/workflow.handler.d.ts +29 -0
  106. package/dist/workflow/workflow.handler.d.ts.map +1 -0
  107. package/dist/workflow/workflow.handler.js +66 -0
  108. package/dist/workflow/workflow.handler.js.map +1 -0
  109. package/dist/workflow/workflow.operations.d.ts +1011 -0
  110. package/dist/workflow/workflow.operations.d.ts.map +1 -0
  111. package/dist/workflow/workflow.operations.js +345 -0
  112. package/dist/workflow/workflow.operations.js.map +1 -0
  113. package/dist/workflow/workflow.schema.d.ts +265 -0
  114. package/dist/workflow/workflow.schema.d.ts.map +1 -0
  115. package/dist/workflow/workflow.schema.js +249 -0
  116. package/dist/workflow/workflow.schema.js.map +1 -0
  117. package/dist/workflow-system.feature.d.ts +12 -0
  118. package/dist/workflow-system.feature.d.ts.map +1 -0
  119. package/dist/workflow-system.feature.js +339 -0
  120. package/dist/workflow-system.feature.js.map +1 -0
  121. package/package.json +124 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.operations.d.ts","names":[],"sources":["../../src/workflow/workflow.operations.ts"],"sourcesContent":[],"mappings":";;;;;;;cAmBa,sDAAsB,0CAAA;EAAtB,IAAA,EAAA;IAmDX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;IAnDiC,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;UAAA,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,CAAA;EAwDtB,cAAA,EAAA;IA+CX,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;IA/CiC,IAAA,uCAAA,KAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,GAAA,EAAA,MAAA;EAoDtB,OAAA,EAAA,MAAA;EAgDX,IAAA,EAAA,MAAA;;;;;;;;;;;;uBAhD0B;IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;IAAA,cAAA,EAAA;MAqDf,IAAA,uCAoDX,CAAA,MAAA,EAAA,MAAA,CAAA;MAAA,UAAA,EAAA,IAAA;;IApDkC,cAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,CAAA,CAAA;MAyDvB,OAAA,EAAA,IAAA;MA2DX,UAAA,EAAA,IAAA;;;;;;;cA7NW,sDAAsB,0CAAA;;UA+CjC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;IAmHgC,IAAA,uCAAA,CAAA,OAAA,EAAA,OAAA,CAAA;IAgErB,UAAA,EAAA,IAAA;EAyCX,CAAA;2CAzC8B,CAAA;EAAA,EAAA,EAAA;UAlOG,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;8CAkOH,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA9KnB,+CAAe,0CAAA;;UAgD1B,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAhD0B,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqDf,uDAAuB,0CAAA;;UAoDlC,2BAAA,CAAA;;;;;UApDkC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyDvB,qDAAqB,0CAAA;;UA2DhC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;cA3DgC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgErB,mDAAmB,0CAAA;;UAyC9B,2BAAA,CAAA;;;;;UAzC8B,2BAAA,CAAA"}
@@ -0,0 +1,345 @@
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.operations.js","names":[],"sources":["../../src/workflow/workflow.operations.ts"],"sourcesContent":["import {\n defineCommand,\n defineQuery,\n} from '@contractspec/lib.contracts/operations';\nimport { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\nimport { WorkflowStatusEnum } from './workflow.enum';\nimport {\n AddStepInputModel,\n CreateWorkflowInputModel,\n UpdateWorkflowInputModel,\n WorkflowDefinitionModel,\n WorkflowStepModel,\n} from './workflow.schema';\n\nconst OWNERS = ['@example.workflow-system'] as const;\n\n/**\n * Create a new workflow definition.\n */\nexport const CreateWorkflowContract = defineCommand({\n meta: {\n key: 'workflow.definition.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'definition', 'create'],\n description: 'Create a new workflow definition.',\n goal: 'Allow users to define new workflow blueprints.',\n context: 'Workflow designer, admin panel.',\n },\n io: {\n input: CreateWorkflowInputModel,\n output: WorkflowDefinitionModel,\n },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'workflow.definition.created',\n version: 1,\n when: 'Workflow is created',\n payload: WorkflowDefinitionModel,\n },\n ],\n audit: ['workflow.definition.created'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'create-workflow-happy-path',\n given: ['User is admin'],\n when: ['User creates new workflow definition'],\n then: [\n 'Definition is created',\n 'WorkflowDefinitionCreated event is emitted',\n ],\n },\n ],\n examples: [\n {\n key: 'create-onboarding',\n input: {\n key: 'onboarding-v1',\n name: 'Employee Onboarding',\n version: '1.0.0',\n },\n output: { id: 'def-123', status: 'draft' },\n },\n ],\n },\n});\n\n/**\n * Update an existing workflow definition.\n */\nexport const UpdateWorkflowContract = defineCommand({\n meta: {\n key: 'workflow.definition.update',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'definition', 'update'],\n description: 'Update an existing workflow definition.',\n goal: 'Allow users to modify workflow blueprints.',\n context: 'Workflow designer.',\n },\n io: {\n input: UpdateWorkflowInputModel,\n output: WorkflowDefinitionModel,\n },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'workflow.definition.updated',\n version: 1,\n when: 'Workflow is updated',\n payload: WorkflowDefinitionModel,\n },\n ],\n audit: ['workflow.definition.updated'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'update-workflow-happy-path',\n given: ['Workflow definition exists'],\n when: ['User updates definition'],\n then: [\n 'Definition is updated',\n 'WorkflowDefinitionUpdated event is emitted',\n ],\n },\n ],\n examples: [\n {\n key: 'update-name',\n input: { workflowId: 'def-123', name: 'New Employee Onboarding' },\n output: { id: 'def-123', name: 'New Employee Onboarding' },\n },\n ],\n },\n});\n\n/**\n * Add a step to a workflow definition.\n */\nexport const AddStepContract = defineCommand({\n meta: {\n key: 'workflow.step.add',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'step', 'add'],\n description: 'Add a step to a workflow definition.',\n goal: 'Build workflow structure step by step.',\n context: 'Workflow designer.',\n },\n io: {\n input: AddStepInputModel,\n output: WorkflowStepModel,\n },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'workflow.step.added',\n version: 1,\n when: 'Step is added',\n payload: WorkflowStepModel,\n },\n ],\n audit: ['workflow.step.added'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'add-step-happy-path',\n given: ['Workflow definition exists'],\n when: ['User adds a step'],\n then: ['Step is added', 'StepAdded event is emitted'],\n },\n ],\n examples: [\n {\n key: 'add-approval-step',\n input: {\n workflowId: 'def-123',\n stepKey: 'approve-contract',\n type: 'approval',\n },\n output: { id: 'step-456', key: 'approve-contract' },\n },\n ],\n },\n});\n\n/**\n * Publish a workflow definition (make it active).\n */\nexport const PublishWorkflowContract = defineCommand({\n meta: {\n key: 'workflow.definition.publish',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'definition', 'publish'],\n description: 'Publish a workflow definition to make it available for use.',\n goal: 'Activate workflow for production use.',\n context: 'Workflow designer, deployment.',\n },\n io: {\n input: defineSchemaModel({\n name: 'PublishWorkflowInput',\n fields: {\n workflowId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n },\n }),\n output: WorkflowDefinitionModel,\n },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n key: 'workflow.definition.published',\n version: 1,\n when: 'Workflow is published',\n payload: WorkflowDefinitionModel,\n },\n ],\n audit: ['workflow.definition.published'],\n },\n acceptance: {\n scenarios: [\n {\n key: 'publish-workflow-happy-path',\n given: ['Workflow definition is valid'],\n when: ['User publishes workflow'],\n then: ['Workflow becomes active', 'WorkflowPublished event is emitted'],\n },\n ],\n examples: [\n {\n key: 'publish-onboarding',\n input: { workflowId: 'def-123' },\n output: { id: 'def-123', status: 'published' },\n },\n ],\n },\n});\n\n/**\n * List workflow definitions.\n */\nexport const ListWorkflowsContract = defineQuery({\n meta: {\n key: 'workflow.definition.list',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'definition', 'list'],\n description: 'List workflow definitions with filtering.',\n goal: 'Browse and search available workflows.',\n context: 'Workflow list, search.',\n },\n io: {\n input: defineSchemaModel({\n name: 'ListWorkflowsInput',\n fields: {\n status: { type: WorkflowStatusEnum, isOptional: true },\n search: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n limit: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n defaultValue: 20,\n },\n offset: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: true,\n defaultValue: 0,\n },\n },\n }),\n output: defineSchemaModel({\n name: 'ListWorkflowsOutput',\n fields: {\n workflows: {\n type: WorkflowDefinitionModel,\n isArray: true,\n isOptional: false,\n },\n total: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n }),\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'list-workflows-happy-path',\n given: ['Workflow definitions exist'],\n when: ['User lists workflows'],\n then: ['List of workflows is returned'],\n },\n ],\n examples: [\n {\n key: 'list-all',\n input: { limit: 10 },\n output: { workflows: [], total: 5 },\n },\n ],\n },\n});\n\n/**\n * Get a single workflow definition with steps.\n */\nexport const GetWorkflowContract = defineQuery({\n meta: {\n key: 'workflow.definition.get',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['workflow', 'definition', 'get'],\n description: 'Get a workflow definition with all steps.',\n goal: 'View workflow details.',\n context: 'Workflow designer, detail view.',\n },\n io: {\n input: defineSchemaModel({\n name: 'GetWorkflowInput',\n fields: {\n workflowId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n },\n }),\n output: WorkflowDefinitionModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'get-workflow-happy-path',\n given: ['Workflow definition exists'],\n when: ['User requests workflow details'],\n then: ['Workflow details are returned'],\n },\n ],\n examples: [\n {\n key: 'get-details',\n input: { workflowId: 'def-123' },\n output: { id: 'def-123', name: 'Employee Onboarding' },\n },\n ],\n },\n});\n"],"mappings":"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"}
@@ -0,0 +1,265 @@
1
+ import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
+
3
+ //#region src/workflow/workflow.schema.d.ts
4
+ /**
5
+ * A step in a workflow definition.
6
+ */
7
+ declare const WorkflowStepModel: _contractspec_lib_schema0.SchemaModel<{
8
+ id: {
9
+ type: _contractspec_lib_schema0.FieldType<string, string>;
10
+ isOptional: false;
11
+ };
12
+ key: {
13
+ type: _contractspec_lib_schema0.FieldType<string, string>;
14
+ isOptional: false;
15
+ };
16
+ name: {
17
+ type: _contractspec_lib_schema0.FieldType<string, string>;
18
+ isOptional: false;
19
+ };
20
+ description: {
21
+ type: _contractspec_lib_schema0.FieldType<string, string>;
22
+ isOptional: true;
23
+ };
24
+ type: {
25
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string, string, string, string, string]>;
26
+ isOptional: false;
27
+ };
28
+ position: {
29
+ type: _contractspec_lib_schema0.FieldType<number, number>;
30
+ isOptional: false;
31
+ };
32
+ transitions: {
33
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
34
+ isOptional: false;
35
+ };
36
+ approvalMode: {
37
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
38
+ isOptional: true;
39
+ };
40
+ approverRoles: {
41
+ type: _contractspec_lib_schema0.FieldType<string, string>;
42
+ isArray: true;
43
+ isOptional: true;
44
+ };
45
+ }>;
46
+ /**
47
+ * A workflow definition.
48
+ */
49
+ declare const WorkflowDefinitionModel: _contractspec_lib_schema0.SchemaModel<{
50
+ id: {
51
+ type: _contractspec_lib_schema0.FieldType<string, string>;
52
+ isOptional: false;
53
+ };
54
+ name: {
55
+ type: _contractspec_lib_schema0.FieldType<string, string>;
56
+ isOptional: false;
57
+ };
58
+ key: {
59
+ type: _contractspec_lib_schema0.FieldType<string, string>;
60
+ isOptional: false;
61
+ };
62
+ description: {
63
+ type: _contractspec_lib_schema0.FieldType<string, string>;
64
+ isOptional: true;
65
+ };
66
+ version: {
67
+ type: _contractspec_lib_schema0.FieldType<number, number>;
68
+ isOptional: false;
69
+ };
70
+ status: {
71
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
72
+ isOptional: false;
73
+ };
74
+ triggerType: {
75
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
76
+ isOptional: false;
77
+ };
78
+ initialStepId: {
79
+ type: _contractspec_lib_schema0.FieldType<string, string>;
80
+ isOptional: true;
81
+ };
82
+ featureFlagKey: {
83
+ type: _contractspec_lib_schema0.FieldType<string, string>;
84
+ isOptional: true;
85
+ };
86
+ organizationId: {
87
+ type: _contractspec_lib_schema0.FieldType<string, string>;
88
+ isOptional: false;
89
+ };
90
+ createdAt: {
91
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
92
+ isOptional: false;
93
+ };
94
+ updatedAt: {
95
+ type: _contractspec_lib_schema0.FieldType<Date, string>;
96
+ isOptional: false;
97
+ };
98
+ steps: {
99
+ type: _contractspec_lib_schema0.SchemaModel<{
100
+ id: {
101
+ type: _contractspec_lib_schema0.FieldType<string, string>;
102
+ isOptional: false;
103
+ };
104
+ key: {
105
+ type: _contractspec_lib_schema0.FieldType<string, string>;
106
+ isOptional: false;
107
+ };
108
+ name: {
109
+ type: _contractspec_lib_schema0.FieldType<string, string>;
110
+ isOptional: false;
111
+ };
112
+ description: {
113
+ type: _contractspec_lib_schema0.FieldType<string, string>;
114
+ isOptional: true;
115
+ };
116
+ type: {
117
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string, string, string, string, string]>;
118
+ isOptional: false;
119
+ };
120
+ position: {
121
+ type: _contractspec_lib_schema0.FieldType<number, number>;
122
+ isOptional: false;
123
+ };
124
+ transitions: {
125
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
126
+ isOptional: false;
127
+ };
128
+ approvalMode: {
129
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
130
+ isOptional: true;
131
+ };
132
+ approverRoles: {
133
+ type: _contractspec_lib_schema0.FieldType<string, string>;
134
+ isArray: true;
135
+ isOptional: true;
136
+ };
137
+ }>;
138
+ isArray: true;
139
+ isOptional: true;
140
+ };
141
+ }>;
142
+ /**
143
+ * Input for creating a workflow definition.
144
+ */
145
+ declare const CreateWorkflowInputModel: _contractspec_lib_schema0.SchemaModel<{
146
+ name: {
147
+ type: _contractspec_lib_schema0.FieldType<string, string>;
148
+ isOptional: false;
149
+ };
150
+ key: {
151
+ type: _contractspec_lib_schema0.FieldType<string, string>;
152
+ isOptional: false;
153
+ };
154
+ description: {
155
+ type: _contractspec_lib_schema0.FieldType<string, string>;
156
+ isOptional: true;
157
+ };
158
+ triggerType: {
159
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
160
+ isOptional: true;
161
+ };
162
+ triggerConfig: {
163
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
164
+ isOptional: true;
165
+ };
166
+ featureFlagKey: {
167
+ type: _contractspec_lib_schema0.FieldType<string, string>;
168
+ isOptional: true;
169
+ };
170
+ settings: {
171
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
172
+ isOptional: true;
173
+ };
174
+ }>;
175
+ /**
176
+ * Input for updating a workflow definition.
177
+ */
178
+ declare const UpdateWorkflowInputModel: _contractspec_lib_schema0.SchemaModel<{
179
+ workflowId: {
180
+ type: _contractspec_lib_schema0.FieldType<string, string>;
181
+ isOptional: false;
182
+ };
183
+ name: {
184
+ type: _contractspec_lib_schema0.FieldType<string, string>;
185
+ isOptional: true;
186
+ };
187
+ description: {
188
+ type: _contractspec_lib_schema0.FieldType<string, string>;
189
+ isOptional: true;
190
+ };
191
+ triggerType: {
192
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
193
+ isOptional: true;
194
+ };
195
+ triggerConfig: {
196
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
197
+ isOptional: true;
198
+ };
199
+ featureFlagKey: {
200
+ type: _contractspec_lib_schema0.FieldType<string, string>;
201
+ isOptional: true;
202
+ };
203
+ settings: {
204
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
205
+ isOptional: true;
206
+ };
207
+ }>;
208
+ /**
209
+ * Input for adding a step to a workflow.
210
+ */
211
+ declare const AddStepInputModel: _contractspec_lib_schema0.SchemaModel<{
212
+ workflowId: {
213
+ type: _contractspec_lib_schema0.FieldType<string, string>;
214
+ isOptional: false;
215
+ };
216
+ key: {
217
+ type: _contractspec_lib_schema0.FieldType<string, string>;
218
+ isOptional: false;
219
+ };
220
+ name: {
221
+ type: _contractspec_lib_schema0.FieldType<string, string>;
222
+ isOptional: false;
223
+ };
224
+ description: {
225
+ type: _contractspec_lib_schema0.FieldType<string, string>;
226
+ isOptional: true;
227
+ };
228
+ type: {
229
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string, string, string, string, string]>;
230
+ isOptional: false;
231
+ };
232
+ position: {
233
+ type: _contractspec_lib_schema0.FieldType<number, number>;
234
+ isOptional: true;
235
+ };
236
+ transitions: {
237
+ type: _contractspec_lib_schema0.FieldType<unknown, unknown>;
238
+ isOptional: false;
239
+ };
240
+ approvalMode: {
241
+ type: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
242
+ isOptional: true;
243
+ };
244
+ approverRoles: {
245
+ type: _contractspec_lib_schema0.FieldType<string, string>;
246
+ isArray: true;
247
+ isOptional: true;
248
+ };
249
+ approverUserIds: {
250
+ type: _contractspec_lib_schema0.FieldType<string, string>;
251
+ isArray: true;
252
+ isOptional: true;
253
+ };
254
+ timeoutSeconds: {
255
+ type: _contractspec_lib_schema0.FieldType<number, number>;
256
+ isOptional: true;
257
+ };
258
+ slaSeconds: {
259
+ type: _contractspec_lib_schema0.FieldType<number, number>;
260
+ isOptional: true;
261
+ };
262
+ }>;
263
+ //#endregion
264
+ export { AddStepInputModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, WorkflowDefinitionModel, WorkflowStepModel };
265
+ //# sourceMappingURL=workflow.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.schema.d.ts","names":[],"sources":["../../src/workflow/workflow.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAWa,cAAA,iBAkBX,4BAlB4B,WAkB5B,CAAA;EAAA,EAAA,EAAA;UAAA,yBAAA,CAAA;;;;;;;;6CAlB4B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAuBjB,CAAA;EA2BX,WAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;CA3BkC,CAAA;AAgCpC;;;cAhCa,mDAAuB;;UA2BlC,yBAAA,CAAA;;;;IAKmC,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAoBxB,UAAA,EAAA,KAAA;EAkBX,CAAA;;;;;;;;EAlBmC,CAAA;EAuBxB,OAAA,EAAA;IA4BX,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;6CA5B4B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA3CjB,oDAAwB;;UAenC,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,oDAAwB;;UAkBnC,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,6CAAiB;;UA4B5B,yBAAA,CAAA"}