ai-workflows 2.1.3 → 2.3.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 (188) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -1
  3. package/README.md +2 -0
  4. package/dist/barrier.d.ts +6 -0
  5. package/dist/barrier.d.ts.map +1 -1
  6. package/dist/barrier.js +45 -7
  7. package/dist/barrier.js.map +1 -1
  8. package/dist/cascade-context.d.ts.map +1 -1
  9. package/dist/cascade-context.js +25 -25
  10. package/dist/cascade-context.js.map +1 -1
  11. package/dist/cascade-executor.d.ts.map +1 -1
  12. package/dist/cascade-executor.js +1 -1
  13. package/dist/cascade-executor.js.map +1 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +23 -7
  16. package/dist/context.js.map +1 -1
  17. package/dist/cron-parser.d.ts +65 -0
  18. package/dist/cron-parser.d.ts.map +1 -0
  19. package/dist/cron-parser.js +294 -0
  20. package/dist/cron-parser.js.map +1 -0
  21. package/dist/cron-scheduler.d.ts +117 -0
  22. package/dist/cron-scheduler.d.ts.map +1 -0
  23. package/dist/cron-scheduler.js +176 -0
  24. package/dist/cron-scheduler.js.map +1 -0
  25. package/dist/database-context.d.ts +184 -0
  26. package/dist/database-context.d.ts.map +1 -0
  27. package/dist/database-context.js +428 -0
  28. package/dist/database-context.js.map +1 -0
  29. package/dist/digital-objects-adapter.d.ts +159 -0
  30. package/dist/digital-objects-adapter.d.ts.map +1 -0
  31. package/dist/digital-objects-adapter.js +229 -0
  32. package/dist/digital-objects-adapter.js.map +1 -0
  33. package/dist/durable-execution-cloudflare.d.ts +427 -0
  34. package/dist/durable-execution-cloudflare.d.ts.map +1 -0
  35. package/dist/durable-execution-cloudflare.js +510 -0
  36. package/dist/durable-execution-cloudflare.js.map +1 -0
  37. package/dist/durable-execution.d.ts +482 -0
  38. package/dist/durable-execution.d.ts.map +1 -0
  39. package/dist/durable-execution.js +594 -0
  40. package/dist/durable-execution.js.map +1 -0
  41. package/dist/durable-workflow.d.ts +176 -0
  42. package/dist/durable-workflow.d.ts.map +1 -0
  43. package/dist/durable-workflow.js +552 -0
  44. package/dist/durable-workflow.js.map +1 -0
  45. package/dist/graph/topological-sort.d.ts.map +1 -1
  46. package/dist/graph/topological-sort.js +5 -5
  47. package/dist/graph/topological-sort.js.map +1 -1
  48. package/dist/index.d.ts +4 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +15 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/logger.d.ts +101 -0
  53. package/dist/logger.d.ts.map +1 -0
  54. package/dist/logger.js +115 -0
  55. package/dist/logger.js.map +1 -0
  56. package/dist/on.d.ts.map +1 -1
  57. package/dist/on.js +3 -3
  58. package/dist/on.js.map +1 -1
  59. package/dist/runtime.d.ts +169 -0
  60. package/dist/runtime.d.ts.map +1 -0
  61. package/dist/runtime.js +275 -0
  62. package/dist/runtime.js.map +1 -0
  63. package/dist/send.d.ts.map +1 -1
  64. package/dist/send.js +4 -3
  65. package/dist/send.js.map +1 -1
  66. package/dist/telemetry.d.ts +150 -0
  67. package/dist/telemetry.d.ts.map +1 -0
  68. package/dist/telemetry.js +388 -0
  69. package/dist/telemetry.js.map +1 -0
  70. package/dist/timer-registry.d.ts +25 -0
  71. package/dist/timer-registry.d.ts.map +1 -1
  72. package/dist/timer-registry.js +42 -8
  73. package/dist/timer-registry.js.map +1 -1
  74. package/dist/types.d.ts +17 -6
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/types.js +1 -1
  77. package/dist/types.js.map +1 -1
  78. package/dist/worker/durable-step.d.ts +481 -0
  79. package/dist/worker/durable-step.d.ts.map +1 -0
  80. package/dist/worker/durable-step.js +606 -0
  81. package/dist/worker/durable-step.js.map +1 -0
  82. package/dist/worker/index.d.ts +106 -0
  83. package/dist/worker/index.d.ts.map +1 -0
  84. package/dist/worker/index.js +124 -0
  85. package/dist/worker/index.js.map +1 -0
  86. package/dist/worker/state-adapter.d.ts +230 -0
  87. package/dist/worker/state-adapter.d.ts.map +1 -0
  88. package/dist/worker/state-adapter.js +409 -0
  89. package/dist/worker/state-adapter.js.map +1 -0
  90. package/dist/worker/topological-executor.d.ts +282 -0
  91. package/dist/worker/topological-executor.d.ts.map +1 -0
  92. package/dist/worker/topological-executor.js +396 -0
  93. package/dist/worker/topological-executor.js.map +1 -0
  94. package/dist/worker/workflow-builder.d.ts +286 -0
  95. package/dist/worker/workflow-builder.d.ts.map +1 -0
  96. package/dist/worker/workflow-builder.js +565 -0
  97. package/dist/worker/workflow-builder.js.map +1 -0
  98. package/dist/worker.d.ts +800 -0
  99. package/dist/worker.d.ts.map +1 -0
  100. package/dist/worker.js +2428 -0
  101. package/dist/worker.js.map +1 -0
  102. package/dist/workflow-builder.d.ts +287 -0
  103. package/dist/workflow-builder.d.ts.map +1 -0
  104. package/dist/workflow-builder.js +762 -0
  105. package/dist/workflow-builder.js.map +1 -0
  106. package/dist/workflow.d.ts +14 -30
  107. package/dist/workflow.d.ts.map +1 -1
  108. package/dist/workflow.js +132 -292
  109. package/dist/workflow.js.map +1 -1
  110. package/examples/01-ecommerce-order-pipeline.ts +358 -0
  111. package/examples/02-content-moderation-cascade.ts +454 -0
  112. package/examples/03-scheduled-reporting-dependencies.ts +479 -0
  113. package/examples/04-database-persistence.ts +518 -0
  114. package/examples/README.md +173 -0
  115. package/package.json +30 -13
  116. package/src/__tests__/digital-objects-adapter.test.ts +274 -0
  117. package/src/__tests__/durable-workflow.test.ts +297 -0
  118. package/src/barrier.ts +48 -7
  119. package/src/cascade-context.ts +36 -29
  120. package/src/cascade-executor.ts +3 -2
  121. package/src/context.ts +41 -12
  122. package/src/cron-parser.ts +347 -0
  123. package/src/cron-scheduler.ts +239 -0
  124. package/src/database-context.ts +658 -0
  125. package/src/digital-objects-adapter.ts +351 -0
  126. package/src/durable-execution-cloudflare.ts +855 -0
  127. package/src/durable-execution.ts +1042 -0
  128. package/src/durable-workflow.ts +717 -0
  129. package/src/graph/topological-sort.ts +6 -8
  130. package/src/index.ts +69 -0
  131. package/src/logger.ts +148 -0
  132. package/src/on.ts +8 -9
  133. package/src/runtime.ts +436 -0
  134. package/src/send.ts +4 -5
  135. package/src/telemetry.ts +577 -0
  136. package/src/timer-registry.ts +44 -10
  137. package/src/types.ts +32 -17
  138. package/src/worker/durable-step.ts +976 -0
  139. package/src/worker/index.ts +216 -0
  140. package/src/worker/state-adapter.ts +589 -0
  141. package/src/worker/topological-executor.ts +625 -0
  142. package/src/worker/workflow-builder.ts +871 -0
  143. package/src/worker.ts +2906 -0
  144. package/src/workflow-builder.ts +1068 -0
  145. package/src/workflow.ts +188 -351
  146. package/test/barrier-join.test.ts +32 -24
  147. package/test/cascade-executor.test.ts +9 -16
  148. package/test/cron-parser.test.ts +314 -0
  149. package/test/cron-scheduler.test.ts +291 -0
  150. package/test/database-context.test.ts +770 -0
  151. package/test/db-provider-adapter.test.ts +862 -0
  152. package/test/durable-execution-cloudflare.test.ts +606 -0
  153. package/test/durable-execution-in-process.test.ts +286 -0
  154. package/test/durable-execution.test.ts +247 -0
  155. package/test/e2e/workflow-scenarios.e2e.test.ts +1039 -0
  156. package/test/integration.test.ts +442 -0
  157. package/test/rpc-surface.test.ts +946 -0
  158. package/test/runtime.test.ts +262 -0
  159. package/test/schedule-timer-cleanup.test.ts +30 -21
  160. package/test/send-race-conditions.test.ts +30 -40
  161. package/test/worker/durable-cascade.test.ts +1117 -0
  162. package/test/worker/durable-step.test.ts +723 -0
  163. package/test/worker/topological-executor.test.ts +1240 -0
  164. package/test/worker/workflow-builder.test.ts +1067 -0
  165. package/test/worker.test.ts +608 -0
  166. package/test/workflow-builder.test.ts +1670 -0
  167. package/test/workflow-cron.test.ts +256 -0
  168. package/test/workflow-state-adapter.test.ts +923 -0
  169. package/test/workflow.test.ts +25 -22
  170. package/tsconfig.json +3 -1
  171. package/vitest.config.ts +38 -1
  172. package/vitest.workers.config.ts +44 -0
  173. package/wrangler.jsonc +22 -0
  174. package/.turbo/turbo-test.log +0 -169
  175. package/LICENSE +0 -21
  176. package/src/context.js +0 -83
  177. package/src/every.js +0 -267
  178. package/src/index.js +0 -71
  179. package/src/on.js +0 -79
  180. package/src/send.js +0 -111
  181. package/src/types.js +0 -4
  182. package/src/workflow.js +0 -455
  183. package/test/context.test.js +0 -116
  184. package/test/every.test.js +0 -282
  185. package/test/on.test.js +0 -80
  186. package/test/send.test.js +0 -89
  187. package/test/workflow.test.js +0 -224
  188. package/vitest.config.js +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topological-executor.js","sourceRoot":"","sources":["../../src/worker/topological-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * WorkflowBuilder DSL - Declarative workflow definition with fluent API
