@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/dist/core/workflow.js
CHANGED
|
@@ -1,47 +1,37 @@
|
|
|
1
|
+
//#region src/core/workflow.ts
|
|
1
2
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
* Default configuration for result polling when awaiting workflow completion.
|
|
4
|
+
*/
|
|
5
|
+
const DEFAULT_WORKFLOW_RESULT_CONFIG = {
|
|
6
|
+
pollIntervalMs: 1e3,
|
|
7
|
+
timeoutMs: 300 * 1e3
|
|
6
8
|
};
|
|
7
9
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
success: true,
|
|
35
|
-
value: resolved.value
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Check if a workflow run status represents a terminal state.
|
|
40
|
-
* @param status - The workflow run status
|
|
41
|
-
* @returns True if the status is terminal (succeeded, completed, failed, or canceled).
|
|
42
|
-
* Note: 'succeeded' is deprecated in favor of 'completed'.
|
|
43
|
-
*/ export function isTerminalStatus(status) {
|
|
44
|
-
return status === "succeeded" || status === "completed" || status === "failed" || status === "canceled";
|
|
10
|
+
* Validate input against a Standard Schema. Pure async function that validates
|
|
11
|
+
* input and returns a ValidationResult.
|
|
12
|
+
* @param schema - The Standard Schema to validate against (or null/undefined
|
|
13
|
+
* for no validation)
|
|
14
|
+
* @param input - The input value to validate
|
|
15
|
+
* @returns A ValidationResult containing either the validated value or an error
|
|
16
|
+
* message
|
|
17
|
+
*/
|
|
18
|
+
async function validateInput(schema, input) {
|
|
19
|
+
if (!schema) return {
|
|
20
|
+
success: true,
|
|
21
|
+
value: input
|
|
22
|
+
};
|
|
23
|
+
const result = schema["~standard"].validate(input);
|
|
24
|
+
const resolved = await Promise.resolve(result);
|
|
25
|
+
if (resolved.issues) return {
|
|
26
|
+
success: false,
|
|
27
|
+
error: resolved.issues.length > 0 ? resolved.issues.map((issue) => issue.message).join("; ") : "Validation failed"
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
success: true,
|
|
31
|
+
value: resolved.value
|
|
32
|
+
};
|
|
45
33
|
}
|
|
46
34
|
|
|
35
|
+
//#endregion
|
|
36
|
+
export { validateInput };
|
|
47
37
|
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/workflow.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"workflow.js","names":[],"sources":["../../src/core/workflow.ts"],"sourcesContent":["import { type SerializedError } from \"./error\";\nimport { type JsonValue } from \"./json\";\nimport { type StandardSchemaV1 } from \"./schema\";\n\n/**\n * Status of a workflow run through its lifecycle.\n */\nexport type WorkflowRunStatus =\n | \"pending\"\n | \"running\"\n | \"sleeping\"\n | \"paused\"\n | \"succeeded\" // deprecated in favor of 'completed'\n | \"completed\"\n | \"failed\"\n | \"canceled\";\n\n/**\n * WorkflowRun represents a single execution instance of a workflow.\n */\nexport interface WorkflowRun {\n namespaceId: string;\n id: string;\n workflowName: string;\n version: string | null;\n status: WorkflowRunStatus;\n idempotencyKey: string | null;\n config: JsonValue; // user-defined config\n context: JsonValue | null; // runtime execution metadata\n input: JsonValue | null;\n output: JsonValue | null;\n error: SerializedError | null;\n attempts: number;\n parentStepAttemptNamespaceId: string | null;\n parentStepAttemptId: string | null;\n workerId: string | null;\n availableAt: Date | null;\n deadlineAt: Date | null;\n startedAt: Date | null;\n finishedAt: Date | null;\n createdAt: Date;\n updatedAt: Date;\n}\n\n/**\n * Infers the input type from a Standard Schema.\n */\nexport type SchemaInput<TSchema, Fallback> = TSchema extends StandardSchemaV1\n ? StandardSchemaV1.InferInput<TSchema>\n : Fallback;\n\n/**\n * Infers the output type from a Standard Schema.\n */\nexport type SchemaOutput<TSchema, Fallback> = TSchema extends StandardSchemaV1\n ? StandardSchemaV1.InferOutput<TSchema>\n : Fallback;\n\n/**\n * Result of input validation - either success with a value or failure with an\n * error message.\n */\nexport type ValidationResult<T> = { success: true; value: T } | { success: false; error: string };\n\n/**\n * Default configuration for result polling when awaiting workflow completion.\n */\nexport const DEFAULT_WORKFLOW_RESULT_CONFIG = {\n /** Polling interval in milliseconds (1 second) */\n pollIntervalMs: 1000,\n /** Timeout in milliseconds (5 minutes) */\n timeoutMs: 5 * 60 * 1000,\n} as const;\n\n/**\n * Validate input against a Standard Schema. Pure async function that validates\n * input and returns a ValidationResult.\n * @param schema - The Standard Schema to validate against (or null/undefined\n * for no validation)\n * @param input - The input value to validate\n * @returns A ValidationResult containing either the validated value or an error\n * message\n */\nexport async function validateInput<RunInput, Input>(\n schema: StandardSchemaV1<RunInput, Input> | null | undefined,\n input: RunInput | undefined,\n): Promise<ValidationResult<Input>> {\n // No schema means no validation - pass through as-is\n if (!schema) {\n return {\n success: true,\n value: input as unknown as Input,\n };\n }\n\n // Validate using Standard Schema v1 protocol https://standardschema.dev\n const result = schema[\"~standard\"].validate(input);\n const resolved = await Promise.resolve(result);\n\n if (resolved.issues) {\n const messages =\n resolved.issues.length > 0\n ? resolved.issues.map((issue) => issue.message).join(\"; \")\n : \"Validation failed\";\n return {\n success: false,\n error: messages,\n };\n }\n\n return {\n success: true,\n value: resolved.value,\n };\n}\n\n/**\n * Check if a workflow run status represents a terminal state.\n * @param status - The workflow run status\n * @returns True if the status is terminal (succeeded, completed, failed, or canceled).\n * Note: 'succeeded' is deprecated in favor of 'completed'.\n */\nexport function isTerminalStatus(\n status: string,\n): status is \"succeeded\" | \"completed\" | \"failed\" | \"canceled\" {\n return (\n status === \"succeeded\" || status === \"completed\" || status === \"failed\" || status === \"canceled\"\n );\n}\n"],"mappings":";;;;AAmEA,MAAa,iCAAiC;CAE5C,gBAAgB;CAEhB,WAAW,MAAS;CACrB;;;;;;;;;;AAWD,eAAsB,cACpB,QACA,OACkC;AAElC,KAAI,CAAC,OACH,QAAO;EACL,SAAS;EACT,OAAO;EACR;CAIH,MAAM,SAAS,OAAO,aAAa,SAAS,MAAM;CAClD,MAAM,WAAW,MAAM,QAAQ,QAAQ,OAAO;AAE9C,KAAI,SAAS,OAKX,QAAO;EACL,SAAS;EACT,OALA,SAAS,OAAO,SAAS,IACrB,SAAS,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAC,KAAK,KAAK,GACxD;EAIL;AAGH,QAAO;EACL,SAAS;EACT,OAAO,SAAS;EACjB"}
|
|
@@ -1,48 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { StepAttempt } from "../core/step.js";
|
|
2
|
+
import { WorkflowRun } from "../core/workflow.js";
|
|
3
|
+
import { OnSubscribed } from "./pubsub.js";
|
|
4
|
+
import { Backend, CancelWorkflowRunParams, ClaimWorkflowRunParams, CompleteStepAttemptParams, CompleteWorkflowRunParams, CreateStepAttemptParams, CreateWorkflowRunParams, ExtendWorkflowRunLeaseParams, FailStepAttemptParams, FailWorkflowRunParams, GetStepAttemptParams, GetWorkflowRunParams, ListStepAttemptsParams, ListWorkflowRunsParams, PaginatedResponse, PauseWorkflowRunParams, ResumeWorkflowRunParams, SleepWorkflowRunParams } from "../backend.js";
|
|
5
|
+
import { Knex } from "knex";
|
|
6
|
+
|
|
7
|
+
//#region src/database/backend.d.ts
|
|
7
8
|
interface BackendPostgresOptions {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
namespaceId?: string;
|
|
10
|
+
runMigrations?: boolean;
|
|
11
|
+
usePubSub?: boolean;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* Manages a connection to a Postgres database for workflow operations.
|
|
14
15
|
*/
|
|
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
|
-
|
|
16
|
+
declare class BackendPostgres implements Backend {
|
|
17
|
+
private config;
|
|
18
|
+
private namespaceId;
|
|
19
|
+
private usePubSub;
|
|
20
|
+
private pubsub;
|
|
21
|
+
private initialized;
|
|
22
|
+
private runMigrations;
|
|
23
|
+
private _knex;
|
|
24
|
+
private get knex();
|
|
25
|
+
constructor(config: Knex.Config, options?: BackendPostgresOptions);
|
|
26
|
+
initialize(): Promise<void>;
|
|
27
|
+
subscribe(callback: OnSubscribed): Promise<void>;
|
|
28
|
+
publish(payload?: string): Promise<void>;
|
|
29
|
+
stop(): Promise<void>;
|
|
30
|
+
createWorkflowRun(params: CreateWorkflowRunParams): Promise<WorkflowRun>;
|
|
31
|
+
getWorkflowRun(params: GetWorkflowRunParams): Promise<WorkflowRun | null>;
|
|
32
|
+
listWorkflowRuns(params: ListWorkflowRunsParams): Promise<PaginatedResponse<WorkflowRun>>;
|
|
33
|
+
private buildListWorkflowRunsWhere;
|
|
34
|
+
claimWorkflowRun(params: ClaimWorkflowRunParams): Promise<WorkflowRun | null>;
|
|
35
|
+
extendWorkflowRunLease(params: ExtendWorkflowRunLeaseParams): Promise<WorkflowRun>;
|
|
36
|
+
sleepWorkflowRun(params: SleepWorkflowRunParams): Promise<WorkflowRun>;
|
|
37
|
+
completeWorkflowRun(params: CompleteWorkflowRunParams): Promise<WorkflowRun>;
|
|
38
|
+
failWorkflowRun(params: FailWorkflowRunParams): Promise<WorkflowRun>;
|
|
39
|
+
cancelWorkflowRun(params: CancelWorkflowRunParams): Promise<WorkflowRun>;
|
|
40
|
+
pauseWorkflowRun(params: PauseWorkflowRunParams): Promise<WorkflowRun>;
|
|
41
|
+
resumeWorkflowRun(params: ResumeWorkflowRunParams): Promise<WorkflowRun>;
|
|
42
|
+
createStepAttempt(params: CreateStepAttemptParams): Promise<StepAttempt>;
|
|
43
|
+
getStepAttempt(params: GetStepAttemptParams): Promise<StepAttempt | null>;
|
|
44
|
+
listStepAttempts(params: ListStepAttemptsParams): Promise<PaginatedResponse<StepAttempt>>;
|
|
45
|
+
private buildListStepAttemptsWhere;
|
|
46
|
+
private processPaginationResults;
|
|
47
|
+
completeStepAttempt(params: CompleteStepAttemptParams): Promise<StepAttempt | null>;
|
|
48
|
+
failStepAttempt(params: FailStepAttemptParams): Promise<StepAttempt | null>;
|
|
49
|
+
/**
|
|
50
|
+
* completeStepAttempt/failStepAttempt에서 UPDATE가 0건일 때,
|
|
51
|
+
* 외부 상태 변경(pause/cancel)에 의한 것인지 판단합니다.
|
|
52
|
+
* - 외부 상태 변경이면 해당 step의 상태도 워크플로우와 동일하게 맞추고 null을 반환합니다.
|
|
53
|
+
* - 그 외에는 예상하지 못한 상황이므로 에러를 throw합니다.
|
|
54
|
+
*/
|
|
55
|
+
private handleStepAttemptUpdateMiss;
|
|
46
56
|
}
|
|
47
57
|
/**
|
|
48
58
|
* Cursor used for pagination. Requires created_at and id fields. Because JS
|
|
@@ -50,10 +60,7 @@ export declare class BackendPostgres implements Backend {
|
|
|
50
60
|
* be stored with millisecond precision in paginated tables to avoid issues with
|
|
51
61
|
* cursor comparisons.
|
|
52
62
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
export declare function decodeCursor(cursor: string): Cursor;
|
|
58
|
-
export {};
|
|
63
|
+
|
|
64
|
+
//#endregion
|
|
65
|
+
export { BackendPostgres };
|
|
59
66
|
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","
|
|
1
|
+
{"version":3,"file":"backend.d.ts","names":[],"sources":["../../src/database/backend.ts"],"sourcesContent":[],"mappings":";;;;;;;UAqCU,sBAAA;EAAA,WAAA,CAAA,EAAA,MAAA;EAcG,aAAA,CAAA,EAAA,OAAgB;EAAA,SAAA,CAAA,EAAA,OAAA;;;;;AAwEW,cAxE3B,eAAA,YAA2B,OAwEA,CAAA;UAgBL,MAAA;UAgBnB,WAAA;UAYkB,SAAA;UAAkC,MAAA;UAAR,WAAA;UA8C7B,aAAA;UAA+B,KAAA;cAAR,IAAA,CAAA;aAuCrB,CAAA,MAAA,EAlLX,IAAA,CAAK,MAkLM,EAAA,OAAA,CAAA,EAlLY,sBAkLZ;YAAmD,CAAA,CAAA,EA7IlE,OA6IkE,CAAA,IAAA,CAAA;WAAlB,CAAA,QAAA,EAjItC,YAiIsC,CAAA,EAjI1B,OAiI0B,CAAA,IAAA,CAAA;SAAR,CAAA,OAAA,CAAA,EAAA,MAAA,CAAA,EAjHvB,OAiHuB,CAAA,IAAA,CAAA;MAwEzB,CAAA,CAAA,EAzKjB,OAyKiB,CAAA,IAAA,CAAA;mBAAiC,CAAA,MAAA,EA7JhC,uBA6JgC,CAAA,EA7JN,OA6JM,CA7JE,WA6JF,CAAA;gBAAR,CAAA,MAAA,EA/G3B,oBA+G2B,CAAA,EA/GJ,OA+GI,CA/GI,WA+GJ,GAAA,IAAA,CAAA;kBAgEnB,CAAA,MAAA,EAxIN,sBAwIM,CAAA,EAxImB,OAwInB,CAxI2B,iBAwI3B,CAxI6C,WAwI7C,CAAA,CAAA;UAAuC,0BAAA;kBAAR,CAAA,MAAA,EAhErC,sBAgEqC,CAAA,EAhEZ,OAgEY,CAhEJ,WAgEI,GAAA,IAAA,CAAA;wBAoCrC,CAAA,MAAA,EApCM,4BAoCN,CAAA,EApCqC,OAoCrC,CApC6C,WAoC7C,CAAA;kBAAiC,CAAA,MAAA,EAAjC,sBAAiC,CAAA,EAAR,OAAQ,CAAA,WAAA,CAAA;qBAAR,CAAA,MAAA,EAmCtB,yBAnCsB,CAAA,EAmCM,OAnCN,CAmCc,WAnCd,CAAA;iBAmCtB,CAAA,MAAA,EAqCJ,qBArCI,CAAA,EAqCoB,OArCpB,CAqC4B,WArC5B,CAAA;mBAAoC,CAAA,MAAA,EA4ItC,uBA5IsC,CAAA,EA4IZ,OA5IY,CA4IJ,WA5II,CAAA;kBAAR,CAAA,MAAA,EAmM/B,sBAnM+B,CAAA,EAmMN,OAnMM,CAmME,WAnMF,CAAA;mBAqChC,CAAA,MAAA,EAmNE,uBAnNF,CAAA,EAmN4B,OAnN5B,CAmNoC,WAnNpC,CAAA;mBAAgC,CAAA,MAAA,EAuQ9B,uBAvQ8B,CAAA,EAuQJ,OAvQI,CAuQI,WAvQJ,CAAA;gBAAR,CAAA,MAAA,EA4SzB,oBA5SyB,CAAA,EA4SF,OA5SE,CA4SM,WA5SN,GAAA,IAAA,CAAA;kBAuGtB,CAAA,MAAA,EAsND,sBAtNC,CAAA,EAsNwB,OAtNxB,CAsNgC,iBAtNhC,CAsNkD,WAtNlD,CAAA,CAAA;UAAkC,0BAAA;UAAR,wBAAA;qBAuD3B,CAAA,MAAA,EAyQG,yBAzQH,CAAA,EAyQ+B,OAzQ/B,CAyQuC,WAzQvC,GAAA,IAAA,CAAA;iBAAiC,CAAA,MAAA,EAgTlC,qBAhTkC,CAAA,EAgTV,OAhTU,CAgTF,WAhTE,GAAA,IAAA,CAAA;;;;;;;UAyGN,2BAAA"}
|