@cluesmith/codev 3.1.7 → 3.1.9

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 (48) hide show
  1. package/dashboard-dist/assets/{index-CaJH8x6Z.js → index-DM7OU-EI.js} +43 -41
  2. package/dashboard-dist/assets/{index-CaJH8x6Z.js.map → index-DM7OU-EI.js.map} +1 -1
  3. package/dashboard-dist/index.html +1 -1
  4. package/dist/agent-farm/commands/tower.d.ts +12 -0
  5. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  6. package/dist/agent-farm/commands/tower.js +11 -3
  7. package/dist/agent-farm/commands/tower.js.map +1 -1
  8. package/dist/agent-farm/servers/overview.d.ts +23 -0
  9. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  10. package/dist/agent-farm/servers/overview.js +76 -9
  11. package/dist/agent-farm/servers/overview.js.map +1 -1
  12. package/dist/agent-farm/servers/resolved-enrichment-cache.d.ts +55 -0
  13. package/dist/agent-farm/servers/resolved-enrichment-cache.d.ts.map +1 -0
  14. package/dist/agent-farm/servers/resolved-enrichment-cache.js +55 -0
  15. package/dist/agent-farm/servers/resolved-enrichment-cache.js.map +1 -0
  16. package/dist/agent-farm/servers/tower-routes.d.ts +4 -0
  17. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  18. package/dist/agent-farm/servers/tower-routes.js +20 -1
  19. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  20. package/dist/agent-farm/servers/tower-server.js +6 -0
  21. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  22. package/dist/agent-farm/servers/tower-terminals.d.ts +14 -0
  23. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  24. package/dist/agent-farm/servers/tower-terminals.js +95 -9
  25. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  26. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  27. package/dist/agent-farm/servers/tower-websocket.js +42 -5
  28. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  29. package/dist/commands/consult/index.d.ts +51 -1
  30. package/dist/commands/consult/index.d.ts.map +1 -1
  31. package/dist/commands/consult/index.js +310 -51
  32. package/dist/commands/consult/index.js.map +1 -1
  33. package/dist/commands/consult/usage-extractor.d.ts +12 -10
  34. package/dist/commands/consult/usage-extractor.d.ts.map +1 -1
  35. package/dist/commands/consult/usage-extractor.js +16 -88
  36. package/dist/commands/consult/usage-extractor.js.map +1 -1
  37. package/dist/commands/doctor.d.ts.map +1 -1
  38. package/dist/commands/doctor.js +101 -25
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/terminal/pty-manager.d.ts +8 -0
  41. package/dist/terminal/pty-manager.d.ts.map +1 -1
  42. package/dist/terminal/pty-manager.js +8 -1
  43. package/dist/terminal/pty-manager.js.map +1 -1
  44. package/package.json +4 -4
  45. package/skeleton/.claude/skills/consult/SKILL.md +1 -1
  46. package/skeleton/DEPENDENCIES.md +17 -6
  47. package/skeleton/resources/commands/codev.md +1 -1
  48. package/skeleton/resources/commands/consult.md +21 -6
@@ -9,7 +9,7 @@
9
9
  import * as fs from 'node:fs';
10
10
  import * as path from 'node:path';
11
11
  import { spawn, execSync, execFileSync } from 'node:child_process';
12
- import { tmpdir } from 'node:os';
12
+ import { tmpdir, homedir } from 'node:os';
13
13
  import chalk from 'chalk';
14
14
  import { query as claudeQuery } from '@anthropic-ai/claude-agent-sdk';
15
15
  import { Codex } from '@openai/codex-sdk';
@@ -20,7 +20,10 @@ import { MetricsDB } from './metrics.js';
20
20
  import { extractUsage, extractReviewText } from './usage-extractor.js';
21
21
  import { executeForgeCommandSync } from '../../lib/forge.js';
