@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,234 +1,228 @@
1
- //#region src/ui/renderers/workflow.markdown.ts
2
- const mockWorkflowDefinitions = [
3
- {
4
- id: "wf-1",
5
- name: "Purchase Approval",
6
- type: "APPROVAL",
7
- steps: [
8
- {
9
- id: "s1",
10
- name: "Manager Review",
11
- order: 1,
12
- requiredRoles: ["manager"]
13
- },
14
- {
15
- id: "s2",
16
- name: "Finance Review",
17
- order: 2,
18
- requiredRoles: ["finance"]
19
- },
20
- {
21
- id: "s3",
22
- name: "Final Approval",
23
- order: 3,
24
- requiredRoles: ["admin"]
25
- }
26
- ],
27
- status: "ACTIVE"
28
- },
29
- {
30
- id: "wf-2",
31
- name: "Leave Request",
32
- type: "APPROVAL",
33
- steps: [{
34
- id: "s1",
35
- name: "Supervisor Approval",
36
- order: 1,
37
- requiredRoles: ["supervisor"]
38
- }, {
39
- id: "s2",
40
- name: "HR Review",
41
- order: 2,
42
- requiredRoles: ["hr"]
43
- }],
44
- status: "ACTIVE"
45
- },
46
- {
47
- id: "wf-3",
48
- name: "Document Review",
49
- type: "SEQUENTIAL",
50
- steps: [
51
- {
52
- id: "s1",
53
- name: "Author Review",
54
- order: 1,
55
- requiredRoles: ["author"]
56
- },
57
- {
58
- id: "s2",
59
- name: "Peer Review",
60
- order: 2,
61
- requiredRoles: ["reviewer"]
62
- },
63
- {
64
- id: "s3",
65
- name: "Publish",
66
- order: 3,
67
- requiredRoles: ["publisher"]
68
- }
69
- ],
70
- status: "DRAFT"
71
- }
1
+ // @bun
2
+ // src/ui/renderers/workflow.markdown.ts
3
+ var mockWorkflowDefinitions = [
4
+ {
5
+ id: "wf-1",
6
+ name: "Purchase Approval",
7
+ type: "APPROVAL",
8
+ steps: [
9
+ {
10
+ id: "s1",
11
+ name: "Manager Review",
12
+ order: 1,
13
+ requiredRoles: ["manager"]
14
+ },
15
+ {
16
+ id: "s2",
17
+ name: "Finance Review",
18
+ order: 2,
19
+ requiredRoles: ["finance"]
20
+ },
21
+ { id: "s3", name: "Final Approval", order: 3, requiredRoles: ["admin"] }
22
+ ],
23
+ status: "ACTIVE"
24
+ },
25
+ {
26
+ id: "wf-2",
27
+ name: "Leave Request",
28
+ type: "APPROVAL",
29
+ steps: [
30
+ {
31
+ id: "s1",
32
+ name: "Supervisor Approval",
33
+ order: 1,
34
+ requiredRoles: ["supervisor"]
35
+ },
36
+ { id: "s2", name: "HR Review", order: 2, requiredRoles: ["hr"] }
37
+ ],
38
+ status: "ACTIVE"
39
+ },
40
+ {
41
+ id: "wf-3",
42
+ name: "Document Review",
43
+ type: "SEQUENTIAL",
44
+ steps: [
45
+ { id: "s1", name: "Author Review", order: 1, requiredRoles: ["author"] },
46
+ { id: "s2", name: "Peer Review", order: 2, requiredRoles: ["reviewer"] },
47
+ { id: "s3", name: "Publish", order: 3, requiredRoles: ["publisher"] }
48
+ ],
49
+ status: "DRAFT"
50
+ }
72
51
  ];
73
- const mockWorkflowInstances = [
74
- {
75
- id: "inst-1",
76
- definitionId: "wf-1",
77
- definitionName: "Purchase Approval",
78
- status: "IN_PROGRESS",
79
- currentStepId: "s2",
80
- startedAt: "2024-01-15T10:00:00Z",
81
- requestedBy: "John Doe"
82
- },
83
- {
84
- id: "inst-2",
85
- definitionId: "wf-1",
86
- definitionName: "Purchase Approval",
87
- status: "COMPLETED",
88
- currentStepId: null,
89
- startedAt: "2024-01-10T09:00:00Z",
90
- completedAt: "2024-01-12T14:00:00Z",
91
- requestedBy: "Jane Smith"
92
- },
93
- {
94
- id: "inst-3",
95
- definitionId: "wf-2",
96
- definitionName: "Leave Request",
97
- status: "PENDING",
98
- currentStepId: "s1",
99
- startedAt: "2024-01-16T08:00:00Z",
100
- requestedBy: "Bob Wilson"
101
- }
52
+ var mockWorkflowInstances = [
53
+ {
54
+ id: "inst-1",
55
+ definitionId: "wf-1",
56
+ definitionName: "Purchase Approval",
57
+ status: "IN_PROGRESS",
58
+ currentStepId: "s2",
59
+ startedAt: "2024-01-15T10:00:00Z",
60
+ requestedBy: "John Doe"
61
+ },
62
+ {
63
+ id: "inst-2",
64
+ definitionId: "wf-1",
65
+ definitionName: "Purchase Approval",
66
+ status: "COMPLETED",
67
+ currentStepId: null,
68
+ startedAt: "2024-01-10T09:00:00Z",
69
+ completedAt: "2024-01-12T14:00:00Z",
70
+ requestedBy: "Jane Smith"
71
+ },
72
+ {
73
+ id: "inst-3",
74
+ definitionId: "wf-2",
75
+ definitionName: "Leave Request",
76
+ status: "PENDING",
77
+ currentStepId: "s1",
78
+ startedAt: "2024-01-16T08:00:00Z",
79
+ requestedBy: "Bob Wilson"
80
+ }
102
81
  ];
103
- /**
104
- * Markdown renderer for Workflow Dashboard
105
- */
106
- const workflowDashboardMarkdownRenderer = {
107
- target: "markdown",
108
- render: async (desc) => {
109
- if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowDashboard") throw new Error("workflowDashboardMarkdownRenderer: not WorkflowDashboard");
110
- const definitions = mockWorkflowDefinitions;
111
- const instances = mockWorkflowInstances;
112
- const activeDefinitions = definitions.filter((d) => d.status === "ACTIVE");
113
- const pendingInstances = instances.filter((i) => i.status === "PENDING");
114
- const inProgressInstances = instances.filter((i) => i.status === "IN_PROGRESS");
115
- const completedInstances = instances.filter((i) => i.status === "COMPLETED");
116
- const lines = [
117
- "# Workflow Dashboard",
118
- "",
119
- "> Workflow and approval management overview",
120
- "",
121
- "## Summary",
122
- "",
123
- "| Metric | Value |",
124
- "|--------|-------|",
125
- `| Active Workflows | ${activeDefinitions.length} |`,
126
- `| Pending Approvals | ${pendingInstances.length} |`,
127
- `| In Progress | ${inProgressInstances.length} |`,
128
- `| Completed | ${completedInstances.length} |`,
129
- "",
130
- "## Active Workflow Definitions",
131
- ""
132
- ];
133
- if (activeDefinitions.length === 0) lines.push("_No active workflow definitions._");
134
- else {
135
- lines.push("| Name | Type | Steps | Status |");
136
- lines.push("|------|------|-------|--------|");
137
- for (const def of activeDefinitions) lines.push(`| ${def.name} | ${def.type} | ${def.steps.length} | ${def.status} |`);
138
- }
139
- lines.push("");
140
- lines.push("## Recent Instances");
141
- lines.push("");
142
- if (instances.length === 0) lines.push("_No workflow instances._");
143
- else {
144
- lines.push("| Workflow | Requested By | Status | Started |");
145
- lines.push("|----------|--------------|--------|---------|");
146
- for (const inst of instances.slice(0, 10)) {
147
- const startedDate = new Date(inst.startedAt).toLocaleDateString();
148
- lines.push(`| ${inst.definitionName} | ${inst.requestedBy} | ${inst.status} | ${startedDate} |`);
149
- }
150
- }
151
- return {
152
- mimeType: "text/markdown",
153
- body: lines.join("\n")
154
- };
155
- }
82
+ var workflowDashboardMarkdownRenderer = {
83
+ target: "markdown",
84
+ render: async (desc) => {
85
+ if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowDashboard") {
86
+ throw new Error("workflowDashboardMarkdownRenderer: not WorkflowDashboard");
87
+ }
88
+ const definitions = mockWorkflowDefinitions;
89
+ const instances = mockWorkflowInstances;
90
+ const activeDefinitions = definitions.filter((d) => d.status === "ACTIVE");
91
+ const pendingInstances = instances.filter((i) => i.status === "PENDING");
92
+ const inProgressInstances = instances.filter((i) => i.status === "IN_PROGRESS");
93
+ const completedInstances = instances.filter((i) => i.status === "COMPLETED");
94
+ const lines = [
95
+ "# Workflow Dashboard",
96
+ "",
97
+ "> Workflow and approval management overview",
98
+ "",
99
+ "## Summary",
100
+ "",
101
+ "| Metric | Value |",
102
+ "|--------|-------|",
103
+ `| Active Workflows | ${activeDefinitions.length} |`,
104
+ `| Pending Approvals | ${pendingInstances.length} |`,
105
+ `| In Progress | ${inProgressInstances.length} |`,
106
+ `| Completed | ${completedInstances.length} |`,
107
+ "",
108
+ "## Active Workflow Definitions",
109
+ ""
110
+ ];
111
+ if (activeDefinitions.length === 0) {
112
+ lines.push("_No active workflow definitions._");
113
+ } else {
114
+ lines.push("| Name | Type | Steps | Status |");
115
+ lines.push("|------|------|-------|--------|");
116
+ for (const def of activeDefinitions) {
117
+ lines.push(`| ${def.name} | ${def.type} | ${def.steps.length} | ${def.status} |`);
118
+ }
119
+ }
120
+ lines.push("");
121
+ lines.push("## Recent Instances");
122
+ lines.push("");
123
+ if (instances.length === 0) {
124
+ lines.push("_No workflow instances._");
125
+ } else {
126
+ lines.push("| Workflow | Requested By | Status | Started |");
127
+ lines.push("|----------|--------------|--------|---------|");
128
+ for (const inst of instances.slice(0, 10)) {
129
+ const startedDate = new Date(inst.startedAt).toLocaleDateString();
130
+ lines.push(`| ${inst.definitionName} | ${inst.requestedBy} | ${inst.status} | ${startedDate} |`);
131
+ }
132
+ }
133
+ return {
134
+ mimeType: "text/markdown",
135
+ body: lines.join(`
136
+ `)
137
+ };
138
+ }
156
139
  };
157
- /**
158
- * Markdown renderer for Workflow Definition List
159
- */
160
- const workflowDefinitionListMarkdownRenderer = {
161
- target: "markdown",
162
- render: async (desc) => {
163
- if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowDefinitionList") throw new Error("workflowDefinitionListMarkdownRenderer: not WorkflowDefinitionList");
164
- const definitions = mockWorkflowDefinitions;
165
- const lines = [
166
- "# Workflow Definitions",
167
- "",
168
- "> Configure automated approval and process workflows",
169
- ""
170
- ];
171
- for (const def of definitions) {
172
- lines.push(`## ${def.name}`);
173
- lines.push("");
174
- lines.push(`**Type:** ${def.type} | **Status:** ${def.status}`);
175
- lines.push("");
176
- lines.push("### Steps");
177
- lines.push("");
178
- for (const step of def.steps) lines.push(`${step.order}. **${step.name}** - Roles: ${step.requiredRoles.join(", ")}`);
179
- lines.push("");
180
- }
181
- return {
182
- mimeType: "text/markdown",
183
- body: lines.join("\n")
184
- };
185
- }
186
- };
187
- /**
188
- * Markdown renderer for Workflow Instance Detail
189
- */
190
- const workflowInstanceDetailMarkdownRenderer = {
191
- target: "markdown",
192
- render: async (desc) => {
193
- if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowInstanceDetail") throw new Error("workflowInstanceDetailMarkdownRenderer: not WorkflowInstanceDetail");
194
- const instance = mockWorkflowInstances[0];
195
- if (!instance) return {
196
- mimeType: "text/markdown",
197
- body: "# No Workflow Instances\n\nNo workflow instances available."
198
- };
199
- const definition = mockWorkflowDefinitions.find((d) => d.id === instance.definitionId);
200
- const lines = [
201
- `# Workflow: ${instance.definitionName}`,
202
- "",
203
- `**Instance ID:** ${instance.id}`,
204
- `**Status:** ${instance.status}`,
205
- `**Requested By:** ${instance.requestedBy}`,
206
- `**Started:** ${new Date(instance.startedAt).toLocaleString()}`,
207
- "",
208
- "## Steps Progress",
209
- ""
210
- ];
211
- if (definition) for (const step of definition.steps) {
212
- const isCurrent = step.id === instance.currentStepId;
213
- const isCompleted = definition.steps.indexOf(step) < definition.steps.findIndex((s) => s.id === instance.currentStepId);
214
- let status = "⬜ Pending";
215
- if (isCompleted) status = "✅ Completed";
216
- if (isCurrent) status = "🔄 In Progress";
217
- lines.push(`- ${status} **${step.name}**`);
218
- }
219
- lines.push("");
220
- lines.push("## Actions");
221
- lines.push("");
222
- lines.push("- **Approve** - Move to next step");
223
- lines.push("- **Reject** - Reject and return");
224
- lines.push("- **Delegate** - Assign to another approver");
225
- return {
226
- mimeType: "text/markdown",
227
- body: lines.join("\n")
228
- };
229
- }
140
+ var workflowDefinitionListMarkdownRenderer = {
141
+ target: "markdown",
142
+ render: async (desc) => {
143
+ if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowDefinitionList") {
144
+ throw new Error("workflowDefinitionListMarkdownRenderer: not WorkflowDefinitionList");
145
+ }
146
+ const definitions = mockWorkflowDefinitions;
147
+ const lines = [
148
+ "# Workflow Definitions",
149
+ "",
150
+ "> Configure automated approval and process workflows",
151
+ ""
152
+ ];
153
+ for (const def of definitions) {
154
+ lines.push(`## ${def.name}`);
155
+ lines.push("");
156
+ lines.push(`**Type:** ${def.type} | **Status:** ${def.status}`);
157
+ lines.push("");
158
+ lines.push("### Steps");
159
+ lines.push("");
160
+ for (const step of def.steps) {
161
+ lines.push(`${step.order}. **${step.name}** - Roles: ${step.requiredRoles.join(", ")}`);
162
+ }
163
+ lines.push("");
164
+ }
165
+ return {
166
+ mimeType: "text/markdown",
167
+ body: lines.join(`
168
+ `)
169
+ };
170
+ }
230
171
  };
172
+ var workflowInstanceDetailMarkdownRenderer = {
173
+ target: "markdown",
174
+ render: async (desc) => {
175
+ if (desc.source.type !== "component" || desc.source.componentKey !== "WorkflowInstanceDetail") {
176
+ throw new Error("workflowInstanceDetailMarkdownRenderer: not WorkflowInstanceDetail");
177
+ }
178
+ const instance = mockWorkflowInstances[0];
179
+ if (!instance) {
180
+ return {
181
+ mimeType: "text/markdown",
182
+ body: `# No Workflow Instances
231
183
 
232
- //#endregion
233
- export { workflowDashboardMarkdownRenderer, workflowDefinitionListMarkdownRenderer, workflowInstanceDetailMarkdownRenderer };
234
- //# sourceMappingURL=workflow.markdown.js.map
184
+ No workflow instances available.`
185
+ };
186
+ }
187
+ const definition = mockWorkflowDefinitions.find((d) => d.id === instance.definitionId);
188
+ const lines = [
189
+ `# Workflow: ${instance.definitionName}`,
190
+ "",
191
+ `**Instance ID:** ${instance.id}`,
192
+ `**Status:** ${instance.status}`,
193
+ `**Requested By:** ${instance.requestedBy}`,
194
+ `**Started:** ${new Date(instance.startedAt).toLocaleString()}`,
195
+ "",
196
+ "## Steps Progress",
197
+ ""
198
+ ];
199
+ if (definition) {
200
+ for (const step of definition.steps) {
201
+ const isCurrent = step.id === instance.currentStepId;
202
+ const isCompleted = definition.steps.indexOf(step) < definition.steps.findIndex((s) => s.id === instance.currentStepId);
203
+ let status = "\u2B1C Pending";
204
+ if (isCompleted)
205
+ status = "\u2705 Completed";
206
+ if (isCurrent)
207
+ status = "\uD83D\uDD04 In Progress";
208
+ lines.push(`- ${status} **${step.name}**`);
209
+ }
210
+ }
211
+ lines.push("");
212
+ lines.push("## Actions");
213
+ lines.push("");
214
+ lines.push("- **Approve** - Move to next step");
215
+ lines.push("- **Reject** - Reject and return");
216
+ lines.push("- **Delegate** - Assign to another approver");
217
+ return {
218
+ mimeType: "text/markdown",
219
+ body: lines.join(`
220
+ `)
221
+ };
222
+ }
223
+ };
224
+ export {
225
+ workflowInstanceDetailMarkdownRenderer,
226
+ workflowDefinitionListMarkdownRenderer,
227
+ workflowDashboardMarkdownRenderer
228
+ };
@@ -1,5 +1,8 @@
1
- import { ApprovalModeEnum, StepTypeEnum, TriggerTypeEnum, WorkflowStatusEnum } from "./workflow.enum.js";
2
- import { AddStepInputModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, WorkflowDefinitionModel, WorkflowStepModel } from "./workflow.schema.js";
3
- import { AddStepContract, CreateWorkflowContract, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, UpdateWorkflowContract } from "./workflow.operations.js";
4
- import { StepAddedEvent, WorkflowCreatedEvent, WorkflowPublishedEvent, WorkflowUpdatedEvent } from "./workflow.event.js";
5
- export { AddStepContract, AddStepInputModel, ApprovalModeEnum, CreateWorkflowContract, CreateWorkflowInputModel, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, StepAddedEvent, StepTypeEnum, TriggerTypeEnum, UpdateWorkflowContract, UpdateWorkflowInputModel, WorkflowCreatedEvent, WorkflowDefinitionModel, WorkflowPublishedEvent, WorkflowStatusEnum, WorkflowStepModel, WorkflowUpdatedEvent };
1
+ /**
2
+ * Workflow domain - Workflow definition and step management.
3
+ */
4
+ export { WorkflowStatusEnum, TriggerTypeEnum, StepTypeEnum, ApprovalModeEnum, } from './workflow.enum';
5
+ export { WorkflowStepModel, WorkflowDefinitionModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, AddStepInputModel, } from './workflow.schema';
6
+ export { CreateWorkflowContract, UpdateWorkflowContract, AddStepContract, PublishWorkflowContract, ListWorkflowsContract, GetWorkflowContract, } from './workflow.operations';
7
+ export { WorkflowCreatedEvent, WorkflowUpdatedEvent, WorkflowPublishedEvent, StepAddedEvent, } from './workflow.event';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GACf,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,22 @@
1
- import { ApprovalModeEnum, StepTypeEnum, TriggerTypeEnum, WorkflowStatusEnum } from "./workflow.enum.js";
2
- import { AddStepInputModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, WorkflowDefinitionModel, WorkflowStepModel } from "./workflow.schema.js";
3
- import { AddStepContract, CreateWorkflowContract, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, UpdateWorkflowContract } from "./workflow.operations.js";
4
- import { StepAddedEvent, WorkflowCreatedEvent, WorkflowPublishedEvent, WorkflowUpdatedEvent } from "./workflow.event.js";
5
-
6
- export { AddStepContract, AddStepInputModel, ApprovalModeEnum, CreateWorkflowContract, CreateWorkflowInputModel, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, StepAddedEvent, StepTypeEnum, TriggerTypeEnum, UpdateWorkflowContract, UpdateWorkflowInputModel, WorkflowCreatedEvent, WorkflowDefinitionModel, WorkflowPublishedEvent, WorkflowStatusEnum, WorkflowStepModel, WorkflowUpdatedEvent };
1
+ // @bun
2
+ export {
3
+ WorkflowUpdatedEvent,
4
+ WorkflowStepModel,
5
+ WorkflowStatusEnum,
6
+ WorkflowPublishedEvent,
7
+ WorkflowDefinitionModel,
8
+ WorkflowCreatedEvent,
9
+ UpdateWorkflowInputModel,
10
+ UpdateWorkflowContract,
11
+ TriggerTypeEnum,
12
+ StepTypeEnum,
13
+ StepAddedEvent,
14
+ PublishWorkflowContract,
15
+ ListWorkflowsContract,
16
+ GetWorkflowContract,
17
+ CreateWorkflowInputModel,
18
+ CreateWorkflowContract,
19
+ ApprovalModeEnum,
20
+ AddStepInputModel,
21
+ AddStepContract
22
+ };
@@ -1,22 +1,17 @@
1
- import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
-
3
- //#region src/workflow/workflow.enum.d.ts
4
1
  /**
5
2
  * Workflow status enum.
6
3
  */
7
- declare const WorkflowStatusEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
4
+ export declare const WorkflowStatusEnum: import("@contractspec/lib.schema").EnumType<[string, string, string, string]>;
8
5
  /**
9
6
  * Trigger type enum.
10
7
  */
11
- declare const TriggerTypeEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
8
+ export declare const TriggerTypeEnum: import("@contractspec/lib.schema").EnumType<[string, string, string, string]>;
12
9
  /**
13
10
  * Step type enum.
14
11
  */
15
- declare const StepTypeEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string, string, string, string, string]>;
12
+ export declare const StepTypeEnum: import("@contractspec/lib.schema").EnumType<[string, string, string, string, string, string, string, string]>;
16
13
  /**
17
14
  * Approval mode enum.
18
15
  */
19
- declare const ApprovalModeEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
20
- //#endregion
21
- export { ApprovalModeEnum, StepTypeEnum, TriggerTypeEnum, WorkflowStatusEnum };
16
+ export declare const ApprovalModeEnum: import("@contractspec/lib.schema").EnumType<[string, string, string, string]>;
22
17
  //# sourceMappingURL=workflow.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.enum.d.ts","names":[],"sources":["../../src/workflow/workflow.enum.ts"],"mappings":";;;;;;cAKa,kBAAA,EAKX,yBAAA,CAL6B,QAAA;;;;cAUlB,eAAA,EAKX,yBAAA,CAL0B,QAAA;AAA5B;;;AAAA,cAUa,YAAA,EASX,yBAAA,CATuB,QAAA;;AAAzB;;cAca,gBAAA,EAKX,yBAAA,CAL2B,QAAA"}
1
+ {"version":3,"file":"workflow.enum.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.enum.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,kBAAkB,+EAK7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,+EAK1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,+GASvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,+EAK3B,CAAC"}
@@ -1,47 +1,37 @@
1
+ // @bun
2
+ // src/workflow/workflow.enum.ts
1
3
  import { defineEnum } from "@contractspec/lib.schema";
2
-
3
- //#region src/workflow/workflow.enum.ts
4
- /**
5
- * Workflow status enum.
6
- */
7
- const WorkflowStatusEnum = defineEnum("WorkflowStatus", [
8
- "DRAFT",
9
- "ACTIVE",
10
- "DEPRECATED",
11
- "ARCHIVED"
4
+ var WorkflowStatusEnum = defineEnum("WorkflowStatus", [
5
+ "DRAFT",
6
+ "ACTIVE",
7
+ "DEPRECATED",
8
+ "ARCHIVED"
12
9
  ]);
13
- /**
14
- * Trigger type enum.
15
- */
16
- const TriggerTypeEnum = defineEnum("WorkflowTriggerType", [
17
- "MANUAL",
18
- "EVENT",
19
- "SCHEDULED",
20
- "API"
10
+ var TriggerTypeEnum = defineEnum("WorkflowTriggerType", [
11
+ "MANUAL",
12
+ "EVENT",
13
+ "SCHEDULED",
14
+ "API"
21
15
  ]);
22
- /**
23
- * Step type enum.
24
- */
25
- const StepTypeEnum = defineEnum("StepType", [
26
- "START",
27
- "APPROVAL",
28
- "TASK",
29
- "CONDITION",
30
- "PARALLEL",
31
- "WAIT",
32
- "ACTION",
33
- "END"
16
+ var StepTypeEnum = defineEnum("StepType", [
17
+ "START",
18
+ "APPROVAL",
19
+ "TASK",
20
+ "CONDITION",
21
+ "PARALLEL",
22
+ "WAIT",
23
+ "ACTION",
24
+ "END"
34
25
  ]);
35
- /**
36
- * Approval mode enum.
37
- */
38
- const ApprovalModeEnum = defineEnum("ApprovalMode", [
39
- "ANY",
40
- "ALL",
41
- "MAJORITY",
42
- "SEQUENTIAL"
26
+ var ApprovalModeEnum = defineEnum("ApprovalMode", [
27
+ "ANY",
28
+ "ALL",
29
+ "MAJORITY",
30
+ "SEQUENTIAL"
43
31
  ]);
44
-
45
- //#endregion
46
- export { ApprovalModeEnum, StepTypeEnum, TriggerTypeEnum, WorkflowStatusEnum };
47
- //# sourceMappingURL=workflow.enum.js.map
32
+ export {
33
+ WorkflowStatusEnum,
34
+ TriggerTypeEnum,
35
+ StepTypeEnum,
36
+ ApprovalModeEnum
37
+ };