@j0hanz/filesystem-context-mcp 1.0.10 → 1.2.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 (288) hide show
  1. package/README.md +112 -22
  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 +130 -124
  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 -58
  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 -5
  17. package/dist/index.js.map +1 -1
  18. package/dist/instructions.md +1 -2
  19. package/dist/lib/constants.d.ts +9 -7
  20. package/dist/lib/constants.d.ts.map +1 -1
  21. package/dist/lib/constants.js +89 -298
  22. package/dist/lib/constants.js.map +1 -1
  23. package/dist/lib/errors.d.ts +25 -1
  24. package/dist/lib/errors.d.ts.map +1 -1
  25. package/dist/lib/errors.js +4 -112
  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-items.d.ts +20 -0
  32. package/dist/lib/file-operations/directory-items.d.ts.map +1 -0
  33. package/dist/lib/file-operations/directory-items.js +85 -0
  34. package/dist/lib/file-operations/directory-items.js.map +1 -0
  35. package/dist/lib/file-operations/directory-iteration.d.ts +17 -0
  36. package/dist/lib/file-operations/directory-iteration.d.ts.map +1 -0
  37. package/dist/lib/file-operations/directory-iteration.js +55 -0
  38. package/dist/lib/file-operations/directory-iteration.js.map +1 -0
  39. package/dist/lib/file-operations/directory-tree.d.ts +9 -0
  40. package/dist/lib/file-operations/directory-tree.d.ts.map +1 -0
  41. package/dist/lib/file-operations/directory-tree.js +175 -0
  42. package/dist/lib/file-operations/directory-tree.js.map +1 -0
  43. package/dist/lib/file-operations/file-info.d.ts +3 -0
  44. package/dist/lib/file-operations/file-info.d.ts.map +1 -0
  45. package/dist/lib/file-operations/file-info.js +56 -0
  46. package/dist/lib/file-operations/file-info.js.map +1 -0
  47. package/dist/lib/file-operations/list-directory.d.ts +10 -0
  48. package/dist/lib/file-operations/list-directory.d.ts.map +1 -0
  49. package/dist/lib/file-operations/list-directory.js +189 -0
  50. package/dist/lib/file-operations/list-directory.js.map +1 -0
  51. package/dist/lib/file-operations/read-media-file.d.ts +5 -0
  52. package/dist/lib/file-operations/read-media-file.d.ts.map +1 -0
  53. package/dist/lib/file-operations/read-media-file.js +31 -0
  54. package/dist/lib/file-operations/read-media-file.js.map +1 -0
  55. package/dist/lib/file-operations/read-multiple-files.d.ts +16 -0
  56. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -0
  57. package/dist/lib/file-operations/read-multiple-files.js +98 -0
  58. package/dist/lib/file-operations/read-multiple-files.js.map +1 -0
  59. package/dist/lib/file-operations/search-content.d.ts +16 -0
  60. package/dist/lib/file-operations/search-content.d.ts.map +1 -0
  61. package/dist/lib/file-operations/search-content.js +431 -0
  62. package/dist/lib/file-operations/search-content.js.map +1 -0
  63. package/dist/lib/file-operations/search-files.d.ts +9 -0
  64. package/dist/lib/file-operations/search-files.d.ts.map +1 -0
  65. package/dist/lib/file-operations/search-files.js +139 -0
  66. package/dist/lib/file-operations/search-files.js.map +1 -0
  67. package/dist/lib/file-operations/sorting.d.ts +12 -0
  68. package/dist/lib/file-operations/sorting.d.ts.map +1 -0
  69. package/dist/lib/file-operations/sorting.js +24 -0
  70. package/dist/lib/file-operations/sorting.js.map +1 -0
  71. package/dist/lib/file-operations.d.ts +9 -57
  72. package/dist/lib/file-operations.d.ts.map +1 -1
  73. package/dist/lib/file-operations.js +9 -733
  74. package/dist/lib/file-operations.js.map +1 -1
  75. package/dist/lib/fs-helpers/binary-detect.d.ts +3 -0
  76. package/dist/lib/fs-helpers/binary-detect.d.ts.map +1 -0
  77. package/dist/lib/fs-helpers/binary-detect.js +54 -0
  78. package/dist/lib/fs-helpers/binary-detect.js.map +1 -0
  79. package/dist/lib/fs-helpers/concurrency.d.ts +11 -0
  80. package/dist/lib/fs-helpers/concurrency.d.ts.map +1 -0
  81. package/dist/lib/fs-helpers/concurrency.js +95 -0
  82. package/dist/lib/fs-helpers/concurrency.js.map +1 -0
  83. package/dist/lib/fs-helpers/fs-utils.d.ts +5 -0
  84. package/dist/lib/fs-helpers/fs-utils.d.ts.map +1 -0
  85. package/dist/lib/fs-helpers/fs-utils.js +13 -0
  86. package/dist/lib/fs-helpers/fs-utils.js.map +1 -0
  87. package/dist/lib/fs-helpers/readers/head-file.d.ts +2 -0
  88. package/dist/lib/fs-helpers/readers/head-file.d.ts.map +1 -0
  89. package/dist/lib/fs-helpers/readers/head-file.js +73 -0
  90. package/dist/lib/fs-helpers/readers/head-file.js.map +1 -0
  91. package/dist/lib/fs-helpers/readers/line-range.d.ts +7 -0
  92. package/dist/lib/fs-helpers/readers/line-range.d.ts.map +1 -0
  93. package/dist/lib/fs-helpers/readers/line-range.js +46 -0
  94. package/dist/lib/fs-helpers/readers/line-range.js.map +1 -0
  95. package/dist/lib/fs-helpers/readers/read-file.d.ts +16 -0
  96. package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -0
  97. package/dist/lib/fs-helpers/readers/read-file.js +87 -0
  98. package/dist/lib/fs-helpers/readers/read-file.js.map +1 -0
  99. package/dist/lib/fs-helpers/readers/tail-file.d.ts +2 -0
  100. package/dist/lib/fs-helpers/readers/tail-file.d.ts.map +1 -0
  101. package/dist/lib/fs-helpers/readers/tail-file.js +98 -0
  102. package/dist/lib/fs-helpers/readers/tail-file.js.map +1 -0
  103. package/dist/lib/fs-helpers/readers/utf8.d.ts +3 -0
  104. package/dist/lib/fs-helpers/readers/utf8.d.ts.map +1 -0
  105. package/dist/lib/fs-helpers/readers/utf8.js +22 -0
  106. package/dist/lib/fs-helpers/readers/utf8.js.map +1 -0
  107. package/dist/lib/fs-helpers/readers.d.ts +4 -0
  108. package/dist/lib/fs-helpers/readers.d.ts.map +1 -0
  109. package/dist/lib/fs-helpers/readers.js +4 -0
  110. package/dist/lib/fs-helpers/readers.js.map +1 -0
  111. package/dist/lib/fs-helpers.d.ts +4 -25
  112. package/dist/lib/fs-helpers.d.ts.map +1 -1
  113. package/dist/lib/fs-helpers.js +4 -350
  114. package/dist/lib/fs-helpers.js.map +1 -1
  115. package/dist/lib/path-utils.d.ts.map +1 -1
  116. package/dist/lib/path-utils.js +0 -2
  117. package/dist/lib/path-utils.js.map +1 -1
  118. package/dist/lib/path-validation/allowed-directories.d.ts +9 -0
  119. package/dist/lib/path-validation/allowed-directories.d.ts.map +1 -0
  120. package/dist/lib/path-validation/allowed-directories.js +94 -0
  121. package/dist/lib/path-validation/allowed-directories.js.map +1 -0
  122. package/dist/lib/path-validation/errors.d.ts +5 -0
  123. package/dist/lib/path-validation/errors.d.ts.map +1 -0
  124. package/dist/lib/path-validation/errors.js +33 -0
  125. package/dist/lib/path-validation/errors.js.map +1 -0
  126. package/dist/lib/path-validation/roots.d.ts +3 -0
  127. package/dist/lib/path-validation/roots.d.ts.map +1 -0
  128. package/dist/lib/path-validation/roots.js +49 -0
  129. package/dist/lib/path-validation/roots.js.map +1 -0
  130. package/dist/lib/path-validation/validators.d.ts +9 -0
  131. package/dist/lib/path-validation/validators.d.ts.map +1 -0
  132. package/dist/lib/path-validation/validators.js +70 -0
  133. package/dist/lib/path-validation/validators.js.map +1 -0
  134. package/dist/lib/path-validation.d.ts +3 -7
  135. package/dist/lib/path-validation.d.ts.map +1 -1
  136. package/dist/lib/path-validation.js +3 -124
  137. package/dist/lib/path-validation.js.map +1 -1
  138. package/dist/schemas/input-helpers.d.ts +8 -0
  139. package/dist/schemas/input-helpers.d.ts.map +1 -0
  140. package/dist/schemas/input-helpers.js +44 -0
  141. package/dist/schemas/input-helpers.js.map +1 -0
  142. package/dist/schemas/inputs.d.ts +8 -5
  143. package/dist/schemas/inputs.d.ts.map +1 -1
  144. package/dist/schemas/inputs.js +41 -64
  145. package/dist/schemas/inputs.js.map +1 -1
  146. package/dist/schemas/output-helpers.d.ts +24 -0
  147. package/dist/schemas/output-helpers.d.ts.map +1 -0
  148. package/dist/schemas/output-helpers.js +13 -0
  149. package/dist/schemas/output-helpers.js.map +1 -0
  150. package/dist/schemas/outputs.d.ts +480 -46
  151. package/dist/schemas/outputs.d.ts.map +1 -1
  152. package/dist/schemas/outputs.js +26 -41
  153. package/dist/schemas/outputs.js.map +1 -1
  154. package/dist/server.d.ts +9 -1
  155. package/dist/server.d.ts.map +1 -1
  156. package/dist/server.js +29 -57
  157. package/dist/server.js.map +1 -1
  158. package/dist/tools/analyze-directory.d.ts.map +1 -1
  159. package/dist/tools/analyze-directory.js +116 -54
  160. package/dist/tools/analyze-directory.js.map +1 -1
  161. package/dist/tools/directory-tree.d.ts.map +1 -1
  162. package/dist/tools/directory-tree.js +86 -49
  163. package/dist/tools/directory-tree.js.map +1 -1
  164. package/dist/tools/get-file-info.d.ts.map +1 -1
  165. package/dist/tools/get-file-info.js +71 -37
  166. package/dist/tools/get-file-info.js.map +1 -1
  167. package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
  168. package/dist/tools/list-allowed-dirs.js +48 -35
  169. package/dist/tools/list-allowed-dirs.js.map +1 -1
  170. package/dist/tools/list-directory.d.ts.map +1 -1
  171. package/dist/tools/list-directory.js +131 -60
  172. package/dist/tools/list-directory.js.map +1 -1
  173. package/dist/tools/read-file.d.ts.map +1 -1
  174. package/dist/tools/read-file.js +70 -56
  175. package/dist/tools/read-file.js.map +1 -1
  176. package/dist/tools/read-media-file.d.ts.map +1 -1
  177. package/dist/tools/read-media-file.js +39 -41
  178. package/dist/tools/read-media-file.js.map +1 -1
  179. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  180. package/dist/tools/read-multiple-files.js +57 -50
  181. package/dist/tools/read-multiple-files.js.map +1 -1
  182. package/dist/tools/search-content.d.ts.map +1 -1
  183. package/dist/tools/search-content.js +147 -95
  184. package/dist/tools/search-content.js.map +1 -1
  185. package/dist/tools/search-files.d.ts.map +1 -1
  186. package/dist/tools/search-files.js +122 -51
  187. package/dist/tools/search-files.js.map +1 -1
  188. package/dist/tools/tool-response.d.ts +9 -0
  189. package/dist/tools/tool-response.d.ts.map +1 -0
  190. package/dist/tools/tool-response.js +7 -0
  191. package/dist/tools/tool-response.js.map +1 -0
  192. package/package.json +2 -1
  193. package/dist/__tests__/errors.test.d.ts +0 -2
  194. package/dist/__tests__/errors.test.d.ts.map +0 -1
  195. package/dist/__tests__/errors.test.js +0 -88
  196. package/dist/__tests__/errors.test.js.map +0 -1
  197. package/dist/__tests__/file-operations.test.d.ts +0 -2
  198. package/dist/__tests__/file-operations.test.d.ts.map +0 -1
  199. package/dist/__tests__/file-operations.test.js +0 -230
  200. package/dist/__tests__/file-operations.test.js.map +0 -1
  201. package/dist/__tests__/lib/formatters.test.d.ts +0 -2
  202. package/dist/__tests__/lib/formatters.test.d.ts.map +0 -1
  203. package/dist/__tests__/lib/formatters.test.js +0 -248
  204. package/dist/__tests__/lib/formatters.test.js.map +0 -1
  205. package/dist/__tests__/lib/image-parsing.test.d.ts +0 -2
  206. package/dist/__tests__/lib/image-parsing.test.d.ts.map +0 -1
  207. package/dist/__tests__/lib/image-parsing.test.js +0 -262
  208. package/dist/__tests__/lib/image-parsing.test.js.map +0 -1
  209. package/dist/__tests__/path-validation.test.d.ts +0 -2
  210. package/dist/__tests__/path-validation.test.d.ts.map +0 -1
  211. package/dist/__tests__/path-validation.test.js +0 -92
  212. package/dist/__tests__/path-validation.test.js.map +0 -1
  213. package/dist/lib/directory-helpers.d.ts +0 -4
  214. package/dist/lib/directory-helpers.d.ts.map +0 -1
  215. package/dist/lib/directory-helpers.js +0 -36
  216. package/dist/lib/directory-helpers.js.map +0 -1
  217. package/dist/lib/formatters.d.ts +0 -21
  218. package/dist/lib/formatters.d.ts.map +0 -1
  219. package/dist/lib/formatters.js +0 -206
  220. package/dist/lib/formatters.js.map +0 -1
  221. package/dist/lib/image-parsing.d.ts +0 -4
  222. package/dist/lib/image-parsing.d.ts.map +0 -1
  223. package/dist/lib/image-parsing.js +0 -130
  224. package/dist/lib/image-parsing.js.map +0 -1
  225. package/dist/lib/mcp-logger.d.ts +0 -11
  226. package/dist/lib/mcp-logger.d.ts.map +0 -1
  227. package/dist/lib/mcp-logger.js +0 -49
  228. package/dist/lib/mcp-logger.js.map +0 -1
  229. package/dist/lib/roots-utils.d.ts +0 -7
  230. package/dist/lib/roots-utils.d.ts.map +0 -1
  231. package/dist/lib/roots-utils.js +0 -39
  232. package/dist/lib/roots-utils.js.map +0 -1
  233. package/dist/lib/search-helpers.d.ts +0 -13
  234. package/dist/lib/search-helpers.d.ts.map +0 -1
  235. package/dist/lib/search-helpers.js +0 -205
  236. package/dist/lib/search-helpers.js.map +0 -1
  237. package/dist/lib/sorting.d.ts +0 -12
  238. package/dist/lib/sorting.d.ts.map +0 -1
  239. package/dist/lib/sorting.js +0 -41
  240. package/dist/lib/sorting.js.map +0 -1
  241. package/dist/lib/types.d.ts +0 -6
  242. package/dist/lib/types.d.ts.map +0 -1
  243. package/dist/lib/types.js +0 -2
  244. package/dist/lib/types.js.map +0 -1
  245. package/dist/prompts/analyze-codebase.d.ts +0 -3
  246. package/dist/prompts/analyze-codebase.d.ts.map +0 -1
  247. package/dist/prompts/analyze-codebase.js +0 -144
  248. package/dist/prompts/analyze-codebase.js.map +0 -1
  249. package/dist/prompts/filesystem-query.d.ts +0 -3
  250. package/dist/prompts/filesystem-query.d.ts.map +0 -1
  251. package/dist/prompts/filesystem-query.js +0 -168
  252. package/dist/prompts/filesystem-query.js.map +0 -1
  253. package/dist/prompts/find-duplicates.d.ts +0 -3
  254. package/dist/prompts/find-duplicates.d.ts.map +0 -1
  255. package/dist/prompts/find-duplicates.js +0 -77
  256. package/dist/prompts/find-duplicates.js.map +0 -1
  257. package/dist/prompts/index.d.ts +0 -3
  258. package/dist/prompts/index.d.ts.map +0 -1
  259. package/dist/prompts/index.js +0 -13
  260. package/dist/prompts/index.js.map +0 -1
  261. package/dist/prompts/project-overview.d.ts +0 -3
  262. package/dist/prompts/project-overview.d.ts.map +0 -1
  263. package/dist/prompts/project-overview.js +0 -122
  264. package/dist/prompts/project-overview.js.map +0 -1
  265. package/dist/prompts/search-and-replace.d.ts +0 -3
  266. package/dist/prompts/search-and-replace.d.ts.map +0 -1
  267. package/dist/prompts/search-and-replace.js +0 -130
  268. package/dist/prompts/search-and-replace.js.map +0 -1
  269. package/dist/prompts/shared.d.ts +0 -11
  270. package/dist/prompts/shared.d.ts.map +0 -1
  271. package/dist/prompts/shared.js +0 -32
  272. package/dist/prompts/shared.js.map +0 -1
  273. package/dist/resources/index.d.ts +0 -3
  274. package/dist/resources/index.d.ts.map +0 -1
  275. package/dist/resources/index.js +0 -54
  276. package/dist/resources/index.js.map +0 -1
  277. package/dist/schemas/validators.d.ts +0 -12
  278. package/dist/schemas/validators.d.ts.map +0 -1
  279. package/dist/schemas/validators.js +0 -35
  280. package/dist/schemas/validators.js.map +0 -1
  281. package/dist/utils/index.d.ts +0 -2
  282. package/dist/utils/index.d.ts.map +0 -1
  283. package/dist/utils/index.js +0 -2
  284. package/dist/utils/index.js.map +0 -1
  285. package/dist/utils/response-helpers.d.ts +0 -22
  286. package/dist/utils/response-helpers.d.ts.map +0 -1
  287. package/dist/utils/response-helpers.js +0 -24
  288. package/dist/utils/response-helpers.js.map +0 -1
