@j0hanz/fs-context-mcp 2.0.0 → 2.0.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 (178) hide show
  1. package/README.md +45 -60
  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/instructions.md +32 -35
  9. package/dist/lib/constants.d.ts +3 -3
  10. package/dist/lib/constants.d.ts.map +1 -1
  11. package/dist/lib/constants.js +130 -4
  12. package/dist/lib/constants.js.map +1 -1
  13. package/dist/lib/errors.d.ts +1 -1
  14. package/dist/lib/errors.d.ts.map +1 -1
  15. package/dist/lib/errors.js +9 -9
  16. package/dist/lib/errors.js.map +1 -1
  17. package/dist/lib/file-operations/file-info.d.ts +7 -1
  18. package/dist/lib/file-operations/file-info.d.ts.map +1 -1
  19. package/dist/lib/file-operations/file-info.js +84 -8
  20. package/dist/lib/file-operations/file-info.js.map +1 -1
  21. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
  22. package/dist/lib/file-operations/get-multiple-file-info.js +8 -4
  23. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
  24. package/dist/lib/file-operations/glob-engine.d.ts.map +1 -1
  25. package/dist/lib/file-operations/glob-engine.js +190 -26
  26. package/dist/lib/file-operations/glob-engine.js.map +1 -1
  27. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
  28. package/dist/lib/file-operations/list-directory-entry.js +5 -3
  29. package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
  30. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  31. package/dist/lib/file-operations/list-directory-helpers.js +11 -4
  32. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  33. package/dist/lib/file-operations/list-directory.d.ts +12 -2
  34. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  35. package/dist/lib/file-operations/list-directory.js +175 -3
  36. package/dist/lib/file-operations/list-directory.js.map +1 -1
  37. package/dist/lib/file-operations/read-multiple-files-helpers.d.ts.map +1 -1
  38. package/dist/lib/file-operations/read-multiple-files-helpers.js +40 -19
  39. package/dist/lib/file-operations/read-multiple-files-helpers.js.map +1 -1
  40. package/dist/lib/file-operations/read-multiple-files.d.ts +18 -1
  41. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  42. package/dist/lib/file-operations/read-multiple-files.js +107 -2
  43. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  44. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  45. package/dist/lib/file-operations/search/engine.js +7 -2
  46. package/dist/lib/file-operations/search/engine.js.map +1 -1
  47. package/dist/lib/file-operations/search/scan-file.d.ts.map +1 -1
  48. package/dist/lib/file-operations/search/scan-file.js +6 -3
  49. package/dist/lib/file-operations/search/scan-file.js.map +1 -1
  50. package/dist/lib/file-operations/search/scan-runner.d.ts.map +1 -1
  51. package/dist/lib/file-operations/search/scan-runner.js +21 -16
  52. package/dist/lib/file-operations/search/scan-runner.js.map +1 -1
  53. package/dist/lib/file-operations/search-content.d.ts +41 -17
  54. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  55. package/dist/lib/file-operations/search-content.js +855 -3
  56. package/dist/lib/file-operations/search-content.js.map +1 -1
  57. package/dist/lib/file-operations/search-files-collector.d.ts +2 -2
  58. package/dist/lib/file-operations/search-files-collector.d.ts.map +1 -1
  59. package/dist/lib/file-operations/search-files-collector.js +23 -11
  60. package/dist/lib/file-operations/search-files-collector.js.map +1 -1
  61. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  62. package/dist/lib/file-operations/search-files-helpers.js +5 -2
  63. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  64. package/dist/lib/file-operations/search-files.d.ts +20 -2
  65. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  66. package/dist/lib/file-operations/search-files.js +192 -5
  67. package/dist/lib/file-operations/search-files.js.map +1 -1
  68. package/dist/lib/file-operations/search-worker.d.ts +30 -0
  69. package/dist/lib/file-operations/search-worker.d.ts.map +1 -0
  70. package/dist/lib/file-operations/search-worker.js +98 -0
  71. package/dist/lib/file-operations/search-worker.js.map +1 -0
  72. package/dist/lib/fs-helpers/readers/read-modes.d.ts.map +1 -1
  73. package/dist/lib/fs-helpers/readers/read-modes.js +6 -4
  74. package/dist/lib/fs-helpers/readers/read-modes.js.map +1 -1
  75. package/dist/lib/fs-helpers/readers/read-options.d.ts.map +1 -1
  76. package/dist/lib/fs-helpers/readers/read-options.js +8 -3
  77. package/dist/lib/fs-helpers/readers/read-options.js.map +1 -1
  78. package/dist/lib/fs-helpers.d.ts +42 -5
  79. package/dist/lib/fs-helpers.d.ts.map +1 -1
  80. package/dist/lib/fs-helpers.js +479 -5
  81. package/dist/lib/fs-helpers.js.map +1 -1
  82. package/dist/lib/observability/diagnostics-helpers.d.ts +3 -0
  83. package/dist/lib/observability/diagnostics-helpers.d.ts.map +1 -0
  84. package/dist/lib/observability/diagnostics-helpers.js +50 -0
  85. package/dist/lib/observability/diagnostics-helpers.js.map +1 -0
  86. package/dist/lib/observability/diagnostics.d.ts.map +1 -1
  87. package/dist/lib/observability/diagnostics.js +24 -59
  88. package/dist/lib/observability/diagnostics.js.map +1 -1
  89. package/dist/lib/observability.d.ts +15 -0
  90. package/dist/lib/observability.d.ts.map +1 -0
  91. package/dist/lib/observability.js +196 -0
  92. package/dist/lib/observability.js.map +1 -0
  93. package/dist/lib/path-validation/validate-existing.js +1 -1
  94. package/dist/lib/path-validation/validate-existing.js.map +1 -1
  95. package/dist/lib/path-validation.d.ts +18 -5
  96. package/dist/lib/path-validation.d.ts.map +1 -1
  97. package/dist/lib/path-validation.js +340 -5
  98. package/dist/lib/path-validation.js.map +1 -1
  99. package/dist/schemas/inputs/directory.d.ts +1 -1
  100. package/dist/schemas/inputs/directory.d.ts.map +1 -1
  101. package/dist/schemas/inputs/directory.js +1 -12
  102. package/dist/schemas/inputs/directory.js.map +1 -1
  103. package/dist/schemas/inputs/helpers.d.ts +2 -0
  104. package/dist/schemas/inputs/helpers.d.ts.map +1 -0
  105. package/dist/schemas/inputs/helpers.js +13 -0
  106. package/dist/schemas/inputs/helpers.js.map +1 -0
  107. package/dist/schemas/inputs/safe-glob.d.ts +2 -0
  108. package/dist/schemas/inputs/safe-glob.d.ts.map +1 -0
  109. package/dist/schemas/inputs/safe-glob.js +13 -0
  110. package/dist/schemas/inputs/safe-glob.js.map +1 -0
  111. package/dist/schemas/inputs/search.d.ts.map +1 -1
  112. package/dist/schemas/inputs/search.js +2 -13
  113. package/dist/schemas/inputs/search.js.map +1 -1
  114. package/dist/schemas/output-helpers.d.ts +6 -1
  115. package/dist/schemas/output-helpers.d.ts.map +1 -1
  116. package/dist/schemas/output-helpers.js +5 -0
  117. package/dist/schemas/output-helpers.js.map +1 -1
  118. package/dist/schemas/outputs/file-info.d.ts +2 -2
  119. package/dist/schemas/outputs/file-info.d.ts.map +1 -1
  120. package/dist/schemas/outputs/file-info.js +2 -8
  121. package/dist/schemas/outputs/file-info.js.map +1 -1
  122. package/dist/schemas/outputs/read.d.ts.map +1 -1
  123. package/dist/schemas/outputs/read.js +2 -7
  124. package/dist/schemas/outputs/read.js.map +1 -1
  125. package/dist/schemas.d.ts +195 -0
  126. package/dist/schemas.d.ts.map +1 -0
  127. package/dist/schemas.js +234 -0
  128. package/dist/schemas.js.map +1 -0
  129. package/dist/server/roots.d.ts.map +1 -1
  130. package/dist/server/roots.js +19 -15
  131. package/dist/server/roots.js.map +1 -1
  132. package/dist/server.d.ts +10 -2
  133. package/dist/server.d.ts.map +1 -1
  134. package/dist/server.js +208 -10
  135. package/dist/server.js.map +1 -1
  136. package/dist/tools/get-file-info.d.ts.map +1 -1
  137. package/dist/tools/get-file-info.js +5 -1
  138. package/dist/tools/get-file-info.js.map +1 -1
  139. package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
  140. package/dist/tools/get-multiple-file-info.js +6 -3
  141. package/dist/tools/get-multiple-file-info.js.map +1 -1
  142. package/dist/tools/list-directory-formatting.d.ts.map +1 -1
  143. package/dist/tools/list-directory-formatting.js +7 -1
  144. package/dist/tools/list-directory-formatting.js.map +1 -1
  145. package/dist/tools/list-directory.d.ts.map +1 -1
  146. package/dist/tools/list-directory.js +5 -4
  147. package/dist/tools/list-directory.js.map +1 -1
  148. package/dist/tools/read-file.d.ts.map +1 -1
  149. package/dist/tools/read-file.js +9 -4
  150. package/dist/tools/read-file.js.map +1 -1
  151. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  152. package/dist/tools/read-multiple-files.js +9 -4
  153. package/dist/tools/read-multiple-files.js.map +1 -1
  154. package/dist/tools/search-content.d.ts.map +1 -1
  155. package/dist/tools/search-content.js +19 -17
  156. package/dist/tools/search-content.js.map +1 -1
  157. package/dist/tools/search-files.d.ts.map +1 -1
  158. package/dist/tools/search-files.js +15 -12
  159. package/dist/tools/search-files.js.map +1 -1
  160. package/dist/tools/shared/file-info.d.ts +4 -2
  161. package/dist/tools/shared/file-info.d.ts.map +1 -1
  162. package/dist/tools/shared/file-info.js +4 -2
  163. package/dist/tools/shared/file-info.js.map +1 -1
  164. package/dist/tools/shared/resolve-path.d.ts +2 -0
  165. package/dist/tools/shared/resolve-path.d.ts.map +1 -0
  166. package/dist/tools/shared/resolve-path.js +11 -0
  167. package/dist/tools/shared/resolve-path.js.map +1 -0
  168. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  169. package/dist/tools/shared/search-formatting.js +58 -38
  170. package/dist/tools/shared/search-formatting.js.map +1 -1
  171. package/dist/tools/tool-response.d.ts.map +1 -1
  172. package/dist/tools/tool-response.js +11 -6
  173. package/dist/tools/tool-response.js.map +1 -1
  174. package/dist/tools.d.ts +34 -0
  175. package/dist/tools.d.ts.map +1 -0
  176. package/dist/tools.js +550 -0
  177. package/dist/tools.js.map +1 -0
  178. package/package.json +11 -6
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { ErrorSchema } from '../error-schema.js';
3
+ import { OperationSummarySchema } from '../output-helpers.js';
3
4
  export const ReadFileOutputSchema = z.object({
4
5
  ok: z.boolean(),
5
6
  path: z.string().optional(),
@@ -18,13 +19,7 @@ export const ReadMultipleFilesOutputSchema = z.object({
18
19
  error: z.string().optional(),
19
20
  }))
20
21
  .optional(),
21
- summary: z
22
- .object({
23
- total: z.number(),
24
- succeeded: z.number(),
25
- failed: z.number(),
26
- })
27
- .optional(),
22
+ summary: OperationSummarySchema.optional(),
28
23
  error: ErrorSchema.optional(),
29
24
  });
