@theia/ai-ide 1.76.0-next.28 → 1.76.0-next.34

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 (40) hide show
  1. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts +6 -0
  2. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts.map +1 -1
  3. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js +9 -0
  4. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js.map +1 -1
  5. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts.map +1 -1
  6. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +2 -1
  7. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -1
  8. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts +8 -0
  9. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts.map +1 -1
  10. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js +27 -8
  11. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js.map +1 -1
  12. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js +38 -2
  13. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js.map +1 -1
  14. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts +13 -2
  15. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts.map +1 -1
  16. package/lib/browser/ai-configuration/categories/models-configuration-category.js +41 -2
  17. package/lib/browser/ai-configuration/categories/models-configuration-category.js.map +1 -1
  18. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js +32 -2
  19. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js.map +1 -1
  20. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.d.ts +26 -0
  21. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.d.ts.map +1 -0
  22. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js +212 -0
  23. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.js.map +1 -0
  24. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.d.ts +2 -0
  25. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.d.ts.map +1 -0
  26. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js +423 -0
  27. package/lib/browser/ai-configuration/categories/provider-model-discovery-section.spec.js.map +1 -0
  28. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
  29. package/lib/browser/ai-configuration/language-model-renderer.js +10 -3
  30. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  31. package/package.json +25 -25
  32. package/src/browser/ai-configuration/ai-configuration-tree-widget.tsx +8 -0
  33. package/src/browser/ai-configuration/categories/agent-capabilities-settings.tsx +7 -8
  34. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.spec.ts +40 -2
  35. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx +31 -10
  36. package/src/browser/ai-configuration/categories/models-configuration-category.spec.ts +47 -2
  37. package/src/browser/ai-configuration/categories/models-configuration-category.tsx +52 -5
  38. package/src/browser/ai-configuration/categories/provider-model-discovery-section.spec.tsx +451 -0
  39. package/src/browser/ai-configuration/categories/provider-model-discovery-section.tsx +341 -0
  40. package/src/browser/ai-configuration/language-model-renderer.tsx +11 -3
@@ -56,7 +56,7 @@ describe('ModelsConfigurationCategory', () => {
56
56
  'ai-features.modelSettings.requestSettings',
57
57
  'ai-features.reasoning.defaults',
58
58
  'ai-features.anthropic.AnthropicApiKey',
59
- 'ai-features.anthropic.AnthropicModels',
59
+ 'ai-features.anthropic.serverSideCompaction',
60
60
  'ai-features.google.apiKey',
61
61
  // must be ignored: owned by other categories / unrelated
62
62
  'ai-features.chat.pinChatAgent',
@@ -71,7 +71,7 @@ describe('ModelsConfigurationCategory', () => {
71
71
  const sections = category.getSections();
72
72
  (0, chai_1.expect)(sections.map(s => s.id)).to.deep.equal(['model-settings', 'anthropic', 'google']);
73
73
  (0, chai_1.expect)(sections[0].preferenceIds).to.have.members(['ai-features.modelSettings.requestSettings', 'ai-features.reasoning.defaults']);
74
- (0, chai_1.expect)(sections[1].preferenceIds).to.deep.equal(['ai-features.anthropic.AnthropicApiKey', 'ai-features.anthropic.AnthropicModels']);
74
+ (0, chai_1.expect)(sections[1].preferenceIds).to.deep.equal(['ai-features.anthropic.AnthropicApiKey', 'ai-features.anthropic.serverSideCompaction']);
75
75
  (0, chai_1.expect)(sections[2].preferenceIds).to.deep.equal(['ai-features.google.apiKey']);
76
76
  });
77
77
  it('does not treat the agent settings store as a provider', () => {
@@ -141,5 +141,35 @@ describe('ModelsConfigurationCategory', () => {
141
141
  highlight: { rowId: 'ai-features.anthropic.AnthropicApiKey' }
142
142
  });
143
143
  });
144
+ describe('model discovery section', () => {
145
+ function withDiscovery(statuses, modelIds) {
146
+ const category = createCategory([]);
147
+ const service = {
148
+ getStatus: (providerId) => statuses.find(status => status.providerId === providerId)
149
+ };
150
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
+ category.discoveryStatus = service;
152
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
+ category.models = modelIds.map(id => ({ id }));
154
+ return category;
155
+ }
156
+ function discoveredModelIds(category, providerId) {
157
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
158
+ const rendered = category.renderModelDiscovery(providerId);
159
+ return rendered && rendered.props.models.map(model => model.id);
160
+ }
161
+ it('renders nothing for a provider that does not participate in discovery', () => {
162
+ const category = withDiscovery([], ['anthropic/claude-opus-5']);
163
+ (0, chai_1.expect)(discoveredModelIds(category, 'anthropic')).to.equal(undefined);
164
+ });
165
+ it('lists the provider\'s own models, keyed by the provider id', () => {
166
+ const category = withDiscovery([{ providerId: 'anthropic', label: 'Anthropic', state: 'ready' }], ['anthropic/claude-opus-5', 'google/gemini-3.1-pro', 'anthropic-custom/foo']);
167
+ (0, chai_1.expect)(discoveredModelIds(category, 'anthropic')).to.deep.equal(['anthropic/claude-opus-5']);
168
+ });
169
+ it('honours a model-id prefix that differs from the provider id', () => {
170
+ const category = withDiscovery([{ providerId: 'openAiOfficial', label: 'OpenAI', modelIdPrefix: 'openai', state: 'ready' }], ['openai/gpt-5.5', 'openAiOfficial/gpt-5.5', 'openai-custom/local']);
171
+ (0, chai_1.expect)(discoveredModelIds(category, 'openAiOfficial')).to.deep.equal(['openai/gpt-5.5']);
172
+ });
173
+ });
144
174
  });