@@ -1,243 +1,60 @@
1
- // Concurrency Limits
2
- export const PARALLEL_CONCURRENCY = 20;
3
- export const DIR_TRAVERSAL_CONCURRENCY = 8;
4
- // Timeout Limits (ms)
5
- // Configurable via REGEX_TIMEOUT_MS env var (range: 50-1000ms)
6
- const envTimeout = parseInt(process.env.REGEX_TIMEOUT_MS ?? '100', 10);
7
- export const REGEX_MATCH_TIMEOUT_MS = !Number.isNaN(envTimeout) && envTimeout >= 50 && envTimeout <= 1000
8
- ? envTimeout
9
- : 100;
10
- // Size Limits (bytes)
11
- export const MAX_SEARCHABLE_FILE_SIZE = 1024 * 1024;
12
- export const MAX_TEXT_FILE_SIZE = 10 * 1024 * 1024;
13
- export const MAX_MEDIA_FILE_SIZE = 50 * 1024 * 1024;
1
+ // Helper function for parsing and validating integer environment variables
2
+ function parseEnvInt(envVar, defaultValue, min, max) {
3
+ const value = process.env[envVar];
4
+ if (!value) {
5
+ return defaultValue;
6
+ }
7
+ const parsed = parseInt(value, 10);
8
+ if (Number.isNaN(parsed) || parsed < min || parsed > max) {
9
+ console.error(`[WARNING] Invalid ${envVar} value: ${value} (must be ${min}-${max}). Using default: ${defaultValue}`);
10
+ return defaultValue;
11
+ }
12
+ return parsed;
13
+ }
14
+ export const PARALLEL_CONCURRENCY = parseEnvInt('PARALLEL_JOBS', 20, 1, 100);
15
+ export const DIR_TRAVERSAL_CONCURRENCY = parseEnvInt('TRAVERSAL_JOBS', 8, 1, 50);
16
+ export const REGEX_MATCH_TIMEOUT_MS = parseEnvInt('REGEX_TIMEOUT', 100, 50, 1000);
17
+ export const MAX_SEARCHABLE_FILE_SIZE = parseEnvInt('MAX_SEARCH_SIZE', 1024 * 1024, 100 * 1024, 10 * 1024 * 1024);
18
+ export const MAX_TEXT_FILE_SIZE = parseEnvInt('MAX_FILE_SIZE', 10 * 1024 * 1024, 1024 * 1024, 100 * 1024 * 1024);
19
+ export const MAX_MEDIA_FILE_SIZE = parseEnvInt('MAX_MEDIA_SIZE', 50 * 1024 * 1024, 1024 * 1024, 500 * 1024 * 1024);
14
20
  export const MAX_LINE_CONTENT_LENGTH = 200;
