@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
|
@@ -1,23 +1,8 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.AiAllowAllModeChatBanner = void 0;
|
|
19
4
|
const tslib_1 = require("tslib");
|
|
20
|
-
const
|
|
5
|
+
const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
|
|
21
6
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
7
|
const browser_1 = require("@theia/core/lib/browser");
|
|
23
8
|
const core_1 = require("@theia/core");
|
|
@@ -114,10 +99,7 @@ let AiAllowAllModeChatBanner = class AiAllowAllModeChatBanner {
|
|
|
114
99
|
'',
|
|
115
100
|
nls_1.nls.localize('theia/ai/ide/allowAllMode/stripTooltipFooter', 'Set via --session-preference. Restart without the flag to restore your saved settings.')
|
|
116
101
|
];
|
|
117
|
-
return
|
|
118
|
-
React.createElement("span", { className: `theia-ai-allow-all-mode-strip-icon ${(0, browser_1.codicon)('warning')}` }),
|
|
119
|
-
React.createElement("span", { className: 'theia-ai-allow-all-mode-strip-title' }, title),
|
|
120
|
-
React.createElement("button", { type: 'button', className: `theia-ai-allow-all-mode-strip-dismiss ${(0, browser_1.codicon)('close')}`, title: nls_1.nls.localizeByDefault('Hide for this session'), "aria-label": nls_1.nls.localizeByDefault('Hide for this session'), onClick: this.handleDismiss }));
|
|
102
|
+
return (0, jsx_runtime_1.jsxs)("div", { className: className, title: tooltipLines.join('\n'), role: 'status', "aria-live": 'polite', children: [(0, jsx_runtime_1.jsx)("span", { className: `theia-ai-allow-all-mode-strip-icon ${(0, browser_1.codicon)('warning')}` }), (0, jsx_runtime_1.jsx)("span", { className: 'theia-ai-allow-all-mode-strip-title', children: title }), (0, jsx_runtime_1.jsx)("button", { type: 'button', className: `theia-ai-allow-all-mode-strip-dismiss ${(0, browser_1.codicon)('close')}`, title: nls_1.nls.localizeByDefault('Hide for this session'), "aria-label": nls_1.nls.localizeByDefault('Hide for this session'), onClick: this.handleDismiss })] });
|
|
121
103
|
}
|
|
122
104
|
/** AI-relevant preferences currently coming from the session scope. */
|
|
123
105
|
collectOverrides() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-allow-all-mode-chat-banner.js","sourceRoot":"","sources":["../../src/browser/ai-allow-all-mode-chat-banner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-allow-all-mode-chat-banner.js","sourceRoot":"","sources":["../../src/browser/ai-allow-all-mode-chat-banner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Agent } from '@theia/ai-core/lib/common';
|
|
2
|
+
/**
|
|
3
|
+
* The icon used throughout the AI configuration view for agents that do not
|
|
4
|
+
* contribute their own icon. Matches the framework default of {@link AbstractChatAgent}
|
|
5
|
+
* so that agents without a custom icon look consistent everywhere.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_AGENT_ICON_CLASS: string;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the icon class to use for an agent in the AI configuration view.
|
|
10
|
+
*
|
|
11
|
+
* Only chat agents can contribute an icon (via `iconClass`); when an agent
|
|
12
|
+
* contributes one it is used, otherwise the shared {@link DEFAULT_AGENT_ICON_CLASS}
|
|
13
|
+
* is applied so agents are rendered consistently across chips, tree nodes and detail views.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getAgentIconClass(agent: Agent): string;
|
|
16
|
+
//# sourceMappingURL=agent-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-icon.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/agent-icon.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAqB,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
exports.DEFAULT_AGENT_ICON_CLASS = void 0;
|
|
19
|
+
exports.getAgentIconClass = getAgentIconClass;
|
|
20
|
+
const common_1 = require("@theia/ai-chat/lib/common");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
/**
|
|
23
|
+
* The icon used throughout the AI configuration view for agents that do not
|
|
24
|
+
* contribute their own icon. Matches the framework default of {@link AbstractChatAgent}
|
|
25
|
+
* so that agents without a custom icon look consistent everywhere.
|
|
26
|
+
*/
|
|
27
|
+
exports.DEFAULT_AGENT_ICON_CLASS = (0, browser_1.codicon)('copilot');
|
|
28
|
+
/**
|
|
29
|
+
* Resolves the icon class to use for an agent in the AI configuration view.
|
|
30
|
+
*
|
|
31
|
+
* Only chat agents can contribute an icon (via `iconClass`); when an agent
|
|
32
|
+
* contributes one it is used, otherwise the shared {@link DEFAULT_AGENT_ICON_CLASS}
|
|
33
|
+
* is applied so agents are rendered consistently across chips, tree nodes and detail views.
|
|
34
|
+
*/
|
|
35
|
+
function getAgentIconClass(agent) {
|
|
36
|
+
return ((0, common_1.isChatAgent)(agent) && agent.iconClass) ? agent.iconClass : exports.DEFAULT_AGENT_ICON_CLASS;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=agent-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-icon.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/agent-icon.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;;;AAoBhF,8CAEC;AAnBD,sDAAwD;AACxD,qDAAkD;AAElD;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,KAAY;IAC1C,OAAO,CAAC,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAwB,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Disposable, Emitter, Event } from '@theia/core';
|
|
2
|
+
import { ApplicationShell } from '@theia/core/lib/browser';
|
|
3
|
+
import { Breadcrumb, BreadcrumbsContribution } from '@theia/core/lib/browser/breadcrumbs/breadcrumbs-constants';
|
|
4
|
+
import URI from '@theia/core/lib/common/uri';
|
|
5
|
+
import { AiConfigurationSelection } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category';
|
|
6
|
+
import { AiConfigurationCategoryRegistry } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry';
|
|
7
|
+
import { AiConfigurationSelectionModel } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model';
|
|
8
|
+
export declare const AI_CONFIGURATION_BREADCRUMB_TYPE: unique symbol;
|
|
9
|
+
interface PopupEntry {
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly iconClass?: string;
|
|
12
|
+
readonly selection: AiConfigurationSelection;
|
|
13
|
+
readonly selected: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Contributes real Theia breadcrumbs for the AI Configuration view. The view's resource URI is
|
|
17
|
+
* constant; the breadcrumb path (category › item) is derived from the shared
|
|
18
|
+
* {@link AiConfigurationSelectionModel}, and clicking a segment opens a popup to jump to sibling
|
|
19
|
+
* categories/items — matching the editor breadcrumb UX and honoring the `breadcrumbs.enabled` setting.
|
|
20
|
+
*/
|
|
21
|
+
export declare class AiConfigurationBreadcrumbsContribution implements BreadcrumbsContribution {
|
|
22
|
+
readonly type: symbol;
|
|
23
|
+
readonly priority = 100;
|
|
24
|
+
protected readonly selectionModel: AiConfigurationSelectionModel;
|
|
25
|
+
protected readonly registry: AiConfigurationCategoryRegistry;
|
|
26
|
+
protected readonly shell: ApplicationShell;
|
|
27
|
+
protected readonly onDidChangeBreadcrumbsEmitter: Emitter<URI>;
|
|
28
|
+
get onDidChangeBreadcrumbs(): Event<URI>;
|
|
29
|
+
protected init(): void;
|
|
30
|
+
computeBreadcrumbs(uri: URI): Breadcrumb[];
|
|
31
|
+
attachPopupContent(breadcrumb: Breadcrumb, parent: HTMLElement): Promise<Disposable | undefined>;
|
|
32
|
+
/** Sibling categories for a category breadcrumb, or sibling items for an item breadcrumb. */
|
|
33
|
+
protected popupEntries(breadcrumbId: string): PopupEntry[];
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=ai-configuration-breadcrumbs-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-breadcrumbs-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAO,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAW,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AAChH,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0EAA0E,CAAC;AACpH,OAAO,EAAE,+BAA+B,EAAE,MAAM,mFAAmF,CAAC;AACpI,OAAO,EAAE,6BAA6B,EAAE,MAAM,iFAAiF,CAAC;AAIhI,eAAO,MAAM,gCAAgC,eAAwC,CAAC;AAEtF,UAAU,UAAU;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,qBACa,sCAAuC,YAAW,uBAAuB;IAElF,QAAQ,CAAC,IAAI,SAAoC;IACjD,QAAQ,CAAC,QAAQ,OAAO;IAGxB,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;IAGjE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAG7D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,6BAA6B,eAAsB;IACtE,IAAI,sBAAsB,IAAI,KAAK,CAAC,GAAG,CAAC,CAEvC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE;IAuCpC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAgCtG,6FAA6F;IAC7F,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,EAAE;CAuB7D"}
|
|
@@ -0,0 +1,163 @@
|
|
|
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
|
+
exports.AiConfigurationBreadcrumbsContribution = exports.AI_CONFIGURATION_BREADCRUMB_TYPE = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const ai_configuration_category_registry_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry");
|
|
24
|
+
const ai_configuration_selection_model_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model");
|
|
25
|
+
const ai_configuration_widget_1 = require("./ai-configuration-widget");
|
|
26
|
+
const ai_configuration_resource_1 = require("./ai-configuration-resource");
|
|
27
|
+
exports.AI_CONFIGURATION_BREADCRUMB_TYPE = Symbol('ai-configuration-breadcrumb');
|
|
28
|
+
/**
|
|
29
|
+
* Contributes real Theia breadcrumbs for the AI Configuration view. The view's resource URI is
|
|
30
|
+
* constant; the breadcrumb path (category › item) is derived from the shared
|
|
31
|
+
* {@link AiConfigurationSelectionModel}, and clicking a segment opens a popup to jump to sibling
|
|
32
|
+
* categories/items — matching the editor breadcrumb UX and honoring the `breadcrumbs.enabled` setting.
|
|
33
|
+
*/
|
|
34
|
+
let AiConfigurationBreadcrumbsContribution = class AiConfigurationBreadcrumbsContribution {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.type = exports.AI_CONFIGURATION_BREADCRUMB_TYPE;
|
|
37
|
+
this.priority = 100;
|
|
38
|
+
this.onDidChangeBreadcrumbsEmitter = new core_1.Emitter();
|
|
39
|
+
}
|
|
40
|
+
get onDidChangeBreadcrumbs() {
|
|
41
|
+
return this.onDidChangeBreadcrumbsEmitter.event;
|
|
42
|
+
}
|
|
43
|
+
init() {
|
|
44
|
+
// Recompute the breadcrumbs whenever the in-view selection changes (URI stays constant).
|
|
45
|
+
this.selectionModel.onDidChangeSelection(() => this.onDidChangeBreadcrumbsEmitter.fire(ai_configuration_resource_1.AI_CONFIGURATION_RESOURCE_URI));
|
|
46
|
+
}
|
|
47
|
+
computeBreadcrumbs(uri) {
|
|
48
|
+
if (uri.scheme !== ai_configuration_resource_1.AI_CONFIGURATION_RESOURCE_SCHEME) {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
const selection = this.selectionModel.getSelection();
|
|
52
|
+
const category = selection ? this.registry.getCategory(selection.categoryId) : undefined;
|
|
53
|
+
const crumbs = [];
|
|
54
|
+
if (category) {
|
|
55
|
+
crumbs.push({
|
|
56
|
+
id: `category:${category.id}`,
|
|
57
|
+
type: this.type,
|
|
58
|
+
label: category.label,
|
|
59
|
+
longLabel: category.label,
|
|
60
|
+
iconClass: category.iconClass
|
|
61
|
+
});
|
|
62
|
+
if (selection?.itemId) {
|
|
63
|
+
const item = category.renderer.getTreeChildren?.().find(child => child.id === selection.itemId);
|
|
64
|
+
const label = item?.label ?? selection.itemId;
|
|
65
|
+
crumbs.push({
|
|
66
|
+
id: `item:${category.id}:${selection.itemId}`,
|
|
67
|
+
type: this.type,
|
|
68
|
+
label,
|
|
69
|
+
longLabel: label,
|
|
70
|
+
iconClass: item?.iconClass ?? category.iconClass
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (crumbs.length === 0) {
|
|
75
|
+
crumbs.push({
|
|
76
|
+
id: 'ai-configuration:root',
|
|
77
|
+
type: this.type,
|
|
78
|
+
label: core_1.nls.localize('theia/ai/ide/aiConfiguration/breadcrumbRoot', 'AI Configuration'),
|
|
79
|
+
longLabel: core_1.nls.localize('theia/ai/ide/aiConfiguration/breadcrumbRoot', 'AI Configuration'),
|
|
80
|
+
iconClass: (0, browser_1.codicon)('settings-gear')
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return crumbs;
|
|
84
|
+
}
|
|
85
|
+
async attachPopupContent(breadcrumb, parent) {
|
|
86
|
+
if (breadcrumb.type !== this.type) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
const entries = this.popupEntries(breadcrumb.id);
|
|
90
|
+
if (entries.length === 0) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
const list = document.createElement('ul');
|
|
94
|
+
list.className = 'theia-ai-configuration-breadcrumb-popup';
|
|
95
|
+
for (const entry of entries) {
|
|
96
|
+
const item = document.createElement('li');
|
|
97
|
+
item.className = 'theia-ai-configuration-breadcrumb-popup-item' + (entry.selected ? ' selected' : '');
|
|
98
|
+
if (entry.iconClass) {
|
|
99
|
+
const icon = document.createElement('span');
|
|
100
|
+
icon.className = `theia-ai-configuration-breadcrumb-popup-icon ${entry.iconClass}`;
|
|
101
|
+
item.appendChild(icon);
|
|
102
|
+
}
|
|
103
|
+
const label = document.createElement('span');
|
|
104
|
+
label.textContent = entry.label;
|
|
105
|
+
item.appendChild(label);
|
|
106
|
+
item.onclick = () => {
|
|
107
|
+
this.selectionModel.select(entry.selection);
|
|
108
|
+
// Move focus back to the view so the popup blurs and closes.
|
|
109
|
+
this.shell.activateWidget(ai_configuration_widget_1.AIConfigurationContainerWidget.ID);
|
|
110
|
+
};
|
|
111
|
+
list.appendChild(item);
|
|
112
|
+
}
|
|
113
|
+
parent.appendChild(list);
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
/** Sibling categories for a category breadcrumb, or sibling items for an item breadcrumb. */
|
|
117
|
+
popupEntries(breadcrumbId) {
|
|
118
|
+
const selection = this.selectionModel.getSelection();
|
|
119
|
+
if (breadcrumbId.startsWith('category:')) {
|
|
120
|
+
return this.registry.getCategories().map(category => ({
|
|
121
|
+
label: category.label,
|
|
122
|
+
iconClass: category.iconClass,
|
|
123
|
+
selection: { categoryId: category.id },
|
|
124
|
+
selected: category.id === selection?.categoryId
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
if (breadcrumbId.startsWith('item:')) {
|
|
128
|
+
const categoryId = breadcrumbId.split(':')[1];
|
|
129
|
+
const category = this.registry.getCategory(categoryId);
|
|
130
|
+
const items = category?.renderer.getTreeChildren?.() ?? [];
|
|
131
|
+
return items.map(item => ({
|
|
132
|
+
label: item.label,
|
|
133
|
+
iconClass: item.iconClass ?? category?.iconClass,
|
|
134
|
+
selection: { categoryId, itemId: item.id },
|
|
135
|
+
selected: item.id === selection?.itemId
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
exports.AiConfigurationBreadcrumbsContribution = AiConfigurationBreadcrumbsContribution;
|
|
142
|
+
tslib_1.__decorate([
|
|
143
|
+
(0, inversify_1.inject)(ai_configuration_selection_model_1.AiConfigurationSelectionModel),
|
|
144
|
+
tslib_1.__metadata("design:type", ai_configuration_selection_model_1.AiConfigurationSelectionModel)
|
|
145
|
+
], AiConfigurationBreadcrumbsContribution.prototype, "selectionModel", void 0);
|
|
146
|
+
tslib_1.__decorate([
|
|
147
|
+
(0, inversify_1.inject)(ai_configuration_category_registry_1.AiConfigurationCategoryRegistry),
|
|
148
|
+
tslib_1.__metadata("design:type", ai_configuration_category_registry_1.AiConfigurationCategoryRegistry)
|
|
149
|
+
], AiConfigurationBreadcrumbsContribution.prototype, "registry", void 0);
|
|
150
|
+
tslib_1.__decorate([
|
|
151
|
+
(0, inversify_1.inject)(browser_1.ApplicationShell),
|
|
152
|
+
tslib_1.__metadata("design:type", browser_1.ApplicationShell)
|
|
153
|
+
], AiConfigurationBreadcrumbsContribution.prototype, "shell", void 0);
|
|
154
|
+
tslib_1.__decorate([
|
|
155
|
+
(0, inversify_1.postConstruct)(),
|
|
156
|
+
tslib_1.__metadata("design:type", Function),
|
|
157
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
158
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
159
|
+
], AiConfigurationBreadcrumbsContribution.prototype, "init", null);
|
|
160
|
+
exports.AiConfigurationBreadcrumbsContribution = AiConfigurationBreadcrumbsContribution = tslib_1.__decorate([
|
|
161
|
+
(0, inversify_1.injectable)()
|
|
162
|
+
], AiConfigurationBreadcrumbsContribution);
|
|
163
|
+
//# sourceMappingURL=ai-configuration-breadcrumbs-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-breadcrumbs-contribution.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as React from '@theia/core/shared/react';
|
|
2
|
+
import { PreferenceService } from '@theia/core';
|
|
3
|
+
import { Message, ReactWidget } from '@theia/core/lib/browser';
|
|
4
|
+
import { AiConfigurationService } from '@theia/ai-core';
|
|
5
|
+
import { AiConfigurationCategoryRegistry } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry';
|
|
6
|
+
import { AiConfigurationSelectionModel } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model';
|
|
7
|
+
import { AiConfigurationCategory, AiConfigurationRenderContext, AiConfigurationScope, AiConfigurationSelection } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category';
|
|
8
|
+
export declare class AiConfigurationDetailWidget extends ReactWidget {
|
|
9
|
+
static readonly ID = "ai-configuration-detail";
|
|
10
|
+
/** Frames a pending search highlight waits for its target row to be mounted before it is dropped. */
|
|
11
|
+
static readonly HIGHLIGHT_RETRY_FRAMES = 10;
|
|
12
|
+
protected readonly registry: AiConfigurationCategoryRegistry;
|
|
13
|
+
protected readonly selectionModel: AiConfigurationSelectionModel;
|
|
14
|
+
protected readonly aiConfigurationService: AiConfigurationService;
|
|
15
|
+
protected readonly preferenceService: PreferenceService;
|
|
16
|
+
/** Scope every row on the page reads from and writes to; per-scope editing is not wired up yet. */
|
|
17
|
+
protected scope: AiConfigurationScope;
|
|
18
|
+
protected resetScroll: boolean;
|
|
19
|
+
protected pendingHighlight?: AiConfigurationSelection['highlight'];
|
|
20
|
+
/** Frames a pending highlight has already waited for its target row; see {@link applyScrollAndHighlight}. */
|
|
21
|
+
protected pendingHighlightFrames: number;
|
|
22
|
+
protected init(): void;
|
|
23
|
+
protected onSelectionChanged(): void;
|
|
24
|
+
protected createRenderContext(): AiConfigurationRenderContext;
|
|
25
|
+
protected render(): React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Selects the category whose item just disappeared. Deferred to a microtask: this runs during render, and
|
|
28
|
+
* selecting synchronously would re-enter the widget's update while React is still committing this one.
|
|
29
|
+
*/
|
|
30
|
+
protected selectCategoryAfterItemLoss(category: AiConfigurationCategory): void;
|
|
31
|
+
protected renderScopeBanner(): React.ReactNode;
|
|
32
|
+
protected renderBody(category: AiConfigurationCategory, selection: AiConfigurationSelection, ctx: AiConfigurationRenderContext): React.ReactNode;
|
|
33
|
+
/** Shared in-pane header for a category-level page: the category icon, name and optional description. */
|
|
34
|
+
protected renderCategoryHeader(category: AiConfigurationCategory): React.ReactNode;
|
|
35
|
+
protected renderComingSoon(category: AiConfigurationCategory): React.ReactNode;
|
|
36
|
+
protected renderPlaceholder(): React.ReactNode;
|
|
37
|
+
protected onUpdateRequest(msg: Message): void;
|
|
38
|
+
protected applyScrollAndHighlight(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Vertically centers `element` within `body` by scrolling that container and nothing else.
|
|
41
|
+
*
|
|
42
|
+
* Deliberately not `Element.scrollIntoView`: that scrolls *every* scrollable ancestor to satisfy the
|
|
43
|
+
* requested alignment, and `overflow: hidden` does not prevent programmatic scrolling. When a row cannot
|
|
44
|
+
* be centered inside the body alone, it therefore nudges the `overflow: hidden` containers above this
|
|
45
|
+
* widget, which have no scrollbar for the user to scroll back — shifting the whole shell, pushing the menu
|
|
46
|
+
* bar out of view and leaving a gap below the status bar.
|
|
47
|
+
*/
|
|
48
|
+
protected centerInBody(body: HTMLElement, element: HTMLElement): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=ai-configuration-detail-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-detail-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-detail-widget.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAW,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mFAAmF,CAAC;AACpI,OAAO,EAAE,6BAA6B,EAAE,MAAM,iFAAiF,CAAC;AAEhI,OAAO,EACH,uBAAuB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,wBAAwB,EACxG,MAAM,0EAA0E,CAAC;AAElF,qBACa,2BAA4B,SAAQ,WAAW;IAExD,MAAM,CAAC,QAAQ,CAAC,EAAE,6BAA6B;IAE/C,qGAAqG;IACrG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,MAAM;IAG5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAG7D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;IAGjE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,mGAAmG;IACnG,SAAS,CAAC,KAAK,EAAE,oBAAoB,CAAU;IAE/C,SAAS,CAAC,WAAW,UAAS;IAC9B,SAAS,CAAC,gBAAgB,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACnE,6GAA6G;IAC7G,SAAS,CAAC,sBAAsB,SAAK;IAGrC,SAAS,CAAC,IAAI,IAAI,IAAI;IAqBtB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAOpC,SAAS,CAAC,mBAAmB,IAAI,4BAA4B;IAQ7D,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAiBnC;;;OAGG;IACH,SAAS,CAAC,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAS9E,SAAS,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS;IAO9C,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAE,wBAAwB,EAAE,GAAG,EAAE,4BAA4B,GAAG,KAAK,CAAC,SAAS;IA6BhJ,yGAAyG;IACzG,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS;IAMlF,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS;IAM9E,SAAS,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS;cAM3B,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKtD,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAoCzC;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;CAQxE"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var AiConfigurationDetailWidget_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AiConfigurationDetailWidget = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
|
|
7
|
+
const core_1 = require("@theia/core");
|
|
8
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
9
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
10
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
11
|
+
const ai_configuration_category_registry_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry");
|
|
12
|
+
const ai_configuration_selection_model_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model");
|
|
13
|
+
const ai_configuration_primitives_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-configuration-primitives");
|
|
14
|
+
let AiConfigurationDetailWidget = class AiConfigurationDetailWidget extends browser_1.ReactWidget {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
/** Scope every row on the page reads from and writes to; per-scope editing is not wired up yet. */
|
|
18
|
+
this.scope = 'user';
|
|
19
|
+
this.resetScroll = false;
|
|
20
|
+
/** Frames a pending highlight has already waited for its target row; see {@link applyScrollAndHighlight}. */
|
|
21
|
+
this.pendingHighlightFrames = 0;
|
|
22
|
+
}
|
|
23
|
+
static { AiConfigurationDetailWidget_1 = this; }
|
|
24
|
+
static { this.ID = 'ai-configuration-detail'; }
|
|
25
|
+
/** Frames a pending search highlight waits for its target row to be mounted before it is dropped. */
|
|
26
|
+
static { this.HIGHLIGHT_RETRY_FRAMES = 10; }
|
|
27
|
+
init() {
|
|
28
|
+
this.id = AiConfigurationDetailWidget_1.ID;
|
|
29
|
+
this.addClass('ai-configuration-detail-widget');
|
|
30
|
+
// The page scrolls in its own inner `.ai-configuration-detail-body` (driven by
|
|
31
|
+
// `applyScrollAndHighlight`). Clear the default `ReactWidget` scroll options so that
|
|
32
|
+
// `BaseWidget` does not attach a PerfectScrollbar to the outer node, whose forced
|
|
33
|
+
// `overflow: hidden` and wheel handling would otherwise swallow the inner body's scroll.
|
|
34
|
+
this.scrollOptions = undefined;
|
|
35
|
+
this.toDispose.push(this.selectionModel.onDidChangeSelection(() => this.onSelectionChanged()));
|
|
36
|
+
this.toDispose.push(this.registry.onDidChange(() => this.update()));
|
|
37
|
+
// Also covers the workspace-trust transitions this service reports, which are not preference changes.
|
|
38
|
+
this.toDispose.push(this.aiConfigurationService.onDidChange(() => this.update()));
|
|
39
|
+
// Reflect preference changes made outside the current render pass — most notably the gear menu's
|
|
40
|
+
// Reset command, which runs as a command and so never calls `ctx.update()`. Listening here rather
|
|
41
|
+
// than only to `AiConfigurationService.onDidChange` (scoped to `ai-features.*`) keeps contributed
|
|
42
|
+
// categories up to date too: their preferences carry no AI prefix, so a reset of one used to leave
|
|
43
|
+
// the row's `modified` state stale until the page was re-rendered for some other reason.
|
|
44
|
+
this.toDispose.push(this.preferenceService.onPreferenceChanged(() => this.update()));
|
|
45
|
+
this.update();
|
|
46
|
+
}
|
|
47
|
+
onSelectionChanged() {
|
|
48
|
+
this.resetScroll = true;
|
|
49
|
+
this.pendingHighlight = this.selectionModel.getSelection()?.highlight;
|
|
50
|
+
this.pendingHighlightFrames = 0;
|
|
51
|
+
this.update();
|
|
52
|
+
}
|
|
53
|
+
createRenderContext() {
|
|
54
|
+
return {
|
|
55
|
+
scope: this.scope,
|
|
56
|
+
navigate: selection => this.selectionModel.select(selection),
|
|
57
|
+
update: () => this.update()
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
const selection = this.selectionModel.getSelection();
|
|
62
|
+
const category = selection && this.registry.getCategory(selection.categoryId);
|
|
63
|
+
if (!selection || !category) {
|
|
64
|
+
return this.renderPlaceholder();
|
|
65
|
+
}
|
|
66
|
+
const ctx = this.createRenderContext();
|
|
67
|
+
// The category/item path is shown as real Theia breadcrumbs in the shell tab bar
|
|
68
|
+
// (see AiConfigurationBreadcrumbsContribution), so no in-pane breadcrumb is rendered here.
|
|
69
|
+
return (0, jsx_runtime_1.jsxs)("div", { className: 'ai-configuration-detail-container', children: [this.scope !== 'user' && this.renderScopeBanner(), (0, jsx_runtime_1.jsx)("div", { className: 'ai-configuration-detail-body', children: this.renderBody(category, selection, ctx) })] });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Selects the category whose item just disappeared. Deferred to a microtask: this runs during render, and
|
|
73
|
+
* selecting synchronously would re-enter the widget's update while React is still committing this one.
|
|
74
|
+
*/
|
|
75
|
+
selectCategoryAfterItemLoss(category) {
|
|
76
|
+
queueMicrotask(() => {
|
|
77
|
+
const selection = this.selectionModel.getSelection();
|
|
78
|
+
if (selection?.categoryId === category.id && selection.itemId) {
|
|
79
|
+
this.selectionModel.select({ categoryId: category.id });
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
renderScopeBanner() {
|
|
84
|
+
return (0, jsx_runtime_1.jsxs)("div", { className: 'ai-configuration-detail-scope-banner', children: [(0, jsx_runtime_1.jsx)("span", { className: (0, browser_1.codicon)('info') }), (0, jsx_runtime_1.jsx)("span", { children: core_1.nls.localize('theia/ai/core/aiConfiguration/scopeBanner', 'Editing the {0} scope.', this.scope) })] });
|
|
85
|
+
}
|
|
86
|
+
renderBody(category, selection, ctx) {
|
|
87
|
+
const renderer = category.renderer;
|
|
88
|
+
// Item detail pages render their own header (id/status/actions), so they are returned as-is.
|
|
89
|
+
if (selection.itemId && renderer.renderItemDetail) {
|
|
90
|
+
const detail = renderer.renderItemDetail(selection.itemId, ctx);
|
|
91
|
+
if (detail) {
|
|
92
|
+
return detail;
|
|
93
|
+
}
|
|
94
|
+
// The item is gone (deleted while its page was open, e.g. an MCP server) and the renderer has
|
|
95
|
+
// nothing to show, which would leave a blank pane. Fall back to the category, and move the
|
|
96
|
+
// selection there so the tree and breadcrumbs agree with what is displayed.
|
|
97
|
+
this.selectCategoryAfterItemLoss(category);
|
|
98
|
+
}
|
|
99
|
+
// Category-level pages/overviews get a shared header showing the category name, so the page is
|
|
100
|
+
// titled in-pane (not only in the breadcrumb tab bar).
|
|
101
|
+
let content;
|
|
102
|
+
if (category.kind === 'collection' && renderer.renderOverview) {
|
|
103
|
+
content = renderer.renderOverview(ctx);
|
|
104
|
+
}
|
|
105
|
+
else if (renderer.renderPage) {
|
|
106
|
+
content = renderer.renderPage(ctx);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
content = this.renderComingSoon(category);
|
|
110
|
+
}
|
|
111
|
+
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [this.renderCategoryHeader(category), content] });
|
|
112
|
+
}
|
|
113
|
+
/** Shared in-pane header for a category-level page: the category icon, name and optional description. */
|
|
114
|
+
renderCategoryHeader(category) {
|
|
115
|
+
return (0, jsx_runtime_1.jsx)("div", { className: 'ai-configuration-category-header', children: (0, jsx_runtime_1.jsx)(ai_configuration_primitives_1.AiConfigurationItemDetailHeader, { title: category.label, iconClass: category.iconClass, subtitle: category.description }) });
|
|
116
|
+
}
|
|
117
|
+
renderComingSoon(category) {
|
|
118
|
+
return (0, jsx_runtime_1.jsx)("div", { className: 'ai-configuration-detail-placeholder', children: core_1.nls.localize('theia/ai/core/aiConfiguration/categoryComingSoon', '{0} configuration is not available yet.', category.label) });
|
|
119
|
+
}
|
|
120
|
+
renderPlaceholder() {
|
|
121
|
+
return (0, jsx_runtime_1.jsx)("div", { className: 'ai-configuration-detail-placeholder', children: core_1.nls.localize('theia/ai/core/aiConfiguration/selectCategory', 'Select a category to configure.') });
|
|
122
|
+
}
|
|
123
|
+
onUpdateRequest(msg) {
|
|
124
|
+
super.onUpdateRequest(msg);
|
|
125
|
+
this.applyScrollAndHighlight();
|
|
126
|
+
}
|
|
127
|
+
applyScrollAndHighlight() {
|
|
128
|
+
if (typeof window === 'undefined' || typeof window.requestAnimationFrame !== 'function') {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
window.requestAnimationFrame(() => {
|
|
132
|
+
const body = this.node.querySelector('.ai-configuration-detail-body');
|
|
133
|
+
if (!body) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (this.resetScroll && !this.pendingHighlight) {
|
|
137
|
+
body.scrollTop = 0;
|
|
138
|
+
}
|
|
139
|
+
this.resetScroll = false;
|
|
140
|
+
const highlight = this.pendingHighlight;
|
|
141
|
+
if (!highlight) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const element = body.querySelector(`[data-ai-config-row-id="${highlight.rowId}"]`);
|
|
145
|
+
if (element) {
|
|
146
|
+
this.pendingHighlight = undefined;
|
|
147
|
+
this.centerInBody(body, element);
|
|
148
|
+
element.classList.add('ai-configuration-row-flash');
|
|
149
|
+
window.setTimeout(() => element.classList.remove('ai-configuration-row-flash'), 1200);
|
|
150
|
+
}
|
|
151
|
+
else if (this.pendingHighlightFrames < AiConfigurationDetailWidget_1.HIGHLIGHT_RETRY_FRAMES) {
|
|
152
|
+
// Cross-category navigation renders the new page and the highlight target in the same pass,
|
|
153
|
+
// but categories that resolve their rows asynchronously (agents, providers) are still empty on
|
|
154
|
+
// this frame. Keep the highlight pending and look again rather than dropping it, which made
|
|
155
|
+
// scroll-and-flash fire only when the row happened to be mounted already.
|
|
156
|
+
this.pendingHighlightFrames++;
|
|
157
|
+
this.applyScrollAndHighlight();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
this.pendingHighlight = undefined;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Vertically centers `element` within `body` by scrolling that container and nothing else.
|
|
166
|
+
*
|
|
167
|
+
* Deliberately not `Element.scrollIntoView`: that scrolls *every* scrollable ancestor to satisfy the
|
|
168
|
+
* requested alignment, and `overflow: hidden` does not prevent programmatic scrolling. When a row cannot
|
|
169
|
+
* be centered inside the body alone, it therefore nudges the `overflow: hidden` containers above this
|
|
170
|
+
* widget, which have no scrollbar for the user to scroll back — shifting the whole shell, pushing the menu
|
|
171
|
+
* bar out of view and leaving a gap below the status bar.
|
|
172
|
+
*/
|
|
173
|
+
centerInBody(body, element) {
|
|
174
|
+
const bodyRect = body.getBoundingClientRect();
|
|
175
|
+
const elementRect = element.getBoundingClientRect();
|
|
176
|
+
const current = elementRect.top - bodyRect.top;
|
|
177
|
+
const centered = (body.clientHeight - elementRect.height) / 2;
|
|
178
|
+
// Assigning `scrollTop` clamps to the scrollable range, so short pages simply do not scroll.
|
|
179
|
+
body.scrollTop += current - centered;
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
exports.AiConfigurationDetailWidget = AiConfigurationDetailWidget;
|
|
183
|
+
tslib_1.__decorate([
|
|
184
|
+
(0, inversify_1.inject)(ai_configuration_category_registry_1.AiConfigurationCategoryRegistry),
|
|
185
|
+
tslib_1.__metadata("design:type", ai_configuration_category_registry_1.AiConfigurationCategoryRegistry)
|
|
186
|
+
], AiConfigurationDetailWidget.prototype, "registry", void 0);
|
|
187
|
+
tslib_1.__decorate([
|
|
188
|
+
(0, inversify_1.inject)(ai_configuration_selection_model_1.AiConfigurationSelectionModel),
|
|
189
|
+
tslib_1.__metadata("design:type", ai_configuration_selection_model_1.AiConfigurationSelectionModel)
|
|
190
|
+
], AiConfigurationDetailWidget.prototype, "selectionModel", void 0);
|
|
191
|
+
tslib_1.__decorate([
|
|
192
|
+
(0, inversify_1.inject)(ai_core_1.AiConfigurationService),
|
|
193
|
+
tslib_1.__metadata("design:type", Object)
|
|
194
|
+
], AiConfigurationDetailWidget.prototype, "aiConfigurationService", void 0);
|
|
195
|
+
tslib_1.__decorate([
|
|
196
|
+
(0, inversify_1.inject)(core_1.PreferenceService),
|
|
197
|
+
tslib_1.__metadata("design:type", Object)
|
|
198
|
+
], AiConfigurationDetailWidget.prototype, "preferenceService", void 0);
|
|
199
|
+
tslib_1.__decorate([
|
|
200
|
+
(0, inversify_1.postConstruct)(),
|
|
201
|
+
tslib_1.__metadata("design:type", Function),
|
|
202
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
203
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
204
|
+
], AiConfigurationDetailWidget.prototype, "init", null);
|
|
205
|
+
exports.AiConfigurationDetailWidget = AiConfigurationDetailWidget = AiConfigurationDetailWidget_1 = tslib_1.__decorate([
|
|
206
|
+
(0, inversify_1.injectable)()
|
|
207
|
+
], AiConfigurationDetailWidget);
|
|
208
|
+
//# sourceMappingURL=ai-configuration-detail-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-detail-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-detail-widget.tsx"],"names":[],"mappings":"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"}
|