@sonamu-kit/tasks 0.1.3 → 0.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/.oxlintrc.json +3 -0
- package/AGENTS.md +21 -0
- package/dist/backend.d.ts +126 -103
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +4 -1
- package/dist/backend.js.map +1 -1
- package/dist/client.d.ts +145 -132
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +220 -212
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +15 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -17
- package/dist/config.js.map +1 -1
- package/dist/core/duration.d.ts +5 -4
- package/dist/core/duration.d.ts.map +1 -1
- package/dist/core/duration.js +54 -59
- package/dist/core/duration.js.map +1 -1
- package/dist/core/error.d.ts +10 -7
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/error.js +21 -21
- package/dist/core/error.js.map +1 -1
- package/dist/core/json.d.ts +8 -3
- package/dist/core/json.d.ts.map +1 -1
- package/dist/core/result.d.ts +10 -14
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +21 -16
- package/dist/core/result.js.map +1 -1
- package/dist/core/retry.d.ts +42 -20
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +49 -20
- package/dist/core/retry.js.map +1 -1
- package/dist/core/schema.d.ts +57 -53
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/step.d.ts +28 -78
- package/dist/core/step.d.ts.map +1 -1
- package/dist/core/step.js +53 -63
- package/dist/core/step.js.map +1 -1
- package/dist/core/workflow.d.ts +33 -61
- package/dist/core/workflow.d.ts.map +1 -1
- package/dist/core/workflow.js +31 -41
- package/dist/core/workflow.js.map +1 -1
- package/dist/database/backend.d.ts +53 -46
- package/dist/database/backend.d.ts.map +1 -1
- package/dist/database/backend.js +544 -545
- package/dist/database/backend.js.map +1 -1
- package/dist/database/base.js +48 -25
- package/dist/database/base.js.map +1 -1
- package/dist/database/migrations/20251212000000_0_init.d.ts +10 -0
- package/dist/database/migrations/20251212000000_0_init.d.ts.map +1 -0
- package/dist/database/migrations/20251212000000_0_init.js +8 -4
- package/dist/database/migrations/20251212000000_0_init.js.map +1 -1
- package/dist/database/migrations/20251212000000_1_tables.d.ts +10 -0
- package/dist/database/migrations/20251212000000_1_tables.d.ts.map +1 -0
- package/dist/database/migrations/20251212000000_1_tables.js +81 -83
- package/dist/database/migrations/20251212000000_1_tables.js.map +1 -1
- package/dist/database/migrations/20251212000000_2_fk.d.ts +10 -0
- package/dist/database/migrations/20251212000000_2_fk.d.ts.map +1 -0
- package/dist/database/migrations/20251212000000_2_fk.js +20 -43
- package/dist/database/migrations/20251212000000_2_fk.js.map +1 -1
- package/dist/database/migrations/20251212000000_3_indexes.d.ts +10 -0
- package/dist/database/migrations/20251212000000_3_indexes.d.ts.map +1 -0
- package/dist/database/migrations/20251212000000_3_indexes.js +88 -102
- package/dist/database/migrations/20251212000000_3_indexes.js.map +1 -1
- package/dist/database/pubsub.d.ts +7 -16
- package/dist/database/pubsub.d.ts.map +1 -1
- package/dist/database/pubsub.js +75 -73
- package/dist/database/pubsub.js.map +1 -1
- package/dist/execution.d.ts +20 -57
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +175 -174
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +5 -8
- package/dist/index.js +5 -5
- package/dist/internal.d.ts +12 -12
- package/dist/internal.js +4 -4
- package/dist/registry.d.ts +33 -27
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +58 -49
- package/dist/registry.js.map +1 -1
- package/dist/worker.d.ts +57 -50
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +194 -198
- package/dist/worker.js.map +1 -1
- package/dist/workflow.d.ts +26 -27
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +20 -15
- package/dist/workflow.js.map +1 -1
- package/nodemon.json +1 -1
- package/package.json +18 -20
- package/src/backend.ts +28 -8
- package/src/chaos.test.ts +3 -1
- package/src/client.test.ts +2 -0
- package/src/client.ts +32 -8
- package/src/config.test.ts +1 -0
- package/src/config.ts +3 -2
- package/src/core/duration.test.ts +2 -1
- package/src/core/duration.ts +1 -1
- package/src/core/error.test.ts +1 -0
- package/src/core/error.ts +1 -1
- package/src/core/result.test.ts +1 -0
- package/src/core/retry.test.ts +181 -11
- package/src/core/retry.ts +95 -19
- package/src/core/schema.ts +2 -2
- package/src/core/step.test.ts +2 -1
- package/src/core/step.ts +4 -3
- package/src/core/workflow.test.ts +2 -1
- package/src/core/workflow.ts +4 -3
- package/src/database/backend.test.ts +1 -0
- package/src/database/backend.testsuite.ts +162 -39
- package/src/database/backend.ts +271 -35
- package/src/database/base.test.ts +41 -0
- package/src/database/base.ts +51 -2
- package/src/database/migrations/20251212000000_0_init.ts +2 -1
- package/src/database/migrations/20251212000000_1_tables.ts +2 -1
- package/src/database/migrations/20251212000000_2_fk.ts +2 -1
- package/src/database/migrations/20251212000000_3_indexes.ts +2 -1
- package/src/database/pubsub.test.ts +6 -3
- package/src/database/pubsub.ts +55 -33
- package/src/execution.test.ts +117 -0
- package/src/execution.ts +65 -10
- package/src/internal.ts +21 -1
- package/src/practices/01-remote-workflow.ts +1 -0
- package/src/registry.test.ts +1 -0
- package/src/registry.ts +1 -1
- package/src/testing/connection.ts +3 -1
- package/src/worker.test.ts +2 -0
- package/src/worker.ts +31 -9
- package/src/workflow.test.ts +1 -0
- package/src/workflow.ts +5 -2
- package/templates/openworkflow.config.ts +2 -1
- package/tsdown.config.ts +31 -0
- package/.swcrc +0 -17
- package/dist/chaos.test.d.ts +0 -2
- package/dist/chaos.test.d.ts.map +0 -1
- package/dist/chaos.test.js +0 -92
- package/dist/chaos.test.js.map +0 -1
- package/dist/client.test.d.ts +0 -2
- package/dist/client.test.d.ts.map +0 -1
- package/dist/client.test.js +0 -340
- package/dist/client.test.js.map +0 -1
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -24
- package/dist/config.test.js.map +0 -1
- package/dist/core/duration.test.d.ts +0 -2
- package/dist/core/duration.test.d.ts.map +0 -1
- package/dist/core/duration.test.js +0 -265
- package/dist/core/duration.test.js.map +0 -1
- package/dist/core/error.test.d.ts +0 -2
- package/dist/core/error.test.d.ts.map +0 -1
- package/dist/core/error.test.js +0 -63
- package/dist/core/error.test.js.map +0 -1
- package/dist/core/json.js +0 -3
- package/dist/core/json.js.map +0 -1
- package/dist/core/result.test.d.ts +0 -2
- package/dist/core/result.test.d.ts.map +0 -1
- package/dist/core/result.test.js +0 -19
- package/dist/core/result.test.js.map +0 -1
- package/dist/core/retry.test.d.ts +0 -2
- package/dist/core/retry.test.d.ts.map +0 -1
- package/dist/core/retry.test.js +0 -37
- package/dist/core/retry.test.js.map +0 -1
- package/dist/core/schema.js +0 -4
- package/dist/core/schema.js.map +0 -1
- package/dist/core/step.test.d.ts +0 -2
- package/dist/core/step.test.d.ts.map +0 -1
- package/dist/core/step.test.js +0 -356
- package/dist/core/step.test.js.map +0 -1
- package/dist/core/workflow.test.d.ts +0 -2
- package/dist/core/workflow.test.d.ts.map +0 -1
- package/dist/core/workflow.test.js +0 -172
- package/dist/core/workflow.test.js.map +0 -1
- package/dist/database/backend.test.d.ts +0 -2
- package/dist/database/backend.test.d.ts.map +0 -1
- package/dist/database/backend.test.js +0 -19
- package/dist/database/backend.test.js.map +0 -1
- package/dist/database/backend.testsuite.d.ts +0 -20
- package/dist/database/backend.testsuite.d.ts.map +0 -1
- package/dist/database/backend.testsuite.js +0 -1174
- package/dist/database/backend.testsuite.js.map +0 -1
- package/dist/database/base.d.ts +0 -12
- package/dist/database/base.d.ts.map +0 -1
- package/dist/database/pubsub.test.d.ts +0 -2
- package/dist/database/pubsub.test.d.ts.map +0 -1
- package/dist/database/pubsub.test.js +0 -86
- package/dist/database/pubsub.test.js.map +0 -1
- package/dist/execution.test.d.ts +0 -2
- package/dist/execution.test.d.ts.map +0 -1
- package/dist/execution.test.js +0 -558
- package/dist/execution.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal.d.ts.map +0 -1
- package/dist/internal.js.map +0 -1
- package/dist/practices/01-remote-workflow.d.ts +0 -2
- package/dist/practices/01-remote-workflow.d.ts.map +0 -1
- package/dist/practices/01-remote-workflow.js +0 -70
- package/dist/practices/01-remote-workflow.js.map +0 -1
- package/dist/registry.test.d.ts +0 -2
- package/dist/registry.test.d.ts.map +0 -1
- package/dist/registry.test.js +0 -95
- package/dist/registry.test.js.map +0 -1
- package/dist/testing/connection.d.ts +0 -7
- package/dist/testing/connection.d.ts.map +0 -1
- package/dist/testing/connection.js +0 -39
- package/dist/testing/connection.js.map +0 -1
- package/dist/worker.test.d.ts +0 -2
- package/dist/worker.test.d.ts.map +0 -1
- package/dist/worker.test.js +0 -1164
- package/dist/worker.test.js.map +0 -1
- package/dist/workflow.test.d.ts +0 -2
- package/dist/workflow.test.d.ts.map +0 -1
- package/dist/workflow.test.js +0 -73
- package/dist/workflow.test.js.map +0 -1
package/.oxlintrc.json
ADDED
package/AGENTS.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Guide for Coding Agents - modules/tasks
|
|
2
|
+
|
|
3
|
+
Inherits root rules from `../../AGENTS.md`.
|
|
4
|
+
|
|
5
|
+
## Package role
|
|
6
|
+
|
|
7
|
+
- Distributed task queue library.
|
|
8
|
+
|
|
9
|
+
## Required checks
|
|
10
|
+
|
|
11
|
+
- `pnpm --filter @sonamu-kit/tasks check`
|
|
12
|
+
- `pnpm --filter @sonamu-kit/tasks test`
|
|
13
|
+
- `pnpm --filter @sonamu-kit/tasks build`
|
|
14
|
+
|
|
15
|
+
## Testing policy
|
|
16
|
+
|
|
17
|
+
- For scheduling/retry/distribution logic changes, add regression tests before implementation completion.
|
|
18
|
+
|
|
19
|
+
## Cross-workspace gate
|
|
20
|
+
|
|
21
|
+
- For changes in this scope, root `pnpm check` (Biome) must pass before handoff.
|
package/dist/backend.d.ts
CHANGED
|
@@ -1,107 +1,130 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { JsonValue } from "./core/json.js";
|
|
2
|
+
import { SerializedError } from "./core/error.js";
|
|
3
|
+
import { SerializableRetryPolicy } from "./core/retry.js";
|
|
4
|
+
import { StepAttempt, StepAttemptContext, StepKind } from "./core/step.js";
|
|
5
|
+
import { WorkflowRun } from "./core/workflow.js";
|
|
6
|
+
import { OnSubscribed } from "./database/pubsub.js";
|
|
7
|
+
|
|
8
|
+
//#region src/backend.d.ts
|
|
9
|
+
declare const DEFAULT_NAMESPACE_ID = "default";
|
|
7
10
|
/**
|
|
8
11
|
* Backend is the interface for backend providers to implement.
|
|
9
12
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
13
|
+
interface Backend {
|
|
14
|
+
subscribe(callback: OnSubscribed): Promise<void>;
|
|
15
|
+
publish(payload?: string): Promise<void>;
|
|
16
|
+
createWorkflowRun(params: Readonly<CreateWorkflowRunParams>): Promise<WorkflowRun>;
|
|
17
|
+
getWorkflowRun(params: Readonly<GetWorkflowRunParams>): Promise<WorkflowRun | null>;
|
|
18
|
+
listWorkflowRuns(params: Readonly<ListWorkflowRunsParams>): Promise<PaginatedResponse<WorkflowRun>>;
|
|
19
|
+
claimWorkflowRun(params: Readonly<ClaimWorkflowRunParams>): Promise<WorkflowRun | null>;
|
|
20
|
+
extendWorkflowRunLease(params: Readonly<ExtendWorkflowRunLeaseParams>): Promise<WorkflowRun>;
|
|
21
|
+
sleepWorkflowRun(params: Readonly<SleepWorkflowRunParams>): Promise<WorkflowRun>;
|
|
22
|
+
completeWorkflowRun(params: Readonly<CompleteWorkflowRunParams>): Promise<WorkflowRun>;
|
|
23
|
+
failWorkflowRun(params: Readonly<FailWorkflowRunParams>): Promise<WorkflowRun>;
|
|
24
|
+
cancelWorkflowRun(params: Readonly<CancelWorkflowRunParams>): Promise<WorkflowRun>;
|
|
25
|
+
pauseWorkflowRun(params: Readonly<PauseWorkflowRunParams>): Promise<WorkflowRun>;
|
|
26
|
+
resumeWorkflowRun(params: Readonly<ResumeWorkflowRunParams>): Promise<WorkflowRun>;
|
|
27
|
+
createStepAttempt(params: Readonly<CreateStepAttemptParams>): Promise<StepAttempt>;
|
|
28
|
+
getStepAttempt(params: Readonly<GetStepAttemptParams>): Promise<StepAttempt | null>;
|
|
29
|
+
listStepAttempts(params: Readonly<ListStepAttemptsParams>): Promise<PaginatedResponse<StepAttempt>>;
|
|
30
|
+
completeStepAttempt(params: Readonly<CompleteStepAttemptParams>): Promise<StepAttempt | null>;
|
|
31
|
+
failStepAttempt(params: Readonly<FailStepAttemptParams>): Promise<StepAttempt | null>;
|
|
32
|
+
}
|
|
33
|
+
interface CreateWorkflowRunParams {
|
|
34
|
+
workflowName: string;
|
|
35
|
+
version: string | null;
|
|
36
|
+
idempotencyKey: string | null;
|
|
37
|
+
config: JsonValue;
|
|
38
|
+
context: JsonValue | null;
|
|
39
|
+
input: JsonValue | null;
|
|
40
|
+
availableAt: Date | null;
|
|
41
|
+
deadlineAt: Date | null;
|
|
42
|
+
retryPolicy?: SerializableRetryPolicy;
|
|
43
|
+
}
|
|
44
|
+
interface GetWorkflowRunParams {
|
|
45
|
+
workflowRunId: string;
|
|
46
|
+
}
|
|
47
|
+
interface ListWorkflowRunsParams extends PaginationOptions {
|
|
48
|
+
status?: string[];
|
|
49
|
+
workflowName?: string;
|
|
50
|
+
createdAfter?: Date;
|
|
51
|
+
createdBefore?: Date;
|
|
52
|
+
}
|
|
53
|
+
interface ClaimWorkflowRunParams {
|
|
54
|
+
workerId: string;
|
|
55
|
+
leaseDurationMs: number;
|
|
56
|
+
}
|
|
57
|
+
interface ExtendWorkflowRunLeaseParams {
|
|
58
|
+
workflowRunId: string;
|
|
59
|
+
workerId: string;
|
|
60
|
+
leaseDurationMs: number;
|
|
61
|
+
}
|
|
62
|
+
interface SleepWorkflowRunParams {
|
|
63
|
+
workflowRunId: string;
|
|
64
|
+
workerId: string;
|
|
65
|
+
availableAt: Date;
|
|
66
|
+
}
|
|
67
|
+
interface CompleteWorkflowRunParams {
|
|
68
|
+
workflowRunId: string;
|
|
69
|
+
workerId: string;
|
|
70
|
+
output: JsonValue | null;
|
|
71
|
+
}
|
|
72
|
+
interface FailWorkflowRunParams {
|
|
73
|
+
workflowRunId: string;
|
|
74
|
+
workerId: string;
|
|
75
|
+
error: SerializedError;
|
|
76
|
+
forceComplete?: boolean;
|
|
77
|
+
customDelayMs?: number;
|
|
78
|
+
}
|
|
79
|
+
interface CancelWorkflowRunParams {
|
|
80
|
+
workflowRunId: string;
|
|
81
|
+
}
|
|
82
|
+
interface PauseWorkflowRunParams {
|
|
83
|
+
workflowRunId: string;
|
|
84
|
+
}
|
|
85
|
+
interface ResumeWorkflowRunParams {
|
|
86
|
+
workflowRunId: string;
|
|
87
|
+
}
|
|
88
|
+
interface CreateStepAttemptParams {
|
|
89
|
+
workflowRunId: string;
|
|
90
|
+
workerId: string;
|
|
91
|
+
stepName: string;
|
|
92
|
+
kind: StepKind;
|
|
93
|
+
config: JsonValue;
|
|
94
|
+
context: StepAttemptContext | null;
|
|
95
|
+
}
|
|
96
|
+
interface GetStepAttemptParams {
|
|
97
|
+
stepAttemptId: string;
|
|
98
|
+
}
|
|
99
|
+
interface ListStepAttemptsParams extends PaginationOptions {
|
|
100
|
+
workflowRunId: string;
|
|
101
|
+
}
|
|
102
|
+
interface CompleteStepAttemptParams {
|
|
103
|
+
workflowRunId: string;
|
|
104
|
+
stepAttemptId: string;
|
|
105
|
+
workerId: string;
|
|
106
|
+
output: JsonValue | null;
|
|
107
|
+
}
|
|
108
|
+
interface FailStepAttemptParams {
|
|
109
|
+
workflowRunId: string;
|
|
110
|
+
stepAttemptId: string;
|
|
111
|
+
workerId: string;
|
|
112
|
+
error: SerializedError;
|
|
113
|
+
}
|
|
114
|
+
interface PaginationOptions {
|
|
115
|
+
limit?: number;
|
|
116
|
+
after?: string;
|
|
117
|
+
before?: string;
|
|
118
|
+
order?: "asc" | "desc";
|
|
119
|
+
}
|
|
120
|
+
interface PaginatedResponse<T> {
|
|
121
|
+
data: T[];
|
|
122
|
+
pagination: {
|
|
123
|
+
next: string | null;
|
|
124
|
+
prev: string | null;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
128
|
+
//#endregion
|
|
129
|
+
export { Backend, CancelWorkflowRunParams, ClaimWorkflowRunParams, CompleteStepAttemptParams, CompleteWorkflowRunParams, CreateStepAttemptParams, CreateWorkflowRunParams, DEFAULT_NAMESPACE_ID, ExtendWorkflowRunLeaseParams, FailStepAttemptParams, FailWorkflowRunParams, GetStepAttemptParams, GetWorkflowRunParams, ListStepAttemptsParams, ListWorkflowRunsParams, PaginatedResponse, PaginationOptions, PauseWorkflowRunParams, ResumeWorkflowRunParams, SleepWorkflowRunParams };
|
|
107
130
|
//# sourceMappingURL=backend.d.ts.map
|
package/dist/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","
|
|
1
|
+
{"version":3,"file":"backend.d.ts","names":[],"sources":["../src/backend.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/backend.js
CHANGED
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/backend.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"backend.js","names":[],"sources":["../src/backend.ts"],"sourcesContent":["import { type SerializedError } from \"./core/error\";\nimport { type JsonValue } from \"./core/json\";\nimport { type SerializableRetryPolicy } from \"./core/retry\";\nimport { type StepAttempt, type StepAttemptContext, type StepKind } from \"./core/step\";\nimport { type WorkflowRun } from \"./core/workflow\";\nimport { type OnSubscribed } from \"./database/pubsub\";\n\nexport const DEFAULT_NAMESPACE_ID = \"default\";\n\n/**\n * Backend is the interface for backend providers to implement.\n */\nexport interface Backend {\n // Listen for events on a channel\n subscribe(callback: OnSubscribed): Promise<void>;\n publish(payload?: string): Promise<void>;\n\n // Workflow Runs\n createWorkflowRun(params: Readonly<CreateWorkflowRunParams>): Promise<WorkflowRun>;\n getWorkflowRun(params: Readonly<GetWorkflowRunParams>): Promise<WorkflowRun | null>;\n listWorkflowRuns(\n params: Readonly<ListWorkflowRunsParams>,\n ): Promise<PaginatedResponse<WorkflowRun>>;\n claimWorkflowRun(params: Readonly<ClaimWorkflowRunParams>): Promise<WorkflowRun | null>;\n extendWorkflowRunLease(params: Readonly<ExtendWorkflowRunLeaseParams>): Promise<WorkflowRun>;\n sleepWorkflowRun(params: Readonly<SleepWorkflowRunParams>): Promise<WorkflowRun>;\n completeWorkflowRun(params: Readonly<CompleteWorkflowRunParams>): Promise<WorkflowRun>;\n failWorkflowRun(params: Readonly<FailWorkflowRunParams>): Promise<WorkflowRun>;\n cancelWorkflowRun(params: Readonly<CancelWorkflowRunParams>): Promise<WorkflowRun>;\n pauseWorkflowRun(params: Readonly<PauseWorkflowRunParams>): Promise<WorkflowRun>;\n resumeWorkflowRun(params: Readonly<ResumeWorkflowRunParams>): Promise<WorkflowRun>;\n\n // Step Attempts\n createStepAttempt(params: Readonly<CreateStepAttemptParams>): Promise<StepAttempt>;\n getStepAttempt(params: Readonly<GetStepAttemptParams>): Promise<StepAttempt | null>;\n listStepAttempts(\n params: Readonly<ListStepAttemptsParams>,\n ): Promise<PaginatedResponse<StepAttempt>>;\n completeStepAttempt(params: Readonly<CompleteStepAttemptParams>): Promise<StepAttempt | null>;\n failStepAttempt(params: Readonly<FailStepAttemptParams>): Promise<StepAttempt | null>;\n}\n\nexport interface CreateWorkflowRunParams {\n workflowName: string;\n version: string | null;\n idempotencyKey: string | null;\n config: JsonValue;\n context: JsonValue | null;\n input: JsonValue | null;\n availableAt: Date | null; // null = immediately\n deadlineAt: Date | null; // null = no deadline\n retryPolicy?: SerializableRetryPolicy;\n}\n\nexport interface GetWorkflowRunParams {\n workflowRunId: string;\n}\n\nexport interface ListWorkflowRunsParams extends PaginationOptions {\n status?: string[];\n workflowName?: string;\n createdAfter?: Date;\n createdBefore?: Date;\n}\n\nexport interface ClaimWorkflowRunParams {\n workerId: string;\n leaseDurationMs: number;\n}\n\nexport interface ExtendWorkflowRunLeaseParams {\n workflowRunId: string;\n workerId: string;\n leaseDurationMs: number;\n}\n\nexport interface SleepWorkflowRunParams {\n workflowRunId: string;\n workerId: string;\n availableAt: Date;\n}\n\nexport interface CompleteWorkflowRunParams {\n workflowRunId: string;\n workerId: string;\n output: JsonValue | null;\n}\n\nexport interface FailWorkflowRunParams {\n workflowRunId: string;\n workerId: string;\n error: SerializedError;\n forceComplete?: boolean;\n customDelayMs?: number;\n}\n\nexport interface CancelWorkflowRunParams {\n workflowRunId: string;\n}\n\nexport interface PauseWorkflowRunParams {\n workflowRunId: string;\n}\n\nexport interface ResumeWorkflowRunParams {\n workflowRunId: string;\n}\n\nexport interface CreateStepAttemptParams {\n workflowRunId: string;\n workerId: string;\n stepName: string;\n kind: StepKind;\n config: JsonValue;\n context: StepAttemptContext | null;\n}\n\nexport interface GetStepAttemptParams {\n stepAttemptId: string;\n}\n\nexport interface ListStepAttemptsParams extends PaginationOptions {\n workflowRunId: string;\n}\n\nexport interface CompleteStepAttemptParams {\n workflowRunId: string;\n stepAttemptId: string;\n workerId: string;\n output: JsonValue | null;\n}\n\nexport interface FailStepAttemptParams {\n workflowRunId: string;\n stepAttemptId: string;\n workerId: string;\n error: SerializedError;\n}\n\nexport interface PaginationOptions {\n limit?: number;\n after?: string;\n before?: string;\n order?: \"asc\" | \"desc\";\n}\n\nexport interface PaginatedResponse<T> {\n data: T[];\n pagination: {\n next: string | null;\n prev: string | null;\n };\n}\n"],"mappings":";AAOA,MAAa,uBAAuB"}
|