@theia/ai-ide 1.63.0-next.24 → 1.63.0-next.52

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 (69) hide show
  1. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +0 -1
  2. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -1
  3. package/lib/browser/ai-configuration/ai-configuration-widget.js +0 -1
  4. package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -1
  5. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +0 -1
  6. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +1 -1
  7. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +0 -1
  8. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +1 -1
  9. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +0 -1
  10. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
  11. package/lib/browser/ai-configuration/tools-configuration-widget.js +6 -21
  12. package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
  13. package/lib/browser/architect-agent.d.ts.map +1 -1
  14. package/lib/browser/architect-agent.js +4 -1
  15. package/lib/browser/architect-agent.js.map +1 -1
  16. package/lib/browser/frontend-module.d.ts +1 -0
  17. package/lib/browser/frontend-module.d.ts.map +1 -1
  18. package/lib/browser/frontend-module.js +1 -0
  19. package/lib/browser/frontend-module.js.map +1 -1
  20. package/lib/browser/summarize-session-command-contribution.d.ts +6 -1
  21. package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -1
  22. package/lib/browser/summarize-session-command-contribution.js +53 -4
  23. package/lib/browser/summarize-session-command-contribution.js.map +1 -1
  24. package/lib/browser/task-context-file-storage-service.d.ts +4 -2
  25. package/lib/browser/task-context-file-storage-service.d.ts.map +1 -1
  26. package/lib/browser/task-context-file-storage-service.js +19 -9
  27. package/lib/browser/task-context-file-storage-service.js.map +1 -1
  28. package/lib/browser/workspace-preferences.d.ts +1 -0
  29. package/lib/browser/workspace-preferences.d.ts.map +1 -1
  30. package/lib/browser/workspace-preferences.js +9 -1
  31. package/lib/browser/workspace-preferences.js.map +1 -1
  32. package/lib/browser/workspace-search-provider.d.ts +5 -1
  33. package/lib/browser/workspace-search-provider.d.ts.map +1 -1
  34. package/lib/browser/workspace-search-provider.js +57 -17
  35. package/lib/browser/workspace-search-provider.js.map +1 -1
  36. package/lib/browser/workspace-search-provider.spec.d.ts +2 -0
  37. package/lib/browser/workspace-search-provider.spec.d.ts.map +1 -0
  38. package/lib/browser/workspace-search-provider.spec.js +227 -0
  39. package/lib/browser/workspace-search-provider.spec.js.map +1 -0
  40. package/lib/common/architect-prompt-template.d.ts +1 -0
  41. package/lib/common/architect-prompt-template.d.ts.map +1 -1
  42. package/lib/common/architect-prompt-template.js +166 -5
  43. package/lib/common/architect-prompt-template.js.map +1 -1
  44. package/lib/common/coder-replace-prompt-template.js +2 -2
  45. package/lib/common/coder-replace-prompt-template.js.map +1 -1
  46. package/lib/common/summarize-session-commands.d.ts +1 -0
  47. package/lib/common/summarize-session-commands.d.ts.map +1 -1
  48. package/lib/common/summarize-session-commands.js +5 -1
  49. package/lib/common/summarize-session-commands.js.map +1 -1
  50. package/lib/common/workspace-search-provider-util.d.ts +17 -0
  51. package/lib/common/workspace-search-provider-util.d.ts.map +1 -0
  52. package/lib/common/workspace-search-provider-util.js +51 -0
  53. package/lib/common/workspace-search-provider-util.js.map +1 -0
  54. package/package.json +19 -18
  55. package/src/browser/ai-configuration/ai-configuration-widget.tsx +0 -1
  56. package/src/browser/ai-configuration/prompt-fragments-configuration-widget.tsx +0 -1
  57. package/src/browser/ai-configuration/tools-configuration-widget.tsx +8 -23
  58. package/src/browser/architect-agent.ts +5 -2
  59. package/src/browser/frontend-module.ts +2 -0
  60. package/src/browser/style/index.css +23 -28
  61. package/src/browser/summarize-session-command-contribution.ts +58 -6
  62. package/src/browser/task-context-file-storage-service.ts +20 -10
  63. package/src/browser/workspace-preferences.ts +9 -0
  64. package/src/browser/workspace-search-provider.spec.ts +255 -0
  65. package/src/browser/workspace-search-provider.ts +62 -16
  66. package/src/common/architect-prompt-template.ts +165 -5
  67. package/src/common/coder-replace-prompt-template.ts +2 -2
  68. package/src/common/summarize-session-commands.ts +5 -0
  69. package/src/common/workspace-search-provider-util.ts +50 -0