3
+ *
4
+ * Provides a builder pattern for creating durable workflows with:
5
+ * - Step definitions with dependencies
6
+ * - Event triggers
7
+ * - Scheduled execution
8
+ * - Type-safe execution context
9
+ *
10
+ * ## Features
11
+ *
12
+ * - **Fluent API**: Chain methods for intuitive workflow definition
13
+ * - **Step Dependencies**: Declare execution order with `.dependsOn()`
14
+ * - **Event Triggers**: React to domain events with `.on('Noun.event')`
15
+ * - **Schedule Triggers**: Run on intervals with `.every()`
16
+ * - **Error Handling**: Per-step error handlers with `.onError()`
17
+ * - **Parallel Execution**: Steps without dependencies run concurrently
18
+ * - **Cycle Detection**: Automatically detects circular dependencies
19
+ *
20
+ * ## Basic Usage
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * import { WorkflowBuilder } from 'ai-workflows/worker'
25
+ *
26
+ * const workflow = WorkflowBuilder.create('order-process')
27
+ * .step('validate', async (input) => {
28
+ * return { valid: true }
29
+ * })
30
+ * .step('charge', async (input, ctx) => {
31
+ * const validation = ctx.getStepResult<{ valid: boolean }>('validate')
32
+ * if (!validation.valid) throw new Error('Invalid order')
33
+ * return { charged: true }
34
+ * }).dependsOn('validate')
35
+ * .step('fulfill', fulfillOrder).dependsOn('charge')
36
+ * .on('Order.placed').do('validate')
37
+ * .build()
38
+ *
39
+ * // Execute the workflow
40
+ * const results = await workflow.execute({ orderId: 'order-123' })
41
+ * ```
42
+ *
43
+ * ## With DurableStep
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * import { WorkflowBuilder, DurableStep } from 'ai-workflows/worker'
48
+ *
49
+ * const fetchData = new DurableStep('fetch-data', async ({ url }) => {
50
+ * return fetch(url).then(r => r.json())
51
+ * })
52
+ *
53
+ * const workflow = WorkflowBuilder.create('data-pipeline')
54
+ * .step(fetchData)
55
+ * .step('process', processData).dependsOn('fetch-data')
56
+ * .build()
57
+ * ```
58
+ *
59
+ * ## Scheduled Workflows
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const workflow = WorkflowBuilder.create('daily-report')
64
+ * .step('generate', generateReport)
65
+ * .step('send', sendReport).dependsOn('generate')
66
+ * .every('day').at('9am').do('generate')
67
+ * .build()
68
+ * ```
69
+ *
70
+ * @packageDocumentation
71
+ */
72
+ import { DurableStep, type StepConfig, type RetryConfig } from './durable-step.js';
73
+ /**
74
+ * Configuration for WorkflowBuilder
75
+ */
76
+ export interface WorkflowBuilderConfig {
77
+ /** Human-readable description of the workflow */
78
+ description?: string;
79
+ /** Version string (semver recommended) */
80
+ version?: string;
81
+ /** Default timeout for all steps */
82
+ timeout?: string | number;
83
+ /** Default retry configuration for all steps */
84
+ retries?: RetryConfig;
85
+ }
86
+ /**
87
+ * Step definition stored in the builder
88
+ */
89
+ export interface StepDefinition<TInput = unknown, TOutput = unknown> {
90
+ /** Unique step name */
91
+ name: string;
92
+ /** The step function */
93
+ fn: (input: TInput, ctx: ExecutionContext) => Promise<TOutput>;
94
+ /** Step configuration (retries, timeout) */
95
+ config?: StepConfig;
96
+ /** Dependencies (step names this step depends on) */
97
+ dependencies: Array<{
98
+ name: string;
99
+ options?: DependencyOptions;
100
+ }>;
101
+ /** Error handler */
102
+ errorHandler?: (error: Error, ctx: ExecutionContext) => unknown | Promise<unknown>;
103
+ /** DurableStep wrapper */
104
+ durableStep?: DurableStep<TInput, TOutput>;
105
+ }
106
+ /**
107
+ * Options for dependency declarations
108
+ */
109
+ export interface DependencyOptions {
110
+ /** Dependency type: 'hard' (default) or 'soft' (can proceed on failure) */
111
+ type?: 'hard' | 'soft';
112
+ /** Timeout for waiting on dependency */
113
+ timeout?: string | number;
114
+ }
115
+ /**
116
+ * Event trigger configuration
117
+ */
118
+ export interface TriggerConfig {
119
+ /** Event name (Noun.event format) */
120
+ event: string;
121
+ /** Step name to trigger (or inline function was converted to implicit step) */
122
+ stepName: string;
123
+ /** Filter function */
124
+ filter?: (event: unknown) => boolean;
125
+ }
126
+ /**
127
+ * Schedule trigger configuration
128
+ */
129
+ export interface ScheduleConfig {
130
+ /** Schedule expression (interval, cron, or natural language) */
131
+ schedule: string;
132
+ /** Numeric value for interval (e.g., 5 for every(5).minutes()) */
133
+ value?: number;
134
+ /** Time of day (e.g., '9am') */
135
+ time?: string;
136
+ /** Timezone (e.g., 'America/New_York') */
137
+ timezone?: string;
138
+ /** Step name to execute */
139
+ stepName: string;
140
+ }
141
+ /**
142
+ * Built workflow definition (immutable)
143
+ */
144
+ export interface BuiltWorkflow<TInput = unknown, TResults = Record<string, unknown>> {
145
+ /** Workflow name */
146
+ readonly name: string;
147
+ /** All registered steps */
148
+ readonly steps: ReadonlyArray<StepDefinition>;
149
+ /** Workflow triggers */
150
+ readonly triggers: {
151
+ readonly events: ReadonlyArray<TriggerConfig>;
152
+ readonly schedules: ReadonlyArray<ScheduleConfig>;
153
+ };
154
+ /** Dependency graph (step -> dependencies) */
155
+ readonly dependencyGraph: Map<string, string[]>;
156
+ /** Topologically sorted execution order */
157
+ readonly executionOrder: string[];
158
+ /** Workflow metadata */
159
+ readonly metadata?: WorkflowBuilderConfig;
160
+ /** Whether compatible with Cloudflare Workflows */
161
+ readonly isCloudflareCompatible: boolean;
162
+ /** Execute the workflow */
163
+ execute: (input?: TInput) => Promise<TResults>;
164
+ }
165
+ /**
166
+ * Execution context passed to step functions
167
+ */
168
+ export interface ExecutionContext {
169
+ /** Get result of a previously executed step */
170
+ getStepResult: <T = unknown>(stepName: string) => T;
171
+ /** Current workflow input */
172
+ readonly input: unknown;
173
+ /** All step results so far */
174
+ readonly results: Record<string, unknown>;
175
+ }
176
+ /**
177
+ * Step chain for configuring a step after adding it
178
+ */
179
+ export interface StepChain {
180
+ /** Declare dependencies for this step */
181
+ dependsOn(step: string, options?: DependencyOptions): StepChain;
182
+ dependsOn(steps: string[]): StepChain;
183
+ /** Set timeout for this step */
184
+ timeout(duration: string | number): StepChain;
185
+ /** Set retry configuration */
186
+ retries(config: RetryConfig): StepChain;
187
+ /** Set error handler */
188
+ onError(handler: (error: Error, ctx: ExecutionContext) => unknown | Promise<unknown>): StepChain;
189
+ /** Add another step (returns to builder) */
190
+ step<TI = unknown, TO = unknown>(name: string, fn: (input: TI, ctx: ExecutionContext) => Promise<TO>): StepChain;
191
+ step<TI = unknown, TO = unknown>(name: string, config: StepConfig, fn: (input: TI, ctx: ExecutionContext) => Promise<TO>): StepChain;
192
+ step<TI = unknown, TO = unknown>(durableStep: DurableStep<TI, TO>): StepChain;
193
+ /** Register event trigger */
194
+ on<T = unknown>(event: string): EventTriggerChain<T>;
195
+ /** Register schedule trigger */
196
+ every(schedule: string): ScheduleTriggerChain;
197
+ every(value: number): NumericScheduleChain;
198
+ /** Build the workflow */
199
+ build(): BuiltWorkflow;
200
+ }
201
+ /**
202
+ * Event trigger chain for configuring event-triggered steps
203
+ */
204
+ export interface EventTriggerChain<T = unknown> {
205
+ /** Add a filter function */
206
+ filter(predicate: (event: T) => boolean): EventTriggerChain<T>;
207
+ /** Execute a step when event fires */
208
+ do(stepName: string): StepChain;
209
+ do(fn: (event: T) => Promise<unknown>): StepChain;
210
+ }
211
+ /**
212
+ * Schedule trigger chain for configuring scheduled steps
213
+ */
214
+ export interface ScheduleTriggerChain {
215
+ /** Set time of day */
216
+ at(time: string): ScheduleTriggerChain;
217
+ /** Set timezone */
218
+ timezone(tz: string): ScheduleTriggerChain;
219
+ /** Execute a step on schedule */
220
+ do(stepName: string): StepChain;
221
+ do(fn: () => Promise<unknown>): StepChain;
222
+ }
223
+ /**
224
+ * Numeric schedule chain (for every(5).minutes() pattern)
225
+ */
226
+ export interface NumericScheduleChain {
227
+ minutes(): ScheduleTriggerChain;
228
+ hours(): ScheduleTriggerChain;
229
+ days(): ScheduleTriggerChain;
230
+ seconds(): ScheduleTriggerChain;
231
+ }
232
+ /**
233
+ * WorkflowBuilder - Static factory for creating workflow definitions
234
+ *
235
+ * @example
236
+ * ```ts
237
+ * const workflow = WorkflowBuilder.create('order-process')
238
+ * .step('validate', validateOrder)
239
+ * .step('charge', chargePayment).dependsOn('validate')
240
+ * .on('Order.placed').do('validate')
241
+ * .build()
242
+ * ```
243
+ */
244
+ export declare class WorkflowBuilder {
245
+ /** Workflow name */
246
+ readonly name: string;
247
+ /** Workflow configuration */
248
+ readonly config?: WorkflowBuilderConfig;
249
+ private impl;
250
+ private constructor();
251
+ /**
252
+ * Create a new workflow builder
253
+ *
254
+ * @param name - Unique workflow name
255
+ * @param config - Optional workflow configuration
256
+ * @returns WorkflowBuilder instance
257
+ */
258
+ static create(name: string, config?: WorkflowBuilderConfig): WorkflowBuilder;
259
+ /**
260
+ * Add a step to the workflow
261
+ */
262
+ step<TI = unknown, TO = unknown>(name: string, fn: (input: TI, ctx: ExecutionContext) => Promise<TO>): StepChain;
263
+ step<TI = unknown, TO = unknown>(name: string, config: StepConfig, fn: (input: TI, ctx: ExecutionContext) => Promise<TO>): StepChain;
264
+ step<TI = unknown, TO = unknown>(durableStep: DurableStep<TI, TO>): StepChain;
265
+ /**
266
+ * Register an event trigger
267
+ */
268
+ on<T = unknown>(event: string): EventTriggerChain<T>;
269
+ /**
270
+ * Register a schedule trigger
271
+ */
272
+ every(schedule: string): ScheduleTriggerChain;
273
+ every(value: number): NumericScheduleChain;
274
+ /**
275
+ * Declare dependencies for the most recently added step
276
+ * This allows for: builder.step('a', fn).step('b', fn).dependsOn('a')
277
+ */
278
+ dependsOn(step: string, options?: DependencyOptions): WorkflowBuilder;
279
+ dependsOn(steps: string[]): WorkflowBuilder;
280
+ /**
281
+ * Build the workflow definition
282
+ */
283
+ build(): BuiltWorkflow;
284
+ }
285
+ export { DurableStep, type StepConfig, type RetryConfig };
286
+ //# sourceMappingURL=workflow-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-builder.d.ts","sourceRoot":"","sources":["../../src/worker/workflow-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAe,MAAM,mBAAmB,CAAA;AAM/F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,gDAAgD;IAChD,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACjE,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9D,4CAA4C;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,qDAAqD;IACrD,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;IAClE,oBAAoB;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClF,0BAA0B;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAA;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjF,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC7C,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;QAC7C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;KAClD,CAAA;IACD,8CAA8C;IAC9C,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/C,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAA;IACjC,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,mDAAmD;IACnD,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IACxC,2BAA2B;IAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,aAAa,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAA;IACnD,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC/D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACrC,gCAAgC;IAChC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC7C,8BAA8B;IAC9B,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IACvC,wBAAwB;IACxB,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAChG,4CAA4C;IAC5C,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,GACpD,SAAS,CAAA;IACZ,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,GACpD,SAAS,CAAA;IACZ,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,CAAA;IAC7E,6BAA6B;IAC7B,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACpD,gCAAgC;IAChC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;IAC7C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAA;IAC1C,yBAAyB;IACzB,KAAK,IAAI,aAAa,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,4BAA4B;IAC5B,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC9D,sCAAsC;IACtC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACtC,mBAAmB;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,CAAA;IAC1C,iCAAiC;IACjC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,IAAI,oBAAoB,CAAA;IAC/B,KAAK,IAAI,oBAAoB,CAAA;IAC7B,IAAI,IAAI,oBAAoB,CAAA;IAC5B,OAAO,IAAI,oBAAoB,CAAA;CAChC;AA4gBD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAEvC,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO;IAQP;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe;IAI5E;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,GACpD,SAAS;IACZ,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,GACpD,SAAS;IACZ,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS;IAS7E;;OAEG;IACH,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIpD;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAC7C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAK1C;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe;IACrE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;IAM3C;;OAEG;IACH,KAAK,IAAI,aAAa;CAGvB;AAGD,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,CAAA"}