@pgflow/dsl 0.0.0-add-workerconfig-to-context--20250905094004-b98e1fec-20250905074005 → 0.0.0-array-map-steps-302d00a8-20250922101336

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 CHANGED
@@ -73,6 +73,78 @@ This design ensures:
73
73
  - Data doesn't need to be manually forwarded through intermediate steps
74
74
  - Steps can combine original input with processed data from previous steps
75
75
 
76
+ ### Step Methods
77
+
78
+ The Flow DSL provides three methods for defining steps in your workflow:
79
+
80
+ #### `.step()` - Regular Steps
81
+
82
+ The standard method for adding steps to a flow. Each step processes input and returns output.
83
+
84
+ ```typescript
85
+ .step(
86
+ { slug: 'process', dependsOn: ['previous'] },
87
+ async (input) => {
88
+ // Access input.run and input.previous
89
+ return { result: 'processed' };
90
+ }
91
+ )
92
+ ```
93
+
94
+ #### `.array()` - Array-Returning Steps
95
+
96
+ A semantic wrapper around `.step()` that provides type enforcement for steps that return arrays. Useful for data fetching or collection steps.
97
+
98
+ ```typescript
99
+ .array(
100
+ { slug: 'fetch_items' },
101
+ async () => [1, 2, 3, 4, 5]
102
+ )
103
+ ```
104
+
105
+ #### `.map()` - Array Processing Steps
106
+
107
+ Processes arrays element-by-element, similar to JavaScript's `Array.map()`. The handler receives individual items instead of the full input object.
108
+
109
+ ```typescript
110
+ // Root map - processes flow input array
111
+ new Flow<string[]>({ slug: 'process_strings' })
112
+ .map({ slug: 'uppercase' }, (item) => item.toUpperCase());
113
+
114
+ // Dependent map - processes another step's output
115
+ new Flow<{}>({ slug: 'data_pipeline' })
116
+ .array({ slug: 'numbers' }, () => [1, 2, 3])
117
+ .map({ slug: 'double', array: 'numbers' }, (n) => n * 2)
118
+ .map({ slug: 'square', array: 'double' }, (n) => n * n);
119
+ ```
120
+
121
+ **Key differences from regular steps:**
122
+ - Uses `array:` instead of `dependsOn:` for specifying the single array dependency
123
+ - Handler signature is `(item, context) => result` instead of `(input, context) => result`
124
+ - Return type is always an array
125
+ - Generates SQL with `step_type => 'map'` parameter for pgflow's map processing
126
+
127
+ **Type Safety:**
128
+ The `.map()` method provides full TypeScript type inference for array elements:
129
+
130
+ ```typescript
131
+ type User = { id: number; name: string };
132
+
133
+ new Flow<{}>({ slug: 'user_flow' })
134
+ .array({ slug: 'users' }, (): User[] => [
135
+ { id: 1, name: 'Alice' },
136
+ { id: 2, name: 'Bob' }
137
+ ])
138
+ .map({ slug: 'greet', array: 'users' }, (user) => {
139
+ // TypeScript knows user is of type User
140
+ return `Hello, ${user.name} (ID: ${user.id})`;
141
+ });
142
+ ```
143
+
144
+ **Limitations:**
145
+ - Can only depend on a single array-returning step
146
+ - TypeScript may not track type transformations between chained maps (use type assertions if needed)
147
+
76
148
  ### Context Object
77
149
 
78
150
  Step handlers can optionally receive a second parameter - the **context object** - which provides access to platform resources and runtime information.
@@ -114,6 +186,11 @@ All platforms provide these core resources:
114
186
  msg_id: number;
115
187
  }
