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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +8 -1
- package/README.md +2 -0
- package/dist/barrier.d.ts +6 -0
- package/dist/barrier.d.ts.map +1 -1
- package/dist/barrier.js +45 -7
- package/dist/barrier.js.map +1 -1
- package/dist/cascade-context.d.ts.map +1 -1
- package/dist/cascade-context.js +25 -25
- package/dist/cascade-context.js.map +1 -1
- package/dist/cascade-executor.d.ts.map +1 -1
- package/dist/cascade-executor.js +1 -1
- package/dist/cascade-executor.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +23 -7
- package/dist/context.js.map +1 -1
- package/dist/cron-parser.d.ts +65 -0
- package/dist/cron-parser.d.ts.map +1 -0
- package/dist/cron-parser.js +294 -0
- package/dist/cron-parser.js.map +1 -0
- package/dist/cron-scheduler.d.ts +117 -0
- package/dist/cron-scheduler.d.ts.map +1 -0
- package/dist/cron-scheduler.js +176 -0
- package/dist/cron-scheduler.js.map +1 -0
- package/dist/database-context.d.ts +184 -0
- package/dist/database-context.d.ts.map +1 -0
- package/dist/database-context.js +428 -0
- package/dist/database-context.js.map +1 -0
- package/dist/digital-objects-adapter.d.ts +159 -0
- package/dist/digital-objects-adapter.d.ts.map +1 -0
- package/dist/digital-objects-adapter.js +229 -0
- package/dist/digital-objects-adapter.js.map +1 -0
- package/dist/durable-execution-cloudflare.d.ts +427 -0
- package/dist/durable-execution-cloudflare.d.ts.map +1 -0
- package/dist/durable-execution-cloudflare.js +510 -0
- package/dist/durable-execution-cloudflare.js.map +1 -0
- package/dist/durable-execution.d.ts +482 -0
- package/dist/durable-execution.d.ts.map +1 -0
- package/dist/durable-execution.js +594 -0
- package/dist/durable-execution.js.map +1 -0
- package/dist/durable-workflow.d.ts +176 -0
- package/dist/durable-workflow.d.ts.map +1 -0
- package/dist/durable-workflow.js +552 -0
- package/dist/durable-workflow.js.map +1 -0
- package/dist/graph/topological-sort.d.ts.map +1 -1
- package/dist/graph/topological-sort.js +5 -5
- package/dist/graph/topological-sort.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +101 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +115 -0
- package/dist/logger.js.map +1 -0
- package/dist/on.d.ts.map +1 -1
- package/dist/on.js +3 -3
- package/dist/on.js.map +1 -1
- package/dist/runtime.d.ts +169 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +275 -0
- package/dist/runtime.js.map +1 -0
- package/dist/send.d.ts.map +1 -1
- package/dist/send.js +4 -3
- package/dist/send.js.map +1 -1
- package/dist/telemetry.d.ts +150 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +388 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/timer-registry.d.ts +25 -0
- package/dist/timer-registry.d.ts.map +1 -1
- package/dist/timer-registry.js +42 -8
- package/dist/timer-registry.js.map +1 -1
- package/dist/types.d.ts +17 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/worker/durable-step.d.ts +481 -0
- package/dist/worker/durable-step.d.ts.map +1 -0
- package/dist/worker/durable-step.js +606 -0
- package/dist/worker/durable-step.js.map +1 -0
- package/dist/worker/index.d.ts +106 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +124 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/state-adapter.d.ts +230 -0
- package/dist/worker/state-adapter.d.ts.map +1 -0
- package/dist/worker/state-adapter.js +409 -0
- package/dist/worker/state-adapter.js.map +1 -0
- package/dist/worker/topological-executor.d.ts +282 -0
- package/dist/worker/topological-executor.d.ts.map +1 -0
- package/dist/worker/topological-executor.js +396 -0
- package/dist/worker/topological-executor.js.map +1 -0
- package/dist/worker/workflow-builder.d.ts +286 -0
- package/dist/worker/workflow-builder.d.ts.map +1 -0
- package/dist/worker/workflow-builder.js +565 -0
- package/dist/worker/workflow-builder.js.map +1 -0
- package/dist/worker.d.ts +800 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +2428 -0
- package/dist/worker.js.map +1 -0
- package/dist/workflow-builder.d.ts +287 -0
- package/dist/workflow-builder.d.ts.map +1 -0
- package/dist/workflow-builder.js +762 -0
- package/dist/workflow-builder.js.map +1 -0
- package/dist/workflow.d.ts +14 -30
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +132 -292
- package/dist/workflow.js.map +1 -1
- package/examples/01-ecommerce-order-pipeline.ts +358 -0
- package/examples/02-content-moderation-cascade.ts +454 -0
- package/examples/03-scheduled-reporting-dependencies.ts +479 -0
- package/examples/04-database-persistence.ts +518 -0
- package/examples/README.md +173 -0
- package/package.json +30 -13
- package/src/__tests__/digital-objects-adapter.test.ts +274 -0
- package/src/__tests__/durable-workflow.test.ts +297 -0
- package/src/barrier.ts +48 -7
- package/src/cascade-context.ts +36 -29
- package/src/cascade-executor.ts +3 -2
- package/src/context.ts +41 -12
- package/src/cron-parser.ts +347 -0
- package/src/cron-scheduler.ts +239 -0
- package/src/database-context.ts +658 -0
- package/src/digital-objects-adapter.ts +351 -0
- package/src/durable-execution-cloudflare.ts +855 -0
- package/src/durable-execution.ts +1042 -0
- package/src/durable-workflow.ts +717 -0
- package/src/graph/topological-sort.ts +6 -8
- package/src/index.ts +69 -0
- package/src/logger.ts +148 -0
- package/src/on.ts +8 -9
- package/src/runtime.ts +436 -0
- package/src/send.ts +4 -5
- package/src/telemetry.ts +577 -0
- package/src/timer-registry.ts +44 -10
- package/src/types.ts +32 -17
- package/src/worker/durable-step.ts +976 -0
- package/src/worker/index.ts +216 -0
- package/src/worker/state-adapter.ts +589 -0
- package/src/worker/topological-executor.ts +625 -0
- package/src/worker/workflow-builder.ts +871 -0
- package/src/worker.ts +2906 -0
- package/src/workflow-builder.ts +1068 -0
- package/src/workflow.ts +188 -351
- package/test/barrier-join.test.ts +32 -24
- package/test/cascade-executor.test.ts +9 -16
- package/test/cron-parser.test.ts +314 -0
- package/test/cron-scheduler.test.ts +291 -0
- package/test/database-context.test.ts +770 -0
- package/test/db-provider-adapter.test.ts +862 -0
- package/test/durable-execution-cloudflare.test.ts +606 -0
- package/test/durable-execution-in-process.test.ts +286 -0
- package/test/durable-execution.test.ts +247 -0
- package/test/e2e/workflow-scenarios.e2e.test.ts +1039 -0
- package/test/integration.test.ts +442 -0
- package/test/rpc-surface.test.ts +946 -0
- package/test/runtime.test.ts +262 -0
- package/test/schedule-timer-cleanup.test.ts +30 -21
- package/test/send-race-conditions.test.ts +30 -40
- package/test/worker/durable-cascade.test.ts +1117 -0
- package/test/worker/durable-step.test.ts +723 -0
- package/test/worker/topological-executor.test.ts +1240 -0
- package/test/worker/workflow-builder.test.ts +1067 -0
- package/test/worker.test.ts +608 -0
- package/test/workflow-builder.test.ts +1670 -0
- package/test/workflow-cron.test.ts +256 -0
- package/test/workflow-state-adapter.test.ts +923 -0
- package/test/workflow.test.ts +25 -22
- package/tsconfig.json +3 -1
- package/vitest.config.ts +38 -1
- package/vitest.workers.config.ts +44 -0
- package/wrangler.jsonc +22 -0
- package/.turbo/turbo-test.log +0 -169
- package/LICENSE +0 -21
- package/src/context.js +0 -83
- package/src/every.js +0 -267
- package/src/index.js +0 -71
- package/src/on.js +0 -79
- package/src/send.js +0 -111
- package/src/types.js +0 -4
- package/src/workflow.js +0 -455
- package/test/context.test.js +0 -116
- package/test/every.test.js +0 -282
- package/test/on.test.js +0 -80
- package/test/send.test.js +0 -89
- package/test/workflow.test.js +0 -224
- 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":"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"}
|