@contractspec/example.workflow-system 1.44.1 → 1.45.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 (52) hide show
  1. package/dist/approval/approval.enum.d.ts +3 -3
  2. package/dist/approval/approval.enum.d.ts.map +1 -1
  3. package/dist/approval/approval.event.d.ts +31 -31
  4. package/dist/approval/approval.event.d.ts.map +1 -1
  5. package/dist/approval/approval.event.js +4 -4
  6. package/dist/approval/approval.event.js.map +1 -1
  7. package/dist/approval/approval.operations.d.ts +136 -136
  8. package/dist/approval/approval.operations.js +8 -8
  9. package/dist/approval/approval.operations.js.map +1 -1
  10. package/dist/approval/approval.schema.d.ts +24 -24
  11. package/dist/entities/approval.d.ts +36 -36
  12. package/dist/entities/approval.d.ts.map +1 -1
  13. package/dist/entities/index.d.ts +127 -127
  14. package/dist/entities/instance.d.ts +47 -47
  15. package/dist/entities/step.d.ts +32 -32
  16. package/dist/entities/workflow.d.ts +23 -23
  17. package/dist/example.d.ts +3 -36
  18. package/dist/example.d.ts.map +1 -1
  19. package/dist/example.js +16 -11
  20. package/dist/example.js.map +1 -1
  21. package/dist/instance/instance.enum.d.ts +2 -2
  22. package/dist/instance/instance.event.d.ts +87 -87
  23. package/dist/instance/instance.event.d.ts.map +1 -1
  24. package/dist/instance/instance.event.js +9 -9
  25. package/dist/instance/instance.event.js.map +1 -1
  26. package/dist/instance/instance.operations.d.ts +261 -261
  27. package/dist/instance/instance.operations.d.ts.map +1 -1
  28. package/dist/instance/instance.operations.js +15 -15
  29. package/dist/instance/instance.operations.js.map +1 -1
  30. package/dist/instance/instance.schema.d.ts +54 -54
  31. package/dist/presentations/index.js +11 -11
  32. package/dist/presentations/index.js.map +1 -1
  33. package/dist/shared/types.d.ts +1 -1
  34. package/dist/state-machine/index.d.ts +2 -2
  35. package/dist/state-machine/index.js.map +1 -1
  36. package/dist/workflow/workflow.enum.d.ts +5 -5
  37. package/dist/workflow/workflow.event.d.ts +33 -33
  38. package/dist/workflow/workflow.event.d.ts.map +1 -1
  39. package/dist/workflow/workflow.event.js +5 -5
  40. package/dist/workflow/workflow.event.js.map +1 -1
  41. package/dist/workflow/workflow.handler.js +1 -1
  42. package/dist/workflow/workflow.handler.js.map +1 -1
  43. package/dist/workflow/workflow.operations.d.ts +250 -250
  44. package/dist/workflow/workflow.operations.js +10 -10
  45. package/dist/workflow/workflow.operations.js.map +1 -1
  46. package/dist/workflow/workflow.schema.d.ts +63 -63
  47. package/dist/workflow/workflow.schema.d.ts.map +1 -1
  48. package/dist/workflow/workflow.schema.js +1 -1
  49. package/dist/workflow/workflow.schema.js.map +1 -1
  50. package/dist/workflow-system.feature.js +71 -71
  51. package/dist/workflow-system.feature.js.map +1 -1
  52. package/package.json +11 -11
@@ -17,284 +17,284 @@ const WorkflowSystemFeature = {
17
17
  "automation"
18
18
  ],
19
19
  stability: "experimental",
20
- version: 1
20
+ version: "1.0.0"
21
21
  },
