@j0hanz/filesystem-context-mcp 1.2.8 → 1.3.0

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 (235) hide show
  1. package/README.md +125 -19
  2. package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts +2 -0
  3. package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts.map +1 -0
  4. package/dist/__tests__/lib/file-operations/compute-checksums.test.js +59 -0
  5. package/dist/__tests__/lib/file-operations/compute-checksums.test.js.map +1 -0
  6. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts +2 -0
  7. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts.map +1 -0
  8. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js +46 -0
  9. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js.map +1 -0
  10. package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js +21 -0
  11. package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js.map +1 -1
  12. package/dist/__tests__/lib/file-operations/read-multiple-files.test.js +18 -0
  13. package/dist/__tests__/lib/file-operations/read-multiple-files.test.js.map +1 -1
  14. package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts +2 -0
  15. package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts.map +1 -0
  16. package/dist/__tests__/lib/file-operations/search-definitions.test.js +274 -0
  17. package/dist/__tests__/lib/file-operations/search-definitions.test.js.map +1 -0
  18. package/dist/__tests__/lib/file-operations/sorting.test.d.ts +2 -0
  19. package/dist/__tests__/lib/file-operations/sorting.test.d.ts.map +1 -0
  20. package/dist/__tests__/lib/file-operations/sorting.test.js +47 -0
  21. package/dist/__tests__/lib/file-operations/sorting.test.js.map +1 -0
  22. package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts +2 -0
  23. package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts.map +1 -0
  24. package/dist/__tests__/lib/fs-helpers/utf8.test.js +43 -0
  25. package/dist/__tests__/lib/fs-helpers/utf8.test.js.map +1 -0
  26. package/dist/__tests__/lib/path-validation-errors.test.d.ts +2 -0
  27. package/dist/__tests__/lib/path-validation-errors.test.d.ts.map +1 -0
  28. package/dist/__tests__/lib/path-validation-errors.test.js +35 -0
  29. package/dist/__tests__/lib/path-validation-errors.test.js.map +1 -0
  30. package/dist/__tests__/lib/path-validation-roots.test.d.ts +2 -0
  31. package/dist/__tests__/lib/path-validation-roots.test.d.ts.map +1 -0
  32. package/dist/__tests__/lib/path-validation-roots.test.js +42 -0
  33. package/dist/__tests__/lib/path-validation-roots.test.js.map +1 -0
  34. package/dist/__tests__/lib/path-validation.test.js +5 -0
  35. package/dist/__tests__/lib/path-validation.test.js.map +1 -1
  36. package/dist/__tests__/security/filesystem-boundary.test.js +20 -12
  37. package/dist/__tests__/security/filesystem-boundary.test.js.map +1 -1
  38. package/dist/config/types.d.ts +64 -0
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/instructions.md +93 -28
  42. package/dist/lib/constants.d.ts.map +1 -1
  43. package/dist/lib/constants.js +17 -1
  44. package/dist/lib/constants.js.map +1 -1
  45. package/dist/lib/file-operations/analyze-directory-helpers.d.ts +24 -0
  46. package/dist/lib/file-operations/analyze-directory-helpers.d.ts.map +1 -0
  47. package/dist/lib/file-operations/analyze-directory-helpers.js +50 -0
  48. package/dist/lib/file-operations/analyze-directory-helpers.js.map +1 -0
  49. package/dist/lib/file-operations/analyze-directory.d.ts +1 -0
  50. package/dist/lib/file-operations/analyze-directory.d.ts.map +1 -1
  51. package/dist/lib/file-operations/analyze-directory.js +3 -58
  52. package/dist/lib/file-operations/analyze-directory.js.map +1 -1
  53. package/dist/lib/file-operations/batch-results.d.ts +12 -0
  54. package/dist/lib/file-operations/batch-results.d.ts.map +1 -0
  55. package/dist/lib/file-operations/batch-results.js +23 -0
  56. package/dist/lib/file-operations/batch-results.js.map +1 -0
  57. package/dist/lib/file-operations/compute-checksums.d.ts +9 -0
  58. package/dist/lib/file-operations/compute-checksums.d.ts.map +1 -0
  59. package/dist/lib/file-operations/compute-checksums.js +121 -0
  60. package/dist/lib/file-operations/compute-checksums.js.map +1 -0
  61. package/dist/lib/file-operations/directory-helpers.d.ts.map +1 -1
  62. package/dist/lib/file-operations/directory-helpers.js +18 -10
  63. package/dist/lib/file-operations/directory-helpers.js.map +1 -1
  64. package/dist/lib/file-operations/directory-tree-helpers.d.ts.map +1 -1
  65. package/dist/lib/file-operations/directory-tree-helpers.js +8 -1
  66. package/dist/lib/file-operations/directory-tree-helpers.js.map +1 -1
  67. package/dist/lib/file-operations/directory-tree.d.ts +1 -0
  68. package/dist/lib/file-operations/directory-tree.d.ts.map +1 -1
  69. package/dist/lib/file-operations/directory-tree.js +3 -9
  70. package/dist/lib/file-operations/directory-tree.js.map +1 -1
  71. package/dist/lib/file-operations/get-multiple-file-info.d.ts +7 -0
  72. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -0
  73. package/dist/lib/file-operations/get-multiple-file-info.js +59 -0
  74. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -0
  75. package/dist/lib/file-operations/list-directory-entry.d.ts +18 -0
  76. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -0
  77. package/dist/lib/file-operations/list-directory-entry.js +90 -0
  78. package/dist/lib/file-operations/list-directory-entry.js.map +1 -0
  79. package/dist/lib/file-operations/list-directory-helpers.d.ts +2 -0
  80. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  81. package/dist/lib/file-operations/list-directory-helpers.js +84 -103
  82. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  83. package/dist/lib/file-operations/list-directory.d.ts +2 -0
  84. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  85. package/dist/lib/file-operations/list-directory.js +5 -8
  86. package/dist/lib/file-operations/list-directory.js.map +1 -1
  87. package/dist/lib/file-operations/read-multiple-files.d.ts +2 -0
  88. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  89. package/dist/lib/file-operations/read-multiple-files.js +44 -11
  90. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  91. package/dist/lib/file-operations/search/engine-options.d.ts.map +1 -1
  92. package/dist/lib/file-operations/search/engine-options.js +1 -8
  93. package/dist/lib/file-operations/search/engine-options.js.map +1 -1
  94. package/dist/lib/file-operations/search/engine.d.ts +1 -1
  95. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  96. package/dist/lib/file-operations/search/engine.js +4 -1
  97. package/dist/lib/file-operations/search/engine.js.map +1 -1
  98. package/dist/lib/file-operations/search-content.d.ts +1 -0
  99. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  100. package/dist/lib/file-operations/search-content.js +1 -1
  101. package/dist/lib/file-operations/search-content.js.map +1 -1
  102. package/dist/lib/file-operations/search-definitions.d.ts +6 -0
  103. package/dist/lib/file-operations/search-definitions.d.ts.map +1 -0
  104. package/dist/lib/file-operations/search-definitions.js +247 -0
  105. package/dist/lib/file-operations/search-definitions.js.map +1 -0
  106. package/dist/lib/file-operations/search-files-helpers.d.ts +2 -24
  107. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  108. package/dist/lib/file-operations/search-files-helpers.js +3 -39
  109. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  110. package/dist/lib/file-operations/search-files-options.d.ts +31 -0
  111. package/dist/lib/file-operations/search-files-options.d.ts.map +1 -0
  112. package/dist/lib/file-operations/search-files-options.js +33 -0
  113. package/dist/lib/file-operations/search-files-options.js.map +1 -0
  114. package/dist/lib/file-operations/search-files.d.ts +1 -1
  115. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  116. package/dist/lib/file-operations/search-files.js +3 -2
  117. package/dist/lib/file-operations/search-files.js.map +1 -1
  118. package/dist/lib/file-operations.d.ts +3 -0
  119. package/dist/lib/file-operations.d.ts.map +1 -1
  120. package/dist/lib/file-operations.js +3 -0
  121. package/dist/lib/file-operations.js.map +1 -1
  122. package/dist/lib/fs-helpers/binary-detect.d.ts.map +1 -1
  123. package/dist/lib/fs-helpers/binary-detect.js +13 -16
  124. package/dist/lib/fs-helpers/binary-detect.js.map +1 -1
  125. package/dist/lib/fs-helpers/readers/read-file-content.d.ts +29 -0
  126. package/dist/lib/fs-helpers/readers/read-file-content.d.ts.map +1 -0
  127. package/dist/lib/fs-helpers/readers/read-file-content.js +25 -0
  128. package/dist/lib/fs-helpers/readers/read-file-content.js.map +1 -0
  129. package/dist/lib/fs-helpers/readers/read-file.d.ts +1 -0
  130. package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -1
  131. package/dist/lib/fs-helpers/readers/read-file.js +29 -29
  132. package/dist/lib/fs-helpers/readers/read-file.js.map +1 -1
  133. package/dist/lib/merge-defined.d.ts +2 -0
  134. package/dist/lib/merge-defined.d.ts.map +1 -0
  135. package/dist/lib/merge-defined.js +8 -0
  136. package/dist/lib/merge-defined.js.map +1 -0
  137. package/dist/lib/path-validation/validators.d.ts.map +1 -1
  138. package/dist/lib/path-validation/validators.js +8 -0
  139. package/dist/lib/path-validation/validators.js.map +1 -1
  140. package/dist/schemas/common.d.ts +2 -2
  141. package/dist/schemas/index.d.ts +2 -2
  142. package/dist/schemas/index.d.ts.map +1 -1
  143. package/dist/schemas/index.js +2 -2
  144. package/dist/schemas/index.js.map +1 -1
  145. package/dist/schemas/inputs/checksums.d.ts +10 -0
  146. package/dist/schemas/inputs/checksums.d.ts.map +1 -0
  147. package/dist/schemas/inputs/checksums.js +30 -0
  148. package/dist/schemas/inputs/checksums.js.map +1 -0
  149. package/dist/schemas/inputs/directory.d.ts +29 -0
  150. package/dist/schemas/inputs/directory.d.ts.map +1 -0
  151. package/dist/schemas/inputs/directory.js +75 -0
  152. package/dist/schemas/inputs/directory.js.map +1 -0
  153. package/dist/schemas/inputs/file-info.d.ts +9 -0
  154. package/dist/schemas/inputs/file-info.d.ts.map +1 -0
  155. package/dist/schemas/inputs/file-info.js +20 -0
  156. package/dist/schemas/inputs/file-info.js.map +1 -0
  157. package/dist/schemas/inputs/read.d.ts +26 -0
  158. package/dist/schemas/inputs/read.d.ts.map +1 -0
  159. package/dist/schemas/inputs/read.js +54 -0
  160. package/dist/schemas/inputs/read.js.map +1 -0
  161. package/dist/schemas/inputs/search.d.ts +44 -0
  162. package/dist/schemas/inputs/search.d.ts.map +1 -0
  163. package/dist/schemas/inputs/search.js +115 -0
  164. package/dist/schemas/inputs/search.js.map +1 -0
  165. package/dist/schemas/inputs.d.ts +5 -80
  166. package/dist/schemas/inputs.d.ts.map +1 -1
  167. package/dist/schemas/inputs.js +5 -195
  168. package/dist/schemas/inputs.js.map +1 -1
  169. package/dist/schemas/outputs/checksums.d.ts +93 -0
  170. package/dist/schemas/outputs/checksums.d.ts.map +1 -0
  171. package/dist/schemas/outputs/checksums.js +23 -0
  172. package/dist/schemas/outputs/checksums.js.map +1 -0
  173. package/dist/schemas/outputs/directory.d.ts +419 -0
  174. package/dist/schemas/outputs/directory.d.ts.map +1 -0
  175. package/dist/schemas/outputs/directory.js +81 -0
  176. package/dist/schemas/outputs/directory.js.map +1 -0
  177. package/dist/schemas/outputs/file-info.d.ts +270 -0
  178. package/dist/schemas/outputs/file-info.d.ts.map +1 -0
  179. package/dist/schemas/outputs/file-info.js +57 -0
  180. package/dist/schemas/outputs/file-info.js.map +1 -0
  181. package/dist/schemas/outputs/read.d.ts +187 -0
  182. package/dist/schemas/outputs/read.d.ts.map +1 -0
  183. package/dist/schemas/outputs/read.js +39 -0
  184. package/dist/schemas/outputs/read.js.map +1 -0
  185. package/dist/schemas/outputs/search.d.ts +360 -0
  186. package/dist/schemas/outputs/search.d.ts.map +1 -0
  187. package/dist/schemas/outputs/search.js +98 -0
  188. package/dist/schemas/outputs/search.js.map +1 -0
  189. package/dist/schemas/outputs.d.ts +5 -933
  190. package/dist/schemas/outputs.d.ts.map +1 -1
  191. package/dist/schemas/outputs.js +5 -190
  192. package/dist/schemas/outputs.js.map +1 -1
  193. package/dist/server.d.ts.map +1 -1
  194. package/dist/server.js +24 -14
  195. package/dist/server.js.map +1 -1
  196. package/dist/tools/analyze-directory.d.ts.map +1 -1
  197. package/dist/tools/analyze-directory.js +2 -2
  198. package/dist/tools/analyze-directory.js.map +1 -1
  199. package/dist/tools/compute-checksums.d.ts +3 -0
  200. package/dist/tools/compute-checksums.d.ts.map +1 -0
  201. package/dist/tools/compute-checksums.js +77 -0
  202. package/dist/tools/compute-checksums.js.map +1 -0
  203. package/dist/tools/directory-tree.d.ts.map +1 -1
  204. package/dist/tools/directory-tree.js +6 -2
  205. package/dist/tools/directory-tree.js.map +1 -1
  206. package/dist/tools/get-multiple-file-info.d.ts +3 -0
  207. package/dist/tools/get-multiple-file-info.d.ts.map +1 -0
  208. package/dist/tools/get-multiple-file-info.js +95 -0
  209. package/dist/tools/get-multiple-file-info.js.map +1 -0
  210. package/dist/tools/index.d.ts.map +1 -1
  211. package/dist/tools/index.js +6 -0
  212. package/dist/tools/index.js.map +1 -1
  213. package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
  214. package/dist/tools/list-allowed-dirs.js +14 -3
  215. package/dist/tools/list-allowed-dirs.js.map +1 -1
  216. package/dist/tools/list-directory.d.ts.map +1 -1
  217. package/dist/tools/list-directory.js +12 -4
  218. package/dist/tools/list-directory.js.map +1 -1
  219. package/dist/tools/read-file.d.ts.map +1 -1
  220. package/dist/tools/read-file.js +8 -0
  221. package/dist/tools/read-file.js.map +1 -1
  222. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  223. package/dist/tools/read-multiple-files.js +10 -2
  224. package/dist/tools/read-multiple-files.js.map +1 -1
  225. package/dist/tools/search-definitions.d.ts +3 -0
  226. package/dist/tools/search-definitions.d.ts.map +1 -0
  227. package/dist/tools/search-definitions.js +130 -0
  228. package/dist/tools/search-definitions.js.map +1 -0
  229. package/dist/tools/search-files.d.ts.map +1 -1
  230. package/dist/tools/search-files.js +9 -4
  231. package/dist/tools/search-files.js.map +1 -1
  232. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  233. package/dist/tools/shared/search-formatting.js +4 -1
  234. package/dist/tools/shared/search-formatting.js.map +1 -1
  235. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB7C,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBlC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCpC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BvC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC"}
