@contractspec/example.workflow-system 3.7.6 → 3.8.2

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 (57) hide show
  1. package/README.md +72 -119
  2. package/dist/approval/approval.event.js +1 -1
  3. package/dist/approval/approval.handler.d.ts +1 -1
  4. package/dist/approval/index.d.ts +4 -4
  5. package/dist/approval/index.js +1 -1
  6. package/dist/browser/approval/approval.event.js +1 -1
  7. package/dist/browser/approval/index.js +1 -1
  8. package/dist/browser/entities/index.js +166 -166
  9. package/dist/browser/handlers/index.js +43 -43
  10. package/dist/browser/handlers/workflow.handlers.js +43 -43
  11. package/dist/browser/index.js +1935 -1548
  12. package/dist/browser/instance/index.js +210 -210
  13. package/dist/browser/instance/instance.event.js +1 -1
  14. package/dist/browser/shared/demo-scenario.js +213 -0
  15. package/dist/browser/ui/WorkflowDashboard.visualizations.js +239 -0
  16. package/dist/browser/ui/hooks/index.js +0 -47
  17. package/dist/browser/ui/hooks/useWorkflowList.js +6 -4
  18. package/dist/browser/ui/index.js +6 -4
  19. package/dist/browser/ui/renderers/index.js +409 -73
  20. package/dist/browser/ui/renderers/workflow.markdown.js +409 -73
  21. package/dist/browser/visualizations/catalog.js +132 -0
  22. package/dist/browser/visualizations/index.js +133 -0
  23. package/dist/browser/visualizations/selectors.js +195 -0
  24. package/dist/entities/index.d.ts +53 -53
  25. package/dist/entities/index.js +166 -166
  26. package/dist/example.test.d.ts +1 -0
  27. package/dist/handlers/index.js +43 -43
  28. package/dist/handlers/workflow.handlers.js +43 -43
  29. package/dist/index.d.ts +6 -5
  30. package/dist/index.js +1935 -1548
  31. package/dist/instance/index.d.ts +3 -3
  32. package/dist/instance/index.js +210 -210
  33. package/dist/instance/instance.event.js +1 -1
  34. package/dist/instance/instance.handler.d.ts +1 -1
  35. package/dist/shared/demo-scenario.d.ts +43 -0
  36. package/dist/shared/demo-scenario.js +214 -0
  37. package/dist/shared/index.d.ts +1 -1
  38. package/dist/shared/mock-data.d.ts +1 -1
  39. package/dist/ui/WorkflowDashboard.visualizations.d.ts +4 -0
  40. package/dist/ui/WorkflowDashboard.visualizations.js +240 -0
  41. package/dist/ui/hooks/index.js +0 -47
  42. package/dist/ui/hooks/useWorkflowList.d.ts +2 -1
  43. package/dist/ui/hooks/useWorkflowList.js +6 -4
  44. package/dist/ui/index.d.ts +1 -1
  45. package/dist/ui/index.js +6 -4
  46. package/dist/ui/renderers/index.js +409 -73
  47. package/dist/ui/renderers/workflow.markdown.js +409 -73
  48. package/dist/visualizations/catalog.d.ts +11 -0
  49. package/dist/visualizations/catalog.js +133 -0
  50. package/dist/visualizations/index.d.ts +2 -0
  51. package/dist/visualizations/index.js +134 -0
  52. package/dist/visualizations/selectors.d.ts +11 -0
  53. package/dist/visualizations/selectors.js +196 -0
  54. package/dist/visualizations/selectors.test.d.ts +1 -0
  55. package/dist/workflow/index.d.ts +4 -4
  56. package/dist/workflow/workflow.handler.d.ts +1 -1
  57. package/package.json +71 -10
