@theia/ai-core 1.69.0-next.0 → 1.69.0-next.29
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-language-model-registry.d.ts +2 -2
- package/lib/browser/frontend-language-model-registry.d.ts.map +1 -1
- package/lib/browser/frontend-language-model-registry.js +4 -4
- package/lib/browser/frontend-language-model-registry.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 +97 -28
- package/lib/browser/skill-service.js.map +1 -1
- package/lib/browser/skill-service.spec.js +173 -0
- package/lib/browser/skill-service.spec.js.map +1 -1
- package/lib/common/ai-core-preferences.js +1 -1
- package/lib/common/ai-core-preferences.js.map +1 -1
- package/lib/common/language-model-delegate.d.ts +1 -1
- package/lib/common/language-model-delegate.d.ts.map +1 -1
- package/lib/common/language-model-service.d.ts.map +1 -1
- package/lib/common/language-model-service.js +6 -0
- package/lib/common/language-model-service.js.map +1 -1
- package/lib/common/language-model.d.ts +23 -0
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/prompt-service.d.ts +17 -0
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +9 -0
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/node/language-model-frontend-delegate.js +1 -1
- package/lib/node/language-model-frontend-delegate.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/frontend-language-model-registry.ts +6 -5
- package/src/browser/skill-service.spec.ts +218 -0
- package/src/browser/skill-service.ts +138 -32
- package/src/common/ai-core-preferences.ts +1 -1
- package/src/common/language-model-delegate.ts +1 -1
- package/src/common/language-model-service.ts +6 -0
- package/src/common/language-model.ts +22 -0
- package/src/common/prompt-service.ts +28 -0
- package/src/node/language-model-frontend-delegate.ts +1 -1
|
@@ -5,7 +5,7 @@ export declare class LanguageModelDelegateClientImpl implements LanguageModelDel
|
|
|
5
5
|
protected receiver: FrontendLanguageModelRegistryImpl;
|
|
6
6
|
setReceiver(receiver: FrontendLanguageModelRegistryImpl): void;
|
|
7
7
|
send(id: string, token: LanguageModelStreamResponsePart | undefined): void;
|
|
8
|
-
toolCall(requestId: string, toolId: string, args_string: string): Promise<ToolCallResult>;
|
|
8
|
+
toolCall(requestId: string, toolId: string, args_string: string, toolCallId?: string): Promise<ToolCallResult>;
|
|
9
9
|
error(id: string, error: Error): void;
|
|
10
10
|
languageModelAdded(metadata: LanguageModelMetaData): void;
|
|
11
11
|
languageModelRemoved(id: string): void;
|
|
@@ -38,7 +38,7 @@ export declare class FrontendLanguageModelRegistryImpl extends DefaultLanguageMo
|
|
|
38
38
|
protected requests: Map<string, LanguageModelRequest>;
|
|
39
39
|
getIterable(state: StreamState): AsyncIterable<LanguageModelStreamResponsePart>;
|
|
40
40
|
send(id: string, token: LanguageModelStreamResponsePart | undefined): void;
|
|
41
|
-
toolCall(id: string, toolId: string, arg_string: string): Promise<ToolCallResult>;
|
|
41
|
+
toolCall(id: string, toolId: string, arg_string: string, toolCallId?: string): Promise<ToolCallResult>;
|
|
42
42
|
error(id: string, error: Error): void;
|
|
43
43
|
selectLanguageModels(request: LanguageModelSelector): Promise<LanguageModel[] | undefined>;
|
|
44
44
|
getReadyLanguageModel(idOrAlias: string): Promise<LanguageModel | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-language-model-registry.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEH,oBAAoB,EAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,iBAAiB,EAEjB,gCAAgC,EAChC,6BAA6B,EAM7B,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,2BAA2B,EAC3B,qCAAqC,EACrC,oBAAoB,EAEpB,qBAAqB,EACrB,+BAA+B,EAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"frontend-language-model-registry.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@ let LanguageModelDelegateClientImpl = class LanguageModelDelegateClientImpl {
|
|
|
16
16
|
send(id, token) {
|
|
17
17
|
this.receiver.send(id, token);
|
|
18
18
|
}
|
|
19
|
-
toolCall(requestId, toolId, args_string) {
|
|
20
|
-
return this.receiver.toolCall(requestId, toolId, args_string);
|
|
19
|
+
toolCall(requestId, toolId, args_string, toolCallId) {
|
|
20
|
+
return this.receiver.toolCall(requestId, toolId, args_string, toolCallId);
|
|
21
21
|
}
|
|
22
22
|
error(id, error) {
|
|
23
23
|
this.receiver.error(id, error);
|
|
@@ -186,7 +186,7 @@ let FrontendLanguageModelRegistryImpl = class FrontendLanguageModelRegistryImpl
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
// called by backend once tool is invoked
|
|
189
|
-
async toolCall(id, toolId, arg_string) {
|
|
189
|
+
async toolCall(id, toolId, arg_string, toolCallId) {
|
|
190
190
|
if (!this.requests.has(id)) {
|
|
191
191
|
return (0, common_1.createToolCallError)(`No request found for ID '${id}'. The request may have been cancelled or completed.`);
|
|
192
192
|
}
|
|
@@ -194,7 +194,7 @@ let FrontendLanguageModelRegistryImpl = class FrontendLanguageModelRegistryImpl
|
|
|
194
194
|
const tool = request.tools?.find(t => t.id === toolId);
|
|
195
195
|
if (tool) {
|
|
196
196
|
try {
|
|
197
|
-
return await tool.handler(arg_string);
|
|
197
|
+
return await tool.handler(arg_string, common_1.ToolInvocationContext.create(toolCallId));
|
|
198
198
|
}
|
|
199
199
|
catch (error) {
|
|
200
200
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-language-model-registry.js","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontend-language-model-registry.js","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,16 +22,21 @@ export declare class DefaultSkillService implements SkillService {
|
|
|
22
22
|
protected skills: Map<string, Skill>;
|
|
23
23
|
protected toDispose: DisposableCollection;
|
|
24
24
|
protected watchedDirectories: Set<string>;
|
|
25
|
+
protected parentWatchers: Map<string, string>;
|
|
25
26
|
protected readonly onSkillsChangedEmitter: Emitter<void>;
|
|
26
27
|
readonly onSkillsChanged: Event<void>;
|
|
27
28
|
protected lastSkillDirectoriesValue: string | undefined;
|
|
29
|
+
protected updateDebounceTimeout: ReturnType<typeof setTimeout> | undefined;
|
|
28
30
|
protected init(): void;
|
|
29
31
|
getSkills(): Skill[];
|
|
30
32
|
getSkill(name: string): Skill | undefined;
|
|
33
|
+
protected scheduleUpdate(): void;
|
|
31
34
|
protected update(): Promise<void>;
|
|
32
35
|
protected getWorkspaceSkillsDirectoryPath(): string | undefined;
|
|
33
36
|
protected getDefaultSkillsDirectoryPath(): Promise<string>;
|
|
34
|
-
protected
|
|
37
|
+
protected processSkillDirectoryWithParentWatching(directoryPath: string, skills: Map<string, Skill>, disposables: DisposableCollection, watchedDirectories: Set<string>, parentWatchers: Map<string, string>): Promise<void>;
|
|
38
|
+
protected processConfiguredSkillDirectory(directoryPath: string, skills: Map<string, Skill>, disposables: DisposableCollection, watchedDirectories: Set<string>): Promise<void>;
|
|
39
|
+
protected processExistingSkillDirectory(dirURI: URI, skills: Map<string, Skill>, disposables: DisposableCollection, watchedDirectories: Set<string>): Promise<void>;
|
|
35
40
|
protected loadSkillFromDirectory(directoryUri: URI, directoryName: string, skills: Map<string, Skill>): Promise<void>;
|
|
36
41
|
protected setupDirectoryWatcher(dirURI: URI, disposables: DisposableCollection, watchedDirectories: Set<string>): void;
|
|
37
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-service.d.ts","sourceRoot":"","sources":["../../src/browser/skill-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAqC,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"skill-service.d.ts","sourceRoot":"","sources":["../../src/browser/skill-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,18 +25,40 @@ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
|
25
25
|
const browser_1 = require("@theia/workspace/lib/browser");
|
|
26
26
|
const ai_core_preferences_1 = require("../common/ai-core-preferences");
|
|
27
27
|
const skill_1 = require("../common/skill");
|
|
28
|
+
/** Debounce delay for coalescing rapid file system events */
|
|
29
|
+
const UPDATE_DEBOUNCE_MS = 50;
|
|
28
30
|
exports.SkillService = Symbol('SkillService');
|
|
29
31
|
let DefaultSkillService = class DefaultSkillService {
|
|
30
32
|
constructor() {
|
|
31
33
|
this.skills = new Map();
|
|
32
34
|
this.toDispose = new core_1.DisposableCollection();
|
|
33
35
|
this.watchedDirectories = new Set();
|
|
36
|
+
this.parentWatchers = new Map();
|
|
34
37
|
this.onSkillsChangedEmitter = new core_1.Emitter();
|
|
35
38
|
this.onSkillsChanged = this.onSkillsChangedEmitter.event;
|
|
36
39
|
}
|
|
37
40
|
init() {
|
|
38
|
-
// Register file change listener (global, always active)
|
|
39
41
|
this.fileService.onDidFilesChange(async (event) => {
|
|
42
|
+
for (const change of event.changes) {
|
|
43
|
+
if (change.type === 1 /* FileChangeType.ADDED */) {
|
|
44
|
+
const changeUri = change.resource.toString();
|
|
45
|
+
for (const [, skillsPath] of this.parentWatchers) {
|
|
46
|
+
const expectedSkillsUri = core_1.URI.fromFilePath(skillsPath).toString();
|
|
47
|
+
if (changeUri === expectedSkillsUri) {
|
|
48
|
+
this.scheduleUpdate();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Check for skills directory deletion - switch back to parent watching
|
|
54
|
+
if (change.type === 2 /* FileChangeType.DELETED */) {
|
|
55
|
+
const changeUri = change.resource.toString();
|
|
56
|
+
if (this.watchedDirectories.has(changeUri)) {
|
|
57
|
+
this.scheduleUpdate();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
40
62
|
const isRelevantChange = event.changes.some(change => {
|
|
41
63
|
const changeUri = change.resource.toString();
|
|
42
64
|
const isInWatchedDir = Array.from(this.watchedDirectories).some(dirUri => changeUri.startsWith(dirUri));
|
|
@@ -49,7 +71,7 @@ let DefaultSkillService = class DefaultSkillService {
|
|
|
49
71
|
return isSkillFile || isDirectoryChange;
|
|
50
72
|
});
|
|
51
73
|
if (isRelevantChange) {
|
|
52
|
-
|
|
74
|
+
this.scheduleUpdate();
|
|
53
75
|
}
|
|
54
76
|
});
|
|
55
77
|
// Wait for workspace to be ready before initial update
|
|
@@ -64,11 +86,11 @@ let DefaultSkillService = class DefaultSkillService {
|
|
|
64
86
|
return;
|
|
65
87
|
}
|
|
66
88
|
this.lastSkillDirectoriesValue = currentValue;
|
|
67
|
-
this.
|
|
89
|
+
this.scheduleUpdate();
|
|
68
90
|
}
|
|
69
91
|
});
|
|
70
92
|
this.workspaceService.onWorkspaceChanged(() => {
|
|
71
|
-
this.
|
|
93
|
+
this.scheduleUpdate();
|
|
72
94
|
});
|
|
73
95
|
});
|
|
74
96
|
});
|
|
@@ -79,34 +101,51 @@ let DefaultSkillService = class DefaultSkillService {
|
|
|
79
101
|
getSkill(name) {
|
|
80
102
|
return this.skills.get(name);
|
|
81
103
|
}
|
|
104
|
+
scheduleUpdate() {
|
|
105
|
+
if (this.updateDebounceTimeout) {
|
|
106
|
+
clearTimeout(this.updateDebounceTimeout);
|
|
107
|
+
}
|
|
108
|
+
this.updateDebounceTimeout = setTimeout(() => {
|
|
109
|
+
this.updateDebounceTimeout = undefined;
|
|
110
|
+
this.update();
|
|
111
|
+
}, UPDATE_DEBOUNCE_MS);
|
|
112
|
+
}
|
|
82
113
|
async update() {
|
|
114
|
+
if (this.updateDebounceTimeout) {
|
|
115
|
+
clearTimeout(this.updateDebounceTimeout);
|
|
116
|
+
this.updateDebounceTimeout = undefined;
|
|
117
|
+
}
|
|
83
118
|
this.toDispose.dispose();
|
|
84
119
|
const newDisposables = new core_1.DisposableCollection();
|
|
85
120
|
const newSkills = new Map();
|
|
86
121
|
const workspaceSkillsDir = this.getWorkspaceSkillsDirectoryPath();
|
|
87
|
-
// Get home directory for tilde expansion
|
|
88
122
|
const homeDirUri = await this.envVariablesServer.getHomeDirUri();
|
|
89
123
|
const homePath = new core_1.URI(homeDirUri).path.fsPath();
|
|
90
|
-
// Get configured directories from preferences and expand tilde
|
|
91
124
|
const configuredDirectories = (this.preferences[ai_core_preferences_1.PREFERENCE_NAME_SKILL_DIRECTORIES] ?? [])
|
|
92
125
|
.map(dir => path_1.Path.untildify(dir, homePath));
|
|
93
126
|
const defaultSkillsDir = await this.getDefaultSkillsDirectoryPath();
|
|
94
|
-
// Priority: workspace > configured > default (first directory wins on duplicates)
|
|
95
|
-
const allDirectories = (0, skill_1.combineSkillDirectories)(workspaceSkillsDir, configuredDirectories, defaultSkillsDir);
|
|
96
127
|
const newWatchedDirectories = new Set();
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
const newParentWatchers = new Map();
|
|
129
|
+
if (workspaceSkillsDir) {
|
|
130
|
+
await this.processSkillDirectoryWithParentWatching(workspaceSkillsDir, newSkills, newDisposables, newWatchedDirectories, newParentWatchers);
|
|
131
|
+
}
|
|
132
|
+
for (const configuredDir of configuredDirectories) {
|
|
133
|
+
const configuredDirUri = core_1.URI.fromFilePath(configuredDir).toString();
|
|
134
|
+
if (!newWatchedDirectories.has(configuredDirUri)) {
|
|
135
|
+
await this.processConfiguredSkillDirectory(configuredDir, newSkills, newDisposables, newWatchedDirectories);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const defaultSkillsDirUri = core_1.URI.fromFilePath(defaultSkillsDir).toString();
|
|
139
|
+
if (!newWatchedDirectories.has(defaultSkillsDirUri)) {
|
|
140
|
+
await this.processSkillDirectoryWithParentWatching(defaultSkillsDir, newSkills, newDisposables, newWatchedDirectories, newParentWatchers);
|
|
99
141
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const oldCount = this.skills.size;
|
|
103
|
-
if (newCount > 0 || newCount !== oldCount) {
|
|
104
|
-
this.logger.info(`Loaded ${newCount} skills`);
|
|
142
|
+
if (newSkills.size > 0 && newSkills.size !== this.skills.size) {
|
|
143
|
+
this.logger.info(`Loaded ${newSkills.size} skills`);
|
|
105
144
|
}
|
|
106
|
-
// Atomically replace state
|
|
107
145
|
this.toDispose = newDisposables;
|
|
108
146
|
this.skills = newSkills;
|
|
109
147
|
this.watchedDirectories = newWatchedDirectories;
|
|
148
|
+
this.parentWatchers = newParentWatchers;
|
|
110
149
|
this.onSkillsChangedEmitter.fire();
|
|
111
150
|
}
|
|
112
151
|
getWorkspaceSkillsDirectoryPath() {
|
|
@@ -122,29 +161,59 @@ let DefaultSkillService = class DefaultSkillService {
|
|
|
122
161
|
const configDir = new core_1.URI(configDirUri);
|
|
123
162
|
return configDir.resolve('skills').path.fsPath();
|
|
124
163
|
}
|
|
125
|
-
async
|
|
164
|
+
async processSkillDirectoryWithParentWatching(directoryPath, skills, disposables, watchedDirectories, parentWatchers) {
|
|
126
165
|
const dirURI = core_1.URI.fromFilePath(directoryPath);
|
|
127
166
|
try {
|
|
128
167
|
const dirExists = await this.fileService.exists(dirURI);
|
|
129
|
-
if (
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
const stat = await this.fileService.resolve(dirURI);
|
|
133
|
-
if (stat.children === undefined) {
|
|
134
|
-
return;
|
|
168
|
+
if (dirExists) {
|
|
169
|
+
await this.processExistingSkillDirectory(dirURI, skills, disposables, watchedDirectories);
|
|
135
170
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
171
|
+
else {
|
|
172
|
+
const parentPath = dirURI.parent.path.fsPath();
|
|
173
|
+
const parentURI = core_1.URI.fromFilePath(parentPath);
|
|
174
|
+
const parentExists = await this.fileService.exists(parentURI);
|
|
175
|
+
if (parentExists) {
|
|
176
|
+
const parentUriString = parentURI.toString();
|
|
177
|
+
disposables.push(this.fileService.watch(parentURI, { recursive: false, excludes: [] }));
|
|
178
|
+
parentWatchers.set(parentUriString, directoryPath);
|
|
179
|
+
this.logger.info(`Watching parent directory '${parentPath}' for skills folder creation`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
this.logger.warn(`Cannot watch skills directory '${directoryPath}': parent directory does not exist`);
|
|
140
183
|
}
|
|
141
184
|
}
|
|
142
|
-
this.setupDirectoryWatcher(dirURI, disposables, watchedDirectories);
|
|
143
185
|
}
|
|
144
186
|
catch (error) {
|
|
145
187
|
this.logger.error(`Error processing directory '${directoryPath}': ${error}`);
|
|
146
188
|
}
|
|
147
189
|
}
|
|
190
|
+
async processConfiguredSkillDirectory(directoryPath, skills, disposables, watchedDirectories) {
|
|
191
|
+
const dirURI = core_1.URI.fromFilePath(directoryPath);
|
|
192
|
+
try {
|
|
193
|
+
const dirExists = await this.fileService.exists(dirURI);
|
|
194
|
+
if (!dirExists) {
|
|
195
|
+
this.logger.warn(`Configured skill directory '${directoryPath}' does not exist`);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
await this.processExistingSkillDirectory(dirURI, skills, disposables, watchedDirectories);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
this.logger.error(`Error processing configured directory '${directoryPath}': ${error}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
async processExistingSkillDirectory(dirURI, skills, disposables, watchedDirectories) {
|
|
205
|
+
const stat = await this.fileService.resolve(dirURI);
|
|
206
|
+
if (!stat.children) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
for (const child of stat.children) {
|
|
210
|
+
if (child.isDirectory) {
|
|
211
|
+
const directoryName = child.name;
|
|
212
|
+
await this.loadSkillFromDirectory(child.resource, directoryName, skills);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
this.setupDirectoryWatcher(dirURI, disposables, watchedDirectories);
|
|
216
|
+
}
|
|
148
217
|
async loadSkillFromDirectory(directoryUri, directoryName, skills) {
|
|
149
218
|
const skillFileUri = directoryUri.resolve(skill_1.SKILL_FILE_NAME);
|
|
150
219
|
const fileExists = await this.fileService.exists(skillFileUri);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-service.js","sourceRoot":"","sources":["../../src/browser/skill-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAwF;AACxF,sCAAiF;AACjF,sDAAmD;AACnD,wEAA0E;AAC1E,6EAAyE;AAEzE,0DAAgE;AAChE,uEAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"skill-service.js","sourceRoot":"","sources":["../../src/browser/skill-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,17 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
21
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
18
22
|
const chai_1 = require("chai");
|
|
23
|
+
const sinon = require("sinon");
|
|
19
24
|
const skill_1 = require("../common/skill");
|
|
20
25
|
const path_1 = require("@theia/core/lib/common/path");
|
|
26
|
+
const core_1 = require("@theia/core");
|
|
27
|
+
const skill_service_1 = require("./skill-service");
|
|
28
|
+
disableJSDOM();
|
|
21
29
|
describe('SkillService', () => {
|
|
22
30
|
describe('tilde expansion', () => {
|
|
23
31
|
it('should expand ~ to home directory in configured paths', () => {
|
|
@@ -190,5 +198,170 @@ description: Skill with no content
|
|
|
190
198
|
(0, chai_1.expect)(result.content).to.equal('');
|
|
191
199
|
});
|
|
192
200
|
});
|
|
201
|
+
describe('parent directory watching', () => {
|
|
202
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
203
|
+
let fileServiceMock;
|
|
204
|
+
let loggerWarnSpy;
|
|
205
|
+
let loggerInfoSpy;
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
|
+
let envVariablesServerMock;
|
|
208
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
209
|
+
let workspaceServiceMock;
|
|
210
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
211
|
+
let preferencesMock;
|
|
212
|
+
let fileChangesEmitter;
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
214
|
+
let preferenceChangedEmitter;
|
|
215
|
+
function createService() {
|
|
216
|
+
const service = new skill_service_1.DefaultSkillService();
|
|
217
|
+
service.preferences = preferencesMock;
|
|
218
|
+
service.fileService = fileServiceMock;
|
|
219
|
+
const loggerMock = sinon.createStubInstance(core_1.Logger);
|
|
220
|
+
loggerMock.warn = loggerWarnSpy;
|
|
221
|
+
loggerMock.info = loggerInfoSpy;
|
|
222
|
+
service.logger = loggerMock;
|
|
223
|
+
service.envVariablesServer = envVariablesServerMock;
|
|
224
|
+
service.workspaceService = workspaceServiceMock;
|
|
225
|
+
return service;
|
|
226
|
+
}
|
|
227
|
+
beforeEach(() => {
|
|
228
|
+
fileChangesEmitter = new core_1.Emitter();
|
|
229
|
+
preferenceChangedEmitter = new core_1.Emitter();
|
|
230
|
+
fileServiceMock = {
|
|
231
|
+
exists: sinon.stub(),
|
|
232
|
+
watch: sinon.stub().returns(core_1.Disposable.NULL),
|
|
233
|
+
resolve: sinon.stub(),
|
|
234
|
+
read: sinon.stub(),
|
|
235
|
+
onDidFilesChange: (listener) => fileChangesEmitter.event(listener)
|
|
236
|
+
};
|
|
237
|
+
loggerWarnSpy = sinon.stub();
|
|
238
|
+
loggerInfoSpy = sinon.stub();
|
|
239
|
+
envVariablesServerMock = {
|
|
240
|
+
getHomeDirUri: sinon.stub().resolves('file:///home/testuser'),
|
|
241
|
+
getConfigDirUri: sinon.stub().resolves('file:///home/testuser/.theia-ide')
|
|
242
|
+
};
|
|
243
|
+
workspaceServiceMock = {
|
|
244
|
+
ready: Promise.resolve(),
|
|
245
|
+
tryGetRoots: sinon.stub().returns([]),
|
|
246
|
+
onWorkspaceChanged: sinon.stub().returns(core_1.Disposable.NULL)
|
|
247
|
+
};
|
|
248
|
+
preferencesMock = {
|
|
249
|
+
'ai-features.skills.skillDirectories': [],
|
|
250
|
+
onPreferenceChanged: preferenceChangedEmitter.event
|
|
251
|
+
};
|
|
252
|
+
});
|
|
253
|
+
afterEach(() => {
|
|
254
|
+
sinon.restore();
|
|
255
|
+
fileChangesEmitter.dispose();
|
|
256
|
+
preferenceChangedEmitter.dispose();
|
|
257
|
+
});
|
|
258
|
+
it('should watch parent directory when skills directory does not exist', async () => {
|
|
259
|
+
const service = createService();
|
|
260
|
+
// Default skills directory does not exist, but parent does
|
|
261
|
+
fileServiceMock.exists
|
|
262
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
263
|
+
.resolves(false);
|
|
264
|
+
fileServiceMock.exists
|
|
265
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide'))
|
|
266
|
+
.resolves(true);
|
|
267
|
+
// Call init to trigger update
|
|
268
|
+
service.init();
|
|
269
|
+
await workspaceServiceMock.ready;
|
|
270
|
+
// Allow async operations to complete
|
|
271
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
272
|
+
// Verify parent directory is watched
|
|
273
|
+
(0, chai_1.expect)(fileServiceMock.watch.calledWith(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide'), sinon.match({ recursive: false, excludes: [] }))).to.be.true;
|
|
274
|
+
// Verify info log about watching parent
|
|
275
|
+
(0, chai_1.expect)(loggerInfoSpy.calledWith(sinon.match(/Watching parent directory.*for skills folder creation/))).to.be.true;
|
|
276
|
+
});
|
|
277
|
+
it('should log warning when parent directory does not exist', async () => {
|
|
278
|
+
const service = createService();
|
|
279
|
+
// Neither skills directory nor parent exists
|
|
280
|
+
fileServiceMock.exists.resolves(false);
|
|
281
|
+
// Call init to trigger update
|
|
282
|
+
service.init();
|
|
283
|
+
await workspaceServiceMock.ready;
|
|
284
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
285
|
+
// Verify warning is logged about parent not existing
|
|
286
|
+
(0, chai_1.expect)(loggerWarnSpy.calledWith(sinon.match(/Cannot watch skills directory.*parent directory does not exist/))).to.be.true;
|
|
287
|
+
});
|
|
288
|
+
it('should log warning for non-existent configured directories', async () => {
|
|
289
|
+
const service = createService();
|
|
290
|
+
// Set up configured directory that doesn't exist
|
|
291
|
+
preferencesMock['ai-features.skills.skillDirectories'] = ['/custom/nonexistent/skills'];
|
|
292
|
+
// Default skills directory exists (to avoid additional warnings)
|
|
293
|
+
fileServiceMock.exists
|
|
294
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
295
|
+
.resolves(true);
|
|
296
|
+
fileServiceMock.resolve
|
|
297
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
298
|
+
.resolves({ children: [] });
|
|
299
|
+
// Configured directory does not exist
|
|
300
|
+
fileServiceMock.exists
|
|
301
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/custom/nonexistent/skills'))
|
|
302
|
+
.resolves(false);
|
|
303
|
+
// Call init to trigger update
|
|
304
|
+
service.init();
|
|
305
|
+
await workspaceServiceMock.ready;
|
|
306
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
307
|
+
// Verify warning is logged for non-existent configured directory
|
|
308
|
+
(0, chai_1.expect)(loggerWarnSpy.calledWith(sinon.match(/Configured skill directory.*does not exist/))).to.be.true;
|
|
309
|
+
});
|
|
310
|
+
it('should load skills when directory is created after initialization', async () => {
|
|
311
|
+
const service = createService();
|
|
312
|
+
// Initially, skills directory does not exist but parent does
|
|
313
|
+
fileServiceMock.exists
|
|
314
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
315
|
+
.resolves(false);
|
|
316
|
+
fileServiceMock.exists
|
|
317
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide'))
|
|
318
|
+
.resolves(true);
|
|
319
|
+
// Call init to trigger initial update
|
|
320
|
+
service.init();
|
|
321
|
+
await workspaceServiceMock.ready;
|
|
322
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
323
|
+
// Verify no skills initially
|
|
324
|
+
(0, chai_1.expect)(service.getSkills()).to.have.length(0);
|
|
325
|
+
// Now simulate skills directory being created with a skill
|
|
326
|
+
fileServiceMock.exists
|
|
327
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
328
|
+
.resolves(true);
|
|
329
|
+
fileServiceMock.resolve
|
|
330
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills'))
|
|
331
|
+
.resolves({
|
|
332
|
+
children: [{
|
|
333
|
+
isDirectory: true,
|
|
334
|
+
name: 'test-skill',
|
|
335
|
+
resource: core_1.URI.fromFilePath('/home/testuser/.theia-ide/skills/test-skill')
|
|
336
|
+
}]
|
|
337
|
+
});
|
|
338
|
+
fileServiceMock.exists
|
|
339
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills/test-skill/SKILL.md'))
|
|
340
|
+
.resolves(true);
|
|
341
|
+
fileServiceMock.read
|
|
342
|
+
.withArgs(sinon.match((uri) => uri.path.toString() === '/home/testuser/.theia-ide/skills/test-skill/SKILL.md'))
|
|
343
|
+
.resolves({
|
|
344
|
+
value: `---
|
|
345
|
+
name: test-skill
|
|
346
|
+
description: A test skill
|
|
347
|
+
---
|
|
348
|
+
Test skill content`
|
|
349
|
+
});
|
|
350
|
+
// Simulate file change event for skills directory creation
|
|
351
|
+
fileChangesEmitter.fire({
|
|
352
|
+
changes: [{
|
|
353
|
+
type: 1, // FileChangeType.ADDED
|
|
354
|
+
resource: core_1.URI.fromFilePath('/home/testuser/.theia-ide/skills')
|
|
355
|
+
}],
|
|
356
|
+
rawChanges: []
|
|
357
|
+
});
|
|
358
|
+
// Wait for async operations to complete
|
|
359
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
360
|
+
// Verify skill was loaded
|
|
361
|
+
const skills = service.getSkills();
|
|
362
|
+
(0, chai_1.expect)(skills).to.have.length(1);
|
|
363
|
+
(0, chai_1.expect)(skills[0].name).to.equal('test-skill');
|
|
364
|
+
});
|
|
365
|
+
});
|
|
193
366
|
});
|
|
194
367
|
//# sourceMappingURL=skill-service.spec.js.map
|