agentv 4.44.0-next.1 → 5.0.0-next.1

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 (52) hide show
  1. package/README.md +2 -2
  2. package/dist/{artifact-writer-72MQQELS.js → artifact-writer-QD52FC56.js} +12 -10
  3. package/dist/{chunk-KAGZRUO6.js → chunk-6JVM4GJI.js} +3 -2
  4. package/dist/chunk-6JVM4GJI.js.map +1 -0
  5. package/dist/{chunk-2N3YSEMI.js → chunk-6Q56CEXV.js} +333 -99
  6. package/dist/chunk-6Q56CEXV.js.map +1 -0
  7. package/dist/{chunk-5DYGN547.js → chunk-GZJMODLW.js} +1008 -663
  8. package/dist/chunk-GZJMODLW.js.map +1 -0
  9. package/dist/{chunk-CXHYTYHU.js → chunk-IBI7A5RP.js} +621 -191
  10. package/dist/chunk-IBI7A5RP.js.map +1 -0
  11. package/dist/{chunk-NPVGBFF6.js → chunk-IJEZFZJR.js} +2 -43
  12. package/dist/chunk-IJEZFZJR.js.map +1 -0
  13. package/dist/{chunk-BPGJ4HBU.js → chunk-RCIEHFQ2.js} +3 -3
  14. package/dist/{chunk-NCNDA3F6.js → chunk-UG4JHZYM.js} +1176 -224
  15. package/dist/chunk-UG4JHZYM.js.map +1 -0
  16. package/dist/cli.js +7 -7
  17. package/dist/dashboard/assets/index-BVMrdN8a.js +119 -0
  18. package/dist/dashboard/assets/{index-DitffAxS.js → index-D5_8DE_B.js} +1 -1
  19. package/dist/dashboard/assets/index-DZWXfWsv.css +1 -0
  20. package/dist/dashboard/index.html +2 -2
  21. package/dist/{dist-L4YCQOQ6.js → dist-KJ6PELQY.js} +45 -11
  22. package/dist/{docker-workspace-RPPXBT27-B4AQHVWA.js → docker-workspace-ZJ2ESVBI-6UDETQII.js} +2 -2
  23. package/dist/{exec-AR6JUUN5-6MBPURPR.js → exec-MYPAJJP7-C5HD5WG5.js} +2 -2
  24. package/dist/index.js +7 -7
  25. package/dist/{interactive-DRNRKLEQ.js → interactive-2WMVAASS.js} +7 -7
  26. package/dist/skills/agentv-bench/SKILL.md +3 -3
  27. package/dist/skills/agentv-bench/agents/analyzer.md +1 -1
  28. package/dist/skills/agentv-bench/references/autoresearch.md +1 -1
  29. package/dist/skills/agentv-bench/references/eval-yaml-spec.md +13 -3
  30. package/dist/skills/agentv-bench/references/migrating-from-skill-creator.md +2 -2
  31. package/dist/skills/agentv-bench/references/schemas.md +6 -6
  32. package/dist/skills/agentv-bench/references/subagent-pipeline.md +1 -1
  33. package/dist/skills/agentv-eval-writer/SKILL.md +10 -0
  34. package/dist/skills/agentv-eval-writer/references/eval-schema.json +3 -63
  35. package/dist/skills/agentv-eval-writer/references/experiment-schema.json +278 -0
  36. package/dist/{ts-eval-loader-S7ESROX2-6CB3HB6H.js → ts-eval-loader-RE43OAGX-AMRCUKBZ.js} +3 -3
  37. package/package.json +1 -1
  38. package/dist/chunk-2N3YSEMI.js.map +0 -1
  39. package/dist/chunk-5DYGN547.js.map +0 -1
  40. package/dist/chunk-CXHYTYHU.js.map +0 -1
  41. package/dist/chunk-KAGZRUO6.js.map +0 -1
  42. package/dist/chunk-NCNDA3F6.js.map +0 -1
  43. package/dist/chunk-NPVGBFF6.js.map +0 -1
  44. package/dist/dashboard/assets/index-1Hvy8sBy.js +0 -119
  45. package/dist/dashboard/assets/index-J5sPcQO3.css +0 -1
  46. /package/dist/{artifact-writer-72MQQELS.js.map → artifact-writer-QD52FC56.js.map} +0 -0
  47. /package/dist/{chunk-BPGJ4HBU.js.map → chunk-RCIEHFQ2.js.map} +0 -0
  48. /package/dist/{dist-L4YCQOQ6.js.map → dist-KJ6PELQY.js.map} +0 -0
  49. /package/dist/{docker-workspace-RPPXBT27-B4AQHVWA.js.map → docker-workspace-ZJ2ESVBI-6UDETQII.js.map} +0 -0
  50. /package/dist/{exec-AR6JUUN5-6MBPURPR.js.map → exec-MYPAJJP7-C5HD5WG5.js.map} +0 -0
  51. /package/dist/{interactive-DRNRKLEQ.js.map → interactive-2WMVAASS.js.map} +0 -0
  52. /package/dist/{ts-eval-loader-S7ESROX2-6CB3HB6H.js.map → ts-eval-loader-RE43OAGX-AMRCUKBZ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
 
3
- // ../../packages/core/dist/chunk-3WGHC7LC.js
3
+ // ../../packages/core/dist/chunk-AJU6HAAW.js
4
4
  function shellEscapePath(value) {
5
5
  if (process.platform === "win32") {
6
6
  return `"${value.replaceAll('"', '""')}"`;
@@ -11,49 +11,8 @@ async function execFileWithStdin(argv, stdinPayload, options = {}) {
11
11
  if (argv.length === 0) {
12
12
  throw new Error("Executable argv must include at least one entry");
13
13
  }
14
- if (typeof Bun !== "undefined") {
15
- return execFileWithStdinBun(argv, stdinPayload, options);
16
- }
17
14
  return execFileWithStdinNode(argv, stdinPayload, options);
18
15
  }
19
- async function execFileWithStdinBun(argv, stdinPayload, options) {
20
- const command = [...argv];
21
- const encoder = new TextEncoder();
22
- const proc = Bun.spawn(command, {
23
- cwd: options.cwd,
24
- stdin: encoder.encode(stdinPayload),
25
- stdout: "pipe",
26
- stderr: "pipe",
27
- // Merge additional env vars with process.env
28
- env: options.env ? { ...process.env, ...options.env } : process.env
29
- });
30
- let timedOut = false;
31
- const timeout = options.timeoutMs !== void 0 ? setTimeout(() => {
32
- timedOut = true;
33
- proc.kill("SIGKILL");
34
- }, options.timeoutMs) : void 0;
35
- try {
36
- const stdoutPromise = proc.stdout ? new Response(proc.stdout).text() : Promise.resolve("");
37
- const stderrPromise = proc.stderr ? new Response(proc.stderr).text() : Promise.resolve("");
38
- const [stdout, stderr, exitCode] = await Promise.all([
39
- stdoutPromise,
40
- stderrPromise,
41
- proc.exited
42
- ]);
43
- if (timedOut) {
44
- throw new Error(`Process timed out after ${options.timeoutMs}ms`);
45
- }
46
- return {
47
- stdout: stdout.replace(/\r\n/g, "\n"),
48
- stderr: stderr.replace(/\r\n/g, "\n"),
49
- exitCode
50
- };
51
- } finally {
52
- if (timeout !== void 0) {
53
- clearTimeout(timeout);
54
- }
55
- }
56
- }
57
16
  async function execFileWithStdinNode(argv, stdinPayload, options) {
58
17
  const { spawn } = await import("node:child_process");
59
18
  return new Promise((resolve, reject) => {
@@ -148,4 +107,4 @@ export {
148
107
  execFileWithStdin,
149
108
  execShellWithStdin
150
109
  };
151
- //# sourceMappingURL=chunk-NPVGBFF6.js.map
110
+ //# sourceMappingURL=chunk-IJEZFZJR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/core/src/runtime/exec.ts"],"sourcesContent":["interface ExecOptions {\n readonly cwd?: string;\n readonly timeoutMs?: number;\n /** Additional environment variables to pass to the subprocess */\n readonly env?: Record<string, string>;\n}\n\nfunction shellEscapePath(value: string): string {\n if (process.platform === 'win32') {\n // Very small escape helper for file paths in cmd.exe context.\n // Wrap in double-quotes and escape existing double-quotes.\n return `\"${value.replaceAll('\"', '\"\"')}\"`;\n }\n // POSIX: single-quote escape (close/open around embedded single quotes).\n return `'${value.replaceAll(\"'\", `'\\\"'\\\"'`)}'`;\n}\n\n// IPC protocol: stdin/stdout JSON was chosen over JSON-RPC (overkill for one-shot eval),\n// HTTP (unnecessary network overhead for local scripts), and in-process (no isolation,\n// single-language only). Each evaluation is isolated by design for reproducibility and\n// safe parallelization. Process spawn overhead (~10-50ms) is acceptable for eval workloads.\nexport async function execFileWithStdin(\n argv: readonly string[],\n stdinPayload: string,\n options: ExecOptions = {},\n): Promise<{\n readonly stdout: string;\n readonly stderr: string;\n readonly exitCode: number;\n}> {\n if (argv.length === 0) {\n throw new Error('Executable argv must include at least one entry');\n }\n\n // Use Node's child_process path even under Bun. Bun 1.3.3 can hang when a\n // Bun.spawn child is a Node process reading stdin, which breaks code grader\n // and workspace hook execution on CI's pinned Bun version.\n return execFileWithStdinNode(argv, stdinPayload, options);\n}\n\n/**\n * Node.js implementation using child_process.spawn\n */\nasync function execFileWithStdinNode(\n argv: readonly string[],\n stdinPayload: string,\n options: ExecOptions,\n): Promise<{\n readonly stdout: string;\n readonly stderr: string;\n readonly exitCode: number;\n}> {\n const { spawn } = await import('node:child_process');\n\n return new Promise((resolve, reject) => {\n const [cmd, ...args] = argv;\n const child = spawn(cmd, args, {\n cwd: options.cwd,\n stdio: ['pipe', 'pipe', 'pipe'],\n // Merge additional env vars with process.env\n env: options.env ? { ...process.env, ...options.env } : process.env,\n });\n\n const stdoutChunks: Buffer[] = [];\n const stderrChunks: Buffer[] = [];\n\n child.stdout?.on('data', (chunk: Buffer) => stdoutChunks.push(chunk));\n child.stderr?.on('data', (chunk: Buffer) => stderrChunks.push(chunk));\n\n let timedOut = false;\n const timeout =\n options.timeoutMs !== undefined\n ? setTimeout(() => {\n timedOut = true;\n child.kill('SIGKILL');\n }, options.timeoutMs)\n : undefined;\n\n child.on('error', (error) => {\n if (timeout !== undefined) clearTimeout(timeout);\n reject(error);\n });\n\n child.on('close', (code) => {\n if (timeout !== undefined) clearTimeout(timeout);\n\n if (timedOut) {\n reject(new Error(`Process timed out after ${options.timeoutMs}ms`));\n return;\n }\n\n const stdout = Buffer.concat(stdoutChunks).toString('utf8').replace(/\\r\\n/g, '\\n');\n const stderr = Buffer.concat(stderrChunks).toString('utf8').replace(/\\r\\n/g, '\\n');\n\n resolve({\n stdout,\n stderr,\n exitCode: code ?? 0,\n });\n });\n\n // Write stdin and close\n if (child.stdin) {\n child.stdin.write(stdinPayload);\n child.stdin.end();\n }\n });\n}\n\n/**\n * Execute a shell command with the given stdin payload.\n *\n * Why this exists:\n * - Some providers/scripts (notably Node.js) must receive stdin reliably.\n * - In some Bun environments, `Bun.spawn` does not forward stdin to Node correctly.\n * - Capture stdout/stderr via temp files to avoid pipe incompatibilities.\n */\nexport async function execShellWithStdin(\n command: string,\n stdinPayload: string,\n options: ExecOptions = {},\n): Promise<{\n readonly stdout: string;\n readonly stderr: string;\n readonly exitCode: number;\n}> {\n const { mkdir, readFile, rm, writeFile } = await import('node:fs/promises');\n const { tmpdir } = await import('node:os');\n const path = await import('node:path');\n const { randomUUID } = await import('node:crypto');\n\n const dir = path.join(tmpdir(), `agentv-exec-${randomUUID()}`);\n await mkdir(dir, { recursive: true });\n\n const stdinPath = path.join(dir, 'stdin.txt');\n const stdoutPath = path.join(dir, 'stdout.txt');\n const stderrPath = path.join(dir, 'stderr.txt');\n\n await writeFile(stdinPath, stdinPayload, 'utf8');\n\n const wrappedCommand =\n process.platform === 'win32'\n ? `(${command}) < ${shellEscapePath(stdinPath)} > ${shellEscapePath(stdoutPath)} 2> ${shellEscapePath(stderrPath)}`\n : `(${command}) < ${shellEscapePath(stdinPath)} > ${shellEscapePath(stdoutPath)} 2> ${shellEscapePath(stderrPath)}`;\n\n const { spawn } = await import('node:child_process');\n try {\n const exitCode = await new Promise<number>((resolve, reject) => {\n const child = spawn(wrappedCommand, {\n shell: true,\n cwd: options.cwd,\n stdio: ['ignore', 'ignore', 'ignore'],\n // Merge additional env vars with process.env\n env: options.env ? { ...process.env, ...options.env } : process.env,\n });\n\n const timeout = options.timeoutMs\n ? setTimeout(() => {\n child.kill();\n reject(new Error(`Process timed out after ${options.timeoutMs}ms`));\n }, options.timeoutMs)\n : undefined;\n\n child.on('error', (error) => {\n if (timeout !== undefined) {\n clearTimeout(timeout);\n }\n reject(error);\n });\n\n child.on('exit', (code) => {\n if (timeout !== undefined) {\n clearTimeout(timeout);\n }\n resolve(code ?? 0);\n });\n });\n\n const stdout = (await readFile(stdoutPath, 'utf8')).replace(/\\r\\n/g, '\\n');\n const stderr = (await readFile(stderrPath, 'utf8')).replace(/\\r\\n/g, '\\n');\n return { stdout, stderr, exitCode };\n } finally {\n await rm(dir, { recursive: true, force: true });\n }\n}\n"],"mappings":";;;AAOA,SAAS,gBAAgB,OAAuB;AAC9C,MAAI,QAAQ,aAAa,SAAS;AAGhC,WAAO,IAAI,MAAM,WAAW,KAAK,IAAI,CAAC;EACxC;AAEA,SAAO,IAAI,MAAM,WAAW,KAAK,OAAS,CAAC;AAC7C;AAMA,eAAsB,kBACpB,MACA,cACA,UAAuB,CAAC,GAKvB;AACD,MAAI,KAAK,WAAW,GAAG;AACrB,UAAM,IAAI,MAAM,iDAAiD;EACnE;AAKA,SAAO,sBAAsB,MAAM,cAAc,OAAO;AAC1D;AAKA,eAAe,sBACb,MACA,cACA,SAKC;AACD,QAAM,EAAE,MAAM,IAAI,MAAM,OAAO,oBAAoB;AAEnD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,CAAC,KAAK,GAAG,IAAI,IAAI;AACvB,UAAM,QAAQ,MAAM,KAAK,MAAM;MAC7B,KAAK,QAAQ;MACb,OAAO,CAAC,QAAQ,QAAQ,MAAM;;MAE9B,KAAK,QAAQ,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,QAAQ,IAAI,IAAI,QAAQ;IAClE,CAAC;AAED,UAAM,eAAyB,CAAC;AAChC,UAAM,eAAyB,CAAC;AAEhC,UAAM,QAAQ,GAAG,QAAQ,CAAC,UAAkB,aAAa,KAAK,KAAK,CAAC;AACpE,UAAM,QAAQ,GAAG,QAAQ,CAAC,UAAkB,aAAa,KAAK,KAAK,CAAC;AAEpE,QAAI,WAAW;AACf,UAAM,UACJ,QAAQ,cAAc,SAClB,WAAW,MAAM;AACf,iBAAW;AACX,YAAM,KAAK,SAAS;IACtB,GAAG,QAAQ,SAAS,IACpB;AAEN,UAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,UAAI,YAAY,OAAW,cAAa,OAAO;AAC/C,aAAO,KAAK;IACd,CAAC;AAED,UAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,UAAI,YAAY,OAAW,cAAa,OAAO;AAE/C,UAAI,UAAU;AACZ,eAAO,IAAI,MAAM,2BAA2B,QAAQ,SAAS,IAAI,CAAC;AAClE;MACF;AAEA,YAAM,SAAS,OAAO,OAAO,YAAY,EAAE,SAAS,MAAM,EAAE,QAAQ,SAAS,IAAI;AACjF,YAAM,SAAS,OAAO,OAAO,YAAY,EAAE,SAAS,MAAM,EAAE,QAAQ,SAAS,IAAI;AAEjF,cAAQ;QACN;QACA;QACA,UAAU,QAAQ;MACpB,CAAC;IACH,CAAC;AAGD,QAAI,MAAM,OAAO;AACf,YAAM,MAAM,MAAM,YAAY;AAC9B,YAAM,MAAM,IAAI;IAClB;EACF,CAAC;AACH;AAUA,eAAsB,mBACpB,SACA,cACA,UAAuB,CAAC,GAKvB;AACD,QAAM,EAAE,OAAO,UAAU,IAAI,UAAU,IAAI,MAAM,OAAO,kBAAkB;AAC1E,QAAM,EAAE,OAAO,IAAI,MAAM,OAAO,SAAS;AACzC,QAAM,OAAO,MAAM,OAAO,WAAW;AACrC,QAAM,EAAE,WAAW,IAAI,MAAM,OAAO,aAAa;AAEjD,QAAM,MAAM,KAAK,KAAK,OAAO,GAAG,eAAe,WAAW,CAAC,EAAE;AAC7D,QAAM,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AAEpC,QAAM,YAAY,KAAK,KAAK,KAAK,WAAW;AAC5C,QAAM,aAAa,KAAK,KAAK,KAAK,YAAY;AAC9C,QAAM,aAAa,KAAK,KAAK,KAAK,YAAY;AAE9C,QAAM,UAAU,WAAW,cAAc,MAAM;AAE/C,QAAM,iBACJ,QAAQ,aAAa,UACjB,IAAI,OAAO,OAAO,gBAAgB,SAAS,CAAC,MAAM,gBAAgB,UAAU,CAAC,OAAO,gBAAgB,UAAU,CAAC,KAC/G,IAAI,OAAO,OAAO,gBAAgB,SAAS,CAAC,MAAM,gBAAgB,UAAU,CAAC,OAAO,gBAAgB,UAAU,CAAC;AAErH,QAAM,EAAE,MAAM,IAAI,MAAM,OAAO,oBAAoB;AACnD,MAAI;AACF,UAAM,WAAW,MAAM,IAAI,QAAgB,CAAC,SAAS,WAAW;AAC9D,YAAM,QAAQ,MAAM,gBAAgB;QAClC,OAAO;QACP,KAAK,QAAQ;QACb,OAAO,CAAC,UAAU,UAAU,QAAQ;;QAEpC,KAAK,QAAQ,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,QAAQ,IAAI,IAAI,QAAQ;MAClE,CAAC;AAED,YAAM,UAAU,QAAQ,YACpB,WAAW,MAAM;AACf,cAAM,KAAK;AACX,eAAO,IAAI,MAAM,2BAA2B,QAAQ,SAAS,IAAI,CAAC;MACpE,GAAG,QAAQ,SAAS,IACpB;AAEJ,YAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,YAAI,YAAY,QAAW;AACzB,uBAAa,OAAO;QACtB;AACA,eAAO,KAAK;MACd,CAAC;AAED,YAAM,GAAG,QAAQ,CAAC,SAAS;AACzB,YAAI,YAAY,QAAW;AACzB,uBAAa,OAAO;QACtB;AACA,gBAAQ,QAAQ,CAAC;MACnB,CAAC;IACH,CAAC;AAED,UAAM,UAAU,MAAM,SAAS,YAAY,MAAM,GAAG,QAAQ,SAAS,IAAI;AACzE,UAAM,UAAU,MAAM,SAAS,YAAY,MAAM,GAAG,QAAQ,SAAS,IAAI;AACzE,WAAO,EAAE,QAAQ,QAAQ,SAAS;EACpC,UAAA;AACE,UAAM,GAAG,KAAK,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;EAChD;AACF;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
2
 
3
- // ../../packages/core/dist/chunk-SDIANPEY.js
3
+ // ../../packages/core/dist/chunk-M4R3PSLF.js
4
4
  var DefaultCommandExecutor = class {
5
5
  async exec(argv, options = {}) {
6
- const { execFileWithStdin } = await import("./exec-AR6JUUN5-6MBPURPR.js");
6
+ const { execFileWithStdin } = await import("./exec-MYPAJJP7-C5HD5WG5.js");
7
7
  return execFileWithStdin(argv, options.stdin ?? "", {
8
8
  timeoutMs: options.timeoutMs
9
9
  });
@@ -180,4 +180,4 @@ export {
180
180
  DefaultCommandExecutor,
181
181
  DockerWorkspaceProvider
182
182
  };
183
- //# sourceMappingURL=chunk-BPGJ4HBU.js.map
183
+ //# sourceMappingURL=chunk-RCIEHFQ2.js.map