@astroanywhere/agent 0.1.30 → 0.1.32

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 (40) hide show
  1. package/dist/commands/start.d.ts.map +1 -1
  2. package/dist/commands/start.js +74 -26
  3. package/dist/commands/start.js.map +1 -1
  4. package/dist/lib/git-pr.d.ts +2 -0
  5. package/dist/lib/git-pr.d.ts.map +1 -1
  6. package/dist/lib/git-pr.js +2 -2
  7. package/dist/lib/git-pr.js.map +1 -1
  8. package/dist/lib/hpc-context.d.ts +4 -2
  9. package/dist/lib/hpc-context.d.ts.map +1 -1
  10. package/dist/lib/hpc-context.js +5 -3
  11. package/dist/lib/hpc-context.js.map +1 -1
  12. package/dist/lib/prompt-templates.d.ts.map +1 -1
  13. package/dist/lib/prompt-templates.js +1 -0
  14. package/dist/lib/prompt-templates.js.map +1 -1
  15. package/dist/lib/slurm-detect.d.ts.map +1 -1
  16. package/dist/lib/slurm-detect.js +23 -8
  17. package/dist/lib/slurm-detect.js.map +1 -1
  18. package/dist/lib/task-executor.d.ts +8 -1
  19. package/dist/lib/task-executor.d.ts.map +1 -1
  20. package/dist/lib/task-executor.js +156 -21
  21. package/dist/lib/task-executor.js.map +1 -1
  22. package/dist/lib/websocket-client.d.ts +11 -1
  23. package/dist/lib/websocket-client.d.ts.map +1 -1
  24. package/dist/lib/websocket-client.js +63 -1
  25. package/dist/lib/websocket-client.js.map +1 -1
  26. package/dist/lib/worktree.d.ts +4 -0
  27. package/dist/lib/worktree.d.ts.map +1 -1
  28. package/dist/lib/worktree.js +4 -3
  29. package/dist/lib/worktree.js.map +1 -1
  30. package/dist/providers/claude-sdk-adapter.d.ts +25 -1
  31. package/dist/providers/claude-sdk-adapter.d.ts.map +1 -1
  32. package/dist/providers/claude-sdk-adapter.js +293 -13
  33. package/dist/providers/claude-sdk-adapter.js.map +1 -1
  34. package/dist/providers/index.d.ts +5 -2
  35. package/dist/providers/index.d.ts.map +1 -1
  36. package/dist/providers/index.js +6 -3
  37. package/dist/providers/index.js.map +1 -1
  38. package/dist/types.d.ts +28 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/package.json +1 -1