116
188
  ```
189
+ - **`context.workerConfig`** - Resolved worker configuration with all defaults applied
190
+ ```typescript
191
+ // Provides access to worker settings like retry limits
192
+ const isLastAttempt = context.rawMessage.read_ct >= context.workerConfig.retry.limit;
193
+ ```
117
194
 
118
195
  #### Supabase Platform Resources
119
196
 
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @pgflow/dsl
2
2
 
3
+ ## 0.6.1
4
+
3
5
  ## 0.6.0
4
6
 
5
7
  ### Minor Changes
package/dist/README.md CHANGED
@@ -73,6 +73,78 @@ This design ensures:
73
73
  - Data doesn't need to be manually forwarded through intermediate steps
74
74
  - Steps can combine original input with processed data from previous steps
75
75
 
76
+ ### Step Methods
77
+
78
+ The Flow DSL provides three methods for defining steps in your workflow:
79
+
80
+ #### `.step()` - Regular Steps
81
+
82
+ The standard method for adding steps to a flow. Each step processes input and returns output.
83
+
84
+ ```typescript
85
+ .step(
86
+ { slug: 'process', dependsOn: ['previous'] },
87
+ async (input) => {
88
+ // Access input.run and input.previous
89
+ return { result: 'processed' };
90
+ }
91
+ )
92
+ ```
93
+
94
+ #### `.array()` - Array-Returning Steps
95
+
96
+ A semantic wrapper around `.step()` that provides type enforcement for steps that return arrays. Useful for data fetching or collection steps.
97
+
98
+ ```typescript
99
+ .array(
100
+ { slug: 'fetch_items' },
101
+ async () => [1, 2, 3, 4, 5]
102
+ )
103
+ ```
104
+
105
+ #### `.map()` - Array Processing Steps
106
+
107
+ Processes arrays element-by-element, similar to JavaScript's `Array.map()`. The handler receives individual items instead of the full input object.
108
+
109
+ ```typescript
110
+ // Root map - processes flow input array
111
+ new Flow<string[]>({ slug: 'process_strings' })
112
+ .map({ slug: 'uppercase' }, (item) => item.toUpperCase());
113
+
114
+ // Dependent map - processes another step's output
115
+ new Flow<{}>({ slug: 'data_pipeline' })
116
+ .array({ slug: 'numbers' }, () => [1, 2, 3])
117
+ .map({ slug: 'double', array: 'numbers' }, (n) => n * 2)
118
+ .map({ slug: 'square', array: 'double' }, (n) => n * n);
119
+ ```
120
+
121
+ **Key differences from regular steps:**
122
+ - Uses `array:` instead of `dependsOn:` for specifying the single array dependency
123
+ - Handler signature is `(item, context) => result` instead of `(input, context) => result`
124
+ - Return type is always an array
125
+ - Generates SQL with `step_type => 'map'` parameter for pgflow's map processing
126
+
127
+ **Type Safety:**
128
+ The `.map()` method provides full TypeScript type inference for array elements:
129
+
130
+ ```typescript
131
+ type User = { id: number; name: string };
132
+
133
+ new Flow<{}>({ slug: 'user_flow' })
134
+ .array({ slug: 'users' }, (): User[] => [
135
+ { id: 1, name: 'Alice' },
136
+ { id: 2, name: 'Bob' }
137
+ ])
138
+ .map({ slug: 'greet', array: 'users' }, (user) => {
139
+ // TypeScript knows user is of type User
140
+ return `Hello, ${user.name} (ID: ${user.id})`;
141
+ });
142
+ ```
143
+
144
+ **Limitations:**
145
+ - Can only depend on a single array-returning step
146
+ - TypeScript may not track type transformations between chained maps (use type assertions if needed)
147
+
76
148
  ### Context Object
77
149
 
78
150
  Step handlers can optionally receive a second parameter - the **context object** - which provides access to platform resources and runtime information.
@@ -114,6 +186,11 @@ All platforms provide these core resources:
114
186
  msg_id: number;
115
187
  }
116
188
  ```
189
+ - **`context.workerConfig`** - Resolved worker configuration with all defaults applied
190
+ ```typescript
191
+ // Provides access to worker settings like retry limits
192
+ const isLastAttempt = context.rawMessage.read_ct >= context.workerConfig.retry.limit;
193
+ ```
117
194
 
118
195
  #### Supabase Platform Resources
119
196
 
