@j0hanz/fs-context-mcp 2.0.0 → 2.0.1

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 (177) hide show
  1. package/README.md +22 -17
  2. package/dist/config.d.ts +117 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +31 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/constants.d.ts +3 -3
  9. package/dist/lib/constants.d.ts.map +1 -1
  10. package/dist/lib/constants.js +129 -3
  11. package/dist/lib/constants.js.map +1 -1
  12. package/dist/lib/errors.d.ts +1 -1
  13. package/dist/lib/errors.d.ts.map +1 -1
  14. package/dist/lib/errors.js +9 -9
  15. package/dist/lib/errors.js.map +1 -1
  16. package/dist/lib/file-operations/file-info.d.ts +7 -1
  17. package/dist/lib/file-operations/file-info.d.ts.map +1 -1
  18. package/dist/lib/file-operations/file-info.js +84 -8
  19. package/dist/lib/file-operations/file-info.js.map +1 -1
  20. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
  21. package/dist/lib/file-operations/get-multiple-file-info.js +8 -4
  22. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
  23. package/dist/lib/file-operations/glob-engine.d.ts.map +1 -1
  24. package/dist/lib/file-operations/glob-engine.js +46 -19
  25. package/dist/lib/file-operations/glob-engine.js.map +1 -1
  26. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
  27. package/dist/lib/file-operations/list-directory-entry.js +5 -3
  28. package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
  29. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  30. package/dist/lib/file-operations/list-directory-helpers.js +11 -4
  31. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  32. package/dist/lib/file-operations/list-directory.d.ts +12 -2
  33. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  34. package/dist/lib/file-operations/list-directory.js +155 -3
  35. package/dist/lib/file-operations/list-directory.js.map +1 -1
  36. package/dist/lib/file-operations/read-multiple-files-helpers.d.ts.map +1 -1
  37. package/dist/lib/file-operations/read-multiple-files-helpers.js +40 -19
  38. package/dist/lib/file-operations/read-multiple-files-helpers.js.map +1 -1
  39. package/dist/lib/file-operations/read-multiple-files.d.ts +18 -1
  40. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  41. package/dist/lib/file-operations/read-multiple-files.js +107 -2
  42. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  43. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  44. package/dist/lib/file-operations/search/engine.js +7 -2
  45. package/dist/lib/file-operations/search/engine.js.map +1 -1
  46. package/dist/lib/file-operations/search/scan-file.d.ts.map +1 -1
  47. package/dist/lib/file-operations/search/scan-file.js +6 -3
  48. package/dist/lib/file-operations/search/scan-file.js.map +1 -1
  49. package/dist/lib/file-operations/search/scan-runner.d.ts.map +1 -1
  50. package/dist/lib/file-operations/search/scan-runner.js +21 -16
  51. package/dist/lib/file-operations/search/scan-runner.js.map +1 -1
  52. package/dist/lib/file-operations/search-content.d.ts +64 -17
  53. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  54. package/dist/lib/file-operations/search-content.js +828 -3
  55. package/dist/lib/file-operations/search-content.js.map +1 -1
  56. package/dist/lib/file-operations/search-files-collector.d.ts +2 -2
  57. package/dist/lib/file-operations/search-files-collector.d.ts.map +1 -1
  58. package/dist/lib/file-operations/search-files-collector.js +23 -11
  59. package/dist/lib/file-operations/search-files-collector.js.map +1 -1
  60. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  61. package/dist/lib/file-operations/search-files-helpers.js +5 -2
  62. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  63. package/dist/lib/file-operations/search-files.d.ts +20 -2
  64. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  65. package/dist/lib/file-operations/search-files.js +192 -5
  66. package/dist/lib/file-operations/search-files.js.map +1 -1
  67. package/dist/lib/file-operations/search-worker.d.ts +30 -0
  68. package/dist/lib/file-operations/search-worker.d.ts.map +1 -0
  69. package/dist/lib/file-operations/search-worker.js +98 -0
  70. package/dist/lib/file-operations/search-worker.js.map +1 -0
  71. package/dist/lib/fs-helpers/readers/read-modes.d.ts.map +1 -1
  72. package/dist/lib/fs-helpers/readers/read-modes.js +6 -4
  73. package/dist/lib/fs-helpers/readers/read-modes.js.map +1 -1
  74. package/dist/lib/fs-helpers/readers/read-options.d.ts.map +1 -1
  75. package/dist/lib/fs-helpers/readers/read-options.js +8 -3
  76. package/dist/lib/fs-helpers/readers/read-options.js.map +1 -1
  77. package/dist/lib/fs-helpers.d.ts +49 -5
  78. package/dist/lib/fs-helpers.d.ts.map +1 -1
  79. package/dist/lib/fs-helpers.js +479 -5
  80. package/dist/lib/fs-helpers.js.map +1 -1
  81. package/dist/lib/observability/diagnostics-helpers.d.ts +3 -0
  82. package/dist/lib/observability/diagnostics-helpers.d.ts.map +1 -0
  83. package/dist/lib/observability/diagnostics-helpers.js +50 -0
  84. package/dist/lib/observability/diagnostics-helpers.js.map +1 -0
  85. package/dist/lib/observability/diagnostics.d.ts.map +1 -1
  86. package/dist/lib/observability/diagnostics.js +24 -59
  87. package/dist/lib/observability/diagnostics.js.map +1 -1
  88. package/dist/lib/observability.d.ts +15 -0
  89. package/dist/lib/observability.d.ts.map +1 -0
  90. package/dist/lib/observability.js +196 -0
  91. package/dist/lib/observability.js.map +1 -0
  92. package/dist/lib/path-validation/validate-existing.js +1 -1
  93. package/dist/lib/path-validation/validate-existing.js.map +1 -1
  94. package/dist/lib/path-validation.d.ts +22 -5
  95. package/dist/lib/path-validation.d.ts.map +1 -1
  96. package/dist/lib/path-validation.js +340 -5
  97. package/dist/lib/path-validation.js.map +1 -1
  98. package/dist/schemas/inputs/directory.d.ts +1 -1
  99. package/dist/schemas/inputs/directory.d.ts.map +1 -1
  100. package/dist/schemas/inputs/directory.js +1 -12
  101. package/dist/schemas/inputs/directory.js.map +1 -1
  102. package/dist/schemas/inputs/helpers.d.ts +2 -0
  103. package/dist/schemas/inputs/helpers.d.ts.map +1 -0
  104. package/dist/schemas/inputs/helpers.js +13 -0
  105. package/dist/schemas/inputs/helpers.js.map +1 -0
  106. package/dist/schemas/inputs/safe-glob.d.ts +2 -0
  107. package/dist/schemas/inputs/safe-glob.d.ts.map +1 -0
  108. package/dist/schemas/inputs/safe-glob.js +13 -0
  109. package/dist/schemas/inputs/safe-glob.js.map +1 -0
  110. package/dist/schemas/inputs/search.d.ts.map +1 -1
  111. package/dist/schemas/inputs/search.js +2 -13
  112. package/dist/schemas/inputs/search.js.map +1 -1
  113. package/dist/schemas/output-helpers.d.ts +6 -1
  114. package/dist/schemas/output-helpers.d.ts.map +1 -1
  115. package/dist/schemas/output-helpers.js +5 -0
  116. package/dist/schemas/output-helpers.js.map +1 -1
  117. package/dist/schemas/outputs/file-info.d.ts +2 -2
  118. package/dist/schemas/outputs/file-info.d.ts.map +1 -1
  119. package/dist/schemas/outputs/file-info.js +2 -8
  120. package/dist/schemas/outputs/file-info.js.map +1 -1
  121. package/dist/schemas/outputs/read.d.ts.map +1 -1
  122. package/dist/schemas/outputs/read.js +2 -7
  123. package/dist/schemas/outputs/read.js.map +1 -1
  124. package/dist/schemas.d.ts +256 -0
  125. package/dist/schemas.d.ts.map +1 -0
  126. package/dist/schemas.js +379 -0
  127. package/dist/schemas.js.map +1 -0
  128. package/dist/server/roots.d.ts.map +1 -1
  129. package/dist/server/roots.js +19 -15
  130. package/dist/server/roots.js.map +1 -1
  131. package/dist/server.d.ts +11 -2
  132. package/dist/server.d.ts.map +1 -1
  133. package/dist/server.js +212 -10
  134. package/dist/server.js.map +1 -1
  135. package/dist/tools/get-file-info.d.ts.map +1 -1
  136. package/dist/tools/get-file-info.js +5 -1
  137. package/dist/tools/get-file-info.js.map +1 -1
  138. package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
  139. package/dist/tools/get-multiple-file-info.js +6 -3
  140. package/dist/tools/get-multiple-file-info.js.map +1 -1
  141. package/dist/tools/list-directory-formatting.d.ts.map +1 -1
  142. package/dist/tools/list-directory-formatting.js +7 -1
  143. package/dist/tools/list-directory-formatting.js.map +1 -1
  144. package/dist/tools/list-directory.d.ts.map +1 -1
  145. package/dist/tools/list-directory.js +5 -4
  146. package/dist/tools/list-directory.js.map +1 -1
  147. package/dist/tools/read-file.d.ts.map +1 -1
  148. package/dist/tools/read-file.js +9 -4
  149. package/dist/tools/read-file.js.map +1 -1
  150. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  151. package/dist/tools/read-multiple-files.js +9 -4
  152. package/dist/tools/read-multiple-files.js.map +1 -1
  153. package/dist/tools/search-content.d.ts.map +1 -1
  154. package/dist/tools/search-content.js +19 -17
  155. package/dist/tools/search-content.js.map +1 -1
  156. package/dist/tools/search-files.d.ts.map +1 -1
  157. package/dist/tools/search-files.js +15 -12
  158. package/dist/tools/search-files.js.map +1 -1
  159. package/dist/tools/shared/file-info.d.ts +4 -2
  160. package/dist/tools/shared/file-info.d.ts.map +1 -1
  161. package/dist/tools/shared/file-info.js +4 -2
  162. package/dist/tools/shared/file-info.js.map +1 -1
  163. package/dist/tools/shared/resolve-path.d.ts +2 -0
  164. package/dist/tools/shared/resolve-path.d.ts.map +1 -0
  165. package/dist/tools/shared/resolve-path.js +11 -0
  166. package/dist/tools/shared/resolve-path.js.map +1 -0
  167. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  168. package/dist/tools/shared/search-formatting.js +58 -38
  169. package/dist/tools/shared/search-formatting.js.map +1 -1
  170. package/dist/tools/tool-response.d.ts.map +1 -1
  171. package/dist/tools/tool-response.js +11 -6
  172. package/dist/tools/tool-response.js.map +1 -1
  173. package/dist/tools.d.ts +41 -0
  174. package/dist/tools.d.ts.map +1 -0
  175. package/dist/tools.js +624 -0
  176. package/dist/tools.js.map +1 -0
  177. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBjE"}
