@theia/ai-terminal 1.55.0-next.97 → 1.55.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-terminal-agent.d.ts","sourceRoot":"","sources":["../../src/browser/ai-terminal-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,KAAK,EACL,6BAA6B,EAG7B,qBAAqB,EAAE,wBAAwB,EAC/C,aAAa,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAC;AAUpD,qBACa,eAAgB,YAAW,KAAK;IAEzC,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IAE1D,EAAE,SAAwB;IAC1B,IAAI,SAAwB;IAC5B,WAAW,SAEoI;IAC/I,SAAS,UAAM;IACf,SAAS,UAAM;IACf,sBAAsB;;;;QAKpB;IACF,eAAe;;;;;
|
|
1
|
+
{"version":3,"file":"ai-terminal-agent.d.ts","sourceRoot":"","sources":["../../src/browser/ai-terminal-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,KAAK,EACL,6BAA6B,EAG7B,qBAAqB,EAAE,wBAAwB,EAC/C,aAAa,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAC;AAUpD,qBACa,eAAgB,YAAW,KAAK;IAEzC,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IAE1D,EAAE,SAAwB;IAC1B,IAAI,SAAwB;IAC5B,WAAW,SAEoI;IAC/I,SAAS,UAAM;IACf,SAAS,UAAM;IACf,sBAAsB;;;;QAKpB;IACF,eAAe;;;;;QA4Db;IACF,yBAAyB,EAAE,wBAAwB,EAAE,CAKnD;IAGF,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGvD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAEpB,WAAW,CACb,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,sBAAsB,EAAE,MAAM,EAAE,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC;CAmGvB"}
|
|
@@ -45,8 +45,7 @@ let AiTerminalAgent = class AiTerminalAgent {
|
|
|
45
45
|
id: 'terminal-system',
|
|
46
46
|
name: 'AI Terminal System Prompt',
|
|
47
47
|
description: 'Prompt for the AI Terminal Assistant',
|
|
48
|
-
template: `
|
|
49
|
-
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
48
|
+
template: `
|
|
50
49
|
# Instructions
|
|
51
50
|
Generate one or more command suggestions based on the user's request, considering the shell being used,
|
|
52
51
|
the current working directory, and the recent terminal contents. Provide the best suggestion first,
|
|
@@ -93,8 +92,7 @@ nothing to commit, working tree clean
|
|
|
93
92
|
id: 'terminal-user',
|
|
94
93
|
name: 'AI Terminal User Prompt',
|
|
95
94
|
description: 'Prompt that contains the user request',
|
|
96
|
-
template: `
|
|
97
|
-
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
95
|
+
template: `
|
|
98
96
|
user-request: {{userRequest}}
|
|
99
97
|
shell: {{shell}}
|
|
100
98
|
cwd: {{cwd}}
|
|
@@ -125,9 +123,9 @@ recent-terminal-contents:
|
|
|
125
123
|
cwd,
|
|
126
124
|
recentTerminalContents
|
|
127
125
|
};
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
if (!
|
|
126
|
+
const systemPrompt = await this.promptService.getPrompt('terminal-system', parameters).then(p => p === null || p === void 0 ? void 0 : p.text);
|
|
127
|
+
const userPrompt = await this.promptService.getPrompt('terminal-user', parameters).then(p => p === null || p === void 0 ? void 0 : p.text);
|
|
128
|
+
if (!systemPrompt || !userPrompt) {
|
|
131
129
|
this.logger.error('The prompt service didn\'t return prompts for the AI Terminal Agent.');
|
|
132
130
|
return [];
|
|
133
131
|
}
|
|
@@ -137,9 +135,10 @@ recent-terminal-contents:
|
|
|
137
135
|
this.recordingService.recordRequest({
|
|
138
136
|
agentId: this.id,
|
|
139
137
|
sessionId,
|
|
138
|
+
timestamp: Date.now(),
|
|
140
139
|
requestId,
|
|
141
|
-
request,
|
|
142
|
-
|
|
140
|
+
request: systemPrompt,
|
|
141
|
+
messages: [userPrompt],
|
|
143
142
|
});
|
|
144
143
|
try {
|
|
145
144
|
const result = await lm.request({
|
|
@@ -147,12 +146,12 @@ recent-terminal-contents:
|
|
|
147
146
|
{
|
|
148
147
|
actor: 'ai',
|
|
149
148
|
type: 'text',
|
|
150
|
-
query:
|
|
149
|
+
query: systemPrompt
|
|
151
150
|
},
|
|
152
151
|
{
|
|
153
152
|
actor: 'user',
|
|
154
153
|
type: 'text',
|
|
155
|
-
query:
|
|
154
|
+
query: userPrompt
|
|
156
155
|
}
|
|
157
156
|
],
|
|
158
157
|
response_format: {
|
|
@@ -168,15 +167,27 @@ recent-terminal-contents:
|
|
|
168
167
|
// model returned structured output
|
|
169
168
|
const parsedResult = Commands.safeParse(result.parsed);
|
|
170
169
|
if (parsedResult.success) {
|
|
171
|
-
const
|
|
172
|
-
this.recordingService.recordResponse({
|
|
170
|
+
const responseTextfromParsed = JSON.stringify(parsedResult.data.commands);
|
|
171
|
+
this.recordingService.recordResponse({
|
|
172
|
+
agentId: this.id,
|
|
173
|
+
sessionId,
|
|
174
|
+
timestamp: Date.now(),
|
|
175
|
+
requestId,
|
|
176
|
+
response: responseTextfromParsed,
|
|
177
|
+
});
|
|
173
178
|
return parsedResult.data.commands;
|
|
174
179
|
}
|
|
175
180
|
}
|
|
176
181
|
// fall back to agent-based parsing of result
|
|
177
182
|
const jsonResult = await (0, common_1.getJsonOfResponse)(result);
|
|
178
183
|
const responseTextFromJSON = JSON.stringify(jsonResult);
|
|
179
|
-
this.recordingService.recordResponse({
|
|
184
|
+
this.recordingService.recordResponse({
|
|
185
|
+
agentId: this.id,
|
|
186
|
+
sessionId,
|
|
187
|
+
timestamp: Date.now(),
|
|
188
|
+
requestId,
|
|
189
|
+
response: responseTextFromJSON
|
|
190
|
+
});
|
|
180
191
|
const parsedJsonResult = Commands.safeParse(jsonResult);
|
|
181
192
|
if (parsedJsonResult.success) {
|
|
182
193
|
return parsedJsonResult.data.commands;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-terminal-agent.js","sourceRoot":"","sources":["../../src/browser/ai-terminal-agent.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,sDAOmC;AACnC,sCAAoD;AACpD,4DAAkE;AAClE,6BAAwB;AACxB,2DAAiD;AAEjD,MAAM,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAII,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QAIH,OAAE,GAAG,oBAAoB,CAAC;QAC1B,SAAI,GAAG,oBAAoB,CAAC;QAC5B,gBAAW,GAAG;;kJAEgI,CAAC;QAC/I,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QACf,2BAAsB,GAAG;YACrB,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,kCAAkC,EAAE;YAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,2CAA2C,EAAE;YAC/F,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAClF,EAAE,IAAI,EAAE,wBAAwB,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE;SAChI,CAAC;QACF,oBAAe,GAAG;YACd;gBACI,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"ai-terminal-agent.js","sourceRoot":"","sources":["../../src/browser/ai-terminal-agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-terminal",
|
|
3
|
-
"version": "1.55.
|
|
3
|
+
"version": "1.55.1",
|
|
4
4
|
"description": "Theia - AI Terminal Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-chat": "1.55.
|
|
7
|
-
"@theia/ai-core": "1.55.
|
|
8
|
-
"@theia/core": "1.55.
|
|
9
|
-
"@theia/terminal": "1.55.
|
|
6
|
+
"@theia/ai-chat": "1.55.1",
|
|
7
|
+
"@theia/ai-core": "1.55.1",
|
|
8
|
+
"@theia/core": "1.55.1",
|
|
9
|
+
"@theia/terminal": "1.55.1",
|
|
10
10
|
"zod": "^3.23.8",
|
|
11
11
|
"zod-to-json-schema": "^3.23.2"
|
|
12
12
|
},
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"watch": "theiaext watch"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@theia/ext-scripts": "1.55.
|
|
46
|
+
"@theia/ext-scripts": "1.55.1"
|
|
47
47
|
},
|
|
48
48
|
"nyc": {
|
|
49
49
|
"extends": "../../configs/nyc.json"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "be4713a778be16ba831af63a6fbd43b2301e882d"
|
|
52
52
|
}
|
|
@@ -55,8 +55,7 @@ export class AiTerminalAgent implements Agent {
|
|
|
55
55
|
id: 'terminal-system',
|
|
56
56
|
name: 'AI Terminal System Prompt',
|
|
57
57
|
description: 'Prompt for the AI Terminal Assistant',
|
|
58
|
-
template: `
|
|
59
|
-
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
58
|
+
template: `
|
|
60
59
|
# Instructions
|
|
61
60
|
Generate one or more command suggestions based on the user's request, considering the shell being used,
|
|
62
61
|
the current working directory, and the recent terminal contents. Provide the best suggestion first,
|
|
@@ -103,8 +102,7 @@ nothing to commit, working tree clean
|
|
|
103
102
|
id: 'terminal-user',
|
|
104
103
|
name: 'AI Terminal User Prompt',
|
|
105
104
|
description: 'Prompt that contains the user request',
|
|
106
|
-
template: `
|
|
107
|
-
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
105
|
+
template: `
|
|
108
106
|
user-request: {{userRequest}}
|
|
109
107
|
shell: {{shell}}
|
|
110
108
|
cwd: {{cwd}}
|
|
@@ -151,9 +149,9 @@ recent-terminal-contents:
|
|
|
151
149
|
recentTerminalContents
|
|
152
150
|
};
|
|
153
151
|
|
|
154
|
-
const
|
|
155
|
-
const
|
|
156
|
-
if (!
|
|
152
|
+
const systemPrompt = await this.promptService.getPrompt('terminal-system', parameters).then(p => p?.text);
|
|
153
|
+
const userPrompt = await this.promptService.getPrompt('terminal-user', parameters).then(p => p?.text);
|
|
154
|
+
if (!systemPrompt || !userPrompt) {
|
|
157
155
|
this.logger.error('The prompt service didn\'t return prompts for the AI Terminal Agent.');
|
|
158
156
|
return [];
|
|
159
157
|
}
|
|
@@ -164,9 +162,10 @@ recent-terminal-contents:
|
|
|
164
162
|
this.recordingService.recordRequest({
|
|
165
163
|
agentId: this.id,
|
|
166
164
|
sessionId,
|
|
165
|
+
timestamp: Date.now(),
|
|
167
166
|
requestId,
|
|
168
|
-
request,
|
|
169
|
-
|
|
167
|
+
request: systemPrompt,
|
|
168
|
+
messages: [userPrompt],
|
|
170
169
|
});
|
|
171
170
|
|
|
172
171
|
try {
|
|
@@ -175,12 +174,12 @@ recent-terminal-contents:
|
|
|
175
174
|
{
|
|
176
175
|
actor: 'ai',
|
|
177
176
|
type: 'text',
|
|
178
|
-
query:
|
|
177
|
+
query: systemPrompt
|
|
179
178
|
},
|
|
180
179
|
{
|
|
181
180
|
actor: 'user',
|
|
182
181
|
type: 'text',
|
|
183
|
-
query:
|
|
182
|
+
query: userPrompt
|
|
184
183
|
}
|
|
185
184
|
],
|
|
186
185
|
response_format: {
|
|
@@ -197,8 +196,14 @@ recent-terminal-contents:
|
|
|
197
196
|
// model returned structured output
|
|
198
197
|
const parsedResult = Commands.safeParse(result.parsed);
|
|
199
198
|
if (parsedResult.success) {
|
|
200
|
-
const
|
|
201
|
-
this.recordingService.recordResponse({
|
|
199
|
+
const responseTextfromParsed = JSON.stringify(parsedResult.data.commands);
|
|
200
|
+
this.recordingService.recordResponse({
|
|
201
|
+
agentId: this.id,
|
|
202
|
+
sessionId,
|
|
203
|
+
timestamp: Date.now(),
|
|
204
|
+
requestId,
|
|
205
|
+
response: responseTextfromParsed,
|
|
206
|
+
});
|
|
202
207
|
return parsedResult.data.commands;
|
|
203
208
|
}
|
|
204
209
|
}
|
|
@@ -206,7 +211,13 @@ recent-terminal-contents:
|
|
|
206
211
|
// fall back to agent-based parsing of result
|
|
207
212
|
const jsonResult = await getJsonOfResponse(result);
|
|
208
213
|
const responseTextFromJSON = JSON.stringify(jsonResult);
|
|
209
|
-
this.recordingService.recordResponse({
|
|
214
|
+
this.recordingService.recordResponse({
|
|
215
|
+
agentId: this.id,
|
|
216
|
+
sessionId,
|
|
217
|
+
timestamp: Date.now(),
|
|
218
|
+
requestId,
|
|
219
|
+
response: responseTextFromJSON
|
|
220
|
+
});
|
|
210
221
|
const parsedJsonResult = Commands.safeParse(jsonResult);
|
|
211
222
|
if (parsedJsonResult.success) {
|
|
212
223
|
return parsedJsonResult.data.commands;
|