22
22
  const MODEL_CONFIGS = {
23
- gemini: { cli: 'gemini', args: ['--model', 'gemini-3.1-pro-preview'], envVar: 'GEMINI_SYSTEM_MD' },
23
+ // gemini dispatches to the Antigravity CLI (`agy`) via runAgyConsultation —
24
+ // this entry exists only for model validation and the `pro` alias; its
25
+ // cli/args are NOT used for dispatch (agy's binary path is resolved at runtime).
26
+ gemini: { cli: 'agy', args: [], envVar: null },
24
27
  hermes: { cli: 'hermes', args: ['chat', '-q'], envVar: null },
25
28
  };
26
29
  // Models that use an Agent SDK instead of CLI subprocess
@@ -381,6 +384,35 @@ export async function runCodexConsultation(queryText, role, workspaceRoot, outpu
381
384
  }
382
385
  }
383
386
  }
387
+ /**
388
+ * Build the env passed to the Claude Agent SDK subprocess for a consultation.
389
+ *
390
+ * Copies the given environment, but when a Claude subscription/OAuth token
391
+ * (`CLAUDE_CODE_OAUTH_TOKEN`) is present, strips `ANTHROPIC_API_KEY` and
392
+ * `ANTHROPIC_AUTH_TOKEN` from the *copy* (never the global `process.env`).
393
+ * The Agent SDK prioritizes the API key over the OAuth token, so leaving the
394
+ * key in would silently route CMAP/review traffic to the metered Opus API
395
+ * instead of the Claude subscription (issue #985).
396
+ *
397
+ * When no OAuth token is set, the API key is preserved so CI / key-only
398
+ * environments continue to authenticate.
399
+ *
400
+ * The deletion is scoped to this subprocess env only — other callers that need
401
+ * the API key (persona, dev:local) are unaffected.
402
+ */
403
+ export function buildClaudeConsultEnv(processEnv) {
404
+ const env = {};
405
+ for (const [key, value] of Object.entries(processEnv)) {
406
+ if (value !== undefined) {
407
+ env[key] = value;
408
+ }
409
+ }
410
+ if (env.CLAUDE_CODE_OAUTH_TOKEN) {
411
+ delete env.ANTHROPIC_API_KEY;
412
+ delete env.ANTHROPIC_AUTH_TOKEN;
413
+ }
414
+ return env;
415
+ }
384
416
  /**
385
417
  * Run Claude consultation via Agent SDK.
386
418
  * Uses the SDK's query() function instead of CLI subprocess.
@@ -397,12 +429,7 @@ async function runClaudeConsultation(queryText, role, workspaceRoot, outputPath,
397
429
  // the nesting guard. Restore it after the SDK call.
398
430
  const savedClaudeCode = process.env.CLAUDECODE;
399
431
  delete process.env.CLAUDECODE;
400
- const env = {};
401
- for (const [key, value] of Object.entries(process.env)) {
402
- if (value !== undefined) {
403
- env[key] = value;
404
- }
405
- }
432
+ const env = buildClaudeConsultEnv(process.env);
406
433
  try {
407
434
  const session = claudeQuery({
408
435
  prompt: queryText,
@@ -474,6 +501,265 @@ async function runClaudeConsultation(queryText, role, workspaceRoot, outputPath,
474
501
  }
475
502
  }
476
503
  }
504
+ // ── Antigravity CLI (`agy`) backend for the `gemini` lane ──────────────────
505
+ // Replaces the retiring Gemini CLI. agy is an agent (reads files from disk via
506
+ // --add-dir under --sandbox), OAuth-only, default model = Flash, plain-text
507
+ // output (no usage JSON). See spec/plan 778.
508
+ // Markers that indicate agy is NOT authenticated (it prints an OAuth URL and
509
+ // waits ~30s for an interactive login that can't complete headlessly). When
510
+ // seen, we terminate early and emit a non-blocking COMMENT skip.
511
+ export const AGY_OAUTH_MARKERS = [
512
+ 'accounts.google.com/o/oauth2',
513
+ 'Authentication required',
514
+ 'paste the authorization code',
515
+ 'Waiting for authentication',
516
+ ];
517
+ const AGY_PRINT_TIMEOUT = '5m'; // passed to `agy --print-timeout`
518
+ const AGY_TIMEOUT_MS = 6 * 60 * 1000; // Codev-owned hard cap (> agy's own timeout)
519
+ // OAuth banner appears before any review text; only scan the early stream.
520
+ const AGY_MARKER_SCAN_LIMIT = 8192;
521
+ // agy's own print-timeout message: on an agentic task that outruns --print-timeout,
522
+ // it returns this (often with a "monitoring the task" note) instead of a review.
523
+ // Treat it as a non-response → non-blocking skip rather than a garbage "review".
524
+ const AGY_NONRESPONSE_MARKER = 'timed out waiting for response';
525
+ /**
526
+ * Verify a path is the real headless `agy` CLI, not the Antigravity IDE
527
+ * launcher. The IDE ships `~/.antigravity/.../bin/agy` as a symlink to the
528
+ * Electron app binary (`Antigravity.app/.../antigravity`); resolving it and
529
+ * launching it would open the IDE, never produce a `--print` review. We reject
530
+ * by realpath WITHOUT executing anything (no risk of launching the GUI).
531
+ */
532
+ export function isRealAgyCli(p) {
533
+ try {
534
+ if (!fs.existsSync(p))
535
+ return false;
536
+ const real = fs.realpathSync(p);
537
+ if (real.includes('Antigravity.app'))
538
+ return false; // IDE app bundle
539
+ if (/[/\\]antigravity(\.exe)?$/.test(real))
540
+ return false; // IDE launcher binary
541
+ return true;
542
+ }
543
+ catch {
544
+ return false;
545
+ }
546
+ }
547
+ /**
548
+ * Resolve the real `agy` CLI binary deterministically — never trust a bare
549
+ * PATH lookup (a stale shell or the IDE symlink shadows the CLI). Prefers the
550
+ * official installer path, then a PATH `agy` verified not to be the IDE.
551
+ * Returns null if no valid headless CLI is found.
552
+ */
553
+ /**
554
+ * Positively verify a candidate behaves like the real headless agy CLI by
555
+ * running `--version` (read-only, fast). `isRealAgyCli` rejects the IDE launcher
556
+ * by realpath; this adds behavioral verification for an *untrusted* PATH
557
+ * candidate so we only run a binary proven to be the CLI.
558
+ */
559
+ export function agyRespondsToVersion(bin) {
560
+ try {
561
+ const out = execSync(`"${bin}" --version 2>/dev/null`, { encoding: 'utf-8', timeout: 5000 }).trim();
562
+ return out.length > 0;
563
+ }
564
+ catch {
565
+ return false;
566
+ }
567
+ }
568
+ export function resolveAgyBin() {
569
+ // Explicit override (advanced users / tests): use it if valid, never silently
570
+ // fall back to a different binary the user didn't ask for.
571
+ const override = process.env.CODEV_AGY_BIN;
572
+ if (override)
573
+ return isRealAgyCli(override) ? override : null;
574
+ // Canonical install path — trusted location; realpath-reject the IDE only.
575
+ const preferred = path.join(homedir(), '.local', 'bin', 'agy');
576
+ if (isRealAgyCli(preferred))
577
+ return preferred;
578
+ // A bare PATH `agy` is untrusted: require it to NOT be the IDE (realpath) AND
579
+ // to behave like the headless CLI (`--version`) before we'll run it.
580
+ try {
581
+ const found = execSync('command -v agy 2>/dev/null', { encoding: 'utf-8' }).trim();
582
+ if (found && isRealAgyCli(found) && agyRespondsToVersion(found))
583
+ return found;
584
+ }
585
+ catch {
586
+ // not on PATH
587
+ }
588
+ return null;
589
+ }
590
+ /** Non-blocking skip artifact: porch's verdict parser treats COMMENT as non-blocking. */
591
+ function agySkipContent(reason) {
592
+ return [
593
+ '---',
594
+ 'VERDICT: COMMENT',
595
+ `SUMMARY: Gemini lane skipped — ${reason}`,
596
+ 'CONFIDENCE: LOW',
597
+ '---',
598
+ '',
599
+ `The Gemini (Antigravity \`agy\`) reviewer was skipped: ${reason}.`,
600
+ 'This is a non-blocking skip; the remaining reviewers still apply. To enable the',
601
+ 'Gemini lane, install the CLI (https://antigravity.google/cli/install.sh) and run',
602
+ '`agy` once to sign in.',
603
+ ].join('\n');
604
+ }
605
+ /**
606
+ * Per-process sandbox temp dir for consult artifacts (the PR diff written by
607
+ * buildPRQuery, and the large-prompt file written by runAgyConsultation).
608
+ *
609
+ * Created once per CLI invocation (each `consult` run is its own process), so the
610
+ * sandboxed `agy` reviewer can be granted exactly this directory via `--add-dir`
611
+ * instead of the entire OS temp dir — keeping the grant scoped to the artifacts
612
+ * this flow creates. `mkdtempSync` yields a private, user-owned dir; callers still
613
+ * write with mode 0o600 / flag 'wx' to defeat symlink/clobber races.
614
+ */
615
+ let _consultSandboxDir = null;
616
+ function consultSandboxDir() {
617
+ if (!_consultSandboxDir) {
618
+ _consultSandboxDir = fs.mkdtempSync(path.join(tmpdir(), 'codev-consult-'));
619
+ }
620
+ return _consultSandboxDir;
621
+ }
622
+ function writeConsultOutput(outputPath, content) {
623
+ if (!outputPath || content.length === 0)
624
+ return;
625
+ const outputDir = path.dirname(outputPath);
626
+ if (!fs.existsSync(outputDir))
627
+ fs.mkdirSync(outputDir, { recursive: true });
628
+ fs.writeFileSync(outputPath, content);
629
+ console.error(`\nOutput written to: ${outputPath}`);
630
+ }
631
+ function recordAgyMetrics(metricsCtx, startTime, exitCode, errorMessage) {
632
+ if (!metricsCtx)
633
+ return;
634
+ recordMetrics(metricsCtx, {
635
+ durationSeconds: (Date.now() - startTime) / 1000,
636
+ // agy --print emits plain text, no token usage → cost rows degrade gracefully (null).
637
+ inputTokens: null,
638
+ cachedInputTokens: null,
639
+ outputTokens: null,
640
+ costUsd: null,
641
+ exitCode,
642
+ errorMessage,
643
+ });
644
+ }
645
+ /**
646
+ * Run the `gemini` consult lane via the Antigravity CLI (`agy --print`).
647
+ * Preserves agentic file-reading (--sandbox --add-dir), folds the role into the
648
+ * prompt, and NEVER blocks the run: a missing/unauthed/invalid CLI or a
649
+ * timeout/error produces a non-blocking COMMENT skip instead of throwing.
650
+ */
651
+ async function runAgyConsultation(queryText, role, workspaceRoot, outputPath, metricsCtx) {
652
+ const startTime = Date.now();
653
+ const bin = resolveAgyBin();
654
+ if (!bin) {
655
+ const reason = 'agy CLI not found (install: https://antigravity.google/cli/install.sh)';
656
+ const content = agySkipContent(reason);
657
+ process.stdout.write(content);
658
+ writeConsultOutput(outputPath, content);
659
+ recordAgyMetrics(metricsCtx, startTime, 0, reason);
660
+ console.error(`\n[gemini (agy) skipped: ${reason}]`);
661
+ return;
662
+ }
663
+ // agy has no system-prompt flag — fold the role into the prompt (hermes precedent).
664
+ const prompt = `${role}\n\n---\n\n${queryText}`;
665
+ // Grant the sandboxed agent read access to the workspace AND the dedicated consult
666
+ // sandbox dir (where buildPRQuery writes the diff and, below, a large-prompt file
667
+ // lands) — NOT the entire OS temp dir, which would over-expose unrelated /tmp files.
668
+ const addDirs = [workspaceRoot, consultSandboxDir()];
669
+ let tempFile = null;
670
+ let promptArg = prompt;
671
+ // Large prompts can exceed ARG_MAX (E2BIG) — write to a temp file and point agy at it.
672
+ if (prompt.length > CLI_PROMPT_INLINE_MAX_CHARS) {
673
+ tempFile = path.join(consultSandboxDir(), `codev-consult-prompt-${Date.now()}.md`);
674
+ fs.writeFileSync(tempFile, prompt);
675
+ promptArg = [
676
+ `Read the full consultation prompt from this file: ${tempFile}`,
677
+ 'You have file access. Read files directly from disk to review code.',
678
+ ].join('\n\n');
679
+ }
680
+ const args = ['--print', '--sandbox', '--print-timeout', AGY_PRINT_TIMEOUT];
681
+ for (const d of addDirs)
682
+ args.push('--add-dir', d);
683
+ args.push(promptArg);
684
+ const cleanup = () => {
685
+ if (tempFile && fs.existsSync(tempFile)) {
686
+ try {
687
+ fs.unlinkSync(tempFile);
688
+ }
689
+ catch { /* best-effort */ }
690
+ }
691
+ };
692
+ return new Promise((resolve) => {
693
+ const proc = spawn(bin, args, {
694
+ cwd: workspaceRoot,
695
+ stdio: ['ignore', 'pipe', 'pipe'],
696
+ });
697
+ const outChunks = [];
698
+ let scanBuf = '';
699
+ let settled = false;
700
+ const settleSkip = (reason, exitCode = 0) => {
701
+ if (settled)
702
+ return;
703
+ settled = true;
704
+ clearTimeout(timer);
705
+ try {
706
+ proc.kill('SIGTERM');
707
+ }
708
+ catch { /* already gone */ }
709
+ cleanup();
710
+ const content = agySkipContent(reason);
711
+ process.stdout.write(content);
712
+ writeConsultOutput(outputPath, content);
713
+ recordAgyMetrics(metricsCtx, startTime, exitCode, reason);
714
+ console.error(`\n[gemini (agy) skipped: ${reason}]`);
715
+ resolve();
716
+ };
717
+ const timer = setTimeout(() => settleSkip('agy timed out (no response)', 1), AGY_TIMEOUT_MS);
718
+ const watch = (buf, isStdout) => {
719
+ if (isStdout)
720
+ outChunks.push(buf);
721
+ if (scanBuf.length < AGY_MARKER_SCAN_LIMIT) {
722
+ scanBuf += buf.toString('utf-8');
723
+ if (AGY_OAUTH_MARKERS.some((m) => scanBuf.includes(m))) {
724
+ settleSkip('agy not authenticated — run `agy` once to sign in (OAuth)', 1);
725
+ }
726
+ }
727
+ };
728
+ proc.stdout?.on('data', (b) => watch(b, true));
729
+ proc.stderr?.on('data', (b) => watch(b, false));
730
+ proc.on('error', (err) => {
731
+ settleSkip(`agy failed to start: ${err.message}`, 1);
732
+ });
733
+ proc.on('close', (code) => {
734
+ if (settled)
735
+ return;
736
+ settled = true;
737
+ clearTimeout(timer);
738
+ cleanup();
739
+ const raw = Buffer.concat(outChunks).toString('utf-8').trim();
740
+ if (code !== 0 || raw.length === 0 || raw.includes(AGY_NONRESPONSE_MARKER)) {
741
+ const reason = code !== 0
742
+ ? `agy exited with code ${code}`
743
+ : raw.includes(AGY_NONRESPONSE_MARKER)
744
+ ? 'agy timed out producing the review'
745
+ : 'agy produced no review output';
746
+ const content = agySkipContent(reason);
747
+ process.stdout.write(content);
748
+ writeConsultOutput(outputPath, content);
749
+ recordAgyMetrics(metricsCtx, startTime, code ?? 1, reason);
750
+ console.error(`\n[gemini (agy) skipped: ${reason}]`);
751
+ resolve();
752
+ return;
753
+ }
754
+ // Plain-text stdout IS the review.
755
+ process.stdout.write(raw);
756
+ writeConsultOutput(outputPath, raw);
757
+ recordAgyMetrics(metricsCtx, startTime, 0, null);
758
+ console.error(`\n[gemini (agy) completed in ${((Date.now() - startTime) / 1000).toFixed(1)}s]`);
759
+ resolve();
760
+ });
761
+ });
762
+ }
477
763
  /**
478
764
  * Run the consultation — dispatches to the correct model runner.
479
765
  */
