veryfront 0.1.877 → 0.1.879

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.
Files changed (79) hide show
  1. package/esm/cli/commands/generate/handler.d.ts +1 -1
  2. package/esm/cli/mcp/tools/scaffold-tools.d.ts +1 -1
  3. package/esm/deno.d.ts +3 -0
  4. package/esm/deno.js +4 -1
  5. package/esm/src/channels/control-plane.d.ts +5 -5
  6. package/esm/src/chat/ag-ui.d.ts +1 -1
  7. package/esm/src/eval/agent-service/durable-run-canaries/cli-runner.d.ts +21 -0
  8. package/esm/src/eval/agent-service/durable-run-canaries/cli-runner.d.ts.map +1 -0
  9. package/esm/src/eval/agent-service/durable-run-canaries/cli-runner.js +66 -0
  10. package/esm/src/eval/agent-service/durable-run-canaries/environment.d.ts +14 -0
  11. package/esm/src/eval/agent-service/durable-run-canaries/environment.d.ts.map +1 -0
  12. package/esm/src/eval/agent-service/durable-run-canaries/environment.js +15 -0
  13. package/esm/src/eval/agent-service/durable-run-canaries/index.d.ts +5 -0
  14. package/esm/src/eval/agent-service/durable-run-canaries/index.d.ts.map +1 -0
  15. package/esm/src/eval/agent-service/durable-run-canaries/index.js +4 -0
  16. package/esm/src/eval/agent-service/durable-run-canaries/runner.d.ts +118 -0
  17. package/esm/src/eval/agent-service/durable-run-canaries/runner.d.ts.map +1 -0
  18. package/esm/src/eval/agent-service/durable-run-canaries/runner.js +391 -0
  19. package/esm/src/eval/agent-service/durable-run-canaries/validation.d.ts +12 -0
  20. package/esm/src/eval/agent-service/durable-run-canaries/validation.d.ts.map +1 -0
  21. package/esm/src/eval/agent-service/durable-run-canaries/validation.js +71 -0
  22. package/esm/src/eval/agent-service/live-evals/api-client.d.ts +102 -0
  23. package/esm/src/eval/agent-service/live-evals/api-client.d.ts.map +1 -0
  24. package/esm/src/eval/agent-service/live-evals/api-client.js +313 -0
  25. package/esm/src/eval/agent-service/live-evals/cli-runner.d.ts +40 -0
  26. package/esm/src/eval/agent-service/live-evals/cli-runner.d.ts.map +1 -0
  27. package/esm/src/eval/agent-service/live-evals/cli-runner.js +144 -0
  28. package/esm/src/eval/agent-service/live-evals/environment.d.ts +15 -0
  29. package/esm/src/eval/agent-service/live-evals/environment.d.ts.map +1 -0
  30. package/esm/src/eval/agent-service/live-evals/environment.js +20 -0
  31. package/esm/src/eval/agent-service/live-evals/formatting.d.ts +15 -0
  32. package/esm/src/eval/agent-service/live-evals/formatting.d.ts.map +1 -0
  33. package/esm/src/eval/agent-service/live-evals/formatting.js +75 -0
  34. package/esm/src/eval/agent-service/live-evals/index.d.ts +12 -0
  35. package/esm/src/eval/agent-service/live-evals/index.d.ts.map +1 -0
  36. package/esm/src/eval/agent-service/live-evals/index.js +11 -0
  37. package/esm/src/eval/agent-service/live-evals/metadata.d.ts +34 -0
  38. package/esm/src/eval/agent-service/live-evals/metadata.d.ts.map +1 -0
  39. package/esm/src/eval/agent-service/live-evals/metadata.js +116 -0
  40. package/esm/src/eval/agent-service/live-evals/performance.d.ts +19 -0
  41. package/esm/src/eval/agent-service/live-evals/performance.d.ts.map +1 -0
  42. package/esm/src/eval/agent-service/live-evals/performance.js +22 -0
  43. package/esm/src/eval/agent-service/live-evals/preflight.d.ts +12 -0
  44. package/esm/src/eval/agent-service/live-evals/preflight.d.ts.map +1 -0
  45. package/esm/src/eval/agent-service/live-evals/preflight.js +27 -0
  46. package/esm/src/eval/agent-service/live-evals/report.d.ts +55 -0
  47. package/esm/src/eval/agent-service/live-evals/report.d.ts.map +1 -0
  48. package/esm/src/eval/agent-service/live-evals/report.js +79 -0
  49. package/esm/src/eval/agent-service/live-evals/request.d.ts +31 -0
  50. package/esm/src/eval/agent-service/live-evals/request.d.ts.map +1 -0
  51. package/esm/src/eval/agent-service/live-evals/request.js +48 -0
  52. package/esm/src/eval/agent-service/live-evals/result.d.ts +56 -0
  53. package/esm/src/eval/agent-service/live-evals/result.d.ts.map +1 -0
  54. package/esm/src/eval/agent-service/live-evals/result.js +36 -0
  55. package/esm/src/eval/agent-service/live-evals/runner.d.ts +135 -0
  56. package/esm/src/eval/agent-service/live-evals/runner.d.ts.map +1 -0
  57. package/esm/src/eval/agent-service/live-evals/runner.js +396 -0
  58. package/esm/src/eval/agent-service.d.ts +2 -0
  59. package/esm/src/eval/agent-service.d.ts.map +1 -1
  60. package/esm/src/eval/agent-service.js +2 -0
  61. package/esm/src/eval/studio.d.ts +4 -4
  62. package/esm/src/extensions/builtin-extensions.d.ts +2 -0
  63. package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
  64. package/esm/src/extensions/builtin-extensions.js +9 -0
  65. package/esm/src/extensions/eval/eval-report-exporter.d.ts +96 -0
  66. package/esm/src/extensions/eval/eval-report-exporter.d.ts.map +1 -0
  67. package/esm/src/extensions/eval/eval-report-exporter.js +110 -0
  68. package/esm/src/extensions/eval/index.d.ts +9 -0
  69. package/esm/src/extensions/eval/index.d.ts.map +1 -0
  70. package/esm/src/extensions/eval/index.js +7 -0
  71. package/esm/src/integrations/schema.d.ts +4 -4
  72. package/esm/src/internal-agents/control-plane-auth.d.ts +1 -1
  73. package/esm/src/runs/schemas.d.ts +9 -9
  74. package/esm/src/server/bootstrap.d.ts.map +1 -1
  75. package/esm/src/server/bootstrap.js +10 -3
  76. package/esm/src/utils/version-constant.d.ts +1 -1
  77. package/esm/src/utils/version-constant.js +1 -1
  78. package/esm/src/workflow/schemas/workflow.schema.d.ts +16 -16
  79. package/package.json +5 -1
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ParsedArgs } from "../../shared/types.js";
5
5
  export declare const parseGenerateArgs: (args: ParsedArgs) => import("../../shared/args.js").SafeParseResult<import("../../../src/extensions/schema/schema-validator.js").InferShape<{
6
- type: import("../../../src/internal-agents/schema.js").Schema<"prompt" | "page" | "api" | "agent" | "layout" | "resource" | "component" | "task" | "tool" | "integration" | "skill" | "workflow" | undefined>;
6
+ type: import("../../../src/internal-agents/schema.js").Schema<"prompt" | "page" | "api" | "agent" | "layout" | "resource" | "component" | "task" | "tool" | "integration" | "workflow" | "skill" | undefined>;
7
7
  name: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
8
8
  }>>;
