@theia/ai-ide 1.67.0-next.59 → 1.67.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.
Files changed (119) hide show
  1. package/lib/browser/address-pr-review-command-contribution.d.ts +9 -0
  2. package/lib/browser/address-pr-review-command-contribution.d.ts.map +1 -0
  3. package/lib/browser/address-pr-review-command-contribution.js +176 -0
  4. package/lib/browser/address-pr-review-command-contribution.js.map +1 -0
  5. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +12 -6
  6. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -1
  7. package/lib/browser/ai-configuration/agent-configuration-widget.js +158 -106
  8. package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -1
  9. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +32 -0
  10. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +1 -0
  11. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +55 -0
  12. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +1 -0
  13. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +14 -0
  14. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +1 -0
  15. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js +35 -0
  16. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +1 -0
  17. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +23 -0
  18. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +1 -0
  19. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +60 -0
  20. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +1 -0
  21. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +56 -0
  22. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +1 -0
  23. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +96 -0
  24. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +1 -0
  25. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +45 -0
  26. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +1 -0
  27. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +66 -0
  28. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +1 -0
  29. package/lib/browser/ai-configuration/components/configuration-section.d.ts +13 -0
  30. package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +1 -0
  31. package/lib/browser/ai-configuration/components/configuration-section.js +28 -0
  32. package/lib/browser/ai-configuration/components/configuration-section.js.map +1 -0
  33. package/lib/browser/ai-configuration/components/empty-state.d.ts +11 -0
  34. package/lib/browser/ai-configuration/components/empty-state.d.ts.map +1 -0
  35. package/lib/browser/ai-configuration/components/empty-state.js +26 -0
  36. package/lib/browser/ai-configuration/components/empty-state.js.map +1 -0
  37. package/lib/browser/ai-configuration/components/expandable-section.d.ts +14 -0
  38. package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +1 -0
  39. package/lib/browser/ai-configuration/components/expandable-section.js +31 -0
  40. package/lib/browser/ai-configuration/components/expandable-section.js.map +1 -0
  41. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
  42. package/lib/browser/ai-configuration/language-model-renderer.js +23 -22
  43. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  44. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts +0 -1
  45. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts.map +1 -1
  46. package/lib/browser/ai-configuration/mcp-configuration-widget.js +88 -82
  47. package/lib/browser/ai-configuration/mcp-configuration-widget.js.map +1 -1
  48. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +8 -22
  49. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +1 -1
  50. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +49 -78
  51. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +1 -1
  52. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +10 -10
  53. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +1 -1
  54. package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -1
  55. package/lib/browser/ai-configuration/template-settings-renderer.js +11 -11
  56. package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -1
  57. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +7 -8
  58. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +1 -1
  59. package/lib/browser/ai-configuration/token-usage-configuration-widget.js +93 -79
  60. package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +1 -1
  61. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +12 -7
  62. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
  63. package/lib/browser/ai-configuration/tools-configuration-widget.js +45 -37
  64. package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
  65. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +8 -4
  66. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +1 -1
  67. package/lib/browser/ai-configuration/variable-configuration-widget.js +61 -28
  68. package/lib/browser/ai-configuration/variable-configuration-widget.js.map +1 -1
  69. package/lib/browser/analyze-gh-ticket-command-contribution.d.ts +9 -0
  70. package/lib/browser/analyze-gh-ticket-command-contribution.d.ts.map +1 -0
  71. package/lib/browser/analyze-gh-ticket-command-contribution.js +172 -0
  72. package/lib/browser/analyze-gh-ticket-command-contribution.js.map +1 -0
  73. package/lib/browser/default-chat-agent-recommendation-service.d.ts +5 -0
  74. package/lib/browser/default-chat-agent-recommendation-service.d.ts.map +1 -0
  75. package/lib/browser/default-chat-agent-recommendation-service.js +47 -0
  76. package/lib/browser/default-chat-agent-recommendation-service.js.map +1 -0
  77. package/lib/browser/frontend-module.d.ts.map +1 -1
  78. package/lib/browser/frontend-module.js +9 -3
  79. package/lib/browser/frontend-module.js.map +1 -1
  80. package/lib/browser/ide-chat-welcome-message-provider.d.ts +36 -0
  81. package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
  82. package/lib/browser/ide-chat-welcome-message-provider.js +204 -1
  83. package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
  84. package/lib/browser/implement-gh-ticket-command-contribution.d.ts +9 -0
  85. package/lib/browser/implement-gh-ticket-command-contribution.d.ts.map +1 -0
  86. package/lib/browser/implement-gh-ticket-command-contribution.js +156 -0
  87. package/lib/browser/implement-gh-ticket-command-contribution.js.map +1 -0
  88. package/package.json +21 -21
  89. package/src/browser/address-pr-review-command-contribution.ts +180 -0
  90. package/src/browser/ai-configuration/agent-configuration-widget.tsx +258 -137
  91. package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +72 -0
  92. package/src/browser/ai-configuration/base/ai-configuration-base-widget.tsx +37 -0
  93. package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +51 -0
  94. package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +140 -0
  95. package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +107 -0
  96. package/src/browser/ai-configuration/components/configuration-section.tsx +37 -0
  97. package/src/browser/ai-configuration/components/empty-state.tsx +30 -0
  98. package/src/browser/ai-configuration/components/expandable-section.tsx +51 -0
  99. package/src/browser/ai-configuration/language-model-renderer.tsx +68 -63
  100. package/src/browser/ai-configuration/mcp-configuration-widget.tsx +82 -87
  101. package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +93 -107
  102. package/src/browser/ai-configuration/prompt-fragments-configuration-widget.tsx +10 -10
  103. package/src/browser/ai-configuration/template-settings-renderer.tsx +25 -29
  104. package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +131 -131
  105. package/src/browser/ai-configuration/tools-configuration-widget.tsx +70 -61
  106. package/src/browser/ai-configuration/variable-configuration-widget.tsx +95 -45
  107. package/src/browser/analyze-gh-ticket-command-contribution.ts +176 -0
  108. package/src/browser/default-chat-agent-recommendation-service.ts +43 -0
  109. package/src/browser/frontend-module.ts +12 -7
  110. package/src/browser/ide-chat-welcome-message-provider.tsx +300 -2
  111. package/src/browser/implement-gh-ticket-command-contribution.ts +160 -0
  112. package/src/browser/style/ai-configuration-base.css +90 -0
  113. package/src/browser/style/ai-configuration-cards.css +60 -0
  114. package/src/browser/style/ai-configuration-hierarchical.css +61 -0
  115. package/src/browser/style/ai-configuration-list-detail.css +88 -0
  116. package/src/browser/style/ai-configuration-table.css +73 -0
  117. package/src/browser/style/index.css +596 -261
  118. package/src/browser/style/widgets/mcp-configuration.css +253 -0
  119. package/src/browser/style/widgets/model-aliases-configuration.css +74 -0