1
+ {"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBjE"}
@@ -3,34 +3,31 @@ import { ErrorCode } from '../lib/errors.js';
3
3
  import { searchContent } from '../lib/file-operations/search/engine.js';
4
4
  import { createTimedAbortSignal } from '../lib/fs-helpers/abort.js';
5
5
  import { withToolDiagnostics } from '../lib/observability/diagnostics.js';
6
- import { getAllowedDirectories } from '../lib/path-validation/allowed-directories.js';
7
6
  import { SearchContentInputSchema, SearchContentOutputSchema, } from '../schemas/index.js';
7
+ import { resolvePathOrRoot } from './shared/resolve-path.js';
8
8
  import { buildStructuredResult, buildTextResult, } from './shared/search-formatting.js';
9
9
  import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
10
- function resolvePathOrRoot(path) {
11
- if (path && path.trim().length > 0)
12
- return path;
13
- const firstRoot = getAllowedDirectories()[0];
14
- if (!firstRoot) {
15
- throw new Error('No workspace roots configured. Use roots to check.');
10
+ function resolveExcludePatterns(args) {
11
+ if (args.excludePatterns)
12
+ return args.excludePatterns;
13
+ return args.includeIgnored ? [] : DEFAULT_EXCLUDE_PATTERNS;
14
+ }
15
+ function resolveMaxFileSize(args) {
16
+ if (typeof args.maxFileSize !== 'number') {
17
+ return MAX_SEARCHABLE_FILE_SIZE;
16
18
  }
17
- return firstRoot;
19
+ return Math.min(args.maxFileSize, MAX_SEARCHABLE_FILE_SIZE);
18
20
  }
19
- function buildSearchOptions(args, signal) {
20
- const excludePatterns = args.excludePatterns ??
21
- (args.includeIgnored ? [] : DEFAULT_EXCLUDE_PATTERNS);
21
+ function buildSearchOptionsBase(args) {
22
22
  const includeHidden = args.includeHidden || args.includeIgnored;
23
- const maxFileSize = typeof args.maxFileSize === 'number'
24
- ? Math.min(args.maxFileSize, MAX_SEARCHABLE_FILE_SIZE)
25
- : MAX_SEARCHABLE_FILE_SIZE;
26
23
  return {
27
24
  filePattern: args.filePattern,
28
- excludePatterns,
25
+ excludePatterns: resolveExcludePatterns(args),
29
26
  caseSensitive: args.caseSensitive,
30
27
  isLiteral: args.isLiteral,
31
28
  contextLines: args.contextLines,
32
29
  maxResults: args.maxResults,
33
- maxFileSize,
30
+ maxFileSize: resolveMaxFileSize(args),
34
31
  maxFilesScanned: args.maxFilesScanned,
35
32
  timeoutMs: args.timeoutMs,
36
33
  skipBinary: args.skipBinary,
@@ -38,9 +35,14 @@ function buildSearchOptions(args, signal) {
38
35
  wholeWord: args.wholeWord,
39
36
  baseNameMatch: args.baseNameMatch,
40
37
  caseSensitiveFileMatch: args.caseSensitiveFileMatch,
41
- signal,
42
38
  };
43
39
  }
40
+ function buildSearchOptions(args, signal) {
41
+ const options = buildSearchOptionsBase(args);
42
+ if (signal)
43
+ return { ...options, signal };
44
+ return options;
45
+ }
44
46
  async function handleSearchContent(args, signal) {
45
47
  const basePath = resolvePathOrRoot(args.path);
46
48
  const fullOptions = buildSearchOptions(args, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4GzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB/D"}
1
+ {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB/D"}
@@ -4,18 +4,9 @@ import { DEFAULT_EXCLUDE_PATTERNS } from '../lib/constants.js';
4
4
  import { ErrorCode } from '../lib/errors.js';
5
5
  import { searchFiles } from '../lib/file-operations/search-files.js';
6
6
  import { withToolDiagnostics } from '../lib/observability/diagnostics.js';
7
- import { getAllowedDirectories } from '../lib/path-validation/allowed-directories.js';
8
7
  import { SearchFilesInputSchema, SearchFilesOutputSchema, } from '../schemas/index.js';
8
+ import { resolvePathOrRoot } from './shared/resolve-path.js';
9
9
  import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
10
- function resolvePathOrRoot(path) {
11
- if (path && path.trim().length > 0)
12
- return path;
13
- const firstRoot = getAllowedDirectories()[0];
14
- if (!firstRoot) {
15
- throw new Error('No workspace roots configured. Use roots to check.');
16
- }
17
- return firstRoot;
18
- }
19
10
  function buildStructuredResult(result) {
20
11
  const { basePath, results, summary } = result;
21
12
  return {
@@ -40,12 +31,24 @@ function buildTextResult(result) {
40
31
  const truncatedReason = summary.truncated
41
32
  ? `max results (${summary.matched})`
42
33
  : undefined;
34
+ const summaryOptions = {
35
+ truncated: summary.truncated,
36
+ };
37
+ if (truncatedReason !== undefined) {
38
+ summaryOptions.truncatedReason = truncatedReason;
39
+ }
43
40
  return (joinLines([`Found ${results.length}:`, ...lines]) +
44
- formatOperationSummary({ truncated: summary.truncated, truncatedReason }));
41
+ formatOperationSummary(summaryOptions));
45
42
  }
46
43
  async function handleSearchFiles(args, signal) {
47
44
  const searchBasePath = resolvePathOrRoot(args.path);
48
- const result = await searchFiles(searchBasePath, args.pattern, DEFAULT_EXCLUDE_PATTERNS, { maxResults: args.maxResults, signal });
45
+ const options = {
46
+ maxResults: args.maxResults,
47
+ };
48
+ if (signal) {
49
+ options.signal = signal;
50
+ }
51
+ const result = await searchFiles(searchBasePath, args.pattern, DEFAULT_EXCLUDE_PATTERNS, options);
49
52
  return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
50
53
  }
51
54
  const SEARCH_FILES_TOOL = {
@@ -1 +1 @@
1
- {"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FileInfo } from '../../config/types.js';
2
- export declare function buildFileInfoPayload(info: FileInfo): {
2
+ interface FileInfoPayload {
3
3
  name: string;
4
4
  path: string;
5
5
  type: FileInfo['type'];
@@ -11,7 +11,9 @@ export declare function buildFileInfoPayload(info: FileInfo): {
11
11
  isHidden: boolean;
12
12
  mimeType?: string;
13
13
  symlinkTarget?: string;
14
- };
14
+ }
15
+ export declare function buildFileInfoPayload(info: FileInfo): FileInfoPayload;
15
16
  export declare function formatFileInfoDetails(info: FileInfo): string;
16
17
  export declare function formatFileInfoSummary(path: string, info: FileInfo): string;
18
+ export {};
17
19
  //# sourceMappingURL=file-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/file-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAcA;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAY5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/file-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe,CAgBpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAY5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1E"}
@@ -10,8 +10,10 @@ export function buildFileInfoPayload(info) {
10
10
  accessed: info.accessed.toISOString(),
11
11
  permissions: info.permissions,
12
12
  isHidden: info.isHidden,
13
- mimeType: info.mimeType,
14
- symlinkTarget: info.symlinkTarget,
13
+ ...(info.mimeType !== undefined ? { mimeType: info.mimeType } : {}),
14
+ ...(info.symlinkTarget !== undefined
15
+ ? { symlinkTarget: info.symlinkTarget }
16
+ : {}),
15
17
  };
16
18
  }
17
19
  export function formatFileInfoDetails(info) {
@@ -1 +1 @@
1
- {"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../../src/tools/shared/file-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,oBAAoB,CAAC,IAAc;IAajD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG;QAC7B,WAAW,IAAI,CAAC,IAAI,EAAE;QACtB,WAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;KAC7C,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAc;IAChE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../../src/tools/shared/file-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAiBpE,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG;QAC7B,WAAW,IAAI,CAAC,IAAI,EAAE;QACtB,WAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;KAC7C,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAc;IAChE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function resolvePathOrRoot(path: string | undefined): string;
2
+ //# sourceMappingURL=resolve-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-path.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/resolve-path.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOlE"}
@@ -0,0 +1,11 @@
1
+ import { getAllowedDirectories } from '../../lib/path-validation/allowed-directories.js';
2
+ export function resolvePathOrRoot(path) {
3
+ if (path && path.trim().length > 0)
4
+ return path;
5
+ const firstRoot = getAllowedDirectories()[0];
6
+ if (!firstRoot) {
7
+ throw new Error('No workspace roots configured. Use roots to check.');
8
+ }
9
+ return firstRoot;
10
+ }
11
+ //# sourceMappingURL=resolve-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-path.js","sourceRoot":"","sources":["../../../src/tools/shared/resolve-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAEzF,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-formatting.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/search-formatting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,KAAK,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAkE/E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,GAC1B,6BAA6B,CAS/B;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAenE"}
1
+ {"version":3,"file":"search-formatting.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/search-formatting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,KAAK,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAmG/E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,GAC1B,6BAA6B,CAS/B;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAoBnE"}
@@ -1,38 +1,46 @@
1
1
  import * as pathModule from 'node:path';
2
2
  import { formatOperationSummary, joinLines } from '../../config/formatting.js';
3
3
  const LINE_NUMBER_PAD_WIDTH = 4;
4
+ function getRelativeFile(basePath, file, cache) {
5
+ const cached = cache.get(file);
6
+ if (cached !== undefined)
7
+ return cached;
8
+ const relative = pathModule.relative(basePath, file);
9
+ cache.set(file, relative);
10
+ return relative;
11
+ }
12
+ function buildNormalizedMatch(match, relativeFile, index) {
13
+ const base = {
14
+ file: match.file,
15
+ line: match.line,
16
+ content: match.content,
17
+ matchCount: match.matchCount,
18
+ relativeFile,
19
+ index,
20
+ };
21
+ return {
22
+ ...base,
23
+ ...(match.contextBefore !== undefined
24
+ ? { contextBefore: match.contextBefore }
25
+ : {}),
26
+ ...(match.contextAfter !== undefined
27
+ ? { contextAfter: match.contextAfter }
28
+ : {}),
29
+ };
30
+ }
31
+ function compareNormalizedMatches(a, b) {
32
+ const fileCompare = a.relativeFile.localeCompare(b.relativeFile);
33
+ if (fileCompare !== 0)
34
+ return fileCompare;
35
+ if (a.line !== b.line)
36
+ return a.line - b.line;
37
+ return a.index - b.index;
38
+ }
4
39
  function normalizeMatches(result) {
5
40
  const { basePath, matches } = result;
6
41
  const relativeByFile = new Map();
7
- const normalized = [];
8
- let index = 0;
9
- for (const match of matches) {
10
- const { file, line, content, contextBefore, contextAfter, matchCount } = match;
11
- let relativeFile = relativeByFile.get(file);
12
- if (relativeFile === undefined) {
13
- relativeFile = pathModule.relative(basePath, file);
14
- relativeByFile.set(file, relativeFile);
15
- }
16
- normalized.push({
17
- file,
18
- line,
19
- content,
20
- contextBefore,
21
- contextAfter,
22
- matchCount,
23
- relativeFile,
24
- index,
25
- });
26
- index++;
27
- }
28
- normalized.sort((a, b) => {
29
- const fileCompare = a.relativeFile.localeCompare(b.relativeFile);
30
- if (fileCompare !== 0)
31
- return fileCompare;
32
- if (a.line !== b.line)
33
- return a.line - b.line;
34
- return a.index - b.index;
35
- });
42
+ const normalized = matches.map((match, index) => buildNormalizedMatch(match, getRelativeFile(basePath, match.file, relativeByFile), index));
43
+ normalized.sort(compareNormalizedMatches);
36
44
  return normalized;
37
45
  }
38
46
  function formatMatchLine(match) {
@@ -40,13 +48,20 @@ function formatMatchLine(match) {
40
48
  return ` ${match.relativeFile}:${lineNum}: ${match.content}`;
41
49
  }
42
50
  function buildStructuredMatches(matches) {
43
- return matches.map((match) => ({
44
- file: match.relativeFile,
45
- line: match.line,
46
- content: match.content,
47
- contextBefore: match.contextBefore ? [...match.contextBefore] : undefined,
48
- contextAfter: match.contextAfter ? [...match.contextAfter] : undefined,
49
- }));
51
+ return matches.map((match) => {
52
+ const item = {
53
+ file: match.relativeFile,
54
+ line: match.line,
55
+ content: match.content,
56
+ };
57
+ if (match.contextBefore !== undefined) {
58
+ item.contextBefore = [...match.contextBefore];
59
+ }
60
+ if (match.contextAfter !== undefined) {
61
+ item.contextAfter = [...match.contextAfter];
62
+ }
63
+ return item;
64
+ });
50
65
  }
51
66
  export function buildStructuredResult(result) {
52
67
  const { summary } = result;
@@ -71,10 +86,15 @@ export function buildTextResult(result) {
71
86
  if (normalizedMatches.length === 0)
72
87
  return 'No matches';
73
88
  const truncatedReason = getTruncatedReason(summary);
89
+ const summaryOptions = {
90
+ truncated: summary.truncated,
91
+ };
92
+ if (truncatedReason !== undefined) {
93
+ summaryOptions.truncatedReason = truncatedReason;
94
+ }
74
95
  return (joinLines([
75
96
  `Found ${normalizedMatches.length}:`,
76
97
  ...normalizedMatches.map(formatMatchLine),
77
- ]) +
78
- formatOperationSummary({ truncated: summary.truncated, truncatedReason }));
98
+ ]) + formatOperationSummary(summaryOptions));
79
99
  }
80
100
  //# sourceMappingURL=search-formatting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-formatting.js","sourceRoot":"","sources":["../../../src/tools/shared/search-formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-formatting.js","sourceRoot":"","sources":["../../../src/tools/shared/search-formatting.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/tools/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGV,MAAM,kBAAkB,CAAC;AA6B1B,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,CAAC,GACnB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,CAAC;CACtB,CAEA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEhE,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAMxB;AAED,UAAU,0BAA2B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,OAAO,EAAE,IAAI,CAAC;CACf,CAiBA"}
1
+ {"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/tools/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGV,MAAM,kBAAkB,CAAC;AA6B1B,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,CAAC,GACnB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,CAAC;CACtB,CAEA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEhE,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAMxB;AAED,UAAU,0BAA2B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,OAAO,EAAE,IAAI,CAAC;CACf,CAuBA"}
@@ -31,14 +31,19 @@ export async function withToolErrorHandling(run, onError) {
31
31
  export function buildToolErrorResponse(error, defaultCode, path) {
32
32
  const detailed = resolveDetailedError(error, defaultCode, path);
33
33
  const text = formatDetailedError(detailed);
34
+ const errorContent = {
35
+ code: detailed.code,
36
+ message: detailed.message,
37
+ };
38
+ if (detailed.path !== undefined) {
39
+ errorContent.path = detailed.path;
40
+ }
41
+ if (detailed.suggestion !== undefined) {
42
+ errorContent.suggestion = detailed.suggestion;
43
+ }
34
44
  const structuredContent = {
35
45
  ok: false,
36
- error: {
37
- code: detailed.code,
38
- message: detailed.message,
39
- path: detailed.path,
40
- suggestion: detailed.suggestion,
41
- },
46
+ error: errorContent,
42
47
  };
43
48
  return {
44
49
  ...buildContentBlock(text, structuredContent),
@@ -1 +1 @@
1
- {"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/tools/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,SAAS,iBAAiB,CACxB,IAAY,EACZ,iBAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;SAC7B;QACD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,WAAsB,EACtB,IAAa;IAEb,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QAC5B,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,iBAAoB;IAKpB,OAAO,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAmC,EACnC,OAA0C;IAE1C,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,WAAsB,EACtB,IAAa;IAMb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,iBAAiB,GAA+B;QACpD,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC;KACF,CAAC;IACF,OAAO;QACL,GAAG,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAC7C,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/tools/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,SAAS,iBAAiB,CACxB,IAAY,EACZ,iBAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;SAC7B;QACD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,WAAsB,EACtB,IAAa;IAEb,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QAC5B,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,iBAAoB;IAKpB,OAAO,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAmC,EACnC,OAA0C;IAE1C,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,WAAsB,EACtB,IAAa;IAMb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAwC;QACxD,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,YAAY,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,MAAM,iBAAiB,GAA+B;QACpD,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,YAAY;KACpB,CAAC;IACF,OAAO;QACL,GAAG,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAC7C,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { ErrorCode } from './lib/errors.js';
3
+ export declare function buildToolResponse<T>(text: string, structuredContent: T): {
4
+ content: {
5
+ type: 'text';
6
+ text: string;
7
+ }[];
8
+ structuredContent: T;
9
+ };
10
+ export type ToolResponse<T> = ReturnType<typeof buildToolResponse<T>> & Record<string, unknown>;
11
+ interface ToolErrorStructuredContent extends Record<string, unknown> {
12
+ ok: false;
13
+ error: {
14
+ code: string;
15
+ message: string;
16
+ path?: string;
17
+ suggestion?: string;
18
+ };
19
+ }
20
+ interface ToolErrorResponse extends Record<string, unknown> {
21
+ content: {
22
+ type: 'text';
23
+ text: string;
24
+ }[];
25
+ structuredContent: ToolErrorStructuredContent;
26
+ isError: true;
27
+ }
28
+ export type ToolResult<T> = ToolResponse<T> | ToolErrorResponse;
29
+ export declare function withToolErrorHandling<T>(run: () => Promise<ToolResponse<T>>, onError: (error: unknown) => ToolResult<T>): Promise<ToolResult<T>>;
30
+ export declare function buildToolErrorResponse(error: unknown, defaultCode: ErrorCode, path?: string): ToolErrorResponse;
31
+ export declare function registerListAllowedDirectoriesTool(server: McpServer): void;
32
+ export declare function registerListDirectoryTool(server: McpServer): void;
33
+ export declare function registerSearchFilesTool(server: McpServer): void;
34
+ export declare function registerReadFileTool(server: McpServer): void;
35
+ export declare function registerReadMultipleFilesTool(server: McpServer): void;
36
+ export declare function registerGetFileInfoTool(server: McpServer): void;
37
+ export declare function registerGetMultipleFileInfoTool(server: McpServer): void;
38
+ export declare function registerSearchContentTool(server: McpServer): void;
39
+ export declare function registerAllTools(server: McpServer): void;
40
+ export {};
41
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,OAAO,EAEL,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAgEzB,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,CAAC,GACnB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,CAAC;CACtB,CAEA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1B,UAAU,0BAA2B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,OAAO,EAAE,IAAI,CAAC;CACf;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEhE,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAMxB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,iBAAiB,CAuBnB;AAqUD,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa1E;AAiDD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BjE;AA4BD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B/D;AA8BD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B5D;AAyCD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwBrE;AAmBD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuB/D;AAwCD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4BvE;AA2DD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBjE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CASxD"}