22
22
  operations: [
23
23
  {
24
24
  key: "workflow.definition.create",
25
- version: 1
25
+ version: "1.0.0"
26
26
  },
27
27
  {
28
28
  key: "workflow.definition.update",
29
- version: 1
29
+ version: "1.0.0"
30
30
  },
31
31
  {
32
32
  key: "workflow.step.add",
33
- version: 1
33
+ version: "1.0.0"
34
34
  },
35
35
  {
36
36
  key: "workflow.definition.publish",
37
- version: 1
37
+ version: "1.0.0"
38
38
  },
39
39
  {
40
40
  key: "workflow.definition.list",
41
- version: 1
41
+ version: "1.0.0"
42
42
  },
43
43
  {
44
44
  key: "workflow.definition.get",
45
- version: 1
45
+ version: "1.0.0"
46
46
  },
47
47
  {
48
48
  key: "workflow.instance.start",
49
- version: 1
49
+ version: "1.0.0"
50
50
  },
51
51
  {
52
52
  key: "workflow.instance.transition",
53
- version: 1
53
+ version: "1.0.0"
54
54
  },
55
55
  {
56
56
  key: "workflow.instance.pause",
57
- version: 1
57
+ version: "1.0.0"
58
58
  },
59
59
  {
60
60
  key: "workflow.instance.resume",
61
- version: 1
61
+ version: "1.0.0"
62
62
  },
63
63
  {
64
64
  key: "workflow.instance.cancel",
65
- version: 1
65
+ version: "1.0.0"
66
66
  },
67
67
  {
68
68
  key: "workflow.instance.list",
69
- version: 1
69
+ version: "1.0.0"
70
70
  },
71
71
  {
72
72
  key: "workflow.instance.get",
73
- version: 1
73
+ version: "1.0.0"
74
74
  },
75
75
  {
76
76
  key: "workflow.approval.decide",
77
- version: 1
77
+ version: "1.0.0"
78
78
  },
79
79
  {
80
80
  key: "workflow.approval.delegate",
81
- version: 1
81
+ version: "1.0.0"
82
82
  },
83
83
  {
84
84
  key: "workflow.approval.comment.add",
85
- version: 1
85
+ version: "1.0.0"
86
86
  },
87
87
  {
88
88
  key: "workflow.approval.list.mine",
89
- version: 1
89
+ version: "1.0.0"
90
90
  },
91
91
  {
92
92
  key: "workflow.approval.get",
93
- version: 1
93
+ version: "1.0.0"
94
94
  }
95
95
  ],
96
96
  events: [
97
97
  {
98
98
  key: "workflow.definition.created",
99
- version: 1
99
+ version: "1.0.0"
100
100
  },
101
101
  {
102
102
  key: "workflow.definition.updated",
103
- version: 1
103
+ version: "1.0.0"
104
104
  },
105
105
  {
106
106
  key: "workflow.definition.published",
107
- version: 1
107
+ version: "1.0.0"
108
108
  },
109
109
  {
110
110
  key: "workflow.step.added",
111
- version: 1
111
+ version: "1.0.0"
112
112
  },
113
113
  {
114
114
  key: "workflow.instance.started",
115
- version: 1
115
+ version: "1.0.0"
116
116
  },
117
117
  {
118
118
  key: "workflow.step.entered",
119
- version: 1
119
+ version: "1.0.0"
120
120
  },
121
121
  {
122
122
  key: "workflow.step.exited",
123
- version: 1
123
+ version: "1.0.0"
124
124
  },
125
125
  {
126
126
  key: "workflow.instance.completed",
127
- version: 1
127
+ version: "1.0.0"
128
128
  },
129
129
  {
130
130
  key: "workflow.instance.cancelled",
131
- version: 1
131
+ version: "1.0.0"
132
132
  },
133
133
  {
134
134
  key: "workflow.instance.paused",
135
- version: 1
135
+ version: "1.0.0"
136
136
  },
137
137
  {
138
138
  key: "workflow.instance.resumed",
139
- version: 1
139
+ version: "1.0.0"
140
140
  },
141
141
  {
142
142
  key: "workflow.instance.failed",
143
- version: 1
143
+ version: "1.0.0"
144
144
  },
145
145
  {
146
146
  key: "workflow.instance.timedOut",
147
- version: 1
147
+ version: "1.0.0"
148
148
  },
149
149
  {
150
150
  key: "workflow.approval.requested",
151
- version: 1
151
+ version: "1.0.0"
152
152
  },
153
153
  {
154
154
  key: "workflow.approval.decided",
155
- version: 1
155
+ version: "1.0.0"
156
156
  },
157
157
  {
158
158
  key: "workflow.approval.delegated",
159
- version: 1
159
+ version: "1.0.0"
160
160
  },
161
161
  {
162
162
  key: "workflow.approval.escalated",
163
- version: 1
163
+ version: "1.0.0"
164
164
  }
165
165
  ],
