veryfront 0.1.638 → 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 +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/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":"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;AAG3F,OAAO,EAAE,KAAK,kBAAkB,EAAoB,MAAM,sCAAsC,CAAC;AAEjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;CACvB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACrC;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,KAAK,CACH,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACA,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACA,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtC,oBAAoB,CAClB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sBAAsB,CAAC,KAAK,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAAC;QAClC,GAAG,EAAE,cAAc,CAAC;QACpB,GAAG,EAAE,OAAO,CAAC;KACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,GAAG,IAAI,MAAM,CAAC;CACf;AAkfD,qBAAa,wBAAyB,SAAQ,WAAW;IAS3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,QAAQ,EAAE,eAAe,CAMvB;gBAE2B,IAAI,GAAE,4BAA0C;IAIvE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAkExE"}
|
|
@@ -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(),
|