@cluesmith/codev 2.0.0-rc.64 → 2.0.0-rc.69

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 (59) hide show
  1. package/dashboard/dist/assets/{index-DZuzzh0T.js → index-CG7nUttd.js} +22 -22
  2. package/dashboard/dist/assets/index-CG7nUttd.js.map +1 -0
  3. package/dashboard/dist/index.html +1 -1
  4. package/dist/agent-farm/cli.d.ts.map +1 -1
  5. package/dist/agent-farm/cli.js +4 -1
  6. package/dist/agent-farm/cli.js.map +1 -1
  7. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  8. package/dist/agent-farm/commands/architect.js +4 -6
  9. package/dist/agent-farm/commands/architect.js.map +1 -1
  10. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  11. package/dist/agent-farm/commands/spawn.js +54 -6
  12. package/dist/agent-farm/commands/spawn.js.map +1 -1
  13. package/dist/agent-farm/commands/tower-cloud.d.ts +1 -0
  14. package/dist/agent-farm/commands/tower-cloud.d.ts.map +1 -1
  15. package/dist/agent-farm/commands/tower-cloud.js +9 -8
  16. package/dist/agent-farm/commands/tower-cloud.js.map +1 -1
  17. package/dist/agent-farm/db/index.d.ts.map +1 -1
  18. package/dist/agent-farm/db/index.js +18 -0
  19. package/dist/agent-farm/db/index.js.map +1 -1
  20. package/dist/agent-farm/lib/cloud-config.d.ts +13 -0
  21. package/dist/agent-farm/lib/cloud-config.d.ts.map +1 -1
  22. package/dist/agent-farm/lib/cloud-config.js +38 -1
  23. package/dist/agent-farm/lib/cloud-config.js.map +1 -1
  24. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  25. package/dist/agent-farm/lib/tunnel-client.js +15 -6
  26. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  27. package/dist/agent-farm/servers/tower-server.js +166 -138
  28. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  29. package/dist/agent-farm/utils/session.d.ts +22 -0
  30. package/dist/agent-farm/utils/session.d.ts.map +1 -1
  31. package/dist/agent-farm/utils/session.js +45 -0
  32. package/dist/agent-farm/utils/session.js.map +1 -1
  33. package/dist/commands/consult/index.d.ts +10 -2
  34. package/dist/commands/consult/index.d.ts.map +1 -1
  35. package/dist/commands/consult/index.js +133 -37
  36. package/dist/commands/consult/index.js.map +1 -1
  37. package/dist/commands/doctor.d.ts.map +1 -1
  38. package/dist/commands/doctor.js +96 -52
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/commands/porch/index.d.ts +4 -0
  41. package/dist/commands/porch/index.d.ts.map +1 -1
  42. package/dist/commands/porch/index.js +40 -11
  43. package/dist/commands/porch/index.js.map +1 -1
  44. package/dist/commands/porch/state.d.ts +18 -0
  45. package/dist/commands/porch/state.d.ts.map +1 -1
  46. package/dist/commands/porch/state.js +41 -2
  47. package/dist/commands/porch/state.js.map +1 -1
  48. package/package.json +2 -1
  49. package/skeleton/protocols/bugfix/builder-prompt.md +3 -3
  50. package/skeleton/protocols/bugfix/prompts/pr.md +8 -4
  51. package/skeleton/protocols/bugfix/protocol.json +2 -32
  52. package/skeleton/protocols/experiment/builder-prompt.md +1 -1
  53. package/skeleton/protocols/maintain/builder-prompt.md +1 -1
  54. package/skeleton/protocols/spir/builder-prompt.md +1 -1
  55. package/skeleton/protocols/tick/builder-prompt.md +1 -1
  56. package/skeleton/protocols/tick/protocol.json +1 -1
  57. package/skeleton/roles/builder.md +9 -8
  58. package/templates/tower.html +275 -41
  59. package/dashboard/dist/assets/index-DZuzzh0T.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgkBD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkCH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAicD;;;GAGG;AACH,iBAAS,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAKxF;AA+ND;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HpE;AAGD,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,CAAC"}
