@aws/lsp-codewhisperer 0.0.49 → 0.0.50
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/CHANGELOG.md +18 -0
- package/out/language-server/agenticChat/agenticChatController.d.ts +9 -3
- package/out/language-server/agenticChat/agenticChatController.js +75 -14
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/constants.d.ts +3 -3
- package/out/language-server/agenticChat/constants.js +3 -5
- package/out/language-server/agenticChat/constants.js.map +1 -1
- package/out/language-server/agenticChat/context/addtionalContextProvider.d.ts +39 -6
- package/out/language-server/agenticChat/context/addtionalContextProvider.js +329 -53
- package/out/language-server/agenticChat/context/addtionalContextProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +1 -0
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
- package/out/language-server/agenticChat/context/contextCommandsProvider.js +4 -2
- package/out/language-server/agenticChat/context/contextCommandsProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/contextUtils.d.ts +21 -2
- package/out/language-server/agenticChat/context/contextUtils.js +45 -16
- package/out/language-server/agenticChat/context/contextUtils.js.map +1 -1
- package/out/language-server/agenticChat/qAgenticChatServer.js +15 -0
- package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
- package/out/language-server/agenticChat/tabBarController.d.ts +1 -1
- package/out/language-server/agenticChat/tabBarController.js +5 -4
- package/out/language-server/agenticChat/tabBarController.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +9 -2
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +118 -6
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.d.ts +17 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js +3 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
- package/out/language-server/chat/chatController.d.ts +1 -1
- package/out/language-server/chat/chatController.js.map +1 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.js +5 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
- package/out/language-server/inline-completion/auto-trigger/EditPredictionAutoTriggerTestConstants.d.ts +59 -0
- package/out/language-server/inline-completion/auto-trigger/EditPredictionAutoTriggerTestConstants.js +189 -0
- package/out/language-server/inline-completion/auto-trigger/EditPredictionAutoTriggerTestConstants.js.map +1 -0
- package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.d.ts +27 -0
- package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js +57 -0
- package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js.map +1 -0
- package/out/language-server/netTransform/artifactManager.js +3 -0
- package/out/language-server/netTransform/artifactManager.js.map +1 -1
- package/out/language-server/netTransform/models.d.ts +2 -0
- package/out/language-server/netTransform/models.js.map +1 -1
- package/out/language-server/netTransform/tests/mockData.js +1 -0
- package/out/language-server/netTransform/tests/mockData.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceContextServer.js +11 -4
- package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +1 -0
- package/out/language-server/workspaceContext/workspaceFolderManager.js +24 -15
- package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
- package/out/shared/telemetry/telemetryService.d.ts +5 -0
- package/out/shared/telemetry/telemetryService.js +5 -0
- package/out/shared/telemetry/telemetryService.js.map +1 -1
- package/out/shared/telemetry/types.d.ts +5 -0
- package/out/shared/telemetry/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,42 +1,125 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdditionalContextProvider = void 0;
|
|
3
|
+
exports.AdditionalContextProvider = exports.activeFileCmd = exports.ACTIVE_EDITOR_CONTEXT_ID = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const agenticChatTriggerContext_1 = require("./agenticChatTriggerContext");
|
|
6
6
|
const vscode_uri_1 = require("vscode-uri");
|
|
7
7
|
const lsp_core_1 = require("@aws/lsp-core");
|
|
8
8
|
const contextUtils_1 = require("./contextUtils");
|
|
9
9
|
const localProjectContextController_1 = require("../../../shared/localProjectContextController");
|
|
10
|
+
exports.ACTIVE_EDITOR_CONTEXT_ID = 'active-editor';
|
|
11
|
+
exports.activeFileCmd = {
|
|
12
|
+
command: 'Active file',
|
|
13
|
+
id: exports.ACTIVE_EDITOR_CONTEXT_ID,
|
|
14
|
+
icon: 'file',
|
|
15
|
+
description: 'Reference active text file',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* AdditionalContextProvider manages context information for Amazon Q chat sessions.
|
|
19
|
+
* It handles workspace rules, pinned context, and file context for chat interactions.
|
|
20
|
+
* The provider retrieves available rules whenever requested by the client.
|
|
21
|
+
*/
|
|
10
22
|
class AdditionalContextProvider {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
23
|
+
features;
|
|
24
|
+
chatDb;
|
|
25
|
+
totalRulesCount = 0;
|
|
26
|
+
constructor(features, chatDb) {
|
|
27
|
+
this.features = features;
|
|
28
|
+
this.chatDb = chatDb;
|
|
14
29
|
}
|
|
15
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Recursively collects markdown files from a directory and its subdirectories
|
|
32
|
+
* @param workspaceFolder The root workspace folder path
|
|
33
|
+
* @param dirPath The directory to search in
|
|
34
|
+
* @param rulesFiles Array to collect the found files
|
|
35
|
+
*/
|
|
36
|
+
async collectMarkdownFilesRecursively(workspaceFolder, dirPath, rulesFiles) {
|
|
37
|
+
const entries = await this.features.workspace.fs.readdir(dirPath);
|
|
38
|
+
for (const entry of entries) {
|
|
39
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
40
|
+
if (entry.isDirectory()) {
|
|
41
|
+
// Recursively search subdirectories
|
|
42
|
+
await this.collectMarkdownFilesRecursively(workspaceFolder, fullPath, rulesFiles);
|
|
43
|
+
}
|
|
44
|
+
else if (entry.isFile() && entry.name.endsWith(contextUtils_1.promptFileExtension)) {
|
|
45
|
+
// Add markdown file to the list
|
|
46
|
+
const relativePath = path.relative(workspaceFolder, fullPath);
|
|
47
|
+
rulesFiles.push({
|
|
48
|
+
workspaceFolder: workspaceFolder,
|
|
49
|
+
type: 'file',
|
|
50
|
+
relativePath,
|
|
51
|
+
id: fullPath,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Internal method to collect workspace rules without tab filtering
|
|
58
|
+
*/
|
|
59
|
+
async collectWorkspaceRulesInternal() {
|
|
16
60
|
const rulesFiles = [];
|
|
17
|
-
let workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.workspace);
|
|
61
|
+
let workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.features.workspace);
|
|
18
62
|
if (!workspaceFolders.length) {
|
|
19
63
|
return rulesFiles;
|
|
20
64
|
}
|
|
21
65
|
for (const workspaceFolder of workspaceFolders) {
|
|
66
|
+
// Check for rules in .amazonq/rules directory and its subdirectories
|
|
22
67
|
const rulesPath = path.join(workspaceFolder, '.amazonq', 'rules');
|
|
23
|
-
const folderExists = await this.workspace.fs.exists(rulesPath);
|
|
68
|
+
const folderExists = await this.features.workspace.fs.exists(rulesPath);
|
|
24
69
|
if (folderExists) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
70
|
+
await this.collectMarkdownFilesRecursively(workspaceFolder, rulesPath, rulesFiles);
|
|
71
|
+
}
|
|
72
|
+
// Check for README.md in workspace root
|
|
73
|
+
const readmePath = path.join(workspaceFolder, 'README.md');
|
|
74
|
+
const readmeExists = await this.features.workspace.fs.exists(readmePath);
|
|
75
|
+
if (readmeExists) {
|
|
76
|
+
rulesFiles.push({
|
|
77
|
+
workspaceFolder: workspaceFolder,
|
|
78
|
+
type: 'file',
|
|
79
|
+
relativePath: 'README.md',
|
|
80
|
+
id: readmePath,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Check for AmazonQ.md in workspace root
|
|
84
|
+
const amazonQPath = path.join(workspaceFolder, 'AmazonQ.md');
|
|
85
|
+
const amazonQExists = await this.features.workspace.fs.exists(amazonQPath);
|
|
86
|
+
if (amazonQExists) {
|
|
87
|
+
rulesFiles.push({
|
|
88
|
+
workspaceFolder: workspaceFolder,
|
|
89
|
+
type: 'file',
|
|
90
|
+
relativePath: 'AmazonQ.md',
|
|
91
|
+
id: amazonQPath,
|
|
92
|
+
});
|
|
36
93
|
}
|
|
37
94
|
}
|
|
38
95
|
return rulesFiles;
|
|
39
96
|
}
|
|
97
|
+
async collectWorkspaceRules(tabId) {
|
|
98
|
+
// Always collect rules directly from the filesystem
|
|
99
|
+
const rulesFiles = await this.collectWorkspaceRulesInternal();
|
|
100
|
+
this.totalRulesCount = rulesFiles.length;
|
|
101
|
+
// If no tabId, return all rules without filtering
|
|
102
|
+
if (!tabId) {
|
|
103
|
+
return rulesFiles;
|
|
104
|
+
}
|
|
105
|
+
// Filter rules based on user's rules preferences for current tab
|
|
106
|
+
let rulesState = this.chatDb.getRules(tabId) || { folders: {}, rules: {} };
|
|
107
|
+
return rulesFiles.filter(rule => {
|
|
108
|
+
// If the rule has an explicit state in rulesState, use that value
|
|
109
|
+
if (rulesState.rules[rule.id] !== undefined) {
|
|
110
|
+
return rulesState.rules[rule.id];
|
|
111
|
+
}
|
|
112
|
+
// Otherwise, check the parent folder's state
|
|
113
|
+
const dirPath = path.dirname(rule.relativePath);
|
|
114
|
+
const folderName = dirPath === '.' ? '' : dirPath;
|
|
115
|
+
// If folder state is explicitly set to false, the rule inherits that state
|
|
116
|
+
if (rulesState.folders[folderName] === false) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
// Default to true for all other cases
|
|
120
|
+
return true;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
40
123
|
getContextType(prompt) {
|
|
41
124
|
if (prompt.name === 'symbol') {
|
|
42
125
|
return 'code';
|
|
@@ -51,49 +134,66 @@ class AdditionalContextProvider {
|
|
|
51
134
|
}
|
|
52
135
|
return 'file';
|
|
53
136
|
}
|
|
54
|
-
async getAdditionalContext(triggerContext, context) {
|
|
55
|
-
|
|
56
|
-
triggerContext.contextInfo = contextUtils_1.initialContextInfo;
|
|
57
|
-
}
|
|
137
|
+
async getAdditionalContext(triggerContext, tabId, context) {
|
|
138
|
+
triggerContext.contextInfo = (0, contextUtils_1.getInitialContextInfo)();
|
|
58
139
|
const additionalContextCommands = [];
|
|
59
|
-
const workspaceRules = await this.collectWorkspaceRules();
|
|
140
|
+
const workspaceRules = await this.collectWorkspaceRules(tabId);
|
|
60
141
|
let workspaceFolderPath = triggerContext.workspaceFolder?.uri
|
|
61
142
|
? vscode_uri_1.URI.parse(triggerContext.workspaceFolder.uri).fsPath
|
|
62
|
-
: lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.workspace)[0];
|
|
143
|
+
: lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.features.workspace)[0];
|
|
63
144
|
if (workspaceRules.length > 0) {
|
|
64
145
|
additionalContextCommands.push(...workspaceRules);
|
|
65
146
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
147
|
+
// Merge pinned context with context added to prompt, avoiding duplicates
|
|
148
|
+
let contextInfo = (context?.map(item => ({ ...item, pinned: false })) || []).concat(this.chatDb
|
|
149
|
+
.getPinnedContext(tabId)
|
|
150
|
+
.filter(item => !context?.find(innerItem => item.id === innerItem.id))
|
|
151
|
+
.map(item => ({ ...item, pinned: true })));
|
|
152
|
+
// If Active File context pill was removed from pinned context, remove it from payload
|
|
153
|
+
if (!contextInfo?.find(item => item.id === exports.ACTIVE_EDITOR_CONTEXT_ID)) {
|
|
154
|
+
triggerContext.text = undefined;
|
|
155
|
+
triggerContext.cursorState = undefined;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Remove Active File from context list since its contents have already been added to triggerContext.text
|
|
159
|
+
contextInfo = contextInfo.filter(item => item.id !== exports.ACTIVE_EDITOR_CONTEXT_ID);
|
|
160
|
+
}
|
|
161
|
+
if (contextInfo.some(item => item.id === '@workspace')) {
|
|
162
|
+
triggerContext.hasWorkspace = true;
|
|
163
|
+
}
|
|
164
|
+
const contextCounts = (0, contextUtils_1.getInitialContextInfo)();
|
|
165
|
+
additionalContextCommands.push(...this.mapToContextCommandItems(contextInfo, workspaceFolderPath));
|
|
166
|
+
for (const c of contextInfo) {
|
|
167
|
+
if (c.id === 'prompt') {
|
|
168
|
+
c.pinned
|
|
169
|
+
? contextCounts.pinnedContextCount.promptContextCount++
|
|
170
|
+
: contextCounts.contextCount.promptContextCount++;
|
|
171
|
+
}
|
|
172
|
+
else if (c.label === 'file') {
|
|
173
|
+
c.pinned
|
|
174
|
+
? contextCounts.pinnedContextCount.fileContextCount++
|
|
175
|
+
: contextCounts.contextCount.fileContextCount++;
|
|
176
|
+
}
|
|
177
|
+
else if (c.label === 'folder') {
|
|
178
|
+
c.pinned
|
|
179
|
+
? contextCounts.pinnedContextCount.folderContextCount++
|
|
180
|
+
: contextCounts.contextCount.folderContextCount++;
|
|
181
|
+
}
|
|
182
|
+
else if (c.label === 'code') {
|
|
183
|
+
c.pinned
|
|
184
|
+
? contextCounts.pinnedContextCount.codeContextCount++
|
|
185
|
+
: contextCounts.contextCount.codeContextCount++;
|
|
88
186
|
}
|
|
89
|
-
triggerContext.contextInfo.contextCount = {
|
|
90
|
-
...triggerContext.contextInfo.contextCount,
|
|
91
|
-
fileContextCount,
|
|
92
|
-
folderContextCount,
|
|
93
|
-
promptContextCount,
|
|
94
|
-
codeContextCount,
|
|
95
|
-
};
|
|
96
187
|
}
|
|
188
|
+
triggerContext.contextInfo = {
|
|
189
|
+
...triggerContext.contextInfo,
|
|
190
|
+
contextCount: {
|
|
191
|
+
...contextCounts.contextCount,
|
|
192
|
+
activeRuleContextCount: workspaceRules.length,
|
|
193
|
+
totalRuleContextCount: this.totalRulesCount,
|
|
194
|
+
},
|
|
195
|
+
pinnedContextCount: contextCounts.pinnedContextCount,
|
|
196
|
+
};
|
|
97
197
|
if (additionalContextCommands.length === 0) {
|
|
98
198
|
return [];
|
|
99
199
|
}
|
|
@@ -184,6 +284,182 @@ class AdditionalContextProvider {
|
|
|
184
284
|
}
|
|
185
285
|
return contextCommands;
|
|
186
286
|
}
|
|
287
|
+
sendPinnedContext(tabId) {
|
|
288
|
+
let pinnedContextEnabled = this.features.lsp.getClientInitializeParams()?.initializationOptions?.aws?.awsClientCapabilities?.q
|
|
289
|
+
?.pinnedContextEnabled === true;
|
|
290
|
+
if (pinnedContextEnabled) {
|
|
291
|
+
let pinnedContext = this.chatDb.getPinnedContext(tabId);
|
|
292
|
+
this.features.chat.sendPinnedContext({
|
|
293
|
+
tabId,
|
|
294
|
+
contextCommandGroups: [
|
|
295
|
+
{
|
|
296
|
+
commands: pinnedContext,
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
showRules: lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.features.workspace).length > 0,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
async getRulesFolders(tabId) {
|
|
304
|
+
const workspaceRules = await this.collectWorkspaceRules();
|
|
305
|
+
return this.convertRulesToRulesFolders(workspaceRules, tabId);
|
|
306
|
+
}
|
|
307
|
+
async onRuleClick(params) {
|
|
308
|
+
let rulesState = { ...this.chatDb.getRules(params.tabId) };
|
|
309
|
+
if (params.type === 'folder') {
|
|
310
|
+
// Get current state (default to true if not set)
|
|
311
|
+
const currentActive = rulesState.folders[params.id] !== false;
|
|
312
|
+
// Toggle the state
|
|
313
|
+
rulesState.folders[params.id] = !currentActive;
|
|
314
|
+
// Get all rules in this folder to update their states
|
|
315
|
+
const rulesFolders = await this.getRulesFolders(params.tabId);
|
|
316
|
+
const folder = rulesFolders.find(folder => folder.folderName === params.id);
|
|
317
|
+
if (folder && folder.rules) {
|
|
318
|
+
// Update all rules in this folder to match folder state
|
|
319
|
+
folder.rules.forEach(rule => {
|
|
320
|
+
rulesState.rules[rule.id] = !currentActive;
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
this.chatDb.setRules(params.tabId, rulesState);
|
|
324
|
+
return { ...params, success: true };
|
|
325
|
+
}
|
|
326
|
+
else if (params.type === 'rule') {
|
|
327
|
+
// Get current state (default to true if not set)
|
|
328
|
+
const currentActive = rulesState.rules[params.id] !== false;
|
|
329
|
+
// Toggle the state
|
|
330
|
+
rulesState.rules[params.id] = !currentActive;
|
|
331
|
+
// Check if we need to update parent folder state
|
|
332
|
+
const rulesFolders = await this.getRulesFolders(params.tabId);
|
|
333
|
+
const folder = rulesFolders.find(folder => folder.rules.some(rule => rule.id === params.id));
|
|
334
|
+
if (folder) {
|
|
335
|
+
// Check if all rules in folder are now active/inactive
|
|
336
|
+
const allRulesInFolder = folder.rules.map(r => r.id);
|
|
337
|
+
const activeRulesCount = allRulesInFolder.filter(ruleId => rulesState.rules[ruleId] !== false).length;
|
|
338
|
+
// Update folder state based on its rules
|
|
339
|
+
if (activeRulesCount === 0) {
|
|
340
|
+
rulesState.folders[folder.folderName || ''] = false;
|
|
341
|
+
}
|
|
342
|
+
else if (activeRulesCount === allRulesInFolder.length) {
|
|
343
|
+
rulesState.folders[folder.folderName || ''] = true;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
this.chatDb.setRules(params.tabId, rulesState);
|
|
347
|
+
return { ...params, success: true };
|
|
348
|
+
}
|
|
349
|
+
return { ...params, success: false };
|
|
350
|
+
}
|
|
351
|
+
async onListRules(params) {
|
|
352
|
+
return {
|
|
353
|
+
tabId: params.tabId,
|
|
354
|
+
rules: await this.getRulesFolders(params.tabId),
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
onPinnedContextAdd(params) {
|
|
358
|
+
// add to this.#pinnedContext if that id isnt already in there
|
|
359
|
+
let itemToAdd = params.contextCommandGroups[0]?.commands?.[0];
|
|
360
|
+
if (itemToAdd) {
|
|
361
|
+
this.chatDb.addPinnedContext(params.tabId, itemToAdd);
|
|
362
|
+
}
|
|
363
|
+
this.sendPinnedContext(params.tabId);
|
|
364
|
+
}
|
|
365
|
+
onPinnedContextRemove(params) {
|
|
366
|
+
let itemToRemove = params.contextCommandGroups[0]?.commands?.[0];
|
|
367
|
+
if (itemToRemove) {
|
|
368
|
+
this.chatDb.removePinnedContext(params.tabId, itemToRemove);
|
|
369
|
+
}
|
|
370
|
+
this.sendPinnedContext(params.tabId);
|
|
371
|
+
}
|
|
372
|
+
convertRulesToRulesFolders(workspaceRules, tabId) {
|
|
373
|
+
// Check if there's only one workspace folder
|
|
374
|
+
const workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.features.workspace);
|
|
375
|
+
const isSingleWorkspace = workspaceFolders.length <= 1;
|
|
376
|
+
// Group rules by their parent folder
|
|
377
|
+
const folderMap = new Map();
|
|
378
|
+
for (const rule of workspaceRules) {
|
|
379
|
+
// Extract the folder path from the relativePath
|
|
380
|
+
let folderName;
|
|
381
|
+
// Get directory path
|
|
382
|
+
const dirPath = path.dirname(rule.relativePath);
|
|
383
|
+
if (isSingleWorkspace) {
|
|
384
|
+
// In single workspace: root files have undefined folder name
|
|
385
|
+
if (dirPath === '.') {
|
|
386
|
+
folderName = undefined;
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
folderName = dirPath;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
// In multi-workspace: include workspace folder name for all files
|
|
394
|
+
// Root files will use the workspace folder name
|
|
395
|
+
// Subdir files will use workspace folder name + subdir
|
|
396
|
+
const workspaceFolderName = path.basename(rule.workspaceFolder);
|
|
397
|
+
folderName = dirPath === '.' ? workspaceFolderName : `${workspaceFolderName}/${dirPath}`;
|
|
398
|
+
}
|
|
399
|
+
// Get or create the folder's rule list
|
|
400
|
+
const folderRules = folderMap.get(folderName || '') || [];
|
|
401
|
+
folderRules.push(rule);
|
|
402
|
+
folderMap.set(folderName || '', folderRules);
|
|
403
|
+
}
|
|
404
|
+
// Convert the map to RulesFolder array
|
|
405
|
+
const rulesFolders = [];
|
|
406
|
+
let rulesState = this.chatDb.getRules(tabId);
|
|
407
|
+
for (const [folderName, rules] of folderMap.entries()) {
|
|
408
|
+
// Map rules to their active states
|
|
409
|
+
const ruleStates = rules.map(rule => {
|
|
410
|
+
const ruleId = rule.id;
|
|
411
|
+
// For rule active state:
|
|
412
|
+
// 1. If explicitly set in rules map, use that value
|
|
413
|
+
// 2. Otherwise, new rules are active by default
|
|
414
|
+
const folderDefaultState = rulesState.folders[folderName] !== undefined ? rulesState.folders[folderName] : true;
|
|
415
|
+
return rulesState.rules[ruleId] !== undefined ? rulesState.rules[ruleId] : folderDefaultState;
|
|
416
|
+
});
|
|
417
|
+
// Determine folder active state
|
|
418
|
+
let folderActive;
|
|
419
|
+
// If explicitly set in folders map, start with that value
|
|
420
|
+
if (rulesState.folders[folderName] !== undefined) {
|
|
421
|
+
folderActive = rulesState.folders[folderName];
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
// Default to true for new folders
|
|
425
|
+
folderActive = true;
|
|
426
|
+
}
|
|
427
|
+
// Check if we need to set indeterminate state
|
|
428
|
+
// Count active and inactive rules
|
|
429
|
+
const activeRules = ruleStates.filter(state => state === true).length;
|
|
430
|
+
const inactiveRules = ruleStates.filter(state => state === false).length;
|
|
431
|
+
// If there are both active and inactive rules, set to indeterminate
|
|
432
|
+
if (activeRules > 0 && inactiveRules > 0) {
|
|
433
|
+
folderActive = 'indeterminate';
|
|
434
|
+
}
|
|
435
|
+
const rulesFolder = {
|
|
436
|
+
folderName: folderName || undefined,
|
|
437
|
+
active: folderActive,
|
|
438
|
+
rules: rules.map((rule, index) => {
|
|
439
|
+
return {
|
|
440
|
+
name: path.basename(rule.relativePath, contextUtils_1.promptFileExtension),
|
|
441
|
+
active: ruleStates[index],
|
|
442
|
+
id: rule.id,
|
|
443
|
+
};
|
|
444
|
+
}),
|
|
445
|
+
};
|
|
446
|
+
rulesFolders.push(rulesFolder);
|
|
447
|
+
}
|
|
448
|
+
// Sort the folders: undefined folderName first, then alphabetically
|
|
449
|
+
rulesFolders.sort((a, b) => {
|
|
450
|
+
// If a has undefined folderName, it should come first
|
|
451
|
+
if (a.folderName === undefined) {
|
|
452
|
+
return -1;
|
|
453
|
+
}
|
|
454
|
+
// If b has undefined folderName, it should come first
|
|
455
|
+
if (b.folderName === undefined) {
|
|
456
|
+
return 1;
|
|
457
|
+
}
|
|
458
|
+
// Otherwise sort alphabetically
|
|
459
|
+
return a.folderName.localeCompare(b.folderName);
|
|
460
|
+
});
|
|
461
|
+
return rulesFolders;
|
|
462
|
+
}
|
|
187
463
|
}
|
|
188
464
|
exports.AdditionalContextProvider = AdditionalContextProvider;
|
|
189
465
|
//# sourceMappingURL=addtionalContextProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addtionalContextProvider.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/addtionalContextProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"addtionalContextProvider.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/addtionalContextProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,7 +57,7 @@ class AgenticChatTriggerContext {
|
|
|
57
57
|
const { prompt } = params;
|
|
58
58
|
const workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.#workspace).slice(0, exports.maxWorkspaceFolders);
|
|
59
59
|
const defaultEditorState = { workspaceFolders };
|
|
60
|
-
const hasWorkspace =
|
|
60
|
+
const hasWorkspace = triggerContext.hasWorkspace;
|
|
61
61
|
// prompt.prompt is what user typed in the input, should be sent to backend
|
|
62
62
|
// prompt.escapedPrompt is HTML serialized string, which should only be used for UI.
|
|
63
63
|
let promptContent = prompt.prompt ?? prompt.escapedPrompt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agenticChatTriggerContext.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/agenticChatTriggerContext.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,wFAS4C;AAC5C,qFAQuD;AAEvD,yEAA+F;AAC/F,4CAA8C;AAC9C,2CAAgC;AAChC,iGAA6F;AAC7F,6BAA4B;AAE5B,yEAAuE;AAEvE,iDAAwF;AACxF,0FAAsF;
|
|
1
|
+
{"version":3,"file":"agenticChatTriggerContext.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/agenticChatTriggerContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const path = require("path");
|
|
|
5
5
|
const chokidar_1 = require("chokidar");
|
|
6
6
|
const contextUtils_1 = require("./contextUtils");
|
|
7
7
|
const localProjectContextController_1 = require("../../../shared/localProjectContextController");
|
|
8
|
+
const addtionalContextProvider_1 = require("./addtionalContextProvider");
|
|
8
9
|
class ContextCommandsProvider {
|
|
9
10
|
logging;
|
|
10
11
|
chat;
|
|
@@ -131,9 +132,10 @@ class ContextCommandsProvider {
|
|
|
131
132
|
};
|
|
132
133
|
const workspaceCmd = {
|
|
133
134
|
command: '@workspace',
|
|
134
|
-
|
|
135
|
+
id: '@workspace',
|
|
136
|
+
description: 'Reference all code in workspace',
|
|
135
137
|
};
|
|
136
|
-
const commands = [workspaceCmd, folderCmdGroup, fileCmdGroup, codeCmdGroup, promptCmdGroup];
|
|
138
|
+
const commands = [workspaceCmd, addtionalContextProvider_1.activeFileCmd, folderCmdGroup, fileCmdGroup, codeCmdGroup, promptCmdGroup];
|
|
137
139
|
const allCommands = [
|
|
138
140
|
{
|
|
139
141
|
commands: commands,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextCommandsProvider.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/contextCommandsProvider.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAC5B,uCAA2C;AAI3C,iDAA6E;AAE7E,iGAA6F;
|
|
1
|
+
{"version":3,"file":"contextCommandsProvider.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/contextCommandsProvider.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAC5B,uCAA2C;AAI3C,iDAA6E;AAE7E,iGAA6F;AAE7F,yEAA0D;AAE1D,MAAa,uBAAuB;IAIX;IACA;IACA;IACA;IANb,iBAAiB,CAAY;IAC7B,qBAAqB,CAAuB;IACpD,YACqB,OAAgB,EAChB,IAAU,EACV,SAAoB,EACpB,GAAQ;QAHR,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAM;QACV,cAAS,GAAT,SAAS,CAAW;QACpB,QAAG,GAAH,GAAG,CAAK;QAEzB,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,6BAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC,CACxE,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,6BAA6B;QACvC,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,6DAA6B,CAAC,WAAW,EAAE,CAAA;YACpE,UAAU,CAAC,qBAAqB,GAAG,KAAK,EAAC,YAAY,EAAC,EAAE;gBACpD,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;YACxD,CAAC,CAAA;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAED,yBAAyB;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAA,gBAAK,EAAC,IAAA,sCAAuB,GAAE,EAAE;YACtD,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;SACtB,CAAC,CAAA;QAEF,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB;QACvB,MAAM,mBAAmB,GAAG;YACxB,OAAO,EAAE,qBAAqB;YAC9B,EAAE,EAAE,qBAAqB;YACzB,IAAI,EAAE,UAAU;SACnB,CAAA;QACD,IAAI,CAAC;YACD,MAAM,oBAAoB,GAAG,IAAA,sCAAuB,GAAE,CAAA;YACtD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC5E,IAAI,eAAe,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;gBACnE,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAmB,CAAC,CAAC,CAAA;gBACvF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CACxC,IAAI,CAAC,EAAE,CACH,CAAC;oBACG,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,kCAAmB,CAAC;oBACtD,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM;oBACb,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC;iBAC3C,CAAmB,CAC3B,CAAA;gBACD,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;gBACxC,OAAO,cAAc,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,mBAAmB,CAAC,CAAA;YAChC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAA;YAC/D,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAA2B;QACpD,MAAM,UAAU,GAAqB,EAAE,CAAA;QACvC,MAAM,cAAc,GAAmB;YACnC,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACN;oBACI,SAAS,EAAE,SAAS;oBACpB,QAAQ,EAAE,UAAU;iBACvB;aACJ;YACD,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,QAAQ;SACjB,CAAA;QAED,MAAM,QAAQ,GAAqB,EAAE,CAAA;QACrC,MAAM,YAAY,GAAmB;YACjC,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE;gBACN;oBACI,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,QAAQ;iBACrB;aACJ;YACD,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,MAAM;SACf,CAAA;QAED,MAAM,QAAQ,GAAqB,EAAE,CAAA;QACrC,MAAM,YAAY,GAAmB;YACjC,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE;gBACN;oBACI,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,QAAQ;iBACrB;aACJ;YACD,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,YAAY;SACrB,CAAA;QAED,MAAM,UAAU,GAAqB,EAAE,CAAA;QACvC,MAAM,cAAc,GAAmB;YACnC,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACN;oBACI,SAAS,EAAE,SAAS;oBACpB,QAAQ,EAAE,UAAU;iBACvB;aACJ;YACD,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,OAAO;SAChB,CAAA;QACD,MAAM,YAAY,GAAG;YACjB,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,YAAY;YAChB,WAAW,EAAE,iCAAiC;SACjD,CAAA;QACD,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,wCAAa,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAC1G,MAAM,WAAW,GAA0B;YACvC;gBACI,QAAQ,EAAE,QAAQ;aACrB;SACJ,CAAA;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACxD,IAAI,QAAQ,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;gBACvD,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC;gBAChD,EAAE,EAAE,IAAI,CAAC,EAAE;aACd,CAAA;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC;oBACV,GAAG,QAAQ;oBACX,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,MAAM;iBACf,CAAC,CAAA;YACN,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACZ,GAAG,QAAQ;oBACX,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;iBACjB,CAAC,CAAA;YACN,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC;oBACV,GAAG,QAAQ;oBACX,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACzB,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE;oBACzJ,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,YAAY;iBACrB,CAAC,CAAA;YACN,CAAC;QACL,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC1D,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAA;QACnC,OAAO,WAAW,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,MAAM,UAAU,GAAG,MAAM,CACrB,MAAM,6DAA6B,CAAC,WAAW,EAAE,CACpD,CAAC,qCAAqC,EAAE,CAAA;QACzC,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,6DAA6B,CAAC,WAAW,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAA;YAChG,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;IACL,CAAC;IAED,OAAO;QACH,KAAK,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAA;IACxC,CAAC;CACJ;AAjMD,0DAiMC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { RelevantTextDocumentAddition } from './agenticChatTriggerContext';
|
|
2
2
|
import { FileList } from '@aws/language-server-runtimes/server-interface';
|
|
3
3
|
export interface ContextInfo {
|
|
4
|
+
pinnedContextCount: {
|
|
5
|
+
fileContextCount: number;
|
|
6
|
+
folderContextCount: number;
|
|
7
|
+
promptContextCount: number;
|
|
8
|
+
codeContextCount: number;
|
|
9
|
+
};
|
|
4
10
|
contextCount: {
|
|
5
11
|
fileContextCount: number;
|
|
6
12
|
folderContextCount: number;
|
|
7
13
|
promptContextCount: number;
|
|
8
|
-
|
|
14
|
+
activeRuleContextCount: number;
|
|
15
|
+
totalRuleContextCount: number;
|
|
9
16
|
codeContextCount: number;
|
|
10
17
|
};
|
|
11
18
|
contextLength: {
|
|
@@ -15,7 +22,12 @@ export interface ContextInfo {
|
|
|
15
22
|
codeContextLength: number;
|
|
16
23
|
};
|
|
17
24
|
}
|
|
18
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new ContextInfo object with all values initialized to 0.
|
|
27
|
+
* Use this function to get a fresh context info structure.
|
|
28
|
+
* @returns A new ContextInfo object with zero-initialized values
|
|
29
|
+
*/
|
|
30
|
+
export declare function getInitialContextInfo(): ContextInfo;
|
|
19
31
|
export declare const promptFileExtension = ".md";
|
|
20
32
|
export declare const additionalContentInnerContextLimit = 8192;
|
|
21
33
|
export declare const additionalContentNameLimit = 1024;
|
|
@@ -27,6 +39,13 @@ export declare const getUserPromptsDirectory: () => string;
|
|
|
27
39
|
* @returns A sanitized file path within the user prompts directory
|
|
28
40
|
*/
|
|
29
41
|
export declare const getNewPromptFilePath: (promptName: string) => string;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a secure file path for a new rule file.
|
|
44
|
+
*
|
|
45
|
+
* @param ruleName - The user-provided name for the prompt
|
|
46
|
+
* @returns A sanitized file path within the user prompts directory
|
|
47
|
+
*/
|
|
48
|
+
export declare const getNewRuleFilePath: (ruleName: string, workspaceRulesDirectory: string) => string;
|
|
30
49
|
/**
|
|
31
50
|
* Merges a RelevantTextDocumentAddition array into a FileList, which is used to display list of context files.
|
|
32
51
|
* This function combines document fragments from the same file, merging overlapping
|