@theia/ai-ide 1.77.0-next.7 → 1.77.0-next.71

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 (190) hide show
  1. package/lib/browser/{project-info-agent.d.ts → agents-md-agent.d.ts} +2 -2
  2. package/lib/browser/agents-md-agent.d.ts.map +1 -0
  3. package/lib/browser/{project-info-agent.js → agents-md-agent.js} +16 -15
  4. package/lib/browser/agents-md-agent.js.map +1 -0
  5. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js +1 -1
  6. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js.map +1 -1
  7. package/lib/browser/ai-configuration/ai-configuration-resource.js +2 -1
  8. package/lib/browser/ai-configuration/ai-configuration-resource.js.map +1 -1
  9. package/lib/browser/ai-configuration/ai-configuration-search-widget.js +1 -1
  10. package/lib/browser/ai-configuration/ai-configuration-search-widget.js.map +1 -1
  11. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts +11 -3
  12. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts.map +1 -1
  13. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +64 -29
  14. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -1
  15. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js +480 -1
  16. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js.map +1 -1
  17. package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts +10 -0
  18. package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts.map +1 -1
  19. package/lib/browser/ai-configuration/categories/agent-detail-model.js +8 -0
  20. package/lib/browser/ai-configuration/categories/agent-detail-model.js.map +1 -1
  21. package/lib/browser/ai-configuration/categories/agent-detail-model.spec.d.ts +2 -0
  22. package/lib/browser/ai-configuration/categories/agent-detail-model.spec.d.ts.map +1 -0
  23. package/lib/browser/ai-configuration/categories/agent-detail-model.spec.js +74 -0
  24. package/lib/browser/ai-configuration/categories/agent-detail-model.spec.js.map +1 -0
  25. package/lib/browser/ai-configuration/categories/agent-detail-view.d.ts.map +1 -1
  26. package/lib/browser/ai-configuration/categories/agent-detail-view.js +3 -2
  27. package/lib/browser/ai-configuration/categories/agent-detail-view.js.map +1 -1
  28. package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts +6 -1
  29. package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts.map +1 -1
  30. package/lib/browser/ai-configuration/categories/agents-configuration-category.js +20 -2
  31. package/lib/browser/ai-configuration/categories/agents-configuration-category.js.map +1 -1
  32. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js +5 -4
  33. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js.map +1 -1
  34. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js +2 -1
  35. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js.map +1 -1
  36. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js +2 -2
  37. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js.map +1 -1
  38. package/lib/browser/ai-configuration/categories/tools-configuration-category.js +1 -1
  39. package/lib/browser/ai-configuration/categories/tools-configuration-category.js.map +1 -1
  40. package/lib/browser/ai-configuration/categories/variables-configuration-category.js +1 -1
  41. package/lib/browser/ai-configuration/categories/variables-configuration-category.js.map +1 -1
  42. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
  43. package/lib/browser/ai-configuration/language-model-renderer.js +8 -15
  44. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  45. package/lib/browser/ai-configuration/language-model-renderer.spec.js +40 -1
  46. package/lib/browser/ai-configuration/language-model-renderer.spec.js.map +1 -1
  47. package/lib/browser/ai-sessions-widget.js +1 -1
  48. package/lib/browser/ai-sessions-widget.js.map +1 -1
  49. package/lib/browser/app-tester-prompt-template.d.ts.map +1 -1
  50. package/lib/browser/app-tester-prompt-template.js +4 -6
  51. package/lib/browser/app-tester-prompt-template.js.map +1 -1
  52. package/lib/browser/architect-prompt-template.d.ts.map +1 -1
  53. package/lib/browser/architect-prompt-template.js +20 -3
  54. package/lib/browser/architect-prompt-template.js.map +1 -1
  55. package/lib/browser/chat-session-item.js +2 -1
  56. package/lib/browser/chat-session-item.js.map +1 -1
  57. package/lib/browser/chat-sessions-welcome-message-provider.js +1 -1
  58. package/lib/browser/chat-sessions-welcome-message-provider.js.map +1 -1
  59. package/lib/browser/code-reviewer-prompt-template.d.ts.map +1 -1
  60. package/lib/browser/code-reviewer-prompt-template.js +2 -1
  61. package/lib/browser/code-reviewer-prompt-template.js.map +1 -1
  62. package/lib/browser/commit-message-agent.spec.js +2 -1
  63. package/lib/browser/commit-message-agent.spec.js.map +1 -1
  64. package/lib/browser/commit-message-runner.spec.js +2 -1
  65. package/lib/browser/commit-message-runner.spec.js.map +1 -1
  66. package/lib/browser/context-file-validation-service-impl.spec.js +2 -1
  67. package/lib/browser/context-file-validation-service-impl.spec.js.map +1 -1
  68. package/lib/browser/explore-prompt-template.d.ts.map +1 -1
  69. package/lib/browser/explore-prompt-template.js +2 -1
  70. package/lib/browser/explore-prompt-template.js.map +1 -1
  71. package/lib/browser/file-changeset-functions.d.ts +3 -1
  72. package/lib/browser/file-changeset-functions.d.ts.map +1 -1
  73. package/lib/browser/file-changeset-functions.js +60 -6
  74. package/lib/browser/file-changeset-functions.js.map +1 -1
  75. package/lib/browser/file-changeset-functions.spec.js +73 -9
  76. package/lib/browser/file-changeset-functions.spec.js.map +1 -1
  77. package/lib/browser/frontend-module.js +4 -4
  78. package/lib/browser/frontend-module.js.map +1 -1
  79. package/lib/browser/git-changes-tool.d.ts +3 -3
  80. package/lib/browser/git-changes-tool.d.ts.map +1 -1
  81. package/lib/browser/git-changes-tool.js +7 -11
  82. package/lib/browser/git-changes-tool.js.map +1 -1
  83. package/lib/browser/git-changes-tool.spec.js +16 -3
  84. package/lib/browser/git-changes-tool.spec.js.map +1 -1
  85. package/lib/browser/multi-root-paths.spec.d.ts +2 -0
  86. package/lib/browser/multi-root-paths.spec.d.ts.map +1 -0
  87. package/lib/browser/multi-root-paths.spec.js +293 -0
  88. package/lib/browser/multi-root-paths.spec.js.map +1 -0
  89. package/lib/browser/remember-command-contribution.d.ts +2 -2
  90. package/lib/browser/remember-command-contribution.js +6 -6
  91. package/lib/browser/remember-command-contribution.js.map +1 -1
  92. package/lib/browser/review/pr-review-prompt-template.d.ts.map +1 -1
  93. package/lib/browser/review/pr-review-prompt-template.js +3 -2
  94. package/lib/browser/review/pr-review-prompt-template.js.map +1 -1
  95. package/lib/browser/task-context-file-storage-service.d.ts.map +1 -1
  96. package/lib/browser/task-context-file-storage-service.js +1 -2
  97. package/lib/browser/task-context-file-storage-service.js.map +1 -1
  98. package/lib/browser/task-context-file-storage-service.spec.d.ts +2 -0
  99. package/lib/browser/task-context-file-storage-service.spec.d.ts.map +1 -0
  100. package/lib/browser/task-context-file-storage-service.spec.js +111 -0
  101. package/lib/browser/task-context-file-storage-service.spec.js.map +1 -0
  102. package/lib/browser/user-interaction-tool-renderer.js +1 -1
  103. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  104. package/lib/browser/user-interaction-tool.d.ts +12 -1
  105. package/lib/browser/user-interaction-tool.d.ts.map +1 -1
  106. package/lib/browser/user-interaction-tool.js +35 -9
  107. package/lib/browser/user-interaction-tool.js.map +1 -1
  108. package/lib/browser/user-interaction-tool.spec.js +15 -2
  109. package/lib/browser/user-interaction-tool.spec.js.map +1 -1
  110. package/lib/browser/workspace-functions.d.ts +20 -17
  111. package/lib/browser/workspace-functions.d.ts.map +1 -1
  112. package/lib/browser/workspace-functions.js +77 -115
  113. package/lib/browser/workspace-functions.js.map +1 -1
  114. package/lib/browser/workspace-functions.spec.js +54 -60
  115. package/lib/browser/workspace-functions.spec.js.map +1 -1
  116. package/lib/browser/workspace-launch-provider.js +1 -1
  117. package/lib/browser/workspace-launch-provider.js.map +1 -1
  118. package/lib/browser/workspace-launch-provider.spec.js +5 -3
  119. package/lib/browser/workspace-launch-provider.spec.js.map +1 -1
  120. package/lib/browser/workspace-search-provider.spec.js +2 -1
  121. package/lib/browser/workspace-search-provider.spec.js.map +1 -1
  122. package/lib/browser/workspace-task-provider.js +1 -1
  123. package/lib/browser/workspace-task-provider.js.map +1 -1
  124. package/lib/browser/workspace-task-provider.spec.js +6 -4
  125. package/lib/browser/workspace-task-provider.spec.js.map +1 -1
  126. package/lib/common/agents-md-prompt-template.d.ts +6 -0
  127. package/lib/common/agents-md-prompt-template.d.ts.map +1 -0
  128. package/lib/common/agents-md-prompt-template.js +165 -0
  129. package/lib/common/agents-md-prompt-template.js.map +1 -0
  130. package/lib/common/coder-replace-prompt-template.d.ts.map +1 -1
  131. package/lib/common/coder-replace-prompt-template.js +4 -6
  132. package/lib/common/coder-replace-prompt-template.js.map +1 -1
  133. package/lib/common/command-prompt-template.js +1 -1
  134. package/lib/common/command-prompt-template.js.map +1 -1
  135. package/lib/common/orchestrator-prompt-template.js +1 -1
  136. package/lib/common/orchestrator-prompt-template.js.map +1 -1
  137. package/lib/common/universal-prompt-template.js +1 -1
  138. package/lib/common/universal-prompt-template.js.map +1 -1
  139. package/lib/common/workspace-preferences.d.ts +1 -0
  140. package/lib/common/workspace-preferences.d.ts.map +1 -1
  141. package/lib/common/workspace-preferences.js +10 -1
  142. package/lib/common/workspace-preferences.js.map +1 -1
  143. package/lib/package.spec.js +1 -0
  144. package/lib/package.spec.js.map +1 -1
  145. package/package.json +27 -28
  146. package/src/browser/{project-info-agent.ts → agents-md-agent.ts} +11 -10
  147. package/src/browser/ai-configuration/categories/agent-capabilities-settings.spec.ts +508 -2
  148. package/src/browser/ai-configuration/categories/agent-capabilities-settings.tsx +92 -33
  149. package/src/browser/ai-configuration/categories/agent-detail-model.spec.ts +78 -0
  150. package/src/browser/ai-configuration/categories/agent-detail-model.ts +18 -0
  151. package/src/browser/ai-configuration/categories/agent-detail-view.tsx +15 -12
  152. package/src/browser/ai-configuration/categories/agents-configuration-category.tsx +18 -3
  153. package/src/browser/ai-configuration/categories/provider-model-discovery-section.tsx +3 -3
  154. package/src/browser/ai-configuration/categories/token-usage-configuration-category.tsx +2 -2
  155. package/src/browser/ai-configuration/language-model-renderer.spec.ts +38 -0
  156. package/src/browser/ai-configuration/language-model-renderer.tsx +6 -15
  157. package/src/browser/app-tester-prompt-template.ts +4 -7
  158. package/src/browser/architect-prompt-template.ts +4 -4
  159. package/src/browser/code-reviewer-prompt-template.ts +2 -2
  160. package/src/browser/context-file-validation-service-impl.spec.ts +2 -1
  161. package/src/browser/explore-prompt-template.ts +2 -2
  162. package/src/browser/file-changeset-functions.spec.ts +91 -9
  163. package/src/browser/file-changeset-functions.ts +62 -7
  164. package/src/browser/frontend-module.ts +4 -4
  165. package/src/browser/git-changes-tool.spec.ts +16 -1
  166. package/src/browser/git-changes-tool.ts +6 -10
  167. package/src/browser/multi-root-paths.spec.ts +340 -0
  168. package/src/browser/remember-command-contribution.ts +7 -7
  169. package/src/browser/review/pr-review-prompt-template.ts +3 -3
  170. package/src/browser/style/index.css +15 -0
  171. package/src/browser/task-context-file-storage-service.spec.ts +125 -0
  172. package/src/browser/task-context-file-storage-service.ts +3 -4
  173. package/src/browser/user-interaction-tool.spec.ts +18 -1
  174. package/src/browser/user-interaction-tool.ts +34 -9
  175. package/src/browser/workspace-functions.spec.ts +54 -60
  176. package/src/browser/workspace-functions.ts +80 -125
  177. package/src/browser/workspace-launch-provider.spec.ts +3 -2
  178. package/src/browser/workspace-task-provider.spec.ts +4 -3
  179. package/src/common/{project-info-prompt-template.ts → agents-md-prompt-template.ts} +54 -46
  180. package/src/common/coder-replace-prompt-template.ts +5 -7
  181. package/src/common/command-prompt-template.ts +1 -1
  182. package/src/common/orchestrator-prompt-template.ts +1 -1
  183. package/src/common/universal-prompt-template.ts +1 -1
  184. package/src/common/workspace-preferences.ts +10 -0
  185. package/lib/browser/project-info-agent.d.ts.map +0 -1
  186. package/lib/browser/project-info-agent.js.map +0 -1
  187. package/lib/common/project-info-prompt-template.d.ts +0 -6
  188. package/lib/common/project-info-prompt-template.d.ts.map +0 -1
  189. package/lib/common/project-info-prompt-template.js +0 -146
  190. package/lib/common/project-info-prompt-template.js.map +0 -1
