@j0hanz/filesystem-context-mcp 1.1.0 → 1.2.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 (305) hide show
  1. package/README.md +106 -29
  2. package/dist/__tests__/lib/errors.test.js +3 -23
  3. package/dist/__tests__/lib/errors.test.js.map +1 -1
  4. package/dist/__tests__/lib/file-operations.test.js +34 -0
  5. package/dist/__tests__/lib/file-operations.test.js.map +1 -1
  6. package/dist/__tests__/lib/path-validation.test.js +8 -0
  7. package/dist/__tests__/lib/path-validation.test.js.map +1 -1
  8. package/dist/__tests__/schemas/validators.test.js +101 -122
  9. package/dist/__tests__/schemas/validators.test.js.map +1 -1
  10. package/dist/__tests__/security/filesystem-boundary.test.js +1 -1
  11. package/dist/__tests__/security/filesystem-boundary.test.js.map +1 -1
  12. package/dist/config/types.d.ts +1 -85
  13. package/dist/config/types.d.ts.map +1 -1
  14. package/dist/config/types.js +0 -2
  15. package/dist/config/types.js.map +1 -1
  16. package/dist/index.js +3 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/instructions.md +1 -2
  19. package/dist/lib/constants.d.ts +3 -1
  20. package/dist/lib/constants.d.ts.map +1 -1
  21. package/dist/lib/constants.js +73 -259
  22. package/dist/lib/constants.js.map +1 -1
  23. package/dist/lib/errors.d.ts +25 -3
  24. package/dist/lib/errors.d.ts.map +1 -1
  25. package/dist/lib/errors.js +4 -94
  26. package/dist/lib/errors.js.map +1 -1
  27. package/dist/lib/file-operations/analyze-directory.d.ts +8 -0
  28. package/dist/lib/file-operations/analyze-directory.d.ts.map +1 -0
  29. package/dist/lib/file-operations/analyze-directory.js +117 -0
  30. package/dist/lib/file-operations/analyze-directory.js.map +1 -0
  31. package/dist/lib/file-operations/directory-helpers.d.ts +35 -0
  32. package/dist/lib/file-operations/directory-helpers.d.ts.map +1 -0
  33. package/dist/lib/file-operations/directory-helpers.js +136 -0
  34. package/dist/lib/file-operations/directory-helpers.js.map +1 -0
  35. package/dist/lib/file-operations/directory-items.d.ts +20 -0
  36. package/dist/lib/file-operations/directory-items.d.ts.map +1 -0
  37. package/dist/lib/file-operations/directory-items.js +85 -0
  38. package/dist/lib/file-operations/directory-items.js.map +1 -0
  39. package/dist/lib/file-operations/directory-iteration.d.ts +17 -0
  40. package/dist/lib/file-operations/directory-iteration.d.ts.map +1 -0
  41. package/dist/lib/file-operations/directory-iteration.js +55 -0
  42. package/dist/lib/file-operations/directory-iteration.js.map +1 -0
  43. package/dist/lib/file-operations/directory-tree.d.ts +9 -0
  44. package/dist/lib/file-operations/directory-tree.d.ts.map +1 -0
  45. package/dist/lib/file-operations/directory-tree.js +175 -0
  46. package/dist/lib/file-operations/directory-tree.js.map +1 -0
  47. package/dist/lib/file-operations/file-info.d.ts +3 -0
  48. package/dist/lib/file-operations/file-info.d.ts.map +1 -0
  49. package/dist/lib/file-operations/file-info.js +56 -0
  50. package/dist/lib/file-operations/file-info.js.map +1 -0
  51. package/dist/lib/file-operations/list-directory.d.ts +10 -0
  52. package/dist/lib/file-operations/list-directory.d.ts.map +1 -0
  53. package/dist/lib/file-operations/list-directory.js +189 -0
  54. package/dist/lib/file-operations/list-directory.js.map +1 -0
  55. package/dist/lib/file-operations/pattern-complexity.d.ts +16 -0
  56. package/dist/lib/file-operations/pattern-complexity.d.ts.map +1 -0
  57. package/dist/lib/file-operations/pattern-complexity.js +86 -0
  58. package/dist/lib/file-operations/pattern-complexity.js.map +1 -0
  59. package/dist/lib/file-operations/pattern-validator.d.ts +15 -0
  60. package/dist/lib/file-operations/pattern-validator.d.ts.map +1 -0
  61. package/dist/lib/file-operations/pattern-validator.js +69 -0
  62. package/dist/lib/file-operations/pattern-validator.js.map +1 -0
  63. package/dist/lib/file-operations/read-media-file.d.ts +5 -0
  64. package/dist/lib/file-operations/read-media-file.d.ts.map +1 -0
  65. package/dist/lib/file-operations/read-media-file.js +31 -0
  66. package/dist/lib/file-operations/read-media-file.js.map +1 -0
  67. package/dist/lib/file-operations/read-multiple-files.d.ts +16 -0
  68. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -0
  69. package/dist/lib/file-operations/read-multiple-files.js +100 -0
  70. package/dist/lib/file-operations/read-multiple-files.js.map +1 -0
  71. package/dist/lib/file-operations/search-content.d.ts +18 -0
  72. package/dist/lib/file-operations/search-content.d.ts.map +1 -0
  73. package/dist/lib/file-operations/search-content.js +436 -0
  74. package/dist/lib/file-operations/search-content.js.map +1 -0
  75. package/dist/lib/file-operations/search-files.d.ts +11 -0
  76. package/dist/lib/file-operations/search-files.d.ts.map +1 -0
  77. package/dist/lib/file-operations/search-files.js +143 -0
  78. package/dist/lib/file-operations/search-files.js.map +1 -0
  79. package/dist/lib/file-operations/sorting.d.ts +12 -0
  80. package/dist/lib/file-operations/sorting.d.ts.map +1 -0
  81. package/dist/lib/file-operations/sorting.js +24 -0
  82. package/dist/lib/file-operations/sorting.js.map +1 -0
  83. package/dist/lib/file-operations.d.ts +9 -57
  84. package/dist/lib/file-operations.d.ts.map +1 -1
  85. package/dist/lib/file-operations.js +9 -773
  86. package/dist/lib/file-operations.js.map +1 -1
  87. package/dist/lib/fs-helpers/binary-detect.d.ts +3 -0
  88. package/dist/lib/fs-helpers/binary-detect.d.ts.map +1 -0
  89. package/dist/lib/fs-helpers/binary-detect.js +54 -0
  90. package/dist/lib/fs-helpers/binary-detect.js.map +1 -0
  91. package/dist/lib/fs-helpers/concurrency.d.ts +11 -0
  92. package/dist/lib/fs-helpers/concurrency.d.ts.map +1 -0
  93. package/dist/lib/fs-helpers/concurrency.js +95 -0
  94. package/dist/lib/fs-helpers/concurrency.js.map +1 -0
  95. package/dist/lib/fs-helpers/fs-utils.d.ts +5 -0
  96. package/dist/lib/fs-helpers/fs-utils.d.ts.map +1 -0
  97. package/dist/lib/fs-helpers/fs-utils.js +13 -0
  98. package/dist/lib/fs-helpers/fs-utils.js.map +1 -0
  99. package/dist/lib/fs-helpers/readers/head-file.d.ts +2 -0
  100. package/dist/lib/fs-helpers/readers/head-file.d.ts.map +1 -0
  101. package/dist/lib/fs-helpers/readers/head-file.js +73 -0
  102. package/dist/lib/fs-helpers/readers/head-file.js.map +1 -0
  103. package/dist/lib/fs-helpers/readers/line-range.d.ts +7 -0
  104. package/dist/lib/fs-helpers/readers/line-range.d.ts.map +1 -0
  105. package/dist/lib/fs-helpers/readers/line-range.js +46 -0
  106. package/dist/lib/fs-helpers/readers/line-range.js.map +1 -0
  107. package/dist/lib/fs-helpers/readers/read-file.d.ts +16 -0
  108. package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -0
  109. package/dist/lib/fs-helpers/readers/read-file.js +87 -0
  110. package/dist/lib/fs-helpers/readers/read-file.js.map +1 -0
  111. package/dist/lib/fs-helpers/readers/stream-lines.d.ts +7 -0
  112. package/dist/lib/fs-helpers/readers/stream-lines.d.ts.map +1 -0
  113. package/dist/lib/fs-helpers/readers/stream-lines.js +61 -0
  114. package/dist/lib/fs-helpers/readers/stream-lines.js.map +1 -0
  115. package/dist/lib/fs-helpers/readers/tail-file.d.ts +2 -0
  116. package/dist/lib/fs-helpers/readers/tail-file.d.ts.map +1 -0
  117. package/dist/lib/fs-helpers/readers/tail-file.js +98 -0
  118. package/dist/lib/fs-helpers/readers/tail-file.js.map +1 -0
  119. package/dist/lib/fs-helpers/readers/utf8.d.ts +3 -0
  120. package/dist/lib/fs-helpers/readers/utf8.d.ts.map +1 -0
  121. package/dist/lib/fs-helpers/readers/utf8.js +22 -0
  122. package/dist/lib/fs-helpers/readers/utf8.js.map +1 -0
  123. package/dist/lib/fs-helpers/readers.d.ts +4 -0
  124. package/dist/lib/fs-helpers/readers.d.ts.map +1 -0
  125. package/dist/lib/fs-helpers/readers.js +4 -0
  126. package/dist/lib/fs-helpers/readers.js.map +1 -0
  127. package/dist/lib/fs-helpers.d.ts +4 -25
  128. package/dist/lib/fs-helpers.d.ts.map +1 -1
  129. package/dist/lib/fs-helpers.js +4 -327
  130. package/dist/lib/fs-helpers.js.map +1 -1
  131. package/dist/lib/path-validation/allowed-directories.d.ts +9 -0
  132. package/dist/lib/path-validation/allowed-directories.d.ts.map +1 -0
  133. package/dist/lib/path-validation/allowed-directories.js +94 -0
  134. package/dist/lib/path-validation/allowed-directories.js.map +1 -0
  135. package/dist/lib/path-validation/errors.d.ts +5 -0
  136. package/dist/lib/path-validation/errors.d.ts.map +1 -0
  137. package/dist/lib/path-validation/errors.js +33 -0
  138. package/dist/lib/path-validation/errors.js.map +1 -0
  139. package/dist/lib/path-validation/roots.d.ts +3 -0
  140. package/dist/lib/path-validation/roots.d.ts.map +1 -0
  141. package/dist/lib/path-validation/roots.js +49 -0
  142. package/dist/lib/path-validation/roots.js.map +1 -0
  143. package/dist/lib/path-validation/validators.d.ts +9 -0
  144. package/dist/lib/path-validation/validators.d.ts.map +1 -0
  145. package/dist/lib/path-validation/validators.js +70 -0
  146. package/dist/lib/path-validation/validators.js.map +1 -0
  147. package/dist/lib/path-validation.d.ts +3 -7
  148. package/dist/lib/path-validation.d.ts.map +1 -1
  149. package/dist/lib/path-validation.js +3 -141
  150. package/dist/lib/path-validation.js.map +1 -1
  151. package/dist/lib/performance/monitor.d.ts +25 -0
  152. package/dist/lib/performance/monitor.d.ts.map +1 -0
  153. package/dist/lib/performance/monitor.js +84 -0
  154. package/dist/lib/performance/monitor.js.map +1 -0
  155. package/dist/schemas/input-helpers.d.ts +27 -0
  156. package/dist/schemas/input-helpers.d.ts.map +1 -0
  157. package/dist/schemas/input-helpers.js +176 -0
  158. package/dist/schemas/input-helpers.js.map +1 -0
  159. package/dist/schemas/inputs.d.ts +14 -7
  160. package/dist/schemas/inputs.d.ts.map +1 -1
  161. package/dist/schemas/inputs.js +56 -228
  162. package/dist/schemas/inputs.js.map +1 -1
  163. package/dist/schemas/output-helpers.d.ts +24 -0
  164. package/dist/schemas/output-helpers.d.ts.map +1 -0
  165. package/dist/schemas/output-helpers.js +13 -0
  166. package/dist/schemas/output-helpers.js.map +1 -0
  167. package/dist/schemas/outputs.d.ts +476 -42
  168. package/dist/schemas/outputs.d.ts.map +1 -1
  169. package/dist/schemas/outputs.js +26 -41
  170. package/dist/schemas/outputs.js.map +1 -1
  171. package/dist/server.d.ts +9 -1
  172. package/dist/server.d.ts.map +1 -1
  173. package/dist/server.js +29 -45
  174. package/dist/server.js.map +1 -1
  175. package/dist/tools/analyze-directory.d.ts.map +1 -1
  176. package/dist/tools/analyze-directory.js +115 -53
  177. package/dist/tools/analyze-directory.js.map +1 -1
  178. package/dist/tools/directory-tree.d.ts.map +1 -1
  179. package/dist/tools/directory-tree.js +86 -49
  180. package/dist/tools/directory-tree.js.map +1 -1
  181. package/dist/tools/get-file-info.d.ts.map +1 -1
  182. package/dist/tools/get-file-info.js +71 -37
  183. package/dist/tools/get-file-info.js.map +1 -1
  184. package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
  185. package/dist/tools/list-allowed-dirs.js +48 -35
  186. package/dist/tools/list-allowed-dirs.js.map +1 -1
  187. package/dist/tools/list-directory.d.ts.map +1 -1
  188. package/dist/tools/list-directory.js +129 -58
  189. package/dist/tools/list-directory.js.map +1 -1
  190. package/dist/tools/read-file.d.ts.map +1 -1
  191. package/dist/tools/read-file.js +70 -56
  192. package/dist/tools/read-file.js.map +1 -1
  193. package/dist/tools/read-media-file.d.ts.map +1 -1
  194. package/dist/tools/read-media-file.js +39 -41
  195. package/dist/tools/read-media-file.js.map +1 -1
  196. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  197. package/dist/tools/read-multiple-files.js +58 -50
  198. package/dist/tools/read-multiple-files.js.map +1 -1
  199. package/dist/tools/search-content.d.ts.map +1 -1
  200. package/dist/tools/search-content.js +148 -89
  201. package/dist/tools/search-content.js.map +1 -1
  202. package/dist/tools/search-files.d.ts.map +1 -1
  203. package/dist/tools/search-files.js +123 -50
  204. package/dist/tools/search-files.js.map +1 -1
  205. package/dist/tools/tool-response.d.ts +9 -0
  206. package/dist/tools/tool-response.d.ts.map +1 -0
  207. package/dist/tools/tool-response.js +7 -0
  208. package/dist/tools/tool-response.js.map +1 -0
  209. package/package.json +2 -1
  210. package/dist/__tests__/errors.test.d.ts +0 -2
  211. package/dist/__tests__/errors.test.d.ts.map +0 -1
  212. package/dist/__tests__/errors.test.js +0 -88
  213. package/dist/__tests__/errors.test.js.map +0 -1
  214. package/dist/__tests__/file-operations.test.d.ts +0 -2
  215. package/dist/__tests__/file-operations.test.d.ts.map +0 -1
  216. package/dist/__tests__/file-operations.test.js +0 -230
  217. package/dist/__tests__/file-operations.test.js.map +0 -1
  218. package/dist/__tests__/lib/formatters.test.d.ts +0 -2
  219. package/dist/__tests__/lib/formatters.test.d.ts.map +0 -1
  220. package/dist/__tests__/lib/formatters.test.js +0 -248
  221. package/dist/__tests__/lib/formatters.test.js.map +0 -1
  222. package/dist/__tests__/lib/image-parsing.test.d.ts +0 -2
  223. package/dist/__tests__/lib/image-parsing.test.d.ts.map +0 -1
  224. package/dist/__tests__/lib/image-parsing.test.js +0 -262
  225. package/dist/__tests__/lib/image-parsing.test.js.map +0 -1
  226. package/dist/__tests__/path-validation.test.d.ts +0 -2
  227. package/dist/__tests__/path-validation.test.d.ts.map +0 -1
  228. package/dist/__tests__/path-validation.test.js +0 -92
  229. package/dist/__tests__/path-validation.test.js.map +0 -1
  230. package/dist/lib/directory-helpers.d.ts +0 -4
  231. package/dist/lib/directory-helpers.d.ts.map +0 -1
  232. package/dist/lib/directory-helpers.js +0 -36
  233. package/dist/lib/directory-helpers.js.map +0 -1
  234. package/dist/lib/formatters.d.ts +0 -10
  235. package/dist/lib/formatters.d.ts.map +0 -1
  236. package/dist/lib/formatters.js +0 -202
  237. package/dist/lib/formatters.js.map +0 -1
  238. package/dist/lib/image-parsing.d.ts +0 -4
  239. package/dist/lib/image-parsing.d.ts.map +0 -1
  240. package/dist/lib/image-parsing.js +0 -124
  241. package/dist/lib/image-parsing.js.map +0 -1
  242. package/dist/lib/mcp-logger.d.ts +0 -11
  243. package/dist/lib/mcp-logger.d.ts.map +0 -1
  244. package/dist/lib/mcp-logger.js +0 -49
  245. package/dist/lib/mcp-logger.js.map +0 -1
  246. package/dist/lib/roots-utils.d.ts +0 -7
  247. package/dist/lib/roots-utils.d.ts.map +0 -1
  248. package/dist/lib/roots-utils.js +0 -39
  249. package/dist/lib/roots-utils.js.map +0 -1
  250. package/dist/lib/search-helpers.d.ts +0 -16
  251. package/dist/lib/search-helpers.d.ts.map +0 -1
  252. package/dist/lib/search-helpers.js +0 -169
  253. package/dist/lib/search-helpers.js.map +0 -1
  254. package/dist/lib/sorting.d.ts +0 -12
  255. package/dist/lib/sorting.d.ts.map +0 -1
  256. package/dist/lib/sorting.js +0 -41
  257. package/dist/lib/sorting.js.map +0 -1
  258. package/dist/lib/types.d.ts +0 -6
  259. package/dist/lib/types.d.ts.map +0 -1
  260. package/dist/lib/types.js +0 -2
  261. package/dist/lib/types.js.map +0 -1
  262. package/dist/prompts/analyze-codebase.d.ts +0 -3
  263. package/dist/prompts/analyze-codebase.d.ts.map +0 -1
  264. package/dist/prompts/analyze-codebase.js +0 -144
  265. package/dist/prompts/analyze-codebase.js.map +0 -1
  266. package/dist/prompts/filesystem-query.d.ts +0 -3
  267. package/dist/prompts/filesystem-query.d.ts.map +0 -1
  268. package/dist/prompts/filesystem-query.js +0 -168
  269. package/dist/prompts/filesystem-query.js.map +0 -1
  270. package/dist/prompts/find-duplicates.d.ts +0 -3
  271. package/dist/prompts/find-duplicates.d.ts.map +0 -1
  272. package/dist/prompts/find-duplicates.js +0 -77
  273. package/dist/prompts/find-duplicates.js.map +0 -1
  274. package/dist/prompts/index.d.ts +0 -3
  275. package/dist/prompts/index.d.ts.map +0 -1
  276. package/dist/prompts/index.js +0 -13
  277. package/dist/prompts/index.js.map +0 -1
  278. package/dist/prompts/project-overview.d.ts +0 -3
  279. package/dist/prompts/project-overview.d.ts.map +0 -1
  280. package/dist/prompts/project-overview.js +0 -122
  281. package/dist/prompts/project-overview.js.map +0 -1
  282. package/dist/prompts/search-and-replace.d.ts +0 -3
  283. package/dist/prompts/search-and-replace.d.ts.map +0 -1
  284. package/dist/prompts/search-and-replace.js +0 -130
  285. package/dist/prompts/search-and-replace.js.map +0 -1
  286. package/dist/prompts/shared.d.ts +0 -11
  287. package/dist/prompts/shared.d.ts.map +0 -1
  288. package/dist/prompts/shared.js +0 -32
  289. package/dist/prompts/shared.js.map +0 -1
  290. package/dist/resources/index.d.ts +0 -3
  291. package/dist/resources/index.d.ts.map +0 -1
  292. package/dist/resources/index.js +0 -54
  293. package/dist/resources/index.js.map +0 -1
  294. package/dist/schemas/validators.d.ts +0 -12
  295. package/dist/schemas/validators.d.ts.map +0 -1
  296. package/dist/schemas/validators.js +0 -35
  297. package/dist/schemas/validators.js.map +0 -1
  298. package/dist/utils/index.d.ts +0 -2
  299. package/dist/utils/index.d.ts.map +0 -1
  300. package/dist/utils/index.js +0 -2
  301. package/dist/utils/index.js.map +0 -1
  302. package/dist/utils/response-helpers.d.ts +0 -22
  303. package/dist/utils/response-helpers.d.ts.map +0 -1
  304. package/dist/utils/response-helpers.js +0 -24
  305. package/dist/utils/response-helpers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-helpers.d.ts","sourceRoot":"","sources":["../../src/schemas/input-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAaxD;AAED,eAAO,MAAM,cAAc,+FAIC,CAAC;AAU7B,eAAO,MAAM,qBAAqB,0CAEjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,0CAE1C,CAAC;AAEF,eAAO,MAAM,qBAAqB,4FAWpB,CAAC;AAEf,eAAO,MAAM,0BAA0B,8DAIzB,CAAC;AAQf,eAAO,MAAM,cAAc,0CAOuB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,0CAOqB,CAAC;AAEnD,eAAO,MAAM,qBAAqB,0CAO4B,CAAC;AAE/D,eAAO,MAAM,eAAe,0CAO4B,CAAC;AAEzD,eAAO,MAAM,UAAU,0CAOqB,CAAC;AAE7C,eAAO,MAAM,kBAAkB,0CAOqB,CAAC;AAErD,eAAO,MAAM,mBAAmB,2CAImB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,8EAIgC,CAAC;AAE9D,eAAO,MAAM,qBAAqB,8EAI2B,CAAC;AAE9D,eAAO,MAAM,gBAAgB,4BAM+C,CAAC;AAE7E,eAAO,MAAM,mBAAmB,2CAII,CAAC;AAErC,eAAO,MAAM,gBAAgB,2CAIwB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,2CAM7B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,0CAO+B,CAAC;AAEpE,eAAO,MAAM,kBAAkB,0CAO6C,CAAC;AAE7E,eAAO,MAAM,eAAe,4BAMc,CAAC;AAE3C,eAAO,MAAM,eAAe,4BAMa,CAAC;AAE1C,eAAO,MAAM,eAAe,4BAK6B,CAAC;AAE1D,eAAO,MAAM,aAAa,4BAK6B,CAAC"}
