mcp-code-context 3.9.1 → 3.9.2

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 (98) hide show
  1. package/CHANGELOG.md +227 -215
  2. package/INSTRUCTIONS.md +17 -11
  3. package/README.md +16 -7
  4. package/dist/src/core/engine.d.ts +1 -1
  5. package/dist/src/core/engine.js +1 -1
  6. package/dist/src/core/indexManager.d.ts +1 -1
  7. package/dist/src/core/indexManager.js +26 -26
  8. package/dist/src/core/sessionManager.d.ts +1 -1
  9. package/dist/src/core/sessionManager.js +1 -1
  10. package/dist/src/core/validator.d.ts +2 -2
  11. package/dist/src/core/validator.js +8 -2
  12. package/dist/src/core/validator.js.map +1 -1
  13. package/dist/src/index.d.ts +1 -1
  14. package/dist/src/index.js +2 -2
  15. package/dist/src/operations/astTransform.d.ts +1 -1
  16. package/dist/src/operations/astTransform.js +1 -1
  17. package/dist/src/operations/compress.d.ts +1 -1
  18. package/dist/src/operations/compress.js +1 -1
  19. package/dist/src/operations/confirmationStore.d.ts +1 -1
  20. package/dist/src/operations/confirmationStore.js +1 -1
  21. package/dist/src/operations/write.d.ts +1 -1
  22. package/dist/src/operations/write.js +1 -1
  23. package/dist/src/parsers/base.d.ts +1 -1
  24. package/dist/src/parsers/base.js +1 -1
  25. package/dist/src/parsers/csharp.d.ts +1 -1
  26. package/dist/src/parsers/csharp.js +1 -1
  27. package/dist/src/parsers/dartTreeSitter.d.ts +1 -1
  28. package/dist/src/parsers/dartTreeSitter.js +1 -1
  29. package/dist/src/parsers/go.d.ts +1 -1
  30. package/dist/src/parsers/go.js +1 -1
  31. package/dist/src/parsers/java.d.ts +1 -1
  32. package/dist/src/parsers/java.js +1 -1
  33. package/dist/src/parsers/kotlin.d.ts +1 -1
  34. package/dist/src/parsers/kotlin.js +1 -1
  35. package/dist/src/parsers/php.d.ts +1 -1
  36. package/dist/src/parsers/php.js +1 -1
  37. package/dist/src/parsers/python.d.ts +1 -1
  38. package/dist/src/parsers/python.js +1 -1
  39. package/dist/src/parsers/registry.d.ts +1 -1
  40. package/dist/src/parsers/registry.js +1 -1
  41. package/dist/src/parsers/ruby.d.ts +1 -1
  42. package/dist/src/parsers/ruby.js +1 -1
  43. package/dist/src/parsers/rust.d.ts +1 -1
  44. package/dist/src/parsers/rust.js +1 -1
  45. package/dist/src/parsers/typescript.d.ts +1 -1
  46. package/dist/src/parsers/typescript.js +1 -1
  47. package/dist/src/tools/adminHandlers.js +8 -7
  48. package/dist/src/tools/adminHandlers.js.map +1 -1
  49. package/dist/src/tools/pipeline.js +1 -1
  50. package/dist/src/tools/readHandlers.js +20 -18
  51. package/dist/src/tools/readHandlers.js.map +1 -1
  52. package/dist/src/tools/toolDefinitions.d.ts +7 -2
  53. package/dist/src/tools/toolDefinitionsAdmin.d.ts +1 -1
  54. package/dist/src/tools/toolDefinitionsAdmin.js +12 -12
  55. package/dist/src/tools/toolDefinitionsAdmin.js.map +1 -1
  56. package/dist/src/tools/toolDefinitionsCore.d.ts +6 -1
  57. package/dist/src/tools/toolDefinitionsCore.js +41 -41
  58. package/dist/src/tools/toolDefinitionsCore.js.map +1 -1
  59. package/dist/src/tools/writeHandlers.js +28 -16
  60. package/dist/src/tools/writeHandlers.js.map +1 -1
  61. package/dist/src/utils/appDir.d.ts +1 -1
  62. package/dist/src/utils/appDir.js +1 -1
  63. package/dist/src/utils/auditLogger.d.ts +1 -1
  64. package/dist/src/utils/auditLogger.js +1 -1
  65. package/dist/src/utils/backupManager.d.ts +1 -1
  66. package/dist/src/utils/backupManager.js +1 -1
  67. package/dist/src/utils/constants.d.ts +1 -1
  68. package/dist/src/utils/constants.js +1 -1
  69. package/dist/src/utils/diff.d.ts +1 -1
  70. package/dist/src/utils/diff.js +1 -1
  71. package/dist/src/utils/fileLock.d.ts +1 -1
  72. package/dist/src/utils/fileLock.js +1 -1
  73. package/dist/src/utils/fileWalker.d.ts +1 -1
  74. package/dist/src/utils/fileWalker.js +1 -1
  75. package/dist/src/utils/fileWatcher.d.ts +1 -1
  76. package/dist/src/utils/fileWatcher.js +1 -1
  77. package/dist/src/utils/fuzzySearch.d.ts +1 -1
  78. package/dist/src/utils/fuzzySearch.js +1 -1
  79. package/dist/src/utils/gemfileParser.d.ts +1 -1
  80. package/dist/src/utils/gemfileParser.js +1 -1
  81. package/dist/src/utils/logger.d.ts +1 -1
  82. package/dist/src/utils/logger.js +1 -1
  83. package/dist/src/utils/metaprogramming.d.ts +1 -1
  84. package/dist/src/utils/metaprogramming.js +1 -1
  85. package/dist/src/utils/projectRoot.d.ts +9 -0
  86. package/dist/src/utils/projectRoot.js +94 -0
  87. package/dist/src/utils/projectRoot.js.map +1 -0
  88. package/dist/src/utils/railsRoutes.d.ts +1 -1
  89. package/dist/src/utils/railsRoutes.js +1 -1
  90. package/dist/src/utils/rateLimiter.d.ts +1 -1
  91. package/dist/src/utils/rateLimiter.js +1 -1
  92. package/dist/src/utils/streaming.d.ts +1 -1
  93. package/dist/src/utils/streaming.js +1 -1
  94. package/dist/src/utils/telemetry.d.ts +1 -1
  95. package/dist/src/utils/telemetry.js +1 -1
  96. package/llms.txt +14 -6
  97. package/package.json +1 -1
  98. package/vitest.config.ts +0 -37
