@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 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-detail-widget.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-detail-widget.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,139 @@
|
|
|
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_detail_widget_1 = require("./ai-configuration-detail-widget");
|
|
24
|
+
disableJSDOM();
|
|
25
|
+
/**
|
|
26
|
+
* Exercises the selection → detail dispatch logic of {@link AiConfigurationDetailWidget#renderBody}
|
|
27
|
+
* in isolation. `renderBody` only consumes its arguments (not the injected registry/selection model),
|
|
28
|
+
* so we invoke it on a prototype instance without spinning up the DI container or a DOM.
|
|
29
|
+
*/
|
|
30
|
+
describe('AiConfigurationDetailWidget dispatch', () => {
|
|
31
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
32
|
+
after(() => disableJSDOM());
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
+
const widget = Object.create(ai_configuration_detail_widget_1.AiConfigurationDetailWidget.prototype);
|
|
35
|
+
const ctx = {};
|
|
36
|
+
function category(kind, renderer) {
|
|
37
|
+
return { id: 'c', label: 'C', iconClass: 'codicon codicon-gear', kind, renderer };
|
|
38
|
+
}
|
|
39
|
+
function renderBody(cat, selection) {
|
|
40
|
+
return widget.renderBody(cat, selection, ctx);
|
|
41
|
+
}
|
|
42
|
+
// Category-level views are wrapped as `<>{categoryHeader}{content}</>`; the content is the second child.
|
|
43
|
+
// Item-detail views are returned as-is (they render their own header).
|
|
44
|
+
function contentOf(cat, selection) {
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
return renderBody(cat, selection).props.children[1];
|
|
47
|
+
}
|
|
48
|
+
it('renders the item detail as-is when an item is selected and the renderer supports it', () => {
|
|
49
|
+
const cat = category('collection', {
|
|
50
|
+
renderItemDetail: itemId => `detail:${itemId}`,
|
|
51
|
+
renderOverview: () => 'overview'
|
|
52
|
+
});
|
|
53
|
+
(0, chai_1.expect)(renderBody(cat, { categoryId: 'c', itemId: 'a' })).to.equal('detail:a');
|
|
54
|
+
});
|
|
55
|
+
it('falls back to the overview when an item is selected but the renderer has no item detail', () => {
|
|
56
|
+
const cat = category('collection', { renderOverview: () => 'overview' });
|
|
57
|
+
(0, chai_1.expect)(contentOf(cat, { categoryId: 'c', itemId: 'a' })).to.equal('overview');
|
|
58
|
+
});
|
|
59
|
+
it('renders the overview for a collection without an item selection', () => {
|
|
60
|
+
const cat = category('collection', { renderOverview: () => 'overview', renderPage: () => 'page' });
|
|
61
|
+
(0, chai_1.expect)(contentOf(cat, { categoryId: 'c' })).to.equal('overview');
|
|
62
|
+
});
|
|
63
|
+
it('renders the page for a single-page category', () => {
|
|
64
|
+
const cat = category('single-page', { renderPage: () => 'page' });
|
|
65
|
+
(0, chai_1.expect)(contentOf(cat, { categoryId: 'c' })).to.equal('page');
|
|
66
|
+
});
|
|
67
|
+
it('shows the coming-soon placeholder when the renderer provides no applicable method', () => {
|
|
68
|
+
const cat = category('single-page', {});
|
|
69
|
+
// The placeholder is a <div> element rather than a plain renderer return value.
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
71
|
+
(0, chai_1.expect)(contentOf(cat, { categoryId: 'c' }).type).to.equal('div');
|
|
72
|
+
});
|
|
73
|
+
it('prefixes category-level views with the shared category header', () => {
|
|
74
|
+
const cat = category('single-page', { renderPage: () => 'page' });
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
76
|
+
const header = renderBody(cat, { categoryId: 'c' }).props.children[0];
|
|
77
|
+
(0, chai_1.expect)(header.props.className).to.contain('ai-configuration-category-header');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Pins the scrolling arithmetic of {@link AiConfigurationDetailWidget#centerInBody} and, more importantly,
|
|
82
|
+
* that it writes only the scroll container.
|
|
83
|
+
*
|
|
84
|
+
* The predecessor was `element.scrollIntoView({ block: 'center' })`, which also scrolls every scrollable
|
|
85
|
+
* ancestor — and `overflow: hidden` does not prevent programmatic scrolling, so it shifted the containers
|
|
86
|
+
* above the widget, taking the menu bar out of view. JSDOM performs no layout, so the rects and
|
|
87
|
+
* `clientHeight` are stubbed; it also does not implement `scrollIntoView`, so reverting to it fails every
|
|
88
|
+
* assertion here (verified by patching the method back).
|
|
89
|
+
*/
|
|
90
|
+
describe('AiConfigurationDetailWidget centerInBody', () => {
|
|
91
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
92
|
+
after(() => disableJSDOM());
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
|
+
const widget = Object.create(ai_configuration_detail_widget_1.AiConfigurationDetailWidget.prototype);
|
|
95
|
+
/** An element whose `scrollTop` is a plain writable property, since JSDOM would otherwise clamp it to 0. */
|
|
96
|
+
function scrollable(rect, clientHeight) {
|
|
97
|
+
const element = document.createElement('div');
|
|
98
|
+
Object.defineProperty(element, 'scrollTop', { value: 0, writable: true });
|
|
99
|
+
if (clientHeight !== undefined) {
|
|
100
|
+
Object.defineProperty(element, 'clientHeight', { value: clientHeight });
|
|
101
|
+
}
|
|
102
|
+
element.getBoundingClientRect = () => ({ top: rect.top, height: rect.height });
|
|
103
|
+
return element;
|
|
104
|
+
}
|
|
105
|
+
/** A body scrolled within an ancestor, so the test can assert the ancestor is left alone. */
|
|
106
|
+
function hierarchy(elementTop) {
|
|
107
|
+
const ancestor = scrollable({ top: 0, height: 600 }, 600);
|
|
108
|
+
const body = scrollable({ top: 100, height: 400 }, 400);
|
|
109
|
+
const element = scrollable({ top: elementTop, height: 40 });
|
|
110
|
+
ancestor.appendChild(body);
|
|
111
|
+
body.appendChild(element);
|
|
112
|
+
return { ancestor, body, element };
|
|
113
|
+
}
|
|
114
|
+
it('scrolls the container so the row is vertically centred', () => {
|
|
115
|
+
const { body, element } = hierarchy(500);
|
|
116
|
+
// Row sits 400px below the body's top; centring it in a 400px viewport puts it at (400 - 40) / 2 = 180.
|
|
117
|
+
widget.centerInBody(body, element);
|
|
118
|
+
(0, chai_1.expect)(body.scrollTop).to.equal(220);
|
|
119
|
+
});
|
|
120
|
+
it('leaves the scroll position alone when the row is already centred', () => {
|
|
121
|
+
const { body, element } = hierarchy(280);
|
|
122
|
+
widget.centerInBody(body, element);
|
|
123
|
+
(0, chai_1.expect)(body.scrollTop).to.equal(0);
|
|
124
|
+
});
|
|
125
|
+
it('scrolls back up for a row above the centre', () => {
|
|
126
|
+
const { body, element } = hierarchy(120);
|
|
127
|
+
// 20px below the body's top, so it has to scroll up by 160 to reach the centre.
|
|
128
|
+
body.scrollTop = 300;
|
|
129
|
+
widget.centerInBody(body, element);
|
|
130
|
+
(0, chai_1.expect)(body.scrollTop).to.equal(140);
|
|
131
|
+
});
|
|
132
|
+
it('never scrolls an ancestor of the container', () => {
|
|
133
|
+
const { ancestor, body, element } = hierarchy(500);
|
|
134
|
+
widget.centerInBody(body, element);
|
|
135
|
+
(0, chai_1.expect)(body.scrollTop, 'the container itself should have scrolled').to.not.equal(0);
|
|
136
|
+
(0, chai_1.expect)(ancestor.scrollTop, 'scrolling an ancestor shifts the whole shell').to.equal(0);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=ai-configuration-detail-widget.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-detail-widget.spec.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-detail-widget.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LabelProviderContribution } from '@theia/core/lib/browser/label-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Labels the AI Configuration view's constant resource URI (see {@link AI_CONFIGURATION_RESOURCE_URI}).
|
|
4
|
+
* The view is a {@link NavigatableWidget} so the shell renders breadcrumbs for it; without this, the
|
|
5
|
+
* window title updater would fall back to the URI's (empty) path and show `/` instead of a readable name.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AiConfigurationLabelProviderContribution implements LabelProviderContribution {
|
|
8
|
+
canHandle(element: object): number;
|
|
9
|
+
getName(): string;
|
|
10
|
+
getLongName(): string;
|
|
11
|
+
getIcon(): string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ai-configuration-label-provider-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-label-provider-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-label-provider-contribution.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAKnF;;;;GAIG;AACH,qBACa,wCAAyC,YAAW,yBAAyB;IAEtF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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.AiConfigurationLabelProviderContribution = 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 uri_1 = require("@theia/core/lib/common/uri");
|
|
23
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const ai_configuration_resource_1 = require("./ai-configuration-resource");
|
|
25
|
+
/**
|
|
26
|
+
* Labels the AI Configuration view's constant resource URI (see {@link AI_CONFIGURATION_RESOURCE_URI}).
|
|
27
|
+
* The view is a {@link NavigatableWidget} so the shell renders breadcrumbs for it; without this, the
|
|
28
|
+
* window title updater would fall back to the URI's (empty) path and show `/` instead of a readable name.
|
|
29
|
+
*/
|
|
30
|
+
let AiConfigurationLabelProviderContribution = class AiConfigurationLabelProviderContribution {
|
|
31
|
+
canHandle(element) {
|
|
32
|
+
return element instanceof uri_1.default && element.scheme === ai_configuration_resource_1.AI_CONFIGURATION_RESOURCE_SCHEME ? 200 : 0;
|
|
33
|
+
}
|
|
34
|
+
getName() {
|
|
35
|
+
return core_1.nls.localize('theia/ai/ide/aiConfiguration/breadcrumbRoot', 'AI Configuration');
|
|
36
|
+
}
|
|
37
|
+
getLongName() {
|
|
38
|
+
return this.getName();
|
|
39
|
+
}
|
|
40
|
+
getIcon() {
|
|
41
|
+
return (0, browser_1.codicon)('settings-gear');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.AiConfigurationLabelProviderContribution = AiConfigurationLabelProviderContribution;
|
|
45
|
+
exports.AiConfigurationLabelProviderContribution = AiConfigurationLabelProviderContribution = tslib_1.__decorate([
|
|
46
|
+
(0, inversify_1.injectable)()
|
|
47
|
+
], AiConfigurationLabelProviderContribution);
|
|
48
|
+
//# sourceMappingURL=ai-configuration-label-provider-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-label-provider-contribution.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-label-provider-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAAkC;AAClC,qDAAkD;AAElD,oDAA6C;AAC7C,4DAA0D;AAC1D,2EAA+E;AAE/E;;;;GAIG;AAEI,IAAM,wCAAwC,GAA9C,MAAM,wCAAwC;IAEjD,SAAS,CAAC,OAAe;QACrB,OAAO,OAAO,YAAY,aAAG,IAAI,OAAO,CAAC,MAAM,KAAK,4DAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,OAAO;QACH,OAAO,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,kBAAkB,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAA,iBAAO,EAAC,eAAe,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AAjBY,4FAAwC;mDAAxC,wCAAwC;IADpD,IAAA,sBAAU,GAAE;GACA,wCAAwC,CAiBpD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
2
|
+
import { CommandService } from '@theia/core';
|
|
3
|
+
import { PreferenceLeafNodeRenderer, PreferenceNodeRenderer } from '@theia/preferences/lib/browser/views/components/preference-node-renderer';
|
|
4
|
+
import { PreferenceLeafNodeRendererContribution } from '@theia/preferences/lib/browser/views/components/preference-node-renderer-creator';
|
|
5
|
+
import { Preference } from '@theia/preferences/lib/browser/util/preference-types';
|
|
6
|
+
/**
|
|
7
|
+
* Renders the {@link AI_CONFIGURATION_OPEN_PREFERENCE_ID} placeholder (shown where the AI
|
|
8
|
+
* preferences used to live in the Settings UI) as a button that opens the AI Configuration view.
|
|
9
|
+
*/
|
|
10
|
+
export declare class AiConfigurationOpenPreferenceRenderer extends PreferenceLeafNodeRenderer<null, HTMLElement> {
|
|
11
|
+
protected readonly commandService: CommandService;
|
|
12
|
+
protected createInteractable(container: HTMLElement): void;
|
|
13
|
+
protected getFallbackValue(): null;
|
|
14
|
+
protected doHandleValueChange(): void;
|
|
15
|
+
}
|
|
16
|
+
export declare class AiConfigurationOpenPreferenceRendererContribution extends PreferenceLeafNodeRendererContribution {
|
|
17
|
+
static ID: string;
|
|
18
|
+
id: string;
|
|
19
|
+
canHandleLeafNode(node: Preference.LeafNode): number;
|
|
20
|
+
createLeafNodeRenderer(container: interfaces.Container): PreferenceNodeRenderer;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ai-configuration-open-preference-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-open-preference-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-open-preference-renderer.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAsB,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,0EAA0E,CAAC;AAC9I,OAAO,EAAE,sCAAsC,EAAE,MAAM,kFAAkF,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAGlF;;;GAGG;AACH,qBACa,qCAAsC,SAAQ,0BAA0B,CAAC,IAAI,EAAE,WAAW,CAAC;IAGpG,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAS1D,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAKlC,SAAS,CAAC,mBAAmB,IAAI,IAAI;CACxC;AAED,qBACa,iDAAkD,SAAQ,sCAAsC;IACzG,MAAM,CAAC,EAAE,SAA+C;IACxD,EAAE,SAAwD;IAE1D,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,MAAM;IAIpD,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,GAAG,sBAAsB;CAGlF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
var AiConfigurationOpenPreferenceRendererContribution_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.AiConfigurationOpenPreferenceRendererContribution = exports.AiConfigurationOpenPreferenceRenderer = void 0;
|
|
20
|
+
const tslib_1 = require("tslib");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const browser_1 = require("@theia/ai-core/lib/browser");
|
|
24
|
+
const preference_node_renderer_1 = require("@theia/preferences/lib/browser/views/components/preference-node-renderer");
|
|
25
|
+
const preference_node_renderer_creator_1 = require("@theia/preferences/lib/browser/views/components/preference-node-renderer-creator");
|
|
26
|
+
const ai_configuration_view_contribution_1 = require("./ai-configuration-view-contribution");
|
|
27
|
+
/**
|
|
28
|
+
* Renders the {@link AI_CONFIGURATION_OPEN_PREFERENCE_ID} placeholder (shown where the AI
|
|
29
|
+
* preferences used to live in the Settings UI) as a button that opens the AI Configuration view.
|
|
30
|
+
*/
|
|
31
|
+
let AiConfigurationOpenPreferenceRenderer = class AiConfigurationOpenPreferenceRenderer extends preference_node_renderer_1.PreferenceLeafNodeRenderer {
|
|
32
|
+
createInteractable(container) {
|
|
33
|
+
const button = document.createElement('button');
|
|
34
|
+
button.classList.add('theia-button', 'main');
|
|
35
|
+
button.textContent = core_1.nls.localize('theia/ai/ide/aiConfiguration/openButton', 'Open AI Configuration');
|
|
36
|
+
button.onclick = () => this.commandService.executeCommand(ai_configuration_view_contribution_1.OPEN_AI_CONFIG_VIEW.id);
|
|
37
|
+
this.interactable = button;
|
|
38
|
+
container.appendChild(button);
|
|
39
|
+
}
|
|
40
|
+
getFallbackValue() {
|
|
41
|
+
// eslint-disable-next-line no-null/no-null
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
doHandleValueChange() { }
|
|
45
|
+
};
|
|
46
|
+
exports.AiConfigurationOpenPreferenceRenderer = AiConfigurationOpenPreferenceRenderer;
|
|
47
|
+
tslib_1.__decorate([
|
|
48
|
+
(0, inversify_1.inject)(core_1.CommandService),
|
|
49
|
+
tslib_1.__metadata("design:type", Object)
|
|
50
|
+
], AiConfigurationOpenPreferenceRenderer.prototype, "commandService", void 0);
|
|
51
|
+
exports.AiConfigurationOpenPreferenceRenderer = AiConfigurationOpenPreferenceRenderer = tslib_1.__decorate([
|
|
52
|
+
(0, inversify_1.injectable)()
|
|
53
|
+
], AiConfigurationOpenPreferenceRenderer);
|
|
54
|
+
let AiConfigurationOpenPreferenceRendererContribution = class AiConfigurationOpenPreferenceRendererContribution extends preference_node_renderer_creator_1.PreferenceLeafNodeRendererContribution {
|
|
55
|
+
constructor() {
|
|
56
|
+
super(...arguments);
|
|
57
|
+
this.id = AiConfigurationOpenPreferenceRendererContribution_1.ID;
|
|
58
|
+
}
|
|
59
|
+
static { AiConfigurationOpenPreferenceRendererContribution_1 = this; }
|
|
60
|
+
static { this.ID = 'ai-configuration-open-preference-renderer'; }
|
|
61
|
+
canHandleLeafNode(node) {
|
|
62
|
+
return node.preferenceId === browser_1.AI_CONFIGURATION_OPEN_PREFERENCE_ID ? 100 : 0;
|
|
63
|
+
}
|
|
64
|
+
createLeafNodeRenderer(container) {
|
|
65
|
+
return container.get(AiConfigurationOpenPreferenceRenderer);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.AiConfigurationOpenPreferenceRendererContribution = AiConfigurationOpenPreferenceRendererContribution;
|
|
69
|
+
exports.AiConfigurationOpenPreferenceRendererContribution = AiConfigurationOpenPreferenceRendererContribution = AiConfigurationOpenPreferenceRendererContribution_1 = tslib_1.__decorate([
|
|
70
|
+
(0, inversify_1.injectable)()
|
|
71
|
+
], AiConfigurationOpenPreferenceRendererContribution);
|
|
72
|
+
//# sourceMappingURL=ai-configuration-open-preference-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-open-preference-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-open-preference-renderer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,4DAA8E;AAC9E,sCAAkD;AAClD,wDAAiF;AACjF,uHAA8I;AAC9I,uIAA0I;AAE1I,6FAA2E;AAE3E;;;GAGG;AAEI,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,qDAA6C;IAK1F,kBAAkB,CAAC,SAAsB;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EAAE,uBAAuB,CAAC,CAAC;QACtG,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,wDAAmB,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAES,gBAAgB;QACtB,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,mBAAmB,KAAW,CAAC;CAC5C,CAAA;AApBY,sFAAqC;AAG3B;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;;6EAC2B;gDAHzC,qCAAqC;IADjD,IAAA,sBAAU,GAAE;GACA,qCAAqC,CAoBjD;AAGM,IAAM,iDAAiD,GAAvD,MAAM,iDAAkD,SAAQ,yEAAsC;IAAtG;;QAEH,OAAE,GAAG,mDAAiD,CAAC,EAAE,CAAC;IAS9D,CAAC;;aAVU,OAAE,GAAG,2CAA2C,AAA9C,CAA+C;IAGxD,iBAAiB,CAAC,IAAyB;QACvC,OAAO,IAAI,CAAC,YAAY,KAAK,6CAAmC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,sBAAsB,CAAC,SAA+B;QAClD,OAAO,SAAS,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAChE,CAAC;;AAVQ,8GAAiD;4DAAjD,iDAAiD;IAD7D,IAAA,sBAAU,GAAE;GACA,iDAAiD,CAW7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-preference-ownership.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-preference-ownership.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,126 @@
|
|
|
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 by the categories) extends the DragEvent DOM global at
|
|
21
|
+
// module load, which JSDOM does not provide; stub it so the imports succeed.
|
|
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
|
+
// Mocha loads every spec into one process and `set` throws if called twice, so guard it.
|
|
30
|
+
try {
|
|
31
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.get();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
35
|
+
}
|
|
36
|
+
const chai_1 = require("chai");
|
|
37
|
+
const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
|
|
38
|
+
const agent_preferences_1 = require("@theia/ai-core/lib/common/agent-preferences");
|
|
39
|
+
const ai_chat_preferences_1 = require("@theia/ai-chat/lib/common/ai-chat-preferences");
|
|
40
|
+
const chat_tool_preferences_1 = require("@theia/ai-chat/lib/common/chat-tool-preferences");
|
|
41
|
+
const shell_command_preferences_1 = require("@theia/ai-terminal/lib/common/shell-command-preferences");
|
|
42
|
+
const ai_ide_preferences_1 = require("../../common/ai-ide-preferences");
|
|
43
|
+
const general_configuration_category_1 = require("./categories/general-configuration-category");
|
|
44
|
+
const agents_configuration_category_1 = require("./categories/agents-configuration-category");
|
|
45
|
+
const tools_configuration_category_1 = require("./categories/tools-configuration-category");
|
|
46
|
+
const model_aliases_configuration_category_1 = require("./categories/model-aliases-configuration-category");
|
|
47
|
+
const prompts_and_skills_configuration_category_1 = require("./categories/prompts-and-skills-configuration-category");
|
|
48
|
+
disableJSDOM();
|
|
49
|
+
/**
|
|
50
|
+
* The schemas that declare the `ai-features.*` preferences the categories below claim. Kept explicit
|
|
51
|
+
* rather than read from a live `PreferenceSchemaService`, so the check does not depend on DI.
|
|
52
|
+
*/
|
|
53
|
+
const SCHEMAS = [
|
|
54
|
+
ai_core_preferences_1.aiCorePreferenceSchema,
|
|
55
|
+
agent_preferences_1.AgentSettingsPreferenceSchema,
|
|
56
|
+
ai_chat_preferences_1.aiChatPreferences,
|
|
57
|
+
chat_tool_preferences_1.chatToolPreferences,
|
|
58
|
+
shell_command_preferences_1.shellCommandPreferences,
|
|
59
|
+
ai_ide_preferences_1.aiIdePreferenceSchema
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Categories with a statically declared ownership list. `ModelsConfigurationCategory` derives its ids
|
|
63
|
+
* from the registered schema at runtime and `McpServersConfigurationCategory` lives in `@theia/ai-mcp`
|
|
64
|
+
* (not a dependency of this package), so neither is covered here.
|
|
65
|
+
*/
|
|
66
|
+
function ownershipByCategory() {
|
|
67
|
+
const categories = [
|
|
68
|
+
new general_configuration_category_1.GeneralConfigurationCategory(),
|
|
69
|
+
new agents_configuration_category_1.AgentsConfigurationCategory(),
|
|
70
|
+
new tools_configuration_category_1.ToolsConfigurationCategory(),
|
|
71
|
+
new model_aliases_configuration_category_1.ModelAliasesConfigurationCategory(),
|
|
72
|
+
new prompts_and_skills_configuration_category_1.PromptsAndSkillsConfigurationCategory()
|
|
73
|
+
];
|
|
74
|
+
return new Map(categories.map(category => [category.id, category.getOwnedPreferenceIds()]));
|
|
75
|
+
}
|
|
76
|
+
describe('AI configuration preference ownership', () => {
|
|
77
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
78
|
+
after(() => disableJSDOM());
|
|
79
|
+
it('reads a non-empty schema and ownership set (guards the checks below against passing vacuously)', () => {
|
|
80
|
+
const declared = SCHEMAS.flatMap(schema => Object.keys(schema.properties ?? {}));
|
|
81
|
+
(0, chai_1.expect)(declared).to.include('ai-features.AiEnable.enableAI');
|
|
82
|
+
for (const [categoryId, ownedIds] of ownershipByCategory()) {
|
|
83
|
+
(0, chai_1.expect)(ownedIds, `${categoryId} declares no owned preference ids`).to.not.be.empty;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
it('claims only preference ids that a schema actually declares', () => {
|
|
87
|
+
const declared = new Set(SCHEMAS.flatMap(schema => Object.keys(schema.properties ?? {})));
|
|
88
|
+
const unknown = [];
|
|
89
|
+
for (const [categoryId, ownedIds] of ownershipByCategory()) {
|
|
90
|
+
for (const preferenceId of ownedIds) {
|
|
91
|
+
if (!declared.has(preferenceId)) {
|
|
92
|
+
unknown.push(`${categoryId} -> ${preferenceId}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// A typo or a renamed preference makes the id unclaimed, so General's catch-all silently renders it
|
|
97
|
+
// a second time. Nothing else fails, which is why this is worth asserting.
|
|
98
|
+
(0, chai_1.expect)(unknown, `categories claim preference ids that no schema declares: ${unknown.join(', ')}`).to.be.empty;
|
|
99
|
+
});
|
|
100
|
+
it('never lets two categories claim the same preference id', () => {
|
|
101
|
+
const owners = new Map();
|
|
102
|
+
for (const [categoryId, ownedIds] of ownershipByCategory()) {
|
|
103
|
+
for (const preferenceId of ownedIds) {
|
|
104
|
+
owners.set(preferenceId, [...(owners.get(preferenceId) ?? []), categoryId]);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const contested = [...owners.entries()]
|
|
108
|
+
.filter(([, categoryIds]) => categoryIds.length > 1)
|
|
109
|
+
.map(([preferenceId, categoryIds]) => `${preferenceId} (${categoryIds.join(', ')})`);
|
|
110
|
+
(0, chai_1.expect)(contested, `preference ids claimed more than once: ${contested.join(', ')}`).to.be.empty;
|
|
111
|
+
});
|
|
112
|
+
it('claims every id it renders as a row, so the General catch-all does not duplicate it', () => {
|
|
113
|
+
// The ownership contract only holds if a category claims what it renders. Spot-check the two
|
|
114
|
+
// categories whose rows are hand-authored (rather than derived from their ownership list).
|
|
115
|
+
const general = new general_configuration_category_1.GeneralConfigurationCategory();
|
|
116
|
+
const agents = new agents_configuration_category_1.AgentsConfigurationCategory();
|
|
117
|
+
const generalOwned = new Set(general.getOwnedPreferenceIds());
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
119
|
+
const generalRendered = general.getSectionRefs().map(ref => ref.preferenceId);
|
|
120
|
+
const missing = generalRendered.filter(preferenceId => !generalOwned.has(preferenceId));
|
|
121
|
+
(0, chai_1.expect)(missing, `General renders rows it does not claim: ${missing.join(', ')}`).to.be.empty;
|
|
122
|
+
// The agent page's own rows are covered by its ownership list too.
|
|
123
|
+
(0, chai_1.expect)(agents.getOwnedPreferenceIds()).to.include('ai-features.agentSettings');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=ai-configuration-preference-ownership.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-preference-ownership.spec.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-preference-ownership.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,8DAAiE;AACjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEjC,kGAAkG;AAClG,6EAA6E;AAC7E,8DAA8D;AAC9D,IAAI,CAAE,MAAc,CAAC,SAAS,EAAE,CAAC;IAC7B,8DAA8D;IAC7D,MAAc,CAAC,SAAS,GAAG,MAAM,SAAU,SAAS,MAAc,CAAC,KAAK;KAAI,CAAC;AAClF,CAAC;AAED,uHAAiH;AACjH,yFAAyF;AACzF,IAAI,CAAC;IACD,wEAAiC,CAAC,GAAG,EAAE,CAAC;AAC5C,CAAC;AAAC,MAAM,CAAC;IACL,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,+BAA8B;AAE9B,uFAAuF;AACvF,mFAA4F;AAC5F,uFAAkF;AAClF,2FAAsF;AACtF,uGAAkG;AAClG,wEAAwE;AACxE,gGAA2F;AAC3F,8FAAyF;AACzF,4FAAuF;AACvF,4GAAsG;AACtG,sHAA+G;AAE/G,YAAY,EAAE,CAAC;AAEf;;;GAGG;AACH,MAAM,OAAO,GAAuB;IAChC,4CAAsB;IACtB,iDAA6B;IAC7B,uCAAiB;IACjB,2CAAmB;IACnB,mDAAuB;IACvB,0CAAqB;CACxB,CAAC;AAEF;;;;GAIG;AACH,SAAS,mBAAmB;IACxB,MAAM,UAAU,GAAG;QACf,IAAI,6DAA4B,EAAE;QAClC,IAAI,2DAA2B,EAAE;QACjC,IAAI,yDAA0B,EAAE;QAChC,IAAI,wEAAiC,EAAE;QACvC,IAAI,iFAAqC,EAAE;KAC9C,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAEnD,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAE5B,EAAE,CAAC,gGAAgG,EAAE,GAAG,EAAE;QACtG,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC;YACzD,IAAA,aAAM,EAAC,QAAQ,EAAE,GAAG,UAAU,mCAAmC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QACvF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC;YACzD,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,OAAO,YAAY,EAAE,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;QACD,oGAAoG;QACpG,2EAA2E;QAC3E,IAAA,aAAM,EAAC,OAAO,EAAE,4DAA4D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC;YACzD,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aACnD,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAA,aAAM,EAAC,SAAS,EAAE,0CAA0C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC3F,6FAA6F;QAC7F,2FAA2F;QAC3F,MAAM,OAAO,GAAG,IAAI,6DAA4B,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,2DAA2B,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC9D,8DAA8D;QAC9D,MAAM,eAAe,GAAK,OAAe,CAAC,cAAc,EAAiC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvH,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACxF,IAAA,aAAM,EAAC,OAAO,EAAE,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7F,mEAAmE;QACnE,IAAA,aAAM,EAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import URI from '@theia/core/lib/common/uri';
|
|
2
|
+
/** URI scheme identifying the AI Configuration view for Theia's breadcrumbs infrastructure. */
|
|
3
|
+
export declare const AI_CONFIGURATION_RESOURCE_SCHEME = "ai-configuration";
|
|
4
|
+
/**
|
|
5
|
+
* The stable resource URI of the AI Configuration view. It is constant (the current
|
|
6
|
+
* category/item is read from the selection model), mirroring how an editor keeps its file URI
|
|
7
|
+
* while its breadcrumb content changes with the cursor.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AI_CONFIGURATION_RESOURCE_URI: URI;
|
|
10
|
+
//# sourceMappingURL=ai-configuration-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-resource.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-resource.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,+FAA+F;AAC/F,eAAO,MAAM,gCAAgC,qBAAqB,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,KAAmD,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConfigurationSection = void 0;
|
|
4
2
|
// *****************************************************************************
|
|
5
|
-
// Copyright (C)
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
6
4
|
//
|
|
7
5
|
// This program and the accompanying materials are made available under the
|
|
8
6
|
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -16,13 +14,15 @@ exports.ConfigurationSection = void 0;
|
|
|
16
14
|
//
|
|
17
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
16
|
// *****************************************************************************
|
|
19
|
-
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.AI_CONFIGURATION_RESOURCE_URI = exports.AI_CONFIGURATION_RESOURCE_SCHEME = void 0;
|
|
19
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
20
|
+
/** URI scheme identifying the AI Configuration view for Theia's breadcrumbs infrastructure. */
|
|
21
|
+
exports.AI_CONFIGURATION_RESOURCE_SCHEME = 'ai-configuration';
|
|
20
22
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
+
* The stable resource URI of the AI Configuration view. It is constant (the current
|
|
24
|
+
* category/item is read from the selection model), mirroring how an editor keeps its file URI
|
|
25
|
+
* while its breadcrumb content changes with the cursor.
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
React.createElement("div", { className: 'ai-configuration-section-content' }, children)));
|
|
27
|
-
exports.ConfigurationSection = ConfigurationSection;
|
|
28
|
-
//# sourceMappingURL=configuration-section.js.map
|
|
27
|
+
exports.AI_CONFIGURATION_RESOURCE_URI = new uri_1.default(`${exports.AI_CONFIGURATION_RESOURCE_SCHEME}:/`);
|
|
28
|
+
//# sourceMappingURL=ai-configuration-resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-resource.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-resource.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,oDAA6C;AAE7C,+FAA+F;AAClF,QAAA,gCAAgC,GAAG,kBAAkB,CAAC;AAEnE;;;;GAIG;AACU,QAAA,6BAA6B,GAAG,IAAI,aAAG,CAAC,GAAG,wCAAgC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from '@theia/core/shared/react';
|
|
2
|
+
import { Emitter, Event } from '@theia/core';
|
|
3
|
+
import { ReactWidget } from '@theia/core/lib/browser';
|
|
4
|
+
/**
|
|
5
|
+
* The search box above the category tree. It emits {@link onDidChangeFilter} so the tree can
|
|
6
|
+
* live-filter its nodes; filtering the tree is the only search affordance.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AiConfigurationSearchWidget extends ReactWidget {
|
|
9
|
+
static readonly ID = "ai-configuration-search";
|
|
10
|
+
protected readonly onDidChangeFilterEmitter: Emitter<string>;
|
|
11
|
+
readonly onDidChangeFilter: Event<string>;
|
|
12
|
+
protected readonly onDidRequestExpandAllEmitter: Emitter<void>;
|
|
13
|
+
/** Fired by the "Expand All" toolbar button below the search input. */
|
|
14
|
+
readonly onDidRequestExpandAll: Event<void>;
|
|
15
|
+
protected readonly onDidRequestCollapseAllEmitter: Emitter<void>;
|
|
16
|
+
/** Fired by the "Collapse All" toolbar button below the search input. */
|
|
17
|
+
readonly onDidRequestCollapseAll: Event<void>;
|
|
18
|
+
/** Whether the tree has any expandable category, and whether all of them are currently expanded. */
|
|
19
|
+
protected hasExpandable: boolean;
|
|
20
|
+
protected allExpanded: boolean;
|
|
21
|
+
protected init(): void;
|
|
22
|
+
/** Updates the expand/collapse-all toggle to reflect the tree's current expansion. */
|
|
23
|
+
setTreeExpansion(hasExpandable: boolean, allExpanded: boolean): void;
|
|
24
|
+
protected onExpandAll: () => void;
|
|
25
|
+
protected onCollapseAll: () => void;
|
|
26
|
+
protected onQueryChange: (query: string) => void;
|
|
27
|
+
protected render(): React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ai-configuration-search-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-configuration-search-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-search-widget.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAO,MAAM,aAAa,CAAC;AAElD,OAAO,EAAW,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,qBACa,2BAA4B,SAAQ,WAAW;IAExD,MAAM,CAAC,QAAQ,CAAC,EAAE,6BAA6B;IAE/C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,kBAAyB;IACpE,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuC;IAEhF,SAAS,CAAC,QAAQ,CAAC,4BAA4B,gBAAuB;IACtE,uEAAuE;IACvE,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,CAA2C;IAEtF,SAAS,CAAC,QAAQ,CAAC,8BAA8B,gBAAuB;IACxE,yEAAyE;IACzE,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAA6C;IAE1F,oGAAoG;IACpG,SAAS,CAAC,aAAa,UAAS;IAChC,SAAS,CAAC,WAAW,UAAS;IAG9B,SAAS,CAAC,IAAI,IAAI,IAAI;IAStB,sFAAsF;IACtF,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAQpE,SAAS,CAAC,WAAW,QAAO,IAAI,CAA6C;IAC7E,SAAS,CAAC,aAAa,QAAO,IAAI,CAA+C;IACjF,SAAS,CAAC,aAAa,GAAI,OAAO,MAAM,KAAG,IAAI,CAA8C;IAE7F,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;CAuBtC"}
|