@@ -0,0 +1,132 @@
1
+ // src/visualizations/catalog.ts
2
+ import {
3
+ defineVisualization,
4
+ VisualizationRegistry
5
+ } from "@contractspec/lib.contracts-spec/visualizations";
6
+ var INSTANCE_LIST_REF = {
7
+ key: "workflow.instance.list",
8
+ version: "1.0.0"
9
+ };
10
+ var META = {
11
+ version: "1.0.0",
12
+ domain: "workflow",
13
+ stability: "experimental",
14
+ owners: ["@example.workflow-system"],
15
+ tags: ["workflow", "visualization", "operations"]
16
+ };
17
+ var WorkflowInstanceStatusVisualization = defineVisualization({
18
+ meta: {
19
+ ...META,
20
+ key: "workflow-system.visualization.instance-status",
21
+ title: "Instance Status Breakdown",
22
+ description: "Distribution of workflow instance states.",
23
+ goal: "Surface the current workload mix.",
24
+ context: "Workflow operations overview."
25
+ },
26
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
27
+ visualization: {
28
+ kind: "pie",
29
+ nameDimension: "status",
30
+ valueMeasure: "instances",
31
+ dimensions: [
32
+ { key: "status", label: "Status", dataPath: "status", type: "category" }
33
+ ],
34
+ measures: [
35
+ {
36
+ key: "instances",
37
+ label: "Instances",
38
+ dataPath: "instances",
39
+ format: "number"
40
+ }
41
+ ],
42
+ table: { caption: "Workflow instance counts by status." }
43
+ }
44
+ });
45
+ var WorkflowThroughputVisualization = defineVisualization({
46
+ meta: {
47
+ ...META,
48
+ key: "workflow-system.visualization.throughput",
49
+ title: "Run Throughput",
50
+ description: "Daily workflow instance starts.",
51
+ goal: "Show operational throughput over time.",
52
+ context: "Workflow trend monitoring."
53
+ },
54
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
55
+ visualization: {
56
+ kind: "cartesian",
57
+ variant: "line",
58
+ xDimension: "day",
59
+ yMeasures: ["instances"],
60
+ dimensions: [{ key: "day", label: "Day", dataPath: "day", type: "time" }],
61
+ measures: [
62
+ {
63
+ key: "instances",
64
+ label: "Instances",
65
+ dataPath: "instances",
66
+ format: "number",
67
+ color: "#0f766e"
68
+ }
69
+ ],
70
+ table: { caption: "Daily workflow instance starts." }
71
+ }
72
+ });
73
+ var WorkflowActiveMetricVisualization = defineVisualization({
74
+ meta: {
75
+ ...META,
76
+ key: "workflow-system.visualization.active-work",
77
+ title: "Active Work",
78
+ description: "Current in-flight or pending workflow instances.",
79
+ goal: "Expose active operational workload.",
80
+ context: "Workflow workload comparison."
81
+ },
82
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
83
+ visualization: {
84
+ kind: "metric",
85
+ measure: "value",
86
+ measures: [
87
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
88
+ ],
89
+ table: { caption: "Active workflow count." }
90
+ }
91
+ });
92
+ var WorkflowCompletedMetricVisualization = defineVisualization({
93
+ meta: {
94
+ ...META,
95
+ key: "workflow-system.visualization.completed-work",
96
+ title: "Completed Work",
97
+ description: "Completed workflow instances in the current sample.",
98
+ goal: "Show output against active workload.",
99
+ context: "Workflow workload comparison."
100
+ },
101
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
102
+ visualization: {
103
+ kind: "metric",
104
+ measure: "value",
105
+ measures: [
106
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
107
+ ],
108
+ table: { caption: "Completed workflow count." }
109
+ }
110
+ });
111
+ var WorkflowVisualizationSpecs = [
112
+ WorkflowInstanceStatusVisualization,
113
+ WorkflowThroughputVisualization,
114
+ WorkflowActiveMetricVisualization,
115
+ WorkflowCompletedMetricVisualization
116
+ ];
117
+ var WorkflowVisualizationRegistry = new VisualizationRegistry([
118
+ ...WorkflowVisualizationSpecs
119
+ ]);
120
+ var WorkflowVisualizationRefs = WorkflowVisualizationSpecs.map((spec) => ({
121
+ key: spec.meta.key,
122
+ version: spec.meta.version
123
+ }));
124
+ export {
125
+ WorkflowVisualizationSpecs,
126
+ WorkflowVisualizationRegistry,
127
+ WorkflowVisualizationRefs,
128
+ WorkflowThroughputVisualization,
129
+ WorkflowInstanceStatusVisualization,
130
+ WorkflowCompletedMetricVisualization,
131
+ WorkflowActiveMetricVisualization
132
+ };
@@ -0,0 +1,133 @@
1
+ // src/visualizations/catalog.ts
2
+ import {
3
+ defineVisualization,
4
+ VisualizationRegistry
5
+ } from "@contractspec/lib.contracts-spec/visualizations";
6
+ var INSTANCE_LIST_REF = {
7
+ key: "workflow.instance.list",
8
+ version: "1.0.0"
9
+ };
10
+ var META = {
11
+ version: "1.0.0",
12
+ domain: "workflow",
13
+ stability: "experimental",
14
+ owners: ["@example.workflow-system"],
15
+ tags: ["workflow", "visualization", "operations"]
16
+ };
17
+ var WorkflowInstanceStatusVisualization = defineVisualization({
18
+ meta: {
19
+ ...META,
20
+ key: "workflow-system.visualization.instance-status",
21
+ title: "Instance Status Breakdown",
22
+ description: "Distribution of workflow instance states.",
23
+ goal: "Surface the current workload mix.",
24
+ context: "Workflow operations overview."
25
+ },
26
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
27
+ visualization: {
28
+ kind: "pie",
29
+ nameDimension: "status",
30
+ valueMeasure: "instances",
31
+ dimensions: [
32
+ { key: "status", label: "Status", dataPath: "status", type: "category" }
33
+ ],
34
+ measures: [
35
+ {
36
+ key: "instances",
37
+ label: "Instances",
38
+ dataPath: "instances",
39
+ format: "number"
40
+ }
41
+ ],
42
+ table: { caption: "Workflow instance counts by status." }
43
+ }
44
+ });
45
+ var WorkflowThroughputVisualization = defineVisualization({
46
+ meta: {
47
+ ...META,
48
+ key: "workflow-system.visualization.throughput",
49
+ title: "Run Throughput",
50
+ description: "Daily workflow instance starts.",
51
+ goal: "Show operational throughput over time.",
52
+ context: "Workflow trend monitoring."
53
+ },
54
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
55
+ visualization: {
56
+ kind: "cartesian",
57
+ variant: "line",
58
+ xDimension: "day",
59
+ yMeasures: ["instances"],
60
+ dimensions: [{ key: "day", label: "Day", dataPath: "day", type: "time" }],
61
+ measures: [
62
+ {
63
+ key: "instances",
64
+ label: "Instances",
65
+ dataPath: "instances",
66
+ format: "number",
67
+ color: "#0f766e"
68
+ }
69
+ ],
70
+ table: { caption: "Daily workflow instance starts." }
71
+ }
72
+ });
73
+ var WorkflowActiveMetricVisualization = defineVisualization({
74
+ meta: {
75
+ ...META,
76
+ key: "workflow-system.visualization.active-work",
77
+ title: "Active Work",
78
+ description: "Current in-flight or pending workflow instances.",
79
+ goal: "Expose active operational workload.",
80
+ context: "Workflow workload comparison."
81
+ },
82
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
83
+ visualization: {
84
+ kind: "metric",
85
+ measure: "value",
86
+ measures: [
87
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
88
+ ],
89
+ table: { caption: "Active workflow count." }
90
+ }
91
+ });
92
+ var WorkflowCompletedMetricVisualization = defineVisualization({
93
+ meta: {
94
+ ...META,
95
+ key: "workflow-system.visualization.completed-work",
96
+ title: "Completed Work",
97
+ description: "Completed workflow instances in the current sample.",
98
+ goal: "Show output against active workload.",
99
+ context: "Workflow workload comparison."
100
+ },
101
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
102
+ visualization: {
103
+ kind: "metric",
104
+ measure: "value",
105
+ measures: [
106
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
107
+ ],
108
+ table: { caption: "Completed workflow count." }
109
+ }
110
+ });
111
+ var WorkflowVisualizationSpecs = [
112
+ WorkflowInstanceStatusVisualization,
113
+ WorkflowThroughputVisualization,
114
+ WorkflowActiveMetricVisualization,
115
+ WorkflowCompletedMetricVisualization
116
+ ];
117
+ var WorkflowVisualizationRegistry = new VisualizationRegistry([
118
+ ...WorkflowVisualizationSpecs
119
+ ]);
120
+ var WorkflowVisualizationRefs = WorkflowVisualizationSpecs.map((spec) => ({
121
+ key: spec.meta.key,
122
+ version: spec.meta.version
123
+ }));
124
+ export {
125
+ createWorkflowVisualizationSections,
126
+ WorkflowVisualizationSpecs,
127
+ WorkflowVisualizationRegistry,
128
+ WorkflowVisualizationRefs,
129
+ WorkflowThroughputVisualization,
130
+ WorkflowInstanceStatusVisualization,
131
+ WorkflowCompletedMetricVisualization,
132
+ WorkflowActiveMetricVisualization
133
+ };
@@ -0,0 +1,195 @@
1
+ // src/visualizations/catalog.ts
2
+ import {
3
+ defineVisualization,
4
+ VisualizationRegistry
5
+ } from "@contractspec/lib.contracts-spec/visualizations";
6
+ var INSTANCE_LIST_REF = {
7
+ key: "workflow.instance.list",
8
+ version: "1.0.0"
9
+ };
10
+ var META = {
11
+ version: "1.0.0",
12
+ domain: "workflow",
13
+ stability: "experimental",
14
+ owners: ["@example.workflow-system"],
15
+ tags: ["workflow", "visualization", "operations"]
16
+ };
17
+ var WorkflowInstanceStatusVisualization = defineVisualization({
18
+ meta: {
19
+ ...META,
20
+ key: "workflow-system.visualization.instance-status",
21
+ title: "Instance Status Breakdown",
22
+ description: "Distribution of workflow instance states.",
23
+ goal: "Surface the current workload mix.",
24
+ context: "Workflow operations overview."
25
+ },
26
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
27
+ visualization: {
28
+ kind: "pie",
29
+ nameDimension: "status",
30
+ valueMeasure: "instances",
31
+ dimensions: [
32
+ { key: "status", label: "Status", dataPath: "status", type: "category" }
33
+ ],
34
+ measures: [
35
+ {
36
+ key: "instances",
37
+ label: "Instances",
38
+ dataPath: "instances",
39
+ format: "number"
40
+ }
41
+ ],
42
+ table: { caption: "Workflow instance counts by status." }
43
+ }
44
+ });
45
+ var WorkflowThroughputVisualization = defineVisualization({
46
+ meta: {
47
+ ...META,
48
+ key: "workflow-system.visualization.throughput",
49
+ title: "Run Throughput",
50
+ description: "Daily workflow instance starts.",
51
+ goal: "Show operational throughput over time.",
52
+ context: "Workflow trend monitoring."
53
+ },
54
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
55
+ visualization: {
56
+ kind: "cartesian",
57
+ variant: "line",
58
+ xDimension: "day",
59
+ yMeasures: ["instances"],
60
+ dimensions: [{ key: "day", label: "Day", dataPath: "day", type: "time" }],
61
+ measures: [
62
+ {
63
+ key: "instances",
64
+ label: "Instances",
65
+ dataPath: "instances",
66
+ format: "number",
67
+ color: "#0f766e"
68
+ }
69
+ ],
70
+ table: { caption: "Daily workflow instance starts." }
71
+ }
72
+ });
73
+ var WorkflowActiveMetricVisualization = defineVisualization({
74
+ meta: {
75
+ ...META,
76
+ key: "workflow-system.visualization.active-work",
77
+ title: "Active Work",
78
+ description: "Current in-flight or pending workflow instances.",
79
+ goal: "Expose active operational workload.",
80
+ context: "Workflow workload comparison."
81
+ },
82
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
83
+ visualization: {
84
+ kind: "metric",
85
+ measure: "value",
86
+ measures: [
87
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
88
+ ],
89
+ table: { caption: "Active workflow count." }
90
+ }
91
+ });
92
+ var WorkflowCompletedMetricVisualization = defineVisualization({
93
+ meta: {
94
+ ...META,
95
+ key: "workflow-system.visualization.completed-work",
96
+ title: "Completed Work",
97
+ description: "Completed workflow instances in the current sample.",
98
+ goal: "Show output against active workload.",
99
+ context: "Workflow workload comparison."
100
+ },
101
+ source: { primary: INSTANCE_LIST_REF, resultPath: "data" },
102
+ visualization: {
103
+ kind: "metric",
104
+ measure: "value",
105
+ measures: [
106
+ { key: "value", label: "Instances", dataPath: "value", format: "number" }
107
+ ],
108
+ table: { caption: "Completed workflow count." }
109
+ }
110
+ });
111
+ var WorkflowVisualizationSpecs = [
112
+ WorkflowInstanceStatusVisualization,
113
+ WorkflowThroughputVisualization,
114
+ WorkflowActiveMetricVisualization,
115
+ WorkflowCompletedMetricVisualization
116
+ ];
117
+ var WorkflowVisualizationRegistry = new VisualizationRegistry([
118
+ ...WorkflowVisualizationSpecs
119
+ ]);
120
+ var WorkflowVisualizationRefs = WorkflowVisualizationSpecs.map((spec) => ({
121
+ key: spec.meta.key,
122
+ version: spec.meta.version
123
+ }));
124
+
125
+ // src/visualizations/selectors.ts
126
+ function toDayKey(value) {
127
+ const date = value instanceof Date ? value : new Date(value);
128
+ return date.toISOString().slice(0, 10);
129
+ }
130
+ function createWorkflowVisualizationSections(instances) {
131
+ const statusCounts = new Map;
132
+ const throughput = new Map;
133
+ let activeCount = 0;
134
+ let completedCount = 0;
135
+ for (const instance of instances) {
136
+ statusCounts.set(instance.status, (statusCounts.get(instance.status) ?? 0) + 1);
137
+ const day = toDayKey(instance.startedAt);
138
+ throughput.set(day, (throughput.get(day) ?? 0) + 1);
139
+ if (instance.status === "PENDING" || instance.status === "IN_PROGRESS") {
140
+ activeCount += 1;
141
+ }
142
+ if (instance.status === "COMPLETED") {
143
+ completedCount += 1;
144
+ }
145
+ }
146
+ const primaryItems = [
147
+ {
148
+ key: "workflow-status",
149
+ spec: WorkflowInstanceStatusVisualization,
150
+ data: {
151
+ data: Array.from(statusCounts.entries()).map(([status, count]) => ({
152
+ status,
153
+ instances: count
154
+ }))
155
+ },
156
+ title: "Instance Status Breakdown",
157
+ description: "Status mix across workflow instances.",
158
+ height: 260
159
+ },
160
+ {
161
+ key: "workflow-throughput",
162
+ spec: WorkflowThroughputVisualization,
163
+ data: {
164
+ data: Array.from(throughput.entries()).sort(([left], [right]) => left.localeCompare(right)).map(([day, count]) => ({ day, instances: count }))
165
+ },
166
+ title: "Run Throughput",
167
+ description: "Daily workflow starts from current instances."
168
+ }
169
+ ];
170
+ const comparisonItems = [
171
+ {
172
+ key: "workflow-active",
173
+ spec: WorkflowActiveMetricVisualization,
174
+ data: { data: [{ value: activeCount }] },
175
+ title: "Active Work",
176
+ description: "Pending and in-progress workflows.",
177
+ height: 200
178
+ },
179
+ {
180
+ key: "workflow-completed",
181
+ spec: WorkflowCompletedMetricVisualization,
182
+ data: { data: [{ value: completedCount }] },
183
+ title: "Completed Work",
184
+ description: "Completed workflows in the current sample.",
185
+ height: 200
186
+ }
187
+ ];
188
+ return {
189
+ primaryItems,
190
+ comparisonItems
191
+ };
192
+ }
193
+ export {
194
+ createWorkflowVisualizationSections
195
+ };
@@ -1,7 +1,7 @@
1
- export { WorkflowStatusEnum, WorkflowTriggerTypeEnum, WorkflowDefinitionEntity, } from './workflow';
2
- export { StepTypeEnum, ApprovalModeEnum, WorkflowStepEntity } from './step';
3
- export { InstanceStatusEnum, StepExecutionStatusEnum, WorkflowInstanceEntity, StepExecutionEntity, } from './instance';
4
- export { ApprovalStatusEnum, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalCommentEntity, } from './approval';
1
+ export { ApprovalCommentEntity, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalStatusEnum, } from './approval';
2
+ export { InstanceStatusEnum, StepExecutionEntity, StepExecutionStatusEnum, WorkflowInstanceEntity, } from './instance';
3
+ export { ApprovalModeEnum, StepTypeEnum, WorkflowStepEntity } from './step';
4
+ export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum, } from './workflow';
5
5
  import type { ModuleSchemaContribution } from '@contractspec/lib.schema';