@@ -7,10 +7,10 @@ export const CORE_TOOLS = [
7
7
  type: "object",
8
8
  properties: {
9
9
  directoryPath: { type: "string", description: "Absolute path to repository root" },
10
- projectRoot: { type: "string", description: "Project root for security boundary" },
10
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to directoryPath)" },
11
11
  format: { type: "string", enum: ["xml", "markdown"], description: "Output format (default: xml)" },
12
12
  },
13
- required: ["directoryPath", "projectRoot"],
13
+ required: ["directoryPath"],
14
14
  },
15
15
  },
16
16
  {
@@ -20,11 +20,11 @@ export const CORE_TOOLS = [
20
20
  type: "object",
21
21
  properties: {
22
22
  filePath: { type: "string", description: "Absolute path to file" },
23
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
23
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
24
24
  symbolName: { type: "string", description: "Symbol name to extract (optional)" },
25
25
  className: { type: "string", description: "Class name for scoping (optional)" },
26
26
  },
27
- required: ["filePath", "projectRoot"],
27
+ required: ["filePath"],
28
28
  },
29
29
  },
30
30
  {
@@ -34,10 +34,10 @@ export const CORE_TOOLS = [
34
34
  type: "object",
35
35
  properties: {
36
36
  filePath: { type: "string", description: "Absolute path to file" },
37
- projectRoot: { type: "string", description: "Project root for security boundary" },
37
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
38
38
  rootDir: { type: "string", description: "Repository root (optional, defaults to projectRoot)" },
39
39
  },
40
- required: ["filePath", "projectRoot"],
40
+ required: ["filePath"],
41
41
  },
42
42
  },