9
9
  export declare function handleGenerateCommand(args: ParsedArgs): Promise<void>;
@@ -5,7 +5,7 @@ import type { InferSchema } from "../../../src/extensions/schema/index.js";
5
5
  import type { MCPTool } from "../tools.js";
6
6
  import { type ScaffoldResult } from "../../scaffold/engine.js";
7
7
  declare const getScaffoldInput: () => import("../../../src/internal-agents/schema.js").Schema<import("../../../src/extensions/schema/schema-validator.js").InferShape<{
8
- type: import("../../../src/internal-agents/schema.js").Schema<"prompt" | "page" | "api" | "agent" | "layout" | "resource" | "component" | "task" | "tool" | "skill" | "workflow">;
8
+ type: import("../../../src/internal-agents/schema.js").Schema<"prompt" | "page" | "api" | "agent" | "layout" | "resource" | "component" | "task" | "tool" | "workflow" | "skill">;
9
9
  name: import("../../../src/internal-agents/schema.js").Schema<string>;
10
10
  methods: import("../../../src/internal-agents/schema.js").Schema<string[] | undefined>;
11
11
  projectPath: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
package/esm/deno.d.ts CHANGED
@@ -61,6 +61,7 @@ declare namespace _default {
61
61
  "./extensions/compat": string;
62
62
  "./extensions/css": string;
63
63
  "./extensions/database": string;
64
+ "./extensions/eval": string;
64
65
  "./extensions/parser": string;
65
66
  "./extensions/sandbox": string;
66
67
  "./extensions/schema": string;
@@ -152,6 +153,7 @@ declare namespace _default {
152
153
  "veryfront/extensions/contracts": string;
153
154
  "veryfront/extensions/css": string;
154
155
  "veryfront/extensions/database": string;
156
+ "veryfront/extensions/eval": string;
155
157
  "veryfront/extensions/parser": string;
156
158
  "veryfront/extensions/sandbox": string;
157
159
  "veryfront/extensions/schema": string;
@@ -174,6 +176,7 @@ declare namespace _default {
174
176
  "#veryfront/errors": string;
175
177
  "#veryfront/eval": string;
176
178
  "#veryfront/eval/agent-service": string;
179
+ "#veryfront/extensions/eval": string;
177
180
  "#veryfront/html": string;
178
181
  "#veryfront/mcp": string;
179
182
  "#veryfront/middleware": string;
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.877",
3
+ "version": "0.1.879",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -116,6 +116,7 @@ export default {
116
116
  "./extensions/compat": "./src/extensions/compat/index.ts",
117
117
  "./extensions/css": "./src/extensions/css/index.ts",
118
118
  "./extensions/database": "./src/extensions/database/index.ts",
119
+ "./extensions/eval": "./src/extensions/eval/index.ts",
119
120
  "./extensions/parser": "./src/extensions/parser/index.ts",
120
121
  "./extensions/sandbox": "./src/extensions/sandbox/index.ts",
121
122
  "./extensions/schema": "./src/extensions/schema/index.ts",
@@ -207,6 +208,7 @@ export default {
207
208
  "veryfront/extensions/contracts": "./src/extensions/contracts.ts",
208
209
  "veryfront/extensions/css": "./src/extensions/css/index.ts",
209
210
  "veryfront/extensions/database": "./src/extensions/database/index.ts",
211
+ "veryfront/extensions/eval": "./src/extensions/eval/index.ts",
210
212
  "veryfront/extensions/parser": "./src/extensions/parser/index.ts",
211
213
  "veryfront/extensions/sandbox": "./src/extensions/sandbox/index.ts",
212
214
  "veryfront/extensions/schema": "./src/extensions/schema/index.ts",
@@ -229,6 +231,7 @@ export default {
229
231
  "#veryfront/errors": "./src/errors/index.ts",
230
232
  "#veryfront/eval": "./src/eval/index.ts",
231
233
  "#veryfront/eval/agent-service": "./src/eval/agent-service.ts",
234
+ "#veryfront/extensions/eval": "./src/extensions/eval/index.ts",
232
235
  "#veryfront/html": "./src/html/index.ts",
233
236
  "#veryfront/mcp": "./src/mcp/index.ts",
234
237
  "#veryfront/middleware": "./src/middleware/index.ts",
@@ -11,20 +11,20 @@ export declare const CONTROL_PLANE_RUN_STREAM_PATH = "/api/control-plane/runs/:r
11
11
  /** Allowed control-plane surfaces — source of truth for the schema and {@link ControlPlaneSurface}. */
12
12
  export declare const CONTROL_PLANE_SURFACES: readonly ["studio", "channels", "a2a", "mcp"];
13
13
  /** Zod schema for get control plane surface. */
14
- export declare const getControlPlaneSurfaceSchema: () => Schema<"mcp" | "studio" | "channels" | "a2a">;
14
+ export declare const getControlPlaneSurfaceSchema: () => Schema<"mcp" | "channels" | "studio" | "a2a">;
15
15
  /** Zod schema for control plane surface. */
16
- export declare const ControlPlaneSurfaceSchema: Schema<"mcp" | "studio" | "channels" | "a2a">;
16
+ export declare const ControlPlaneSurfaceSchema: Schema<"mcp" | "channels" | "studio" | "a2a">;
17
17
  /** Zod schema for get control plane agents list request. */
18
18
  export declare const getControlPlaneAgentsListRequestSchema: () => Schema<import("../extensions/schema/schema-validator.js").InferShape<{
19
19
  requestId: Schema<string>;
20
20
  projectId: Schema<string>;
21
- surface: Schema<"mcp" | "studio" | "channels" | "a2a">;
21
+ surface: Schema<"mcp" | "channels" | "studio" | "a2a">;
22
22
  }>>;
23
23
  /** Zod schema for control plane agents list request. */
24
24
  export declare const ControlPlaneAgentsListRequestSchema: Schema<import("../extensions/schema/schema-validator.js").InferShape<{
25
25
  requestId: Schema<string>;
26
26
  projectId: Schema<string>;
27
- surface: Schema<"mcp" | "studio" | "channels" | "a2a">;
27
+ surface: Schema<"mcp" | "channels" | "studio" | "a2a">;
28
28
  }>>;
29
29
  /** Zod schema for get runtime agent skill. */
30
30
  export declare const getRuntimeAgentSkillSchema: () => Schema<import("../extensions/schema/schema-validator.js").InferShape<{
@@ -232,7 +232,7 @@ declare const getControlPlaneClaimsSchema: () => Schema<import("../extensions/sc
232
232
  iss: Schema<string>;
233
233
  aud: Schema<string>;
234
234
  sub: Schema<string>;
235
- surface: Schema<"mcp" | "studio" | "channels" | "a2a">;
235
+ surface: Schema<"mcp" | "channels" | "studio" | "a2a">;
236
236
  project_id: Schema<string>;
237
237
  request_hash: Schema<string>;
238
238
  iat: Schema<number>;
@@ -139,7 +139,7 @@ export declare const getAgUiSnapshotMessageSchema: () => import("../internal-age
139
139
  encryptedValue: import("../internal-agents/schema.js").Schema<string | undefined>;
140
140
  }>>;
141
141
  /** Zod schema for get AG-UI wire event name. */
142
- export declare const getAgUiWireEventNameSchema: () => import("../internal-agents/schema.js").Schema<"ToolCallArgs" | "ToolCallEnd" | "ToolCallResult" | "Custom" | "ReasoningMessageStart" | "ReasoningMessageContent" | "ReasoningMessageEnd" | "TextMessageStart" | "TextMessageContent" | "TextMessageEnd" | "ToolCallStart" | "RunError" | "RunFinished" | "RunStarted" | "ToolCallChunk" | "StateSnapshot" | "MessagesSnapshot" | "StateDelta">;
142
+ export declare const getAgUiWireEventNameSchema: () => import("../internal-agents/schema.js").Schema<"ToolCallArgs" | "ToolCallEnd" | "ToolCallResult" | "Custom" | "ReasoningMessageStart" | "ReasoningMessageContent" | "ReasoningMessageEnd" | "TextMessageStart" | "TextMessageContent" | "TextMessageEnd" | "ToolCallStart" | "RunError" | "RunFinished" | "RunStarted" | "StateSnapshot" | "MessagesSnapshot" | "ToolCallChunk" | "StateDelta">;
143
143
  /** Map AG-UI runtime messages to chat UI messages. */
144
144
  export declare function mapAgUiRuntimeMessagesToChatUiMessages(messages: AgUiRuntimeMessage[]): ChatUiMessage[];
145
145
  /** Zod schema for get AG-UI wire event. */
@@ -0,0 +1,21 @@
1
+ import { type LiveEvalApiContext } from "../live-evals/api-client.js";
2
+ import { createDurableRunCanaryRunner, type DurableRunCanaryCase, type DurableRunCanaryRunnerConfig } from "./runner.js";
3
+ type EnvRecord = Record<string, string | undefined>;
4
+ /** Input payload for durable run canary cli case factory. */
5
+ export interface DurableRunCanaryCliCaseFactoryInput {
6
+ context: LiveEvalApiContext;
7
+ requestTimeoutMs: number;
8
+ }
9
+ /** Input payload for run durable run canary cli. */
10
+ export interface RunDurableRunCanaryCliInput {
11
+ env: EnvRecord;
12
+ agentId: string;
13
+ createCases: (input: DurableRunCanaryCliCaseFactoryInput) => DurableRunCanaryCase[];
14
+ cwd?: string;
15
+ log?: (message: string) => void;
16
+ createRunner?: (config: DurableRunCanaryRunnerConfig) => ReturnType<typeof createDurableRunCanaryRunner>;
17
+ }
18
+ /** Run durable run canary cli. */
19
+ export declare function runDurableRunCanaryCli(input: RunDurableRunCanaryCliInput): Promise<number>;
20
+ export {};
21
+ //# sourceMappingURL=cli-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-runner.d.ts","sourceRoot":"","sources":["../../../../../src/src/eval/agent-service/durable-run-canaries/cli-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,EAEzB,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AAErB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpD,6DAA6D;AAC7D,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,SAAS,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,oBAAoB,EAAE,CAAC;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,4BAA4B,KACjC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;CACtD;AAcD,kCAAkC;AAClC,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,MAAM,CAAC,CAwEjB"}
@@ -0,0 +1,66 @@
1
+ import { mkdir, writeTextFile } from "../../../platform/compat/fs.js";
2
+ import { dirname, resolve } from "../../../platform/compat/path/index.js";
3
+ import { cwd as getProcessCwd } from "../../../platform/compat/process.js";
4
+ import { resolveDurableRunCanaryEnvironment } from "./environment.js";
5
+ import { createDurableRunCanaryRunner, } from "./runner.js";
6
+ function createTimestampedReportPath(input) {
7
+ return resolve(input.cwd, ".omx/logs", input.directory, `${new Date().toISOString().replaceAll(":", "-").replaceAll(".", "-")}.json`);
8
+ }
9
+ /** Run durable run canary cli. */
10
+ export async function runDurableRunCanaryCli(input) {
11
+ const log = input.log ?? console.log;
12
+ const cwd = input.cwd ?? getProcessCwd();
13
+ const { apiUrl, authToken, projectId, requestTimeoutMs, keepSuccessfulEvidence } = resolveDurableRunCanaryEnvironment(input.env);
14
+ const reportPath = input.env.DURABLE_CANARY_REPORT_PATH ??
15
+ createTimestampedReportPath({ cwd, directory: "durable-run-staging-canaries" });
16
+ if (!authToken) {
17
+ throw new Error("Missing VERYFRONT_TOKEN");
18
+ }
19
+ if (!projectId) {
20
+ throw new Error("Missing AG_UI_EVAL_PROJECT_ID");
21
+ }
22
+ const context = {
23
+ apiUrl,
24
+ authToken,
25
+ projectId,
26
+ };
27
+ const createRunner = input.createRunner ?? createDurableRunCanaryRunner;
28
+ const { runCase } = createRunner({
29
+ apiUrl,
30
+ authToken,
31
+ agentId: input.agentId,
32
+ projectId,
33
+ requestTimeoutMs,
34
+ keepSuccessfulEvidence,
35
+ });
36
+ const testCases = input.createCases({
37
+ context,
38
+ requestTimeoutMs,
39
+ });
40
+ log(`Durable run canaries -> ${apiUrl}`);
41
+ log(`Project scope -> ${projectId}`);
42
+ const results = [];
43
+ for (const testCase of testCases) {
44
+ log(`\n[run] ${testCase.label}`);
45
+ const result = await runCase(testCase);
46
+ results.push(result);
47
+ log(`[${result.status}] ${result.id}: ${result.details}`);
48
+ }
49
+ const summary = {
50
+ passed: results.filter((result) => result.status === "pass").length,
51
+ failed: results.filter((result) => result.status === "fail").length,
52
+ };
53
+ await mkdir(dirname(reportPath), { recursive: true });
54
+ await writeTextFile(reportPath, JSON.stringify({
55
+ generatedAt: new Date().toISOString(),
56
+ apiUrl,
57
+ projectId,
58
+ results,
59
+ summary,
60
+ }, null, 2));
61
+ log("\nSummary");
62
+ log(`passed: ${summary.passed}`);
63
+ log(`failed: ${summary.failed}`);
64
+ log(`report: ${reportPath}`);
65
+ return summary.failed > 0 ? 1 : 0;
66
+ }
@@ -0,0 +1,14 @@
1
+ import { type AgentServiceConfigInput } from "../../../agent/service/config.js";
2
+ /** Public API contract for durable run canary environment. */
3
+ export interface DurableRunCanaryEnvironment {
4
+ apiUrl: string;
5
+ authToken: string;
6
+ projectId: string;
7
+ requestTimeoutMs: number;
8
+ keepSuccessfulEvidence: boolean;
9
+ }
10
+ /** Default value for durable run canary timeout ms. */
11
+ export declare const DEFAULT_DURABLE_RUN_CANARY_TIMEOUT_MS = 240000;
12
+ /** Resolves durable run canary environment. */
13
+ export declare function resolveDurableRunCanaryEnvironment(env?: AgentServiceConfigInput): DurableRunCanaryEnvironment;
14
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../../src/src/eval/agent-service/durable-run-canaries/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,kCAAkC,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,uDAAuD;AACvD,eAAO,MAAM,qCAAqC,SAAU,CAAC;AAE7D,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,uBAA4B,GAChC,2BAA2B,CAY7B"}
@@ -0,0 +1,15 @@
1
+ import { parseAgentServiceConfig, } from "../../../agent/service/config.js";
2
+ /** Default value for durable run canary timeout ms. */
3
+ export const DEFAULT_DURABLE_RUN_CANARY_TIMEOUT_MS = 240_000;
4
+ /** Resolves durable run canary environment. */
5
+ export function resolveDurableRunCanaryEnvironment(env = {}) {
6
+ return {
7
+ apiUrl: typeof env.VERYFRONT_API_URL === "string"
8
+ ? env.VERYFRONT_API_URL
9
+ : parseAgentServiceConfig(env).VERYFRONT_API_URL,
10
+ authToken: typeof env.VERYFRONT_TOKEN === "string" ? env.VERYFRONT_TOKEN : "",
11
+ projectId: typeof env.AG_UI_EVAL_PROJECT_ID === "string" ? env.AG_UI_EVAL_PROJECT_ID : "",
12
+ requestTimeoutMs: Number(env.DURABLE_CANARY_TIMEOUT_MS ?? DEFAULT_DURABLE_RUN_CANARY_TIMEOUT_MS),
13
+ keepSuccessfulEvidence: env.DURABLE_CANARY_KEEP_SUCCESS === "1",
14
+ };
15
+ }
@@ -0,0 +1,5 @@
1
+ export { type DurableRunCanaryCliCaseFactoryInput, runDurableRunCanaryCli, type RunDurableRunCanaryCliInput, } from "./cli-runner.js";
2
+ export { DEFAULT_DURABLE_RUN_CANARY_TIMEOUT_MS, type DurableRunCanaryEnvironment, resolveDurableRunCanaryEnvironment, } from "./environment.js";
3
+ export { createDurableRunCanaryApiClient, createDurableRunCanaryRunner, type DurableRunCanaryApiClient, type DurableRunCanaryApiConfig, type DurableRunCanaryCase, type DurableRunCanaryCreateRootRunInput, type DurableRunCanaryMessage, type DurableRunCanaryPreparedCase, type DurableRunCanaryResult, type DurableRunCanaryRunnerConfig, durableRunCanaryRunnerInternals, type DurableRunCanaryRunSummary, type DurableRunCanarySendUserMessageInput, type DurableRunCanaryStartRunInput, getDurableRunCanaryMessageSchema, parseDurableRunCanaryRunSummary, } from "./runner.js";
4
+ export { assertCompleted, assertNoMalformedCreateFileToolCalls, collectAssistantText, findAssistantMessage, stringifyUnknown, } from "./validation.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/eval/agent-service/durable-run-canaries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mCAAmC,EACxC,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qCAAqC,EACrC,KAAK,2BAA2B,EAChC,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,oCAAoC,EACpC,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { runDurableRunCanaryCli, } from "./cli-runner.js";
2
+ export { DEFAULT_DURABLE_RUN_CANARY_TIMEOUT_MS, resolveDurableRunCanaryEnvironment, } from "./environment.js";
3
+ export { createDurableRunCanaryApiClient, createDurableRunCanaryRunner, durableRunCanaryRunnerInternals, getDurableRunCanaryMessageSchema, parseDurableRunCanaryRunSummary, } from "./runner.js";
4
+ export { assertCompleted, assertNoMalformedCreateFileToolCalls, collectAssistantText, findAssistantMessage, stringifyUnknown, } from "./validation.js";
@@ -0,0 +1,118 @@
1
+ import type { InferSchema } from "../../../extensions/schema/index.js";
2
+ /** Configuration used by durable run canary API. */
3
+ export interface DurableRunCanaryApiConfig {
4
+ apiUrl: string;
5
+ authToken: string;
6
+ agentId: string;
7
+ projectId: string | null;
8
+ branchId?: string | null;
9
+ requestTimeoutMs: number;
10
+ fetch?: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
11
+ }
12
+ /** Input payload for durable run canary create root run. */
13
+ export interface DurableRunCanaryCreateRootRunInput {
14
+ conversationId: string;
15
+ runId: string;
16
+ }
17
+ /** Input payload for durable run canary send user message. */
18
+ export interface DurableRunCanarySendUserMessageInput {
19
+ conversationId: string;
20
+ prompt: string;
21
+ }
22
+ /** Input payload for durable run canary start run. */
23
+ export interface DurableRunCanaryStartRunInput extends DurableRunCanaryCreateRootRunInput {
24
+ messageId: string;
25
+ prompt: string;
26
+ userMessageId: string;
27
+ }
28
+ /** Zod schema for get durable run canary message. */
29
+ export declare const getDurableRunCanaryMessageSchema: () => import("../../../internal-agents/schema.js").Schema<{
30
+ id: string;
31
+ role: "tool" | "user" | "assistant" | "system";
32
+ parts: ({
33
+ type: string;
34
+ } & {} & Record<string, unknown>)[];
35
+ } & {
36
+ status?: string | undefined;
37
+ } & Record<string, unknown>>;
38
+ /** Message shape for durable run canary. */
39
+ export type DurableRunCanaryMessage = InferSchema<ReturnType<typeof getDurableRunCanaryMessageSchema>>;
40
+ /** Public API contract for durable run canary run summary. */
41
+ export interface DurableRunCanaryRunSummary {
42
+ runId: string;
43
+ conversationId: string;
44
+ messageId: string;
45
+ agentId: string;
46
+ status: string;
47
+ latestEventId: number;
48
+ latestExternalEventSequence: number | null;
49
+ waitingToolCallId: string | null;
50
+ waitingToolName: string | null;
51
+ terminalErrorCode: string | null;
52
+ terminalErrorMessage: string | null;
53
+ startedAt: string | null;
54
+ finishedAt: string | null;
55
+ }
56
+ /** Parses durable run canary run summary. */
57
+ export declare function parseDurableRunCanaryRunSummary(value: unknown): DurableRunCanaryRunSummary;
58
+ /** Public API contract for durable run canary API client. */
59
+ export interface DurableRunCanaryApiClient {
60
+ createDurableRootRun: (input: DurableRunCanaryCreateRootRunInput) => Promise<void>;
61
+ getRunSummary: (input: DurableRunCanaryCreateRootRunInput) => Promise<DurableRunCanaryRunSummary>;
62
+ listMessagesForCanary: (input: {
63
+ conversationId: string;
64
+ }) => Promise<DurableRunCanaryMessage[]>;
65
+ sendUserMessageForCanary: (input: DurableRunCanarySendUserMessageInput) => Promise<DurableRunCanaryMessage>;
66
+ startDurableRun: (input: DurableRunCanaryStartRunInput) => Promise<void>;
67
+ }
68
+ /** Create durable run canary API client. */
69
+ export declare function createDurableRunCanaryApiClient(config: DurableRunCanaryApiConfig): DurableRunCanaryApiClient;
70
+ /** Result returned from durable run canary. */
71
+ export interface DurableRunCanaryResult {
72
+ id: string;
73
+ label: string;
74
+ status: "pass" | "fail";
75
+ details: string;
76
+ durationMs: number;
77
+ conversationId: string;
78
+ runId: string;
79
+ artifactPaths?: string[];
80
+ }
81
+ /** Public API contract for durable run canary prepared case. */
82
+ export interface DurableRunCanaryPreparedCase {
83
+ artifactPaths?: string[] | ((runId: string) => string[]);
84
+ cleanup: (input?: {
85
+ runId: string;
86
+ }) => Promise<void>;
87
+ conversationId: string;
88
+ prompt: string;
89
+ startSidecar?: () => Promise<(() => Promise<void>) | void>;
90
+ title: string;
91
+ validate: (input: {
92
+ messages: DurableRunCanaryMessage[];
93
+ run: DurableRunCanaryRunSummary;
94
+ }) => Promise<void> | void;
95
+ }
96
+ /** Public API contract for durable run canary case. */
97
+ export interface DurableRunCanaryCase {
98
+ id: string;
99
+ label: string;
100
+ prepare: () => Promise<DurableRunCanaryPreparedCase>;
101
+ }
102
+ /** Configuration used by durable run canary runner. */
103
+ export interface DurableRunCanaryRunnerConfig extends DurableRunCanaryApiConfig {
104
+ keepSuccessfulEvidence: boolean;
105
+ }
106
+ declare function collectReferencedChildConversationIds(messages: DurableRunCanaryMessage[]): string[];
107
+ declare function isTerminalRunStatus(status: string): boolean;
108
+ /** Create durable run canary runner. */
109
+ export declare function createDurableRunCanaryRunner(config: DurableRunCanaryRunnerConfig, apiClient?: DurableRunCanaryApiClient): {
110
+ runCase: (testCase: DurableRunCanaryCase) => Promise<DurableRunCanaryResult>;
111
+ };
112
+ /** White-box helpers used by durable run canary tests. */
113
+ export declare const durableRunCanaryRunnerInternals: {
114
+ collectReferencedChildConversationIds: typeof collectReferencedChildConversationIds;
115
+ isTerminalRunStatus: typeof isTerminalRunStatus;
116
+ };
117
+ export {};
118
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/src/eval/agent-service/durable-run-canaries/runner.ts"],"names":[],"mappings":"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"}