@voyant-travel/workflows 0.107.10
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/LICENSE +201 -0
- package/NOTICE +52 -0
- package/README.md +79 -0
- package/dist/auth/index.d.ts +125 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +352 -0
- package/dist/bindings.d.ts +119 -0
- package/dist/bindings.d.ts.map +1 -0
- package/dist/bindings.js +19 -0
- package/dist/client.d.ts +135 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +305 -0
- package/dist/conditions.d.ts +29 -0
- package/dist/conditions.d.ts.map +1 -0
- package/dist/conditions.js +5 -0
- package/dist/config.d.ts +93 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +7 -0
- package/dist/driver.d.ts +237 -0
- package/dist/driver.d.ts.map +1 -0
- package/dist/driver.js +53 -0
- package/dist/errors.d.ts +58 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +76 -0
- package/dist/events/compile.d.ts +34 -0
- package/dist/events/compile.d.ts.map +1 -0
- package/dist/events/compile.js +204 -0
- package/dist/events/index.d.ts +8 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +11 -0
- package/dist/events/input-mapper.d.ts +24 -0
- package/dist/events/input-mapper.d.ts.map +1 -0
- package/dist/events/input-mapper.js +169 -0
- package/dist/events/manifest-builder.d.ts +42 -0
- package/dist/events/manifest-builder.d.ts.map +1 -0
- package/dist/events/manifest-builder.js +313 -0
- package/dist/events/payload-hash.d.ts +46 -0
- package/dist/events/payload-hash.d.ts.map +1 -0
- package/dist/events/payload-hash.js +98 -0
- package/dist/events/predicate.d.ts +77 -0
- package/dist/events/predicate.d.ts.map +1 -0
- package/dist/events/predicate.js +347 -0
- package/dist/events/registry.d.ts +37 -0
- package/dist/events/registry.d.ts.map +1 -0
- package/dist/events/registry.js +47 -0
- package/dist/handler/index.d.ts +114 -0
- package/dist/handler/index.d.ts.map +1 -0
- package/dist/handler/index.js +267 -0
- package/dist/handler/resume.d.ts +41 -0
- package/dist/handler/resume.d.ts.map +1 -0
- package/dist/handler/resume.js +44 -0
- package/dist/http-ingest.d.ts +54 -0
- package/dist/http-ingest.d.ts.map +1 -0
- package/dist/http-ingest.js +214 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/protocol/index.d.ts +345 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +110 -0
- package/dist/rate-limit/index.d.ts +40 -0
- package/dist/rate-limit/index.d.ts.map +1 -0
- package/dist/rate-limit/index.js +139 -0
- package/dist/runtime/ctx.d.ts +111 -0
- package/dist/runtime/ctx.d.ts.map +1 -0
- package/dist/runtime/ctx.js +624 -0
- package/dist/runtime/determinism.d.ts +19 -0
- package/dist/runtime/determinism.d.ts.map +1 -0
- package/dist/runtime/determinism.js +61 -0
- package/dist/runtime/errors.d.ts +21 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/errors.js +45 -0
- package/dist/runtime/executor.d.ts +166 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +226 -0
- package/dist/runtime/journal.d.ts +56 -0
- package/dist/runtime/journal.d.ts.map +1 -0
- package/dist/runtime/journal.js +28 -0
- package/dist/testing/index.d.ts +117 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +599 -0
- package/dist/trigger.d.ts +37 -0
- package/dist/trigger.d.ts.map +1 -0
- package/dist/trigger.js +11 -0
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/workflow.d.ts +222 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +55 -0
- package/package.json +120 -0
- package/src/auth/index.ts +398 -0
- package/src/bindings.ts +135 -0
- package/src/client.ts +498 -0
- package/src/conditions.ts +43 -0
- package/src/config.ts +114 -0
- package/src/driver.ts +277 -0
- package/src/errors.ts +109 -0
- package/src/events/compile.ts +268 -0
- package/src/events/index.ts +42 -0
- package/src/events/input-mapper.ts +201 -0
- package/src/events/manifest-builder.ts +372 -0
- package/src/events/payload-hash.ts +110 -0
- package/src/events/predicate.ts +390 -0
- package/src/events/registry.ts +86 -0
- package/src/handler/index.ts +413 -0
- package/src/handler/resume.ts +100 -0
- package/src/http-ingest.ts +299 -0
- package/src/index.ts +18 -0
- package/src/protocol/index.ts +483 -0
- package/src/rate-limit/index.ts +181 -0
- package/src/runtime/ctx.ts +876 -0
- package/src/runtime/determinism.ts +75 -0
- package/src/runtime/errors.ts +58 -0
- package/src/runtime/executor.ts +442 -0
- package/src/runtime/journal.ts +80 -0
- package/src/testing/index.ts +796 -0
- package/src/trigger.ts +63 -0
- package/src/types.ts +80 -0
- package/src/workflow.ts +328 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export type Duration = number | `${number}${"ms" | "s" | "m" | "h" | "d" | "w"}`;
|
|
2
|
+
/**
|
|
3
|
+
* Cloudflare Container instance types — the set Voyant Cloud honors
|
|
4
|
+
* for `runtime: "node"` steps. Match the sizes published at
|
|
5
|
+
* https://developers.cloudflare.com/containers/ (as of
|
|
6
|
+
* compat-date 2026-04-01).
|
|
7
|
+
*
|
|
8
|
+
* | name | vCPU | memory | disk |
|
|
9
|
+
* | ----------- | ----- | ------- | ----- |
|
|
10
|
+
* | lite | 1/16 | 256 MiB | 2 GB |
|
|
11
|
+
* | basic | 1/4 | 1 GiB | 4 GB |
|
|
12
|
+
* | standard-1 | 1/2 | 4 GiB | 8 GB |
|
|
13
|
+
* | standard-2 | 1 | 6 GiB | 12 GB |
|
|
14
|
+
* | standard-3 | 2 | 8 GiB | 16 GB |
|
|
15
|
+
* | standard-4 | 4 | 12 GiB | 20 GB |
|
|
16
|
+
*
|
|
17
|
+
* The open `(string & {})` escape hatch accepts CF custom instance
|
|
18
|
+
* types (up to 4 vCPU / 12 GiB / 20 GB, min 3 GiB RAM per vCPU) —
|
|
19
|
+
* rendered as `"custom-<vcpu>-<ramGiB>"` by convention.
|
|
20
|
+
*/
|
|
21
|
+
export type MachineType = "lite" | "basic" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | (string & {});
|
|
22
|
+
export type EnvironmentName = "production" | "preview" | "development";
|
|
23
|
+
export type RunStatus = "pending" | "queued" | "running" | "waiting" | "completed" | "failed" | "cancelled" | "cancelled_by_dev_reload" | "cancelled_by_version_sunset" | "compensated" | "compensation_failed" | "timed_out";
|
|
24
|
+
export type ExecutionStatus = "CREATED" | "QUEUED" | "EXECUTING" | "EXECUTING_WITH_WAITPOINTS" | "SUSPENDED" | "PENDING_CANCEL" | "FINISHED";
|
|
25
|
+
export type WaitpointKind = "DATETIME" | "EVENT" | "SIGNAL" | "RUN" | "MANUAL";
|
|
26
|
+
export interface RetryPolicy {
|
|
27
|
+
max?: number;
|
|
28
|
+
backoff?: "exponential" | "linear" | "fixed";
|
|
29
|
+
initial?: Duration;
|
|
30
|
+
maxDelay?: Duration;
|
|
31
|
+
}
|
|
32
|
+
export interface RateLimitSpec {
|
|
33
|
+
key: string | ((input: unknown, ctx: {
|
|
34
|
+
run: {
|
|
35
|
+
id: string;
|
|
36
|
+
};
|
|
37
|
+
project: {
|
|
38
|
+
id: string;
|
|
39
|
+
};
|
|
40
|
+
}) => string);
|
|
41
|
+
limit: number | ((input: unknown) => number);
|
|
42
|
+
units?: number | ((input: unknown) => number);
|
|
43
|
+
window: Duration;
|
|
44
|
+
onLimit?: "queue" | "fail";
|
|
45
|
+
}
|
|
46
|
+
export type RunTrigger = {
|
|
47
|
+
kind: "api";
|
|
48
|
+
actor?: string;
|
|
49
|
+
accessTokenId?: string;
|
|
50
|
+
} | {
|
|
51
|
+
kind: "schedule";
|
|
52
|
+
scheduleId: string;
|
|
53
|
+
} | {
|
|
54
|
+
kind: "event";
|
|
55
|
+
eventId: string;
|
|
56
|
+
eventType: string;
|
|
57
|
+
filterId: string;
|
|
58
|
+
} | {
|
|
59
|
+
kind: "parent";
|
|
60
|
+
parentRunId: string;
|
|
61
|
+
parentStepId: string;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAA;AAEtE,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,yBAAyB,GACzB,6BAA6B,GAC7B,aAAa,GACb,qBAAqB,GACrB,WAAW,CAAA;AAEf,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,2BAA2B,GAC3B,WAAW,GACX,gBAAgB,GAChB,UAAU,CAAA;AAEd,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE9E,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC5C,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QAAE,GAAG,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,CAAA;IACjG,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;IAC7C,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { Condition } from "./conditions.js";
|
|
2
|
+
import type { ServiceResolver } from "./driver.js";
|
|
3
|
+
import type { Duration, EnvironmentName, MachineType, RateLimitSpec, RetryPolicy, RunStatus, RunTrigger } from "./types.js";
|
|
4
|
+
export interface WorkflowHandle<TInput = unknown, TOutput = unknown> {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
/** Phantom; used only for TypeScript inference of `workflows.trigger(...)`. */
|
|
7
|
+
readonly __input?: TInput;
|
|
8
|
+
readonly __output?: TOutput;
|
|
9
|
+
}
|
|
10
|
+
export interface WorkflowConfig<TInput, TOutput> {
|
|
11
|
+
id: string;
|
|
12
|
+
input?: unknown;
|
|
13
|
+
output?: unknown;
|
|
14
|
+
description?: string;
|
|
15
|
+
schedule?: ScheduleDeclaration | ScheduleDeclaration[];
|
|
16
|
+
concurrency?: ConcurrencyPolicy<TInput>;
|
|
17
|
+
retry?: RetryPolicy;
|
|
18
|
+
timeout?: Duration;
|
|
19
|
+
defaultRuntime?: "edge" | "node";
|
|
20
|
+
tags?: string[];
|
|
21
|
+
run: (input: TInput, ctx: WorkflowContext<TInput>) => Promise<TOutput>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Internal registered form of a workflow. The executor takes this
|
|
25
|
+
* plus a request and drives the body.
|
|
26
|
+
*/
|
|
27
|
+
export interface WorkflowDefinition<TInput = unknown, TOutput = unknown> extends WorkflowHandle<TInput, TOutput> {
|
|
28
|
+
readonly config: WorkflowConfig<TInput, TOutput>;
|
|
29
|
+
}
|
|
30
|
+
export type ScheduleDeclaration = ({
|
|
31
|
+
cron: string;
|
|
32
|
+
} | {
|
|
33
|
+
every: Duration;
|
|
34
|
+
} | {
|
|
35
|
+
at: string | Date;
|
|
36
|
+
}) & {
|
|
37
|
+
timezone?: string;
|
|
38
|
+
input?: unknown | (() => unknown | Promise<unknown>);
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
overlap?: "skip" | "queue" | "allow";
|
|
41
|
+
environments?: EnvironmentName[];
|
|
42
|
+
name?: string;
|
|
43
|
+
};
|
|
44
|
+
export interface ConcurrencyPolicy<TInput> {
|
|
45
|
+
key?: string | ((input: TInput) => string);
|
|
46
|
+
limit?: number;
|
|
47
|
+
strategy?: "queue" | "cancel-in-progress" | "cancel-newest" | "round-robin";
|
|
48
|
+
}
|
|
49
|
+
/** Declare a workflow. See docs/sdk-surface.md §2.1. */
|
|
50
|
+
export declare function workflow<TInput = unknown, TOutput = unknown>(config: WorkflowConfig<TInput, TOutput>): WorkflowDefinition<TInput, TOutput>;
|
|
51
|
+
/** Internal: look up a registered workflow by id. */
|
|
52
|
+
export declare function getWorkflow(id: string): WorkflowDefinition | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Internal: enumerate every registered workflow. Used by the CLI to list
|
|
55
|
+
* workflows discovered from a loaded entry file. Not part of the stable
|
|
56
|
+
* public API — implementation detail of the SDK/CLI pair.
|
|
57
|
+
*/
|
|
58
|
+
export declare function __listRegisteredWorkflows(): WorkflowDefinition[];
|
|
59
|
+
/**
|
|
60
|
+
* Internal: clear the workflow registry. Called by the CLI between
|
|
61
|
+
* builds / hot-reloads to drop stale workflows before re-importing
|
|
62
|
+
* the tenant bundle, and by test suites in beforeEach to isolate
|
|
63
|
+
* runs. Not part of the stable public API.
|
|
64
|
+
*/
|
|
65
|
+
export declare function __resetRegistry(): void;
|
|
66
|
+
export interface RunContext {
|
|
67
|
+
id: string;
|
|
68
|
+
number: number;
|
|
69
|
+
attempt: number;
|
|
70
|
+
triggeredBy: RunTrigger;
|
|
71
|
+
tags: readonly string[];
|
|
72
|
+
startedAt: number;
|
|
73
|
+
}
|
|
74
|
+
export interface EnvironmentContext {
|
|
75
|
+
name: EnvironmentName;
|
|
76
|
+
git?: {
|
|
77
|
+
commit: string;
|
|
78
|
+
branch: string;
|
|
79
|
+
pr?: {
|
|
80
|
+
number: number;
|
|
81
|
+
url: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export interface WorkflowContext<_TInput = unknown> {
|
|
86
|
+
readonly run: RunContext;
|
|
87
|
+
readonly workflow: {
|
|
88
|
+
id: string;
|
|
89
|
+
version: string;
|
|
90
|
+
};
|
|
91
|
+
readonly environment: EnvironmentContext;
|
|
92
|
+
readonly project: {
|
|
93
|
+
id: string;
|
|
94
|
+
slug: string;
|
|
95
|
+
};
|
|
96
|
+
readonly organization: {
|
|
97
|
+
id: string;
|
|
98
|
+
slug: string;
|
|
99
|
+
};
|
|
100
|
+
readonly invocationCount: number;
|
|
101
|
+
readonly signal: AbortSignal;
|
|
102
|
+
/**
|
|
103
|
+
* Read-only view of the framework's service container. Step bodies resolve
|
|
104
|
+
* shared services (db, indexer, etc.) via `ctx.services.resolve("name")`.
|
|
105
|
+
* The framework wires this from `createApp()`'s `ModuleContainer` through
|
|
106
|
+
* `StepHandlerDeps.services`. When no container is plumbed (driver not
|
|
107
|
+
* configured with `services`, or in raw orchestrator tests), `resolve(...)`
|
|
108
|
+
* throws with a clear message and `has(...)` returns `false`.
|
|
109
|
+
*/
|
|
110
|
+
readonly services: ServiceResolver;
|
|
111
|
+
step: StepApi;
|
|
112
|
+
sleep: (duration: Duration) => Promise<void>;
|
|
113
|
+
waitForEvent: WaitForEventApi;
|
|
114
|
+
waitForSignal: WaitForSignalApi;
|
|
115
|
+
waitForToken: WaitForTokenApi;
|
|
116
|
+
invoke: InvokeApi;
|
|
117
|
+
parallel: ParallelApi;
|
|
118
|
+
stream: StreamApi;
|
|
119
|
+
group: GroupApi;
|
|
120
|
+
compensate: () => Promise<never>;
|
|
121
|
+
metadata: MetadataApi;
|
|
122
|
+
now: () => number;
|
|
123
|
+
random: () => number;
|
|
124
|
+
randomUUID: () => string;
|
|
125
|
+
setRetry: (policy: RetryPolicy) => void;
|
|
126
|
+
}
|
|
127
|
+
export interface StepApi {
|
|
128
|
+
<T>(id: string, fn: StepFn<T>): Promise<T>;
|
|
129
|
+
<T>(id: string, opts: StepOptions<T>, fn: StepFn<T>): Promise<T>;
|
|
130
|
+
}
|
|
131
|
+
export type StepFn<T> = (stepCtx: StepContext) => Promise<T>;
|
|
132
|
+
export interface StepContext {
|
|
133
|
+
signal: AbortSignal;
|
|
134
|
+
attempt: number;
|
|
135
|
+
log: (level: "info" | "warn" | "error", msg: string, data?: object) => void;
|
|
136
|
+
}
|
|
137
|
+
export interface StepOptions<T = unknown> {
|
|
138
|
+
runtime?: "edge" | "node";
|
|
139
|
+
machine?: MachineType;
|
|
140
|
+
timeout?: Duration;
|
|
141
|
+
retry?: RetryPolicy | {
|
|
142
|
+
max: 0;
|
|
143
|
+
};
|
|
144
|
+
idempotencyKey?: string;
|
|
145
|
+
compensate?: (output: T) => Promise<void>;
|
|
146
|
+
rateLimit?: RateLimitSpec;
|
|
147
|
+
waitFor?: Condition;
|
|
148
|
+
cancelIf?: Condition;
|
|
149
|
+
skipIf?: Condition;
|
|
150
|
+
}
|
|
151
|
+
export interface Waitable<T> extends PromiseLike<T | null> {
|
|
152
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
153
|
+
close(): void;
|
|
154
|
+
}
|
|
155
|
+
export type WaitForEventApi = <T = unknown>(eventType: string, opts?: WaitForEventOptions<T>) => Waitable<T>;
|
|
156
|
+
export interface WaitForEventOptions<T> {
|
|
157
|
+
match?: Partial<T> | ((payload: T) => boolean);
|
|
158
|
+
timeout?: Duration;
|
|
159
|
+
lookback?: Duration;
|
|
160
|
+
bufferSize?: number;
|
|
161
|
+
onTimeout?: "null" | "throw";
|
|
162
|
+
}
|
|
163
|
+
export type WaitForSignalApi = <T = unknown>(name: string, opts?: WaitForSignalOptions<T>) => Waitable<T>;
|
|
164
|
+
export interface WaitForSignalOptions<T> extends WaitForEventOptions<T> {
|
|
165
|
+
}
|
|
166
|
+
export type WaitForTokenApi = <T = unknown>(opts?: WaitForTokenOptions<T>) => Promise<TokenWait<T>>;
|
|
167
|
+
export interface WaitForTokenOptions<_T> {
|
|
168
|
+
tokenId?: string;
|
|
169
|
+
timeout?: Duration;
|
|
170
|
+
onTimeout?: "null" | "throw";
|
|
171
|
+
schema?: unknown;
|
|
172
|
+
}
|
|
173
|
+
export interface TokenWait<T> {
|
|
174
|
+
tokenId: string;
|
|
175
|
+
url: string;
|
|
176
|
+
wait: () => Promise<T | null>;
|
|
177
|
+
}
|
|
178
|
+
export type InvokeApi = <TIn, TOut>(workflow: WorkflowHandle<TIn, TOut>, input: TIn, opts?: InvokeOptions) => Promise<TOut>;
|
|
179
|
+
export interface InvokeOptions {
|
|
180
|
+
idempotencyKey?: string;
|
|
181
|
+
tags?: string[];
|
|
182
|
+
lockToVersion?: string;
|
|
183
|
+
/**
|
|
184
|
+
* Fire-and-forget child run. The child is still triggered and
|
|
185
|
+
* persisted, but the parent does not wait for its output or error.
|
|
186
|
+
* The awaited result resolves to `undefined`; callers should not use
|
|
187
|
+
* detached invokes for control flow.
|
|
188
|
+
*/
|
|
189
|
+
detach?: boolean;
|
|
190
|
+
}
|
|
191
|
+
export type ParallelApi = <T, R>(items: readonly T[], fn: (item: T, index: number) => Promise<R>, opts?: ParallelOptions) => Promise<R[]>;
|
|
192
|
+
export interface ParallelOptions {
|
|
193
|
+
concurrency?: number;
|
|
194
|
+
settle?: boolean;
|
|
195
|
+
}
|
|
196
|
+
export interface StreamApi {
|
|
197
|
+
text(streamId: string, source: AsyncIterable<string>): Promise<void>;
|
|
198
|
+
json<T>(streamId: string, source: AsyncIterable<T>): Promise<void>;
|
|
199
|
+
bytes(streamId: string, source: AsyncIterable<Uint8Array>): Promise<void>;
|
|
200
|
+
<T>(streamId: string, fn: () => AsyncGenerator<T>): Promise<void>;
|
|
201
|
+
}
|
|
202
|
+
export type GroupApi = <T>(name: string, fn: (scope: GroupScope) => Promise<T>) => Promise<T>;
|
|
203
|
+
export interface GroupScope {
|
|
204
|
+
step: StepApi;
|
|
205
|
+
compensate: () => Promise<never>;
|
|
206
|
+
}
|
|
207
|
+
export type MetadataValue = string | number | boolean | null | MetadataValue[] | {
|
|
208
|
+
[key: string]: MetadataValue;
|
|
209
|
+
};
|
|
210
|
+
export interface MetadataMutatorSubset {
|
|
211
|
+
set(key: string, value: MetadataValue): void;
|
|
212
|
+
increment(key: string, by?: number): void;
|
|
213
|
+
append<T>(key: string, value: T): void;
|
|
214
|
+
remove(key: string): void;
|
|
215
|
+
}
|
|
216
|
+
export interface MetadataApi extends MetadataMutatorSubset {
|
|
217
|
+
flush(): Promise<void>;
|
|
218
|
+
parent?: MetadataMutatorSubset;
|
|
219
|
+
root?: MetadataMutatorSubset;
|
|
220
|
+
}
|
|
221
|
+
export type { RunStatus };
|
|
222
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Workflow declaration and the `ctx` object.
|
|
2
|
+
// Authoritative contract in docs/sdk-surface.md §2–§3.
|
|
3
|
+
/**
|
|
4
|
+
* Process-local registry. Backed by globalThis so bundles that inline
|
|
5
|
+
* their own copy of @voyant-travel/workflows still share the registry with
|
|
6
|
+
* the loader's copy (voyant build relies on this to extract the
|
|
7
|
+
* manifest from a user bundle at load-time). Module-local `const`
|
|
8
|
+
* would create a private map per bundle copy.
|
|
9
|
+
*/
|
|
10
|
+
const REGISTRY_KEY = "__voyantWorkflowRegistry";
|
|
11
|
+
const globalRef = globalThis;
|
|
12
|
+
const REGISTRY = globalRef[REGISTRY_KEY] ?? new Map();
|
|
13
|
+
globalRef[REGISTRY_KEY] = REGISTRY;
|
|
14
|
+
/** Declare a workflow. See docs/sdk-surface.md §2.1. */
|
|
15
|
+
export function workflow(config) {
|
|
16
|
+
// Vite / Cloudflare workerd HMR re-evaluates modules in place, so a
|
|
17
|
+
// workflow file that registers ids at import-time will be re-imported
|
|
18
|
+
// on every save. Throwing on duplicate ids would surface real
|
|
19
|
+
// collisions but also kills the entire dev loop. The CLI's pre-flight
|
|
20
|
+
// (`voyant workflows build`) is the right place to catch genuine
|
|
21
|
+
// duplicates across files; here we replace + warn so HMR keeps
|
|
22
|
+
// working. Production bundles run this once at startup, so the
|
|
23
|
+
// duplicate path is effectively dev-only.
|
|
24
|
+
if (REGISTRY.has(config.id)) {
|
|
25
|
+
console.warn(`[workflows] workflow id "${config.id}" re-registered — assuming HMR re-import. ` +
|
|
26
|
+
`If this is a real duplicate, \`voyant workflows build\` will reject the bundle.`);
|
|
27
|
+
}
|
|
28
|
+
const def = {
|
|
29
|
+
id: config.id,
|
|
30
|
+
config,
|
|
31
|
+
};
|
|
32
|
+
REGISTRY.set(config.id, def);
|
|
33
|
+
return def;
|
|
34
|
+
}
|
|
35
|
+
/** Internal: look up a registered workflow by id. */
|
|
36
|
+
export function getWorkflow(id) {
|
|
37
|
+
return REGISTRY.get(id);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Internal: enumerate every registered workflow. Used by the CLI to list
|
|
41
|
+
* workflows discovered from a loaded entry file. Not part of the stable
|
|
42
|
+
* public API — implementation detail of the SDK/CLI pair.
|
|
43
|
+
*/
|
|
44
|
+
export function __listRegisteredWorkflows() {
|
|
45
|
+
return [...REGISTRY.values()];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Internal: clear the workflow registry. Called by the CLI between
|
|
49
|
+
* builds / hot-reloads to drop stale workflows before re-importing
|
|
50
|
+
* the tenant bundle, and by test suites in beforeEach to isolate
|
|
51
|
+
* runs. Not part of the stable public API.
|
|
52
|
+
*/
|
|
53
|
+
export function __resetRegistry() {
|
|
54
|
+
REGISTRY.clear();
|
|
55
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@voyant-travel/workflows",
|
|
3
|
+
"version": "0.107.10",
|
|
4
|
+
"description": "Authoring SDK for Voyant Workflows — durable, step-based orchestrations for Voyant Cloud.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/voyant-travel/voyant.git",
|
|
9
|
+
"directory": "packages/workflows"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://voyant.cloud/workflows",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js",
|
|
17
|
+
"default": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./testing": {
|
|
20
|
+
"types": "./dist/testing/index.d.ts",
|
|
21
|
+
"import": "./dist/testing/index.js",
|
|
22
|
+
"default": "./dist/testing/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./protocol": {
|
|
25
|
+
"types": "./dist/protocol/index.d.ts",
|
|
26
|
+
"import": "./dist/protocol/index.js",
|
|
27
|
+
"default": "./dist/protocol/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./handler": {
|
|
30
|
+
"types": "./dist/handler/index.d.ts",
|
|
31
|
+
"import": "./dist/handler/index.js",
|
|
32
|
+
"default": "./dist/handler/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./auth": {
|
|
35
|
+
"types": "./dist/auth/index.d.ts",
|
|
36
|
+
"import": "./dist/auth/index.js",
|
|
37
|
+
"default": "./dist/auth/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./client": {
|
|
40
|
+
"types": "./dist/client.d.ts",
|
|
41
|
+
"import": "./dist/client.js",
|
|
42
|
+
"default": "./dist/client.js"
|
|
43
|
+
},
|
|
44
|
+
"./bindings": {
|
|
45
|
+
"types": "./dist/bindings.d.ts",
|
|
46
|
+
"import": "./dist/bindings.js",
|
|
47
|
+
"default": "./dist/bindings.js"
|
|
48
|
+
},
|
|
49
|
+
"./config": {
|
|
50
|
+
"types": "./dist/config.d.ts",
|
|
51
|
+
"import": "./dist/config.js",
|
|
52
|
+
"default": "./dist/config.js"
|
|
53
|
+
},
|
|
54
|
+
"./errors": {
|
|
55
|
+
"types": "./dist/errors.d.ts",
|
|
56
|
+
"import": "./dist/errors.js",
|
|
57
|
+
"default": "./dist/errors.js"
|
|
58
|
+
},
|
|
59
|
+
"./rate-limit": {
|
|
60
|
+
"types": "./dist/rate-limit/index.d.ts",
|
|
61
|
+
"import": "./dist/rate-limit/index.js",
|
|
62
|
+
"default": "./dist/rate-limit/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./driver": {
|
|
65
|
+
"types": "./dist/driver.d.ts",
|
|
66
|
+
"import": "./dist/driver.js",
|
|
67
|
+
"default": "./dist/driver.js"
|
|
68
|
+
},
|
|
69
|
+
"./events": {
|
|
70
|
+
"types": "./dist/events/index.d.ts",
|
|
71
|
+
"import": "./dist/events/index.js",
|
|
72
|
+
"default": "./dist/events/index.js"
|
|
73
|
+
},
|
|
74
|
+
"./http-ingest": {
|
|
75
|
+
"types": "./dist/http-ingest.d.ts",
|
|
76
|
+
"import": "./dist/http-ingest.js",
|
|
77
|
+
"default": "./dist/http-ingest.js"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"main": "./dist/index.js",
|
|
81
|
+
"types": "./dist/index.d.ts",
|
|
82
|
+
"files": [
|
|
83
|
+
"dist",
|
|
84
|
+
"src",
|
|
85
|
+
"!**/*.test.*",
|
|
86
|
+
"!**/*.spec.*",
|
|
87
|
+
"NOTICE"
|
|
88
|
+
],
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"zod": "^3.23.8"
|
|
91
|
+
},
|
|
92
|
+
"devDependencies": {
|
|
93
|
+
"@types/node": "^20.12.0",
|
|
94
|
+
"esbuild": "0.28.1",
|
|
95
|
+
"typescript": "^5.9.2",
|
|
96
|
+
"vitest": "^3.2.6",
|
|
97
|
+
"@voyant-travel/voyant-typescript-config": "^0.1.0"
|
|
98
|
+
},
|
|
99
|
+
"peerDependencies": {
|
|
100
|
+
"zod": "^3.23.0 || ^4.0.0"
|
|
101
|
+
},
|
|
102
|
+
"peerDependenciesMeta": {
|
|
103
|
+
"zod": {
|
|
104
|
+
"optional": true
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"publishConfig": {
|
|
108
|
+
"access": "public"
|
|
109
|
+
},
|
|
110
|
+
"scripts": {
|
|
111
|
+
"build": "tsc -p tsconfig.json",
|
|
112
|
+
"build:examples": "tsc -p tsconfig.examples.json",
|
|
113
|
+
"spike": "pnpm build && pnpm build:examples && node examples-dist/drive.js",
|
|
114
|
+
"check-types": "tsc --noEmit",
|
|
115
|
+
"dev": "tsc -w -p tsconfig.json",
|
|
116
|
+
"test": "vitest run",
|
|
117
|
+
"typecheck": "tsc --noEmit",
|
|
118
|
+
"test:watch": "vitest"
|
|
119
|
+
}
|
|
120
|
+
}
|