43
43
  {
@@ -47,13 +47,13 @@ export const CORE_TOOLS = [
47
47
  type: "object",
48
48
  properties: {
49
49
  filePath: { type: "string", description: "Absolute path to file" },
50
- projectRoot: { type: "string", description: "Project root for security boundary" },
50
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
51
51
  startLine: { type: "number", description: "Starting line number (1-indexed)" },
52
52
  endLine: { type: "number", description: "Ending line number (1-indexed)" },
53
53
  aroundPattern: { type: "string", description: "Search pattern to find and return surrounding lines" },
54
54
  contextLines: { type: "number", description: "Number of lines before/after pattern (default: 5)" },
55
55
  },
56
- required: ["filePath", "projectRoot"],
56
+ required: ["filePath"],
57
57
  },
58
58
  },
59
59
  {
@@ -63,7 +63,7 @@ export const CORE_TOOLS = [
63
63
  type: "object",
64
64
  properties: {
65
65
  rootDir: { type: "string", description: "Repository root directory" },
66
- projectRoot: { type: "string", description: "Project root for security boundary" },
66
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to rootDir)" },
67
67
  pattern: { type: "string", description: "Regular expression pattern to search" },
68
68
  fileExtensions: { type: "array", items: { type: "string" }, description: "Extensions to search" },
69
69
  excludeDirs: { type: "array", items: { type: "string" }, description: "Directories to exclude" },
@@ -72,7 +72,7 @@ export const CORE_TOOLS = [
72
72
  fuzzyMatch: { type: "boolean", description: "Enable fuzzy matching (default: false)" },
73
73
  fuzzyThreshold: { type: "number", description: "Fuzzy match threshold 0-1 (default: 0.4)" },
74
74
  },
75
- required: ["rootDir", "projectRoot", "pattern"],
75
+ required: ["rootDir", "pattern"],
76
76
  },
77
77
  },
78
78
  {
@@ -82,9 +82,9 @@ export const CORE_TOOLS = [
82
82
  type: "object",
83
83
  properties: {
84
84
  filePath: { type: "string", description: "Absolute path to file" },
85
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
85
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
86
86
  },
87
- required: ["filePath", "projectRoot"],
87
+ required: ["filePath"],
88
88
  },
89
89
  },
90
90
  {
@@ -94,15 +94,15 @@ export const CORE_TOOLS = [
94
94
  type: "object",
95
95
  properties: {
96
96
  filePath: { type: "string", description: "Absolute path to file" },
97
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
97
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
98
98
  symbolName: { type: "string", description: "Symbol to replace" },
99
- newContent: { type: "string", description: "New code (Phase 1 only ΓÇö omit in Phase 2, server uses stored content)" },
99
+ newContent: { type: "string", description: "New code (Phase 1 only — omit in Phase 2, server uses stored content)" },
100
100
  className: { type: "string", description: "Class name (optional, for scoping)" },
101
101
  confirm: { type: "boolean", description: "Set true to apply a pending operation (Phase 2)" },
102
102
  confirmationToken: { type: "string", description: "Token from Phase 1 dry-run (Phase 2 only)" },
103
103
  diffFormat: { type: "string", enum: ["unified", "compact", "summary", "none"], description: "Diff verbosity in Phase 1 output (default: unified). Use none to skip diff and save tokens." },
104
104
  },
105
- required: ["filePath", "projectRoot", "symbolName"],
105
+ required: ["filePath", "symbolName"],
106
106
  },
107
107
  },
