veryfront 0.1.878 → 0.1.880
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/generate/handler.d.ts +1 -1
- package/esm/cli/mcp/tools/scaffold-tools.d.ts +1 -1
- package/esm/deno.d.ts +3 -0
- package/esm/deno.js +4 -1
- package/esm/src/channels/control-plane.d.ts +5 -5
- package/esm/src/chat/ag-ui.d.ts +1 -1
- package/esm/src/eval/report.d.ts.map +1 -1
- package/esm/src/eval/report.js +2 -0
- package/esm/src/eval/studio.d.ts +4 -4
- package/esm/src/extensions/builtin-extensions.d.ts +2 -0
- package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
- package/esm/src/extensions/builtin-extensions.js +9 -0
- package/esm/src/extensions/eval/eval-report-exporter.d.ts +96 -0
- package/esm/src/extensions/eval/eval-report-exporter.d.ts.map +1 -0
- package/esm/src/extensions/eval/eval-report-exporter.js +110 -0
- package/esm/src/extensions/eval/index.d.ts +9 -0
- package/esm/src/extensions/eval/index.d.ts.map +1 -0
- package/esm/src/extensions/eval/index.js +7 -0
- package/esm/src/integrations/schema.d.ts +4 -4
- package/esm/src/internal-agents/control-plane-auth.d.ts +1 -1
- package/esm/src/runs/index.d.ts +1 -1
- package/esm/src/runs/index.d.ts.map +1 -1
- package/esm/src/runs/runs-client.d.ts +9 -1
- package/esm/src/runs/runs-client.d.ts.map +1 -1
- package/esm/src/runs/runs-client.js +19 -0
- package/esm/src/runs/schemas.d.ts +9 -9
- package/esm/src/server/bootstrap.d.ts.map +1 -1
- package/esm/src/server/bootstrap.js +10 -3
- package/esm/src/server/handlers/request/project-run-execute.handler.d.ts +12 -1
- 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 +105 -3
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/schemas/workflow.schema.d.ts +16 -16
- package/package.json +5 -1
|
@@ -11,7 +11,7 @@ export interface VeryfrontRunsClientConfig {
|
|
|
11
11
|
export interface ProjectScopedOptions {
|
|
12
12
|
projectReference?: string;
|
|
13
13
|
}
|
|
14
|
-
/** Runtime target for a task or
|
|
14
|
+
/** Runtime target for a task, workflow, or eval run. */
|
|
15
15
|
export type RunRuntimeTargetKind = "main_branch" | "environment" | "preview_branch";
|
|
16
16
|
/** Runtime target fields accepted by run creation APIs. */
|
|
17
17
|
export interface RunRuntimeTargetOptions {
|
|
@@ -38,6 +38,13 @@ export interface CreateWorkflowRunInput extends RunCreateBaseInput, RunRuntimeTa
|
|
|
38
38
|
input?: Record<string, unknown>;
|
|
39
39
|
startMode?: string;
|
|
40
40
|
}
|
|
41
|
+
/** Input payload for creating an eval run. */
|
|
42
|
+
export interface CreateEvalRunInput extends RunCreateBaseInput, RunRuntimeTargetOptions {
|
|
43
|
+
target: `eval:${string}`;
|
|
44
|
+
input?: Record<string, unknown>;
|
|
45
|
+
config?: Record<string, unknown>;
|
|
46
|
+
startMode?: string;
|
|
47
|
+
}
|
|
41
48
|
/** Input payload for knowledge ingest by upload IDs. */
|
|
42
49
|
export interface KnowledgeIngestByUploadIdsInput extends Omit<CreateTaskRunInput, "target" | "config"> {
|
|
43
50
|
uploadIds: string[];
|
|
@@ -77,6 +84,7 @@ export declare class VeryfrontRunsClient {
|
|
|
77
84
|
clearProjectReference(): void;
|
|
78
85
|
createTaskRun(input: CreateTaskRunInput): Promise<CreateRunResponse>;
|
|
79
86
|
createWorkflowRun(input: CreateWorkflowRunInput): Promise<CreateRunResponse>;
|
|
87
|
+
createEvalRun(input: CreateEvalRunInput): Promise<CreateRunResponse>;
|
|
80
88
|
list(options?: ListRunsOptions): Promise<RunList>;
|
|
81
89
|
get(runId: string): Promise<Run>;
|
|
82
90
|
events(runId: string, options?: ListRunEventsOptions): Promise<RunEventList>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs-client.d.ts","sourceRoot":"","sources":["../../../src/src/runs/runs-client.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4DAA4D,CAAC;AAGpE,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EAEtB,KAAK,GAAG,EACR,KAAK,YAAY,EAEjB,KAAK,OAAO,EAGb,MAAM,cAAc,CAAC;AAOtB,uDAAuD;AACvD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,
|
|
1
|
+
{"version":3,"file":"runs-client.d.ts","sourceRoot":"","sources":["../../../src/src/runs/runs-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,25 @@ export class VeryfrontRunsClient {
|
|
|
98
98
|
},
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
+
createEvalRun(input) {
|
|
102
|
+
const { projectId, publicId, parentRunId, target, input: evalInput, config, startMode, ...runtimeTarget } = input;
|
|
103
|
+
return this.requestJson("/runs", CreateRunResponseSchema, {
|
|
104
|
+
method: "POST",
|
|
105
|
+
body: {
|
|
106
|
+
kind: "eval",
|
|
107
|
+
owner: { kind: "project", id: projectId },
|
|
108
|
+
public_id: publicId,
|
|
109
|
+
parent_run_id: parentRunId,
|
|
110
|
+
request: {
|
|
111
|
+
target,
|
|
112
|
+
...runtimeTargetBody(runtimeTarget),
|
|
113
|
+
input: evalInput,
|
|
114
|
+
config,
|
|
115
|
+
start_mode: startMode,
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}
|
|
101
120
|
async list(options = {}) {
|
|
102
121
|
const { projectReference, cursor, limit } = options;
|
|
103
122
|
return await this.requestJson(withQuery(`/projects/${encodeURIComponent(this.resolveProjectReference(projectReference))}/runs`, toQueryParams({ cursor, limit })), RunListSchema);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InferSchema } from "../extensions/schema/index.js";
|
|
2
2
|
export declare const getRunKindSchema: () => import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
3
|
-
export declare const getRunStatusSchema: () => import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
3
|
+
export declare const getRunStatusSchema: () => import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
4
4
|
export declare const getRunOwnerSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
5
5
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
6
6
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -15,7 +15,7 @@ export declare const getRunExecutionErrorSchema: () => import("../internal-agent
|
|
|
15
15
|
export declare const getRunSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
16
16
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
17
17
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
18
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
18
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
19
19
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
20
20
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
21
21
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -60,7 +60,7 @@ export declare const getCreateRunResponseSchema: () => import("../internal-agent
|
|
|
60
60
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
61
61
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
62
62
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
63
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
63
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
64
64
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
65
65
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
66
66
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -105,7 +105,7 @@ export declare const getCancelRunResponseSchema: () => import("../internal-agent
|
|
|
105
105
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
106
106
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
107
107
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
108
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
108
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
109
109
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
110
110
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
111
111
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -175,7 +175,7 @@ export declare const getRunListSchema: () => import("../internal-agents/schema.j
|
|
|
175
175
|
data: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
176
176
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
177
177
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
178
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
178
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
179
179
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
180
180
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
181
181
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -225,7 +225,7 @@ export declare const getRunListSchema: () => import("../internal-agents/schema.j
|
|
|
225
225
|
export declare const RunSchema: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
226
226
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
227
227
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
228
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
228
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
229
229
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
230
230
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
231
231
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -271,7 +271,7 @@ export declare const CreateRunResponseSchema: import("../internal-agents/schema.
|
|
|
271
271
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
272
272
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
273
273
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
274
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
274
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
275
275
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
276
276
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
277
277
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -317,7 +317,7 @@ export declare const CancelRunResponseSchema: import("../internal-agents/schema.
|
|
|
317
317
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
318
318
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
319
319
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
320
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
320
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
321
321
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
322
322
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
323
323
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -384,7 +384,7 @@ export declare const RunListSchema: import("../internal-agents/schema.js").Schem
|
|
|
384
384
|
data: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
385
385
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
386
386
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
387
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
387
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
388
388
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
389
389
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
390
390
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,wBAAwB,CAAC;AAyDjG,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,cAAc,CAAC;IAExB,2BAA2B;IAC3B,MAAM,EAAE,eAAe,CAAC;IAExB,wCAAwC;IACxC,cAAc,EAAE,OAAO,CAAC;IAExB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAuHD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,EAC3C,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAkDD,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CA8K1B;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { clearConfigCache, getConfig } from "../config/index.js";
|
|
2
2
|
import { orchestrateExtensions, tryResolve } from "../extensions/index.js";
|
|
3
|
+
import { createEvalReportExporterRegistry, EvalReportExporterRegistryName, } from "../extensions/eval/index.js";
|
|
3
4
|
import { createLLMProviderRegistry, LLMProviderRegistryName, } from "../extensions/llm/index.js";
|
|
4
5
|
import { createBuiltinExtensions, ensureBuiltinSchemaValidator, } from "../extensions/builtin-extensions.js";
|
|
5
6
|
import { MISSING_EXTENSION_ERROR } from "../extensions/errors.js";
|
|
@@ -62,6 +63,12 @@ function wireTracingShim() {
|
|
|
62
63
|
bootstrapLog.debug("[bootstrap] no TracingExporter extension — using no-op tracer");
|
|
63
64
|
}
|
|
64
65
|
}
|
|
66
|
+
function createBootstrapPrimeContracts() {
|
|
67
|
+
return {
|
|
68
|
+
[LLMProviderRegistryName]: createLLMProviderRegistry(),
|
|
69
|
+
[EvalReportExporterRegistryName]: createEvalReportExporterRegistry(),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
65
72
|
const DEFAULT_FILE_LOG_PATH = ".veryfront/logs/server.log";
|
|
66
73
|
const DEFAULT_FILE_LOG_MAX_SIZE = "10mb";
|
|
67
74
|
const DEFAULT_FILE_LOG_MAX_FILES = 5;
|
|
@@ -194,7 +201,7 @@ export async function bootstrap(projectDir, adapter) {
|
|
|
194
201
|
projectDir,
|
|
195
202
|
config,
|
|
196
203
|
logger: bootstrapLog,
|
|
197
|
-
primeContracts:
|
|
204
|
+
primeContracts: createBootstrapPrimeContracts(),
|
|
198
205
|
builtinExtensions: createBuiltinExtensions(),
|
|
199
206
|
setupTimeoutMs: getEnvironmentConfig().extensionSetupTimeoutMs,
|
|
200
207
|
});
|
|
@@ -236,7 +243,7 @@ export async function bootstrap(projectDir, adapter) {
|
|
|
236
243
|
projectDir,
|
|
237
244
|
config,
|
|
238
245
|
logger: bootstrapLog,
|
|
239
|
-
primeContracts:
|
|
246
|
+
primeContracts: createBootstrapPrimeContracts(),
|
|
240
247
|
builtinExtensions: createBuiltinExtensions(),
|
|
241
248
|
setupTimeoutMs: getEnvironmentConfig().extensionSetupTimeoutMs,
|
|
242
249
|
});
|
|
@@ -300,7 +307,7 @@ export async function bootstrap(projectDir, adapter) {
|
|
|
300
307
|
projectDir,
|
|
301
308
|
config,
|
|
302
309
|
logger: bootstrapLog,
|
|
303
|
-
primeContracts:
|
|
310
|
+
primeContracts: createBootstrapPrimeContracts(),
|
|
304
311
|
builtinExtensions: createBuiltinExtensions(),
|
|
305
312
|
setupTimeoutMs: getEnvironmentConfig().extensionSetupTimeoutMs,
|
|
306
313
|
}), fsDispose);
|
|
@@ -2,13 +2,16 @@ import type { RuntimeAdapter } from "../../../platform/index.js";
|
|
|
2
2
|
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
|
+
import { type DiscoveredEval } from "../../../eval/discovery.js";
|
|
6
|
+
import { type AgentServiceEvalAdapterConfig } from "../../../eval/agent-service.js";
|
|
7
|
+
import type { EvalAgentAdapter, EvalDefinition, EvalReport, RunEvalOptions } from "../../../eval/types.js";
|
|
5
8
|
import { type DiscoveredWorkflow } from "../../../workflow/discovery/index.js";
|
|
6
9
|
import type { WorkflowClientConfig } from "../../../workflow/index.js";
|
|
7
10
|
import type { HandlerContext, HandlerMetadata, HandlerResult } from "../types.js";
|
|
8
11
|
import { BaseHandler } from "../response/base.js";
|
|
9
12
|
export interface ProjectRunExecuteRequest {
|
|
10
13
|
runId: string;
|
|
11
|
-
kind: "task" | "workflow";
|
|
14
|
+
kind: "task" | "workflow" | "eval";
|
|
12
15
|
target: string;
|
|
13
16
|
projectId: string;
|
|
14
17
|
config?: Record<string, unknown>;
|
|
@@ -56,7 +59,15 @@ export interface ProjectRunExecuteHandlerDeps {
|
|
|
56
59
|
config?: VeryfrontConfig;
|
|
57
60
|
debug?: boolean;
|
|
58
61
|
}): Promise<DiscoveredWorkflow | null>;
|
|
62
|
+
findEvalById(evalId: string, options: {
|
|
63
|
+
projectDir: string;
|
|
64
|
+
adapter: RuntimeAdapter;
|
|
65
|
+
config?: VeryfrontConfig;
|
|
66
|
+
debug?: boolean;
|
|
67
|
+
}): Promise<DiscoveredEval | null>;
|
|
59
68
|
createWorkflowClient(config?: WorkflowClientConfig): WorkflowClientView | Promise<WorkflowClientView>;
|
|
69
|
+
runEval(definition: EvalDefinition, options: RunEvalOptions): Promise<EvalReport>;
|
|
70
|
+
createEvalAgentAdapter(config: AgentServiceEvalAdapterConfig): EvalAgentAdapter;
|
|
60
71
|
ensureProjectDiscovery(ctx: HandlerContext): Promise<void>;
|
|
61
72
|
executeKnowledgeIngest(input: {
|
|
62
73
|
request: ProjectRunExecuteRequest;
|
|
@@ -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,6 +6,9 @@ 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 { findEvalById } from "../../../eval/discovery.js";
|
|
10
|
+
import { runEval } from "../../../eval/runner.js";
|
|
11
|
+
import { createAgentServiceEvalAdapter, } from "../../../eval/agent-service.js";
|
|
9
12
|
import { agentRegistry } from "../../../agent/composition/index.js";
|
|
10
13
|
import { findWorkflowById } from "../../../workflow/discovery/index.js";
|
|
11
14
|
import { createWorkflowClient, RedisBackend } from "../../../workflow/index.js";
|
|
@@ -38,8 +41,9 @@ function parseExecuteRequest(value, pathRunId) {
|
|
|
38
41
|
throw new Error("Invalid runId");
|
|
39
42
|
if (runId !== pathRunId)
|
|
40
43
|
throw new Error("Run id does not match request path");
|
|
41
|
-
if (kind !== "task" && kind !== "workflow")
|
|
44
|
+
if (kind !== "task" && kind !== "workflow" && kind !== "eval") {
|
|
42
45
|
throw new Error("Invalid run kind");
|
|
46
|
+
}
|
|
43
47
|
if (typeof target !== "string" || !target)
|
|
44
48
|
throw new Error("Invalid target");
|
|
45
49
|
if (typeof projectId !== "string" || !projectId)
|
|
@@ -49,6 +53,8 @@ function parseExecuteRequest(value, pathRunId) {
|
|
|
49
53
|
if (kind === "workflow" && !target.startsWith("workflow:")) {
|
|
50
54
|
throw new Error("Invalid workflow target");
|
|
51
55
|
}
|
|
56
|
+
if (kind === "eval" && !target.startsWith("eval:"))
|
|
57
|
+
throw new Error("Invalid eval target");
|
|
52
58
|
return {
|
|
53
59
|
runId,
|
|
54
60
|
kind,
|
|
@@ -216,9 +222,19 @@ async function executeWorkflowRun(request, ctx, deps) {
|
|
|
216
222
|
await client.destroy();
|
|
217
223
|
}
|
|
218
224
|
}
|
|
225
|
+
function getRuntimeApiToken(req, ctx) {
|
|
226
|
+
return req.headers.get("x-token") ?? ctx.proxyToken ?? ctx.requestContext?.token ?? "";
|
|
227
|
+
}
|
|
228
|
+
function getSameOriginAgUiEndpoint(req) {
|
|
229
|
+
const url = new URL(req.url);
|
|
230
|
+
url.pathname = "/api/ag-ui";
|
|
231
|
+
url.search = "";
|
|
232
|
+
url.hash = "";
|
|
233
|
+
return url.toString();
|
|
234
|
+
}
|
|
219
235
|
function createRuntimeApiClient(req, ctx) {
|
|
220
236
|
const apiUrl = getEnvironmentConfig().apiBaseUrl;
|
|
221
|
-
const token = req
|
|
237
|
+
const token = getRuntimeApiToken(req, ctx);
|
|
222
238
|
if (!token) {
|
|
223
239
|
throw new Error("Missing project runtime API token");
|
|
224
240
|
}
|
|
@@ -417,6 +433,87 @@ function getNumberConfig(config, keys) {
|
|
|
417
433
|
}
|
|
418
434
|
return undefined;
|
|
419
435
|
}
|
|
436
|
+
function getPositiveIntConfig(config, keys) {
|
|
437
|
+
const value = getNumberConfig(config, keys);
|
|
438
|
+
if (value === undefined)
|
|
439
|
+
return undefined;
|
|
440
|
+
const normalized = Math.trunc(value);
|
|
441
|
+
return normalized > 0 ? normalized : undefined;
|
|
442
|
+
}
|
|
443
|
+
function isBlockingEvalResult(result) {
|
|
444
|
+
return !result.skipped && result.pass === false &&
|
|
445
|
+
(result.severity === "gate" || result.severity === "budget");
|
|
446
|
+
}
|
|
447
|
+
function evalRecordFailed(record) {
|
|
448
|
+
if (!record.completed || record.error)
|
|
449
|
+
return true;
|
|
450
|
+
return [...(record.metrics ?? []), ...(record.checks ?? [])].some(isBlockingEvalResult);
|
|
451
|
+
}
|
|
452
|
+
function countFailedEvalRecords(report) {
|
|
453
|
+
return report.records.filter(evalRecordFailed).length;
|
|
454
|
+
}
|
|
455
|
+
function withEvalRunConfig(definition, config) {
|
|
456
|
+
const repetitions = getPositiveIntConfig(config, ["repetitions", "repeat", "repetitionCount"]);
|
|
457
|
+
if (repetitions === undefined || repetitions === definition.repetitions) {
|
|
458
|
+
return definition;
|
|
459
|
+
}
|
|
460
|
+
return {
|
|
461
|
+
...definition,
|
|
462
|
+
repetitions,
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
function createEvalAdapterConfig(input) {
|
|
466
|
+
const config = input.request.config ?? {};
|
|
467
|
+
const runInput = input.request.input ?? {};
|
|
468
|
+
const authToken = getRuntimeApiToken(input.req, input.ctx);
|
|
469
|
+
if (!authToken) {
|
|
470
|
+
throw new Error("Missing project runtime API token");
|
|
471
|
+
}
|
|
472
|
+
return {
|
|
473
|
+
endpoint: getSameOriginAgUiEndpoint(input.req),
|
|
474
|
+
authToken,
|
|
475
|
+
projectId: input.request.projectId,
|
|
476
|
+
branchId: getStringConfig(config, ["branch_id", "branchId"]) ??
|
|
477
|
+
getStringConfig(runInput, ["branch_id", "branchId"]),
|
|
478
|
+
model: getStringConfig(config, ["model"]),
|
|
479
|
+
allowedTools: getStringArrayConfig(config, ["allowed_tools", "allowedTools"]),
|
|
480
|
+
maxSteps: getPositiveIntConfig(config, ["max_steps", "maxSteps"]),
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
async function executeEvalRun(request, ctx, req, deps) {
|
|
484
|
+
const startedAt = deps.now();
|
|
485
|
+
await deps.ensureProjectDiscovery(ctx);
|
|
486
|
+
const evalItem = await deps.findEvalById(request.target, {
|
|
487
|
+
projectDir: ctx.projectDir,
|
|
488
|
+
adapter: ctx.adapter,
|
|
489
|
+
config: ctx.config,
|
|
490
|
+
debug: ctx.debug,
|
|
491
|
+
});
|
|
492
|
+
if (!evalItem) {
|
|
493
|
+
return {
|
|
494
|
+
success: false,
|
|
495
|
+
error: `Eval not found: ${request.target}`,
|
|
496
|
+
logs: null,
|
|
497
|
+
duration_ms: 0,
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
const config = request.config ?? {};
|
|
501
|
+
const report = await deps.runEval(withEvalRunConfig(evalItem.definition, config), {
|
|
502
|
+
adapters: {
|
|
503
|
+
agent: deps.createEvalAgentAdapter(createEvalAdapterConfig({ request, req, ctx })),
|
|
504
|
+
},
|
|
505
|
+
baseDir: ctx.projectDir,
|
|
506
|
+
runId: request.runId,
|
|
507
|
+
});
|
|
508
|
+
const failed = Math.max(report.summary.failed, countFailedEvalRecords(report));
|
|
509
|
+
return {
|
|
510
|
+
success: failed === 0,
|
|
511
|
+
result: report,
|
|
512
|
+
...(failed > 0 ? { error: `${failed} eval record${failed === 1 ? "" : "s"} failed` } : {}),
|
|
513
|
+
logs: null,
|
|
514
|
+
duration_ms: Math.max(0, deps.now() - startedAt),
|
|
515
|
+
};
|
|
516
|
+
}
|
|
420
517
|
async function executeReleaseAssetBuildRun(input) {
|
|
421
518
|
const startedAt = Date.now();
|
|
422
519
|
const config = input.request.config ?? {};
|
|
@@ -499,7 +596,10 @@ const defaultDeps = {
|
|
|
499
596
|
findTaskById,
|
|
500
597
|
runTask,
|
|
501
598
|
findWorkflowById,
|
|
599
|
+
findEvalById,
|
|
502
600
|
createWorkflowClient: createRuntimeWorkflowClient,
|
|
601
|
+
runEval,
|
|
602
|
+
createEvalAgentAdapter: createAgentServiceEvalAdapter,
|
|
503
603
|
ensureProjectDiscovery,
|
|
504
604
|
executeKnowledgeIngest: executeKnowledgeIngestRun,
|
|
505
605
|
executeReleaseAssetBuild: executeReleaseAssetBuildRun,
|
|
@@ -550,7 +650,9 @@ export class ProjectRunExecuteHandler extends BaseHandler {
|
|
|
550
650
|
? await this.deps.executeReleaseAssetBuild({ request, ctx, req })
|
|
551
651
|
: request.kind === "task"
|
|
552
652
|
? await executeTaskRun(request, ctx, this.deps)
|
|
553
|
-
:
|
|
653
|
+
: request.kind === "eval"
|
|
654
|
+
? await executeEvalRun(request, ctx, req, this.deps)
|
|
655
|
+
: await executeWorkflowRun(request, ctx, this.deps);
|
|
554
656
|
return this.respond(builder.json(response, 200));
|
|
555
657
|
}
|
|
556
658
|
catch (error) {
|
|
@@ -7,15 +7,15 @@ import type { InferSchema } from "../../extensions/schema/index.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* Workflow status schema
|
|
9
9
|
*/
|
|
10
|
-
export declare const getWorkflowStatusSchema: () => import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
10
|
+
export declare const getWorkflowStatusSchema: () => import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
11
11
|
/**
|
|
12
12
|
* Node status schema
|
|
13
13
|
*/
|
|
14
|
-
export declare const getNodeStatusSchema: () => import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
14
|
+
export declare const getNodeStatusSchema: () => import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
15
15
|
/**
|
|
16
16
|
* Workflow node type schema
|
|
17
17
|
*/
|
|
18
|
-
export declare const getWorkflowNodeTypeSchema: () => import("../../internal-agents/schema.js").Schema<"map" | "branch" | "step" | "
|
|
18
|
+
export declare const getWorkflowNodeTypeSchema: () => import("../../internal-agents/schema.js").Schema<"map" | "branch" | "step" | "parallel" | "wait" | "subWorkflow" | "loop">;
|
|
19
19
|
/**
|
|
20
20
|
* Backoff strategy schema
|
|
21
21
|
*/
|
|
@@ -44,7 +44,7 @@ export declare const getLoopExecutionContextSchema: () => import("../../internal
|
|
|
44
44
|
*/
|
|
45
45
|
export declare const getNodeStateSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
46
46
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
47
|
-
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
47
|
+
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
48
48
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
49
49
|
output: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
50
50
|
error: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -70,7 +70,7 @@ export declare const getCheckpointSchema: () => import("../../internal-agents/sc
|
|
|
70
70
|
} & Record<string, unknown>>;
|
|
71
71
|
nodeStates: import("../../internal-agents/schema.js").Schema<Record<string, import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
72
72
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
73
|
-
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
73
|
+
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
74
74
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
75
75
|
output: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
76
76
|
error: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -82,7 +82,7 @@ export declare const getCheckpointSchema: () => import("../../internal-agents/sc
|
|
|
82
82
|
/**
|
|
83
83
|
* Approval status schema
|
|
84
84
|
*/
|
|
85
|
-
export declare const getApprovalStatusSchema: () => import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "
|
|
85
|
+
export declare const getApprovalStatusSchema: () => import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "approved" | "expired">;
|
|
86
86
|
/**
|
|
87
87
|
* Pending approval schema
|
|
88
88
|
*/
|
|
@@ -94,7 +94,7 @@ export declare const getPendingApprovalSchema: () => import("../../internal-agen
|
|
|
94
94
|
approvers: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
|
|
95
95
|
requestedAt: import("../../internal-agents/schema.js").Schema<Date>;
|
|
96
96
|
expiresAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
97
|
-
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "
|
|
97
|
+
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "approved" | "expired">;
|
|
98
98
|
decidedBy: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
99
99
|
decidedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
100
100
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -130,7 +130,7 @@ export declare const getWorkflowQueueItemSchema: () => import("../../internal-ag
|
|
|
130
130
|
*/
|
|
131
131
|
export declare const getRunFilterSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
132
132
|
workflowId: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
133
|
-
status: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
133
|
+
status: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled" | ("waiting" | "failed" | "completed" | "pending" | "running" | "cancelled")[] | undefined>;
|
|
134
134
|
createdAfter: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
135
135
|
createdBefore: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
136
136
|
limit: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
@@ -144,9 +144,9 @@ export declare const getParallelStrategySchema: () => import("../../internal-age
|
|
|
144
144
|
* Wait type schema
|
|
145
145
|
*/
|
|
146
146
|
export declare const getWaitTypeSchema: () => import("../../internal-agents/schema.js").Schema<"event" | "approval">;
|
|
147
|
-
export declare const WorkflowStatusSchema: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
148
|
-
export declare const NodeStatusSchema: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
149
|
-
export declare const WorkflowNodeTypeSchema: import("../../internal-agents/schema.js").Schema<"map" | "branch" | "step" | "
|
|
147
|
+
export declare const WorkflowStatusSchema: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled">;
|
|
148
|
+
export declare const NodeStatusSchema: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
149
|
+
export declare const WorkflowNodeTypeSchema: import("../../internal-agents/schema.js").Schema<"map" | "branch" | "step" | "parallel" | "wait" | "subWorkflow" | "loop">;
|
|
150
150
|
export declare const BackoffStrategySchema: import("../../internal-agents/schema.js").Schema<"fixed" | "linear" | "exponential">;
|
|
151
151
|
export declare const RetryConfigSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
152
152
|
maxAttempts: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
@@ -163,7 +163,7 @@ export declare const LoopExecutionContextSchema: import("../../internal-agents/s
|
|
|
163
163
|
}>>;
|
|
164
164
|
export declare const NodeStateSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
165
165
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
166
|
-
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
166
|
+
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
167
167
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
168
168
|
output: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
169
169
|
error: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -183,7 +183,7 @@ export declare const CheckpointSchema: import("../../internal-agents/schema.js")
|
|
|
183
183
|
} & Record<string, unknown>>;
|
|
184
184
|
nodeStates: import("../../internal-agents/schema.js").Schema<Record<string, import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
185
185
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
186
|
-
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "
|
|
186
|
+
status: import("../../internal-agents/schema.js").Schema<"failed" | "completed" | "pending" | "skipped" | "running">;
|
|
187
187
|
input: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
188
188
|
output: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
189
189
|
error: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -192,7 +192,7 @@ export declare const CheckpointSchema: import("../../internal-agents/schema.js")
|
|
|
192
192
|
completedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
193
193
|
}>>>;
|
|
194
194
|
}>>;
|
|
195
|
-
export declare const ApprovalStatusSchema: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "
|
|
195
|
+
export declare const ApprovalStatusSchema: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "approved" | "expired">;
|
|
196
196
|
export declare const PendingApprovalSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
197
197
|
id: import("../../internal-agents/schema.js").Schema<string>;
|
|
198
198
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
@@ -201,7 +201,7 @@ export declare const PendingApprovalSchema: import("../../internal-agents/schema
|
|
|
201
201
|
approvers: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
|
|
202
202
|
requestedAt: import("../../internal-agents/schema.js").Schema<Date>;
|
|
203
203
|
expiresAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
204
|
-
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "
|
|
204
|
+
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "approved" | "expired">;
|
|
205
205
|
decidedBy: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
206
206
|
decidedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
207
207
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -225,7 +225,7 @@ export declare const WorkflowQueueItemSchema: import("../../internal-agents/sche
|
|
|
225
225
|
}>>;
|
|
226
226
|
export declare const RunFilterSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
227
227
|
workflowId: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
228
|
-
status: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
228
|
+
status: import("../../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "running" | "cancelled" | ("waiting" | "failed" | "completed" | "pending" | "running" | "cancelled")[] | undefined>;
|
|
229
229
|
createdAfter: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
230
230
|
createdBefore: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
231
231
|
limit: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.880",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -225,6 +225,10 @@
|
|
|
225
225
|
"import": "./esm/src/extensions/database/index.js",
|
|
226
226
|
"types": "./esm/src/extensions/database/index.d.ts"
|
|
227
227
|
},
|
|
228
|
+
"./extensions/eval": {
|
|
229
|
+
"import": "./esm/src/extensions/eval/index.js",
|
|
230
|
+
"types": "./esm/src/extensions/eval/index.d.ts"
|
|
231
|
+
},
|
|
228
232
|
"./extensions/parser": {
|
|
229
233
|
"import": "./esm/src/extensions/parser/index.js",
|
|
230
234
|
"types": "./esm/src/extensions/parser/index.d.ts"
|