@@ -30,7 +30,7 @@ const file_search_service_1 = require("@theia/file-search/lib/common/file-search
30
30
  const browser_1 = require("@theia/workspace/lib/browser");
31
31
  const workspace_functions_1 = require("../common/workspace-functions");
32
32
  const toolcall_utils_1 = require("@theia/ai-chat-ui/lib/browser/chat-response-renderer/toolcall-utils");
33
- const ignore_1 = require("ignore");
33
+ const ignore_1 = tslib_1.__importDefault(require("ignore"));
34
34
  const minimatch_1 = require("minimatch");
35
35
  const workspace_preferences_1 = require("../common/workspace-preferences");
36
36
  const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
@@ -47,7 +47,6 @@ let WorkspaceFunctionScope = WorkspaceFunctionScope_1 = class WorkspaceFunctionS
47
47
  // ── Initialization ──────────────────────────────────────────────────
48
48
  init() {
49
49
  this.workspaceService.onWorkspaceChanged(() => {
50
- this._rootMapping = undefined;
51
50
  this._allRootUris = undefined;
52
51
  });
53
52
  }
@@ -62,50 +61,20 @@ let WorkspaceFunctionScope = WorkspaceFunctionScope_1 = class WorkspaceFunctionS
62
61
  return this._allRootUris;
63
62
  }