15
21
  export const BINARY_CHECK_BUFFER_SIZE = 512;
16
- // Default Operation Limits
17
- export const DEFAULT_MAX_DEPTH = 10;
18
- export const DEFAULT_MAX_RESULTS = 100;
19
- export const DEFAULT_TOP_N = 10;
20
- export const DEFAULT_TREE_DEPTH = 5;
21
- // Known text file extensions for fast-path binary detection
22
- export const KNOWN_TEXT_EXTENSIONS = new Set([
23
- '.ts',
24
- '.tsx',
25
- '.js',
26
- '.jsx',
27
- '.mjs',
28
- '.cjs',
29
- '.json',
30
- '.jsonc',
31
- '.json5',
32
- '.md',
33
- '.mdx',
34
- '.markdown',
35
- '.txt',
36
- '.text',
37
- '.log',
38
- '.html',
39
- '.htm',
40
- '.xhtml',
41
- '.css',
42
- '.scss',
43
- '.sass',
44
- '.less',
45
- '.styl',
46
- '.yaml',
47
- '.yml',
48
- '.xml',
49
- '.xsl',
50
- '.xslt',
51
- '.svg',
52
- '.sh',
53
- '.bash',
54
- '.zsh',
55
- '.fish',
56
- '.ps1',
57
- '.psm1',
58
- '.psd1',
59
- '.bat',
60
- '.cmd',
61
- '.py',
62
- '.pyw',
63
- '.pyi',
64
- '.pyx',
65
- '.rb',
66
- '.rake',
67
- '.gemspec',
68
- '.go',
69
- '.mod',
70
- '.sum',
71
- '.rs',
72
- '.c',
73
- '.h',
74
- '.cpp',
75
- '.hpp',
76
- '.cc',
77
- '.hh',
78
- '.cxx',
79
- '.hxx',
80
- '.java',
81
- '.kt',
82
- '.kts',
83
- '.scala',
84
- '.groovy',
85
- '.gradle',
86
- '.swift',
87
- '.php',
88
- '.phtml',
89
- '.sql',
90
- '.mysql',
91
- '.pgsql',
92
- '.graphql',
93
- '.gql',
94
- '.vue',
95
- '.svelte',
96
- '.astro',
97
- '.toml',
98
- '.ini',
99
- '.cfg',
100
- '.conf',
101
- '.config',
102
- '.env',
103
- '.env.local',
104
- '.env.development',
105
- '.env.production',
106
- '.gitignore',
107
- '.gitattributes',
108
- '.npmignore',
109
- '.dockerignore',
110
- '.editorconfig',
111
- '.prettierrc',
112
- '.eslintrc',
113
- '.lock', // package-lock.json, yarn.lock, etc. are text
114
- '.csv',
115
- '.tsv',
116
- '.rst',
117
- '.asciidoc',
118
- '.adoc',
119
- '.tex',
120
- '.latex',
121
- '.bib',
122
- '.r',
123
- '.R',
124
- '.rmd',
125
- '.lua',
126
- '.pl',
127
- '.pm',
128
- '.perl',
129
- '.asm',
130
- '.s',
131
- '.dart',
132
- '.elm',
133
- '.ex',
134
- '.exs',
135
- '.erl',
136
- '.hrl',
137
- '.hs',
138
- '.lhs',
139
- '.clj',
140
- '.cljs',
141
- '.cljc',
142
- '.edn',
143
- '.lisp',
144
- '.cl',
145
- '.el',
146
- '.ml',
147
- '.mli',
148
- '.fs',
149
- '.fsi',
150
- '.fsx',
151
- '.nim',
152
- '.v',
153
- '.sv',
154
- '.vhd',
155
- '.vhdl',
156
- '.proto',
157
- '.tf',
158
- '.tfvars',
159
- '.hcl',
160
- '.cmake',
161
- '.makefile',
162
- '.mk',
163
- '.dockerfile',
164
- '.containerfile',
165
- ]);
166
- // Known binary file extensions for fast-path binary detection
22
+ export const DEFAULT_MAX_DEPTH = parseEnvInt('DEFAULT_DEPTH', 10, 1, 100);
23
+ export const DEFAULT_MAX_RESULTS = parseEnvInt('DEFAULT_RESULTS', 100, 10, 10000);
24
+ export const DEFAULT_SEARCH_MAX_FILES = parseEnvInt('DEFAULT_SEARCH_MAX_FILES', 20000, 100, 100000);
25
+ export const DEFAULT_SEARCH_TIMEOUT_MS = parseEnvInt('DEFAULT_SEARCH_TIMEOUT', 30000, 100, 3600000);
26
+ export const DEFAULT_TOP_N = parseEnvInt('DEFAULT_TOP', 10, 1, 1000);
27
+ export const DEFAULT_TREE_DEPTH = parseEnvInt('DEFAULT_TREE', 5, 1, 50);
28
+ export const DEFAULT_TREE_MAX_FILES = parseEnvInt('DEFAULT_TREE_MAX_FILES', 5000, 100, 200000);
167
29
  export const KNOWN_BINARY_EXTENSIONS = new Set([
168
- // Images
169
30
  '.png',
170
31
  '.jpg',
171
32
  '.jpeg',
172
33
  '.gif',
173
34
  '.webp',
174
- '.ico',
175
35
  '.bmp',
176
- '.tiff',
177
- '.tif',
178
- '.psd',
179
- '.ai',
180
- '.eps',
181
- '.raw',
182
- '.cr2',
183
- '.nef',
184
- '.heic',
185
- '.heif',
186
- '.avif',
187
- // Audio
36
+ '.ico',
188
37
  '.mp3',
189
38
  '.wav',
190
39
  '.flac',
191
- '.aac',
192
- '.ogg',
193
- '.wma',
194
- '.m4a',
195
- '.opus',
196
- '.aiff',
197
- // Video
198
40
  '.mp4',
199
- '.avi',
200
41
  '.mov',
201
- '.wmv',
202
- '.flv',
42
+ '.avi',
203
43
  '.mkv',
204
44
  '.webm',
205
- '.m4v',
206
- '.mpeg',
207
- '.mpg',
208
- // Archives
209
45
  '.zip',
210
46
  '.tar',
211
47
  '.gz',
212
- '.bz2',
213
- '.xz',
214
48
  '.7z',
215
49
  '.rar',
216
- '.cab',
217
- '.iso',
218
- '.dmg',
219
- // Executables & Libraries
220
50
  '.exe',
221
51
  '.dll',
222
52
  '.so',
223
53
  '.dylib',
224
- '.a',
225
- '.lib',
226
- '.o',
227
- '.obj',
228
- '.app',
229
- '.msi',
230
- '.deb',
231
- '.rpm',
232
- '.apk',
233
- '.ipa',
234
- // Fonts
235
54
  '.ttf',
236
55
  '.otf',
237
56
  '.woff',
238
57
  '.woff2',
239
- '.eot',
240
- // Documents (binary formats)
241
58
  '.pdf',
242
59
  '.doc',
243
60
  '.docx',
@@ -245,100 +62,74 @@ export const KNOWN_BINARY_EXTENSIONS = new Set([
245
62
  '.xlsx',
246
63
  '.ppt',
247
64
  '.pptx',
248
- '.odt',
249
- '.ods',
250
- '.odp',
251
- // Databases
252
65
  '.sqlite',
253
- '.sqlite3',
254
66
  '.db',
255
- '.mdb',
256
- '.accdb',
257
- // WebAssembly
258
67
  '.wasm',
259
- // Other binary
260
68
  '.bin',
261
69
  '.dat',
262
- '.pak',
263
- '.bundle',
264
- '.class',
265
- '.pyc',
266
- '.pyo',
267
- '.node',
268
- '.napi',
269
- // Source maps (can be large and not useful for text search)
270
- '.map',
271
70
  ]);
272
- // MIME type lookup
71
+ // MIME type mapping optimized for fast lookups using Map
72
+ const MIME_TYPES = new Map([
73
+ ['.png', 'image/png'],
74
+ ['.jpg', 'image/jpeg'],
75
+ ['.jpeg', 'image/jpeg'],
76
+ ['.gif', 'image/gif'],
77
+ ['.webp', 'image/webp'],
78
+ ['.svg', 'image/svg+xml'],
79
+ ['.ico', 'image/x-icon'],
80
+ ['.bmp', 'image/bmp'],
81
+ ['.tiff', 'image/tiff'],
82
+ ['.tif', 'image/tiff'],
83
+ ['.avif', 'image/avif'],
84
+ ['.heic', 'image/heic'],
85
+ ['.heif', 'image/heif'],
86
+ ['.mp3', 'audio/mpeg'],
87
+ ['.wav', 'audio/wav'],
88
+ ['.ogg', 'audio/ogg'],
89
+ ['.flac', 'audio/flac'],
90
+ ['.aac', 'audio/aac'],
91
+ ['.m4a', 'audio/mp4'],
92
+ ['.wma', 'audio/x-ms-wma'],
93
+ ['.opus', 'audio/opus'],
94
+ ['.mp4', 'video/mp4'],
95
+ ['.webm', 'video/webm'],
96
+ ['.avi', 'video/x-msvideo'],
97
+ ['.mov', 'video/quicktime'],
98
+ ['.wmv', 'video/x-ms-wmv'],
99
+ ['.mkv', 'video/x-matroska'],
100
+ ['.flv', 'video/x-flv'],
101
+ ['.pdf', 'application/pdf'],
102
+ ['.txt', 'text/plain'],
103
+ ['.log', 'text/plain'],
104
+ ['.md', 'text/markdown'],
105
+ ['.markdown', 'text/markdown'],
106
+ ['.json', 'application/json'],
107
+ ['.jsonc', 'application/json'],
108
+ ['.xml', 'application/xml'],
109
+ ['.yaml', 'text/yaml'],
110
+ ['.yml', 'text/yaml'],
111
+ ['.html', 'text/html'],
112
+ ['.htm', 'text/html'],
113
+ ['.css', 'text/css'],
114
+ ['.js', 'text/javascript'],
115
+ ['.mjs', 'text/javascript'],
116
+ ['.cjs', 'text/javascript'],
117
+ ['.ts', 'text/typescript'],
118
+ ['.tsx', 'text/typescript'],
119
+ ['.zip', 'application/zip'],
120
+ ['.tar', 'application/x-tar'],
121
+ ['.gz', 'application/gzip'],
122
+ ['.7z', 'application/x-7z-compressed'],
123
+ ['.rar', 'application/vnd.rar'],
124
+ ['.ttf', 'font/ttf'],
125
+ ['.otf', 'font/otf'],
126
+ ['.woff', 'font/woff'],
127
+ ['.woff2', 'font/woff2'],
128
+ ['.wasm', 'application/wasm'],
129
+ ]);
130
+ // Function to get MIME type from file extension
273
131
  export function getMimeType(ext) {
274
132
  const lowerExt = ext.toLowerCase();
275
- return (MIME_TYPES[lowerExt] ??
276
- 'application/octet-stream');
133
+ return MIME_TYPES.get(lowerExt) ?? 'application/octet-stream';
277
134
  }
278
- const MIME_TYPES = {
279
- // Images
280
- '.png': 'image/png',
281
- '.jpg': 'image/jpeg',
282
- '.jpeg': 'image/jpeg',
283
- '.gif': 'image/gif',
284
- '.webp': 'image/webp',
285
- '.svg': 'image/svg+xml',
286
- '.ico': 'image/x-icon',
287
- '.bmp': 'image/bmp',
288
- '.tiff': 'image/tiff',
289
- '.tif': 'image/tiff',
290
- '.avif': 'image/avif',
291
- '.heic': 'image/heic',
292
- '.heif': 'image/heif',
293
- // Audio
294
- '.mp3': 'audio/mpeg',
295
- '.wav': 'audio/wav',
296
- '.ogg': 'audio/ogg',
297
- '.flac': 'audio/flac',
298
- '.aac': 'audio/aac',
299
- '.m4a': 'audio/mp4',
300
- '.wma': 'audio/x-ms-wma',
301
- '.opus': 'audio/opus',
302
- // Video
303
- '.mp4': 'video/mp4',
304
- '.webm': 'video/webm',
305
- '.avi': 'video/x-msvideo',
306
- '.mov': 'video/quicktime',
307
- '.wmv': 'video/x-ms-wmv',
308
- '.mkv': 'video/x-matroska',
309
- '.flv': 'video/x-flv',
310
- // Documents
311
- '.pdf': 'application/pdf',
312
- // Common text (best-effort)
313
- '.txt': 'text/plain',
314
- '.log': 'text/plain',
315
- '.md': 'text/markdown',
316
- '.markdown': 'text/markdown',
317
- '.json': 'application/json',
318
- '.jsonc': 'application/json',
319
- '.xml': 'application/xml',
320
- '.yaml': 'text/yaml',
321
- '.yml': 'text/yaml',
322
- '.html': 'text/html',
323
- '.htm': 'text/html',
324
- '.css': 'text/css',
325
- '.js': 'text/javascript',
326
- '.mjs': 'text/javascript',
327
- '.cjs': 'text/javascript',
328
- '.ts': 'text/typescript',
329
- '.tsx': 'text/typescript',
330
- // Archives
331
- '.zip': 'application/zip',
332
- '.tar': 'application/x-tar',
333
- '.gz': 'application/gzip',
334
- '.7z': 'application/x-7z-compressed',
335
- '.rar': 'application/vnd.rar',
336
- // Fonts
337
- '.ttf': 'font/ttf',
338
- '.otf': 'font/otf',
339
- '.woff': 'font/woff',
340
- '.woff2': 'font/woff2',
341
- // Other
342
- '.wasm': 'application/wasm',
343
- };
344
135
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,SAAS,WAAW,CAClB,MAAc,EACd,YAAoB,EACpB,GAAW,EACX,GAAW;IAEX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CACX,qBAAqB,MAAM,WAAW,KAAK,aAAa,GAAG,IAAI,GAAG,qBAAqB,YAAY,EAAE,CACtG,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,gBAAgB,EAChB,CAAC,EACD,CAAC,EACD,EAAE,CACH,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,eAAe,EACf,GAAG,EACH,EAAE,EACF,IAAI,CACL,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,iBAAiB,EACjB,IAAI,GAAG,IAAI,EACX,GAAG,GAAG,IAAI,EACV,EAAE,GAAG,IAAI,GAAG,IAAI,CACjB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,eAAe,EACf,EAAE,GAAG,IAAI,GAAG,IAAI,EAChB,IAAI,GAAG,IAAI,EACX,GAAG,GAAG,IAAI,GAAG,IAAI,CAClB,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAC5C,gBAAgB,EAChB,EAAE,GAAG,IAAI,GAAG,IAAI,EAChB,IAAI,GAAG,IAAI,EACX,GAAG,GAAG,IAAI,GAAG,IAAI,CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAC5C,iBAAiB,EACjB,GAAG,EACH,EAAE,EACF,KAAK,CACN,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,KAAK,EACL,GAAG,EACH,MAAM,CACP,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,wBAAwB,EACxB,KAAK,EACL,GAAG,EACH,OAAO,CACR,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,wBAAwB,EACxB,IAAI,EACJ,GAAG,EACH,MAAM,CACP,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAiB;IACzC,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,eAAe,CAAC;IACzB,CAAC,MAAM,EAAE,cAAc,CAAC;IACxB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC1B,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC1B,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAC5B,CAAC,MAAM,EAAE,aAAa,CAAC;IACvB,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,KAAK,EAAE,eAAe,CAAC;IACxB,CAAC,WAAW,EAAE,eAAe,CAAC;IAC9B,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAC7B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAC9B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAC1B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAC1B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC3B,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAC7B,CAAC,KAAK,EAAE,kBAAkB,CAAC;IAC3B,CAAC,KAAK,EAAE,6BAA6B,CAAC;IACtC,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAC/B,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,OAAO,EAAE,kBAAkB,CAAC;CAC9B,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC;AAChE,CAAC"}
@@ -1,5 +1,29 @@
1
- import { type DetailedError, ErrorCode, type ErrorResponse } from '../config/types.js';
1
+ import { ErrorCode } from '../config/types.js';
2
2
  export { ErrorCode };
3
+ interface DetailedError {
4
+ code: ErrorCode;
5
+ message: string;
6
+ path?: string;
7
+ suggestion?: string;
8
+ details?: Record<string, unknown>;
9
+ }
10
+ interface ErrorResponse {
11
+ [key: string]: unknown;
12
+ content: {
13
+ type: 'text';
14
+ text: string;
15
+ }[];
16
+ structuredContent: {
17
+ ok: false;
18
+ error: {
19
+ code: string;
20
+ message: string;
21
+ path?: string;
22
+ suggestion?: string;
23
+ };
24
+ };
25
+ isError: true;
26
+ }
3
27
  export declare function isNodeError(error: unknown): error is NodeJS.ErrnoException;
4
28
  export declare const NODE_ERROR_CODE_MAP: Readonly<Record<string, ErrorCode>>;
5
29
  export declare class McpError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,SAAS,EACT,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAM1E;AAGD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAe1D,CAAC;AAGX,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IASjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAQZ;AAiCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAmBvD;AAuHD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAuBf;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD;AAGD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAoBf"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE;QACjB,EAAE,EAAE,KAAK,CAAC;QACV,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IACF,OAAO,EAAE,IAAI,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAM1E;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAe1D,CAAC;AAEX,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IAOjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAOZ;AA2BD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAiBvD;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAsBf;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAmBf"}