veryfront 0.1.637 → 0.1.639
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/deno.js +1 -1
- package/esm/src/server/handlers/request/project-run-execute.handler.d.ts +8 -6
- package/esm/src/server/handlers/request/project-run-execute.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/project-run-execute.handler.js +23 -3
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/executor/workflow-executor.d.ts +2 -0
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +4 -3
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -3,6 +3,7 @@ import type { VeryfrontConfig } from "../../../config/index.js";
|
|
|
3
3
|
import { type DiscoveredTask } from "../../../task/discovery.js";
|
|
4
4
|
import { type RunTaskOptions, type TaskRunResult } from "../../../task/runner.js";
|
|
5
5
|
import { type DiscoveredWorkflow } from "../../../workflow/discovery/index.js";
|
|
6
|
+
import type { WorkflowClientConfig } from "../../../workflow/index.js";
|
|
6
7
|
import type { HandlerContext, HandlerMetadata, HandlerResult } from "../types.js";
|
|
7
8
|
import { BaseHandler } from "../response/base.js";
|
|
8
9
|
export interface ProjectRunExecuteRequest {
|
|
@@ -28,14 +29,16 @@ interface WorkflowRunView {
|
|
|
28
29
|
message?: string;
|
|
29
30
|
} | null;
|
|
30
31
|
}
|
|
32
|
+
interface WorkflowStartHandle {
|
|
33
|
+
runId: string;
|
|
34
|
+
settled?(): Promise<void>;
|
|
35
|
+
}
|
|
31
36
|
interface WorkflowClientView {
|
|
32
37
|
readonly statePersistence?: "durable" | "ephemeral";
|
|
33
38
|
register(workflow: unknown): void;
|
|
34
39
|
start(workflowId: string, input: unknown, options?: {
|
|
35
40
|
runId?: string;
|
|
36
|
-
}): Promise<
|
|
37
|
-
runId: string;
|
|
38
|
-
}>;
|
|
41
|
+
}): Promise<WorkflowStartHandle>;
|
|
39
42
|
getRun(runId: string): Promise<WorkflowRunView | null>;
|
|
40
43
|
destroy(): Promise<void>;
|
|
41
44
|
}
|
|
@@ -53,9 +56,8 @@ export interface ProjectRunExecuteHandlerDeps {
|
|
|
53
56
|
config?: VeryfrontConfig;
|
|
54
57
|
debug?: boolean;
|
|
55
58
|
}): Promise<DiscoveredWorkflow | null>;
|
|
56
|
-
createWorkflowClient(config?:
|
|
57
|
-
|
|
58
|
-
}): WorkflowClientView | Promise<WorkflowClientView>;
|
|
59
|
+
createWorkflowClient(config?: WorkflowClientConfig): WorkflowClientView | Promise<WorkflowClientView>;
|
|
60
|
+
ensureProjectDiscovery(ctx: HandlerContext): Promise<void>;
|
|
59
61
|
executeKnowledgeIngest(input: {
|
|
60
62
|
request: ProjectRunExecuteRequest;
|
|
61
63
|
ctx: HandlerContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-run-execute.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/request/project-run-execute.handler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"project-run-execute.handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/request/project-run-execute.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,11 @@ import { INTERNAL_AGENT_CONTROL_PLANE_MAX_BODY_BYTES, InternalAgentRequestBodyTo
|
|
|
6
6
|
import { getHostEnv } from "../../../platform/compat/process.js";
|
|
7
7
|
import { findTaskById } from "../../../task/discovery.js";
|
|
8
8
|
import { runTask } from "../../../task/runner.js";
|
|
9
|
+
import { agentRegistry } from "../../../agent/composition/index.js";
|
|
9
10
|
import { findWorkflowById } from "../../../workflow/discovery/index.js";
|
|
10
11
|
import { createWorkflowClient, RedisBackend } from "../../../workflow/index.js";
|
|
12
|
+
import { toolRegistry } from "../../../tool/registry.js";
|
|
13
|
+
import { ensureProjectDiscovery } from "./api/project-discovery.js";
|
|
11
14
|
import { BaseHandler } from "../response/base.js";
|
|
12
15
|
import { PRIORITY_MEDIUM_API } from "../../../utils/constants/index.js";
|
|
13
16
|
const EXECUTE_PATH_REGEX = /^\/api\/control-plane\/runs\/([^/]+)\/execute$/;
|
|
@@ -73,9 +76,10 @@ function createExecutionFailure(error, durationMs) {
|
|
|
73
76
|
};
|
|
74
77
|
}
|
|
75
78
|
async function createRuntimeWorkflowClient(config) {
|
|
79
|
+
const clientConfig = withRuntimeStepRegistries(config);
|
|
76
80
|
const redisUrl = getHostEnv("REDIS_URL")?.trim();
|
|
77
81
|
if (!redisUrl) {
|
|
78
|
-
return Object.assign(createWorkflowClient(
|
|
82
|
+
return Object.assign(createWorkflowClient(clientConfig), {
|
|
79
83
|
statePersistence: "ephemeral",
|
|
80
84
|
});
|
|
81
85
|
}
|
|
@@ -83,10 +87,23 @@ async function createRuntimeWorkflowClient(config) {
|
|
|
83
87
|
if (backend.initialize) {
|
|
84
88
|
await backend.initialize();
|
|
85
89
|
}
|
|
86
|
-
return Object.assign(createWorkflowClient({ backend, debug: config?.debug }), {
|
|
90
|
+
return Object.assign(createWorkflowClient({ ...clientConfig, backend, debug: config?.debug }), {
|
|
87
91
|
statePersistence: "durable",
|
|
88
92
|
});
|
|
89
93
|
}
|
|
94
|
+
function withRuntimeStepRegistries(config) {
|
|
95
|
+
return {
|
|
96
|
+
...config,
|
|
97
|
+
executor: {
|
|
98
|
+
...config?.executor,
|
|
99
|
+
stepExecutor: {
|
|
100
|
+
...config?.executor?.stepExecutor,
|
|
101
|
+
agentRegistry: config?.executor?.stepExecutor?.agentRegistry ?? agentRegistry,
|
|
102
|
+
toolRegistry: config?.executor?.stepExecutor?.toolRegistry ?? toolRegistry,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
90
107
|
async function executeTaskRun(request, ctx, deps) {
|
|
91
108
|
const taskId = stripTargetPrefix(request.target, "task:");
|
|
92
109
|
if (taskId === "knowledge-ingest") {
|
|
@@ -141,6 +158,7 @@ async function waitForWorkflowResult(client, runId, deps) {
|
|
|
141
158
|
async function executeWorkflowRun(request, ctx, deps) {
|
|
142
159
|
const startedAt = deps.now();
|
|
143
160
|
const workflowId = stripTargetPrefix(request.target, "workflow:");
|
|
161
|
+
await deps.ensureProjectDiscovery(ctx);
|
|
144
162
|
const workflow = await deps.findWorkflowById(workflowId, {
|
|
145
163
|
projectDir: ctx.projectDir,
|
|
146
164
|
adapter: ctx.adapter,
|
|
@@ -155,11 +173,12 @@ async function executeWorkflowRun(request, ctx, deps) {
|
|
|
155
173
|
duration_ms: 0,
|
|
156
174
|
};
|
|
157
175
|
}
|
|
158
|
-
const client = await deps.createWorkflowClient({ debug: ctx.debug });
|
|
176
|
+
const client = await deps.createWorkflowClient(withRuntimeStepRegistries({ debug: ctx.debug }));
|
|
159
177
|
try {
|
|
160
178
|
client.register(workflow.definition);
|
|
161
179
|
const handle = await client.start(workflow.id, request.input ?? {}, { runId: request.runId });
|
|
162
180
|
const run = await waitForWorkflowResult(client, handle.runId, deps);
|
|
181
|
+
await handle.settled?.();
|
|
163
182
|
const durationMs = Math.max(0, deps.now() - startedAt);
|
|
164
183
|
if (run.status === "waiting") {
|
|
165
184
|
if (client.statePersistence !== "durable") {
|
|
@@ -390,6 +409,7 @@ const defaultDeps = {
|
|
|
390
409
|
runTask,
|
|
391
410
|
findWorkflowById,
|
|
392
411
|
createWorkflowClient: createRuntimeWorkflowClient,
|
|
412
|
+
ensureProjectDiscovery,
|
|
393
413
|
executeKnowledgeIngest: executeKnowledgeIngestRun,
|
|
394
414
|
sleep: (ms) => new Promise((resolve) => dntShim.setTimeout(resolve, ms)),
|
|
395
415
|
now: () => Date.now(),
|
|
@@ -33,6 +33,8 @@ export interface WorkflowExecutorConfig {
|
|
|
33
33
|
export interface WorkflowHandle<TOutput = unknown> {
|
|
34
34
|
/** Run ID */
|
|
35
35
|
runId: string;
|
|
36
|
+
/** Wait for background workflow execution and cleanup to finish */
|
|
37
|
+
settled(): Promise<void>;
|
|
36
38
|
/** Get current status */
|
|
37
39
|
status(): Promise<WorkflowRun>;
|
|
38
40
|
/** Wait for completion and get result */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-executor.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/executor/workflow-executor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflow-executor.d.ts","sourceRoot":"","sources":["../../../../src/src/workflow/executor/workflow-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,10 +134,10 @@ export class WorkflowExecutor {
|
|
|
134
134
|
_tenant: tenant,
|
|
135
135
|
};
|
|
136
136
|
await this.config.backend.createRun(run);
|
|
137
|
-
this.executeAsync(run.id).catch((error) => {
|
|
137
|
+
const settled = this.executeAsync(run.id).catch((error) => {
|
|
138
138
|
logger.error("Workflow failed", { runId: run.id }, error);
|
|
139
139
|
});
|
|
140
|
-
return this.createHandle(run.id);
|
|
140
|
+
return this.createHandle(run.id, settled);
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Resume a paused/waiting workflow
|
|
@@ -409,9 +409,10 @@ export class WorkflowExecutor {
|
|
|
409
409
|
/**
|
|
410
410
|
* Create a handle for a workflow run
|
|
411
411
|
*/
|
|
412
|
-
createHandle(runId) {
|
|
412
|
+
createHandle(runId, settled) {
|
|
413
413
|
return {
|
|
414
414
|
runId,
|
|
415
|
+
settled: () => settled,
|
|
415
416
|
status: () => this.config.backend.getRun(runId),
|
|
416
417
|
result: () => this.waitForResult(runId),
|
|
417
418
|
cancel: () => this.cancel(runId),
|