veryfront 0.1.638 → 0.1.640
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 +3 -3
- 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 +22 -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 +4 -0
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +15 -5
- 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 {
|
|
@@ -55,9 +56,8 @@ export interface ProjectRunExecuteHandlerDeps {
|
|
|
55
56
|
config?: VeryfrontConfig;
|
|
56
57
|
debug?: boolean;
|
|
57
58
|
}): Promise<DiscoveredWorkflow | null>;
|
|
58
|
-
createWorkflowClient(config?:
|
|
59
|
-
|
|
60
|
-
}): WorkflowClientView | Promise<WorkflowClientView>;
|
|
59
|
+
createWorkflowClient(config?: WorkflowClientConfig): WorkflowClientView | Promise<WorkflowClientView>;
|
|
60
|
+
ensureProjectDiscovery(ctx: HandlerContext): Promise<void>;
|
|
61
61
|
executeKnowledgeIngest(input: {
|
|
62
62
|
request: ProjectRunExecuteRequest;
|
|
63
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,7 +173,7 @@ 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 });
|
|
@@ -391,6 +409,7 @@ const defaultDeps = {
|
|
|
391
409
|
runTask,
|
|
392
410
|
findWorkflowById,
|
|
393
411
|
createWorkflowClient: createRuntimeWorkflowClient,
|
|
412
|
+
ensureProjectDiscovery,
|
|
394
413
|
executeKnowledgeIngest: executeKnowledgeIngestRun,
|
|
395
414
|
sleep: (ms) => new Promise((resolve) => dntShim.setTimeout(resolve, ms)),
|
|
396
415
|
now: () => Date.now(),
|
|
@@ -115,6 +115,10 @@ export declare class WorkflowExecutor {
|
|
|
115
115
|
* Mark run as waiting
|
|
116
116
|
*/
|
|
117
117
|
private pauseRun;
|
|
118
|
+
/**
|
|
119
|
+
* Remove execution-only metadata before exposing or persisting workflow context.
|
|
120
|
+
*/
|
|
121
|
+
private toPublicContext;
|
|
118
122
|
/**
|
|
119
123
|
* Determine workflow output from context
|
|
120
124
|
*/
|
|
@@ -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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"}
|
|
@@ -363,11 +363,12 @@ export class WorkflowExecutor {
|
|
|
363
363
|
* Mark run as completed
|
|
364
364
|
*/
|
|
365
365
|
async completeRun(runId, context, nodeStates) {
|
|
366
|
-
const
|
|
366
|
+
const publicContext = this.toPublicContext(context);
|
|
367
|
+
const output = this.determineOutput(publicContext);
|
|
367
368
|
await this.config.backend.updateRun(runId, {
|
|
368
369
|
status: "completed",
|
|
369
370
|
output,
|
|
370
|
-
context,
|
|
371
|
+
context: publicContext,
|
|
371
372
|
nodeStates,
|
|
372
373
|
completedAt: new Date(),
|
|
373
374
|
});
|
|
@@ -377,9 +378,10 @@ export class WorkflowExecutor {
|
|
|
377
378
|
* Mark run as failed
|
|
378
379
|
*/
|
|
379
380
|
async failRun(runId, error, context, nodeStates) {
|
|
381
|
+
const publicContext = this.toPublicContext(context);
|
|
380
382
|
await this.config.backend.updateRun(runId, {
|
|
381
383
|
status: "failed",
|
|
382
|
-
context,
|
|
384
|
+
context: publicContext,
|
|
383
385
|
nodeStates,
|
|
384
386
|
error: {
|
|
385
387
|
message: error.message,
|
|
@@ -392,18 +394,26 @@ export class WorkflowExecutor {
|
|
|
392
394
|
* Mark run as waiting
|
|
393
395
|
*/
|
|
394
396
|
async pauseRun(runId, waitingNode, context, nodeStates) {
|
|
397
|
+
const publicContext = this.toPublicContext(context);
|
|
395
398
|
await this.config.backend.updateRun(runId, {
|
|
396
399
|
status: "waiting",
|
|
397
400
|
currentNodes: [waitingNode],
|
|
398
|
-
context,
|
|
401
|
+
context: publicContext,
|
|
399
402
|
nodeStates,
|
|
400
403
|
});
|
|
401
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* Remove execution-only metadata before exposing or persisting workflow context.
|
|
407
|
+
*/
|
|
408
|
+
toPublicContext(context) {
|
|
409
|
+
const { _tenant: _tenant, ...publicContext } = context;
|
|
410
|
+
return publicContext;
|
|
411
|
+
}
|
|
402
412
|
/**
|
|
403
413
|
* Determine workflow output from context
|
|
404
414
|
*/
|
|
405
415
|
determineOutput(context) {
|
|
406
|
-
const { input: _input, ...rest } = context;
|
|
416
|
+
const { input: _input, _tenant: _tenant, ...rest } = context;
|
|
407
417
|
return rest;
|
|
408
418
|
}
|
|
409
419
|
/**
|