@theia/ai-core 1.73.0-next.9 → 1.73.1
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/README.md +2 -2
- package/lib/browser/{agent-completion-notification-service.d.ts → agent-notification-service.d.ts} +12 -10
- package/lib/browser/agent-notification-service.d.ts.map +1 -0
- package/lib/browser/{agent-completion-notification-service.js → agent-notification-service.js} +37 -27
- package/lib/browser/agent-notification-service.js.map +1 -0
- package/lib/browser/ai-core-frontend-module.js +2 -2
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/frontend-language-model-alias-registry.js +3 -3
- package/lib/browser/frontend-prompt-customization-service.d.ts +230 -15
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +800 -47
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.spec.js +362 -0
- package/lib/browser/frontend-prompt-customization-service.spec.js.map +1 -1
- package/lib/browser/frontend-variable-service.d.ts +2 -1
- package/lib/browser/frontend-variable-service.d.ts.map +1 -1
- package/lib/browser/frontend-variable-service.js +6 -1
- package/lib/browser/frontend-variable-service.js.map +1 -1
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/os-notification-service.d.ts +10 -6
- package/lib/browser/os-notification-service.d.ts.map +1 -1
- package/lib/browser/os-notification-service.js +34 -20
- package/lib/browser/os-notification-service.js.map +1 -1
- package/lib/browser/prompt-variable-contribution.spec.js +2 -1
- package/lib/browser/prompt-variable-contribution.spec.js.map +1 -1
- package/lib/browser/skill-service.d.ts +6 -1
- package/lib/browser/skill-service.d.ts.map +1 -1
- package/lib/browser/skill-service.js +47 -18
- package/lib/browser/skill-service.js.map +1 -1
- package/lib/browser/skill-service.spec.js +153 -31
- package/lib/browser/skill-service.spec.js.map +1 -1
- package/lib/browser/token-usage-frontend-service-impl.d.ts +2 -0
- package/lib/browser/token-usage-frontend-service-impl.d.ts.map +1 -1
- package/lib/browser/token-usage-frontend-service-impl.js +6 -1
- package/lib/browser/token-usage-frontend-service-impl.js.map +1 -1
- package/lib/browser/window-blink-service.d.ts +2 -0
- package/lib/browser/window-blink-service.d.ts.map +1 -1
- package/lib/browser/window-blink-service.js +8 -3
- package/lib/browser/window-blink-service.js.map +1 -1
- package/lib/common/agent-preferences.d.ts.map +1 -1
- package/lib/common/agent-preferences.js +12 -2
- package/lib/common/agent-preferences.js.map +1 -1
- package/lib/common/ai-core-preferences.d.ts.map +1 -1
- package/lib/common/ai-core-preferences.js +4 -2
- package/lib/common/ai-core-preferences.js.map +1 -1
- package/lib/common/capability-variable-contribution.spec.js +2 -1
- package/lib/common/capability-variable-contribution.spec.js.map +1 -1
- package/lib/common/frontmatter.d.ts +33 -0
- package/lib/common/frontmatter.d.ts.map +1 -0
- package/lib/common/frontmatter.js +80 -0
- package/lib/common/frontmatter.js.map +1 -0
- package/lib/common/frontmatter.spec.d.ts +2 -0
- package/lib/common/frontmatter.spec.d.ts.map +1 -0
- package/lib/common/frontmatter.spec.js +73 -0
- package/lib/common/frontmatter.spec.js.map +1 -0
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model-service.js +1 -1
- package/lib/common/language-model-service.js.map +1 -1
- package/lib/common/language-model-service.spec.d.ts +2 -0
- package/lib/common/language-model-service.spec.d.ts.map +1 -0
- package/lib/common/language-model-service.spec.js +62 -0
- package/lib/common/language-model-service.spec.js.map +1 -0
- package/lib/common/language-model.d.ts +64 -2
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +8 -2
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/notification-types.d.ts +7 -0
- package/lib/common/notification-types.d.ts.map +1 -1
- package/lib/common/notification-types.js +7 -1
- package/lib/common/notification-types.js.map +1 -1
- package/lib/common/prompt-service-util.d.ts +22 -1
- package/lib/common/prompt-service-util.d.ts.map +1 -1
- package/lib/common/prompt-service-util.js +24 -2
- package/lib/common/prompt-service-util.js.map +1 -1
- package/lib/common/prompt-service-util.spec.d.ts +2 -0
- package/lib/common/prompt-service-util.spec.d.ts.map +1 -0
- package/lib/common/prompt-service-util.spec.js +54 -0
- package/lib/common/prompt-service-util.spec.js.map +1 -0
- package/lib/common/prompt-service.d.ts +82 -8
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +36 -4
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-service.spec.js +49 -2
- package/lib/common/prompt-service.spec.js.map +1 -1
- package/lib/common/settings-service.d.ts +5 -0
- package/lib/common/settings-service.d.ts.map +1 -1
- package/lib/common/skill.d.ts +17 -4
- package/lib/common/skill.d.ts.map +1 -1
- package/lib/common/skill.js +22 -35
- package/lib/common/skill.js.map +1 -1
- package/lib/common/tool-invocation-registry.d.ts +7 -0
- package/lib/common/tool-invocation-registry.d.ts.map +1 -1
- package/lib/common/tool-invocation-registry.js +5 -0
- package/lib/common/tool-invocation-registry.js.map +1 -1
- package/lib/common/variable-service.d.ts +2 -2
- package/lib/common/variable-service.d.ts.map +1 -1
- package/lib/common/variable-service.js +7 -4
- package/lib/common/variable-service.js.map +1 -1
- package/lib/common/variable-service.spec.js +2 -1
- package/lib/common/variable-service.spec.js.map +1 -1
- package/lib/node/backend-language-model-registry.d.ts.map +1 -1
- package/lib/node/backend-language-model-registry.js +1 -0
- package/lib/node/backend-language-model-registry.js.map +1 -1
- package/lib/node/backend-language-model-registry.spec.d.ts +2 -0
- package/lib/node/backend-language-model-registry.spec.d.ts.map +1 -0
- package/lib/node/backend-language-model-registry.spec.js +48 -0
- package/lib/node/backend-language-model-registry.spec.js.map +1 -0
- package/lib/node/token-usage-service-impl.d.ts +2 -0
- package/lib/node/token-usage-service-impl.d.ts.map +1 -1
- package/lib/node/token-usage-service-impl.js +7 -1
- package/lib/node/token-usage-service-impl.js.map +1 -1
- package/package.json +12 -12
- package/src/browser/{agent-completion-notification-service.ts → agent-notification-service.ts} +52 -27
- package/src/browser/ai-core-frontend-module.ts +2 -2
- package/src/browser/frontend-language-model-alias-registry.ts +3 -3
- package/src/browser/frontend-prompt-customization-service.spec.ts +448 -1
- package/src/browser/frontend-prompt-customization-service.ts +931 -60
- package/src/browser/frontend-variable-service.ts +5 -3
- package/src/browser/index.ts +1 -1
- package/src/browser/os-notification-service.ts +39 -24
- package/src/browser/prompt-variable-contribution.spec.ts +2 -1
- package/src/browser/skill-service.spec.ts +191 -38
- package/src/browser/skill-service.ts +61 -33
- package/src/browser/token-usage-frontend-service-impl.ts +6 -3
- package/src/browser/window-blink-service.ts +7 -4
- package/src/common/agent-preferences.ts +13 -2
- package/src/common/ai-core-preferences.ts +4 -2
- package/src/common/capability-variable-contribution.spec.ts +2 -1
- package/src/common/frontmatter.spec.ts +82 -0
- package/src/common/frontmatter.ts +99 -0
- package/src/common/index.ts +1 -0
- package/src/common/language-model-service.spec.ts +70 -0
- package/src/common/language-model-service.ts +1 -1
- package/src/common/language-model.ts +72 -3
- package/src/common/notification-types.ts +10 -0
- package/src/common/prompt-service-util.spec.ts +60 -0
- package/src/common/prompt-service-util.ts +31 -1
- package/src/common/prompt-service.spec.ts +59 -2
- package/src/common/prompt-service.ts +115 -8
- package/src/common/settings-service.ts +5 -0
- package/src/common/skill.ts +37 -39
- package/src/common/tool-invocation-registry.ts +13 -0
- package/src/common/variable-service.spec.ts +2 -2
- package/src/common/variable-service.ts +3 -1
- package/src/node/backend-language-model-registry.spec.ts +52 -0
- package/src/node/backend-language-model-registry.ts +1 -0
- package/src/node/token-usage-service-impl.ts +7 -2
- package/lib/browser/agent-completion-notification-service.d.ts.map +0 -1
- package/lib/browser/agent-completion-notification-service.js.map +0 -1
|
@@ -1,12 +1,37 @@
|
|
|
1
|
-
import { DisposableCollection, URI, Event, Emitter } from '@theia/core';
|
|
1
|
+
import { DisposableCollection, URI, Event, Emitter, ILogger } from '@theia/core';
|
|
2
2
|
import { OpenerService } from '@theia/core/lib/browser';
|
|
3
|
-
import { PromptFragmentCustomizationService, CustomAgentDescription, CustomizedPromptFragment, CommandPromptFragmentMetadata } from '../common';
|
|
3
|
+
import { PromptFragmentCustomizationService, CustomAgentDescription, CustomAgentPromptVariant, CustomizedPromptFragment, CommandPromptFragmentMetadata, CustomAgentsLocation } from '../common';
|
|
4
4
|
import { ConfigurableInMemoryResources } from '../common/configurable-in-memory-resources';
|
|
5
5
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
6
6
|
import { AICorePreferences } from '../common/ai-core-preferences';
|
|
7
7
|
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
|
|
8
8
|
import { ParsedTemplate } from './prompttemplate-parser';
|
|
9
9
|
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
10
|
+
/**
|
|
11
|
+
* Subdirectory (relative to a prompt-templates scope) holding one folder per custom agent.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CUSTOM_AGENTS_DIRECTORY = "agents";
|
|
14
|
+
/**
|
|
15
|
+
* Filename of the per-agent definition file (frontmatter + prompt body) inside `agents/<id>/`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const CUSTOM_AGENT_FILE_NAME = "agent.md";
|
|
18
|
+
/**
|
|
19
|
+
* Filename stem (without extension) reserved for the customization of a custom agent's
|
|
20
|
+
* default prompt. Lives at `<scope>/agents/<id>/prompt.prompttemplate` and maps to
|
|
21
|
+
* fragment id `<agent-name>_prompt`. Excluded from the variant loader so it doesn't double
|
|
22
|
+
* as an extra variant.
|
|
23
|
+
*/
|
|
24
|
+
export declare const CUSTOM_AGENT_DEFAULT_PROMPT_STEM = "prompt";
|
|
25
|
+
/**
|
|
26
|
+
* Workspace-relative parent folders scanned for custom agents, independent of the configurable
|
|
27
|
+
* prompt-templates directories. Scanning both folders mirrors the skills convention introduced
|
|
28
|
+
* in #17553, but the duplicate-id precedence is intentionally inverted: here `.agents` is listed
|
|
29
|
+
* first, so it becomes the default location for newly created agents and wins over `.prompts`,
|
|
30
|
+
* whereas for skills `.prompts` wins over `.agents` (see `combineSkillDirectories` in
|
|
31
|
+
* `skill-service.ts`). `.prompts` is retained for backward compatibility with agents authored
|
|
32
|
+
* before the move to `.agents`.
|
|
33
|
+
*/
|
|
34
|
+
export declare const CUSTOM_AGENT_WORKSPACE_DIRECTORIES: string[];
|
|
10
35
|
export declare enum CustomizationSource {
|
|
11
36
|
CUSTOMIZED = 1,
|
|
12
37
|
FOLDER = 2,
|
|
@@ -23,6 +48,12 @@ export interface PromptFragmentCustomizationProperties {
|
|
|
23
48
|
filePaths?: string[];
|
|
24
49
|
/** Array of file extensions to consider as template files */
|
|
25
50
|
extensions?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Absolute parent directories scanned for custom agents (their `agents/` and legacy
|
|
53
|
+
* `customAgents.yml`), independent of {@link directoryPaths}. Resolved from
|
|
54
|
+
* {@link CUSTOM_AGENT_WORKSPACE_DIRECTORIES} against the workspace roots.
|
|
55
|
+
*/
|
|
56
|
+
agentDirectoryPaths?: string[];
|
|
26
57
|
}
|
|
27
58
|
/**
|
|
28
59
|
* Internal representation of a fragment entry in the customization service
|
|
@@ -62,6 +93,7 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
62
93
|
protected readonly openerService: OpenerService;
|
|
63
94
|
protected readonly inMemoryResources: ConfigurableInMemoryResources;
|
|
64
95
|
protected readonly workspaceService: WorkspaceService;
|
|
96
|
+
protected readonly logger: ILogger;
|
|
65
97
|
/** Stores URI strings of template files from directories currently being monitored for changes. */
|
|
66
98
|
protected trackedTemplateURIs: Set<string>;
|
|
67
99
|
/** Contains the currently active customization, mapped by prompt fragment ID. */
|
|
@@ -70,17 +102,37 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
70
102
|
protected allCustomizations: Map<string, PromptFragmentCustomization>;
|
|
71
103
|
/** Stores additional directory paths for loading template files. */
|
|
72
104
|
protected additionalTemplateDirs: Set<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Built-in parent directories scanned for custom agents (`.agents`, `.prompts`), independent of
|
|
107
|
+
* {@link additionalTemplateDirs}. Insertion order is preserved so the first entry (`.agents`)
|
|
108
|
+
* acts as the default location for newly created agents.
|
|
109
|
+
*/
|
|
110
|
+
protected customAgentDirs: Set<string>;
|
|
73
111
|
/** Contains file extensions that identify prompt template files. */
|
|
74
112
|
protected templateExtensions: Set<string>;
|
|
75
113
|
/** Stores specific file paths, provided by the settings, that should be treated as templates. */
|
|
76
114
|
protected workspaceTemplateFiles: Set<string>;
|
|
77
115
|
/** Maps URI strings to WatchedFileInfo objects for individually watched template files. */
|
|
78
116
|
protected watchedFiles: Map<string, WatchedFileInfo>;
|
|
117
|
+
/**
|
|
118
|
+
* For each known custom-agent prompt fragment id (i.e. `<name>_prompt`), the URI of the
|
|
119
|
+
* agent's folder (`<scope>/agents/<id>/`). Populated as agents are loaded and used to
|
|
120
|
+
* route customization writes/reads into the agent folder.
|
|
121
|
+
*/
|
|
122
|
+
protected customAgentFolderByFragmentId: Map<string, URI>;
|
|
79
123
|
/** Collection of disposable resources for cleanup when the service updates or is disposed. */
|
|
80
124
|
protected toDispose: DisposableCollection;
|
|
81
125
|
protected readonly onDidChangePromptFragmentCustomizationEmitter: Emitter<string[]>;
|
|
82
126
|
readonly onDidChangePromptFragmentCustomization: Event<string[]>;
|
|
83
127
|
protected readonly onDidChangeCustomAgentsEmitter: Emitter<void>;
|
|
128
|
+
/**
|
|
129
|
+
* In-flight migration promise used to serialize {@link migrateCustomAgentsYaml} calls.
|
|
130
|
+
* Multiple sources (initial onStart, onDidChangeCustomAgents events from async template-dir
|
|
131
|
+
* population) can request migration before the first run finishes; without serialization
|
|
132
|
+
* they race on the same `customAgents.yml`, causing one rename to succeed and the others
|
|
133
|
+
* to fail with ENOENT while concurrently moving fragment files clobber each other.
|
|
134
|
+
*/
|
|
135
|
+
protected migrationInFlight: Promise<MigrationReport[]> | undefined;
|
|
84
136
|
readonly onDidChangeCustomAgents: Event<void>;
|
|
85
137
|
protected init(): void;
|
|
86
138
|
/**
|
|
@@ -160,6 +212,39 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
160
212
|
* @param customizationSource Source type of the customization
|
|
161
213
|
*/
|
|
162
214
|
protected processTemplateDirectory(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, dirURI: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Processes a built-in custom-agent scope (`.agents`/`.prompts`): registers the prompt fragments
|
|
217
|
+
* inside its `agents/<id>/` folders and watches the scope for changes. Unlike
|
|
218
|
+
* {@link processTemplateDirectory} it does not scan loose `*.prompttemplate` files in the scope
|
|
219
|
+
* root, so `.agents` does not become a general prompt-template directory.
|
|
220
|
+
* @param dirURI URI of the agent scope directory
|
|
221
|
+
* @param priority Priority level for customizations in this scope
|
|
222
|
+
* @param customizationSource Source type of the customization
|
|
223
|
+
*/
|
|
224
|
+
protected processCustomAgentScope(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, dirURI: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
225
|
+
/**
|
|
226
|
+
* Scan `<dirURI>/agents/<id>/*.prompttemplate` files and register each as a customized
|
|
227
|
+
* prompt fragment so they appear in the Prompt Fragments configuration view and so
|
|
228
|
+
* `editPromptFragmentCustomization` / `removePromptFragmentCustomization` can find their
|
|
229
|
+
* source URIs.
|
|
230
|
+
*
|
|
231
|
+
* The reserved filename `prompt.prompttemplate` maps to the agent's default-variant
|
|
232
|
+
* fragment id (`<agent-name>_prompt` read from the sibling `agent.md`'s frontmatter).
|
|
233
|
+
* Any other `.prompttemplate` file uses its filename stem as the fragment id (matching
|
|
234
|
+
* how variants are registered via {@link readCustomAgentPromptVariants}).
|
|
235
|
+
*/
|
|
236
|
+
protected processCustomAgentFolders(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, scopeDir: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
237
|
+
/**
|
|
238
|
+
* Return the parent URI when `resource` lives in `<scopeDirURI>/agents/<id>/`; otherwise
|
|
239
|
+
* undefined. Used to decide whether a newly-added file should be processed as a
|
|
240
|
+
* custom-agent prompt customization.
|
|
241
|
+
*/
|
|
242
|
+
protected matchesCustomAgentFolder(resource: URI, scopeDirURI: URI): URI | undefined;
|
|
243
|
+
/**
|
|
244
|
+
* Read `<agentFolderURI>/agent.md`'s frontmatter and return the implied default
|
|
245
|
+
* fragment id (`<name>_prompt`). Returns undefined if the file is missing or invalid.
|
|
246
|
+
*/
|
|
247
|
+
protected readCustomAgentDefaultFragmentId(agentFolderURI: URI): Promise<string | undefined>;
|
|
163
248
|
/**
|
|
164
249
|
* Processes an existing directory for template files
|
|
165
250
|
* @param activeCustomizationsCopy Map to store active customizations
|
|
@@ -170,13 +255,23 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
170
255
|
* @param customizationSource Source type of the customization
|
|
171
256
|
*/
|
|
172
257
|
protected processExistingTemplateDirectory(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, dirURI: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
258
|
+
/**
|
|
259
|
+
* Whether a changed resource path affects custom agents, i.e. it is (or is inside) an `agents/`
|
|
260
|
+
* directory, or a legacy `customAgents.yml`. Matches the `agents` directory itself (e.g. when the
|
|
261
|
+
* whole folder is deleted), not only files within it, so removing `agents/` triggers a reload.
|
|
262
|
+
* @param path The string form of the changed resource URI
|
|
263
|
+
*/
|
|
264
|
+
protected isCustomAgentChange(path: string): boolean;
|
|
173
265
|
/**
|
|
174
266
|
* Sets up file watching for a template directory (works for both existing and non-existing directories)
|
|
175
267
|
* @param dirURI URI of the directory to watch
|
|
176
268
|
* @param priority Priority level for customizations in this directory
|
|
177
269
|
* @param customizationSource Source type of the customization
|
|
270
|
+
* @param agentsOnly When true, only `agents/<id>/` prompt files are registered on add; loose
|
|
271
|
+
* `*.prompttemplate` files in the scope root are ignored. Used for built-in agent scopes
|
|
272
|
+
* (`.agents`) that must not become general prompt-template directories.
|
|
178
273
|
*/
|
|
179
|
-
protected setupDirectoryWatcher(dirURI: URI, priority: number, customizationSource: CustomizationSource): void;
|
|
274
|
+
protected setupDirectoryWatcher(dirURI: URI, priority: number, customizationSource: CustomizationSource, agentsOnly?: boolean): void;
|
|
180
275
|
/**
|
|
181
276
|
* Checks if the given file extension is registered as a prompt template extension
|
|
182
277
|
* @param extension The file extension including the leading dot (e.g., '.prompttemplate')
|
|
@@ -209,6 +304,22 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
209
304
|
* @returns URI of the templates directory
|
|
210
305
|
*/
|
|
211
306
|
protected getTemplatesDirectoryURI(): Promise<URI>;
|
|
307
|
+
/**
|
|
308
|
+
* The additional (workspace) template directories as URIs, excluding any that resolves to the
|
|
309
|
+
* same location as `excluding` (typically the global templates directory). A user can point
|
|
310
|
+
* both the `promptTemplates` preference and a workspace template directory at the same path;
|
|
311
|
+
* processing that scope twice would hide priority-1 customizations behind priority-2 copies
|
|
312
|
+
* (see {@link update}) or list the same scope twice in the agent-location picker.
|
|
313
|
+
*/
|
|
314
|
+
protected getDedupedAdditionalScopes(excluding: URI): URI[];
|
|
315
|
+
/**
|
|
316
|
+
* The deduplicated parent directories scanned for custom agents, in precedence order:
|
|
317
|
+
* the built-in {@link customAgentDirs} (`.agents` then `.prompts`) first, so `.agents` is both
|
|
318
|
+
* the discovery winner and the default creation target; then any configured
|
|
319
|
+
* {@link additionalTemplateDirs} that may also hold agents; then the global templates directory.
|
|
320
|
+
* Independent of the prompt-templates preference, mirroring how skills resolve their folders.
|
|
321
|
+
*/
|
|
322
|
+
protected getCustomAgentScopes(): Promise<URI[]>;
|
|
212
323
|
/**
|
|
213
324
|
* Gets the URI for a specific template file
|
|
214
325
|
* @param fragmentId The fragment ID
|
|
@@ -262,27 +373,131 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
262
373
|
getPromptFragmentIDFromResource(resourceId: unknown): string | undefined;
|
|
263
374
|
getCustomAgents(): Promise<CustomAgentDescription[]>;
|
|
264
375
|
/**
|
|
265
|
-
* Load custom agents from
|
|
266
|
-
*
|
|
267
|
-
*
|
|
376
|
+
* Load custom agents from `<parentDirectory>/agents/<id>/agent.md`. Each immediate
|
|
377
|
+
* subdirectory under `agents/` defines one custom agent: the folder name is the
|
|
378
|
+
* agent id (single source of truth), the file's YAML frontmatter holds the metadata,
|
|
379
|
+
* and the body is the prompt text. Folders without a readable `agent.md` are skipped.
|
|
380
|
+
*/
|
|
381
|
+
protected loadCustomAgentsFromAgentsDirectory(parentDirectory: URI, agentsById: Map<string, CustomAgentDescription>): Promise<void>;
|
|
382
|
+
protected readCustomAgentFile(agentFolderURI: URI): Promise<CustomAgentDescription | undefined>;
|
|
383
|
+
/**
|
|
384
|
+
* Remove `<scopeDir>/agents/<id>/` directories that contain no `agent.md`. They are usually
|
|
385
|
+
* the leftover side effect of a previous migration whose `agent.md` write failed after the
|
|
386
|
+
* parent directory had already been created. Removing them lets the next run re-attempt.
|
|
387
|
+
*/
|
|
388
|
+
protected cleanupEmptyAgentFolders(scopeDir: URI): Promise<void>;
|
|
389
|
+
/**
|
|
390
|
+
* List `.prompttemplate` files directly inside the given scope directory (one level only).
|
|
391
|
+
* Returns each file's URI along with its filename stem to enable cheap prefix matching
|
|
392
|
+
* during migration.
|
|
393
|
+
*/
|
|
394
|
+
protected listScopeRootPromptTemplates(scopeDir: URI): Promise<Array<{
|
|
395
|
+
uri: URI;
|
|
396
|
+
stem: string;
|
|
397
|
+
}>>;
|
|
398
|
+
/**
|
|
399
|
+
* Scan an agent folder for sibling `.prompttemplate` files; each becomes a variant
|
|
400
|
+
* of the agent's prompt. Variant id = filename stem (e.g. `concise.prompttemplate`
|
|
401
|
+
* yields a variant with id `concise`). Files inside subdirectories are ignored.
|
|
402
|
+
*
|
|
403
|
+
* The reserved filename `prompt.prompttemplate` is excluded: it represents the
|
|
404
|
+
* default-variant customization (overrides `agent.md`'s body), not an extra variant,
|
|
405
|
+
* and is registered by the prompt-fragment customization scan instead.
|
|
406
|
+
*/
|
|
407
|
+
protected readCustomAgentPromptVariants(agentFolderURI: URI): Promise<CustomAgentPromptVariant[]>;
|
|
408
|
+
/**
|
|
409
|
+
* @deprecated Reads legacy `customAgents.yml` files. New agents should live under
|
|
410
|
+
* `<scope>/agents/<id>/agent.md`. Kept as a fallback until existing files have been
|
|
411
|
+
* auto-migrated; loader logs a one-time warning per scope when it finds one.
|
|
268
412
|
*/
|
|
269
413
|
protected loadCustomAgentsFromDirectory(directoryURI: URI, agentsById: Map<string, CustomAgentDescription>): Promise<void>;
|
|
414
|
+
private readonly warnedLegacyYamlUris;
|
|
415
|
+
protected warnOnceLegacyYaml(uri: URI): void;
|
|
416
|
+
/**
|
|
417
|
+
* Returns all locations of existing customAgents.yml files and `agents/` directories,
|
|
418
|
+
* plus the canonical locations where new agents would be created (one per scope). Scopes are
|
|
419
|
+
* returned in precedence order, so the first `agents-dir` entry is the default creation target.
|
|
420
|
+
*/
|
|
421
|
+
getCustomAgentsLocations(): Promise<CustomAgentsLocation[]>;
|
|
422
|
+
/**
|
|
423
|
+
* Creates `<parentDirectory>/agents/<id>/agent.md` from a `CustomAgentDescription` and opens it.
|
|
424
|
+
* The agent id determines the folder name; the prompt body is written verbatim under the YAML frontmatter.
|
|
425
|
+
*/
|
|
426
|
+
createCustomAgentFile(parentDirectory: URI, agent: CustomAgentDescription): Promise<URI>;
|
|
270
427
|
/**
|
|
271
|
-
*
|
|
272
|
-
*
|
|
428
|
+
* Parse a `customAgents.yml` document, preserving newlines in folded-block-scalar prompts.
|
|
429
|
+
*
|
|
430
|
+
* `js-yaml` folds the single newlines of a folded scalar (`>` / `>-`) into spaces, which merges
|
|
431
|
+
* a markdown heading (`## Task`) into the paragraph below it. Markdown is newline-sensitive, so
|
|
432
|
+
* we re-interpret folded `prompt:` scalars as literal (`|`) before parsing. Only the block-scalar
|
|
433
|
+
* header is rewritten; quoted, plain and already-literal values are left untouched.
|
|
273
434
|
*
|
|
274
|
-
*
|
|
435
|
+
* Known limitation: prompts stored as a plain or quoted multi-line scalar (rare) still fold.
|
|
275
436
|
*/
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
437
|
+
protected parseCustomAgentsYaml(content: string): unknown;
|
|
438
|
+
/**
|
|
439
|
+
* Rewrite a folded `prompt:` block-scalar header (`>`, `>-`, `>+`, `>2-`, ...) to its literal
|
|
440
|
+
* equivalent (`|`...). The lookahead ensures only a block-scalar header is matched (indentation
|
|
441
|
+
* and chomping indicators plus an optional trailing comment), so plain/quoted prompt values and
|
|
442
|
+
* any `>` inside the prompt body are never touched.
|
|
443
|
+
*/
|
|
444
|
+
protected unfoldPromptBlockScalars(content: string): string;
|
|
445
|
+
/**
|
|
446
|
+
* Returns `true` if migration would write anything: a scope still holds a legacy
|
|
447
|
+
* `customAgents.yml`, or a previously migrated scope has `agent.md` files that can be corrected
|
|
448
|
+
* (see {@link computeScopeCorrections}). Read-only; used to decide whether to prompt the user.
|
|
449
|
+
*/
|
|
450
|
+
hasPendingCustomAgentMigration(): Promise<boolean>;
|
|
280
451
|
/**
|
|
281
|
-
*
|
|
452
|
+
* Auto-migrate every legacy `customAgents.yml` reachable from the configured scopes to the new
|
|
453
|
+
* `agents/<id>/agent.md` layout. The original content is never deleted:
|
|
454
|
+
* - on full success the YAML is renamed to `customAgents.yml.bak`, replacing any previous backup;
|
|
455
|
+
* - on partial failure the YAML is renamed to `customAgents.yml.bak` only if no backup exists yet;
|
|
456
|
+
* if one already exists the YAML is left in place, so the loader keeps serving it and the next
|
|
457
|
+
* startup retries the migration.
|
|
282
458
|
*
|
|
283
|
-
*
|
|
459
|
+
* Idempotent: rerunning never overwrites an already-migrated agent file.
|
|
460
|
+
*/
|
|
461
|
+
migrateCustomAgentsYaml(): Promise<MigrationReport[]>;
|
|
462
|
+
protected doMigrateCustomAgentsYaml(): Promise<MigrationReport[]>;
|
|
463
|
+
protected migrateSingleScope(scopeDir: URI): Promise<MigrationReport | undefined>;
|
|
464
|
+
/**
|
|
465
|
+
* Compute the `agent.md` rewrites needed to recover headings folded by an earlier (v1.73.0)
|
|
466
|
+
* migration. The backup (`customAgents.yml.bak`) is the source that migration used: parsing it
|
|
467
|
+
* the old (folded) way reproduces the exact bytes it wrote, and parsing it the new (literal) way
|
|
468
|
+
* produces the corrected content. Only files still byte-identical to the buggy output are eligible,
|
|
469
|
+
* so files the user edited (and already-correct files) are left untouched. Read-only; used both to
|
|
470
|
+
* detect pending work and to perform the rewrite.
|
|
471
|
+
*/
|
|
472
|
+
protected computeScopeCorrections(scopeDir: URI): Promise<Array<{
|
|
473
|
+
uri: URI;
|
|
474
|
+
content: string;
|
|
475
|
+
}>>;
|
|
476
|
+
/**
|
|
477
|
+
* @deprecated Use {@link createCustomAgentFile} to author agents in the new
|
|
478
|
+
* `<scope>/agents/<id>/agent.md` layout. Retained so existing UI affordances keep
|
|
479
|
+
* working until they are migrated.
|
|
284
480
|
*/
|
|
285
481
|
openCustomAgentYaml(uri: URI): Promise<void>;
|
|
286
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* Outcome of attempting to migrate one scope's `customAgents.yml`.
|
|
485
|
+
*/
|
|
486
|
+
export interface MigrationReport {
|
|
487
|
+
scope: URI;
|
|
488
|
+
yamlURI: URI;
|
|
489
|
+
/** Number of agents written to `agents/<id>/agent.md`. */
|
|
490
|
+
migrated: number;
|
|
491
|
+
/** Number of agents skipped because an `agent.md` already existed (idempotency). */
|
|
492
|
+
alreadyPresent: number;
|
|
493
|
+
/** Number of agents whose new file failed to write. */
|
|
494
|
+
failed: number;
|
|
495
|
+
/** Whether the original YAML was renamed to `customAgents.yml.bak` during this run. */
|
|
496
|
+
yamlBackedUp: boolean;
|
|
497
|
+
/** Number of scope-root prompt customization files (`<name>_prompt.prompttemplate`) folded into agent.md and deleted. */
|
|
498
|
+
promptOverridesMigrated: number;
|
|
499
|
+
/** Number of already-migrated `agent.md` files rewritten to recover folded headings. */
|
|
500
|
+
corrected: number;
|
|
501
|
+
}
|
|
287
502
|
export {};
|
|
288
503
|
//# sourceMappingURL=frontend-prompt-customization-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-prompt-customization-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"frontend-prompt-customization-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":"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"}
|