@theia/ai-ide 1.65.0-next.28 → 1.65.0-next.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/frontend-module.d.ts.map +1 -1
- package/lib/browser/frontend-module.js +1 -0
- package/lib/browser/frontend-module.js.map +1 -1
- package/lib/browser/workspace-functions.d.ts +10 -0
- package/lib/browser/workspace-functions.d.ts.map +1 -1
- package/lib/browser/workspace-functions.js +176 -16
- package/lib/browser/workspace-functions.js.map +1 -1
- package/lib/common/architect-prompt-template.d.ts.map +1 -1
- package/lib/common/architect-prompt-template.js +2 -0
- package/lib/common/architect-prompt-template.js.map +1 -1
- package/lib/common/coder-replace-prompt-template.d.ts.map +1 -1
- package/lib/common/coder-replace-prompt-template.js +3 -0
- package/lib/common/coder-replace-prompt-template.js.map +1 -1
- package/lib/common/workspace-functions.d.ts +1 -0
- package/lib/common/workspace-functions.d.ts.map +1 -1
- package/lib/common/workspace-functions.js +2 -1
- package/lib/common/workspace-functions.js.map +1 -1
- package/package.json +18 -18
- package/src/browser/frontend-module.ts +9 -1
- package/src/browser/workspace-functions.ts +196 -15
- package/src/common/architect-prompt-template.ts +3 -1
- package/src/common/coder-replace-prompt-template.ts +4 -0
- package/src/common/workspace-functions.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAyE/D,wBAuJG"}
|
|
@@ -94,6 +94,7 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
|
|
|
94
94
|
(0, common_2.bindToolProvider)(workspace_functions_1.FileContentFunction, bind);
|
|
95
95
|
(0, common_2.bindToolProvider)(workspace_functions_1.GetWorkspaceDirectoryStructure, bind);
|
|
96
96
|
(0, common_2.bindToolProvider)(workspace_functions_1.FileDiagnosticProvider, bind);
|
|
97
|
+
(0, common_2.bindToolProvider)(workspace_functions_1.FindFilesByPattern, bind);
|
|
97
98
|
bind(workspace_functions_1.WorkspaceFunctionScope).toSelf().inSingletonScope();
|
|
98
99
|
(0, common_2.bindToolProvider)(workspace_search_provider_1.WorkspaceSearchProvider, bind);
|
|
99
100
|
(0, common_2.bindToolProvider)(file_changeset_functions_1.SuggestFileContent, bind);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-module.js","sourceRoot":"","sources":["../../src/browser/frontend-module.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,6CAA2C;AAE3C,4DAA+D;AAC/D,sDAA+F;AAC/F,sDAA4F;AAC5F,uDAAmD;AACnD,+CAA2C;AAC3C,qGAA+F;AAC/F,+
|
|
1
|
+
{"version":3,"file":"frontend-module.js","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,4 +62,14 @@ export declare class FileDiagnosticProvider implements ToolProvider {
|
|
|
62
62
|
*/
|
|
63
63
|
protected atLeastNLines(desiredLines: number, range: Range, documentLineCount: number): Range;
|
|
64
64
|
}
|
|
65
|
+
export declare class FindFilesByPattern implements ToolProvider {
|
|
66
|
+
static ID: string;
|
|
67
|
+
protected readonly workspaceScope: WorkspaceFunctionScope;
|
|
68
|
+
protected readonly preferences: PreferenceService;
|
|
69
|
+
protected readonly fileService: FileService;
|
|
70
|
+
getTool(): ToolRequest;
|
|
71
|
+
private findFiles;
|
|
72
|
+
private buildIgnorePatterns;
|
|
73
|
+
private traverseDirectory;
|
|
74
|
+
}
|
|
65
75
|
//# sourceMappingURL=workspace-functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAc,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAQhE,OAAO,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAsB,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAE9F,qBACa,sBAAsB;IAC/B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,gBAAgB;IAGtD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAElD,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,2BAA2B,CAAS;IAEtC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAQtC,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,GAAG,IAAI;IAM5D,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAK/C,0BAA0B;IAiBlC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAerD,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO;cAIlE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BrF;AAED,qBACa,8BAA+B,YAAW,YAAY;IAC/D,MAAM,CAAC,EAAE,SAAiD;IAE1D,OAAO,IAAI,WAAW;IAkBtB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC;YAEnC,qBAAqB;YAerB,uBAAuB;CAwBxC;AAED,qBACa,mBAAoB,YAAW,YAAY;IACpD,MAAM,CAAC,EAAE,SAA4B;IAErC,OAAO,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var GetWorkspaceDirectoryStructure_1, FileContentFunction_1, GetWorkspaceFileList_1, FileDiagnosticProvider_1;
|
|
2
|
+
var GetWorkspaceDirectoryStructure_1, FileContentFunction_1, GetWorkspaceFileList_1, FileDiagnosticProvider_1, FindFilesByPattern_1;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.FileDiagnosticProvider = exports.GetWorkspaceFileList = exports.FileContentFunction = exports.GetWorkspaceDirectoryStructure = exports.WorkspaceFunctionScope = void 0;
|
|
4
|
+
exports.FindFilesByPattern = exports.FileDiagnosticProvider = exports.GetWorkspaceFileList = exports.FileContentFunction = exports.GetWorkspaceDirectoryStructure = exports.WorkspaceFunctionScope = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const core_1 = require("@theia/core");
|
|
7
7
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
@@ -111,8 +111,8 @@ let GetWorkspaceDirectoryStructure = GetWorkspaceDirectoryStructure_1 = class Ge
|
|
|
111
111
|
return {
|
|
112
112
|
id: GetWorkspaceDirectoryStructure_1.ID,
|
|
113
113
|
name: GetWorkspaceDirectoryStructure_1.ID,
|
|
114
|
-
description:
|
|
115
|
-
|
|
114
|
+
description: 'Retrieve the complete directory structure of the workspace, listing only directories (no file contents). ' +
|
|
115
|
+
'This structure excludes specific directories, such as node_modules and hidden files, ensuring paths are within workspace boundaries.',
|
|
116
116
|
parameters: {
|
|
117
117
|
type: 'object',
|
|
118
118
|
properties: {}
|
|
@@ -175,15 +175,17 @@ let FileContentFunction = FileContentFunction_1 = class FileContentFunction {
|
|
|
175
175
|
return {
|
|
176
176
|
id: FileContentFunction_1.ID,
|
|
177
177
|
name: FileContentFunction_1.ID,
|
|
178
|
-
description:
|
|
179
|
-
|
|
178
|
+
description: 'Return the content of a specified file within the workspace. ' +
|
|
179
|
+
'The file path must be provided relative to the workspace root. Only files within ' +
|
|
180
|
+
'workspace boundaries are accessible; attempting to access files outside the workspace will return an error.',
|
|
180
181
|
parameters: {
|
|
181
182
|
type: 'object',
|
|
182
183
|
properties: {
|
|
183
184
|
file: {
|
|
184
185
|
type: 'string',
|
|
185
|
-
description:
|
|
186
|
-
|
|
186
|
+
description: 'The relative path to the target file within the workspace. ' +
|
|
187
|
+
'This path is resolved from the workspace root, and only files within the workspace ' +
|
|
188
|
+
'boundaries are accessible. Attempting to access paths outside the workspace will result in an error.',
|
|
187
189
|
}
|
|
188
190
|
},
|
|
189
191
|
required: ['file']
|
|
@@ -256,14 +258,16 @@ let GetWorkspaceFileList = GetWorkspaceFileList_1 = class GetWorkspaceFileList {
|
|
|
256
258
|
properties: {
|
|
257
259
|
path: {
|
|
258
260
|
type: 'string',
|
|
259
|
-
description:
|
|
260
|
-
|
|
261
|
+
description: 'Optional relative path to a directory within the workspace. ' +
|
|
262
|
+
'If no path is specified, the function lists contents directly in the workspace root. ' +
|
|
263
|
+
'Paths are resolved within workspace boundaries only; paths outside the workspace or unvalidated paths will result in an error.'
|
|
261
264
|
}
|
|
262
265
|
},
|
|
263
266
|
required: ['path']
|
|
264
267
|
},
|
|
265
|
-
description:
|
|
266
|
-
|
|
268
|
+
description: 'List files and directories within a specified workspace directory. ' +
|
|
269
|
+
'Paths are relative to the workspace root, and only workspace-contained paths are allowed. ' +
|
|
270
|
+
'If no path is provided, the root contents are listed. Paths outside the workspace will result in an error.',
|
|
267
271
|
handler: (arg_string, ctx) => {
|
|
268
272
|
const args = JSON.parse(arg_string);
|
|
269
273
|
const cancellationToken = ctx.response.cancellationToken;
|
|
@@ -343,15 +347,17 @@ let FileDiagnosticProvider = FileDiagnosticProvider_1 = class FileDiagnosticProv
|
|
|
343
347
|
return {
|
|
344
348
|
id: FileDiagnosticProvider_1.ID,
|
|
345
349
|
name: FileDiagnosticProvider_1.ID,
|
|
346
|
-
description: 'A function to retrieve diagnostics associated with a specific file in the workspace.
|
|
347
|
-
|
|
350
|
+
description: 'A function to retrieve diagnostics associated with a specific file in the workspace. ' +
|
|
351
|
+
'It will return a list of problems that includes the surrounding text a message describing the problem, ' +
|
|
352
|
+
'and optionally a code and a codeDescription field describing that code.',
|
|
348
353
|
parameters: {
|
|
349
354
|
type: 'object',
|
|
350
355
|
properties: {
|
|
351
356
|
file: {
|
|
352
357
|
type: 'string',
|
|
353
|
-
description:
|
|
354
|
-
|
|
358
|
+
description: 'The relative path to the target file within the workspace. ' +
|
|
359
|
+
'This path is resolved from the workspace root, and only files within the workspace ' +
|
|
360
|
+
'boundaries are accessible. Attempting to access paths outside the workspace will result in an error.'
|
|
355
361
|
}
|
|
356
362
|
},
|
|
357
363
|
required: ['file']
|
|
@@ -478,4 +484,158 @@ tslib_1.__decorate([
|
|
|
478
484
|
exports.FileDiagnosticProvider = FileDiagnosticProvider = FileDiagnosticProvider_1 = tslib_1.__decorate([
|
|
479
485
|
(0, inversify_1.injectable)()
|
|
480
486
|
], FileDiagnosticProvider);
|
|
487
|
+
let FindFilesByPattern = FindFilesByPattern_1 = class FindFilesByPattern {
|
|
488
|
+
getTool() {
|
|
489
|
+
return {
|
|
490
|
+
id: FindFilesByPattern_1.ID,
|
|
491
|
+
name: FindFilesByPattern_1.ID,
|
|
492
|
+
description: 'Find files in the workspace that match a given glob pattern. ' +
|
|
493
|
+
'This function allows efficient discovery of files using patterns like \'**/*.ts\' for all TypeScript files or ' +
|
|
494
|
+
'\'src/**/*.js\' for JavaScript files in the src directory. The function respects gitignore patterns and user exclusions, ' +
|
|
495
|
+
'returns relative paths from the workspace root, and limits results to 200 files maximum.',
|
|
496
|
+
parameters: {
|
|
497
|
+
type: 'object',
|
|
498
|
+
properties: {
|
|
499
|
+
pattern: {
|
|
500
|
+
type: 'string',
|
|
501
|
+
description: 'Glob pattern to match files against. ' +
|
|
502
|
+
'Examples: \'**/*.ts\' (all TypeScript files), \'src/**/*.js\' (JS files in src), ' +
|
|
503
|
+
'\'**/*.{js,ts}\' (JS or TS files), \'**/test/**\' (files in test directories). ' +
|
|
504
|
+
'Patterns are matched against paths relative to the workspace root.'
|
|
505
|
+
},
|
|
506
|
+
exclude: {
|
|
507
|
+
type: 'array',
|
|
508
|
+
items: { type: 'string' },
|
|
509
|
+
description: 'Optional array of glob patterns to exclude from results. ' +
|
|
510
|
+
'Examples: [\'**/*.spec.ts\', \'**/*.test.js\', \'node_modules/**\']. ' +
|
|
511
|
+
'If not specified, common exclusions like node_modules, .git, and dist are applied automatically.'
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
required: ['pattern']
|
|
515
|
+
},
|
|
516
|
+
handler: (arg_string, ctx) => {
|
|
517
|
+
const args = JSON.parse(arg_string);
|
|
518
|
+
const cancellationToken = ctx.response.cancellationToken;
|
|
519
|
+
return this.findFiles(args.pattern, args.exclude, cancellationToken);
|
|
520
|
+
},
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
async findFiles(pattern, excludePatterns, cancellationToken) {
|
|
524
|
+
if (cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) {
|
|
525
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
526
|
+
}
|
|
527
|
+
let workspaceRoot;
|
|
528
|
+
try {
|
|
529
|
+
workspaceRoot = await this.workspaceScope.getWorkspaceRoot();
|
|
530
|
+
}
|
|
531
|
+
catch (error) {
|
|
532
|
+
return JSON.stringify({ error: error.message });
|
|
533
|
+
}
|
|
534
|
+
try {
|
|
535
|
+
// Build ignore patterns from gitignore and user preferences
|
|
536
|
+
const ignorePatterns = await this.buildIgnorePatterns(workspaceRoot);
|
|
537
|
+
const allExcludes = [...ignorePatterns];
|
|
538
|
+
if (excludePatterns && excludePatterns.length > 0) {
|
|
539
|
+
allExcludes.push(...excludePatterns);
|
|
540
|
+
}
|
|
541
|
+
if (cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) {
|
|
542
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
543
|
+
}
|
|
544
|
+
const patternMatcher = new minimatch_1.Minimatch(pattern, { dot: false });
|
|
545
|
+
const excludeMatchers = allExcludes.map(excludePattern => new minimatch_1.Minimatch(excludePattern, { dot: true }));
|
|
546
|
+
const files = [];
|
|
547
|
+
const maxResults = 200;
|
|
548
|
+
await this.traverseDirectory(workspaceRoot, workspaceRoot, patternMatcher, excludeMatchers, files, maxResults, cancellationToken);
|
|
549
|
+
if (cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) {
|
|
550
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
551
|
+
}
|
|
552
|
+
const result = {
|
|
553
|
+
files: files.slice(0, maxResults)
|
|
554
|
+
};
|
|
555
|
+
if (files.length > maxResults) {
|
|
556
|
+
result.totalFound = files.length;
|
|
557
|
+
result.truncated = true;
|
|
558
|
+
}
|
|
559
|
+
return JSON.stringify(result);
|
|
560
|
+
}
|
|
561
|
+
catch (error) {
|
|
562
|
+
return JSON.stringify({ error: `Failed to find files: ${error.message}` });
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
async buildIgnorePatterns(workspaceRoot) {
|
|
566
|
+
const patterns = [];
|
|
567
|
+
// Get user exclude patterns from preferences
|
|
568
|
+
const userExcludePatterns = this.preferences.get(workspace_preferences_1.USER_EXCLUDE_PATTERN_PREF, []);
|
|
569
|
+
patterns.push(...userExcludePatterns);
|
|
570
|
+
// Add gitignore patterns if enabled
|
|
571
|
+
const shouldConsiderGitIgnore = this.preferences.get(workspace_preferences_1.CONSIDER_GITIGNORE_PREF, false);
|
|
572
|
+
if (shouldConsiderGitIgnore) {
|
|
573
|
+
try {
|
|
574
|
+
const gitignoreUri = workspaceRoot.resolve('.gitignore');
|
|
575
|
+
const gitignoreContent = await this.fileService.read(gitignoreUri);
|
|
576
|
+
const gitignoreLines = gitignoreContent.value
|
|
577
|
+
.split('\n')
|
|
578
|
+
.map(line => line.trim())
|
|
579
|
+
.filter(line => line && !line.startsWith('#'));
|
|
580
|
+
patterns.push(...gitignoreLines);
|
|
581
|
+
}
|
|
582
|
+
catch {
|
|
583
|
+
// Gitignore file doesn't exist or can't be read, continue without it
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
return patterns;
|
|
587
|
+
}
|
|
588
|
+
async traverseDirectory(currentUri, workspaceRoot, patternMatcher, excludeMatchers, results, maxResults, cancellationToken) {
|
|
589
|
+
var _a;
|
|
590
|
+
if ((cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) || results.length >= maxResults) {
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
try {
|
|
594
|
+
const stat = await this.fileService.resolve(currentUri);
|
|
595
|
+
if (!stat || !stat.isDirectory || !stat.children) {
|
|
596
|
+
return;
|
|
597
|
+
}
|
|
598
|
+
for (const child of stat.children) {
|
|
599
|
+
if ((cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) || results.length >= maxResults) {
|
|
600
|
+
break;
|
|
601
|
+
}
|
|
602
|
+
const relativePath = (_a = workspaceRoot.relative(child.resource)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
603
|
+
if (!relativePath) {
|
|
604
|
+
continue;
|
|
605
|
+
}
|
|
606
|
+
const shouldExclude = excludeMatchers.some(matcher => matcher.match(relativePath)) ||
|
|
607
|
+
(await this.workspaceScope.shouldExclude(child));
|
|
608
|
+
if (shouldExclude) {
|
|
609
|
+
continue;
|
|
610
|
+
}
|
|
611
|
+
if (child.isDirectory) {
|
|
612
|
+
await this.traverseDirectory(child.resource, workspaceRoot, patternMatcher, excludeMatchers, results, maxResults, cancellationToken);
|
|
613
|
+
}
|
|
614
|
+
else if (patternMatcher.match(relativePath)) {
|
|
615
|
+
results.push(relativePath);
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
catch {
|
|
620
|
+
// If we can't access a directory, skip it
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
};
|
|
624
|
+
exports.FindFilesByPattern = FindFilesByPattern;
|
|
625
|
+
FindFilesByPattern.ID = workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID;
|
|
626
|
+
tslib_1.__decorate([
|
|
627
|
+
(0, inversify_1.inject)(WorkspaceFunctionScope),
|
|
628
|
+
tslib_1.__metadata("design:type", WorkspaceFunctionScope)
|
|
629
|
+
], FindFilesByPattern.prototype, "workspaceScope", void 0);
|
|
630
|
+
tslib_1.__decorate([
|
|
631
|
+
(0, inversify_1.inject)(core_1.PreferenceService),
|
|
632
|
+
tslib_1.__metadata("design:type", Object)
|
|
633
|
+
], FindFilesByPattern.prototype, "preferences", void 0);
|
|
634
|
+
tslib_1.__decorate([
|
|
635
|
+
(0, inversify_1.inject)(file_service_1.FileService),
|
|
636
|
+
tslib_1.__metadata("design:type", file_service_1.FileService)
|
|
637
|
+
], FindFilesByPattern.prototype, "fileService", void 0);
|
|
638
|
+
exports.FindFilesByPattern = FindFilesByPattern = FindFilesByPattern_1 = tslib_1.__decorate([
|
|
639
|
+
(0, inversify_1.injectable)()
|
|
640
|
+
], FindFilesByPattern);
|
|
481
641
|
//# sourceMappingURL=workspace-functions.js.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,eAAO,MAAM,yCAAyC,iCAAiC,CAAC;AACxF,eAAO,MAAM,gDAAgD,iCAAiC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"architect-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,eAAO,MAAM,yCAAyC,iCAAiC,CAAC;AACxF,eAAO,MAAM,gDAAgD,iCAAiC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,kBAwEnC,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBAmMxC,CAAC"}
|
|
@@ -25,6 +25,7 @@ implement the change plan. If you refer to files, always mention the workspace-r
|
|
|
25
25
|
Use the following functions to interact with the workspace files if you require context:
|
|
26
26
|
- **~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
27
27
|
- **~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}}**
|
|
28
|
+
- **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
28
29
|
- **~{${workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
29
30
|
|
|
30
31
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -61,6 +62,7 @@ implement the change plan. If you refer to files, always mention the workspace-r
|
|
|
61
62
|
Use the following functions to interact with the workspace files as needed:
|
|
62
63
|
- **~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**: Lists files and directories in a specific directory.
|
|
63
64
|
- **~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}}**: Retrieves the content of a specific file.
|
|
65
|
+
- **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}**: Find files by glob patterns like '**/*.ts'.
|
|
64
66
|
|
|
65
67
|
### Workspace Navigation Guidelines
|
|
66
68
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect-prompt-template.js","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":";;;AAWA,+DAG+B;AAC/B,2DAAkG;AAClG,2DAAuE;AAE1D,QAAA,yCAAyC,GAAG,8BAA8B,CAAC;AAC3E,QAAA,gDAAgD,GAAG,8BAA8B,CAAC;AAElF,QAAA,uBAAuB,GAAqB;IACrD,EAAE,EAAE,kBAAkB;IACtB,cAAc,EAAE;QACZ,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EAAE;;;;;;;;;;;;;QAaV,yDAAmC;QACnC,8CAAwB;QACxB,qDAA+B;;;;;gFAKyC,oDAAgC;;;;sHAIM,6CAAuB;;;iFAG5D,8CAAwB;IACrG,6CAAyB;;;;IAIzB,oDAAgC;CACnC;KACI;IACD,QAAQ,EAAE;QACN;YACI,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE;;;;;;;;;;;QAWd,yDAAmC;QACnC,8CAAwB;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"architect-prompt-template.js","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":";;;AAWA,+DAG+B;AAC/B,2DAAkG;AAClG,2DAAuE;AAE1D,QAAA,yCAAyC,GAAG,8BAA8B,CAAC;AAC3E,QAAA,gDAAgD,GAAG,8BAA8B,CAAC;AAElF,QAAA,uBAAuB,GAAqB;IACrD,EAAE,EAAE,kBAAkB;IACtB,cAAc,EAAE;QACZ,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EAAE;;;;;;;;;;;;;QAaV,yDAAmC;QACnC,8CAAwB;QACxB,uDAAiC;QACjC,qDAA+B;;;;;gFAKyC,oDAAgC;;;;sHAIM,6CAAuB;;;iFAG5D,8CAAwB;IACrG,6CAAyB;;;;IAIzB,oDAAgC;CACnC;KACI;IACD,QAAQ,EAAE;QACN;YACI,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE;;;;;;;;;;;QAWd,yDAAmC;QACnC,8CAAwB;QACxB,uDAAiC;;;;;;;;;;iFAUwC,8CAAwB;IACrG,6CAAyB;;;CAG5B;SACQ;KAAC;CACT,CAAC;AAEW,QAAA,4BAA4B,GAAqB;IAC1D,EAAE,EAAE,uBAAuB;IAC3B,cAAc,EAAE;QACZ,EAAE,EAAE,iDAAyC;QAC7C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyIjB;KACI;IACD,QAAQ,EAAE;QAEN;YACI,EAAE,EAAE,wDAAgD;YACpD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6ClB,oDAAgC;CACnC;SAAE;KACE;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder-replace-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"coder-replace-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAsB/D,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AAEtE,wBAAgB,+BAA+B,IAAI,kBAAkB,CAsHpE;AAED,wBAAgB,0BAA0B,IAAI,kBAAkB,CAqE/D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CA4DrE"}
|
|
@@ -58,6 +58,7 @@ Never guess or hallucinate file content or structure. Use tools for all workspac
|
|
|
58
58
|
### Workspace Exploration
|
|
59
59
|
- ~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}} — list contents of a specific directory
|
|
60
60
|
- ~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}} — retrieve the content of a file
|
|
61
|
+
- ~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}} — find files matching glob patterns (e.g., '**/*.ts' for all TypeScript files)
|
|
61
62
|
- ~{${workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID}}} — locate references or patterns (only search if you are missing information, always prefer examples that are explicitly provided, never \
|
|
62
63
|
search for files you already know the path for)
|
|
63
64
|
- ~{${context_functions_1.UPDATE_CONTEXT_FILES_FUNCTION_ID}} — bookmark important files for context
|
|
@@ -152,6 +153,7 @@ which will be reviewed and accepted by the user.
|
|
|
152
153
|
Use the following functions to interact with the workspace files if you require context:
|
|
153
154
|
- **~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
154
155
|
- **~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}}**
|
|
156
|
+
- **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
155
157
|
- **~{${workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
156
158
|
|
|
157
159
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -223,6 +225,7 @@ which will be reviewed and accepted by the user.
|
|
|
223
225
|
Use the following functions to interact with the workspace files if you require context:
|
|
224
226
|
- **~{${workspace_functions_1.GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
225
227
|
- **~{${workspace_functions_1.FILE_CONTENT_FUNCTION_ID}}**
|
|
228
|
+
- **~{${workspace_functions_1.FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
226
229
|
- **~{${workspace_functions_1.SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
227
230
|
|
|
228
231
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder-replace-prompt-template.js","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,sCAAsC;AACtC,EAAE;AACF,+BAA+B;AAC/B,gFAAgF;;;AAGhF,4CAAgE;AAChE,+
|
|
1
|
+
{"version":3,"file":"coder-replace-prompt-template.js","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,sCAAsC;AACtC,EAAE;AACF,+BAA+B;AAC/B,gFAAgF;;;AAGhF,4CAAgE;AAChE,+DAQ+B;AAC/B,2DAAkG;AAClG,2DAAuE;AACvE,+EAOuC;AAE1B,QAAA,sBAAsB,GAAG,cAAc,CAAC;AAExC,QAAA,6BAA6B,GAAG,0BAA0B,CAAC;AAC3D,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAC7C,QAAA,4BAA4B,GAAG,yBAAyB,CAAC;AAEtE,SAAgB,+BAA+B;IAC3C,OAAO;QACH,EAAE,EAAE,oCAA4B;QAChC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCZ,yDAAmC;MACnC,8CAAwB;MACxB,uDAAiC;MACjC,qDAA+B;;MAE/B,oDAAgC;;;;;QAK9B,wDAA0B;QAC1B,mDAAqB;;4CAEe,wDAA0B;SAC7D,wDAA0B,8BAA8B,mDAAqB;;;MAGhF,6CAAuB;;;UAGnB,4CAAsB;UACtB,0CAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAsCmD,8CAAwB;IACrG,6CAAyB;;;;;;;;;;IAUzB,oDAAgC;;;;;;;;;CASnC;QACO,GAAG,CAAC,EAAE,SAAS,EAAE,8BAAsB,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AAtHD,0EAsHC;AAED,SAAgB,0BAA0B;IACtC,OAAO;QACH,EAAE,EAAE,8BAAsB;QAC1B,QAAQ,EAAE;;;;;;;;QAQV,yDAAmC;QACnC,8CAAwB;QACxB,uDAAiC;QACjC,qDAA+B;;;;;gFAKyC,oDAAgC;;;;;;;;;oCAS5E,qDAAuB;;QAEnD,0DAA4B;QAC5B,qDAAuB;WACpB,0DAA4B,8BAA8B,qDAAuB;QACpF,mDAAqB;;;;;;;2EAO8C,4CAAsB,8BAA8B,0CAAoB;;;;;;sHAM7B,6CAAuB;;;;;;iFAM5D,8CAAwB;IACrG,6CAAyB;;;;IAIzB,wCAA8B;;;;IAI9B,oDAAgC;;;;;;;CAOnC;KAAC,CAAC;AACH,CAAC;AArED,gEAqEC;AAED,SAAgB,gCAAgC;IAC5C,OAAO;QACH,EAAE,EAAE,qCAA6B;QACjC,QAAQ,EAAE;;;;;;;;QAQV,yDAAmC;QACnC,8CAAwB;QACxB,uDAAiC;QACjC,qDAA+B;;;;;gFAKyC,oDAAgC;;;;;;;;;oCAS5E,qDAAuB;;QAEnD,0DAA4B;QAC5B,qDAAuB;WACpB,0DAA4B,8BAA8B,qDAAuB;QACpF,mDAAqB;;;;;;;;iFAQoD,8CAAwB;IACrG,6CAAyB;;;;IAIzB,wCAA8B;;;;IAI9B,oDAAgC;;;;;;;CAOnC;QACO,GAAG,CAAC,EAAE,SAAS,EAAE,8BAAsB,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AA5DD,4EA4DC"}
|
|
@@ -3,6 +3,7 @@ export declare const GET_WORKSPACE_FILE_LIST_FUNCTION_ID = "getWorkspaceFileList
|
|
|
3
3
|
export declare const GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID = "getWorkspaceDirectoryStructure";
|
|
4
4
|
export declare const GET_FILE_DIAGNOSTICS_ID = "getFileDiagnostics";
|
|
5
5
|
export declare const SEARCH_IN_WORKSPACE_FUNCTION_ID = "searchInWorkspace";
|
|
6
|
+
export declare const FIND_FILES_BY_PATTERN_FUNCTION_ID = "findFilesByPattern";
|
|
6
7
|
export declare const LIST_TASKS_FUNCTION_ID = "listTasks";
|
|
7
8
|
export declare const RUN_TASK_FUNCTION_ID = "runTask";
|
|
8
9
|
export declare const LIST_LAUNCH_CONFIGURATIONS_FUNCTION_ID = "listLaunchConfigurations";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/common/workspace-functions.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,mCAAmC,yBAAyB,CAAC;AAC1E,eAAO,MAAM,6CAA6C,mCAAmC,CAAC;AAC9F,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AACnE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AACjF,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAC7E,eAAO,MAAM,qCAAqC,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/common/workspace-functions.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,mCAAmC,yBAAyB,CAAC;AAC1E,eAAO,MAAM,6CAA6C,mCAAmC,CAAC;AAC9F,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AACnE,eAAO,MAAM,iCAAiC,uBAAuB,CAAC;AACtE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AACjF,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAC7E,eAAO,MAAM,qCAAqC,4BAA4B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STOP_LAUNCH_CONFIGURATION_FUNCTION_ID = exports.RUN_LAUNCH_CONFIGURATION_FUNCTION_ID = exports.LIST_LAUNCH_CONFIGURATIONS_FUNCTION_ID = exports.RUN_TASK_FUNCTION_ID = exports.LIST_TASKS_FUNCTION_ID = exports.SEARCH_IN_WORKSPACE_FUNCTION_ID = exports.GET_FILE_DIAGNOSTICS_ID = exports.GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID = exports.GET_WORKSPACE_FILE_LIST_FUNCTION_ID = exports.FILE_CONTENT_FUNCTION_ID = void 0;
|
|
3
|
+
exports.STOP_LAUNCH_CONFIGURATION_FUNCTION_ID = exports.RUN_LAUNCH_CONFIGURATION_FUNCTION_ID = exports.LIST_LAUNCH_CONFIGURATIONS_FUNCTION_ID = exports.RUN_TASK_FUNCTION_ID = exports.LIST_TASKS_FUNCTION_ID = exports.FIND_FILES_BY_PATTERN_FUNCTION_ID = exports.SEARCH_IN_WORKSPACE_FUNCTION_ID = exports.GET_FILE_DIAGNOSTICS_ID = exports.GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID = exports.GET_WORKSPACE_FILE_LIST_FUNCTION_ID = exports.FILE_CONTENT_FUNCTION_ID = void 0;
|
|
4
4
|
// *****************************************************************************
|
|
5
5
|
// Copyright (C) 2024 EclipseSource GmbH.
|
|
6
6
|
//
|
|
@@ -21,6 +21,7 @@ exports.GET_WORKSPACE_FILE_LIST_FUNCTION_ID = 'getWorkspaceFileList';
|
|
|
21
21
|
exports.GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID = 'getWorkspaceDirectoryStructure';
|
|
22
22
|
exports.GET_FILE_DIAGNOSTICS_ID = 'getFileDiagnostics';
|
|
23
23
|
exports.SEARCH_IN_WORKSPACE_FUNCTION_ID = 'searchInWorkspace';
|
|
24
|
+
exports.FIND_FILES_BY_PATTERN_FUNCTION_ID = 'findFilesByPattern';
|
|
24
25
|
exports.LIST_TASKS_FUNCTION_ID = 'listTasks';
|
|
25
26
|
exports.RUN_TASK_FUNCTION_ID = 'runTask';
|
|
26
27
|
exports.LIST_LAUNCH_CONFIGURATIONS_FUNCTION_ID = 'listLaunchConfigurations';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/common/workspace-functions.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;AACnE,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAC5C,QAAA,mCAAmC,GAAG,sBAAsB,CAAC;AAC7D,QAAA,6CAA6C,GAAG,gCAAgC,CAAC;AACjF,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,sBAAsB,GAAG,WAAW,CAAC;AACrC,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,sCAAsC,GAAG,0BAA0B,CAAC;AACpE,QAAA,oCAAoC,GAAG,wBAAwB,CAAC;AAChE,QAAA,qCAAqC,GAAG,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/common/workspace-functions.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;AACnE,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAC5C,QAAA,mCAAmC,GAAG,sBAAsB,CAAC;AAC7D,QAAA,6CAA6C,GAAG,gCAAgC,CAAC;AACjF,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,iCAAiC,GAAG,oBAAoB,CAAC;AACzD,QAAA,sBAAsB,GAAG,WAAW,CAAC;AACrC,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,sCAAsC,GAAG,0BAA0B,CAAC;AACpE,QAAA,oCAAoC,GAAG,wBAAwB,CAAC;AAChE,QAAA,qCAAqC,GAAG,yBAAyB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-ide",
|
|
3
|
-
"version": "1.65.0-next.
|
|
3
|
+
"version": "1.65.0-next.39+9fb7a8852",
|
|
4
4
|
"description": "AI IDE Agents Extension",
|
|
5
5
|
"license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -15,20 +15,20 @@
|
|
|
15
15
|
"theia-extension"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@theia/ai-chat": "1.65.0-next.
|
|
19
|
-
"@theia/ai-chat-ui": "1.65.0-next.
|
|
20
|
-
"@theia/ai-core": "1.65.0-next.
|
|
21
|
-
"@theia/ai-mcp": "1.65.0-next.
|
|
22
|
-
"@theia/core": "1.65.0-next.
|
|
23
|
-
"@theia/debug": "1.65.0-next.
|
|
24
|
-
"@theia/filesystem": "1.65.0-next.
|
|
25
|
-
"@theia/markers": "1.65.0-next.
|
|
26
|
-
"@theia/monaco": "1.65.0-next.
|
|
27
|
-
"@theia/navigator": "1.65.0-next.
|
|
28
|
-
"@theia/search-in-workspace": "1.65.0-next.
|
|
29
|
-
"@theia/task": "1.65.0-next.
|
|
30
|
-
"@theia/terminal": "1.65.0-next.
|
|
31
|
-
"@theia/workspace": "1.65.0-next.
|
|
18
|
+
"@theia/ai-chat": "1.65.0-next.39+9fb7a8852",
|
|
19
|
+
"@theia/ai-chat-ui": "1.65.0-next.39+9fb7a8852",
|
|
20
|
+
"@theia/ai-core": "1.65.0-next.39+9fb7a8852",
|
|
21
|
+
"@theia/ai-mcp": "1.65.0-next.39+9fb7a8852",
|
|
22
|
+
"@theia/core": "1.65.0-next.39+9fb7a8852",
|
|
23
|
+
"@theia/debug": "1.65.0-next.39+9fb7a8852",
|
|
24
|
+
"@theia/filesystem": "1.65.0-next.39+9fb7a8852",
|
|
25
|
+
"@theia/markers": "1.65.0-next.39+9fb7a8852",
|
|
26
|
+
"@theia/monaco": "1.65.0-next.39+9fb7a8852",
|
|
27
|
+
"@theia/navigator": "1.65.0-next.39+9fb7a8852",
|
|
28
|
+
"@theia/search-in-workspace": "1.65.0-next.39+9fb7a8852",
|
|
29
|
+
"@theia/task": "1.65.0-next.39+9fb7a8852",
|
|
30
|
+
"@theia/terminal": "1.65.0-next.39+9fb7a8852",
|
|
31
|
+
"@theia/workspace": "1.65.0-next.39+9fb7a8852",
|
|
32
32
|
"date-fns": "^4.1.0",
|
|
33
33
|
"ignore": "^6.0.0",
|
|
34
34
|
"js-yaml": "^4.1.0",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@theia/cli": "1.65.0-next.
|
|
43
|
-
"@theia/test": "1.65.0-next.
|
|
42
|
+
"@theia/cli": "1.65.0-next.39+9fb7a8852",
|
|
43
|
+
"@theia/test": "1.65.0-next.39+9fb7a8852"
|
|
44
44
|
},
|
|
45
45
|
"theiaExtensions": [
|
|
46
46
|
{
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"nyc": {
|
|
65
65
|
"extends": "../../configs/nyc.json"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "9fb7a8852ad66d67570471b2e11bee5158f5c5d9"
|
|
68
68
|
}
|
|
@@ -22,7 +22,14 @@ import { Agent, AIVariableContribution, bindToolProvider } from '@theia/ai-core/
|
|
|
22
22
|
import { ArchitectAgent } from './architect-agent';
|
|
23
23
|
import { CoderAgent } from './coder-agent';
|
|
24
24
|
import { SummarizeSessionCommandContribution } from './summarize-session-command-contribution';
|
|
25
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
FileContentFunction,
|
|
27
|
+
FileDiagnosticProvider,
|
|
28
|
+
FindFilesByPattern,
|
|
29
|
+
GetWorkspaceDirectoryStructure,
|
|
30
|
+
GetWorkspaceFileList,
|
|
31
|
+
WorkspaceFunctionScope
|
|
32
|
+
} from './workspace-functions';
|
|
26
33
|
import { WorkspaceSearchProvider } from './workspace-search-provider';
|
|
27
34
|
import {
|
|
28
35
|
FrontendApplicationContribution,
|
|
@@ -127,6 +134,7 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
|
127
134
|
bindToolProvider(FileContentFunction, bind);
|
|
128
135
|
bindToolProvider(GetWorkspaceDirectoryStructure, bind);
|
|
129
136
|
bindToolProvider(FileDiagnosticProvider, bind);
|
|
137
|
+
bindToolProvider(FindFilesByPattern, bind);
|
|
130
138
|
bind(WorkspaceFunctionScope).toSelf().inSingletonScope();
|
|
131
139
|
bindToolProvider(WorkspaceSearchProvider, bind);
|
|
132
140
|
|
|
@@ -22,7 +22,7 @@ import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
|
22
22
|
import {
|
|
23
23
|
FILE_CONTENT_FUNCTION_ID, GET_FILE_DIAGNOSTICS_ID,
|
|
24
24
|
GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID,
|
|
25
|
-
GET_WORKSPACE_FILE_LIST_FUNCTION_ID
|
|
25
|
+
GET_WORKSPACE_FILE_LIST_FUNCTION_ID, FIND_FILES_BY_PATTERN_FUNCTION_ID
|
|
26
26
|
} from '../common/workspace-functions';
|
|
27
27
|
import ignore from 'ignore';
|
|
28
28
|
import { Minimatch } from 'minimatch';
|
|
@@ -141,8 +141,8 @@ export class GetWorkspaceDirectoryStructure implements ToolProvider {
|
|
|
141
141
|
return {
|
|
142
142
|
id: GetWorkspaceDirectoryStructure.ID,
|
|
143
143
|
name: GetWorkspaceDirectoryStructure.ID,
|
|
144
|
-
description:
|
|
145
|
-
|
|
144
|
+
description: 'Retrieve the complete directory structure of the workspace, listing only directories (no file contents). ' +
|
|
145
|
+
'This structure excludes specific directories, such as node_modules and hidden files, ensuring paths are within workspace boundaries.',
|
|
146
146
|
parameters: {
|
|
147
147
|
type: 'object',
|
|
148
148
|
properties: {}
|
|
@@ -209,15 +209,17 @@ export class FileContentFunction implements ToolProvider {
|
|
|
209
209
|
return {
|
|
210
210
|
id: FileContentFunction.ID,
|
|
211
211
|
name: FileContentFunction.ID,
|
|
212
|
-
description:
|
|
213
|
-
|
|
212
|
+
description: 'Return the content of a specified file within the workspace. ' +
|
|
213
|
+
'The file path must be provided relative to the workspace root. Only files within ' +
|
|
214
|
+
'workspace boundaries are accessible; attempting to access files outside the workspace will return an error.',
|
|
214
215
|
parameters: {
|
|
215
216
|
type: 'object',
|
|
216
217
|
properties: {
|
|
217
218
|
file: {
|
|
218
219
|
type: 'string',
|
|
219
|
-
description:
|
|
220
|
-
|
|
220
|
+
description: 'The relative path to the target file within the workspace. ' +
|
|
221
|
+
'This path is resolved from the workspace root, and only files within the workspace ' +
|
|
222
|
+
'boundaries are accessible. Attempting to access paths outside the workspace will result in an error.',
|
|
221
223
|
}
|
|
222
224
|
},
|
|
223
225
|
required: ['file']
|
|
@@ -289,14 +291,16 @@ export class GetWorkspaceFileList implements ToolProvider {
|
|
|
289
291
|
properties: {
|
|
290
292
|
path: {
|
|
291
293
|
type: 'string',
|
|
292
|
-
description:
|
|
293
|
-
|
|
294
|
+
description: 'Optional relative path to a directory within the workspace. ' +
|
|
295
|
+
'If no path is specified, the function lists contents directly in the workspace root. ' +
|
|
296
|
+
'Paths are resolved within workspace boundaries only; paths outside the workspace or unvalidated paths will result in an error.'
|
|
294
297
|
}
|
|
295
298
|
},
|
|
296
299
|
required: ['path']
|
|
297
300
|
},
|
|
298
|
-
description:
|
|
299
|
-
|
|
301
|
+
description: 'List files and directories within a specified workspace directory. ' +
|
|
302
|
+
'Paths are relative to the workspace root, and only workspace-contained paths are allowed. ' +
|
|
303
|
+
'If no path is provided, the root contents are listed. Paths outside the workspace will result in an error.',
|
|
300
304
|
handler: (arg_string: string, ctx: MutableChatRequestModel) => {
|
|
301
305
|
const args = JSON.parse(arg_string);
|
|
302
306
|
const cancellationToken = ctx.response.cancellationToken;
|
|
@@ -394,15 +398,17 @@ export class FileDiagnosticProvider implements ToolProvider {
|
|
|
394
398
|
id: FileDiagnosticProvider.ID,
|
|
395
399
|
name: FileDiagnosticProvider.ID,
|
|
396
400
|
description:
|
|
397
|
-
'A function to retrieve diagnostics associated with a specific file in the workspace.
|
|
398
|
-
|
|
401
|
+
'A function to retrieve diagnostics associated with a specific file in the workspace. ' +
|
|
402
|
+
'It will return a list of problems that includes the surrounding text a message describing the problem, ' +
|
|
403
|
+
'and optionally a code and a codeDescription field describing that code.',
|
|
399
404
|
parameters: {
|
|
400
405
|
type: 'object',
|
|
401
406
|
properties: {
|
|
402
407
|
file: {
|
|
403
408
|
type: 'string',
|
|
404
|
-
description:
|
|
405
|
-
|
|
409
|
+
description: 'The relative path to the target file within the workspace. ' +
|
|
410
|
+
'This path is resolved from the workspace root, and only files within the workspace ' +
|
|
411
|
+
'boundaries are accessible. Attempting to access paths outside the workspace will result in an error.'
|
|
406
412
|
}
|
|
407
413
|
},
|
|
408
414
|
required: ['file']
|
|
@@ -517,3 +523,178 @@ export class FileDiagnosticProvider implements ToolProvider {
|
|
|
517
523
|
return { end: { character: Number.MAX_SAFE_INTEGER, line: endLine }, start: { character: 0, line: startLine } };
|
|
518
524
|
}
|
|
519
525
|
}
|
|
526
|
+
|
|
527
|
+
@injectable()
|
|
528
|
+
export class FindFilesByPattern implements ToolProvider {
|
|
529
|
+
static ID = FIND_FILES_BY_PATTERN_FUNCTION_ID;
|
|
530
|
+
|
|
531
|
+
@inject(WorkspaceFunctionScope)
|
|
532
|
+
protected readonly workspaceScope: WorkspaceFunctionScope;
|
|
533
|
+
|
|
534
|
+
@inject(PreferenceService)
|
|
535
|
+
protected readonly preferences: PreferenceService;
|
|
536
|
+
|
|
537
|
+
@inject(FileService)
|
|
538
|
+
protected readonly fileService: FileService;
|
|
539
|
+
|
|
540
|
+
getTool(): ToolRequest {
|
|
541
|
+
return {
|
|
542
|
+
id: FindFilesByPattern.ID,
|
|
543
|
+
name: FindFilesByPattern.ID,
|
|
544
|
+
description: 'Find files in the workspace that match a given glob pattern. ' +
|
|
545
|
+
'This function allows efficient discovery of files using patterns like \'**/*.ts\' for all TypeScript files or ' +
|
|
546
|
+
'\'src/**/*.js\' for JavaScript files in the src directory. The function respects gitignore patterns and user exclusions, ' +
|
|
547
|
+
'returns relative paths from the workspace root, and limits results to 200 files maximum.',
|
|
548
|
+
parameters: {
|
|
549
|
+
type: 'object',
|
|
550
|
+
properties: {
|
|
551
|
+
pattern: {
|
|
552
|
+
type: 'string',
|
|
553
|
+
description: 'Glob pattern to match files against. ' +
|
|
554
|
+
'Examples: \'**/*.ts\' (all TypeScript files), \'src/**/*.js\' (JS files in src), ' +
|
|
555
|
+
'\'**/*.{js,ts}\' (JS or TS files), \'**/test/**\' (files in test directories). ' +
|
|
556
|
+
'Patterns are matched against paths relative to the workspace root.'
|
|
557
|
+
},
|
|
558
|
+
exclude: {
|
|
559
|
+
type: 'array',
|
|
560
|
+
items: { type: 'string' },
|
|
561
|
+
description: 'Optional array of glob patterns to exclude from results. ' +
|
|
562
|
+
'Examples: [\'**/*.spec.ts\', \'**/*.test.js\', \'node_modules/**\']. ' +
|
|
563
|
+
'If not specified, common exclusions like node_modules, .git, and dist are applied automatically.'
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
required: ['pattern']
|
|
567
|
+
},
|
|
568
|
+
handler: (arg_string: string, ctx: MutableChatRequestModel) => {
|
|
569
|
+
const args = JSON.parse(arg_string);
|
|
570
|
+
const cancellationToken = ctx.response.cancellationToken;
|
|
571
|
+
return this.findFiles(args.pattern, args.exclude, cancellationToken);
|
|
572
|
+
},
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
private async findFiles(pattern: string, excludePatterns?: string[], cancellationToken?: CancellationToken): Promise<string> {
|
|
577
|
+
if (cancellationToken?.isCancellationRequested) {
|
|
578
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
let workspaceRoot;
|
|
582
|
+
try {
|
|
583
|
+
workspaceRoot = await this.workspaceScope.getWorkspaceRoot();
|
|
584
|
+
} catch (error) {
|
|
585
|
+
return JSON.stringify({ error: error.message });
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
try {
|
|
589
|
+
// Build ignore patterns from gitignore and user preferences
|
|
590
|
+
const ignorePatterns = await this.buildIgnorePatterns(workspaceRoot);
|
|
591
|
+
|
|
592
|
+
const allExcludes = [...ignorePatterns];
|
|
593
|
+
if (excludePatterns && excludePatterns.length > 0) {
|
|
594
|
+
allExcludes.push(...excludePatterns);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
if (cancellationToken?.isCancellationRequested) {
|
|
598
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
const patternMatcher = new Minimatch(pattern, { dot: false });
|
|
602
|
+
const excludeMatchers = allExcludes.map(excludePattern => new Minimatch(excludePattern, { dot: true }));
|
|
603
|
+
const files: string[] = [];
|
|
604
|
+
const maxResults = 200;
|
|
605
|
+
|
|
606
|
+
await this.traverseDirectory(workspaceRoot, workspaceRoot, patternMatcher, excludeMatchers, files, maxResults, cancellationToken);
|
|
607
|
+
|
|
608
|
+
if (cancellationToken?.isCancellationRequested) {
|
|
609
|
+
return JSON.stringify({ error: 'Operation cancelled by user' });
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
const result: { files: string[]; totalFound?: number; truncated?: boolean } = {
|
|
613
|
+
files: files.slice(0, maxResults)
|
|
614
|
+
};
|
|
615
|
+
|
|
616
|
+
if (files.length > maxResults) {
|
|
617
|
+
result.totalFound = files.length;
|
|
618
|
+
result.truncated = true;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
return JSON.stringify(result);
|
|
622
|
+
|
|
623
|
+
} catch (error) {
|
|
624
|
+
return JSON.stringify({ error: `Failed to find files: ${error.message}` });
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
private async buildIgnorePatterns(workspaceRoot: URI): Promise<string[]> {
|
|
629
|
+
const patterns: string[] = [];
|
|
630
|
+
|
|
631
|
+
// Get user exclude patterns from preferences
|
|
632
|
+
const userExcludePatterns = this.preferences.get<string[]>(USER_EXCLUDE_PATTERN_PREF, []);
|
|
633
|
+
patterns.push(...userExcludePatterns);
|
|
634
|
+
|
|
635
|
+
// Add gitignore patterns if enabled
|
|
636
|
+
const shouldConsiderGitIgnore = this.preferences.get(CONSIDER_GITIGNORE_PREF, false);
|
|
637
|
+
if (shouldConsiderGitIgnore) {
|
|
638
|
+
try {
|
|
639
|
+
const gitignoreUri = workspaceRoot.resolve('.gitignore');
|
|
640
|
+
const gitignoreContent = await this.fileService.read(gitignoreUri);
|
|
641
|
+
const gitignoreLines = gitignoreContent.value
|
|
642
|
+
.split('\n')
|
|
643
|
+
.map(line => line.trim())
|
|
644
|
+
.filter(line => line && !line.startsWith('#'));
|
|
645
|
+
patterns.push(...gitignoreLines);
|
|
646
|
+
} catch {
|
|
647
|
+
// Gitignore file doesn't exist or can't be read, continue without it
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
return patterns;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
private async traverseDirectory(
|
|
655
|
+
currentUri: URI,
|
|
656
|
+
workspaceRoot: URI,
|
|
657
|
+
patternMatcher: Minimatch,
|
|
658
|
+
excludeMatchers: Minimatch[],
|
|
659
|
+
results: string[],
|
|
660
|
+
maxResults: number,
|
|
661
|
+
cancellationToken?: CancellationToken
|
|
662
|
+
): Promise<void> {
|
|
663
|
+
if (cancellationToken?.isCancellationRequested || results.length >= maxResults) {
|
|
664
|
+
return;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
try {
|
|
668
|
+
const stat = await this.fileService.resolve(currentUri);
|
|
669
|
+
if (!stat || !stat.isDirectory || !stat.children) {
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
for (const child of stat.children) {
|
|
674
|
+
if (cancellationToken?.isCancellationRequested || results.length >= maxResults) {
|
|
675
|
+
break;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
const relativePath = workspaceRoot.relative(child.resource)?.toString();
|
|
679
|
+
if (!relativePath) {
|
|
680
|
+
continue;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
const shouldExclude = excludeMatchers.some(matcher => matcher.match(relativePath)) ||
|
|
684
|
+
(await this.workspaceScope.shouldExclude(child));
|
|
685
|
+
|
|
686
|
+
if (shouldExclude) {
|
|
687
|
+
continue;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
if (child.isDirectory) {
|
|
691
|
+
await this.traverseDirectory(child.resource, workspaceRoot, patternMatcher, excludeMatchers, results, maxResults, cancellationToken);
|
|
692
|
+
} else if (patternMatcher.match(relativePath)) {
|
|
693
|
+
results.push(relativePath);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
} catch {
|
|
697
|
+
// If we can't access a directory, skip it
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { PromptVariantSet } from '@theia/ai-core/lib/common';
|
|
12
12
|
import {
|
|
13
13
|
GET_WORKSPACE_FILE_LIST_FUNCTION_ID, FILE_CONTENT_FUNCTION_ID, SEARCH_IN_WORKSPACE_FUNCTION_ID,
|
|
14
|
-
GET_FILE_DIAGNOSTICS_ID
|
|
14
|
+
GET_FILE_DIAGNOSTICS_ID, FIND_FILES_BY_PATTERN_FUNCTION_ID
|
|
15
15
|
} from './workspace-functions';
|
|
16
16
|
import { CONTEXT_FILES_VARIABLE_ID, TASK_CONTEXT_SUMMARY_VARIABLE_ID } from './context-variables';
|
|
17
17
|
import { UPDATE_CONTEXT_FILES_FUNCTION_ID } from './context-functions';
|
|
@@ -38,6 +38,7 @@ implement the change plan. If you refer to files, always mention the workspace-r
|
|
|
38
38
|
Use the following functions to interact with the workspace files if you require context:
|
|
39
39
|
- **~{${GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
40
40
|
- **~{${FILE_CONTENT_FUNCTION_ID}}**
|
|
41
|
+
- **~{${FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
41
42
|
- **~{${SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
42
43
|
|
|
43
44
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -74,6 +75,7 @@ implement the change plan. If you refer to files, always mention the workspace-r
|
|
|
74
75
|
Use the following functions to interact with the workspace files as needed:
|
|
75
76
|
- **~{${GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**: Lists files and directories in a specific directory.
|
|
76
77
|
- **~{${FILE_CONTENT_FUNCTION_ID}}**: Retrieves the content of a specific file.
|
|
78
|
+
- **~{${FIND_FILES_BY_PATTERN_FUNCTION_ID}}**: Find files by glob patterns like '**/*.ts'.
|
|
77
79
|
|
|
78
80
|
### Workspace Navigation Guidelines
|
|
79
81
|
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
FILE_CONTENT_FUNCTION_ID,
|
|
17
17
|
GET_FILE_DIAGNOSTICS_ID,
|
|
18
18
|
SEARCH_IN_WORKSPACE_FUNCTION_ID,
|
|
19
|
+
FIND_FILES_BY_PATTERN_FUNCTION_ID,
|
|
19
20
|
LIST_TASKS_FUNCTION_ID,
|
|
20
21
|
RUN_TASK_FUNCTION_ID
|
|
21
22
|
} from './workspace-functions';
|
|
@@ -74,6 +75,7 @@ Never guess or hallucinate file content or structure. Use tools for all workspac
|
|
|
74
75
|
### Workspace Exploration
|
|
75
76
|
- ~{${GET_WORKSPACE_FILE_LIST_FUNCTION_ID}} — list contents of a specific directory
|
|
76
77
|
- ~{${FILE_CONTENT_FUNCTION_ID}} — retrieve the content of a file
|
|
78
|
+
- ~{${FIND_FILES_BY_PATTERN_FUNCTION_ID}} — find files matching glob patterns (e.g., '**/*.ts' for all TypeScript files)
|
|
77
79
|
- ~{${SEARCH_IN_WORKSPACE_FUNCTION_ID}}} — locate references or patterns (only search if you are missing information, always prefer examples that are explicitly provided, never \
|
|
78
80
|
search for files you already know the path for)
|
|
79
81
|
- ~{${UPDATE_CONTEXT_FILES_FUNCTION_ID}} — bookmark important files for context
|
|
@@ -168,6 +170,7 @@ which will be reviewed and accepted by the user.
|
|
|
168
170
|
Use the following functions to interact with the workspace files if you require context:
|
|
169
171
|
- **~{${GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
170
172
|
- **~{${FILE_CONTENT_FUNCTION_ID}}**
|
|
173
|
+
- **~{${FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
171
174
|
- **~{${SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
172
175
|
|
|
173
176
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -238,6 +241,7 @@ which will be reviewed and accepted by the user.
|
|
|
238
241
|
Use the following functions to interact with the workspace files if you require context:
|
|
239
242
|
- **~{${GET_WORKSPACE_FILE_LIST_FUNCTION_ID}}**
|
|
240
243
|
- **~{${FILE_CONTENT_FUNCTION_ID}}**
|
|
244
|
+
- **~{${FIND_FILES_BY_PATTERN_FUNCTION_ID}}** (find files by glob patterns like '**/*.ts')
|
|
241
245
|
- **~{${SEARCH_IN_WORKSPACE_FUNCTION_ID}}**
|
|
242
246
|
|
|
243
247
|
If you cannot find good search terms, navigate the directory structure.
|
|
@@ -18,6 +18,7 @@ export const GET_WORKSPACE_FILE_LIST_FUNCTION_ID = 'getWorkspaceFileList';
|
|
|
18
18
|
export const GET_WORKSPACE_DIRECTORY_STRUCTURE_FUNCTION_ID = 'getWorkspaceDirectoryStructure';
|
|
19
19
|
export const GET_FILE_DIAGNOSTICS_ID = 'getFileDiagnostics';
|
|
20
20
|
export const SEARCH_IN_WORKSPACE_FUNCTION_ID = 'searchInWorkspace';
|
|
21
|
+
export const FIND_FILES_BY_PATTERN_FUNCTION_ID = 'findFilesByPattern';
|
|
21
22
|
export const LIST_TASKS_FUNCTION_ID = 'listTasks';
|
|
22
23
|
export const RUN_TASK_FUNCTION_ID = 'runTask';
|
|
23
24
|
export const LIST_LAUNCH_CONFIGURATIONS_FUNCTION_ID = 'listLaunchConfigurations';
|