@j0hanz/filesystem-context-mcp 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +251 -504
- package/dist/__tests__/lib/file-operations/search-content-edge-cases.test.js +1 -1
- package/dist/__tests__/lib/file-operations/search-content-edge-cases.test.js.map +1 -1
- package/dist/__tests__/lib/file-operations/search-definitions-helpers.test.d.ts +2 -0
- package/dist/__tests__/lib/file-operations/search-definitions-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/search-definitions-helpers.test.js +43 -0
- package/dist/__tests__/lib/file-operations/search-definitions-helpers.test.js.map +1 -0
- package/dist/__tests__/lib/file-operations/search-definitions.fixtures.d.ts +7 -0
- package/dist/__tests__/lib/file-operations/search-definitions.fixtures.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/search-definitions.fixtures.js +113 -0
- package/dist/__tests__/lib/file-operations/search-definitions.fixtures.js.map +1 -0
- package/dist/__tests__/lib/file-operations/search-definitions.test.js +1 -112
- package/dist/__tests__/lib/file-operations/search-definitions.test.js.map +1 -1
- package/dist/__tests__/lib/file-operations/sorting.test.js +15 -40
- package/dist/__tests__/lib/file-operations/sorting.test.js.map +1 -1
- package/dist/__tests__/lib/path-validation-errors.test.js +1 -1
- package/dist/__tests__/lib/path-validation-errors.test.js.map +1 -1
- package/dist/__tests__/lib/path-validation.test.js +17 -0
- package/dist/__tests__/lib/path-validation.test.js.map +1 -1
- package/dist/config/formatting.d.ts +14 -0
- package/dist/config/formatting.d.ts.map +1 -0
- package/dist/config/formatting.js +34 -0
- package/dist/config/formatting.js.map +1 -0
- package/dist/config/types.d.ts +3 -97
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/index.js +32 -2
- package/dist/index.js.map +1 -1
- package/dist/instructions.md +151 -170
- package/dist/lib/constants.d.ts +1 -5
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +19 -15
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/errors.d.ts +0 -2
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +2 -30
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/file-operations/analyze-directory.d.ts.map +1 -1
- package/dist/lib/file-operations/analyze-directory.js +8 -1
- package/dist/lib/file-operations/analyze-directory.js.map +1 -1
- package/dist/lib/file-operations/batch-results.d.ts +2 -1
- package/dist/lib/file-operations/batch-results.d.ts.map +1 -1
- package/dist/lib/file-operations/compute-checksums.d.ts +1 -0
- package/dist/lib/file-operations/compute-checksums.d.ts.map +1 -1
- package/dist/lib/file-operations/compute-checksums.js +58 -45
- package/dist/lib/file-operations/compute-checksums.js.map +1 -1
- package/dist/lib/file-operations/directory-tree-builders.d.ts +7 -0
- package/dist/lib/file-operations/directory-tree-builders.d.ts.map +1 -0
- package/dist/lib/file-operations/directory-tree-builders.js +58 -0
- package/dist/lib/file-operations/directory-tree-builders.js.map +1 -0
- package/dist/lib/file-operations/directory-tree-helpers.d.ts +0 -5
- package/dist/lib/file-operations/directory-tree-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/directory-tree-helpers.js +21 -71
- package/dist/lib/file-operations/directory-tree-helpers.js.map +1 -1
- package/dist/lib/file-operations/directory-tree.d.ts.map +1 -1
- package/dist/lib/file-operations/directory-tree.js +2 -1
- package/dist/lib/file-operations/directory-tree.js.map +1 -1
- package/dist/lib/file-operations/file-info.d.ts +3 -1
- package/dist/lib/file-operations/file-info.d.ts.map +1 -1
- package/dist/lib/file-operations/file-info.js +16 -5
- package/dist/lib/file-operations/file-info.js.map +1 -1
- package/dist/lib/file-operations/get-multiple-file-info.d.ts +1 -1
- package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
- package/dist/lib/file-operations/get-multiple-file-info.js +6 -8
- package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
- package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
- package/dist/lib/file-operations/list-directory-entry.js +5 -2
- package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
- package/dist/lib/file-operations/list-directory-helpers.d.ts +10 -1
- package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/list-directory-helpers.js +51 -31
- package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
- package/dist/lib/file-operations/list-directory.d.ts +1 -0
- package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
- package/dist/lib/file-operations/list-directory.js +13 -4
- package/dist/lib/file-operations/list-directory.js.map +1 -1
- package/dist/lib/file-operations/read-media-file.d.ts.map +1 -1
- package/dist/lib/file-operations/read-media-file.js +5 -1
- package/dist/lib/file-operations/read-media-file.js.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.d.ts +8 -0
- package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.js +47 -18
- package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
- package/dist/lib/file-operations/search/context-manager.d.ts +2 -0
- package/dist/lib/file-operations/search/context-manager.d.ts.map +1 -1
- package/dist/lib/file-operations/search/context-manager.js +22 -8
- package/dist/lib/file-operations/search/context-manager.js.map +1 -1
- package/dist/lib/file-operations/search/engine-stream.d.ts +1 -1
- package/dist/lib/file-operations/search/engine-stream.d.ts.map +1 -1
- package/dist/lib/file-operations/search/engine-stream.js +102 -9
- package/dist/lib/file-operations/search/engine-stream.js.map +1 -1
- package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
- package/dist/lib/file-operations/search/engine.js +42 -5
- package/dist/lib/file-operations/search/engine.js.map +1 -1
- package/dist/lib/file-operations/search/file-processor.d.ts.map +1 -1
- package/dist/lib/file-operations/search/file-processor.js +102 -55
- package/dist/lib/file-operations/search/file-processor.js.map +1 -1
- package/dist/lib/file-operations/search/match-strategy.d.ts.map +1 -1
- package/dist/lib/file-operations/search/match-strategy.js +2 -1
- package/dist/lib/file-operations/search/match-strategy.js.map +1 -1
- package/dist/lib/file-operations/search/types.d.ts +3 -0
- package/dist/lib/file-operations/search/types.d.ts.map +1 -1
- package/dist/lib/file-operations/search-definitions/matchers.d.ts +12 -0
- package/dist/lib/file-operations/search-definitions/matchers.d.ts.map +1 -0
- package/dist/lib/file-operations/search-definitions/matchers.js +122 -0
- package/dist/lib/file-operations/search-definitions/matchers.js.map +1 -0
- package/dist/lib/file-operations/search-definitions/patterns.d.ts +14 -0
- package/dist/lib/file-operations/search-definitions/patterns.d.ts.map +1 -0
- package/dist/lib/file-operations/search-definitions/patterns.js +83 -0
- package/dist/lib/file-operations/search-definitions/patterns.js.map +1 -0
- package/dist/lib/file-operations/search-definitions.d.ts.map +1 -1
- package/dist/lib/file-operations/search-definitions.js +3 -208
- package/dist/lib/file-operations/search-definitions.js.map +1 -1
- package/dist/lib/file-operations/search-files-helpers.d.ts +2 -2
- package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/search-files-helpers.js +102 -14
- package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
- package/dist/lib/file-operations/search-files-options.d.ts +4 -2
- package/dist/lib/file-operations/search-files-options.d.ts.map +1 -1
- package/dist/lib/file-operations/search-files-options.js.map +1 -1
- package/dist/lib/file-operations/search-files.d.ts.map +1 -1
- package/dist/lib/file-operations/search-files.js +7 -2
- package/dist/lib/file-operations/search-files.js.map +1 -1
- package/dist/lib/file-operations/sorting.d.ts.map +1 -1
- package/dist/lib/file-operations/sorting.js +39 -14
- package/dist/lib/file-operations/sorting.js.map +1 -1
- package/dist/lib/file-operations.d.ts +0 -5
- package/dist/lib/file-operations.d.ts.map +1 -1
- package/dist/lib/file-operations.js +0 -5
- package/dist/lib/file-operations.js.map +1 -1
- package/dist/lib/fs-helpers/abort.d.ts +3 -0
- package/dist/lib/fs-helpers/abort.d.ts.map +1 -0
- package/dist/lib/fs-helpers/abort.js +15 -0
- package/dist/lib/fs-helpers/abort.js.map +1 -0
- package/dist/lib/fs-helpers/concurrency.d.ts +1 -1
- package/dist/lib/fs-helpers/concurrency.d.ts.map +1 -1
- package/dist/lib/fs-helpers/concurrency.js +54 -6
- package/dist/lib/fs-helpers/concurrency.js.map +1 -1
- package/dist/lib/fs-helpers/readers/head-file.d.ts +1 -1
- package/dist/lib/fs-helpers/readers/head-file.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/head-file.js +7 -4
- package/dist/lib/fs-helpers/readers/head-file.js.map +1 -1
- package/dist/lib/fs-helpers/readers/line-range.d.ts +1 -1
- package/dist/lib/fs-helpers/readers/line-range.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/line-range.js +17 -3
- package/dist/lib/fs-helpers/readers/line-range.js.map +1 -1
- package/dist/lib/fs-helpers/readers/read-buffer.d.ts +2 -0
- package/dist/lib/fs-helpers/readers/read-buffer.d.ts.map +1 -0
- package/dist/lib/fs-helpers/readers/read-buffer.js +64 -0
- package/dist/lib/fs-helpers/readers/read-buffer.js.map +1 -0
- package/dist/lib/fs-helpers/readers/read-file-content.d.ts +11 -1
- package/dist/lib/fs-helpers/readers/read-file-content.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/read-file-content.js +33 -9
- package/dist/lib/fs-helpers/readers/read-file-content.js.map +1 -1
- package/dist/lib/fs-helpers/readers/read-file.d.ts +11 -0
- package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/read-file.js +52 -15
- package/dist/lib/fs-helpers/readers/read-file.js.map +1 -1
- package/dist/lib/fs-helpers/readers/tail-file.d.ts +1 -1
- package/dist/lib/fs-helpers/readers/tail-file.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/tail-file.js +7 -4
- package/dist/lib/fs-helpers/readers/tail-file.js.map +1 -1
- package/dist/lib/fs-helpers/readers.d.ts +1 -1
- package/dist/lib/fs-helpers/readers.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers.js +1 -1
- package/dist/lib/fs-helpers/readers.js.map +1 -1
- package/dist/lib/fs-helpers.d.ts +1 -1
- package/dist/lib/fs-helpers.d.ts.map +1 -1
- package/dist/lib/fs-helpers.js +1 -1
- package/dist/lib/fs-helpers.js.map +1 -1
- package/dist/lib/path-utils.d.ts +1 -0
- package/dist/lib/path-utils.d.ts.map +1 -1
- package/dist/lib/path-utils.js +12 -0
- package/dist/lib/path-utils.js.map +1 -1
- package/dist/lib/path-validation/allowed-directories.d.ts.map +1 -1
- package/dist/lib/path-validation/allowed-directories.js +2 -9
- package/dist/lib/path-validation/allowed-directories.js.map +1 -1
- package/dist/lib/path-validation/errors.js +2 -2
- package/dist/lib/path-validation/errors.js.map +1 -1
- package/dist/lib/path-validation/validators.d.ts.map +1 -1
- package/dist/lib/path-validation/validators.js +3 -1
- package/dist/lib/path-validation/validators.js.map +1 -1
- package/dist/schemas/common.d.ts +0 -18
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +0 -10
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/input-helpers.d.ts +1 -4
- package/dist/schemas/input-helpers.d.ts.map +1 -1
- package/dist/schemas/input-helpers.js +9 -33
- package/dist/schemas/input-helpers.js.map +1 -1
- package/dist/schemas/inputs/checksums.d.ts +0 -2
- package/dist/schemas/inputs/checksums.d.ts.map +1 -1
- package/dist/schemas/inputs/checksums.js +2 -7
- package/dist/schemas/inputs/checksums.js.map +1 -1
- package/dist/schemas/inputs/directory.d.ts +0 -16
- package/dist/schemas/inputs/directory.d.ts.map +1 -1
- package/dist/schemas/inputs/directory.js +2 -44
- package/dist/schemas/inputs/directory.js.map +1 -1
- package/dist/schemas/inputs/read.d.ts +0 -4
- package/dist/schemas/inputs/read.d.ts.map +1 -1
- package/dist/schemas/inputs/read.js +0 -15
- package/dist/schemas/inputs/read.js.map +1 -1
- package/dist/schemas/inputs/search.d.ts +1 -12
- package/dist/schemas/inputs/search.d.ts.map +1 -1
- package/dist/schemas/inputs/search.js +4 -30
- package/dist/schemas/inputs/search.js.map +1 -1
- package/dist/schemas/inputs.d.ts +3 -4
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +3 -4
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/output-helpers.d.ts +59 -0
- package/dist/schemas/output-helpers.d.ts.map +1 -1
- package/dist/schemas/output-helpers.js +31 -0
- package/dist/schemas/output-helpers.js.map +1 -1
- package/dist/schemas/outputs/checksums.d.ts +4 -4
- package/dist/schemas/outputs/checksums.d.ts.map +1 -1
- package/dist/schemas/outputs/checksums.js +2 -7
- package/dist/schemas/outputs/checksums.js.map +1 -1
- package/dist/schemas/outputs/directory.d.ts +68 -230
- package/dist/schemas/outputs/directory.d.ts.map +1 -1
- package/dist/schemas/outputs/directory.js +14 -32
- package/dist/schemas/outputs/directory.js.map +1 -1
- package/dist/schemas/outputs/file-info.d.ts +14 -14
- package/dist/schemas/outputs/file-info.d.ts.map +1 -1
- package/dist/schemas/outputs/file-info.js +4 -31
- package/dist/schemas/outputs/file-info.js.map +1 -1
- package/dist/schemas/outputs/read.d.ts +141 -46
- package/dist/schemas/outputs/read.d.ts.map +1 -1
- package/dist/schemas/outputs/read.js +35 -12
- package/dist/schemas/outputs/read.js.map +1 -1
- package/dist/schemas/outputs/search.d.ts +134 -124
- package/dist/schemas/outputs/search.d.ts.map +1 -1
- package/dist/schemas/outputs/search.js +33 -35
- package/dist/schemas/outputs/search.js.map +1 -1
- package/dist/schemas/outputs.d.ts +3 -4
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +3 -4
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/analyze-directory.d.ts.map +1 -1
- package/dist/tools/analyze-directory.js +26 -28
- package/dist/tools/analyze-directory.js.map +1 -1
- package/dist/tools/compute-checksums.d.ts.map +1 -1
- package/dist/tools/compute-checksums.js +13 -21
- package/dist/tools/compute-checksums.js.map +1 -1
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +11 -9
- package/dist/tools/directory-tree.js.map +1 -1
- package/dist/tools/get-file-info.d.ts.map +1 -1
- package/dist/tools/get-file-info.js +8 -44
- package/dist/tools/get-file-info.js.map +1 -1
- package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
- package/dist/tools/get-multiple-file-info.js +13 -55
- package/dist/tools/get-multiple-file-info.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -10
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
- package/dist/tools/list-allowed-dirs.js +37 -31
- package/dist/tools/list-allowed-dirs.js.map +1 -1
- package/dist/tools/list-directory.d.ts.map +1 -1
- package/dist/tools/list-directory.js +83 -83
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +66 -43
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-media-file.d.ts.map +1 -1
- package/dist/tools/read-media-file.js +8 -6
- package/dist/tools/read-media-file.js.map +1 -1
- package/dist/tools/read-multiple-files.d.ts.map +1 -1
- package/dist/tools/read-multiple-files.js +64 -25
- package/dist/tools/read-multiple-files.js.map +1 -1
- package/dist/tools/search-content.d.ts.map +1 -1
- package/dist/tools/search-content.js +14 -16
- package/dist/tools/search-content.js.map +1 -1
- package/dist/tools/search-definitions.d.ts.map +1 -1
- package/dist/tools/search-definitions.js +11 -8
- package/dist/tools/search-definitions.js.map +1 -1
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +61 -45
- package/dist/tools/search-files.js.map +1 -1
- package/dist/tools/shared/abort.d.ts +5 -0
- package/dist/tools/shared/abort.d.ts.map +1 -0
- package/dist/tools/shared/abort.js +41 -0
- package/dist/tools/shared/abort.js.map +1 -0
- package/dist/tools/shared/file-info.d.ts +17 -0
- package/dist/tools/shared/file-info.d.ts.map +1 -0
- package/dist/tools/shared/file-info.js +40 -0
- package/dist/tools/shared/file-info.js.map +1 -0
- package/dist/tools/shared/formatting.d.ts +5 -0
- package/dist/tools/shared/formatting.d.ts.map +1 -1
- package/dist/tools/shared/formatting.js +21 -1
- package/dist/tools/shared/formatting.js.map +1 -1
- package/dist/tools/shared/read-range.d.ts +7 -0
- package/dist/tools/shared/read-range.d.ts.map +1 -0
- package/dist/tools/shared/read-range.js +22 -0
- package/dist/tools/shared/read-range.js.map +1 -0
- package/dist/tools/shared/search-formatting.d.ts.map +1 -1
- package/dist/tools/shared/search-formatting.js +53 -28
- package/dist/tools/shared/search-formatting.js.map +1 -1
- package/dist/tools/tool-response.d.ts +22 -0
- package/dist/tools/tool-response.d.ts.map +1 -1
- package/dist/tools/tool-response.js +30 -0
- package/dist/tools/tool-response.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +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;
|
|
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;AAgGzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAapE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { formatBytes, joinLines } from '../config/formatting.js';
|
|
2
|
+
import { ErrorCode } from '../lib/errors.js';
|
|
2
3
|
import { computeChecksums } from '../lib/file-operations.js';
|
|
3
4
|
import { ComputeChecksumsInputSchema, ComputeChecksumsOutputSchema, } from '../schemas/index.js';
|
|
4
|
-
import {
|
|
5
|
-
import { buildToolResponse } from './tool-response.js';
|
|
5
|
+
import { buildToolErrorResponse, buildToolResponse, } from './tool-response.js';
|
|
6
6
|
function buildStructuredResult(result) {
|
|
7
7
|
return {
|
|
8
8
|
ok: true,
|
|
@@ -17,19 +17,9 @@ function buildStructuredResult(result) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
function buildTextResult(result) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
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');
|
|
20
|
+
const checksumLines = result.results.map(formatChecksumLine);
|
|
21
|
+
const summary = `${getSummaryAlgorithm(result)} | ${result.summary.succeeded}/${result.summary.total} ok`;
|
|
22
|
+
return joinLines([`Checksums (${summary}):`, ...checksumLines]);
|
|
33
23
|
}
|
|
34
24
|
function formatChecksumLine(item) {
|
|
35
25
|
if (!item.checksum) {
|
|
@@ -41,11 +31,12 @@ function formatChecksumLine(item) {
|
|
|
41
31
|
function getSummaryAlgorithm(result) {
|
|
42
32
|
return result.results[0]?.algorithm ?? 'sha256';
|
|
43
33
|
}
|
|
44
|
-
async function handleComputeChecksums(args) {
|
|
34
|
+
async function handleComputeChecksums(args, signal) {
|
|
45
35
|
const result = await computeChecksums(args.paths, {
|
|
46
36
|
algorithm: args.algorithm,
|
|
47
37
|
encoding: args.encoding,
|
|
48
38
|
maxFileSize: args.maxFileSize,
|
|
39
|
+
signal,
|
|
49
40
|
});
|
|
50
41
|
return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
|
|
51
42
|
}
|
|
@@ -65,13 +56,14 @@ const COMPUTE_CHECKSUMS_TOOL = {
|
|
|
65
56
|
},
|
|
66
57
|
};
|
|
67
58
|
export function registerComputeChecksumsTool(server) {
|
|
68
|
-
|
|
59
|
+
const handler = async (args, extra) => {
|
|
69
60
|
try {
|
|
70
|
-
return await handleComputeChecksums(args);
|
|
61
|
+
return await handleComputeChecksums(args, extra.signal);
|
|
71
62
|
}
|
|
72
63
|
catch (error) {
|
|
73
|
-
|
|
64
|
+
return buildToolErrorResponse(error, ErrorCode.E_UNKNOWN);
|
|
74
65
|
}
|
|
75
|
-
}
|
|
66
|
+
};
|
|
67
|
+
server.registerTool('compute_checksums', COMPUTE_CHECKSUMS_TOOL, handler);
|
|
76
68
|
}
|
|
77
69
|
//# sourceMappingURL=compute-checksums.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-checksums.js","sourceRoot":"","sources":["../../src/tools/compute-checksums.ts"],"names":[],"mappings":"
|
|
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;
|
|
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;AAiIzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiBjE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { formatBytes, formatOperationSummary, joinLines, } from '../config/formatting.js';
|
|
2
|
+
import { ErrorCode } from '../lib/errors.js';
|
|
2
3
|
import { getDirectoryTree } from '../lib/file-operations.js';
|
|
3
4
|
import { DirectoryTreeInputSchema, DirectoryTreeOutputSchema, } from '../schemas/index.js';
|
|
4
|
-
import {
|
|
5
|
-
import { buildToolResponse } from './tool-response.js';
|
|
5
|
+
import { buildToolErrorResponse, buildToolResponse, } from './tool-response.js';
|
|
6
6
|
function formatTreeEntry(entry, indent = '') {
|
|
7
|
-
return formatTreeEntryLines(entry, indent)
|
|
7
|
+
return joinLines(formatTreeEntryLines(entry, indent));
|
|
8
8
|
}
|
|
9
9
|
function formatTreeEntryLines(entry, indent) {
|
|
10
10
|
const lines = [formatTreeEntryLine(entry, indent)];
|
|
@@ -40,13 +40,14 @@ function buildTextResult(result, includeSize) {
|
|
|
40
40
|
});
|
|
41
41
|
return textOutput;
|
|
42
42
|
}
|
|
43
|
-
async function handleDirectoryTree({ path, maxDepth, excludePatterns, includeHidden, includeSize, maxFiles, }) {
|
|
43
|
+
async function handleDirectoryTree({ path, maxDepth, excludePatterns, includeHidden, includeSize, maxFiles, }, signal) {
|
|
44
44
|
const result = await getDirectoryTree(path, {
|
|
45
45
|
maxDepth,
|
|
46
46
|
excludePatterns,
|
|
47
47
|
includeHidden,
|
|
48
48
|
includeSize,
|
|
49
49
|
maxFiles,
|
|
50
|
+
signal,
|
|
50
51
|
});
|
|
51
52
|
const structured = buildStructuredResult(result);
|
|
52
53
|
const textOutput = buildTextResult(result, includeSize);
|
|
@@ -68,13 +69,14 @@ const DIRECTORY_TREE_TOOL = {
|
|
|
68
69
|
},
|
|
69
70
|
};
|
|
70
71
|
export function registerDirectoryTreeTool(server) {
|
|
71
|
-
|
|
72
|
+
const handler = async (args, extra) => {
|
|
72
73
|
try {
|
|
73
|
-
return await handleDirectoryTree(args);
|
|
74
|
+
return await handleDirectoryTree(args, extra.signal);
|
|
74
75
|
}
|
|
75
76
|
catch (error) {
|
|
76
|
-
|
|
77
|
+
return buildToolErrorResponse(error, ErrorCode.E_NOT_DIRECTORY, args.path);
|
|
77
78
|
}
|
|
78
|
-
}
|
|
79
|
+
};
|
|
80
|
+
server.registerTool('directory_tree', DIRECTORY_TREE_TOOL, handler);
|
|
79
81
|
}
|
|
80
82
|
//# sourceMappingURL=directory-tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-tree.js","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"directory-tree.js","sourceRoot":"","sources":["../../src/tools/directory-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4DzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAU/D"}
|
|
@@ -1,52 +1,22 @@
|
|
|
1
|
-
import { ErrorCode
|
|
1
|
+
import { ErrorCode } from '../lib/errors.js';
|
|
2
2
|
import { getFileInfo } from '../lib/file-operations.js';
|
|
3
3
|
import { GetFileInfoInputSchema, GetFileInfoOutputSchema, } from '../schemas/index.js';
|
|
4
|
-
import {
|
|
5
|
-
import { buildToolResponse } from './tool-response.js';
|
|
6
|
-
function formatFileInfo(info) {
|
|
7
|
-
const lines = [
|
|
8
|
-
`Name: ${info.name}`,
|
|
9
|
-
`Path: ${info.path}`,
|
|
10
|
-
`Type: ${info.type}`,
|
|
11
|
-
`Size: ${formatBytes(info.size)}`,
|
|
12
|
-
`Created: ${formatDate(info.created)}`,
|
|
13
|
-
`Modified: ${formatDate(info.modified)}`,
|
|
14
|
-
`Accessed: ${formatDate(info.accessed)}`,
|
|
15
|
-
`Permissions: ${info.permissions}`,
|
|
16
|
-
`Hidden: ${info.isHidden ? 'Yes' : 'No'}`,
|
|
17
|
-
];
|
|
18
|
-
if (info.mimeType)
|
|
19
|
-
lines.push(`MIME Type: ${info.mimeType}`);
|
|
20
|
-
if (info.symlinkTarget)
|
|
21
|
-
lines.push(`Symlink Target: ${info.symlinkTarget}`);
|
|
22
|
-
return lines.join('\n');
|
|
23
|
-
}
|
|
4
|
+
import { buildFileInfoPayload, formatFileInfoDetails, } from './shared/file-info.js';
|
|
5
|
+
import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
|
|
24
6
|
function buildStructuredResult(info) {
|
|
25
7
|
return {
|
|
26
8
|
ok: true,
|
|
27
|
-
info:
|
|
28
|
-
name: info.name,
|
|
29
|
-
path: info.path,
|
|
30
|
-
type: info.type,
|
|
31
|
-
size: info.size,
|
|
32
|
-
created: info.created.toISOString(),
|
|
33
|
-
modified: info.modified.toISOString(),
|
|
34
|
-
accessed: info.accessed.toISOString(),
|
|
35
|
-
permissions: info.permissions,
|
|
36
|
-
isHidden: info.isHidden,
|
|
37
|
-
mimeType: info.mimeType,
|
|
38
|
-
symlinkTarget: info.symlinkTarget,
|
|
39
|
-
},
|
|
9
|
+
info: buildFileInfoPayload(info),
|
|
40
10
|
};
|
|
41
11
|
}
|
|
42
12
|
async function handleGetFileInfo({ path, }) {
|
|
43
13
|
const info = await getFileInfo(path);
|
|
44
14
|
const structured = buildStructuredResult(info);
|
|
45
|
-
return buildToolResponse(
|
|
15
|
+
return buildToolResponse(formatFileInfoDetails(info), structured);
|
|
46
16
|
}
|
|
47
17
|
const GET_FILE_INFO_TOOL = {
|
|
48
18
|
title: 'Get File Info',
|
|
49
|
-
description: 'Retrieve detailed metadata about a file or directory without reading
|
|
19
|
+
description: 'Retrieve detailed metadata about a file or directory without reading contents. ' +
|
|
50
20
|
'Returns: name, path, type, size, timestamps (created/modified/accessed), permissions, ' +
|
|
51
21
|
'MIME type (for files), hidden status, and symlink target (if applicable). ' +
|
|
52
22
|
'Use this to check file properties before reading large files.',
|
|
@@ -59,13 +29,7 @@ const GET_FILE_INFO_TOOL = {
|
|
|
59
29
|
},
|
|
60
30
|
};
|
|
61
31
|
export function registerGetFileInfoTool(server) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return await handleGetFileInfo(args);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
throw toRpcError(error, ErrorCode.E_NOT_FOUND, args.path);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
32
|
+
const handler = (args) => withToolErrorHandling(() => handleGetFileInfo(args), (error) => buildToolErrorResponse(error, ErrorCode.E_NOT_FOUND, args.path));
|
|
33
|
+
server.registerTool('get_file_info', GET_FILE_INFO_TOOL, handler);
|
|
70
34
|
}
|
|
71
35
|
//# sourceMappingURL=get-file-info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-file-info.js","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"get-file-info.js","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAGjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,qBAAqB,CAC5B,IAA6C;IAE7C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,EAC/B,IAAI,GAGL;IACC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,iFAAiF;QACjF,wFAAwF;QACxF,4EAA4E;QAC5E,+DAA+D;IACjE,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,uBAAuB,CAAC,KAAK;IAC3C,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,OAAO,GAAG,CACd,IAAqB,EAC6B,EAAE,CACpD,qBAAqB,CACnB,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAC3E,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAyFzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAcvE"}
|
|
@@ -1,66 +1,30 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { formatBytes, joinLines } from '../config/formatting.js';
|
|
2
|
+
import { ErrorCode } from '../lib/errors.js';
|
|
2
3
|
import { getMultipleFileInfo } from '../lib/file-operations.js';
|
|
3
4
|
import { GetMultipleFileInfoInputSchema, GetMultipleFileInfoOutputSchema, } from '../schemas/index.js';
|
|
4
|
-
import {
|
|
5
|
-
import { buildToolResponse } from './tool-response.js';
|
|
5
|
+
import { buildFileInfoPayload, formatFileInfoSummary, } from './shared/file-info.js';
|
|
6
|
+
import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
|
|
6
7
|
function buildStructuredResult(result) {
|
|
7
8
|
return {
|
|
8
9
|
ok: true,
|
|
9
10
|
results: result.results.map((r) => ({
|
|
10
11
|
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,
|
|
12
|
+
info: r.info ? buildFileInfoPayload(r.info) : undefined,
|
|
26
13
|
error: r.error,
|
|
27
14
|
})),
|
|
28
15
|
summary: result.summary,
|
|
29
16
|
};
|
|
30
17
|
}
|
|
31
18
|
function buildTextResult(result) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
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');
|
|
19
|
+
const fileBlocks = result.results.flatMap(formatFileInfoBlock);
|
|
20
|
+
const summary = `${result.summary.succeeded}/${result.summary.total} ok | ${formatBytes(result.summary.totalSize)}`;
|
|
21
|
+
return joinLines([`File info (${summary}):`, ...fileBlocks]);
|
|
44
22
|
}
|
|
45
23
|
function formatFileInfoBlock(item) {
|
|
46
24
|
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}`);
|
|
25
|
+
return [`${item.path} [error: ${item.error ?? 'unknown'}]`];
|
|
61
26
|
}
|
|
62
|
-
|
|
63
|
-
return lines;
|
|
27
|
+
return [formatFileInfoSummary(item.path, item.info)];
|
|
64
28
|
}
|
|
65
29
|
async function handleGetMultipleFileInfo(args) {
|
|
66
30
|
const result = await getMultipleFileInfo(args.paths, {
|
|
@@ -72,7 +36,7 @@ const GET_MULTIPLE_FILE_INFO_TOOL = {
|
|
|
72
36
|
title: 'Get Multiple File Info',
|
|
73
37
|
description: 'Retrieve detailed metadata about multiple files or directories in a single operation (parallel processing). ' +
|
|
74
38
|
'More efficient than calling get_file_info repeatedly. ' +
|
|
75
|
-
'Individual file errors do not fail the entire operation
|
|
39
|
+
'Individual file errors do not fail the entire operation; each file reports success or error independently. ' +
|
|
76
40
|
'Returns: name, path, type, size, timestamps, permissions, MIME type, and symlink target for each path.',
|
|
77
41
|
inputSchema: GetMultipleFileInfoInputSchema,
|
|
78
42
|
outputSchema: GetMultipleFileInfoOutputSchema.shape,
|
|
@@ -83,13 +47,7 @@ const GET_MULTIPLE_FILE_INFO_TOOL = {
|
|
|
83
47
|
},
|
|
84
48
|
};
|
|
85
49
|
export function registerGetMultipleFileInfoTool(server) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return await handleGetMultipleFileInfo(args);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
throw toRpcError(error, ErrorCode.E_UNKNOWN);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
50
|
+
const handler = (args) => withToolErrorHandling(() => handleGetMultipleFileInfo(args), (error) => buildToolErrorResponse(error, ErrorCode.E_UNKNOWN));
|
|
51
|
+
server.registerTool('get_multiple_file_info', GET_MULTIPLE_FILE_INFO_TOOL, handler);
|
|
94
52
|
}
|
|
95
53
|
//# sourceMappingURL=get-multiple-file-info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-multiple-file-info.js","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CASxD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { registerAnalyzeDirectoryTool } from './analyze-directory.js';
|
|
2
|
-
import { registerComputeChecksumsTool } from './compute-checksums.js';
|
|
3
|
-
import { registerDirectoryTreeTool } from './directory-tree.js';
|
|
4
1
|
import { registerGetFileInfoTool } from './get-file-info.js';
|
|
5
2
|
import { registerGetMultipleFileInfoTool } from './get-multiple-file-info.js';
|
|
6
3
|
import { registerListAllowedDirectoriesTool } from './list-allowed-dirs.js';
|
|
7
4
|
import { registerListDirectoryTool } from './list-directory.js';
|
|
8
5
|
import { registerReadFileTool } from './read-file.js';
|
|
9
|
-
import { registerReadMediaFileTool } from './read-media-file.js';
|
|
10
6
|
import { registerReadMultipleFilesTool } from './read-multiple-files.js';
|
|
11
7
|
import { registerSearchContentTool } from './search-content.js';
|
|
12
|
-
import { registerSearchDefinitionsTool } from './search-definitions.js';
|
|
13
8
|
import { registerSearchFilesTool } from './search-files.js';
|
|
14
9
|
export function registerAllTools(server) {
|
|
15
10
|
registerListAllowedDirectoriesTool(server);
|
|
@@ -19,11 +14,6 @@ export function registerAllTools(server) {
|
|
|
19
14
|
registerReadMultipleFilesTool(server);
|
|
20
15
|
registerGetFileInfoTool(server);
|
|
21
16
|
registerGetMultipleFileInfoTool(server);
|
|
22
|
-
registerComputeChecksumsTool(server);
|
|
23
17
|
registerSearchContentTool(server);
|
|
24
|
-
registerSearchDefinitionsTool(server);
|
|
25
|
-
registerAnalyzeDirectoryTool(server);
|
|
26
|
-
registerDirectoryTreeTool(server);
|
|
27
|
-
registerReadMediaFileTool(server);
|
|
28
18
|
}
|
|
29
19
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-allowed-dirs.d.ts","sourceRoot":"","sources":["../../src/tools/list-allowed-dirs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"list-allowed-dirs.d.ts","sourceRoot":"","sources":["../../src/tools/list-allowed-dirs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsIzE,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa1E"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import * as fs from 'node:fs/promises';
|
|
2
|
-
import {
|
|
2
|
+
import { joinLines } from '../config/formatting.js';
|
|
3
|
+
import { ErrorCode, isNodeError } from '../lib/errors.js';
|
|
3
4
|
import { getAllowedDirectories } from '../lib/path-validation.js';
|
|
4
5
|
import { ListAllowedDirectoriesOutputSchema } from '../schemas/index.js';
|
|
5
|
-
import { buildToolResponse } from './tool-response.js';
|
|
6
|
-
|
|
6
|
+
import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
|
|
7
|
+
const ACCESS_STATUS_BY_CODE = {
|
|
8
|
+
EACCES: { accessible: true, readable: false },
|
|
9
|
+
EPERM: { accessible: true, readable: false },
|
|
10
|
+
ENOENT: { accessible: false, readable: false },
|
|
11
|
+
ENOTDIR: { accessible: false, readable: false },
|
|
12
|
+
};
|
|
13
|
+
function buildTextResult(dirs, accessStatus) {
|
|
7
14
|
if (dirs.length === 0) {
|
|
8
|
-
return 'No directories
|
|
15
|
+
return 'No directories allowed.';
|
|
9
16
|
}
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const access =
|
|
17
|
+
const accessByPath = new Map(accessStatus.map((status) => [status.path, status]));
|
|
18
|
+
const lines = dirs.map((dir) => {
|
|
19
|
+
const access = accessByPath.get(dir);
|
|
13
20
|
const tag = buildAccessTag(access);
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
return
|
|
21
|
+
return tag ? `${dir} ${tag}` : dir;
|
|
22
|
+
});
|
|
23
|
+
return joinLines([`Allowed directories (${dirs.length}):`, ...lines]);
|
|
17
24
|
}
|
|
18
25
|
function buildAccessTag(access) {
|
|
19
26
|
if (!access)
|
|
@@ -24,19 +31,24 @@ function buildAccessTag(access) {
|
|
|
24
31
|
return '[no read access]';
|
|
25
32
|
return '[readable]';
|
|
26
33
|
}
|
|
34
|
+
function resolveAccessFromError(error, dirPath) {
|
|
35
|
+
if (!isNodeError(error)) {
|
|
36
|
+
return { path: dirPath, accessible: false, readable: false };
|
|
37
|
+
}
|
|
38
|
+
const status = error.code ? ACCESS_STATUS_BY_CODE[error.code] : undefined;
|
|
39
|
+
if (!status) {
|
|
40
|
+
return { path: dirPath, accessible: false, readable: false };
|
|
41
|
+
}
|
|
42
|
+
return { path: dirPath, ...status };
|
|
43
|
+
}
|
|
27
44
|
async function checkDirectoryAccess(dirPath) {
|
|
28
45
|
try {
|
|
29
|
-
await fs.
|
|
46
|
+
const dir = await fs.opendir(dirPath);
|
|
47
|
+
await dir.close();
|
|
30
48
|
return { path: dirPath, accessible: true, readable: true };
|
|
31
49
|
}
|
|
32
|
-
catch {
|
|
33
|
-
|
|
34
|
-
await fs.access(dirPath, fs.constants.F_OK);
|
|
35
|
-
return { path: dirPath, accessible: true, readable: false };
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return { path: dirPath, accessible: false, readable: false };
|
|
39
|
-
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return resolveAccessFromError(error, dirPath);
|
|
40
52
|
}
|
|
41
53
|
}
|
|
42
54
|
function buildHint(count) {
|
|
@@ -60,13 +72,13 @@ async function handleListAllowedDirectories() {
|
|
|
60
72
|
accessStatus,
|
|
61
73
|
hint,
|
|
62
74
|
};
|
|
63
|
-
return buildToolResponse(
|
|
75
|
+
return buildToolResponse(buildTextResult(dirs, accessStatus), structured);
|
|
64
76
|
}
|
|
65
77
|
const LIST_ALLOWED_DIRECTORIES_TOOL = {
|
|
66
78
|
title: 'List Allowed Directories',
|
|
67
|
-
description: '
|
|
68
|
-
'Call this
|
|
69
|
-
'All other tools
|
|
79
|
+
description: 'List the directories this server is permitted to access, plus access status. ' +
|
|
80
|
+
'Call this first to understand the scope of available file operations. ' +
|
|
81
|
+
'All other tools only work within these directories for security.',
|
|
70
82
|
outputSchema: ListAllowedDirectoriesOutputSchema.shape,
|
|
71
83
|
annotations: {
|
|
72
84
|
readOnlyHint: true,
|
|
@@ -75,13 +87,7 @@ const LIST_ALLOWED_DIRECTORIES_TOOL = {
|
|
|
75
87
|
},
|
|
76
88
|
};
|
|
77
89
|
export function registerListAllowedDirectoriesTool(server) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return await handleListAllowedDirectories();
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
throw toRpcError(error, ErrorCode.E_UNKNOWN);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
90
|
+
const handler = () => withToolErrorHandling(handleListAllowedDirectories, (error) => buildToolErrorResponse(error, ErrorCode.E_UNKNOWN));
|
|
91
|
+
server.registerTool('list_allowed_directories', LIST_ALLOWED_DIRECTORIES_TOOL, handler);
|
|
86
92
|
}
|
|
87
93
|
//# sourceMappingURL=list-allowed-dirs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-allowed-dirs.js","sourceRoot":"","sources":["../../src/tools/list-allowed-dirs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAMvC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"list-allowed-dirs.js","sourceRoot":"","sources":["../../src/tools/list-allowed-dirs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkMzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAYjE"}
|