@clusterenvision/ui-framework 1.0.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 (193) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +295 -0
  3. package/dist/ai-assistant-Db002XYC.d.ts +92 -0
  4. package/dist/ai-assistant-EobSUV70.d.cts +92 -0
  5. package/dist/browser-DnHpnWwE.d.cts +354 -0
  6. package/dist/browser-Dx4oKf5e.d.ts +354 -0
  7. package/dist/browser-signals-07qodpYT.d.cts +66 -0
  8. package/dist/browser-signals-07qodpYT.d.ts +66 -0
  9. package/dist/browser-signals.cjs +32 -0
  10. package/dist/browser-signals.cjs.map +1 -0
  11. package/dist/browser-signals.d.cts +1 -0
  12. package/dist/browser-signals.d.ts +1 -0
  13. package/dist/browser-signals.js +3 -0
  14. package/dist/browser-signals.js.map +1 -0
  15. package/dist/browser.cjs +197 -0
  16. package/dist/browser.cjs.map +1 -0
  17. package/dist/browser.d.cts +13 -0
  18. package/dist/browser.d.ts +13 -0
  19. package/dist/browser.js +12 -0
  20. package/dist/browser.js.map +1 -0
  21. package/dist/chunk-22HQL2Y4.js +568 -0
  22. package/dist/chunk-22HQL2Y4.js.map +1 -0
  23. package/dist/chunk-3ZBRNFEE.js +1525 -0
  24. package/dist/chunk-3ZBRNFEE.js.map +1 -0
  25. package/dist/chunk-4HRORR2Q.js +1953 -0
  26. package/dist/chunk-4HRORR2Q.js.map +1 -0
  27. package/dist/chunk-4L3UXVL5.cjs +68 -0
  28. package/dist/chunk-4L3UXVL5.cjs.map +1 -0
  29. package/dist/chunk-6BYWFGQY.cjs +226 -0
  30. package/dist/chunk-6BYWFGQY.cjs.map +1 -0
  31. package/dist/chunk-7SCIB5HP.js +57 -0
  32. package/dist/chunk-7SCIB5HP.js.map +1 -0
  33. package/dist/chunk-BBAUALNU.js +888 -0
  34. package/dist/chunk-BBAUALNU.js.map +1 -0
  35. package/dist/chunk-CHLDE4JQ.js +715 -0
  36. package/dist/chunk-CHLDE4JQ.js.map +1 -0
  37. package/dist/chunk-CXTAUXLG.cjs +71 -0
  38. package/dist/chunk-CXTAUXLG.cjs.map +1 -0
  39. package/dist/chunk-D2USIT6V.js +121 -0
  40. package/dist/chunk-D2USIT6V.js.map +1 -0
  41. package/dist/chunk-D3H5CGVD.js +36 -0
  42. package/dist/chunk-D3H5CGVD.js.map +1 -0
  43. package/dist/chunk-DQBX75NJ.js +92 -0
  44. package/dist/chunk-DQBX75NJ.js.map +1 -0
  45. package/dist/chunk-DRPG2DFX.js +208 -0
  46. package/dist/chunk-DRPG2DFX.js.map +1 -0
  47. package/dist/chunk-EFOOXCY7.cjs +41 -0
  48. package/dist/chunk-EFOOXCY7.cjs.map +1 -0
  49. package/dist/chunk-FFCZSYC7.cjs +906 -0
  50. package/dist/chunk-FFCZSYC7.cjs.map +1 -0
  51. package/dist/chunk-FNXIYAET.cjs +1593 -0
  52. package/dist/chunk-FNXIYAET.cjs.map +1 -0
  53. package/dist/chunk-I6GNUM3P.cjs +63 -0
  54. package/dist/chunk-I6GNUM3P.cjs.map +1 -0
  55. package/dist/chunk-IHAMVLRY.js +129 -0
  56. package/dist/chunk-IHAMVLRY.js.map +1 -0
  57. package/dist/chunk-IRBUKIRF.cjs +133 -0
  58. package/dist/chunk-IRBUKIRF.cjs.map +1 -0
  59. package/dist/chunk-KPG5HAHK.cjs +97 -0
  60. package/dist/chunk-KPG5HAHK.cjs.map +1 -0
  61. package/dist/chunk-N7Q2ESLG.cjs +130 -0
  62. package/dist/chunk-N7Q2ESLG.cjs.map +1 -0
  63. package/dist/chunk-PFBEIFVS.js +180 -0
  64. package/dist/chunk-PFBEIFVS.js.map +1 -0
  65. package/dist/chunk-PVZVFICK.cjs +318 -0
  66. package/dist/chunk-PVZVFICK.cjs.map +1 -0
  67. package/dist/chunk-Q3KH6HMU.js +305 -0
  68. package/dist/chunk-Q3KH6HMU.js.map +1 -0
  69. package/dist/chunk-QPAAV32J.cjs +1985 -0
  70. package/dist/chunk-QPAAV32J.cjs.map +1 -0
  71. package/dist/chunk-R6XQUMWT.cjs +61 -0
  72. package/dist/chunk-R6XQUMWT.cjs.map +1 -0
  73. package/dist/chunk-SA5UD5B6.js +92 -0
  74. package/dist/chunk-SA5UD5B6.js.map +1 -0
  75. package/dist/chunk-SM35JOYD.cjs +211 -0
  76. package/dist/chunk-SM35JOYD.cjs.map +1 -0
  77. package/dist/chunk-SZQNIMYI.cjs +592 -0
  78. package/dist/chunk-SZQNIMYI.cjs.map +1 -0
  79. package/dist/chunk-T6T7QE4J.js +224 -0
  80. package/dist/chunk-T6T7QE4J.js.map +1 -0
  81. package/dist/chunk-TIF372DZ.js +65 -0
  82. package/dist/chunk-TIF372DZ.js.map +1 -0
  83. package/dist/chunk-V6JCOBGY.js +69 -0
  84. package/dist/chunk-V6JCOBGY.js.map +1 -0
  85. package/dist/chunk-VHUXNDW2.cjs +189 -0
  86. package/dist/chunk-VHUXNDW2.cjs.map +1 -0
  87. package/dist/chunk-W3LNNY3U.cjs +729 -0
  88. package/dist/chunk-W3LNNY3U.cjs.map +1 -0
  89. package/dist/chunk-ZUWSU4OA.js +61 -0
  90. package/dist/chunk-ZUWSU4OA.js.map +1 -0
  91. package/dist/chunk-ZWUA2LPB.cjs +103 -0
  92. package/dist/chunk-ZWUA2LPB.cjs.map +1 -0
  93. package/dist/cli/index.cjs +566 -0
  94. package/dist/cli/index.cjs.map +1 -0
  95. package/dist/cli/index.d.cts +1 -0
  96. package/dist/cli/index.d.ts +1 -0
  97. package/dist/cli/index.js +558 -0
  98. package/dist/cli/index.js.map +1 -0
  99. package/dist/compiler/index.cjs +80 -0
  100. package/dist/compiler/index.cjs.map +1 -0
  101. package/dist/compiler/index.d.cts +130 -0
  102. package/dist/compiler/index.d.ts +130 -0
  103. package/dist/compiler/index.js +3 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/component-BVzvepw9.d.cts +90 -0
  106. package/dist/component-wTxZ2BPD.d.ts +90 -0
  107. package/dist/index-CpxDa60m.d.cts +644 -0
  108. package/dist/index-CpxDa60m.d.ts +644 -0
  109. package/dist/index.cjs +1356 -0
  110. package/dist/index.cjs.map +1 -0
  111. package/dist/index.d.cts +165 -0
  112. package/dist/index.d.ts +165 -0
  113. package/dist/index.js +772 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/lib/dom.cjs +102 -0
  116. package/dist/lib/dom.cjs.map +1 -0
  117. package/dist/lib/dom.d.cts +373 -0
  118. package/dist/lib/dom.d.ts +373 -0
  119. package/dist/lib/dom.js +3 -0
  120. package/dist/lib/dom.js.map +1 -0
  121. package/dist/lib/icons.cjs +20 -0
  122. package/dist/lib/icons.cjs.map +1 -0
  123. package/dist/lib/icons.d.cts +64 -0
  124. package/dist/lib/icons.d.ts +64 -0
  125. package/dist/lib/icons.js +3 -0
  126. package/dist/lib/icons.js.map +1 -0
  127. package/dist/lib/index.cjs +247 -0
  128. package/dist/lib/index.cjs.map +1 -0
  129. package/dist/lib/index.d.cts +30 -0
  130. package/dist/lib/index.d.ts +30 -0
  131. package/dist/lib/index.js +92 -0
  132. package/dist/lib/index.js.map +1 -0
  133. package/dist/lib/theme.cjs +56 -0
  134. package/dist/lib/theme.cjs.map +1 -0
  135. package/dist/lib/theme.d.cts +27 -0
  136. package/dist/lib/theme.d.ts +27 -0
  137. package/dist/lib/theme.js +3 -0
  138. package/dist/lib/theme.js.map +1 -0
  139. package/dist/router-B9kms5XQ.d.ts +124 -0
  140. package/dist/router-YnpW_sIK.d.cts +124 -0
  141. package/dist/runtime/adapters/angular.cjs +48 -0
  142. package/dist/runtime/adapters/angular.cjs.map +1 -0
  143. package/dist/runtime/adapters/angular.d.cts +38 -0
  144. package/dist/runtime/adapters/angular.d.ts +38 -0
  145. package/dist/runtime/adapters/angular.js +46 -0
  146. package/dist/runtime/adapters/angular.js.map +1 -0
  147. package/dist/runtime/adapters/react.cjs +41 -0
  148. package/dist/runtime/adapters/react.cjs.map +1 -0
  149. package/dist/runtime/adapters/react.d.cts +26 -0
  150. package/dist/runtime/adapters/react.d.ts +26 -0
  151. package/dist/runtime/adapters/react.js +39 -0
  152. package/dist/runtime/adapters/react.js.map +1 -0
  153. package/dist/runtime/adapters/vue.cjs +44 -0
  154. package/dist/runtime/adapters/vue.cjs.map +1 -0
  155. package/dist/runtime/adapters/vue.d.cts +37 -0
  156. package/dist/runtime/adapters/vue.d.ts +37 -0
  157. package/dist/runtime/adapters/vue.js +42 -0
  158. package/dist/runtime/adapters/vue.js.map +1 -0
  159. package/dist/runtime/components/ai-assistant.cjs +18 -0
  160. package/dist/runtime/components/ai-assistant.cjs.map +1 -0
  161. package/dist/runtime/components/ai-assistant.d.cts +8 -0
  162. package/dist/runtime/components/ai-assistant.d.ts +8 -0
  163. package/dist/runtime/components/ai-assistant.js +9 -0
  164. package/dist/runtime/components/ai-assistant.js.map +1 -0
  165. package/dist/runtime/components/ai-summary-card.cjs +18 -0
  166. package/dist/runtime/components/ai-summary-card.cjs.map +1 -0
  167. package/dist/runtime/components/ai-summary-card.d.cts +19 -0
  168. package/dist/runtime/components/ai-summary-card.d.ts +19 -0
  169. package/dist/runtime/components/ai-summary-card.js +9 -0
  170. package/dist/runtime/components/ai-summary-card.js.map +1 -0
  171. package/dist/runtime/router.cjs +429 -0
  172. package/dist/runtime/router.cjs.map +1 -0
  173. package/dist/runtime/router.d.cts +2 -0
  174. package/dist/runtime/router.d.ts +2 -0
  175. package/dist/runtime/router.js +421 -0
  176. package/dist/runtime/router.js.map +1 -0
  177. package/dist/runtime/server.cjs +125 -0
  178. package/dist/runtime/server.cjs.map +1 -0
  179. package/dist/runtime/server.d.cts +27 -0
  180. package/dist/runtime/server.d.ts +27 -0
  181. package/dist/runtime/server.js +117 -0
  182. package/dist/runtime/server.js.map +1 -0
  183. package/dist/runtime/workflow/index.cjs +282 -0
  184. package/dist/runtime/workflow/index.cjs.map +1 -0
  185. package/dist/runtime/workflow/index.d.cts +1 -0
  186. package/dist/runtime/workflow/index.d.ts +1 -0
  187. package/dist/runtime/workflow/index.js +5 -0
  188. package/dist/runtime/workflow/index.js.map +1 -0
  189. package/dist/tracing-DGdvMCEl.d.cts +109 -0
  190. package/dist/tracing-DGdvMCEl.d.ts +109 -0
  191. package/dist/types-C4RXXKfk.d.cts +76 -0
  192. package/dist/types-C4RXXKfk.d.ts +76 -0
  193. package/package.json +166 -0