@@ -1 +1 @@
1
- {"version":3,"file":"compile-flow.d.ts","sourceRoot":"","sources":["../src/compile-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAEvE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAyBnD"}
1
+ {"version":3,"file":"compile-flow.d.ts","sourceRoot":"","sources":["../src/compile-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAEvE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CA+BnD"}
@@ -20,7 +20,12 @@ export function compileFlow(flow) {
20
20
  const depsArray = step.dependencies.map((dep) => `'${dep}'`).join(', ');
21
21
  depsClause = `, ARRAY[${depsArray}]`;
22
22
  }
23
- statements.push(`SELECT pgflow.add_step('${flow.slug}', '${step.slug}'${depsClause}${stepOptions});`);
23
+ // Add step_type parameter for map steps
24
+ let stepTypeClause = '';
25
+ if (step.stepType === 'map') {
26
+ stepTypeClause = `, step_type => 'map'`;
27
+ }
28
+ statements.push(`SELECT pgflow.add_step('${flow.slug}', '${step.slug}'${depsClause}${stepOptions}${stepTypeClause});`);
24
29
  }
25
30
  return statements;
26
31
  }
package/dist/dsl.d.ts CHANGED
@@ -106,6 +106,7 @@ export interface StepDefinition<TInput extends AnyInput, TOutput extends AnyOutp
106
106
  handler: (input: TInput, context: TContext) => TOutput | Promise<TOutput>;
107
107
  dependencies: string[];
108
108
  options: StepRuntimeOptions;
109
+ stepType?: 'single' | 'map';
109
110
  }
110
111
  export declare class Flow<TFlowInput extends AnyInput = AnyInput, TContext = BaseContext, // Accumulated context requirements (starts with BaseContext)
111
112
  Steps extends AnySteps = EmptySteps, StepDependencies extends AnyDeps = EmptyDeps> {
@@ -137,13 +138,64 @@ Steps extends AnySteps = EmptySteps, StepDependencies extends AnyDeps = EmptyDep
137
138
  } & {
138
139
  [K in Deps]: K extends keyof Steps ? Steps[K] : never;
139
140
  }>, context: BaseContext & TContext) => any, Deps extends Extract<keyof Steps, string> = never>(opts: Simplify<{
140
- slug: Slug;
141
+ slug: Slug extends keyof Steps ? never : Slug;
141
142
  dependsOn?: Deps[];
142
143
  } & StepRuntimeOptions>, handler: THandler): Flow<TFlowInput, TContext & BaseContext & ExtractHandlerContext<THandler>, Steps & {
143
144
  [K in Slug]: AwaitedReturn<THandler>;
144
145
  }, StepDependencies & {
145
146
  [K in Slug]: Deps[];
146
147
  }>;
148
+ /**
149
+ * Add an array-returning step to the flow with compile-time type safety
150
+ *
151
+ * This method provides semantic clarity and type enforcement for steps that return arrays,
152
+ * while maintaining full compatibility with the existing step system by delegating to `.step()`.
153
+ *
154
+ * @template Slug - The unique identifier for this step
155
+ * @template THandler - The handler function that must return an array or Promise<array>
156
+ * @template Deps - The step dependencies (must be existing step slugs)
157
+ * @param opts - Step configuration including slug, dependencies, and runtime options
158
+ * @param handler - Function that processes input and returns an array
159
+ * @returns A new Flow instance with the array step added
160
+ */
161
+ array<Slug extends string, THandler extends (input: Simplify<{
162
+ run: TFlowInput;
163
+ } & {
164
+ [K in Deps]: K extends keyof Steps ? Steps[K] : never;
165
+ }>, context: BaseContext & TContext) => Array<Json> | Promise<Array<Json>>, Deps extends Extract<keyof Steps, string> = never>(opts: Simplify<{
166
+ slug: Slug extends keyof Steps ? never : Slug;
167
+ dependsOn?: Deps[];
168
+ } & StepRuntimeOptions>, handler: THandler): Flow<TFlowInput, TContext & BaseContext & ExtractHandlerContext<THandler>, Steps & {
169
+ [K in Slug]: AwaitedReturn<THandler>;
170
+ }, StepDependencies & {
171
+ [K in Slug]: Deps[];
172
+ }>;
173
+ /**
174
+ * Add a map step to the flow that processes arrays element by element
175
+ *
176
+ * Map steps apply a handler function to each element of an array, producing
177
+ * a new array with the transformed elements. The handler receives individual
178
+ * array elements, not the full input object.
179
+ *
180
+ * @param opts - Step configuration including slug and optional array dependency
181
+ * @param handler - Function that processes individual array elements
182
+ * @returns A new Flow instance with the map step added
183
+ */
184
+ map<Slug extends string, THandler>(opts: Simplify<{
185
+ slug: Slug extends keyof Steps ? never : Slug;
186
+ } & StepRuntimeOptions>, handler: TFlowInput extends readonly (infer Item)[] ? THandler & ((item: Item, context: BaseContext & TContext) => Json | Promise<Json>) : never): Flow<TFlowInput, TContext & BaseContext, Steps & {
187
+ [K in Slug]: Awaited<ReturnType<THandler & ((item: any, context: any) => any)>>[];
188
+ }, StepDependencies & {
189
+ [K in Slug]: [];
190
+ }>;
191
+ map<Slug extends string, TArrayDep extends Extract<keyof Steps, string>, THandler>(opts: Simplify<{
192
+ slug: Slug extends keyof Steps ? never : Slug;
193
+ array: TArrayDep;
194
+ } & StepRuntimeOptions>, handler: Steps[TArrayDep] extends readonly (infer Item)[] ? THandler & ((item: Item, context: BaseContext & TContext) => Json | Promise<Json>) : never): Flow<TFlowInput, TContext & BaseContext, Steps & {
195
+ [K in Slug]: Awaited<ReturnType<THandler & ((item: any, context: any) => any)>>[];
196
+ }, StepDependencies & {
197
+ [K in Slug]: [TArrayDep];
198
+ }>;
147
199
  }
