@theia/ai-ide 1.76.0-next.7 → 1.76.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 (174) hide show
  1. package/lib/browser/ai-allow-all-mode-chat-banner.js +1 -1
  2. package/lib/browser/ai-allow-all-mode-chat-banner.js.map +1 -1
  3. package/lib/browser/ai-aware-scm-commit-widget.d.ts +27 -0
  4. package/lib/browser/ai-aware-scm-commit-widget.d.ts.map +1 -0
  5. package/lib/browser/ai-aware-scm-commit-widget.js +142 -0
  6. package/lib/browser/ai-aware-scm-commit-widget.js.map +1 -0
  7. package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts +10 -4
  8. package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts.map +1 -1
  9. package/lib/browser/ai-configuration/ai-configuration-detail-widget.js +12 -7
  10. package/lib/browser/ai-configuration/ai-configuration-detail-widget.js.map +1 -1
  11. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js +14 -14
  12. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js.map +1 -1
  13. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts +6 -0
  14. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts.map +1 -1
  15. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js +9 -0
  16. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js.map +1 -1
  17. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts.map +1 -1
  18. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +2 -1
  19. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -1
  20. package/lib/browser/ai-configuration/categories/agent-chips.js +1 -1
  21. package/lib/browser/ai-configuration/categories/agent-chips.js.map +1 -1
  22. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts +8 -0
  23. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts.map +1 -1
  24. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js +27 -8
  25. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js.map +1 -1
  26. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js +38 -2
  27. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js.map +1 -1
  28. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts +13 -2
  29. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts.map +1 -1
  30. package/lib/browser/ai-configuration/categories/models-configuration-category.js +41 -2
  31. package/lib/browser/ai-configuration/categories/models-configuration-category.js.map +1 -1
  32. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js +32 -2
  33. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js.map +1 -1
  34. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.d.ts +26 -0
  35. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.d.ts.map +1 -0
  36. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js +212 -0
  37. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js.map +1 -0
  38. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.d.ts +2 -0
  39. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.d.ts.map +1 -0
  40. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js +423 -0
  41. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js.map +1 -0
  42. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
  43. package/lib/browser/ai-configuration/language-model-renderer.js +10 -3
  44. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  45. package/lib/browser/ai-getting-started-commands.d.ts +10 -0
  46. package/lib/browser/ai-getting-started-commands.d.ts.map +1 -0
  47. package/lib/browser/ai-getting-started-commands.js +34 -0
  48. package/lib/browser/ai-getting-started-commands.js.map +1 -0
  49. package/lib/browser/ai-getting-started-contribution.d.ts +20 -0
  50. package/lib/browser/ai-getting-started-contribution.d.ts.map +1 -0
  51. package/lib/browser/ai-getting-started-contribution.js +70 -0
  52. package/lib/browser/ai-getting-started-contribution.js.map +1 -0
  53. package/lib/browser/ai-getting-started-walkthrough.d.ts +41 -0
  54. package/lib/browser/ai-getting-started-walkthrough.d.ts.map +1 -0
  55. package/lib/browser/ai-getting-started-walkthrough.js +225 -0
  56. package/lib/browser/ai-getting-started-walkthrough.js.map +1 -0
  57. package/lib/browser/ai-getting-started-walkthrough.spec.d.ts +2 -0
  58. package/lib/browser/ai-getting-started-walkthrough.spec.d.ts.map +1 -0
  59. package/lib/browser/ai-getting-started-walkthrough.spec.js +124 -0
  60. package/lib/browser/ai-getting-started-walkthrough.spec.js.map +1 -0
  61. package/lib/browser/ai-walkthrough-context-keys.d.ts +55 -0
  62. package/lib/browser/ai-walkthrough-context-keys.d.ts.map +1 -0
  63. package/lib/browser/ai-walkthrough-context-keys.js +145 -0
  64. package/lib/browser/ai-walkthrough-context-keys.js.map +1 -0
  65. package/lib/browser/ai-walkthrough-context-keys.spec.d.ts +2 -0
  66. package/lib/browser/ai-walkthrough-context-keys.spec.d.ts.map +1 -0
  67. package/lib/browser/ai-walkthrough-context-keys.spec.js +166 -0
  68. package/lib/browser/ai-walkthrough-context-keys.spec.js.map +1 -0
  69. package/lib/browser/chat-session-item.js +2 -2
  70. package/lib/browser/chat-session-item.js.map +1 -1
  71. package/lib/browser/commit-message-agent.d.ts +31 -0
  72. package/lib/browser/commit-message-agent.d.ts.map +1 -0
  73. package/lib/browser/commit-message-agent.js +99 -0
  74. package/lib/browser/commit-message-agent.js.map +1 -0
  75. package/lib/browser/commit-message-agent.spec.d.ts +2 -0
  76. package/lib/browser/commit-message-agent.spec.d.ts.map +1 -0
  77. package/lib/browser/commit-message-agent.spec.js +82 -0
  78. package/lib/browser/commit-message-agent.spec.js.map +1 -0
  79. package/lib/browser/commit-message-command-contribution.d.ts +15 -0
  80. package/lib/browser/commit-message-command-contribution.d.ts.map +1 -0
  81. package/lib/browser/commit-message-command-contribution.js +73 -0
  82. package/lib/browser/commit-message-command-contribution.js.map +1 -0
  83. package/lib/browser/commit-message-commands.d.ts +5 -0
  84. package/lib/browser/commit-message-commands.d.ts.map +1 -0
  85. package/lib/browser/commit-message-commands.js +28 -0
  86. package/lib/browser/commit-message-commands.js.map +1 -0
  87. package/lib/browser/commit-message-prompt-template.d.ts +11 -0
  88. package/lib/browser/commit-message-prompt-template.d.ts.map +1 -0
  89. package/lib/browser/commit-message-prompt-template.js +63 -0
  90. package/lib/browser/commit-message-prompt-template.js.map +1 -0
  91. package/lib/browser/commit-message-runner.d.ts +41 -0
  92. package/lib/browser/commit-message-runner.d.ts.map +1 -0
  93. package/lib/browser/commit-message-runner.js +143 -0
  94. package/lib/browser/commit-message-runner.js.map +1 -0
  95. package/lib/browser/commit-message-runner.spec.d.ts +2 -0
  96. package/lib/browser/commit-message-runner.spec.d.ts.map +1 -0
  97. package/lib/browser/commit-message-runner.spec.js +206 -0
  98. package/lib/browser/commit-message-runner.spec.js.map +1 -0
  99. package/lib/browser/frontend-module.d.ts.map +1 -1
  100. package/lib/browser/frontend-module.js +25 -0
  101. package/lib/browser/frontend-module.js.map +1 -1
  102. package/lib/browser/git-changes-tool.d.ts +73 -0
  103. package/lib/browser/git-changes-tool.d.ts.map +1 -0
  104. package/lib/browser/git-changes-tool.js +217 -0
  105. package/lib/browser/git-changes-tool.js.map +1 -0
  106. package/lib/browser/git-changes-tool.spec.d.ts +2 -0
  107. package/lib/browser/git-changes-tool.spec.d.ts.map +1 -0
  108. package/lib/browser/git-changes-tool.spec.js +167 -0
  109. package/lib/browser/git-changes-tool.spec.js.map +1 -0
  110. package/lib/browser/ide-chat-welcome-message-provider.d.ts +26 -28
  111. package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
  112. package/lib/browser/ide-chat-welcome-message-provider.js +61 -151
  113. package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
  114. package/lib/browser/review/pr-review-capability-contribution.js +1 -1
  115. package/lib/browser/review/pr-review-capability-contribution.js.map +1 -1
  116. package/lib/browser/user-interaction-tool-renderer.d.ts +6 -0
  117. package/lib/browser/user-interaction-tool-renderer.d.ts.map +1 -1
  118. package/lib/browser/user-interaction-tool-renderer.js +36 -7
  119. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  120. package/lib/browser/user-interaction-tool.d.ts +23 -1
  121. package/lib/browser/user-interaction-tool.d.ts.map +1 -1
  122. package/lib/browser/user-interaction-tool.js +56 -17
  123. package/lib/browser/user-interaction-tool.js.map +1 -1
  124. package/lib/browser/user-interaction-tool.spec.js +151 -2
  125. package/lib/browser/user-interaction-tool.spec.js.map +1 -1
  126. package/lib/common/command-prompt-template.js +1 -1
  127. package/lib/common/user-interaction-tool.d.ts +19 -1
  128. package/lib/common/user-interaction-tool.d.ts.map +1 -1
  129. package/lib/common/user-interaction-tool.js +100 -29
  130. package/lib/common/user-interaction-tool.js.map +1 -1
  131. package/lib/common/user-interaction-tool.spec.js +215 -174
  132. package/lib/common/user-interaction-tool.spec.js.map +1 -1
  133. package/package.json +26 -25
  134. package/src/browser/ai-allow-all-mode-chat-banner.tsx +2 -2
  135. package/src/browser/ai-aware-scm-commit-widget.tsx +153 -0
  136. package/src/browser/ai-configuration/ai-configuration-detail-widget.spec.ts +14 -14
  137. package/src/browser/ai-configuration/ai-configuration-detail-widget.tsx +12 -7
  138. package/src/browser/ai-configuration/ai-configuration-tree-widget.tsx +8 -0
  139. package/src/browser/ai-configuration/categories/agent-capabilities-settings.tsx +7 -8
  140. package/src/browser/ai-configuration/categories/agent-chips.tsx +1 -1
  141. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.spec.ts +40 -2
  142. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx +31 -10
  143. package/src/browser/ai-configuration/categories/models-configuration-category.spec.ts +47 -2
  144. package/src/browser/ai-configuration/categories/models-configuration-category.tsx +52 -5
  145. package/src/browser/ai-configuration/categories/provider-model-discovery-section.spec.tsx +451 -0
  146. package/src/browser/ai-configuration/categories/provider-model-discovery-section.tsx +341 -0
  147. package/src/browser/ai-configuration/language-model-renderer.tsx +11 -3
  148. package/src/browser/ai-getting-started-commands.ts +33 -0
  149. package/src/browser/ai-getting-started-contribution.ts +64 -0
  150. package/src/browser/ai-getting-started-walkthrough.spec.ts +146 -0
  151. package/src/browser/ai-getting-started-walkthrough.ts +249 -0
  152. package/src/browser/ai-walkthrough-context-keys.spec.ts +209 -0
  153. package/src/browser/ai-walkthrough-context-keys.ts +147 -0
  154. package/src/browser/chat-session-item.tsx +2 -2
  155. package/src/browser/commit-message-agent.spec.ts +97 -0
  156. package/src/browser/commit-message-agent.ts +113 -0
  157. package/src/browser/commit-message-command-contribution.ts +67 -0
  158. package/src/browser/commit-message-commands.ts +25 -0
  159. package/src/browser/commit-message-prompt-template.ts +65 -0
  160. package/src/browser/commit-message-runner.spec.ts +266 -0
  161. package/src/browser/commit-message-runner.ts +163 -0
  162. package/src/browser/frontend-module.ts +27 -0
  163. package/src/browser/git-changes-tool.spec.ts +200 -0
  164. package/src/browser/git-changes-tool.ts +239 -0
  165. package/src/browser/ide-chat-welcome-message-provider.tsx +93 -230
  166. package/src/browser/review/pr-review-capability-contribution.ts +1 -1
  167. package/src/browser/style/commit-message-overlay.css +64 -0
  168. package/src/browser/style/index.css +4 -42
  169. package/src/browser/user-interaction-tool-renderer.tsx +38 -8
  170. package/src/browser/user-interaction-tool.spec.ts +201 -2
  171. package/src/browser/user-interaction-tool.ts +69 -18
  172. package/src/common/command-prompt-template.ts +1 -1
  173. package/src/common/user-interaction-tool.spec.ts +217 -161
  174. package/src/common/user-interaction-tool.ts +127 -32