30
25
  //# sourceMappingURL=read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/schemas/outputs/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CACH;SACA,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACD,QAAQ,EAAE;IACb,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/schemas/outputs/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CACH;SACA,QAAQ,EAAE;IACb,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+ export declare const ListDirectoryInputSchema: z.ZodObject<{
3
+ path: z.ZodOptional<z.ZodString>;
4
+ includeHidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5
+ }, z.core.$strict>;
6
+ export declare const ListAllowedDirectoriesInputSchema: z.ZodObject<{}, z.core.$strict>;
7
+ export declare const SearchFilesInputSchema: z.ZodObject<{
8
+ path: z.ZodOptional<z.ZodString>;
9
+ pattern: z.ZodString;
10
+ maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
11
+ includeIgnored: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
+ }, z.core.$strict>;
13
+ export declare const SearchContentInputSchema: z.ZodObject<{
14
+ path: z.ZodOptional<z.ZodString>;
15
+ pattern: z.ZodString;
16
+ includeHidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
+ }, z.core.$strict>;
18
+ export declare const ReadFileInputSchema: z.ZodObject<{
19
+ path: z.ZodString;
20
+ head: z.ZodOptional<z.ZodInt>;
21
+ }, z.core.$strict>;
22
+ export declare const ReadMultipleFilesInputSchema: z.ZodObject<{
23
+ paths: z.ZodArray<z.ZodString>;
24
+ head: z.ZodOptional<z.ZodInt>;
25
+ }, z.core.$strict>;
26
+ export declare const GetFileInfoInputSchema: z.ZodObject<{
27
+ path: z.ZodString;
28
+ }, z.core.$strict>;
29
+ export declare const GetMultipleFileInfoInputSchema: z.ZodObject<{
30
+ paths: z.ZodArray<z.ZodString>;
31
+ }, z.core.$strict>;
32
+ export declare const ListAllowedDirectoriesOutputSchema: z.ZodObject<{
33
+ ok: z.ZodBoolean;
34
+ directories: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ error: z.ZodOptional<z.ZodObject<{
36
+ code: z.ZodString;
37
+ message: z.ZodString;
38
+ path: z.ZodOptional<z.ZodString>;
39
+ suggestion: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>>;
41
+ }, z.core.$strip>;
42
+ export declare const ListDirectoryOutputSchema: z.ZodObject<{
43
+ ok: z.ZodBoolean;
44
+ path: z.ZodOptional<z.ZodString>;
45
+ entries: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
+ name: z.ZodString;
47
+ relativePath: z.ZodOptional<z.ZodString>;
48
+ type: z.ZodEnum<{
49
+ file: "file";
50
+ directory: "directory";
51
+ symlink: "symlink";
52
+ other: "other";
53
+ }>;
54
+ size: z.ZodOptional<z.ZodNumber>;
55
+ modified: z.ZodOptional<z.ZodString>;
56
+ }, z.core.$strip>>>;
57
+ totalEntries: z.ZodOptional<z.ZodNumber>;
58
+ error: z.ZodOptional<z.ZodObject<{
59
+ code: z.ZodString;
60
+ message: z.ZodString;
61
+ path: z.ZodOptional<z.ZodString>;
62
+ suggestion: z.ZodOptional<z.ZodString>;
63
+ }, z.core.$strip>>;
64
+ }, z.core.$strip>;
65
+ export declare const SearchFilesOutputSchema: z.ZodObject<{
66
+ ok: z.ZodBoolean;
67
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
68
+ path: z.ZodString;
69
+ size: z.ZodOptional<z.ZodNumber>;
70
+ modified: z.ZodOptional<z.ZodString>;
71
+ }, z.core.$strip>>>;
72
+ totalMatches: z.ZodOptional<z.ZodNumber>;
73
+ truncated: z.ZodOptional<z.ZodBoolean>;
74
+ error: z.ZodOptional<z.ZodObject<{
75
+ code: z.ZodString;
76
+ message: z.ZodString;
77
+ path: z.ZodOptional<z.ZodString>;
78
+ suggestion: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>>;
80
+ }, z.core.$strip>;
81
+ export declare const SearchContentOutputSchema: z.ZodObject<{
82
+ ok: z.ZodBoolean;
83
+ matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
84
+ file: z.ZodString;
85
+ line: z.ZodNumber;
86
+ content: z.ZodString;
87
+ contextBefore: z.ZodOptional<z.ZodArray<z.ZodString>>;
88
+ contextAfter: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ }, z.core.$strip>>>;
90
+ totalMatches: z.ZodOptional<z.ZodNumber>;
91
+ truncated: z.ZodOptional<z.ZodBoolean>;
92
+ error: z.ZodOptional<z.ZodObject<{
93
+ code: z.ZodString;
94
+ message: z.ZodString;
95
+ path: z.ZodOptional<z.ZodString>;
96
+ suggestion: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>;
99
+ export declare const ReadFileOutputSchema: z.ZodObject<{
100
+ ok: z.ZodBoolean;
101
+ path: z.ZodOptional<z.ZodString>;
102
+ content: z.ZodOptional<z.ZodString>;
103
+ truncated: z.ZodOptional<z.ZodBoolean>;
104
+ totalLines: z.ZodOptional<z.ZodNumber>;
105
+ error: z.ZodOptional<z.ZodObject<{
106
+ code: z.ZodString;
107
+ message: z.ZodString;
108
+ path: z.ZodOptional<z.ZodString>;
109
+ suggestion: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>>;
111
+ }, z.core.$strip>;
112
+ export declare const ReadMultipleFilesOutputSchema: z.ZodObject<{
113
+ ok: z.ZodBoolean;
114
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
115
+ path: z.ZodString;
116
+ content: z.ZodOptional<z.ZodString>;
117
+ truncated: z.ZodOptional<z.ZodBoolean>;
118
+ error: z.ZodOptional<z.ZodString>;
119
+ }, z.core.$strip>>>;
120
+ summary: z.ZodOptional<z.ZodObject<{
121
+ total: z.ZodNumber;
122
+ succeeded: z.ZodNumber;
123
+ failed: z.ZodNumber;
124
+ }, z.core.$strip>>;
125
+ error: z.ZodOptional<z.ZodObject<{
126
+ code: z.ZodString;
127
+ message: z.ZodString;
128
+ path: z.ZodOptional<z.ZodString>;
129
+ suggestion: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>>;
131
+ }, z.core.$strip>;
132
+ export declare const GetFileInfoOutputSchema: z.ZodObject<{
133
+ ok: z.ZodBoolean;
134
+ info: z.ZodOptional<z.ZodObject<{
135
+ name: z.ZodString;
136
+ path: z.ZodString;
137
+ type: z.ZodEnum<{
138
+ file: "file";
139
+ directory: "directory";
140
+ symlink: "symlink";
141
+ other: "other";
142
+ }>;
143
+ size: z.ZodNumber;
144
+ created: z.ZodOptional<z.ZodString>;
145
+ modified: z.ZodString;
146
+ accessed: z.ZodOptional<z.ZodString>;
147
+ permissions: z.ZodString;
148
+ isHidden: z.ZodOptional<z.ZodBoolean>;
149
+ mimeType: z.ZodOptional<z.ZodString>;
150
+ symlinkTarget: z.ZodOptional<z.ZodString>;
151
+ }, z.core.$strip>>;
152
+ error: z.ZodOptional<z.ZodObject<{
153
+ code: z.ZodString;
154
+ message: z.ZodString;
155
+ path: z.ZodOptional<z.ZodString>;
156
+ suggestion: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strip>>;
158
+ }, z.core.$strip>;
159
+ export declare const GetMultipleFileInfoOutputSchema: z.ZodObject<{
160
+ ok: z.ZodBoolean;
161
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
162
+ path: z.ZodString;
163
+ info: z.ZodOptional<z.ZodObject<{
164
+ name: z.ZodString;
165
+ path: z.ZodString;
166
+ type: z.ZodEnum<{
167
+ file: "file";
168
+ directory: "directory";
169
+ symlink: "symlink";
170
+ other: "other";
171
+ }>;
172
+ size: z.ZodNumber;
173
+ created: z.ZodOptional<z.ZodString>;
174
+ modified: z.ZodString;
175
+ accessed: z.ZodOptional<z.ZodString>;
176
+ permissions: z.ZodString;
177
+ isHidden: z.ZodOptional<z.ZodBoolean>;
178
+ mimeType: z.ZodOptional<z.ZodString>;
179
+ symlinkTarget: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$strip>>;
181
+ error: z.ZodOptional<z.ZodString>;
182
+ }, z.core.$strip>>>;
183
+ summary: z.ZodOptional<z.ZodObject<{
184
+ total: z.ZodNumber;
185
+ succeeded: z.ZodNumber;
186
+ failed: z.ZodNumber;
187
+ }, z.core.$strip>>;
188
+ error: z.ZodOptional<z.ZodObject<{
189
+ code: z.ZodString;
190
+ message: z.ZodString;
191
+ path: z.ZodOptional<z.ZodString>;
192
+ suggestion: z.ZodOptional<z.ZodString>;
193
+ }, z.core.$strip>>;
194
+ }, z.core.$strip>;
195
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqDxB,eAAO,MAAM,wBAAwB;;;kBAanC,CAAC;AAEH,eAAO,MAAM,iCAAiC,iCAEX,CAAC;AAEpC,eAAO,MAAM,sBAAsB;;;;;kBA+CjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;kBAoBnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;kBAW9B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;kBAUvC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;kBAQjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;kBASzC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;iBAI7C,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;iBAgBpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAclC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAgBpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;iBAO/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;iBAcxC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa1C,CAAC"}
@@ -0,0 +1,234 @@
1
+ import { z } from 'zod';
2
+ function isSafeGlobPattern(value) {
3
+ if (value.length === 0)
4
+ return false;
5
+ const absolutePattern = /^([/\\]|[A-Za-z]:[/\\]|\\\\)/u;
6
+ if (absolutePattern.test(value)) {
7
+ return false;
8
+ }
9
+ if (/[\\/]\.\.(?:[/\\]|$)/u.test(value) || value.startsWith('..')) {
10
+ return false;
11
+ }
12
+ return true;
13
+ }
14
+ const FileTypeSchema = z.enum(['file', 'directory', 'symlink', 'other']);
15
+ const ErrorSchema = z.object({
16
+ code: z.string().describe('Error code (e.g., E_NOT_FOUND)'),
17
+ message: z.string().describe('Human-readable error message'),
18
+ path: z.string().optional().describe('Path that caused the error'),
19
+ suggestion: z.string().optional().describe('Suggested action to resolve'),
20
+ });
21
+ const HeadLinesSchema = z
22
+ .int({ error: 'head must be an integer' })
23
+ .min(1, 'head must be at least 1')
24
+ .max(100000, 'head cannot exceed 100,000 lines')
25
+ .optional()
26
+ .describe('Read only the first N lines');
27
+ const FileInfoSchema = z.object({
28
+ name: z.string(),
29
+ path: z.string(),
30
+ type: FileTypeSchema,
31
+ size: z.number(),
32
+ created: z.string().optional(),
33
+ modified: z.string(),
34
+ accessed: z.string().optional(),
35
+ permissions: z.string(),
36
+ isHidden: z.boolean().optional(),
37
+ mimeType: z.string().optional(),
38
+ symlinkTarget: z.string().optional(),
39
+ });
40
+ const OperationSummarySchema = z.object({
41
+ total: z.number(),
42
+ succeeded: z.number(),
43
+ failed: z.number(),
44
+ });
45
+ export const ListDirectoryInputSchema = z.strictObject({
46
+ path: z
47
+ .string()
48
+ .optional()
49
+ .describe('Directory path to list (leave empty for workspace root). ' +
50
+ 'Examples: "src", "src/components", "lib/utils"'),
51
+ includeHidden: z
52
+ .boolean()
53
+ .optional()
54
+ .default(false)
55
+ .describe('Include hidden files and directories'),
56
+ });
57
+ export const ListAllowedDirectoriesInputSchema = z
58
+ .strictObject({})
59
+ .describe('No input parameters.');
60
+ export const SearchFilesInputSchema = z.strictObject({
61
+ path: z
62
+ .string()
63
+ .optional()
64
+ .describe('Base directory to search from (leave empty for workspace root). ' +
65
+ 'Examples: "src", "lib", "tests"'),
66
+ pattern: z
67
+ .string()
68
+ .min(1, 'Pattern cannot be empty')
69
+ .max(1000, 'Pattern is too long (max 1000 characters)')
70
+ .refine((val) => {
71
+ try {
72
+ if (val.includes('**/**/**')) {
73
+ return false;
74
+ }
75
+ return isSafeGlobPattern(val);
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }, {
81
+ error: 'Invalid glob pattern syntax or unsafe path (absolute/.. segments not allowed)',
82
+ })
83
+ .describe('Glob pattern to match files. Examples: "**/*.ts" (all TypeScript files), "src/**/*.js" (JS files in src), "*.json" (JSON files in current dir)'),
84
+ maxResults: z
85
+ .number()
86
+ .int({ error: 'maxResults must be an integer' })
87
+ .min(1, 'maxResults must be at least 1')
88
+ .max(10000, 'maxResults cannot exceed 10,000')
89
+ .optional()
90
+ .default(100)
91
+ .describe('Maximum matches to return (1-10000)'),
92
+ includeIgnored: z
93
+ .boolean()
94
+ .optional()
95
+ .default(false)
96
+ .describe('Include normally ignored directories (node_modules, dist, .git, etc). ' +
97
+ 'Set to true when debugging in dependencies.'),
98
+ });
99
+ export const SearchContentInputSchema = z.strictObject({
100
+ path: z
101
+ .string()
102
+ .optional()
103
+ .describe('Base directory to search within (leave empty for workspace root). ' +
104
+ 'Examples: "src", "lib", "tests"'),
105
+ pattern: z
106
+ .string()
107
+ .min(1, 'Pattern cannot be empty')
108
+ .max(1000, 'Pattern is too long (max 1000 characters)')
109
+ .describe('Text to search for. Examples: "console.log", "import React", "className"'),
110
+ includeHidden: z
111
+ .boolean()
112
+ .optional()
113
+ .default(false)
114
+ .describe('Include hidden files and directories'),
115
+ });
116
+ export const ReadFileInputSchema = z.strictObject({
117
+ path: z
118
+ .string()
119
+ .min(1, 'Path cannot be empty')
120
+ .describe('Path to the file to read. ' +
121
+ 'Examples: "README.md", "src/index.ts", "package.json"'),
122
+ head: HeadLinesSchema.describe('Read only the first N lines of the file (useful for previewing large files)'),
123
+ });
124
+ export const ReadMultipleFilesInputSchema = z.strictObject({
125
+ paths: z
126
+ .array(z.string().min(1, 'Path cannot be empty'))
127
+ .min(1, 'At least one path is required')
128
+ .max(100, 'Cannot read more than 100 files at once')
129
+ .describe('Array of file paths to read. ' +
130
+ 'Examples: ["README.md", "package.json"], ["src/index.ts", "src/server.ts"]'),
131
+ head: HeadLinesSchema.describe('Read only the first N lines of each file'),
132
+ });
133
+ export const GetFileInfoInputSchema = z.strictObject({
134
+ path: z
135
+ .string()
136
+ .min(1, 'Path cannot be empty')
137
+ .describe('Path to file or directory. ' +
138
+ 'Examples: "src", "README.md", "src/index.ts"'),
139
+ });
140
+ export const GetMultipleFileInfoInputSchema = z.strictObject({
141
+ paths: z
142
+ .array(z.string().min(1, 'Path cannot be empty'))
143
+ .min(1, 'At least one path is required')
144
+ .max(100, 'Cannot get info for more than 100 files at once')
145
+ .describe('Array of file or directory paths. ' +
146
+ 'Examples: ["src", "lib"], ["package.json", "tsconfig.json"]'),
147
+ });
148
+ export const ListAllowedDirectoriesOutputSchema = z.object({
149
+ ok: z.boolean(),
150
+ directories: z.array(z.string()).optional(),
151
+ error: ErrorSchema.optional(),
152
+ });
153
+ export const ListDirectoryOutputSchema = z.object({
154
+ ok: z.boolean(),
155
+ path: z.string().optional(),
156
+ entries: z
157
+ .array(z.object({
158
+ name: z.string().describe('Entry name (basename)'),
159
+ relativePath: z.string().optional(),
160
+ type: FileTypeSchema,
161
+ size: z.number().optional(),
162
+ modified: z.string().optional(),
163
+ }))
164
+ .optional(),
165
+ totalEntries: z.number().optional(),
166
+ error: ErrorSchema.optional(),
167
+ });
168
+ export const SearchFilesOutputSchema = z.object({
169
+ ok: z.boolean(),
170
+ results: z
171
+ .array(z.object({
172
+ path: z.string().describe('Relative path from search base'),
173
+ size: z.number().optional(),
174
+ modified: z.string().optional(),
175
+ }))
176
+ .optional(),
177
+ totalMatches: z.number().optional(),
178
+ truncated: z.boolean().optional(),
179
+ error: ErrorSchema.optional(),
180
+ });
181
+ export const SearchContentOutputSchema = z.object({
182
+ ok: z.boolean(),
183
+ matches: z
184
+ .array(z.object({
185
+ file: z.string().describe('Relative path from search base'),
186
+ line: z.number(),
187
+ content: z.string(),
188
+ contextBefore: z.array(z.string()).optional(),
189
+ contextAfter: z.array(z.string()).optional(),
190
+ }))
191
+ .optional(),
192
+ totalMatches: z.number().optional(),
193
+ truncated: z.boolean().optional(),
194
+ error: ErrorSchema.optional(),
195
+ });
196
+ export const ReadFileOutputSchema = z.object({
197
+ ok: z.boolean(),
198
+ path: z.string().optional(),
199
+ content: z.string().optional(),
200
+ truncated: z.boolean().optional(),
201
+ totalLines: z.number().optional(),
202
+ error: ErrorSchema.optional(),
203
+ });
204
+ export const ReadMultipleFilesOutputSchema = z.object({
205
+ ok: z.boolean(),
206
+ results: z
207
+ .array(z.object({
208
+ path: z.string(),
209
+ content: z.string().optional(),
210
+ truncated: z.boolean().optional(),
211
+ error: z.string().optional(),
212
+ }))
213
+ .optional(),
214
+ summary: OperationSummarySchema.optional(),
215
+ error: ErrorSchema.optional(),
216
+ });
217
+ export const GetFileInfoOutputSchema = z.object({
218
+ ok: z.boolean(),
219
+ info: FileInfoSchema.optional(),
220
+ error: ErrorSchema.optional(),
221
+ });
222
+ export const GetMultipleFileInfoOutputSchema = z.object({
223
+ ok: z.boolean(),
224
+ results: z
225
+ .array(z.object({
226
+ path: z.string(),
227
+ info: FileInfoSchema.optional(),
228
+ error: z.string().optional(),
229
+ }))
230
+ .optional(),
231
+ summary: OperationSummarySchema.optional(),
232
+ error: ErrorSchema.optional(),
233
+ });
234
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D;AAgBD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjE;AAsFD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB5D;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAIpD"}
1
+ {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D;AAgBD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjE;AA0FD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB5D;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAIpD"}
@@ -43,26 +43,30 @@ export async function recomputeAllowedDirectories() {
43
43
  cleanup();
44
44
  }
45
45
  }
46
+ function extractRoots(value) {
47
+ const rawRoots = typeof value === 'object' && value !== null && 'roots' in value
48
+ ? value.roots
49
+ : undefined;
50
+ return Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
51
+ }
52
+ async function resolveRootDirectories(roots) {
53
+ if (roots.length === 0)
54
+ return [];
55
+ const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
56
+ try {
57
+ return await getValidRootDirectories(roots, signal);
58
+ }
59
+ finally {
60
+ cleanup();
61
+ }
62
+ }
46
63
  async function updateRootsFromClient(server) {
47
64
  try {
48
65
  const rootsResult = await server.server.listRoots(undefined, {
49
66
  timeout: ROOTS_TIMEOUT_MS,
50
67
  });
51
- const rootsResultUnknown = rootsResult;
52
- const rawRoots = typeof rootsResultUnknown === 'object' &&
53
- rootsResultUnknown !== null &&
54
- 'roots' in rootsResultUnknown
55
- ? rootsResultUnknown.roots
56
- : undefined;
57
- const roots = Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
58
- const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
59
- try {
60
- rootDirectories =
61
- roots.length > 0 ? await getValidRootDirectories(roots, signal) : [];
62
- }
63
- finally {
64
- cleanup();
65
- }
68
+ const roots = extractRoots(rootsResult);
69
+ rootDirectories = await resolveRootDirectories(roots);
66
70
  }
67
71
  catch (error) {
68
72
  rootDirectories = [];
@@ -1 +1 @@
1
- {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { type ServerOptions } from './server/roots.js';
3
- export { parseArgs } from './server/cli.js';
2
+ export interface ParseArgsResult {
3
+ allowedDirs: string[];
4
+ allowCwd: boolean;
5
+ }
6
+ export declare function parseArgs(): Promise<ParseArgsResult>;
7
+ interface ServerOptions {
8
+ allowCwd?: boolean;
9
+ cliAllowedDirs?: string[];
10
+ }
4
11
  export declare function createServer(options?: ServerOptions): McpServer;
5
12
  export declare function startServer(server: McpServer): Promise<void>;
13
+ export {};
6
14
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAwD5C,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAoBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAuED,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAkB1D;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AA8ND,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAwBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlE"}