@mokronos/wfkit 0.1.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/LICENSE +21 -0
- package/README.md +57 -0
- package/dist/authoring.d.ts +7 -0
- package/dist/authoring.d.ts.map +1 -0
- package/dist/authoring.js +8 -0
- package/dist/authoring.js.map +1 -0
- package/dist/cli/integrations.d.ts +3 -0
- package/dist/cli/integrations.d.ts.map +1 -0
- package/dist/cli/integrations.js +40 -0
- package/dist/cli/integrations.js.map +1 -0
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +591 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/core.d.ts +198 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +1061 -0
- package/dist/core.js.map +1 -0
- package/dist/errors.d.ts +3 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +154 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +24 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/replay.d.ts +3 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/replay.js +28 -0
- package/dist/replay.js.map +1 -0
- package/dist/runtime.d.ts +70 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +183 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schema.d.ts +18 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +19 -0
- package/dist/schema.js.map +1 -0
- package/dist/schemas.d.ts +1198 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +383 -0
- package/dist/schemas.js.map +1 -0
- package/dist/sdk/artifact.d.ts +41 -0
- package/dist/sdk/artifact.d.ts.map +1 -0
- package/dist/sdk/artifact.js +94 -0
- package/dist/sdk/artifact.js.map +1 -0
- package/dist/sdk/graph.d.ts +15 -0
- package/dist/sdk/graph.d.ts.map +1 -0
- package/dist/sdk/graph.js +388 -0
- package/dist/sdk/graph.js.map +1 -0
- package/dist/sdk/index.d.ts +14 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +8 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/integrations.d.ts +18 -0
- package/dist/sdk/integrations.d.ts.map +1 -0
- package/dist/sdk/integrations.js +20 -0
- package/dist/sdk/integrations.js.map +1 -0
- package/dist/sdk/json.d.ts +4 -0
- package/dist/sdk/json.d.ts.map +1 -0
- package/dist/sdk/json.js +31 -0
- package/dist/sdk/json.js.map +1 -0
- package/dist/sdk/loader.d.ts +10 -0
- package/dist/sdk/loader.d.ts.map +1 -0
- package/dist/sdk/loader.js +75 -0
- package/dist/sdk/loader.js.map +1 -0
- package/dist/sdk/sdk.d.ts +102 -0
- package/dist/sdk/sdk.d.ts.map +1 -0
- package/dist/sdk/sdk.js +669 -0
- package/dist/sdk/sdk.js.map +1 -0
- package/dist/sdk/sqlite.d.ts +8 -0
- package/dist/sdk/sqlite.d.ts.map +1 -0
- package/dist/sdk/sqlite.js +288 -0
- package/dist/sdk/sqlite.js.map +1 -0
- package/dist/signal.d.ts +17 -0
- package/dist/signal.d.ts.map +1 -0
- package/dist/signal.js +78 -0
- package/dist/signal.js.map +1 -0
- package/dist/testing/index.d.ts +35 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +244 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +67 -0
- package/src/authoring.ts +32 -0
- package/src/cli/integrations.ts +75 -0
- package/src/cli/main.ts +793 -0
- package/src/core.ts +1515 -0
- package/src/errors.ts +19 -0
- package/src/events.ts +37 -0
- package/src/index.ts +109 -0
- package/src/replay.ts +29 -0
- package/src/runtime.ts +314 -0
- package/src/schema.ts +34 -0
- package/src/schemas.ts +473 -0
- package/src/sdk/artifact.ts +176 -0
- package/src/sdk/graph.ts +486 -0
- package/src/sdk/index.ts +64 -0
- package/src/sdk/integrations.ts +49 -0
- package/src/sdk/json.ts +40 -0
- package/src/sdk/loader.ts +99 -0
- package/src/sdk/sdk.ts +911 -0
- package/src/sdk/sqlite.ts +405 -0
- package/src/signal.ts +116 -0
- package/src/testing/index.ts +341 -0
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { Context, Effect, Schema } from "effect";
|
|
2
|
+
import type * as Duration from "effect/Duration";
|
|
3
|
+
import type { WorkflowEvent } from "./schemas.ts";
|
|
4
|
+
import { SignalDeliveryError } from "./signal.ts";
|
|
5
|
+
type AnySchema<A = any> = Schema.Codec<A, any, any, any>;
|
|
6
|
+
declare const TerminalFailureTypeId: unique symbol;
|
|
7
|
+
export interface TerminalFailure<E> {
|
|
8
|
+
readonly [TerminalFailureTypeId]: typeof TerminalFailureTypeId;
|
|
9
|
+
readonly error: E;
|
|
10
|
+
}
|
|
11
|
+
export interface StepContext<E> {
|
|
12
|
+
fail(error: E): TerminalFailure<E>;
|
|
13
|
+
readonly attempt: number;
|
|
14
|
+
readonly executionId: string;
|
|
15
|
+
}
|
|
16
|
+
export interface StepRetryPolicy {
|
|
17
|
+
readonly attempts: number;
|
|
18
|
+
readonly backoff: "exponential" | "none";
|
|
19
|
+
}
|
|
20
|
+
export interface StepConcurrency<I> {
|
|
21
|
+
readonly key?: (input: I) => string;
|
|
22
|
+
readonly limit: number;
|
|
23
|
+
}
|
|
24
|
+
export interface Step<I, O, E = never> {
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly input: AnySchema<I>;
|
|
27
|
+
readonly output: AnySchema<O>;
|
|
28
|
+
readonly errors: AnySchema<E>;
|
|
29
|
+
readonly execute: (input: I, step: StepContext<E>) => Promise<O | TerminalFailure<E>>;
|
|
30
|
+
readonly compensate?: (result: O, input: I, reason: unknown) => unknown | Promise<unknown>;
|
|
31
|
+
readonly retry?: StepRetryPolicy;
|
|
32
|
+
readonly concurrency?: StepConcurrency<I>;
|
|
33
|
+
}
|
|
34
|
+
export interface DefineStepConfig<I, O, E> {
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly input: AnySchema<I>;
|
|
37
|
+
readonly output: AnySchema<O>;
|
|
38
|
+
readonly errors?: AnySchema<E>;
|
|
39
|
+
readonly execute: (input: I, step: StepContext<E>) => Promise<O | TerminalFailure<E>>;
|
|
40
|
+
readonly compensate?: (result: O, input: I, reason: unknown) => unknown | Promise<unknown>;
|
|
41
|
+
readonly retry?: StepRetryPolicy;
|
|
42
|
+
readonly concurrency?: StepConcurrency<I>;
|
|
43
|
+
}
|
|
44
|
+
export declare const defineStep: <const Input extends AnySchema, const Output extends AnySchema, const Errors extends AnySchema = typeof Schema.Never>(config: {
|
|
45
|
+
readonly name: string;
|
|
46
|
+
readonly input: Input;
|
|
47
|
+
readonly output: Output;
|
|
48
|
+
readonly errors?: Errors;
|
|
49
|
+
readonly execute: (input: Schema.Schema.Type<Input>, step: StepContext<Schema.Schema.Type<Errors>>) => Promise<Schema.Schema.Type<Output> | TerminalFailure<Schema.Schema.Type<Errors>>>;
|
|
50
|
+
readonly compensate?: (result: Schema.Schema.Type<Output>, input: Schema.Schema.Type<Input>, reason: unknown) => unknown | Promise<unknown>;
|
|
51
|
+
readonly retry?: StepRetryPolicy;
|
|
52
|
+
readonly concurrency?: StepConcurrency<Schema.Schema.Type<Input>>;
|
|
53
|
+
}) => Step<Schema.Schema.Type<Input>, Schema.Schema.Type<Output>, Schema.Schema.Type<Errors>>;
|
|
54
|
+
export declare const SecretRef: Schema.brand<Schema.declare<string, string>, "SecretRef">;
|
|
55
|
+
export type SecretRef = typeof SecretRef.Type;
|
|
56
|
+
export interface SecretResolver {
|
|
57
|
+
resolve(name: string): string | Promise<string>;
|
|
58
|
+
}
|
|
59
|
+
export declare const secret: (name: string) => SecretRef;
|
|
60
|
+
export declare const envSecretResolver: (options?: {
|
|
61
|
+
readonly mapping?: Record<string, string>;
|
|
62
|
+
readonly fallback?: string;
|
|
63
|
+
}) => SecretResolver;
|
|
64
|
+
export declare const isSecretRef: (value: unknown) => value is SecretRef;
|
|
65
|
+
export declare const currentSecretResolver: Context.Reference<SecretResolver | undefined>;
|
|
66
|
+
export declare const setExecutionSecretResolver: (executionId: string, resolver: SecretResolver) => void;
|
|
67
|
+
export declare const removeExecutionSecretResolver: (executionId: string) => void;
|
|
68
|
+
export declare const getExecutionSecretResolver: (executionId: string) => SecretResolver | undefined;
|
|
69
|
+
export type WorkflowValue<A, E = never> = Effect.Effect<A, E, any>;
|
|
70
|
+
export type OrchestrationKind = "step" | "sleep" | "signal" | "now" | "random" | "code" | "all";
|
|
71
|
+
export interface OrchestrationCall {
|
|
72
|
+
readonly kind: OrchestrationKind;
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly counter: number;
|
|
75
|
+
readonly branches?: number;
|
|
76
|
+
}
|
|
77
|
+
type WorkflowValueSuccess<EffectValue> = EffectValue extends WorkflowValue<infer A, any> ? A : never;
|
|
78
|
+
type WorkflowValueError<EffectValue> = EffectValue extends WorkflowValue<any, infer E> ? E : never;
|
|
79
|
+
type WorkflowAllSuccess<Effects extends ReadonlyArray<WorkflowValue<any, any>>> = {
|
|
80
|
+
-readonly [K in keyof Effects]: WorkflowValueSuccess<Effects[K]>;
|
|
81
|
+
};
|
|
82
|
+
type WorkflowAllError<Effects extends ReadonlyArray<WorkflowValue<any, any>>> = WorkflowValueError<Effects[number]>;
|
|
83
|
+
export type SignalOutcome<T> = {
|
|
84
|
+
readonly type: "signal";
|
|
85
|
+
readonly value: T;
|
|
86
|
+
} | {
|
|
87
|
+
readonly type: "timeout";
|
|
88
|
+
};
|
|
89
|
+
export declare class Cancelled extends Error {
|
|
90
|
+
readonly _tag = "Cancelled";
|
|
91
|
+
readonly _wfSkipCompensation?: true;
|
|
92
|
+
constructor(options: {
|
|
93
|
+
readonly compensate: boolean;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/** Reserved per-execution deferred the durable client completes to request
|
|
97
|
+
* cancellation. Every suspension point races against it. */
|
|
98
|
+
export declare const cancellationDeferredName = "wf:cancel";
|
|
99
|
+
export declare class NonDeterminismError extends Error {
|
|
100
|
+
readonly _tag = "NonDeterminismError";
|
|
101
|
+
readonly expected: OrchestrationCall;
|
|
102
|
+
readonly actual: OrchestrationCall;
|
|
103
|
+
constructor(options: {
|
|
104
|
+
readonly expected: OrchestrationCall;
|
|
105
|
+
readonly actual: OrchestrationCall;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export interface WorkflowContext<WErrors> {
|
|
109
|
+
readonly executionId: string;
|
|
110
|
+
run<I, O, E>(step: Step<I, O, E>, input: I): WorkflowValue<O, E | NonDeterminismError>;
|
|
111
|
+
sleep(duration: Duration.Input, name?: string): WorkflowValue<void, NonDeterminismError>;
|
|
112
|
+
waitForSignal<T>(name: string, schema: AnySchema<T>, opts?: {
|
|
113
|
+
readonly timeout?: Duration.Input;
|
|
114
|
+
}): WorkflowValue<SignalOutcome<T>, NonDeterminismError | SignalDeliveryError>;
|
|
115
|
+
now(): WorkflowValue<Date, NonDeterminismError>;
|
|
116
|
+
random(): WorkflowValue<number, NonDeterminismError>;
|
|
117
|
+
code<T>(name: string, options: {
|
|
118
|
+
readonly reason?: string;
|
|
119
|
+
readonly run: () => T | Promise<T>;
|
|
120
|
+
}): WorkflowValue<T, NonDeterminismError>;
|
|
121
|
+
all<const Effects extends ReadonlyArray<WorkflowValue<any, any>>>(effects: Effects, options?: {
|
|
122
|
+
readonly name?: string;
|
|
123
|
+
readonly concurrency?: number | "unbounded";
|
|
124
|
+
}): WorkflowValue<WorkflowAllSuccess<Effects>, WorkflowAllError<Effects> | NonDeterminismError>;
|
|
125
|
+
fail(error: WErrors): WorkflowValue<never, WErrors>;
|
|
126
|
+
effect<A, E, R>(effect: Effect.Effect<A, E, R>): WorkflowValue<A, E>;
|
|
127
|
+
}
|
|
128
|
+
export interface DefineWorkflowConfig<I, O, WErrors = never> {
|
|
129
|
+
readonly name: string;
|
|
130
|
+
readonly version: number;
|
|
131
|
+
readonly input: AnySchema<I>;
|
|
132
|
+
readonly output: AnySchema<O>;
|
|
133
|
+
readonly errors?: AnySchema<WErrors>;
|
|
134
|
+
readonly run: (input: I, ctx: WorkflowContext<WErrors>) => Generator<any, O, any>;
|
|
135
|
+
}
|
|
136
|
+
export declare const DefinedWorkflowTypeId: unique symbol;
|
|
137
|
+
export interface DefinedWorkflow<I = any, O = any, WErrors = any> {
|
|
138
|
+
readonly [DefinedWorkflowTypeId]: typeof DefinedWorkflowTypeId;
|
|
139
|
+
readonly name: string;
|
|
140
|
+
readonly version: number;
|
|
141
|
+
readonly engineName: string;
|
|
142
|
+
readonly sourceHash: string;
|
|
143
|
+
readonly input: AnySchema<I>;
|
|
144
|
+
readonly output: AnySchema<O>;
|
|
145
|
+
readonly errors: AnySchema<WErrors>;
|
|
146
|
+
readonly workflow: any;
|
|
147
|
+
readonly layer: any;
|
|
148
|
+
readonly execute: (payload: I) => Effect.Effect<O, WErrors | unknown, any>;
|
|
149
|
+
readonly executeInMemory: (payload: I, options?: InMemoryExecutionOptions) => Promise<O>;
|
|
150
|
+
}
|
|
151
|
+
export interface InMemoryExecutionOptions {
|
|
152
|
+
readonly executionId?: string;
|
|
153
|
+
readonly determinism?: InMemoryDeterminismState;
|
|
154
|
+
readonly onEvent?: (event: WorkflowEvent) => void | Promise<void>;
|
|
155
|
+
readonly stepExecutors?: ReadonlyMap<Step<any, any, any>, Step<any, any, any>["execute"]>;
|
|
156
|
+
readonly stepExecutor?: (options: {
|
|
157
|
+
readonly step: Step<any, any, any>;
|
|
158
|
+
readonly input: unknown;
|
|
159
|
+
readonly invocation: number;
|
|
160
|
+
readonly activityName: string;
|
|
161
|
+
readonly context: StepContext<any>;
|
|
162
|
+
}) => unknown | Promise<unknown>;
|
|
163
|
+
readonly sleep?: (options: {
|
|
164
|
+
readonly executionId: string;
|
|
165
|
+
readonly name: string;
|
|
166
|
+
readonly duration: Duration.Input;
|
|
167
|
+
}) => Promise<void>;
|
|
168
|
+
readonly signalTimeout?: (options: {
|
|
169
|
+
readonly executionId: string;
|
|
170
|
+
readonly name: string;
|
|
171
|
+
readonly duration: Duration.Input;
|
|
172
|
+
}) => Promise<void>;
|
|
173
|
+
readonly signalValue?: (options: {
|
|
174
|
+
readonly executionId: string;
|
|
175
|
+
readonly name: string;
|
|
176
|
+
readonly schema: AnySchema;
|
|
177
|
+
}) => unknown | Promise<unknown>;
|
|
178
|
+
readonly secrets?: SecretResolver;
|
|
179
|
+
}
|
|
180
|
+
export interface InMemoryDeterminismState {
|
|
181
|
+
readonly calls: OrchestrationCall[];
|
|
182
|
+
readonly blocks: Array<{
|
|
183
|
+
readonly call: OrchestrationCall;
|
|
184
|
+
readonly branches: ReadonlyArray<ReadonlyArray<OrchestrationCall>>;
|
|
185
|
+
}>;
|
|
186
|
+
readonly values: Map<string, unknown>;
|
|
187
|
+
}
|
|
188
|
+
export declare const createInMemoryDeterminismState: () => InMemoryDeterminismState;
|
|
189
|
+
export declare const defineWorkflow: <const Input extends AnySchema, const Output extends AnySchema, const Errors extends AnySchema = typeof Schema.Never>(config: {
|
|
190
|
+
readonly name: string;
|
|
191
|
+
readonly version: number;
|
|
192
|
+
readonly input: Input;
|
|
193
|
+
readonly output: Output;
|
|
194
|
+
readonly errors?: Errors;
|
|
195
|
+
readonly run: (input: Schema.Schema.Type<Input>, ctx: WorkflowContext<Schema.Schema.Type<Errors>>) => Generator<any, Schema.Schema.Type<Output>, any>;
|
|
196
|
+
}) => DefinedWorkflow<Schema.Schema.Type<Input>, Schema.Schema.Type<Output>, Schema.Schema.Type<Errors>>;
|
|
197
|
+
export {};
|
|
198
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|