@theia/ai-ide 1.75.0-next.8 → 1.75.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.
- package/lib/browser/ai-allow-all-mode-chat-banner.js +2 -20
- package/lib/browser/ai-allow-all-mode-chat-banner.js.map +1 -1
- package/lib/browser/ai-configuration/agent-icon.d.ts +16 -0
- package/lib/browser/ai-configuration/agent-icon.d.ts.map +1 -0
- package/lib/browser/ai-configuration/agent-icon.js +38 -0
- package/lib/browser/ai-configuration/agent-icon.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.d.ts +36 -0
- package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.js +163 -0
- package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts +50 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.js +208 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js +139 -0
- package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.d.ts +13 -0
- package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js +48 -0
- package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.d.ts +22 -0
- package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.js +72 -0
- package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.js +126 -0
- package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-resource.d.ts +10 -0
- package/lib/browser/ai-configuration/ai-configuration-resource.d.ts.map +1 -0
- package/lib/browser/ai-configuration/{components/configuration-section.js → ai-configuration-resource.js} +11 -11
- package/lib/browser/ai-configuration/ai-configuration-resource.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search-widget.d.ts +29 -0
- package/lib/browser/ai-configuration/ai-configuration-search-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search-widget.js +106 -0
- package/lib/browser/ai-configuration/ai-configuration-search-widget.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search.d.ts +18 -0
- package/lib/browser/ai-configuration/ai-configuration-search.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search.js +45 -0
- package/lib/browser/ai-configuration/ai-configuration-search.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/ai-configuration-search.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-search.spec.js +79 -0
- package/lib/browser/ai-configuration/ai-configuration-search.spec.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-model.d.ts +8 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-model.d.ts.map +1 -0
- package/lib/browser/ai-configuration/{base/ai-configuration-base-widget.js → ai-configuration-tree-model.js} +11 -14
- package/lib/browser/ai-configuration/ai-configuration-tree-model.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.d.ts +57 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.js +134 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.js +134 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts +96 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-widget.js +407 -0
- package/lib/browser/ai-configuration/ai-configuration-tree-widget.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +38 -4
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -1
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +151 -19
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -1
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +21 -23
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/ai-configuration-widget.js +102 -70
- package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts +56 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +195 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js +140 -0
- package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-chips.d.ts +15 -0
- package/lib/browser/ai-configuration/categories/agent-chips.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-chips.js +19 -0
- package/lib/browser/ai-configuration/categories/agent-chips.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts +37 -0
- package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-detail-model.js +99 -0
- package/lib/browser/ai-configuration/categories/agent-detail-model.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-detail-view.d.ts +28 -0
- package/lib/browser/ai-configuration/categories/agent-detail-view.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agent-detail-view.js +135 -0
- package/lib/browser/ai-configuration/categories/agent-detail-view.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts +78 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.js +352 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.js +99 -0
- package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.d.ts +93 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.js +313 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.spec.js +213 -0
- package/lib/browser/ai-configuration/categories/general-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts +53 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js +241 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js +75 -0
- package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts +72 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.js +227 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js +145 -0
- package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.d.ts +114 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.js +341 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.js +199 -0
- package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.d.ts +84 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.js +341 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.js +184 -0
- package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.d.ts +38 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js +130 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.js +51 -0
- package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.d.ts +60 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.js +302 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.js +111 -0
- package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.d.ts +72 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.js +245 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.js.map +1 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.js +131 -0
- package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.js.map +1 -0
- package/lib/browser/ai-configuration/components/agent-notification-settings.d.ts +6 -2
- package/lib/browser/ai-configuration/components/agent-notification-settings.d.ts.map +1 -1
- package/lib/browser/ai-configuration/components/agent-notification-settings.js +15 -21
- package/lib/browser/ai-configuration/components/agent-notification-settings.js.map +1 -1
- package/lib/browser/ai-configuration/language-model-renderer.d.ts +25 -1
- package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
- package/lib/browser/ai-configuration/language-model-renderer.js +159 -63
- package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
- package/lib/browser/ai-configuration/language-model-renderer.spec.d.ts +2 -0
- package/lib/browser/ai-configuration/language-model-renderer.spec.d.ts.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.spec.js +93 -0
- package/lib/browser/ai-configuration/language-model-renderer.spec.js.map +1 -0
- package/lib/browser/ai-sessions-widget.js +12 -16
- package/lib/browser/ai-sessions-widget.js.map +1 -1
- package/lib/browser/app-tester-chat-agent.d.ts +2 -0
- package/lib/browser/app-tester-chat-agent.d.ts.map +1 -1
- package/lib/browser/app-tester-chat-agent.js +5 -0
- package/lib/browser/app-tester-chat-agent.js.map +1 -1
- package/lib/browser/architect-agent.d.ts +2 -0
- package/lib/browser/architect-agent.d.ts.map +1 -1
- package/lib/browser/architect-agent.js +5 -0
- package/lib/browser/architect-agent.js.map +1 -1
- package/lib/browser/architect-prompt-template.d.ts.map +1 -1
- package/lib/browser/architect-prompt-template.js +7 -0
- package/lib/browser/architect-prompt-template.js.map +1 -1
- package/lib/browser/chat-session-item.d.ts.map +1 -1
- package/lib/browser/chat-session-item.js +17 -30
- package/lib/browser/chat-session-item.js.map +1 -1
- package/lib/browser/chat-session-list-components.js +7 -30
- package/lib/browser/chat-session-list-components.js.map +1 -1
- package/lib/browser/chat-session-list-service.d.ts +2 -1
- package/lib/browser/chat-session-list-service.d.ts.map +1 -1
- package/lib/browser/chat-session-list-service.js +6 -1
- package/lib/browser/chat-session-list-service.js.map +1 -1
- package/lib/browser/chat-sessions-welcome-message-provider.js +3 -21
- package/lib/browser/chat-sessions-welcome-message-provider.js.map +1 -1
- package/lib/browser/code-reviewer-agent.d.ts +2 -0
- package/lib/browser/code-reviewer-agent.d.ts.map +1 -1
- package/lib/browser/code-reviewer-agent.js +5 -0
- package/lib/browser/code-reviewer-agent.js.map +1 -1
- package/lib/browser/coder-agent.d.ts +2 -0
- package/lib/browser/coder-agent.d.ts.map +1 -1
- package/lib/browser/coder-agent.js +6 -1
- package/lib/browser/coder-agent.js.map +1 -1
- package/lib/browser/context-file-validation-service-impl.spec.js +2 -0
- package/lib/browser/context-file-validation-service-impl.spec.js.map +1 -1
- package/lib/browser/create-skill-agent.d.ts +2 -0
- package/lib/browser/create-skill-agent.d.ts.map +1 -1
- package/lib/browser/create-skill-agent.js +5 -0
- package/lib/browser/create-skill-agent.js.map +1 -1
- package/lib/browser/explore-agent.d.ts +2 -0
- package/lib/browser/explore-agent.d.ts.map +1 -1
- package/lib/browser/explore-agent.js +5 -0
- package/lib/browser/explore-agent.js.map +1 -1
- package/lib/browser/file-changeset-functions.d.ts +7 -1
- package/lib/browser/file-changeset-functions.d.ts.map +1 -1
- package/lib/browser/file-changeset-functions.js +62 -20
- package/lib/browser/file-changeset-functions.js.map +1 -1
- package/lib/browser/file-changeset-functions.spec.js +130 -1
- package/lib/browser/file-changeset-functions.spec.js.map +1 -1
- package/lib/browser/frontend-module.d.ts.map +1 -1
- package/lib/browser/frontend-module.js +65 -59
- package/lib/browser/frontend-module.js.map +1 -1
- package/lib/browser/github-chat-agent.d.ts +2 -1
- package/lib/browser/github-chat-agent.d.ts.map +1 -1
- package/lib/browser/github-chat-agent.js +5 -0
- package/lib/browser/github-chat-agent.js.map +1 -1
- package/lib/browser/github-repo-variable-contribution.d.ts +2 -1
- package/lib/browser/github-repo-variable-contribution.d.ts.map +1 -1
- package/lib/browser/github-repo-variable-contribution.js +6 -1
- package/lib/browser/github-repo-variable-contribution.js.map +1 -1
- package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
- package/lib/browser/ide-chat-welcome-message-provider.js +31 -118
- package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
- package/lib/browser/memory-capability-contribution.d.ts +8 -0
- package/lib/browser/memory-capability-contribution.d.ts.map +1 -0
- package/lib/browser/memory-capability-contribution.js +88 -0
- package/lib/browser/memory-capability-contribution.js.map +1 -0
- package/lib/browser/memory-capability-contribution.spec.d.ts +2 -0
- package/lib/browser/memory-capability-contribution.spec.d.ts.map +1 -0
- package/lib/browser/memory-capability-contribution.spec.js +74 -0
- package/lib/browser/memory-capability-contribution.spec.js.map +1 -0
- package/lib/browser/memory-directory-variable-contribution.d.ts +41 -0
- package/lib/browser/memory-directory-variable-contribution.d.ts.map +1 -0
- package/lib/browser/memory-directory-variable-contribution.js +107 -0
- package/lib/browser/memory-directory-variable-contribution.js.map +1 -0
- package/lib/browser/memory-directory-variable-contribution.spec.d.ts +2 -0
- package/lib/browser/memory-directory-variable-contribution.spec.d.ts.map +1 -0
- package/lib/browser/memory-directory-variable-contribution.spec.js +98 -0
- package/lib/browser/memory-directory-variable-contribution.spec.js.map +1 -0
- package/lib/browser/open-editors-hint-contribution.d.ts +7 -0
- package/lib/browser/open-editors-hint-contribution.d.ts.map +1 -0
- package/lib/browser/open-editors-hint-contribution.js +43 -0
- package/lib/browser/open-editors-hint-contribution.js.map +1 -0
- package/lib/browser/project-info-agent.d.ts +2 -0
- package/lib/browser/project-info-agent.d.ts.map +1 -1
- package/lib/browser/project-info-agent.js +5 -0
- package/lib/browser/project-info-agent.js.map +1 -1
- package/lib/browser/review/pr-review-agent.d.ts +2 -0
- package/lib/browser/review/pr-review-agent.d.ts.map +1 -1
- package/lib/browser/review/pr-review-agent.js +5 -0
- package/lib/browser/review/pr-review-agent.js.map +1 -1
- package/lib/browser/summarize-session-command-contribution.d.ts +2 -1
- package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -1
- package/lib/browser/summarize-session-command-contribution.js +6 -1
- package/lib/browser/summarize-session-command-contribution.js.map +1 -1
- package/lib/browser/task-context-file-storage-service.d.ts.map +1 -1
- package/lib/browser/task-context-file-storage-service.js +1 -0
- package/lib/browser/task-context-file-storage-service.js.map +1 -1
- package/lib/browser/todo-tool-renderer.js +11 -19
- package/lib/browser/todo-tool-renderer.js.map +1 -1
- package/lib/browser/user-interaction-tool-renderer.js +39 -83
- package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
- package/lib/browser/user-interaction-tool.d.ts +2 -0
- package/lib/browser/user-interaction-tool.d.ts.map +1 -1
- package/lib/browser/user-interaction-tool.js +7 -1
- package/lib/browser/user-interaction-tool.js.map +1 -1
- package/lib/browser/user-interaction-tool.spec.js +4 -2
- package/lib/browser/user-interaction-tool.spec.js.map +1 -1
- package/lib/browser/workspace-functions.d.ts +45 -7
- package/lib/browser/workspace-functions.d.ts.map +1 -1
- package/lib/browser/workspace-functions.js +108 -70
- package/lib/browser/workspace-functions.js.map +1 -1
- package/lib/browser/workspace-functions.spec.js +139 -9
- package/lib/browser/workspace-functions.spec.js.map +1 -1
- package/lib/browser/workspace-launch-provider.spec.js +3 -0
- package/lib/browser/workspace-launch-provider.spec.js.map +1 -1
- package/lib/browser/workspace-search-provider.d.ts.map +1 -1
- package/lib/browser/workspace-search-provider.js +4 -7
- package/lib/browser/workspace-search-provider.js.map +1 -1
- package/lib/browser/workspace-search-provider.spec.js +1 -2
- package/lib/browser/workspace-search-provider.spec.js.map +1 -1
- package/lib/browser/workspace-task-provider.spec.js +4 -0
- package/lib/browser/workspace-task-provider.spec.js.map +1 -1
- package/lib/common/coder-replace-prompt-template.d.ts +0 -2
- package/lib/common/coder-replace-prompt-template.d.ts.map +1 -1
- package/lib/common/coder-replace-prompt-template.js +10 -11
- package/lib/common/coder-replace-prompt-template.js.map +1 -1
- package/lib/common/command-chat-agents.d.ts +2 -1
- package/lib/common/command-chat-agents.d.ts.map +1 -1
- package/lib/common/command-chat-agents.js +6 -1
- package/lib/common/command-chat-agents.js.map +1 -1
- package/lib/common/open-editors-hint-fragment-id.d.ts +2 -0
- package/lib/common/open-editors-hint-fragment-id.d.ts.map +1 -0
- package/lib/{browser/ai-configuration/components/empty-state.js → common/open-editors-hint-fragment-id.js} +5 -11
- package/lib/common/open-editors-hint-fragment-id.js.map +1 -0
- package/lib/common/orchestrator-chat-agent.d.ts +2 -1
- package/lib/common/orchestrator-chat-agent.d.ts.map +1 -1
- package/lib/common/orchestrator-chat-agent.js +5 -0
- package/lib/common/orchestrator-chat-agent.js.map +1 -1
- package/lib/common/universal-chat-agent.d.ts +2 -0
- package/lib/common/universal-chat-agent.d.ts.map +1 -1
- package/lib/common/universal-chat-agent.js +5 -0
- package/lib/common/universal-chat-agent.js.map +1 -1
- package/lib/common/universal-prompt-template.d.ts.map +1 -1
- package/lib/common/universal-prompt-template.js +3 -0
- package/lib/common/universal-prompt-template.js.map +1 -1
- package/lib/common/workspace-preferences.js +2 -2
- package/lib/common/workspace-preferences.js.map +1 -1
- package/lib/common/workspace-search-provider-util.d.ts +2 -1
- package/lib/common/workspace-search-provider-util.d.ts.map +1 -1
- package/lib/common/workspace-search-provider-util.js +3 -2
- package/lib/common/workspace-search-provider-util.js.map +1 -1
- package/lib/common/workspace-search-provider-util.spec.d.ts +2 -0
- package/lib/common/workspace-search-provider-util.spec.d.ts.map +1 -0
- package/lib/common/workspace-search-provider-util.spec.js +55 -0
- package/lib/common/workspace-search-provider-util.spec.js.map +1 -0
- package/lib/node/github-repo-service-impl.d.ts +2 -0
- package/lib/node/github-repo-service-impl.d.ts.map +1 -1
- package/lib/node/github-repo-service-impl.js +7 -1
- package/lib/node/github-repo-service-impl.js.map +1 -1
- package/package.json +26 -25
- package/src/browser/ai-configuration/agent-icon.ts +37 -0
- package/src/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.ts +164 -0
- package/src/browser/ai-configuration/ai-configuration-detail-widget.spec.ts +165 -0
- package/src/browser/ai-configuration/ai-configuration-detail-widget.tsx +237 -0
- package/src/browser/ai-configuration/ai-configuration-label-provider-contribution.ts +47 -0
- package/src/browser/ai-configuration/ai-configuration-open-preference-renderer.ts +64 -0
- package/src/browser/ai-configuration/ai-configuration-preference-ownership.spec.ts +135 -0
- package/src/browser/ai-configuration/{components/configuration-section.tsx → ai-configuration-resource.ts} +9 -19
- package/src/browser/ai-configuration/ai-configuration-search-widget.tsx +135 -0
- package/src/browser/ai-configuration/ai-configuration-search.spec.ts +91 -0
- package/src/browser/ai-configuration/ai-configuration-search.ts +43 -0
- package/src/browser/ai-configuration/{components/empty-state.tsx → ai-configuration-tree-model.ts} +7 -11
- package/src/browser/ai-configuration/ai-configuration-tree-nodes.spec.ts +150 -0
- package/src/browser/ai-configuration/ai-configuration-tree-nodes.ts +167 -0
- package/src/browser/ai-configuration/ai-configuration-tree-widget.tsx +457 -0
- package/src/browser/ai-configuration/ai-configuration-view-contribution.ts +156 -18
- package/src/browser/ai-configuration/ai-configuration-widget.tsx +107 -75
- package/src/browser/ai-configuration/categories/agent-capabilities-settings.spec.ts +161 -0
- package/src/browser/ai-configuration/categories/agent-capabilities-settings.tsx +340 -0
- package/src/browser/ai-configuration/categories/agent-chips.tsx +51 -0
- package/src/browser/ai-configuration/categories/agent-detail-model.ts +152 -0
- package/src/browser/ai-configuration/categories/agent-detail-view.tsx +329 -0
- package/src/browser/ai-configuration/categories/agents-configuration-category.spec.ts +119 -0
- package/src/browser/ai-configuration/categories/agents-configuration-category.tsx +431 -0
- package/src/browser/ai-configuration/categories/general-configuration-category.spec.ts +225 -0
- package/src/browser/ai-configuration/categories/general-configuration-category.tsx +465 -0
- package/src/browser/ai-configuration/categories/model-aliases-configuration-category.spec.ts +87 -0
- package/src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx +286 -0
- package/src/browser/ai-configuration/categories/models-configuration-category.spec.ts +167 -0
- package/src/browser/ai-configuration/categories/models-configuration-category.tsx +264 -0
- package/src/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.ts +250 -0
- package/src/browser/ai-configuration/categories/prompt-snippets-configuration-category.tsx +438 -0
- package/src/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.ts +226 -0
- package/src/browser/ai-configuration/categories/prompts-and-skills-configuration-category.tsx +419 -0
- package/src/browser/ai-configuration/categories/token-usage-configuration-category.spec.ts +57 -0
- package/src/browser/ai-configuration/categories/token-usage-configuration-category.tsx +185 -0
- package/src/browser/ai-configuration/categories/tools-configuration-category.spec.ts +130 -0
- package/src/browser/ai-configuration/categories/tools-configuration-category.tsx +421 -0
- package/src/browser/ai-configuration/categories/variables-configuration-category.spec.ts +154 -0
- package/src/browser/ai-configuration/categories/variables-configuration-category.tsx +322 -0
- package/src/browser/ai-configuration/components/agent-notification-settings.tsx +38 -33
- package/src/browser/ai-configuration/language-model-renderer.spec.ts +100 -0
- package/src/browser/ai-configuration/language-model-renderer.tsx +244 -100
- package/src/browser/app-tester-chat-agent.ts +5 -2
- package/src/browser/architect-agent.ts +5 -2
- package/src/browser/architect-prompt-template.ts +7 -0
- package/src/browser/chat-session-item.tsx +2 -4
- package/src/browser/chat-session-list-service.ts +6 -3
- package/src/browser/code-reviewer-agent.ts +5 -2
- package/src/browser/coder-agent.ts +7 -5
- package/src/browser/context-file-validation-service-impl.spec.ts +3 -2
- package/src/browser/create-skill-agent.ts +5 -2
- package/src/browser/explore-agent.ts +5 -2
- package/src/browser/file-changeset-functions.spec.ts +158 -5
- package/src/browser/file-changeset-functions.ts +61 -23
- package/src/browser/frontend-module.ts +76 -63
- package/src/browser/github-chat-agent.ts +5 -2
- package/src/browser/github-repo-variable-contribution.ts +6 -3
- package/src/browser/ide-chat-welcome-message-provider.tsx +11 -11
- package/src/browser/memory-capability-contribution.spec.ts +85 -0
- package/src/browser/memory-capability-contribution.ts +86 -0
- package/src/browser/memory-directory-variable-contribution.spec.ts +113 -0
- package/src/browser/memory-directory-variable-contribution.ts +113 -0
- package/src/browser/open-editors-hint-contribution.ts +38 -0
- package/src/browser/project-info-agent.ts +5 -2
- package/src/browser/review/pr-review-agent.ts +5 -2
- package/src/browser/style/ai-configuration-base.css +0 -6
- package/src/browser/style/ai-configuration-shell.css +416 -0
- package/src/browser/style/ai-configuration-table.css +2 -15
- package/src/browser/style/index.css +220 -276
- package/src/browser/summarize-session-command-contribution.ts +6 -3
- package/src/browser/task-context-file-storage-service.ts +5 -2
- package/src/browser/user-interaction-tool.spec.ts +5 -2
- package/src/browser/user-interaction-tool.ts +6 -2
- package/src/browser/workspace-functions.spec.ts +163 -10
- package/src/browser/workspace-functions.ts +121 -72
- package/src/browser/workspace-launch-provider.spec.ts +4 -1
- package/src/browser/workspace-search-provider.spec.ts +1 -2
- package/src/browser/workspace-search-provider.ts +4 -7
- package/src/browser/workspace-task-provider.spec.ts +5 -1
- package/src/common/coder-replace-prompt-template.ts +9 -9
- package/src/common/command-chat-agents.ts +6 -2
- package/src/{browser/ai-configuration/base/ai-configuration-base-widget.tsx → common/open-editors-hint-fragment-id.ts} +2 -22
- package/src/common/orchestrator-chat-agent.ts +5 -2
- package/src/common/universal-chat-agent.ts +5 -2
- package/src/common/universal-prompt-template.ts +3 -0
- package/src/common/workspace-preferences.ts +2 -2
- package/src/common/workspace-search-provider-util.spec.ts +61 -0
- package/src/common/workspace-search-provider-util.ts +3 -2
- package/src/node/github-repo-service-impl.ts +6 -2
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +0 -72
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/agent-configuration-widget.js +0 -620
- package/lib/browser/ai-configuration/agent-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/agent-configuration-widget.spec.d.ts +0 -2
- package/lib/browser/ai-configuration/agent-configuration-widget.spec.d.ts.map +0 -1
- package/lib/browser/ai-configuration/agent-configuration-widget.spec.js +0 -56
- package/lib/browser/ai-configuration/agent-configuration-widget.spec.js.map +0 -1
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +0 -31
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +0 -55
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +0 -13
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +0 -1
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +0 -23
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +0 -60
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +0 -55
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +0 -96
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +0 -44
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +0 -66
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/components/configuration-section.d.ts +0 -12
- package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +0 -1
- package/lib/browser/ai-configuration/components/configuration-section.js.map +0 -1
- package/lib/browser/ai-configuration/components/empty-state.d.ts +0 -10
- package/lib/browser/ai-configuration/components/empty-state.d.ts.map +0 -1
- package/lib/browser/ai-configuration/components/empty-state.js.map +0 -1
- package/lib/browser/ai-configuration/components/expandable-section.d.ts +0 -13
- package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +0 -1
- package/lib/browser/ai-configuration/components/expandable-section.js +0 -31
- package/lib/browser/ai-configuration/components/expandable-section.js.map +0 -1
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +0 -26
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +0 -198
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +0 -140
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +0 -508
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/skills-configuration-widget.d.ts +0 -29
- package/lib/browser/ai-configuration/skills-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/skills-configuration-widget.js +0 -166
- package/lib/browser/ai-configuration/skills-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/skills-configuration-widget.spec.d.ts +0 -2
- package/lib/browser/ai-configuration/skills-configuration-widget.spec.d.ts.map +0 -1
- package/lib/browser/ai-configuration/skills-configuration-widget.spec.js +0 -191
- package/lib/browser/ai-configuration/skills-configuration-widget.spec.js.map +0 -1
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts +0 -9
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +0 -1
- package/lib/browser/ai-configuration/template-settings-renderer.js +0 -78
- package/lib/browser/ai-configuration/template-settings-renderer.js.map +0 -1
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +0 -20
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js +0 -170
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +0 -52
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.js +0 -357
- package/lib/browser/ai-configuration/tools-configuration-widget.js.map +0 -1
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +0 -22
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +0 -1
- package/lib/browser/ai-configuration/variable-configuration-widget.js +0 -133
- package/lib/browser/ai-configuration/variable-configuration-widget.js.map +0 -1
- package/src/browser/ai-configuration/agent-configuration-widget.spec.ts +0 -71
- package/src/browser/ai-configuration/agent-configuration-widget.tsx +0 -928
- package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +0 -72
- package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +0 -51
- package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +0 -140
- package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +0 -107
- package/src/browser/ai-configuration/components/expandable-section.tsx +0 -51
- package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +0 -270
- package/src/browser/ai-configuration/prompt-fragments-configuration-widget.tsx +0 -736
- package/src/browser/ai-configuration/skills-configuration-widget.spec.ts +0 -248
- package/src/browser/ai-configuration/skills-configuration-widget.tsx +0 -229
- package/src/browser/ai-configuration/template-settings-renderer.tsx +0 -125
- package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +0 -214
- package/src/browser/ai-configuration/tools-configuration-widget.tsx +0 -544
- package/src/browser/ai-configuration/variable-configuration-widget.tsx +0 -159
- package/src/browser/style/ai-configuration-cards.css +0 -60
|
@@ -0,0 +1,213 @@
|
|
|
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 the file dialog service) extends the DragEvent DOM
|
|
21
|
+
// 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 frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
29
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
30
|
+
const chai_1 = require("chai");
|
|
31
|
+
const client_1 = require("@theia/core/shared/react-dom/client");
|
|
32
|
+
const react_dom_1 = require("@theia/core/shared/react-dom");
|
|
33
|
+
const ai_configuration_category_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category");
|
|
34
|
+
const ai_ide_preferences_1 = require("../../../common/ai-ide-preferences");
|
|
35
|
+
const general_configuration_category_1 = require("./general-configuration-category");
|
|
36
|
+
disableJSDOM();
|
|
37
|
+
/** A preference id no category claims, so it renders through the General catch-all. */
|
|
38
|
+
const UNCLAIMED_PREF = 'ai-features.codeCompletion.enabled';
|
|
39
|
+
/**
|
|
40
|
+
* A category whose stub service is complete enough to render the whole page, so the tests can assert on
|
|
41
|
+
* the produced DOM rather than only on the render inputs.
|
|
42
|
+
*/
|
|
43
|
+
function createRenderableCategory(enabled) {
|
|
44
|
+
const category = new general_configuration_category_1.GeneralConfigurationCategory();
|
|
45
|
+
const values = { [ai_ide_preferences_1.PREFERENCE_NAME_ENABLE_AI]: enabled };
|
|
46
|
+
const service = {
|
|
47
|
+
inspect: (preferenceId) => ({
|
|
48
|
+
value: values[preferenceId],
|
|
49
|
+
scopeValue: values[preferenceId],
|
|
50
|
+
defaultValue: undefined,
|
|
51
|
+
modified: false
|
|
52
|
+
}),
|
|
53
|
+
describe: (preferenceId) => ({ label: `label:${preferenceId}`, description: `description:${preferenceId}` }),
|
|
54
|
+
tags: () => [],
|
|
55
|
+
renderMarkdown: (markdown) => {
|
|
56
|
+
const element = document.createElement('span');
|
|
57
|
+
element.textContent = markdown;
|
|
58
|
+
return element;
|
|
59
|
+
},
|
|
60
|
+
controlFor: () => ({ type: 'boolean' }),
|
|
61
|
+
enumOptions: () => [],
|
|
62
|
+
aiFeaturePreferenceIds: () => [UNCLAIMED_PREF]
|
|
63
|
+
};
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
|
+
category.settingsRowService = service;
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
+
category.categoryRegistry = { getCategories: () => [] };
|
|
68
|
+
return category;
|
|
69
|
+
}
|
|
70
|
+
/** Renders the category's page into a detached container; the caller disposes it. */
|
|
71
|
+
function renderPage(category) {
|
|
72
|
+
const container = document.createElement('div');
|
|
73
|
+
document.body.appendChild(container);
|
|
74
|
+
const root = (0, client_1.createRoot)(container);
|
|
75
|
+
const ctx = { scope: 'user', navigate: () => { }, update: () => { } };
|
|
76
|
+
(0, react_dom_1.flushSync)(() => root.render(category.renderPage(ctx)));
|
|
77
|
+
return {
|
|
78
|
+
container,
|
|
79
|
+
dispose: () => {
|
|
80
|
+
(0, react_dom_1.flushSync)(() => root.unmount());
|
|
81
|
+
container.remove();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** A stub settings-row service that echoes the preference id as its label and declares no enums. */
|
|
86
|
+
function createCategory() {
|
|
87
|
+
const category = new general_configuration_category_1.GeneralConfigurationCategory();
|
|
88
|
+
const service = {
|
|
89
|
+
describe: (preferenceId) => ({ label: `label:${preferenceId}` }),
|
|
90
|
+
enumOptions: () => [],
|
|
91
|
+
// No unclaimed preferences in this stub, so the catch-all contributes nothing.
|
|
92
|
+
aiFeaturePreferenceIds: () => []
|
|
93
|
+
};
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
|
+
category.settingsRowService = service;
|
|
96
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
97
|
+
category.categoryRegistry = { getCategories: () => [] };
|
|
98
|
+
return category;
|
|
99
|
+
}
|
|
100
|
+
describe('GeneralConfigurationCategory', () => {
|
|
101
|
+
before(() => {
|
|
102
|
+
disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
103
|
+
// The config is stored on `window`, which the line above replaces, so the module-level `set` no
|
|
104
|
+
// longer applies. The hero reads `applicationName` from it while rendering.
|
|
105
|
+
try {
|
|
106
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.get();
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
after(() => disableJSDOM());
|
|
113
|
+
it('declares the general single-page metadata', () => {
|
|
114
|
+
const category = createCategory();
|
|
115
|
+
(0, chai_1.expect)(category.id).to.equal(ai_configuration_category_1.AiConfigurationCategoryId.GENERAL);
|
|
116
|
+
(0, chai_1.expect)(category.kind).to.equal('single-page');
|
|
117
|
+
(0, chai_1.expect)(category.renderer).to.equal(category);
|
|
118
|
+
(0, chai_1.expect)(category.search).to.equal(category);
|
|
119
|
+
});
|
|
120
|
+
it('the catch-all surfaces every ai-features preference that no category claims (nothing is lost from the view)', () => {
|
|
121
|
+
const category = new general_configuration_category_1.GeneralConfigurationCategory();
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
123
|
+
category.settingsRowService = {
|
|
124
|
+
aiFeaturePreferenceIds: () => ['ai-features.chat.a', 'ai-features.foo.b', 'ai-features.bar.c']
|
|
125
|
+
};
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
127
|
+
category.categoryRegistry = {
|
|
128
|
+
getCategories: () => [
|
|
129
|
+
{ renderer: { getOwnedPreferenceIds: () => ['ai-features.foo.b'] } },
|
|
130
|
+
{ renderer: {} } // a category that owns nothing
|
|
131
|
+
]
|
|
132
|
+
};
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
134
|
+
const unclaimed = category.unclaimedPreferenceIds();
|
|
135
|
+
(0, chai_1.expect)([...unclaimed].sort()).to.deep.equal(['ai-features.bar.c', 'ai-features.chat.a']);
|
|
136
|
+
});
|
|
137
|
+
it('indexes one search item per setting, deep-linking to the row', () => {
|
|
138
|
+
const category = createCategory();
|
|
139
|
+
const items = category.getSearchItems();
|
|
140
|
+
// master toggle (hero) + Chat (5)
|
|
141
|
+
(0, chai_1.expect)(items).to.have.lengthOf(6);
|
|
142
|
+
const enableAi = items.find(item => item.keywords?.startsWith('ai-features.AiEnable.enableAI'));
|
|
143
|
+
(0, chai_1.expect)(enableAi).to.not.equal(undefined);
|
|
144
|
+
// The master toggle authors its own title, so it does not fall back to the schema label.
|
|
145
|
+
(0, chai_1.expect)(enableAi.label).to.equal('Enable AI features');
|
|
146
|
+
(0, chai_1.expect)(enableAi.target).to.deep.equal({
|
|
147
|
+
categoryId: ai_configuration_category_1.AiConfigurationCategoryId.GENERAL,
|
|
148
|
+
highlight: { rowId: 'ai-features.AiEnable.enableAI' }
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
describe('rendered page', () => {
|
|
152
|
+
it('anchors every row its search index deep-links to', () => {
|
|
153
|
+
// The two halves of a deep link are produced independently: `getSearchItems` names a `rowId`
|
|
154
|
+
// and the page has to emit a matching `data-ai-config-row-id`. Nothing else ties them together,
|
|
155
|
+
// so a row indexed but not anchored (as the hero toggle was) silently never scrolls or flashes.
|
|
156
|
+
const category = createRenderableCategory(true);
|
|
157
|
+
const { container, dispose } = renderPage(category);
|
|
158
|
+
try {
|
|
159
|
+
const anchored = new Set(Array.from(container.querySelectorAll('[data-ai-config-row-id]'))
|
|
160
|
+
.map(element => element.getAttribute('data-ai-config-row-id')));
|
|
161
|
+
const deepLinked = category.getSearchItems()
|
|
162
|
+
.map(item => item.target.highlight?.rowId)
|
|
163
|
+
.filter((rowId) => rowId !== undefined);
|
|
164
|
+
(0, chai_1.expect)(deepLinked, 'the search index deep-links to no rows at all').to.not.be.empty;
|
|
165
|
+
const unanchored = deepLinked.filter(rowId => !anchored.has(rowId));
|
|
166
|
+
(0, chai_1.expect)(unanchored, `search items deep-link to rows the page never anchors: ${unanchored.join(', ')}`).to.be.empty;
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
dispose();
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
it('does not print the raw preference id next to the hero title', () => {
|
|
173
|
+
const category = createRenderableCategory(true);
|
|
174
|
+
const { container, dispose } = renderPage(category);
|
|
175
|
+
try {
|
|
176
|
+
const title = container.querySelector('.ai-configuration-hero .ai-settings-row-title');
|
|
177
|
+
(0, chai_1.expect)(title, 'the hero renders no title').to.exist;
|
|
178
|
+
(0, chai_1.expect)(title.textContent).to.not.contain('ai-features.');
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
dispose();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
it('renders the catch-all rows read-only while AI features are off', () => {
|
|
185
|
+
// The gate note promises the settings below take effect once AI is enabled, so they must not be
|
|
186
|
+
// editable meanwhile. The catch-all rows are generated, so they do not inherit the hand-authored
|
|
187
|
+
// rows' `disabled` state unless it is plumbed through `AiSettingsRow`.
|
|
188
|
+
const off = createRenderableCategory(false);
|
|
189
|
+
const rendered = renderPage(off);
|
|
190
|
+
try {
|
|
191
|
+
const control = rendered.container.querySelector(`[data-ai-config-row-id="${UNCLAIMED_PREF}"] input`);
|
|
192
|
+
(0, chai_1.expect)(control, 'the catch-all row renders no control').to.exist;
|
|
193
|
+
(0, chai_1.expect)(control.disabled).to.equal(true);
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
rendered.dispose();
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
it('renders the catch-all rows editable once AI features are on', () => {
|
|
200
|
+
const on = createRenderableCategory(true);
|
|
201
|
+
const rendered = renderPage(on);
|
|
202
|
+
try {
|
|
203
|
+
const control = rendered.container.querySelector(`[data-ai-config-row-id="${UNCLAIMED_PREF}"] input`);
|
|
204
|
+
(0, chai_1.expect)(control, 'the catch-all row renders no control').to.exist;
|
|
205
|
+
(0, chai_1.expect)(control.disabled).to.equal(false);
|
|
206
|
+
}
|
|
207
|
+
finally {
|
|
208
|
+
rendered.dispose();
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=general-configuration-category.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-configuration-category.spec.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/general-configuration-category.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AgentService, AISettingsService } from '@theia/ai-core';
|
|
2
|
+
import { FrontendLanguageModelRegistry, LanguageModel } from '@theia/ai-core/lib/common/language-model';
|
|
3
|
+
import { LanguageModelAlias, LanguageModelAliasRegistry } from '@theia/ai-core/lib/common/language-model-alias';
|
|
4
|
+
import { Emitter, Event } from '@theia/core';
|
|
5
|
+
import { SelectOption } from '@theia/core/lib/browser/widgets/select-component';
|
|
6
|
+
import { DisposableCollection } from '@theia/core/lib/common';
|
|
7
|
+
import * as React from '@theia/core/shared/react';
|
|
8
|
+
import { AiConfigurationCategory, AiConfigurationItemStatus, AiConfigurationRenderContext, AiConfigurationSearchItem, AiConfigurationSearchProvider, AiConfigurationTreeItem } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category';
|
|
9
|
+
import { CollectionCategoryRenderer } from '@theia/ai-core-ui/lib/browser/ai-configuration/renderers/collection-category-renderer';
|
|
10
|
+
/**
|
|
11
|
+
* The Model Aliases category: a `collection` porting the alias configuration onto the shared
|
|
12
|
+
* primitives. The per-item detail (selected model, priority list, resolved model, agents using
|
|
13
|
+
* the alias) is rendered synchronously from caches refreshed on the relevant service events.
|
|
14
|
+
*/
|
|
15
|
+
export declare class ModelAliasesConfigurationCategory extends CollectionCategoryRenderer implements AiConfigurationCategory, AiConfigurationSearchProvider {
|
|
16
|
+
readonly id = "model-aliases";
|
|
17
|
+
readonly label: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly iconClass: string;
|
|
20
|
+
readonly order = 300;
|
|
21
|
+
readonly kind: "collection";
|
|
22
|
+
protected readonly languageModelAliasRegistry: LanguageModelAliasRegistry;
|
|
23
|
+
protected readonly languageModelRegistry: FrontendLanguageModelRegistry;
|
|
24
|
+
protected readonly aiSettingsService: AISettingsService;
|
|
25
|
+
protected readonly agentService: AgentService;
|
|
26
|
+
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
27
|
+
readonly onDidChange: Event<void>;
|
|
28
|
+
protected readonly toDispose: DisposableCollection;
|
|
29
|
+
protected aliases: LanguageModelAlias[];
|
|
30
|
+
protected languageModels: LanguageModel[];
|
|
31
|
+
protected matchingAgentIdsForAlias: Map<string, string[]>;
|
|
32
|
+
protected resolvedModelForAlias: Map<string, LanguageModel | undefined>;
|
|
33
|
+
get renderer(): this;
|
|
34
|
+
getOwnedPreferenceIds(): string[];
|
|
35
|
+
get search(): AiConfigurationSearchProvider;
|
|
36
|
+
protected init(): void;
|
|
37
|
+
dispose(): void;
|
|
38
|
+
protected reload(): Promise<void>;
|
|
39
|
+
protected loadLanguageModels(): Promise<void>;
|
|
40
|
+
protected loadAliases(): Promise<void>;
|
|
41
|
+
protected loadMatchingAgents(): Promise<void>;
|
|
42
|
+
protected get categoryId(): string;
|
|
43
|
+
getTreeChildren(): AiConfigurationTreeItem[];
|
|
44
|
+
protected getAliasStatus(alias: LanguageModelAlias): AiConfigurationItemStatus;
|
|
45
|
+
protected renderItemSections(item: AiConfigurationTreeItem, ctx: AiConfigurationRenderContext): React.ReactNode;
|
|
46
|
+
protected renderSelectedModel(alias: LanguageModelAlias): React.ReactNode;
|
|
47
|
+
protected getModelOptions(): SelectOption[];
|
|
48
|
+
protected setSelectedModel(alias: LanguageModelAlias, value: string | undefined): void;
|
|
49
|
+
protected renderPriorityList(alias: LanguageModelAlias): React.ReactNode;
|
|
50
|
+
protected renderAgentsUsingAlias(alias: LanguageModelAlias, ctx: AiConfigurationRenderContext): React.ReactNode;
|
|
51
|
+
getSearchItems(): AiConfigurationSearchItem[];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=model-aliases-configuration-category.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-aliases-configuration-category.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelAliasesConfigurationCategory = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
|
|
6
|
+
// *****************************************************************************
|
|
7
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
8
|
+
//
|
|
9
|
+
// This program and the accompanying materials are made available under the
|
|
10
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
11
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
12
|
+
//
|
|
13
|
+
// This Source Code may also be made available under the following Secondary
|
|
14
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
15
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
16
|
+
// with the GNU Classpath Exception which is available at
|
|
17
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
18
|
+
//
|
|
19
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
20
|
+
// *****************************************************************************
|
|
21
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
22
|
+
const language_model_1 = require("@theia/ai-core/lib/common/language-model");
|
|
23
|
+
const language_model_alias_1 = require("@theia/ai-core/lib/common/language-model-alias");
|
|
24
|
+
const core_1 = require("@theia/core");
|
|
25
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
26
|
+
const common_1 = require("@theia/core/lib/common");
|
|
27
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
28
|
+
const ai_configuration_category_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category");
|
|
29
|
+
const collection_category_renderer_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/renderers/collection-category-renderer");
|
|
30
|
+
const ai_configuration_primitives_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-configuration-primitives");
|
|
31
|
+
const ai_configuration_controls_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-configuration-controls");
|
|
32
|
+
const agent_chips_1 = require("./agent-chips");
|
|
33
|
+
/** Sentinel option value representing "use the alias' default priority list" (no explicit model). */
|
|
34
|
+
const DEFAULT_LIST_VALUE = '';
|
|
35
|
+
/**
|
|
36
|
+
* The Model Aliases category: a `collection` porting the alias configuration onto the shared
|
|
37
|
+
* primitives. The per-item detail (selected model, priority list, resolved model, agents using
|
|
38
|
+
* the alias) is rendered synchronously from caches refreshed on the relevant service events.
|
|
39
|
+
*/
|
|
40
|
+
let ModelAliasesConfigurationCategory = class ModelAliasesConfigurationCategory extends collection_category_renderer_1.CollectionCategoryRenderer {
|
|
41
|
+
constructor() {
|
|
42
|
+
super(...arguments);
|
|
43
|
+
this.id = ai_configuration_category_1.AiConfigurationCategoryId.MODEL_ALIASES;
|
|
44
|
+
this.label = core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/label', 'Model Aliases');
|
|
45
|
+
this.description = core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/description', 'Named references to a preferred model, so agents can target a role instead of a specific model.');
|
|
46
|
+
this.iconClass = (0, browser_1.codicon)('symbol-namespace');
|
|
47
|
+
this.order = ai_configuration_category_1.AiConfigurationCategoryOrder.MODEL_ALIASES;
|
|
48
|
+
this.kind = 'collection';
|
|
49
|
+
this.onDidChangeEmitter = new core_1.Emitter();
|
|
50
|
+
this.onDidChange = this.onDidChangeEmitter.event;
|
|
51
|
+
this.toDispose = new common_1.DisposableCollection(this.onDidChangeEmitter);
|
|
52
|
+
this.aliases = [];
|
|
53
|
+
this.languageModels = [];
|
|
54
|
+
this.matchingAgentIdsForAlias = new Map();
|
|
55
|
+
this.resolvedModelForAlias = new Map();
|
|
56
|
+
}
|
|
57
|
+
get renderer() {
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
getOwnedPreferenceIds() {
|
|
61
|
+
return [ai_core_1.LANGUAGE_MODEL_ALIASES_PREFERENCE];
|
|
62
|
+
}
|
|
63
|
+
get search() {
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
init() {
|
|
67
|
+
Promise.all([this.loadAliases(), this.loadLanguageModels()]).then(() => this.onDidChangeEmitter.fire());
|
|
68
|
+
this.languageModelAliasRegistry.ready.then(() => this.toDispose.push(this.languageModelAliasRegistry.onDidChange(() => this.reload())));
|
|
69
|
+
this.toDispose.pushAll([
|
|
70
|
+
this.languageModelRegistry.onChange(async () => {
|
|
71
|
+
await this.loadLanguageModels();
|
|
72
|
+
await this.loadAliases();
|
|
73
|
+
this.onDidChangeEmitter.fire();
|
|
74
|
+
}),
|
|
75
|
+
this.aiSettingsService.onDidChange(async () => {
|
|
76
|
+
await this.loadMatchingAgents();
|
|
77
|
+
this.onDidChangeEmitter.fire();
|
|
78
|
+
})
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
dispose() {
|
|
82
|
+
this.toDispose.dispose();
|
|
83
|
+
}
|
|
84
|
+
async reload() {
|
|
85
|
+
await this.loadAliases();
|
|
86
|
+
this.onDidChangeEmitter.fire();
|
|
87
|
+
}
|
|
88
|
+
async loadLanguageModels() {
|
|
89
|
+
this.languageModels = await this.languageModelRegistry.getLanguageModels();
|
|
90
|
+
}
|
|
91
|
+
async loadAliases() {
|
|
92
|
+
await this.languageModelAliasRegistry.ready;
|
|
93
|
+
this.aliases = this.languageModelAliasRegistry.getAliases().sort((a, b) => a.id.localeCompare(b.id));
|
|
94
|
+
await this.loadMatchingAgents();
|
|
95
|
+
this.resolvedModelForAlias = new Map();
|
|
96
|
+
for (const alias of this.aliases) {
|
|
97
|
+
this.resolvedModelForAlias.set(alias.id, await this.languageModelRegistry.getReadyLanguageModel(alias.id));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async loadMatchingAgents() {
|
|
101
|
+
const agents = this.agentService.getAllAgents();
|
|
102
|
+
const aliasMap = new Map();
|
|
103
|
+
for (const alias of this.aliases) {
|
|
104
|
+
const matchingAgentIds = [];
|
|
105
|
+
for (const agent of agents) {
|
|
106
|
+
const requirementSetting = await this.aiSettingsService.getAgentSettings(agent.id);
|
|
107
|
+
if (requirementSetting?.languageModelRequirements) {
|
|
108
|
+
if (requirementSetting.languageModelRequirements.find(requirement => requirement.identifier === alias.id)) {
|
|
109
|
+
matchingAgentIds.push(agent.id);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (agent.languageModelRequirements.some((requirement) => requirement.identifier === alias.id)) {
|
|
113
|
+
matchingAgentIds.push(agent.id);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
aliasMap.set(alias.id, matchingAgentIds);
|
|
117
|
+
}
|
|
118
|
+
this.matchingAgentIdsForAlias = aliasMap;
|
|
119
|
+
}
|
|
120
|
+
get categoryId() {
|
|
121
|
+
return this.id;
|
|
122
|
+
}
|
|
123
|
+
getTreeChildren() {
|
|
124
|
+
return this.aliases.map(alias => ({
|
|
125
|
+
id: alias.id,
|
|
126
|
+
label: alias.id,
|
|
127
|
+
description: alias.description,
|
|
128
|
+
status: this.getAliasStatus(alias)
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
getAliasStatus(alias) {
|
|
132
|
+
const resolved = this.resolvedModelForAlias.get(alias.id);
|
|
133
|
+
if (!resolved) {
|
|
134
|
+
return {
|
|
135
|
+
kind: 'error',
|
|
136
|
+
label: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noModel', 'No model'),
|
|
137
|
+
tooltip: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noResolvedModel', 'No model ready for this alias.')
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const modelName = resolved.name ?? resolved.id;
|
|
141
|
+
if (resolved.status.status !== 'ready') {
|
|
142
|
+
return {
|
|
143
|
+
kind: 'warn',
|
|
144
|
+
label: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/notReady', 'Not ready'),
|
|
145
|
+
tooltip: resolved.status.message
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
// Show what the alias actually resolves to rather than a generic "Ready", so the badge is informative.
|
|
149
|
+
return {
|
|
150
|
+
kind: 'on',
|
|
151
|
+
label: modelName,
|
|
152
|
+
tooltip: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/resolvesTo', 'Resolves to {0}', modelName)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
renderItemSections(item, ctx) {
|
|
156
|
+
const alias = this.aliases.find(candidate => candidate.id === item.id);
|
|
157
|
+
if (!alias) {
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [this.renderSelectedModel(alias), alias.selectedModelId === undefined && this.renderPriorityList(alias), this.renderAgentsUsingAlias(alias, ctx)] });
|
|
161
|
+
}
|
|
162
|
+
renderSelectedModel(alias) {
|
|
163
|
+
const options = this.getModelOptions();
|
|
164
|
+
const selected = alias.selectedModelId ?? DEFAULT_LIST_VALUE;
|
|
165
|
+
const isInvalid = !!alias.selectedModelId && !this.languageModels.some(model => model.id === alias.selectedModelId);
|
|
166
|
+
return (0, jsx_runtime_1.jsxs)(ai_configuration_primitives_1.AiConfigurationSection, { title: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectedModelId', 'Selected Model'), children: [isInvalid && (0, jsx_runtime_1.jsx)("div", { className: 'ai-alias-invalid-model', children: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/unavailableModel', 'Selected model is no longer available') }), (0, jsx_runtime_1.jsx)(ai_configuration_controls_1.AiEnumSelect, { ariaLabel: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectedModelId', 'Selected Model'), value: isInvalid ? undefined : selected, invalid: isInvalid, options: options.map(option => ({ value: String(option.value ?? ''), label: option.label ?? String(option.value ?? ''), title: option.description })), onCommit: value => this.setSelectedModel(alias, value) })] });
|
|
167
|
+
}
|
|
168
|
+
getModelOptions() {
|
|
169
|
+
const options = [{
|
|
170
|
+
value: DEFAULT_LIST_VALUE,
|
|
171
|
+
label: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/defaultList', '[Default list]')
|
|
172
|
+
}];
|
|
173
|
+
for (const model of [...this.languageModels].sort((a, b) => (a.name ?? a.id).localeCompare(b.name ?? b.id))) {
|
|
174
|
+
const ready = model.status.status === 'ready';
|
|
175
|
+
options.push({
|
|
176
|
+
value: model.id,
|
|
177
|
+
label: `${model.name ?? model.id} ${ready ? '✓' : '✗'}`,
|
|
178
|
+
description: !ready ? model.status.message : undefined
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return options;
|
|
182
|
+
}
|
|
183
|
+
setSelectedModel(alias, value) {
|
|
184
|
+
const selectedModelId = value ? value : undefined;
|
|
185
|
+
this.languageModelAliasRegistry.ready.then(() => this.languageModelAliasRegistry.addAlias({ ...alias, selectedModelId }));
|
|
186
|
+
}
|
|
187
|
+
renderPriorityList(alias) {
|
|
188
|
+
const resolved = this.resolvedModelForAlias.get(alias.id);
|
|
189
|
+
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationSection, { title: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/priorityList', 'Priority List'), children: (0, jsx_runtime_1.jsx)("ol", { children: alias.defaultModelIds.map(modelId => {
|
|
190
|
+
const model = this.languageModels.find(candidate => candidate.id === modelId);
|
|
191
|
+
const ready = model?.status.status === 'ready';
|
|
192
|
+
return (0, jsx_runtime_1.jsxs)("li", { className: modelId === resolved?.id ? 'ai-alias-priority-item-resolved' : undefined, children: [modelId, " ", ready ? '✓' : '✗'] }, modelId);
|
|
193
|
+
}) }) }), (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationSection, { title: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/evaluatesTo', 'Evaluates to'), children: resolved
|
|
194
|
+
? (0, jsx_runtime_1.jsxs)("span", { children: [resolved.name ?? resolved.id, " ", resolved.status.status === 'ready' ? '✓' : '✗'] })
|
|
195
|
+
: (0, jsx_runtime_1.jsx)("span", { children: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noResolvedModel', 'No model ready for this alias.') }) })] });
|
|
196
|
+
}
|
|
197
|
+
renderAgentsUsingAlias(alias, ctx) {
|
|
198
|
+
const agentIds = this.matchingAgentIdsForAlias.get(alias.id) ?? [];
|
|
199
|
+
const agents = this.agentService.getAllAgents().filter(agent => agentIds.includes(agent.id));
|
|
200
|
+
return (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationSection, { title: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/agents', 'Agents using this Alias'), children: agents.length > 0
|
|
201
|
+
? (0, jsx_runtime_1.jsx)(agent_chips_1.AgentChips, { agents: agents, onOpenAgent: agentId => ctx.navigate({ categoryId: ai_configuration_category_1.AiConfigurationCategoryId.AGENTS, itemId: agentId }) })
|
|
202
|
+
: (0, jsx_runtime_1.jsx)("span", { children: core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noAgents', 'No agents use this alias.') }) });
|
|
203
|
+
}
|
|
204
|
+
getSearchItems() {
|
|
205
|
+
const typeLabel = core_1.nls.localize('theia/ai/core/modelAliasesConfiguration/aliasTypeLabel', 'Model Alias');
|
|
206
|
+
return this.aliases.map(alias => ({
|
|
207
|
+
label: alias.id,
|
|
208
|
+
typeLabel,
|
|
209
|
+
categoryId: this.id,
|
|
210
|
+
target: { categoryId: this.id, itemId: alias.id },
|
|
211
|
+
keywords: alias.description ?? ''
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
exports.ModelAliasesConfigurationCategory = ModelAliasesConfigurationCategory;
|
|
216
|
+
tslib_1.__decorate([
|
|
217
|
+
(0, inversify_1.inject)(language_model_alias_1.LanguageModelAliasRegistry),
|
|
218
|
+
tslib_1.__metadata("design:type", Object)
|
|
219
|
+
], ModelAliasesConfigurationCategory.prototype, "languageModelAliasRegistry", void 0);
|
|
220
|
+
tslib_1.__decorate([
|
|
221
|
+
(0, inversify_1.inject)(language_model_1.LanguageModelRegistry),
|
|
222
|
+
tslib_1.__metadata("design:type", Object)
|
|
223
|
+
], ModelAliasesConfigurationCategory.prototype, "languageModelRegistry", void 0);
|
|
224
|
+
tslib_1.__decorate([
|
|
225
|
+
(0, inversify_1.inject)(ai_core_1.AISettingsService),
|
|
226
|
+
tslib_1.__metadata("design:type", Object)
|
|
227
|
+
], ModelAliasesConfigurationCategory.prototype, "aiSettingsService", void 0);
|
|
228
|
+
tslib_1.__decorate([
|
|
229
|
+
(0, inversify_1.inject)(ai_core_1.AgentService),
|
|
230
|
+
tslib_1.__metadata("design:type", Object)
|
|
231
|
+
], ModelAliasesConfigurationCategory.prototype, "agentService", void 0);
|
|
232
|
+
tslib_1.__decorate([
|
|
233
|
+
(0, inversify_1.postConstruct)(),
|
|
234
|
+
tslib_1.__metadata("design:type", Function),
|
|
235
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
236
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
237
|
+
], ModelAliasesConfigurationCategory.prototype, "init", null);
|
|
238
|
+
exports.ModelAliasesConfigurationCategory = ModelAliasesConfigurationCategory = tslib_1.__decorate([
|
|
239
|
+
(0, inversify_1.injectable)()
|
|
240
|
+
], ModelAliasesConfigurationCategory);
|
|
241
|
+
//# sourceMappingURL=model-aliases-configuration-category.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-aliases-configuration-category.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx"],"names":[],"mappings":"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"}
|
package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-aliases-configuration-category.spec.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/categories/model-aliases-configuration-category.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
21
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
22
|
+
const chai_1 = require("chai");
|
|
23
|
+
const ai_configuration_category_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category");
|
|
24
|
+
const model_aliases_configuration_category_1 = require("./model-aliases-configuration-category");
|
|
25
|
+
disableJSDOM();
|
|
26
|
+
function alias(id, description = '') {
|
|
27
|
+
return { id, description, defaultModelIds: [] };
|
|
28
|
+
}
|
|
29
|
+
function readyModel(id) {
|
|
30
|
+
return { id, status: { status: 'ready' } };
|
|
31
|
+
}
|
|
32
|
+
function unreadyModel(id) {
|
|
33
|
+
return { id, status: { status: 'unavailable', message: 'nope' } };
|
|
34
|
+
}
|
|
35
|
+
function createCategory(aliases, resolved) {
|
|
36
|
+
const category = new model_aliases_configuration_category_1.ModelAliasesConfigurationCategory();
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
category.aliases = aliases;
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
+
category.resolvedModelForAlias = resolved;
|
|
41
|
+
return category;
|
|
42
|
+
}
|
|
43
|
+
describe('ModelAliasesConfigurationCategory', () => {
|
|
44
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
45
|
+
after(() => disableJSDOM());
|
|
46
|
+
it('declares the model-aliases collection metadata', () => {
|
|
47
|
+
const category = createCategory([], new Map());
|
|
48
|
+
(0, chai_1.expect)(category.id).to.equal(ai_configuration_category_1.AiConfigurationCategoryId.MODEL_ALIASES);
|
|
49
|
+
(0, chai_1.expect)(category.kind).to.equal('collection');
|
|
50
|
+
(0, chai_1.expect)(category.renderer).to.equal(category);
|
|
51
|
+
});
|
|
52
|
+
it('maps aliases to tree items with a resolved/warn/error status', () => {
|
|
53
|
+
const aliases = [alias('default/code', 'Coding'), alias('default/chat'), alias('broken')];
|
|
54
|
+
const resolved = new Map([
|
|
55
|
+
['default/code', readyModel('m1')],
|
|
56
|
+
['default/chat', unreadyModel('m2')],
|
|
57
|
+
['broken', undefined]
|
|
58
|
+
]);
|
|
59
|
+
const children = createCategory(aliases, resolved).getTreeChildren();
|
|
60
|
+
(0, chai_1.expect)(children.map(c => c.id)).to.deep.equal(['default/code', 'default/chat', 'broken']);
|
|
61
|
+
(0, chai_1.expect)(children[0].status?.kind).to.equal('on');
|
|
62
|
+
// A ready alias shows what it resolves to (the model), not a generic "Ready".
|
|
63
|
+
(0, chai_1.expect)(children[0].status?.label).to.equal('m1');
|
|
64
|
+
(0, chai_1.expect)(children[1].status?.kind).to.equal('warn');
|
|
65
|
+
(0, chai_1.expect)(children[2].status?.kind).to.equal('error');
|
|
66
|
+
});
|
|
67
|
+
it('indexes one search item per alias, navigating to the item', () => {
|
|
68
|
+
const category = createCategory([alias('default/code', 'Coding alias')], new Map());
|
|
69
|
+
const items = category.getSearchItems();
|
|
70
|
+
(0, chai_1.expect)(items).to.have.lengthOf(1);
|
|
71
|
+
(0, chai_1.expect)(items[0].target).to.deep.equal({ categoryId: ai_configuration_category_1.AiConfigurationCategoryId.MODEL_ALIASES, itemId: 'default/code' });
|
|
72
|
+
(0, chai_1.expect)(items[0].keywords).to.equal('Coding alias');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=model-aliases-configuration-category.spec.js.map
|