@@ -21,7 +21,13 @@ const React = require("@theia/core/shared/react");
21
21
  const nls_1 = require("@theia/core/lib/common/nls");
22
22
  const inversify_1 = require("@theia/core/shared/inversify");
23
23
  const browser_1 = require("@theia/core/lib/browser");
24
+ const alert_message_1 = require("@theia/core/lib/browser/widgets/alert-message");
24
25
  const ai_configuration_view_contribution_1 = require("./ai-configuration/ai-configuration-view-contribution");
26
+ const core_1 = require("@theia/core");
27
+ const common_1 = require("@theia/ai-core/lib/common");
28
+ const common_2 = require("@theia/core/lib/common");
29
+ const ai_chat_preferences_1 = require("@theia/ai-chat/lib/common/ai-chat-preferences");
30
+ const common_3 = require("@theia/ai-chat/lib/common");
25
31
  const TheiaIdeAiLogo = ({ width = 200, height = 200, className = '' }) => React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 200 200", width: width, height: height, className: className },
26
32
  React.createElement("rect", { x: "55", y: "45", width: "90", height: "85", rx: "30", fill: "var(--theia-disabledForeground)" }),
27
33
  React.createElement("line", { x1: "100", y1: "45", x2: "100", y2: "30", stroke: "var(--theia-foreground)", strokeWidth: "4" }),
@@ -40,8 +46,101 @@ const TheiaIdeAiLogo = ({ width = 200, height = 200, className = '' }) => React.
40
46
  React.createElement("rect", { x: "65", y: "152", width: "50", height: "8", rx: "2", fill: "var(--theia-editor-background)" }),
41
47
  React.createElement("rect", { x: "120", y: "152", width: "10", height: "8", rx: "2", fill: "var(--theia-editor-background)" }));