64
63
  /**
65
- * Returns a mapping of root names to root URIs.
64
+ * Returns a mapping of root names to root URIs, in workspace order.
66
65
  *
67
- * Root names are always the directory basename. When multiple roots share the
68
- * same basename, only the first (by URI sort order) is addressable by name —
69
- * the others are still reachable via the `resolveRelativePath` supra-relative
70
- * check (which examines path segments against all roots).
71
- *
72
- * **Known limitation:** duplicate basenames are not disambiguated with synthetic
73
- * suffixes because agents observe real filesystem paths in terminal output,
74
- * compiler errors, stack traces, etc. Synthetic names like `app-1` would
75
- * conflict with those observations and cause more confusion than they solve.
76
- * A future improvement could let users assign display names to roots.
66
+ * Root names are assigned by {@link WorkspaceService.getRootNames}: the directory basename, or for
67
+ * roots sharing a basename, the shortest tail of the path that tells them apart (e.g. `alice/app`
68
+ * and `bob/app`). Every root thus has a name, and names are always the ending of the real path.
77
69
  */
78
70
  getRootMapping() {
79
- if (this._rootMapping) {
80
- return this._rootMapping;
81
- }
82
- const wsRoots = this.workspaceService.tryGetRoots();
83
- const sortedRoots = [...wsRoots].sort((a, b) => a.resource.toString().localeCompare(b.resource.toString()));
84
- const mapping = new Map();
85
- for (const root of sortedRoots) {
86
- const basename = root.resource.path.base;
87
- if (mapping.has(basename)) {
88
- this.logger.debug(`Multiple workspace roots share the basename '${basename}'. ` +
89
- `Only '${mapping.get(basename).toString()}' is addressable as '${basename}'. ` +
90
- `'${root.resource.toString()}' can still be accessed but may require full paths.`);
91
- continue;
92
- }
93
- mapping.set(basename, root.resource);
94
- }
95
- this._rootMapping = mapping;
96
- return mapping;
71
+ return new Map(this.workspaceService.getRootNames());
97
72
  }