@@ -1,21 +1,23 @@
1
1
  /**
2
2
  * consult - AI consultation with external models
3
3
  *
4
- * Provides unified interface to gemini-cli, codex, and claude CLIs.
4
+ * Provides unified interface to gemini-cli, codex, and Claude Agent SDK.
5
5
  */
6
6
  import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
8
  import { spawn, execSync } from 'node:child_process';
9
9
  import { tmpdir } from 'node:os';
10
10
  import chalk from 'chalk';
11
+ import { query as claudeQuery } from '@anthropic-ai/claude-agent-sdk';
11
12
  import { readCodevFile, findProjectRoot, hasLocalOverride } from '../../lib/skeleton.js';
12
13
  const MODEL_CONFIGS = {
13
14
  gemini: { cli: 'gemini', args: ['--yolo'], envVar: 'GEMINI_SYSTEM_MD' },
14
15
  // Codex uses experimental_instructions_file config flag (not env var)
15
16
  // See: https://github.com/openai/codex/discussions/3896
16
17
  codex: { cli: 'codex', args: ['exec', '-m', 'gpt-5.2-codex', '--full-auto'], envVar: null },
17
- claude: { cli: 'claude', args: ['--print', '-p'], envVar: null },
18
18
  };
19
+ // Models that use the Agent SDK instead of CLI subprocess
20
+ const SDK_MODELS = ['claude'];
19
21
  // Model aliases
20
22
  const MODEL_ALIASES = {
21
23
  pro: 'gemini',
@@ -206,6 +208,69 @@ function commandExists(cmd) {
206
208
  return false;
207
209
  }
208
210
  }
211
+ /**
212
+ * Run Claude consultation via Agent SDK.
213
+ * Uses the SDK's query() function instead of CLI subprocess.
214
+ * This avoids the CLAUDECODE nesting guard and enables tool use during reviews.
215
+ */
216
+ async function runClaudeConsultation(queryText, role, projectRoot, outputPath) {
217
+ const chunks = [];
218
+ // The SDK spawns a Claude Code subprocess that checks process.env.CLAUDECODE.
219
+ // We must remove it from process.env (not just the options env) to avoid
220
+ // the nesting guard. Restore it after the SDK call.
221
+ const savedClaudeCode = process.env.CLAUDECODE;
222
+ delete process.env.CLAUDECODE;
223
+ const env = {};
224
+ for (const [key, value] of Object.entries(process.env)) {
225
+ if (value !== undefined) {
226
+ env[key] = value;
227
+ }
228
+ }
229
+ try {
230
+ const session = claudeQuery({
231
+ prompt: queryText,
232
+ options: {
233
+ systemPrompt: role,
234
+ allowedTools: ['Read', 'Glob', 'Grep'],
235
+ permissionMode: 'bypassPermissions',
236
+ allowDangerouslySkipPermissions: true,
237
+ model: 'claude-opus-4-6',
238
+ maxTurns: 10,
239
+ maxBudgetUsd: 1.00,
240
+ cwd: projectRoot,
241
+ env,
242
+ },
243
+ });
244
+ for await (const message of session) {
245
+ if (message.type === 'assistant' && message.message?.content) {
246
+ for (const block of message.message.content) {
247
+ if ('text' in block) {
248
+ process.stdout.write(block.text);
249
+ chunks.push(block.text);
250
+ }
251
+ }
252
+ }
253
+ if (message.type === 'result') {
254
+ if (message.subtype !== 'success') {
255
+ const errors = 'errors' in message ? message.errors : [];
256
+ throw new Error(`Claude SDK error (${message.subtype}): ${errors.join(', ')}`);
257
+ }
258
+ }
259
+ }
260
+ if (outputPath) {
261
+ const outputDir = path.dirname(outputPath);
262
+ if (!fs.existsSync(outputDir))
263
+ fs.mkdirSync(outputDir, { recursive: true });
264
+ fs.writeFileSync(outputPath, chunks.join(''));
265
+ console.error(`\nOutput written to: ${outputPath}`);
266
+ }
267
+ }
268
+ finally {
269
+ if (savedClaudeCode !== undefined) {
270
+ process.env.CLAUDECODE = savedClaudeCode;
271
+ }
272
+ }
273
+ }
209
274
  /**
210
275
  * Run the consultation
211
276
  */
