diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts index b97e3e2188b..01c28b42fdf 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts @@ -54,7 +54,7 @@ import { ILanguageModelToolsConfirmationService } from '../common/languageModelT import { ILanguageModelToolsService } from '../common/languageModelToolsService.js'; import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js'; import { PromptsConfig } from '../common/promptSyntax/config/config.js'; -import { INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, PROMPT_POSITRON_SOURCE_FOLDER, MODE_POSITRON_SOURCE_FOLDER } from '../common/promptSyntax/config/promptFileLocations.js'; +import { INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION } from '../common/promptSyntax/config/promptFileLocations.js'; import { PromptLanguageFeaturesProvider } from '../common/promptSyntax/promptFileContributions.js'; import { AGENT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL } from '../common/promptSyntax/promptTypes.js'; import { IPromptsService } from '../common/promptSyntax/service/promptsService.js'; @@ -132,7 +132,8 @@ import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler. // --- Start Positron --- import { PositronBuiltinToolsContribution } from './tools/tools.js'; import { ChatRuntimeSessionContextContribution } from './contrib/chatRuntimeSessionContext.js'; -import { INSTRUCTIONS_POSITRON_SOURCE_FOLDER } from '../common/promptSyntax/config/promptFileLocations.js'; +// eslint-disable-next-line no-duplicate-imports +import { INSTRUCTIONS_POSITRON_SOURCE_FOLDER, PROMPT_POSITRON_SOURCE_FOLDER, LEGACY_MODE_POSITRON_SOURCE_FOLDER } from '../common/promptSyntax/config/promptFileLocations.js'; // --- End Positron --- // Register configuration @@ -627,8 +628,8 @@ configurationRegistry.registerConfiguration({ AGENT_DOCUMENTATION_URL, ), default: { - // --- Start Positron --- - [MODE_POSITRON_SOURCE_FOLDER]: true, + // --- Start Positron --- + [LEGACY_MODE_POSITRON_SOURCE_FOLDER]: true, // --- End Positron --- [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true, }, diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.ts index 122d8c1b6cf..6b05b82a026 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.ts @@ -65,7 +65,8 @@ function isInAgentsFolder(fileUri: URI): boolean { // Additional search paths for `.vscode/positron` directory export const PROMPT_POSITRON_SOURCE_FOLDER = '.vscode/positron/prompts'; export const INSTRUCTIONS_POSITRON_SOURCE_FOLDER = '.vscode/positron/instructions'; -export const MODE_POSITRON_SOURCE_FOLDER = '.vscode/positron/chatmodes'; +export const LEGACY_MODE_POSITRON_SOURCE_FOLDER = '.vscode/positron/chatmodes'; +export const AGENTS_POSITRON_SOURCE_FOLDER = '.vscode/positron/agents'; // --- End Positron --- /** diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts index 1ebf5c3c598..ee401d81914 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts @@ -24,6 +24,11 @@ import { Emitter, Event } from '../../../../../../base/common/event.js'; import { Disposable, DisposableStore } from '../../../../../../base/common/lifecycle.js'; import { ILogService } from '../../../../../../platform/log/common/log.js'; +// --- Start Positron --- +// eslint-disable-next-line no-duplicate-imports +import { AGENTS_POSITRON_SOURCE_FOLDER } from '../config/promptFileLocations.js'; +// --- End Positron --- + /** * Utility class to locate prompt files. */ @@ -104,7 +109,12 @@ export class PromptFilesLocator extends Disposable { } public getAgentSourceFolder(): readonly URI[] { + // --- Start Positron --- + /* return this.toAbsoluteLocations([AGENTS_SOURCE_FOLDER]); + */ + return this.toAbsoluteLocations([AGENTS_SOURCE_FOLDER, AGENTS_POSITRON_SOURCE_FOLDER]); + // --- End Positron --- } /** @@ -189,6 +199,9 @@ export class PromptFilesLocator extends Disposable { const configuredLocations = PromptsConfig.promptSourceFolders(this.configService, type); if (type === PromptsType.agent) { configuredLocations.push(AGENTS_SOURCE_FOLDER); + // --- Start Positron --- + configuredLocations.push(AGENTS_POSITRON_SOURCE_FOLDER); + // --- End Positron --- } const absoluteLocations = this.toAbsoluteLocations(configuredLocations); return absoluteLocations.map(firstNonGlobParentAndPattern);