@sudocode-ai/local-server 0.1.14 → 0.1.16

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 (74) hide show
  1. package/dist/execution/adapters/claude-adapter.d.ts.map +1 -1
  2. package/dist/execution/adapters/claude-adapter.js +1 -0
  3. package/dist/execution/adapters/claude-adapter.js.map +1 -1
  4. package/dist/execution/executors/agent-executor-wrapper.d.ts +1 -0
  5. package/dist/execution/executors/agent-executor-wrapper.d.ts.map +1 -1
  6. package/dist/execution/executors/agent-executor-wrapper.js +2 -0
  7. package/dist/execution/executors/agent-executor-wrapper.js.map +1 -1
  8. package/dist/execution/process/builders/claude.d.ts.map +1 -1
  9. package/dist/execution/process/builders/claude.js +1 -0
  10. package/dist/execution/process/builders/claude.js.map +1 -1
  11. package/dist/execution/worktree/manager.d.ts +19 -0
  12. package/dist/execution/worktree/manager.d.ts.map +1 -1
  13. package/dist/execution/worktree/manager.js +50 -0
  14. package/dist/execution/worktree/manager.js.map +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/public/assets/index-D4AKx6EO.css +1 -0
  19. package/dist/public/assets/index-DorQqwGV.js +927 -0
  20. package/dist/public/assets/{index-3qSRtUlY.js.map → index-DorQqwGV.js.map} +1 -1
  21. package/dist/public/assets/{react-vendor-5f1Wq1qs.js → react-vendor-DoNwlLhy.js} +2 -2
  22. package/dist/public/assets/{react-vendor-5f1Wq1qs.js.map → react-vendor-DoNwlLhy.js.map} +1 -1
  23. package/dist/public/assets/{ui-vendor-BuU3mq4G.js → ui-vendor-DlxvBun1.js} +2 -2
  24. package/dist/public/assets/{ui-vendor-BuU3mq4G.js.map → ui-vendor-DlxvBun1.js.map} +1 -1
  25. package/dist/public/index.html +4 -4
  26. package/dist/routes/executions.d.ts.map +1 -1
  27. package/dist/routes/executions.js +89 -0
  28. package/dist/routes/executions.js.map +1 -1
  29. package/dist/routes/feedback.d.ts.map +1 -1
  30. package/dist/routes/feedback.js +5 -4
  31. package/dist/routes/feedback.js.map +1 -1
  32. package/dist/routes/import.d.ts +142 -0
  33. package/dist/routes/import.d.ts.map +1 -0
  34. package/dist/routes/import.js +896 -0
  35. package/dist/routes/import.js.map +1 -0
  36. package/dist/routes/issues.d.ts.map +1 -1
  37. package/dist/routes/issues.js +102 -0
  38. package/dist/routes/issues.js.map +1 -1
  39. package/dist/routes/plugins.d.ts +7 -0
  40. package/dist/routes/plugins.d.ts.map +1 -1
  41. package/dist/routes/plugins.js +110 -16
  42. package/dist/routes/plugins.js.map +1 -1
  43. package/dist/routes/projects.d.ts.map +1 -1
  44. package/dist/routes/projects.js +89 -0
  45. package/dist/routes/projects.js.map +1 -1
  46. package/dist/routes/specs.d.ts.map +1 -1
  47. package/dist/routes/specs.js +133 -5
  48. package/dist/routes/specs.js.map +1 -1
  49. package/dist/routes/update.d.ts +7 -0
  50. package/dist/routes/update.d.ts.map +1 -0
  51. package/dist/routes/update.js +194 -0
  52. package/dist/routes/update.js.map +1 -0
  53. package/dist/services/execution-changes-service.d.ts.map +1 -1
  54. package/dist/services/execution-changes-service.js +17 -7
  55. package/dist/services/execution-changes-service.js.map +1 -1
  56. package/dist/services/execution-service.d.ts +41 -0
  57. package/dist/services/execution-service.d.ts.map +1 -1
  58. package/dist/services/execution-service.js +312 -40
  59. package/dist/services/execution-service.js.map +1 -1
  60. package/dist/services/external-refresh-service.d.ts +104 -0
  61. package/dist/services/external-refresh-service.d.ts.map +1 -0
  62. package/dist/services/external-refresh-service.js +520 -0
  63. package/dist/services/external-refresh-service.js.map +1 -0
  64. package/dist/services/repo-info.d.ts +4 -0
  65. package/dist/services/repo-info.d.ts.map +1 -1
  66. package/dist/services/repo-info.js +42 -5
  67. package/dist/services/repo-info.js.map +1 -1
  68. package/dist/utils/execFileNoThrow.d.ts +43 -0
  69. package/dist/utils/execFileNoThrow.d.ts.map +1 -0
  70. package/dist/utils/execFileNoThrow.js +53 -0
  71. package/dist/utils/execFileNoThrow.js.map +1 -0
  72. package/package.json +6 -4
  73. package/dist/public/assets/index-3qSRtUlY.js +0 -844
  74. package/dist/public/assets/index-p0337DGd.css +0 -1