42
48
  let IdeChatWelcomeMessageProvider = class IdeChatWelcomeMessageProvider {
49
+ constructor() {
50
+ this.toDispose = new core_1.DisposableCollection();
51
+ this._hasReadyModels = false;
52
+ this._modelRequirementBypassed = false;
53
+ this._defaultAgent = '';
54
+ this.onStateChangedEmitter = new core_1.Emitter();
55
+ }
56
+ get onStateChanged() {
57
+ return this.onStateChangedEmitter.event;
58
+ }
59
+ init() {
60
+ this.checkLanguageModelStatus();
61
+ this.toDispose.push(this.languageModelRegistry.onChange(() => {
62
+ this.checkLanguageModelStatus();
63
+ }));
64
+ this.toDispose.push(this.preferenceService.onPreferenceChanged(e => {
65
+ if (e.preferenceName === ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF) {
66
+ const effectiveValue = this.preferenceService.get(ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF, '');
67
+ if (this._defaultAgent !== effectiveValue) {
68
+ this._defaultAgent = effectiveValue;
69
+ this.notifyStateChanged();
70
+ }
71
+ }
72
+ else if (e.preferenceName === ai_chat_preferences_1.BYPASS_MODEL_REQUIREMENT_PREF) {
73
+ const effectiveValue = this.preferenceService.get(ai_chat_preferences_1.BYPASS_MODEL_REQUIREMENT_PREF, false);
74
+ if (this._modelRequirementBypassed !== effectiveValue) {
75
+ this._modelRequirementBypassed = effectiveValue;
76
+ this.notifyStateChanged();
77
+ }
78
+ }
79
+ }));
80
+ this.toDispose.push(this.agentService.onDidChangeAgents(() => {
81
+ this.notifyStateChanged();
82
+ }));
83
+ this.analyzeModelConfiguration().then(config => {
84
+ this.modelConfig = config;
85
+ this.notifyStateChanged();
86
+ });
87
+ this.preferenceService.ready.then(() => {
88
+ const defaultAgentValue = this.preferenceService.get(ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF, '');
89
+ const bypassValue = this.preferenceService.get(ai_chat_preferences_1.BYPASS_MODEL_REQUIREMENT_PREF, false);
90
+ this._defaultAgent = defaultAgentValue;
91
+ this._modelRequirementBypassed = bypassValue;
92
+ this.notifyStateChanged();
93
+ });
94
+ }
95
+ async checkLanguageModelStatus() {
96
+ const models = await this.languageModelRegistry.getLanguageModels();
97
+ this._hasReadyModels = models.some(model => model.status.status === 'ready');
98
+ this.modelConfig = await this.analyzeModelConfiguration();
99
+ this.notifyStateChanged();
100
+ }
101
+ async analyzeModelConfiguration() {
102
+ const models = await this.languageModelRegistry.getLanguageModels();
103
+ const hasModels = models.length > 0;
104
+ const unavailableModels = models.filter(model => model.status.status === 'unavailable');
105
+ const errorMessages = unavailableModels
106
+ .map(model => model.status.message)
107
+ .filter((msg) => !!msg);
108
+ const uniqueErrorMessages = [...new Set(errorMessages)];
109
+ return { hasModels, errorMessages: uniqueErrorMessages };
110
+ }
111
+ notifyStateChanged() {
112
+ this.onStateChangedEmitter.fire();
113
+ }
114
+ get hasReadyModels() {
115
+ return this._hasReadyModels;
116
+ }
117
+ get modelRequirementBypassed() {
118
+ return this._modelRequirementBypassed;
119
+ }
120
+ get defaultAgent() {
121
+ return this._defaultAgent;
122
+ }
123
+ setModelRequirementBypassed(bypassed) {
124
+ this.preferenceService.set(ai_chat_preferences_1.BYPASS_MODEL_REQUIREMENT_PREF, bypassed, core_1.PreferenceScope.User);
125
+ }
126
+ setDefaultAgent(agentId) {
127
+ this.preferenceService.set(ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF, agentId, core_1.PreferenceScope.User);
128
+ }
129
+ dispose() {
130
+ this.toDispose.dispose();
131
+ this.onStateChangedEmitter.dispose();
132
+ }
43
133
  renderWelcomeMessage() {
44
- return React.createElement("div", { className: 'theia-WelcomeMessage' },
134
+ if (!this._hasReadyModels && !this._modelRequirementBypassed) {
135
+ return this.renderModelConfigurationScreen();
136
+ }
137
+ if (!this._defaultAgent) {
138
+ return this.renderAgentSelectionScreen();
139
+ }
140
+ return this.renderWelcomeScreen();
141
+ }
142
+ renderWelcomeScreen() {
143
+ return React.createElement("div", { className: 'theia-WelcomeMessage', key: "normal-welcome" },
45
144
  React.createElement(TheiaIdeAiLogo, { width: 200, height: 200, className: "theia-WelcomeMessage-Logo" }),
46
145
  React.createElement(browser_1.LocalizedMarkdown, { localizationKey: "theia/ai/ide/chatWelcomeMessage", defaultMarkdown: `
47
146
  # Ask the Theia IDE AI
@@ -53,6 +152,80 @@ Attach context: use variables, like *#{3}*, *#{4}* (current file), *#{5}* or cli
53
152
  Lean more in the [documentation](https://theia-ide.org/docs/user_ai/#chat).
54
153
  `, args: ['Coder', 'Architect', 'Universal', 'file', '_f', 'selectedText', '<span class="codicon codicon-add"></span>'], markdownRenderer: this.markdownRenderer, className: "theia-WelcomeMessage-Content", markdownOptions: { supportHtml: true } }));
55
154
  }
155
+ renderModelConfigurationScreen() {
156
+ var _a;
157
+ const config = (_a = this.modelConfig) !== null && _a !== void 0 ? _a : { hasModels: false, errorMessages: [] };
158
+ const { hasModels, errorMessages } = config;
159
+ if (!hasModels) {
160
+ return React.createElement("div", { className: 'theia-WelcomeMessage', key: "setup-state" },
161
+ React.createElement("div", { className: "theia-WelcomeMessage-ErrorIcon" }, "\u26A0\uFE0F"),
162
+ React.createElement(browser_1.LocalizedMarkdown, { localizationKey: "theia/ai/ide/noLanguageModelProviders", defaultMarkdown: `
163
+ ## No Language Model Providers Available
164
+
165
+ No language model provider packages are installed in this IDE.
166
+
167
+ This typically happens in custom IDE distributions where Theia AI language model packages have been omitted.
168
+
169
+ **To resolve this:**
170
+
171
+ - Install one or more language model provider packages (e.g., '@theia/ai-openai', '@theia/ai-anthropic', '@theia/ai-ollama')
172
+ - Or use agents that don't require Theia Language Models (e.g., Claude Code)
173
+ `, markdownRenderer: this.markdownRenderer, className: "theia-WelcomeMessage-Content" }),
174
+ React.createElement("div", { className: "theia-WelcomeMessage-Actions" },
175
+ React.createElement("button", { className: "theia-button main", onClick: () => this.setModelRequirementBypassed(true) }, nls_1.nls.localize('theia/ai/ide/continueAnyway', 'Continue Anyway'))),
176
+ React.createElement("small", { className: "theia-WelcomeMessage-Hint" }, nls_1.nls.localize('theia/ai/ide/bypassHint', 'Some agents like Claude Code don\'t require Theia Language Models')));
177
+ }
178
+ return React.createElement("div", { className: 'theia-WelcomeMessage', key: "setup-state" },
179
+ React.createElement(TheiaIdeAiLogo, { width: 150, height: 150, className: "theia-WelcomeMessage-Logo" }),
180
+ React.createElement(browser_1.LocalizedMarkdown, { key: "configure-provider-hasmodels", localizationKey: "theia/ai/ide/configureProvider", defaultMarkdown: `
181
+ # Please configure at least one language model provider
182
+
183
+ If you want to use [OpenAI]({0}), [Anthropic]({1}) or [GoogleAI]({2}) hosted models, please enter an API key in the settings.
184
+
185
+ If you want to use another provider such as Ollama, please configure it in the settings and adapt agents or a model alias to use your custom model.
186
+
187
+ **Note:** Some agents, such as Claude Code do not need a provider to be configured, just continue in this case.
188
+
189
+ See the [documentation](https://theia-ide.org/docs/user_ai/) for more details.
190
+ `, args: [
191
+ `command:${browser_1.CommonCommands.OPEN_PREFERENCES.id}?ai-features.languageModels.openai`,
192
+ `command:${browser_1.CommonCommands.OPEN_PREFERENCES.id}?ai-features.languageModels.anthropic`,
193
+ `command:${browser_1.CommonCommands.OPEN_PREFERENCES.id}?ai-features.languageModels.googleai`
194
+ ], markdownRenderer: this.markdownRenderer, className: "theia-WelcomeMessage-Content", markdownOptions: {
195
+ supportHtml: true,
196
+ isTrusted: { enabledCommands: [browser_1.CommonCommands.OPEN_PREFERENCES.id] }
197
+ } }),
198
+ errorMessages.length > 0 && (React.createElement(React.Fragment, null,
199
+ React.createElement(browser_1.LocalizedMarkdown, { key: "configuration-state", localizationKey: "theia/ai/ide/configurationState", defaultMarkdown: "# Current Configuration State", markdownRenderer: this.markdownRenderer, className: "theia-WelcomeMessage-Content" }),
200
+ React.createElement("div", { className: "theia-WelcomeMessage-Content" },
201
+ React.createElement("ul", { className: "theia-WelcomeMessage-IssuesList" }, errorMessages.map((msg, idx) => React.createElement("li", { key: idx }, msg)))))),
202
+ React.createElement("div", { className: "theia-WelcomeMessage-Actions" },
203
+ React.createElement("button", { className: "theia-button main", onClick: () => this.commandRegistry.executeCommand(browser_1.CommonCommands.OPEN_PREFERENCES.id, 'ai-features') }, nls_1.nls.localize('theia/ai/ide/openSettings', 'Open AI Settings')),
204
+ React.createElement("button", { className: "theia-button secondary", onClick: () => this.setModelRequirementBypassed(true) }, nls_1.nls.localize('theia/ai/ide/continueAnyway', 'Continue Anyway'))),
205
+ React.createElement("small", { className: "theia-WelcomeMessage-Hint" }, nls_1.nls.localize('theia/ai/ide/bypassHint', 'Some agents like Claude Code don\'t require Theia Language Models')));
206
+ }
207
+ renderAgentSelectionScreen() {
208
+ const recommendedAgents = this.recommendationService.getRecommendedAgents()
209
+ .filter(agent => this.chatAgentService.getAgent(agent.id) !== undefined);
210
+ return React.createElement("div", { className: 'theia-WelcomeMessage theia-WelcomeMessage-AgentSelection', key: "agent-selection" },
211
+ React.createElement(TheiaIdeAiLogo, { width: 200, height: 200, className: "theia-WelcomeMessage-Logo" }),
212
+ React.createElement(browser_1.LocalizedMarkdown, { localizationKey: "theia/ai/ide/selectDefaultAgent", defaultMarkdown: `
213
+ ## Select a Default Chat Agent
214
+
215
+ Choose the agent to use by default. You can always override this by mentioning @AgentName in your message.
216
+ `, markdownRenderer: this.markdownRenderer, className: "theia-WelcomeMessage-Content" }),
217
+ recommendedAgents.length > 0 && (React.createElement("p", { className: "theia-WelcomeMessage-RecommendedNote" }, nls_1.nls.localize('theia/ai/ide/recommendedAgents', 'Recommended agents:'))),
218
+ recommendedAgents.length > 0 ? (React.createElement(React.Fragment, null,
219
+ React.createElement("div", { className: "theia-WelcomeMessage-AgentButtons" }, recommendedAgents.map(agent => (React.createElement("button", { key: agent.id, className: "theia-WelcomeMessage-AgentButton", onClick: () => this.setDefaultAgent(agent.id), title: agent.description },
220
+ React.createElement("span", { className: "theia-WelcomeMessage-AgentButton-Icon" }, "@"),
221
+ React.createElement("span", { className: "theia-WelcomeMessage-AgentButton-Label" }, agent.label))))),
222
+ React.createElement("div", { className: "theia-WelcomeMessage-AlternativeOptions" },
223
+ React.createElement("p", { className: "theia-WelcomeMessage-OrDivider" }, nls_1.nls.localize('theia/ai/ide/or', 'or'))))) : (React.createElement(alert_message_1.AlertMessage, { type: 'WARNING', header: nls_1.nls.localize('theia/ai/ide/noRecommendedAgents', 'No recommended agents are available.') })),
224
+ React.createElement(alert_message_1.AlertMessage, { type: 'INFO', header: recommendedAgents.length > 0
225
+ ? nls_1.nls.localize('theia/ai/ide/moreAgentsAvailable/header', 'More agents are available')
226
+ : nls_1.nls.localize('theia/ai/ide/configureAgent/header', 'Configure a default agent') },
227
+ React.createElement(browser_1.LocalizedMarkdown, { localizationKey: "theia/ai/ide/moreAgentsAvailable", defaultMarkdown: 'Use @AgentName to try others or configure a different default in [preferences]({0}).', args: [`command:${browser_1.CommonCommands.OPEN_PREFERENCES.id}?ai-features.chat`], markdownRenderer: this.markdownRenderer, markdownOptions: { isTrusted: { enabledCommands: [browser_1.CommonCommands.OPEN_PREFERENCES.id] } } })));
228
+ }
56
229
  renderDisabledMessage() {
57
230
  const openAiHistory = 'aiHistory:open';
58
231
  return React.createElement("div", { className: 'theia-ResponseNode' },
@@ -96,6 +269,36 @@ tslib_1.__decorate([
96
269
  (0, inversify_1.inject)(browser_1.MarkdownRenderer),
97
270
  tslib_1.__metadata("design:type", Object)
98
271
  ], IdeChatWelcomeMessageProvider.prototype, "markdownRenderer", void 0);
272
+ tslib_1.__decorate([
273
+ (0, inversify_1.inject)(core_1.CommandRegistry),
274
+ tslib_1.__metadata("design:type", core_1.CommandRegistry)
275
+ ], IdeChatWelcomeMessageProvider.prototype, "commandRegistry", void 0);
276
+ tslib_1.__decorate([
277
+ (0, inversify_1.inject)(common_1.FrontendLanguageModelRegistry),
278
+ tslib_1.__metadata("design:type", Object)
279
+ ], IdeChatWelcomeMessageProvider.prototype, "languageModelRegistry", void 0);
280
+ tslib_1.__decorate([
281
+ (0, inversify_1.inject)(common_2.PreferenceService),
282
+ tslib_1.__metadata("design:type", Object)
283
+ ], IdeChatWelcomeMessageProvider.prototype, "preferenceService", void 0);
284
+ tslib_1.__decorate([
285
+ (0, inversify_1.inject)(common_3.ChatAgentRecommendationService),
286
+ tslib_1.__metadata("design:type", Object)
287
+ ], IdeChatWelcomeMessageProvider.prototype, "recommendationService", void 0);
288
+ tslib_1.__decorate([
289
+ (0, inversify_1.inject)(common_3.ChatAgentService),
290
+ tslib_1.__metadata("design:type", Object)
291
+ ], IdeChatWelcomeMessageProvider.prototype, "chatAgentService", void 0);
292
+ tslib_1.__decorate([
293
+ (0, inversify_1.inject)(common_1.AgentService),
294
+ tslib_1.__metadata("design:type", Object)
295
+ ], IdeChatWelcomeMessageProvider.prototype, "agentService", void 0);
296
+ tslib_1.__decorate([
297
+ (0, inversify_1.postConstruct)(),
298
+ tslib_1.__metadata("design:type", Function),
299
+ tslib_1.__metadata("design:paramtypes", []),
300
+ tslib_1.__metadata("design:returntype", void 0)
301
+ ], IdeChatWelcomeMessageProvider.prototype, "init", null);
99
302
  exports.IdeChatWelcomeMessageProvider = IdeChatWelcomeMessageProvider = tslib_1.__decorate([
100
303
  (0, inversify_1.injectable)()
101
304
  ], IdeChatWelcomeMessageProvider);
@@ -1 +1 @@
1
- {"version":3,"file":"ide-chat-welcome-message-provider.js","sourceRoot":"","sources":["../../src/browser/ide-chat-welcome-message-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ide-chat-welcome-message-provider.js","sourceRoot":"","sources":["../../src/browser/ide-chat-welcome-message-provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
2
+ import { PromptService } from '@theia/ai-core/lib/common';
3
+ export declare class FixGitHubTicketCommandContribution implements FrontendApplicationContribution {
4
+ protected readonly promptService: PromptService;
5
+ onStart(): void;
6
+ protected registerFixGitHubTicketCommand(): void;
7
+ protected buildCommandTemplate(): string;
8
+ }
9
+ //# sourceMappingURL=implement-gh-ticket-command-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implement-gh-ticket-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/implement-gh-ticket-command-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK1D,qBACa,kCAAmC,YAAW,+BAA+B;IAGtF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,8BAA8B,IAAI,IAAI;IAoBhD,SAAS,CAAC,oBAAoB,IAAI,MAAM;CA0G3C"}
@@ -0,0 +1,156 @@
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.FixGitHubTicketCommandContribution = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const common_1 = require("@theia/ai-core/lib/common");
22
+ const core_1 = require("@theia/core");
23
+ const agent_delegation_tool_1 = require("@theia/ai-chat/lib/browser/agent-delegation-tool");
24
+ const github_chat_agent_1 = require("./github-chat-agent");
25
+ let FixGitHubTicketCommandContribution = class FixGitHubTicketCommandContribution {
26
+ onStart() {
27
+ this.registerFixGitHubTicketCommand();
28
+ }
29
+ registerFixGitHubTicketCommand() {
30
+ const commandTemplate = this.buildCommandTemplate();
31
+ this.promptService.addBuiltInPromptFragment({
32
+ id: 'fix-gh-ticket',
33
+ template: commandTemplate,
34
+ isCommand: true,
35
+ commandName: 'fix-gh-ticket',
36
+ commandDescription: core_1.nls.localize('theia/ai-ide/fixGhTicketCommand/description', 'Analyze a GitHub ticket and implement the solution'),
37
+ commandArgumentHint: core_1.nls.localize('theia/ai-ide/fixGhTicketCommand/argumentHint', '<ticket-number>'),
38
+ commandAgents: ['Coder']
39
+ });
40
+ }
41
+ buildCommandTemplate() {
42
+ return `You have been asked to analyze a GitHub ticket and implement the solution.
43
+
44
+ ## Ticket Number
45
+ $ARGUMENTS
46
+
47
+ ## Task Overview
48
+ You need to retrieve details about the specified GitHub ticket, analyze whether it can be implemented, and if so, implement the solution.
49
+
50
+ ## Step 1: Retrieve Ticket Information
51
+ Use the ~{${agent_delegation_tool_1.AGENT_DELEGATION_FUNCTION_ID}} tool to delegate to the GitHub agent and retrieve comprehensive information about the ticket.
52
+
53
+ **Agent ID:** '${github_chat_agent_1.GitHubChatAgentId}'
54
+ **Prompt:** Ask the GitHub agent to retrieve ALL details about issue/ticket #$ARGUMENTS, specifically requesting:
55
+ - The complete issue title and description/body
56
+ - All comments on the issue (this is critical for understanding the full context)
57
+ - Labels and assignees
58
+ - Issue state (open/closed)
59
+ - Any referenced issues or pull requests mentioned in the description or comments
60
+ - If other issues are referenced, retrieve their details as well
61
+
62
+ Example delegation prompt:
63
+ \`\`\`
64
+ Please retrieve comprehensive information about issue #$ARGUMENTS. I need:
65
+ 1. The complete issue title, body/description, labels, state, and assignees
66
+ 2. ALL comments on this issue - every single comment is important for understanding the context
67
+ 3. Any issues or PRs that are referenced or linked in the description or comments
68
+ 4. For any referenced issues, please also retrieve their titles and descriptions
69
+
70
+ This is for implementing the issue, so completeness is crucial.
71
+ \`\`\`
72
+
73
+ ## Step 2: Analyze AI Solvability
74
+ After receiving the ticket information, analyze whether this ticket can be implemented by you. Consider:
75
+
76
+ ### Criteria for Implementable Tickets:
77
+ - **Clear requirements**: The ticket clearly describes what needs to be done
78
+ - **Defined scope**: The scope of changes is well-defined and bounded
79
+ - **Technical feasibility**: The task involves code changes that can be reasoned about
80
+ - **Sufficient context**: Enough information is provided to understand the problem and solution
81
+ - **Reproducible**: For bugs, there's enough information to understand and reproduce the issue
82
+
83
+ ### Criteria for Non-Implementable Tickets:
84
+ - **Ambiguous requirements**: The ticket is vague or open to multiple interpretations
85
+ - **Missing context**: Critical information is missing (e.g., environment details, reproduction steps)
86
+ - **External dependencies**: Requires access to external systems, credentials, or human interaction
87
+ - **Design decisions needed**: Requires architectural decisions that need human judgment
88
+ - **Insufficient information**: Cannot determine what success looks like
89
+
90
+ ## Step 3: Respond Based on Analysis
91
+
92
+ ### If the ticket CANNOT be implemented:
93
+ Provide a clear explanation:
94
+ 1. **Reason**: Explain specifically why this ticket cannot be implemented by AI
95
+ 2. **Missing Information**: List what information is missing or unclear
96
+ 3. **Questions for Clarification**: Ask specific questions that, if answered, might make the ticket implementable
97
+
98
+ Example response format:
99
+ \`\`\`
100
+ ## Analysis Result: Cannot Be Implemented
101
+
102
+ ### Reason
103
+ [Explain why]
104
+
105
+ ### Missing Information
106
+ - [Item 1]
107
+ - [Item 2]
108
+
109
+ ### Questions for Clarification
110
+ 1. [Question 1]
111
+ 2. [Question 2]
112
+
113
+ Please provide the missing information and I will proceed with the implementation.
114
+ \`\`\`
115
+
116
+ ### If the ticket CAN be implemented:
117
+ Proceed with the implementation:
118
+
119
+ 1. **Briefly summarize** what the ticket requests and your implementation approach
120
+ 2. **Explore the codebase** to understand the existing code structure and find relevant files
121
+ 3. **Implement the solution** by making the necessary code changes using your file modification tools
122
+ 4. **Explain your changes** as you make them
123
+ 5. **Consider edge cases** and handle them appropriately
124
+ 6. **Suggest testing steps** the user should perform to verify the implementation
125
+
126
+ Example response format:
127
+ \`\`\`
128
+ ## Analysis Result: Can Be Implemented
129
+
130
+ ### Summary
131
+ [Brief summary of the ticket and your approach]
132
+
133
+ ### Implementation
134
+ [Proceed to explore the codebase and implement the changes, explaining as you go]
135
+ \`\`\`
136
+
137
+ ## Important Guidelines for Implementation
138
+ - Always explore the codebase first to understand the existing patterns and conventions
139
+ - Follow the existing code style and patterns in the project
140
+ - Make incremental changes and explain each step
141
+ - If you encounter unexpected issues during implementation, explain them and ask for guidance
142
+ - After implementation, summarize what was changed and suggest how to test the changes
143
+
144
+ Remember: If at any point during implementation you realize you need more information or the task is more complex than initially assessed, stop and ask for clarification rather
145
+ than making assumptions.`;
146
+ }
147
+ };
148
+ exports.FixGitHubTicketCommandContribution = FixGitHubTicketCommandContribution;
149
+ tslib_1.__decorate([
150
+ (0, inversify_1.inject)(common_1.PromptService),
151
+ tslib_1.__metadata("design:type", Object)
152
+ ], FixGitHubTicketCommandContribution.prototype, "promptService", void 0);
153
+ exports.FixGitHubTicketCommandContribution = FixGitHubTicketCommandContribution = tslib_1.__decorate([
154
+ (0, inversify_1.injectable)()
155
+ ], FixGitHubTicketCommandContribution);
156
+ //# sourceMappingURL=implement-gh-ticket-command-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implement-gh-ticket-command-contribution.js","sourceRoot":"","sources":["../../src/browser/implement-gh-ticket-command-contribution.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,4DAAkE;AAClE,sDAA0D;AAC1D,sCAAkC;AAClC,4FAAgG;AAChG,2DAAwD;AAGjD,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAK3C,OAAO;QACH,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC1C,CAAC;IAES,8BAA8B;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEpD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;YACxC,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,eAAe;YAC5B,kBAAkB,EAAE,UAAG,CAAC,QAAQ,CAC5B,6CAA6C,EAC7C,oDAAoD,CACvD;YACD,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAC7B,8CAA8C,EAC9C,iBAAiB,CACpB;YACD,aAAa,EAAE,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;IACP,CAAC;IAES,oBAAoB;QAC1B,OAAO;;;;;;;;;YASH,oDAA4B;;iBAEvB,qCAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4FT,CAAC;IACtB,CAAC;CACJ,CAAA;AAvIY,gFAAkC;AAGxB;IADlB,IAAA,kBAAM,EAAC,sBAAa,CAAC;;yEAC0B;6CAHvC,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;GACA,kCAAkC,CAuI9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/ai-ide",
3
- "version": "1.67.0-next.59+3f14297ea",
3
+ "version": "1.67.0",
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,23 +15,23 @@
15
15
  "theia-extension"
16
16
  ],
17
17
  "dependencies": {
18
- "@theia/ai-chat": "1.67.0-next.59+3f14297ea",
19
- "@theia/ai-chat-ui": "1.67.0-next.59+3f14297ea",
20
- "@theia/ai-core": "1.67.0-next.59+3f14297ea",
21
- "@theia/ai-mcp": "1.67.0-next.59+3f14297ea",
22
- "@theia/core": "1.67.0-next.59+3f14297ea",
23
- "@theia/debug": "1.67.0-next.59+3f14297ea",
24
- "@theia/editor": "1.67.0-next.59+3f14297ea",
25
- "@theia/filesystem": "1.67.0-next.59+3f14297ea",
26
- "@theia/markers": "1.67.0-next.59+3f14297ea",
27
- "@theia/monaco": "1.67.0-next.59+3f14297ea",
28
- "@theia/navigator": "1.67.0-next.59+3f14297ea",
29
- "@theia/preferences": "1.67.0-next.59+3f14297ea",
30
- "@theia/scm": "1.67.0-next.59+3f14297ea",
31
- "@theia/search-in-workspace": "1.67.0-next.59+3f14297ea",
32
- "@theia/task": "1.67.0-next.59+3f14297ea",
33
- "@theia/terminal": "1.67.0-next.59+3f14297ea",
34
- "@theia/workspace": "1.67.0-next.59+3f14297ea",
18
+ "@theia/ai-chat": "1.67.0",
19
+ "@theia/ai-chat-ui": "1.67.0",
20
+ "@theia/ai-core": "1.67.0",
21
+ "@theia/ai-mcp": "1.67.0",
22
+ "@theia/core": "1.67.0",
23
+ "@theia/debug": "1.67.0",
24
+ "@theia/editor": "1.67.0",
25
+ "@theia/filesystem": "1.67.0",
26
+ "@theia/markers": "1.67.0",
27
+ "@theia/monaco": "1.67.0",
28
+ "@theia/navigator": "1.67.0",
29
+ "@theia/preferences": "1.67.0",
30
+ "@theia/scm": "1.67.0",
31
+ "@theia/search-in-workspace": "1.67.0",
32
+ "@theia/task": "1.67.0",
33
+ "@theia/terminal": "1.67.0",
34
+ "@theia/workspace": "1.67.0",
35
35
  "date-fns": "^4.1.0",
36
36
  "ignore": "^6.0.0",
37
37
  "js-yaml": "^4.1.0",
@@ -43,8 +43,8 @@
43
43
  "access": "public"
44
44
  },
45
45
  "devDependencies": {
46
- "@theia/cli": "1.67.0-next.59+3f14297ea",
47
- "@theia/test": "1.67.0-next.59+3f14297ea"
46
+ "@theia/cli": "1.67.0",
47
+ "@theia/test": "1.67.0"
48
48
  },
49
49
  "theiaExtensions": [
50
50
  {
@@ -68,5 +68,5 @@
68
68
  "nyc": {
69
69
  "extends": "../../configs/nyc.json"
70
70
  },
71
- "gitHead": "3f14297ea2edcdb1fffd74afee0613e70b43e125"
71
+ "gitHead": "541860e34f1351442be3a1c998fb618472afcefd"
72
72
  }