148
200
  export {};
149
201
  //# 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,GAAG,SAAS,CAAA;CAAE,CAAC;AAGxC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAGpE,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,GACnC,CAAC,GACD,KAAK,CAAC;AAOZ,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;AAG7B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAGjD,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;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAM/C;;;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,CACV,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,CACV,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,CACV,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,CACT,GACG,EAAE,GACF,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,OAAO,IAAI,KAAK,SAAS,IAAI,CACxE,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,GAAG,EACT,MAAM,GAAG,CACV,GACG,EAAE,GACF,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;;;GAGG;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;AAKF,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;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,SAAS,SAAS,MAAM,IAAI;IACvE,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;CAC9B,GAAG;KACD,CAAC,IAAI,OAAO,CACX,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAC7B,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAC7B,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAGF,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,WAAW;IAC1B,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,cAAc,EAAE,WAAW,CAAC;CAC7B;AAGD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;AAGjG,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAG5F,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,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;AAMD,qBAAa,IAAI,CACf,UAAU,SAAS,QAAQ,GAAG,QAAQ,EACtC,QAAQ,GAAG,WAAW,EAAE,6DAA6D;AACrF,KAAK,SAAS,QAAQ,GAAG,UAAU,EACnC,gBAAgB,SAAS,OAAO,GAAG,SAAS;IAE5C;;;;;;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;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,SAAS,MAAM,KAAK,GAAG,MAAM,gBAAgB,EACrE,IAAI,EAAE,QAAQ,GACb,cAAc,CACf,QAAQ,CACN;QACE,GAAG,EAAE,UAAU,CAAC;KACjB,GAAG;SACD,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,KAAK,GAC5D,KAAK,CAAC,CAAC,CAAC,GACR,KAAK;KACV,CACF,EACD,KAAK,CAAC,QAAQ,CAAC,CAChB;IAeD,IAAI,CACF,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,CACf,KAAK,EAAE,QAAQ,CACb;QACE,GAAG,EAAE,UAAU,CAAC;KACjB,GAAG;SACD,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;KACtD,CACF,EACD,OAAO,EAAE,WAAW,GAAG,QAAQ,KAC5B,GAAG,EACR,IAAI,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,EAEjD,IAAI,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,kBAAkB,CAAC,EAC1G,OAAO,EAAE,QAAQ,GAChB,IAAI,CACL,UAAU,EACV,QAAQ,GAAG,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,EACxD,KAAK,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;KAAE,EAChD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE;KAAE,CAC3C;IA0ED;;;;;;;;;;;;OAYG;IACH,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,CACf,KAAK,EAAE,QAAQ,CACb;QACE,GAAG,EAAE,UAAU,CAAC;KACjB,GAAG;SACD,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;KACtD,CACF,EACD,OAAO,EAAE,WAAW,GAAG,QAAQ,KAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EACvC,IAAI,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,EAEjD,IAAI,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,kBAAkB,CAAC,EAC1G,OAAO,EAAE,QAAQ,GAChB,IAAI,CACL,UAAU,EACV,QAAQ,GAAG,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,EACxD,KAAK,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;KAAE,EAChD,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE;KAAE,CAC3C;IAKD;;;;;;;;;;OAUG;IAEH,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,QAAQ,EAC/B,IAAI,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;KAAE,GAAG,kBAAkB,CAAC,EACtF,OAAO,EAAE,UAAU,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GAC/C,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAClF,KAAK,GACR,IAAI,CACL,UAAU,EACV,QAAQ,GAAG,WAAW,EACtB,KAAK,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KAAE,EAC7F,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,EAAE;KAAE,CACvC;IAGD,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,SAAS,SAAS,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAC/E,IAAI,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GAAG,kBAAkB,CAAC,EACxG,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACrD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAClF,KAAK,GACR,IAAI,CACL,UAAU,EACV,QAAQ,GAAG,WAAW,EACtB,KAAK,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KAAE,EAC7F,gBAAgB,GAAG;SAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC;KAAE,CAChD;CA8DF"}