98
73
  /**
99
- * Returns the root name for a given root URI based on the cached mapping.
74
+ * Returns the root name for a given root URI, see {@link WorkspaceService.getRootName}.
100
75
  */
101
76
  getRootName(rootUri) {
102
- const mapping = this.getRootMapping();
103
- for (const [name, uri] of mapping) {
104
- if (uri.toString() === rootUri.toString()) {
105
- return name;
106
- }
107
- }
108
- return undefined;
77
+ return this.workspaceService.getRootName(rootUri);
109
78
  }
110
79
  /**
111
80
  * Returns the workspace root that contains the given URI.
@@ -123,23 +92,11 @@ let WorkspaceFunctionScope = WorkspaceFunctionScope_1 = class WorkspaceFunctionS
123
92
  return matchingRoots[0];
124
93
  }
125
94
  /**
126
- * Converts a URI to a workspace-relative path with root name prefix.
95
+ * Converts a URI to a workspace-relative path with root name prefix, see {@link WorkspaceService.getRootPrefixedPath}.
127
96
  * Format: <rootName>/<relativePath>
128
97
  */
129
98
  toWorkspaceRelativePath(uri) {
130
- const containingRoot = this.getContainingRoot(uri);
131
- if (!containingRoot) {
132
- return undefined;
133
- }
134
- const rootName = this.getRootName(containingRoot);
135
- if (!rootName) {
136
- return undefined;
137
- }
138
- const relativePath = containingRoot.relative(uri);
139
- if (!relativePath || relativePath.toString() === '') {
140
- return rootName; // URI is the root itself
141
- }
142
- return `${rootName}/${relativePath.toString()}`;
99
+ return this.getContainingRoot(uri) ? this.workspaceService.getRootPrefixedPath(uri) : undefined;
143
100
  }
