@astroanywhere/agent 0.1.32 → 0.1.34

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 (38) hide show
  1. package/dist/lib/branch-lock.d.ts +46 -0
  2. package/dist/lib/branch-lock.d.ts.map +1 -0
  3. package/dist/lib/branch-lock.js +111 -0
  4. package/dist/lib/branch-lock.js.map +1 -0
  5. package/dist/lib/git-pr.d.ts +28 -0
  6. package/dist/lib/git-pr.d.ts.map +1 -1
  7. package/dist/lib/git-pr.js +62 -0
  8. package/dist/lib/git-pr.js.map +1 -1
  9. package/dist/lib/prompt-templates.js +4 -4
  10. package/dist/lib/prompt-templates.js.map +1 -1
  11. package/dist/lib/repo-context.d.ts.map +1 -1
  12. package/dist/lib/repo-context.js +70 -3
  13. package/dist/lib/repo-context.js.map +1 -1
  14. package/dist/lib/ssh-installer.d.ts.map +1 -1
  15. package/dist/lib/ssh-installer.js +14 -8
  16. package/dist/lib/ssh-installer.js.map +1 -1
  17. package/dist/lib/task-executor.d.ts +13 -1
  18. package/dist/lib/task-executor.d.ts.map +1 -1
  19. package/dist/lib/task-executor.js +177 -22
  20. package/dist/lib/task-executor.js.map +1 -1
  21. package/dist/lib/websocket-client.d.ts +3 -0
  22. package/dist/lib/websocket-client.d.ts.map +1 -1
  23. package/dist/lib/websocket-client.js +22 -0
  24. package/dist/lib/websocket-client.js.map +1 -1
  25. package/dist/lib/worktree.d.ts +5 -1
  26. package/dist/lib/worktree.d.ts.map +1 -1
  27. package/dist/lib/worktree.js +83 -26
  28. package/dist/lib/worktree.js.map +1 -1
  29. package/dist/providers/claude-sdk-adapter.d.ts.map +1 -1
  30. package/dist/providers/claude-sdk-adapter.js +198 -113
  31. package/dist/providers/claude-sdk-adapter.js.map +1 -1
  32. package/dist/providers/codex-adapter.d.ts +27 -7
  33. package/dist/providers/codex-adapter.d.ts.map +1 -1
  34. package/dist/providers/codex-adapter.js +206 -37
  35. package/dist/providers/codex-adapter.js.map +1 -1
  36. package/dist/types.d.ts +6 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +2 -2
@@ -8,6 +8,34 @@
8
8
  import { query } from '@anthropic-ai/claude-agent-sdk';
9
9
  import { homedir } from 'node:os';
10
10
  import { join } from 'node:path';
11
+ import { execSync } from 'node:child_process';
12
+ /**
13
+ * Resolve the path to the Claude Code executable.
14
+ *
15
+ * Prefers the globally installed `claude` binary (via `which claude`) over the
16
+ * SDK-bundled `cli.js`. This is more robust on remote machines where the SDK's
17
+ * `cli.js` may be missing from `node_modules`, and it ensures we always use the
18
+ * same Claude Code version the operator installed.
19
+ *
20
+ * Returns `undefined` to let the SDK fall back to its built-in resolution if
21
+ * the global binary cannot be located.
22
+ */
23
+ function resolveClaudeExecutable() {
24
+ try {
25
+ const which = execSync('which claude', { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] }).trim();
26
+ if (which) {
27
+ console.log(`[claude-sdk] Using global Claude Code binary: ${which}`);
28
+ return which;
29
+ }
30
+ }
31
+ catch {
32
+ // `which` failed — claude not on PATH
33
+ }
34
+ console.log('[claude-sdk] Global claude binary not found, falling back to SDK bundled cli.js');
35
+ return undefined;
36
+ }
37
+ /** Cached result of resolveClaudeExecutable() — computed once at module load. */
38
+ const claudeExecutablePath = resolveClaudeExecutable();
11
39
  import { writeImagesToDir, cleanupImages } from '../lib/image-utils.js';
12
40
  import { buildHpcContext } from '../lib/hpc-context.js';
13
41
  import { config } from '../lib/config.js';
