@defai.digital/ax-cli 3.8.22 → 3.8.24

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 (120) hide show
  1. package/README.md +8 -2
  2. package/config-defaults/models.yaml +1 -1
  3. package/dist/agent/core/index.d.ts +8 -0
  4. package/dist/agent/core/index.js +9 -0
  5. package/dist/agent/core/index.js.map +1 -0
  6. package/dist/agent/core/types.d.ts +92 -0
  7. package/dist/agent/core/types.js +11 -0
  8. package/dist/agent/core/types.js.map +1 -0
  9. package/dist/agent/execution/index.d.ts +9 -0
  10. package/dist/agent/execution/index.js +9 -0
  11. package/dist/agent/execution/index.js.map +1 -0
  12. package/dist/agent/execution/tool-executor.d.ts +79 -0
  13. package/dist/agent/execution/tool-executor.js +281 -0
  14. package/dist/agent/execution/tool-executor.js.map +1 -0
  15. package/dist/agent/llm-agent.d.ts +22 -98
  16. package/dist/agent/llm-agent.js +181 -722
  17. package/dist/agent/llm-agent.js.map +1 -1
  18. package/dist/agent/planning/index.d.ts +9 -0
  19. package/dist/agent/planning/index.js +9 -0
  20. package/dist/agent/planning/index.js.map +1 -0
  21. package/dist/agent/planning/plan-executor.d.ts +84 -0
  22. package/dist/agent/planning/plan-executor.js +223 -0
  23. package/dist/agent/planning/plan-executor.js.map +1 -0
  24. package/dist/agent/streaming/index.d.ts +9 -0
  25. package/dist/agent/streaming/index.js +9 -0
  26. package/dist/agent/streaming/index.js.map +1 -0
  27. package/dist/agent/streaming/stream-handler.d.ts +62 -0
  28. package/dist/agent/streaming/stream-handler.js +193 -0
  29. package/dist/agent/streaming/stream-handler.js.map +1 -0
  30. package/dist/agent/subagent-orchestrator.d.ts +3 -3
  31. package/dist/agent/subagent-orchestrator.js +1 -0
  32. package/dist/agent/subagent-orchestrator.js.map +1 -1
  33. package/dist/agent/subagent-types.d.ts +10 -22
  34. package/dist/agent/subagent-types.js +19 -0
  35. package/dist/agent/subagent-types.js.map +1 -1
  36. package/dist/commands/usage.js +14 -0
  37. package/dist/commands/usage.js.map +1 -1
  38. package/dist/index.js +9 -7
  39. package/dist/index.js.map +1 -1
  40. package/dist/llm/client.d.ts +33 -1
  41. package/dist/llm/client.js +23 -11
  42. package/dist/llm/client.js.map +1 -1
  43. package/dist/llm/types.d.ts +7 -1
  44. package/dist/llm/types.js +5 -4
  45. package/dist/llm/types.js.map +1 -1
  46. package/dist/mcp/index.d.ts +31 -0
  47. package/dist/mcp/index.js +36 -0
  48. package/dist/mcp/index.js.map +1 -0
  49. package/dist/planner/types.d.ts +8 -8
  50. package/dist/schemas/index.d.ts +4 -4
  51. package/dist/schemas/tool-schemas.d.ts +12 -12
  52. package/dist/tools/bash.js +1 -1
  53. package/dist/tools/bash.js.map +1 -1
  54. package/dist/tools/text-editor.js +57 -63
  55. package/dist/tools/text-editor.js.map +1 -1
  56. package/dist/ui/hooks/use-enhanced-input.js +66 -81
  57. package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
  58. package/dist/utils/background-task-manager.js +10 -2
  59. package/dist/utils/background-task-manager.js.map +1 -1
  60. package/dist/utils/confirmation-service.js +8 -5
  61. package/dist/utils/confirmation-service.js.map +1 -1
  62. package/dist/utils/index.d.ts +85 -6
  63. package/dist/utils/index.js +103 -15
  64. package/dist/utils/index.js.map +1 -1
  65. package/dist/utils/retry-helper.d.ts +7 -6
  66. package/dist/utils/retry-helper.js +8 -6
  67. package/dist/utils/retry-helper.js.map +1 -1
  68. package/dist/utils/settings-manager.d.ts +6 -0
  69. package/dist/utils/settings-manager.js +51 -64
  70. package/dist/utils/settings-manager.js.map +1 -1
  71. package/node_modules/@ax-cli/schemas/dist/index.d.ts +1 -0
  72. package/node_modules/@ax-cli/schemas/dist/index.d.ts.map +1 -1
  73. package/node_modules/@ax-cli/schemas/dist/index.js.map +1 -1
  74. package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.d.ts +164 -0
  75. package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.d.ts.map +1 -0
  76. package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.js +10 -0
  77. package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.js.map +1 -0
  78. package/node_modules/@ax-cli/schemas/dist/public/agent/index.d.ts +9 -0
  79. package/node_modules/@ax-cli/schemas/dist/public/agent/index.d.ts.map +1 -0
  80. package/node_modules/@ax-cli/schemas/dist/public/agent/index.js +9 -0
  81. package/node_modules/@ax-cli/schemas/dist/public/agent/index.js.map +1 -0
  82. package/package.json +1 -1
  83. package/packages/schemas/dist/index.d.ts +1 -0
  84. package/packages/schemas/dist/index.d.ts.map +1 -1
  85. package/packages/schemas/dist/index.js.map +1 -1
  86. package/packages/schemas/dist/public/agent/chat-types.d.ts +164 -0
  87. package/packages/schemas/dist/public/agent/chat-types.d.ts.map +1 -0
  88. package/packages/schemas/dist/public/agent/chat-types.js +10 -0
  89. package/packages/schemas/dist/public/agent/chat-types.js.map +1 -0
  90. package/packages/schemas/dist/public/agent/index.d.ts +9 -0
  91. package/packages/schemas/dist/public/agent/index.d.ts.map +1 -0
  92. package/packages/schemas/dist/public/agent/index.js +9 -0
  93. package/packages/schemas/dist/public/agent/index.js.map +1 -0
  94. package/dist/mcp/config-detector-v2.d.ts +0 -83
  95. package/dist/mcp/config-detector-v2.js +0 -328
  96. package/dist/mcp/config-detector-v2.js.map +0 -1
  97. package/dist/mcp/config-migrator-v2.d.ts +0 -89
  98. package/dist/mcp/config-migrator-v2.js +0 -288
  99. package/dist/mcp/config-migrator-v2.js.map +0 -1
  100. package/dist/mcp/config-v2.d.ts +0 -111
  101. package/dist/mcp/config-v2.js +0 -443
  102. package/dist/mcp/config-v2.js.map +0 -1
  103. package/dist/mcp/transports-v2.d.ts +0 -152
  104. package/dist/mcp/transports-v2.js +0 -481
  105. package/dist/mcp/transports-v2.js.map +0 -1
  106. package/dist/utils/error-sanitizer.d.ts +0 -119
  107. package/dist/utils/error-sanitizer.js +0 -253
  108. package/dist/utils/error-sanitizer.js.map +0 -1
  109. package/dist/utils/errors.d.ts +0 -74
  110. package/dist/utils/errors.js +0 -139
  111. package/dist/utils/errors.js.map +0 -1
  112. package/dist/utils/incremental-analyzer.d.ts +0 -134
  113. package/dist/utils/incremental-analyzer.js +0 -377
  114. package/dist/utils/incremental-analyzer.js.map +0 -1
  115. package/dist/utils/settings.d.ts +0 -1
  116. package/dist/utils/settings.js +0 -4
  117. package/dist/utils/settings.js.map +0 -1
  118. package/dist/utils/streaming-analyzer.d.ts +0 -160
  119. package/dist/utils/streaming-analyzer.js +0 -214
  120. package/dist/utils/streaming-analyzer.js.map +0 -1