@@ -51,8 +51,23 @@ export class ClaudeSdkAdapter {
51
51
  activeQueries = new Map();
52
52
  /** Lazily-initialized HPC context (undefined = not checked, null = not available) */
53
53
  hpcContext = undefined;
54
+ /** Pre-classified HPC capability from startup detection (avoids re-scanning) */
55
+ hpcCapability;
54
56
  /** Optional Slurm job monitor for tracking sbatch submissions */
55
57
  jobMonitor;
58
+ /**
59
+ * @param hpcCapability Pre-classified HPC info from provider detection at startup.
60
+ * null = machine is known to not have HPC. undefined = not provided (will auto-detect once).
61
+ */
62
+ constructor(hpcCapability) {
63
+ this.hpcCapability = hpcCapability ?? null;
64
+ // If we know at construction time there's no HPC, mark context as resolved
65
+ if (hpcCapability === null || hpcCapability === undefined) {
66
+ // No HPC capability declared — skip lazy detection entirely
67
+ this.hpcContext = null;
68
+ }
69
+ // else: hpcCapability is truthy → will build context lazily using pre-classified info
70
+ }
56
71
  /**
57
72
  * Set a SlurmJobMonitor for tracking batch job submissions.
58
73
  * Call this before executing tasks if HPC support is desired.
@@ -71,7 +86,7 @@ export class ClaudeSdkAdapter {
71
86
  maxTurns: 1,
72
87
  permissionMode: 'plan',
73
88
  tools: [],
74
- persistSession: false,
89
+ persistSession: true,
75
90
  },
76
91
  });
77
92
  for await (const msg of gen) {
@@ -104,6 +119,30 @@ export class ClaudeSdkAdapter {
104
119
  try {
105
120
  stream.status('running', 0, 'Starting Claude Agent SDK');
106
121
  const result = await this.runQuery(task, stream, abortController);
122
+ // Generate structured summary for execution tasks via a follow-up turn.
123
+ // This resumes the same session, so the agent has full context of what it just did.
124
+ // The summary uses structured output (json_schema) for guaranteed valid JSON.
125
+ let summary;
126
+ const isExecutionTask = !task.type || task.type === 'execution';
127
+ if (isExecutionTask && result.success) {
128
+ try {
129
+ stream.status('running', 80, 'Generating summary');
130
+ summary = await this.generateSummary(task.id, task.workingDirectory);
131
+ if (summary) {
132
+ console.log(`[claude-sdk] Task ${task.id}: summary generated — status=${summary.status}, executiveSummary=${summary.executiveSummary ? `${summary.executiveSummary.length} chars` : 'MISSING'}, keyFindings=${summary.keyFindings?.length ?? 0}`);
133
+ }
134
+ else {
135
+ console.warn(`[claude-sdk] Task ${task.id}: summary generation returned undefined`);
136
+ }
137
+ }
138
+ catch (summaryError) {
139
+ // Non-fatal — task result is still valid without summary
140
+ console.warn(`[claude-sdk] Task ${task.id}: summary generation failed:`, summaryError);
141
+ }
142
+ }
143
+ else {
144
+ console.log(`[claude-sdk] Task ${task.id}: skipping summary — isExecutionTask=${isExecutionTask}, success=${result.success}, type=${task.type ?? 'undefined'}`);
145
+ }
107
146
  return {
108
147
  taskId: task.id,
109
148
  status: result.success ? 'completed' : 'failed',
@@ -114,6 +153,7 @@ export class ClaudeSdkAdapter {
114
153
  completedAt: new Date().toISOString(),
115
154
  artifacts: result.artifacts,
116
155
  metrics: result.metrics,
156
+ summary,
117
157
  };
118
158
  }
119
159
  catch (error) {
@@ -236,7 +276,7 @@ export class ClaudeSdkAdapter {
236
276
  // Enable sandbox for standard Claude models (skip for Bedrock/custom models which crash with sandbox option)
237
277
  ...getSandboxOption(undefined),
238
278
  settingSources: ['user', 'project', 'local'],
239
- persistSession: false,
279
+ persistSession: true,
240
280
  ...(hasWorkdir ? { cwd: workingDirectory, additionalDirectories: [workingDirectory] } : {}),
241
281
  env: {
242
282
  ...process.env,
@@ -276,7 +316,18 @@ export class ClaudeSdkAdapter {
276
316
  ...mcpAllowedTools,
277
317
  ];
278
318
  }
279
- const gen = query({ prompt: message, options });
319
+ // Wrap prompt in async iterable so isSingleUserTurn=false and stdin stays open for steering
320
+ const promptIterable = {
321
+ async *[Symbol.asyncIterator]() {
322
+ yield {
323
+ type: 'user',
324
+ message: { role: 'user', content: message },
325
+ parent_tool_use_id: null,
326
+ session_id: '',
327
+ };
328
+ },
329
+ };
330
+ const gen = query({ prompt: promptIterable, options });
280
331
  let output = '';
281
332
  let success = true;
282
333
  let errorMessage;
@@ -370,6 +421,200 @@ export class ClaudeSdkAdapter {
370
421
  lastError: this.lastError,
371
422
  };
372
423
  }
424
+ /**
425
+ * Generate a structured execution summary by resuming the task session.
426
+ * Resumes the session so the model has full context of what it did,
427
+ * then parses JSON from the text response.
428
+ *
429
+ * Note: We intentionally avoid using `outputFormat` (structured output) here
430
+ * because the `resume` + `outputFormat` combination is unreliable in the SDK —
431
+ * it returns errors with no structured_output. Instead, we embed the JSON format
432
+ * in the prompt and parse the text response.
433
+ */
434
+ async generateSummary(taskId, workingDirectory) {
435
+ const sessionContext = this.activeQueries.get(taskId);
436
+ if (!sessionContext?.sessionId) {
437
+ console.log(`[claude-sdk] No session to resume for summary (task ${taskId})`);
438
+ return undefined;
439
+ }
440
+ const summaryAbort = new AbortController();
441
+ const summaryTimeout = setTimeout(() => summaryAbort.abort(), 30_000);
442
+ try {
443
+ // Ensure CLAUDE_CONFIG_DIR is set
444
+ if (!process.env.CLAUDE_CONFIG_DIR) {
445
+ process.env.CLAUDE_CONFIG_DIR = join(homedir(), '.claude');
446
+ }
447
+ const options = {
448
+ abortController: summaryAbort,
449
+ maxTurns: 1,
450
+ permissionMode: 'plan',
451
+ persistSession: true,
452
+ ...(workingDirectory ? { cwd: workingDirectory } : {}),
453
+ };
454
+ // Resume the execution session so the model has full context
455
+ options.resume = sessionContext.sessionId;
456
+ const summaryPrompt = `Produce a structured JSON summary of the work you just completed. Respond with ONLY a JSON object (no markdown fences, no extra text) matching this exact schema:
457
+
458
+ {
459
+ "status": "success" | "partial" | "failure",
460
+ "workCompleted": "1-2 sentence summary of what was accomplished",
461
+ "executiveSummary": "1-2 paragraph executive summary for the PR description: what was done, the approach taken, key design decisions, and any trade-offs. Write in a professional tone suitable for code reviewers.",
462
+ "keyFindings": ["2-5 concise bullet points (under 100 chars each)"],
463
+ "filesChanged": ["list of file paths that were created, modified, or deleted"],
464
+ "followUps": ["suggested follow-up actions if any, or empty array"],
465
+ "prUrl": "full URL of the pull request if you created one, or null",
466
+ "prNumber": 123 or null,
467
+ "branchName": "git branch name you worked on, or null"
468
+ }`;
469
+ const gen = query({
470
+ prompt: summaryPrompt,
471
+ options,
472
+ });
473
+ let textOutput = '';
474
+ for await (const msg of gen) {
475
+ if (msg.type === 'result') {
476
+ const msgAny = msg;
477
+ console.log(`[claude-sdk] Task ${taskId}: summary result — subtype=${msg.subtype}, is_error=${msgAny.is_error}`);
478
+ if (msg.subtype !== 'success') {
479
+ console.warn(`[claude-sdk] Task ${taskId}: summary query failed with subtype=${msg.subtype}`);
480
+ if (msgAny.errors) {
481
+ console.error(`[claude-sdk] Task ${taskId}: summary errors: ${JSON.stringify(msgAny.errors)}`);
482
+ }
483
+ }
484
+ break;
485
+ }
486
+ else if (msg.type === 'assistant') {
487
+ for (const block of msg.message.content) {
488
+ if (typeof block !== 'string' && block.type === 'text') {
489
+ textOutput += block.text;
490
+ }
491
+ }
492
+ }
493
+ }
494
+ if (!textOutput) {
495
+ console.warn(`[claude-sdk] Task ${taskId}: no text output from summary generation`);
496
+ return undefined;
497
+ }
498
+ // Strip markdown code fences if present
499
+ let jsonText = textOutput.trim();
500
+ if (jsonText.startsWith('```')) {
501
+ jsonText = jsonText.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
502
+ }
503
+ try {
504
+ const parsed = JSON.parse(jsonText);
505
+ if (!parsed.executiveSummary) {
506
+ console.warn(`[claude-sdk] Task ${taskId}: summary generated but executiveSummary is missing. Keys: ${Object.keys(parsed).join(', ')}`);
507
+ }
508
+ return parsed;
509
+ }
510
+ catch {
511
+ console.warn(`[claude-sdk] Task ${taskId}: summary text was not valid JSON. Text: ${jsonText.slice(0, 300)}`);
512
+ return undefined;
513
+ }
514
+ }
515
+ finally {
516
+ clearTimeout(summaryTimeout);
517
+ }
518
+ }
519
+ /**
520
+ * Fast path for text-only tasks (chat, summarize).
521
+ * Skips HPC context, MCP servers, tool infrastructure, canUseTool handler,
522
+ * sandbox, settingSources, and image handling to minimize time-to-first-token.
523
+ */
524
+ async runTextOnlyQuery(task, stream, abortController, hasWorkdir) {
525
+ // Chat tasks get read-only tools; summarize tasks stay text-only
526
+ const isChatTask = task.type === 'chat';
527
+ const chatAllowedTools = hasWorkdir
528
+ ? ['Read', 'Grep', 'Glob', 'WebSearch', 'WebFetch']
529
+ : ['WebSearch', 'WebFetch'];
530
+ const options = {
531
+ abortController,
532
+ maxTurns: task.maxTurns ?? 10,
533
+ permissionMode: isChatTask ? 'bypassPermissions' : 'plan',
534
+ ...(isChatTask ? {} : { tools: [] }),
535
+ persistSession: true,
536
+ ...(hasWorkdir ? { cwd: task.workingDirectory } : {}),
537
+ env: { ...process.env, ...task.environment },
538
+ };
539
+ if (isChatTask) {
540
+ options.allowedTools = chatAllowedTools;
541
+ }
542
+ if (task.systemPrompt) {
543
+ options.systemPrompt = task.systemPrompt;
544
+ }
545
+ if (task.model) {
546
+ options.model = task.model;
547
+ }
548
+ // Build prompt with conversation history
549
+ let effectivePrompt = task.prompt;
550
+ if (task.messages && task.messages.length > 0) {
551
+ const conversationContext = task.messages
552
+ .map(m => `${m.role === 'user' ? 'Human' : 'Assistant'}: ${m.content}`)
553
+ .join('\n\n');
554
+ effectivePrompt = effectivePrompt
555
+ ? `${effectivePrompt}\n\n---\n\nConversation history:\n${conversationContext}`
556
+ : conversationContext;
557
+ }
558
+ console.log(`[claude-sdk] Fast path: text-only task (type=${task.type}, model=${task.model ?? 'default'})`);
559
+ // Wrap prompt in async iterable so isSingleUserTurn=false and stdin stays open for steering
560
+ const promptIterable = {
561
+ async *[Symbol.asyncIterator]() {
562
+ yield {
563
+ type: 'user',
564
+ message: { role: 'user', content: effectivePrompt },
565
+ parent_tool_use_id: null,
566
+ session_id: '',
567
+ };
568
+ },
569
+ };
570
+ const gen = query({ prompt: promptIterable, options });
571
+ let output = '';
572
+ let success = true;
573
+ let errorMessage;
574
+ let resultMetrics;
575
+ for await (const msg of gen) {
576
+ if (msg.type === 'system' && msg.subtype === 'init') {
577
+ this.model = msg.model;
578
+ const sessionId = msg.session_id ?? '';
579
+ stream.status('running', 5, `Model: ${msg.model}`);
580
+ stream.sessionInit(sessionId, msg.model);
581
+ this.activeQueries.set(task.id, { query: gen, sessionId });
582
+ }
583
+ else if (msg.type === 'assistant') {
584
+ for (const block of msg.message.content) {
585
+ if (typeof block === 'string')
586
+ continue;
587
+ if (block.type === 'text') {
588
+ output += block.text;
589
+ stream.text(block.text);
590
+ }
591
+ }
592
+ }
593
+ else if (msg.type === 'result') {
594
+ const msgAny = msg;
595
+ const usage = msgAny.usage;
596
+ resultMetrics = {
597
+ inputTokens: usage?.input_tokens,
598
+ outputTokens: usage?.output_tokens,
599
+ totalCost: (msgAny.total_cost_usd ?? msgAny.cost_usd),
600
+ numTurns: msgAny.num_turns,
601
+ durationMs: (msgAny.duration_ms ?? msgAny.duration_api_ms),
602
+ model: this.model,
603
+ };
604
+ if (msg.subtype === 'success') {
605
+ success = true;
606
+ stream.status('completed', 100, 'Task completed successfully');
607
+ }
608
+ else {
609
+ success = false;
610
+ errorMessage = `Task failed: ${msg.subtype}`;
611
+ stream.status('failed', 0, errorMessage);
612
+ }
613
+ break;
614
+ }
615
+ }
616
+ return { success, output, error: errorMessage, metrics: resultMetrics };
617
+ }
373
618
  async runQuery(task, stream, abortController) {
374
619
  // Ensure CLAUDE_CONFIG_DIR points to a user-writable location.
375
620
  // The SDK derives internal storage paths from cwd, and /tmp/claude/ may be
@@ -393,9 +638,18 @@ export class ClaudeSdkAdapter {
393
638
  // starting a new session.
394
639
  delete process.env.CLAUDECODE;
395
640
  // Determine appropriate maxTurns based on task type
396
- const defaultMaxTurns = (task.type === 'chat' || task.type === 'summarize') ? 10 : 150;
641
+ const isTextOnlyTask = task.type === 'chat' || task.type === 'summarize';
642
+ const defaultMaxTurns = isTextOnlyTask ? 10 : 150;
397
643
  // Plan/chat/summarize tasks without a working directory run without cwd context
398
644
  const hasWorkdir = !!task.workingDirectory;
645
+ // ── Fast path for text-only tasks (chat, summarize) ──
646
+ // These tasks use structured text blocks (not tools/MCP) for plan mutations.
647
+ // Skip HPC context, MCP servers, tool infrastructure, and CLAUDE.md loading
648
+ // to minimize time-to-first-token.
649
+ if (isTextOnlyTask) {
650
+ return this.runTextOnlyQuery(task, stream, abortController, hasWorkdir);
651
+ }
652
+ // ── Standard path for execution tasks ──
399
653
  // Build options for the query
400
654
  const options = {
401
655
  abortController,
@@ -404,7 +658,7 @@ export class ClaudeSdkAdapter {
404
658
  // Enable sandbox for standard Claude models (skip for Bedrock/custom models which crash with sandbox option)
405
659
  ...getSandboxOption(task.model),
406
660
  settingSources: ['user', 'project', 'local'], // Load CLAUDE.md from user home, project dir, and cwd
407
- persistSession: false,
661
+ persistSession: true, // Keep session on disk so generateSummary() can resume it
408
662
  ...(hasWorkdir ? { cwd: task.workingDirectory, additionalDirectories: [task.workingDirectory] } : {}),
409
663
  env: {
410
664
  ...process.env,
@@ -470,10 +724,21 @@ export class ClaudeSdkAdapter {
470
724
  return { behavior: 'allow', updatedInput: input };
471
725
  },
472
726
  };
473
- // Lazily initialize HPC context on first query
474
- if (this.hpcContext === undefined) {
727
+ // Lazily initialize HPC context on first query.
728
+ // Uses pre-classified HpcCapability from startup detection to avoid
729
+ // re-running SLURM detection commands on every first task.
730
+ if (this.hpcContext === undefined && this.hpcCapability) {
475
731
  try {
476
- this.hpcContext = await buildHpcContext();
732
+ const cap = this.hpcCapability;
733
+ const preclassifiedSlurm = {
734
+ available: true,
735
+ clusterName: cap.clusterName,
736
+ partitions: cap.partitions,
737
+ defaultPartition: cap.defaultPartition,
738
+ accounts: cap.accounts,
739
+ qosLevels: [],
740
+ };
741
+ this.hpcContext = await buildHpcContext(preclassifiedSlurm);
477
742
  if (this.hpcContext.available) {
478
743
  console.log(`[claude-sdk] HPC context loaded (cluster: ${this.hpcContext.slurmInfo?.clusterName ?? 'unknown'})`);
479
744
  }
@@ -523,10 +788,10 @@ export class ClaudeSdkAdapter {
523
788
  // Load MCP servers from config if available
524
789
  const agentConfig = config.getConfig();
525
790
  const mcpAllowedTools = [];
791
+ const mcpServers = {};
526
792
  if (agentConfig.mcpServers && Object.keys(agentConfig.mcpServers).length > 0) {
527
793
  console.log(`[claude-sdk] Loading ${Object.keys(agentConfig.mcpServers).length} MCP server(s): ${Object.keys(agentConfig.mcpServers).join(', ')}`);
528
794
  // Inject execution ID into MCP server environment variables
529
- const mcpServers = {};
530
795
  for (const [name, serverConfig] of Object.entries(agentConfig.mcpServers)) {
531
796
  const server = serverConfig;
532
797
  mcpServers[name] = {
@@ -537,6 +802,8 @@ export class ClaudeSdkAdapter {
537
802
  },
538
803
  };
539
804
  }
805
+ }
806
+ if (Object.keys(mcpServers).length > 0) {
540
807
  options.mcpServers = mcpServers;
541
808
  // Collect MCP tool patterns
542
809
  for (const name of Object.keys(mcpServers)) {
@@ -576,8 +843,19 @@ export class ClaudeSdkAdapter {
576
843
  else {
577
844
  queryPrompt = effectivePrompt;
578
845
  }
846
+ // Wrap prompt in async iterable so isSingleUserTurn=false and stdin stays open for steering
847
+ const promptIterable = {
848
+ async *[Symbol.asyncIterator]() {
849
+ yield {
850
+ type: 'user',
851
+ message: { role: 'user', content: queryPrompt },
852
+ parent_tool_use_id: null,
853
+ session_id: '',
854
+ };
855
+ },
856
+ };
579
857
  const gen = query({
580
- prompt: queryPrompt,
858
+ prompt: promptIterable,
581
859
  options,
582
860
  });
583
861
  let output = '';
@@ -585,6 +863,7 @@ export class ClaudeSdkAdapter {
585
863
  let errorMessage;
586
864
  const artifacts = [];
587
865
  let progress = 0;
866
+ let toolUseCount = 0;
588
867
  let resultMetrics;
589
868
  for await (const msg of gen) {
590
869
  if (msg.type === 'system' && msg.subtype === 'init') {
@@ -605,8 +884,9 @@ export class ClaudeSdkAdapter {
605
884
  stream.text(block.text);
606
885
  }
607
886
  else if (block.type === 'tool_use') {
608
- // Emit structured tool use
609
- progress = Math.min(progress + 10, 90);
887
+ // Emit structured tool use — logarithmic curve caps at 75% to reserve space for delivery phases
888
+ toolUseCount++;
889
+ progress = Math.min(Math.round(75 * Math.log10(toolUseCount + 1) / Math.log10(150)), 75);
610
890
  stream.status('running', progress, `Using tool: ${block.name}`);
611
891
  stream.toolUse(block.name, block.input);
612
892
  // Record file operations as artifacts
@@ -679,7 +959,7 @@ export class ClaudeSdkAdapter {
679
959
  };
680
960
  if (msg.subtype === 'success') {
681
961
  success = true;
682
- stream.status('completed', 100, 'Task completed successfully');
962
+ stream.status('running', 85, 'Agent work complete');
683
963
  // Capture structured output (produced when outputFormat is set)
684
964
  if (msgAny.structured_output) {
685
965
  const jsonStr = JSON.stringify(msgAny.structured_output);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-sdk-adapter.js","sourceRoot":"","sources":["../../src/providers/claude-sdk-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-sdk-adapter.js","sourceRoot":"","sources":["../../src/providers/claude-sdk-adapter.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export { ClaudeSdkAdapter } from './claude-sdk-adapter.js';
7
7
  export { CodexAdapter } from './codex-adapter.js';
8
8
  export { OpenClawAdapter } from './openclaw-adapter.js';
9
9
  export { OpenCodeAdapter } from './opencode-adapter.js';
10
- import type { ProviderType } from '../types.js';
10
+ import type { ProviderType, HpcCapability } from '../types.js';
11
11
  import type { ProviderAdapter } from './base-adapter.js';
12
12
  /** Extended provider types including SDK variant */
13
13
  export type ExtendedProviderType = ProviderType | 'claude-sdk';
@@ -15,8 +15,11 @@ export type ExtendedProviderType = ProviderType | 'claude-sdk';
15
15
  * Create a provider adapter by type.
16
16
  * For 'claude-code', prefers the SDK adapter (in-process, supports steering)
17
17
  * and falls back to the CLI adapter.
18
+ *
19
+ * @param hpcCapability Pre-classified HPC info from startup detection.
20
+ * Passed to ClaudeSdkAdapter to avoid re-running SLURM detection at query time.
18
21
  */
19
- export declare function createProviderAdapter(type: ProviderType | ExtendedProviderType): ProviderAdapter | null;
22
+ export declare function createProviderAdapter(type: ProviderType | ExtendedProviderType, hpcCapability?: HpcCapability | null): ProviderAdapter | null;
20
23
  /**
21
24
  * Create a CLI-only provider adapter (for fallback when SDK is unavailable)
22
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,YAAY,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,GAAG,eAAe,GAAG,IAAI,CAuBvG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAkBvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,YAAY,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAuB7I;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAkBvE"}
@@ -15,14 +15,17 @@ import { OpenCodeAdapter } from './opencode-adapter.js';
15
15
  * Create a provider adapter by type.
16
16
  * For 'claude-code', prefers the SDK adapter (in-process, supports steering)
17
17
  * and falls back to the CLI adapter.
18
+ *
19
+ * @param hpcCapability Pre-classified HPC info from startup detection.
20
+ * Passed to ClaudeSdkAdapter to avoid re-running SLURM detection at query time.
18
21
  */
19
- export function createProviderAdapter(type) {
22
+ export function createProviderAdapter(type, hpcCapability) {
20
23
  switch (type) {
21
24
  case 'claude-code':
22
25
  // Prefer SDK adapter over CLI adapter for claude-code type
23
- return new ClaudeSdkAdapter();
26
+ return new ClaudeSdkAdapter(hpcCapability);
24
27
  case 'claude-sdk':
25
- return new ClaudeSdkAdapter();
28
+ return new ClaudeSdkAdapter(hpcCapability);
26
29
  case 'codex':
27
30
  return new CodexAdapter();
28
31
  case 'openclaw':
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAyC;IAC7E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,2DAA2D;YAC3D,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,KAAK,OAAO;YACV,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,OAAO;YACV,gEAAgE;YAChE,yEAAyE;YACzE,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAsB;QAClC,IAAI,gBAAgB,EAAE,EAAE,sBAAsB;QAC9C,IAAI,iBAAiB,EAAE;QACvB,IAAI,YAAY,EAAE;QAClB,IAAI,eAAe,EAAE;QACrB,IAAI,eAAe,EAAE;KACtB,CAAC;IAEF,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAyC,EAAE,aAAoC;IACnH,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,2DAA2D;YAC3D,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7C,KAAK,YAAY;YACf,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,OAAO;YACV,gEAAgE;YAChE,yEAAyE;YACzE,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAsB;QAClC,IAAI,gBAAgB,EAAE,EAAE,sBAAsB;QAC9C,IAAI,iBAAiB,EAAE;QACvB,IAAI,YAAY,EAAE;QAClB,IAAI,eAAe,EAAE;QACrB,IAAI,eAAe,EAAE;KACtB,CAAC;IAEF,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}