package/dist/dsl.js CHANGED
@@ -87,4 +87,73 @@ export class Flow {
87
87
  // This is safe because we're constructing the newStepDefinitions in a type-safe way above
88
88
  return new Flow({ slug: this.slug, ...this.options }, newStepDefinitions, newStepOrder);
89
89
  }
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
+ */
103
+ array(opts, handler) {
104
+ // Delegate to existing .step() method for maximum code reuse
105
+ return this.step(opts, handler);
106
+ }
107
+ // Implementation
108
+ map(opts, handler) {
109
+ const slug = opts.slug;
110
+ // Validate the step slug
111
+ validateSlug(slug);
112
+ if (this.stepDefinitions[slug]) {
113
+ throw new Error(`Step "${slug}" already exists in flow "${this.slug}"`);
114
+ }
115
+ // Determine dependencies based on whether array is specified
116
+ let dependencies = [];
117
+ const arrayDep = opts.array;
118
+ if (arrayDep) {
119
+ // Dependent map - validate single dependency exists and returns array
120
+ if (!this.stepDefinitions[arrayDep]) {
121
+ throw new Error(`Step "${slug}" depends on undefined step "${arrayDep}"`);
122
+ }
123
+ dependencies = [arrayDep];
124
+ }
125
+ else {
126
+ // Root map - flow input must be an array (type system enforces this)
127
+ dependencies = [];
128
+ }
129
+ // Extract runtime options
130
+ const options = {};
131
+ if (opts.maxAttempts !== undefined)
132
+ options.maxAttempts = opts.maxAttempts;
133
+ if (opts.baseDelay !== undefined)
134
+ options.baseDelay = opts.baseDelay;
135
+ if (opts.timeout !== undefined)
136
+ options.timeout = opts.timeout;
137
+ if (opts.startDelay !== undefined)
138
+ options.startDelay = opts.startDelay;
139
+ // Validate runtime options
140
+ validateRuntimeOptions(options, { optional: true });
141
+ // Create the map step definition with stepType
142
+ // Note: We use AnyInput/AnyOutput here because the actual types are handled at the type level via overloads
143
+ const newStepDefinition = {
144
+ slug,
145
+ handler: handler, // Type assertion needed due to complex generic constraints
146
+ dependencies,
147
+ options,
148
+ stepType: 'map', // Mark this as a map step
149
+ };
150
+ const newStepDefinitions = {
151
+ ...this.stepDefinitions,
152
+ [slug]: newStepDefinition,
153
+ };
154
+ // Create a new stepOrder array with the new slug appended
155
+ const newStepOrder = [...this.stepOrder, slug];
156
+ // Create and return new Flow instance with updated types
157
+ return new Flow({ slug: this.slug, ...this.options }, newStepDefinitions, newStepOrder); // Type assertion handled by overloads
158
+ }
90
159
  }
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/dsl",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/dsl",
3
- "version": "0.0.0-add-workerconfig-to-context--20250905094004-b98e1fec-20250905074005",
3
+ "version": "0.0.0-array-map-steps-302d00a8-20250922101336",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",