108
108
  {
@@ -112,8 +112,8 @@ export const CORE_TOOLS = [
112
112
  type: "object",
113
113
  properties: {
114
114
  filePath: { type: "string", description: "Absolute path to file" },
115
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
116
- code: { type: "string", description: "Code to insert (Phase 1 only ΓÇö omit in Phase 2, server uses stored content)" },
115
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
116
+ code: { type: "string", description: "Code to insert (Phase 1 only — omit in Phase 2, server uses stored content)" },
117
117
  anchorSymbol: { type: "string", description: "Symbol to position relative to" },
118
118
  position: { type: "string", enum: ["before", "after", "inside_start", "inside_end"], description: "Where to insert" },
119
119
  className: { type: "string", description: "Class name (optional)" },
@@ -121,7 +121,7 @@ export const CORE_TOOLS = [
121
121
  confirmationToken: { type: "string", description: "Token from Phase 1 dry-run (Phase 2 only)" },
122
122
  diffFormat: { type: "string", enum: ["unified", "compact", "summary", "none"], description: "Diff verbosity in Phase 1 output (default: unified). Use none to skip diff and save tokens." },
123
123
  },
124
- required: ["filePath", "projectRoot"],
124
+ required: ["filePath", "code"],
125
125
  },
126
126
  },
127
127
  {
@@ -131,14 +131,14 @@ export const CORE_TOOLS = [
131
131
  type: "object",
132
132
  properties: {
133
133
  filePath: { type: "string", description: "Absolute path to file" },
134
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
134
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
135
135
  symbolName: { type: "string", description: "Symbol to remove" },
136
136
  className: { type: "string", description: "Class name (optional)" },
137
137
  force: { type: "boolean", description: "Skip dependency check" },
138
138
  confirm: { type: "boolean", description: "Set true to apply a pending operation" },
139
139
  confirmationToken: { type: "string", description: "Token from Phase 1 dry-run" },
140
140
  },
141
- required: ["filePath", "projectRoot", "symbolName"],
141
+ required: ["filePath", "symbolName"],
142
142
  },
143
143
  },
144
144
  {
@@ -148,17 +148,17 @@ export const CORE_TOOLS = [
148
148
  type: "object",
149
149
  properties: {
150
150
  filePath: { type: "string", description: "File where symbol is defined" },
151
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
151
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
152
152
  oldName: { type: "string", description: "Current name" },
153
153
  newName: { type: "string", description: "New name" },
154
- rootDir: { type: "string", description: "Repository root (optional)" },
154
+ rootDir: { type: "string", description: "Repository root (optional, defaults to projectRoot)" },
155
155
  confirm: { type: "boolean", description: "Set true to apply a pending operation" },
156
156
  confirmationToken: { type: "string", description: "Token from Phase 1 dry-run" },
157
157
  },
158
- required: ["filePath", "projectRoot", "oldName", "newName"],
158
+ required: ["filePath", "oldName", "newName"],
159
159
  },
160
160
  },
161
- // ── AST Transform (v3.9.1) ──────────────────────────────────────────────
161
+ // ── AST Transform (v3.9.0) ──────────────────────────────────────────────
162
162
  {
163
163
  name: "ast_transform",
164
164
  description: "Apply a declarative AST transformation to a symbol. Supports: add_parameter, wrap_with_try_catch, add_decorator, change_return_type, extract_variable. Uses two-phase write (Phase 1: preview diff, Phase 2: confirm with token).",
@@ -166,8 +166,8 @@ export const CORE_TOOLS = [
166
166
  type: "object",
167
167
  properties: {
168
168
  filePath: { type: "string", description: "Absolute path to file" },
169
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
170
- symbolName: { type: "string", description: "Target symbol to transform" },
169
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
170
+ symbolName: { type: "string", targetSymbol: true, description: "Target symbol to transform" },
171
171
  className: { type: "string", description: "Class name (optional, for scoping)" },
172
172
  transform: {
173
173
  type: "object",
@@ -192,10 +192,10 @@ export const CORE_TOOLS = [
192
192
  confirmationToken: { type: "string", description: "Token from Phase 1 dry-run (Phase 2 only)" },
193
193
  diffFormat: { type: "string", enum: ["unified", "compact", "summary", "none"], description: "Diff verbosity (default: unified)" },
194
194
  },
195
- required: ["filePath", "projectRoot", "symbolName", "transform"],
195
+ required: ["filePath", "symbolName", "transform"],
196
196
  },
197
197
  },
198
- // ── NEW TOOLS v3.9.1 ──────────────────────────────────────────────────────ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
198
+ // ── Core Inspection & Search Tools ──────────────────────────────────────────
199
199
  {
200
200
  name: "search_symbols",
201
201
  description: "Search symbols by name across the repo using AST (not text search). Finds classes, functions, methods by approximate name.",
@@ -203,7 +203,7 @@ export const CORE_TOOLS = [
203
203
  type: "object",
204
204
  properties: {
205
205
  rootDir: { type: "string", description: "Directory to search in" },
206
- projectRoot: { type: "string", description: "Project root for security boundary" },
206
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to rootDir)" },
207
207
  query: { type: "string", description: "Symbol name or partial name to search" },
208
208
  fuzzy: { type: "boolean", description: "Enable fuzzy name matching (default: false)" },
209
209
  types: { type: "array", items: { type: "string" }, description: "Filter by symbol types: class_declaration, function_declaration, method_definition, etc." },
@@ -211,7 +211,7 @@ export const CORE_TOOLS = [
211
211
  excludeDirs: { type: "array", items: { type: "string" }, description: "Directories to exclude" },
212
212
  maxResults: { type: "number", description: "Maximum results (default: 20)" },
213
213
  },
214
- required: ["rootDir", "projectRoot", "query"],
214
+ required: ["rootDir", "query"],
215
215
  },
216
216
  },
217
217
  {
@@ -221,12 +221,12 @@ export const CORE_TOOLS = [
221
221
  type: "object",
222
222
  properties: {
223
223
  filePath: { type: "string", description: "Absolute path to file" },
224
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
224
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
225
225
  symbolName: { type: "string", description: "Symbol to explain" },
226
226
  className: { type: "string", description: "Class name (optional, for scoping)" },
227
227
  rootDir: { type: "string", description: "Root dir for caller search (optional, defaults to projectRoot)" },
228
228
  },
229
- required: ["filePath", "projectRoot", "symbolName"],
229
+ required: ["filePath", "symbolName"],
230
230
  },
231
231
  },
232
232
  {
@@ -248,9 +248,9 @@ export const CORE_TOOLS = [
248
248
  required: ["filePath", "symbolName"],
249
249
  },
250
250
  },
251
- projectRoot: { type: "string", description: "Project root for security boundary" },
251
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
252
252
  },
253
- required: ["reads", "projectRoot"],
253
+ required: ["reads"],
254
254
  },
255
255
  },