6
6
  export declare const workflowSystemEntities: (import("@contractspec/lib.schema").EntitySpec<{
7
7
  id: import("@contractspec/lib.schema").EntityScalarField;
@@ -36,55 +36,6 @@ export declare const workflowSystemEntities: (import("@contractspec/lib.schema")
36
36
  createdAt: import("@contractspec/lib.schema").EntityScalarField;
37
37
  updatedAt: import("@contractspec/lib.schema").EntityScalarField;
38
38
  approvalRequest: import("@contractspec/lib.schema").EntityRelationField;
39
- }> | import("@contractspec/lib.schema").EntitySpec<{
40
- id: import("@contractspec/lib.schema").EntityScalarField;
41
- name: import("@contractspec/lib.schema").EntityScalarField;
42
- key: import("@contractspec/lib.schema").EntityScalarField;
43
- description: import("@contractspec/lib.schema").EntityScalarField;
44
- version: import("@contractspec/lib.schema").EntityScalarField;
45
- status: import("@contractspec/lib.schema").EntityEnumField;
46
- triggerType: import("@contractspec/lib.schema").EntityEnumField;
47
- triggerConfig: import("@contractspec/lib.schema").EntityScalarField;
48
- initialStepId: import("@contractspec/lib.schema").EntityScalarField;
49
- featureFlagKey: import("@contractspec/lib.schema").EntityScalarField;
50
- settings: import("@contractspec/lib.schema").EntityScalarField;
51
- metadata: import("@contractspec/lib.schema").EntityScalarField;
52
- organizationId: import("@contractspec/lib.schema").EntityScalarField;
53
- createdBy: import("@contractspec/lib.schema").EntityScalarField;
54
- createdAt: import("@contractspec/lib.schema").EntityScalarField;
55
- updatedAt: import("@contractspec/lib.schema").EntityScalarField;
56
- publishedAt: import("@contractspec/lib.schema").EntityScalarField;
57
- steps: import("@contractspec/lib.schema").EntityRelationField;
58
- instances: import("@contractspec/lib.schema").EntityRelationField;
59
- }> | import("@contractspec/lib.schema").EntitySpec<{
60
- id: import("@contractspec/lib.schema").EntityScalarField;
61
- workflowDefinitionId: import("@contractspec/lib.schema").EntityScalarField;
62
- name: import("@contractspec/lib.schema").EntityScalarField;
63
- key: import("@contractspec/lib.schema").EntityScalarField;
64
- description: import("@contractspec/lib.schema").EntityScalarField;
65
- type: import("@contractspec/lib.schema").EntityEnumField;
66
- position: import("@contractspec/lib.schema").EntityScalarField;
67
- transitions: import("@contractspec/lib.schema").EntityScalarField;
68
- approvalMode: import("@contractspec/lib.schema").EntityEnumField;
69
- approverRoles: import("@contractspec/lib.schema").EntityScalarField;
70
- approverUserIds: import("@contractspec/lib.schema").EntityScalarField;
71
- escalationConfig: import("@contractspec/lib.schema").EntityScalarField;
72
- assigneeRoles: import("@contractspec/lib.schema").EntityScalarField;
73
- taskTemplate: import("@contractspec/lib.schema").EntityScalarField;
74
- conditionExpression: import("@contractspec/lib.schema").EntityScalarField;
75
- waitDuration: import("@contractspec/lib.schema").EntityScalarField;
76
- waitForEvent: import("@contractspec/lib.schema").EntityScalarField;
77
- actionType: import("@contractspec/lib.schema").EntityScalarField;
78
- actionConfig: import("@contractspec/lib.schema").EntityScalarField;
79
- timeoutSeconds: import("@contractspec/lib.schema").EntityScalarField;
80
- slaSeconds: import("@contractspec/lib.schema").EntityScalarField;
81
- notifyOnEnter: import("@contractspec/lib.schema").EntityScalarField;
82
- notifyOnExit: import("@contractspec/lib.schema").EntityScalarField;
83
- metadata: import("@contractspec/lib.schema").EntityScalarField;
84
- createdAt: import("@contractspec/lib.schema").EntityScalarField;
85
- updatedAt: import("@contractspec/lib.schema").EntityScalarField;
86
- workflowDefinition: import("@contractspec/lib.schema").EntityRelationField;
87
- executions: import("@contractspec/lib.schema").EntityRelationField;
88
39
  }> | import("@contractspec/lib.schema").EntitySpec<{
89
40
  id: import("@contractspec/lib.schema").EntityScalarField;
90
41
  workflowDefinitionId: import("@contractspec/lib.schema").EntityScalarField;
@@ -129,5 +80,54 @@ export declare const workflowSystemEntities: (import("@contractspec/lib.schema")
129
80
  completedAt: import("@contractspec/lib.schema").EntityScalarField;
130
81
  workflowInstance: import("@contractspec/lib.schema").EntityRelationField;
131
82
  workflowStep: import("@contractspec/lib.schema").EntityRelationField;
83
+ }> | import("@contractspec/lib.schema").EntitySpec<{
84
+ id: import("@contractspec/lib.schema").EntityScalarField;
85
+ workflowDefinitionId: import("@contractspec/lib.schema").EntityScalarField;
86
+ name: import("@contractspec/lib.schema").EntityScalarField;
87
+ key: import("@contractspec/lib.schema").EntityScalarField;
88
+ description: import("@contractspec/lib.schema").EntityScalarField;
89
+ type: import("@contractspec/lib.schema").EntityEnumField;
90
+ position: import("@contractspec/lib.schema").EntityScalarField;
91
+ transitions: import("@contractspec/lib.schema").EntityScalarField;
92
+ approvalMode: import("@contractspec/lib.schema").EntityEnumField;
93
+ approverRoles: import("@contractspec/lib.schema").EntityScalarField;
94
+ approverUserIds: import("@contractspec/lib.schema").EntityScalarField;
95
+ escalationConfig: import("@contractspec/lib.schema").EntityScalarField;
96
+ assigneeRoles: import("@contractspec/lib.schema").EntityScalarField;
97
+ taskTemplate: import("@contractspec/lib.schema").EntityScalarField;
98
+ conditionExpression: import("@contractspec/lib.schema").EntityScalarField;
99
+ waitDuration: import("@contractspec/lib.schema").EntityScalarField;
100
+ waitForEvent: import("@contractspec/lib.schema").EntityScalarField;
101
+ actionType: import("@contractspec/lib.schema").EntityScalarField;
102
+ actionConfig: import("@contractspec/lib.schema").EntityScalarField;
103
+ timeoutSeconds: import("@contractspec/lib.schema").EntityScalarField;
104
+ slaSeconds: import("@contractspec/lib.schema").EntityScalarField;
105
+ notifyOnEnter: import("@contractspec/lib.schema").EntityScalarField;
106
+ notifyOnExit: import("@contractspec/lib.schema").EntityScalarField;
107
+ metadata: import("@contractspec/lib.schema").EntityScalarField;
108
+ createdAt: import("@contractspec/lib.schema").EntityScalarField;
109
+ updatedAt: import("@contractspec/lib.schema").EntityScalarField;
110
+ workflowDefinition: import("@contractspec/lib.schema").EntityRelationField;
111
+ executions: import("@contractspec/lib.schema").EntityRelationField;
112
+ }> | import("@contractspec/lib.schema").EntitySpec<{
113
+ id: import("@contractspec/lib.schema").EntityScalarField;
114
+ name: import("@contractspec/lib.schema").EntityScalarField;
115
+ key: import("@contractspec/lib.schema").EntityScalarField;
116
+ description: import("@contractspec/lib.schema").EntityScalarField;
117
+ version: import("@contractspec/lib.schema").EntityScalarField;
118
+ status: import("@contractspec/lib.schema").EntityEnumField;
119
+ triggerType: import("@contractspec/lib.schema").EntityEnumField;
120
+ triggerConfig: import("@contractspec/lib.schema").EntityScalarField;
121
+ initialStepId: import("@contractspec/lib.schema").EntityScalarField;
122
+ featureFlagKey: import("@contractspec/lib.schema").EntityScalarField;
123
+ settings: import("@contractspec/lib.schema").EntityScalarField;
124
+ metadata: import("@contractspec/lib.schema").EntityScalarField;
125
+ organizationId: import("@contractspec/lib.schema").EntityScalarField;
126
+ createdBy: import("@contractspec/lib.schema").EntityScalarField;
127
+ createdAt: import("@contractspec/lib.schema").EntityScalarField;
128
+ updatedAt: import("@contractspec/lib.schema").EntityScalarField;
129
+ publishedAt: import("@contractspec/lib.schema").EntityScalarField;
130
+ steps: import("@contractspec/lib.schema").EntityRelationField;
131
+ instances: import("@contractspec/lib.schema").EntityRelationField;
132
132
  }>)[];
133
133
  export declare const workflowSystemSchemaContribution: ModuleSchemaContribution;