@theia/ai-core 1.61.0 → 1.62.0
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/ai-core-frontend-module.js +2 -2
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/frontend-language-model-service.d.ts +1 -1
- package/lib/browser/frontend-language-model-service.d.ts.map +1 -1
- package/lib/browser/frontend-language-model-service.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts +142 -48
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +452 -153
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/prompttemplate-contribution.d.ts +1 -2
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +5 -9
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/common/agent-service.d.ts.map +1 -1
- package/lib/common/agent-service.js +14 -2
- package/lib/common/agent-service.js.map +1 -1
- package/lib/common/agent.d.ts +8 -3
- package/lib/common/agent.d.ts.map +1 -1
- package/lib/common/agent.js.map +1 -1
- package/lib/common/index.d.ts +0 -1
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +0 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model-interaction-model.d.ts +74 -0
- package/lib/common/language-model-interaction-model.d.ts.map +1 -0
- package/lib/common/language-model-interaction-model.js +3 -0
- package/lib/common/language-model-interaction-model.js.map +1 -0
- package/lib/common/language-model-service.d.ts +26 -3
- package/lib/common/language-model-service.d.ts.map +1 -1
- package/lib/common/language-model-service.js +83 -6
- package/lib/common/language-model-service.js.map +1 -1
- package/lib/common/language-model-util.d.ts +3 -2
- package/lib/common/language-model-util.d.ts.map +1 -1
- package/lib/common/language-model-util.js +8 -0
- package/lib/common/language-model-util.js.map +1 -1
- package/lib/common/language-model.d.ts +25 -2
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +3 -1
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/prompt-service.d.ts +332 -126
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +363 -102
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-service.spec.js +104 -114
- package/lib/common/prompt-service.spec.js.map +1 -1
- package/lib/common/prompt-variable-contribution.d.ts +1 -2
- package/lib/common/prompt-variable-contribution.d.ts.map +1 -1
- package/lib/common/prompt-variable-contribution.js +17 -26
- package/lib/common/prompt-variable-contribution.js.map +1 -1
- package/package.json +10 -10
- package/src/browser/ai-core-frontend-module.ts +4 -4
- package/src/browser/frontend-language-model-service.ts +1 -1
- package/src/browser/frontend-prompt-customization-service.ts +574 -183
- package/src/browser/prompttemplate-contribution.ts +6 -9
- package/src/common/agent-service.ts +14 -4
- package/src/common/agent.ts +9 -3
- package/src/common/index.ts +0 -1
- package/src/common/language-model-interaction-model.ts +98 -0
- package/src/common/language-model-service.ts +115 -6
- package/src/common/language-model-util.ts +10 -2
- package/src/common/language-model.ts +28 -2
- package/src/common/prompt-service.spec.ts +108 -114
- package/src/common/prompt-service.ts +694 -221
- package/src/common/prompt-variable-contribution.ts +22 -27
- package/lib/common/communication-recording-service.d.ts +0 -30
- package/lib/common/communication-recording-service.d.ts.map +0 -1
- package/lib/common/communication-recording-service.js +0 -20
- package/lib/common/communication-recording-service.js.map +0 -1
- package/src/common/communication-recording-service.ts +0 -55
|
@@ -1,165 +1,196 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Event, Emitter, URI } from '@theia/core';
|
|
2
2
|
import { AIVariableArg, AIVariableContext, AIVariableService, ResolvedAIVariable } from './variable-service';
|
|
3
3
|
import { ToolInvocationRegistry } from './tool-invocation-registry';
|
|
4
4
|
import { ToolRequest } from './language-model';
|
|
5
5
|
import { AISettingsService } from './settings-service';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Represents a basic prompt fragment with an ID and template content.
|
|
8
|
+
*/
|
|
9
|
+
export interface BasePromptFragment {
|
|
10
|
+
/** Unique identifier for this prompt fragment */
|
|
7
11
|
id: string;
|
|
12
|
+
/** The template content, which may contain variables and function references */
|
|
8
13
|
template: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Represents a customized prompt fragment with an assigned customization ID and priority.
|
|
17
|
+
*/
|
|
18
|
+
export interface CustomizedPromptFragment extends BasePromptFragment {
|
|
19
|
+
/**
|
|
20
|
+
* Unique identifier for this customization
|
|
21
|
+
*/
|
|
22
|
+
customizationId: string;
|
|
9
23
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
24
|
+
* The order/priority of this customization, higher values indicate higher priority
|
|
25
|
+
* when multiple customizations exist for the same fragment
|
|
12
26
|
*/
|
|
13
|
-
|
|
27
|
+
priority: number;
|
|
14
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Union type representing either a built-in or customized prompt fragment
|
|
31
|
+
*/
|
|
32
|
+
export type PromptFragment = BasePromptFragment | CustomizedPromptFragment;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to check if a PromptFragment is a built-in fragment (not customized)
|
|
35
|
+
* @param fragment The fragment to check
|
|
36
|
+
* @returns True if the fragment is a basic BasePromptFragment (not customized)
|
|
37
|
+
*/
|
|
38
|
+
export declare function isBasePromptFragment(fragment: PromptFragment): fragment is BasePromptFragment;
|
|
39
|
+
/**
|
|
40
|
+
* Type guard to check if a PromptFragment is a CustomizedPromptFragment
|
|
41
|
+
* @param fragment The fragment to check
|
|
42
|
+
* @returns True if the fragment is a CustomizedPromptFragment
|
|
43
|
+
*/
|
|
44
|
+
export declare function isCustomizedPromptFragment(fragment: PromptFragment): fragment is CustomizedPromptFragment;
|
|
45
|
+
/**
|
|
46
|
+
* Map of prompt fragment IDs to prompt fragments
|
|
47
|
+
*/
|
|
15
48
|
export interface PromptMap {
|
|
16
|
-
[id: string]:
|
|
49
|
+
[id: string]: PromptFragment;
|
|
17
50
|
}
|
|
18
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Represents a prompt fragment with all variables and function references resolved
|
|
53
|
+
*/
|
|
54
|
+
export interface ResolvedPromptFragment {
|
|
55
|
+
/** The fragment ID */
|
|
19
56
|
id: string;
|
|
20
|
-
/** The resolved prompt text with variables and function requests being replaced
|
|
57
|
+
/** The resolved prompt text with variables and function requests being replaced */
|
|
21
58
|
text: string;
|
|
22
|
-
/** All functions referenced in the prompt
|
|
59
|
+
/** All functions referenced in the prompt fragment */
|
|
23
60
|
functionDescriptions?: Map<string, ToolRequest>;
|
|
24
|
-
/** All variables resolved in the prompt
|
|
61
|
+
/** All variables resolved in the prompt fragment */
|
|
25
62
|
variables?: ResolvedAIVariable[];
|
|
26
63
|
}
|
|
27
|
-
|
|
28
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Describes a custom agent with its properties
|
|
66
|
+
*/
|
|
67
|
+
export interface CustomAgentDescription {
|
|
68
|
+
/** Unique identifier for this agent */
|
|
69
|
+
id: string;
|
|
70
|
+
/** Display name for the agent */
|
|
71
|
+
name: string;
|
|
72
|
+
/** Description of the agent's purpose and capabilities */
|
|
73
|
+
description: string;
|
|
74
|
+
/** The prompt text for this agent */
|
|
75
|
+
prompt: string;
|
|
76
|
+
/** The default large language model to use with this agent */
|
|
77
|
+
defaultLLM: string;
|
|
78
|
+
}
|
|
79
|
+
export declare namespace CustomAgentDescription {
|
|
29
80
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @param id the id of the {@link PromptTemplate}
|
|
81
|
+
* Type guard to check if an object is a CustomAgentDescription
|
|
32
82
|
*/
|
|
33
|
-
|
|
83
|
+
function is(entry: unknown): entry is CustomAgentDescription;
|
|
34
84
|
/**
|
|
35
|
-
*
|
|
36
|
-
* @param id the id of the {@link PromptTemplate}
|
|
85
|
+
* Compares two CustomAgentDescription objects for equality
|
|
37
86
|
*/
|
|
38
|
-
|
|
87
|
+
function equals(a: CustomAgentDescription, b: CustomAgentDescription): boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Service responsible for customizing prompt fragments
|
|
91
|
+
*/
|
|
92
|
+
export declare const PromptFragmentCustomizationService: unique symbol;
|
|
93
|
+
export interface PromptFragmentCustomizationService {
|
|
39
94
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @param id the id of the {@link PromptTemplate}
|
|
95
|
+
* Event fired when a prompt fragment is changed
|
|
42
96
|
*/
|
|
43
|
-
|
|
97
|
+
readonly onDidChangePromptFragmentCustomization: Event<string[]>;
|
|
44
98
|
/**
|
|
45
|
-
*
|
|
46
|
-
* The placeholder is then searched inside the args object and replaced.
|
|
47
|
-
* Function references are also supported via format '~{functionId}'.
|
|
48
|
-
*
|
|
49
|
-
* All placeholders are replaced before function references are resolved.
|
|
50
|
-
* This allows to resolve function references contained in placeholders.
|
|
51
|
-
*
|
|
52
|
-
* @param id the id of the prompt
|
|
53
|
-
* @param args the object with placeholders, mapping the placeholder key to the value
|
|
99
|
+
* Event fired when custom agents are modified
|
|
54
100
|
*/
|
|
55
|
-
|
|
56
|
-
[key: string]: unknown;
|
|
57
|
-
}, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
|
|
101
|
+
readonly onDidChangeCustomAgents: Event<void>;
|
|
58
102
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* In contrast to {@link getPrompt}, this method does not resolve function references but leaves them as is.
|
|
63
|
-
* This allows resolving them later as part of the prompt or chat message containing the fragment.
|
|
64
|
-
*
|
|
65
|
-
* @param id the id of the prompt
|
|
66
|
-
* @param args the object with placeholders, mapping the placeholder key to the value
|
|
67
|
-
* @param context the {@link AIVariableContext} to use during variable resolution
|
|
68
|
-
* @param resolveVariable the variable resolving method. Fall back to using the {@link AIVariableService} if not given.
|
|
103
|
+
* Checks if a prompt fragment has customizations
|
|
104
|
+
* @param fragmentId The prompt fragment ID
|
|
105
|
+
* @returns Whether the fragment has any customizations
|
|
69
106
|
*/
|
|
70
|
-
|
|
71
|
-
[key: string]: unknown;
|
|
72
|
-
}, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<ResolvedPromptTemplate, 'functionDescriptions'> | undefined>;
|
|
107
|
+
isPromptFragmentCustomized(fragmentId: string): boolean;
|
|
73
108
|
/**
|
|
74
|
-
*
|
|
75
|
-
* @param
|
|
109
|
+
* Gets the active customized prompt fragment for a given ID
|
|
110
|
+
* @param fragmentId The prompt fragment ID
|
|
111
|
+
* @returns The active customized fragment or undefined if none exists
|
|
76
112
|
*/
|
|
77
|
-
|
|
113
|
+
getActivePromptFragmentCustomization(fragmentId: string): CustomizedPromptFragment | undefined;
|
|
78
114
|
/**
|
|
79
|
-
*
|
|
80
|
-
* @param
|
|
115
|
+
* Gets all customizations for a prompt fragment ordered by priority
|
|
116
|
+
* @param fragmentId The prompt fragment ID
|
|
117
|
+
* @returns Array of customized fragments ordered by priority (highest first)
|
|
81
118
|
*/
|
|
82
|
-
|
|
119
|
+
getAllCustomizations(fragmentId: string): CustomizedPromptFragment[];
|
|
83
120
|
/**
|
|
84
|
-
*
|
|
121
|
+
* Gets the IDs of all prompt fragments that have customizations
|
|
122
|
+
* @returns Array of prompt fragment IDs
|
|
85
123
|
*/
|
|
86
|
-
|
|
124
|
+
getCustomizedPromptFragmentIds(): string[];
|
|
87
125
|
/**
|
|
88
|
-
*
|
|
89
|
-
* @param
|
|
90
|
-
* @
|
|
126
|
+
* Creates a new customization for a prompt fragment
|
|
127
|
+
* @param fragmentId The fragment ID to customize
|
|
128
|
+
* @param defaultContent Optional default content for the customization
|
|
91
129
|
*/
|
|
92
|
-
|
|
130
|
+
createPromptFragmentCustomization(fragmentId: string, defaultContent?: string): Promise<void>;
|
|
93
131
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* @param id the id of the main prompt
|
|
98
|
-
* @returns the variant ID if one is selected, or the main prompt ID otherwise
|
|
132
|
+
* Creates a customization based on a built-in fragment
|
|
133
|
+
* @param fragmentId The ID of the built-in fragment to customize
|
|
134
|
+
* @param defaultContent Optional default content for the customization
|
|
99
135
|
*/
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
export interface CustomAgentDescription {
|
|
103
|
-
id: string;
|
|
104
|
-
name: string;
|
|
105
|
-
description: string;
|
|
106
|
-
prompt: string;
|
|
107
|
-
defaultLLM: string;
|
|
108
|
-
}
|
|
109
|
-
export declare namespace CustomAgentDescription {
|
|
110
|
-
function is(entry: unknown): entry is CustomAgentDescription;
|
|
111
|
-
function equals(a: CustomAgentDescription, b: CustomAgentDescription): boolean;
|
|
112
|
-
}
|
|
113
|
-
export declare const PromptCustomizationService: unique symbol;
|
|
114
|
-
export interface PromptCustomizationService {
|
|
136
|
+
createBuiltInPromptFragmentCustomization(fragmentId: string, defaultContent?: string): Promise<void>;
|
|
115
137
|
/**
|
|
116
|
-
*
|
|
117
|
-
* @param
|
|
138
|
+
* Edits a specific customization of a prompt fragment
|
|
139
|
+
* @param fragmentId The prompt fragment ID
|
|
140
|
+
* @param customizationId The customization ID to edit
|
|
118
141
|
*/
|
|
119
|
-
|
|
142
|
+
editPromptFragmentCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
120
143
|
/**
|
|
121
|
-
*
|
|
122
|
-
* @param
|
|
144
|
+
* Edits the built-in customization of a prompt fragment
|
|
145
|
+
* @param fragmentId The prompt fragment ID to edit
|
|
146
|
+
* @param defaultContent Optional default content for the customization
|
|
123
147
|
*/
|
|
124
|
-
|
|
125
|
-
getCustomPromptTemplateIDs(): string[];
|
|
148
|
+
editBuiltInPromptFragmentCustomization(fragmentId: string, defaultContent?: string): Promise<void>;
|
|
126
149
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* open an editor, or request more information from the user, ...
|
|
131
|
-
* @param id the template id.
|
|
132
|
-
* @param content optional default content to initialize the template
|
|
150
|
+
* Removes a specific customization of a prompt fragment
|
|
151
|
+
* @param fragmentId The prompt fragment ID
|
|
152
|
+
* @param customizationId The customization ID to remove
|
|
133
153
|
*/
|
|
134
|
-
|
|
154
|
+
removePromptFragmentCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
135
155
|
/**
|
|
136
|
-
*
|
|
137
|
-
* @param
|
|
156
|
+
* Resets a fragment to its built-in version by removing all customizations
|
|
157
|
+
* @param fragmentId The fragment ID to reset
|
|
138
158
|
*/
|
|
139
|
-
|
|
159
|
+
removeAllPromptFragmentCustomizations(fragmentId: string): Promise<void>;
|
|
140
160
|
/**
|
|
141
|
-
*
|
|
142
|
-
* @param
|
|
161
|
+
* Resets to a specific customization by removing higher-priority customizations
|
|
162
|
+
* @param fragmentId The fragment ID
|
|
163
|
+
* @param customizationId The customization ID to reset to
|
|
143
164
|
*/
|
|
144
|
-
|
|
165
|
+
resetToCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
145
166
|
/**
|
|
146
|
-
*
|
|
167
|
+
* Gets information about the description of a customization
|
|
168
|
+
* @param fragmentId The fragment ID
|
|
169
|
+
* @param customizationId The customization ID
|
|
170
|
+
* @returns Description of the customization
|
|
147
171
|
*/
|
|
148
|
-
|
|
172
|
+
getPromptFragmentCustomizationDescription(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
149
173
|
/**
|
|
150
|
-
*
|
|
151
|
-
* @
|
|
174
|
+
* Gets information about the source/type of a customization
|
|
175
|
+
* @param fragmentId The fragment ID
|
|
176
|
+
* @param customizationId The customization ID
|
|
177
|
+
* @returns Type of the customization source
|
|
152
178
|
*/
|
|
153
|
-
|
|
179
|
+
getPromptFragmentCustomizationType(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
154
180
|
/**
|
|
155
|
-
*
|
|
181
|
+
* Gets the fragment ID from a resource identifier
|
|
182
|
+
* @param resourceId Resource identifier (implementation specific)
|
|
183
|
+
* @returns Fragment ID or undefined if not found
|
|
156
184
|
*/
|
|
157
|
-
|
|
185
|
+
getPromptFragmentIDFromResource(resourceId: unknown): string | undefined;
|
|
158
186
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
|
|
162
|
-
|
|
187
|
+
* Gets all custom agent descriptions
|
|
188
|
+
* @returns Array of custom agent descriptions
|
|
189
|
+
*/
|
|
190
|
+
getCustomAgents(): Promise<CustomAgentDescription[]>;
|
|
191
|
+
/**
|
|
192
|
+
* Gets the locations of custom agent configuration files
|
|
193
|
+
* @returns Array of URIs and existence status
|
|
163
194
|
*/
|
|
164
195
|
getCustomAgentsLocations(): Promise<{
|
|
165
196
|
uri: URI;
|
|
@@ -172,32 +203,179 @@ export interface PromptCustomizationService {
|
|
|
172
203
|
*/
|
|
173
204
|
openCustomAgentYaml(uri: URI): Promise<void>;
|
|
174
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Service for managing and resolving prompt fragments
|
|
208
|
+
*/
|
|
209
|
+
export declare const PromptService: unique symbol;
|
|
210
|
+
export interface PromptService {
|
|
211
|
+
/**
|
|
212
|
+
* Event fired when the prompts change
|
|
213
|
+
*/
|
|
214
|
+
readonly onPromptsChange: Event<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Event fired when the selected variant for a prompt variant set changes
|
|
217
|
+
*/
|
|
218
|
+
readonly onSelectedVariantChange: Event<{
|
|
219
|
+
promptVariantSetId: string;
|
|
220
|
+
variantId: string;
|
|
221
|
+
}>;
|
|
222
|
+
/**
|
|
223
|
+
* Gets the raw prompt fragment with comments
|
|
224
|
+
* @param fragmentId The prompt fragment ID
|
|
225
|
+
* @returns The raw prompt fragment or undefined if not found
|
|
226
|
+
*/
|
|
227
|
+
getRawPromptFragment(fragmentId: string): PromptFragment | undefined;
|
|
228
|
+
/**
|
|
229
|
+
* Gets the raw prompt fragment without comments
|
|
230
|
+
* @param fragmentId The prompt fragment ID
|
|
231
|
+
* @returns The raw prompt fragment or undefined if not found
|
|
232
|
+
*/
|
|
233
|
+
getPromptFragment(fragmentId: string): PromptFragment | undefined;
|
|
234
|
+
/**
|
|
235
|
+
* Gets the built-in raw prompt fragment (before any customizations)
|
|
236
|
+
* @param fragmentId The prompt fragment ID
|
|
237
|
+
* @returns The built-in fragment or undefined if not found
|
|
238
|
+
*/
|
|
239
|
+
getBuiltInRawPrompt(fragmentId: string): PromptFragment | undefined;
|
|
240
|
+
/**
|
|
241
|
+
* Resolves a prompt fragment by replacing variables and function references
|
|
242
|
+
* @param fragmentId The prompt fragment ID
|
|
243
|
+
* @param args Optional object with values for variable replacement
|
|
244
|
+
* @param context Optional context for variable resolution
|
|
245
|
+
* @returns The resolved prompt fragment or undefined if not found
|
|
246
|
+
*/
|
|
247
|
+
getResolvedPromptFragment(fragmentId: string, args?: {
|
|
248
|
+
[key: string]: unknown;
|
|
249
|
+
}, context?: AIVariableContext): Promise<ResolvedPromptFragment | undefined>;
|
|
250
|
+
/**
|
|
251
|
+
* Resolves a prompt fragment by replacing variables but preserving function references
|
|
252
|
+
* @param fragmentId The prompt fragment ID
|
|
253
|
+
* @param args Optional object with values for variable replacement
|
|
254
|
+
* @param context Optional context for variable resolution
|
|
255
|
+
* @param resolveVariable Optional custom variable resolution function
|
|
256
|
+
* @returns The partially resolved prompt fragment or undefined if not found
|
|
257
|
+
*/
|
|
258
|
+
getResolvedPromptFragmentWithoutFunctions(fragmentId: string, args?: {
|
|
259
|
+
[key: string]: unknown;
|
|
260
|
+
}, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<ResolvedPromptFragment, 'functionDescriptions'> | undefined>;
|
|
261
|
+
/**
|
|
262
|
+
* Adds a prompt fragment to the service
|
|
263
|
+
* @param promptFragment The fragment to store
|
|
264
|
+
* @param promptVariantSetId Optional ID of the prompt variant set this is a variant of
|
|
265
|
+
*/
|
|
266
|
+
addBuiltInPromptFragment(promptFragment: BasePromptFragment, promptVariantSetId?: string, isDefault?: boolean): void;
|
|
267
|
+
/**
|
|
268
|
+
* Removes a prompt fragment from the service
|
|
269
|
+
* @param fragmentId The fragment ID to remove
|
|
270
|
+
*/
|
|
271
|
+
removePromptFragment(fragmentId: string): void;
|
|
272
|
+
/**
|
|
273
|
+
* Gets all known prompts, including variants and customizations
|
|
274
|
+
* @returns Map of fragment IDs to arrays of fragments
|
|
275
|
+
*/
|
|
276
|
+
getAllPromptFragments(): Map<string, PromptFragment[]>;
|
|
277
|
+
/**
|
|
278
|
+
* Gets all active prompts (highest priority version of each fragment)
|
|
279
|
+
* @returns Array of active prompt fragments
|
|
280
|
+
*/
|
|
281
|
+
getActivePromptFragments(): PromptFragment[];
|
|
282
|
+
/**
|
|
283
|
+
* Returns all IDs of all prompt fragments of the given set
|
|
284
|
+
* @param promptVariantSetId The prompt variant set id
|
|
285
|
+
* @returns Array of variant IDs
|
|
286
|
+
*/
|
|
287
|
+
getVariantIds(promptVariantSetId: string): string[];
|
|
288
|
+
/**
|
|
289
|
+
* Gets the currently selected variant ID of the given set
|
|
290
|
+
* @param promptVariantSetId The prompt variant set id
|
|
291
|
+
* @returns The selected variant ID or the main ID if no variant is selected
|
|
292
|
+
*/
|
|
293
|
+
getSelectedVariantId(promptVariantSetId: string): Promise<string | undefined>;
|
|
294
|
+
/**
|
|
295
|
+
* Gets the default variant ID of the given set
|
|
296
|
+
* @param promptVariantSetId The prompt variant set id
|
|
297
|
+
* @returns The default variant ID or undefined if no default is set
|
|
298
|
+
*/
|
|
299
|
+
getDefaultVariantId(promptVariantSetId: string): string | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* Updates the selected variant for a prompt variant set
|
|
302
|
+
* @param agentId The ID of the agent to update
|
|
303
|
+
* @param promptVariantSetId The prompt variant set ID
|
|
304
|
+
* @param newVariant The new variant ID to set as selected
|
|
305
|
+
*/
|
|
306
|
+
updateSelectedVariantId(agentId: string, promptVariantSetId: string, newVariant: string): Promise<void>;
|
|
307
|
+
/**
|
|
308
|
+
* Gets all prompt variant sets and their variants
|
|
309
|
+
* @returns Map of prompt variant set IDs to arrays of variant IDs
|
|
310
|
+
*/
|
|
311
|
+
getPromptVariantSets(): Map<string, string[]>;
|
|
312
|
+
/**
|
|
313
|
+
* The following methods delegate to the PromptFragmentCustomizationService
|
|
314
|
+
*/
|
|
315
|
+
createCustomization(fragmentId: string): Promise<void>;
|
|
316
|
+
createBuiltInCustomization(fragmentId: string): Promise<void>;
|
|
317
|
+
editBuiltInCustomization(fragmentId: string): Promise<void>;
|
|
318
|
+
editCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
319
|
+
removeCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
320
|
+
resetAllToBuiltIn(): Promise<void>;
|
|
321
|
+
resetToBuiltIn(fragmentId: string): Promise<void>;
|
|
322
|
+
resetToCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
323
|
+
getCustomizationDescription(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
324
|
+
getCustomizationType(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
325
|
+
getTemplateIDFromResource(resourceId: unknown): string | undefined;
|
|
326
|
+
}
|
|
175
327
|
export declare class PromptServiceImpl implements PromptService {
|
|
176
328
|
protected readonly settingsService: AISettingsService | undefined;
|
|
177
|
-
protected readonly customizationService:
|
|
329
|
+
protected readonly customizationService: PromptFragmentCustomizationService | undefined;
|
|
178
330
|
protected readonly variableService: AIVariableService | undefined;
|
|
179
331
|
protected readonly toolInvocationRegistry: ToolInvocationRegistry | undefined;
|
|
180
|
-
protected
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
332
|
+
protected _builtInFragments: BasePromptFragment[];
|
|
333
|
+
protected _promptVariantSetsMap: Map<string, string[]>;
|
|
334
|
+
protected _defaultVariantsMap: Map<string, string>;
|
|
335
|
+
protected _onPromptsChangeEmitter: Emitter<void>;
|
|
336
|
+
readonly onPromptsChange: Event<void>;
|
|
337
|
+
protected _onSelectedVariantChangeEmitter: Emitter<{
|
|
338
|
+
promptVariantSetId: string;
|
|
339
|
+
variantId: string;
|
|
340
|
+
}>;
|
|
341
|
+
readonly onSelectedVariantChange: Event<{
|
|
342
|
+
promptVariantSetId: string;
|
|
343
|
+
variantId: string;
|
|
344
|
+
}>;
|
|
345
|
+
protected init(): void;
|
|
346
|
+
/**
|
|
347
|
+
* Finds a built-in fragment by its ID
|
|
348
|
+
* @param fragmentId The ID of the fragment to find
|
|
349
|
+
* @returns The built-in fragment or undefined if not found
|
|
350
|
+
*/
|
|
351
|
+
protected findBuiltInFragmentById(fragmentId: string): BasePromptFragment | undefined;
|
|
352
|
+
getRawPromptFragment(fragmentId: string): PromptFragment | undefined;
|
|
353
|
+
getBuiltInRawPrompt(fragmentId: string): PromptFragment | undefined;
|
|
354
|
+
getPromptFragment(fragmentId: string): PromptFragment | undefined;
|
|
355
|
+
/**
|
|
356
|
+
* Strips comments from a template string
|
|
357
|
+
* @param templateText The template text to process
|
|
358
|
+
* @returns Template text with comments removed
|
|
359
|
+
*/
|
|
360
|
+
protected stripComments(templateText: string): string;
|
|
361
|
+
getSelectedVariantId(fragmentId: string): Promise<string | undefined>;
|
|
362
|
+
protected resolvePotentialSystemPrompt(promptFragmentId: string): Promise<PromptFragment | undefined>;
|
|
363
|
+
getResolvedPromptFragment(systemOrFragmentId: string, args?: {
|
|
187
364
|
[key: string]: unknown;
|
|
188
|
-
}, context?: AIVariableContext): Promise<
|
|
189
|
-
|
|
365
|
+
}, context?: AIVariableContext): Promise<ResolvedPromptFragment | undefined>;
|
|
366
|
+
getResolvedPromptFragmentWithoutFunctions(systemOrFragmentId: string, args?: {
|
|
190
367
|
[key: string]: unknown;
|
|
191
|
-
}, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<
|
|
368
|
+
}, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<ResolvedPromptFragment, 'functionDescriptions'> | undefined>;
|
|
192
369
|
/**
|
|
193
370
|
* Calculates all variable and argument replacements for an unresolved template.
|
|
194
371
|
*
|
|
195
|
-
* @param
|
|
372
|
+
* @param templateText the unresolved template text
|
|
196
373
|
* @param args the object with placeholders, mapping the placeholder key to the value
|
|
197
374
|
* @param context the {@link AIVariableContext} to use during variable resolution
|
|
198
375
|
* @param resolveVariable the variable resolving method. Fall back to using the {@link AIVariableService} if not given.
|
|
376
|
+
* @returns Object containing replacements and resolved variables
|
|
199
377
|
*/
|
|
200
|
-
protected
|
|
378
|
+
protected resolveVariablesAndArgs(templateText: string, args?: {
|
|
201
379
|
[key: string]: unknown;
|
|
202
380
|
}, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<{
|
|
203
381
|
replacements: {
|
|
@@ -206,9 +384,37 @@ export declare class PromptServiceImpl implements PromptService {
|
|
|
206
384
|
}[];
|
|
207
385
|
resolvedVariables: ResolvedAIVariable[];
|
|
208
386
|
}>;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
387
|
+
getAllPromptFragments(): Map<string, PromptFragment[]>;
|
|
388
|
+
getActivePromptFragments(): PromptFragment[];
|
|
389
|
+
removePromptFragment(fragmentId: string): void;
|
|
390
|
+
getVariantIds(fragmentId: string): string[];
|
|
391
|
+
getDefaultVariantId(promptVariantSetId: string): string | undefined;
|
|
392
|
+
getPromptVariantSets(): Map<string, string[]>;
|
|
393
|
+
addBuiltInPromptFragment(promptFragment: BasePromptFragment, promptVariantSetId?: string, isDefault?: boolean): void;
|
|
394
|
+
/**
|
|
395
|
+
* Adds a variant ID to the fragment variants map
|
|
396
|
+
* @param promptVariantSetId The prompt variant set id
|
|
397
|
+
* @param variantId The variant ID to add
|
|
398
|
+
* @param isDefault Whether this variant should be the default for the prompt variant set (defaults to false)
|
|
399
|
+
*/
|
|
400
|
+
protected addFragmentVariant(promptVariantSetId: string, variantId: string, isDefault?: boolean): void;
|
|
401
|
+
/**
|
|
402
|
+
* Removes a variant ID from the fragment variants map
|
|
403
|
+
* @param promptVariantSetId The prompt variant set id
|
|
404
|
+
* @param variantId The variant ID to remove
|
|
405
|
+
*/
|
|
406
|
+
protected removeFragmentVariant(promptVariantSetId: string, variantId: string): void;
|
|
407
|
+
updateSelectedVariantId(agentId: string, promptVariantSetId: string, newVariant: string): Promise<void>;
|
|
408
|
+
createCustomization(fragmentId: string): Promise<void>;
|
|
409
|
+
createBuiltInCustomization(fragmentId: string): Promise<void>;
|
|
410
|
+
editCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
411
|
+
removeCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
412
|
+
resetAllToBuiltIn(): Promise<void>;
|
|
413
|
+
resetToBuiltIn(fragmentId: string): Promise<void>;
|
|
414
|
+
resetToCustomization(fragmentId: string, customizationId: string): Promise<void>;
|
|
415
|
+
getCustomizationDescription(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
416
|
+
getCustomizationType(fragmentId: string, customizationId: string): Promise<string | undefined>;
|
|
417
|
+
getTemplateIDFromResource(resourceId: unknown): string | undefined;
|
|
418
|
+
editBuiltInCustomization(fragmentId: string): Promise<void>;
|
|
213
419
|
}
|
|
214
420
|
//# sourceMappingURL=prompt-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"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"}
|