From de4db9f0eb5a4e5c4a8e26279dba3f6bbee862f9 Mon Sep 17 00:00:00 2001 From: George Stagg Date: Mon, 8 Dec 2025 09:26:05 +0000 Subject: [PATCH 1/3] Assistant: Add positron agents directory --- .../contrib/chat/browser/chat.contribution.ts | 8 ++++---- .../promptSyntax/config/promptFileLocations.ts | 3 ++- .../common/promptSyntax/utils/promptFilesLocator.ts | 12 ++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts index b97e3e2188b..862ab459259 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,7 @@ 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'; +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 +627,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..3111a9d734c 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,10 @@ 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 --- +import { AGENTS_POSITRON_SOURCE_FOLDER } from '../config/promptFileLocations.js'; +// --- End Positron --- + /** * Utility class to locate prompt files. */ @@ -104,7 +108,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 +198,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); From 1c4bb313583700550fc3bed5fb793f971f43f4e7 Mon Sep 17 00:00:00 2001 From: George Stagg Date: Mon, 8 Dec 2025 15:35:08 +0000 Subject: [PATCH 2/3] Update src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts Co-authored-by: sharon Signed-off-by: George Stagg --- .../contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts | 1 + 1 file changed, 1 insertion(+) 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 3111a9d734c..ee401d81914 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.ts @@ -25,6 +25,7 @@ import { Disposable, DisposableStore } from '../../../../../../base/common/lifec 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 --- From 593aef53933506e257dadab862e7268e2609d0ed Mon Sep 17 00:00:00 2001 From: George Stagg Date: Mon, 8 Dec 2025 15:35:19 +0000 Subject: [PATCH 3/3] Update src/vs/workbench/contrib/chat/browser/chat.contribution.ts Co-authored-by: sharon Signed-off-by: George Stagg --- src/vs/workbench/contrib/chat/browser/chat.contribution.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts index 862ab459259..01c28b42fdf 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts @@ -132,6 +132,7 @@ import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler. // --- Start Positron --- import { PositronBuiltinToolsContribution } from './tools/tools.js'; import { ChatRuntimeSessionContextContribution } from './contrib/chatRuntimeSessionContext.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 ---