@@ -7,7 +7,10 @@
7
7
  * @module services/execution-service
8
8
  */
9
9
  import fs from "fs";
10
+ import fsPromises from "fs/promises";
10
11
  import path from "path";
12
+ import os from "os";
13
+ import * as TOML from "@iarna/toml";
11
14
  import { ExecutionLifecycleService } from "./execution-lifecycle.js";
12
15
  import { createExecution, getExecution, updateExecution, } from "./executions.js";
13
16
  import { randomUUID } from "crypto";
@@ -16,6 +19,7 @@ import { ExecutionLogsStore } from "./execution-logs-store.js";
16
19
  import { broadcastExecutionUpdate } from "./websocket.js";
17
20
  import { createExecutorForAgent } from "../execution/executors/executor-factory.js";
18
21
  import { PromptResolver } from "./prompt-resolver.js";
22
+ import { execFileNoThrow } from "../utils/execFileNoThrow.js";
19
23
  /**
20
24
  * Build worktree context string to append to system prompt.
21
25
  *
@@ -103,6 +107,8 @@ export class ExecutionService {
103
107
  if (!prompt.trim()) {
104
108
  throw new Error("Prompt cannot be empty");
105
109
  }
110
+ // 2. Build execution config with auto-injected MCP servers
111
+ const mergedConfig = await this.buildExecutionConfig(agentType, config);
106
112
  // Get issue if issueId is provided (orchestrator executions don't have an issue)
107
113
  let issue;
108
114
  if (issueId) {
@@ -124,43 +130,43 @@ export class ExecutionService {
124
130
  catch {
125
131
  // Fall back to "main" if we can't determine current branch
126
132
  }
127
- // 2. Determine execution mode and create execution with worktree
133
+ // 3. Determine execution mode and create execution with worktree
128
134
  // Store the original (unexpanded) prompt in the database
129
- const mode = config.mode || "worktree";
135
+ const mode = mergedConfig.mode || "worktree";
130
136
  let execution;
131
137
  let workDir;
132
138
  // Worktree mode requires either an issue or a reuseWorktreePath
133
- if (mode === "worktree" && !issueId && !config.reuseWorktreePath) {
139
+ if (mode === "worktree" && !issueId && !mergedConfig.reuseWorktreePath) {
134
140
  throw new Error("Worktree mode requires either an issueId or reuseWorktreePath");
135
141
  }
136
- if (mode === "worktree" && (issueId || config.reuseWorktreePath)) {
142
+ if (mode === "worktree" && (issueId || mergedConfig.reuseWorktreePath)) {
137
143
  // Check if we're reusing an existing worktree
138
- if (config.reuseWorktreePath) {
144
+ if (mergedConfig.reuseWorktreePath) {
139
145
  // Validate worktree exists
140
- if (!fs.existsSync(config.reuseWorktreePath)) {
141
- throw new Error(`Cannot reuse worktree: path does not exist: ${config.reuseWorktreePath}`);
146
+ if (!fs.existsSync(mergedConfig.reuseWorktreePath)) {
147
+ throw new Error(`Cannot reuse worktree: path does not exist: ${mergedConfig.reuseWorktreePath}`);
142
148
  }
143
149
  // Validate it's a git worktree by checking for .git
144
- const gitPath = path.join(config.reuseWorktreePath, ".git");
150
+ const gitPath = path.join(mergedConfig.reuseWorktreePath, ".git");
145
151
  if (!fs.existsSync(gitPath)) {
146
- throw new Error(`Cannot reuse worktree: not a valid git worktree: ${config.reuseWorktreePath}`);
152
+ throw new Error(`Cannot reuse worktree: not a valid git worktree: ${mergedConfig.reuseWorktreePath}`);
147
153
  }
148
154
  // Get branch name from the worktree
149
155
  let branchName;
150
156
  try {
151
157
  branchName = execSync("git rev-parse --abbrev-ref HEAD", {
152
- cwd: config.reuseWorktreePath,
158
+ cwd: mergedConfig.reuseWorktreePath,
153
159
  encoding: "utf-8",
154
160
  }).trim();
155
161
  }
156
162
  catch {
157
- throw new Error(`Cannot reuse worktree: failed to get branch name from: ${config.reuseWorktreePath}`);
163
+ throw new Error(`Cannot reuse worktree: failed to get branch name from: ${mergedConfig.reuseWorktreePath}`);
158
164
  }
159
165
  // Capture before_commit from the reused worktree
160
166
  let beforeCommit;
161
167
  try {
162
168
  beforeCommit = execSync("git rev-parse HEAD", {
163
- cwd: config.reuseWorktreePath,
169
+ cwd: mergedConfig.reuseWorktreePath,
164
170
  encoding: "utf-8",
165
171
  }).trim();
166
172
  console.log(`[ExecutionService] Captured before_commit for reused worktree: ${beforeCommit}`);
@@ -177,14 +183,14 @@ export class ExecutionService {
177
183
  agent_type: agentType,
178
184
  mode: mode,
179
185
  prompt: prompt,
180
- config: JSON.stringify(config),
181
- target_branch: config.baseBranch || branchName,
186
+ config: JSON.stringify(mergedConfig),
187
+ target_branch: mergedConfig.baseBranch || branchName,
182
188
  branch_name: branchName,
183
- worktree_path: config.reuseWorktreePath,
184
- parent_execution_id: config.parentExecutionId,
189
+ worktree_path: mergedConfig.reuseWorktreePath,
190
+ parent_execution_id: mergedConfig.parentExecutionId,
185
191
  before_commit: beforeCommit,
186
192
  });
187
- workDir = config.reuseWorktreePath;
193
+ workDir = mergedConfig.reuseWorktreePath;
188
194
  }
189
195
  else {
190
196
  // Create execution with isolated worktree
@@ -196,13 +202,13 @@ export class ExecutionService {
196
202
  issueId,
197
203
  issueTitle: issue.title,
198
204
  agentType: agentType,
199
- targetBranch: config.baseBranch || defaultBranch,
205
+ targetBranch: mergedConfig.baseBranch || defaultBranch,
200
206
  repoPath: this.repoPath,
201
207
  mode: mode,
202
208
  prompt: prompt, // Store original (unexpanded) prompt
203
- config: JSON.stringify(config),
204
- createTargetBranch: config.createBaseBranch || false,
205
- parentExecutionId: config.parentExecutionId,
209
+ config: JSON.stringify(mergedConfig),
210
+ createTargetBranch: mergedConfig.createBaseBranch || false,
211
+ parentExecutionId: mergedConfig.parentExecutionId,
206
212
  });
207
213
  execution = result.execution;
208
214
  workDir = result.worktreePath;
@@ -217,10 +223,10 @@ export class ExecutionService {
217
223
  agent_type: agentType,
218
224
  mode: mode,
219
225
  prompt: prompt, // Store original (unexpanded) prompt
220
- config: JSON.stringify(config),
221
- target_branch: config.baseBranch || defaultBranch,
222
- branch_name: config.baseBranch || defaultBranch,
223
- parent_execution_id: config.parentExecutionId,
226
+ config: JSON.stringify(mergedConfig),
227
+ target_branch: mergedConfig.baseBranch || defaultBranch,
228
+ branch_name: mergedConfig.baseBranch || defaultBranch,
229
+ parent_execution_id: mergedConfig.parentExecutionId,
224
230
  });
225
231
  workDir = this.repoPath;
226
232
  // Capture current commit as before_commit for local mode
@@ -284,7 +290,7 @@ export class ExecutionService {
284
290
  // 4. In-process execution with executor wrapper (fallback when no worker pool)
285
291
  // Extract agent-relevant config fields (exclude sudocode-specific fields like mode,
286
292
  // baseBranch, createBaseBranch, branchName, reuseWorktreePath, etc.)
287
- const { mode: _mode, baseBranch: _baseBranch, createBaseBranch: _createBaseBranch, branchName: _branchName, reuseWorktreePath: _reuseWorktreePath, checkpointInterval: _checkpointInterval, continueOnStepFailure: _continueOnStepFailure, captureFileChanges: _captureFileChanges, captureToolCalls: _captureToolCalls, ...agentConfig } = config;
293
+ const { mode: _mode, baseBranch: _baseBranch, createBaseBranch: _createBaseBranch, branchName: _branchName, reuseWorktreePath: _reuseWorktreePath, checkpointInterval: _checkpointInterval, continueOnStepFailure: _continueOnStepFailure, captureFileChanges: _captureFileChanges, captureToolCalls: _captureToolCalls, ...agentConfig } = mergedConfig;
288
294
  const wrapper = createExecutorForAgent(agentType, {
289
295
  workDir: this.repoPath,
290
296
  ...agentConfig,
@@ -297,13 +303,13 @@ export class ExecutionService {
297
303
  transportManager: this.transportManager,
298
304
  });
299
305
  // Log incoming config for debugging
300
- console.log("[ExecutionService] createExecution config:", {
301
- hasMcpServers: !!config.mcpServers,
302
- mcpServerNames: config.mcpServers
303
- ? Object.keys(config.mcpServers)
306
+ console.log("[ExecutionService] createExecution mergedConfig:", {
307
+ hasMcpServers: !!mergedConfig.mcpServers,
308
+ mcpServerNames: mergedConfig.mcpServers
309
+ ? Object.keys(mergedConfig.mcpServers)
304
310
  : "none",
305
- hasAppendSystemPrompt: !!config.appendSystemPrompt,
306
- dangerouslySkipPermissions: config.dangerouslySkipPermissions,
311
+ hasAppendSystemPrompt: !!mergedConfig.appendSystemPrompt,
312
+ dangerouslySkipPermissions: mergedConfig.dangerouslySkipPermissions,
307
313
  });
308
314
  // Log agentConfig being passed to executor
309
315
  console.log("[ExecutionService] agentConfig passed to executor:", {
@@ -321,7 +327,7 @@ export class ExecutionService {
321
327
  // Merge worktree context with any existing appendSystemPrompt
322
328
  const combinedAppendSystemPrompt = [
323
329
  worktreeContext,
324
- config.appendSystemPrompt || "",
330
+ mergedConfig.appendSystemPrompt || "",
325
331
  ]
326
332
  .filter(Boolean)
327
333
  .join("\n");
@@ -333,18 +339,18 @@ export class ExecutionService {
333
339
  prompt: resolvedPrompt,
334
340
  workDir: workDir,
335
341
  config: {
336
- timeout: config.timeout,
342
+ timeout: mergedConfig.timeout,
337
343
  },
338
344
  metadata: {
339
- model: config.model || "claude-sonnet-4",
340
- captureFileChanges: config.captureFileChanges ?? true,
341
- captureToolCalls: config.captureToolCalls ?? true,
345
+ model: mergedConfig.model || "claude-sonnet-4",
346
+ captureFileChanges: mergedConfig.captureFileChanges ?? true,
347
+ captureToolCalls: mergedConfig.captureToolCalls ?? true,
342
348
  issueId: issueId ?? undefined,
343
349
  executionId: execution.id,
344
- mcpServers: config.mcpServers,
350
+ mcpServers: mergedConfig.mcpServers,
345
351
  appendSystemPrompt: combinedAppendSystemPrompt || undefined,
346
- dangerouslySkipPermissions: config.dangerouslySkipPermissions,
347
- resume: config.resume,
352
+ dangerouslySkipPermissions: mergedConfig.dangerouslySkipPermissions,
353
+ resume: mergedConfig.resume,
348
354
  },
349
355
  priority: 0,
350
356
  dependencies: [],
@@ -967,5 +973,271 @@ ${feedback}`;
967
973
  }
968
974
  return expandedIds;
969
975
  }
976
+ /**
977
+ * Build execution config with auto-injected MCP servers
978
+ *
979
+ * This method handles the auto-injection of sudocode-mcp into the execution config
980
+ * when it's not already configured. It:
981
+ * 1. Checks if sudocode-mcp package is installed (throws error if not)
982
+ * 2. Checks if the agent already has sudocode-mcp configured
983
+ * 3. Auto-injects sudocode-mcp to mcpServers if needed
984
+ * 4. Preserves all user-provided MCP servers
985
+ *
986
+ * @param agentType - The type of agent to execute
987
+ * @param userConfig - User-provided execution configuration
988
+ * @returns Merged execution configuration with auto-injected MCP servers
989
+ * @throws Error if sudocode-mcp package is not installed
990
+ */
991
+ async buildExecutionConfig(agentType, userConfig) {
992
+ // Start with user config
993
+ const mergedConfig = { ...userConfig };
994
+ // 1. Detect if sudocode-mcp package is installed
995
+ const isInstalled = await this.detectSudocodeMcp();
996
+ if (!isInstalled) {
997
+ throw new Error("sudocode-mcp package not found. Please install sudocode to enable MCP tools.\nVisit: https://github.com/sudocode-ai/sudocode");
998
+ }
999
+ // 2. Check if agent already has sudocode-mcp configured
1000
+ const mcpPresent = await this.detectAgentMcp(agentType);
1001
+ // 3. For Cursor, MCP MUST be configured (no CLI injection available)
1002
+ if (agentType === "cursor" && !mcpPresent) {
1003
+ throw new Error("Cursor agent requires sudocode-mcp to be configured in .cursor/mcp.json.\n" +
1004
+ "Please create .cursor/mcp.json in your project root with:\n\n" +
1005
+ JSON.stringify({
1006
+ mcpServers: {
1007
+ "sudocode-mcp": {
1008
+ command: "sudocode-mcp",
1009
+ },
1010
+ },
1011
+ }, null, 2) +
1012
+ "\n\nVisit: https://github.com/sudocode-ai/sudocode");
1013
+ }
1014
+ // For Cursor with sudocode-mcp, auto-approve MCP servers in headless mode
1015
+ if (agentType === "cursor" && mcpPresent) {
1016
+ console.info("[ExecutionService] Enabling approveMcps for Cursor (sudocode-mcp detected)");
1017
+ mergedConfig.approveMcps = true;
1018
+ }
1019
+ // 4. Auto-inject sudocode-mcp if not configured and not already in userConfig
1020
+ if (!mcpPresent && !userConfig.mcpServers?.["sudocode-mcp"]) {
1021
+ console.info("[ExecutionService] Adding sudocode-mcp to mcpServers (auto-injection)");
1022
+ mergedConfig.mcpServers = {
1023
+ ...(userConfig.mcpServers || {}),
1024
+ "sudocode-mcp": {
1025
+ type: "local",
1026
+ command: "sudocode-mcp",
1027
+ tools: ["*"],
1028
+ args: [],
1029
+ },
1030
+ };
1031
+ }
1032
+ else if (mcpPresent) {
1033
+ console.info("[ExecutionService] Removing sudocode-mcp from CLI config (using plugin instead)");
1034
+ // Remove sudocode-mcp from mcpServers to avoid duplication with plugin
1035
+ if (userConfig.mcpServers) {
1036
+ const { "sudocode-mcp": _removed, ...rest } = userConfig.mcpServers;
1037
+ mergedConfig.mcpServers = Object.keys(rest).length > 0 ? rest : undefined;
1038
+ }
1039
+ }
1040
+ else if (userConfig.mcpServers?.["sudocode-mcp"]) {
1041
+ console.info("[ExecutionService] Skipping sudocode-mcp injection (user provided in config)");
1042
+ }
1043
+ return mergedConfig;
1044
+ }
1045
+ /**
1046
+ * Detect if sudocode-mcp command is available in PATH
1047
+ *
1048
+ * This checks if the sudocode-mcp package is installed on the system by
1049
+ * attempting to locate the command using `which` (Unix) or `where` (Windows).
1050
+ *
1051
+ * @returns true if sudocode-mcp is available, false otherwise
1052
+ * @internal Used by buildExecutionConfig
1053
+ */
1054
+ async detectSudocodeMcp() {
1055
+ try {
1056
+ // Use 'which' on Unix systems, 'where' on Windows
1057
+ const command = process.platform === "win32" ? "where" : "which";
1058
+ const result = await execFileNoThrow(command, ["sudocode-mcp"]);
1059
+ if (result.status === 0) {
1060
+ return true;
1061
+ }
1062
+ else {
1063
+ // Command failed - sudocode-mcp not found in PATH
1064
+ console.warn("[ExecutionService] sudocode-mcp command not found in PATH");
1065
+ return false;
1066
+ }
1067
+ }
1068
+ catch (error) {
1069
+ // Unexpected error during detection
1070
+ console.warn("[ExecutionService] Failed to detect sudocode-mcp:", error instanceof Error ? error.message : String(error));
1071
+ return false;
1072
+ }
1073
+ }
1074
+ /**
1075
+ * Detect if sudocode-mcp is configured for the given agent
1076
+ *
1077
+ * For claude-code: Checks if the sudocode plugin is enabled in ~/.claude/settings.json
1078
+ * For cursor: Checks .cursor/mcp.json in project root for sudocode-mcp command
1079
+ * For codex: Checks ~/.codex/config.toml for sudocode-mcp in mcp_servers
1080
+ * For copilot: Checks ~/.copilot/mcp-config.json for sudocode-mcp command
1081
+ *
1082
+ * @param agentType - The type of agent to check
1083
+ * @returns true if configured, false otherwise
1084
+ * @internal Used by buildExecutionConfig
1085
+ */
1086
+ async detectAgentMcp(agentType) {
1087
+ // For claude-code, check ~/.claude/settings.json
1088
+ // This is not foolproof, but covers the default case
1089
+ if (agentType === "claude-code") {
1090
+ try {
1091
+ const claudeSettingsPath = path.join(os.homedir(), ".claude", "settings.json");
1092
+ const settingsContent = await fsPromises.readFile(claudeSettingsPath, "utf-8");
1093
+ const settings = JSON.parse(settingsContent);
1094
+ // Check if sudocode@sudocode-marketplace is enabled
1095
+ const isEnabled = settings.enabledPlugins?.["sudocode@sudocode-marketplace"] === true;
1096
+ if (isEnabled) {
1097
+ console.info("[ExecutionService] sudocode-mcp detected for claude-code (plugin enabled)");
1098
+ }
1099
+ else {
1100
+ console.info("[ExecutionService] sudocode-mcp not detected for claude-code (plugin not enabled)");
1101
+ }
1102
+ return isEnabled;
1103
+ }
1104
+ catch (error) {
1105
+ // Handle file read errors gracefully
1106
+ if (error instanceof Error &&
1107
+ "code" in error &&
1108
+ error.code === "ENOENT") {
1109
+ // File not found - plugin definitely not configured
1110
+ console.warn("[ExecutionService] ~/.claude/settings.json not found - plugin not configured");
1111
+ return false;
1112
+ }
1113
+ else if (error instanceof SyntaxError) {
1114
+ // Malformed JSON - can't determine, assume configured (conservative)
1115
+ console.error("[ExecutionService] Failed to parse ~/.claude/settings.json - malformed JSON:", error.message);
1116
+ return true;
1117
+ }
1118
+ else {
1119
+ // Other errors (permission denied, etc.) - can't determine, assume configured (conservative)
1120
+ console.warn("[ExecutionService] Failed to read ~/.claude/settings.json:", error instanceof Error ? error.message : String(error));
1121
+ return true;
1122
+ }
1123
+ }
1124
+ }
1125
+ // For cursor, check .cursor/mcp.json in project root
1126
+ if (agentType === "cursor") {
1127
+ try {
1128
+ // NOTE: .cursor/mcp.json is in project root, not home directory
1129
+ const cursorConfigPath = path.join(this.repoPath, ".cursor", "mcp.json");
1130
+ const configContent = await fsPromises.readFile(cursorConfigPath, "utf-8");
1131
+ const config = JSON.parse(configContent);
1132
+ // Check if any mcpServer has command "sudocode-mcp"
1133
+ const hasSudocodeMcp = Object.values(config.mcpServers || {}).some((server) => server.command === "sudocode-mcp");
1134
+ if (hasSudocodeMcp) {
1135
+ console.info("[ExecutionService] sudocode-mcp detected for cursor");
1136
+ }
1137
+ else {
1138
+ console.info("[ExecutionService] sudocode-mcp not detected for cursor");
1139
+ }
1140
+ return hasSudocodeMcp;
1141
+ }
1142
+ catch (error) {
1143
+ // Handle ENOENT, JSON parse errors, etc.
1144
+ if (error instanceof Error &&
1145
+ "code" in error &&
1146
+ error.code === "ENOENT") {
1147
+ // File not found - MCP definitely not configured
1148
+ console.warn("[ExecutionService] .cursor/mcp.json not found in project root - MCP not configured");
1149
+ return false;
1150
+ }
1151
+ else if (error instanceof SyntaxError) {
1152
+ // Malformed JSON - can't determine configuration
1153
+ console.error("[ExecutionService] Failed to parse .cursor/mcp.json - malformed JSON:", error.message);
1154
+ return false;
1155
+ }
1156
+ else {
1157
+ // Other errors (permission denied, etc.)
1158
+ console.warn("[ExecutionService] Failed to read .cursor/mcp.json:", error instanceof Error ? error.message : String(error));
1159
+ return false;
1160
+ }
1161
+ }
1162
+ }
1163
+ // For codex, check ~/.codex/config.toml
1164
+ if (agentType === "codex") {
1165
+ try {
1166
+ const codexConfigPath = path.join(os.homedir(), ".codex", "config.toml");
1167
+ const configContent = await fsPromises.readFile(codexConfigPath, "utf-8");
1168
+ const config = TOML.parse(configContent);
1169
+ // Check if any mcp_servers section has command "sudocode-mcp"
1170
+ const mcpServers = config.mcp_servers;
1171
+ const hasSudocodeMcp = mcpServers &&
1172
+ Object.values(mcpServers).some((server) => server.command === "sudocode-mcp");
1173
+ if (hasSudocodeMcp) {
1174
+ console.info("[ExecutionService] sudocode-mcp detected for codex");
1175
+ }
1176
+ else {
1177
+ console.info("[ExecutionService] sudocode-mcp not detected for codex");
1178
+ }
1179
+ return !!hasSudocodeMcp;
1180
+ }
1181
+ catch (error) {
1182
+ // Handle ENOENT, TOML parse errors, etc.
1183
+ if (error instanceof Error &&
1184
+ "code" in error &&
1185
+ error.code === "ENOENT") {
1186
+ // File not found - MCP definitely not configured
1187
+ console.warn("[ExecutionService] ~/.codex/config.toml not found - MCP not configured");
1188
+ return false;
1189
+ }
1190
+ else if (error instanceof Error && error.message.includes("parse")) {
1191
+ // Malformed TOML - can't determine configuration
1192
+ console.error("[ExecutionService] Failed to parse ~/.codex/config.toml - malformed TOML:", error.message);
1193
+ return false;
1194
+ }
1195
+ else {
1196
+ // Other errors (permission denied, etc.)
1197
+ console.warn("[ExecutionService] Failed to detect codex MCP config:", error instanceof Error ? error.message : String(error));
1198
+ return false;
1199
+ }
1200
+ }
1201
+ }
1202
+ // For copilot, check ~/.copilot/mcp-config.json
1203
+ if (agentType === "copilot") {
1204
+ try {
1205
+ const copilotConfigPath = path.join(os.homedir(), ".copilot", "mcp-config.json");
1206
+ const configContent = await fsPromises.readFile(copilotConfigPath, "utf-8");
1207
+ const config = JSON.parse(configContent);
1208
+ // Check if any mcpServer has command "sudocode-mcp"
1209
+ const hasSudocodeMcp = Object.values(config.mcpServers || {}).some((server) => server.command === "sudocode-mcp");
1210
+ if (hasSudocodeMcp) {
1211
+ console.info("[ExecutionService] sudocode-mcp detected for copilot");
1212
+ }
1213
+ else {
1214
+ console.info("[ExecutionService] sudocode-mcp not detected for copilot");
1215
+ }
1216
+ return hasSudocodeMcp;
1217
+ }
1218
+ catch (error) {
1219
+ // Handle ENOENT, JSON parse errors, etc.
1220
+ if (error instanceof Error &&
1221
+ "code" in error &&
1222
+ error.code === "ENOENT") {
1223
+ // File not found - MCP definitely not configured
1224
+ console.warn("[ExecutionService] ~/.copilot/mcp-config.json not found - MCP not configured");
1225
+ return false;
1226
+ }
1227
+ else if (error instanceof SyntaxError) {
1228
+ // Malformed JSON - can't determine configuration
1229
+ console.error("[ExecutionService] Failed to parse ~/.copilot/mcp-config.json - malformed JSON:", error.message);
1230
+ return false;
1231
+ }
1232
+ else {
1233
+ // Other errors (permission denied, etc.)
1234
+ console.warn("[ExecutionService] Failed to detect copilot MCP config:", error instanceof Error ? error.message : String(error));
1235
+ return false;
1236
+ }
1237
+ }
1238
+ }
1239
+ // For other agents, return true (safe default)
1240
+ return true;
1241
+ }
970
1242
  }
971
1243
  //# sourceMappingURL=execution-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"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"}