1
+ {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,191 +1,6 @@
1
- import { z } from 'zod';
2
- import { ErrorSchema, FileTypeSchema, TreeEntrySchema } from './common.js';
3
- import { TraversalSummarySchema } from './output-helpers.js';
4
- export const ListAllowedDirectoriesOutputSchema = z.object({
5
- ok: z.boolean(),
6
- allowedDirectories: z.array(z.string()).optional(),
7
- count: z.number().optional().describe('Number of allowed directories'),
8
- accessStatus: z
9
- .array(z.object({
10
- path: z.string(),
11
- accessible: z.boolean().describe('Whether the directory exists'),
12
- readable: z.boolean().describe('Whether the directory is readable'),
13
- }))
14
- .optional()
15
- .describe('Access status for each allowed directory'),
16
- hint: z.string().optional().describe('Usage hint based on configuration'),
17
- error: ErrorSchema.optional(),
18
- });
19
- export const ListDirectoryOutputSchema = z.object({
20
- ok: z.boolean(),
21
- path: z.string().optional(),
22
- entries: z
23
- .array(z.object({
24
- name: z.string(),
25
- type: FileTypeSchema,
26
- extension: z
27
- .string()
28
- .optional()
29
- .describe('File extension without dot (e.g., "ts", "json")'),
30
- size: z.number().optional(),
31
- modified: z.string().optional(),
32
- symlinkTarget: z
33
- .string()
34
- .optional()
35
- .describe('Target path for symbolic links'),
36
- }))
37
- .optional(),
38
- summary: z
39
- .object({
40
- totalEntries: z.number().optional(),
41
- })
42
- .merge(TraversalSummarySchema)
43
- .optional(),
44
- error: ErrorSchema.optional(),
45
- });
46
- export const SearchFilesOutputSchema = z.object({
47
- ok: z.boolean(),
48
- basePath: z.string().optional(),
49
- pattern: z.string().optional(),
50
- results: z
51
- .array(z.object({
52
- path: z.string().describe('Relative path from basePath'),
53
- type: FileTypeSchema,
54
- size: z.number().optional(),
55
- modified: z.string().optional(),
56
- }))
57
- .optional(),
58
- summary: z
59
- .object({
60
- matched: z.number(),
61
- truncated: z.boolean(),
62
- skippedInaccessible: z.number().optional(),
63
- filesScanned: z
64
- .number()
65
- .optional()
66
- .describe('Total number of files scanned by the glob pattern'),
67
- stoppedReason: z.enum(['maxResults', 'maxFiles', 'timeout']).optional(),
68
- })
69
- .optional(),
70
- error: ErrorSchema.optional(),
71
- });
72
- export const ReadFileOutputSchema = z.object({
73
- ok: z.boolean(),
74
- path: z.string().optional(),
75
- content: z.string().optional(),
76
- truncated: z.boolean().optional(),
77
- totalLines: z.number().optional(),
78
- error: ErrorSchema.optional(),
79
- });
80
- export const ReadMultipleFilesOutputSchema = z.object({
81
- ok: z.boolean(),
82
- results: z
83
- .array(z.object({
84
- path: z.string(),
85
- content: z.string().optional(),
86
- truncated: z.boolean().optional(),
87
- totalLines: z.number().optional(),
88
- error: z.string().optional(),
89
- }))
90
- .optional(),
91
- summary: z
92
- .object({
93
- total: z.number(),
94
- succeeded: z.number(),
95
- failed: z.number(),
96
- })
97
- .optional(),
98
- error: ErrorSchema.optional(),
99
- });
100
- export const GetFileInfoOutputSchema = z.object({
101
- ok: z.boolean(),
102
- info: z
103
- .object({
104
- name: z.string(),
105
- path: z.string(),
106
- type: FileTypeSchema,
107
- size: z.number(),
108
- created: z.string().optional(),
109
- modified: z.string(),
110
- accessed: z.string().optional(),
111
- permissions: z.string(),
112
- isHidden: z.boolean().optional(),
113
- mimeType: z.string().optional(),
114
- symlinkTarget: z.string().optional(),
115
- })
116
- .optional(),
117
- error: ErrorSchema.optional(),
118
- });
119
- export const SearchContentOutputSchema = z.object({
120
- ok: z.boolean(),
121
- basePath: z.string().optional(),
122
- pattern: z.string().optional(),
123
- filePattern: z.string().optional(),
124
- matches: z
125
- .array(z.object({
126
- file: z.string().describe('Relative path from basePath'),
127
- line: z.number(),
128
- content: z.string(),
129
- contextBefore: z.array(z.string()).optional(),
130
- contextAfter: z.array(z.string()).optional(),
131
- matchCount: z.number().optional(),
132
- }))
133
- .optional(),
134
- summary: z
135
- .object({
136
- filesScanned: z.number().optional(),
137
- filesMatched: z.number(),
138
- totalMatches: z.number(),
139
- truncated: z.boolean(),
140
- skippedTooLarge: z.number().optional(),
141
- skippedBinary: z.number().optional(),
142
- skippedInaccessible: z.number().optional(),
143
- linesSkippedDueToRegexTimeout: z
144
- .number()
145
- .optional()
146
- .describe('Number of lines skipped due to regex matching timeout (potential incomplete results)'),
147
- stoppedReason: z.enum(['maxResults', 'maxFiles', 'timeout']).optional(),
148
- })
149
- .optional(),
150
- error: ErrorSchema.optional(),
151
- });
152
- export const AnalyzeDirectoryOutputSchema = z.object({
153
- ok: z.boolean(),
154
- path: z.string().optional(),
155
- totalFiles: z.number().optional(),
156
- totalDirectories: z.number().optional(),
157
- totalSize: z.number().optional(),
158
- fileTypes: z.record(z.number()).optional(),
159
- largestFiles: z
160
- .array(z.object({ path: z.string().describe('Relative path'), size: z.number() }))
161
- .optional(),
162
- recentlyModified: z
163
- .array(z.object({
164
- path: z.string().describe('Relative path'),
165
- modified: z.string(),
166
- }))
167
- .optional(),
168
- summary: z
169
- .object({
170
- truncated: z.boolean().optional(),
171
- skippedInaccessible: z.number().optional(),
172
- symlinksNotFollowed: z.number().optional(),
173
- })
174
- .optional(),
175
- error: ErrorSchema.optional(),
176
- });
177
- export const DirectoryTreeOutputSchema = z.object({
178
- ok: z.boolean(),
179
- tree: TreeEntrySchema.optional(),
180
- summary: TraversalSummarySchema.optional(),
181
- error: ErrorSchema.optional(),
182
- });
183
- export const ReadMediaFileOutputSchema = z.object({
184
- ok: z.boolean(),
185
- path: z.string().optional(),
186
- mimeType: z.string().optional(),
187
- size: z.number().optional(),
188
- data: z.string().optional(),
189
- error: ErrorSchema.optional(),
190
- });
1
+ export { AnalyzeDirectoryOutputSchema, DirectoryTreeOutputSchema, ListAllowedDirectoriesOutputSchema, ListDirectoryOutputSchema, } from './outputs/directory.js';
2
+ export { DefinitionTypeOutputSchema, SearchContentOutputSchema, SearchDefinitionsOutputSchema, SearchFilesOutputSchema, } from './outputs/search.js';
3
+ export { ReadFileOutputSchema, ReadMediaFileOutputSchema, ReadMultipleFilesOutputSchema, } from './outputs/read.js';
4
+ export { GetFileInfoOutputSchema, GetMultipleFileInfoOutputSchema, } from './outputs/file-info.js';
5
+ export { ComputeChecksumsOutputSchema } from './outputs/checksums.js';
191
6
  //# sourceMappingURL=outputs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+FpE,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAO1D;AAKD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAsFD,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAmBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0GpE,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAO1D;AAKD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AA6FD,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAmBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlE"}
package/dist/server.js CHANGED
@@ -24,11 +24,19 @@ function validateCliPath(inputPath) {
24
24
  if (inputPath.includes('\0')) {
25
25
  throw new Error('Path contains null bytes');
26
26
  }
27
+ if (isWindowsDriveRelativePath(inputPath)) {
28
+ throw new Error('Windows drive-relative paths are not allowed. Use C:\\path or C:/path instead of C:path.');
29
+ }
27
30
  const reserved = getReservedCliDeviceName(inputPath);
28
31
  if (reserved) {
29
32
  throw new Error(`Reserved device name not allowed: ${reserved}`);
30
33
  }
31
34
  }
35
+ function isWindowsDriveRelativePath(inputPath) {
36
+ if (process.platform !== 'win32')
37
+ return false;
38
+ return /^[a-zA-Z]:(?![\\/])/.test(inputPath);
39
+ }
32
40
  function getReservedCliDeviceName(inputPath) {
33
41
  if (process.platform !== 'win32')
34
42
  return undefined;
@@ -123,23 +131,25 @@ async function filterRootsWithinBaseline(roots, baseline) {
123
131
  const filtered = [];
124
132
  for (const root of roots) {
125
133
  const normalizedRoot = normalizePath(root);
126
- if (!isPathWithinDirectories(normalizedRoot, normalizedBaseline)) {
127
- continue;
128
- }
129
- try {
130
- const realPath = await fs.realpath(normalizedRoot);
131
- const normalizedReal = normalizePath(realPath);
132
- if (!isPathWithinDirectories(normalizedReal, normalizedBaseline)) {
133
- continue;
134
- }
135
- }
136
- catch {
137
- continue;
138
- }
139
- filtered.push(normalizedRoot);
134
+ const isValid = await isRootWithinBaseline(normalizedRoot, normalizedBaseline);
135
+ if (isValid)
136
+ filtered.push(normalizedRoot);
140
137
  }
141
138
  return filtered;
142
139
  }
140
+ async function isRootWithinBaseline(normalizedRoot, baseline) {
141
+ if (!isPathWithinDirectories(normalizedRoot, baseline)) {
142
+ return false;
143
+ }
144
+ try {
145
+ const realPath = await fs.realpath(normalizedRoot);
146
+ const normalizedReal = normalizePath(realPath);
147
+ return isPathWithinDirectories(normalizedReal, baseline);
148
+ }
149
+ catch {
150
+ return false;
151
+ }
152
+ }
143
153
  export function createServer(options = {}) {
144
154
  serverOptions = options;
145
155
  const server = new McpServer({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-directory.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-directory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8IzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYpE"}
1
+ {"version":3,"file":"analyze-directory.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-directory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgJzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYpE"}
@@ -19,8 +19,8 @@ function formatDirectoryAnalysis(analysis) {
19
19
  const fileTypes = Object.entries(analysis.fileTypes)
20
20
  .sort((a, b) => b[1] - a[1])
21
21
  .map(([ext, count]) => ` ${ext}: ${count}`);
22
- const largest = analysis.largestFiles.map((file) => ` ${formatBytes(file.size)} - ${file.path}`);
23
- const recent = analysis.recentlyModified.map((file) => ` ${formatDate(file.modified)} - ${file.path}`);
22
+ const largest = analysis.largestFiles.map((file) => ` ${formatBytes(file.size)} - ${pathModule.relative(analysis.path, file.path)}`);
23
+ const recent = analysis.recentlyModified.map((file) => ` ${formatDate(file.modified)} - ${pathModule.relative(analysis.path, file.path)}`);
24
24
  const lines = [
25
25
  ...summary,
26
26
  ...(fileTypes.length ? ['File Types:', ...fileTypes, ''] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-directory.js","sourceRoot":"","sources":["../../src/tools/analyze-directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-directory.js","sourceRoot":"","sources":["../../src/tools/analyze-directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerComputeChecksumsTool(server: McpServer): void;
3
+ //# sourceMappingURL=compute-checksums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-checksums.d.ts","sourceRoot":"","sources":["../../src/tools/compute-checksums.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuGzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYpE"}
@@ -0,0 +1,77 @@
1
+ import { ErrorCode, toRpcError } from '../lib/errors.js';
2
+ import { computeChecksums } from '../lib/file-operations.js';
3
+ import { ComputeChecksumsInputSchema, ComputeChecksumsOutputSchema, } from '../schemas/index.js';
4
+ import { formatBytes } from './shared/formatting.js';
5
+ import { buildToolResponse } from './tool-response.js';
6
+ function buildStructuredResult(result) {
7
+ return {
8
+ ok: true,
9
+ results: result.results.map((r) => ({
10
+ path: r.path,
11
+ checksum: r.checksum,
12
+ algorithm: r.algorithm,
13
+ size: r.size,
14
+ error: r.error,
15
+ })),
16
+ summary: result.summary,
17
+ };
18
+ }
19
+ function buildTextResult(result) {
20
+ const lines = [];
21
+ lines.push(`Checksums (${result.summary.total} files):`);
22
+ lines.push('');
23
+ for (const item of result.results) {
24
+ lines.push(formatChecksumLine(item));
25
+ }
26
+ lines.push('');
27
+ lines.push('Summary:');
28
+ lines.push(` Algorithm: ${getSummaryAlgorithm(result)}`);
29
+ lines.push(` Total: ${result.summary.total}`);
30
+ lines.push(` Succeeded: ${result.summary.succeeded}`);
31
+ lines.push(` Failed: ${result.summary.failed}`);
32
+ return lines.join('\n');
33
+ }
34
+ function formatChecksumLine(item) {
35
+ if (!item.checksum) {
36
+ return `[Error: ${item.error ?? 'Unknown error'}] ${item.path}`;
37
+ }
38
+ const size = item.size !== undefined ? ` (${formatBytes(item.size)})` : '';
39
+ return `${item.checksum} ${item.path}${size}`;
40
+ }
41
+ function getSummaryAlgorithm(result) {
42
+ return result.results[0]?.algorithm ?? 'sha256';
43
+ }
44
+ async function handleComputeChecksums(args) {
45
+ const result = await computeChecksums(args.paths, {
46
+ algorithm: args.algorithm,
47
+ encoding: args.encoding,
48
+ maxFileSize: args.maxFileSize,
49
+ });
50
+ return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
51
+ }
52
+ const COMPUTE_CHECKSUMS_TOOL = {
53
+ title: 'Compute Checksums',
54
+ description: 'Compute cryptographic checksums (hashes) for one or more files. ' +
55
+ 'Supports MD5, SHA-1, SHA-256, and SHA-512 algorithms. ' +
56
+ 'Uses streaming for memory efficiency with large files. ' +
57
+ 'Useful for verifying file integrity, detecting duplicates, or comparing file contents. ' +
58
+ 'Individual file errors do not fail the entire operation.',
59
+ inputSchema: ComputeChecksumsInputSchema,
60
+ outputSchema: ComputeChecksumsOutputSchema.shape,
61
+ annotations: {
62
+ readOnlyHint: true,
63
+ idempotentHint: true,
64
+ openWorldHint: true,
65
+ },
66
+ };
67
+ export function registerComputeChecksumsTool(server) {
68
+ server.registerTool('compute_checksums', COMPUTE_CHECKSUMS_TOOL, async (args) => {
69
+ try {
70
+ return await handleComputeChecksums(args);
71
+ }
72
+ catch (error) {
73
+ throw toRpcError(error, ErrorCode.E_UNKNOWN);
74
+ }
75
+ });
76
+ }
77
+ //# sourceMappingURL=compute-checksums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-checksums.js","sourceRoot":"","sources":["../../src/tools/compute-checksums.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"directory-tree.d.ts","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYjE"}
1
+ {"version":3,"file":"directory-tree.d.ts","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoHzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYjE"}
@@ -25,8 +25,12 @@ function buildStructuredResult(result) {
25
25
  summary: result.summary,
26
26
  };
27
27
  }
28
- function buildTextResult(result) {
28
+ function buildTextResult(result, includeSize) {
29
29
  let textOutput = formatTreeEntry(result.tree);
30
+ if (includeSize === false) {
31
+ textOutput +=
32
+ '\n(Size omitted. Set includeSize=true to include file sizes in the tree.)';
33
+ }
30
34
  textOutput += formatOperationSummary({
31
35
  truncated: result.summary.truncated,
32
36
  truncatedReason: 'tree was truncated',
@@ -45,7 +49,7 @@ async function handleDirectoryTree({ path, maxDepth, excludePatterns, includeHid
45
49
  maxFiles,
46
50
  });
47
51
  const structured = buildStructuredResult(result);
48
- const textOutput = buildTextResult(result);
52
+ const textOutput = buildTextResult(result, includeSize);
49
53
  return buildToolResponse(textOutput, structured);
50
54
  }
51
55
  const DIRECTORY_TREE_TOOL = {
@@ -1 +1 @@
1
- {"version":3,"file":"directory-tree.js","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory-tree.js","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerGetMultipleFileInfoTool(server: McpServer): void;
3
+ //# sourceMappingURL=get-multiple-file-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-multiple-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyHzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYvE"}
@@ -0,0 +1,95 @@
1
+ import { ErrorCode, toRpcError } from '../lib/errors.js';
2
+ import { getMultipleFileInfo } from '../lib/file-operations.js';
3
+ import { GetMultipleFileInfoInputSchema, GetMultipleFileInfoOutputSchema, } from '../schemas/index.js';
4
+ import { formatBytes } from './shared/formatting.js';
5
+ import { buildToolResponse } from './tool-response.js';
6
+ function buildStructuredResult(result) {
7
+ return {
8
+ ok: true,
9
+ results: result.results.map((r) => ({
10
+ path: r.path,
11
+ info: r.info
12
+ ? {
13
+ name: r.info.name,
14
+ path: r.info.path,
15
+ type: r.info.type,
16
+ size: r.info.size,
17
+ created: r.info.created.toISOString(),
18
+ modified: r.info.modified.toISOString(),
19
+ accessed: r.info.accessed.toISOString(),
20
+ permissions: r.info.permissions,
21
+ isHidden: r.info.isHidden,
22
+ mimeType: r.info.mimeType,
23
+ symlinkTarget: r.info.symlinkTarget,
24
+ }
25
+ : undefined,
26
+ error: r.error,
27
+ })),
28
+ summary: result.summary,
29
+ };
30
+ }
31
+ function buildTextResult(result) {
32
+ const lines = [];
33
+ lines.push(`File Information (${result.summary.total} files):`);
34
+ lines.push('');
35
+ for (const item of result.results) {
36
+ lines.push(...formatFileInfoBlock(item));
37
+ }
38
+ lines.push('Summary:');
39
+ lines.push(` Total: ${result.summary.total}`);
40
+ lines.push(` Succeeded: ${result.summary.succeeded}`);
41
+ lines.push(` Failed: ${result.summary.failed}`);
42
+ lines.push(` Total Size: ${formatBytes(result.summary.totalSize)}`);
43
+ return lines.join('\n');
44
+ }
45
+ function formatFileInfoBlock(item) {
46
+ if (!item.info) {
47
+ return [
48
+ `=== ${item.path} ===`,
49
+ ` [Error: ${item.error ?? 'Unknown error'}]`,
50
+ '',
51
+ ];
52
+ }
53
+ const lines = [
54
+ `=== ${item.path} ===`,
55
+ ` Type: ${item.info.type}`,
56
+ ` Size: ${formatBytes(item.info.size)}`,
57
+ ` Modified: ${item.info.modified.toISOString()}`,
58
+ ];
59
+ if (item.info.mimeType) {
60
+ lines.push(` MIME: ${item.info.mimeType}`);
61
+ }
62
+ lines.push('');
63
+ return lines;
64
+ }
65
+ async function handleGetMultipleFileInfo(args) {
66
+ const result = await getMultipleFileInfo(args.paths, {
67
+ includeMimeType: args.includeMimeType,
68
+ });
69
+ return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
70
+ }
71
+ const GET_MULTIPLE_FILE_INFO_TOOL = {
72
+ title: 'Get Multiple File Info',
73
+ description: 'Retrieve detailed metadata about multiple files or directories in a single operation (parallel processing). ' +
74
+ 'More efficient than calling get_file_info repeatedly. ' +
75
+ 'Individual file errors do not fail the entire operation—each file reports success or error independently. ' +
76
+ 'Returns: name, path, type, size, timestamps, permissions, MIME type, and symlink target for each path.',
77
+ inputSchema: GetMultipleFileInfoInputSchema,
78
+ outputSchema: GetMultipleFileInfoOutputSchema.shape,
79
+ annotations: {
80
+ readOnlyHint: true,
81
+ idempotentHint: true,
82
+ openWorldHint: true,
83
+ },
84
+ };
85
+ export function registerGetMultipleFileInfoTool(server) {
86
+ server.registerTool('get_multiple_file_info', GET_MULTIPLE_FILE_INFO_TOOL, async (args) => {
87
+ try {
88
+ return await handleGetMultipleFileInfo(args);
89
+ }
90
+ catch (error) {
91
+ throw toRpcError(error, ErrorCode.E_UNKNOWN);
92
+ }
93
+ });
94
+ }
95
+ //# sourceMappingURL=get-multiple-file-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-multiple-file-info.js","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAWxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAcxD"}