@@ -0,0 +1,176 @@
1
+ import { z } from 'zod';
2
+ import { DEFAULT_MAX_DEPTH, DEFAULT_MAX_RESULTS, DEFAULT_SEARCH_MAX_FILES, DEFAULT_SEARCH_TIMEOUT_MS, DEFAULT_TOP_N, DEFAULT_TREE_DEPTH, MAX_SEARCHABLE_FILE_SIZE, MAX_TEXT_FILE_SIZE, } from '../lib/constants.js';
3
+ export function isSafeGlobPattern(value) {
4
+ if (value.length === 0)
5
+ return false;
6
+ const absolutePattern = /^([/\\]|[A-Za-z]:[/\\]|\\\\)/u;
7
+ if (absolutePattern.test(value)) {
8
+ return false;
9
+ }
10
+ if (/[\\/]\.\.(?:[/\\]|$)/u.test(value) || value.startsWith('..')) {
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ export const EncodingSchema = z
16
+ .enum(['utf-8', 'utf8', 'ascii', 'base64', 'hex', 'latin1'])
17
+ .optional()
18
+ .default('utf-8')
19
+ .describe('File encoding');
20
+ const MaxTextFileSizeSchema = z
21
+ .number()
22
+ .int('maxSize must be an integer')
23
+ .min(1, 'maxSize must be at least 1 byte')
24
+ .max(100 * 1024 * 1024, 'maxSize cannot exceed 100MB')
25
+ .optional()
26
+ .default(MAX_TEXT_FILE_SIZE);
27
+ export const ReadFileMaxSizeSchema = MaxTextFileSizeSchema.describe('Maximum file size in bytes (default 10MB)');
28
+ export const ReadMultipleFilesMaxSizeSchema = MaxTextFileSizeSchema.describe('Maximum file size in bytes per file (default 10MB)');
29
+ export const ExcludePatternsSchema = z
30
+ .array(z
31
+ .string()
32
+ .max(500, 'Individual exclude pattern is too long')
33
+ .refine((val) => !val.includes('**/**/**'), {
34
+ message: 'Pattern too deeply nested (max 2 levels of **)',
35
+ }))
36
+ .max(100, 'Too many exclude patterns (max 100)')
37
+ .optional()
38
+ .default([]);
39
+ export const BasicExcludePatternsSchema = z
40
+ .array(z.string().max(500, 'Individual exclude pattern is too long'))
41
+ .max(100, 'Too many exclude patterns (max 100)')
42
+ .optional()
43
+ .default([]);
44
+ // ============================================================================
45
+ // REUSABLE SCHEMA FRAGMENTS
46
+ // ============================================================================
47
+ // These schemas eliminate duplication across input definitions.
48
+ // If you change a constraint (e.g., maxDepth limit), update once here.
49
+ export const MaxDepthSchema = z
50
+ .number()
51
+ .int('maxDepth must be an integer')
52
+ .min(0, 'maxDepth must be non-negative')
53
+ .max(100, 'maxDepth cannot exceed 100')
54
+ .optional()
55
+ .default(DEFAULT_MAX_DEPTH)
56
+ .describe('Maximum directory depth to traverse');
57
+ export const MaxResultsSchema = z
58
+ .number()
59
+ .int('maxResults must be an integer')
60
+ .min(1, 'maxResults must be at least 1')
61
+ .max(10000, 'maxResults cannot exceed 10,000')
62
+ .optional()
63
+ .default(DEFAULT_MAX_RESULTS)
64
+ .describe('Maximum number of results to return');
65
+ export const MaxFilesScannedSchema = z
66
+ .number()
67
+ .int('maxFilesScanned must be an integer')
68
+ .min(1, 'maxFilesScanned must be at least 1')
69
+ .max(100000, 'maxFilesScanned cannot exceed 100,000')
70
+ .optional()
71
+ .default(DEFAULT_SEARCH_MAX_FILES)
72
+ .describe('Maximum number of files to scan before stopping');
73
+ export const TimeoutMsSchema = z
74
+ .number()
75
+ .int('timeoutMs must be an integer')
76
+ .min(100, 'timeoutMs must be at least 100ms')
77
+ .max(3600000, 'timeoutMs cannot exceed 1 hour')
78
+ .optional()
79
+ .default(DEFAULT_SEARCH_TIMEOUT_MS)
80
+ .describe('Timeout in milliseconds for the operation');
81
+ export const TopNSchema = z
82
+ .number()
83
+ .int('topN must be an integer')
84
+ .min(1, 'topN must be at least 1')
85
+ .max(1000, 'topN cannot exceed 1000')
86
+ .optional()
87
+ .default(DEFAULT_TOP_N)
88
+ .describe('Number of top items to return');
89
+ export const TreeMaxDepthSchema = z
90
+ .number()
91
+ .int('maxDepth must be an integer')
92
+ .min(0, 'maxDepth must be non-negative')
93
+ .max(50, 'maxDepth cannot exceed 50')
94
+ .optional()
95
+ .default(DEFAULT_TREE_DEPTH)
96
+ .describe('Maximum depth to traverse (default 5)');
97
+ export const IncludeHiddenSchema = z
98
+ .boolean()
99
+ .optional()
100
+ .default(false)
101
+ .describe('Include hidden files and directories');
102
+ export const SortByFileSchema = z
103
+ .enum(['name', 'size', 'modified', 'path'])
104
+ .optional()
105
+ .default('path')
106
+ .describe('Sort results by: name, size, modified, or path');
107
+ export const SortByDirectorySchema = z
108
+ .enum(['name', 'size', 'modified', 'type'])
109
+ .optional()
110
+ .default('name')
111
+ .describe('Sort entries by: name, size, modified, or type');
112
+ export const MaxEntriesSchema = z
113
+ .number()
114
+ .int('maxEntries must be an integer')
115
+ .min(1, 'maxEntries must be at least 1')
116
+ .max(100000, 'maxEntries cannot exceed 100,000')
117
+ .optional()
118
+ .describe('Maximum number of entries to return (prevents huge responses)');
119
+ export const CaseSensitiveSchema = z
120
+ .boolean()
121
+ .optional()
122
+ .default(false)
123
+ .describe('Case sensitive search');
124
+ export const SkipBinarySchema = z
125
+ .boolean()
126
+ .optional()
127
+ .default(true)
128
+ .describe('Skip likely-binary files (recommended)');
129
+ export const BaseNameMatchSchema = z
130
+ .boolean()
131
+ .optional()
132
+ .default(false)
133
+ .describe('If true, patterns without slashes match against basename only. Useful for finding files by name regardless of directory depth');
134
+ export const MaxFileSizeSearchSchema = z
135
+ .number()
136
+ .int('maxFileSize must be an integer')
137
+ .min(1, 'maxFileSize must be at least 1 byte')
138
+ .max(100 * 1024 * 1024, 'maxFileSize cannot exceed 100MB')
139
+ .optional()
140
+ .default(MAX_SEARCHABLE_FILE_SIZE)
141
+ .describe('Maximum file size in bytes to scan (defaults to 1MB)');
142
+ export const ContextLinesSchema = z
143
+ .number()
144
+ .int('contextLines must be an integer')
145
+ .min(0, 'contextLines must be non-negative')
146
+ .max(10, 'contextLines cannot exceed 10')
147
+ .optional()
148
+ .default(0)
149
+ .describe('Number of lines to include before and after each match (0-10)');
150
+ export const HeadLinesSchema = z
151
+ .number()
152
+ .int('head must be an integer')
153
+ .min(1, 'head must be at least 1')
154
+ .max(100000, 'head cannot exceed 100,000 lines')
155
+ .optional()
156
+ .describe('Read only the first N lines');
157
+ export const TailLinesSchema = z
158
+ .number()
159
+ .int('tail must be an integer')
160
+ .min(1, 'tail must be at least 1')
161
+ .max(100000, 'tail cannot exceed 100,000 lines')
162
+ .optional()
163
+ .describe('Read only the last N lines');
164
+ export const LineStartSchema = z
165
+ .number()
166
+ .int('lineStart must be an integer')
167
+ .min(1, 'lineStart must be at least 1 (1-indexed)')
168
+ .optional()
169
+ .describe('Start line (1-indexed) for reading a range');
170
+ export const LineEndSchema = z
171
+ .number()
172
+ .int('lineEnd must be an integer')
173
+ .min(1, 'lineEnd must be at least 1')
174
+ .optional()
175
+ .describe('End line (inclusive) for reading a range');
176
+ //# sourceMappingURL=input-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-helpers.js","sourceRoot":"","sources":["../../src/schemas/input-helpers.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,17 @@ export declare const SearchFilesInputSchema: {
12
12
  path: z.ZodString;
13
13
  pattern: z.ZodEffects<z.ZodString, string, string>;
14
14
  excludePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>>;
15
- maxResults: z.ZodOptional<z.ZodNumber>;
15
+ maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16
16
  sortBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["name", "size", "modified", "path"]>>>;
17
- maxDepth: z.ZodOptional<z.ZodNumber>;
17
+ maxDepth: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
18
+ maxFilesScanned: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
19
+ timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
20
+ baseNameMatch: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
21
+ skipSymlinks: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
18
22
  };
19
23
  export declare const ReadFileInputSchema: {
20
24
  path: z.ZodString;
21
- encoding: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodEnum<["utf-8", "utf8", "ascii", "base64", "hex", "latin1"]>>>, "base64" | "ascii" | "utf8" | "utf-8" | "latin1" | "hex", "base64" | "ascii" | "utf8" | "utf-8" | "latin1" | "hex" | undefined>;
25
+ encoding: z.ZodDefault<z.ZodOptional<z.ZodEnum<["utf-8", "utf8", "ascii", "base64", "hex", "latin1"]>>>;
22
26
  maxSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
23
27
  lineStart: z.ZodOptional<z.ZodNumber>;
24
28
  lineEnd: z.ZodOptional<z.ZodNumber>;
@@ -39,17 +43,20 @@ export declare const GetFileInfoInputSchema: {
39
43
  export declare const SearchContentInputSchema: {
40
44
  path: z.ZodString;
41
45
  pattern: z.ZodString;
42
- filePattern: z.ZodDefault<z.ZodOptional<z.ZodString>>;
46
+ filePattern: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, string, string | undefined>;
43
47
  excludePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>>;
44
48
  caseSensitive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
45
49
  maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
46
- maxFileSize: z.ZodOptional<z.ZodNumber>;
47
- maxFilesScanned: z.ZodOptional<z.ZodNumber>;
48
- timeoutMs: z.ZodOptional<z.ZodNumber>;
50
+ maxFileSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
51
+ maxFilesScanned: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
52
+ timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
49
53
  skipBinary: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
+ includeHidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
50
55
  contextLines: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
51
56
  wholeWord: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
52
57
  isLiteral: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
58
+ baseNameMatch: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
59
+ caseSensitiveFileMatch: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
53
60
  };
54
61
  export declare const AnalyzeDirectoryInputSchema: {
55
62
  path: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,wBAAwB;;;;;;;;CA4CpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CA6DlC,CAAC;AA2DF,eAAO,MAAM,mBAAmB;;;;;;;;CAA2B,CAAC;AAgD5D,eAAO,MAAM,4BAA4B;;;;;;;CAAoC,CAAC;AAE9E,eAAO,MAAM,sBAAsB;;CAKlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CA+FpC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;CAgCvC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAoCpC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;CAapC,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+BxB,eAAO,MAAM,wBAAwB;;;;;;;;CAuBpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAkDlC,CAAC;AAqBF,eAAO,MAAM,mBAAmB;;;;;;;;CAA2B,CAAC;AAyB5D,eAAO,MAAM,4BAA4B;;;;;;;CAAoC,CAAC;AAE9E,eAAO,MAAM,sBAAsB;;CAKlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CA8DpC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;CAWvC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAsBpC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;CAapC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { DEFAULT_MAX_DEPTH, DEFAULT_MAX_RESULTS, DEFAULT_TOP_N, DEFAULT_TREE_DEPTH, MAX_MEDIA_FILE_SIZE, MAX_TEXT_FILE_SIZE, } from '../lib/constants.js';
2
+ import { MAX_MEDIA_FILE_SIZE } from '../lib/constants.js';
3
+ import { BaseNameMatchSchema, BasicExcludePatternsSchema, CaseSensitiveSchema, ContextLinesSchema, EncodingSchema, ExcludePatternsSchema, HeadLinesSchema, IncludeHiddenSchema, isSafeGlobPattern, LineEndSchema, LineStartSchema, MaxDepthSchema, MaxEntriesSchema, MaxFileSizeSearchSchema, MaxFilesScannedSchema, MaxResultsSchema, ReadFileMaxSizeSchema, ReadMultipleFilesMaxSizeSchema, SkipBinarySchema, SortByDirectorySchema, SortByFileSchema, TailLinesSchema, TimeoutMsSchema, TopNSchema, TreeMaxDepthSchema, } from './input-helpers.js';
3
4
  export const ListDirectoryInputSchema = {
4
5
  path: z
5
6
  .string()
@@ -10,31 +11,10 @@ export const ListDirectoryInputSchema = {
10
11
  .optional()
11
12
  .default(false)
12
13
  .describe('If true, list contents of subdirectories recursively up to maxDepth'),
13
- includeHidden: z
14
- .boolean()
15
- .optional()
16
- .default(false)
17
- .describe('Include hidden files'),
18
- maxDepth: z
19
- .number()
20
- .int('maxDepth must be an integer')
21
- .min(0, 'maxDepth must be non-negative')
22
- .max(100, 'maxDepth cannot exceed 100')
23
- .optional()
24
- .default(DEFAULT_MAX_DEPTH)
25
- .describe('Maximum depth for recursive listing (higher values may impact performance)'),
26
- maxEntries: z
27
- .number()
28
- .int('maxEntries must be an integer')
29
- .min(1, 'maxEntries must be at least 1')
30
- .max(100000, 'maxEntries cannot exceed 100,000')
31
- .optional()
32
- .describe('Maximum number of entries to return (prevents huge responses)'),
33
- sortBy: z
34
- .enum(['name', 'size', 'modified', 'type'])
35
- .optional()
36
- .default('name')
37
- .describe('Sort entries by: name, size, modified, or type'),
14
+ includeHidden: IncludeHiddenSchema,
15
+ maxDepth: MaxDepthSchema.describe('Maximum depth for recursive listing (higher values may impact performance)'),
16
+ maxEntries: MaxEntriesSchema,
17
+ sortBy: SortByDirectorySchema,
38
18
  includeSymlinkTargets: z
39
19
  .boolean()
40
20
  .optional()
@@ -57,43 +37,27 @@ export const SearchFilesInputSchema = {
57
37
  if (val.includes('**/**/**')) {
58
38
  return false; // Excessive nesting
59
39
  }
60
- return true;
40
+ return isSafeGlobPattern(val);
61
41
  }
62
42
  catch {
63
43
  return false;
64
44
  }
65
- }, { message: 'Invalid glob pattern syntax' })
45
+ }, {
46
+ message: 'Invalid glob pattern syntax or unsafe path (absolute/.. segments not allowed)',
47
+ })
66
48
  .describe('Glob pattern to match files. Examples: "**/*.ts" (all TypeScript files), "src/**/*.js" (JS files in src), "*.json" (JSON files in current dir)'),
67
- excludePatterns: z
68
- .array(z
69
- .string()
70
- .max(500, 'Individual exclude pattern is too long')
71
- .refine((val) => !val.includes('**/**/**'), {
72
- message: 'Pattern too deeply nested (max 2 levels of **)',
73
- }))
74
- .max(100, 'Too many exclude patterns (max 100)')
75
- .optional()
76
- .default([])
77
- .describe('Patterns to exclude'),
78
- maxResults: z
79
- .number()
80
- .int('maxResults must be an integer')
81
- .min(1, 'maxResults must be at least 1')
82
- .max(10000, 'maxResults cannot exceed 10,000')
83
- .optional()
84
- .describe('Maximum number of matches to return (prevents huge responses)'),
85
- sortBy: z
86
- .enum(['name', 'size', 'modified', 'path'])
87
- .optional()
88
- .default('path')
89
- .describe('Sort results by: name, size, modified, or path'),
90
- maxDepth: z
91
- .number()
92
- .int('maxDepth must be an integer')
93
- .min(1, 'maxDepth must be at least 1')
94
- .max(100, 'maxDepth cannot exceed 100')
49
+ excludePatterns: ExcludePatternsSchema.describe('Patterns to exclude'),
50
+ maxResults: MaxResultsSchema.describe('Maximum number of matches to return (prevents huge responses)'),
51
+ sortBy: SortByFileSchema,
52
+ maxDepth: MaxDepthSchema.describe('Maximum directory depth to search (lower values improve performance)'),
53
+ maxFilesScanned: MaxFilesScannedSchema,
54
+ timeoutMs: TimeoutMsSchema.describe('Timeout in milliseconds for the search operation'),
55
+ baseNameMatch: BaseNameMatchSchema.describe('If true, patterns without slashes match against basename of paths. Useful for finding config files like "*.json" in nested directories'),
56
+ skipSymlinks: z
57
+ .boolean()
95
58
  .optional()
96
- .describe('Maximum directory depth to search (lower values improve performance)'),
59
+ .default(true)
60
+ .describe('Skip symbolic links for security and performance'),
97
61
  };
98
62
  // Base schema for reading a file with various options.
99
63
  const ReadFileBaseSchema = z.object({
@@ -101,46 +65,12 @@ const ReadFileBaseSchema = z.object({
101
65
  .string()
102
66
  .min(1, 'Path cannot be empty')
103
67
  .describe('Path to the file to read'),
104
- encoding: z
105
- .enum(['utf-8', 'utf8', 'ascii', 'base64', 'hex', 'latin1'])
106
- .optional()
107
- .default('utf-8')
108
- .refine((val) => ['utf-8', 'utf8', 'ascii', 'base64', 'hex', 'latin1'].includes(val), { message: 'Invalid encoding specified' })
109
- .describe('File encoding'),
110
- maxSize: z
111
- .number()
112
- .int('maxSize must be an integer')
113
- .min(1, 'maxSize must be at least 1 byte')
114
- .max(100 * 1024 * 1024, 'maxSize cannot exceed 100MB')
115
- .optional()
116
- .default(MAX_TEXT_FILE_SIZE)
117
- .describe('Maximum file size in bytes (default 10MB)'),
118
- lineStart: z
119
- .number()
120
- .int('lineStart must be an integer')
121
- .min(1, 'lineStart must be at least 1 (1-indexed)')
122
- .optional()
123
- .describe('Start line (1-indexed) for reading a range'),
124
- lineEnd: z
125
- .number()
126
- .int('lineEnd must be an integer')
127
- .min(1, 'lineEnd must be at least 1')
128
- .optional()
129
- .describe('End line (inclusive) for reading a range'),
130
- head: z
131
- .number()
132
- .int('head must be an integer')
133
- .min(1, 'head must be at least 1')
134
- .max(100000, 'head cannot exceed 100,000 lines')
135
- .optional()
136
- .describe('Read only the first N lines of the file (memory efficient for large files)'),
137
- tail: z
138
- .number()
139
- .int('tail must be an integer')
140
- .min(1, 'tail must be at least 1')
141
- .max(100000, 'tail cannot exceed 100,000 lines')
142
- .optional()
143
- .describe('Read only the last N lines of the file (memory efficient for large files)'),
68
+ encoding: EncodingSchema,
69
+ maxSize: ReadFileMaxSizeSchema,
70
+ lineStart: LineStartSchema,
71
+ lineEnd: LineEndSchema,
72
+ head: HeadLinesSchema.describe('Read only the first N lines of the file (memory efficient for large files)'),
73
+ tail: TailLinesSchema.describe('Read only the last N lines of the file (memory efficient for large files)'),
144
74
  });
145
75
  // Schema for reading a single file.
146
76
  export const ReadFileInputSchema = ReadFileBaseSchema.shape;
@@ -151,19 +81,8 @@ const ReadMultipleFilesBaseSchema = z.object({
151
81
  .min(1, 'At least one path is required')
152
82
  .max(100, 'Cannot read more than 100 files at once')
153
83
  .describe('Array of file paths to read'),
154
- encoding: z
155
- .enum(['utf-8', 'utf8', 'ascii', 'base64', 'hex', 'latin1'])
156
- .optional()
157
- .default('utf-8')
158
- .describe('File encoding'),
159
- maxSize: z
160
- .number()
161
- .int('maxSize must be an integer')
162
- .min(1, 'maxSize must be at least 1 byte')
163
- .max(100 * 1024 * 1024, 'maxSize cannot exceed 100MB')
164
- .optional()
165
- .default(MAX_TEXT_FILE_SIZE)
166
- .describe('Maximum file size in bytes per file (default 10MB)'),
84
+ encoding: EncodingSchema,
85
+ maxSize: ReadMultipleFilesMaxSizeSchema,
167
86
  maxTotalSize: z
168
87
  .number()
169
88
  .int('maxTotalSize must be an integer')
@@ -172,20 +91,8 @@ const ReadMultipleFilesBaseSchema = z.object({
172
91
  .optional()
173
92
  .default(100 * 1024 * 1024)
174
93
  .describe('Maximum total size in bytes for all files combined (default 100MB)'),
175
- head: z
176
- .number()
177
- .int('head must be an integer')
178
- .min(1, 'head must be at least 1')
179
- .max(100000, 'head cannot exceed 100,000 lines')
180
- .optional()
181
- .describe('Read only the first N lines of each file'),
182
- tail: z
183
- .number()
184
- .int('tail must be an integer')
185
- .min(1, 'tail must be at least 1')
186
- .max(100000, 'tail cannot exceed 100,000 lines')
187
- .optional()
188
- .describe('Read only the last N lines of each file'),
94
+ head: HeadLinesSchema.describe('Read only the first N lines of each file'),
95
+ tail: TailLinesSchema.describe('Read only the last N lines of each file'),
189
96
  });
190
97
  export const ReadMultipleFilesInputSchema = ReadMultipleFilesBaseSchema.shape;
191
98
  export const GetFileInfoInputSchema = {
@@ -210,65 +117,19 @@ export const SearchContentInputSchema = {
210
117
  .max(500, 'File pattern is too long')
211
118
  .optional()
212
119
  .default('**/*')
120
+ .refine(isSafeGlobPattern, {
121
+ message: 'File pattern must be relative to the base path (no absolute or ".." segments)',
122
+ })
213
123
  .describe('Glob pattern to filter files'),
214
- excludePatterns: z
215
- .array(z
216
- .string()
217
- .max(500, 'Individual exclude pattern is too long')
218
- .refine((val) => !val.includes('**/**/**'), {
219
- message: 'Pattern too deeply nested (max 2 levels of **)',
220
- }))
221
- .max(100, 'Too many exclude patterns (max 100)')
222
- .optional()
223
- .default([])
224
- .describe('Glob patterns to exclude (e.g., "node_modules/**")'),
225
- caseSensitive: z
226
- .boolean()
227
- .optional()
228
- .default(false)
229
- .describe('Case sensitive search'),
230
- maxResults: z
231
- .number()
232
- .int('maxResults must be an integer')
233
- .min(1, 'maxResults must be at least 1')
234
- .max(10000, 'maxResults cannot exceed 10,000')
235
- .optional()
236
- .default(DEFAULT_MAX_RESULTS)
237
- .describe('Maximum number of results'),
238
- maxFileSize: z
239
- .number()
240
- .int('maxFileSize must be an integer')
241
- .min(1, 'maxFileSize must be at least 1 byte')
242
- .max(100 * 1024 * 1024, 'maxFileSize cannot exceed 100MB')
243
- .optional()
244
- .describe('Maximum file size in bytes to scan (defaults to 1MB)'),
245
- maxFilesScanned: z
246
- .number()
247
- .int('maxFilesScanned must be an integer')
248
- .min(1, 'maxFilesScanned must be at least 1')
249
- .max(100000, 'maxFilesScanned cannot exceed 100,000')
250
- .optional()
251
- .describe('Maximum number of files to scan before stopping'),
252
- timeoutMs: z
253
- .number()
254
- .int('timeoutMs must be an integer')
255
- .min(100, 'timeoutMs must be at least 100ms')
256
- .max(3600000, 'timeoutMs cannot exceed 1 hour')
257
- .optional()
258
- .describe('Timeout in milliseconds for the search operation'),
259
- skipBinary: z
260
- .boolean()
261
- .optional()
262
- .default(true)
263
- .describe('Skip likely-binary files (recommended)'),
264
- contextLines: z
265
- .number()
266
- .int('contextLines must be an integer')
267
- .min(0, 'contextLines must be non-negative')
268
- .max(10, 'contextLines cannot exceed 10')
269
- .optional()
270
- .default(0)
271
- .describe('Number of lines to include before and after each match (0-10)'),
124
+ excludePatterns: ExcludePatternsSchema.describe('Glob patterns to exclude (e.g., "node_modules/**")'),
125
+ caseSensitive: CaseSensitiveSchema,
126
+ maxResults: MaxResultsSchema.describe('Maximum number of results'),
127
+ maxFileSize: MaxFileSizeSearchSchema,
128
+ maxFilesScanned: MaxFilesScannedSchema,
129
+ timeoutMs: TimeoutMsSchema.describe('Timeout in milliseconds for the search operation'),
130
+ skipBinary: SkipBinarySchema,
131
+ includeHidden: IncludeHiddenSchema.describe('Include hidden files and directories (dotfiles) in the search'),
132
+ contextLines: ContextLinesSchema,
272
133
  wholeWord: z
273
134
  .boolean()
274
135
  .optional()
@@ -279,64 +140,31 @@ export const SearchContentInputSchema = {
279
140
  .optional()
280
141
  .default(false)
281
142
  .describe('Treat pattern as a literal string instead of regex. Special characters like ., *, ? will be escaped automatically. Use this when searching for exact text containing regex metacharacters.'),
143
+ baseNameMatch: BaseNameMatchSchema,
144
+ caseSensitiveFileMatch: z
145
+ .boolean()
146
+ .optional()
147
+ .default(true)
148
+ .describe('Case sensitive file pattern matching. Set to false for case-insensitive filename matching on case-insensitive filesystems'),
282
149
  };
283
150
  export const AnalyzeDirectoryInputSchema = {
284
151
  path: z
285
152
  .string()
286
153
  .min(1, 'Path cannot be empty')
287
154
  .describe('Directory to analyze'),
288
- maxDepth: z
289
- .number()
290
- .int('maxDepth must be an integer')
291
- .min(0, 'maxDepth must be non-negative')
292
- .max(100, 'maxDepth cannot exceed 100')
293
- .optional()
294
- .default(DEFAULT_MAX_DEPTH)
295
- .describe('Maximum depth to analyze'),
296
- topN: z
297
- .number()
298
- .int('topN must be an integer')
299
- .min(1, 'topN must be at least 1')
300
- .max(1000, 'topN cannot exceed 1000')
301
- .optional()
302
- .default(DEFAULT_TOP_N)
303
- .describe('Number of top items to return'),
304
- excludePatterns: z
305
- .array(z.string().max(500, 'Individual exclude pattern is too long'))
306
- .max(100, 'Too many exclude patterns (max 100)')
307
- .optional()
308
- .default([])
309
- .describe('Glob patterns to exclude (e.g., "node_modules", "*.log")'),
310
- includeHidden: z
311
- .boolean()
312
- .optional()
313
- .default(false)
314
- .describe('Include hidden files and directories'),
155
+ maxDepth: MaxDepthSchema.describe('Maximum depth to analyze'),
156
+ topN: TopNSchema,
157
+ excludePatterns: BasicExcludePatternsSchema.describe('Glob patterns to exclude (e.g., "node_modules", "*.log")'),
158
+ includeHidden: IncludeHiddenSchema,
315
159
  };
316
160
  export const DirectoryTreeInputSchema = {
317
161
  path: z
318
162
  .string()
319
163
  .min(1, 'Path cannot be empty')
320
164
  .describe('Directory path to build tree from'),
321
- maxDepth: z
322
- .number()
323
- .int('maxDepth must be an integer')
324
- .min(0, 'maxDepth must be non-negative')
325
- .max(50, 'maxDepth cannot exceed 50')
326
- .optional()
327
- .default(DEFAULT_TREE_DEPTH)
328
- .describe('Maximum depth to traverse (default 5)'),
329
- excludePatterns: z
330
- .array(z.string().max(500, 'Individual exclude pattern is too long'))
331
- .max(100, 'Too many exclude patterns (max 100)')
332
- .optional()
333
- .default([])
334
- .describe('Glob patterns to exclude (e.g., "node_modules", "*.log")'),
335
- includeHidden: z
336
- .boolean()
337
- .optional()
338
- .default(false)
339
- .describe('Include hidden files and directories'),
165
+ maxDepth: TreeMaxDepthSchema,
166
+ excludePatterns: BasicExcludePatternsSchema.describe('Glob patterns to exclude (e.g., "node_modules", "*.log")'),
167
+ includeHidden: IncludeHiddenSchema,
340
168
  includeSize: z
341
169
  .boolean()
342
170
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}