166
166
  presentations: [
167
167
  {
168
168
  key: "workflow.designer",
169
- version: 1
169
+ version: "1.0.0"
170
170
  },
171
171
  {
172
172
  key: "workflow.definition.list",
173
- version: 1
173
+ version: "1.0.0"
174
174
  },
175
175
  {
176
176
  key: "workflow.definition.detail",
177
- version: 1
177
+ version: "1.0.0"
178
178
  },
179
179
  {
180
180
  key: "workflow.instance.list",
181
- version: 1
181
+ version: "1.0.0"
182
182
  },
183
183
  {
184
184
  key: "workflow.instance.detail",
185
- version: 1
185
+ version: "1.0.0"
186
186
  },
187
187
  {
188
188
  key: "workflow.instance.progress",
189
- version: 1
189
+ version: "1.0.0"
190
190
  },
191
191
  {
192
192
  key: "workflow.approval.inbox",
193
- version: 1
193
+ version: "1.0.0"
194
194
  },
195
195
  {
196
196
  key: "workflow.approval.detail",
197
- version: 1
197
+ version: "1.0.0"
198
198
  },
199
199
  {
200
200
  key: "workflow.approval.form",
201
- version: 1
201
+ version: "1.0.0"
202
202
  },
203
203
  {
204
204
  key: "workflow.approval.badge",
205
- version: 1
205
+ version: "1.0.0"
206
206
  },
207
207
  {
208
208
  key: "workflow.metrics",
209
- version: 1
209
+ version: "1.0.0"
210
210
  }
211
211
  ],
212
212
  opToPresentation: [
213
213
  {
214
214
  op: {
215
215
  key: "workflow.definition.list",
216
- version: 1
216
+ version: "1.0.0"
217
217
  },
218
218
  pres: {
219
219
  key: "workflow.definition.list",
220
- version: 1
220
+ version: "1.0.0"
221
221
  }
222
222
  },
223
223
  {
224
224
  op: {
225
225
  key: "workflow.instance.list",
226
- version: 1
226
+ version: "1.0.0"
227
227
  },
228
228
  pres: {
229
229
  key: "workflow.instance.list",
230
- version: 1
230
+ version: "1.0.0"
231
231
  }
232
232
  },
233
233
  {
234
234
  op: {
235
235
  key: "workflow.approval.list.mine",
236
- version: 1
236
+ version: "1.0.0"
237
237
  },
238
238
  pres: {
239
239
  key: "workflow.approval.inbox",
240
- version: 1
240
+ version: "1.0.0"
241
241
  }
242
242
  },
243
243
  {
244
244
  op: {
245
245
  key: "workflow.approval.decide",
246
- version: 1
246
+ version: "1.0.0"
247
247
  },
248
248
  pres: {
249
249
  key: "workflow.approval.form",
250
- version: 1
250
+ version: "1.0.0"
251
251
  }
252
252
  }
253
253
  ],
254
254
  presentationsTargets: [
255
255
  {
256
256
  key: "workflow.designer",
257
- version: 1,
257
+ version: "1.0.0",
258
258
  targets: ["react"]
259
259
  },
260
260
  {
261
261
  key: "workflow.definition.list",
262
- version: 1,
262
+ version: "1.0.0",
263
263
  targets: ["react", "markdown"]
264
264
  },
265
265
  {
266
266
  key: "workflow.definition.detail",
267
- version: 1,
267
+ version: "1.0.0",
268
268
  targets: ["react", "markdown"]
269
269
  },
270
270
  {
271
271
  key: "workflow.instance.list",
272
- version: 1,
272
+ version: "1.0.0",
273
273
  targets: ["react", "markdown"]
274
274
  },
275
275
  {
276
276
  key: "workflow.instance.detail",
277
- version: 1,
277
+ version: "1.0.0",
278
278
  targets: ["react", "markdown"]
279
279
  },
280
280
  {
281
281
  key: "workflow.instance.progress",
282
- version: 1,
282
+ version: "1.0.0",
283
283
  targets: ["react"]
284
284
  },
285
285
  {
286
286
  key: "workflow.approval.inbox",
287
- version: 1,
287
+ version: "1.0.0",
288
288
  targets: ["react", "markdown"]
289
289
  },
290
290
  {
291
291
  key: "workflow.approval.detail",
292
- version: 1,
292
+ version: "1.0.0",
293
293
  targets: ["react", "markdown"]
294
294
  },
295
295
  {
296
296
  key: "workflow.metrics",
297
- version: 1,
297
+ version: "1.0.0",
298
298
  targets: ["react", "markdown"]
299
299
  }
300
300
  ],