144
101
  // ── Path resolution ─────────────────────────────────────────────────
145
102
  /**
@@ -148,63 +105,43 @@ let WorkspaceFunctionScope = WorkspaceFunctionScope_1 = class WorkspaceFunctionS
148
105
  * format. If the path cannot be resolved deterministically, an error is thrown.
149
106
  *
150
107
  * Resolution order:
151
- * 1. Root+relative: first segment matches a root name → resolve rest relative to that root.
108
+ * 1. Root+relative: the path starts with a root name → resolve the rest relative to that root.
152
109
  * 2. Supra-relative: a root's basename appears as a segment, and any preceding material
153
110
  * matches the preceding path components of the root → resolve the trailing portion.
111
+ * If this matches different files in several roots, the path is ambiguous.
154
112
  * 3. Single-root fallback: if exactly one workspace root, resolve relative to it.
155
113
  * 4. Error: tell the agent how to format the path.
156
114
  */
157
115
  resolveRelativePath(relativePath) {
158
116
  const normalizedPath = new core_1.Path(core_1.Path.normalizePathSeparator(relativePath)).normalize().toString();
159
- const mapping = this.getRootMapping();
160
117
  const roots = this.getAllRootUris();
161
- const segments = normalizedPath.split('/');
162
118
  // Phase 1 — Root+relative check:
163
- if (segments.length > 0) {
164
- const potentialRootName = segments[0];
165
- const rootUri = mapping.get(potentialRootName);
166
- if (rootUri) {
167
- const restOfPath = segments.slice(1).join('/');
168
- return restOfPath ? rootUri.resolve(restOfPath) : rootUri;
169
- }
119
+ const rootRelative = this.workspaceService.resolveRootPrefixedPath(normalizedPath);
120
+ if (rootRelative) {
121
+ return rootRelative;
170
122
  }
171
123
  // Phase 2 — Supra-relative check:
172
- for (const rootUri of roots) {
173
- const rootBasename = rootUri.path.base;
174
- for (let i = 0; i < segments.length; i++) {
175
- if (segments[i] !== rootBasename) {
176
- continue;
177
- }
178
- const rootPathSegments = rootUri.path.toString().split('/').filter(s => s.length > 0);
179
- const rootPrecedingSegments = rootPathSegments.slice(0, rootPathSegments.length - 1);
180
- const pathPrecedingSegments = segments.slice(0, i);
181
- let matches = true;
182
- if (pathPrecedingSegments.length > rootPrecedingSegments.length) {
183
- matches = false;
184
- }
185
- else {
186
- const rootTail = rootPrecedingSegments.slice(rootPrecedingSegments.length - pathPrecedingSegments.length);
187
- for (let j = 0; j < pathPrecedingSegments.length; j++) {
188
- if (pathPrecedingSegments[j] !== rootTail[j]) {
189
- matches = false;
190
- break;
191
- }
192
- }
193
- }
194
- if (matches) {
195
- const restOfPath = segments.slice(i + 1).join('/');
196
- return restOfPath ? rootUri.resolve(restOfPath) : rootUri;
197
- }
198
- }
124
+ const candidates = this.workspaceService.resolveSupraRelativePath(normalizedPath);
125
+ if (candidates.length === 1) {
126
+ return candidates[0];
127
+ }
128
+ if (candidates.length > 1) {
129
+ throw new Error(`Path '${relativePath}' is ambiguous in this multi-root workspace. ` +
130
+ `Prefix it with one of the workspace root names: ${this.describeRoots()}`);
199
131
  }
200
132
  // Phase 3 — Single-root fallback:
201
133
  if (roots.length === 1) {
202
134
  return roots[0].resolve(normalizedPath);
203
135
  }
204
136
  // Phase 4 — Error:
205
- const rootNames = Array.from(mapping.keys());
206
137
  throw new Error(`Could not resolve path '${relativePath}'. In a multi-root workspace, prefix paths with the workspace root name ` +
207
- `(e.g., 'rootName/path/to/file'). Available roots: ${rootNames.join(', ')}`);
138
+ `(e.g., 'rootName/path/to/file'). Available roots: ${this.describeRoots()}`);
139
+ }
140
+ /**
141
+ * Lists the workspace root names with their locations, for error messages.
142
+ */
143
+ describeRoots() {
144
+ return Array.from(this.getRootMapping(), ([name, uri]) => `${name} (${uri.path.fsPath()})`).join(', ');
208
145
  }
209
146
  async resolveToUri(pathOrUri) {
210
147
  if (pathOrUri instanceof core_1.URI) {
@@ -584,7 +521,8 @@ let GetWorkspaceDirectoryStructure = class GetWorkspaceDirectoryStructure {
584
521
  properties: {
585
522
  root: {
586
523
  type: 'string',
587
- description: 'Optional absolute path or `file://` URI to inspect instead of the workspace. ' +
524
+ description: 'Optional directory to inspect instead of the whole workspace: a workspace-relative path (\'rootName/path\'), ' +
525
+ 'an absolute path or a `file://` URI. ' +
588
526
  'Must point to a directory the tools may access, such as one listed in the `allowedExternalPaths` preference. ' +
589
527
  'When omitted, all workspace roots are returned.'
590
528
  }
@@ -1223,23 +1161,27 @@ let FindFilesByPattern = class FindFilesByPattern {
1223
1161
  properties: {
1224
1162
  pattern: {
1225
1163
  type: 'string',
1226
- description: 'Glob pattern to match files against. ' +
1164
+ description: 'Glob pattern to match files against, relative to each workspace root. ' +
1165
+ 'Start it with a root name, as in the returned paths, to match it relative to that root as well. ' +
1227
1166
  'Examples: \'**/*.ts\' (all TypeScript files), \'src/**/*.js\' (JS files in src), ' +
1167
+ '\'my-project/src/**/*.js\' (JS files in src of the my-project root, or in my-project/src of any root), ' +
1228
1168
  '\'**/*.{js,ts}\' (JS or TS files), \'**/test/**/*.spec.ts\' (test files).'
1229
1169
  },
1230
1170
  exclude: {
1231
1171
  type: 'array',
1232
1172
  items: { type: 'string' },
1233
- description: 'Optional glob patterns to exclude. ' +
1173
+ description: 'Optional glob patterns to exclude, relative to each workspace root or starting with a root name. ' +
1234
1174
  'Examples: [\'**/*.spec.ts\', \'**/node_modules/**\']. ' +
1235
1175
  'Common exclusions (node_modules, .git) are applied automatically via gitignore.'
1236
1176
  },
1237
1177
  searchRoot: {
1238
1178
  type: 'string',
1239
- description: 'Optional absolute path or `file://` URI to search instead of the workspace. ' +
1179
+ description: 'Optional directory to search instead of the whole workspace: a workspace-relative path ' +
1180
+ '(\'rootName/path\'), an absolute path or a `file://` URI. ' +
1240
1181
  'Must point to a directory the tools may access, such as one listed in the `allowedExternalPaths` preference. ' +
1241
- 'When set, results are returned as absolute paths so they can be passed back to getFileContent. ' +
1242
- 'When omitted (default), all workspace roots are searched and results are workspace-relative.'
1182
+ 'Results in the workspace are workspace-relative, results outside of it are absolute paths, ' +
1183
+ 'so they can be passed back to getFileContent. ' +
1184
+ 'When omitted (default), all workspace roots are searched.'
1243
1185
  }
1244
1186
  },
1245
1187
  required: ['pattern']
@@ -1275,12 +1217,11 @@ let FindFilesByPattern = class FindFilesByPattern {
1275
1217
  const maxResults = 200;
1276
1218
  const useGitIgnore = this.preferences.get(workspace_preferences_1.CONSIDER_GITIGNORE_PREF, true);
1277
1219
  const userExcludes = this.preferences.get(workspace_preferences_1.USER_EXCLUDE_PATTERN_PREF, []);
1278
- const excludes = [...userExcludes, ...(excludePatterns ?? [])];
1279
1220
  // Resolve the set of roots to search and how each root's results should be rendered.
1280
1221
  const targets = [];
1281
1222
  if (searchRoot) {
1282
1223
  const resolved = await this.workspaceScope.resolveAccessiblePath(searchRoot);
1283
- targets.push({ rootUri: resolved, external: !this.workspaceScope.isInWorkspace(resolved) });
1224
+ targets.push({ rootUri: resolved, external: !this.workspaceScope.isInWorkspace(resolved), patterns: [pattern] });
1284
1225
  }
1285
1226
  else {
1286
1227
  const rootMapping = this.workspaceScope.getRootMapping();
@@ -1288,40 +1229,46 @@ let FindFilesByPattern = class FindFilesByPattern {
1288
1229
  return JSON.stringify({ error: 'No workspace has been opened yet' });
1289
1230
  }
1290
1231
  for (const [rootName, rootUri] of rootMapping) {
1291
- targets.push({ rootUri, rootName, external: false });
1232
+ targets.push({ rootUri, rootName, external: false, patterns: this.globsForRoot([pattern], rootUri) });
1292
1233
  }
1293
1234
  }
1294
1235
  // Delegate the actual traversal to the backend ripgrep-based file search.
1295
1236
  // It runs natively on the backend filesystem (no per-directory RPC) and applies
1296
1237
  // include/exclude globs.
1297
- const files = [];
1238
+ // A file in a nested root is found in the outer root as well, if the glob matches it relative to either.
1239
+ const found = new Map();
1298
1240
  for (const target of targets) {
1299
1241
  if (cancellationToken?.isCancellationRequested) {
1300
1242
  return JSON.stringify({ error: 'Operation cancelled by user' });
1301
1243
  }
1302
- if (files.length > maxResults) {
1244
+ if (found.size > maxResults) {
1303
1245
  break;
1304
1246
  }
1247
+ const excludes = [...userExcludes, ...this.globsForRoot(excludePatterns ?? [], target.rootUri)];
1305
1248
  // `considerGitIgnore` is scoped to workspace roots (see its preference description),
1306
1249
  // so external allow-listed roots are searched with user/caller excludes only (plus
1307
1250
  // `.git`). Applying gitignore there would also leak the user's *global* gitignore
1308
1251
  // into an explicitly allow-listed directory and silently hide files.
1309
- // Request one extra result across all roots so we can detect truncation.
1252
+ // Request one extra result across all roots so we can detect truncation, besides the files
1253
+ // of this root that were found in a nested or outer root already.
1254
+ const foundInRoot = Array.from(found.values()).filter(file => target.rootUri.isEqualOrParent(file.uri)).length;
1310
1255
  const matches = await this.fileSearchService.find('', {
1311
1256
  rootUris: [target.rootUri.toString()],
1312
- includePatterns: [pattern],
1257
+ includePatterns: target.patterns,
1313
1258
  excludePatterns: target.external ? [...excludes, '.git'] : excludes,
1314
1259
  useGitIgnore: target.external ? false : useGitIgnore,
1315
1260
  fuzzyMatch: false,
1316
- limit: maxResults - files.length + 1
1261
+ limit: maxResults - found.size + 1 + foundInRoot
1317
1262
  }, cancellationToken);
1318
1263
  for (const match of matches) {
1319
- const display = this.toDisplayPath(new core_1.URI(match), target);
1264
+ const matchUri = new core_1.URI(match);
1265
+ const display = this.toDisplayPath(matchUri, target);
1320
1266
  if (display !== undefined) {
1321
- files.push(display);
1267
+ found.set(matchUri.toString(), { uri: matchUri, display });
1322
1268
  }
1323
1269
  }
1324
1270
  }
1271
+ const files = Array.from(found.values(), file => file.display);
1325
1272
  if (cancellationToken?.isCancellationRequested) {
1326
1273
  return JSON.stringify({ error: 'Operation cancelled by user' });
1327
1274
  }
@@ -1337,20 +1284,31 @@ let FindFilesByPattern = class FindFilesByPattern {
1337
1284
  return JSON.stringify({ error: `Failed to find files: ${error.message}` });
1338
1285
  }
1339
1286
  }
1287
+ /**
1288
+ * Returns the caller's globs to match relative to the given root. A glob is relative to every root,
1289
+ * and if it starts with the name of this root, e.g. `backend/src/**\/*.ts` as in the paths this tool
1290
+ * returns, its rest is relative to this root as well, as the caller may mean either.
1291
+ */
1292
+ globsForRoot(globs, rootUri) {
1293
+ const result = [];
1294
+ for (const glob of globs) {
1295
+ result.push(glob);
1296
+ const rootPrefixed = this.workspaceService.splitRootPrefixedPath(glob);
1297
+ if (rootPrefixed?.rest && rootPrefixed.rootUri.isEqual(rootUri)) {
1298
+ result.push(rootPrefixed.rest);
1299
+ }
1300
+ }
1301
+ return result;
1302
+ }
1340
1303
  /**
1341
1304
  * Renders a search-result URI in the format expected by the caller: an absolute
1342
- * path for external roots, or a `<rootName>/<relativePath>` (or bare relative
1343
- * path when no root name is available) for workspace roots.
1305
+ * path for external roots, or a `<rootName>/<relativePath>` for workspace roots.
1344
1306
  */
1345
1307
  toDisplayPath(match, target) {
1346
1308
  if (target.external) {
1347
1309
  return match.path.fsPath();
1348
1310
  }
1349
- const relativePath = target.rootUri.relative(match)?.toString();
1350
- if (relativePath === undefined) {
1351
- return undefined;
1352
- }
1353
- return target.rootName ? `${target.rootName}/${relativePath}` : relativePath;
1311
+ return this.workspaceScope.toWorkspaceRelativePath(match) ?? match.path.fsPath();
1354
1312
  }
1355
1313
  };
1356
1314
  exports.FindFilesByPattern = FindFilesByPattern;
@@ -1366,6 +1324,10 @@ tslib_1.__decorate([
1366
1324
  (0, inversify_1.inject)(file_search_service_1.FileSearchService),
1367
1325
  tslib_1.__metadata("design:type", Object)
1368
1326
  ], FindFilesByPattern.prototype, "fileSearchService", void 0);
1327
+ tslib_1.__decorate([
1328
+ (0, inversify_1.inject)(browser_1.WorkspaceService),
1329
+ tslib_1.__metadata("design:type", browser_1.WorkspaceService)
1330
+ ], FindFilesByPattern.prototype, "workspaceService", void 0);
1369
1331
  exports.FindFilesByPattern = FindFilesByPattern = FindFilesByPattern_1 = tslib_1.__decorate([
1370
1332
  (0, inversify_1.injectable)()
1371
1333
  ], FindFilesByPattern);
@@ -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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"}