@@ -0,0 +1,423 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
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
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ // @lumino/dragdrop (pulled in transitively via `codicon` from `@theia/core/lib/browser`) extends the
21
+ // DragEvent DOM global at module load, which JSDOM does not provide; stub it so the import succeeds.
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ if (!global.DragEvent) {
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ global.DragEvent = class DragEvent extends global.Event {
26
+ };
27
+ }
28
+ const chai_1 = require("chai");
29
+ const React = require("@theia/core/shared/react");
30
+ const react_dom_1 = require("@theia/core/shared/react-dom");
31
+ const client_1 = require("@theia/core/shared/react-dom/client");
32
+ const core_1 = require("@theia/core");
33
+ const provider_model_discovery_section_1 = require("./provider-model-discovery-section");
34
+ disableJSDOM();
35
+ function model(id, ready = true, released) {
36
+ return { id, released, status: { status: ready ? 'ready' : 'unavailable', message: ready ? undefined : 'nope' } };
37
+ }
38
+ function status(overrides = {}) {
39
+ return { providerId: 'anthropic', label: 'Anthropic', state: 'ready', ...overrides };
40
+ }
41
+ describe('ProviderModelDiscoverySection', () => {
42
+ before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
43
+ after(() => disableJSDOM());
44
+ /** Stands in for the service: featured = the ids given, marked = the rest of `favorite`, hidden = taken out again. */
45
+ function favoritesStub(featured = [], marked = [], hidden = []) {
46
+ const emitter = new core_1.Emitter();
47
+ const toggled = [];
48
+ const reset = [];
49
+ const stub = {
50
+ toggled,
51
+ reset,
52
+ hasOverrides: () => marked.length > 0 || hidden.length > 0,
53
+ resetToDefaults: async (prefix) => { reset.push(prefix); },
54
+ onDidChange: emitter.event,
55
+ isFeatured: (id) => featured.includes(id),
56
+ isFavorite: (id) => !hidden.includes(id) && (featured.includes(id) || marked.includes(id)),
57
+ getFavorites: () => marked,
58
+ toggleFavorite: async (id) => { toggled.push(id); }
59
+ };
60
+ return stub;
61
+ }
62
+ function mount(models, discoveryStatus = status(), favorites = favoritesStub(), actions = []) {
63
+ const container = document.createElement('div');
64
+ document.body.appendChild(container);
65
+ const root = (0, client_1.createRoot)(container);
66
+ (0, react_dom_1.flushSync)(() => root.render(React.createElement(provider_model_discovery_section_1.ProviderModelDiscoverySection, {
67
+ status: discoveryStatus,
68
+ models,
69
+ favorites,
70
+ onRefresh: () => { },
71
+ onAction: (action) => actions.push(action)
72
+ })));
73
+ return { container, dispose: () => { (0, react_dom_1.flushSync)(() => root.unmount()); container.remove(); } };
74
+ }
75
+ /** The section header's own buttons, refresh first and reset after it. */
76
+ function sectionActions(container) {
77
+ return [...container.querySelectorAll('.ai-configuration-section-title-actions .ai-configuration-icon-button')];
78
+ }
79
+ function labels(container) {
80
+ return [...container.querySelectorAll('.ai-configuration-item-row-label')].map(row => row.textContent ?? '');
81
+ }
82
+ function typeIntoFilter(container, value) {
83
+ const input = container.querySelector('.ai-configuration-filter-input input');
84
+ const view = container.ownerDocument.defaultView;
85
+ // Assigning `value` directly goes through React's patched setter, which then treats the change as
86
+ // already handled and never calls `onChange`; the prototype's setter is what a real keystroke uses.
87
+ const nativeSetter = Object.getOwnPropertyDescriptor(view.HTMLInputElement.prototype, 'value').set;
88
+ (0, react_dom_1.flushSync)(() => {
89
+ nativeSetter.call(input, value);
90
+ input.dispatchEvent(new view.Event('input', { bubbles: true }));
91
+ });
92
+ }
93
+ it('lists the most recently released models first', () => {
94
+ const { container, dispose } = mount([
95
+ model('anthropic/claude-haiku-4-5', true, Date.parse('2025-10-01')),
96
+ model('anthropic/claude-opus-5', true, Date.parse('2026-04-01'))
97
+ ]);
98
+ try {
99
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['claude-opus-5', 'claude-haiku-4-5']);
100
+ }
101
+ finally {
102
+ dispose();
103
+ }
104
+ });
105
+ it('falls back to alphabetical order for a provider that reports no release dates', () => {
106
+ const { container, dispose } = mount([model('google/gemini-3.7-flash'), model('google/gemini-3.1-pro')]);
107
+ try {
108
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['gemini-3.1-pro', 'gemini-3.7-flash']);
109
+ }
110
+ finally {
111
+ dispose();
112
+ }
113
+ });
114
+ describe('what the chat input shows', () => {
115
+ /** Ten models, so the section also offers the filter box. */
116
+ function manyModels() {
117
+ return ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'].map(name => model(`anthropic/claude-${name}`));
118
+ }
119
+ function badges(container) {
120
+ return [...container.querySelectorAll('.ai-configuration-item-row')]
121
+ .map(row => [...row.querySelectorAll('.ai-configuration-kind-badge-label')].map(badge => badge.textContent ?? ''));
122
+ }
123
+ it('lifts the provider\'s current models to the top of the list', () => {
124
+ const favorites = favoritesStub(['anthropic/claude-c', 'anthropic/claude-h']);
125
+ const { container, dispose } = mount(manyModels(), status(), favorites);
126
+ try {
127
+ (0, chai_1.expect)(labels(container).slice(0, 2)).to.deep.equal(['claude-c', 'claude-h']);
128
+ // The rest keeps the order it had.
129
+ (0, chai_1.expect)(labels(container).slice(2, 4)).to.deep.equal(['claude-a', 'claude-b']);
130
+ }
131
+ finally {
132
+ dispose();
133
+ }
134
+ });
135
+ it('badges them as the default, whether they are checked or not', () => {
136
+ // `claude-c` is one of the newest and unchecked all the same, `claude-h` is the user's own pick.
137
+ const favorites = favoritesStub(['anthropic/claude-c'], ['anthropic/claude-h'], ['anthropic/claude-c']);
138
+ const { container, dispose } = mount(manyModels(), status(), favorites);
139
+ try {
140
+ (0, chai_1.expect)(labels(container)[0]).to.equal('claude-c');
141
+ (0, chai_1.expect)(badges(container)[0]).to.deep.equal(['Default']);
142
+ // The badge says where a model stands, not whether it is shown: it survives unchecking.
143
+ const shown = container.querySelectorAll('.ai-configuration-item-row-trailing .ai-configuration-icon-button')[0];
144
+ (0, chai_1.expect)(shown.querySelector('.codicon-circle-large')).to.not.equal(null); // eslint-disable-line no-null/no-null
145
+ }
146
+ finally {
147
+ dispose();
148
+ }
149
+ });
150
+ it('badges nothing on a model the provider does not count among its current ones', () => {
151
+ const favorites = favoritesStub([], ['anthropic/claude-h']);
152
+ const { container, dispose } = mount(manyModels(), status(), favorites);
153
+ try {
154
+ (0, chai_1.expect)(badges(container).every(row => row.length === 0)).to.equal(true);
155
+ }
156
+ finally {
157
+ dispose();
158
+ }
159
+ });
160
+ it('explains on the badge what a default is, and on the check only what it does', () => {
161
+ const favorites = favoritesStub(['anthropic/claude-c']);
162
+ const { container, dispose } = mount(manyModels(), status(), favorites);
163
+ try {
164
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-kind-badge')?.getAttribute('title'))
165
+ .to.contain('newest models of this provider');
166
+ const shown = container.querySelectorAll('.ai-configuration-item-row-trailing .ai-configuration-icon-button')[0];
167
+ (0, chai_1.expect)(shown.title).to.equal('Hide this model from the AI chat input\'s model picker');
168
+ }
169
+ finally {
170
+ dispose();
171
+ }
172
+ });
173
+ it('offers a reset once the user decided something, and nothing to reset before', () => {
174
+ const untouched = favoritesStub(['anthropic/claude-c']);
175
+ const first = mount(manyModels(), status(), untouched);
176
+ try {
177
+ const reset = sectionActions(first.container)[1];
178
+ (0, chai_1.expect)(reset.disabled).to.equal(true);
179
+ (0, chai_1.expect)(reset.title).to.equal('Already at the defaults');
180
+ }
181
+ finally {
182
+ first.dispose();
183
+ }
184
+ const touched = favoritesStub(['anthropic/claude-c'], ['anthropic/claude-h']);
185
+ const second = mount(manyModels(), status({ providerId: 'openAiOfficial', modelIdPrefix: 'openai' }), touched);
186
+ try {
187
+ const reset = sectionActions(second.container)[1];
188
+ (0, chai_1.expect)(reset.disabled).to.equal(false);
189
+ (0, react_dom_1.flushSync)(() => reset.click());
190
+ // Only this provider is reset, under the prefix its models are registered with.
191
+ (0, chai_1.expect)(touched.reset).to.deep.equal(['openai']);
192
+ }
193
+ finally {
194
+ second.dispose();
195
+ }
196
+ });
197
+ it('reports how much of the list the chat input shows', () => {
198
+ const favorites = favoritesStub(['anthropic/claude-c'], ['anthropic/claude-h']);
199
+ const { container, dispose } = mount(manyModels(), status(), favorites);
200
+ try {
201
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-section-subtitle')?.textContent)
202
+ .to.equal('2 of 10 shown in the AI chat input\'s model picker');
203
+ }
204
+ finally {
205
+ dispose();
206
+ }
207
+ });
208
+ });
209
+ it('heads every row with the id and puts the reported name beneath it', () => {
210
+ const discovered = [{ id: 'claude-opus-5', label: 'Claude Opus 5' }];
211
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')], status({ discovered }));
212
+ try {
213
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['claude-opus-5']);
214
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-item-row-description')?.textContent).to.equal('Claude Opus 5');
215
+ }
216
+ finally {
217
+ dispose();
218
+ }
219
+ });
220
+ it('appends the reported description to the reported name', () => {
221
+ const discovered = [{ id: 'gemini-3-pro', label: 'Gemini 3 Pro', description: 'The best one.' }];
222
+ const { container, dispose } = mount([model('google/gemini-3-pro')], status({ providerId: 'google', discovered }));
223
+ try {
224
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-item-row-description')?.textContent).to.equal('Gemini 3 Pro · The best one.');
225
+ }
226
+ finally {
227
+ dispose();
228
+ }
229
+ });
230
+ it('keeps the same row shape for a provider that reports nothing but the id', () => {
231
+ const { container, dispose } = mount([model('openai/gpt-5.6-sol')], status({ providerId: 'openAiOfficial', modelIdPrefix: 'openai' }));
232
+ try {
233
+ const row = container.querySelector('.ai-configuration-item-row-label');
234
+ (0, chai_1.expect)(row.textContent).to.equal('gpt-5.6-sol');
235
+ // Same heading as a provider that does report a name, just without the second line.
236
+ (0, chai_1.expect)(row.className.split(/\s+/)).to.not.include('mono');
237
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-item-row-description')).to.equal(null); // eslint-disable-line no-null/no-null
238
+ }
239
+ finally {
240
+ dispose();
241
+ }
242
+ });
243
+ it('badges only the models that are not ready, since a listed model is ready by construction', () => {
244
+ const { container, dispose } = mount([model('anthropic/claude-opus-5'), model('anthropic/claude-haiku-4-5', false)]);
245
+ try {
246
+ const badges = [...container.querySelectorAll('.ai-configuration-item-row .ai-configuration-status-badge-label')];
247
+ (0, chai_1.expect)(badges.map(badge => badge.textContent)).to.deep.equal(['Not ready']);
248
+ }
249
+ finally {
250
+ dispose();
251
+ }
252
+ });
253
+ it('offers no filter for a short list', () => {
254
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')]);
255
+ try {
256
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-filter-input')).to.equal(null); // eslint-disable-line no-null/no-null
257
+ }
258
+ finally {
259
+ dispose();
260
+ }
261
+ });
262
+ it('filters a long list by id', () => {
263
+ const models = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'].map(suffix => model(`openai/gpt-${suffix}`));
264
+ const { container, dispose } = mount(models);
265
+ try {
266
+ (0, chai_1.expect)(labels(container)).to.have.lengthOf(9);
267
+ typeIntoFilter(container, 'gpt-c');
268
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['gpt-c']);
269
+ typeIntoFilter(container, 'nothing-matches');
270
+ (0, chai_1.expect)(labels(container)).to.be.empty;
271
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-empty-state')).to.not.equal(null); // eslint-disable-line no-null/no-null
272
+ }
273
+ finally {
274
+ dispose();
275
+ }
276
+ });
277
+ it('keeps the models listed when a refresh failed, above the failure callout', () => {
278
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')], status({ state: 'error', message: 'offline' }));
279
+ try {
280
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-callout-text')?.textContent).to.equal('offline');
281
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['claude-opus-5']);
282
+ }
283
+ finally {
284
+ dispose();
285
+ }
286
+ });
287
+ it('states that the list is configured manually when the models are overridden', () => {
288
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')], status({ state: 'overridden', message: 'The model list is configured manually.' }));
289
+ try {
290
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-section-subtitle')?.textContent).to.equal('The model list is configured manually.');
291
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['claude-opus-5']);
292
+ const badges = [...container.querySelectorAll('.ai-configuration-status-badge-label')].map(badge => badge.textContent);
293
+ (0, chai_1.expect)(badges).to.include('Manual');
294
+ }
295
+ finally {
296
+ dispose();
297
+ }
298
+ });
299
+ it('names the release date of the models that report one, which is what the order follows', () => {
300
+ const { container, dispose } = mount([
301
+ model('anthropic/claude-opus-5', true, Date.parse('2026-04-01')),
302
+ model('anthropic/claude-undated')
303
+ ]);
304
+ try {
305
+ const details = [...container.querySelectorAll('.ai-configuration-item-row-detail')];
306
+ // Only the model with a reported date carries one; the other row simply has no trailing detail.
307
+ (0, chai_1.expect)(details).to.have.lengthOf(1);
308
+ (0, chai_1.expect)(details[0].textContent).to.match(/^released /);
309
+ }
310
+ finally {
311
+ dispose();
312
+ }
313
+ });
314
+ it('checks a featured model and lets it be hidden again', () => {
315
+ const favorites = favoritesStub(['anthropic/claude-opus-5']);
316
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')], status(), favorites);
317
+ try {
318
+ const shown = container.querySelector('.ai-configuration-item-row-trailing .ai-configuration-icon-button');
319
+ (0, chai_1.expect)(shown.querySelector('.codicon-pass')).to.not.equal(null); // eslint-disable-line no-null/no-null
320
+ (0, chai_1.expect)(shown.disabled).to.equal(false);
321
+ // The check says what it does; what a default is belongs to the badge on the row.
322
+ (0, chai_1.expect)(shown.title).to.equal('Hide this model from the AI chat input\'s model picker');
323
+ (0, react_dom_1.flushSync)(() => shown.click());
324
+ (0, chai_1.expect)(favorites.toggled).to.deep.equal(['anthropic/claude-opus-5']);
325
+ }
326
+ finally {
327
+ dispose();
328
+ }
329
+ });
330
+ it('shows an empty circle on a model the chat input hides, and checks it on click', () => {
331
+ const favorites = favoritesStub();
332
+ const { container, dispose } = mount([model('anthropic/claude-opus-5-20260401')], status(), favorites);
333
+ try {
334
+ const shown = container.querySelector('.ai-configuration-item-row-trailing .ai-configuration-icon-button');
335
+ (0, chai_1.expect)(shown.querySelector('.codicon-circle-large')).to.not.equal(null); // eslint-disable-line no-null/no-null
336
+ (0, chai_1.expect)(shown.title).to.contain('AI chat input');
337
+ (0, chai_1.expect)(shown.disabled).to.equal(false);
338
+ (0, react_dom_1.flushSync)(() => shown.click());
339
+ (0, chai_1.expect)(favorites.toggled).to.deep.equal(['anthropic/claude-opus-5-20260401']);
340
+ }
341
+ finally {
342
+ dispose();
343
+ }
344
+ });
345
+ it('states once, above the list, that this is about the chat input', () => {
346
+ const { container, dispose } = mount([model('anthropic/claude-opus-5')]);
347
+ try {
348
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-section-subtitle')?.textContent).to.contain('AI chat input');
349
+ }
350
+ finally {
351
+ dispose();
352
+ }
353
+ });
354
+ it('filters the list down to the offered models on request', () => {
355
+ const models = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'].map(suffix => model(`openai/gpt-${suffix}`));
356
+ const { container, dispose } = mount(models, status({ providerId: 'openAiOfficial', modelIdPrefix: 'openai' }), favoritesStub(['openai/gpt-c']));
357
+ try {
358
+ (0, chai_1.expect)(labels(container)).to.have.lengthOf(9);
359
+ // The narrowing sits in the filter box, next to the clear button.
360
+ const toggle = container.querySelector('.ai-configuration-filter-input-action');
361
+ (0, react_dom_1.flushSync)(() => toggle.click());
362
+ (0, chai_1.expect)(labels(container)).to.deep.equal(['gpt-c']);
363
+ }
364
+ finally {
365
+ dispose();
366
+ }
367
+ });
368
+ it('offers the command a provider names for its missing credential, e.g. signing in to Copilot', () => {
369
+ const actions = [];
370
+ const { container, dispose } = mount([], status({
371
+ providerId: 'copilot',
372
+ state: 'no-credentials',
373
+ message: 'Not signed in to GitHub Copilot. Sign in to discover the models it offers.',
374
+ action: { label: 'Sign in to GitHub Copilot', commandId: 'copilot.signIn' }
375
+ }), favoritesStub(), actions);
376
+ try {
377
+ const button = container.querySelector('.ai-configuration-empty-state-action button');
378
+ (0, chai_1.expect)(button.textContent).to.equal('Sign in to GitHub Copilot');
379
+ (0, react_dom_1.flushSync)(() => button.click());
380
+ (0, chai_1.expect)(actions.map(action => action.commandId)).to.deep.equal(['copilot.signIn']);
381
+ }
382
+ finally {
383
+ dispose();
384
+ }
385
+ });
386
+ it('disables the refresh while there is no credential to fetch with, and says why', () => {
387
+ const { container, dispose } = mount([], status({ state: 'no-credentials', message: 'No Anthropic API key set.' }));
388
+ try {
389
+ const refresh = sectionActions(container)[0];
390
+ (0, chai_1.expect)(refresh.disabled).to.equal(true);
391
+ (0, chai_1.expect)(refresh.title).to.equal('No Anthropic API key set.');
392
+ }
393
+ finally {
394
+ dispose();
395
+ }
396
+ });
397
+ it('lets a provider name the state itself, since a sign-in is not an API key', () => {
398
+ const { container, dispose } = mount([], status({
399
+ providerId: 'copilot',
400
+ state: 'no-credentials',
401
+ stateLabel: 'Not signed in',
402
+ message: 'Not signed in to GitHub Copilot. Sign in to discover the models it offers.'
403
+ }));
404
+ try {
405
+ const badge = container.querySelector('.ai-configuration-status-badge-label');
406
+ (0, chai_1.expect)(badge.textContent).to.equal('Not signed in');
407
+ }
408
+ finally {
409
+ dispose();
410
+ }
411
+ });
412
+ it('shows the key call to action instead of a list while there are no credentials', () => {
413
+ const { container, dispose } = mount([], status({ state: 'no-credentials', message: 'No Anthropic API key set.' }));
414
+ try {
415
+ (0, chai_1.expect)(container.querySelector('.ai-configuration-empty-state-message')?.textContent).to.equal('No Anthropic API key set.');
416
+ (0, chai_1.expect)(labels(container)).to.be.empty;
417
+ }
418
+ finally {
419
+ dispose();
420
+ }
421
+ });
422
+ });
423
+ //# sourceMappingURL=provider-model-discovery-section.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-discovery-section.spec.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/provider-model-discovery-section.spec.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"language-model-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACH,KAAK,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,aAAa,EAGb,cAAc,EAEd,gBAAgB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mFAAmF,CAAC;AAEzH,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,qBAAqB,EAAE,6BAA6B,CAAC;IACrD,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,8FAA8F;IAC9F,kBAAkB,EAAE,oBAAoB,CAAC;CAC5C;AAsCD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oGAAoG;IACpG,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,oBAAoB,CAAC;CAC5C,CA4BA,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA4KtE,CAAC"}
1
+ {"version":3,"file":"language-model-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACH,KAAK,EACL,iBAAiB,EACjB,6BAA6B,EAE7B,aAAa,EAGb,cAAc,EAEd,gBAAgB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mFAAmF,CAAC;AAEzH,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,qBAAqB,EAAE,6BAA6B,CAAC;IACrD,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,8FAA8F;IAC9F,kBAAkB,EAAE,oBAAoB,CAAC;CAC5C;AAsCD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oGAAoG;IACpG,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,oBAAoB,CAAC;CAC5C,CA4BA,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAmLtE,CAAC"}
@@ -176,13 +176,20 @@ const LanguageModelRenderer = ({ agent, languageModels, aiSettingsService, langu
176
176
  label: nls_1.nls.localize('theia/ai/core/languageModelRenderer/alias', '[alias] {0}', alias.id)
177
177
  });