@@ -302,33 +302,33 @@ const WorkflowSystemFeature = {
302
302
  requires: [
303
303
  {
304
304
  key: "identity",
305
- version: 1
305
+ version: "1.0.0"
306
306
  },
307
307
  {
308
308
  key: "audit-trail",
309
- version: 1
309
+ version: "1.0.0"
310
310
  },
311
311
  {
312
312
  key: "notifications",
313
- version: 1
313
+ version: "1.0.0"
314
314
  },
315
315
  {
316
316
  key: "feature-flags",
317
- version: 1
317
+ version: "1.0.0"
318
318
  }
319
319
  ],
320
320
  provides: [
321
321
  {
322
322
  key: "workflow",
323
- version: 1
323
+ version: "1.0.0"
324
324
  },
325
325
  {
326
326
  key: "approval",
327
- version: 1
327
+ version: "1.0.0"
328
328
  },
329
329
  {
330
330
  key: "state-machine",
331
- version: 1
331
+ version: "1.0.0"
332
332
  }
333
333
  ]
334
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-system.feature.js","names":["WorkflowSystemFeature: FeatureModuleSpec"],"sources":["../src/workflow-system.feature.ts"],"sourcesContent":["/**\n * Workflow System Feature Module Specification\n *\n * Defines the feature module for workflow and approval capabilities.\n */\nimport type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\n/**\n * Workflow System feature module that bundles workflow definition,\n * instance management, and approval handling into an installable feature.\n */\nexport const WorkflowSystemFeature: FeatureModuleSpec = {\n meta: {\n key: 'workflow-system',\n title: 'Workflow & Approval System',\n description:\n 'State machine-based workflow engine with role-based approvals, delegation, and escalation',\n domain: 'workflow',\n owners: ['@workflow-team'],\n tags: ['workflow', 'approval', 'state-machine', 'automation'],\n stability: 'experimental',\n version: 1,\n },\n\n // All contract operations included in this feature\n operations: [\n // Workflow definition operations\n { key: 'workflow.definition.create', version: 1 },\n { key: 'workflow.definition.update', version: 1 },\n { key: 'workflow.step.add', version: 1 },\n { key: 'workflow.definition.publish', version: 1 },\n { key: 'workflow.definition.list', version: 1 },\n { key: 'workflow.definition.get', version: 1 },\n\n // Workflow instance operations\n { key: 'workflow.instance.start', version: 1 },\n { key: 'workflow.instance.transition', version: 1 },\n { key: 'workflow.instance.pause', version: 1 },\n { key: 'workflow.instance.resume', version: 1 },\n { key: 'workflow.instance.cancel', version: 1 },\n { key: 'workflow.instance.list', version: 1 },\n { key: 'workflow.instance.get', version: 1 },\n\n // Approval operations\n { key: 'workflow.approval.decide', version: 1 },\n { key: 'workflow.approval.delegate', version: 1 },\n { key: 'workflow.approval.comment.add', version: 1 },\n { key: 'workflow.approval.list.mine', version: 1 },\n { key: 'workflow.approval.get', version: 1 },\n ],\n\n // Events emitted by this feature\n events: [\n // Definition events\n { key: 'workflow.definition.created', version: 1 },\n { key: 'workflow.definition.updated', version: 1 },\n { key: 'workflow.definition.published', version: 1 },\n { key: 'workflow.step.added', version: 1 },\n\n // Instance events\n { key: 'workflow.instance.started', version: 1 },\n { key: 'workflow.step.entered', version: 1 },\n { key: 'workflow.step.exited', version: 1 },\n { key: 'workflow.instance.completed', version: 1 },\n { key: 'workflow.instance.cancelled', version: 1 },\n { key: 'workflow.instance.paused', version: 1 },\n { key: 'workflow.instance.resumed', version: 1 },\n { key: 'workflow.instance.failed', version: 1 },\n { key: 'workflow.instance.timedOut', version: 1 },\n\n // Approval events\n { key: 'workflow.approval.requested', version: 1 },\n { key: 'workflow.approval.decided', version: 1 },\n { key: 'workflow.approval.delegated', version: 1 },\n { key: 'workflow.approval.escalated', version: 1 },\n ],\n\n // Presentations associated with this feature\n presentations: [\n // Definition\n { key: 'workflow.designer', version: 1 },\n { key: 'workflow.definition.list', version: 1 },\n { key: 'workflow.definition.detail', version: 1 },\n\n // Instance\n { key: 'workflow.instance.list', version: 1 },\n { key: 'workflow.instance.detail', version: 1 },\n { key: 'workflow.instance.progress', version: 1 },\n\n // Approval\n { key: 'workflow.approval.inbox', version: 1 },\n { key: 'workflow.approval.detail', version: 1 },\n { key: 'workflow.approval.form', version: 1 },\n { key: 'workflow.approval.badge', version: 1 },\n\n // Dashboard\n { key: 'workflow.metrics', version: 1 },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'workflow.definition.list', version: 1 },\n pres: { key: 'workflow.definition.list', version: 1 },\n },\n {\n op: { key: 'workflow.instance.list', version: 1 },\n pres: { key: 'workflow.instance.list', version: 1 },\n },\n {\n op: { key: 'workflow.approval.list.mine', version: 1 },\n pres: { key: 'workflow.approval.inbox', version: 1 },\n },\n {\n op: { key: 'workflow.approval.decide', version: 1 },\n pres: { key: 'workflow.approval.form', version: 1 },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n { key: 'workflow.designer', version: 1, targets: ['react'] },\n {\n key: 'workflow.definition.list',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.definition.detail',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.instance.list',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.instance.detail',\n version: 1,\n targets: ['react', 'markdown'],\n },\n { key: 'workflow.instance.progress', version: 1, targets: ['react'] },\n {\n key: 'workflow.approval.inbox',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.approval.detail',\n version: 1,\n targets: ['react', 'markdown'],\n },\n { key: 'workflow.metrics', version: 1, targets: ['react', 'markdown'] },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [\n { key: 'identity', version: 1 },\n { key: 'audit-trail', version: 1 },\n { key: 'notifications', version: 1 },\n { key: 'feature-flags', version: 1 },\n ],\n provides: [\n { key: 'workflow', version: 1 },\n { key: 'approval', version: 1 },\n { key: 'state-machine', version: 1 },\n ],\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"workflow-system.feature.js","names":["WorkflowSystemFeature: FeatureModuleSpec"],"sources":["../src/workflow-system.feature.ts"],"sourcesContent":["/**\n * Workflow System Feature Module Specification\n *\n * Defines the feature module for workflow and approval capabilities.\n */\nimport type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\n/**\n * Workflow System feature module that bundles workflow definition,\n * instance management, and approval handling into an installable feature.\n */\nexport const WorkflowSystemFeature: FeatureModuleSpec = {\n meta: {\n key: 'workflow-system',\n title: 'Workflow & Approval System',\n description:\n 'State machine-based workflow engine with role-based approvals, delegation, and escalation',\n domain: 'workflow',\n owners: ['@workflow-team'],\n tags: ['workflow', 'approval', 'state-machine', 'automation'],\n stability: 'experimental',\n version: '1.0.0',\n },\n\n // All contract operations included in this feature\n operations: [\n // Workflow definition operations\n { key: 'workflow.definition.create', version: '1.0.0' },\n { key: 'workflow.definition.update', version: '1.0.0' },\n { key: 'workflow.step.add', version: '1.0.0' },\n { key: 'workflow.definition.publish', version: '1.0.0' },\n { key: 'workflow.definition.list', version: '1.0.0' },\n { key: 'workflow.definition.get', version: '1.0.0' },\n\n // Workflow instance operations\n { key: 'workflow.instance.start', version: '1.0.0' },\n { key: 'workflow.instance.transition', version: '1.0.0' },\n { key: 'workflow.instance.pause', version: '1.0.0' },\n { key: 'workflow.instance.resume', version: '1.0.0' },\n { key: 'workflow.instance.cancel', version: '1.0.0' },\n { key: 'workflow.instance.list', version: '1.0.0' },\n { key: 'workflow.instance.get', version: '1.0.0' },\n\n // Approval operations\n { key: 'workflow.approval.decide', version: '1.0.0' },\n { key: 'workflow.approval.delegate', version: '1.0.0' },\n { key: 'workflow.approval.comment.add', version: '1.0.0' },\n { key: 'workflow.approval.list.mine', version: '1.0.0' },\n { key: 'workflow.approval.get', version: '1.0.0' },\n ],\n\n // Events emitted by this feature\n events: [\n // Definition events\n { key: 'workflow.definition.created', version: '1.0.0' },\n { key: 'workflow.definition.updated', version: '1.0.0' },\n { key: 'workflow.definition.published', version: '1.0.0' },\n { key: 'workflow.step.added', version: '1.0.0' },\n\n // Instance events\n { key: 'workflow.instance.started', version: '1.0.0' },\n { key: 'workflow.step.entered', version: '1.0.0' },\n { key: 'workflow.step.exited', version: '1.0.0' },\n { key: 'workflow.instance.completed', version: '1.0.0' },\n { key: 'workflow.instance.cancelled', version: '1.0.0' },\n { key: 'workflow.instance.paused', version: '1.0.0' },\n { key: 'workflow.instance.resumed', version: '1.0.0' },\n { key: 'workflow.instance.failed', version: '1.0.0' },\n { key: 'workflow.instance.timedOut', version: '1.0.0' },\n\n // Approval events\n { key: 'workflow.approval.requested', version: '1.0.0' },\n { key: 'workflow.approval.decided', version: '1.0.0' },\n { key: 'workflow.approval.delegated', version: '1.0.0' },\n { key: 'workflow.approval.escalated', version: '1.0.0' },\n ],\n\n // Presentations associated with this feature\n presentations: [\n // Definition\n { key: 'workflow.designer', version: '1.0.0' },\n { key: 'workflow.definition.list', version: '1.0.0' },\n { key: 'workflow.definition.detail', version: '1.0.0' },\n\n // Instance\n { key: 'workflow.instance.list', version: '1.0.0' },\n { key: 'workflow.instance.detail', version: '1.0.0' },\n { key: 'workflow.instance.progress', version: '1.0.0' },\n\n // Approval\n { key: 'workflow.approval.inbox', version: '1.0.0' },\n { key: 'workflow.approval.detail', version: '1.0.0' },\n { key: 'workflow.approval.form', version: '1.0.0' },\n { key: 'workflow.approval.badge', version: '1.0.0' },\n\n // Dashboard\n { key: 'workflow.metrics', version: '1.0.0' },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'workflow.definition.list', version: '1.0.0' },\n pres: { key: 'workflow.definition.list', version: '1.0.0' },\n },\n {\n op: { key: 'workflow.instance.list', version: '1.0.0' },\n pres: { key: 'workflow.instance.list', version: '1.0.0' },\n },\n {\n op: { key: 'workflow.approval.list.mine', version: '1.0.0' },\n pres: { key: 'workflow.approval.inbox', version: '1.0.0' },\n },\n {\n op: { key: 'workflow.approval.decide', version: '1.0.0' },\n pres: { key: 'workflow.approval.form', version: '1.0.0' },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n { key: 'workflow.designer', version: '1.0.0', targets: ['react'] },\n {\n key: 'workflow.definition.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.definition.detail',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.instance.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.instance.detail',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n { key: 'workflow.instance.progress', version: '1.0.0', targets: ['react'] },\n {\n key: 'workflow.approval.inbox',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.approval.detail',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'workflow.metrics',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'feature-flags', version: '1.0.0' },\n ],\n provides: [\n { key: 'workflow', version: '1.0.0' },\n { key: 'approval', version: '1.0.0' },\n { key: 'state-machine', version: '1.0.0' },\n ],\n },\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/example.workflow-system",
3
- "version": "1.44.1",
3
+ "version": "1.45.0",
4
4
  "description": "Workflow and approval system example for ContractSpec - State machine with role-based transitions",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,19 +18,19 @@
18
18
  "lint:check": "eslint src"
19
19
  },
20
20
  "dependencies": {
21
- "@contractspec/lib.schema": "1.44.1",
22
- "@contractspec/lib.contracts": "1.44.1",
23
- "@contractspec/lib.bus": "1.44.1",
24
- "@contractspec/lib.identity-rbac": "1.44.1",
25
- "@contractspec/lib.feature-flags": "1.44.1",
26
- "@contractspec/lib.jobs": "1.44.1",
27
- "@contractspec/module.audit-trail": "1.44.1",
28
- "@contractspec/module.notifications": "1.44.1",
21
+ "@contractspec/lib.schema": "1.45.0",
22
+ "@contractspec/lib.contracts": "1.45.0",
23
+ "@contractspec/lib.bus": "1.45.0",
24
+ "@contractspec/lib.identity-rbac": "1.45.0",
25
+ "@contractspec/lib.feature-flags": "1.45.0",
26
+ "@contractspec/lib.jobs": "1.45.0",
27
+ "@contractspec/module.audit-trail": "1.45.0",
28
+ "@contractspec/module.notifications": "1.45.0",
29
29
  "zod": "^4.1.13"
30
30
  },
31
31
  "devDependencies": {
32
- "@contractspec/tool.typescript": "1.44.1",
33
- "@contractspec/tool.tsdown": "1.44.1",
32
+ "@contractspec/tool.typescript": "1.45.0",
33
+ "@contractspec/tool.tsdown": "1.45.0",
34
34
  "typescript": "^5.9.3"
35
35
  },
36
36
  "exports": {