@corgelabs/corge 0.0.1 → 1.0.1
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/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +3 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/schema.d.ts +83 -0
- package/dist/ai/schema.d.ts.map +1 -0
- package/dist/ai/schema.js +19 -0
- package/dist/ai/schema.js.map +1 -0
- package/dist/ai/service.d.ts +14 -0
- package/dist/ai/service.d.ts.map +1 -0
- package/dist/ai/service.js +266 -0
- package/dist/ai/service.js.map +1 -0
- package/dist/ai/utils.d.ts +10 -0
- package/dist/ai/utils.d.ts.map +1 -0
- package/dist/ai/utils.js +27 -0
- package/dist/ai/utils.js.map +1 -0
- package/dist/attachments/index.d.ts +4 -0
- package/dist/attachments/index.d.ts.map +1 -0
- package/dist/attachments/index.js +4 -0
- package/dist/attachments/index.js.map +1 -0
- package/dist/attachments/routes.d.ts +75 -0
- package/dist/attachments/routes.d.ts.map +1 -0
- package/dist/attachments/routes.js +18 -0
- package/dist/attachments/routes.js.map +1 -0
- package/dist/attachments/schema.d.ts +61 -0
- package/dist/attachments/schema.d.ts.map +1 -0
- package/dist/attachments/schema.js +30 -0
- package/dist/attachments/schema.js.map +1 -0
- package/dist/attachments/service.d.ts +27 -0
- package/dist/attachments/service.d.ts.map +1 -0
- package/dist/attachments/service.js +224 -0
- package/dist/attachments/service.js.map +1 -0
- package/dist/attachments/utils.d.ts +9 -0
- package/dist/attachments/utils.d.ts.map +1 -0
- package/dist/attachments/utils.js +80 -0
- package/dist/attachments/utils.js.map +1 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oidc.d.ts +25 -0
- package/dist/auth/oidc.d.ts.map +1 -0
- package/dist/auth/oidc.js +298 -0
- package/dist/auth/oidc.js.map +1 -0
- package/dist/auth/recovery.d.ts +41 -0
- package/dist/auth/recovery.d.ts.map +1 -0
- package/dist/auth/recovery.js +250 -0
- package/dist/auth/recovery.js.map +1 -0
- package/dist/auth/routes.d.ts +226 -0
- package/dist/auth/routes.d.ts.map +1 -0
- package/dist/auth/routes.js +96 -0
- package/dist/auth/routes.js.map +1 -0
- package/dist/auth/schema.d.ts +158 -0
- package/dist/auth/schema.d.ts.map +1 -0
- package/dist/auth/schema.js +82 -0
- package/dist/auth/schema.js.map +1 -0
- package/dist/auth/service.d.ts +96 -0
- package/dist/auth/service.d.ts.map +1 -0
- package/dist/auth/service.js +129 -0
- package/dist/auth/service.js.map +1 -0
- package/dist/auth/session.d.ts +51 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +344 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/utils.d.ts +17 -0
- package/dist/auth/utils.d.ts.map +1 -0
- package/dist/auth/utils.js +96 -0
- package/dist/auth/utils.js.map +1 -0
- package/dist/bin/corge.js +542 -0
- package/dist/chat/context.d.ts +10 -0
- package/dist/chat/context.d.ts.map +1 -0
- package/dist/chat/context.js +221 -0
- package/dist/chat/context.js.map +1 -0
- package/dist/chat/index.d.ts +4 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +4 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/routes.d.ts +160 -0
- package/dist/chat/routes.d.ts.map +1 -0
- package/dist/chat/routes.js +210 -0
- package/dist/chat/routes.js.map +1 -0
- package/dist/chat/schema.d.ts +285 -0
- package/dist/chat/schema.d.ts.map +1 -0
- package/dist/chat/schema.js +74 -0
- package/dist/chat/schema.js.map +1 -0
- package/dist/chat/service.d.ts +64 -0
- package/dist/chat/service.d.ts.map +1 -0
- package/dist/chat/service.js +279 -0
- package/dist/chat/service.js.map +1 -0
- package/dist/chat/stream.d.ts +53 -0
- package/dist/chat/stream.d.ts.map +1 -0
- package/dist/chat/stream.js +339 -0
- package/dist/chat/stream.js.map +1 -0
- package/dist/chat/utils.d.ts +61 -0
- package/dist/chat/utils.d.ts.map +1 -0
- package/dist/chat/utils.js +285 -0
- package/dist/chat/utils.js.map +1 -0
- package/dist/cli/builder.d.ts +6 -0
- package/dist/cli/builder.d.ts.map +1 -0
- package/dist/cli/builder.js +91 -0
- package/dist/cli/builder.js.map +1 -0
- package/dist/cli/deployer.d.ts +2 -0
- package/dist/cli/deployer.d.ts.map +1 -0
- package/dist/cli/deployer.js +152 -0
- package/dist/cli/deployer.js.map +1 -0
- package/dist/cli/dev-server.d.ts +2 -0
- package/dist/cli/dev-server.d.ts.map +1 -0
- package/dist/cli/dev-server.js +70 -0
- package/dist/cli/dev-server.js.map +1 -0
- package/dist/cli/env.d.ts +4 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +68 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/init.d.ts +6 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +97 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/config.d.ts +262 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +212 -0
- package/dist/config.js.map +1 -0
- package/dist/db/index.d.ts +3 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +3 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +410 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +294 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/service.d.ts +42 -0
- package/dist/db/service.d.ts.map +1 -0
- package/dist/db/service.js +372 -0
- package/dist/db/service.js.map +1 -0
- package/dist/db/utils.d.ts +25 -0
- package/dist/db/utils.d.ts.map +1 -0
- package/dist/db/utils.js +188 -0
- package/dist/db/utils.js.map +1 -0
- package/dist/emails/index.d.ts +4 -0
- package/dist/emails/index.d.ts.map +1 -0
- package/dist/emails/index.js +4 -0
- package/dist/emails/index.js.map +1 -0
- package/dist/emails/routes.d.ts +191 -0
- package/dist/emails/routes.d.ts.map +1 -0
- package/dist/emails/routes.js +39 -0
- package/dist/emails/routes.js.map +1 -0
- package/dist/emails/schema.d.ts +237 -0
- package/dist/emails/schema.d.ts.map +1 -0
- package/dist/emails/schema.js +98 -0
- package/dist/emails/schema.js.map +1 -0
- package/dist/emails/service.d.ts +22 -0
- package/dist/emails/service.d.ts.map +1 -0
- package/dist/emails/service.js +337 -0
- package/dist/emails/service.js.map +1 -0
- package/dist/emails/utils.d.ts +49 -0
- package/dist/emails/utils.d.ts.map +1 -0
- package/dist/emails/utils.js +341 -0
- package/dist/emails/utils.js.map +1 -0
- package/dist/files/index.d.ts +4 -0
- package/dist/files/index.d.ts.map +1 -0
- package/dist/files/index.js +4 -0
- package/dist/files/index.js.map +1 -0
- package/dist/files/routes.d.ts +72 -0
- package/dist/files/routes.d.ts.map +1 -0
- package/dist/files/routes.js +38 -0
- package/dist/files/routes.js.map +1 -0
- package/dist/files/schema.d.ts +57 -0
- package/dist/files/schema.d.ts.map +1 -0
- package/dist/files/schema.js +39 -0
- package/dist/files/schema.js.map +1 -0
- package/dist/files/service.d.ts +27 -0
- package/dist/files/service.d.ts.map +1 -0
- package/dist/files/service.js +175 -0
- package/dist/files/service.js.map +1 -0
- package/dist/files/utils.d.ts +3 -0
- package/dist/files/utils.d.ts.map +1 -0
- package/dist/files/utils.js +63 -0
- package/dist/files/utils.js.map +1 -0
- package/dist/index.d.ts +875 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9919 -0
- package/dist/index.js.map +7 -0
- package/dist/payments/billing.d.ts +29 -0
- package/dist/payments/billing.d.ts.map +1 -0
- package/dist/payments/billing.js +378 -0
- package/dist/payments/billing.js.map +1 -0
- package/dist/payments/index.d.ts +4 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +4 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/routes.d.ts +340 -0
- package/dist/payments/routes.d.ts.map +1 -0
- package/dist/payments/routes.js +56 -0
- package/dist/payments/routes.js.map +1 -0
- package/dist/payments/schema.d.ts +412 -0
- package/dist/payments/schema.d.ts.map +1 -0
- package/dist/payments/schema.js +260 -0
- package/dist/payments/schema.js.map +1 -0
- package/dist/payments/service.d.ts +31 -0
- package/dist/payments/service.d.ts.map +1 -0
- package/dist/payments/service.js +322 -0
- package/dist/payments/service.js.map +1 -0
- package/dist/payments/utils.d.ts +61 -0
- package/dist/payments/utils.d.ts.map +1 -0
- package/dist/payments/utils.js +369 -0
- package/dist/payments/utils.js.map +1 -0
- package/dist/router/guard.d.ts +19 -0
- package/dist/router/guard.d.ts.map +1 -0
- package/dist/router/guard.js +243 -0
- package/dist/router/guard.js.map +1 -0
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +3 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/schema.d.ts +103 -0
- package/dist/router/schema.d.ts.map +1 -0
- package/dist/router/schema.js +282 -0
- package/dist/router/schema.js.map +1 -0
- package/dist/router/service.d.ts +25 -0
- package/dist/router/service.d.ts.map +1 -0
- package/dist/router/service.js +339 -0
- package/dist/router/service.js.map +1 -0
- package/dist/tasks/index.d.ts +4 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +4 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/routes.d.ts +54 -0
- package/dist/tasks/routes.d.ts.map +1 -0
- package/dist/tasks/routes.js +195 -0
- package/dist/tasks/routes.js.map +1 -0
- package/dist/tasks/schema.d.ts +261 -0
- package/dist/tasks/schema.d.ts.map +1 -0
- package/dist/tasks/schema.js +35 -0
- package/dist/tasks/schema.js.map +1 -0
- package/dist/tasks/service.d.ts +32 -0
- package/dist/tasks/service.d.ts.map +1 -0
- package/dist/tasks/service.js +201 -0
- package/dist/tasks/service.js.map +1 -0
- package/dist/tasks/steps.d.ts +18 -0
- package/dist/tasks/steps.d.ts.map +1 -0
- package/dist/tasks/steps.js +365 -0
- package/dist/tasks/steps.js.map +1 -0
- package/dist/tasks/utils.d.ts +75 -0
- package/dist/tasks/utils.d.ts.map +1 -0
- package/dist/tasks/utils.js +311 -0
- package/dist/tasks/utils.js.map +1 -0
- package/dist/tasks/watcher.d.ts +13 -0
- package/dist/tasks/watcher.d.ts.map +1 -0
- package/dist/tasks/watcher.js +255 -0
- package/dist/tasks/watcher.js.map +1 -0
- package/dist/tasks/worker.d.ts +28 -0
- package/dist/tasks/worker.d.ts.map +1 -0
- package/dist/tasks/worker.js +326 -0
- package/dist/tasks/worker.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/schema.d.ts +79 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +41 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/service.d.ts +32 -0
- package/dist/utils/service.d.ts.map +1 -0
- package/dist/utils/service.js +384 -0
- package/dist/utils/service.js.map +1 -0
- package/docs/SDK_SPEC.md +1645 -0
- package/infra/firestore.base.indexes.json +138 -0
- package/infra/firestore.base.rules +152 -0
- package/infra/storage.base.rules +8 -0
- package/package.json +58 -13
- package/src/ai/index.ts +2 -0
- package/src/ai/schema.ts +64 -0
- package/src/ai/service.ts +317 -0
- package/src/ai/utils.ts +38 -0
- package/src/attachments/index.ts +3 -0
- package/src/attachments/routes.ts +28 -0
- package/src/attachments/schema.ts +45 -0
- package/src/attachments/service.ts +315 -0
- package/src/attachments/utils.ts +115 -0
- package/src/auth/index.ts +3 -0
- package/src/auth/oidc.ts +419 -0
- package/src/auth/recovery.ts +365 -0
- package/src/auth/routes.ts +142 -0
- package/src/auth/schema.ts +181 -0
- package/src/auth/service.ts +183 -0
- package/src/auth/session.ts +414 -0
- package/src/auth/utils.ts +106 -0
- package/src/chat/context.ts +310 -0
- package/src/chat/index.ts +3 -0
- package/src/chat/routes.ts +264 -0
- package/src/chat/schema.ts +295 -0
- package/src/chat/service.ts +360 -0
- package/src/chat/stream.ts +481 -0
- package/src/chat/utils.ts +370 -0
- package/src/cli/builder.ts +93 -0
- package/src/cli/deployer.ts +184 -0
- package/src/cli/dev-server.ts +77 -0
- package/src/cli/env.ts +89 -0
- package/src/cli/init.ts +121 -0
- package/src/config.ts +447 -0
- package/src/db/index.ts +2 -0
- package/src/db/schema.ts +409 -0
- package/src/db/service.ts +477 -0
- package/src/db/utils.ts +250 -0
- package/src/emails/index.ts +3 -0
- package/src/emails/routes.ts +64 -0
- package/src/emails/schema.ts +239 -0
- package/src/emails/service.ts +488 -0
- package/src/emails/utils.ts +449 -0
- package/src/files/index.ts +3 -0
- package/src/files/routes.ts +44 -0
- package/src/files/schema.ts +76 -0
- package/src/files/service.ts +238 -0
- package/src/files/utils.ts +77 -0
- package/src/index.ts +425 -0
- package/src/payments/billing.ts +488 -0
- package/src/payments/index.ts +3 -0
- package/src/payments/routes.ts +92 -0
- package/src/payments/schema.ts +401 -0
- package/src/payments/service.ts +445 -0
- package/src/payments/utils.ts +472 -0
- package/src/router/guard.ts +319 -0
- package/src/router/index.ts +2 -0
- package/src/router/schema.ts +458 -0
- package/src/router/service.ts +453 -0
- package/src/tasks/index.ts +11 -0
- package/src/tasks/routes.ts +230 -0
- package/src/tasks/schema.ts +310 -0
- package/src/tasks/service.ts +254 -0
- package/src/tasks/steps.ts +472 -0
- package/src/tasks/utils.ts +445 -0
- package/src/tasks/watcher.ts +307 -0
- package/src/tasks/worker.ts +461 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/schema.ts +69 -0
- package/src/utils/service.ts +461 -0
- package/tests/e2e.test.ts +2531 -0
- package/tsconfig.base.json +12 -0
- package/README.md +0 -2
- package/index.d.ts +0 -1
- package/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/tasks/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import type { DocumentReference } from 'firebase-admin/firestore';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { AppBindings, DbRole } from '../config';
|
|
4
|
+
import type { EntryId } from '../db';
|
|
5
|
+
import type { AuthLevel, BaseRouteConfig, RouteMode } from '../router';
|
|
6
|
+
import { StaleWorkerEpochError, type Duration } from '../utils';
|
|
7
|
+
export { StaleWorkerEpochError };
|
|
8
|
+
export type TaskStatus = 'running' | 'sleeping' | 'waiting_signal' | 'compensating' | 'completed' | 'errored' | 'cancelled';
|
|
9
|
+
export interface TaskExecutionFence {
|
|
10
|
+
/** Monotonically increasing integer incremented on every worker claim, yield, hedge, or cancel transition */
|
|
11
|
+
epoch: number;
|
|
12
|
+
/** Unique UUID for the currently owning worker execution attempt */
|
|
13
|
+
activeRunId: string | null;
|
|
14
|
+
/** Timestamp of the latest worker heartbeat */
|
|
15
|
+
lastHeartbeatAt: number;
|
|
16
|
+
}
|
|
17
|
+
export interface TaskProgressUpdate {
|
|
18
|
+
percent?: number;
|
|
19
|
+
stage?: string;
|
|
20
|
+
message?: string;
|
|
21
|
+
data?: Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
export interface TaskStatusRecord<O = unknown> {
|
|
24
|
+
taskId: string;
|
|
25
|
+
workflowName: string;
|
|
26
|
+
status: TaskStatus;
|
|
27
|
+
userId?: EntryId;
|
|
28
|
+
epoch?: number;
|
|
29
|
+
activeRunId?: string | null;
|
|
30
|
+
lastHeartbeatAt?: number;
|
|
31
|
+
compensatedSteps?: Record<string, boolean>;
|
|
32
|
+
progress?: TaskProgressUpdate;
|
|
33
|
+
response?: O;
|
|
34
|
+
error?: string;
|
|
35
|
+
createdAt?: string;
|
|
36
|
+
updatedAt?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface WorkflowContext {
|
|
39
|
+
taskId: string;
|
|
40
|
+
workflowName: string;
|
|
41
|
+
attempt: number;
|
|
42
|
+
startedAt: number;
|
|
43
|
+
deadlineMs: number;
|
|
44
|
+
signal: AbortSignal;
|
|
45
|
+
}
|
|
46
|
+
export interface StepRetryPolicy {
|
|
47
|
+
maxAttempts?: number;
|
|
48
|
+
initialInterval?: Duration;
|
|
49
|
+
backoffCoefficient?: number;
|
|
50
|
+
maxInterval?: Duration;
|
|
51
|
+
jitter?: boolean;
|
|
52
|
+
nonRetryableErrorTypes?: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface StepContext {
|
|
55
|
+
signal: AbortSignal;
|
|
56
|
+
attempt: number;
|
|
57
|
+
stepId: string;
|
|
58
|
+
}
|
|
59
|
+
export interface StepOptions<T = unknown> {
|
|
60
|
+
retry?: number | StepRetryPolicy;
|
|
61
|
+
timeout?: Duration;
|
|
62
|
+
rollback?: (result: T) => Promise<unknown>;
|
|
63
|
+
}
|
|
64
|
+
export interface StepMapOptions<T, R> extends StepOptions<R> {
|
|
65
|
+
concurrency?: number;
|
|
66
|
+
shortCircuit?: (item: T, index: number) => Promise<R | undefined> | R | undefined;
|
|
67
|
+
}
|
|
68
|
+
export type StepSpec<T> = ((ctx: StepContext) => Promise<T>) | {
|
|
69
|
+
fn: (ctx: StepContext) => Promise<T>;
|
|
70
|
+
rollback?: (result: T) => Promise<unknown>;
|
|
71
|
+
retry?: number | StepRetryPolicy;
|
|
72
|
+
timeout?: Duration;
|
|
73
|
+
};
|
|
74
|
+
export type StepFn = <T>(name: string, fnOrSpec: StepSpec<T>, options?: StepOptions<T>) => Promise<T>;
|
|
75
|
+
export interface WorkflowTargetRef<I = any, O = any> {
|
|
76
|
+
workflowName?: string;
|
|
77
|
+
timeout?: Duration;
|
|
78
|
+
handler?: (ctx: any) => Promise<O>;
|
|
79
|
+
__input?: I;
|
|
80
|
+
}
|
|
81
|
+
export interface StepRunner extends StepFn {
|
|
82
|
+
run: StepFn;
|
|
83
|
+
map: <T, R>(name: string, items: readonly T[], fn: (item: T, index: number, ctx: StepContext) => Promise<R>, options?: StepMapOptions<T, R>) => Promise<R[]>;
|
|
84
|
+
invoke: <I = unknown, O = unknown>(name: string, target: string | WorkflowTargetRef<I, O>, input: I, options?: {
|
|
85
|
+
timeout?: Duration;
|
|
86
|
+
dedupeKey?: string;
|
|
87
|
+
}) => Promise<O>;
|
|
88
|
+
spawn: <I = unknown>(name: string, target: string | WorkflowTargetRef<I, unknown>, input: I, options?: {
|
|
89
|
+
dedupeKey?: string;
|
|
90
|
+
timeout?: Duration;
|
|
91
|
+
}) => Promise<{
|
|
92
|
+
taskId: string;
|
|
93
|
+
}>;
|
|
94
|
+
sleep: (name: string, duration: Duration) => Promise<void>;
|
|
95
|
+
waitForSignal: <T = unknown>(name: string, signalName: string, options?: {
|
|
96
|
+
timeout?: Duration;
|
|
97
|
+
}) => Promise<T>;
|
|
98
|
+
continueAsNew: <I = unknown>(newInput: I) => Promise<never>;
|
|
99
|
+
progress: (update: TaskProgressUpdate) => Promise<void>;
|
|
100
|
+
flush: () => Promise<PromiseSettledResult<unknown>[]>;
|
|
101
|
+
compensate: () => Promise<void>;
|
|
102
|
+
onError: () => Promise<void>;
|
|
103
|
+
}
|
|
104
|
+
export interface RollbackLeg<T> {
|
|
105
|
+
fn: () => Promise<T>;
|
|
106
|
+
rollback?: (result: T) => Promise<unknown>;
|
|
107
|
+
}
|
|
108
|
+
export interface WorkflowTaskPayload {
|
|
109
|
+
taskId: string;
|
|
110
|
+
workflowName: string;
|
|
111
|
+
params: Record<string, unknown>;
|
|
112
|
+
isDev: boolean;
|
|
113
|
+
expectedEpoch?: number;
|
|
114
|
+
}
|
|
115
|
+
export interface WorkflowRuntimeEntry {
|
|
116
|
+
mode: RouteMode;
|
|
117
|
+
deadlineSeconds?: number;
|
|
118
|
+
runTask: (params: any, step: StepRunner) => Promise<unknown>;
|
|
119
|
+
}
|
|
120
|
+
export declare class TaskYieldSignal extends Error {
|
|
121
|
+
readonly reason: 'sleeping' | 'waiting_signal' | 'continue_as_new' | 'yield';
|
|
122
|
+
readonly meta: {
|
|
123
|
+
delaySeconds?: number;
|
|
124
|
+
signalName?: string;
|
|
125
|
+
timeoutMs?: number;
|
|
126
|
+
newInput?: unknown;
|
|
127
|
+
};
|
|
128
|
+
readonly isTaskYield = true;
|
|
129
|
+
constructor(reason: 'sleeping' | 'waiting_signal' | 'continue_as_new' | 'yield', meta?: {
|
|
130
|
+
delaySeconds?: number;
|
|
131
|
+
signalName?: string;
|
|
132
|
+
timeoutMs?: number;
|
|
133
|
+
newInput?: unknown;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
export interface ClaimCheckPointer {
|
|
137
|
+
__claimCheck: string;
|
|
138
|
+
}
|
|
139
|
+
export declare class ReplayCompleteSignal extends Error {
|
|
140
|
+
readonly isReplayComplete: true;
|
|
141
|
+
constructor();
|
|
142
|
+
}
|
|
143
|
+
export interface ActiveTaskExecution {
|
|
144
|
+
taskId: string;
|
|
145
|
+
step: StepRunner;
|
|
146
|
+
controller: AbortController;
|
|
147
|
+
claimedEpoch?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface ActiveWorkflowStore {
|
|
150
|
+
workflow: WorkflowContext;
|
|
151
|
+
step: StepRunner;
|
|
152
|
+
env?: AppBindings;
|
|
153
|
+
}
|
|
154
|
+
export interface CreateStepRunnerOptions {
|
|
155
|
+
isDev?: boolean;
|
|
156
|
+
signals?: Record<string, unknown>;
|
|
157
|
+
workflowContext?: WorkflowContext;
|
|
158
|
+
canYield?: boolean;
|
|
159
|
+
claimedEpoch?: number;
|
|
160
|
+
abortController?: AbortController;
|
|
161
|
+
compensatedSteps?: Record<string, boolean>;
|
|
162
|
+
replayOnly?: boolean;
|
|
163
|
+
}
|
|
164
|
+
export interface DispatchWorkflowOptions {
|
|
165
|
+
mode?: RouteMode;
|
|
166
|
+
timeout?: Duration;
|
|
167
|
+
dedupeKey?: string;
|
|
168
|
+
wait?: boolean;
|
|
169
|
+
maxWaitMs?: number;
|
|
170
|
+
signal?: AbortSignal;
|
|
171
|
+
userId?: EntryId;
|
|
172
|
+
userRole?: DbRole;
|
|
173
|
+
}
|
|
174
|
+
export interface ExecuteWorkflowTaskOptions {
|
|
175
|
+
canYield?: boolean;
|
|
176
|
+
}
|
|
177
|
+
export type TaskRecord<O = unknown> = {
|
|
178
|
+
status: 'completed';
|
|
179
|
+
response: O;
|
|
180
|
+
} | {
|
|
181
|
+
status: 'errored';
|
|
182
|
+
error: string;
|
|
183
|
+
errorCode?: string;
|
|
184
|
+
nonRetryable?: boolean;
|
|
185
|
+
} | {
|
|
186
|
+
status: 'cancelled';
|
|
187
|
+
error?: string;
|
|
188
|
+
};
|
|
189
|
+
export declare class TaskWaitDetachedSignal extends Error {
|
|
190
|
+
readonly taskId: string;
|
|
191
|
+
readonly isTaskWaitDetached: true;
|
|
192
|
+
constructor(taskId: string);
|
|
193
|
+
}
|
|
194
|
+
export interface PendingEntry {
|
|
195
|
+
taskId: string;
|
|
196
|
+
workflowName: string;
|
|
197
|
+
docRef: DocumentReference;
|
|
198
|
+
createdAt: number;
|
|
199
|
+
hedged: boolean;
|
|
200
|
+
hedgeable?: boolean;
|
|
201
|
+
keepAlive?: boolean;
|
|
202
|
+
unsub?: () => void;
|
|
203
|
+
dispatch: () => Promise<void>;
|
|
204
|
+
finish: (res: TaskRecord<any>) => void;
|
|
205
|
+
}
|
|
206
|
+
export interface WatchTaskOptions {
|
|
207
|
+
isDev?: boolean;
|
|
208
|
+
docRef?: DocumentReference;
|
|
209
|
+
workflowName?: string;
|
|
210
|
+
hedgeable?: boolean;
|
|
211
|
+
keepAlive?: boolean;
|
|
212
|
+
timeoutMs?: number;
|
|
213
|
+
maxWaitMs?: number;
|
|
214
|
+
hedgeAfterMs?: number;
|
|
215
|
+
pollIntervalMs?: number;
|
|
216
|
+
signal?: AbortSignal;
|
|
217
|
+
dispatch?: () => Promise<void>;
|
|
218
|
+
}
|
|
219
|
+
export interface RouteRegistryItem {
|
|
220
|
+
id: string;
|
|
221
|
+
mode: RouteMode;
|
|
222
|
+
method: string;
|
|
223
|
+
path: string;
|
|
224
|
+
workflowName?: string;
|
|
225
|
+
auth?: AuthLevel;
|
|
226
|
+
description: string;
|
|
227
|
+
mcp?: boolean;
|
|
228
|
+
tool?: boolean;
|
|
229
|
+
input?: z.ZodType<any>;
|
|
230
|
+
output?: z.ZodType<any>;
|
|
231
|
+
guard?: BaseRouteConfig['guard'];
|
|
232
|
+
}
|
|
233
|
+
export interface RouteIntrospectionItem {
|
|
234
|
+
id: string;
|
|
235
|
+
method: string;
|
|
236
|
+
path: string;
|
|
237
|
+
mode: 'rest' | 'workflow';
|
|
238
|
+
workflowName?: string;
|
|
239
|
+
auth: string | false;
|
|
240
|
+
description: string;
|
|
241
|
+
mcp: boolean;
|
|
242
|
+
tool: boolean;
|
|
243
|
+
guards: string[];
|
|
244
|
+
inputSchema: Record<string, unknown> | null;
|
|
245
|
+
outputSchema: Record<string, unknown> | null;
|
|
246
|
+
}
|
|
247
|
+
export interface RoutesIntrospectionResponse {
|
|
248
|
+
appName: string;
|
|
249
|
+
generatedAt: string;
|
|
250
|
+
routes: RouteIntrospectionItem[];
|
|
251
|
+
collections?: Record<string, {
|
|
252
|
+
relationType: string;
|
|
253
|
+
rbac?: Record<string, unknown>;
|
|
254
|
+
schema: Record<string, unknown> | null;
|
|
255
|
+
}>;
|
|
256
|
+
}
|
|
257
|
+
export declare const signalTaskBody: z.ZodObject<{
|
|
258
|
+
signal: z.ZodString;
|
|
259
|
+
payload: z.ZodOptional<z.ZodUnknown>;
|
|
260
|
+
}, z.core.$strip>;
|
|
261
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/tasks/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { StaleWorkerEpochError } from '../utils';
|
|
3
|
+
export { StaleWorkerEpochError };
|
|
4
|
+
export class TaskYieldSignal extends Error {
|
|
5
|
+
reason;
|
|
6
|
+
meta;
|
|
7
|
+
isTaskYield = true;
|
|
8
|
+
constructor(reason, meta = {}) {
|
|
9
|
+
super(`TaskYield:${reason}`);
|
|
10
|
+
this.reason = reason;
|
|
11
|
+
this.meta = meta;
|
|
12
|
+
this.name = 'TaskYieldSignal';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class ReplayCompleteSignal extends Error {
|
|
16
|
+
isReplayComplete = true;
|
|
17
|
+
constructor() {
|
|
18
|
+
super('ReplayComplete');
|
|
19
|
+
this.name = 'ReplayCompleteSignal';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class TaskWaitDetachedSignal extends Error {
|
|
23
|
+
taskId;
|
|
24
|
+
isTaskWaitDetached = true;
|
|
25
|
+
constructor(taskId) {
|
|
26
|
+
super(`TaskWaitDetached:${taskId}`);
|
|
27
|
+
this.taskId = taskId;
|
|
28
|
+
this.name = 'TaskWaitDetachedSignal';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export const signalTaskBody = z.object({
|
|
32
|
+
signal: z.string().min(1),
|
|
33
|
+
payload: z.unknown().optional()
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/tasks/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,qBAAqB,EAAiB,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAoJhC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB,MAAM;IACN,IAAI;IAHb,WAAW,GAAG,IAAI,CAAA;IAC3B,YACkB,MAAmE,EACnE,IAAI,GAKhB,EAAE;QAEN,KAAK,CAAC,aAAa,MAAM,EAAE,CAAC,CAAA;sBARZ,MAAM;oBACN,IAAI;QAQpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAMD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,gBAAgB,GAAG,IAAa,CAAA;IACzC;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AA8CD,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAEnB,MAAM;IADzB,kBAAkB,GAAG,IAAa,CAAA;IAC3C,YAA4B,MAAc;QACxC,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAA;sBADT,MAAM;QAEhC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAyED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Timestamp, type DocumentReference } from 'firebase-admin/firestore';
|
|
2
|
+
import type { Core } from '../index';
|
|
3
|
+
import { type StepRunner, type TaskStatusRecord, type WorkflowContext, type WorkflowRuntimeEntry } from './schema';
|
|
4
|
+
export declare class TasksService {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(coreClient: Core);
|
|
7
|
+
status: <O = unknown>(taskId: string) => Promise<TaskStatusRecord<O>>;
|
|
8
|
+
signal: (taskId: string, signalName: string, payload?: unknown) => Promise<{
|
|
9
|
+
taskId: string;
|
|
10
|
+
signaled: true;
|
|
11
|
+
}>;
|
|
12
|
+
cancel: (taskId: string) => Promise<{
|
|
13
|
+
taskId: string;
|
|
14
|
+
status: 'cancelled';
|
|
15
|
+
}>;
|
|
16
|
+
get internals(): {
|
|
17
|
+
createStepRunner: (mode?: import("../router").RouteMode, docRef?: DocumentReference, steps?: Record<string, unknown>, expiresAt?: Timestamp, runnerOpts?: import("./schema").CreateStepRunnerOptions) => StepRunner;
|
|
18
|
+
allWithRollback: <T extends readonly unknown[]>(legs: { [K in keyof T]: import("./schema").RollbackLeg<T[K]>; }) => Promise<T>;
|
|
19
|
+
getContext: () => WorkflowContext;
|
|
20
|
+
useStep: () => StepRunner;
|
|
21
|
+
getActiveWorkflowStore: () => import("./schema").ActiveWorkflowStore | undefined;
|
|
22
|
+
dispatch: <I, O>(workflowName: string, fn: (input: I, step: StepRunner) => Promise<O>, params: I, opts?: import("./schema").DispatchWorkflowOptions) => Promise<O>;
|
|
23
|
+
execute: (payload: import("./schema").WorkflowTaskPayload, workflowRegistry?: Record<string, WorkflowRuntimeEntry>, execOpts?: import("./schema").ExecuteWorkflowTaskOptions) => Promise<void>;
|
|
24
|
+
registerRuntime: (registry: Record<string, WorkflowRuntimeEntry>) => void;
|
|
25
|
+
getRuntime: () => {
|
|
26
|
+
registry: Record<string, WorkflowRuntimeEntry>;
|
|
27
|
+
};
|
|
28
|
+
watchTask: <O = unknown>(taskId: string, opts?: import("./schema").WatchTaskOptions) => Promise<import("./schema").TaskRecord<O>>;
|
|
29
|
+
getActiveWatcherCount: () => number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAA;AAMjB,qBAAa,YAAY;;IAMvB,YAAY,UAAU,EAAE,IAAI,EAM3B;IAgBD,MAAM,GAAU,CAAC,GAAG,OAAO,UAAU,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAwBzE;IAED,MAAM,WACI,MAAM,cACF,MAAM,YACR,OAAO,KAChB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,CA2D7C;IA4CD,MAAM,WAAkB,MAAM,KAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CA4DhF;IAED,IAAI,SAAS;QAET,gBAAgB;QAChB,eAAe;QACf,UAAU;QACV,OAAO,QAtNI,UAAU;QAuNrB,sBAAsB;QACtB,QAAQ;QACR,OAAO;QACP,eAAe;QACf,UAAU;;;QACV,SAAS;QACT,qBAAqB;MAExB;CACF"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { Timestamp } from 'firebase-admin/firestore';
|
|
2
|
+
import { CORE_CONFIG } from '../config';
|
|
3
|
+
import { StaleWorkerEpochError } from './schema';
|
|
4
|
+
import { TaskStepsEngine } from './steps';
|
|
5
|
+
import { resolveTaskDeadline } from './utils';
|
|
6
|
+
import { TaskWatcherEngine } from './watcher';
|
|
7
|
+
import { TaskWorkerEngine } from './worker';
|
|
8
|
+
export class TasksService {
|
|
9
|
+
#core;
|
|
10
|
+
#worker;
|
|
11
|
+
#steps;
|
|
12
|
+
#watcher;
|
|
13
|
+
constructor(coreClient) {
|
|
14
|
+
this.#core = coreClient;
|
|
15
|
+
this.#worker = new TaskWorkerEngine(coreClient);
|
|
16
|
+
this.#steps = new TaskStepsEngine(coreClient, this.#worker.invokeChildWorkflow);
|
|
17
|
+
this.#watcher = new TaskWatcherEngine(coreClient, this.#steps);
|
|
18
|
+
this.#worker.bindEngines(this.#steps, this.#watcher);
|
|
19
|
+
}
|
|
20
|
+
#useStep = () => {
|
|
21
|
+
const store = this.#worker.getActiveWorkflowStore();
|
|
22
|
+
return store?.step ?? this.#steps.createStepRunner('workflow');
|
|
23
|
+
};
|
|
24
|
+
#assertTaskOwnership = (data) => {
|
|
25
|
+
if (!data)
|
|
26
|
+
throw this.#core.errors.httpError(404, 'Task not found', 'NOT_FOUND');
|
|
27
|
+
const caller = this.#core.caller;
|
|
28
|
+
if (!caller || caller.role === 'admin' || caller.userId === CORE_CONFIG.auth.adminUserId)
|
|
29
|
+
return;
|
|
30
|
+
if (typeof data.userId === 'string' && data.userId !== caller.userId) {
|
|
31
|
+
throw this.#core.errors.httpError(403, 'Forbidden', 'FORBIDDEN');
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
status = async (taskId) => {
|
|
35
|
+
const isDev = Boolean(this.#core.env.isDev);
|
|
36
|
+
const snap = await this.#core.db.firestore(isDev).collection('_tasks').doc(taskId).get();
|
|
37
|
+
const data = snap.exists ? snap.data() : undefined;
|
|
38
|
+
this.#assertTaskOwnership(data);
|
|
39
|
+
const response = 'response' in data ? await this.#steps.maybeHydrateStepValue(data.response, isDev) : undefined;
|
|
40
|
+
return {
|
|
41
|
+
taskId,
|
|
42
|
+
workflowName: String(data.workflowName ?? ''),
|
|
43
|
+
status: data.status ?? 'running',
|
|
44
|
+
...(typeof data.userId === 'string' ? { userId: data.userId } : {}),
|
|
45
|
+
...(typeof data.epoch === 'number' ? { epoch: data.epoch } : {}),
|
|
46
|
+
...('activeRunId' in data ? { activeRunId: data.activeRunId ?? null } : {}),
|
|
47
|
+
...(typeof data.lastHeartbeatAt === 'number' ? { lastHeartbeatAt: data.lastHeartbeatAt } : {}),
|
|
48
|
+
...(data.compensatedSteps
|
|
49
|
+
? { compensatedSteps: data.compensatedSteps }
|
|
50
|
+
: {}),
|
|
51
|
+
...(data.progress ? { progress: data.progress } : {}),
|
|
52
|
+
...('response' in data ? { response: response } : {}),
|
|
53
|
+
...(typeof data.error === 'string' ? { error: data.error } : {}),
|
|
54
|
+
...(typeof data.createdAt === 'string' ? { createdAt: data.createdAt } : {}),
|
|
55
|
+
...(typeof data.updatedAt === 'string' ? { updatedAt: data.updatedAt } : {})
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
signal = async (taskId, signalName, payload) => {
|
|
59
|
+
const isDev = Boolean(this.#core.env.isDev);
|
|
60
|
+
const db = this.#core.db.firestore(isDev);
|
|
61
|
+
const docRef = db.collection('_tasks').doc(taskId);
|
|
62
|
+
const outcome = await db.runTransaction(async (tx) => {
|
|
63
|
+
const snap = await tx.get(docRef);
|
|
64
|
+
const data = snap.exists ? snap.data() : undefined;
|
|
65
|
+
this.#assertTaskOwnership(data);
|
|
66
|
+
const workflowName = String(data.workflowName ?? '');
|
|
67
|
+
const params = data.params ?? {};
|
|
68
|
+
const signals = {
|
|
69
|
+
...(data.signals ?? {}),
|
|
70
|
+
[signalName]: payload ?? true
|
|
71
|
+
};
|
|
72
|
+
const wasWaiting = data.status === 'waiting_signal';
|
|
73
|
+
const currentEpoch = typeof data.epoch === 'number' ? data.epoch : 0;
|
|
74
|
+
const nextEpoch = wasWaiting ? currentEpoch + 1 : currentEpoch;
|
|
75
|
+
tx.set(docRef, {
|
|
76
|
+
signals,
|
|
77
|
+
...(wasWaiting ? { status: 'running', waitingSignal: null, epoch: nextEpoch, activeRunId: null } : {}),
|
|
78
|
+
updatedAt: new Date().toISOString()
|
|
79
|
+
}, { merge: true });
|
|
80
|
+
return { workflowName, params, wasWaiting, nextEpoch };
|
|
81
|
+
});
|
|
82
|
+
if (outcome.wasWaiting) {
|
|
83
|
+
const wf = this.#worker.getRuntime().registry[outcome.workflowName];
|
|
84
|
+
const deadline = resolveTaskDeadline(outcome.workflowName, wf?.deadlineSeconds);
|
|
85
|
+
if (CORE_CONFIG.tasks.useCloudTasks) {
|
|
86
|
+
await this.#watcher.enqueueBatched({
|
|
87
|
+
taskId,
|
|
88
|
+
workflowName: outcome.workflowName,
|
|
89
|
+
params: outcome.params,
|
|
90
|
+
isDev,
|
|
91
|
+
expectedEpoch: outcome.nextEpoch
|
|
92
|
+
}, deadline);
|
|
93
|
+
}
|
|
94
|
+
else if (wf) {
|
|
95
|
+
void this.#worker
|
|
96
|
+
.execute({
|
|
97
|
+
taskId,
|
|
98
|
+
workflowName: outcome.workflowName,
|
|
99
|
+
params: outcome.params,
|
|
100
|
+
isDev,
|
|
101
|
+
expectedEpoch: outcome.nextEpoch
|
|
102
|
+
})
|
|
103
|
+
.catch(() => { });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return { taskId, signaled: true };
|
|
107
|
+
};
|
|
108
|
+
#replayUncompensatedSteps = async (taskId, docRef, freshData, isDev) => {
|
|
109
|
+
const stepsMap = { ...(freshData.steps ?? {}) };
|
|
110
|
+
const compMap = { ...(freshData.compensatedSteps ?? {}) };
|
|
111
|
+
const workflowName = String(freshData.workflowName ?? '');
|
|
112
|
+
const wf = this.#worker.getRuntime().registry[workflowName];
|
|
113
|
+
if (!wf || !Object.keys(stepsMap).some((k) => !compMap[k]))
|
|
114
|
+
return;
|
|
115
|
+
const effectiveEnv = this.#core.env;
|
|
116
|
+
const expiresAt = Timestamp.fromMillis(Date.now() + CORE_CONFIG.tasks.ttlMs);
|
|
117
|
+
const now = Date.now();
|
|
118
|
+
const wfCtx = {
|
|
119
|
+
taskId,
|
|
120
|
+
workflowName,
|
|
121
|
+
attempt: 1,
|
|
122
|
+
startedAt: now,
|
|
123
|
+
deadlineMs: now + 60_000,
|
|
124
|
+
signal: new AbortController().signal
|
|
125
|
+
};
|
|
126
|
+
const replayStep = this.#steps.createStepRunner(wf.mode, docRef, stepsMap, expiresAt, {
|
|
127
|
+
isDev,
|
|
128
|
+
workflowContext: wfCtx,
|
|
129
|
+
canYield: false,
|
|
130
|
+
compensatedSteps: compMap,
|
|
131
|
+
replayOnly: true
|
|
132
|
+
});
|
|
133
|
+
const params = freshData.params ?? {};
|
|
134
|
+
try {
|
|
135
|
+
await this.#worker.runWithWorkflowContext({ workflow: wfCtx, step: replayStep, env: effectiveEnv }, () => this.#core.internals.context.run({ env: effectiveEnv, userId: this.#core.userId, role: this.#core.role, step: replayStep }, () => wf.runTask(params, replayStep)));
|
|
136
|
+
}
|
|
137
|
+
catch { }
|
|
138
|
+
await replayStep.compensate();
|
|
139
|
+
};
|
|
140
|
+
cancel = async (taskId) => {
|
|
141
|
+
const isDev = Boolean(this.#core.env.isDev);
|
|
142
|
+
const db = this.#core.db.firestore(isDev);
|
|
143
|
+
const docRef = db.collection('_tasks').doc(taskId);
|
|
144
|
+
const preActiveExec = this.#worker.getActiveTaskExecution(taskId);
|
|
145
|
+
const txResult = await db.runTransaction(async (tx) => {
|
|
146
|
+
const snap = await tx.get(docRef);
|
|
147
|
+
const data = snap.exists ? snap.data() : undefined;
|
|
148
|
+
this.#assertTaskOwnership(data);
|
|
149
|
+
const currentStatus = data.status;
|
|
150
|
+
if (currentStatus === 'completed' || currentStatus === 'errored' || currentStatus === 'cancelled') {
|
|
151
|
+
return { alreadyTerminal: true, data: data };
|
|
152
|
+
}
|
|
153
|
+
const currentEpoch = typeof data.epoch === 'number' ? data.epoch : 0;
|
|
154
|
+
const nextEpoch = currentEpoch + 1;
|
|
155
|
+
tx.set(docRef, {
|
|
156
|
+
status: 'compensating',
|
|
157
|
+
epoch: nextEpoch,
|
|
158
|
+
activeRunId: null,
|
|
159
|
+
updatedAt: new Date().toISOString()
|
|
160
|
+
}, { merge: true });
|
|
161
|
+
return { alreadyTerminal: false, nextEpoch, data: data };
|
|
162
|
+
});
|
|
163
|
+
if (!txResult.alreadyTerminal) {
|
|
164
|
+
const activeExec = preActiveExec ?? this.#worker.getActiveTaskExecution(taskId);
|
|
165
|
+
if (activeExec) {
|
|
166
|
+
activeExec.controller.abort(new StaleWorkerEpochError(`Task ${taskId} cancelled by caller`, {
|
|
167
|
+
taskId,
|
|
168
|
+
claimedEpoch: activeExec.claimedEpoch,
|
|
169
|
+
actualEpoch: txResult.nextEpoch
|
|
170
|
+
}));
|
|
171
|
+
await activeExec.step.compensate();
|
|
172
|
+
}
|
|
173
|
+
const freshSnap = await docRef.get().catch(() => null);
|
|
174
|
+
const freshData = freshSnap?.data() ?? txResult.data;
|
|
175
|
+
await this.#replayUncompensatedSteps(taskId, docRef, freshData, isDev);
|
|
176
|
+
await docRef.set({
|
|
177
|
+
status: 'cancelled',
|
|
178
|
+
activeRunId: null,
|
|
179
|
+
error: 'Cancelled by caller',
|
|
180
|
+
updatedAt: new Date().toISOString()
|
|
181
|
+
}, { merge: true });
|
|
182
|
+
}
|
|
183
|
+
return { taskId, status: 'cancelled' };
|
|
184
|
+
};
|
|
185
|
+
get internals() {
|
|
186
|
+
return {
|
|
187
|
+
createStepRunner: this.#steps.createStepRunner,
|
|
188
|
+
allWithRollback: this.#steps.allWithRollback,
|
|
189
|
+
getContext: this.#worker.getContext,
|
|
190
|
+
useStep: this.#useStep,
|
|
191
|
+
getActiveWorkflowStore: this.#worker.getActiveWorkflowStore,
|
|
192
|
+
dispatch: this.#worker.dispatch,
|
|
193
|
+
execute: this.#worker.execute,
|
|
194
|
+
registerRuntime: this.#worker.registerRuntime,
|
|
195
|
+
getRuntime: this.#worker.getRuntime,
|
|
196
|
+
watchTask: this.#watcher.watchTask,
|
|
197
|
+
getActiveWatcherCount: this.#watcher.getActiveWatcherCount
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DocumentReference, Timestamp } from 'firebase-admin/firestore';
|
|
2
|
+
import type { Core } from '../index';
|
|
3
|
+
import type { RouteMode } from '../router';
|
|
4
|
+
import type { Duration } from '../utils';
|
|
5
|
+
import { type CreateStepRunnerOptions, type RollbackLeg, type StepRunner } from './schema';
|
|
6
|
+
export declare class TaskStepsEngine {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(coreClient: Core, invokeChildWorkflow: (targetName: string, input: unknown, options?: {
|
|
9
|
+
timeout?: Duration;
|
|
10
|
+
dedupeKey?: string;
|
|
11
|
+
wait?: boolean;
|
|
12
|
+
}) => Promise<any>);
|
|
13
|
+
maybeOffloadStepValue: (docRef: DocumentReference | undefined, stepId: string, val: unknown, isDev?: boolean, forceOffload?: boolean) => Promise<unknown>;
|
|
14
|
+
maybeHydrateStepValue: <T>(raw: unknown, isDev?: boolean) => Promise<T>;
|
|
15
|
+
allWithRollback: <T extends readonly unknown[]>(legs: { [K in keyof T]: RollbackLeg<T[K]>; }) => Promise<T>;
|
|
16
|
+
createStepRunner: (mode?: RouteMode, docRef?: DocumentReference, steps?: Record<string, unknown>, expiresAt?: Timestamp, runnerOpts?: CreateStepRunnerOptions) => StepRunner;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tasks/steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAE5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAMhB,KAAK,UAAU,EAKhB,MAAM,UAAU,CAAA;AAcjB,qBAAa,eAAe;;IAQ1B,YACE,UAAU,EAAE,IAAI,EAChB,mBAAmB,EAAE,CACnB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KACjE,OAAO,CAAC,GAAG,CAAC,EAIlB;IAED,qBAAqB,WACX,iBAAiB,GAAG,SAAS,UAC7B,MAAM,OACT,OAAO,8CAGX,OAAO,CAAC,OAAO,CAAC,CAqBlB;IAED,qBAAqB,GAAU,CAAC,OAAO,OAAO,sBAAkB,OAAO,CAAC,CAAC,CAAC,CAIzE;IAED,eAAe,GAAU,CAAC,SAAS,SAAS,OAAO,EAAE,QAC7C,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,KAC1C,OAAO,CAAC,CAAC,CAAC,CAUZ;IAmTD,gBAAgB,UACR,SAAS,WACN,iBAAiB,UACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,cAClB,SAAS,eACR,uBAAuB,KACnC,UAAU,CAuDZ;CACF"}
|