178
178
  });
179
- languageModels?.slice().sort((a, b) => (a.name ?? a.id).localeCompare(b.name ?? b.id)).forEach(model => {
179
+ const modelOption = (model) => {
180
180
  const isNotReady = model.status.status !== 'ready';
181
- options.push({
181
+ return {
182
182
  value: model.id,
183
183
  label: `${model.name ?? model.id} ${isNotReady ? '✗' : '✓'}`,
184
184
  description: isNotReady && model.status.message ? model.status.message : undefined
185
- });
185
+ };
186
+ };
187
+ // Divided per provider, newest first inside each group. Every model is offered here, not just
188
+ // the ones the chat picker carries: this is the page where a specific older or release-pinned
189
+ // model is deliberately assigned to an agent.
190
+ (0, common_1.groupModelsByProvider)(languageModels ?? []).forEach(({ models }) => {
191
+ options.push({ separator: true });
192
+ options.push(...models.map(modelOption));
186
193
  });
187
194
  return options;
188
195
  }, [aliases, languageModels]);
@@ -1 +1 @@
1
- {"version":3,"file":"language-model-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from '@theia/core/lib/common/command';
2
+ /** Opens the AI getting started walkthrough, from the chat view, a menu or the command palette. */
3
+ export declare const AI_OPEN_GETTING_STARTED_WALKTHROUGH: Command;
4
+ /**
5
+ * Sets the default chat agent to the agent id passed as the first argument.
6
+ * Lets the walkthrough offer the recommended agents as one click each, rather than sending the user to the
7
+ * preference row to pick one there.
8
+ */
9
+ export declare const AI_SET_DEFAULT_CHAT_AGENT: Command;
10
+ //# sourceMappingURL=ai-getting-started-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-getting-started-commands.d.ts","sourceRoot":"","sources":["../../src/browser/ai-getting-started-commands.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,mGAAmG;AACnG,eAAO,MAAM,mCAAmC,SAGA,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,SAGA,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 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.AI_SET_DEFAULT_CHAT_AGENT = exports.AI_OPEN_GETTING_STARTED_WALKTHROUGH = void 0;
19
+ const command_1 = require("@theia/core/lib/common/command");
20
+ /** Opens the AI getting started walkthrough, from the chat view, a menu or the command palette. */
21
+ exports.AI_OPEN_GETTING_STARTED_WALKTHROUGH = command_1.Command.toLocalizedCommand({
22
+ id: 'ai.openGettingStartedWalkthrough',
23
+ label: 'Get Started with AI'
24
+ }, 'theia/ai/ide/openGettingStartedWalkthrough');
25
+ /**
26
+ * Sets the default chat agent to the agent id passed as the first argument.
27
+ * Lets the walkthrough offer the recommended agents as one click each, rather than sending the user to the
28
+ * preference row to pick one there.
29
+ */
30
+ exports.AI_SET_DEFAULT_CHAT_AGENT = command_1.Command.toLocalizedCommand({
31
+ id: 'ai.setDefaultChatAgent',
32
+ label: 'Set Default Chat Agent'
33
+ }, 'theia/ai/ide/setDefaultChatAgent');
34
+ //# sourceMappingURL=ai-getting-started-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-getting-started-commands.js","sourceRoot":"","sources":["../../src/browser/ai-getting-started-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,4DAAyD;AAEzD,mGAAmG;AACtF,QAAA,mCAAmC,GAAG,iBAAO,CAAC,kBAAkB,CAAC;IAC1E,EAAE,EAAE,kCAAkC;IACtC,KAAK,EAAE,qBAAqB;CAC/B,EAAE,4CAA4C,CAAC,CAAC;AAEjD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,iBAAO,CAAC,kBAAkB,CAAC;IAChE,EAAE,EAAE,wBAAwB;IAC5B,KAAK,EAAE,wBAAwB;CAClC,EAAE,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { CommandContribution, CommandRegistry } from '@theia/core/lib/common/command';
2
+ import { PreferenceService } from '@theia/core/lib/common/preferences';
3
+ import { MessageService } from '@theia/core/lib/common/message-service';
4
+ import { ChatAgentService } from '@theia/ai-chat/lib/common';
5
+ /**
6
+ * Opens the AI getting started walkthrough from anywhere - the chat view, the command palette or a menu -
7
+ * without every caller having to know the walkthrough id.
8
+ */
9
+ export declare class AiGettingStartedContribution implements CommandContribution {
10
+ protected readonly preferenceService: PreferenceService;
11
+ protected readonly messageService: MessageService;
12
+ protected readonly chatAgentService: ChatAgentService;
13
+ registerCommands(commands: CommandRegistry): void;
14
+ /**
15
+ * Writes the default chat agent preference and says so: the walkthrough offers this as a button, and
16
+ * without the message the only feedback would be the step ticking itself off further up the page.
17
+ */
18
+ protected setDefaultChatAgent(agentId: string): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=ai-getting-started-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-getting-started-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-getting-started-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAmB,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D;;;GAGG;AACH,qBACa,4BAA6B,YAAW,mBAAmB;IAGpE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAWjD;;;OAGG;cACa,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKtE"}