@theia/ai-ide 1.72.1 → 1.72.3
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/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -1
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +15 -2
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +3 -0
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.js +61 -4
- package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
- package/lib/browser/ide-chat-welcome-message-provider.d.ts +11 -0
- package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
- package/lib/browser/ide-chat-welcome-message-provider.js +31 -1
- package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
- package/lib/browser/todo-tool-renderer.d.ts +7 -1
- package/lib/browser/todo-tool-renderer.d.ts.map +1 -1
- package/lib/browser/todo-tool-renderer.js +25 -1
- package/lib/browser/todo-tool-renderer.js.map +1 -1
- package/lib/browser/user-interaction-tool-renderer.d.ts +7 -1
- package/lib/browser/user-interaction-tool-renderer.d.ts.map +1 -1
- package/lib/browser/user-interaction-tool-renderer.js +25 -1
- package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
- package/lib/browser/workspace-functions.d.ts +27 -3
- package/lib/browser/workspace-functions.d.ts.map +1 -1
- package/lib/browser/workspace-functions.js +123 -140
- package/lib/browser/workspace-functions.js.map +1 -1
- package/lib/browser/workspace-functions.spec.js +323 -24
- package/lib/browser/workspace-functions.spec.js.map +1 -1
- package/package.json +23 -22
- package/src/browser/ai-configuration/ai-configuration-view-contribution.ts +15 -1
- package/src/browser/ai-configuration/tools-configuration-widget.tsx +106 -17
- package/src/browser/ide-chat-welcome-message-provider.tsx +43 -1
- package/src/browser/style/index.css +16 -0
- package/src/browser/todo-tool-renderer.tsx +30 -3
- package/src/browser/user-interaction-tool-renderer.tsx +30 -3
- package/src/browser/workspace-functions.spec.ts +385 -25
- package/src/browser/workspace-functions.ts +128 -195
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,38 @@ const browser_1 = require("@theia/workspace/lib/browser");
|
|
|
32
32
|
const browser_2 = require("@theia/markers/lib/browser");
|
|
33
33
|
const monaco_text_model_service_1 = require("@theia/monaco/lib/browser/monaco-text-model-service");
|
|
34
34
|
const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
|
|
35
|
+
const file_search_service_1 = require("@theia/file-search/lib/common/file-search-service");
|
|
36
|
+
const minimatch_1 = require("minimatch");
|
|
37
|
+
const makeFileSearchService = (impl) => {
|
|
38
|
+
const calls = [];
|
|
39
|
+
return {
|
|
40
|
+
calls,
|
|
41
|
+
find: async (searchPattern, options) => {
|
|
42
|
+
calls.push({ searchPattern, options });
|
|
43
|
+
return impl ? impl(searchPattern, options) : [];
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* A FileSearchService stand-in that mimics ripgrep: given a flat map of file URIs per
|
|
49
|
+
* root, it returns the files under the requested root that match the include globs and
|
|
50
|
+
* are not removed by the exclude globs (matched against each file's root-relative path).
|
|
51
|
+
*/
|
|
52
|
+
const makeRipgrepLikeSearchService = (filesByRoot) => makeFileSearchService(async (_searchPattern, options) => {
|
|
53
|
+
const root = options.rootUris?.[0];
|
|
54
|
+
if (!root) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
const rootUri = new uri_1.URI(root);
|
|
58
|
+
const includes = (options.includePatterns ?? []).map(pattern => new minimatch_1.Minimatch(pattern, { dot: true }));
|
|
59
|
+
const excludes = (options.excludePatterns ?? []).map(pattern => new minimatch_1.Minimatch(pattern, { dot: true }));
|
|
60
|
+
return (filesByRoot[root] ?? []).filter(file => {
|
|
61
|
+
const relativePath = rootUri.relative(new uri_1.URI(file))?.toString() ?? '';
|
|
62
|
+
const included = includes.length === 0 || includes.some(matcher => matcher.match(relativePath));
|
|
63
|
+
const excluded = excludes.some(matcher => matcher.match(relativePath));
|
|
64
|
+
return included && !excluded;
|
|
65
|
+
});
|
|
66
|
+
});
|
|
35
67
|
const makeTrustAwareReader = (overrides = {}) => ({
|
|
36
68
|
get: (name, fallback) => (name in overrides ? overrides[name] : fallback),
|
|
37
69
|
ready: Promise.resolve(),
|
|
@@ -113,6 +145,7 @@ describe('Workspace Functions Cancellation Tests', () => {
|
|
|
113
145
|
container.bind(monaco_text_model_service_1.MonacoTextModelService).toConstantValue(mockMonacoTextModelService);
|
|
114
146
|
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(makeTrustAwareReader());
|
|
115
147
|
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
148
|
+
container.bind(file_search_service_1.FileSearchService).toConstantValue(makeFileSearchService());
|
|
116
149
|
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
117
150
|
container.bind(workspace_functions_1.GetWorkspaceDirectoryStructure).toSelf();
|
|
118
151
|
container.bind(workspace_functions_1.FileContentFunction).toSelf();
|
|
@@ -607,6 +640,7 @@ describe('FindFilesByPattern.getArgumentsShortLabel', () => {
|
|
|
607
640
|
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
608
641
|
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(makeTrustAwareReader());
|
|
609
642
|
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
643
|
+
container.bind(file_search_service_1.FileSearchService).toConstantValue(makeFileSearchService());
|
|
610
644
|
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
611
645
|
container.bind(workspace_functions_1.FindFilesByPattern).toSelf();
|
|
612
646
|
const findFilesByPattern = container.get(workspace_functions_1.FindFilesByPattern);
|
|
@@ -630,6 +664,289 @@ describe('FindFilesByPattern.getArgumentsShortLabel', () => {
|
|
|
630
664
|
(0, chai_1.expect)(result).to.be.undefined;
|
|
631
665
|
});
|
|
632
666
|
});
|
|
667
|
+
describe('FindFilesByPattern.findFiles', () => {
|
|
668
|
+
let container;
|
|
669
|
+
let findFilesByPattern;
|
|
670
|
+
let fileSearchService;
|
|
671
|
+
let searchResults;
|
|
672
|
+
let roots;
|
|
673
|
+
let prefs;
|
|
674
|
+
let allowedExternal;
|
|
675
|
+
let disableJSDOMInner;
|
|
676
|
+
before(() => { disableJSDOMInner = (0, jsdom_1.enableJSDOM)(); });
|
|
677
|
+
after(() => { disableJSDOMInner(); });
|
|
678
|
+
beforeEach(() => {
|
|
679
|
+
container = new inversify_1.Container();
|
|
680
|
+
searchResults = [];
|
|
681
|
+
roots = [{ resource: new uri_1.URI('file:///workspace') }];
|
|
682
|
+
prefs = {
|
|
683
|
+
'ai-features.workspaceFunctions.considerGitIgnore': true,
|
|
684
|
+
'ai-features.workspaceFunctions.userExcludes': ['node_modules', 'lib']
|
|
685
|
+
};
|
|
686
|
+
allowedExternal = [];
|
|
687
|
+
const mockWorkspaceService = {
|
|
688
|
+
roots: Promise.resolve(roots),
|
|
689
|
+
tryGetRoots: () => roots,
|
|
690
|
+
onWorkspaceChanged: () => ({ dispose: () => { } })
|
|
691
|
+
};
|
|
692
|
+
const mockFileService = {
|
|
693
|
+
exists: async () => true,
|
|
694
|
+
resolve: async (uri) => ({ isDirectory: true, children: [], resource: uri }),
|
|
695
|
+
read: async () => ({ value: { toString: () => '' } })
|
|
696
|
+
};
|
|
697
|
+
const mockPreferenceService = {
|
|
698
|
+
get: (path, defaultValue) => (path in prefs ? prefs[path] : defaultValue)
|
|
699
|
+
};
|
|
700
|
+
const trustAwareReader = {
|
|
701
|
+
get: (name, fallback) => (name === 'ai-features.workspaceFunctions.allowedExternalPaths' ? allowedExternal : fallback),
|
|
702
|
+
ready: Promise.resolve(),
|
|
703
|
+
onDidChangeTrust: () => ({ dispose: () => { } })
|
|
704
|
+
};
|
|
705
|
+
fileSearchService = makeFileSearchService(async () => searchResults);
|
|
706
|
+
container.bind(browser_1.WorkspaceService).toConstantValue(mockWorkspaceService);
|
|
707
|
+
container.bind(file_service_1.FileService).toConstantValue(mockFileService);
|
|
708
|
+
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
709
|
+
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(trustAwareReader);
|
|
710
|
+
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
711
|
+
container.bind(file_search_service_1.FileSearchService).toConstantValue(fileSearchService);
|
|
712
|
+
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
713
|
+
container.bind(workspace_functions_1.FindFilesByPattern).toSelf();
|
|
714
|
+
findFilesByPattern = container.get(workspace_functions_1.FindFilesByPattern);
|
|
715
|
+
});
|
|
716
|
+
const call = (args, ctx) => findFilesByPattern.getTool().handler(JSON.stringify(args), ctx);
|
|
717
|
+
it('returns root-prefixed workspace-relative paths', async () => {
|
|
718
|
+
searchResults = ['file:///workspace/src/a.ts', 'file:///workspace/src/b.ts'];
|
|
719
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts' }));
|
|
720
|
+
(0, chai_1.expect)(result.files).to.deep.equal(['workspace/src/a.ts', 'workspace/src/b.ts']);
|
|
721
|
+
});
|
|
722
|
+
it('passes the glob, user excludes, gitignore flag and root to the search service', async () => {
|
|
723
|
+
await call({ pattern: '**/*.ts', exclude: ['**/*.spec.ts'] });
|
|
724
|
+
(0, chai_1.expect)(fileSearchService.calls).to.have.length(1);
|
|
725
|
+
const options = fileSearchService.calls[0].options;
|
|
726
|
+
(0, chai_1.expect)(options.includePatterns).to.deep.equal(['**/*.ts']);
|
|
727
|
+
(0, chai_1.expect)(options.excludePatterns).to.deep.equal(['node_modules', 'lib', '**/*.spec.ts']);
|
|
728
|
+
(0, chai_1.expect)(options.useGitIgnore).to.equal(true);
|
|
729
|
+
(0, chai_1.expect)(options.rootUris).to.deep.equal(['file:///workspace']);
|
|
730
|
+
(0, chai_1.expect)(options.fuzzyMatch).to.equal(false);
|
|
731
|
+
});
|
|
732
|
+
it('does not use gitignore when the preference is disabled', async () => {
|
|
733
|
+
prefs['ai-features.workspaceFunctions.considerGitIgnore'] = false;
|
|
734
|
+
await call({ pattern: '**/*.ts' });
|
|
735
|
+
(0, chai_1.expect)(fileSearchService.calls[0].options.useGitIgnore).to.equal(false);
|
|
736
|
+
});
|
|
737
|
+
it('reports an error when no workspace is open', async () => {
|
|
738
|
+
roots.length = 0;
|
|
739
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts' }));
|
|
740
|
+
(0, chai_1.expect)(result.error).to.equal('No workspace has been opened yet');
|
|
741
|
+
});
|
|
742
|
+
it('respects the cancellation token', async () => {
|
|
743
|
+
const cts = new core_1.CancellationTokenSource();
|
|
744
|
+
cts.cancel();
|
|
745
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts' }, { cancellationToken: cts.token }));
|
|
746
|
+
(0, chai_1.expect)(result.error).to.equal('Operation cancelled by user');
|
|
747
|
+
});
|
|
748
|
+
it('truncates to 200 results and flags truncation', async () => {
|
|
749
|
+
searchResults = Array.from({ length: 250 }, (_, i) => `file:///workspace/f${i}.ts`);
|
|
750
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts' }));
|
|
751
|
+
(0, chai_1.expect)(result.files).to.have.length(200);
|
|
752
|
+
(0, chai_1.expect)(result.truncated).to.equal(true);
|
|
753
|
+
});
|
|
754
|
+
it('returns absolute paths for an allow-listed external searchRoot', async () => {
|
|
755
|
+
allowedExternal = ['/external/data'];
|
|
756
|
+
searchResults = ['file:///external/data/x.ts'];
|
|
757
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts', searchRoot: '/external/data' }));
|
|
758
|
+
(0, chai_1.expect)(result.files).to.deep.equal(['/external/data/x.ts']);
|
|
759
|
+
(0, chai_1.expect)(fileSearchService.calls[0].options.rootUris).to.deep.equal(['file:///external/data']);
|
|
760
|
+
});
|
|
761
|
+
it('does not apply gitignore to external roots (it is scoped to workspace roots)', async () => {
|
|
762
|
+
prefs['ai-features.workspaceFunctions.considerGitIgnore'] = true;
|
|
763
|
+
allowedExternal = ['/external/data'];
|
|
764
|
+
await call({ pattern: '**/*.ts', searchRoot: '/external/data' });
|
|
765
|
+
const options = fileSearchService.calls[0].options;
|
|
766
|
+
(0, chai_1.expect)(options.useGitIgnore).to.equal(false);
|
|
767
|
+
(0, chai_1.expect)(options.excludePatterns).to.include('.git');
|
|
768
|
+
});
|
|
769
|
+
it('still applies gitignore to workspace roots', async () => {
|
|
770
|
+
prefs['ai-features.workspaceFunctions.considerGitIgnore'] = true;
|
|
771
|
+
await call({ pattern: '**/*.ts' });
|
|
772
|
+
(0, chai_1.expect)(fileSearchService.calls[0].options.useGitIgnore).to.equal(true);
|
|
773
|
+
});
|
|
774
|
+
it('matches an allow-list entry with a trailing slash against a searchRoot without one', async () => {
|
|
775
|
+
allowedExternal = ['/external/data/']; // trailing slash, as a user/file-picker may enter it
|
|
776
|
+
searchResults = ['file:///external/data/x.ts'];
|
|
777
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts', searchRoot: '/external/data' }));
|
|
778
|
+
(0, chai_1.expect)(result.error).to.be.undefined;
|
|
779
|
+
(0, chai_1.expect)(result.files).to.deep.equal(['/external/data/x.ts']);
|
|
780
|
+
});
|
|
781
|
+
it('matches an allow-list entry without a trailing slash against a searchRoot that has one', async () => {
|
|
782
|
+
allowedExternal = ['/external/data'];
|
|
783
|
+
searchResults = ['file:///external/data/x.ts'];
|
|
784
|
+
const result = JSON.parse(await call({ pattern: '**/*.ts', searchRoot: '/external/data/' }));
|
|
785
|
+
(0, chai_1.expect)(result.error).to.be.undefined;
|
|
786
|
+
(0, chai_1.expect)(result.files).to.deep.equal(['/external/data/x.ts']);
|
|
787
|
+
});
|
|
788
|
+
});
|
|
789
|
+
describe('WorkspaceFunctionScope gitignore caching', () => {
|
|
790
|
+
let container;
|
|
791
|
+
let scope;
|
|
792
|
+
let resolveCount;
|
|
793
|
+
let gitignoreReadCount;
|
|
794
|
+
let disableJSDOMInner;
|
|
795
|
+
before(() => { disableJSDOMInner = (0, jsdom_1.enableJSDOM)(); });
|
|
796
|
+
after(() => { disableJSDOMInner(); });
|
|
797
|
+
beforeEach(() => {
|
|
798
|
+
container = new inversify_1.Container();
|
|
799
|
+
resolveCount = 0;
|
|
800
|
+
gitignoreReadCount = 0;
|
|
801
|
+
const mockWorkspaceService = {
|
|
802
|
+
roots: Promise.resolve([{ resource: new uri_1.URI('file:///workspace') }]),
|
|
803
|
+
tryGetRoots: () => [{ resource: new uri_1.URI('file:///workspace') }],
|
|
804
|
+
onWorkspaceChanged: () => ({ dispose: () => { } })
|
|
805
|
+
};
|
|
806
|
+
const mockFileService = {
|
|
807
|
+
resolve: async (uri) => { resolveCount++; return { isDirectory: true, resource: uri }; },
|
|
808
|
+
read: async (uri) => {
|
|
809
|
+
if (uri.path.base === '.gitignore') {
|
|
810
|
+
gitignoreReadCount++;
|
|
811
|
+
return { value: 'dist/\n' };
|
|
812
|
+
}
|
|
813
|
+
throw new Error('not found');
|
|
814
|
+
},
|
|
815
|
+
watch: () => ({ dispose: () => { } }),
|
|
816
|
+
onDidFilesChange: () => ({ dispose: () => { } })
|
|
817
|
+
};
|
|
818
|
+
const mockPreferenceService = {
|
|
819
|
+
get: (path, defaultValue) => (path === 'ai-features.workspaceFunctions.considerGitIgnore' ? true : defaultValue)
|
|
820
|
+
};
|
|
821
|
+
container.bind(browser_1.WorkspaceService).toConstantValue(mockWorkspaceService);
|
|
822
|
+
container.bind(file_service_1.FileService).toConstantValue(mockFileService);
|
|
823
|
+
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
824
|
+
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(makeTrustAwareReader());
|
|
825
|
+
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
826
|
+
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
827
|
+
scope = container.get(workspace_functions_1.WorkspaceFunctionScope);
|
|
828
|
+
});
|
|
829
|
+
const stat = (path, isDirectory = false) => ({
|
|
830
|
+
resource: new uri_1.URI(path),
|
|
831
|
+
isDirectory,
|
|
832
|
+
path: { base: path.split('/').pop() }
|
|
833
|
+
});
|
|
834
|
+
it('still excludes gitignored paths and keeps others', async () => {
|
|
835
|
+
(0, chai_1.expect)(await scope.shouldExclude(stat('file:///workspace/dist/a.js'))).to.be.true;
|
|
836
|
+
(0, chai_1.expect)(await scope.shouldExclude(stat('file:///workspace/src/b.ts'))).to.be.false;
|
|
837
|
+
});
|
|
838
|
+
it('reads .gitignore at most once and issues no per-check resolve RPC', async () => {
|
|
839
|
+
for (let i = 0; i < 25; i++) {
|
|
840
|
+
await scope.shouldExclude(stat(`file:///workspace/src/file${i}.ts`));
|
|
841
|
+
}
|
|
842
|
+
(0, chai_1.expect)(gitignoreReadCount).to.equal(1);
|
|
843
|
+
(0, chai_1.expect)(resolveCount).to.equal(0);
|
|
844
|
+
});
|
|
845
|
+
});
|
|
846
|
+
describe('GetWorkspaceFileList resolves the target directory once', () => {
|
|
847
|
+
let container;
|
|
848
|
+
let tool;
|
|
849
|
+
let resolveCount;
|
|
850
|
+
let disableJSDOMInner;
|
|
851
|
+
before(() => { disableJSDOMInner = (0, jsdom_1.enableJSDOM)(); });
|
|
852
|
+
after(() => { disableJSDOMInner(); });
|
|
853
|
+
beforeEach(() => {
|
|
854
|
+
container = new inversify_1.Container();
|
|
855
|
+
resolveCount = 0;
|
|
856
|
+
const mockWorkspaceService = {
|
|
857
|
+
roots: Promise.resolve([{ resource: new uri_1.URI('file:///workspace') }]),
|
|
858
|
+
tryGetRoots: () => [{ resource: new uri_1.URI('file:///workspace') }],
|
|
859
|
+
onWorkspaceChanged: () => ({ dispose: () => { } })
|
|
860
|
+
};
|
|
861
|
+
const mockFileService = {
|
|
862
|
+
exists: async () => true,
|
|
863
|
+
resolve: async (uri) => {
|
|
864
|
+
resolveCount++;
|
|
865
|
+
return {
|
|
866
|
+
isDirectory: true,
|
|
867
|
+
resource: uri,
|
|
868
|
+
children: [
|
|
869
|
+
{ isDirectory: false, resource: new uri_1.URI('file:///workspace/sub/a.ts'), path: { base: 'a.ts' } },
|
|
870
|
+
{ isDirectory: true, resource: new uri_1.URI('file:///workspace/sub/dir'), path: { base: 'dir' } }
|
|
871
|
+
]
|
|
872
|
+
};
|
|
873
|
+
},
|
|
874
|
+
read: async () => ({ value: { toString: () => '' } }),
|
|
875
|
+
watch: () => ({ dispose: () => { } }),
|
|
876
|
+
onDidFilesChange: () => ({ dispose: () => { } })
|
|
877
|
+
};
|
|
878
|
+
const mockPreferenceService = { get: (_path, def) => def };
|
|
879
|
+
container.bind(browser_1.WorkspaceService).toConstantValue(mockWorkspaceService);
|
|
880
|
+
container.bind(file_service_1.FileService).toConstantValue(mockFileService);
|
|
881
|
+
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
882
|
+
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(makeTrustAwareReader());
|
|
883
|
+
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
884
|
+
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
885
|
+
container.bind(workspace_functions_1.GetWorkspaceFileList).toSelf();
|
|
886
|
+
tool = container.get(workspace_functions_1.GetWorkspaceFileList);
|
|
887
|
+
});
|
|
888
|
+
it('lists one level and resolves the directory only once', async () => {
|
|
889
|
+
const result = JSON.parse(await tool.getTool().handler(JSON.stringify({ path: 'workspace/sub' }), undefined));
|
|
890
|
+
(0, chai_1.expect)(result).to.deep.equal({ 'a.ts': 'file', 'dir': 'directory' });
|
|
891
|
+
(0, chai_1.expect)(resolveCount).to.equal(1);
|
|
892
|
+
});
|
|
893
|
+
});
|
|
894
|
+
describe('GetWorkspaceDirectoryStructure preserves empty folders', () => {
|
|
895
|
+
let container;
|
|
896
|
+
let tool;
|
|
897
|
+
const TREE = {
|
|
898
|
+
'file:///workspace': ['file:///workspace/src', 'file:///workspace/empty', 'file:///workspace/node_modules'],
|
|
899
|
+
'file:///workspace/src': ['file:///workspace/src/nested'],
|
|
900
|
+
'file:///workspace/src/nested': [],
|
|
901
|
+
'file:///workspace/empty': [],
|
|
902
|
+
'file:///workspace/node_modules': ['file:///workspace/node_modules/pkg']
|
|
903
|
+
};
|
|
904
|
+
let disableJSDOMInner;
|
|
905
|
+
before(() => { disableJSDOMInner = (0, jsdom_1.enableJSDOM)(); });
|
|
906
|
+
after(() => { disableJSDOMInner(); });
|
|
907
|
+
beforeEach(() => {
|
|
908
|
+
container = new inversify_1.Container();
|
|
909
|
+
const mockWorkspaceService = {
|
|
910
|
+
roots: Promise.resolve([{ resource: new uri_1.URI('file:///workspace') }]),
|
|
911
|
+
tryGetRoots: () => [{ resource: new uri_1.URI('file:///workspace') }],
|
|
912
|
+
onWorkspaceChanged: () => ({ dispose: () => { } })
|
|
913
|
+
};
|
|
914
|
+
const mockFileService = {
|
|
915
|
+
resolve: async (uri) => ({
|
|
916
|
+
isDirectory: true,
|
|
917
|
+
resource: uri,
|
|
918
|
+
children: (TREE[uri.toString()] ?? []).map(child => ({
|
|
919
|
+
isDirectory: true,
|
|
920
|
+
resource: new uri_1.URI(child),
|
|
921
|
+
path: { base: child.split('/').pop() }
|
|
922
|
+
}))
|
|
923
|
+
}),
|
|
924
|
+
read: async () => ({ value: { toString: () => '' } }),
|
|
925
|
+
watch: () => ({ dispose: () => { } }),
|
|
926
|
+
onDidFilesChange: () => ({ dispose: () => { } })
|
|
927
|
+
};
|
|
928
|
+
const mockPreferenceService = {
|
|
929
|
+
get: (path, def) => (path === 'ai-features.workspaceFunctions.userExcludes' ? ['node_modules'] : def)
|
|
930
|
+
};
|
|
931
|
+
container.bind(browser_1.WorkspaceService).toConstantValue(mockWorkspaceService);
|
|
932
|
+
container.bind(file_service_1.FileService).toConstantValue(mockFileService);
|
|
933
|
+
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
934
|
+
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(makeTrustAwareReader());
|
|
935
|
+
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
936
|
+
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
937
|
+
container.bind(workspace_functions_1.GetWorkspaceDirectoryStructure).toSelf();
|
|
938
|
+
tool = container.get(workspace_functions_1.GetWorkspaceDirectoryStructure);
|
|
939
|
+
});
|
|
940
|
+
it('includes empty directories and excludes user-excluded ones', async () => {
|
|
941
|
+
const result = await tool.getTool().handler(JSON.stringify({}), undefined);
|
|
942
|
+
(0, chai_1.expect)(result).to.deep.equal({
|
|
943
|
+
workspace: {
|
|
944
|
+
src: { nested: {} },
|
|
945
|
+
empty: {}
|
|
946
|
+
}
|
|
947
|
+
});
|
|
948
|
+
});
|
|
949
|
+
});
|
|
633
950
|
// ── HEAD: External allowed paths tests ──────────────────────────────────────
|
|
634
951
|
describe('FileContentFunction external paths', () => {
|
|
635
952
|
let container;
|
|
@@ -860,12 +1177,9 @@ describe('FindFilesByPattern with searchRoot', () => {
|
|
|
860
1177
|
let container;
|
|
861
1178
|
let findFilesByPattern;
|
|
862
1179
|
let allowedPaths;
|
|
863
|
-
const
|
|
864
|
-
'file:///workspace':
|
|
865
|
-
'file:///
|
|
866
|
-
'file:///external/configs': { isDirectory: true, children: ['file:///external/configs/myapp.json', 'file:///external/configs/other.txt'] },
|
|
867
|
-
'file:///external/configs/myapp.json': { isDirectory: false },
|
|
868
|
-
'file:///external/configs/other.txt': { isDirectory: false }
|
|
1180
|
+
const FILES_BY_ROOT = {
|
|
1181
|
+
'file:///workspace': ['file:///workspace/a.ts'],
|
|
1182
|
+
'file:///external/configs': ['file:///external/configs/myapp.json', 'file:///external/configs/other.txt']
|
|
869
1183
|
};
|
|
870
1184
|
let disableJSDOMInner;
|
|
871
1185
|
before(() => { disableJSDOMInner = (0, jsdom_1.enableJSDOM)(); });
|
|
@@ -880,24 +1194,8 @@ describe('FindFilesByPattern with searchRoot', () => {
|
|
|
880
1194
|
};
|
|
881
1195
|
const mockFileService = {
|
|
882
1196
|
exists: async () => true,
|
|
883
|
-
resolve: async (uri) => {
|
|
884
|
-
|
|
885
|
-
if (!node) {
|
|
886
|
-
throw new Error('not found');
|
|
887
|
-
}
|
|
888
|
-
return {
|
|
889
|
-
isDirectory: node.isDirectory,
|
|
890
|
-
isFile: !node.isDirectory,
|
|
891
|
-
resource: uri,
|
|
892
|
-
children: node.children?.map(child => ({
|
|
893
|
-
isDirectory: !!FS_TREE[child]?.isDirectory,
|
|
894
|
-
isFile: !FS_TREE[child]?.isDirectory,
|
|
895
|
-
resource: new uri_1.URI(child),
|
|
896
|
-
path: { base: child.split('/').pop() }
|
|
897
|
-
})) ?? []
|
|
898
|
-
};
|
|
899
|
-
},
|
|
900
|
-
read: async () => ({ value: '' })
|
|
1197
|
+
resolve: async (uri) => ({ isDirectory: true, children: [], resource: uri }),
|
|
1198
|
+
read: async () => ({ value: { toString: () => '' } })
|
|
901
1199
|
};
|
|
902
1200
|
const mockPreferenceService = {
|
|
903
1201
|
get: (_path, defaultValue) => defaultValue
|
|
@@ -912,6 +1210,7 @@ describe('FindFilesByPattern with searchRoot', () => {
|
|
|
912
1210
|
container.bind(core_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
913
1211
|
container.bind(trust_aware_preference_reader_1.TrustAwarePreferenceReader).toConstantValue(trustAwareReader);
|
|
914
1212
|
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(makeEnvVariablesServer());
|
|
1213
|
+
container.bind(file_search_service_1.FileSearchService).toConstantValue(makeRipgrepLikeSearchService(FILES_BY_ROOT));
|
|
915
1214
|
container.bind(workspace_functions_1.WorkspaceFunctionScope).toSelf();
|
|
916
1215
|
container.bind(workspace_functions_1.FindFilesByPattern).toSelf();
|
|
917
1216
|
findFilesByPattern = container.get(workspace_functions_1.FindFilesByPattern);
|