145
175
  //# sourceMappingURL=models-configuration-category.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models-configuration-category.spec.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/models-configuration-category.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models-configuration-category.spec.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/models-configuration-category.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,8DAAiE;AACjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEjC,uHAAiH;AACjH,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,+BAA8B;AAE9B,wHAAqH;AAGrH,mFAA8E;AAE9E,YAAY,EAAE,CAAC;AAEf,SAAS,cAAc,CACnB,aAAuB,EACvB,iBAA2B,EAAE,EAC7B,iBAAyC,EAAE,EAC3C,wBAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,IAAI,2DAA2B,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,sGAAsG;IACtG,2GAA2G;IAC3G,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAkC;QAC3C,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa;QAClC,aAAa,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,sBAAsB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1G,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACpD,UAAU,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzD,kBAAkB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;QACtD,yBAAyB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;KAC/D,CAAC;IACF,8DAA8D;IAC7D,QAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC;IAC/C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAEzC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAE5B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qDAAyB,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAA,aAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAChG,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,2CAA2C;YAC3C,gCAAgC;YAChC,uCAAuC;YACvC,4CAA4C;YAC5C,2BAA2B;YAC3B,yDAAyD;YACzD,+BAA+B;YAC/B,+BAA+B;YAC/B,iBAAiB;SACpB,EAAE,EAAE,EAAE,EAAE,EAAE;YACP,oGAAoG;YACpG,uCAAuC;YACvC,2BAA2B;SAC9B,CAAC,CAAC;QACH,8DAA8D;QAC9D,MAAM,QAAQ,GAAI,QAAgB,CAAC,WAAW,EAAoD,CAAC;QACnG,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,2CAA2C,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACnI,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC,EAAE,4CAA4C,CAAC,CAAC,CAAC;QACzI,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,uCAAuC;YACvC,mFAAmF;YACnF,2BAA2B;YAC3B,mCAAmC;SACtC,EAAE,CAAC,2BAA2B,EAAE,mCAAmC,CAAC,EAAE,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtH,8DAA8D;QAC9D,MAAM,QAAQ,GAAI,QAAgB,CAAC,WAAW,EAAoD,CAAC;QACnG,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mGAAmG,EAAE,GAAG,EAAE;QACzG,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,uCAAuC;YACvC,6FAA6F;YAC7F,+BAA+B;SAClC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtD,8DAA8D;QAC9D,MAAM,QAAQ,GAAI,QAAgB,CAAC,WAAW,EAAoD,CAAC;QACnG,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QACxF,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,2CAA2C;YAC3C,gCAAgC;YAChC,2BAA2B;SAC9B,EAAE,EAAE,EAAE,EAAE,gCAAgC,EAAE,cAAc,EAAE,2BAA2B,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpG,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACzE,2FAA2F;QAC3F,0EAA0E;QAC1E,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,MAAM,QAAQ,GAAG,cAAc,CAC3B,CAAC,gCAAgC,EAAE,gCAAgC,CAAC,EACpE,EAAE,EACF,EAAE,gCAAgC,EAAE,cAAc,EAAE,CACvD,CAAC;QACF,8DAA8D;QAC9D,MAAM,KAAK,GAAI,QAAgB,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,gCAAgC,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACtI,4DAA4D;QAC5D,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAE,QAAgB,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACxG,IAAA,aAAM,EAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QAC/F,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,2CAA2C;YAC3C,uCAAuC;SAC1C,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,sEAAsE;QACtE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,qDAAyB,CAAC,MAAM;YAC5C,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE;SACpE,CAAC,CAAC;QACH,mDAAmD;QACnD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,qDAAyB,CAAC,MAAM;YAC5C,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,EAAE,KAAK,EAAE,uCAAuC,EAAE;SAChE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAErC,SAAS,aAAa,CAAC,QAAgC,EAAE,QAAkB;YACvE,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAyC;gBAClD,SAAS,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;aAC/F,CAAC;YACF,8DAA8D;YAC7D,QAAgB,CAAC,eAAe,GAAG,OAAO,CAAC;YAC5C,8DAA8D;YAC7D,QAAgB,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,SAAS,kBAAkB,CAAC,QAAqC,EAAE,UAAkB;YACjF,8DAA8D;YAC9D,MAAM,QAAQ,GAAI,QAAgB,CAAC,oBAAoB,CAAC,UAAU,CACX,CAAC;YACxD,OAAO,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAChE,IAAA,aAAM,EAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YAClE,MAAM,QAAQ,GAAG,aAAa,CAC1B,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EACjE,CAAC,yBAAyB,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAC/E,CAAC;YACF,IAAA,aAAM,EAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACnE,MAAM,QAAQ,GAAG,aAAa,CAC1B,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAC5F,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,qBAAqB,CAAC,CACtE,CAAC;YACF,IAAA,aAAM,EAAC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import * as React from '@theia/core/shared/react';