@@ -153,12 +153,12 @@ export declare const TodoItemSchema: z.ZodObject<{
153
153
  status: "pending" | "in_progress" | "completed";
154
154
  content: string;
155
155
  id: string;
156
- priority: "high" | "medium" | "low";
156
+ priority: "low" | "high" | "medium";
157
157
  }, {
158
158
  status: "pending" | "in_progress" | "completed";
159
159
  content: string;
160
160
  id: string;
161
- priority: "high" | "medium" | "low";
161
+ priority: "low" | "high" | "medium";
162
162
  }>;
163
163
  export declare const CreateTodoListSchema: z.ZodObject<{
164
164
  todos: z.ZodArray<z.ZodObject<{
@@ -170,26 +170,26 @@ export declare const CreateTodoListSchema: z.ZodObject<{
170
170
  status: "pending" | "in_progress" | "completed";
171
171
  content: string;
172
172
  id: string;
173
- priority: "high" | "medium" | "low";
173
+ priority: "low" | "high" | "medium";
174
174
  }, {
175
175
  status: "pending" | "in_progress" | "completed";
176
176
  content: string;
177
177
  id: string;
178
- priority: "high" | "medium" | "low";
178
+ priority: "low" | "high" | "medium";
179
179
  }>, "many">;
180
180
  }, "strip", z.ZodTypeAny, {
181
181
  todos: {
182
182
  status: "pending" | "in_progress" | "completed";
183
183
  content: string;
184
184
  id: string;
185
- priority: "high" | "medium" | "low";
185
+ priority: "low" | "high" | "medium";
186
186
  }[];
187
187
  }, {
188
188
  todos: {
189
189
  status: "pending" | "in_progress" | "completed";
190
190
  content: string;
191
191
  id: string;
192
- priority: "high" | "medium" | "low";
192
+ priority: "low" | "high" | "medium";
193
193
  }[];
194
194
  }>;
195
195
  export declare const TodoUpdateSchema: z.ZodObject<{
@@ -201,12 +201,12 @@ export declare const TodoUpdateSchema: z.ZodObject<{
201
201
  id: string;
202
202
  status?: "pending" | "in_progress" | "completed" | undefined;
203
203
  content?: string | undefined;
204
- priority?: "high" | "medium" | "low" | undefined;
204
+ priority?: "low" | "high" | "medium" | undefined;
205
205
  }, {
206
206
  id: string;
207
207
  status?: "pending" | "in_progress" | "completed" | undefined;
208
208
  content?: string | undefined;
209
- priority?: "high" | "medium" | "low" | undefined;
209
+ priority?: "low" | "high" | "medium" | undefined;
210
210
  }>;
211
211
  export declare const UpdateTodoListSchema: z.ZodObject<{
212
212
  updates: z.ZodArray<z.ZodObject<{
@@ -218,26 +218,26 @@ export declare const UpdateTodoListSchema: z.ZodObject<{
218
218
  id: string;
219
219
  status?: "pending" | "in_progress" | "completed" | undefined;
220
220
  content?: string | undefined;
221
- priority?: "high" | "medium" | "low" | undefined;
221
+ priority?: "low" | "high" | "medium" | undefined;
222
222
  }, {
223
223
  id: string;
224
224
  status?: "pending" | "in_progress" | "completed" | undefined;
225
225
  content?: string | undefined;
226
- priority?: "high" | "medium" | "low" | undefined;
226
+ priority?: "low" | "high" | "medium" | undefined;
227
227
  }>, "many">;
228
228
  }, "strip", z.ZodTypeAny, {
229
229
  updates: {
230
230
  id: string;
231
231
  status?: "pending" | "in_progress" | "completed" | undefined;
232
232
  content?: string | undefined;
233
- priority?: "high" | "medium" | "low" | undefined;
233
+ priority?: "low" | "high" | "medium" | undefined;
234
234
  }[];
235
235
  }, {
236
236
  updates: {
237
237
  id: string;
238
238
  status?: "pending" | "in_progress" | "completed" | undefined;
239
239
  content?: string | undefined;
240
- priority?: "high" | "medium" | "low" | undefined;
240
+ priority?: "low" | "high" | "medium" | undefined;
241
241
  }[];
242
242
  }>;
243
243
  export type BashExecuteArgs = z.infer<typeof BashExecuteSchema>;
@@ -123,7 +123,7 @@ export class BashTool extends EventEmitter {
123
123
  // Phase 2: Log to audit logger
124
124
  if (autoAcceptConfig && autoAcceptConfig.auditLog?.enabled) {
125
125
  const logger = getAutoAcceptLogger();
126
- logger.logBashCommand(command, matchedOperations, !shouldExecute, // userConfirmed = true if cancelled (they actively said no)
126
+ logger.logBashCommand(command, matchedOperations, shouldExecute, // userConfirmed = true if user confirmed (shouldExecute=true)
127
127
  isAutoAcceptEnabled && !shouldAlwaysConfirm, // autoAccepted = true if auto-accept AND not forced confirm
128
128
  autoAcceptConfig.scope || 'session');
129
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,10 @@ const EDITOR_CONFIG = {
23
23
  };
24
24
  // Error messages (centralized for consistency)
25
25
  // Include actionable recovery guidance to help LLM self-correct
26
+ const RECOVERY_HINT = "TIP: Use view_file first to get the exact content before editing.";
26
27
  const ERROR_MESSAGES = {
27
28
  FILE_NOT_FOUND: (filePath) => `File not found: ${filePath}. Use view_file to check the directory structure.`,
29
+ PATH_NOT_FOUND: (filePath) => `File or directory not found: ${filePath}`,
28
30
  SECURITY_ERROR: (error) => `Security: ${error}`,
29
31
  EMPTY_SEARCH_STRING: "Search string cannot be empty",
30
32
  STRING_NOT_FOUND: (str) => `String not found in file: "${str}". Use view_file to see the exact file contents and copy the correct text.`,
@@ -34,8 +36,24 @@ const ERROR_MESSAGES = {
34
36
  EDIT_CANCELLED: (operation) => `${operation} cancelled by user`,
35
37
  NO_EDITS_PROVIDED: "No edits provided",
36
38
  EMPTY_OLD_STR: (index) => `Edit ${index + 1}: old_str cannot be empty`,
37
- RECOVERY_HINT: "TIP: Use view_file first to get the exact content before editing.",
39
+ RECOVERY_HINT,
40
+ /** Append recovery hint to any error message */
41
+ withRecoveryHint: (msg) => `${msg} ${RECOVERY_HINT}`,
38
42
  };
43
+ /**
44
+ * Validate path security and return resolved path or error
45
+ * Centralizes the repeated pattern of path validation across all methods
46
+ */
47
+ async function validateAndResolvePath(filePath) {
48
+ const pathValidation = await validatePathSecure(filePath);
49
+ if (!pathValidation.success) {
50
+ return {
51
+ success: false,
52
+ error: ERROR_MESSAGES.SECURITY_ERROR(pathValidation.error || 'Unknown error'),
53
+ };
54
+ }
55
+ return { path: pathValidation.path };
56
+ }
39
57
  /**
40
58
  * Check if file exists and return appropriate error if not
41
59
  */
@@ -77,14 +95,10 @@ export class TextEditorTool {
77
95
  async view(filePath, viewRange) {
78
96
  try {
79
97
  // SECURITY: Validate path to prevent traversal attacks (REQ-SEC-002)
80
- const pathValidation = await validatePathSecure(filePath);
81
- if (!pathValidation.success) {
82
- return {
83
- success: false,
84
- error: `Security: ${pathValidation.error}`,
85
- };
86
- }
87
- const resolvedPath = pathValidation.path;
98
+ const pathResult = await validateAndResolvePath(filePath);
99
+ if ('success' in pathResult)
100
+ return pathResult; // Return error if validation failed
101
+ const resolvedPath = pathResult.path;
88
102
  if (await fs.pathExists(resolvedPath)) {
89
103
  const stats = await fs.stat(resolvedPath);
90
104
  if (stats.isDirectory()) {
@@ -144,7 +158,7 @@ export class TextEditorTool {
144
158
  else {
145
159
  return {
146
160
  success: false,
147
- error: `File or directory not found: ${filePath}`,
161
+ error: ERROR_MESSAGES.PATH_NOT_FOUND(filePath),
148
162
  };
149
163
  }
150
164
  }
@@ -155,19 +169,15 @@ export class TextEditorTool {
155
169
  async strReplace(filePath, oldStr, newStr, replaceAll = false) {
156
170
  try {
157
171
  // SECURITY: Validate path to prevent traversal attacks (REQ-SEC-002)
158
- const pathValidation = await validatePathSecure(filePath);
159
- if (!pathValidation.success) {
160
- return {
161
- success: false,
162
- error: `Security: ${pathValidation.error}`,
163
- };
164
- }
165
- const resolvedPath = pathValidation.path;
172
+ const pathResult = await validateAndResolvePath(filePath);
173
+ if ('success' in pathResult)
174
+ return pathResult;
175
+ const resolvedPath = pathResult.path;
166
176
  // Validate inputs
167
177
  if (!oldStr) {
168
178
  return {
169
179
  success: false,
170
- error: "Search string cannot be empty",
180
+ error: ERROR_MESSAGES.EMPTY_SEARCH_STRING,
171
181
  };
172
182
  }
173
183
  // Check file exists
@@ -206,7 +216,7 @@ export class TextEditorTool {
206
216
  : ERROR_MESSAGES.STRING_NOT_FOUND_MULTI;
207
217
  return {
208
218
  success: false,
209
- error: `${baseMsg} ${ERROR_MESSAGES.RECOVERY_HINT}`,
219
+ error: ERROR_MESSAGES.withRecoveryHint(baseMsg),
210
220
  };
211
221
  }
212
222
  }
@@ -223,7 +233,7 @@ export class TextEditorTool {
223
233
  : ERROR_MESSAGES.STRING_NOT_FOUND(oldStr);
224
234
  return {
225
235
  success: false,
226
- error: `${baseMsg} ${ERROR_MESSAGES.RECOVERY_HINT}`,
236
+ error: ERROR_MESSAGES.withRecoveryHint(baseMsg),
227
237
  };
228
238
  }
229
239
  }
@@ -259,14 +269,14 @@ export class TextEditorTool {
259
269
  // Phase 2: Log to audit logger
260
270
  if (autoAcceptConfig && autoAcceptConfig.auditLog?.enabled) {
261
271
  const logger = getAutoAcceptLogger();
262
- logger.logFileOperation('edit', filePath, isDestructive, !shouldProceed, // userConfirmed = true if cancelled
272
+ logger.logFileOperation('edit', filePath, isDestructive, shouldProceed, // userConfirmed = true if user confirmed (shouldProceed=true)
263
273
  isAutoAcceptEnabled && !shouldAlwaysConfirm, // autoAccepted = true if auto-accept AND not forced confirm
264
274
  autoAcceptConfig.scope || 'session');
265
275
  }
266
276
  if (!shouldProceed) {
267
277
  return {
268
278
  success: false,
269
- error: "File edit cancelled by user",
279
+ error: ERROR_MESSAGES.EDIT_CANCELLED("File edit"),
270
280
  };
271
281
  }
272
282
  // RACE CONDITION FIX: Check if file was modified during confirmation
@@ -275,7 +285,7 @@ export class TextEditorTool {
275
285
  if (statsAfterConfirm.mtimeMs !== mtimeBefore) {
276
286
  return {
277
287
  success: false,
278
- error: `File was modified by another process during confirmation. Please retry the operation.`,
288
+ error: ERROR_MESSAGES.FILE_MODIFIED_DURING_CONFIRMATION,
279
289
  };
280
290
  }
281
291
  // Create checkpoint before modification
@@ -300,14 +310,10 @@ export class TextEditorTool {
300
310
  async create(filePath, content) {
301
311
  try {
302
312
  // SECURITY: Validate path to prevent traversal attacks (REQ-SEC-002)
303
- const pathValidation = await validatePathSecure(filePath);
304
- if (!pathValidation.success) {
305
- return {
306
- success: false,
307
- error: `Security: ${pathValidation.error}`,
308
- };
309
- }
310
- const resolvedPath = pathValidation.path;
313
+ const pathResult = await validateAndResolvePath(filePath);
314
+ if ('success' in pathResult)
315
+ return pathResult;
316
+ const resolvedPath = pathResult.path;
311
317
  // Create a diff-style preview for file creation
312
318
  const contentLines = content.split("\n");
313
319
  let diffContent = [
@@ -339,14 +345,14 @@ export class TextEditorTool {
339
345
  // Phase 2: Log to audit logger
340
346
  if (autoAcceptConfig && autoAcceptConfig.auditLog?.enabled) {
341
347
  const logger = getAutoAcceptLogger();
342
- logger.logFileOperation('write', filePath, isDestructive, !shouldProceed, // userConfirmed = true if cancelled
348
+ logger.logFileOperation('write', filePath, isDestructive, shouldProceed, // userConfirmed = true if user confirmed (shouldProceed=true)
343
349
  isAutoAcceptEnabled && !shouldAlwaysConfirm, // autoAccepted = true if auto-accept AND not forced confirm
344
350
  autoAcceptConfig.scope || 'session');
345
351
  }
346
352
  if (!shouldProceed) {
347
353
  return {
348
354
  success: false,
349
- error: "File creation cancelled by user",
355
+ error: ERROR_MESSAGES.EDIT_CANCELLED("File creation"),
350
356
  };
351
357
  }
352
358
  // Create checkpoint before modification (will skip if file doesn't exist)
@@ -376,14 +382,10 @@ export class TextEditorTool {
376
382
  async replaceLines(filePath, startLine, endLine, newContent) {
377
383
  try {
378
384
  // SECURITY: Validate path to prevent traversal attacks (REQ-SEC-002)
379
- const pathValidation = await validatePathSecure(filePath);
380
- if (!pathValidation.success) {
381
- return {
382
- success: false,
383
- error: `Security: ${pathValidation.error}`,
384
- };
385
- }
386
- const resolvedPath = pathValidation.path;
385
+ const pathResult = await validateAndResolvePath(filePath);
386
+ if ('success' in pathResult)
387
+ return pathResult;
388
+ const resolvedPath = pathResult.path;
387
389
  const fileExistsError = await checkFileExists(resolvedPath);
388
390
  if (fileExistsError) {
389
391
  return fileExistsError;
@@ -417,7 +419,7 @@ export class TextEditorTool {
417
419
  if (!confirmationResult.confirmed) {
418
420
  return {
419
421
  success: false,
420
- error: confirmationResult.feedback || "Line replacement cancelled by user",
422
+ error: confirmationResult.feedback || ERROR_MESSAGES.EDIT_CANCELLED("Line replacement"),
421
423
  };
422
424
  }
423
425
  }
@@ -448,14 +450,10 @@ export class TextEditorTool {
448
450
  async insert(filePath, insertLine, content) {
449
451
  try {
450
452
  // SECURITY: Validate path to prevent traversal attacks (REQ-SEC-002)
451
- const pathValidation = await validatePathSecure(filePath);
452
- if (!pathValidation.success) {
453
- return {
454
- success: false,
455
- error: `Security: ${pathValidation.error}`,
456
- };
457
- }
458
- const resolvedPath = pathValidation.path;
453
+ const pathResult = await validateAndResolvePath(filePath);
454
+ if ('success' in pathResult)
455
+ return pathResult;
456
+ const resolvedPath = pathResult.path;
459
457
  const fileExistsError = await checkFileExists(resolvedPath);
460
458
  if (fileExistsError) {
461
459
  return fileExistsError;
@@ -523,19 +521,15 @@ export class TextEditorTool {
523
521
  async multiEdit(filePath, edits) {
524
522
  try {
525
523
  // SECURITY: Validate path to prevent traversal attacks
526
- const pathValidation = await validatePathSecure(filePath);
527
- if (!pathValidation.success) {
528
- return {
529
- success: false,
530
- error: `Security: ${pathValidation.error}`,
531
- };
532
- }
533
- const resolvedPath = pathValidation.path;
524
+ const pathResult = await validateAndResolvePath(filePath);
525
+ if ('success' in pathResult)
526
+ return pathResult;
527
+ const resolvedPath = pathResult.path;
534
528
  // Validate inputs
535
529
  if (!edits || edits.length === 0) {
536
530
  return {
537
531
  success: false,
538
- error: "No edits provided",
532
+ error: ERROR_MESSAGES.NO_EDITS_PROVIDED,
539
533
  };
540
534
  }
541
535
  for (let i = 0; i < edits.length; i++) {
@@ -584,7 +578,7 @@ export class TextEditorTool {
584
578
  : `Edit ${i + 1}: String not found in file (after applying previous edits).`;
585
579
  return {
586
580
  success: false,
587
- error: `${baseMsg} ${ERROR_MESSAGES.RECOVERY_HINT}`,
581
+ error: ERROR_MESSAGES.withRecoveryHint(baseMsg),
588
582
  };
589
583
  }
590
584
  }
@@ -600,7 +594,7 @@ export class TextEditorTool {
600
594
  : `Edit ${i + 1}: String not found: "${edit.old_str}".`;
601
595
  return {
602
596
  success: false,
603
- error: `${baseMsg} ${ERROR_MESSAGES.RECOVERY_HINT}`,
597
+ error: ERROR_MESSAGES.withRecoveryHint(baseMsg),
604
598
  };
605
599
  }
606
600
  }
@@ -640,7 +634,7 @@ export class TextEditorTool {
640
634
  if (!shouldProceed) {
641
635
  return {
642
636
  success: false,
643
- error: "Multi-edit cancelled by user",
637
+ error: ERROR_MESSAGES.EDIT_CANCELLED("Multi-edit"),
644
638
  };
645
639
  }
646
640
  // Race condition check