ai-workflows 2.1.1 → 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 +17 -1
- package/README.md +305 -184
- package/dist/barrier.d.ts +159 -0
- package/dist/barrier.d.ts.map +1 -0
- package/dist/barrier.js +377 -0
- package/dist/barrier.js.map +1 -0
- package/dist/cascade-context.d.ts +149 -0
- package/dist/cascade-context.d.ts.map +1 -0
- package/dist/cascade-context.js +324 -0
- package/dist/cascade-context.js.map +1 -0
- package/dist/cascade-executor.d.ts +196 -0
- package/dist/cascade-executor.d.ts.map +1 -0
- package/dist/cascade-executor.js +384 -0
- package/dist/cascade-executor.js.map +1 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +27 -8
- 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/dependency-graph.d.ts +157 -0
- package/dist/dependency-graph.d.ts.map +1 -0
- package/dist/dependency-graph.js +382 -0
- package/dist/dependency-graph.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/every.d.ts +31 -2
- package/dist/every.d.ts.map +1 -1
- package/dist/every.js +63 -32
- package/dist/every.js.map +1 -1
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +8 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/topological-sort.d.ts +121 -0
- package/dist/graph/topological-sort.d.ts.map +1 -0
- package/dist/graph/topological-sort.js +292 -0
- package/dist/graph/topological-sort.js.map +1 -0
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -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 +35 -10
- package/dist/on.d.ts.map +1 -1
- package/dist/on.js +53 -19
- 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 +77 -0
- package/dist/timer-registry.d.ts.map +1 -0
- package/dist/timer-registry.js +154 -0
- package/dist/timer-registry.js.map +1 -0
- package/dist/types.d.ts +105 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -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 +136 -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 +21 -4
- package/src/__tests__/digital-objects-adapter.test.ts +274 -0
- package/src/__tests__/durable-workflow.test.ts +297 -0
- package/src/barrier.ts +507 -0
- package/src/cascade-context.ts +495 -0
- package/src/cascade-executor.ts +588 -0
- package/src/context.ts +51 -17
- package/src/cron-parser.ts +347 -0
- package/src/cron-scheduler.ts +239 -0
- package/src/database-context.ts +658 -0
- package/src/dependency-graph.ts +518 -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/every.ts +104 -35
- package/src/graph/index.ts +19 -0
- package/src/graph/topological-sort.ts +412 -0
- package/src/index.ts +147 -0
- package/src/logger.ts +148 -0
- package/src/on.ts +81 -26
- package/src/runtime.ts +436 -0
- package/src/send.ts +4 -5
- package/src/telemetry.ts +577 -0
- package/src/timer-registry.ts +179 -0
- package/src/types.ts +146 -10
- 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 +199 -355
- package/test/barrier-join.test.ts +442 -0
- package/test/barrier-unhandled-rejections.test.ts +359 -0
- package/test/cascade-context.test.ts +390 -0
- package/test/cascade-executor.test.ts +852 -0
- 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/dependency-graph.test.ts +512 -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/graph/topological-sort.test.ts +586 -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 +353 -0
- package/test/send-race-conditions.test.ts +400 -0
- package/test/type-safety-every.test.ts +303 -0
- 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 -7
- 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
package/dist/types.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for ai-workflows
|
|
3
3
|
*/
|
|
4
|
+
import type { WorkflowContextType } from '@org.ai/types';
|
|
4
5
|
/**
|
|
5
6
|
* Handler function with source code for remote execution
|
|
6
7
|
*/
|
|
7
8
|
export interface HandlerFunction<T = unknown> {
|
|
8
9
|
/** The actual function */
|
|
9
|
-
fn: (...args:
|
|
10
|
+
fn: (...args: unknown[]) => void | Promise<void>;
|
|
10
11
|
/** Source code string for remote execution */
|
|
11
12
|
source: string;
|
|
12
13
|
/** Handler name (for debugging) */
|
|
@@ -19,6 +20,9 @@ export interface HandlerFunction<T = unknown> {
|
|
|
19
20
|
* Generic order follows Promise<T> convention:
|
|
20
21
|
* - TOutput (first) is what the handler returns
|
|
21
22
|
* - TInput (second) is what the handler receives
|
|
23
|
+
*
|
|
24
|
+
* Note: Uses WorkflowContext (extends WorkflowContextType from @org.ai/types)
|
|
25
|
+
* for workflow-specific features like OnProxy, EveryProxy, getState, log.
|
|
22
26
|
*/
|
|
23
27
|
export type EventHandler<TOutput = unknown, TInput = unknown> = (data: TInput, $: WorkflowContext) => TOutput | void | Promise<TOutput | void>;
|
|
24
28
|
/**
|
|
@@ -26,14 +30,21 @@ export type EventHandler<TOutput = unknown, TInput = unknown> = (data: TInput, $
|
|
|
26
30
|
*/
|
|
27
31
|
export type ScheduleHandler = ($: WorkflowContext) => void | Promise<void>;
|
|
28
32
|
/**
|
|
29
|
-
* Workflow context ($) passed to handlers
|
|
33
|
+
* Workflow context ($) passed to handlers.
|
|
34
|
+
* Extends WorkflowContextType from @org.ai/types with workflow-specific features.
|
|
30
35
|
*/
|
|
31
|
-
export interface WorkflowContext {
|
|
36
|
+
export interface WorkflowContext extends WorkflowContextType {
|
|
37
|
+
/**
|
|
38
|
+
* Track an event (fire and forget)
|
|
39
|
+
* Best effort, no confirmation, swallows errors
|
|
40
|
+
* Use for telemetry and non-critical events
|
|
41
|
+
*/
|
|
42
|
+
track: (event: string, data: unknown) => void;
|
|
32
43
|
/**
|
|
33
|
-
* Send an event (
|
|
34
|
-
*
|
|
44
|
+
* Send an event (durable)
|
|
45
|
+
* Guaranteed delivery, returns trackable EventId
|
|
35
46
|
*/
|
|
36
|
-
send: <T = unknown>(event: string, data: T) =>
|
|
47
|
+
send: <T = unknown>(event: string, data: T) => string;
|
|
37
48
|
/**
|
|
38
49
|
* Do an action (durable, waits for result)
|
|
39
50
|
* Retries on failure, stores result durably
|
|
@@ -207,6 +218,42 @@ export type EveryProxy = {
|
|
|
207
218
|
weeks: (value: number) => (handler: ScheduleHandler) => void;
|
|
208
219
|
[key: string]: ((handler: ScheduleHandler) => void) | ((value: number) => (handler: ScheduleHandler) => void) | DayScheduleProxy;
|
|
209
220
|
};
|
|
221
|
+
/**
|
|
222
|
+
* Callable target type for EveryProxy
|
|
223
|
+
* Used as a properly-typed Proxy target that supports both call and property access
|
|
224
|
+
*/
|
|
225
|
+
export type EveryProxyTarget = {
|
|
226
|
+
(description: string, handler: ScheduleHandler): void;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* ProxyHandler type for OnProxy
|
|
230
|
+
* Provides proper typing for the two-level noun.event proxy pattern
|
|
231
|
+
*/
|
|
232
|
+
export interface OnProxyHandler extends ProxyHandler<Record<string, NounEventProxy>> {
|
|
233
|
+
get(target: Record<string, NounEventProxy>, noun: string, receiver: unknown): NounEventProxy;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* ProxyHandler type for the inner noun level (event accessors)
|
|
237
|
+
*/
|
|
238
|
+
export interface NounEventProxyHandler extends ProxyHandler<Record<string, (handler: EventHandler, dependencies?: DependencyConfig) => void>> {
|
|
239
|
+
get(target: Record<string, (handler: EventHandler, dependencies?: DependencyConfig) => void>, event: string, receiver: unknown): (handler: EventHandler, dependencies?: DependencyConfig) => void;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* ProxyHandler type for EveryProxy
|
|
243
|
+
* Handles both function calls and property access for schedule patterns
|
|
244
|
+
*/
|
|
245
|
+
export interface EveryProxyHandler extends ProxyHandler<EveryProxyTarget> {
|
|
246
|
+
get(target: EveryProxyTarget, prop: string, receiver: unknown): unknown;
|
|
247
|
+
apply(target: EveryProxyTarget, thisArg: unknown, args: [string, ScheduleHandler]): void;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* ProxyHandler type for day schedule patterns with time modifiers
|
|
251
|
+
* Handles $.every.Monday.at9am pattern
|
|
252
|
+
*/
|
|
253
|
+
export interface DayScheduleProxyHandler extends ProxyHandler<(handler: ScheduleHandler) => void> {
|
|
254
|
+
get(target: (handler: ScheduleHandler) => void, timeKey: string, receiver: unknown): ((handler: ScheduleHandler) => void) | undefined;
|
|
255
|
+
apply(target: (handler: ScheduleHandler) => void, thisArg: unknown, args: [ScheduleHandler]): void;
|
|
256
|
+
}
|
|
210
257
|
/**
|
|
211
258
|
* Workflow state
|
|
212
259
|
*/
|
|
@@ -227,6 +274,27 @@ export interface WorkflowHistoryEntry {
|
|
|
227
274
|
name: string;
|
|
228
275
|
data?: unknown;
|
|
229
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Dependency type: hard (must succeed) or soft (can proceed on failure)
|
|
279
|
+
*/
|
|
280
|
+
export type DependencyType = 'hard' | 'soft';
|
|
281
|
+
/**
|
|
282
|
+
* Configuration for step dependencies
|
|
283
|
+
*/
|
|
284
|
+
export interface DependencyConfig {
|
|
285
|
+
/**
|
|
286
|
+
* Step(s) that must complete before this step runs
|
|
287
|
+
* Can be a single step ID or array of step IDs
|
|
288
|
+
* Format: 'Noun.event' (e.g., 'Step1.complete')
|
|
289
|
+
*/
|
|
290
|
+
dependsOn: string | string[];
|
|
291
|
+
/**
|
|
292
|
+
* Type of dependency (default: 'hard')
|
|
293
|
+
* - 'hard': Dependency must complete successfully
|
|
294
|
+
* - 'soft': Step can proceed even if dependency fails
|
|
295
|
+
*/
|
|
296
|
+
type?: DependencyType;
|
|
297
|
+
}
|
|
230
298
|
/**
|
|
231
299
|
* Event registration with source
|
|
232
300
|
*/
|
|
@@ -235,6 +303,8 @@ export interface EventRegistration {
|
|
|
235
303
|
event: string;
|
|
236
304
|
handler: EventHandler;
|
|
237
305
|
source: string;
|
|
306
|
+
/** Optional dependency configuration for workflow step ordering */
|
|
307
|
+
dependencies?: DependencyConfig;
|
|
238
308
|
}
|
|
239
309
|
/**
|
|
240
310
|
* Schedule registration with source
|
|
@@ -244,6 +314,35 @@ export interface ScheduleRegistration {
|
|
|
244
314
|
handler: ScheduleHandler;
|
|
245
315
|
source: string;
|
|
246
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Time-based interval types (singular form)
|
|
319
|
+
* Used as discriminant values in ScheduleInterval
|
|
320
|
+
*/
|
|
321
|
+
export type TimeIntervalType = 'second' | 'minute' | 'hour' | 'day' | 'week';
|
|
322
|
+
/**
|
|
323
|
+
* Mapping from plural unit names to their singular interval types
|
|
324
|
+
* Used for type-safe conversion in every.units(value) patterns
|
|
325
|
+
*/
|
|
326
|
+
export type PluralUnitMapping = {
|
|
327
|
+
seconds: 'second';
|
|
328
|
+
minutes: 'minute';
|
|
329
|
+
hours: 'hour';
|
|
330
|
+
days: 'day';
|
|
331
|
+
weeks: 'week';
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* Plural unit keys
|
|
335
|
+
*/
|
|
336
|
+
export type PluralUnitKey = keyof PluralUnitMapping;
|
|
337
|
+
/**
|
|
338
|
+
* Type guard to check if a string is a valid plural unit key
|
|
339
|
+
*/
|
|
340
|
+
export declare function isPluralUnitKey(key: string): key is PluralUnitKey;
|
|
341
|
+
/**
|
|
342
|
+
* Constant mapping object with strict typing
|
|
343
|
+
* Maps plural forms to their singular interval type values
|
|
344
|
+
*/
|
|
345
|
+
export declare const PLURAL_UNITS: Readonly<PluralUnitMapping>;
|
|
247
346
|
/**
|
|
248
347
|
* Schedule intervals
|
|
249
348
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,0BAA0B;IAC1B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for ai-workflows
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Type guard to check if a string is a valid plural unit key
|
|
6
|
+
*/
|
|
7
|
+
export function isPluralUnitKey(key) {
|
|
8
|
+
return (key === 'seconds' || key === 'minutes' || key === 'hours' || key === 'days' || key === 'weeks');
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Constant mapping object with strict typing
|
|
12
|
+
* Maps plural forms to their singular interval type values
|
|
13
|
+
*/
|
|
14
|
+
export const PLURAL_UNITS = {
|
|
15
|
+
seconds: 'second',
|
|
16
|
+
minutes: 'minute',
|
|
17
|
+
hours: 'hour',
|
|
18
|
+
days: 'day',
|
|
19
|
+
weeks: 'week',
|
|
20
|
+
};
|
|
5
21
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoZH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,CACL,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAC/F,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,MAAM;CACL,CAAA"}
|