@theia/ai-ide 1.63.0-next.24 → 1.63.0-next.52
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-configuration/ai-configuration-widget.d.ts +0 -1
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/ai-configuration-widget.js +0 -1
- package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +0 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +0 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +0 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.js +6 -21
- package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
- package/lib/browser/architect-agent.d.ts.map +1 -1
- package/lib/browser/architect-agent.js +4 -1
- package/lib/browser/architect-agent.js.map +1 -1
- package/lib/browser/frontend-module.d.ts +1 -0
- package/lib/browser/frontend-module.d.ts.map +1 -1
- package/lib/browser/frontend-module.js +1 -0
- package/lib/browser/frontend-module.js.map +1 -1
- package/lib/browser/summarize-session-command-contribution.d.ts +6 -1
- package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -1
- package/lib/browser/summarize-session-command-contribution.js +53 -4
- package/lib/browser/summarize-session-command-contribution.js.map +1 -1
- package/lib/browser/task-context-file-storage-service.d.ts +4 -2
- package/lib/browser/task-context-file-storage-service.d.ts.map +1 -1
- package/lib/browser/task-context-file-storage-service.js +19 -9
- package/lib/browser/task-context-file-storage-service.js.map +1 -1
- package/lib/browser/workspace-preferences.d.ts +1 -0
- package/lib/browser/workspace-preferences.d.ts.map +1 -1
- package/lib/browser/workspace-preferences.js +9 -1
- package/lib/browser/workspace-preferences.js.map +1 -1
- package/lib/browser/workspace-search-provider.d.ts +5 -1
- package/lib/browser/workspace-search-provider.d.ts.map +1 -1
- package/lib/browser/workspace-search-provider.js +57 -17
- package/lib/browser/workspace-search-provider.js.map +1 -1
- package/lib/browser/workspace-search-provider.spec.d.ts +2 -0
- package/lib/browser/workspace-search-provider.spec.d.ts.map +1 -0
- package/lib/browser/workspace-search-provider.spec.js +227 -0
- package/lib/browser/workspace-search-provider.spec.js.map +1 -0
- package/lib/common/architect-prompt-template.d.ts +1 -0
- package/lib/common/architect-prompt-template.d.ts.map +1 -1
- package/lib/common/architect-prompt-template.js +166 -5
- package/lib/common/architect-prompt-template.js.map +1 -1
- package/lib/common/coder-replace-prompt-template.js +2 -2
- package/lib/common/coder-replace-prompt-template.js.map +1 -1
- package/lib/common/summarize-session-commands.d.ts +1 -0
- package/lib/common/summarize-session-commands.d.ts.map +1 -1
- package/lib/common/summarize-session-commands.js +5 -1
- package/lib/common/summarize-session-commands.js.map +1 -1
- package/lib/common/workspace-search-provider-util.d.ts +17 -0
- package/lib/common/workspace-search-provider-util.d.ts.map +1 -0
- package/lib/common/workspace-search-provider-util.js +51 -0
- package/lib/common/workspace-search-provider-util.js.map +1 -0
- package/package.json +19 -18
- package/src/browser/ai-configuration/ai-configuration-widget.tsx +0 -1
- package/src/browser/ai-configuration/prompt-fragments-configuration-widget.tsx +0 -1
- package/src/browser/ai-configuration/tools-configuration-widget.tsx +8 -23
- package/src/browser/architect-agent.ts +5 -2
- package/src/browser/frontend-module.ts +2 -0
- package/src/browser/style/index.css +23 -28
- package/src/browser/summarize-session-command-contribution.ts +58 -6
- package/src/browser/task-context-file-storage-service.ts +20 -10
- package/src/browser/workspace-preferences.ts +9 -0
- package/src/browser/workspace-search-provider.spec.ts +255 -0
- package/src/browser/workspace-search-provider.ts +62 -16
- package/src/common/architect-prompt-template.ts +165 -5
- package/src/common/coder-replace-prompt-template.ts +2 -2
- package/src/common/summarize-session-commands.ts +5 -0
- package/src/common/workspace-search-provider-util.ts +50 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PromptVariantSet } from '@theia/ai-core/lib/common';
|
|
2
2
|
export declare const ARCHITECT_TASK_SUMMARY_PROMPT_TEMPLATE_ID = "architect-task-summary";
|
|
3
|
+
export declare const ARCHITECT_TASK_SUMMARY_UPDATE_PROMPT_TEMPLATE_ID = "architect-update-task-summary";
|
|
3
4
|
export declare const architectVariants: PromptVariantSet;
|
|
4
5
|
//# sourceMappingURL=architect-prompt-template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,eAAO,MAAM,yCAAyC,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"architect-prompt-template.d.ts","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,eAAO,MAAM,yCAAyC,2BAA2B,CAAC;AAClF,eAAO,MAAM,gDAAgD,kCAAkC,CAAC;AAEhG,eAAO,MAAM,iBAAiB,kBAyP7B,CAAC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.architectVariants = exports.ARCHITECT_TASK_SUMMARY_PROMPT_TEMPLATE_ID = void 0;
|
|
3
|
+
exports.architectVariants = exports.ARCHITECT_TASK_SUMMARY_UPDATE_PROMPT_TEMPLATE_ID = exports.ARCHITECT_TASK_SUMMARY_PROMPT_TEMPLATE_ID = void 0;
|
|
4
4
|
const workspace_functions_1 = require("./workspace-functions");
|
|
5
5
|
const context_variables_1 = require("./context-variables");
|
|
6
6
|
const context_functions_1 = require("./context-functions");
|
|
7
7
|
exports.ARCHITECT_TASK_SUMMARY_PROMPT_TEMPLATE_ID = 'architect-task-summary';
|
|
8
|
+
exports.ARCHITECT_TASK_SUMMARY_UPDATE_PROMPT_TEMPLATE_ID = 'architect-update-task-summary';
|
|
8
9
|
exports.architectVariants = {
|
|
9
10
|
id: 'architect-system',
|
|
10
11
|
defaultVariant: {
|
|
11
12
|
id: 'architect-system-default',
|
|
12
13
|
template: `{{!-- This prompt is licensed under the MIT License (https://opensource.org/license/mit).
|
|
13
|
-
Made improvements or adaptations to this prompt template? We
|
|
14
|
+
Made improvements or adaptations to this prompt template? We'd love for you to share it with the community! Contribute back here:
|
|
14
15
|
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
15
16
|
# Instructions
|
|
16
17
|
|
|
@@ -42,12 +43,13 @@ Always look at the relevant files to understand your task using the function ~{$
|
|
|
42
43
|
{
|
|
43
44
|
id: 'architect-system-next',
|
|
44
45
|
template: `{{!-- This prompt is licensed under the MIT License (https://opensource.org/license/mit).
|
|
45
|
-
Made improvements or adaptations to this prompt template? We
|
|
46
|
+
Made improvements or adaptations to this prompt template? We'd love for you to share it with the community! Contribute back here:
|
|
46
47
|
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
47
48
|
# Instructions
|
|
48
49
|
|
|
49
|
-
You are an AI assistant integrated into Theia IDE, designed to assist software developers. You can
|
|
50
|
-
|
|
50
|
+
You are an AI assistant integrated into Theia IDE, designed to assist software developers. You can only change the files added to the context, but you can navigate and read the
|
|
51
|
+
users workspace using the provided functions.\
|
|
52
|
+
Therefore describe and explain the details or procedures necessary to achieve the desired outcome. If file changes are necessary to help the user, be \
|
|
51
53
|
aware that there is another agent called 'Coder' that can suggest file changes. In this case you can create a description on what to do and tell the user to ask '@Coder' to \
|
|
52
54
|
implement the change plan. If you refer to files, always mention the workspace-relative path.\
|
|
53
55
|
|
|
@@ -92,6 +94,165 @@ Skip irrelevant information, e.g. for discussions, only sum up the final result.
|
|
|
92
94
|
4. If any part of the task is ambiguous, note the ambiguity so that it can be clarified later.
|
|
93
95
|
|
|
94
96
|
Focus on providing actionable steps and implementation guidance. The coding agent needs practical help with this specific coding task.
|
|
97
|
+
|
|
98
|
+
Use the following format, but only include the sections that were discussed in the conversation:
|
|
99
|
+
|
|
100
|
+
# Task Context: [Title Here]
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 1. 📚 Task Definition
|
|
105
|
+
|
|
106
|
+
**Problem Statement / Goal:**
|
|
107
|
+
[Describe what needs to be achieved and why.]
|
|
108
|
+
|
|
109
|
+
**Scope:**
|
|
110
|
+
- **In Scope:**
|
|
111
|
+
[Features, components, or behaviors to be included.]
|
|
112
|
+
- **Out of Scope:**
|
|
113
|
+
[What explicitly won't be part of this task.]
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 2. 🧠 Design and Implementation
|
|
118
|
+
|
|
119
|
+
**Design Overview:**
|
|
120
|
+
[Summary of architecture and major design decisions.]
|
|
121
|
+
|
|
122
|
+
**Implementation Plan:**
|
|
123
|
+
1. [First major step]
|
|
124
|
+
2. [Second major step]
|
|
125
|
+
3. [Third major step]
|
|
126
|
+
|
|
127
|
+
**Technology Choices:**
|
|
128
|
+
- [Frameworks, libraries, services, tools]
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 3. 🧪 Testing
|
|
133
|
+
|
|
134
|
+
### 3.1 🛠️ Automated Testing (by Coder)
|
|
135
|
+
|
|
136
|
+
**Automated Test Strategy:**
|
|
137
|
+
[What should be covered by automated tests.]
|
|
138
|
+
|
|
139
|
+
**Test Cases Implemented:**
|
|
140
|
+
- [Unit test 1]
|
|
141
|
+
- [Integration test 1]
|
|
142
|
+
- [E2E test 1]
|
|
143
|
+
|
|
144
|
+
**Test Coverage Targets:**
|
|
145
|
+
[e.g., Minimum 80% code coverage, all workflows tested.]
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### 3.2 🎯 Manual Testing (by Tester)
|
|
150
|
+
|
|
151
|
+
**Manual Testing Strategy:**
|
|
152
|
+
[What manual tests will focus on (e.g., usability, edge cases, exploratory testing).]
|
|
153
|
+
|
|
154
|
+
**Test Setup Instructions:**
|
|
155
|
+
- [Environment setup steps, accounts needed, special configurations]
|
|
156
|
+
|
|
157
|
+
**Test Cases / Test Steps:**
|
|
158
|
+
1. [Action 1]
|
|
159
|
+
2. [Action 2]
|
|
160
|
+
3. [Action 3]
|
|
161
|
+
|
|
162
|
+
**Expected Results:**
|
|
163
|
+
- [Expected behavior at each step]
|
|
164
|
+
|
|
165
|
+
**Known Risks / Focus Areas:**
|
|
166
|
+
- [Potential weak spots, UX concerns, edge cases]
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 4. 📦 Deliverables
|
|
171
|
+
|
|
172
|
+
**Expected Artifacts:**
|
|
173
|
+
- [Code modules]
|
|
174
|
+
- [Documentation]
|
|
175
|
+
- [Configuration files]
|
|
176
|
+
- [Test reports]
|
|
177
|
+
|
|
178
|
+
**PR Information:**
|
|
179
|
+
- **PR Title:** [Suggested title for the pull request]
|
|
180
|
+
- **PR Description:** [What was implemented, high-level changes, decisions]
|
|
181
|
+
- **Verification Steps:** [Instructions for verifying the PR manually or automatically]
|
|
182
|
+
|
|
183
|
+
**Additional Notes:**
|
|
184
|
+
- [Dependencies]
|
|
185
|
+
- [Migration steps if needed]
|
|
186
|
+
- [Special reviewer instructions]
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 5. 🔄 Current Status
|
|
191
|
+
|
|
192
|
+
**Progress Summary:**
|
|
193
|
+
[Short free-text update about how far the task has progressed.]
|
|
194
|
+
|
|
195
|
+
**Completed Items:**
|
|
196
|
+
- [List of what has been fully implemented, tested, or merged.]
|
|
197
|
+
|
|
198
|
+
**Open Items:**
|
|
199
|
+
- [List of remaining tasks, missing parts.]
|
|
200
|
+
|
|
201
|
+
**Current Issues / Risks:**
|
|
202
|
+
- [Open problems, bugs found during testing, architectural blockers.]
|
|
203
|
+
|
|
204
|
+
**Next Steps:**
|
|
205
|
+
- [Immediate action items, who should act next.]
|
|
206
|
+
`
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: exports.ARCHITECT_TASK_SUMMARY_UPDATE_PROMPT_TEMPLATE_ID,
|
|
210
|
+
template: `{{!-- This prompt is licensed under the MIT License (https://opensource.org/license/mit).
|
|
211
|
+
Made improvements or adaptations to this prompt template? We'd love for you to share it with the community! Contribute back here:
|
|
212
|
+
https://github.com/eclipse-theia/theia/discussions/new?category=prompt-template-contribution --}}
|
|
213
|
+
You are an AI assistant integrated into Theia IDE, designed to update task context files. You can interact provided task context file and propose changes.
|
|
214
|
+
|
|
215
|
+
# Task Document Update Instructions
|
|
216
|
+
|
|
217
|
+
You are an AI agent tasked with updating a technical document based on the current discussion. Your job is to provide the COMPLETE UPDATED DOCUMENT as your response, not\
|
|
218
|
+
commentary about the document.
|
|
219
|
+
|
|
220
|
+
## Analysis Requirements
|
|
221
|
+
|
|
222
|
+
1. **Review the Current Discussion**:
|
|
223
|
+
- Analyze the entire conversation
|
|
224
|
+
- Identify new information, decisions, and changes
|
|
225
|
+
|
|
226
|
+
2. **Examine the Existing Document**:
|
|
227
|
+
- Understand its structure and purpose
|
|
228
|
+
- Identify sections that need updates
|
|
229
|
+
|
|
230
|
+
3. **Update the Document**:
|
|
231
|
+
- Maintain the original structure and formatting
|
|
232
|
+
- Add new information from the discussion
|
|
233
|
+
- Update existing information
|
|
234
|
+
- Remove outdated information if necessary
|
|
235
|
+
- Ensure coherence and organization
|
|
236
|
+
|
|
237
|
+
## IMPORTANT: Response Format
|
|
238
|
+
|
|
239
|
+
YOUR ENTIRE RESPONSE MUST BE THE UPDATED DOCUMENT ONLY. Do not include:
|
|
240
|
+
- Any commentary about what you changed
|
|
241
|
+
- Introduction or explanation text
|
|
242
|
+
- Markdown fences or syntax indicators
|
|
243
|
+
- Clarifying questions
|
|
244
|
+
|
|
245
|
+
Simply output the complete updated document as plain text, which will directly replace the existing document.
|
|
246
|
+
|
|
247
|
+
## Guidelines
|
|
248
|
+
|
|
249
|
+
- Be thorough in capturing all relevant information
|
|
250
|
+
- Maintain the original document's style and tone
|
|
251
|
+
- Use clear, concise language
|
|
252
|
+
- Preserve all formatting from the original document
|
|
253
|
+
- Ensure technical accuracy in all updates
|
|
254
|
+
|
|
255
|
+
{{${context_variables_1.TASK_CONTEXT_SUMMARY_VARIABLE_ID}}}
|
|
95
256
|
`
|
|
96
257
|
}
|
|
97
258
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect-prompt-template.js","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":";;;AAWA,+DAG+B;AAC/B,2DAAkG;AAClG,2DAAuE;AAE1D,QAAA,yCAAyC,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"architect-prompt-template.js","sourceRoot":"","sources":["../../src/common/architect-prompt-template.ts"],"names":[],"mappings":";;;AAWA,+DAG+B;AAC/B,2DAAkG;AAClG,2DAAuE;AAE1D,QAAA,yCAAyC,GAAG,wBAAwB,CAAC;AACrE,QAAA,gDAAgD,GAAG,+BAA+B,CAAC;AAEnF,QAAA,iBAAiB,GAAqB;IAC/C,EAAE,EAAE,kBAAkB;IACtB,cAAc,EAAE;QACZ,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EAAE;;;;;;;;;;;QAWV,mEAA6C;QAC7C,yDAAmC;QACnC,8CAAwB;;;;;;;;;;iFAUiD,8CAAwB;IACrG,6CAAyB;;;CAG5B;KACI;IACD,QAAQ,EAAE;QACN;YACI,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;;;;;;;;;;;;;QAad,mEAA6C;QAC7C,yDAAmC;QACnC,8CAAwB;QACxB,qDAA+B;;gFAEyC,oDAAgC;;;;sHAIM,6CAAuB;;;iFAG5D,8CAAwB;IACrG,6CAAyB;;;;IAIzB,oDAAgC;CACnC;SACQ;QACD;YACI,EAAE,EAAE,iDAAyC;YAC7C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8HrB;SACQ;QACD;YACI,EAAE,EAAE,wDAAgD;YACpD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6ClB,oDAAgC;CACnC;SAAE;KACE;CACJ,CAAC"}
|
|
@@ -68,9 +68,9 @@ search for files you already know the path for)
|
|
|
68
68
|
- Use:
|
|
69
69
|
- ~{${file_changeset_function_ids_1.WRITE_FILE_REPLACEMENTS_ID}} — to immediately apply targeted code changes (no user review)
|
|
70
70
|
- ~{${file_changeset_function_ids_1.WRITE_FILE_CONTENT_ID}} — to immediately overwrite a file with new content (no user review)
|
|
71
|
-
|
|
71
|
+
|
|
72
72
|
- For incremental changes, use multiple ~{${file_changeset_function_ids_1.WRITE_FILE_REPLACEMENTS_ID}} calls
|
|
73
|
-
-
|
|
73
|
+
- If ~{${file_changeset_function_ids_1.WRITE_FILE_REPLACEMENTS_ID}} continuously fails use ~{${file_changeset_function_ids_1.WRITE_FILE_CONTENT_ID}}.
|
|
74
74
|
|
|
75
75
|
### Validation
|
|
76
76
|
- ~{${workspace_functions_1.GET_FILE_DIAGNOSTICS_ID}} — detect syntax, lint, or type errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder-replace-prompt-template.js","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,sCAAsC;AACtC,EAAE;AACF,+BAA+B;AAC/B,gFAAgF;;;AAGhF,4CAAgE;AAChE,+DAQ+B;AAC/B,2DAAkG;AAClG,2DAAuE;AACvE,+EAOuC;AAE1B,QAAA,sBAAsB,GAAG,cAAc,CAAC;AAExC,QAAA,6BAA6B,GAAG,mBAAmB,CAAC;AACpD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAE/D,SAAgB,+BAA+B;IAC3C,OAAO;QACH,EAAE,EAAE,oCAA4B;QAChC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCZ,mEAA6C;MAC7C,yDAAmC;MACnC,8CAAwB;MACxB,qDAA+B;;MAE/B,oDAAgC;;;;;QAK9B,wDAA0B;QAC1B,mDAAqB
|
|
1
|
+
{"version":3,"file":"coder-replace-prompt-template.js","sourceRoot":"","sources":["../../src/common/coder-replace-prompt-template.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,sCAAsC;AACtC,EAAE;AACF,+BAA+B;AAC/B,gFAAgF;;;AAGhF,4CAAgE;AAChE,+DAQ+B;AAC/B,2DAAkG;AAClG,2DAAuE;AACvE,+EAOuC;AAE1B,QAAA,sBAAsB,GAAG,cAAc,CAAC;AAExC,QAAA,6BAA6B,GAAG,mBAAmB,CAAC;AACpD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAE/D,SAAgB,+BAA+B;IAC3C,OAAO;QACH,EAAE,EAAE,oCAA4B;QAChC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCZ,mEAA6C;MAC7C,yDAAmC;MACnC,8CAAwB;MACxB,qDAA+B;;MAE/B,oDAAgC;;;;;QAK9B,wDAA0B;QAC1B,mDAAqB;;4CAEe,wDAA0B;SAC7D,wDAA0B,8BAA8B,mDAAqB;;;MAGhF,6CAAuB;;;UAGnB,4CAAsB;UACtB,0CAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAsCmD,8CAAwB;IACrG,6CAAyB;;;;;;;;;;IAUzB,oDAAgC;;;;;;;;;CASnC;QACO,GAAG,CAAC,EAAE,SAAS,EAAE,8BAAsB,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AAtHD,0EAsHC;AAED,SAAgB,0BAA0B;IACtC,OAAO;QACH,EAAE,EAAE,8BAAsB;QAC1B,QAAQ,EAAE;;;;;;;;QAQV,mEAA6C;QAC7C,yDAAmC;QACnC,8CAAwB;QACxB,qDAA+B;;;gFAGyC,oDAAgC;;;;;;;;;oCAS5E,qDAAuB;;QAEnD,0DAA4B;QAC5B,qDAAuB;WACpB,0DAA4B,8BAA8B,qDAAuB;QACpF,mDAAqB;;;;;;;2EAO8C,4CAAsB,8BAA8B,0CAAoB;;;;;;sHAM7B,6CAAuB;;;;;;iFAM5D,8CAAwB;IACrG,6CAAyB;;;;IAIzB,wCAA8B;;;;IAI9B,oDAAgC;;;;;;;CAOnC;KAAC,CAAC;AACH,CAAC;AAnED,gEAmEC;AAED,SAAgB,gCAAgC;IAC5C,OAAO;QACH,EAAE,EAAE,qCAA6B;QACjC,QAAQ,EAAE;;;;;;;;QAQV,mEAA6C;QAC7C,yDAAmC;QACnC,8CAAwB;QACxB,qDAA+B;;;gFAGyC,oDAAgC;;;;;;;;;oCAS5E,qDAAuB;;QAEnD,0DAA4B;QAC5B,qDAAuB;WACpB,0DAA4B,8BAA8B,qDAAuB;QACpF,mDAAqB;;;;;;;;iFAQoD,8CAAwB;IACrG,6CAAyB;;;;IAIzB,wCAA8B;;;;IAI9B,oDAAgC;;;;;;;CAOnC;QACO,GAAG,CAAC,EAAE,SAAS,EAAE,8BAAsB,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AA1DD,4EA0DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-session-commands.d.ts","sourceRoot":"","sources":["../../src/common/summarize-session-commands.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,eAAO,MAAM,sCAAsC,SAGjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"summarize-session-commands.d.ts","sourceRoot":"","sources":["../../src/common/summarize-session-commands.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,eAAO,MAAM,sCAAsC,SAGjD,CAAC;AAEH,eAAO,MAAM,8BAA8B,SAGzC,CAAC"}
|
|
@@ -15,10 +15,14 @@
|
|
|
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
|
-
exports.AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER = void 0;
|
|
18
|
+
exports.AI_UPDATE_TASK_CONTEXT_COMMAND = exports.AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER = void 0;
|
|
19
19
|
const core_1 = require("@theia/core");
|
|
20
20
|
exports.AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER = core_1.Command.toLocalizedCommand({
|
|
21
21
|
id: 'ai-chat:summarize-session-as-task-for-coder',
|
|
22
22
|
label: 'Summarize Session as Task for Coder'
|
|
23
23
|
});
|
|
24
|
+
exports.AI_UPDATE_TASK_CONTEXT_COMMAND = core_1.Command.toLocalizedCommand({
|
|
25
|
+
id: 'ai.updateTaskContext',
|
|
26
|
+
label: 'Update Current Task Context'
|
|
27
|
+
});
|
|
24
28
|
//# sourceMappingURL=summarize-session-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-session-commands.js","sourceRoot":"","sources":["../../src/common/summarize-session-commands.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,sCAAsC;AAEzB,QAAA,sCAAsC,GAAG,cAAO,CAAC,kBAAkB,CAAC;IAC7E,EAAE,EAAE,6CAA6C;IACjD,KAAK,EAAE,qCAAqC;CAC/C,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"summarize-session-commands.js","sourceRoot":"","sources":["../../src/common/summarize-session-commands.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,sCAAsC;AAEzB,QAAA,sCAAsC,GAAG,cAAO,CAAC,kBAAkB,CAAC;IAC7E,EAAE,EAAE,6CAA6C;IACjD,KAAK,EAAE,qCAAqC;CAC/C,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG,cAAO,CAAC,kBAAkB,CAAC;IACrE,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,6BAA6B;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SearchInWorkspaceResult } from '@theia/search-in-workspace/lib/common/search-in-workspace-interface';
|
|
2
|
+
import { URI } from '@theia/core';
|
|
3
|
+
/**
|
|
4
|
+
* Optimizes search results for token efficiency while preserving all information.
|
|
5
|
+
* - Groups matches by file to reduce repetition
|
|
6
|
+
* - Trims leading/trailing whitespace from line text
|
|
7
|
+
* - Uses relative file paths
|
|
8
|
+
* - Preserves all line numbers and content
|
|
9
|
+
*/
|
|
10
|
+
export declare function optimizeSearchResults(results: SearchInWorkspaceResult[], workspaceRoot: URI): Array<{
|
|
11
|
+
file: string;
|
|
12
|
+
matches: Array<{
|
|
13
|
+
line: number;
|
|
14
|
+
text: string;
|
|
15
|
+
}>;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=workspace-search-provider-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-search-provider-util.d.ts","sourceRoot":"","sources":["../../src/common/workspace-search-provider-util.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,uBAAuB,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,aAAa,EAAE,GAAG,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuBrK"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.optimizeSearchResults = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
/**
|
|
21
|
+
* Optimizes search results for token efficiency while preserving all information.
|
|
22
|
+
* - Groups matches by file to reduce repetition
|
|
23
|
+
* - Trims leading/trailing whitespace from line text
|
|
24
|
+
* - Uses relative file paths
|
|
25
|
+
* - Preserves all line numbers and content
|
|
26
|
+
*/
|
|
27
|
+
function optimizeSearchResults(results, workspaceRoot) {
|
|
28
|
+
return results.map(result => {
|
|
29
|
+
const fileUri = new core_1.URI(result.fileUri);
|
|
30
|
+
const relativePath = workspaceRoot.relative(fileUri);
|
|
31
|
+
return {
|
|
32
|
+
file: relativePath ? relativePath.toString() : result.fileUri,
|
|
33
|
+
matches: result.matches.map(match => {
|
|
34
|
+
let lineText;
|
|
35
|
+
if (typeof match.lineText === 'string') {
|
|
36
|
+
lineText = match.lineText;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const linePreview = match.lineText;
|
|
40
|
+
lineText = linePreview.text || '';
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
line: match.line,
|
|
44
|
+
text: lineText.trim()
|
|
45
|
+
};
|
|
46
|
+
})
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
exports.optimizeSearchResults = optimizeSearchResults;
|
|
51
|
+
//# sourceMappingURL=workspace-search-provider-util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-search-provider-util.js","sourceRoot":"","sources":["../../src/common/workspace-search-provider-util.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;;;AAGhF,sCAAkC;AAElC;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,OAAkC,EAAE,aAAkB;IACxF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO;YACH,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAChC,IAAI,QAAgB,CAAC;gBACrB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACrC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,MAAM,WAAW,GAAG,KAAK,CAAC,QAAuB,CAAC;oBAClD,QAAQ,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;gBACtC,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;iBACxB,CAAC;YACN,CAAC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAvBD,sDAuBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-ide",
|
|
3
|
-
"version": "1.63.0-next.
|
|
3
|
+
"version": "1.63.0-next.52+176018e53",
|
|
4
4
|
"description": "AI IDE Agents Extension",
|
|
5
5
|
"license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
"theia-extension"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@theia/ai-chat": "1.63.0-next.
|
|
19
|
-
"@theia/ai-chat-ui": "1.63.0-next.
|
|
20
|
-
"@theia/ai-core": "1.63.0-next.
|
|
21
|
-
"@theia/ai-mcp": "1.63.0-next.
|
|
22
|
-
"@theia/core": "1.63.0-next.
|
|
23
|
-
"@theia/filesystem": "1.63.0-next.
|
|
24
|
-
"@theia/markers": "1.63.0-next.
|
|
25
|
-
"@theia/monaco": "1.63.0-next.
|
|
26
|
-
"@theia/navigator": "1.63.0-next.
|
|
27
|
-
"@theia/search-in-workspace": "1.63.0-next.
|
|
28
|
-
"@theia/task": "1.63.0-next.
|
|
29
|
-
"@theia/terminal": "1.63.0-next.
|
|
30
|
-
"@theia/workspace": "1.63.0-next.
|
|
18
|
+
"@theia/ai-chat": "1.63.0-next.52+176018e53",
|
|
19
|
+
"@theia/ai-chat-ui": "1.63.0-next.52+176018e53",
|
|
20
|
+
"@theia/ai-core": "1.63.0-next.52+176018e53",
|
|
21
|
+
"@theia/ai-mcp": "1.63.0-next.52+176018e53",
|
|
22
|
+
"@theia/core": "1.63.0-next.52+176018e53",
|
|
23
|
+
"@theia/filesystem": "1.63.0-next.52+176018e53",
|
|
24
|
+
"@theia/markers": "1.63.0-next.52+176018e53",
|
|
25
|
+
"@theia/monaco": "1.63.0-next.52+176018e53",
|
|
26
|
+
"@theia/navigator": "1.63.0-next.52+176018e53",
|
|
27
|
+
"@theia/search-in-workspace": "1.63.0-next.52+176018e53",
|
|
28
|
+
"@theia/task": "1.63.0-next.52+176018e53",
|
|
29
|
+
"@theia/terminal": "1.63.0-next.52+176018e53",
|
|
30
|
+
"@theia/workspace": "1.63.0-next.52+176018e53",
|
|
31
31
|
"date-fns": "^4.1.0",
|
|
32
32
|
"ignore": "^6.0.0",
|
|
33
33
|
"js-yaml": "^4.1.0",
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@theia/cli": "1.63.0-next.
|
|
41
|
-
"@theia/test": "1.63.0-next.
|
|
40
|
+
"@theia/cli": "1.63.0-next.52+176018e53",
|
|
41
|
+
"@theia/test": "1.63.0-next.52+176018e53"
|
|
42
42
|
},
|
|
43
43
|
"theiaExtensions": [
|
|
44
44
|
{
|
|
45
|
-
"frontend": "lib/browser/frontend-module"
|
|
45
|
+
"frontend": "lib/browser/frontend-module",
|
|
46
|
+
"secondaryWindow": "lib/browser/frontend-module"
|
|
46
47
|
}
|
|
47
48
|
],
|
|
48
49
|
"files": [
|
|
@@ -60,5 +61,5 @@
|
|
|
60
61
|
"nyc": {
|
|
61
62
|
"extends": "../../configs/nyc.json"
|
|
62
63
|
},
|
|
63
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "176018e53e62cafec9b25b23ac9f0b4826b6d0f7"
|
|
64
65
|
}
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
import { BaseWidget, BoxLayout, codicon, DockPanel, WidgetManager } from '@theia/core/lib/browser';
|
|
18
18
|
import { TheiaDockPanel } from '@theia/core/lib/browser/shell/theia-dock-panel';
|
|
19
19
|
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
20
|
-
import '../../../src/browser/style/index.css';
|
|
21
20
|
import { AIAgentConfigurationWidget } from './agent-configuration-widget';
|
|
22
21
|
import { AIVariableConfigurationWidget } from './variable-configuration-widget';
|
|
23
22
|
import { AIToolsConfigurationWidget } from './tools-configuration-widget';
|
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
BasePromptFragment
|
|
27
27
|
} from '@theia/ai-core/lib/common/prompt-service';
|
|
28
28
|
import * as React from '@theia/core/shared/react';
|
|
29
|
-
import '../../../src/browser/style/index.css';
|
|
30
29
|
import { AgentService } from '@theia/ai-core/lib/common/agent-service';
|
|
31
30
|
import { Agent } from '@theia/ai-core/lib/common/agent';
|
|
32
31
|
import { CustomizationSource } from '@theia/ai-core/lib/browser/frontend-prompt-customization-service';
|
|
@@ -20,10 +20,10 @@ import * as React from '@theia/core/shared/react';
|
|
|
20
20
|
import { ToolConfirmationManager, ToolConfirmationMode } from '@theia/ai-chat/lib/browser/chat-tool-preferences';
|
|
21
21
|
import { ToolInvocationRegistry } from '@theia/ai-core';
|
|
22
22
|
|
|
23
|
-
const TOOL_OPTIONS: { value: ToolConfirmationMode, label: string, icon: string
|
|
24
|
-
{ value: ToolConfirmationMode.DISABLED, label: 'Disabled', icon: 'close'
|
|
25
|
-
{ value: ToolConfirmationMode.CONFIRM, label: 'Confirm', icon: 'question'
|
|
26
|
-
{ value: ToolConfirmationMode.
|
|
23
|
+
const TOOL_OPTIONS: { value: ToolConfirmationMode, label: string, icon: string }[] = [
|
|
24
|
+
{ value: ToolConfirmationMode.DISABLED, label: 'Disabled', icon: 'close' },
|
|
25
|
+
{ value: ToolConfirmationMode.CONFIRM, label: 'Confirm', icon: 'question' },
|
|
26
|
+
{ value: ToolConfirmationMode.ALWAYS_ALLOW, label: 'Always Allow', icon: 'thumbsup' },
|
|
27
27
|
];
|
|
28
28
|
|
|
29
29
|
@injectable()
|
|
@@ -102,18 +102,6 @@ export class AIToolsConfigurationWidget extends ReactWidget {
|
|
|
102
102
|
await this.updateDefaultConfirmation(newState);
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
protected getColoring(mode: ToolConfirmationMode, renderDefault = false): string {
|
|
106
|
-
if (!renderDefault && mode === this.defaultState) {
|
|
107
|
-
return '';
|
|
108
|
-
}
|
|
109
|
-
if (mode === ToolConfirmationMode.YOLO) {
|
|
110
|
-
return ' ai-tools-configuration-tool-select--yolo';
|
|
111
|
-
} else if (mode === ToolConfirmationMode.DISABLED) {
|
|
112
|
-
return ' ai-tools-configuration-tool-select--disabled';
|
|
113
|
-
}
|
|
114
|
-
return ' ai-tools-configuration-tool-select--confirm';
|
|
115
|
-
}
|
|
116
|
-
|
|
117
105
|
protected async resetAllToolsToDefault(): Promise<void> {
|
|
118
106
|
const dialog = new ConfirmDialog({
|
|
119
107
|
title: 'Reset All Tool Confirmation Modes',
|
|
@@ -135,13 +123,13 @@ export class AIToolsConfigurationWidget extends ReactWidget {
|
|
|
135
123
|
<div className='ai-tools-configuration-default-section' style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
|
|
136
124
|
<div className='ai-tools-configuration-default-label'>Default Tool Confirmation Mode:</div>
|
|
137
125
|
<select
|
|
138
|
-
className=
|
|
126
|
+
className="ai-tools-configuration-default-select"
|
|
139
127
|
value={this.defaultState}
|
|
140
128
|
onChange={this.handleDefaultStateChange}
|
|
141
129
|
style={{ marginLeft: 8 }}
|
|
142
130
|
>
|
|
143
131
|
{TOOL_OPTIONS.map(opt => (
|
|
144
|
-
<option
|
|
132
|
+
<option key={opt.value} value={opt.value}>{opt.label}</option>
|
|
145
133
|
))}
|
|
146
134
|
</select>
|
|
147
135
|
<button
|
|
@@ -159,10 +147,7 @@ export class AIToolsConfigurationWidget extends ReactWidget {
|
|
|
159
147
|
{this.tools.map(tool => {
|
|
160
148
|
const state = this.toolConfirmationModes[tool] || this.defaultState;
|
|
161
149
|
const isDefault = state === this.defaultState;
|
|
162
|
-
|
|
163
|
-
if (!isDefault) {
|
|
164
|
-
selectClass += `${this.getColoring(state)}`;
|
|
165
|
-
}
|
|
150
|
+
const selectClass = 'ai-tools-configuration-tool-select';
|
|
166
151
|
return (
|
|
167
152
|
<li
|
|
168
153
|
key={tool}
|
|
@@ -178,7 +163,7 @@ export class AIToolsConfigurationWidget extends ReactWidget {
|
|
|
178
163
|
onChange={e => this.handleToolConfirmationModeChange(tool, e)}
|
|
179
164
|
>
|
|
180
165
|
{TOOL_OPTIONS.map(opt => (
|
|
181
|
-
<option
|
|
166
|
+
<option key={opt.value} value={opt.value}>
|
|
182
167
|
{opt.label}
|
|
183
168
|
</option>
|
|
184
169
|
))}
|
|
@@ -20,7 +20,7 @@ import { architectVariants } from '../common/architect-prompt-template';
|
|
|
20
20
|
import { FILE_CONTENT_FUNCTION_ID, GET_WORKSPACE_FILE_LIST_FUNCTION_ID } from '../common/workspace-functions';
|
|
21
21
|
import { nls } from '@theia/core';
|
|
22
22
|
import { MarkdownStringImpl } from '@theia/core/lib/common/markdown-rendering';
|
|
23
|
-
import { AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER } from '../common/summarize-session-commands';
|
|
23
|
+
import { AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER, AI_UPDATE_TASK_CONTEXT_COMMAND } from '../common/summarize-session-commands';
|
|
24
24
|
|
|
25
25
|
@injectable()
|
|
26
26
|
export class ArchitectAgent extends AbstractStreamParsingChatAgent {
|
|
@@ -52,7 +52,10 @@ export class ArchitectAgent extends AbstractStreamParsingChatAgent {
|
|
|
52
52
|
const session = this.chatService.getSessions().find(candidate => candidate.model.id === model.id);
|
|
53
53
|
if (!(model instanceof MutableChatModel) || !session) { return; }
|
|
54
54
|
if (!model.isEmpty()) {
|
|
55
|
-
model.setSuggestions([
|
|
55
|
+
model.setSuggestions([
|
|
56
|
+
new MarkdownStringImpl(`[Summarize this session as a task for Coder](command:${AI_SUMMARIZE_SESSION_AS_TASK_FOR_CODER.id}).`),
|
|
57
|
+
new MarkdownStringImpl(`[Update current task context](command:${AI_UPDATE_TASK_CONTEXT_COMMAND.id}).`)
|
|
58
|
+
]);
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
61
|
}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
+
import '../../src/browser/style/index.css';
|
|
18
|
+
|
|
17
19
|
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
18
20
|
import { ChatAgent, DefaultChatAgentId, FallbackChatAgentId } from '@theia/ai-chat/lib/common';
|
|
19
21
|
import { Agent, AIVariableContribution, bindToolProvider } from '@theia/ai-core/lib/common';
|