@theia/ai-core 1.73.0-next.39 → 1.73.0-next.43
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-prompt-customization-service.d.ts +139 -14
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +595 -36
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.spec.js +180 -0
- package/lib/browser/frontend-prompt-customization-service.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/prompt-service.d.ts +63 -8
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +30 -3
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/skill.d.ts.map +1 -1
- package/lib/common/skill.js +4 -20
- package/lib/common/skill.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/frontend-prompt-customization-service.spec.ts +220 -1
- package/src/browser/frontend-prompt-customization-service.ts +691 -47
- 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/prompt-service.ts +87 -6
- package/src/common/skill.ts +4 -24
|
@@ -1,12 +1,27 @@
|
|
|
1
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";
|
|
10
25
|
export declare enum CustomizationSource {
|
|
11
26
|
CUSTOMIZED = 1,
|
|
12
27
|
FOLDER = 2,
|
|
@@ -77,11 +92,25 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
77
92
|
protected workspaceTemplateFiles: Set<string>;
|
|
78
93
|
/** Maps URI strings to WatchedFileInfo objects for individually watched template files. */
|
|
79
94
|
protected watchedFiles: Map<string, WatchedFileInfo>;
|
|
95
|
+
/**
|
|
96
|
+
* For each known custom-agent prompt fragment id (i.e. `<name>_prompt`), the URI of the
|
|
97
|
+
* agent's folder (`<scope>/agents/<id>/`). Populated as agents are loaded and used to
|
|
98
|
+
* route customization writes/reads into the agent folder.
|
|
99
|
+
*/
|
|
100
|
+
protected customAgentFolderByFragmentId: Map<string, URI>;
|
|
80
101
|
/** Collection of disposable resources for cleanup when the service updates or is disposed. */
|
|
81
102
|
protected toDispose: DisposableCollection;
|
|
82
103
|
protected readonly onDidChangePromptFragmentCustomizationEmitter: Emitter<string[]>;
|
|
83
104
|
readonly onDidChangePromptFragmentCustomization: Event<string[]>;
|
|
84
105
|
protected readonly onDidChangeCustomAgentsEmitter: Emitter<void>;
|
|
106
|
+
/**
|
|
107
|
+
* In-flight migration promise used to serialize {@link migrateCustomAgentsYaml} calls.
|
|
108
|
+
* Multiple sources (initial onStart, onDidChangeCustomAgents events from async template-dir
|
|
109
|
+
* population) can request migration before the first run finishes; without serialization
|
|
110
|
+
* they race on the same `customAgents.yml`, causing one rename to succeed and the others
|
|
111
|
+
* to fail with ENOENT while concurrently moving fragment files clobber each other.
|
|
112
|
+
*/
|
|
113
|
+
protected migrationInFlight: Promise<MigrationReport[]> | undefined;
|
|
85
114
|
readonly onDidChangeCustomAgents: Event<void>;
|
|
86
115
|
protected init(): void;
|
|
87
116
|
/**
|
|
@@ -161,6 +190,29 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
161
190
|
* @param customizationSource Source type of the customization
|
|
162
191
|
*/
|
|
163
192
|
protected processTemplateDirectory(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, dirURI: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Scan `<dirURI>/agents/<id>/*.prompttemplate` files and register each as a customized
|
|
195
|
+
* prompt fragment so they appear in the Prompt Fragments configuration view and so
|
|
196
|
+
* `editPromptFragmentCustomization` / `removePromptFragmentCustomization` can find their
|
|
197
|
+
* source URIs.
|
|
198
|
+
*
|
|
199
|
+
* The reserved filename `prompt.prompttemplate` maps to the agent's default-variant
|
|
200
|
+
* fragment id (`<agent-name>_prompt` read from the sibling `agent.md`'s frontmatter).
|
|
201
|
+
* Any other `.prompttemplate` file uses its filename stem as the fragment id (matching
|
|
202
|
+
* how variants are registered via {@link readCustomAgentPromptVariants}).
|
|
203
|
+
*/
|
|
204
|
+
protected processCustomAgentFolders(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, trackedTemplateURIsCopy: Set<string>, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, scopeDir: URI, priority: number, customizationSource: CustomizationSource): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Return the parent URI when `resource` lives in `<scopeDirURI>/agents/<id>/`; otherwise
|
|
207
|
+
* undefined. Used to decide whether a newly-added file should be processed as a
|
|
208
|
+
* custom-agent prompt customization.
|
|
209
|
+
*/
|
|
210
|
+
protected matchesCustomAgentFolder(resource: URI, scopeDirURI: URI): URI | undefined;
|
|
211
|
+
/**
|
|
212
|
+
* Read `<agentFolderURI>/agent.md`'s frontmatter and return the implied default
|
|
213
|
+
* fragment id (`<name>_prompt`). Returns undefined if the file is missing or invalid.
|
|
214
|
+
*/
|
|
215
|
+
protected readCustomAgentDefaultFragmentId(agentFolderURI: URI): Promise<string | undefined>;
|
|
164
216
|
/**
|
|
165
217
|
* Processes an existing directory for template files
|
|
166
218
|
* @param activeCustomizationsCopy Map to store active customizations
|
|
@@ -210,6 +262,14 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
210
262
|
* @returns URI of the templates directory
|
|
211
263
|
*/
|
|
212
264
|
protected getTemplatesDirectoryURI(): Promise<URI>;
|
|
265
|
+
/**
|
|
266
|
+
* The additional (workspace) template directories as URIs, excluding any that resolves to the
|
|
267
|
+
* same location as `excluding` (typically the global templates directory). A user can point
|
|
268
|
+
* both the `promptTemplates` preference and a workspace template directory at the same path;
|
|
269
|
+
* processing that scope twice would hide priority-1 customizations behind priority-2 copies
|
|
270
|
+
* (see {@link update}) or list the same scope twice in the agent-location picker.
|
|
271
|
+
*/
|
|
272
|
+
protected getDedupedAdditionalScopes(excluding: URI): URI[];
|
|
213
273
|
/**
|
|
214
274
|
* Gets the URI for a specific template file
|
|
215
275
|
* @param fragmentId The fragment ID
|
|
@@ -263,27 +323,92 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
|
|
|
263
323
|
getPromptFragmentIDFromResource(resourceId: unknown): string | undefined;
|
|
264
324
|
getCustomAgents(): Promise<CustomAgentDescription[]>;
|
|
265
325
|
/**
|
|
266
|
-
* Load custom agents from
|
|
267
|
-
*
|
|
268
|
-
*
|
|
326
|
+
* Load custom agents from `<parentDirectory>/agents/<id>/agent.md`. Each immediate
|
|
327
|
+
* subdirectory under `agents/` defines one custom agent: the folder name is the
|
|
328
|
+
* agent id (single source of truth), the file's YAML frontmatter holds the metadata,
|
|
329
|
+
* and the body is the prompt text. Folders without a readable `agent.md` are skipped.
|
|
269
330
|
*/
|
|
270
|
-
protected
|
|
331
|
+
protected loadCustomAgentsFromAgentsDirectory(parentDirectory: URI, agentsById: Map<string, CustomAgentDescription>): Promise<void>;
|
|
332
|
+
protected readCustomAgentFile(agentFolderURI: URI): Promise<CustomAgentDescription | undefined>;
|
|
271
333
|
/**
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
* @returns An array of objects containing the URI and whether the file exists
|
|
334
|
+
* Remove `<scopeDir>/agents/<id>/` directories that contain no `agent.md`. They are usually
|
|
335
|
+
* the leftover side effect of a previous migration whose `agent.md` write failed after the
|
|
336
|
+
* parent directory had already been created. Removing them lets the next run re-attempt.
|
|
276
337
|
*/
|
|
277
|
-
|
|
338
|
+
protected cleanupEmptyAgentFolders(scopeDir: URI): Promise<void>;
|
|
339
|
+
/**
|
|
340
|
+
* List `.prompttemplate` files directly inside the given scope directory (one level only).
|
|
341
|
+
* Returns each file's URI along with its filename stem to enable cheap prefix matching
|
|
342
|
+
* during migration.
|
|
343
|
+
*/
|
|
344
|
+
protected listScopeRootPromptTemplates(scopeDir: URI): Promise<Array<{
|
|
278
345
|
uri: URI;
|
|
279
|
-
|
|
280
|
-
}
|
|
346
|
+
stem: string;
|
|
347
|
+
}>>;
|
|
281
348
|
/**
|
|
282
|
-
*
|
|
349
|
+
* Scan an agent folder for sibling `.prompttemplate` files; each becomes a variant
|
|
350
|
+
* of the agent's prompt. Variant id = filename stem (e.g. `concise.prompttemplate`
|
|
351
|
+
* yields a variant with id `concise`). Files inside subdirectories are ignored.
|
|
283
352
|
*
|
|
284
|
-
*
|
|
353
|
+
* The reserved filename `prompt.prompttemplate` is excluded: it represents the
|
|
354
|
+
* default-variant customization (overrides `agent.md`'s body), not an extra variant,
|
|
355
|
+
* and is registered by the prompt-fragment customization scan instead.
|
|
356
|
+
*/
|
|
357
|
+
protected readCustomAgentPromptVariants(agentFolderURI: URI): Promise<CustomAgentPromptVariant[]>;
|
|
358
|
+
/**
|
|
359
|
+
* @deprecated Reads legacy `customAgents.yml` files. New agents should live under
|
|
360
|
+
* `<scope>/agents/<id>/agent.md`. Kept as a fallback until existing files have been
|
|
361
|
+
* auto-migrated; loader logs a one-time warning per scope when it finds one.
|
|
362
|
+
*/
|
|
363
|
+
protected loadCustomAgentsFromDirectory(directoryURI: URI, agentsById: Map<string, CustomAgentDescription>): Promise<void>;
|
|
364
|
+
private readonly warnedLegacyYamlUris;
|
|
365
|
+
protected warnOnceLegacyYaml(uri: URI): void;
|
|
366
|
+
/**
|
|
367
|
+
* Returns all locations of existing customAgents.yml files and `agents/` directories,
|
|
368
|
+
* plus the canonical locations where new agents would be created (one per scope).
|
|
369
|
+
*/
|
|
370
|
+
getCustomAgentsLocations(): Promise<CustomAgentsLocation[]>;
|
|
371
|
+
/**
|
|
372
|
+
* Creates `<parentDirectory>/agents/<id>/agent.md` from a `CustomAgentDescription` and opens it.
|
|
373
|
+
* The agent id determines the folder name; the prompt body is written verbatim under the YAML frontmatter.
|
|
374
|
+
*/
|
|
375
|
+
createCustomAgentFile(parentDirectory: URI, agent: CustomAgentDescription): Promise<URI>;
|
|
376
|
+
/**
|
|
377
|
+
* Auto-migrate every legacy `customAgents.yml` reachable from the configured scopes to the new
|
|
378
|
+
* `agents/<id>/agent.md` layout. The original content is never deleted:
|
|
379
|
+
* - on full success the YAML is renamed to `customAgents.yml.bak`, replacing any previous backup;
|
|
380
|
+
* - on partial failure the YAML is renamed to `customAgents.yml.bak` only if no backup exists yet;
|
|
381
|
+
* if one already exists the YAML is left in place, so the loader keeps serving it and the next
|
|
382
|
+
* startup retries the migration.
|
|
383
|
+
*
|
|
384
|
+
* Idempotent: rerunning never overwrites an already-migrated agent file.
|
|
385
|
+
*/
|
|
386
|
+
migrateCustomAgentsYaml(): Promise<MigrationReport[]>;
|
|
387
|
+
protected doMigrateCustomAgentsYaml(): Promise<MigrationReport[]>;
|
|
388
|
+
protected migrateSingleScope(scopeDir: URI): Promise<MigrationReport | undefined>;
|
|
389
|
+
/**
|
|
390
|
+
* @deprecated Use {@link createCustomAgentFile} to author agents in the new
|
|
391
|
+
* `<scope>/agents/<id>/agent.md` layout. Retained so existing UI affordances keep
|
|
392
|
+
* working until they are migrated.
|
|
285
393
|
*/
|
|
286
394
|
openCustomAgentYaml(uri: URI): Promise<void>;
|
|
287
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* Outcome of attempting to migrate one scope's `customAgents.yml`.
|
|
398
|
+
*/
|
|
399
|
+
export interface MigrationReport {
|
|
400
|
+
scope: URI;
|
|
401
|
+
yamlURI: URI;
|
|
402
|
+
/** Number of agents written to `agents/<id>/agent.md`. */
|
|
403
|
+
migrated: number;
|
|
404
|
+
/** Number of agents skipped because an `agent.md` already existed (idempotency). */
|
|
405
|
+
alreadyPresent: number;
|
|
406
|
+
/** Number of agents whose new file failed to write. */
|
|
407
|
+
failed: number;
|
|
408
|
+
/** Whether the original YAML was renamed to `customAgents.yml.bak` during this run. */
|
|
409
|
+
yamlBackedUp: boolean;
|
|
410
|
+
/** Number of scope-root prompt customization files (`<name>_prompt.prompttemplate`) folded into agent.md and deleted. */
|
|
411
|
+
promptOverridesMigrated: number;
|
|
412
|
+
}
|
|
288
413
|
export {};
|
|
289
414
|
//# 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,OAAO,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,
|
|
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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"}
|