@@ -495,6 +781,14 @@ async function runConsultation(model, query, workspaceRoot, role, outputPath, me
495
781
  console.error(`\n[${model} completed in ${duration.toFixed(1)}s]`);
496
782
  return;
497
783
  }
784
+ // gemini lane → Antigravity CLI (`agy`); handles its own logging, metrics,
785
+ // and non-blocking skip (see runAgyConsultation).
786
+ if (model === 'gemini') {
787
+ const startTime = Date.now();
788
+ await runAgyConsultation(query, role, workspaceRoot, outputPath, metricsCtx);
789
+ logQuery(workspaceRoot, model, query, (Date.now() - startTime) / 1000);
790
+ return;
791
+ }
498
792
  const config = MODEL_CONFIGS[model];
499
793
  if (!config) {
500
794
  throw new Error(`Unknown model: ${model}`);
@@ -504,31 +798,8 @@ async function runConsultation(model, query, workspaceRoot, role, outputPath, me
504
798
  throw new Error(`${config.cli} not found. Please install it first.`);
505
799
  }
506
800
  let tempFile = null;
507
- const env = {};
508
801
  let cmd;
509
- // When true, the query is written to the child's stdin instead of argv.
510
- // Used for gemini to avoid V8 heap exhaustion on large prompts (#680).
511
- let stdinPayload = null;
512
- if (model === 'gemini') {
513
- // Gemini uses GEMINI_SYSTEM_MD env var for role
514
- tempFile = path.join(tmpdir(), `codev-role-${Date.now()}.md`);
515
- fs.writeFileSync(tempFile, role);
516
- env['GEMINI_SYSTEM_MD'] = tempFile;
517
- // Bugfix #680: gemini-cli v0.37.x crashes on large PR diffs (>500KB) due to
518
- // V8 old-space exhaustion in the spawned subprocess. Mitigations:
519
- // 1. Bump heap via NODE_OPTIONS (survives gemini-cli's internal relaunch).
520
- // 2. Pipe the prompt via stdin instead of argv — avoids ARG_MAX and keeps
521
- // V8 from holding the full prompt buffer twice.
522
- env['NODE_OPTIONS'] = [process.env.NODE_OPTIONS ?? '', '--max-old-space-size=8192']
523
- .join(' ')
524
- .trim();
525
- stdinPayload = query;
526
- // Use --output-format json to capture token usage/cost in structured output.
527
- // Never use --yolo — it allows Gemini to write files (#370).
528
- // No positional query arg: prompt arrives on stdin (triggers non-interactive mode).
529
- cmd = [config.cli, '--output-format', 'json', ...config.args];
530
- }
531
- else if (model === 'hermes') {
802
+ if (model === 'hermes') {
532
803
  // Hermes does not have a dedicated system prompt flag for single-shot mode.
533
804
  // Include role context at the top of the prompt.
534
805
  const hermesPrompt = `${role}\n\n---\n\n${query}`;
@@ -551,27 +822,14 @@ async function runConsultation(model, query, workspaceRoot, role, outputPath, me
551
822
  else {
552
823
  throw new Error(`Unknown model: ${model}`);
553
824
  }
554
- // Execute with passthrough stdio.
555
- // Use 'ignore' for stdin when no payload — prevents blocking when spawned as subprocess.
556
- // Use 'pipe' when we need to stream the prompt in (e.g. gemini, see #680).
557
- const fullEnv = { ...process.env, ...env };
825
+ // Execute with passthrough stdio. stdin is 'ignore' (hermes passes its prompt
826
+ // via argv) — prevents blocking when spawned as a subprocess.
558
827
  const startTime = Date.now();
559
- const stdinMode = stdinPayload !== null ? 'pipe' : 'ignore';
560
828
  return new Promise((resolve, reject) => {
561
829
  const proc = spawn(cmd[0], cmd.slice(1), {
562
830
  cwd: workspaceRoot,
563
- env: fullEnv,
564
- stdio: [stdinMode, 'pipe', 'inherit'],
831
+ stdio: ['ignore', 'pipe', 'inherit'],
565
832
  });
566
- if (stdinPayload !== null && proc.stdin) {
567
- proc.stdin.on('error', (err) => {
568
- // EPIPE can happen if the child exits before reading all input — not fatal.
569
- if (err.code !== 'EPIPE') {
570
- reject(err);
571
- }
572
- });
573
- proc.stdin.end(stdinPayload, 'utf-8');
574
- }
575
833
  const chunks = [];
576
834
  if (proc.stdout) {
577
835
  proc.stdout.on('data', (chunk) => {
@@ -774,9 +1032,10 @@ function buildPRQuery(prId) {
774
1032
  const prData = fetchPRData(prId);
775
1033
  const diff = fetchPRDiff(prId);
776
1034
  // Private-per-user dir to avoid world-readable /tmp diffs + symlink/clobber
777
- // races: mkdtempSync creates a fresh dir owned by us; writeFileSync with
1035
+ // races: consultSandboxDir() is a fresh mkdtempSync dir owned by us (and the
1036
+ // only temp dir granted to the sandboxed agy reviewer); writeFileSync with
778
1037
  // flag 'wx' refuses to follow a symlink or overwrite an existing file.
779
- const diffDir = fs.mkdtempSync(path.join(tmpdir(), 'codev-pr-'));
1038
+ const diffDir = consultSandboxDir();
780
1039
  const diffPath = path.join(diffDir, `pr-${prId}.diff`);
781
1040
  fs.writeFileSync(diffPath, diff, { encoding: 'utf-8', mode: 0o600, flag: 'wx' });
782
1041
  const diffBytes = Buffer.byteLength(diff, 'utf-8');
@@ -1400,5 +1659,5 @@ export async function consult(options) {
1400
1659
  await runConsultation(model, query, workspaceRoot, role, outputPath, metricsCtx, isGeneralMode);
1401
1660
  }
1402
1661
  // Exported for testing
1403
- export { getDiffStat as _getDiffStat, buildSpecQuery as _buildSpecQuery, buildPlanQuery as _buildPlanQuery, buildPRQuery as _buildPRQuery, composePRQueryText as _composePRQueryText, computePersistentOutputPath as _computePersistentOutputPath, MODEL_CONFIGS as _MODEL_CONFIGS, };
1662
+ export { getDiffStat as _getDiffStat, buildSpecQuery as _buildSpecQuery, buildPlanQuery as _buildPlanQuery, buildPRQuery as _buildPRQuery, composePRQueryText as _composePRQueryText, computePersistentOutputPath as _computePersistentOutputPath, MODEL_CONFIGS as _MODEL_CONFIGS, MODEL_ALIASES as _MODEL_ALIASES, runAgyConsultation as _runAgyConsultation, agySkipContent as _agySkipContent, };
1404
1663
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}