@@ -223,6 +288,25 @@ async function runConsultation(model, query, projectRoot, dryRun, reviewType, cu
223
288
  console.error(chalk.yellow(`Warning: Review type prompt not found: ${reviewType}`));
224
289
  }
225
290
  }
291
+ // Claude uses the Agent SDK — handle separately from CLI-based models
292
+ if (model === 'claude') {
293
+ if (dryRun) {
294
+ console.log(chalk.yellow(`[claude] Would invoke Agent SDK:`));
295
+ console.log(` Model: claude-opus-4-6`);
296
+ console.log(` Tools: Read, Glob, Grep`);
297
+ console.log(` Max turns: 10`);
298
+ console.log(` Max budget: $1.00`);
299
+ const promptPreview = query.substring(0, 200) + (query.length > 200 ? '...' : '');
300
+ console.log(` Prompt: ${promptPreview}`);
301
+ return;
302
+ }
303
+ const startTime = Date.now();
304
+ await runClaudeConsultation(query, role, projectRoot, outputPath);
305
+ const duration = (Date.now() - startTime) / 1000;
306
+ logQuery(projectRoot, model, query, duration);
307
+ console.error(`\n[${model} completed in ${duration.toFixed(1)}s]`);
308
+ return;
309
+ }
226
310
  const config = MODEL_CONFIGS[model];
227
311
  if (!config) {
228
312
  throw new Error(`Unknown model: ${model}`);
@@ -256,11 +340,6 @@ async function runConsultation(model, query, projectRoot, dryRun, reviewType, cu
256
340
  query,
257
341
  ];
258
342
  }
259
- else if (model === 'claude') {
260
- // Claude gets role prepended to query
261
- const fullQuery = `${role}\n\n---\n\nConsultation Request:\n${query}`;
262
- cmd = [config.cli, ...config.args, fullQuery, '--dangerously-skip-permissions'];
263
- }
264
343
  else {
265
344
  throw new Error(`Unknown model: ${model}`);
266
345
  }
@@ -333,13 +412,24 @@ async function runConsultation(model, query, projectRoot, dryRun, reviewType, cu
333
412
  });
334
413
  }
335
414
  /**
336
- * Fetch PR data and return it inline
415
+ * Get a compact diff stat summary and list of changed files.
416
+ * Returns { stat, files } where stat is the `--stat` output and files is the list of paths.
417
+ */
418
+ function getDiffStat(projectRoot, ref) {
419
+ const stat = execSync(`git diff --stat ${ref}`, { cwd: projectRoot, encoding: 'utf-8' }).toString();
420
+ const nameOnly = execSync(`git diff --name-only ${ref}`, { cwd: projectRoot, encoding: 'utf-8' }).toString();
421
+ const files = nameOnly.trim().split('\n').filter(Boolean);
422
+ return { stat, files };
423
+ }
424
+ /**
425
+ * Fetch PR metadata (no diff — reviewers read files from disk)
337
426
  */
