@theia/ai-ide 1.67.0-next.56 → 1.67.0-next.86
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/address-pr-review-command-contribution.d.ts +9 -0
- package/lib/browser/address-pr-review-command-contribution.d.ts.map +1 -0
- package/lib/browser/address-pr-review-command-contribution.js +176 -0
- package/lib/browser/address-pr-review-command-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +47 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.js +385 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-service.d.ts +18 -0
- package/lib/browser/ai-configuration/ai-configuration-service.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-service.js +53 -0
- package/lib/browser/ai-configuration/ai-configuration-service.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +14 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +67 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +29 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.js +118 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +32 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +55 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +14 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js +35 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +23 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +60 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +56 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +96 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +45 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +66 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/components/configuration-section.d.ts +13 -0
- package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/configuration-section.js +28 -0
- package/lib/browser/ai-configuration/components/configuration-section.js.map +1 -0
- package/lib/browser/ai-configuration/components/empty-state.d.ts +11 -0
- package/lib/browser/ai-configuration/components/empty-state.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/empty-state.js +26 -0
- package/lib/browser/ai-configuration/components/empty-state.js.map +1 -0
- package/lib/browser/ai-configuration/components/expandable-section.d.ts +14 -0
- package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/expandable-section.js +31 -0
- package/lib/browser/ai-configuration/components/expandable-section.js.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.d.ts +13 -0
- package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.js +105 -0
- package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -0
- package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts +42 -0
- package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/mcp-configuration-widget.js +308 -0
- package/lib/browser/ai-configuration/mcp-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +27 -0
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +197 -0
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +141 -0
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +508 -0
- package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts +10 -0
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -0
- package/lib/browser/ai-configuration/template-settings-renderer.js +48 -0
- package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -0
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +21 -0
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js +170 -0
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +35 -0
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/tools-configuration-widget.js +158 -0
- package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +23 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.js +132 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.js.map +1 -0
- package/lib/browser/ai-ide-activation-service.d.ts +18 -0
- package/lib/browser/ai-ide-activation-service.d.ts.map +1 -0
- package/lib/browser/ai-ide-activation-service.js +71 -0
- package/lib/browser/ai-ide-activation-service.js.map +1 -0
- package/lib/browser/ai-terminal-functions.d.ts +13 -0
- package/lib/browser/ai-terminal-functions.d.ts.map +1 -0
- package/lib/browser/ai-terminal-functions.js +114 -0
- package/lib/browser/ai-terminal-functions.js.map +1 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.d.ts +9 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.d.ts.map +1 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.js +172 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.js.map +1 -0
- package/lib/browser/app-tester-chat-agent.d.ts +35 -0
- package/lib/browser/app-tester-chat-agent.d.ts.map +1 -0
- package/lib/browser/app-tester-chat-agent.js +142 -0
- package/lib/browser/app-tester-chat-agent.js.map +1 -0
- package/lib/browser/app-tester-chat-functions.d.ts +25 -0
- package/lib/browser/app-tester-chat-functions.d.ts.map +1 -0
- package/lib/browser/app-tester-chat-functions.js +170 -0
- package/lib/browser/app-tester-chat-functions.js.map +1 -0
- package/lib/browser/app-tester-prompt-template.d.ts +6 -0
- package/lib/browser/app-tester-prompt-template.d.ts.map +1 -0
- package/lib/browser/app-tester-prompt-template.js +83 -0
- package/lib/browser/app-tester-prompt-template.js.map +1 -0
- package/lib/browser/architect-agent.d.ts +15 -0
- package/lib/browser/architect-agent.d.ts.map +1 -0
- package/lib/browser/architect-agent.js +68 -0
- package/lib/browser/architect-agent.js.map +1 -0
- package/lib/browser/coder-agent.d.ts +15 -0
- package/lib/browser/coder-agent.d.ts.map +1 -0
- package/lib/browser/coder-agent.js +81 -0
- package/lib/browser/coder-agent.js.map +1 -0
- package/lib/browser/context-file-validation-service-impl.d.ts +13 -0
- package/lib/browser/context-file-validation-service-impl.d.ts.map +1 -0
- package/lib/browser/context-file-validation-service-impl.js +123 -0
- package/lib/browser/context-file-validation-service-impl.js.map +1 -0
- package/lib/browser/context-file-validation-service-impl.spec.d.ts +2 -0
- package/lib/browser/context-file-validation-service-impl.spec.d.ts.map +1 -0
- package/lib/browser/context-file-validation-service-impl.spec.js +340 -0
- package/lib/browser/context-file-validation-service-impl.spec.js.map +1 -0
- package/lib/browser/context-functions.d.ts +16 -0
- package/lib/browser/context-functions.d.ts.map +1 -0
- package/lib/browser/context-functions.js +166 -0
- package/lib/browser/context-functions.js.map +1 -0
- package/lib/browser/context-functions.spec.d.ts +2 -0
- package/lib/browser/context-functions.spec.d.ts.map +1 -0
- package/lib/browser/context-functions.spec.js +213 -0
- package/lib/browser/context-functions.spec.js.map +1 -0
- package/lib/browser/file-changeset-function.spec.d.ts +2 -0
- package/lib/browser/file-changeset-function.spec.d.ts.map +1 -0
- package/lib/browser/file-changeset-function.spec.js +45 -0
- package/lib/browser/file-changeset-function.spec.js.map +1 -0
- package/lib/browser/file-changeset-functions.d.ts +87 -0
- package/lib/browser/file-changeset-functions.d.ts.map +1 -0
- package/lib/browser/file-changeset-functions.js +645 -0
- package/lib/browser/file-changeset-functions.js.map +1 -0
- package/lib/browser/file-changeset-functions.spec.d.ts +2 -0
- package/lib/browser/file-changeset-functions.spec.d.ts.map +1 -0
- package/lib/browser/file-changeset-functions.spec.js +179 -0
- package/lib/browser/file-changeset-functions.spec.js.map +1 -0
- package/lib/browser/frontend-module.d.ts +5 -0
- package/lib/browser/frontend-module.d.ts.map +1 -0
- package/lib/browser/frontend-module.js +226 -0
- package/lib/browser/frontend-module.js.map +1 -0
- package/lib/browser/github-chat-agent.d.ts +48 -0
- package/lib/browser/github-chat-agent.d.ts.map +1 -0
- package/lib/browser/github-chat-agent.js +222 -0
- package/lib/browser/github-chat-agent.js.map +1 -0
- package/lib/browser/github-prompt-template.d.ts +6 -0
- package/lib/browser/github-prompt-template.d.ts.map +1 -0
- package/lib/browser/github-prompt-template.js +53 -0
- package/lib/browser/github-prompt-template.js.map +1 -0
- package/lib/browser/github-repo-variable-contribution.d.ts +15 -0
- package/lib/browser/github-repo-variable-contribution.d.ts.map +1 -0
- package/lib/browser/github-repo-variable-contribution.js +82 -0
- package/lib/browser/github-repo-variable-contribution.js.map +1 -0
- package/lib/browser/ide-chat-welcome-message-provider.d.ts +10 -0
- package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -0
- package/lib/browser/ide-chat-welcome-message-provider.js +102 -0
- package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -0
- package/lib/browser/implement-gh-ticket-command-contribution.d.ts +9 -0
- package/lib/browser/implement-gh-ticket-command-contribution.d.ts.map +1 -0
- package/lib/browser/implement-gh-ticket-command-contribution.js +156 -0
- package/lib/browser/implement-gh-ticket-command-contribution.js.map +1 -0
- package/lib/browser/project-info-agent.d.ts +13 -0
- package/lib/browser/project-info-agent.d.ts.map +1 -0
- package/lib/browser/project-info-agent.js +45 -0
- package/lib/browser/project-info-agent.js.map +1 -0
- package/lib/browser/remember-command-contribution.d.ts +16 -0
- package/lib/browser/remember-command-contribution.d.ts.map +1 -0
- package/lib/browser/remember-command-contribution.js +101 -0
- package/lib/browser/remember-command-contribution.js.map +1 -0
- package/lib/browser/summarize-session-command-contribution.d.ts +19 -0
- package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -0
- package/lib/browser/summarize-session-command-contribution.js +118 -0
- package/lib/browser/summarize-session-command-contribution.js.map +1 -0
- package/lib/browser/task-background-summary-variable.d.ts +9 -0
- package/lib/browser/task-background-summary-variable.d.ts.map +1 -0
- package/lib/browser/task-background-summary-variable.js +60 -0
- package/lib/browser/task-background-summary-variable.js.map +1 -0
- package/lib/browser/task-context-agent.d.ts +13 -0
- package/lib/browser/task-context-agent.d.ts.map +1 -0
- package/lib/browser/task-context-agent.js +45 -0
- package/lib/browser/task-context-agent.js.map +1 -0
- package/lib/browser/task-context-file-storage-service.d.ts +40 -0
- package/lib/browser/task-context-file-storage-service.d.ts.map +1 -0
- package/lib/browser/task-context-file-storage-service.js +232 -0
- package/lib/browser/task-context-file-storage-service.js.map +1 -0
- package/lib/browser/template-preference-contribution.d.ts +17 -0
- package/lib/browser/template-preference-contribution.d.ts.map +1 -0
- package/lib/browser/template-preference-contribution.js +94 -0
- package/lib/browser/template-preference-contribution.js.map +1 -0
- package/lib/browser/test/tool-provider-cancellation-test-util.spec.d.ts +2 -0
- package/lib/browser/test/tool-provider-cancellation-test-util.spec.d.ts.map +1 -0
- package/lib/browser/test/tool-provider-cancellation-test-util.spec.js +52 -0
- package/lib/browser/test/tool-provider-cancellation-test-util.spec.js.map +1 -0
- package/lib/browser/workspace-functions.d.ts +78 -0
- package/lib/browser/workspace-functions.d.ts.map +1 -0
- package/lib/browser/workspace-functions.js +697 -0
- package/lib/browser/workspace-functions.js.map +1 -0
- package/lib/browser/workspace-functions.spec.d.ts +2 -0
- package/lib/browser/workspace-functions.spec.d.ts.map +1 -0
- package/lib/browser/workspace-functions.spec.js +161 -0
- package/lib/browser/workspace-functions.spec.js.map +1 -0
- package/lib/browser/workspace-launch-provider.d.ts +24 -0
- package/lib/browser/workspace-launch-provider.d.ts.map +1 -0
- package/lib/browser/workspace-launch-provider.js +216 -0
- package/lib/browser/workspace-launch-provider.js.map +1 -0
- package/lib/browser/workspace-launch-provider.spec.d.ts +2 -0
- package/lib/browser/workspace-launch-provider.spec.d.ts.map +1 -0
- package/lib/browser/workspace-launch-provider.spec.js +245 -0
- package/lib/browser/workspace-launch-provider.spec.js.map +1 -0
- package/lib/browser/workspace-search-provider.d.ts +15 -0
- package/lib/browser/workspace-search-provider.d.ts.map +1 -0
- package/lib/browser/workspace-search-provider.js +204 -0
- package/lib/browser/workspace-search-provider.js.map +1 -0
- package/lib/browser/workspace-search-provider.spec.d.ts +2 -0
- package/lib/browser/workspace-search-provider.spec.d.ts.map +1 -0
- package/lib/browser/workspace-search-provider.spec.js +82 -0
- package/lib/browser/workspace-search-provider.spec.js.map +1 -0
- package/lib/browser/workspace-task-provider.d.ts +15 -0
- package/lib/browser/workspace-task-provider.d.ts.map +1 -0
- package/lib/browser/workspace-task-provider.js +138 -0
- package/lib/browser/workspace-task-provider.js.map +1 -0
- package/lib/browser/workspace-task-provider.spec.d.ts +2 -0
- package/lib/browser/workspace-task-provider.spec.d.ts.map +1 -0
- package/lib/browser/workspace-task-provider.spec.js +109 -0
- package/lib/browser/workspace-task-provider.spec.js.map +1 -0
- package/lib/common/ai-configuration-preferences.d.ts +8 -0
- package/lib/common/ai-configuration-preferences.d.ts.map +1 -0
- package/lib/common/ai-configuration-preferences.js +41 -0
- package/lib/common/ai-configuration-preferences.js.map +1 -0
- package/lib/common/ai-ide-preferences.d.ts +5 -0
- package/lib/common/ai-ide-preferences.d.ts.map +1 -0
- package/lib/common/ai-ide-preferences.js +53 -0
- package/lib/common/ai-ide-preferences.js.map +1 -0
- package/lib/common/ai-terminal-functions.d.ts +2 -0
- package/lib/common/ai-terminal-functions.d.ts.map +1 -0
- package/lib/common/ai-terminal-functions.js +20 -0
- package/lib/common/ai-terminal-functions.js.map +1 -0
- package/lib/common/app-tester-chat-functions.d.ts +5 -0
- package/lib/common/app-tester-chat-functions.d.ts.map +1 -0
- package/lib/common/app-tester-chat-functions.js +23 -0
- package/lib/common/app-tester-chat-functions.js.map +1 -0
- package/lib/common/architect-prompt-template.d.ts +3 -0
- package/lib/common/architect-prompt-template.d.ts.map +1 -0
- package/lib/common/architect-prompt-template.js +81 -0
- package/lib/common/architect-prompt-template.js.map +1 -0
- package/lib/common/browser-automation-protocol.d.ts +15 -0
- package/lib/common/browser-automation-protocol.d.ts.map +1 -0
- package/lib/common/browser-automation-protocol.js +22 -0
- package/lib/common/browser-automation-protocol.js.map +1 -0
- package/lib/common/coder-replace-prompt-template.d.ts +11 -0
- package/lib/common/coder-replace-prompt-template.d.ts.map +1 -0
- package/lib/common/coder-replace-prompt-template.js +296 -0
- package/lib/common/coder-replace-prompt-template.js.map +1 -0
- package/lib/common/command-chat-agents.d.ts +36 -0
- package/lib/common/command-chat-agents.d.ts.map +1 -0
- package/lib/common/command-chat-agents.js +122 -0
- package/lib/common/command-chat-agents.js.map +1 -0
- package/lib/common/command-prompt-template.d.ts +3 -0
- package/lib/common/command-prompt-template.d.ts.map +1 -0
- package/lib/common/command-prompt-template.js +226 -0
- package/lib/common/command-prompt-template.js.map +1 -0
- package/lib/common/context-files-variable.d.ts +9 -0
- package/lib/common/context-files-variable.d.ts.map +1 -0
- package/lib/common/context-files-variable.js +52 -0
- package/lib/common/context-files-variable.js.map +1 -0
- package/lib/common/context-functions.d.ts +4 -0
- package/lib/common/context-functions.d.ts.map +1 -0
- package/lib/common/context-functions.js +22 -0
- package/lib/common/context-functions.js.map +1 -0
- package/lib/common/context-variables.d.ts +3 -0
- package/lib/common/context-variables.d.ts.map +1 -0
- package/lib/common/context-variables.js +21 -0
- package/lib/common/context-variables.js.map +1 -0
- package/lib/common/file-changeset-function-ids.d.ts +19 -0
- package/lib/common/file-changeset-function-ids.d.ts.map +1 -0
- package/lib/common/file-changeset-function-ids.js +37 -0
- package/lib/common/file-changeset-function-ids.js.map +1 -0
- package/lib/common/github-repo-protocol.d.ts +15 -0
- package/lib/common/github-repo-protocol.d.ts.map +1 -0
- package/lib/common/github-repo-protocol.js +21 -0
- package/lib/common/github-repo-protocol.js.map +1 -0
- package/lib/common/orchestrator-chat-agent.d.ts +36 -0
- package/lib/common/orchestrator-chat-agent.d.ts.map +1 -0
- package/lib/common/orchestrator-chat-agent.js +167 -0
- package/lib/common/orchestrator-chat-agent.js.map +1 -0
- package/lib/common/orchestrator-prompt-template.d.ts +3 -0
- package/lib/common/orchestrator-prompt-template.d.ts.map +1 -0
- package/lib/common/orchestrator-prompt-template.js +55 -0
- package/lib/common/orchestrator-prompt-template.js.map +1 -0
- package/lib/common/project-info-prompt-template.d.ts +6 -0
- package/lib/common/project-info-prompt-template.d.ts.map +1 -0
- package/lib/common/project-info-prompt-template.js +145 -0
- package/lib/common/project-info-prompt-template.js.map +1 -0
- package/lib/common/summarize-session-commands.d.ts +4 -0
- package/lib/common/summarize-session-commands.d.ts.map +1 -0
- package/lib/common/summarize-session-commands.js +28 -0
- package/lib/common/summarize-session-commands.js.map +1 -0
- package/lib/common/task-context-prompt-template.d.ts +8 -0
- package/lib/common/task-context-prompt-template.d.ts.map +1 -0
- package/lib/common/task-context-prompt-template.js +217 -0
- package/lib/common/task-context-prompt-template.js.map +1 -0
- package/lib/common/universal-chat-agent.d.ts +17 -0
- package/lib/common/universal-chat-agent.d.ts.map +1 -0
- package/lib/common/universal-chat-agent.js +47 -0
- package/lib/common/universal-chat-agent.js.map +1 -0
- package/lib/common/universal-prompt-template.d.ts +4 -0
- package/lib/common/universal-prompt-template.d.ts.map +1 -0
- package/lib/common/universal-prompt-template.js +32 -0
- package/lib/common/universal-prompt-template.js.map +1 -0
- package/lib/common/workspace-functions.d.ts +12 -0
- package/lib/common/workspace-functions.d.ts.map +1 -0
- package/lib/common/workspace-functions.js +30 -0
- package/lib/common/workspace-functions.js.map +1 -0
- package/lib/common/workspace-preferences.d.ts +10 -0
- package/lib/common/workspace-preferences.d.ts.map +1 -0
- package/lib/common/workspace-preferences.js +89 -0
- package/lib/common/workspace-preferences.js.map +1 -0
- package/lib/common/workspace-search-provider-util.d.ts +17 -0
- package/lib/common/workspace-search-provider-util.d.ts.map +1 -0
- package/lib/common/workspace-search-provider-util.js +51 -0
- package/lib/common/workspace-search-provider-util.js.map +1 -0
- package/lib/node/app-tester-agent/browser-automation-impl.d.ts +18 -0
- package/lib/node/app-tester-agent/browser-automation-impl.d.ts.map +1 -0
- package/lib/node/app-tester-agent/browser-automation-impl.js +96 -0
- package/lib/node/app-tester-agent/browser-automation-impl.js.map +1 -0
- package/lib/node/backend-module.d.ts +4 -0
- package/lib/node/backend-module.d.ts.map +1 -0
- package/lib/node/backend-module.js +45 -0
- package/lib/node/backend-module.js.map +1 -0
- package/lib/node/github-repo-service-impl.d.ts +7 -0
- package/lib/node/github-repo-service-impl.d.ts.map +1 -0
- package/lib/node/github-repo-service-impl.js +86 -0
- package/lib/node/github-repo-service-impl.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +21 -21
- package/src/browser/address-pr-review-command-contribution.ts +180 -0
- package/src/browser/ai-configuration/agent-configuration-widget.tsx +256 -135
- package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +72 -0
- package/src/browser/ai-configuration/base/ai-configuration-base-widget.tsx +37 -0
- package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +51 -0
- package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +140 -0
- package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +107 -0
- package/src/browser/ai-configuration/components/configuration-section.tsx +37 -0
- package/src/browser/ai-configuration/components/empty-state.tsx +30 -0
- package/src/browser/ai-configuration/components/expandable-section.tsx +51 -0
- package/src/browser/ai-configuration/language-model-renderer.tsx +68 -63
- package/src/browser/ai-configuration/mcp-configuration-widget.tsx +80 -85
- package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +93 -107
- package/src/browser/ai-configuration/template-settings-renderer.tsx +25 -29
- package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +130 -130
- package/src/browser/ai-configuration/tools-configuration-widget.tsx +68 -59
- package/src/browser/ai-configuration/variable-configuration-widget.tsx +95 -45
- package/src/browser/analyze-gh-ticket-command-contribution.ts +176 -0
- package/src/browser/frontend-module.ts +6 -0
- package/src/browser/implement-gh-ticket-command-contribution.ts +160 -0
- package/src/browser/style/ai-configuration-base.css +90 -0
- package/src/browser/style/ai-configuration-cards.css +60 -0
- package/src/browser/style/ai-configuration-hierarchical.css +61 -0
- package/src/browser/style/ai-configuration-list-detail.css +88 -0
- package/src/browser/style/ai-configuration-table.css +73 -0
- package/src/browser/style/index.css +458 -288
- package/src/browser/style/widgets/mcp-configuration.css +253 -0
- package/src/browser/style/widgets/model-aliases-configuration.css +74 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactWidget } from '@theia/core/lib/browser';
|
|
3
|
+
import * as React from '@theia/core/shared/react';
|
|
4
|
+
import { HoverService } from '@theia/core/lib/browser/hover-service';
|
|
5
|
+
import { MCPFrontendNotificationService, MCPFrontendService, MCPServerDescription, MCPServerStatus } from '@theia/ai-mcp/lib/common/mcp-server-manager';
|
|
6
|
+
import { MessageService } from '@theia/core';
|
|
7
|
+
export declare class AIMCPConfigurationWidget extends ReactWidget {
|
|
8
|
+
static readonly ID = "ai-mcp-configuration-container-widget";
|
|
9
|
+
static readonly LABEL: string;
|
|
10
|
+
protected servers: MCPServerDescription[];
|
|
11
|
+
protected expandedTools: Record<string, boolean>;
|
|
12
|
+
protected readonly mcpFrontendService: MCPFrontendService;
|
|
13
|
+
protected readonly mcpFrontendNotificationService: MCPFrontendNotificationService;
|
|
14
|
+
protected readonly hoverService: HoverService;
|
|
15
|
+
protected readonly messageService: MessageService;
|
|
16
|
+
protected init(): void;
|
|
17
|
+
protected loadServers(): Promise<void>;
|
|
18
|
+
protected getStatusColor(status?: MCPServerStatus): {
|
|
19
|
+
bg: string;
|
|
20
|
+
fg: string;
|
|
21
|
+
};
|
|
22
|
+
protected showErrorHover(spanRef: React.RefObject<HTMLSpanElement>, error: string): void;
|
|
23
|
+
protected hideErrorHover(): void;
|
|
24
|
+
protected handleStartServer(serverName: string): Promise<void>;
|
|
25
|
+
protected handleStopServer(serverName: string): Promise<void>;
|
|
26
|
+
protected renderButton(text: React.ReactNode, title: string, onClick: React.MouseEventHandler<HTMLButtonElement>, className?: string, style?: React.CSSProperties): React.ReactNode;
|
|
27
|
+
protected renderStatusBadge(server: MCPServerDescription): React.ReactNode;
|
|
28
|
+
protected renderServerHeader(server: MCPServerDescription): React.ReactNode;
|
|
29
|
+
protected renderCommandSection(server: MCPServerDescription): React.ReactNode;
|
|
30
|
+
protected renderArgumentsSection(server: MCPServerDescription): React.ReactNode;
|
|
31
|
+
protected renderEnvironmentSection(server: MCPServerDescription): React.ReactNode;
|
|
32
|
+
protected renderServerUrlSection(server: MCPServerDescription): React.ReactNode;
|
|
33
|
+
protected renderServerAuthTokenHeaderSection(server: MCPServerDescription): React.ReactNode;
|
|
34
|
+
protected renderServerAuthTokenSection(server: MCPServerDescription): React.ReactNode;
|
|
35
|
+
protected renderServerHeadersSection(server: MCPServerDescription): React.ReactNode;
|
|
36
|
+
protected renderAutostartSection(server: MCPServerDescription): React.ReactNode;
|
|
37
|
+
protected renderToolsSection(server: MCPServerDescription): React.ReactNode;
|
|
38
|
+
protected toggleTools(serverName: string): void;
|
|
39
|
+
protected renderServerCard(server: MCPServerDescription): React.ReactNode;
|
|
40
|
+
protected render(): React.ReactNode;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=mcp-configuration-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/mcp-configuration-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var AIMCPConfigurationWidget_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.AIMCPConfigurationWidget = void 0;
|
|
20
|
+
const tslib_1 = require("tslib");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const React = require("@theia/core/shared/react");
|
|
24
|
+
const hover_service_1 = require("@theia/core/lib/browser/hover-service");
|
|
25
|
+
const mcp_server_manager_1 = require("@theia/ai-mcp/lib/common/mcp-server-manager");
|
|
26
|
+
const core_1 = require("@theia/core");
|
|
27
|
+
const prompt_variable_contribution_1 = require("@theia/ai-core/lib/common/prompt-variable-contribution");
|
|
28
|
+
let AIMCPConfigurationWidget = AIMCPConfigurationWidget_1 = class AIMCPConfigurationWidget extends browser_1.ReactWidget {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.servers = [];
|
|
32
|
+
this.expandedTools = {};
|
|
33
|
+
}
|
|
34
|
+
init() {
|
|
35
|
+
this.id = AIMCPConfigurationWidget_1.ID;
|
|
36
|
+
this.title.label = AIMCPConfigurationWidget_1.LABEL;
|
|
37
|
+
this.title.closable = false;
|
|
38
|
+
this.toDispose.push(this.mcpFrontendNotificationService.onDidUpdateMCPServers(async () => {
|
|
39
|
+
this.loadServers();
|
|
40
|
+
}));
|
|
41
|
+
this.loadServers();
|
|
42
|
+
}
|
|
43
|
+
async loadServers() {
|
|
44
|
+
const serverNames = await this.mcpFrontendService.getServerNames();
|
|
45
|
+
const descriptions = await Promise.all(serverNames.map(name => this.mcpFrontendService.getServerDescription(name)));
|
|
46
|
+
this.servers = descriptions.filter((desc) => desc !== undefined);
|
|
47
|
+
this.update();
|
|
48
|
+
}
|
|
49
|
+
getStatusColor(status) {
|
|
50
|
+
if (!status) {
|
|
51
|
+
return { bg: 'var(--theia-descriptionForeground)', fg: 'white' };
|
|
52
|
+
}
|
|
53
|
+
switch (status) {
|
|
54
|
+
case mcp_server_manager_1.MCPServerStatus.Running:
|
|
55
|
+
case mcp_server_manager_1.MCPServerStatus.Connected:
|
|
56
|
+
return { bg: 'var(--theia-successBackground)', fg: 'var(--theia-successForeground)' };
|
|
57
|
+
case mcp_server_manager_1.MCPServerStatus.Starting:
|
|
58
|
+
case mcp_server_manager_1.MCPServerStatus.Connecting:
|
|
59
|
+
return { bg: 'var(--theia-warningBackground)', fg: 'var(--theia-warningForeground)' };
|
|
60
|
+
case mcp_server_manager_1.MCPServerStatus.Errored:
|
|
61
|
+
return { bg: 'var(--theia-errorBackground)', fg: 'var(--theia-errorForeground)' };
|
|
62
|
+
case mcp_server_manager_1.MCPServerStatus.NotRunning:
|
|
63
|
+
case mcp_server_manager_1.MCPServerStatus.NotConnected:
|
|
64
|
+
default:
|
|
65
|
+
return { bg: 'var(--theia-inputValidation-infoBackground)', fg: 'var(--theia-inputValidation-infoForeground)' };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
showErrorHover(spanRef, error) {
|
|
69
|
+
this.hoverService.requestHover({ content: error, target: spanRef.current, position: 'left' });
|
|
70
|
+
}
|
|
71
|
+
hideErrorHover() {
|
|
72
|
+
this.hoverService.cancelHover();
|
|
73
|
+
}
|
|
74
|
+
async handleStartServer(serverName) {
|
|
75
|
+
await this.mcpFrontendService.startServer(serverName);
|
|
76
|
+
}
|
|
77
|
+
async handleStopServer(serverName) {
|
|
78
|
+
await this.mcpFrontendService.stopServer(serverName);
|
|
79
|
+
}
|
|
80
|
+
renderButton(text, title, onClick, className, style) {
|
|
81
|
+
return (React.createElement("button", { className: className, title: title, onClick: onClick, style: style }, text));
|
|
82
|
+
}
|
|
83
|
+
renderStatusBadge(server) {
|
|
84
|
+
const colors = this.getStatusColor(server.status);
|
|
85
|
+
let displayStatus = server.status;
|
|
86
|
+
if (!displayStatus) {
|
|
87
|
+
displayStatus = (0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) ? mcp_server_manager_1.MCPServerStatus.NotConnected : mcp_server_manager_1.MCPServerStatus.NotRunning;
|
|
88
|
+
}
|
|
89
|
+
const spanRef = React.createRef();
|
|
90
|
+
const error = server.error;
|
|
91
|
+
return (React.createElement("div", { className: "mcp-status-container" },
|
|
92
|
+
React.createElement("span", { className: "mcp-status-badge", style: {
|
|
93
|
+
backgroundColor: colors.bg,
|
|
94
|
+
color: colors.fg
|
|
95
|
+
} }, displayStatus),
|
|
96
|
+
error && (React.createElement("span", { onMouseEnter: () => this.showErrorHover(spanRef, error), onMouseLeave: () => this.hideErrorHover(), ref: spanRef, className: "mcp-error-indicator" }, "?"))));
|
|
97
|
+
}
|
|
98
|
+
renderServerHeader(server) {
|
|
99
|
+
const isStoppable = server.status === mcp_server_manager_1.MCPServerStatus.Running
|
|
100
|
+
|| server.status === mcp_server_manager_1.MCPServerStatus.Connected
|
|
101
|
+
|| server.status === mcp_server_manager_1.MCPServerStatus.Starting
|
|
102
|
+
|| server.status === mcp_server_manager_1.MCPServerStatus.Connecting;
|
|
103
|
+
const isStartable = server.status === mcp_server_manager_1.MCPServerStatus.NotRunning
|
|
104
|
+
|| server.status === mcp_server_manager_1.MCPServerStatus.NotConnected
|
|
105
|
+
|| server.status === mcp_server_manager_1.MCPServerStatus.Errored;
|
|
106
|
+
const isRemote = (0, mcp_server_manager_1.isRemoteMCPServerDescription)(server);
|
|
107
|
+
const startIcon = isRemote ? 'plug' : 'play';
|
|
108
|
+
const stopIcon = isRemote ? 'debug-disconnect' : 'close';
|
|
109
|
+
const startLabel = isRemote
|
|
110
|
+
? core_1.nls.localize('theia/ai/mcpConfiguration/connectServer', 'Connect')
|
|
111
|
+
: core_1.nls.localize('theia/ai/mcpConfiguration/startServer', 'Start Server');
|
|
112
|
+
const stopLabel = isRemote
|
|
113
|
+
? core_1.nls.localize('theia/ai/mcpConfiguration/disconnectServer', 'Disconnect')
|
|
114
|
+
: core_1.nls.localize('theia/ai/mcpConfiguration/stopServer', 'Stop Server');
|
|
115
|
+
return (React.createElement("div", { className: "mcp-server-header" },
|
|
116
|
+
React.createElement("div", { className: "mcp-server-name" }, server.name),
|
|
117
|
+
React.createElement("div", { className: "mcp-server-header-controls" },
|
|
118
|
+
this.renderStatusBadge(server),
|
|
119
|
+
isStartable && (React.createElement("button", { className: `mcp-action-button codicon codicon-${startIcon}`, onClick: () => this.handleStartServer(server.name), title: startLabel })),
|
|
120
|
+
isStoppable && (React.createElement("button", { className: `mcp-action-button codicon codicon-${stopIcon}`, onClick: () => this.handleStopServer(server.name), title: stopLabel })))));
|
|
121
|
+
}
|
|
122
|
+
renderCommandSection(server) {
|
|
123
|
+
if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server)) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
127
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
128
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/command', 'Command'),
|
|
129
|
+
":"),
|
|
130
|
+
React.createElement("code", { className: "mcp-property-value" }, server.command)));
|
|
131
|
+
}
|
|
132
|
+
renderArgumentsSection(server) {
|
|
133
|
+
if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server) || !server.args || server.args.length === 0) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
137
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
138
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/arguments', 'Arguments'),
|
|
139
|
+
":"),
|
|
140
|
+
React.createElement("code", { className: "mcp-property-value" }, server.args.join(' '))));
|
|
141
|
+
}
|
|
142
|
+
renderEnvironmentSection(server) {
|
|
143
|
+
if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server) || !server.env || Object.keys(server.env).length === 0) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
147
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
148
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/environmentVariables', 'Environment Variables'),
|
|
149
|
+
":"),
|
|
150
|
+
React.createElement("div", { className: "mcp-property-value" }, Object.entries(server.env).map(([key, value]) => (React.createElement("div", { key: key, className: "mcp-env-entry" },
|
|
151
|
+
React.createElement("code", null,
|
|
152
|
+
key,
|
|
153
|
+
"=",
|
|
154
|
+
key.toLowerCase().includes('token') ? '******' : String(value))))))));
|
|
155
|
+
}
|
|
156
|
+
renderServerUrlSection(server) {
|
|
157
|
+
if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server)) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
161
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
162
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/serverUrl', 'Server URL'),
|
|
163
|
+
":"),
|
|
164
|
+
React.createElement("code", { className: "mcp-property-value" }, server.serverUrl)));
|
|
165
|
+
}
|
|
166
|
+
renderServerAuthTokenHeaderSection(server) {
|
|
167
|
+
if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.serverAuthTokenHeader) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
171
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
172
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/serverAuthTokenHeader', 'Auth Header Name'),
|
|
173
|
+
":"),
|
|
174
|
+
React.createElement("code", { className: "mcp-property-value" }, server.serverAuthTokenHeader)));
|
|
175
|
+
}
|
|
176
|
+
renderServerAuthTokenSection(server) {
|
|
177
|
+
if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.serverAuthToken) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
181
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
182
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/serverAuthToken', 'Auth Token'),
|
|
183
|
+
":"),
|
|
184
|
+
React.createElement("code", { className: "mcp-property-value" }, "******")));
|
|
185
|
+
}
|
|
186
|
+
renderServerHeadersSection(server) {
|
|
187
|
+
if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.headers) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
191
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
192
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/headers', 'Headers'),
|
|
193
|
+
":"),
|
|
194
|
+
React.createElement("div", { className: "mcp-property-value" }, Object.entries(server.headers).map(([key, value]) => (React.createElement("div", { key: key, className: "mcp-env-entry" },
|
|
195
|
+
React.createElement("code", null,
|
|
196
|
+
key,
|
|
197
|
+
"=",
|
|
198
|
+
(key.toLowerCase().includes('token') || key.toLowerCase().includes('authorization')) ? '******' : String(value))))))));
|
|
199
|
+
}
|
|
200
|
+
renderAutostartSection(server) {
|
|
201
|
+
return (React.createElement("div", { className: "mcp-property-row" },
|
|
202
|
+
React.createElement("span", { className: "mcp-property-label" },
|
|
203
|
+
core_1.nls.localize('theia/ai/mcpConfiguration/autostart', 'Autostart'),
|
|
204
|
+
":"),
|
|
205
|
+
React.createElement("span", { className: "mcp-autostart-badge", style: {
|
|
206
|
+
color: server.autostart ? 'var(--theia-successForeground)' : 'var(--theia-errorForeground)',
|
|
207
|
+
} }, server.autostart ? core_1.nls.localize('theia/ai/mcpConfiguration/enabled', 'Enabled') : core_1.nls.localize('theia/ai/mcpConfiguration/disabled', 'Disabled'))));
|
|
208
|
+
}
|
|
209
|
+
renderToolsSection(server) {
|
|
210
|
+
if (!server.tools || server.tools.length === 0) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const isToolsExpanded = this.expandedTools[server.name] || false;
|
|
214
|
+
return (React.createElement("div", { className: "mcp-tools-section" },
|
|
215
|
+
React.createElement("div", { className: "mcp-tools-header", onClick: () => this.toggleTools(server.name) },
|
|
216
|
+
React.createElement("div", { className: "mcp-toggle-indicator" },
|
|
217
|
+
React.createElement("span", { className: "mcp-toggle-icon" }, isToolsExpanded ? '▼' : '►')),
|
|
218
|
+
React.createElement("div", { className: "mcp-tools-label-container" },
|
|
219
|
+
React.createElement("span", { className: "mcp-section-label" }, core_1.nls.localize('theia/ai/mcpConfiguration/tools', 'Tools: '))),
|
|
220
|
+
React.createElement("div", { className: "mcp-tools-actions" },
|
|
221
|
+
this.renderButton(React.createElement("i", { className: "codicon codicon-versions" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyAllList', 'Copy all (list of all tools)'), e => {
|
|
222
|
+
e.stopPropagation();
|
|
223
|
+
if (server.tools) {
|
|
224
|
+
const toolNames = server.tools.map(tool => `~{mcp_${server.name}_${tool.name}}`).join('\n');
|
|
225
|
+
navigator.clipboard.writeText(toolNames);
|
|
226
|
+
this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedAllList', 'Copied all tools to clipboard (list of all tools)'));
|
|
227
|
+
}
|
|
228
|
+
}, 'mcp-copy-tool-button'),
|
|
229
|
+
this.renderButton(React.createElement("i", { className: "codicon codicon-bracket" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyForPromptTemplate', 'Copy all for prompt template (single prompt fragment with all tools)'), e => {
|
|
230
|
+
e.stopPropagation();
|
|
231
|
+
navigator.clipboard.writeText(`{{${prompt_variable_contribution_1.PROMPT_VARIABLE.name}:${this.mcpFrontendService.getPromptTemplateId(server.name)}}}`);
|
|
232
|
+
this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedForPromptTemplate', 'Copied all tools to clipboard for prompt template \
|
|
233
|
+
(single prompt fragment with all tools)'));
|
|
234
|
+
}, 'mcp-copy-tool-button'),
|
|
235
|
+
this.renderButton(React.createElement("i", { className: "codicon codicon-copy" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyAllSingle', 'Copy all for chat (single prompt fragment with all tools)'), e => {
|
|
236
|
+
e.stopPropagation();
|
|
237
|
+
navigator.clipboard.writeText(`#${prompt_variable_contribution_1.PROMPT_VARIABLE.name}:${this.mcpFrontendService.getPromptTemplateId(server.name)}`);
|
|
238
|
+
this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedAllSingle', 'Copied all tools to clipboard (single prompt fragment with \
|
|
239
|
+
all tools)'));
|
|
240
|
+
}, 'mcp-copy-tool-button'))),
|
|
241
|
+
isToolsExpanded && (React.createElement("div", { className: "mcp-tools-list" }, server.tools.map(tool => (React.createElement("div", { key: tool.name, className: "mcp-tool-item" },
|
|
242
|
+
React.createElement("div", { className: "mcp-tool-content" },
|
|
243
|
+
React.createElement("strong", null,
|
|
244
|
+
tool.name,
|
|
245
|
+
":"),
|
|
246
|
+
" ",
|
|
247
|
+
tool.description),
|
|
248
|
+
React.createElement("div", { className: "mcp-tool-actions" }, this.renderButton(React.createElement("i", { className: "codicon codicon-copy" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyForPrompt', 'Copy tool (for chat or prompt template)'), e => {
|
|
249
|
+
e.stopPropagation();
|
|
250
|
+
const copied = `~{mcp_${server.name}_${tool.name}}`;
|
|
251
|
+
navigator.clipboard.writeText(copied);
|
|
252
|
+
this.messageService.info(`Copied ${copied} to clipboard (for chat or prompt template)`);
|
|
253
|
+
}, 'mcp-copy-tool-button')))))))));
|
|
254
|
+
}
|
|
255
|
+
toggleTools(serverName) {
|
|
256
|
+
this.expandedTools[serverName] = !this.expandedTools[serverName];
|
|
257
|
+
this.update();
|
|
258
|
+
}
|
|
259
|
+
renderServerCard(server) {
|
|
260
|
+
return (React.createElement("div", { key: server.name, className: "mcp-server-card" },
|
|
261
|
+
this.renderServerHeader(server),
|
|
262
|
+
React.createElement("div", { className: "mcp-server-content" },
|
|
263
|
+
this.renderCommandSection(server),
|
|
264
|
+
this.renderArgumentsSection(server),
|
|
265
|
+
this.renderEnvironmentSection(server),
|
|
266
|
+
this.renderServerUrlSection(server),
|
|
267
|
+
this.renderServerAuthTokenHeaderSection(server),
|
|
268
|
+
this.renderServerAuthTokenSection(server),
|
|
269
|
+
this.renderServerHeadersSection(server),
|
|
270
|
+
this.renderAutostartSection(server)),
|
|
271
|
+
this.renderToolsSection(server)));
|
|
272
|
+
}
|
|
273
|
+
render() {
|
|
274
|
+
if (this.servers.length === 0) {
|
|
275
|
+
return (React.createElement("div", { className: "mcp-no-servers" }, core_1.nls.localize('theia/ai/mcpConfiguration/noServers', 'No MCP servers configured')));
|
|
276
|
+
}
|
|
277
|
+
return (React.createElement("div", { className: "mcp-configuration-container" }, this.servers.map(server => this.renderServerCard(server))));
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
exports.AIMCPConfigurationWidget = AIMCPConfigurationWidget;
|
|
281
|
+
AIMCPConfigurationWidget.ID = 'ai-mcp-configuration-container-widget';
|
|
282
|
+
AIMCPConfigurationWidget.LABEL = core_1.nls.localize('theia/ai/mcpConfiguration/widgetLabel', 'MCP Servers');
|
|
283
|
+
tslib_1.__decorate([
|
|
284
|
+
(0, inversify_1.inject)(mcp_server_manager_1.MCPFrontendService),
|
|
285
|
+
tslib_1.__metadata("design:type", Object)
|
|
286
|
+
], AIMCPConfigurationWidget.prototype, "mcpFrontendService", void 0);
|
|
287
|
+
tslib_1.__decorate([
|
|
288
|
+
(0, inversify_1.inject)(mcp_server_manager_1.MCPFrontendNotificationService),
|
|
289
|
+
tslib_1.__metadata("design:type", Object)
|
|
290
|
+
], AIMCPConfigurationWidget.prototype, "mcpFrontendNotificationService", void 0);
|
|
291
|
+
tslib_1.__decorate([
|
|
292
|
+
(0, inversify_1.inject)(hover_service_1.HoverService),
|
|
293
|
+
tslib_1.__metadata("design:type", hover_service_1.HoverService)
|
|
294
|
+
], AIMCPConfigurationWidget.prototype, "hoverService", void 0);
|
|
295
|
+
tslib_1.__decorate([
|
|
296
|
+
(0, inversify_1.inject)(core_1.MessageService),
|
|
297
|
+
tslib_1.__metadata("design:type", core_1.MessageService)
|
|
298
|
+
], AIMCPConfigurationWidget.prototype, "messageService", void 0);
|
|
299
|
+
tslib_1.__decorate([
|
|
300
|
+
(0, inversify_1.postConstruct)(),
|
|
301
|
+
tslib_1.__metadata("design:type", Function),
|
|
302
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
303
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
304
|
+
], AIMCPConfigurationWidget.prototype, "init", null);
|
|
305
|
+
exports.AIMCPConfigurationWidget = AIMCPConfigurationWidget = AIMCPConfigurationWidget_1 = tslib_1.__decorate([
|
|
306
|
+
(0, inversify_1.injectable)()
|
|
307
|
+
], AIMCPConfigurationWidget);
|
|
308
|
+
//# sourceMappingURL=mcp-configuration-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/mcp-configuration-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { LanguageModelAliasRegistry, LanguageModelAlias } from '@theia/ai-core/lib/common/language-model-alias';
|
|
4
|
+
import { FrontendLanguageModelRegistry, LanguageModel } from '@theia/ai-core/lib/common/language-model';
|
|
5
|
+
import { AgentService, AISettingsService } from '@theia/ai-core';
|
|
6
|
+
import { AIListDetailConfigurationWidget } from './base/ai-list-detail-configuration-widget';
|
|
7
|
+
export declare class ModelAliasesConfigurationWidget extends AIListDetailConfigurationWidget<LanguageModelAlias> {
|
|
8
|
+
static readonly ID = "ai-model-aliases-configuration-widget";
|
|
9
|
+
static readonly LABEL: string;
|
|
10
|
+
protected readonly languageModelAliasRegistry: LanguageModelAliasRegistry;
|
|
11
|
+
protected readonly languageModelRegistry: FrontendLanguageModelRegistry;
|
|
12
|
+
protected readonly aiSettingsService: AISettingsService;
|
|
13
|
+
protected readonly agentService: AgentService;
|
|
14
|
+
protected languageModels: LanguageModel[];
|
|
15
|
+
protected matchingAgentIdsForAliasMap: Map<string, string[]>;
|
|
16
|
+
protected resolvedModelForAlias: Map<string, LanguageModel | undefined>;
|
|
17
|
+
protected init(): void;
|
|
18
|
+
protected loadItems(): Promise<void>;
|
|
19
|
+
protected loadLanguageModels(): Promise<void>;
|
|
20
|
+
protected loadMatchingAgentIdsForAllAliases(): Promise<void>;
|
|
21
|
+
protected getItemId(item: LanguageModelAlias): string;
|
|
22
|
+
protected getItemLabel(item: LanguageModelAlias): string;
|
|
23
|
+
protected getEmptySelectionMessage(): string;
|
|
24
|
+
protected handleAliasSelectedModelIdChange: (alias: LanguageModelAlias, event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
25
|
+
protected renderItemDetail(alias: LanguageModelAlias): React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=model-aliases-configuration-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-aliases-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/model-aliases-configuration-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,aAAa,EAAmD,MAAM,0CAA0C,CAAC;AAEzJ,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAG7F,qBACa,+BAAgC,SAAQ,+BAA+B,CAAC,kBAAkB,CAAC;IACpG,MAAM,CAAC,QAAQ,CAAC,EAAE,2CAA2C;IAC7D,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAkF;IAGvG,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAE,aAAa,EAAE,CAAM;IAC/C,SAAS,CAAC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAa;IACzE,SAAS,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAa;IAGpF,SAAS,CAAC,IAAI,IAAI,IAAI;cA8BG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAmBnC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;cAInC,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;cAsB/C,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;cAI3C,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;cAI9C,wBAAwB,IAAI,MAAM;IAIrD,SAAS,CAAC,gCAAgC,UAAW,kBAAkB,SAAS,MAAM,WAAW,CAAC,iBAAiB,CAAC,KAAG,IAAI,CASzH;cAEiB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,SAAS;CA+HlF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var ModelAliasesConfigurationWidget_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ModelAliasesConfigurationWidget = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
// *****************************************************************************
|
|
7
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
8
|
+
//
|
|
9
|
+
// This program and the accompanying materials are made available under the
|
|
10
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
11
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
12
|
+
//
|
|
13
|
+
// This Source Code may also be made available under the following Secondary
|
|
14
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
15
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
16
|
+
// with the GNU Classpath Exception which is available at
|
|
17
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
18
|
+
//
|
|
19
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
20
|
+
// *****************************************************************************
|
|
21
|
+
const React = require("@theia/core/shared/react");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const language_model_alias_1 = require("@theia/ai-core/lib/common/language-model-alias");
|
|
24
|
+
const language_model_1 = require("@theia/ai-core/lib/common/language-model");
|
|
25
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
26
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
27
|
+
const ai_list_detail_configuration_widget_1 = require("./base/ai-list-detail-configuration-widget");
|
|
28
|
+
const configuration_section_1 = require("./components/configuration-section");
|
|
29
|
+
let ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget_1 = class ModelAliasesConfigurationWidget extends ai_list_detail_configuration_widget_1.AIListDetailConfigurationWidget {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.languageModels = [];
|
|
33
|
+
this.matchingAgentIdsForAliasMap = new Map();
|
|
34
|
+
this.resolvedModelForAlias = new Map();
|
|
35
|
+
this.handleAliasSelectedModelIdChange = (alias, event) => {
|
|
36
|
+
const newModelId = event.target.value || undefined;
|
|
37
|
+
const updatedAlias = {
|
|
38
|
+
...alias,
|
|
39
|
+
selectedModelId: newModelId
|
|
40
|
+
};
|
|
41
|
+
this.languageModelAliasRegistry.ready.then(() => {
|
|
42
|
+
this.languageModelAliasRegistry.addAlias(updatedAlias);
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
init() {
|
|
47
|
+
this.id = ModelAliasesConfigurationWidget_1.ID;
|
|
48
|
+
this.title.label = ModelAliasesConfigurationWidget_1.LABEL;
|
|
49
|
+
this.title.closable = false;
|
|
50
|
+
Promise.all([
|
|
51
|
+
this.loadItems(),
|
|
52
|
+
this.loadLanguageModels()
|
|
53
|
+
]).then(() => this.update());
|
|
54
|
+
this.languageModelAliasRegistry.ready.then(() => this.toDispose.push(this.languageModelAliasRegistry.onDidChange(async () => {
|
|
55
|
+
await this.loadItems();
|
|
56
|
+
this.update();
|
|
57
|
+
})));
|
|
58
|
+
this.toDispose.pushAll([
|
|
59
|
+
this.languageModelRegistry.onChange(async () => {
|
|
60
|
+
await this.loadItems();
|
|
61
|
+
await this.loadLanguageModels();
|
|
62
|
+
this.update();
|
|
63
|
+
}),
|
|
64
|
+
this.aiSettingsService.onDidChange(async () => {
|
|
65
|
+
await this.loadMatchingAgentIdsForAllAliases();
|
|
66
|
+
this.update();
|
|
67
|
+
})
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
async loadItems() {
|
|
71
|
+
await this.languageModelAliasRegistry.ready;
|
|
72
|
+
this.items = this.languageModelAliasRegistry.getAliases();
|
|
73
|
+
// Set initial selection
|
|
74
|
+
if (this.items.length > 0 && !this.selectedItem) {
|
|
75
|
+
this.selectedItem = this.items[0];
|
|
76
|
+
}
|
|
77
|
+
await this.loadMatchingAgentIdsForAllAliases();
|
|
78
|
+
// Resolve evaluated models for each alias
|
|
79
|
+
this.resolvedModelForAlias = new Map();
|
|
80
|
+
for (const alias of this.items) {
|
|
81
|
+
const model = await this.languageModelRegistry.getReadyLanguageModel(alias.id);
|
|
82
|
+
this.resolvedModelForAlias.set(alias.id, model);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async loadLanguageModels() {
|
|
86
|
+
this.languageModels = await this.languageModelRegistry.getLanguageModels();
|
|
87
|
+
}
|
|
88
|
+
async loadMatchingAgentIdsForAllAliases() {
|
|
89
|
+
var _a;
|
|
90
|
+
const agents = this.agentService.getAllAgents();
|
|
91
|
+
const aliasMap = new Map();
|
|
92
|
+
for (const alias of this.items) {
|
|
93
|
+
const matchingAgentIds = [];
|
|
94
|
+
for (const agent of agents) {
|
|
95
|
+
const requirementSetting = await this.aiSettingsService.getAgentSettings(agent.id);
|
|
96
|
+
if (requirementSetting === null || requirementSetting === void 0 ? void 0 : requirementSetting.languageModelRequirements) {
|
|
97
|
+
if ((_a = requirementSetting === null || requirementSetting === void 0 ? void 0 : requirementSetting.languageModelRequirements) === null || _a === void 0 ? void 0 : _a.find(e => e.identifier === alias.id)) {
|
|
98
|
+
matchingAgentIds.push(agent.id);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (agent.languageModelRequirements.some((req) => req.identifier === alias.id)) {
|
|
103
|
+
matchingAgentIds.push(agent.id);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
aliasMap.set(alias.id, matchingAgentIds);
|
|
108
|
+
}
|
|
109
|
+
this.matchingAgentIdsForAliasMap = aliasMap;
|
|
110
|
+
}
|
|
111
|
+
getItemId(item) {
|
|
112
|
+
return item.id;
|
|
113
|
+
}
|
|
114
|
+
getItemLabel(item) {
|
|
115
|
+
return item.id;
|
|
116
|
+
}
|
|
117
|
+
getEmptySelectionMessage() {
|
|
118
|
+
return nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectAlias', 'Please select a Model Alias.');
|
|
119
|
+
}
|
|
120
|
+
renderItemDetail(alias) {
|
|
121
|
+
var _a, _b, _c;
|
|
122
|
+
const availableModelIds = this.languageModels.map(m => m.id);
|
|
123
|
+
const selectedModelId = (_a = alias.selectedModelId) !== null && _a !== void 0 ? _a : '';
|
|
124
|
+
const isInvalidModel = !!selectedModelId && !availableModelIds.includes((_b = alias.selectedModelId) !== null && _b !== void 0 ? _b : '');
|
|
125
|
+
const agentIds = this.matchingAgentIdsForAliasMap.get(alias.id) || [];
|
|
126
|
+
const agents = this.agentService.getAllAgents().filter(agent => agentIds.includes(agent.id));
|
|
127
|
+
const resolvedModel = this.resolvedModelForAlias.get(alias.id);
|
|
128
|
+
return (React.createElement("div", null,
|
|
129
|
+
React.createElement("div", { className: "settings-section-title settings-section-category-title" }, alias.id),
|
|
130
|
+
alias.description && (React.createElement("div", { className: "ai-alias-detail-description" }, alias.description)),
|
|
131
|
+
React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectedModelId', 'Selected Model'), className: "ai-alias-selected-model-section" },
|
|
132
|
+
React.createElement("select", { className: `theia-select template-variant-selector ${isInvalidModel ? 'error' : ''}`, value: isInvalidModel ? 'invalid' : selectedModelId, onChange: event => this.handleAliasSelectedModelIdChange(alias, event) },
|
|
133
|
+
isInvalidModel && (React.createElement("option", { value: "invalid", disabled: true }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/unavailableModel', 'Selected model is no longer available'))),
|
|
134
|
+
React.createElement("option", { value: "", className: 'ai-language-model-item-ready' }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/defaultList', '[Default list]')),
|
|
135
|
+
[...this.languageModels]
|
|
136
|
+
.sort((a, b) => { var _a, _b; return ((_a = a.name) !== null && _a !== void 0 ? _a : a.id).localeCompare((_b = b.name) !== null && _b !== void 0 ? _b : b.id); })
|
|
137
|
+
.map(model => {
|
|
138
|
+
var _a;
|
|
139
|
+
const isNotReady = model.status.status !== 'ready';
|
|
140
|
+
return (React.createElement("option", { key: model.id, value: model.id, className: isNotReady ? 'ai-language-model-item-not-ready' : 'ai-language-model-item-ready', title: isNotReady && model.status.message ? model.status.message : undefined }, (_a = model.name) !== null && _a !== void 0 ? _a : model.id,
|
|
141
|
+
" ",
|
|
142
|
+
isNotReady ? '✗' : '✓'));
|
|
143
|
+
}))),
|
|
144
|
+
alias.selectedModelId === undefined && (React.createElement(React.Fragment, null,
|
|
145
|
+
React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/priorityList', 'Priority List'), className: "ai-alias-defaults-section" },
|
|
146
|
+
React.createElement("ol", null, alias.defaultModelIds.map(modelId => {
|
|
147
|
+
const model = this.languageModels.find(m => m.id === modelId);
|
|
148
|
+
const isReady = (model === null || model === void 0 ? void 0 : model.status.status) === 'ready';
|
|
149
|
+
return (React.createElement("li", { key: modelId }, isReady ? (React.createElement("span", { className: modelId === (resolvedModel === null || resolvedModel === void 0 ? void 0 : resolvedModel.id) ? 'ai-alias-priority-item-resolved' : 'ai-alias-priority-item-ready' },
|
|
150
|
+
modelId,
|
|
151
|
+
" ",
|
|
152
|
+
React.createElement("span", { className: "ai-model-status-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelReadyTooltip', 'Ready') }, "\u2713"))) : (React.createElement("span", { className: "ai-model-default-not-ready" },
|
|
153
|
+
modelId,
|
|
154
|
+
" ",
|
|
155
|
+
React.createElement("span", { className: "ai-model-status-not-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelNotReadyTooltip', 'Not ready') }, "\u2717")))));
|
|
156
|
+
}))),
|
|
157
|
+
React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/evaluatesTo', 'Evaluates to'), className: "ai-alias-evaluates-to-section" }, resolvedModel ? (React.createElement("span", { className: "ai-alias-evaluates-to-value" }, (_c = resolvedModel.name) !== null && _c !== void 0 ? _c : resolvedModel.id,
|
|
158
|
+
resolvedModel.status.status === 'ready' ? (React.createElement("span", { className: "ai-model-status-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelReadyTooltip', 'Ready') }, "\u2713")) : (React.createElement("span", { className: "ai-model-status-not-ready", title: resolvedModel.status.message
|
|
159
|
+
|| nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelNotReadyTooltip', 'Not ready') }, "\u2717")))) : (React.createElement("span", { className: "ai-alias-evaluates-to-unresolved" }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noResolvedModel', 'No model ready for this alias.')))))),
|
|
160
|
+
React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/agents', 'Agents using this Alias'), className: "ai-alias-agents-section" },
|
|
161
|
+
React.createElement("ul", null, agents.length > 0 ? (agents.map(agent => (React.createElement("li", { key: agent.id },
|
|
162
|
+
React.createElement("span", null, agent.name),
|
|
163
|
+
agent.id !== agent.name && React.createElement("span", { className: "ai-alias-agent-id" },
|
|
164
|
+
" (",
|
|
165
|
+
agent.id,
|
|
166
|
+
")"))))) : (React.createElement("span", null, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noAgents', 'No agents use this alias.')))))));
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
exports.ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget;
|
|
170
|
+
ModelAliasesConfigurationWidget.ID = 'ai-model-aliases-configuration-widget';
|
|
171
|
+
ModelAliasesConfigurationWidget.LABEL = nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/label', 'Model Aliases');
|
|
172
|
+
tslib_1.__decorate([
|
|
173
|
+
(0, inversify_1.inject)(language_model_alias_1.LanguageModelAliasRegistry),
|
|
174
|
+
tslib_1.__metadata("design:type", Object)
|
|
175
|
+
], ModelAliasesConfigurationWidget.prototype, "languageModelAliasRegistry", void 0);
|
|
176
|
+
tslib_1.__decorate([
|
|
177
|
+
(0, inversify_1.inject)(language_model_1.LanguageModelRegistry),
|
|
178
|
+
tslib_1.__metadata("design:type", Object)
|
|
179
|
+
], ModelAliasesConfigurationWidget.prototype, "languageModelRegistry", void 0);
|
|
180
|
+
tslib_1.__decorate([
|
|
181
|
+
(0, inversify_1.inject)(ai_core_1.AISettingsService),
|
|
182
|
+
tslib_1.__metadata("design:type", Object)
|
|
183
|
+
], ModelAliasesConfigurationWidget.prototype, "aiSettingsService", void 0);
|
|
184
|
+
tslib_1.__decorate([
|
|
185
|
+
(0, inversify_1.inject)(ai_core_1.AgentService),
|
|
186
|
+
tslib_1.__metadata("design:type", Object)
|
|
187
|
+
], ModelAliasesConfigurationWidget.prototype, "agentService", void 0);
|
|
188
|
+
tslib_1.__decorate([
|
|
189
|
+
(0, inversify_1.postConstruct)(),
|
|
190
|
+
tslib_1.__metadata("design:type", Function),
|
|
191
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
192
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
193
|
+
], ModelAliasesConfigurationWidget.prototype, "init", null);
|
|
194
|
+
exports.ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget_1 = tslib_1.__decorate([
|
|
195
|
+
(0, inversify_1.injectable)()
|
|
196
|
+
], ModelAliasesConfigurationWidget);
|
|
197
|
+
//# sourceMappingURL=model-aliases-configuration-widget.js.map
|