@@ -0,0 +1,644 @@
1
+ type LogLevel = 'debug' | 'info' | 'warn' | 'error';
2
+ interface LogErrorPayload {
3
+ name?: string;
4
+ message: string;
5
+ stack?: string;
6
+ cause?: unknown;
7
+ }
8
+ interface LogContext extends Record<string, unknown> {
9
+ eventId?: string;
10
+ scope?: string;
11
+ workflowId?: string;
12
+ workflowVersion?: string;
13
+ runId?: string;
14
+ stepId?: string;
15
+ taskName?: string;
16
+ attempt?: number;
17
+ actorId?: string;
18
+ delayMs?: number;
19
+ }
20
+ interface LogEvent {
21
+ level: LogLevel;
22
+ message: string;
23
+ context?: LogContext;
24
+ error?: LogErrorPayload;
25
+ timestamp?: Date;
26
+ }
27
+ interface Logger {
28
+ log(event: LogEvent): void;
29
+ debug(message: string, context?: LogContext): void;
30
+ info(message: string, context?: LogContext): void;
31
+ warn(message: string, context?: LogContext): void;
32
+ error(message: string, context?: LogContext): void;
33
+ }
34
+ declare class ConsoleLogger implements Logger {
35
+ private readonly scope: string;
36
+ private readonly writer: Record<LogLevel, (message?: unknown, ...optionalParams: unknown[]) => void>;
37
+ constructor(scope?: string, writer?: Record<LogLevel, (message?: unknown, ...optionalParams: unknown[]) => void>);
38
+ log(event: LogEvent): void;
39
+ debug(message: string, context?: LogContext): void;
40
+ info(message: string, context?: LogContext): void;
41
+ warn(message: string, context?: LogContext): void;
42
+ error(message: string, context?: LogContext): void;
43
+ }
44
+
45
+ type WorkflowStatus = 'pending' | 'running' | 'waiting' | 'completed' | 'failed' | 'terminated';
46
+ interface ActorContext {
47
+ id: string;
48
+ roles?: string[];
49
+ scopes?: string[];
50
+ attributes?: Record<string, unknown>;
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ interface ApprovalGate {
54
+ id: string;
55
+ approvers?: string[];
56
+ requiredRoles?: string[];
57
+ strategy?: 'any' | 'all';
58
+ metadata?: Record<string, unknown>;
59
+ }
60
+ interface ApprovalDecision {
61
+ status: 'approved' | 'rejected' | 'pending';
62
+ decidedBy?: string;
63
+ decidedAt?: Date;
64
+ reason?: string;
65
+ }
66
+ interface ApprovalContext {
67
+ actor?: ActorContext;
68
+ instance: WorkflowInstanceState;
69
+ step: WorkflowStepDefinition;
70
+ }
71
+ interface ApprovalResolver {
72
+ resolve(gate: ApprovalGate, context: ApprovalContext): Promise<ApprovalDecision> | ApprovalDecision;
73
+ }
74
+ interface RetryPolicy {
75
+ maxAttempts?: number;
76
+ delayMs?: number;
77
+ maxDelayMs?: number;
78
+ backoff?: 'fixed' | 'exponential' | 'jitter';
79
+ }
80
+ interface WorkflowTransitions {
81
+ success?: string;
82
+ failure?: string;
83
+ }
84
+ interface TaskInvocation {
85
+ handler: string;
86
+ input?: Record<string, unknown>;
87
+ }
88
+ interface WorkflowStepDefinition {
89
+ id: string;
90
+ task: TaskInvocation;
91
+ transitions?: WorkflowTransitions;
92
+ retry?: RetryPolicy;
93
+ approvals?: ApprovalGate[];
94
+ metadata?: Record<string, unknown>;
95
+ }
96
+ interface WorkflowDefinition {
97
+ name: string;
98
+ version: string;
99
+ entry: string;
100
+ steps: Record<string, WorkflowStepDefinition>;
101
+ metadata?: Record<string, unknown>;
102
+ }
103
+ type WorkflowState = Record<string, unknown>;
104
+ interface WorkflowHistoryEntry {
105
+ stepId: string;
106
+ status: 'success' | 'failure';
107
+ attempt: number;
108
+ timestamp: Date;
109
+ notes?: string;
110
+ }
111
+ interface WorkflowInstanceState {
112
+ id: string;
113
+ workflowId: string;
114
+ version: string;
115
+ status: WorkflowStatus;
116
+ currentStep?: string;
117
+ state: WorkflowState;
118
+ actor?: ActorContext;
119
+ metadata?: Record<string, unknown>;
120
+ history: WorkflowHistoryEntry[];
121
+ createdAt: Date;
122
+ updatedAt: Date;
123
+ }
124
+ interface WorkflowTaskContext {
125
+ runId: string;
126
+ instanceId: string;
127
+ definition: WorkflowDefinition;
128
+ step: WorkflowStepDefinition;
129
+ input?: Record<string, unknown>;
130
+ state: WorkflowState;
131
+ actor?: ActorContext;
132
+ services: WorkflowServices;
133
+ logger?: WorkflowLogger;
134
+ trace?: WorkflowTraceSink;
135
+ }
136
+ interface WorkflowTaskResult {
137
+ status: 'success' | 'failure';
138
+ data?: Record<string, unknown>;
139
+ transition?: string;
140
+ error?: unknown;
141
+ }
142
+ type WorkflowTaskHandler = (context: WorkflowTaskContext) => Promise<WorkflowTaskResult> | WorkflowTaskResult;
143
+ interface WorkflowStore {
144
+ save(instance: WorkflowInstanceState): Promise<void>;
145
+ load?(id: string): Promise<WorkflowInstanceState | null>;
146
+ }
147
+ interface WorkflowRunRequest {
148
+ instanceId?: string;
149
+ actor?: ActorContext;
150
+ state?: WorkflowState;
151
+ metadata?: Record<string, unknown>;
152
+ }
153
+ interface WorkflowRunResult {
154
+ instance: WorkflowInstanceState;
155
+ status: WorkflowStatus;
156
+ output?: Record<string, unknown>;
157
+ }
158
+ interface WorkflowRuntimeOptions {
159
+ store: WorkflowStore;
160
+ tasks?: Record<string, WorkflowTaskHandler>;
161
+ services?: Partial<WorkflowServices>;
162
+ approvalResolver?: ApprovalResolver;
163
+ logger?: WorkflowLogger;
164
+ idGenerator?: () => string;
165
+ traceSink?: WorkflowTraceSink;
166
+ }
167
+ interface WorkflowServices {
168
+ http?: HttpTaskExecutor;
169
+ databases?: DatabaseRegistry;
170
+ background?: BackgroundRunner;
171
+ time?: TimeService;
172
+ scheduler?: WorkflowScheduler;
173
+ trace?: WorkflowTraceSink;
174
+ }
175
+ type WorkflowLogger = Logger;
176
+ type WorkflowTraceEventType = 'workflow.run.started' | 'workflow.run.waiting' | 'workflow.run.completed' | 'workflow.run.failed' | 'workflow.step.started' | 'workflow.step.completed' | 'workflow.step.failed' | 'workflow.step.retry' | 'workflow.approval.requested' | 'workflow.approval.resolved' | 'workflow.scheduler.dispatched';
177
+ interface WorkflowTraceEvent {
178
+ type: WorkflowTraceEventType;
179
+ timestamp: Date;
180
+ workflowId: string;
181
+ workflowVersion: string;
182
+ instanceId: string;
183
+ stepId?: string;
184
+ runId?: string;
185
+ attempt?: number;
186
+ gateId?: string;
187
+ approvalStatus?: ApprovalDecision['status'];
188
+ durationMs?: number;
189
+ delayMs?: number;
190
+ actorId?: string;
191
+ attributes?: Record<string, unknown>;
192
+ }
193
+ interface WorkflowTraceSink {
194
+ record(event: WorkflowTraceEvent): void | Promise<void>;
195
+ }
196
+ interface HttpTaskRequest {
197
+ url: string;
198
+ method?: string;
199
+ headers?: Record<string, string>;
200
+ query?: Record<string, string | number | boolean>;
201
+ body?: unknown;
202
+ timeoutMs?: number;
203
+ }
204
+ interface HttpTaskResponse {
205
+ status: number;
206
+ headers: Record<string, string>;
207
+ body?: unknown;
208
+ }
209
+ type HttpTaskExecutor = (request: HttpTaskRequest, context: WorkflowTaskContext) => Promise<HttpTaskResponse>;
210
+ type DatabaseOperationType = 'query' | 'command' | 'transaction';
211
+ interface DatabaseOperation {
212
+ type: DatabaseOperationType;
213
+ text?: string;
214
+ parameters?: unknown[];
215
+ collection?: string;
216
+ filter?: Record<string, unknown>;
217
+ payload?: Record<string, unknown>;
218
+ }
219
+ interface DatabaseProviderContext {
220
+ actor?: ActorContext;
221
+ metadata?: Record<string, unknown>;
222
+ }
223
+ interface DatabaseProvider {
224
+ name: string;
225
+ execute<T = unknown>(operation: DatabaseOperation, context?: DatabaseProviderContext): Promise<T>;
226
+ }
227
+ interface DatabaseRegistry {
228
+ register(provider: DatabaseProvider): void;
229
+ get(name: string): DatabaseProvider | undefined;
230
+ list(): string[];
231
+ }
232
+ interface BackgroundRunner {
233
+ dispatch(taskName: string, payload?: Record<string, unknown>): Promise<void>;
234
+ }
235
+ interface TimeService {
236
+ wait(ms: number): Promise<void>;
237
+ now(): Date;
238
+ }
239
+ interface ScheduleRequest {
240
+ taskName: string;
241
+ payload?: Record<string, unknown>;
242
+ runAt?: Date;
243
+ delayMs?: number;
244
+ description?: string;
245
+ }
246
+ interface WorkflowScheduler {
247
+ schedule(request: ScheduleRequest, context: WorkflowTaskContext): Promise<void>;
248
+ }
249
+ type WorkflowJSONDefinition = WorkflowDefinition;
250
+ interface WorkflowDefinitionSerializer {
251
+ serialize(definition: WorkflowDefinition): WorkflowJSONDefinition;
252
+ deserialize(json: WorkflowJSONDefinition): WorkflowDefinition;
253
+ }
254
+ interface PolicyEvaluationRequest {
255
+ actor?: ActorContext;
256
+ instance: WorkflowInstanceState;
257
+ step?: WorkflowStepDefinition;
258
+ action: 'start' | 'step' | 'approve';
259
+ metadata?: Record<string, unknown>;
260
+ }
261
+ interface PolicyDecision {
262
+ allow: boolean;
263
+ reason?: string;
264
+ obligations?: Record<string, unknown>;
265
+ }
266
+ interface WorkflowPolicyEngine {
267
+ evaluate(request: PolicyEvaluationRequest): Promise<PolicyDecision> | PolicyDecision;
268
+ }
269
+ interface QueueMessage {
270
+ id?: string;
271
+ name: string;
272
+ payload?: Record<string, unknown>;
273
+ runAt?: Date;
274
+ }
275
+ interface QueueMetricsEmitter {
276
+ record(event: 'enqueued' | 'dispatched' | 'failed', metadata?: Record<string, unknown>): void;
277
+ }
278
+ interface QueueDriver {
279
+ enqueue(message: QueueMessage): Promise<void>;
280
+ schedule?(message: QueueMessage): Promise<void>;
281
+ }
282
+ type TokenClaims = Record<string, unknown>;
283
+ type ActorMapper = (claims: TokenClaims) => ActorContext;
284
+ type WorkflowAuthMiddleware = (request: PolicyEvaluationRequest) => Promise<void> | void;
285
+
286
+ declare class WorkflowRuntime {
287
+ private readonly options;
288
+ private readonly tasks;
289
+ private readonly services;
290
+ private readonly approvalResolver;
291
+ private readonly logger;
292
+ private readonly idGenerator;
293
+ constructor(options: WorkflowRuntimeOptions);
294
+ registerTask(name: string, handler: WorkflowTaskHandler): void;
295
+ hasTask(name: string): boolean;
296
+ listTasks(): string[];
297
+ run(definition: WorkflowDefinition, request?: WorkflowRunRequest): Promise<WorkflowRunResult>;
298
+ private executeStep;
299
+ private normalizeRetry;
300
+ private resolveTask;
301
+ private buildHistoryEntry;
302
+ private ensureApprovals;
303
+ private waitForRetry;
304
+ private persist;
305
+ }
306
+
307
+ declare function createWorkflow(name: string, configure: (builder: WorkflowBuilder) => void, options?: {
308
+ version?: string;
309
+ entry?: string;
310
+ metadata?: Record<string, unknown>;
311
+ }): WorkflowDefinition;
312
+ declare class WorkflowBuilder {
313
+ private readonly workflowName;
314
+ private versionValue;
315
+ private readonly steps;
316
+ private entryStep?;
317
+ private metadataValue?;
318
+ constructor(workflowName: string, versionValue: string);
319
+ version(value: string): this;
320
+ entry(stepId: string): this;
321
+ metadata(data: Record<string, unknown>): this;
322
+ step(id: string, task: TaskInvocation, configure?: (step: WorkflowStepBuilder) => void): this;
323
+ build(): WorkflowDefinition;
324
+ }
325
+ declare class WorkflowStepBuilder {
326
+ private readonly parent;
327
+ private readonly definition;
328
+ constructor(parent: WorkflowBuilder, definition: WorkflowStepDefinition);
329
+ onSuccess(stepId: string): this;
330
+ onFailure(stepId: string): this;
331
+ withRetry(policy: RetryPolicy): this;
332
+ withApproval(gate: ApprovalGate): this;
333
+ metadata(data: Record<string, unknown>): this;
334
+ end(): WorkflowBuilder;
335
+ }
336
+ declare function task(handler: string, input?: Record<string, unknown>): TaskInvocation;
337
+ declare function workflowFromJson(json: WorkflowJSONDefinition): WorkflowDefinition;
338
+
339
+ declare const HTTP_TASK = "workflow.http.request";
340
+ declare const DATABASE_TASK = "workflow.database.execute";
341
+ declare const DELAY_TASK = "workflow.time.delay";
342
+ declare const SCHEDULE_TASK = "workflow.background.schedule";
343
+ interface HttpTaskInput extends HttpTaskRequest, Record<string, unknown> {
344
+ assignResponseTo?: string;
345
+ parse?: 'json' | 'text' | 'auto';
346
+ }
347
+ interface DatabaseTaskInput extends Record<string, unknown> {
348
+ provider: string;
349
+ operation: DatabaseOperation;
350
+ assignResultTo?: string;
351
+ }
352
+ interface DelayTaskInput extends Record<string, unknown> {
353
+ milliseconds?: number;
354
+ seconds?: number;
355
+ }
356
+ interface ScheduleTaskInput extends Record<string, unknown> {
357
+ taskName: string;
358
+ payload?: Record<string, unknown>;
359
+ runAt?: string | Date;
360
+ delayMs?: number;
361
+ description?: string;
362
+ }
363
+ declare function httpTask(options: HttpTaskInput): TaskInvocation;
364
+ declare function databaseTask(options: DatabaseTaskInput): TaskInvocation;
365
+ declare function delayTask(options: DelayTaskInput): TaskInvocation;
366
+ declare function scheduleTask(options: ScheduleTaskInput): TaskInvocation;
367
+ declare function createDefaultTaskMap(executor?: HttpTaskExecutor): Record<string, WorkflowTaskHandler>;
368
+ declare function createHttpTaskHandler(fallback?: HttpTaskExecutor): WorkflowTaskHandler;
369
+ declare function createDatabaseTaskHandler(): WorkflowTaskHandler;
370
+ declare function createDelayTaskHandler(): WorkflowTaskHandler;
371
+ declare function createScheduleTaskHandler(): WorkflowTaskHandler;
372
+ type FetchLike = (url: string, init?: FetchInit) => Promise<FetchResponse>;
373
+ interface FetchInit {
374
+ method?: string;
375
+ headers?: Record<string, string>;
376
+ body?: string;
377
+ }
378
+ interface FetchResponse {
379
+ status: number;
380
+ headers?: {
381
+ forEach(callback: (value: string, key: string) => void): void;
382
+ };
383
+ text(): Promise<string>;
384
+ json(): Promise<unknown>;
385
+ }
386
+ declare function createFetchHttpExecutor(fetchImpl?: FetchLike): HttpTaskExecutor;
387
+ declare class FunctionalDatabaseProvider implements DatabaseProvider {
388
+ readonly name: string;
389
+ private readonly executor;
390
+ constructor(name: string, executor: (operation: DatabaseOperation, context?: DatabaseProviderContext) => Promise<unknown>);
391
+ execute<T = unknown>(operation: DatabaseOperation, context?: DatabaseProviderContext): Promise<T>;
392
+ }
393
+ declare function createSqlDatabaseProvider(options: {
394
+ name: string;
395
+ query: (sql: string, parameters?: unknown[]) => Promise<unknown>;
396
+ }): DatabaseProvider;
397
+ declare function createMySqlProvider(client: {
398
+ query: (sql: string, values?: unknown[]) => Promise<unknown>;
399
+ }, name?: string): DatabaseProvider;
400
+ declare function createPostgresProvider(client: {
401
+ query: (sql: string, values?: unknown[]) => Promise<unknown>;
402
+ }, name?: string): DatabaseProvider;
403
+ declare function createSqliteProvider(client: {
404
+ run: (sql: string, values?: unknown[]) => Promise<unknown>;
405
+ }, name?: string): DatabaseProvider;
406
+ declare function createMongoProvider(options: {
407
+ name?: string;
408
+ run: (operation: DatabaseOperation) => Promise<unknown>;
409
+ }): DatabaseProvider;
410
+ declare function registerDefaultDatabaseProviders(registry: DatabaseRegistry, providers: DatabaseProvider[]): void;
411
+
412
+ declare class SystemTimeService implements TimeService {
413
+ wait(ms: number): Promise<void>;
414
+ now(): Date;
415
+ }
416
+ declare class DefaultBackgroundRunner implements BackgroundRunner {
417
+ private readonly logger;
418
+ constructor(logger?: WorkflowLogger);
419
+ dispatch(taskName: string, payload?: Record<string, unknown>): Promise<void>;
420
+ }
421
+ declare class InMemoryWorkflowStore implements WorkflowStore {
422
+ private readonly instances;
423
+ save(instance: WorkflowInstanceState): Promise<void>;
424
+ load(id: string): Promise<WorkflowInstanceState | null>;
425
+ }
426
+ declare class InMemorySchedulerService implements WorkflowScheduler {
427
+ private readonly background;
428
+ private readonly time;
429
+ private readonly logger;
430
+ private readonly trace?;
431
+ constructor(background?: BackgroundRunner, time?: TimeService, logger?: WorkflowLogger, trace?: WorkflowTraceSink);
432
+ schedule(request: ScheduleRequest, context: WorkflowTaskContext): Promise<void>;
433
+ }
434
+ declare class InMemoryDatabaseRegistry implements DatabaseRegistry {
435
+ private readonly providers;
436
+ register(provider: DatabaseProvider): void;
437
+ get(name: string): DatabaseProvider | undefined;
438
+ list(): string[];
439
+ }
440
+ declare class DefaultApprovalResolver implements ApprovalResolver {
441
+ resolve(gate: ApprovalGate, context: ApprovalContext): Promise<ApprovalDecision>;
442
+ }
443
+ declare class ConsoleWorkflowLogger extends ConsoleLogger implements WorkflowLogger {
444
+ constructor();
445
+ }
446
+
447
+ type SqlDialect = 'postgres' | 'mysql' | 'sqlite';
448
+ interface DatabaseWorkflowStoreOptions {
449
+ provider: DatabaseProvider;
450
+ table?: string;
451
+ dialect?: SqlDialect;
452
+ }
453
+ declare class DatabaseWorkflowStore implements WorkflowStore {
454
+ private readonly options;
455
+ private readonly table;
456
+ private readonly dialect;
457
+ constructor(options: DatabaseWorkflowStoreOptions);
458
+ save(instance: WorkflowInstanceState): Promise<void>;
459
+ load(id: string): Promise<WorkflowInstanceState | null>;
460
+ }
461
+
462
+ interface MongoCollectionLike<T> {
463
+ updateOne(filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<unknown>;
464
+ findOne(filter: Record<string, unknown>): Promise<T | null>;
465
+ createIndex?(keys: Record<string, 1 | -1>, options?: Record<string, unknown>): Promise<string>;
466
+ }
467
+ interface MongoWorkflowStoreOptions {
468
+ collection: MongoCollectionLike<WorkflowDocument>;
469
+ createIndexes?: boolean;
470
+ }
471
+ interface WorkflowDocument {
472
+ _id: string;
473
+ workflowId: string;
474
+ version: string;
475
+ status: WorkflowStatus;
476
+ currentStep?: string;
477
+ state: WorkflowState;
478
+ actor?: ActorContext;
479
+ metadata?: Record<string, unknown>;
480
+ history: WorkflowDocumentHistoryEntry[];
481
+ createdAt: string;
482
+ updatedAt: string;
483
+ }
484
+ type WorkflowDocumentHistoryEntry = Omit<WorkflowHistoryEntry, 'timestamp'> & {
485
+ timestamp: string;
486
+ };
487
+ declare class MongoWorkflowStore implements WorkflowStore {
488
+ private readonly options;
489
+ constructor(options: MongoWorkflowStoreOptions);
490
+ save(instance: WorkflowInstanceState): Promise<void>;
491
+ load(id: string): Promise<WorkflowInstanceState | null>;
492
+ private ensureIndexes;
493
+ }
494
+
495
+ interface VisualWorkflowSchema {
496
+ id: string;
497
+ name: string;
498
+ version: string;
499
+ entry: string;
500
+ metadata?: Record<string, unknown>;
501
+ nodes: VisualWorkflowNode[];
502
+ edges: VisualWorkflowEdge[];
503
+ }
504
+ interface VisualWorkflowNode {
505
+ id: string;
506
+ label: string;
507
+ task: TaskInvocation;
508
+ position?: {
509
+ x: number;
510
+ y: number;
511
+ };
512
+ size?: {
513
+ width: number;
514
+ height: number;
515
+ };
516
+ data?: Record<string, unknown>;
517
+ approvals?: WorkflowStepDefinition['approvals'];
518
+ retry?: WorkflowStepDefinition['retry'];
519
+ metadata?: Record<string, unknown>;
520
+ }
521
+ interface VisualWorkflowEdge {
522
+ id: string;
523
+ source: string;
524
+ target: string;
525
+ when?: 'success' | 'failure';
526
+ label?: string;
527
+ metadata?: Record<string, unknown>;
528
+ }
529
+ declare function workflowToVisualSchema(definition: WorkflowDefinition): VisualWorkflowSchema;
530
+ declare function visualSchemaToWorkflow(schema: VisualWorkflowSchema): WorkflowDefinition;
531
+
532
+ interface PrismaClientLike {
533
+ $queryRawUnsafe<T = unknown>(query: string, ...params: unknown[]): Promise<T>;
534
+ $executeRawUnsafe?(query: string, ...params: unknown[]): Promise<unknown>;
535
+ }
536
+ declare function createPrismaProvider(options: {
537
+ name?: string;
538
+ client: PrismaClientLike;
539
+ }): DatabaseProvider;
540
+ interface DrizzleClientLike {
541
+ execute<T = unknown>(query: string, params?: unknown[]): Promise<T>;
542
+ }
543
+ declare function createDrizzleProvider(options: {
544
+ name?: string;
545
+ client: DrizzleClientLike;
546
+ }): DatabaseProvider;
547
+ interface SupabaseClientLike {
548
+ from(table: string): {
549
+ select(columns?: string): SupabaseQueryLike;
550
+ insert(payload: unknown): SupabaseQueryLike;
551
+ update(payload: unknown): SupabaseQueryLike;
552
+ delete(): SupabaseQueryLike;
553
+ };
554
+ rpc?(fn: string, params?: Record<string, unknown>): Promise<unknown>;
555
+ }
556
+ interface SupabaseQueryLike {
557
+ eq?(column: string, value: unknown): SupabaseQueryLike;
558
+ match?(criteria: Record<string, unknown>): SupabaseQueryLike;
559
+ limit?(value: number): SupabaseQueryLike;
560
+ single?(): SupabaseQueryLike;
561
+ select?(columns?: string): SupabaseQueryLike;
562
+ order?(column: string, options?: Record<string, unknown>): SupabaseQueryLike;
563
+ then<TResult1 = unknown, TResult2 = never>(onfulfilled?: ((value: unknown) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
564
+ }
565
+ declare function createSupabaseProvider(options: {
566
+ name?: string;
567
+ client: SupabaseClientLike;
568
+ }): DatabaseProvider;
569
+ interface RestDatabaseAdapterOptions {
570
+ name?: string;
571
+ endpoint: string;
572
+ fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
573
+ headers?: Record<string, string>;
574
+ }
575
+ declare function createRestDatabaseProvider(options: RestDatabaseAdapterOptions): DatabaseProvider;
576
+
577
+ interface QueueBackgroundRunnerOptions {
578
+ driver: QueueDriver;
579
+ metrics?: QueueMetricsEmitter;
580
+ }
581
+ declare class QueueBackgroundRunner implements BackgroundRunner, WorkflowScheduler {
582
+ private readonly options;
583
+ constructor(options: QueueBackgroundRunnerOptions);
584
+ dispatch(taskName: string, payload?: Record<string, unknown>): Promise<void>;
585
+ schedule(request: ScheduleRequest, context: WorkflowTaskContext): Promise<void>;
586
+ }
587
+ interface BullMqDriver {
588
+ add(name: string, payload?: Record<string, unknown>, options?: Record<string, unknown>): Promise<unknown>;
589
+ }
590
+ declare function createBullMqDriver(queue: BullMqDriver): QueueDriver;
591
+ interface SqsClientLike {
592
+ sendMessage(params: Record<string, unknown>): Promise<unknown>;
593
+ }
594
+ declare function createSqsDriver(client: SqsClientLike, queueUrl: string): QueueDriver;
595
+ interface AzureQueueClientLike {
596
+ sendMessage(message: string, options?: Record<string, unknown>): Promise<unknown>;
597
+ }
598
+ declare function createAzureQueueDriver(client: AzureQueueClientLike): QueueDriver;
599
+ declare class MetricsConsoleEmitter implements QueueMetricsEmitter {
600
+ record(event: 'enqueued' | 'dispatched' | 'failed', metadata?: Record<string, unknown>): void;
601
+ }
602
+
603
+ declare class PolicyApprovalResolver implements ApprovalResolver {
604
+ private readonly engine;
605
+ private readonly fallback?;
606
+ constructor(engine: WorkflowPolicyEngine, fallback?: ApprovalResolver | undefined);
607
+ resolve(gate: ApprovalGate, context: ApprovalContext): Promise<ApprovalDecision>;
608
+ }
609
+ interface SimplePolicyRule {
610
+ match: (request: PolicyEvaluationRequest) => boolean;
611
+ decision: (request: PolicyEvaluationRequest) => PolicyDecision;
612
+ }
613
+ declare class RuleBasedPolicyEngine implements WorkflowPolicyEngine {
614
+ private readonly rules;
615
+ private readonly defaultDecision;
616
+ constructor(rules: SimplePolicyRule[], defaultDecision?: PolicyDecision);
617
+ evaluate(request: PolicyEvaluationRequest): PolicyDecision;
618
+ }
619
+ declare function actorFromOidcClaims(claims: Record<string, unknown>, mapping?: ActorClaimMapping): ActorContext;
620
+ declare function actorFromCognitoClaims(claims: Record<string, unknown>): ActorContext;
621
+ declare function actorFromAzureAdClaims(claims: Record<string, unknown>): ActorContext;
622
+ declare function actorFromAuth0Claims(claims: Record<string, unknown>): ActorContext;
623
+ interface ActorClaimMapping {
624
+ provider?: string;
625
+ idClaim?: string;
626
+ rolesClaim?: string;
627
+ scopesClaim?: string;
628
+ attributeClaims?: string[];
629
+ includeRaw?: boolean;
630
+ }
631
+ declare function requireActorRoles(roles: string[]): WorkflowAuthMiddleware;
632
+ declare function requireActorScopes(scopes: string[]): WorkflowAuthMiddleware;
633
+ declare function runAuthMiddleware(middleware: WorkflowAuthMiddleware[], request: PolicyEvaluationRequest): Promise<void>;
634
+ declare function createStartWorkflowMiddleware(sequence: WorkflowAuthMiddleware[]): WorkflowAuthMiddleware;
635
+ declare function createStepMiddleware(sequence: WorkflowAuthMiddleware[]): WorkflowAuthMiddleware;
636
+ declare function multiStepApprovalResolver(resolvers: ApprovalResolver[]): ApprovalResolver;
637
+ declare class ManualOverrideApprovalResolver implements ApprovalResolver {
638
+ private readonly overrides;
639
+ constructor(overrides: Map<string, ApprovalDecision>);
640
+ resolve(gate: ApprovalGate, context: ApprovalContext): ApprovalDecision;
641
+ }
642
+ declare function buildPolicyRequest(instance: WorkflowInstanceState, step: WorkflowStepDefinition, actor?: ActorContext): PolicyEvaluationRequest;
643
+
644
+ export { type QueueBackgroundRunnerOptions as $, type ActorClaimMapping as A, type BackgroundRunner as B, ConsoleLogger as C, DATABASE_TASK as D, type HttpTaskRequest as E, FunctionalDatabaseProvider as F, type HttpTaskResponse as G, HTTP_TASK as H, InMemoryDatabaseRegistry as I, InMemorySchedulerService as J, InMemoryWorkflowStore as K, type LogContext as L, type LogErrorPayload as M, type LogEvent as N, type LogLevel as O, type Logger as P, ManualOverrideApprovalResolver as Q, MetricsConsoleEmitter as R, type MongoCollectionLike as S, MongoWorkflowStore as T, type MongoWorkflowStoreOptions as U, PolicyApprovalResolver as V, type WorkflowTraceSink as W, type PolicyDecision as X, type PolicyEvaluationRequest as Y, type PrismaClientLike as Z, QueueBackgroundRunner as _, type WorkflowLogger as a, createScheduleTaskHandler as a$, type QueueDriver as a0, type QueueMessage as a1, type QueueMetricsEmitter as a2, type RestDatabaseAdapterOptions as a3, type RetryPolicy as a4, RuleBasedPolicyEngine as a5, SCHEDULE_TASK as a6, type ScheduleRequest as a7, type ScheduleTaskInput as a8, type SimplePolicyRule as a9, type WorkflowStatus as aA, WorkflowStepBuilder as aB, type WorkflowStepDefinition as aC, type WorkflowStore as aD, type WorkflowTaskContext as aE, type WorkflowTaskHandler as aF, type WorkflowTaskResult as aG, type WorkflowTraceEventType as aH, type WorkflowTransitions as aI, actorFromAuth0Claims as aJ, actorFromAzureAdClaims as aK, actorFromCognitoClaims as aL, actorFromOidcClaims as aM, buildPolicyRequest as aN, createAzureQueueDriver as aO, createBullMqDriver as aP, createDatabaseTaskHandler as aQ, createDefaultTaskMap as aR, createDelayTaskHandler as aS, createDrizzleProvider as aT, createFetchHttpExecutor as aU, createHttpTaskHandler as aV, createMongoProvider as aW, createMySqlProvider as aX, createPostgresProvider as aY, createPrismaProvider as aZ, createRestDatabaseProvider as a_, type SqlDialect as aa, type SqsClientLike as ab, type SupabaseClientLike as ac, type SupabaseQueryLike as ad, SystemTimeService as ae, type TaskInvocation as af, type TimeService as ag, type TokenClaims as ah, type VisualWorkflowEdge as ai, type VisualWorkflowNode as aj, type VisualWorkflowSchema as ak, type WorkflowAuthMiddleware as al, WorkflowBuilder as am, type WorkflowDefinition as an, type WorkflowDefinitionSerializer as ao, type WorkflowHistoryEntry as ap, type WorkflowInstanceState as aq, type WorkflowJSONDefinition as ar, type WorkflowPolicyEngine as as, type WorkflowRunRequest as at, type WorkflowRunResult as au, WorkflowRuntime as av, type WorkflowRuntimeOptions as aw, type WorkflowScheduler as ax, type WorkflowServices as ay, type WorkflowState as az, type WorkflowTraceEvent as b, createSqlDatabaseProvider as b0, createSqliteProvider as b1, createSqsDriver as b2, createStartWorkflowMiddleware as b3, createStepMiddleware as b4, createSupabaseProvider as b5, createWorkflow as b6, databaseTask as b7, delayTask as b8, httpTask as b9, multiStepApprovalResolver as ba, registerDefaultDatabaseProviders as bb, requireActorRoles as bc, requireActorScopes as bd, runAuthMiddleware as be, scheduleTask as bf, task as bg, visualSchemaToWorkflow as bh, workflowFromJson as bi, workflowToVisualSchema as bj, type ActorContext as c, type ActorMapper as d, type ApprovalContext as e, type ApprovalDecision as f, type ApprovalGate as g, type ApprovalResolver as h, type AzureQueueClientLike as i, type BullMqDriver as j, ConsoleWorkflowLogger as k, DELAY_TASK as l, type DatabaseOperation as m, type DatabaseOperationType as n, type DatabaseProvider as o, type DatabaseProviderContext as p, type DatabaseRegistry as q, type DatabaseTaskInput as r, DatabaseWorkflowStore as s, type DatabaseWorkflowStoreOptions as t, DefaultApprovalResolver as u, DefaultBackgroundRunner as v, type DelayTaskInput as w, type DrizzleClientLike as x, type HttpTaskExecutor as y, type HttpTaskInput as z };