2
+ import { LanguageModel } from '@theia/ai-core/lib/common';
3
+ import { FavoriteModelsService } from '@theia/ai-core/lib/browser';
4
+ import { ModelDiscoveryAction, ModelDiscoveryStatus } from '@theia/ai-core/lib/common/model-discovery-status';
5
+ export interface ProviderModelDiscoverySectionProps {
6
+ readonly status: ModelDiscoveryStatus;
7
+ /** The provider's currently registered models. */
8
+ readonly models: LanguageModel[];
9
+ /** Decides which models the pickers offer, and takes the user's checks. */
10
+ readonly favorites: FavoriteModelsService;
11
+ readonly onRefresh: () => void;
12
+ /** Runs what the provider offers to do about the current state, e.g. signing in to GitHub Copilot. */
13
+ readonly onAction: (action: ModelDiscoveryAction) => void;
14
+ }
15
+ /**
16
+ * Renders a provider's model-discovery state (fetching / ready / cached / error / no credentials /
17
+ * awaiting consent / manual), a manual refresh, and the discovered models, below the provider's
18
+ * settings in the Models category. This is the provider-level surface that per-model status cannot
19
+ * give: fetching progress and failure of the list call itself.
20
+ *
21
+ * The list holds everything the provider offers, one entry per release included, which is more than
22
+ * a model picker can carry. Which of them the pickers offer is shown and controlled here, by the
23
+ * star on each row.
24
+ */
25
+ export declare const ProviderModelDiscoverySection: React.FC<ProviderModelDiscoverySectionProps>;
26
+ //# sourceMappingURL=provider-model-discovery-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-discovery-section.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/provider-model-discovery-section.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAA0B,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAmB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAc/H,MAAM,WAAW,kCAAkC;IAC/C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CA6EtF,CAAC"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderModelDiscoverySection = void 0;
4
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
5
+ // *****************************************************************************
6
+ // Copyright (C) 2026 EclipseSource and others.
7
+ //
8
+ // This program and the accompanying materials are made available under the
9
+ // terms of the Eclipse Public License v. 2.0 which is available at
10
+ // http://www.eclipse.org/legal/epl-2.0.
11
+ //
12
+ // This Source Code may also be made available under the following Secondary
13
+ // Licenses when the conditions for such availability set forth in the Eclipse
14
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
+ // with the GNU Classpath Exception which is available at
16
+ // https://www.gnu.org/software/classpath/license.html.
17
+ //
18
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
+ // *****************************************************************************
20
+ const core_1 = require("@theia/core");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const React = require("@theia/core/shared/react");
23
+ const date_fns_1 = require("date-fns");
24
+ const common_1 = require("@theia/ai-core/lib/common");
25
+ const ai_configuration_primitives_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-configuration-primitives");
26
+ const ai_configuration_item_row_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-configuration-item-row");
27
+ /**
28
+ * Number of models from which the list gets a filter. Below it, scanning the list is faster than
29
+ * typing; above it — OpenAI reports dozens — it is not.
30
+ */
31
+ const FILTER_THRESHOLD = 8;
32
+ /**
33
+ * Renders a provider's model-discovery state (fetching / ready / cached / error / no credentials /
34
+ * awaiting consent / manual), a manual refresh, and the discovered models, below the provider's
35
+ * settings in the Models category. This is the provider-level surface that per-model status cannot
36
+ * give: fetching progress and failure of the list call itself.
37
+ *
38
+ * The list holds everything the provider offers, one entry per release included, which is more than
39
+ * a model picker can carry. Which of them the pickers offer is shown and controlled here, by the
40
+ * star on each row.
41
+ */
42
+ const ProviderModelDiscoverySection = ({ status, models, favorites, onRefresh, onAction }) => {
43
+ const [filter, setFilter] = React.useState('');
44
+ const [favoritesOnly, setFavoritesOnly] = React.useState(false);
45
+ // Re-render when a star is set anywhere, and when a discovery changes what is featured.
46
+ const [favoritesRevision, setFavoritesRevision] = React.useState(0);
47
+ React.useEffect(() => {
48
+ const listener = favorites.onDidChange(() => setFavoritesRevision(revision => revision + 1));
49
+ return () => listener.dispose();
50
+ }, [favorites]);
51
+ const fetching = status.state === 'fetching';
52
+ const modelIdPrefix = status.modelIdPrefix ?? status.providerId;
53
+ const overridden = favorites.hasOverrides(modelIdPrefix);
54
+ // Without a credential there is nothing to ask the provider; refreshing would only report the same
55
+ // state back. The setting or the sign-in above the list is what moves this on.
56
+ const refreshable = status.state !== 'no-credentials' && status.state !== 'awaiting-consent';
57
+ // Newest first: a provider's recent models are what a list this long is scrolled for. Models whose
58
+ // provider reports no release date (Gemini reports none) fall back to alphabetical order.
59
+ const rows = React.useMemo(() => models
60
+ .slice()
61
+ .sort(common_1.compareModelsByRecency)
62
+ // `favoritesRevision` is not read here: it is what re-runs this when a star or the featured set changes.
63
+ .map(model => describeModel(model, status.discovered, favorites))
64
+ // The provider's current line-up first, newest first within each part. A list this long is read
65
+ // from the top, and the models the picker starts with are what it is usually opened for. The sort
66
+ // is stable, so it only lifts them past the older ones without disturbing the order.
67
+ .sort((left, right) => Number(right.featured) - Number(left.featured)), [models, status.discovered, favorites, favoritesRevision]);
68
+ const matches = React.useMemo(() => rows.filter(row => (!favoritesOnly || row.favorite) && matchesFilter(row, filter)), [rows, filter, favoritesOnly]);
69
+ const favoritesOnlyLabel = favoritesOnly
70
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/showAllModels', 'Show all discovered models')
71
+ : core_1.nls.localize('theia/ai/ide/modelsConfiguration/showCheckedModels', 'Show only the models the AI chat input\'s model picker shows');
72
+ const filterToggles = [{
73
+ iconClass: (0, browser_1.codicon)('pass'),
74
+ title: favoritesOnlyLabel,
75
+ active: favoritesOnly,
76
+ onToggle: () => setFavoritesOnly(!favoritesOnly)
77
+ }];
78
+ return (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationSection, { title: core_1.nls.localize('theia/ai/ide/modelsConfiguration/discovery', 'Model Discovery'), count: rows.length > 0 ? rows.length : undefined, subtitle: sectionSubtitle(status, rows.length, rows.filter(row => row.favorite).length), actions: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationStatusBadge, { status: discoveryStatusBadge(status) }), (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationIconButton, { iconClass: (0, browser_1.codicon)(fetching ? 'sync' : 'refresh'), title: refreshable
79
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/refresh', 'Refresh the model list')
80
+ : status.message ?? core_1.nls.localize('theia/ai/ide/modelsConfiguration/refreshUnavailable', 'Nothing to refresh until the provider has a credential'), busy: fetching, disabled: fetching || !refreshable, onClick: onRefresh }), (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationIconButton, { iconClass: (0, browser_1.codicon)('discard'), title: overridden
81
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/resetShown', 'Reset to defaults')
82
+ : core_1.nls.localize('theia/ai/ide/modelsConfiguration/resetShownUnavailable', 'Already at the defaults'), disabled: !overridden, onClick: () => favorites.resetToDefaults(modelIdPrefix) })] }), children: (0, jsx_runtime_1.jsx)(DiscoveryBody, { status: status, rows: rows, matches: matches, filter: filter, onFilterChange: setFilter, filterToggles: filterToggles, favorites: favorites, onRefresh: onRefresh, onAction: onAction }) });
83
+ };
84
+ exports.ProviderModelDiscoverySection = ProviderModelDiscoverySection;
85
+ /**
86
+ * The line under the section title. A manually configured list says so, since that is why no discovery
87
+ * ran; otherwise it states once — rather than leaving it to the tooltip of each of forty rows — that
88
+ * the checks are about the chat input alone. An agent's model and a model alias are picked from every
89
+ * discovered model, on their own pages.
90
+ */
91
+ function sectionSubtitle(status, rowCount, shownCount) {
92
+ if (status.state === 'overridden') {
93
+ return status.message;
94
+ }
95
+ // The ratio is the overview a list this long cannot give by itself, and it says what the checks mean.
96
+ return rowCount > 0
97
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/shownExplanation', '{0} of {1} shown in the AI chat input\'s model picker', shownCount, rowCount)
98
+ : undefined;
99
+ }
100
+ function describeModel(model, discovered, favorites) {
101
+ // Registered ids carry the `<provider>/` prefix; what the provider reported does not.
102
+ const id = model.id.substring(model.id.indexOf('/') + 1);
103
+ const reported = discovered?.find(candidate => candidate.id === id);
104
+ return {
105
+ id,
106
+ qualifiedId: model.id,
107
+ label: reported?.label ?? model.name,
108
+ description: reported?.description,
109
+ released: model.released ?? reported?.released,
110
+ ready: model.status.status === 'ready',
111
+ statusMessage: model.status.message,
112
+ favorite: favorites.isFavorite(model.id),
113
+ featured: favorites.isFeatured(model.id)
114
+ };
115
+ }
116
+ function matchesFilter(row, filter) {
117
+ const query = filter.trim().toLowerCase();
118
+ return query.length === 0
119
+ || row.id.toLowerCase().includes(query)
120
+ || (row.label?.toLowerCase().includes(query) ?? false);
121
+ }
122
+ const DiscoveryBody = ({ status, rows, matches, filter, onFilterChange, filterToggles, favorites, onRefresh, onAction }) => {
123
+ // The provider's API-key and consent settings sit on the same page, right above this section — but
124
+ // a provider whose credential is a sign-in rather than a setting names the command that gets one.
125
+ if (status.state === 'no-credentials' || status.state === 'awaiting-consent') {
126
+ return (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationEmptyState, { message: status.message ?? '', iconClass: (0, browser_1.codicon)('key'), action: status.action && (0, jsx_runtime_1.jsx)("button", { className: 'theia-button main', onClick: () => onAction(status.action), children: status.action.label }) });
127
+ }
128
+ const retry = (0, jsx_runtime_1.jsx)("button", { className: 'theia-button main', onClick: onRefresh, children: core_1.nls.localizeByDefault('Retry') });
129
+ const refresh = (0, jsx_runtime_1.jsx)("button", { className: 'theia-button main', onClick: onRefresh, children: core_1.nls.localizeByDefault('Refresh') });
130
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [status.state === 'error' && (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationCallout, { message: status.message ?? '', action: retry }), status.state === 'ready' && status.fromCache && status.message && (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationCallout, { message: status.message, action: refresh }), rows.length === 0
131
+ ? (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationEmptyState, { message: core_1.nls.localize('theia/ai/ide/modelsConfiguration/noModels', 'No models discovered yet.'), iconClass: (0, browser_1.codicon)('cloud') })
132
+ : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [rows.length > FILTER_THRESHOLD && (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationFilterInput, { value: filter, onChange: onFilterChange, placeholder: core_1.nls.localize('theia/ai/ide/modelsConfiguration/filterModels', 'Filter models'), toggles: filterToggles }), matches.length === 0
133
+ ? (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationEmptyState, { message: core_1.nls.localizeByDefault('No results found') })
134
+ : (0, jsx_runtime_1.jsx)(ModelRows, { rows: matches, favorites: favorites })] })] });
135
+ };
136
+ const ModelRows = ({ rows, favorites }) => (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: rows.map(row => (0, jsx_runtime_1.jsx)(ai_configuration_item_row_1.AiConfigurationItemRow, {
137
+ // The id is the heading on every row, whatever the provider reports: it is what agents, aliases
138
+ // and settings reference, and OpenAI reports nothing else, so heading it with the name where
139
+ // there is one would give each provider a differently shaped list.
140
+ label: row.id,
141
+ // Kept on the row whether the model is checked or not: it says that this is one of the
142
+ // provider's current models, which is why the picker starts with it and stays true after
143
+ // someone unchecks it.
144
+ tags: row.featured
145
+ ? [{
146
+ label: core_1.nls.localizeByDefault('Default'),
147
+ title: core_1.nls.localize('theia/ai/ide/modelsConfiguration/defaultModel', 'One of the newest models of this provider, which the AI chat input\'s model picker shows unless it is hidden here')
148
+ }]
149
+ : undefined, description: modelRowDescription(row),
150
+ // Every model in this list is ready as long as the provider has a key, which it has whenever the
151
+ // list is shown at all. Only the exception is worth a badge.
152
+ status: row.ready ? undefined : notReadyBadge(row), trailing: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [row.released !== undefined && (0, jsx_runtime_1.jsx)("span", { className: 'ai-configuration-item-row-detail', children: core_1.nls.localize('theia/ai/ide/modelsConfiguration/released', 'released {0}', (0, date_fns_1.formatDistanceToNow)(row.released, { addSuffix: true })) }), (0, jsx_runtime_1.jsx)(ShowInChatButton, { row: row, favorites: favorites })] }) }, row.id)) });
153
+ /**
154
+ * Whether the AI chat input's model picker shows this model: a checked circle when it does, an empty
155
+ * one when it does not. Nothing else is affected — an agent's model and a model alias are picked from
156
+ * every discovered model, on their own pages.
157
+ *
158
+ * What a model released tomorrow is shown by is the `Default` badge on its row, not a check made
159
+ * here; unchecking one of those is what says otherwise, and that is all that is stored.
160
+ */
161
+ const ShowInChatButton = ({ row, favorites }) => {
162
+ const title = row.favorite
163
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/hideModel', 'Hide this model from the AI chat input\'s model picker')
164
+ : core_1.nls.localize('theia/ai/ide/modelsConfiguration/showModel', 'Show this model in the AI chat input\'s model picker');
165
+ return (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationIconButton, { iconClass: (0, browser_1.codicon)(row.favorite ? 'pass' : 'circle-large'), title: title, onClick: () => favorites.toggleFavorite(row.qualifiedId) });
166
+ };
167
+ /** What the provider reports about the model, if anything: its name, its description, or both. */
168
+ function modelRowDescription(row) {
169
+ const parts = [row.label, row.description].filter(part => part !== undefined);
170
+ return parts.length > 0 ? parts.join(' · ') : undefined;
171
+ }
172
+ function notReadyBadge(row) {
173
+ return {
174
+ kind: 'warn',
175
+ label: core_1.nls.localize('theia/ai/ide/modelsConfiguration/modelNotReady', 'Not ready'),
176
+ tooltip: row.statusMessage
177
+ };
178
+ }
179
+ /** Maps the discovery state onto the shared status badge, so it reads like every other badge in the view. */
180
+ function discoveryStatusBadge(status) {
181
+ const badge = genericStatusBadge(status);
182
+ // A provider whose credential is not an API key says so itself; the state alone cannot know.
183
+ return status.stateLabel ? { ...badge, label: status.stateLabel } : badge;
184
+ }
185
+ function genericStatusBadge(status) {
186
+ switch (status.state) {
187
+ case 'no-credentials':
188
+ return { kind: 'warn', label: core_1.nls.localize('theia/ai/ide/modelsConfiguration/noKey', 'No API key'), tooltip: status.message };
189
+ case 'awaiting-consent':
190
+ return { kind: 'warn', label: core_1.nls.localize('theia/ai/ide/modelsConfiguration/awaitingConsent', 'Awaiting consent'), tooltip: status.message };
191
+ case 'fetching':
192
+ return { kind: 'off', label: core_1.nls.localize('theia/ai/ide/modelsConfiguration/fetching', 'Fetching…'), tooltip: status.message };
193
+ case 'error':
194
+ return { kind: 'error', label: core_1.nls.localizeByDefault('Error'), tooltip: status.message };
195
+ case 'overridden':
196
+ return { kind: 'off', label: core_1.nls.localizeByDefault('Manual'), tooltip: status.message };
197
+ case 'ready':
198
+ if (status.fromCache) {
199
+ return { kind: 'warn', label: core_1.nls.localize('theia/ai/ide/modelsConfiguration/cached', 'Cached'), tooltip: status.message };
200
+ }
201
+ return {
202
+ kind: 'on',
203
+ label: status.lastFetch
204
+ ? core_1.nls.localize('theia/ai/ide/modelsConfiguration/updated', 'Updated {0}', (0, date_fns_1.formatDistanceToNow)(status.lastFetch, { addSuffix: true }))
205
+ : core_1.nls.localize('theia/ai/ide/modelsConfiguration/ready', 'Ready'),
206
+ tooltip: status.message
207
+ };
208
+ default:
209
+ return { kind: 'off', label: core_1.nls.localizeByDefault('Idle'), tooltip: status.message };
210
+ }
211
+ }
212
+ //# sourceMappingURL=provider-model-discovery-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-discovery-section.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/provider-model-discovery-section.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider-model-discovery-section.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-discovery-section.spec.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/provider-model-discovery-section.spec.tsx"],"names":[],"mappings":""}