@@ -31,8 +31,12 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
31
31
  this.onDidChangeEmitter = new core_1.Emitter();
32
32
  this.onDidChange = this.onDidChangeEmitter.event;
33
33
  }
34
- getStorageLocation() {
34
+ sanitizeLabel(label) {
35
+ return label.replace(/^[^\p{L}\p{N}]+/vg, '');
36
+ }
37
+ async getStorageLocation() {
35
38
  var _a;
39
+ await this.workspaceService.ready;
36
40
  if (!this.workspaceService.opened) {
37
41
  return;
38
42
  }
@@ -45,10 +49,10 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
45
49
  return asPath.isAbsolute ? new core_1.URI(configuredPath) : (_a = this.workspaceService.tryGetRoots().at(0)) === null || _a === void 0 ? void 0 : _a.resource.resolve(configuredPath);
46
50
  }
47
51
  init() {
48
- this.watchStorage();
52
+ this.watchStorage().catch(error => this.logger.error(error));
49
53
  this.preferenceService.onPreferenceChanged(e => {
50
54
  if (e.affects(workspace_preferences_1.TASK_CONTEXT_STORAGE_DIRECTORY_PREF)) {
51
- this.watchStorage();
55
+ this.watchStorage().catch(error => this.logger.error(error));
52
56
  }
53
57
  });
54
58
  }
@@ -56,7 +60,7 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
56
60
  var _a;
57
61
  (_a = this.toDisposeOnStorageChange) === null || _a === void 0 ? void 0 : _a.dispose();
58
62
  this.toDisposeOnStorageChange = undefined;
59
- const newStorage = this.getStorageLocation();
63
+ const newStorage = await this.getStorageLocation();
60
64
  if (!newStorage) {
61
65
  return;
62
66
  }
@@ -107,10 +111,11 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
107
111
  return;
108
112
  }
109
113
  const { frontmatter, body } = this.maybeReadFrontmatter(content);
114
+ const rawLabel = (frontmatter === null || frontmatter === void 0 ? void 0 : frontmatter.label) || uri.path.base.slice(0, (-1 * uri.path.ext.length) || uri.path.base.length);
110
115
  const summary = {
111
116
  ...frontmatter,
112
117
  summary: body,
113
- label: (frontmatter === null || frontmatter === void 0 ? void 0 : frontmatter.label) || uri.path.base.slice(0, (-1 * uri.path.ext.length) || uri.path.base.length),
118
+ label: this.sanitizeLabel(rawLabel),
114
119
  uri,
115
120
  id: (frontmatter === null || frontmatter === void 0 ? void 0 : frontmatter.sessionId) || uri.path.base
116
121
  };
@@ -121,21 +126,22 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
121
126
  this.inMemoryStorage.store(summary);
122
127
  }
123
128
  async store(summary) {
124
- const storageLocation = this.getStorageLocation();
129
+ const label = this.sanitizeLabel(summary.label);
130
+ const storageLocation = await this.getStorageLocation();
125
131
  if (storageLocation) {
126
132
  const frontmatter = {
127
133
  sessionId: summary.sessionId,
128
134
  date: new Date().toISOString(),
129
- label: summary.label,
135
+ label,
130
136
  };
131
- const derivedName = summary.label.trim().replace(/[^\p{L}\p{N}]/vg, '-').replace(/^-+|-+$/g, '');
137
+ const derivedName = label.trim().replace(/[^\p{L}\p{N}]/vg, '-').replace(/^-+|-+$/g, '');
132
138
  const filename = (derivedName.length > 32 ? derivedName.slice(0, derivedName.indexOf('-', 32)) : derivedName) + '.md';
133
139
  const content = yaml.dump(frontmatter).trim() + `${core_1.EOL}---${core_1.EOL}` + summary.summary;
134
140
  const uri = storageLocation.resolve(filename);
135
141
  summary.uri = uri;
136
142
  await this.fileService.writeFile(uri, buffer_1.BinaryBuffer.fromString(content));
137
143
  }
138
- this.inMemoryStorage.store(summary);
144
+ this.inMemoryStorage.store({ ...summary, label });
139
145
  this.onDidChangeEmitter.fire();
140
146
  }