@@ -271,7 +299,6 @@ export class ClaudeSdkAdapter {
271
299
  const hasWorkdir = !!workingDirectory;
272
300
  const options = {
273
301
  abortController,
274
- maxTurns: 100,
275
302
  permissionMode: 'bypassPermissions',
276
303
  // Enable sandbox for standard Claude models (skip for Bedrock/custom models which crash with sandbox option)
277
304
  ...getSandboxOption(undefined),
@@ -534,6 +561,13 @@ export class ClaudeSdkAdapter {
534
561
  ...(isChatTask ? {} : { tools: [] }),
535
562
  persistSession: true,
536
563
  ...(hasWorkdir ? { cwd: task.workingDirectory } : {}),
564
+ ...(claudeExecutablePath ? { pathToClaudeCodeExecutable: claudeExecutablePath } : {}),
565
+ stderr: (data) => {
566
+ const trimmed = data.trim();
567
+ if (trimmed) {
568
+ console.error(`[claude-sdk][stderr][${task.id.slice(0, 8)}] ${trimmed}`);
569
+ }
570
+ },
537
571
  env: { ...process.env, ...task.environment },
538
572
  };
539
573
  if (isChatTask) {
@@ -639,7 +673,7 @@ export class ClaudeSdkAdapter {
639
673
  delete process.env.CLAUDECODE;
640
674
  // Determine appropriate maxTurns based on task type
641
675
  const isTextOnlyTask = task.type === 'chat' || task.type === 'summarize';
642
- const defaultMaxTurns = isTextOnlyTask ? 10 : 150;
676
+ const defaultMaxTurns = isTextOnlyTask ? 10 : undefined;
643
677
  // Plan/chat/summarize tasks without a working directory run without cwd context
644
678
  const hasWorkdir = !!task.workingDirectory;
645
679
  // ── Fast path for text-only tasks (chat, summarize) ──
@@ -653,13 +687,22 @@ export class ClaudeSdkAdapter {
653
687
  // Build options for the query
654
688
  const options = {
655
689
  abortController,
656
- maxTurns: task.maxTurns ?? defaultMaxTurns,
690
+ ...(task.maxTurns != null || defaultMaxTurns != null ? { maxTurns: task.maxTurns ?? defaultMaxTurns } : {}),
657
691
  permissionMode: 'bypassPermissions', // Auto-accept all tool calls
658
692
  // Enable sandbox for standard Claude models (skip for Bedrock/custom models which crash with sandbox option)
659
693
  ...getSandboxOption(task.model),
660
694
  settingSources: ['user', 'project', 'local'], // Load CLAUDE.md from user home, project dir, and cwd
661
695
  persistSession: true, // Keep session on disk so generateSummary() can resume it
662
696
  ...(hasWorkdir ? { cwd: task.workingDirectory, additionalDirectories: [task.workingDirectory] } : {}),
697
+ // Use globally installed claude binary if available (avoids missing cli.js on remote machines)
698
+ ...(claudeExecutablePath ? { pathToClaudeCodeExecutable: claudeExecutablePath } : {}),
699
+ // Capture subprocess stderr for debugging exit code 1 crashes
700
+ stderr: (data) => {
701
+ const trimmed = data.trim();
702
+ if (trimmed) {
703
+ console.error(`[claude-sdk][stderr][${task.id.slice(0, 8)}] ${trimmed}`);
704
+ }
705
+ },
663
706
  env: {
664
707
  ...process.env,
665
708
  ...task.environment,
@@ -810,9 +853,20 @@ export class ClaudeSdkAdapter {
810
853
  mcpAllowedTools.push(`mcp__${name}__*`);
811
854
  }
812
855
  }
813
- // For tasks without a working directory, disable file system and shell tools
814
- // but keep web search so the agent can research. MCP tools are also allowed.
815
- if (!hasWorkdir) {
856
+ // Plan tasks are read-only: no file writes, edits, or shell access regardless
857
+ // of workdir/MCP configuration. Only allow codebase exploration + web search.
858
+ if (task.type === 'plan') {
859
+ const planTools = [
860
+ ...(hasWorkdir ? ['Read', 'Glob', 'Grep'] : []),
861
+ 'WebSearch', 'WebFetch',
862
+ ...mcpAllowedTools,
863
+ ];
864
+ options.allowedTools = planTools;
865
+ console.log(`[claude-sdk] Plan task — read-only tools: [${planTools.join(', ')}]`);
866
+ }
867
+ else if (!hasWorkdir) {
868
+ // For tasks without a working directory, disable file system and shell tools
869
+ // but keep web search so the agent can research. MCP tools are also allowed.
816
870
  const noWorkdirTools = ['WebSearch', 'WebFetch', ...mcpAllowedTools];
817
871
  options.allowedTools = noWorkdirTools;
818
872
  console.log(`[claude-sdk] No workdir — allowed tools: [${noWorkdirTools.join(', ')}]`);
@@ -865,125 +919,156 @@ export class ClaudeSdkAdapter {
865
919
  let progress = 0;
866
920
  let toolUseCount = 0;
867
921
  let resultMetrics;
922
+ let turnIndex = 0;
868
923
  for await (const msg of gen) {
869
- if (msg.type === 'system' && msg.subtype === 'init') {
870
- this.model = msg.model;
871
- const sessionId = msg.session_id ?? '';
872
- stream.status('running', 5, `Model: ${msg.model}`);
873
- stream.sessionInit(sessionId, msg.model);
874
- // Store the query instance for steering
875
- this.activeQueries.set(task.id, { query: gen, sessionId });
876
- }
877
- else if (msg.type === 'assistant') {
878
- // Stream assistant content blocks
879
- for (const block of msg.message.content) {
880
- if (typeof block === 'string')
881
- continue;
882
- if (block.type === 'text') {
883
- output += block.text;
884
- stream.text(block.text);
885
- }
886
- else if (block.type === 'tool_use') {
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);
890
- stream.status('running', progress, `Using tool: ${block.name}`);
891
- stream.toolUse(block.name, block.input);
892
- // Record file operations as artifacts
893
- if (block.name === 'Write' || block.name === 'Edit') {
894
- const input = block.input;
895
- if (input.file_path) {
896
- artifacts.push({
897
- type: 'file',
898
- name: String(input.file_path),
899
- path: String(input.file_path),
900
- metadata: { tool: block.name },
901
- });
902
- // Emit file change event
903
- const action = block.name === 'Write' ? 'created' : 'modified';
904
- stream.fileChange(String(input.file_path), action);
924
+ try {
925
+ if (msg.type === 'system' && msg.subtype === 'init') {
926
+ this.model = msg.model;
927
+ const sessionId = msg.session_id ?? '';
928
+ stream.status('running', 5, `Model: ${msg.model}`);
929
+ stream.sessionInit(sessionId, msg.model);
930
+ // Store the query instance for steering
931
+ this.activeQueries.set(task.id, { query: gen, sessionId });
932
+ }
933
+ else if (msg.type === 'assistant') {
934
+ turnIndex++;
935
+ let textLength = 0;
936
+ let turnToolCount = 0;
937
+ const turnToolNames = [];
938
+ // Stream assistant content blocks
939
+ for (const block of msg.message.content) {
940
+ try {
941
+ if (typeof block === 'string')
942
+ continue;
943
+ if (block.type === 'text') {
944
+ output += block.text;
945
+ textLength += block.text.length;
946
+ stream.text(block.text);
947
+ }
948
+ else if (block.type === 'tool_use') {
949
+ // Emit structured tool use — logarithmic curve caps at 75% to reserve space for delivery phases
950
+ toolUseCount++;
951
+ turnToolCount++;
952
+ turnToolNames.push(block.name);
953
+ progress = Math.min(Math.round(75 * Math.log10(toolUseCount + 1) / Math.log10(150)), 75);
954
+ stream.status('running', progress, `Using tool: ${block.name}`);
955
+ stream.toolUse(block.name, block.input);
956
+ const inputSummary = JSON.stringify(block.input).slice(0, 200);
957
+ console.log(`[claude-sdk] Task ${task.id} tool: ${block.name} (input: ${inputSummary})`);
958
+ // Record file operations as artifacts
959
+ if (block.name === 'Write' || block.name === 'Edit') {
960
+ const input = block.input;
961
+ if (input.file_path) {
962
+ artifacts.push({
963
+ type: 'file',
964
+ name: String(input.file_path),
965
+ path: String(input.file_path),
966
+ metadata: { tool: block.name },
967
+ });
968
+ // Emit file change event
969
+ const action = block.name === 'Write' ? 'created' : 'modified';
970
+ stream.fileChange(String(input.file_path), action);
971
+ }
972
+ }
905
973
  }
906
974
  }
975
+ catch (blockErr) {
976
+ console.error(`[claude-sdk] Task ${task.id} event processing error (continuing):`, blockErr);
977
+ }
907
978
  }
979
+ console.log(`[claude-sdk] Task ${task.id} turn ${turnIndex}: ${textLength} chars text, ${turnToolCount} tool calls [${turnToolNames.join(', ')}]`);
908
980
  }
909
- }
910
- else if (msg.type === 'user') {
911
- // Tool results from the SDK
912
- for (const block of msg.message.content) {
913
- if (typeof block === 'string')
914
- continue;
915
- if (block.type === 'tool_result') {
916
- const resultContent = typeof block.content === 'string'
917
- ? block.content
918
- : JSON.stringify(block.content);
919
- const isError = block.is_error ?? false;
920
- stream.toolResult(block.tool_use_id ?? 'unknown', resultContent, !isError);
921
- // Detect sbatch submissions for job tracking
922
- if (this.jobMonitor && typeof resultContent === 'string') {
923
- const sbatchMatch = resultContent.match(/Submitted batch job (\d+)/);
924
- if (sbatchMatch) {
925
- const jobId = sbatchMatch[1];
926
- // Try to extract output path from sbatch script (common pattern: --output=...)
927
- const outputMatch = resultContent.match(/--output[= ](\S+)/);
928
- const outputPath = outputMatch?.[1]?.replace('%j', jobId);
929
- this.jobMonitor.trackJob(jobId, task.id, task.planNodeId, outputPath);
930
- console.log(`[claude-sdk] Detected sbatch submission: job ${jobId}`);
981
+ else if (msg.type === 'user') {
982
+ // Tool results from the SDK
983
+ for (const block of msg.message.content) {
984
+ try {
985
+ if (typeof block === 'string')
986
+ continue;
987
+ if (block.type === 'tool_result') {
988
+ const resultContent = typeof block.content === 'string'
989
+ ? block.content
990
+ : JSON.stringify(block.content);
991
+ const isError = block.is_error ?? false;
992
+ const toolName = block.tool_use_id ?? 'unknown';
993
+ stream.toolResult(toolName, resultContent, !isError);
994
+ console.log(`[claude-sdk] Task ${task.id} tool_result: ${toolName} success=${!isError} (${resultContent.length} chars)`);
995
+ // Detect sbatch submissions for job tracking
996
+ if (this.jobMonitor && typeof resultContent === 'string') {
997
+ const sbatchMatch = resultContent.match(/Submitted batch job (\d+)/);
998
+ if (sbatchMatch) {
999
+ const jobId = sbatchMatch[1];
1000
+ // Try to extract output path from sbatch script (common pattern: --output=...)
1001
+ const outputMatch = resultContent.match(/--output[= ](\S+)/);
1002
+ const outputPath = outputMatch?.[1]?.replace('%j', jobId);
1003
+ this.jobMonitor.trackJob(jobId, task.id, task.planNodeId, outputPath);
1004
+ console.log(`[claude-sdk] Detected sbatch submission: job ${jobId}`);
1005
+ }
1006
+ }
931
1007
  }
932
1008
  }
1009
+ catch (blockErr) {
1010
+ console.error(`[claude-sdk] Task ${task.id} event processing error (continuing):`, blockErr);
1011
+ }
933
1012
  }
934
1013
  }
935
- }
936
- else if (msg.type === 'result') {
937
- // Extract metrics from SDK result (available on both success and error subtypes)
938
- const msgAny = msg;
939
- const usage = msgAny.usage;
940
- const totalCostUsd = (msgAny.total_cost_usd ?? msgAny.cost_usd);
941
- const numTurns = msgAny.num_turns;
942
- const durationMs = (msgAny.duration_ms ?? msgAny.duration_api_ms);
943
- // Log result message fields for debugging token extraction
944
- const msgKeys = Object.keys(msgAny).filter(k => k !== 'result').sort();
945
- console.log(`[claude-sdk] Result message fields: ${msgKeys.join(', ')}`);
946
- if (usage) {
947
- console.log(`[claude-sdk] Usage: input_tokens=${usage.input_tokens}, output_tokens=${usage.output_tokens}`);
948
- }
949
- else {
950
- console.log(`[claude-sdk] No usage field found on result message`);
951
- }
952
- resultMetrics = {
953
- inputTokens: usage?.input_tokens,
954
- outputTokens: usage?.output_tokens,
955
- totalCost: totalCostUsd,
956
- numTurns,
957
- durationMs,
958
- model: this.model,
959
- };
960
- if (msg.subtype === 'success') {
961
- success = true;
962
- stream.status('running', 85, 'Agent work complete');
963
- // Capture structured output (produced when outputFormat is set)
964
- if (msgAny.structured_output) {
965
- const jsonStr = JSON.stringify(msgAny.structured_output);
966
- output += jsonStr;
967
- stream.text(jsonStr);
1014
+ else if (msg.type === 'result') {
1015
+ // Extract metrics from SDK result (available on both success and error subtypes)
1016
+ const msgAny = msg;
1017
+ const usage = msgAny.usage;
1018
+ const totalCostUsd = (msgAny.total_cost_usd ?? msgAny.cost_usd);
1019
+ const numTurns = msgAny.num_turns;
1020
+ const durationMs = (msgAny.duration_ms ?? msgAny.duration_api_ms);
1021
+ // Log result message fields for debugging token extraction
1022
+ const msgKeys = Object.keys(msgAny).filter(k => k !== 'result').sort();
1023
+ console.log(`[claude-sdk] Result message fields: ${msgKeys.join(', ')}`);
1024
+ if (usage) {
1025
+ console.log(`[claude-sdk] Usage: input_tokens=${usage.input_tokens}, output_tokens=${usage.output_tokens}`);
968
1026
  }
969
- else if (msgAny.result && !output) {
970
- // Fallback: capture result text if no output was accumulated
971
- const resultStr = typeof msgAny.result === 'string'
972
- ? msgAny.result
973
- : JSON.stringify(msgAny.result);
974
- output += resultStr;
975
- stream.text(resultStr);
1027
+ else {
1028
+ console.log(`[claude-sdk] No usage field found on result message`);
976
1029
  }
1030
+ resultMetrics = {
1031
+ inputTokens: usage?.input_tokens,
1032
+ outputTokens: usage?.output_tokens,
1033
+ totalCost: totalCostUsd,
1034
+ numTurns,
1035
+ durationMs,
1036
+ model: this.model,
1037
+ };
1038
+ if (msg.subtype === 'success') {
1039
+ success = true;
1040
+ stream.status('running', 85, 'Agent work complete');
1041
+ // Capture structured output (produced when outputFormat is set)
1042
+ if (msgAny.structured_output) {
1043
+ const jsonStr = JSON.stringify(msgAny.structured_output);
1044
+ output += jsonStr;
1045
+ stream.text(jsonStr);
1046
+ }
1047
+ else if (msgAny.result && !output) {
1048
+ // Fallback: capture result text if no output was accumulated
1049
+ const resultStr = typeof msgAny.result === 'string'
1050
+ ? msgAny.result
1051
+ : JSON.stringify(msgAny.result);
1052
+ output += resultStr;
1053
+ stream.text(resultStr);
1054
+ }
1055
+ }
1056
+ else if (msg.subtype === 'error_during_execution' ||
1057
+ msg.subtype === 'error_max_turns' ||
1058
+ msg.subtype === 'error_max_budget_usd' ||
1059
+ msg.subtype === 'error_max_structured_output_retries') {
1060
+ success = false;
1061
+ errorMessage = `Task failed: ${msg.subtype}`;
1062
+ stream.status('failed', progress, errorMessage);
1063
+ }
1064
+ const tokenSummary = usage ? `${usage.input_tokens ?? 0}+${usage.output_tokens ?? 0}` : 'N/A';
1065
+ const costStr = totalCostUsd != null ? `$${totalCostUsd.toFixed(4)}` : 'N/A';
1066
+ console.log(`[claude-sdk] Task ${task.id} completed: status=${success ? 'success' : 'failure'} turns=${numTurns ?? turnIndex} tokens=${tokenSummary} cost=${costStr}`);
1067
+ break;
977
1068
  }
978
- else if (msg.subtype === 'error_during_execution' ||
979
- msg.subtype === 'error_max_turns' ||
980
- msg.subtype === 'error_max_budget_usd' ||
981
- msg.subtype === 'error_max_structured_output_retries') {
982
- success = false;
983
- errorMessage = `Task failed: ${msg.subtype}`;
984
- stream.status('failed', progress, errorMessage);
985
- }
986
- break;
1069
+ }
1070
+ catch (err) {
1071
+ console.error(`[claude-sdk] Task ${task.id} event processing error (continuing):`, err);
987
1072
  }
988
1073
  }
989
1074
  return {
@@ -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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"}
@@ -13,13 +13,8 @@ export declare class CodexAdapter implements ProviderAdapter {
13
13
  private lastError?;
14
14
  private codexPath;
15
15
  private configModel;
16
- /**
17
- * Accumulated metrics from the current execution.
18
- * Populated by handleStreamLine() as usage events arrive,
19
- * then read by execute() when producing the final TaskResult.
20
- */
21
- private lastResultMetrics?;
22
- private turnCount;
16
+ /** Active sessions per task ID for steering/resume */
17
+ private activeSessions;
23
18
  isAvailable(): Promise<boolean>;
24
19
  /**
25
20
  * Read the default model from ~/.codex/config.toml
@@ -27,6 +22,29 @@ export declare class CodexAdapter implements ProviderAdapter {
27
22
  private readConfigModel;
28
23
  execute(task: Task, stream: TaskOutputStream, signal: AbortSignal): Promise<TaskResult>;
29
24
  getStatus(): Promise<ProviderStatus>;
25
+ /**
26
+ * Codex CLI does not support mid-execution steering (injecting messages into a running session).
27
+ * Unlike Claude SDK which has `streamInput()`, Codex exec is non-interactive.
28
+ * For post-completion follow-up, use `resumeTask()` instead.
29
+ */
30
+ injectMessage(taskId: string, _content: string, _interrupt?: boolean): Promise<boolean>;
31
+ /**
32
+ * Get session context for a task (for resume support).
33
+ * Returns threadId as sessionId and workingDirectory if available.
34
+ */
35
+ getTaskContext(taskId: string): {
36
+ sessionId: string;
37
+ workingDirectory?: string;
38
+ } | null;
39
+ /**
40
+ * Resume a completed Codex session to continue execution.
41
+ * Uses `codex exec resume <threadId> <prompt> --json` for multi-turn conversations.
42
+ */
43
+ resumeTask(taskId: string, message: string, workingDirectory: string, sessionId: string, stream: TaskOutputStream, signal: AbortSignal): Promise<{
44
+ success: boolean;
45
+ output: string;
46
+ error?: string;
47
+ }>;
30
48
  private runCodex;
31
49
  /**
32
50
  * Build the final metrics object from accumulated stream data.
@@ -59,6 +77,8 @@ export declare class CodexAdapter implements ProviderAdapter {
59
77
  * `response.completed` (which appears last) provides the authoritative totals.
60
78
  */
61
79
  private extractUsageFromEvent;
80
+ /** Remove sessions older than SESSION_TTL_MS */
81
+ private cleanupExpiredSessions;
62
82
  /**
63
83
  * Extract file artifacts from command execution output.
64
84
  * Looks at both the command itself and its output for file creation/modification signals.
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAa3F,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAE1C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAAC,CAAe;IACzC,OAAO,CAAC,SAAS,CAAK;IAEhB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAajB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiEvF,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;YAa5B,QAAQ;IAgMtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA8HxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAuC7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA4BvC,OAAO,CAAC,gBAAgB;CAwBzB"}
1
+ {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgC3F,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAE1C,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAoC;IAEpD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAajB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA2EvF,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAa1C;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWvF;;;OAGG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAsHlD,QAAQ;IAoMtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA8IxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAuC7B,gDAAgD;IAChD,OAAO,CAAC,sBAAsB;IAS9B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA4BvC,OAAO,CAAC,gBAAgB;CAwBzB"}