@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.
Files changed (35) hide show
  1. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +1 -0
  2. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -1
  3. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +15 -2
  4. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -1
  5. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +3 -0
  6. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
  7. package/lib/browser/ai-configuration/tools-configuration-widget.js +61 -4
  8. package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
  9. package/lib/browser/ide-chat-welcome-message-provider.d.ts +11 -0
  10. package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
  11. package/lib/browser/ide-chat-welcome-message-provider.js +31 -1
  12. package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
  13. package/lib/browser/todo-tool-renderer.d.ts +7 -1
  14. package/lib/browser/todo-tool-renderer.d.ts.map +1 -1
  15. package/lib/browser/todo-tool-renderer.js +25 -1
  16. package/lib/browser/todo-tool-renderer.js.map +1 -1
  17. package/lib/browser/user-interaction-tool-renderer.d.ts +7 -1
  18. package/lib/browser/user-interaction-tool-renderer.d.ts.map +1 -1
  19. package/lib/browser/user-interaction-tool-renderer.js +25 -1
  20. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  21. package/lib/browser/workspace-functions.d.ts +27 -3
  22. package/lib/browser/workspace-functions.d.ts.map +1 -1
  23. package/lib/browser/workspace-functions.js +123 -140
  24. package/lib/browser/workspace-functions.js.map +1 -1
  25. package/lib/browser/workspace-functions.spec.js +323 -24
  26. package/lib/browser/workspace-functions.spec.js.map +1 -1
  27. package/package.json +23 -22
  28. package/src/browser/ai-configuration/ai-configuration-view-contribution.ts +15 -1
  29. package/src/browser/ai-configuration/tools-configuration-widget.tsx +106 -17
  30. package/src/browser/ide-chat-welcome-message-provider.tsx +43 -1
  31. package/src/browser/style/index.css +16 -0
  32. package/src/browser/todo-tool-renderer.tsx +30 -3
  33. package/src/browser/user-interaction-tool-renderer.tsx +30 -3
  34. package/src/browser/workspace-functions.spec.ts +385 -25
  35. 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 FS_TREE = {
864
- 'file:///workspace': { isDirectory: true, children: ['file:///workspace/a.ts'] },
865
- 'file:///workspace/a.ts': { isDirectory: false },
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
- const node = FS_TREE[uri.toString()];
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);