256
256
  {
@@ -262,16 +262,16 @@ export const CORE_TOOLS = [
262
262
  required: [],
263
263
  },
264
264
  },
265
- // ── NEW TOOLS v3.9.1 — Ruby Intelligence ─────────────────────────────────
265
+ // ── Ruby Intelligence Tools (v3.9.0) ─────────────────────────────────────
266
266
  {
267
267
  name: "get_gemfile_context",
268
268
  description: "Parse Gemfile and return known gem behaviors with implicit Rails conventions. Useful for understanding what capabilities are active in a Ruby project without running the app.",
269
269
  inputSchema: {
270
270
  type: "object",
271
271
  properties: {
272
- projectRoot: { type: "string", description: "Project root (REQUIRED) — must contain a Gemfile" },
272
+ projectRoot: { type: "string", description: "Project root (optional, defaults to current directory) — must contain a Gemfile" },
273
273
  },
274
- required: ["projectRoot"],
274
+ required: [],
275
275
  },
276
276
  },
277
277
  {
@@ -280,11 +280,11 @@ export const CORE_TOOLS = [
280
280
  inputSchema: {
281
281
  type: "object",
282
282
  properties: {
283
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
283
+ projectRoot: { type: "string", description: "Project root (optional, defaults to current directory)" },
284
284
  filePath: { type: "string", description: "Scan a single file (optional — omit to scan full project)" },
285
285
  rootDir: { type: "string", description: "Scan a subdirectory (optional — e.g. app/models)" },
286
286
  },
287
- required: ["projectRoot"],
287
+ required: [],
288
288
  },
289
289
  },
290
290
  {
@@ -293,9 +293,9 @@ export const CORE_TOOLS = [
293
293
  inputSchema: {
294
294
  type: "object",
295
295
  properties: {
296
- projectRoot: { type: "string", description: "Project root (REQUIRED) — must contain config/routes.rb" },
296
+ projectRoot: { type: "string", description: "Project root (optional, defaults to current directory) — must contain config/routes.rb" },
297
297
  },
298
- required: ["projectRoot"],
298
+ required: [],
299
299
  },
300
300
  },
301
301
  // ── END NEW TOOLS ────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"toolDefinitionsCore.js","sourceRoot":"","sources":["../../../src/tools/toolDefinitionsCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolDefinitionsCore.js","sourceRoot":"","sources":["../../../src/tools/toolDefinitionsCore.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,12 @@ import { astTransform } from "../operations/astTransform.js";
6
6
  import { BackupManager } from "../utils/backupManager.js";
7
7
  import { verifyFileUnchanged } from "../utils/toctou.js";
8
8
  import { getSession, getRegistry, SESSION_ID } from "./context.js";
9
+ import { resolveProjectRoot } from "../utils/projectRoot.js";
9
10
  export async function handleTwoPhaseWrite(args, operationName, executeWrite) {
10
11
  const confirm = Boolean(args.confirm);
11
12
  const token = args.confirmationToken ? String(args.confirmationToken) : undefined;
12
13
  const session = getSession();
13
- const projectRoot = args.projectRoot ? String(args.projectRoot) : undefined;
14
+ const projectRoot = resolveProjectRoot(args, args.filePath ? String(args.filePath) : undefined);
14
15
  // Proactively activate SQLite persistence if projectRoot is provided
15
16
  if (projectRoot && !session.confirmationStore.hasPersistentStore()) {
16
17
  session.confirmationStore.activatePersistence(SESSION_ID, projectRoot);
@@ -21,8 +22,8 @@ export async function handleTwoPhaseWrite(args, operationName, executeWrite) {
21
22
  const pendingOp = await session.confirmationStore.consumePending(token);
22
23
  if (!pendingOp)
23
24
  throw new Error(`Invalid or expired confirmation token: ${token}`);
24
- const projectRoot = String(args.projectRoot);
25
- const validator = new SecurityValidator(projectRoot);
25
+ const effectiveProjectRoot = resolveProjectRoot(args, pendingOp.filePath);
26
+ const validator = new SecurityValidator(effectiveProjectRoot);
26
27
  const lockReleases = [];
27
28
  try {
28
29
  if (pendingOp.pendingWrites && pendingOp.pendingWrites.length > 0) {
@@ -43,7 +44,7 @@ export async function handleTwoPhaseWrite(args, operationName, executeWrite) {
43
44
  resolvedWrites.push({ resolvedPath, newContent: pw.newContent });
44
45
  }
45
46
  for (const { resolvedPath, newContent } of resolvedWrites) {
46
- await BackupManager.createBackup(resolvedPath, projectRoot);
47
+ await BackupManager.createBackup(resolvedPath, effectiveProjectRoot);
47
48
  await writeFile(resolvedPath, newContent);
48
49
  }
49
50
  }
@@ -56,7 +57,7 @@ export async function handleTwoPhaseWrite(args, operationName, executeWrite) {
56
57
  lockReleases.push(await session.lockManager.acquireLock(validation.resolvedPath));
57
58
  }
58
59
  const resolvedPath = await verifyFileUnchanged(validator, pendingOp.filePath, pendingOp.originalHash);
59
- await BackupManager.createBackup(resolvedPath, projectRoot);
60
+ await BackupManager.createBackup(resolvedPath, effectiveProjectRoot);
60
61
  await writeFile(resolvedPath, pendingOp.newContent);
61
62
  }
62
63
  }
@@ -118,9 +119,11 @@ export async function handleWriteFileSurgical(args) {
118
119
  const parser = getRegistry().getParser(ext);
119
120
  if (!parser)
120
121
  throw new Error(`No parser available for ${ext} files`);
122
+ const filePath = String(args.filePath);
123
+ const projectRoot = resolveProjectRoot(args, filePath);
121
124
  return await replaceSymbol({
122
- filePath: String(args.filePath),
123
- projectRoot: String(args.projectRoot),
125
+ filePath,
126
+ projectRoot,
124
127
  symbolName: String(args.symbolName),
125
128
  newContent: String(args.newContent),
126
129
  className: args.className ? String(args.className) : undefined,
@@ -134,9 +137,11 @@ export async function handleInsertSymbol(args) {
134
137
  const parser = getRegistry().getParser(ext);
135
138
  if (!parser)
136
139
  throw new Error(`No parser available for ${ext} files`);
140
+ const filePath = String(args.filePath);
141
+ const projectRoot = resolveProjectRoot(args, filePath);
137
142
  return await insertCode({
138
- filePath: String(args.filePath),
139
- projectRoot: String(args.projectRoot),
143
+ filePath,
144
+ projectRoot,
140
145
  code: String(args.code),
141
146
  anchorSymbol: args.anchorSymbol ? String(args.anchorSymbol) : undefined,
142
147
  position: args.position !== undefined ? String(args.position) : undefined,
@@ -151,9 +156,11 @@ export async function handleRemoveSymbol(args) {
151
156
  const parser = getRegistry().getParser(ext);
152
157
  if (!parser)
153
158
  throw new Error(`No parser available for ${ext} files`);
159
+ const filePath = String(args.filePath);
160
+ const projectRoot = resolveProjectRoot(args, filePath);
154
161
  return await removeSymbol({
155
- filePath: String(args.filePath),
156
- projectRoot: String(args.projectRoot),
162
+ filePath,
163
+ projectRoot,
157
164
  symbolName: String(args.symbolName),
158
165
  className: args.className ? String(args.className) : undefined,
159
166
  parser,
@@ -166,12 +173,15 @@ export async function handleRenameSymbol(args) {
166
173
  const parser = getRegistry().getParser(ext);
167
174
  if (!parser)
168
175
  throw new Error(`No parser available for ${ext} files`);
176
+ const filePath = String(args.filePath);
177
+ const projectRoot = resolveProjectRoot(args, filePath);
178
+ const rootDir = (args.rootDir && args.rootDir !== "undefined") ? String(args.rootDir) : projectRoot;
169
179
  return await renameSymbol({
170
- filePath: String(args.filePath),
171
- projectRoot: String(args.projectRoot),
180
+ filePath,
181
+ projectRoot,
172
182
  oldName: String(args.oldName),
173
183
  newName: String(args.newName),
174
- rootDir: args.rootDir ? String(args.rootDir) : String(args.projectRoot),
184
+ rootDir,
175
185
  parser,
176
186
  });
177
187
  });
@@ -186,9 +196,11 @@ export async function handleAstTransform(args) {
186
196
  if (!transform || !transform.kind) {
187
197
  throw new Error('"transform" object with "kind" is required');
188
198
  }
199
+ const filePath = String(args.filePath);
200
+ const projectRoot = resolveProjectRoot(args, filePath);
189
201
  return await astTransform({
190
- filePath: String(args.filePath),
191
- projectRoot: String(args.projectRoot),
202
+ filePath,
203
+ projectRoot,
192
204
  symbolName: String(args.symbolName),
193
205
  className: args.className ? String(args.className) : undefined,
194
206
  transform,
@@ -1 +1 @@
1
- {"version":3,"file":"writeHandlers.js","sourceRoot":"","sources":["../../../src/tools/writeHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeHandlers.js","sourceRoot":"","sources":["../../../src/tools/writeHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * App Directory - v3.9.1
2
+ * App Directory - v3.9.2
3
3
  * Centralizes ~/.mcp-code-context/ path resolution across all OS.
4
4
  * Fallback to os.tmpdir() in environments without HOME (CI, Docker).
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * App Directory - v3.9.1
2
+ * App Directory - v3.9.2
3
3
  * Centralizes ~/.mcp-code-context/ path resolution across all OS.
4
4
  * Fallback to os.tmpdir() in environments without HOME (CI, Docker).
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Audit Logger - v3.9.1
2
+ * Audit Logger - v3.9.2
3
3
  * Comprehensive audit trail for all operations
4
4
  */
5
5
  export interface AuditEntry {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Audit Logger - v3.9.1
2
+ * Audit Logger - v3.9.2
3
3
  * Comprehensive audit trail for all operations
4
4
  */
5
5
  import * as fs from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Backup Manager - v3.9.1
2
+ * Backup Manager - v3.9.2
3
3
  * Handles rolling backups in ~/.mcp-code-context/backups/
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Backup Manager - v3.9.1
2
+ * Backup Manager - v3.9.2
3
3
  * Handles rolling backups in ~/.mcp-code-context/backups/
4
4
  */
5
5
  import * as fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Constants - Centralized configuration
3
- * v3.9.1
3
+ * v3.9.2
4
4
  */
5
5
  export declare const EXCLUDE_DIRS: string[];
6
6
  export declare const SUPPORTED_EXTENSIONS: string[];
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Constants - Centralized configuration
3
- * v3.9.1
3
+ * v3.9.2
4
4
  */
5
5
  // Directory exclusions
6
6
  export const EXCLUDE_DIRS = [
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Diff Utilities - v3.9.1
2
+ * Diff Utilities - v3.9.2
3
3
  * Uses diff-match-patch for efficient diffing
4
4
  */
5
5
  export interface DiffLine {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Diff Utilities - v3.9.1
2
+ * Diff Utilities - v3.9.2
3
3
  * Uses diff-match-patch for efficient diffing
4
4
  */
5
5
  import DiffMatchPatch from 'diff-match-patch';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Lock Manager - v3.9.1
2
+ * File Lock Manager - v3.9.2
3
3
  * Filesystem-based locks for multi-process safety
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Lock Manager - v3.9.1
2
+ * File Lock Manager - v3.9.2
3
3
  * Filesystem-based locks for multi-process safety
4
4
  */
5
5
  import lockfile from 'proper-lockfile';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Walker Utility - v3.9.1
2
+ * File Walker Utility - v3.9.2
3
3
  * Centralized directory traversal with filtering
4
4
  */
5
5
  export interface WalkOptions {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Walker Utility - v3.9.1
2
+ * File Walker Utility - v3.9.2
3
3
  * Centralized directory traversal with filtering
4
4
  */
5
5
  import * as fs from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Watcher - v3.9.1
2
+ * File Watcher - v3.9.2
3
3
  * Auto-invalidate cache on file changes with chokidar
4
4
  */
5
5
  export interface FileWatcherConfig {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * File Watcher - v3.9.1
2
+ * File Watcher - v3.9.2
3
3
  * Auto-invalidate cache on file changes with chokidar
4
4
  */
5
5
  import chokidar from 'chokidar';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Fuzzy Search - v3.9.1
2
+ * Fuzzy Search - v3.9.2
3
3
  * Typo-tolerant search with fuse.js
4
4
  */
5
5
  export interface FuzzySearchOptions {