141
147
  getAll() {
@@ -200,6 +206,10 @@ tslib_1.__decorate([
200
206
  (0, inversify_1.inject)(browser_1.OpenerService),
201
207
  tslib_1.__metadata("design:type", Object)
202
208
  ], TaskContextFileStorageService.prototype, "openerService", void 0);
209
+ tslib_1.__decorate([
210
+ (0, inversify_1.inject)(core_1.ILogger),
211
+ tslib_1.__metadata("design:type", Object)
212
+ ], TaskContextFileStorageService.prototype, "logger", void 0);
203
213
  tslib_1.__decorate([
204
214
  (0, inversify_1.postConstruct)(),
205
215
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"task-context-file-storage-service.js","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-context-file-storage-service.js","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,0GAAqG;AACrG,4DAAiF;AACjF,sCAAkG;AAClG,qDAAiF;AACjF,6EAAyE;AACzE,0DAAgE;AAChE,gCAAgC;AAEhC,mEAA8E;AAC9E,0DAA6D;AAGtD,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAAnC;QAOgB,uBAAkB,GAAG,IAAI,cAAO,EAAQ,CAAC;QACnD,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAiKzD,CAAC;IA/Ja,aAAa,CAAC,KAAa;QACjC,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAES,KAAK,CAAC,kBAAkB;;QAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,2DAAmC,CAAC,CAAC;QACnF,MAAM,cAAc,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,SAAS,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QACtG,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrI,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,CAAC,OAAO,CAAC,2DAAmC,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGS,KAAK,CAAC,YAAY;;QACxB,MAAA,IAAI,CAAC,wBAAwB,0CAAE,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5B,IAAI,CAAC,wBAAwB,GAAG,IAAI,2BAAoB,CACpD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EACrE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACtC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CACjD,CAAC;QACF,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,OAAqB;QAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACnC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,mCAA2B,CAAC,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9E,kCAA0B;gBAC1B;oBACI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC,OAAO,IAAA,kBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAES,mBAAmB,CAAC,GAAQ;;QAClC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,MAAA,OAAO,CAAC,GAAG,0CAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,eAAoB;;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,CAAA,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,GAAQ;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,KAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG;YACZ,GAAG,WAAW;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YACnC,GAAG;YACH,EAAE,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,KAAI,GAAG,CAAC,IAAI,CAAC,IAAI;SAC9C,CAAC;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACxH,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC9B,KAAK;aACR,CAAC;YACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;YACtH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,UAAG,MAAM,UAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YACpF,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,qBAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,UAAkB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC;IACrB,CAAC;IAES,oBAAoB,CAAC,OAAe;QAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3E,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IAES,QAAQ,CAAC,SAAkB;QACjC,OAAO,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;IACpJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACxG,CAAC;CACJ,CAAA;AAzKY,sEAA6B;AACiB;IAAtD,IAAA,kBAAM,EAAC,yDAA0B,CAAC;sCAAqC,yDAA0B;sEAAC;AACrD;IAA7C,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;wEAAyD;AACtC;IAA5C,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCAAsC,0BAAgB;uEAAC;AACxC;IAAvC,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCAAiC,0BAAW;kEAAC;AACvB;IAAzC,IAAA,kBAAM,EAAC,uBAAa,CAAC;;oEAAiD;AACnC;IAAnC,IAAA,kBAAM,EAAC,cAAO,CAAC;;6DAAoC;AAmB1C;IADT,IAAA,yBAAa,GAAE;;;;yDAQf;wCAhCQ,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAyKzC"}
@@ -1,6 +1,7 @@
1
1
  import { PreferenceSchema } from '@theia/core/lib/browser/preferences/preference-contribution';
2
2
  export declare const CONSIDER_GITIGNORE_PREF = "ai-features.workspaceFunctions.considerGitIgnore";
3
3
  export declare const USER_EXCLUDE_PATTERN_PREF = "ai-features.workspaceFunctions.userExcludes";
4
+ export declare const SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF = "ai-features.workspaceFunctions.searchMaxResults";
4
5
  export declare const PROMPT_TEMPLATE_WORKSPACE_DIRECTORIES_PREF = "ai-features.promptTemplates.WorkspaceTemplateDirectories";
5
6
  export declare const PROMPT_TEMPLATE_ADDITIONAL_EXTENSIONS_PREF = "ai-features.promptTemplates.TemplateExtensions";
6
7
  export declare const PROMPT_TEMPLATE_WORKSPACE_FILES_PREF = "ai-features.promptTemplates.WorkspaceTemplateFiles";
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,eAAO,MAAM,uBAAuB,qDAAqD,CAAC;AAC1F,eAAO,MAAM,yBAAyB,gDAAgD,CAAC;AACvF,eAAO,MAAM,0CAA0C,6DAA6D,CAAC;AACrH,eAAO,MAAM,0CAA0C,mDAAmD,CAAC;AAC3G,eAAO,MAAM,oCAAoC,uDAAuD,CAAC;AACzG,eAAO,MAAM,mCAAmC,4DAA4D,CAAC;AAK7G,eAAO,MAAM,0BAA0B,EAAE,gBA2DxC,CAAC"}
1
+ {"version":3,"file":"workspace-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,eAAO,MAAM,uBAAuB,qDAAqD,CAAC;AAC1F,eAAO,MAAM,yBAAyB,gDAAgD,CAAC;AACvF,eAAO,MAAM,oCAAoC,oDAAoD,CAAC;AACtG,eAAO,MAAM,0CAA0C,6DAA6D,CAAC;AACrH,eAAO,MAAM,0CAA0C,mDAAmD,CAAC;AAC3G,eAAO,MAAM,oCAAoC,uDAAuD,CAAC;AACzG,eAAO,MAAM,mCAAmC,4DAA4D,CAAC;AAK7G,eAAO,MAAM,0BAA0B,EAAE,gBAmExC,CAAC"}
@@ -15,10 +15,11 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WorkspacePreferencesSchema = exports.TASK_CONTEXT_STORAGE_DIRECTORY_PREF = exports.PROMPT_TEMPLATE_WORKSPACE_FILES_PREF = exports.PROMPT_TEMPLATE_ADDITIONAL_EXTENSIONS_PREF = exports.PROMPT_TEMPLATE_WORKSPACE_DIRECTORIES_PREF = exports.USER_EXCLUDE_PATTERN_PREF = exports.CONSIDER_GITIGNORE_PREF = void 0;
18
+ exports.WorkspacePreferencesSchema = exports.TASK_CONTEXT_STORAGE_DIRECTORY_PREF = exports.PROMPT_TEMPLATE_WORKSPACE_FILES_PREF = exports.PROMPT_TEMPLATE_ADDITIONAL_EXTENSIONS_PREF = exports.PROMPT_TEMPLATE_WORKSPACE_DIRECTORIES_PREF = exports.SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF = exports.USER_EXCLUDE_PATTERN_PREF = exports.CONSIDER_GITIGNORE_PREF = void 0;
19
19
  const core_1 = require("@theia/core");
20
20
  exports.CONSIDER_GITIGNORE_PREF = 'ai-features.workspaceFunctions.considerGitIgnore';
21
21
  exports.USER_EXCLUDE_PATTERN_PREF = 'ai-features.workspaceFunctions.userExcludes';
22
+ exports.SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF = 'ai-features.workspaceFunctions.searchMaxResults';
22
23
  exports.PROMPT_TEMPLATE_WORKSPACE_DIRECTORIES_PREF = 'ai-features.promptTemplates.WorkspaceTemplateDirectories';
23
24
  exports.PROMPT_TEMPLATE_ADDITIONAL_EXTENSIONS_PREF = 'ai-features.promptTemplates.TemplateExtensions';
24
25
  exports.PROMPT_TEMPLATE_WORKSPACE_FILES_PREF = 'ai-features.promptTemplates.WorkspaceTemplateFiles';
@@ -43,6 +44,13 @@ exports.WorkspacePreferencesSchema = {
43
44
  type: 'string'
44
45
  }
45
46
  },
47
+ [exports.SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF]: {
48
+ type: 'number',
49
+ title: core_1.nls.localize('theia/ai/workspace/searchMaxResults/title', 'Maximum Search Results'),
50
+ description: core_1.nls.localize('theia/ai/workspace/searchMaxResults/description', 'Maximum number of search results returned by the workspace search function.'),
51
+ default: 30,
52
+ minimum: 1
53
+ },
46
54
  [exports.PROMPT_TEMPLATE_WORKSPACE_DIRECTORIES_PREF]: {
47
55
  type: 'array',
48
56
  title: core_1.nls.localize('theia/ai/promptTemplates/directories/title', 'Workspace-specific Prompt Template Directories'),
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-preferences.js","sourceRoot":"","sources":["../../src/browser/workspace-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAkC;AAGrB,QAAA,uBAAuB,GAAG,kDAAkD,CAAC;AAC7E,QAAA,yBAAyB,GAAG,6CAA6C,CAAC;AAC1E,QAAA,0CAA0C,GAAG,0DAA0D,CAAC;AACxG,QAAA,0CAA0C,GAAG,gDAAgD,CAAC;AAC9F,QAAA,oCAAoC,GAAG,oDAAoD,CAAC;AAC5F,QAAA,mCAAmC,GAAG,yDAAyD,CAAC;AAE7G,MAAM,+BAA+B,GAAG;iEACyB,CAAC;AAErD,QAAA,0BAA0B,GAAqB;IACxD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,CAAC,+BAAuB,CAAC,EAAE;YACvB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,qBAAqB,CAAC;YACxF,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EACxE,qHAAqH,CAAC;YAC1H,OAAO,EAAE,KAAK;SACjB;QACD,CAAC,iCAAyB,CAAC,EAAE;YACzB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,wBAAwB,CAAC;YACzF,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,gEAAgE,CAAC;YAC7I,OAAO,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC;YACtC,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,kDAA0C,CAAC,EAAE;YAC1C,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,gDAAgD,CAAC;YACnH,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EACxE,4HAA4H;gBAC5H,+BAA+B,CAAC;YACpC,OAAO,EAAE,CAAC,UAAU,CAAC;YACrB,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,kDAA0C,CAAC,EAAE;YAC1C,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,2CAA2C,EAAE,4CAA4C,CAAC;YAC9G,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EACvE,wJAAwJ,CAAC;YAC7J,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,4CAAoC,CAAC,EAAE;YACpC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,0CAA0C,CAAC;YACvG,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAClE,oGAAoG;gBACpG,+BAA+B,CAAC;YACpC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,2CAAmC,CAAC,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,uDAAuD,EAC7E,qGAAqG;gBACrG,+FAA+F,CAClG;YACD,OAAO,EAAE,wBAAwB;SACpC;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"workspace-preferences.js","sourceRoot":"","sources":["../../src/browser/workspace-preferences.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { ToolProvider, ToolRequest } from '@theia/ai-core';
2
+ import { PreferenceService } from '@theia/core/lib/browser/preferences/preference-service';
3
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
2
4
  import { SearchInWorkspaceService } from '@theia/search-in-workspace/lib/browser/search-in-workspace-service';
3
5
  import { WorkspaceFunctionScope } from './workspace-functions';
4
6
  export declare class WorkspaceSearchProvider implements ToolProvider {
5
7
  protected readonly searchService: SearchInWorkspaceService;
6
8
  protected readonly workspaceScope: WorkspaceFunctionScope;
7
- private readonly MAX_RESULTS;
9
+ protected readonly preferenceService: PreferenceService;
10
+ protected readonly fileService: FileService;
8
11
  getTool(): ToolRequest;
12
+ private determineSearchRoots;
9
13
  private handleSearch;
10
14
  }
11
15
  //# sourceMappingURL=workspace-search-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-search-provider.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,wBAAwB,EAA8B,MAAM,oEAAoE,CAAC;AAG1I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBACa,uBAAwB,YAAW,YAAY;IAGxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAE1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAElC,OAAO,IAAI,WAAW;YAmCR,YAAY;CA2F7B"}
1
+ {"version":3,"file":"workspace-search-provider.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAE3F,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,oEAAoE,CAAC;AAG1I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,qBACa,uBAAwB,YAAW,YAAY;IAGxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,OAAO,IAAI,WAAW;YAwCR,oBAAoB;YAsBpB,YAAY;CAqG7B"}
@@ -17,15 +17,15 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.WorkspaceSearchProvider = void 0;
19
19
  const tslib_1 = require("tslib");
20
- const core_1 = require("@theia/core");
20
+ const preference_service_1 = require("@theia/core/lib/browser/preferences/preference-service");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
22
23
  const search_in_workspace_service_1 = require("@theia/search-in-workspace/lib/browser/search-in-workspace-service");
23
24
  const workspace_functions_1 = require("../common/workspace-functions");
24
25
  const workspace_functions_2 = require("./workspace-functions");
26
+ const workspace_preferences_1 = require("./workspace-preferences");
27
+ const workspace_search_provider_util_1 = require("../common/workspace-search-provider-util");
25
28
  let WorkspaceSearchProvider = class WorkspaceSearchProvider {
26
- constructor() {
27
- this.MAX_RESULTS = 50;
28
- }
29
29
  getTool() {
30
30
  return {
31
31
  id: workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID,
@@ -34,7 +34,7 @@ let WorkspaceSearchProvider = class WorkspaceSearchProvider {
34
34
  The search uses case-insensitive string matching or regular expressions (controlled by the `useRegExp` parameter). \
35
35
  It returns a list of matching files, including the file path (URI), the line number, and the full text content of each matching line. \
36
36
  Multi-word patterns must match exactly (including spaces, case-insensitively). \
37
- For best results, use specific search terms and consider filtering by file extensions to avoid overwhelming results. \
37
+ For best results, use specific search terms and consider filtering by file extensions or limiting to specific subdirectories to avoid overwhelming results. \
38
38
  For complex searches, prefer multiple simpler queries over one complex query or regular expression.',
39
39
  parameters: {
40
40
  type: 'object',
@@ -53,6 +53,11 @@ let WorkspaceSearchProvider = class WorkspaceSearchProvider {
53
53
  type: 'string'
54
54
  },
55
55
  description: 'Optional array of file extensions to search in (e.g., ["ts", "js", "py"]). If not specified, searches all files.'
56
+ },
57
+ subDirectoryPath: {
58
+ type: 'string',
59
+ description: 'Optional subdirectory path to limit search scope. Use relative paths from workspace root ' +
60
+ '(e.g., "packages/ai-ide/src", "packages/core/src/browser"). If not specified, searches entire workspace.'
56
61
  }
57
62
  },
58
63
  required: ['query', 'useRegExp']
@@ -60,13 +65,31 @@ let WorkspaceSearchProvider = class WorkspaceSearchProvider {
60
65
  handler: (argString, ctx) => { var _a; return this.handleSearch(argString, (_a = ctx === null || ctx === void 0 ? void 0 : ctx.response) === null || _a === void 0 ? void 0 : _a.cancellationToken); }
61
66
  };
62
67
  }
68
+ async determineSearchRoots(subDirectoryPath) {
69
+ const workspaceRoot = await this.workspaceScope.getWorkspaceRoot();
70
+ if (!subDirectoryPath) {
71
+ return [workspaceRoot.toString()];
72
+ }
73
+ const subDirUri = workspaceRoot.resolve(subDirectoryPath);
74
+ this.workspaceScope.ensureWithinWorkspace(subDirUri, workspaceRoot);
75
+ try {
76
+ const stat = await this.fileService.resolve(subDirUri);
77
+ if (!stat || !stat.isDirectory) {
78
+ throw new Error(`Subdirectory '${subDirectoryPath}' does not exist or is not a directory`);
79
+ }
80
+ }
81
+ catch (error) {
82
+ throw new Error(`Invalid subdirectory path '${subDirectoryPath}': ${error.message}`);
83
+ }
84
+ return [subDirUri.toString()];
85
+ }
63
86
  async handleSearch(argString, cancellationToken) {
64
87
  try {
65
88
  const args = JSON.parse(argString);
66
89
  const results = [];
67
90
  let expectedSearchId;
68
91
  let searchCompleted = false;
69
- const searchPromise = new Promise((resolve, reject) => {
92
+ const searchPromise = new Promise(async (resolve, reject) => {
70
93
  const callbacks = {
71
94
  onResult: (id, result) => {
72
95
  if (expectedSearchId !== undefined && id !== expectedSearchId) {
@@ -86,23 +109,26 @@ let WorkspaceSearchProvider = class WorkspaceSearchProvider {
86
109
  }
87
110
  searchCompleted = true;
88
111
  if (error) {
89
- reject(new Error(`Search failed: ${error}`));
112
+ reject(new Error('Search failed: ' + error));
90
113
  }
91
114
  else {
92
115
  resolve(results);
93
116
  }
94
117
  }
95
118
  };
119
+ // Use one more than our actual maximum. this way we can determine if we have more results than our maximum and warn the user
120
+ const maxResultsForTheiaAPI = this.preferenceService.get(workspace_preferences_1.SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF, 30) + 1;
96
121
  const options = {
97
122
  useRegExp: args.useRegExp,
98
123
  matchCase: false,
99
124
  matchWholeWord: false,
100
- maxResults: this.MAX_RESULTS,
125
+ maxResults: maxResultsForTheiaAPI,
101
126
  };
102
127
  if (args.fileExtensions && args.fileExtensions.length > 0) {
103
128
  options.include = args.fileExtensions.map(ext => `**/*.${ext}`);
104
129
  }
105
- this.searchService.search(args.query, callbacks, options)
130
+ await this.determineSearchRoots(args.subDirectoryPath)
131
+ .then(rootUris => this.searchService.searchWithCallback(args.query, rootUris, callbacks, options))
106
132
  .then(id => {
107
133
  expectedSearchId = id;
108
134
  cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.onCancellationRequested(() => {
@@ -124,15 +150,21 @@ let WorkspaceSearchProvider = class WorkspaceSearchProvider {
124
150
  }, 30000);
125
151
  });
126
152
  const finalResults = await Promise.race([searchPromise, timeoutPromise]);
153
+ const maxResults = this.preferenceService.get(workspace_preferences_1.SEARCH_IN_WORKSPACE_MAX_RESULTS_PREF, 30);
127
154
  const workspaceRoot = await this.workspaceScope.getWorkspaceRoot();
128
- const formattedResults = finalResults.map(r => {
129
- const fileUri = new core_1.URI(r.fileUri);
130
- const relativePath = workspaceRoot.relative(fileUri);
131
- return {
132
- file: relativePath ? relativePath.toString() : r.fileUri,
133
- matches: r.matches.map(m => ({ line: m.line, text: m.lineText }))
134
- };
135
- });
155
+ const formattedResults = (0, workspace_search_provider_util_1.optimizeSearchResults)(finalResults, workspaceRoot);
156
+ let numberOfMatchesInFinalResults = 0;
157
+ for (const result of finalResults) {
158
+ numberOfMatchesInFinalResults += result.matches.length;
159
+ }
160
+ if (numberOfMatchesInFinalResults > maxResults) {
161
+ return JSON.stringify({
162
+ info: 'Search limit exceeded: Found ' + maxResults + '+ results. ' +
163
+ 'Please refine your search with more specific terms or use file extension filters. ' +
164
+ 'You can increase the limit in preferences under \'ai-features.workspaceFunctions.searchMaxResults\'.',
165
+ incompleteResults: formattedResults
166
+ });
167
+ }
136
168
  return JSON.stringify(formattedResults);
137
169
  }
138
170
  catch (error) {
@@ -149,6 +181,14 @@ tslib_1.__decorate([
149
181
  (0, inversify_1.inject)(workspace_functions_2.WorkspaceFunctionScope),
150
182
  tslib_1.__metadata("design:type", workspace_functions_2.WorkspaceFunctionScope)
151
183
  ], WorkspaceSearchProvider.prototype, "workspaceScope", void 0);
184
+ tslib_1.__decorate([
185
+ (0, inversify_1.inject)(preference_service_1.PreferenceService),
186
+ tslib_1.__metadata("design:type", Object)
187
+ ], WorkspaceSearchProvider.prototype, "preferenceService", void 0);
188
+ tslib_1.__decorate([
189
+ (0, inversify_1.inject)(file_service_1.FileService),
190
+ tslib_1.__metadata("design:type", file_service_1.FileService)
191
+ ], WorkspaceSearchProvider.prototype, "fileService", void 0);
152
192
  exports.WorkspaceSearchProvider = WorkspaceSearchProvider = tslib_1.__decorate([
153
193
  (0, inversify_1.injectable)()
154
194
  ], WorkspaceSearchProvider);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-search-provider.js","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-search-provider.js","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workspace-search-provider.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-search-provider.spec.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
19
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
20
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
21
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
22
+ const chai_1 = require("chai");
23
+ const core_1 = require("@theia/core");
24
+ const workspace_search_provider_util_1 = require("../common/workspace-search-provider-util");
25
+ disableJSDOM();
26
+ describe('WorkspaceSearchProvider - Token Optimization', () => {
27
+ before(() => {
28
+ disableJSDOM = (0, jsdom_1.enableJSDOM)();
29
+ });
30
+ after(() => {
31
+ disableJSDOM();
32
+ });
33
+ describe('optimizeSearchResults method', () => {
34
+ it('should preserve all information while optimizing format', () => {
35
+ const workspaceRoot = new core_1.URI('file:///workspace');
36
+ const mockResults = [
37
+ {
38
+ root: 'file:///workspace',
39
+ fileUri: 'file:///workspace/src/test.ts',
40
+ matches: [
41
+ {
42
+ line: 1,
43
+ character: 5,
44
+ length: 8,
45
+ lineText: ' const test = "hello"; '
46
+ },
47
+ {
48
+ line: 5,
49
+ character: 10,
50
+ length: 4,
51
+ lineText: '\t\tfunction test() { }\n'
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ root: 'file:///workspace',
57
+ fileUri: 'file:///workspace/lib/utils.js',
58
+ matches: [
59
+ {
60
+ line: 10,
61
+ character: 0,
62
+ length: 6,
63
+ lineText: 'export default function() {}'
64
+ }
65
+ ]
66
+ }
67
+ ];
68
+ const result = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
69
+ (0, chai_1.expect)(result).to.have.length(2);
70
+ // First file
71
+ (0, chai_1.expect)(result[0]).to.deep.equal({
72
+ file: 'src/test.ts',
73
+ matches: [
74
+ {
75
+ line: 1,
76
+ text: 'const test = "hello";'
77
+ },
78
+ {
79
+ line: 5,
80
+ text: 'function test() { }'
81
+ }
82
+ ]
83
+ });
84
+ // Second file
85
+ (0, chai_1.expect)(result[1]).to.deep.equal({
86
+ file: 'lib/utils.js',
87
+ matches: [
88
+ {
89
+ line: 10,
90
+ text: 'export default function() {}'
91
+ }
92
+ ]
93
+ });
94
+ });
95
+ it('should handle LinePreview objects correctly', () => {
96
+ const workspaceRoot = new core_1.URI('file:///workspace');
97
+ const linePreview = {
98
+ text: ' preview text with spaces ',
99
+ character: 5
100
+ };
101
+ const mockResults = [
102
+ {
103
+ root: 'file:///workspace',
104
+ fileUri: 'file:///workspace/preview.ts',
105
+ matches: [
106
+ {
107
+ line: 3,
108
+ character: 5,
109
+ length: 7,
110
+ lineText: linePreview
111
+ }
112
+ ]
113
+ }
114
+ ];
115
+ const result = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
116
+ (0, chai_1.expect)(result[0].matches[0]).to.deep.equal({
117
+ line: 3,
118
+ text: 'preview text with spaces'
119
+ });
120
+ });
121
+ it('should handle empty LinePreview text gracefully', () => {
122
+ const workspaceRoot = new core_1.URI('file:///workspace');
123
+ const linePreview = {
124
+ text: '',
125
+ character: 0
126
+ };
127
+ const mockResults = [
128
+ {
129
+ root: 'file:///workspace',
130
+ fileUri: 'file:///workspace/empty.ts',
131
+ matches: [
132
+ {
133
+ line: 1,
134
+ character: 0,
135
+ length: 0,
136
+ lineText: linePreview
137
+ }
138
+ ]
139
+ }
140
+ ];
141
+ const result = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
142
+ (0, chai_1.expect)(result[0].matches[0]).to.deep.equal({
143
+ line: 1,
144
+ text: ''
145
+ });
146
+ });
147
+ it('should preserve semantic whitespace within lines', () => {
148
+ const workspaceRoot = new core_1.URI('file:///workspace');
149
+ const mockResults = [
150
+ {
151
+ root: 'file:///workspace',
152
+ fileUri: 'file:///workspace/spaces.ts',
153
+ matches: [
154
+ {
155
+ line: 1,
156
+ character: 0,
157
+ length: 20,
158
+ lineText: ' if (a && b) { '
159
+ }
160
+ ]
161
+ }
162
+ ];
163
+ const result = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
164
+ (0, chai_1.expect)(result[0].matches[0].text).to.equal('if (a && b) {');
165
+ });
166
+ it('should use absolute URI when relative path cannot be determined', () => {
167
+ const workspaceRoot = new core_1.URI('file:///different-workspace');
168
+ const mockResults = [
169
+ {
170
+ root: 'file:///workspace',
171
+ fileUri: 'file:///workspace/outside.ts',
172
+ matches: [
173
+ {
174
+ line: 1,
175
+ character: 0,
176
+ length: 4,
177
+ lineText: 'test'
178
+ }
179
+ ]
180
+ }
181
+ ];
182
+ const result = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
183
+ (0, chai_1.expect)(result[0].file).to.equal('file:///workspace/outside.ts');
184
+ });
185
+ });
186
+ describe('token efficiency validation', () => {
187
+ it('should produce more compact JSON than original format', () => {
188
+ const workspaceRoot = new core_1.URI('file:///workspace');
189
+ const mockResults = [
190
+ {
191
+ root: 'file:///workspace',
192
+ fileUri: 'file:///workspace/src/test.ts',
193
+ matches: [
194
+ {
195
+ line: 1,
196
+ character: 5,
197
+ length: 8,
198
+ lineText: ' const test = "hello"; '
199
+ }
200
+ ]
201
+ }
202
+ ];
203
+ // Original format (simulated)
204
+ const originalFormat = JSON.stringify([{
205
+ root: 'file:///workspace',
206
+ fileUri: 'file:///workspace/src/test.ts',
207
+ matches: [{
208
+ line: 1,
209
+ character: 5,
210
+ length: 8,
211
+ lineText: ' const test = "hello"; '
212
+ }]
213
+ }]);
214
+ // Optimized format
215
+ const optimizedResults = (0, workspace_search_provider_util_1.optimizeSearchResults)(mockResults, workspaceRoot);
216
+ const optimizedFormat = JSON.stringify(optimizedResults);
217
+ // The optimized format should be significantly shorter
218
+ (0, chai_1.expect)(optimizedFormat.length).to.be.lessThan(originalFormat.length);
219
+ // But should preserve essential information
220
+ const parsed = JSON.parse(optimizedFormat);
221
+ (0, chai_1.expect)(parsed[0].file).to.equal('src/test.ts');
222
+ (0, chai_1.expect)(parsed[0].matches[0].line).to.equal(1);
223
+ (0, chai_1.expect)(parsed[0].matches[0].text).to.equal('const test = "hello";');
224
+ });
225
+ });
226
+ });
227
+ //# sourceMappingURL=workspace-search-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-search-provider.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-search-provider.spec.ts"],"names":[],"mappings":"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"}