@pgflow/dsl 0.0.0-array-map-steps-cd94242a-20251008042921 → 0.0.0-condition-4354fcb6-20260108134756
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.
- package/README.md +57 -50
- package/dist/CHANGELOG.md +55 -1
- package/dist/README.md +57 -50
- package/dist/compile-flow.js +16 -0
- package/dist/dsl.d.ts +298 -44
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +27 -22
- package/dist/example-flow.d.ts +8 -8
- package/dist/example-flow.d.ts.map +1 -1
- package/dist/example-flow.js +16 -7
- package/dist/flow-shape.d.ts +81 -0
- package/dist/flow-shape.d.ts.map +1 -0
- package/dist/flow-shape.js +119 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/package.json +7 -1
- package/dist/platforms/supabase.d.ts +4 -3
- package/dist/platforms/supabase.d.ts.map +1 -1
- package/package.json +7 -1
package/dist/dsl.d.ts
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
export type Json = string | number | boolean | null | Json[] | {
|
|
2
|
-
[key: string]: Json
|
|
2
|
+
[key: string]: Json;
|
|
3
3
|
};
|
|
4
4
|
export type Simplify<T> = {
|
|
5
5
|
[KeyType in keyof T]: T[KeyType];
|
|
6
6
|
} & {};
|
|
7
|
+
/**
|
|
8
|
+
* ContainmentPattern<T> - Type for JSON containment (@>) patterns
|
|
9
|
+
*
|
|
10
|
+
* Matches PostgreSQL's @> containment semantics where a pattern is a
|
|
11
|
+
* recursive partial structure that the target must contain:
|
|
12
|
+
* - Primitives: exact value match
|
|
13
|
+
* - Objects: all keys optional, recursively applied
|
|
14
|
+
* - Arrays: elements expected to be present in target array
|
|
15
|
+
*/
|
|
16
|
+
export type ContainmentPattern<T> = T extends readonly (infer U)[] ? ContainmentPattern<U>[] : T extends object ? {
|
|
17
|
+
[K in keyof T]?: ContainmentPattern<T[K]>;
|
|
18
|
+
} : T;
|
|
7
19
|
type AwaitedReturn<T> = T extends (...args: any[]) => Promise<infer R> ? R : T extends (...args: any[]) => infer R ? R : never;
|
|
8
20
|
export interface Env {
|
|
9
21
|
[key: string]: string | undefined;
|
|
@@ -13,8 +25,12 @@ export interface UserEnv extends Env {
|
|
|
13
25
|
}
|
|
14
26
|
export type AnyInput = Json;
|
|
15
27
|
export type AnyOutput = Json;
|
|
28
|
+
export interface StepMeta<TOutput = AnyOutput, TSkippable extends boolean = boolean> {
|
|
29
|
+
output: TOutput;
|
|
30
|
+
skippable: TSkippable;
|
|
31
|
+
}
|
|
16
32
|
export type EmptySteps = Record<never, never>;
|
|
17
|
-
export type AnySteps = Record<string,
|
|
33
|
+
export type AnySteps = Record<string, StepMeta>;
|
|
18
34
|
export type EmptyDeps = Record<never, never[]>;
|
|
19
35
|
export type DefaultDeps = Record<string, string[]>;
|
|
20
36
|
export type AnyDeps = Record<string, string[]>;
|
|
@@ -48,10 +64,17 @@ export type ExtractFlowOutput<TFlow extends AnyFlow> = TFlow extends Flow<infer
|
|
|
48
64
|
[K in keyof ExtractFlowLeafSteps<TFlow> as K extends string ? K : never]: StepOutput<TFlow, K & string>;
|
|
49
65
|
} : never;
|
|
50
66
|
/**
|
|
51
|
-
* Extracts the steps type from a Flow
|
|
67
|
+
* Extracts the steps type from a Flow (unwraps StepMeta to just output types)
|
|
68
|
+
* @template TFlow - The Flow type to extract from
|
|
69
|
+
*/
|
|
70
|
+
export type ExtractFlowSteps<TFlow extends AnyFlow> = TFlow extends Flow<infer _TI, infer _TC, infer TS, infer _TD, infer _TEnv> ? {
|
|
71
|
+
[K in keyof TS]: TS[K]['output'];
|
|
72
|
+
} : never;
|
|
73
|
+
/**
|
|
74
|
+
* Extracts the raw steps type from a Flow (includes StepMeta structure with skippable info)
|
|
52
75
|
* @template TFlow - The Flow type to extract from
|
|
53
76
|
*/
|
|
54
|
-
export type
|
|
77
|
+
export type ExtractFlowStepsRaw<TFlow extends AnyFlow> = TFlow extends Flow<infer _TI, infer _TC, infer TS, infer _TD, infer _TEnv> ? TS : never;
|
|
55
78
|
/**
|
|
56
79
|
* Extracts the dependencies type from a Flow
|
|
57
80
|
* @template TFlow - The Flow type to extract from
|
|
@@ -91,7 +114,7 @@ export type ExtractFlowContext<TFlow extends AnyFlow> = TFlow extends Flow<infer
|
|
|
91
114
|
* }
|
|
92
115
|
* ```
|
|
93
116
|
*/
|
|
94
|
-
export type CompatibleFlow<F extends AnyFlow, PlatformResources extends Record<string, unknown>, UserResources extends Record<string, unknown> = Record<string, never>> =
|
|
117
|
+
export type CompatibleFlow<F extends AnyFlow, PlatformResources extends Record<string, unknown>, UserResources extends Record<string, unknown> = Record<string, never>> = FlowContext<ExtractFlowEnv<F>> & PlatformResources & UserResources extends ExtractFlowContext<F> ? F : never;
|
|
95
118
|
/**
|
|
96
119
|
* Extracts the dependencies type from a Flow
|
|
97
120
|
* @template TFlow - The Flow type to extract from
|
|
@@ -99,6 +122,7 @@ export type CompatibleFlow<F extends AnyFlow, PlatformResources extends Record<s
|
|
|
99
122
|
type StepDepsOf<TFlow extends AnyFlow, TStepSlug extends string> = TStepSlug extends keyof ExtractFlowDeps<TFlow> ? ExtractFlowDeps<TFlow>[TStepSlug][number] : never;
|
|
100
123
|
/**
|
|
101
124
|
* Extracts only the leaf steps from a Flow (steps that are not dependencies of any other steps)
|
|
125
|
+
* Returns the output types, not the full StepMeta structure
|
|
102
126
|
* @template TFlow - The Flow type to extract from
|
|
103
127
|
*/
|
|
104
128
|
export type ExtractFlowLeafSteps<TFlow extends AnyFlow> = {
|
|
@@ -106,17 +130,28 @@ export type ExtractFlowLeafSteps<TFlow extends AnyFlow> = {
|
|
|
106
130
|
};
|
|
107
131
|
export type StepOutput<TFlow extends AnyFlow, TStepSlug extends string> = TStepSlug extends keyof ExtractFlowSteps<TFlow> ? ExtractFlowSteps<TFlow>[TStepSlug] : never;
|
|
108
132
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* 3. No extra properties are allowed
|
|
113
|
-
* Utility type to extract the input type for a specific step in a flow
|
|
133
|
+
* Checks if a step is skippable (has whenUnmet: 'skip' | 'skip-cascade' or retriesExhausted: 'skip' | 'skip-cascade')
|
|
134
|
+
* @template TFlow - The Flow type
|
|
135
|
+
* @template TStepSlug - The step slug to check
|
|
114
136
|
*/
|
|
115
|
-
export type
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
[K in Extract<keyof ExtractFlowSteps<TFlow>, StepDepsOf<TFlow, TStepSlug>>]: ExtractFlowSteps<TFlow>[K];
|
|
137
|
+
export type IsStepSkippable<TFlow extends AnyFlow, TStepSlug extends string> = TStepSlug extends keyof ExtractFlowStepsRaw<TFlow> ? ExtractFlowStepsRaw<TFlow>[TStepSlug]['skippable'] : false;
|
|
138
|
+
type RequiredDeps<TFlow extends AnyFlow, TStepSlug extends string> = {
|
|
139
|
+
[K in Extract<keyof ExtractFlowSteps<TFlow>, StepDepsOf<TFlow, TStepSlug>> as IsStepSkippable<TFlow, K & string> extends true ? never : K]: ExtractFlowSteps<TFlow>[K];
|
|
119
140
|
};
|
|
141
|
+
type OptionalDeps<TFlow extends AnyFlow, TStepSlug extends string> = {
|
|
142
|
+
[K in Extract<keyof ExtractFlowSteps<TFlow>, StepDepsOf<TFlow, TStepSlug>> as IsStepSkippable<TFlow, K & string> extends true ? K : never]?: ExtractFlowSteps<TFlow>[K];
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Asymmetric step input type:
|
|
146
|
+
* - Root steps (no dependencies): receive flow input directly
|
|
147
|
+
* - Dependent steps: receive only their dependencies (flow input available via context)
|
|
148
|
+
* - Skippable deps (whenUnmet/retriesExhausted: 'skip' | 'skip-cascade') are optional
|
|
149
|
+
* - Required deps are required
|
|
150
|
+
*
|
|
151
|
+
* This enables functional composition where subflows can receive typed inputs
|
|
152
|
+
* without the 'run' wrapper that previously blocked type matching.
|
|
153
|
+
*/
|
|
154
|
+
export type StepInput<TFlow extends AnyFlow, TStepSlug extends string> = StepDepsOf<TFlow, TStepSlug> extends never ? ExtractFlowInput<TFlow> : Simplify<RequiredDeps<TFlow, TStepSlug> & OptionalDeps<TFlow, TStepSlug>>;
|
|
120
155
|
export interface RuntimeOptions {
|
|
121
156
|
maxAttempts?: number;
|
|
122
157
|
baseDelay?: number;
|
|
@@ -149,13 +184,183 @@ export interface BaseContext<TEnv extends Env = Env> {
|
|
|
149
184
|
rawMessage: MessageRecord;
|
|
150
185
|
workerConfig: Readonly<WorkerConfig>;
|
|
151
186
|
}
|
|
152
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Flow context extends base with stepTask and flowInput.
|
|
189
|
+
*
|
|
190
|
+
* Note: flowInput is a Promise to support lazy loading. Only root non-map steps
|
|
191
|
+
* receive flow_input from SQL; other step types lazy-load it on demand.
|
|
192
|
+
* Use `await ctx.flowInput` to access the original flow input.
|
|
193
|
+
*/
|
|
194
|
+
export interface FlowContext<TEnv extends Env = Env, TFlowInput extends AnyInput = AnyInput> extends BaseContext<TEnv> {
|
|
153
195
|
stepTask: StepTaskRecord<AnyFlow>;
|
|
196
|
+
flowInput: Promise<TFlowInput>;
|
|
154
197
|
}
|
|
155
198
|
export type Context<T extends Record<string, unknown> = Record<string, never>, TEnv extends Env = Env> = FlowContext<TEnv> & T;
|
|
199
|
+
/**
|
|
200
|
+
* Options for handling unmet conditions (when 'if' pattern doesn't match input)
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* // Fail the step (and run) when pattern doesn't match
|
|
204
|
+
* { if: { enabled: true }, whenUnmet: 'fail' }
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* // Skip this step only when pattern doesn't match
|
|
208
|
+
* { if: { enabled: true }, whenUnmet: 'skip' }
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* // Skip this step and all dependents when pattern doesn't match
|
|
212
|
+
* { if: { enabled: true }, whenUnmet: 'skip-cascade' }
|
|
213
|
+
*
|
|
214
|
+
* @remarks
|
|
215
|
+
* - `'fail'`: When pattern doesn't match, step fails -> run fails (default)
|
|
216
|
+
* - `'skip'`: When pattern doesn't match, skip step and continue (step key omitted from dependent inputs)
|
|
217
|
+
* - `'skip-cascade'`: When pattern doesn't match, skip step + mark all dependents as skipped
|
|
218
|
+
*/
|
|
219
|
+
export type WhenUnmetMode = 'fail' | 'skip' | 'skip-cascade';
|
|
220
|
+
/**
|
|
221
|
+
* Options for handling errors after all retries are exhausted
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* // Fail the run after retries exhausted (default)
|
|
225
|
+
* { retriesExhausted: 'fail' }
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* // Skip this step after retries exhausted, continue run
|
|
229
|
+
* { retriesExhausted: 'skip' }
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* // Skip this step and all dependents after retries exhausted
|
|
233
|
+
* { retriesExhausted: 'skip-cascade' }
|
|
234
|
+
*
|
|
235
|
+
* @remarks
|
|
236
|
+
* - `'fail'`: Step fails -> run fails (default behavior)
|
|
237
|
+
* - `'skip'`: Mark step as skipped, continue run (step key omitted from dependent inputs)
|
|
238
|
+
* - `'skip-cascade'`: Skip step + mark all dependents as skipped too
|
|
239
|
+
*
|
|
240
|
+
* @note
|
|
241
|
+
* TYPE_VIOLATION errors (e.g., single step returns non-array for map dependent)
|
|
242
|
+
* are NOT subject to retriesExhausted - these always hard fail as they indicate
|
|
243
|
+
* programming errors, not runtime conditions.
|
|
244
|
+
*/
|
|
245
|
+
export type RetriesExhaustedMode = 'fail' | 'skip' | 'skip-cascade';
|
|
246
|
+
/**
|
|
247
|
+
* Helper type for dependent step handlers - creates deps object with correct optionality.
|
|
248
|
+
* Skippable deps (steps with whenUnmet/retriesExhausted: 'skip' | 'skip-cascade') are optional.
|
|
249
|
+
* Required deps are required.
|
|
250
|
+
*/
|
|
251
|
+
type DepsWithOptionalSkippable<TSteps extends AnySteps, TDeps extends string> = {
|
|
252
|
+
[K in TDeps as K extends keyof TSteps ? TSteps[K]['skippable'] extends true ? never : K : K]: K extends keyof TSteps ? TSteps[K]['output'] : never;
|
|
253
|
+
} & {
|
|
254
|
+
[K in TDeps as K extends keyof TSteps ? TSteps[K]['skippable'] extends true ? K : never : never]?: K extends keyof TSteps ? TSteps[K]['output'] : never;
|
|
255
|
+
};
|
|
156
256
|
export interface StepRuntimeOptions extends RuntimeOptions {
|
|
157
257
|
startDelay?: number;
|
|
258
|
+
/**
|
|
259
|
+
* Pattern to match using PostgreSQL's @> (contains) operator
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* // Root step: match against flow input
|
|
263
|
+
* { if: { role: 'admin', active: true } }
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* // Dependent step: match against dependency outputs
|
|
267
|
+
* { if: { prevStep: { status: 'success' } } }
|
|
268
|
+
*
|
|
269
|
+
* @remarks
|
|
270
|
+
* - Primitives: exact value match
|
|
271
|
+
* - Objects: all keys optional, recursively applied
|
|
272
|
+
* - Arrays: elements expected to be present in target array
|
|
273
|
+
*
|
|
274
|
+
* @see WhenUnmetMode for controlling what happens when pattern doesn't match
|
|
275
|
+
*/
|
|
276
|
+
if?: Json;
|
|
277
|
+
/**
|
|
278
|
+
* Negative pattern - step executes when input does NOT match this pattern
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* // Root step: execute when NOT an admin
|
|
282
|
+
* { ifNot: { role: 'admin' } }
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* // Combined with 'if' for AND semantics: "active admin who is NOT suspended"
|
|
286
|
+
* { if: { role: 'admin', active: true }, ifNot: { suspended: true } }
|
|
287
|
+
*
|
|
288
|
+
* @remarks
|
|
289
|
+
* - Uses PostgreSQL's @> containment check, negated
|
|
290
|
+
* - When combined with 'if', BOTH must pass (AND semantics)
|
|
291
|
+
* - For mutual exclusion: use same pattern with if on one step, ifNot on another
|
|
292
|
+
*
|
|
293
|
+
* @see WhenUnmetMode for controlling what happens when condition not met
|
|
294
|
+
*/
|
|
295
|
+
ifNot?: Json;
|
|
296
|
+
/**
|
|
297
|
+
* What to do when the 'if' pattern doesn't match the input
|
|
298
|
+
*
|
|
299
|
+
* @default 'skip'
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* { whenUnmet: 'fail' } // Pattern doesn't match -> step fails -> run fails
|
|
303
|
+
* { whenUnmet: 'skip' } // Pattern doesn't match -> skip step, continue run
|
|
304
|
+
* { whenUnmet: 'skip-cascade' } // Pattern doesn't match -> skip step + all dependents
|
|
305
|
+
*
|
|
306
|
+
* @see WhenUnmetMode for detailed documentation of each mode
|
|
307
|
+
*/
|
|
308
|
+
whenUnmet?: WhenUnmetMode;
|
|
309
|
+
/**
|
|
310
|
+
* What to do when handler throws an error after all retries are exhausted
|
|
311
|
+
*
|
|
312
|
+
* @default 'fail'
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* { retriesExhausted: 'fail' } // Step fails -> run fails
|
|
316
|
+
* { retriesExhausted: 'skip' } // Skip step, continue run
|
|
317
|
+
* { retriesExhausted: 'skip-cascade' } // Skip step + all dependents
|
|
318
|
+
*
|
|
319
|
+
* @remarks
|
|
320
|
+
* Only applies after maxAttempts retries are exhausted.
|
|
321
|
+
* TYPE_VIOLATION errors always fail regardless of this setting.
|
|
322
|
+
*
|
|
323
|
+
* @see RetriesExhaustedMode for detailed documentation of each mode
|
|
324
|
+
*/
|
|
325
|
+
retriesExhausted?: RetriesExhaustedMode;
|
|
158
326
|
}
|
|
327
|
+
interface BaseStepRuntimeOptions extends RuntimeOptions {
|
|
328
|
+
startDelay?: number;
|
|
329
|
+
retriesExhausted?: RetriesExhaustedMode;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Condition with 'if' required (ifNot optional) - allows whenUnmet.
|
|
333
|
+
* whenUnmet only makes sense when there's a condition to be "unmet".
|
|
334
|
+
*/
|
|
335
|
+
type WithIfCondition<T> = {
|
|
336
|
+
if: ContainmentPattern<T>;
|
|
337
|
+
ifNot?: ContainmentPattern<T>;
|
|
338
|
+
whenUnmet?: WhenUnmetMode;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Condition with 'ifNot' required (if optional) - allows whenUnmet.
|
|
342
|
+
*/
|
|
343
|
+
type WithIfNotCondition<T> = {
|
|
344
|
+
if?: ContainmentPattern<T>;
|
|
345
|
+
ifNot: ContainmentPattern<T>;
|
|
346
|
+
whenUnmet?: WhenUnmetMode;
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* No condition - if, ifNot, and whenUnmet are all forbidden.
|
|
350
|
+
* This ensures whenUnmet can only be used with a condition.
|
|
351
|
+
*/
|
|
352
|
+
type WithoutCondition = {
|
|
353
|
+
if?: never;
|
|
354
|
+
ifNot?: never;
|
|
355
|
+
whenUnmet?: never;
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* Discriminated union for condition options.
|
|
359
|
+
* whenUnmet is only allowed when if or ifNot is provided.
|
|
360
|
+
*/
|
|
361
|
+
type ConditionOpts<T> = WithIfCondition<T> | WithIfNotCondition<T> | WithoutCondition;
|
|
362
|
+
export type RootStepOptions<TFlowInput> = BaseStepRuntimeOptions & ConditionOpts<TFlowInput>;
|
|
363
|
+
export type DependentStepOptions<TDeps> = BaseStepRuntimeOptions & ConditionOpts<TDeps>;
|
|
159
364
|
export interface StepDefinition<TInput extends AnyInput, TOutput extends AnyOutput, TContext = FlowContext> {
|
|
160
365
|
slug: string;
|
|
161
366
|
handler: (input: TInput, context: TContext) => TOutput | Promise<TOutput>;
|
|
@@ -181,22 +386,43 @@ Steps extends AnySteps = EmptySteps, StepDependencies extends AnyDeps = EmptyDep
|
|
|
181
386
|
} & RuntimeOptions>, stepDefinitions?: Record<string, StepDefinition<AnyInput, AnyOutput>>, stepOrder?: string[]);
|
|
182
387
|
/**
|
|
183
388
|
* Get a specific step definition by slug with proper typing
|
|
389
|
+
*
|
|
390
|
+
* Returns the step definition with asymmetric input typing:
|
|
391
|
+
* - Root steps (no dependencies): input is flowInput directly
|
|
392
|
+
* - Dependent steps: input is deps object only (flowInput available via context)
|
|
393
|
+
* - Skippable deps are optional, required deps are required
|
|
394
|
+
*
|
|
184
395
|
* @throws Error if the step with the given slug doesn't exist
|
|
185
396
|
*/
|
|
186
|
-
getStepDefinition<SlugType extends keyof Steps & keyof StepDependencies>(slug: SlugType): StepDefinition<Simplify<{
|
|
187
|
-
|
|
188
|
-
} & {
|
|
189
|
-
[K in StepDependencies[SlugType][number]]: K extends keyof Steps ? Steps[K] : never;
|
|
190
|
-
}>, Steps[SlugType]>;
|
|
191
|
-
step<Slug extends string, THandler extends (input: Simplify<{
|
|
192
|
-
run: TFlowInput;
|
|
397
|
+
getStepDefinition<SlugType extends keyof Steps & keyof StepDependencies>(slug: SlugType): StepDefinition<StepDependencies[SlugType] extends [] | readonly [] ? TFlowInput : Simplify<{
|
|
398
|
+
[K in StepDependencies[SlugType][number] as K extends keyof Steps ? Steps[K]['skippable'] extends true ? never : K : never]: K extends keyof Steps ? Steps[K]['output'] : never;
|
|
193
399
|
} & {
|
|
194
|
-
[K in
|
|
195
|
-
}>,
|
|
400
|
+
[K in StepDependencies[SlugType][number] as K extends keyof Steps ? Steps[K]['skippable'] extends true ? K : never : never]?: K extends keyof Steps ? Steps[K]['output'] : never;
|
|
401
|
+
}>, // Dependent step: only deps (skippable deps optional)
|
|
402
|
+
Steps[SlugType]['output'], FlowContext<TEnv, TFlowInput> & TContext>;
|
|
403
|
+
step<Slug extends string, TOutput, TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
196
404
|
slug: Slug extends keyof Steps ? never : Slug;
|
|
197
|
-
dependsOn?:
|
|
198
|
-
|
|
199
|
-
|
|
405
|
+
dependsOn?: never;
|
|
406
|
+
retriesExhausted?: TRetries;
|
|
407
|
+
} & ((WithIfCondition<TFlowInput> & {
|
|
408
|
+
whenUnmet?: TWhenUnmet;
|
|
409
|
+
}) | (WithIfNotCondition<TFlowInput> & {
|
|
410
|
+
whenUnmet?: TWhenUnmet;
|
|
411
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: (flowInput: TFlowInput, context: FlowContext<TEnv, TFlowInput> & TContext) => TOutput | Promise<TOutput>): Flow<TFlowInput, TContext, Steps & {
|
|
412
|
+
[K in Slug]: StepMeta<Awaited<TOutput>, TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
413
|
+
}, StepDependencies & {
|
|
414
|
+
[K in Slug]: [];
|
|
415
|
+
}, TEnv>;
|
|
416
|
+
step<Slug extends string, Deps extends Extract<keyof Steps, string>, TOutput, TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
417
|
+
slug: Slug extends keyof Steps ? never : Slug;
|
|
418
|
+
dependsOn: [Deps, ...Deps[]];
|
|
419
|
+
retriesExhausted?: TRetries;
|
|
420
|
+
} & ((WithIfCondition<Simplify<DepsWithOptionalSkippable<Steps, Deps>>> & {
|
|
421
|
+
whenUnmet?: TWhenUnmet;
|
|
422
|
+
}) | (WithIfNotCondition<Simplify<DepsWithOptionalSkippable<Steps, Deps>>> & {
|
|
423
|
+
whenUnmet?: TWhenUnmet;
|
|
424
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: (deps: Simplify<DepsWithOptionalSkippable<Steps, Deps>>, context: FlowContext<TEnv, TFlowInput> & TContext) => TOutput | Promise<TOutput>): Flow<TFlowInput, TContext, Steps & {
|
|
425
|
+
[K in Slug]: StepMeta<Awaited<TOutput>, TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
200
426
|
}, StepDependencies & {
|
|
201
427
|
[K in Slug]: Deps[];
|
|
202
428
|
}, TEnv>;
|
|
@@ -210,18 +436,32 @@ Steps extends AnySteps = EmptySteps, StepDependencies extends AnyDeps = EmptyDep
|
|
|
210
436
|
* @template THandler - The handler function that must return an array or Promise<array>
|
|
211
437
|
* @template Deps - The step dependencies (must be existing step slugs)
|
|
212
438
|
* @param opts - Step configuration including slug, dependencies, and runtime options
|
|
213
|
-
* @param handler - Function that processes input and returns an array
|
|
439
|
+
* @param handler - Function that processes input and returns an array (null/undefined rejected)
|
|
214
440
|
* @returns A new Flow instance with the array step added
|
|
215
441
|
*/
|
|
216
|
-
array<Slug extends string,
|
|
217
|
-
run: TFlowInput;
|
|
218
|
-
} & {
|
|
219
|
-
[K in Deps]: K extends keyof Steps ? Steps[K] : never;
|
|
220
|
-
}>, context: BaseContext & TContext) => Array<Json> | Promise<Array<Json>>, Deps extends Extract<keyof Steps, string> = never>(opts: Simplify<{
|
|
442
|
+
array<Slug extends string, TOutput extends readonly any[], TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
221
443
|
slug: Slug extends keyof Steps ? never : Slug;
|
|
222
|
-
dependsOn?:
|
|
223
|
-
|
|
224
|
-
|
|
444
|
+
dependsOn?: never;
|
|
445
|
+
retriesExhausted?: TRetries;
|
|
446
|
+
} & ((WithIfCondition<TFlowInput> & {
|
|
447
|
+
whenUnmet?: TWhenUnmet;
|
|
448
|
+
}) | (WithIfNotCondition<TFlowInput> & {
|
|
449
|
+
whenUnmet?: TWhenUnmet;
|
|
450
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: (flowInput: TFlowInput, context: FlowContext<TEnv, TFlowInput> & TContext) => TOutput | Promise<TOutput>): Flow<TFlowInput, TContext, Steps & {
|
|
451
|
+
[K in Slug]: StepMeta<Awaited<TOutput>, TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
452
|
+
}, StepDependencies & {
|
|
453
|
+
[K in Slug]: [];
|
|
454
|
+
}, TEnv>;
|
|
455
|
+
array<Slug extends string, Deps extends Extract<keyof Steps, string>, TOutput extends readonly any[], TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
456
|
+
slug: Slug extends keyof Steps ? never : Slug;
|
|
457
|
+
dependsOn: [Deps, ...Deps[]];
|
|
458
|
+
retriesExhausted?: TRetries;
|
|
459
|
+
} & ((WithIfCondition<Simplify<DepsWithOptionalSkippable<Steps, Deps>>> & {
|
|
460
|
+
whenUnmet?: TWhenUnmet;
|
|
461
|
+
}) | (WithIfNotCondition<Simplify<DepsWithOptionalSkippable<Steps, Deps>>> & {
|
|
462
|
+
whenUnmet?: TWhenUnmet;
|
|
463
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: (deps: Simplify<DepsWithOptionalSkippable<Steps, Deps>>, context: FlowContext<TEnv, TFlowInput> & TContext) => TOutput | Promise<TOutput>): Flow<TFlowInput, TContext, Steps & {
|
|
464
|
+
[K in Slug]: StepMeta<Awaited<TOutput>, TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
225
465
|
}, StepDependencies & {
|
|
226
466
|
[K in Slug]: Deps[];
|
|
227
467
|
}, TEnv>;
|
|
@@ -236,21 +476,35 @@ Steps extends AnySteps = EmptySteps, StepDependencies extends AnyDeps = EmptyDep
|
|
|
236
476
|
* @param handler - Function that processes individual array elements
|
|
237
477
|
* @returns A new Flow instance with the map step added
|
|
238
478
|
*/
|
|
239
|
-
map<Slug extends string, THandler>(opts: Simplify<{
|
|
479
|
+
map<Slug extends string, THandler extends TFlowInput extends readonly (infer Item)[] ? (item: Item, context: FlowContext<TEnv, TFlowInput> & TContext) => Json | Promise<Json> : never, TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
240
480
|
slug: Slug extends keyof Steps ? never : Slug;
|
|
241
|
-
|
|
242
|
-
|
|
481
|
+
retriesExhausted?: TRetries;
|
|
482
|
+
} & ((WithIfCondition<TFlowInput> & {
|
|
483
|
+
whenUnmet?: TWhenUnmet;
|
|
484
|
+
}) | (WithIfNotCondition<TFlowInput> & {
|
|
485
|
+
whenUnmet?: TWhenUnmet;
|
|
486
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: THandler): Flow<TFlowInput, TContext, Steps & {
|
|
487
|
+
[K in Slug]: StepMeta<AwaitedReturn<THandler>[], TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
243
488
|
}, StepDependencies & {
|
|
244
489
|
[K in Slug]: [];
|
|
245
|
-
}>;
|
|
246
|
-
map<Slug extends string, TArrayDep extends Extract<keyof Steps, string>, THandler>(opts: Simplify<{
|
|
490
|
+
}, TEnv>;
|
|
491
|
+
map<Slug extends string, TArrayDep extends Extract<keyof Steps, string>, THandler extends Steps[TArrayDep]['output'] extends readonly (infer Item)[] ? (item: Item, context: FlowContext<TEnv, TFlowInput> & TContext) => Json | Promise<Json> : never, TWhenUnmet extends WhenUnmetMode | undefined = undefined, TRetries extends RetriesExhaustedMode | undefined = undefined>(opts: Simplify<{
|
|
247
492
|
slug: Slug extends keyof Steps ? never : Slug;
|
|
248
493
|
array: TArrayDep;
|
|
249
|
-
|
|
250
|
-
|
|
494
|
+
retriesExhausted?: TRetries;
|
|
495
|
+
} & ((WithIfCondition<{
|
|
496
|
+
[K in TArrayDep]: Steps[K]['output'];
|
|
497
|
+
}> & {
|
|
498
|
+
whenUnmet?: TWhenUnmet;
|
|
499
|
+
}) | (WithIfNotCondition<{
|
|
500
|
+
[K in TArrayDep]: Steps[K]['output'];
|
|
501
|
+
}> & {
|
|
502
|
+
whenUnmet?: TWhenUnmet;
|
|
503
|
+
}) | WithoutCondition) & Omit<BaseStepRuntimeOptions, 'retriesExhausted'>>, handler: THandler): Flow<TFlowInput, TContext, Steps & {
|
|
504
|
+
[K in Slug]: StepMeta<AwaitedReturn<THandler>[], TWhenUnmet extends 'skip' | 'skip-cascade' ? true : TRetries extends 'skip' | 'skip-cascade' ? true : false>;
|
|
251
505
|
}, StepDependencies & {
|
|
252
506
|
[K in Slug]: [TArrayDep];
|
|
253
|
-
}>;
|
|
507
|
+
}, TEnv>;
|
|
254
508
|
}
|
|
255
509
|
export {};
|
|
256
510
|
//# sourceMappingURL=dsl.d.ts.map
|
package/dist/dsl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,IAAI,EAAE,GACN;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAG5B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC9D,kBAAkB,CAAC,CAAC,CAAC,EAAE,GACvB,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,CAAC,CAAC;AAKN,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAClE,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GACrC,CAAC,GACD,KAAK,CAAC;AAOV,MAAM,WAAW,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAGD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAKpD,MAAM,WAAW,OAAQ,SAAQ,GAAG;CAAG;AAOvC,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC5B,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC;AAI7B,MAAM,WAAW,QAAQ,CACvB,OAAO,GAAG,SAAS,EACnB,UAAU,SAAS,OAAO,GAAG,OAAO;IAEpC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAGhD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAM/C;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACtE,MAAM,EAAE,EACR,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,KAAK,CACZ,GACG,EAAE,GACF,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,OAAO,IAAI;KAChD,CAAC,IAAI,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;CACnE,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACvE,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,KAAK,CACZ,GACG;KACG,CAAC,IAAI,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,GACvD,CAAC,GACD,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;CAC1C,GACD,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACtE,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,GAAG,EACT,MAAM,KAAK,CACZ,GACG;KAAG,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;CAAE,GACpC,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACzE,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,GAAG,EACT,MAAM,KAAK,CACZ,GACG,EAAE,GACF,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACrE,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,KAAK,CACZ,GACG,EAAE,GACF,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACpE,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,IAAI,CACX,GACG,IAAI,GACJ,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACxE,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,GAAG,EACT,MAAM,GAAG,EACT,MAAM,IAAI,CACX,GACG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GACtB,KAAK,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,OAAO,EACjB,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACnE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAChC,iBAAiB,GACjB,aAAa,SAAS,kBAAkB,CAAC,CAAC,CAAC,GACzC,CAAC,GACD,KAAK,CAAC;AAEV;;;GAGG;AACH,KAAK,UAAU,CACb,KAAK,SAAS,OAAO,EACrB,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,MAAM,eAAe,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GACzC,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,OAAO,IAAI;KACvD,CAAC,IAAI,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,GACnD,CAAC,SAAS,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GACpE,KAAK,GACL,CAAC,GACH,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAMF,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,OAAO,EACrB,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAC/C,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAClC,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,OAAO,EACrB,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAClD,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAClD,KAAK,CAAC;AAGV,KAAK,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,SAAS,SAAS,MAAM,IAAI;KAClE,CAAC,IAAI,OAAO,CACX,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC7B,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAC7B,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,GAChD,KAAK,GACL,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,SAAS,SAAS,MAAM,IAAI;KAClE,CAAC,IAAI,OAAO,CACX,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC7B,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAC7B,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,GAChD,CAAC,GACD,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CACnB,KAAK,SAAS,OAAO,EACrB,SAAS,SAAS,MAAM,IACtB,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,KAAK,GAC1C,gBAAgB,CAAC,KAAK,CAAC,GACvB,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAG9E,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;CACf;AAGD,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,OAAO;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,GAAG,GAAG,GAAG;IACjD,GAAG,EAAE,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,cAAc,EAAE,WAAW,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW,CAC1B,IAAI,SAAS,GAAG,GAAG,GAAG,EACtB,UAAU,SAAS,QAAQ,GAAG,QAAQ,CACtC,SAAQ,WAAW,CAAC,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAChC;AAGD,MAAM,MAAM,OAAO,CACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACzD,IAAI,SAAS,GAAG,GAAG,GAAG,IACpB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAEpE;;;;GAIG;AACH,KAAK,yBAAyB,CAC5B,MAAM,SAAS,QAAQ,EACvB,KAAK,SAAS,MAAM,IAClB;KACD,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,MAAM,GACjC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,GACjC,KAAK,GACL,CAAC,GACH,CAAC,GAAG,CAAC,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK;CAC7D,GAAG;KACD,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,MAAM,GACjC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,GACjC,CAAC,GACD,KAAK,GACP,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK;CAClE,CAAC;AAIF,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;;;;OAiBG;IACH,EAAE,CAAC,EAAE,IAAI,CAAC;IAEV;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAGD,UAAU,sBAAuB,SAAQ,cAAc;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;;GAGG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,KAAK,gBAAgB,GAAG;IACtB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,KAAK,aAAa,CAAC,CAAC,IAChB,eAAe,CAAC,CAAC,CAAC,GAClB,kBAAkB,CAAC,CAAC,CAAC,GACrB,gBAAgB,CAAC;AAGrB,MAAM,MAAM,eAAe,CAAC,UAAU,IAAI,sBAAsB,GAC9D,aAAa,CAAC,UAAU,CAAC,CAAC;AAG5B,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,sBAAsB,GAC9D,aAAa,CAAC,KAAK,CAAC,CAAC;AAGvB,MAAM,WAAW,cAAc,CAC7B,MAAM,SAAS,QAAQ,EACvB,OAAO,SAAS,SAAS,EACzB,QAAQ,GAAG,WAAW;IAEtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC7B;AAGD,qBAAa,IAAI,CACf,UAAU,SAAS,QAAQ,GAAG,QAAQ,EAEtC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,8DAA8D;AAC7G,KAAK,SAAS,QAAQ,GAAG,UAAU,EACnC,gBAAgB,SAAS,OAAO,GAAG,SAAS,EAC5C,IAAI,SAAS,GAAG,GAAG,GAAG;IAEtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAAsD;IAC7E,SAAgB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,cAAc,CAAC;gBAGtC,MAAM,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC,EACnD,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAM,EACzE,SAAS,GAAE,MAAM,EAAO;IAkB1B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,QAAQ,SAAS,MAAM,KAAK,GAAG,MAAM,gBAAgB,EACrE,IAAI,EAAE,QAAQ,GACb,cAAc,CACf,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,GAC/C,UAAU,GACV,QAAQ,CACN;SACG,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,KAAK,GAC7D,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,GAChC,KAAK,GACL,CAAC,GACH,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK;KAC/D,GAAG;SACD,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,KAAK,GAC7D,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,GAChC,CAAC,GACD,KAAK,GACP,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK;KAChE,CACF,EAAE,sDAAsD;IAC7D,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACzB,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,CACzC;IAcD,IAAI,CACF,IAAI,SAAS,MAAM,EACnB,OAAO,EACP,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,SAAS,CAAC,EAAE,KAAK,CAAC;QAClB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC1D,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC7D,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,CACP,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,OAAO,CAAC,OAAO,CAAC,EAChB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,EAAE;KAAE,EACtC,IAAI,CACL;IAOD,IAAI,CACF,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,EACzC,OAAO,EACP,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG;QACnE,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAC,GACF,CAAC,kBAAkB,CACjB,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CACjD,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC/B,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,CACP,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACtD,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,OAAO,CAAC,OAAO,CAAC,EAChB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE;KAAE,EAC1C,IAAI,CACL;IA+DD;;;;;;;;;;;;OAYG;IAIH,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,SAAS,GAAG,EAAE,EAC9B,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,SAAS,CAAC,EAAE,KAAK,CAAC;QAClB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC1D,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC7D,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,CACP,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,OAAO,CAAC,OAAO,CAAC,EAChB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,EAAE;KAAE,EACtC,IAAI,CACL;IAMD,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,EACzC,OAAO,SAAS,SAAS,GAAG,EAAE,EAC9B,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG;QACnE,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAC,GACF,CAAC,kBAAkB,CACjB,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CACjD,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC/B,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,CACP,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACtD,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,OAAO,CAAC,OAAO,CAAC,EAChB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE;KAAE,EAC1C,IAAI,CACL;IAQD;;;;;;;;;;OAUG;IAIH,GAAG,CACD,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,UAAU,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACvD,CACE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzB,KAAK,EACT,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC1D,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAC7D,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,QAAQ,GAChB,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,aAAa,CAAC,QAAQ,CAAC,EAAE,EACzB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,EAAE;KAAE,EACtC,IAAI,CACL;IAKD,GAAG,CACD,IAAI,SAAS,MAAM,EACnB,SAAS,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,EAC9C,QAAQ,SAAS,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACvE,CACE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,QAAQ,KAC9C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzB,KAAK,EACT,UAAU,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EACxD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,QAAQ,CACZ;QACE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9C,KAAK,EAAE,SAAS,CAAC;QACjB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;KAC7B,GAAG,CACA,CAAC,eAAe,CAAC;SAAG,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KAAE,CAAC,GAAG;QAC3D,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAC,GACF,CAAC,kBAAkB,CAAC;SAAG,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KAAE,CAAC,GAAG;QAC9D,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAC,GACF,gBAAgB,CACnB,GACC,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CACnD,EACD,OAAO,EAAE,QAAQ,GAChB,IAAI,CACL,UAAU,EACV,QAAQ,EACR,KAAK,GAAG;SACL,CAAC,IAAI,IAAI,GAAG,QAAQ,CACnB,aAAa,CAAC,QAAQ,CAAC,EAAE,EACzB,UAAU,SAAS,MAAM,GAAG,cAAc,GACtC,IAAI,GACJ,QAAQ,SAAS,MAAM,GAAG,cAAc,GACxC,IAAI,GACJ,KAAK,CACV;KACF,EACD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC;KAAE,EAC/C,IAAI,CACL;CAyEF"}
|
package/dist/dsl.js
CHANGED
|
@@ -27,6 +27,12 @@ export class Flow {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get a specific step definition by slug with proper typing
|
|
30
|
+
*
|
|
31
|
+
* Returns the step definition with asymmetric input typing:
|
|
32
|
+
* - Root steps (no dependencies): input is flowInput directly
|
|
33
|
+
* - Dependent steps: input is deps object only (flowInput available via context)
|
|
34
|
+
* - Skippable deps are optional, required deps are required
|
|
35
|
+
*
|
|
30
36
|
* @throws Error if the step with the given slug doesn't exist
|
|
31
37
|
*/
|
|
32
38
|
getStepDefinition(slug) {
|
|
@@ -34,12 +40,9 @@ export class Flow {
|
|
|
34
40
|
if (!(slug in this.stepDefinitions)) {
|
|
35
41
|
throw new Error(`Step "${String(slug)}" does not exist in flow "${this.slug}"`);
|
|
36
42
|
}
|
|
37
|
-
// Use a type assertion directive to tell TypeScript that this is safe
|
|
38
|
-
// @ts-expect-error The type system cannot track that this.stepDefinitions[slug] has the correct type
|
|
39
|
-
// but we know it's safe because we only add steps through the strongly-typed `step` method
|
|
40
43
|
return this.stepDefinitions[slug];
|
|
41
44
|
}
|
|
42
|
-
//
|
|
45
|
+
// Implementation (type safety enforced by overloads above)
|
|
43
46
|
step(opts, handler) {
|
|
44
47
|
const slug = opts.slug;
|
|
45
48
|
// Validate the step slug
|
|
@@ -66,12 +69,20 @@ export class Flow {
|
|
|
66
69
|
options.timeout = opts.timeout;
|
|
67
70
|
if (opts.startDelay !== undefined)
|
|
68
71
|
options.startDelay = opts.startDelay;
|
|
72
|
+
if (opts.if !== undefined)
|
|
73
|
+
options.if = opts.if;
|
|
74
|
+
if (opts.ifNot !== undefined)
|
|
75
|
+
options.ifNot = opts.ifNot;
|
|
76
|
+
if (opts.whenUnmet !== undefined)
|
|
77
|
+
options.whenUnmet = opts.whenUnmet;
|
|
78
|
+
if (opts.retriesExhausted !== undefined)
|
|
79
|
+
options.retriesExhausted = opts.retriesExhausted;
|
|
69
80
|
// Validate runtime options (optional for step level)
|
|
70
81
|
validateRuntimeOptions(options, { optional: true });
|
|
71
|
-
//
|
|
82
|
+
// Create step definition (type assertions needed due to complex generic constraints)
|
|
72
83
|
const newStepDefinition = {
|
|
73
84
|
slug,
|
|
74
|
-
handler
|
|
85
|
+
handler,
|
|
75
86
|
dependencies: dependencies,
|
|
76
87
|
options,
|
|
77
88
|
};
|
|
@@ -82,24 +93,10 @@ export class Flow {
|
|
|
82
93
|
// Create a new stepOrder array with the new slug appended
|
|
83
94
|
const newStepOrder = [...this.stepOrder, slug];
|
|
84
95
|
// Create a new flow with the same slug and options but with updated type parameters
|
|
85
|
-
//
|
|
86
|
-
// between the specific step definition types and the generic Flow type parameters
|
|
87
|
-
// This is safe because we're constructing the newStepDefinitions in a type-safe way above
|
|
96
|
+
// Type safety is enforced by the overload signatures above
|
|
88
97
|
return new Flow({ slug: this.slug, ...this.options }, newStepDefinitions, newStepOrder);
|
|
89
98
|
}
|
|
90
|
-
|
|
91
|
-
* Add an array-returning step to the flow with compile-time type safety
|
|
92
|
-
*
|
|
93
|
-
* This method provides semantic clarity and type enforcement for steps that return arrays,
|
|
94
|
-
* while maintaining full compatibility with the existing step system by delegating to `.step()`.
|
|
95
|
-
*
|
|
96
|
-
* @template Slug - The unique identifier for this step
|
|
97
|
-
* @template THandler - The handler function that must return an array or Promise<array>
|
|
98
|
-
* @template Deps - The step dependencies (must be existing step slugs)
|
|
99
|
-
* @param opts - Step configuration including slug, dependencies, and runtime options
|
|
100
|
-
* @param handler - Function that processes input and returns an array
|
|
101
|
-
* @returns A new Flow instance with the array step added
|
|
102
|
-
*/
|
|
99
|
+
// Implementation
|
|
103
100
|
array(opts, handler) {
|
|
104
101
|
// Delegate to existing .step() method for maximum code reuse
|
|
105
102
|
return this.step(opts, handler);
|
|
@@ -136,6 +133,14 @@ export class Flow {
|
|
|
136
133
|
options.timeout = opts.timeout;
|
|
137
134
|
if (opts.startDelay !== undefined)
|
|
138
135
|
options.startDelay = opts.startDelay;
|
|
136
|
+
if (opts.if !== undefined)
|
|
137
|
+
options.if = opts.if;
|
|
138
|
+
if (opts.ifNot !== undefined)
|
|
139
|
+
options.ifNot = opts.ifNot;
|
|
140
|
+
if (opts.whenUnmet !== undefined)
|
|
141
|
+
options.whenUnmet = opts.whenUnmet;
|
|
142
|
+
if (opts.retriesExhausted !== undefined)
|
|
143
|
+
options.retriesExhausted = opts.retriesExhausted;
|
|
139
144
|
// Validate runtime options
|
|
140
145
|
validateRuntimeOptions(options, { optional: true });
|
|
141
146
|
// Create the map step definition with stepType
|
package/dist/example-flow.d.ts
CHANGED
|
@@ -3,21 +3,21 @@ type Input = {
|
|
|
3
3
|
url: string;
|
|
4
4
|
};
|
|
5
5
|
export declare const AnalyzeWebsite: Flow<Input, {}, import("./dsl.js").EmptySteps & {
|
|
6
|
-
website: {
|
|
6
|
+
website: import("./dsl.js").StepMeta<{
|
|
7
7
|
content: string;
|
|
8
|
-
}
|
|
8
|
+
}, false>;
|
|
9
9
|
} & {
|
|
10
|
-
sentiment: {
|
|
10
|
+
sentiment: import("./dsl.js").StepMeta<{
|
|
11
11
|
score: number;
|
|
12
|
-
}
|
|
12
|
+
}, false>;
|
|
13
13
|
} & {
|
|
14
|
-
summary: {
|
|
14
|
+
summary: import("./dsl.js").StepMeta<{
|
|
15
15
|
aiSummary: string;
|
|
16
|
-
}
|
|
16
|
+
}, false>;
|
|
17
17
|
} & {
|
|
18
|
-
saveToDb: string
|
|
18
|
+
saveToDb: import("./dsl.js").StepMeta<string, false>;
|
|
19
19
|
}, import("./dsl.js").EmptyDeps & {
|
|
20
|
-
website:
|
|
20
|
+
website: [];
|
|
21
21
|
} & {
|
|
22
22
|
sentiment: "website"[];
|
|
23
23
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-flow.d.ts","sourceRoot":"","sources":["../src/example-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"example-flow.d.ts","sourceRoot":"","sources":["../src/example-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;0BAiCxB,CAAC"}
|