338
427
  function fetchPRData(prNumber) {
339
428
  console.error(`Fetching PR #${prNumber} data...`);
340
429
  try {
341
430
  const info = execSync(`gh pr view ${prNumber} --json title,body,state,author,baseRefName,headRefName,files,additions,deletions`, { encoding: 'utf-8' });
342
- const diff = execSync(`gh pr diff ${prNumber}`, { encoding: 'utf-8' });
431
+ const nameOnly = execSync(`gh pr diff ${prNumber} --name-only`, { encoding: 'utf-8' });
432
+ const changedFiles = nameOnly.trim().split('\n').filter(Boolean);
343
433
  let comments = '(No comments)';
344
434
  try {
345
435
  comments = execSync(`gh pr view ${prNumber} --comments`, { encoding: 'utf-8' });
@@ -347,22 +437,19 @@ function fetchPRData(prNumber) {
347
437
  catch {
348
438
  // No comments or error fetching
349
439
  }
350
- return { info, diff, comments };
440
+ return { info, changedFiles, comments };
351
441
  }
352
442
  catch (err) {
353
443
  throw new Error(`Failed to fetch PR data: ${err}`);
354
444
  }
355
445
  }
356
446
  /**
357
- * Build query for PR review
447
+ * Build query for PR review.
448
+ * Provides file list and instructs reviewers to read files from disk.
358
449
  */
359
450
  function buildPRQuery(prNumber, _projectRoot) {
360
451
  const prData = fetchPRData(prNumber);
361
- // Truncate diff if too large (keep first 50k chars)
362
- const maxDiffSize = 50000;
363
- const diff = prData.diff.length > maxDiffSize
364
- ? prData.diff.substring(0, maxDiffSize) + '\n\n... (diff truncated, ' + prData.diff.length + ' chars total)'
365
- : prData.diff;
452
+ const fileList = prData.changedFiles.map(f => `- ${f}`).join('\n');
366
453
  return `Review Pull Request #${prNumber}
367
454
 
368
455
  ## PR Info
@@ -370,10 +457,13 @@ function buildPRQuery(prNumber, _projectRoot) {
370
457
  ${prData.info}
371
458
  \`\`\`
372
459
 
373
- ## Diff
374
- \`\`\`diff
375
- ${diff}
376
- \`\`\`
460
+ ## Changed Files
461
+ ${fileList}
462
+
463
+ ## How to Review
464
+ **Read the changed files from disk** to review their current content. You have full filesystem access.
465
+ For each changed file listed above, read it and evaluate the code quality, correctness, and test coverage.
466
+ Use \`git diff HEAD~1 -- <file>\` or \`git log -p -- <file>\` if you need to see what specifically changed.
377
467
 
378
468
  ## Comments
379
469
  ${prData.comments}
@@ -431,26 +521,23 @@ KEY_ISSUES: [List of critical issues if any, or "None"]`;
431
521
  return query;
432
522
  }
433
523
  /**
434
- * Build query for implementation review
524
+ * Build query for implementation review.
525
+ * Provides diff stat + file list and instructs reviewers to read files from disk.
435
526
  */
436
527
  function buildImplQuery(projectNumber, projectRoot, planPhase) {
437
528
  const specPath = findSpec(projectRoot, projectNumber);
438
529
  const planPath = findPlan(projectRoot, projectNumber);
439
- // Compute diff against base branch for focused review
440
- let diff = '';
530
+ // Get compact diff summary against base branch
531
+ let diffStat = '';
532
+ let changedFiles = [];
441
533
  try {
442
- // Find merge base with main to get only this branch's changes
443
534
  const mergeBase = execSync('git merge-base HEAD main', { cwd: projectRoot, encoding: 'utf-8' }).trim();
444
- diff = execSync(`git diff ${mergeBase}..HEAD`, { cwd: projectRoot, encoding: 'utf-8', maxBuffer: 5 * 1024 * 1024 });
445
- // Truncate large diffs
446
- const maxDiffSize = 80000;
447
- if (diff.length > maxDiffSize) {
448
- diff = diff.substring(0, maxDiffSize) + `\n\n... (diff truncated, ${diff.length} chars total)`;
449
- }
535
+ const result = getDiffStat(projectRoot, `${mergeBase}..HEAD`);
536
+ diffStat = result.stat;
537
+ changedFiles = result.files;
450
538
  }
451
539
  catch {
452
- // If git diff fails, fall back to filesystem exploration
453
- diff = '';
540
+ // If git diff fails, reviewer will explore filesystem
454
541
  }
455
542
  let query = `Review Implementation for Project ${projectNumber}`;
456
543
  if (planPhase) {
@@ -471,11 +558,18 @@ function buildImplQuery(projectNumber, projectRoot, planPhase) {
471
558
  query += `**DO NOT** flag missing functionality that is scheduled for a later phase.\n`;
472
559
  query += `**DO** verify that this phase's deliverables are complete and correct.\n`;
473
560
  }
474
- if (diff) {
475
- query += `\n## Diff (branch changes vs main)\n\nReview the following diff. This is the ONLY code that changed — focus your review on these changes. You may read the spec and plan files for context, but do NOT explore the broader codebase.\n\n\`\`\`diff\n${diff}\n\`\`\`\n`;
561
+ if (changedFiles.length > 0) {
562
+ query += `\n## Changed Files (${changedFiles.length} files)\n`;
563
+ query += `\`\`\`\n${diffStat}\`\`\`\n`;
564
+ query += `\n### File List\n`;
565
+ query += changedFiles.map(f => `- ${f}`).join('\n');
566
+ query += `\n\n## How to Review\n`;
567
+ query += `**Read the changed files from disk** to review their actual content. You have full filesystem access.\n`;
568
+ query += `For each file listed above, read it and evaluate the implementation against the spec/plan.\n`;
569
+ query += `Use \`git diff main -- <file>\` if you need to see what specifically changed in a file.\n`;
476
570
  }
477
571
  else {
478
- query += `\n## Instructions\n\nRead the spec and plan files above, then review the implementation changes.\n`;
572
+ query += `\n## Instructions\n\nRead the spec and plan files above, then explore the filesystem to find and review the implementation changes.\n`;
479
573
  }
480
574
  query += `
481
575
  Please review:
@@ -536,8 +630,8 @@ export async function consult(options) {
536
630
  // Resolve model alias
537
631
  const model = MODEL_ALIASES[modelInput.toLowerCase()] || modelInput.toLowerCase();
538
632
  // Validate model
539
- if (!MODEL_CONFIGS[model]) {
540
- const validModels = [...Object.keys(MODEL_CONFIGS), ...Object.keys(MODEL_ALIASES)];
633
+ if (!MODEL_CONFIGS[model] && !SDK_MODELS.includes(model)) {
634
+ const validModels = [...Object.keys(MODEL_CONFIGS), ...SDK_MODELS, ...Object.keys(MODEL_ALIASES)];
541
635
  throw new Error(`Unknown model: ${modelInput}\nValid models: ${validModels.join(', ')}`);
542
636
  }
543
637
  // Validate review type if provided
@@ -646,4 +740,6 @@ export async function consult(options) {
646
740
  console.error('');
647
741
  await runConsultation(model, query, projectRoot, dryRun, reviewType, customRole, outputPath);
648
742
  }
743
+ // Exported for testing
744
+ export { getDiffStat as _getDiffStat };
649
745
  //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4cH;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CA6I9C"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+eH;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CA2J9C"}
@@ -8,6 +8,7 @@ import { existsSync, readFileSync } from 'node:fs';
8
8
  import { dirname, resolve } from 'node:path';
9
9
  import { fileURLToPath } from 'node:url';
10
10
  import chalk from 'chalk';
11
+ import { query as claudeQuery } from '@anthropic-ai/claude-agent-sdk';
11
12
  const __filename = fileURLToPath(import.meta.url);
12
13
  const __dirname = dirname(__filename);
13
14
  const isMacOS = process.platform === 'darwin';
@@ -139,18 +140,8 @@ const CORE_DEPENDENCIES = [
139
140
  },
140
141
  ];
141
142
  // AI CLI dependencies - at least one required
143
+ // Note: Claude is verified via Agent SDK (not CLI), handled separately below
142
144
  const AI_DEPENDENCIES = [
143
- {
144
- name: 'Claude',
145
- command: 'claude',
146
- versionArg: '--version',
147
- versionExtract: () => 'working',
148
- required: false,
149
- installHint: {
150
- macos: 'npm i -g @anthropic-ai/claude-code',
151
- linux: 'npm i -g @anthropic-ai/claude-code',
152
- },
153
- },
154
145
  {
155
146
  name: 'Gemini',
156
147
  command: 'gemini',
@@ -237,16 +228,7 @@ const VERIFY_CONFIGS = {
237
228
  successCheck: (r) => r.status === 0,
238
229
  authHint: 'Run "codex login status" in this directory and confirm it works without codev first',
239
230
  },
240
- 'Claude': {
241
- // claude --version is a quick check that the CLI is functional
242
- // If API key is invalid, even --version will fail on some setups
243
- // We use a minimal --print query for a more reliable check
244
- command: 'claude',
245
- args: ['--print', '-p', 'Reply OK', '--max-turns', '1'],
246
- timeout: 30000,
247
- successCheck: (r) => r.status === 0,
248
- authHint: 'Run: claude /login or set ANTHROPIC_API_KEY',
249
- },
231
+ // Claude is verified via Agent SDK — see verifyClaudeViaSDK() below
250
232
  'Gemini': {
251
233
  // gemini --version verifies the CLI works, but not auth
252
234
  // A minimal query is needed to verify API connectivity
@@ -257,6 +239,56 @@ const VERIFY_CONFIGS = {
257
239
  authHint: 'Run: gemini (interactive) then /auth, or set GOOGLE_API_KEY',
258
240
  },
259
241
  };
242
+ /**
243
+ * Verify Claude is operational via Agent SDK.
244
+ * Sends a minimal query to verify auth and connectivity.
245
+ */
246
+ async function verifyClaudeViaSDK() {
247
+ // Temporarily remove CLAUDECODE nesting guard from process.env.
248
+ // The SDK spawns a subprocess that checks this directly.
249
+ const savedClaudeCode = process.env.CLAUDECODE;
250
+ delete process.env.CLAUDECODE;
251
+ try {
252
+ const env = {};
253
+ for (const [key, value] of Object.entries(process.env)) {
254
+ if (value !== undefined) {
255
+ env[key] = value;
256
+ }
257
+ }
258
+ const session = claudeQuery({
259
+ prompt: 'Reply OK',
260
+ options: {
261
+ allowedTools: [],
262
+ maxTurns: 1,
263
+ permissionMode: 'bypassPermissions',
264
+ allowDangerouslySkipPermissions: true,
265
+ env,
266
+ },
267
+ });
268
+ for await (const message of session) {
269
+ if (message.type === 'result') {
270
+ if (message.subtype === 'success') {
271
+ return { status: 'ok', version: 'operational (SDK)' };
272
+ }
273
+ return { status: 'fail', version: 'SDK error', note: 'Set ANTHROPIC_API_KEY or run: claude /login' };
274
+ }
275
+ }
276
+ return { status: 'ok', version: 'operational (SDK)' };
277
+ }
278
+ catch (err) {
279
+ const errMsg = err instanceof Error ? err.message : 'unknown error';
280
+ const combined = errMsg.toLowerCase();
281
+ if (combined.includes('api key') || combined.includes('unauthorized') || combined.includes('authentication')) {
282
+ return { status: 'fail', version: 'auth error', note: 'Set ANTHROPIC_API_KEY or run: claude /login' };
283
+ }
284
+ return { status: 'fail', version: 'error', note: `Set ANTHROPIC_API_KEY or run: claude /login (${errMsg.substring(0, 60)})` };
285
+ }
286
+ finally {
287
+ if (savedClaudeCode !== undefined) {
288
+ process.env.CLAUDECODE = savedClaudeCode;
289
+ }
290
+ }
291
+ }
260
292
  /**
261
293
  * Verify an AI model is operational using CLI-specific auth checks
262
294
  */
@@ -439,7 +471,10 @@ export async function doctor() {
439
471
  console.log('');
440
472
  let aiCliCount = 0;
441
473
  const installedAiClis = [];
442
- // First check if CLIs are installed
474
+ // Claude uses Agent SDK (always available as a dependency)
475
+ printStatus('Claude', { status: 'ok', version: 'Agent SDK' });
476
+ installedAiClis.push('Claude');
477
+ // Check CLI-based AI dependencies (Gemini, Codex)
443
478
  for (const dep of AI_DEPENDENCIES) {
444
479
  const result = checkDependency(dep);
445
480
  if (result.status === 'ok') {
@@ -447,40 +482,49 @@ export async function doctor() {
447
482
  }
448
483
  printStatus(dep.name, result);
449
484
  }
450
- if (installedAiClis.length === 0) {
451
- console.log('');
452
- console.log(chalk.red('') + ' No AI CLI installed! Install at least one to use Codev.');
453
- errors++;
485
+ // Verify installed CLIs are actually operational
486
+ console.log('');
487
+ console.log(chalk.bold('AI Model Verification') + ' (checking auth & connectivity)');
488
+ console.log('');
489
+ // Verify Claude via SDK
490
+ console.log(chalk.blue(` ⋯ ${'Claude'.padEnd(12)} verifying...`));
491
+ process.stdout.write('\x1b[1A\x1b[2K');
492
+ const claudeResult = await verifyClaudeViaSDK();
493
+ printStatus('Claude', claudeResult);
494
+ if (claudeResult.status === 'ok') {
495
+ aiCliCount++;
496
+ }
497
+ else if (claudeResult.status === 'fail') {
498
+ warnings++;
499
+ warningDetails.push({
500
+ name: 'Claude',
501
+ issue: claudeResult.version,
502
+ recommendation: claudeResult.note,
503
+ });
454
504
  }
455
- else {
456
- // Verify installed CLIs are actually operational
457
- console.log('');
458
- console.log(chalk.bold('AI Model Verification') + ' (checking auth & connectivity)');
459
- console.log('');
460
- for (const cliName of installedAiClis) {
461
- console.log(chalk.blue(` ⋯ ${cliName.padEnd(12)} verifying...`));
462
- // Move cursor up to overwrite the "verifying" line
463
- process.stdout.write('\x1b[1A\x1b[2K');
464
- const result = verifyAiModel(cliName);
465
- printStatus(cliName, result);
466
- if (result.status === 'ok') {
467
- aiCliCount++;
468
- }
469
- else if (result.status === 'fail') {
470
- warnings++;
471
- warningDetails.push({
472
- name: cliName,
473
- issue: result.version,
474
- recommendation: result.note,
475
- });
476
- }
505
+ // Verify CLI-based models
506
+ for (const cliName of installedAiClis.filter(n => n !== 'Claude')) {
507
+ console.log(chalk.blue(` ⋯ ${cliName.padEnd(12)} verifying...`));
508
+ process.stdout.write('\x1b[1A\x1b[2K');
509
+ const result = verifyAiModel(cliName);
510
+ printStatus(cliName, result);
511
+ if (result.status === 'ok') {
512
+ aiCliCount++;
477
513
  }
478
- if (aiCliCount === 0) {
479
- console.log('');
480
- console.log(chalk.red(' ✗') + ' No AI CLI operational! Check API keys and authentication.');
481
- errors++;
514
+ else if (result.status === 'fail') {
515
+ warnings++;
516
+ warningDetails.push({
517
+ name: cliName,
518
+ issue: result.version,
519
+ recommendation: result.note,
520
+ });
482
521
  }
483
522
  }
523
+ if (aiCliCount === 0) {
524
+ console.log('');
525
+ console.log(chalk.red(' ✗') + ' No AI model operational! Check API keys and authentication.');
526
+ errors++;
527
+ }
484
528
  console.log('');
485
529
  // Check codev directory structure (only if we're in a codev project)
486
530
  const projectRoot = findProjectRoot();