veryfront 0.1.563 → 0.1.565
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/esm/cli/commands/worker/command-help.js +2 -2
- package/esm/cli/commands/worker/command.d.ts +1 -1
- package/esm/cli/commands/worker/command.js +5 -5
- package/esm/deno.js +1 -1
- package/esm/src/chat/conversation.d.ts.map +1 -1
- package/esm/src/chat/conversation.js +22 -0
- package/esm/src/chat/types.d.ts +1 -1
- package/esm/src/chat/types.d.ts.map +1 -1
- package/esm/src/integrations/_data.js +1 -1
- package/esm/src/jobs/index.d.ts +5 -1
- package/esm/src/jobs/index.d.ts.map +1 -1
- package/esm/src/jobs/index.js +4 -0
- package/esm/src/jobs/jobs-client.d.ts +14 -6
- package/esm/src/jobs/jobs-client.d.ts.map +1 -1
- package/esm/src/jobs/jobs-client.js +11 -4
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/backends/memory.d.ts +3 -3
- package/esm/src/workflow/backends/memory.d.ts.map +1 -1
- package/esm/src/workflow/backends/redis/index.d.ts +3 -3
- package/esm/src/workflow/backends/redis/index.d.ts.map +1 -1
- package/esm/src/workflow/backends/shared/requeue-run.d.ts +2 -2
- package/esm/src/workflow/backends/shared/requeue-run.d.ts.map +1 -1
- package/esm/src/workflow/backends/types.d.ts +3 -3
- package/esm/src/workflow/backends/types.d.ts.map +1 -1
- package/esm/src/workflow/schemas/index.d.ts +1 -1
- package/esm/src/workflow/schemas/index.d.ts.map +1 -1
- package/esm/src/workflow/schemas/index.js +1 -1
- package/esm/src/workflow/schemas/workflow.schema.d.ts +4 -4
- package/esm/src/workflow/schemas/workflow.schema.d.ts.map +1 -1
- package/esm/src/workflow/schemas/workflow.schema.js +3 -3
- package/esm/src/workflow/types.d.ts +1 -1
- package/esm/src/workflow/types.d.ts.map +1 -1
- package/esm/src/workflow/worker/dynamic-job-entrypoint.d.ts +14 -14
- package/esm/src/workflow/worker/dynamic-job-entrypoint.d.ts.map +1 -1
- package/esm/src/workflow/worker/dynamic-job-entrypoint.js +10 -10
- package/esm/src/workflow/worker/executors/index.d.ts +3 -2
- package/esm/src/workflow/worker/executors/index.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/index.js +3 -2
- package/esm/src/workflow/worker/executors/k8s.d.ts +2 -2
- package/esm/src/workflow/worker/executors/k8s.js +2 -2
- package/esm/src/workflow/worker/executors/process.d.ts +5 -5
- package/esm/src/workflow/worker/executors/process.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/process.js +6 -6
- package/esm/src/workflow/worker/executors/types.d.ts +5 -4
- package/esm/src/workflow/worker/executors/types.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/types.js +3 -2
- package/esm/src/workflow/worker/index.d.ts +10 -7
- package/esm/src/workflow/worker/index.d.ts.map +1 -1
- package/esm/src/workflow/worker/index.js +13 -10
- package/esm/src/workflow/worker/job-entrypoint.d.ts +17 -17
- package/esm/src/workflow/worker/job-entrypoint.d.ts.map +1 -1
- package/esm/src/workflow/worker/job-entrypoint.js +12 -12
- package/esm/src/workflow/worker/job-manager.d.ts +11 -11
- package/esm/src/workflow/worker/job-manager.js +16 -16
- package/package.json +1 -1
|
@@ -116,9 +116,9 @@ export declare const getApprovalDecisionSchema: () => import("../../internal-age
|
|
|
116
116
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
117
117
|
}>>;
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
119
|
+
* Internal workflow queue item schema
|
|
120
120
|
*/
|
|
121
|
-
export declare const
|
|
121
|
+
export declare const getWorkflowQueueItemSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
122
122
|
runId: import("../../internal-agents/schema.js").Schema<string>;
|
|
123
123
|
workflowId: import("../../internal-agents/schema.js").Schema<string>;
|
|
124
124
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
@@ -216,7 +216,7 @@ export declare const ApprovalDecisionSchema: import("../../internal-agents/schem
|
|
|
216
216
|
approver: import("../../internal-agents/schema.js").Schema<string>;
|
|
217
217
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
218
218
|
}>>;
|
|
219
|
-
export declare const
|
|
219
|
+
export declare const WorkflowQueueItemSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
220
220
|
runId: import("../../internal-agents/schema.js").Schema<string>;
|
|
221
221
|
workflowId: import("../../internal-agents/schema.js").Schema<string>;
|
|
222
222
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
@@ -247,7 +247,7 @@ export type ApprovalStatus = InferSchema<ReturnType<typeof getApprovalStatusSche
|
|
|
247
247
|
export type PendingApproval = InferSchema<ReturnType<typeof getPendingApprovalSchema>>;
|
|
248
248
|
export type WorkflowError = InferSchema<ReturnType<typeof getWorkflowErrorSchema>>;
|
|
249
249
|
export type ApprovalDecision = InferSchema<ReturnType<typeof getApprovalDecisionSchema>>;
|
|
250
|
-
export type
|
|
250
|
+
export type WorkflowQueueItem = InferSchema<ReturnType<typeof getWorkflowQueueItemSchema>>;
|
|
251
251
|
export type RunFilter = InferSchema<ReturnType<typeof getRunFilterSchema>>;
|
|
252
252
|
export type ParallelStrategy = InferSchema<ReturnType<typeof getParallelStrategySchema>>;
|
|
253
253
|
export type WaitType = InferSchema<ReturnType<typeof getWaitTypeSchema>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/schemas/workflow.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,uBAAuB,kIAWnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,oHAU/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,kIAYrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,4FAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;GAQhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;GAQzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;GAW9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;4BAMpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;GAQ/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,yGASnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;GAcpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;GAMlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;GAMrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"workflow.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/schemas/workflow.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,9 +134,9 @@ export const getApprovalDecisionSchema = defineSchema((v) => v.object({
|
|
|
134
134
|
comment: v.string().optional(),
|
|
135
135
|
}));
|
|
136
136
|
/**
|
|
137
|
-
*
|
|
137
|
+
* Internal workflow queue item schema
|
|
138
138
|
*/
|
|
139
|
-
export const
|
|
139
|
+
export const getWorkflowQueueItemSchema = defineSchema((v) => v.object({
|
|
140
140
|
runId: v.string(),
|
|
141
141
|
workflowId: v.string(),
|
|
142
142
|
input: v.unknown(),
|
|
@@ -176,7 +176,7 @@ export const ApprovalStatusSchema = lazySchema(getApprovalStatusSchema);
|
|
|
176
176
|
export const PendingApprovalSchema = lazySchema(getPendingApprovalSchema);
|
|
177
177
|
export const WorkflowErrorSchema = lazySchema(getWorkflowErrorSchema);
|
|
178
178
|
export const ApprovalDecisionSchema = lazySchema(getApprovalDecisionSchema);
|
|
179
|
-
export const
|
|
179
|
+
export const WorkflowQueueItemSchema = lazySchema(getWorkflowQueueItemSchema);
|
|
180
180
|
export const RunFilterSchema = lazySchema(getRunFilterSchema);
|
|
181
181
|
export const ParallelStrategySchema = lazySchema(getParallelStrategySchema);
|
|
182
182
|
export const WaitTypeSchema = lazySchema(getWaitTypeSchema);
|
|
@@ -2,7 +2,7 @@ import type { Schema } from "../extensions/schema/index.js";
|
|
|
2
2
|
import type { Agent } from "../agent/types.js";
|
|
3
3
|
import type { Tool } from "../tool/types.js";
|
|
4
4
|
import type { BlobRef, BlobStorage } from "./blob/types.js";
|
|
5
|
-
export type { ApprovalDecision, ApprovalStatus, BackoffStrategy, LoopExecutionContext, NodeState, NodeStatus, ParallelStrategy, PendingApproval, RetryConfig, RunFilter, WaitType, WorkflowError,
|
|
5
|
+
export type { ApprovalDecision, ApprovalStatus, BackoffStrategy, LoopExecutionContext, NodeState, NodeStatus, ParallelStrategy, PendingApproval, RetryConfig, RunFilter, WaitType, WorkflowError, WorkflowNodeType, WorkflowQueueItem, WorkflowStatus, } from "./schemas/index.js";
|
|
6
6
|
import type { LoopExecutionContext, NodeState, ParallelStrategy, PendingApproval, RetryConfig, WaitType, WorkflowError, WorkflowStatus } from "./schemas/index.js";
|
|
7
7
|
/**
|
|
8
8
|
* Workflow context - accumulates node outputs during execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/workflow/types.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG5D,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,SAAS,EACT,QAAQ,EACR,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/workflow/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dynamic
|
|
2
|
+
* Dynamic workflow run entrypoint
|
|
3
3
|
*
|
|
4
4
|
* Runs inside an ephemeral K8s Job or process container.
|
|
5
5
|
* Dynamically discovers and loads workflow definitions from the user's project
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import type { WorkflowBackend } from "../backends/types.js";
|
|
28
28
|
/**
|
|
29
|
-
* Exit codes for the
|
|
29
|
+
* Exit codes for the dynamic workflow run entrypoint.
|
|
30
30
|
*/
|
|
31
31
|
export declare const DYNAMIC_EXIT_CODES: {
|
|
32
32
|
readonly SUCCESS: 0;
|
|
@@ -36,16 +36,16 @@ export declare const DYNAMIC_EXIT_CODES: {
|
|
|
36
36
|
readonly DISCOVERY_FAILED: 4;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
|
-
* Configuration for the dynamic
|
|
39
|
+
* Configuration for the dynamic workflow run entrypoint.
|
|
40
40
|
*/
|
|
41
|
-
export interface
|
|
41
|
+
export interface DynamicWorkflowRunEntrypointConfig {
|
|
42
42
|
/** Backend for workflow persistence */
|
|
43
43
|
backend: WorkflowBackend;
|
|
44
44
|
/** Enable debug logging */
|
|
45
45
|
debug?: boolean;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Run a workflow
|
|
48
|
+
* Run a workflow run with dynamic discovery.
|
|
49
49
|
*
|
|
50
50
|
* This function:
|
|
51
51
|
* 1. Gets the run from Redis
|
|
@@ -55,19 +55,19 @@ export interface DynamicJobEntrypointConfig {
|
|
|
55
55
|
* 5. Finds the matching workflow
|
|
56
56
|
* 6. Executes the workflow
|
|
57
57
|
*/
|
|
58
|
-
export declare function
|
|
58
|
+
export declare function runDynamicWorkflowRun(config: DynamicWorkflowRunEntrypointConfig): Promise<number>;
|
|
59
59
|
/**
|
|
60
|
-
* Create a dynamic
|
|
60
|
+
* Create a dynamic workflow run entrypoint.
|
|
61
61
|
*
|
|
62
62
|
* This is a convenience function that sets up Redis backend
|
|
63
|
-
* and returns a function to run the
|
|
63
|
+
* and returns a function to run the workflow run.
|
|
64
64
|
*
|
|
65
65
|
* @example
|
|
66
66
|
* ```typescript
|
|
67
|
-
* //
|
|
68
|
-
* import {
|
|
67
|
+
* // workflow-runner.ts
|
|
68
|
+
* import { createDynamicWorkflowRunEntrypoint } from "veryfront/workflow/worker";
|
|
69
69
|
*
|
|
70
|
-
* const run = await
|
|
70
|
+
* const run = await createDynamicWorkflowRunEntrypoint({
|
|
71
71
|
* redisUrl: Deno.env.get("REDIS_URL")!,
|
|
72
72
|
* });
|
|
73
73
|
*
|
|
@@ -75,12 +75,12 @@ export declare function runDynamicWorkflowJob(config: DynamicJobEntrypointConfig
|
|
|
75
75
|
* Deno.exit(exitCode);
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
-
export interface
|
|
78
|
+
export interface CreateDynamicWorkflowRunEntrypointOptions {
|
|
79
79
|
/** Redis URL for backend */
|
|
80
80
|
redisUrl: string;
|
|
81
81
|
/** Enable debug logging */
|
|
82
82
|
debug?: boolean;
|
|
83
83
|
}
|
|
84
|
-
/** Create dynamic
|
|
85
|
-
export declare function
|
|
84
|
+
/** Create a dynamic workflow run entrypoint. */
|
|
85
|
+
export declare function createDynamicWorkflowRunEntrypoint(options: CreateDynamicWorkflowRunEntrypointOptions): Promise<() => Promise<number>>;
|
|
86
86
|
//# sourceMappingURL=dynamic-job-entrypoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-job-entrypoint.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/worker/dynamic-job-entrypoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"dynamic-job-entrypoint.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/worker/dynamic-job-entrypoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,uCAAuC;IACvC,OAAO,EAAE,eAAe,CAAC;IAEzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,MAAM,CAAC,CAgIjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,yCAAyC;IACxD,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,gDAAgD;AAChD,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,yCAAyC,GACjD,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAchC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dynamic
|
|
2
|
+
* Dynamic workflow run entrypoint
|
|
3
3
|
*
|
|
4
4
|
* Runs inside an ephemeral K8s Job or process container.
|
|
5
5
|
* Dynamically discovers and loads workflow definitions from the user's project
|
|
@@ -31,9 +31,9 @@ import { denoAdapter } from "../../platform/adapters/runtime/deno/index.js";
|
|
|
31
31
|
import { discoverWorkflows } from "../discovery/index.js";
|
|
32
32
|
import { WorkflowExecutor } from "../executor/workflow-executor.js";
|
|
33
33
|
import { failRunExecution, getFinalRunExitCode, getTenantFromEnv, hydrateRunContextEnv, runWithTenantContext, } from "./shared.js";
|
|
34
|
-
const logger = baseLogger.component("dynamic-
|
|
34
|
+
const logger = baseLogger.component("dynamic-workflow-run-entrypoint");
|
|
35
35
|
/**
|
|
36
|
-
* Exit codes for the
|
|
36
|
+
* Exit codes for the dynamic workflow run entrypoint.
|
|
37
37
|
*/
|
|
38
38
|
export const DYNAMIC_EXIT_CODES = {
|
|
39
39
|
SUCCESS: 0,
|
|
@@ -43,7 +43,7 @@ export const DYNAMIC_EXIT_CODES = {
|
|
|
43
43
|
DISCOVERY_FAILED: 4,
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
* Run a workflow
|
|
46
|
+
* Run a workflow run with dynamic discovery.
|
|
47
47
|
*
|
|
48
48
|
* This function:
|
|
49
49
|
* 1. Gets the run from Redis
|
|
@@ -53,7 +53,7 @@ export const DYNAMIC_EXIT_CODES = {
|
|
|
53
53
|
* 5. Finds the matching workflow
|
|
54
54
|
* 6. Executes the workflow
|
|
55
55
|
*/
|
|
56
|
-
export async function
|
|
56
|
+
export async function runDynamicWorkflowRun(config) {
|
|
57
57
|
const { backend, debug = false } = config;
|
|
58
58
|
// Get workflow run ID from environment
|
|
59
59
|
const runId = getEnv("WORKFLOW_RUN_ID");
|
|
@@ -115,13 +115,13 @@ export async function runDynamicWorkflowJob(config) {
|
|
|
115
115
|
return DYNAMIC_EXIT_CODES.DISCOVERY_FAILED;
|
|
116
116
|
}
|
|
117
117
|
if (debug) {
|
|
118
|
-
logger.info(`[
|
|
118
|
+
logger.info(`[DynamicWorkflowRun] Discovered ${discoveryResult.workflows.length} workflows:`, discoveryResult.workflows.map((w) => w.id));
|
|
119
119
|
}
|
|
120
120
|
// Find the matching workflow
|
|
121
121
|
const workflow = discoveryResult.workflows.find((w) => w.id === run.workflowId);
|
|
122
122
|
if (!workflow) {
|
|
123
123
|
logger.error(`Workflow not found: ${run.workflowId}`);
|
|
124
|
-
logger.error(`[
|
|
124
|
+
logger.error(`[DynamicWorkflowRun] Available workflows: ${discoveryResult.workflows.map((w) => w.id).join(", ")}`);
|
|
125
125
|
return DYNAMIC_EXIT_CODES.NOT_FOUND;
|
|
126
126
|
}
|
|
127
127
|
if (debug) {
|
|
@@ -148,15 +148,15 @@ export async function runDynamicWorkflowJob(config) {
|
|
|
148
148
|
return DYNAMIC_EXIT_CODES.WORKFLOW_FAILED;
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
/** Create dynamic
|
|
152
|
-
export async function
|
|
151
|
+
/** Create a dynamic workflow run entrypoint. */
|
|
152
|
+
export async function createDynamicWorkflowRunEntrypoint(options) {
|
|
153
153
|
// Dynamic import to avoid loading Redis if not needed
|
|
154
154
|
const { RedisBackend } = await import("../backends/redis.js");
|
|
155
155
|
const backend = new RedisBackend({
|
|
156
156
|
url: options.redisUrl,
|
|
157
157
|
debug: options.debug,
|
|
158
158
|
});
|
|
159
|
-
return () =>
|
|
159
|
+
return () => runDynamicWorkflowRun({
|
|
160
160
|
backend,
|
|
161
161
|
debug: options.debug,
|
|
162
162
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Job
|
|
2
|
+
* Job executors
|
|
3
3
|
*
|
|
4
|
-
* Abstraction layer for executing workflow
|
|
4
|
+
* Abstraction layer for executing job-backed workflow runs in different
|
|
5
|
+
* environments.
|
|
5
6
|
*/
|
|
6
7
|
export type { JobConfig, JobExecutor, JobInfo, JobStatus } from "./types.js";
|
|
7
8
|
export { isJobExecutor } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGlG,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Job
|
|
2
|
+
* Job executors
|
|
3
3
|
*
|
|
4
|
-
* Abstraction layer for executing workflow
|
|
4
|
+
* Abstraction layer for executing job-backed workflow runs in different
|
|
5
|
+
* environments.
|
|
5
6
|
*/
|
|
6
7
|
export { isJobExecutor } from "./types.js";
|
|
7
8
|
// K8s Executor
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kubernetes Job
|
|
2
|
+
* Kubernetes Job executor
|
|
3
3
|
*
|
|
4
|
-
* Executes workflow
|
|
4
|
+
* Executes job-backed workflow runs as Kubernetes Jobs.
|
|
5
5
|
* Each workflow runs in an ephemeral pod with complete isolation.
|
|
6
6
|
*/
|
|
7
7
|
import type { JobConfig, JobExecutor, JobInfo } from "./types.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kubernetes Job
|
|
2
|
+
* Kubernetes Job executor
|
|
3
3
|
*
|
|
4
|
-
* Executes workflow
|
|
4
|
+
* Executes job-backed workflow runs as Kubernetes Jobs.
|
|
5
5
|
* Each workflow runs in an ephemeral pod with complete isolation.
|
|
6
6
|
*/
|
|
7
7
|
import { logger as baseLogger } from "../../../utils/index.js";
|
|
@@ -7,7 +7,7 @@ export interface ProcessJobExecutorConfig {
|
|
|
7
7
|
command?: string;
|
|
8
8
|
/** Arguments for the command */
|
|
9
9
|
args?: string[];
|
|
10
|
-
/** Path to the
|
|
10
|
+
/** Path to the workflow run entrypoint script */
|
|
11
11
|
entrypointPath: string;
|
|
12
12
|
/** Working directory for spawned processes */
|
|
13
13
|
cwd?: string;
|
|
@@ -17,21 +17,21 @@ export interface ProcessJobExecutorConfig {
|
|
|
17
17
|
debug?: boolean;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Process
|
|
20
|
+
* Process job executor
|
|
21
21
|
*
|
|
22
|
-
* Spawns child processes for each workflow
|
|
22
|
+
* Spawns child processes for each job-backed workflow run.
|
|
23
23
|
* Provides isolation at the process level (separate memory space).
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* ```typescript
|
|
27
27
|
* const executor = new ProcessJobExecutor({
|
|
28
|
-
* entrypointPath: "./src/workflow-
|
|
28
|
+
* entrypointPath: "./src/workflow-run-entrypoint.ts",
|
|
29
29
|
* env: {
|
|
30
30
|
* REDIS_URL: "redis://localhost:6379",
|
|
31
31
|
* },
|
|
32
32
|
* });
|
|
33
33
|
*
|
|
34
|
-
* const manager = new
|
|
34
|
+
* const manager = new WorkflowRunManager({
|
|
35
35
|
* backend,
|
|
36
36
|
* executor,
|
|
37
37
|
* });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/process.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAa,MAAM,YAAY,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/process.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAa,MAAM,YAAY,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IAEvB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAGZ;IACF,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,wBAAwB;IAS5C,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAsDhD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASpD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAY/C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8DtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,SAAS;CAelB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Process
|
|
2
|
+
* Process job executor
|
|
3
3
|
*
|
|
4
|
-
* Executes workflow
|
|
4
|
+
* Executes job-backed workflow runs as child processes.
|
|
5
5
|
* Useful for local development and testing without containerization.
|
|
6
6
|
*
|
|
7
7
|
* Each workflow runs in a separate Deno subprocess with its own environment.
|
|
@@ -11,21 +11,21 @@ import { WORKFLOW_JOB_PERMISSIONS } from "../../../security/deno-permissions.js"
|
|
|
11
11
|
import { logger as baseLogger } from "../../../utils/index.js";
|
|
12
12
|
const logger = baseLogger.component("process-job-executor");
|
|
13
13
|
/**
|
|
14
|
-
* Process
|
|
14
|
+
* Process job executor
|
|
15
15
|
*
|
|
16
|
-
* Spawns child processes for each workflow
|
|
16
|
+
* Spawns child processes for each job-backed workflow run.
|
|
17
17
|
* Provides isolation at the process level (separate memory space).
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* ```typescript
|
|
21
21
|
* const executor = new ProcessJobExecutor({
|
|
22
|
-
* entrypointPath: "./src/workflow-
|
|
22
|
+
* entrypointPath: "./src/workflow-run-entrypoint.ts",
|
|
23
23
|
* env: {
|
|
24
24
|
* REDIS_URL: "redis://localhost:6379",
|
|
25
25
|
* },
|
|
26
26
|
* });
|
|
27
27
|
*
|
|
28
|
-
* const manager = new
|
|
28
|
+
* const manager = new WorkflowRunManager({
|
|
29
29
|
* backend,
|
|
30
30
|
* executor,
|
|
31
31
|
* });
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Job
|
|
2
|
+
* Job executor interface
|
|
3
3
|
*
|
|
4
|
-
* Abstraction layer for executing workflow
|
|
4
|
+
* Abstraction layer for executing job-backed workflow runs in isolated
|
|
5
|
+
* environments.
|
|
5
6
|
* Implementations can target different runtimes:
|
|
6
7
|
* - K8s Jobs
|
|
7
8
|
* - Docker containers
|
|
@@ -54,7 +55,7 @@ export interface JobInfo {
|
|
|
54
55
|
/**
|
|
55
56
|
* Job Executor Interface
|
|
56
57
|
*
|
|
57
|
-
* Abstracts the runtime environment for executing workflow
|
|
58
|
+
* Abstracts the runtime environment for executing job-backed workflow runs.
|
|
58
59
|
* Each implementation handles the specifics of its target platform.
|
|
59
60
|
*
|
|
60
61
|
* @example K8s
|
|
@@ -83,7 +84,7 @@ export interface JobInfo {
|
|
|
83
84
|
*/
|
|
84
85
|
export interface JobExecutor {
|
|
85
86
|
/**
|
|
86
|
-
* Create and start a job for a workflow run
|
|
87
|
+
* Create and start a job for a workflow run.
|
|
87
88
|
* @returns Job ID
|
|
88
89
|
*/
|
|
89
90
|
createJob(config: JobConfig): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/workflow/worker/executors/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,GAAG,EAAE,WAAW,CAAC;IAEjB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IAEd,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,MAAM,EAAE,SAAS,CAAC;IAElB,2BAA2B;IAC3B,SAAS,EAAE,IAAI,CAAC;IAEhB,iCAAiC;IACjC,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,yBAAyB;IACzB,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhD;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;OAGG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAS9D"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Job
|
|
2
|
+
* Job executor interface
|
|
3
3
|
*
|
|
4
|
-
* Abstraction layer for executing workflow
|
|
4
|
+
* Abstraction layer for executing job-backed workflow runs in isolated
|
|
5
|
+
* environments.
|
|
5
6
|
* Implementations can target different runtimes:
|
|
6
7
|
* - K8s Jobs
|
|
7
8
|
* - Docker containers
|
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Workflow
|
|
2
|
+
* Workflow worker module
|
|
3
3
|
*
|
|
4
4
|
* Provides distributed workflow execution support.
|
|
5
5
|
*
|
|
6
|
-
* Three
|
|
6
|
+
* Three execution profiles are available:
|
|
7
7
|
*
|
|
8
8
|
* 1. **WorkflowWorker** - In-process polling worker
|
|
9
9
|
* - Polls for stalled workflows and resumes them
|
|
10
10
|
* - Good for trusted code or single-tenant deployments
|
|
11
11
|
* - Simple setup, lower overhead
|
|
12
12
|
*
|
|
13
|
-
* 2. **
|
|
13
|
+
* 2. **WorkflowRunManager + K8sJobExecutor** - Kubernetes Job-backed execution
|
|
14
14
|
* - Each workflow runs in an ephemeral container
|
|
15
15
|
* - Complete tenant isolation (no shared state)
|
|
16
16
|
* - Required for multi-tenant untrusted code execution
|
|
17
17
|
*
|
|
18
|
-
* 3. **
|
|
18
|
+
* 3. **WorkflowRunManager + ProcessJobExecutor** - Local process execution
|
|
19
19
|
* - Spawns child processes for each workflow
|
|
20
20
|
* - Good for local development without K8s/Docker
|
|
21
21
|
* - Mirrors production behavior
|
|
22
|
+
*
|
|
23
|
+
* A workflow run can be backed by a job executor without introducing another
|
|
24
|
+
* user-visible execution type.
|
|
22
25
|
*/
|
|
23
26
|
import "../../../_dnt.polyfills.js";
|
|
24
27
|
export { createWorkflowWorker, type WorkerStats, type WorkerStatus, WorkflowWorker, type WorkflowWorkerConfig, } from "./workflow-worker.js";
|
|
25
|
-
export {
|
|
28
|
+
export { createWorkflowRunManager, type ManagerStats, type ManagerStatus, WorkflowRunManager, type WorkflowRunManagerConfig, } from "./job-manager.js";
|
|
26
29
|
export { isJobExecutor, type JobConfig, type JobExecutor, type JobInfo, type JobStatus, type K8sClient, K8sJobExecutor, type K8sJobExecutorConfig, type K8sJobSpec, type K8sJobStatusResponse, ProcessJobExecutor, type ProcessJobExecutorConfig, } from "./executors/index.js";
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
30
|
+
export { createWorkflowRunEntrypoint, type CreateWorkflowRunEntrypointOptions, EXIT_CODES, runWorkflowRun, type WorkflowRunEntrypointConfig, } from "./job-entrypoint.js";
|
|
31
|
+
export { createDynamicWorkflowRunEntrypoint, type CreateDynamicWorkflowRunEntrypointOptions, DYNAMIC_EXIT_CODES, type DynamicWorkflowRunEntrypointConfig, runDynamicWorkflowRun, } from "./dynamic-job-entrypoint.js";
|
|
29
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/worker/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/worker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,EACvC,UAAU,EACV,cAAc,EACd,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,kCAAkC,EAClC,KAAK,yCAAyC,EAC9C,kBAAkB,EAClB,KAAK,kCAAkC,EACvC,qBAAqB,GACtB,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,35 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Workflow
|
|
2
|
+
* Workflow worker module
|
|
3
3
|
*
|
|
4
4
|
* Provides distributed workflow execution support.
|
|
5
5
|
*
|
|
6
|
-
* Three
|
|
6
|
+
* Three execution profiles are available:
|
|
7
7
|
*
|
|
8
8
|
* 1. **WorkflowWorker** - In-process polling worker
|
|
9
9
|
* - Polls for stalled workflows and resumes them
|
|
10
10
|
* - Good for trusted code or single-tenant deployments
|
|
11
11
|
* - Simple setup, lower overhead
|
|
12
12
|
*
|
|
13
|
-
* 2. **
|
|
13
|
+
* 2. **WorkflowRunManager + K8sJobExecutor** - Kubernetes Job-backed execution
|
|
14
14
|
* - Each workflow runs in an ephemeral container
|
|
15
15
|
* - Complete tenant isolation (no shared state)
|
|
16
16
|
* - Required for multi-tenant untrusted code execution
|
|
17
17
|
*
|
|
18
|
-
* 3. **
|
|
18
|
+
* 3. **WorkflowRunManager + ProcessJobExecutor** - Local process execution
|
|
19
19
|
* - Spawns child processes for each workflow
|
|
20
20
|
* - Good for local development without K8s/Docker
|
|
21
21
|
* - Mirrors production behavior
|
|
22
|
+
*
|
|
23
|
+
* A workflow run can be backed by a job executor without introducing another
|
|
24
|
+
* user-visible execution type.
|
|
22
25
|
*/
|
|
23
26
|
// In-process worker (single-tenant / trusted code)
|
|
24
27
|
import "../../../_dnt.polyfills.js";
|
|
25
28
|
export { createWorkflowWorker, WorkflowWorker, } from "./workflow-worker.js";
|
|
26
|
-
// Job-
|
|
27
|
-
export {
|
|
29
|
+
// Job-backed workflow run execution (multi-tenant / untrusted code)
|
|
30
|
+
export { createWorkflowRunManager, WorkflowRunManager, } from "./job-manager.js";
|
|
28
31
|
// Job Executors (pluggable runtime backends)
|
|
29
32
|
export { isJobExecutor, K8sJobExecutor, ProcessJobExecutor, } from "./executors/index.js";
|
|
30
|
-
//
|
|
33
|
+
// Workflow run entrypoint (runs inside ephemeral container/process)
|
|
31
34
|
// Use this when workflows are pre-bundled in the container
|
|
32
|
-
export {
|
|
33
|
-
// Dynamic
|
|
35
|
+
export { createWorkflowRunEntrypoint, EXIT_CODES, runWorkflowRun, } from "./job-entrypoint.js";
|
|
36
|
+
// Dynamic workflow run entrypoint (discovers workflows at runtime)
|
|
34
37
|
// Use this when workflows are stored in Veryfront API
|
|
35
|
-
export {
|
|
38
|
+
export { createDynamicWorkflowRunEntrypoint, DYNAMIC_EXIT_CODES, runDynamicWorkflowRun, } from "./dynamic-job-entrypoint.js";
|