@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 @@
|
|
|
1
|
+
{"version":3,"file":"ai-hierarchical-configuration-widget.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx"],"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;AAChF,4DAA0D;AAC1D,iFAA2E;AAE3E;;;;;;GAMG;AAEI,IAAe,iCAAiC,GAAhD,MAAe,iCAAkC,SAAQ,wDAAyB;IAAlF;;QACH;;WAEG;QACO,qBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAEpD;;WAEG;QACO,kBAAa,GAAG,CAAC,SAAiB,EAAQ,EAAE;YAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;IAQN,CAAC;IANG;;OAEG;IACO,iBAAiB,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACJ,CAAA;AAxBqB,8EAAiC;4CAAjC,iCAAiC;IADtD,IAAA,sBAAU,GAAE;GACS,iCAAiC,CAwBtD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { AIConfigurationBaseWidget } from './ai-configuration-base-widget';
|
|
4
|
+
/**
|
|
5
|
+
* Base class for AI configuration widgets that follow the list-detail pattern:
|
|
6
|
+
* - Left panel: Tree list of items
|
|
7
|
+
* - Right panel: Detail view of selected item
|
|
8
|
+
*
|
|
9
|
+
* This pattern is used by agents, variables, and model aliases widgets.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class AIListDetailConfigurationWidget<T> extends AIConfigurationBaseWidget {
|
|
12
|
+
protected selectedItem: T | undefined;
|
|
13
|
+
protected items: T[];
|
|
14
|
+
/**
|
|
15
|
+
* Get unique identifier for an item. Used for selection tracking.
|
|
16
|
+
*/
|
|
17
|
+
protected abstract getItemId(item: T): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get display label for an item in the list.
|
|
20
|
+
*/
|
|
21
|
+
protected abstract getItemLabel(item: T): string;
|
|
22
|
+
/**
|
|
23
|
+
* Render the detail panel for the selected item.
|
|
24
|
+
*/
|
|
25
|
+
protected abstract renderItemDetail(item: T): React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Load items to display in the list. Called during initialization.
|
|
28
|
+
*/
|
|
29
|
+
protected abstract loadItems(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Get the message to display when no item is selected.
|
|
32
|
+
*/
|
|
33
|
+
protected getEmptySelectionMessage(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Optional: Additional CSS classes for list items.
|
|
36
|
+
*/
|
|
37
|
+
protected getItemClassName(item: T): string;
|
|
38
|
+
/**
|
|
39
|
+
* Optional: Render additional content before the item label.
|
|
40
|
+
*/
|
|
41
|
+
protected renderItemPrefix(item: T): React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Optional: Render additional content after the item label.
|
|
44
|
+
*/
|
|
45
|
+
protected renderItemSuffix(item: T): React.ReactNode;
|
|
46
|
+
protected handleItemSelect: (item: T) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Public method to programmatically select an item.
|
|
49
|
+
* Useful for navigation from other widgets.
|
|
50
|
+
*/
|
|
51
|
+
selectItem(item: T): void;
|
|
52
|
+
protected renderContent(): React.ReactNode;
|
|
53
|
+
protected renderList(): React.ReactNode;
|
|
54
|
+
protected renderDetail(): React.ReactNode;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=ai-list-detail-configuration-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-list-detail-configuration-widget.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;GAMG;AACH,8BACsB,+BAA+B,CAAC,CAAC,CAAE,SAAQ,yBAAyB;IACtF,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;IAE1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAE7C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAEhD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS;IAE7D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAI3C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS;IAIpD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS;IAIpD,SAAS,CAAC,gBAAgB,SAAU,CAAC,KAAG,IAAI,CAG1C;IAEF;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAIhC,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS;IAS1C,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;IAwBvC,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;CAa5C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AIListDetailConfigurationWidget = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// *****************************************************************************
|
|
6
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
7
|
+
//
|
|
8
|
+
// This program and the accompanying materials are made available under the
|
|
9
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
10
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
11
|
+
//
|
|
12
|
+
// This Source Code may also be made available under the following Secondary
|
|
13
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
14
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
15
|
+
// with the GNU Classpath Exception which is available at
|
|
16
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
17
|
+
//
|
|
18
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
|
+
// *****************************************************************************
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
23
|
+
const ai_configuration_base_widget_1 = require("./ai-configuration-base-widget");
|
|
24
|
+
/**
|
|
25
|
+
* Base class for AI configuration widgets that follow the list-detail pattern:
|
|
26
|
+
* - Left panel: Tree list of items
|
|
27
|
+
* - Right panel: Detail view of selected item
|
|
28
|
+
*
|
|
29
|
+
* This pattern is used by agents, variables, and model aliases widgets.
|
|
30
|
+
*/
|
|
31
|
+
let AIListDetailConfigurationWidget = class AIListDetailConfigurationWidget extends ai_configuration_base_widget_1.AIConfigurationBaseWidget {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.items = [];
|
|
35
|
+
this.handleItemSelect = (item) => {
|
|
36
|
+
this.selectedItem = item;
|
|
37
|
+
this.update();
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the message to display when no item is selected.
|
|
42
|
+
*/
|
|
43
|
+
getEmptySelectionMessage() {
|
|
44
|
+
return nls_1.nls.localize('theia/ai/configuration/selectItem', 'Please select an item.');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Optional: Additional CSS classes for list items.
|
|
48
|
+
*/
|
|
49
|
+
getItemClassName(item) {
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Optional: Render additional content before the item label.
|
|
54
|
+
*/
|
|
55
|
+
renderItemPrefix(item) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Optional: Render additional content after the item label.
|
|
60
|
+
*/
|
|
61
|
+
renderItemSuffix(item) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Public method to programmatically select an item.
|
|
66
|
+
* Useful for navigation from other widgets.
|
|
67
|
+
*/
|
|
68
|
+
selectItem(item) {
|
|
69
|
+
this.handleItemSelect(item);
|
|
70
|
+
}
|
|
71
|
+
renderContent() {
|
|
72
|
+
return (React.createElement("div", { className: "ai-list-detail-configuration-main" },
|
|
73
|
+
this.renderList(),
|
|
74
|
+
this.renderDetail()));
|
|
75
|
+
}
|
|
76
|
+
renderList() {
|
|
77
|
+
return (React.createElement("div", { className: "ai-configuration-list preferences-tree-widget theia-TreeContainer" },
|
|
78
|
+
React.createElement("ul", null, this.items.map(item => {
|
|
79
|
+
const itemId = this.getItemId(item);
|
|
80
|
+
const isSelected = this.selectedItem && this.getItemId(this.selectedItem) === itemId;
|
|
81
|
+
return (React.createElement("li", { key: itemId, className: `theia-TreeNode theia-CompositeTreeNode${isSelected ? ' theia-mod-selected' : ''} ${this.getItemClassName(item)}`, onClick: () => this.handleItemSelect(item) },
|
|
82
|
+
this.renderItemPrefix(item),
|
|
83
|
+
React.createElement("span", { className: "ai-configuration-list-item-label" }, this.getItemLabel(item)),
|
|
84
|
+
this.renderItemSuffix(item)));
|
|
85
|
+
}))));
|
|
86
|
+
}
|
|
87
|
+
renderDetail() {
|
|
88
|
+
return (React.createElement("div", { className: "ai-configuration-detail preferences-editor-widget" }, this.selectedItem ? (this.renderItemDetail(this.selectedItem)) : (React.createElement("div", { className: "ai-configuration-empty-state" },
|
|
89
|
+
React.createElement("span", { className: "ai-empty-state-message" }, this.getEmptySelectionMessage())))));
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.AIListDetailConfigurationWidget = AIListDetailConfigurationWidget;
|
|
93
|
+
exports.AIListDetailConfigurationWidget = AIListDetailConfigurationWidget = tslib_1.__decorate([
|
|
94
|
+
(0, inversify_1.injectable)()
|
|
95
|
+
], AIListDetailConfigurationWidget);
|
|
96
|
+
//# sourceMappingURL=ai-list-detail-configuration-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-list-detail-configuration-widget.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { AIConfigurationBaseWidget } from './ai-configuration-base-widget';
|
|
4
|
+
/**
|
|
5
|
+
* Column definition for table configuration widgets.
|
|
6
|
+
*/
|
|
7
|
+
export interface TableColumn<T> {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
renderCell: (item: T) => React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Base class for AI configuration widgets that display data in a table format.
|
|
15
|
+
* This pattern is used by the token usage configuration widget.
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class AITableConfigurationWidget<T> extends AIConfigurationBaseWidget {
|
|
18
|
+
protected items: T[];
|
|
19
|
+
/**
|
|
20
|
+
* Get unique identifier for a row item.
|
|
21
|
+
*/
|
|
22
|
+
protected abstract getItemId(item: T): string;
|
|
23
|
+
/**
|
|
24
|
+
* Define the columns for the table.
|
|
25
|
+
*/
|
|
26
|
+
protected abstract getColumns(): TableColumn<T>[];
|
|
27
|
+
/**
|
|
28
|
+
* Load items to display in the table. Called during initialization.
|
|
29
|
+
*/
|
|
30
|
+
protected abstract loadItems(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional: Render content before the table (e.g., header, filters, controls).
|
|
33
|
+
*/
|
|
34
|
+
protected renderHeader(): React.ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* Optional: Render content after the table (e.g., summary, footer).
|
|
37
|
+
*/
|
|
38
|
+
protected renderFooter(): React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Optional: Additional CSS class for a specific row.
|
|
41
|
+
*/
|
|
42
|
+
protected getRowClassName(item: T): string;
|
|
43
|
+
protected renderContent(): React.ReactNode;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ai-table-configuration-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-table-configuration-widget.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/base/ai-table-configuration-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CAC5C;AAED;;;GAGG;AACH,8BACsB,0BAA0B,CAAC,CAAC,CAAE,SAAQ,yBAAyB;IACjF,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;IAE1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAE7C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;IAEjD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;IAIzC;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;IAIzC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAI1C,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS;CAiC7C"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AITableConfigurationWidget = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// *****************************************************************************
|
|
6
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
7
|
+
//
|
|
8
|
+
// This program and the accompanying materials are made available under the
|
|
9
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
10
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
11
|
+
//
|
|
12
|
+
// This Source Code may also be made available under the following Secondary
|
|
13
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
14
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
15
|
+
// with the GNU Classpath Exception which is available at
|
|
16
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
17
|
+
//
|
|
18
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
|
+
// *****************************************************************************
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const ai_configuration_base_widget_1 = require("./ai-configuration-base-widget");
|
|
23
|
+
/**
|
|
24
|
+
* Base class for AI configuration widgets that display data in a table format.
|
|
25
|
+
* This pattern is used by the token usage configuration widget.
|
|
26
|
+
*/
|
|
27
|
+
let AITableConfigurationWidget = class AITableConfigurationWidget extends ai_configuration_base_widget_1.AIConfigurationBaseWidget {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.items = [];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Optional: Render content before the table (e.g., header, filters, controls).
|
|
34
|
+
*/
|
|
35
|
+
renderHeader() {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Optional: Render content after the table (e.g., summary, footer).
|
|
40
|
+
*/
|
|
41
|
+
renderFooter() {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Optional: Additional CSS class for a specific row.
|
|
46
|
+
*/
|
|
47
|
+
getRowClassName(item) {
|
|
48
|
+
return '';
|
|
49
|
+
}
|
|
50
|
+
renderContent() {
|
|
51
|
+
const columns = this.getColumns();
|
|
52
|
+
return (React.createElement("div", { className: "ai-table-configuration-main" },
|
|
53
|
+
this.renderHeader(),
|
|
54
|
+
React.createElement("div", { className: "ai-configuration-table-container" },
|
|
55
|
+
React.createElement("table", { className: "ai-configuration-table" },
|
|
56
|
+
React.createElement("thead", null,
|
|
57
|
+
React.createElement("tr", null, columns.map(column => (React.createElement("th", { key: column.id, className: column.className }, column.label))))),
|
|
58
|
+
React.createElement("tbody", null, this.items.map(item => (React.createElement("tr", { key: this.getItemId(item), className: this.getRowClassName(item) }, columns.map(column => (React.createElement("td", { key: column.id, className: column.className }, column.renderCell(item)))))))))),
|
|
59
|
+
this.renderFooter()));
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.AITableConfigurationWidget = AITableConfigurationWidget;
|
|
63
|
+
exports.AITableConfigurationWidget = AITableConfigurationWidget = tslib_1.__decorate([
|
|
64
|
+
(0, inversify_1.injectable)()
|
|
65
|
+
], AITableConfigurationWidget);
|
|
66
|
+
//# sourceMappingURL=ai-table-configuration-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-table-configuration-widget.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/base/ai-table-configuration-widget.tsx"],"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;AAChF,kDAAkD;AAClD,4DAA0D;AAC1D,iFAA2E;AAY3E;;;GAGG;AAEI,IAAe,0BAA0B,GAAzC,MAAe,0BAA8B,SAAQ,wDAAyB;IAA9E;;QACO,UAAK,GAAQ,EAAE,CAAC;IAuE9B,CAAC;IAtDG;;OAEG;IACO,YAAY;QAClB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,YAAY;QAClB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,IAAO;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;IAES,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,CACH,6BAAK,SAAS,EAAC,6BAA6B;YACvC,IAAI,CAAC,YAAY,EAAE;YACpB,6BAAK,SAAS,EAAC,kCAAkC;gBAC7C,+BAAO,SAAS,EAAC,wBAAwB;oBACrC;wBACI,gCACK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACnB,4BAAI,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAC1C,MAAM,CAAC,KAAK,CACZ,CACR,CAAC,CACD,CACD;oBACR,mCACK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpB,4BAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACnB,4BAAI,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CACvB,CACR,CAAC,CACD,CACR,CAAC,CACE,CACJ,CACN;YACL,IAAI,CAAC,YAAY,EAAE,CAClB,CACT,CAAC;IACN,CAAC;CACJ,CAAA;AAxEqB,gEAA0B;qCAA1B,0BAA0B;IAD/C,IAAA,sBAAU,GAAE;GACS,0BAA0B,CAwE/C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
export interface ConfigurationSectionProps {
|
|
4
|
+
title: string;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A reusable section component with a title and content area.
|
|
10
|
+
* Follows the Theia settings section styling.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ConfigurationSection: React.FC<ConfigurationSectionProps>;
|
|
13
|
+
//# sourceMappingURL=configuration-section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-section.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/configuration-section.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CASpE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigurationSection = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
const React = require("@theia/core/shared/react");
|
|
20
|
+
/**
|
|
21
|
+
* A reusable section component with a title and content area.
|
|
22
|
+
* Follows the Theia settings section styling.
|
|
23
|
+
*/
|
|
24
|
+
const ConfigurationSection = ({ title, children, className }) => (React.createElement("div", { className: `ai-configuration-section ${className || ''}` },
|
|
25
|
+
React.createElement("div", { className: 'settings-section-title settings-section-category-title' }, title),
|
|
26
|
+
React.createElement("div", { className: 'ai-configuration-section-content' }, children)));
|
|
27
|
+
exports.ConfigurationSection = ConfigurationSection;
|
|
28
|
+
//# sourceMappingURL=configuration-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-section.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/configuration-section.tsx"],"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;AAChF,kDAAkD;AAQlD;;;GAGG;AACI,MAAM,oBAAoB,GAAwC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CACzG,6BAAK,SAAS,EAAE,4BAA4B,SAAS,IAAI,EAAE,EAAE;IACzD,6BAAK,SAAS,EAAC,wDAAwD,IAClE,KAAK,CACJ;IACN,6BAAK,SAAS,EAAC,kCAAkC,IAC5C,QAAQ,CACP,CACJ,CACT,CAAC;AATW,QAAA,oBAAoB,wBAS/B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
export interface EmptyStateProps {
|
|
4
|
+
message: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A component to display an empty state message (e.g., "Please select an item").
|
|
9
|
+
*/
|
|
10
|
+
export declare const EmptyState: React.FC<EmptyStateProps>;
|
|
11
|
+
//# sourceMappingURL=empty-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/empty-state.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmptyState = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
const React = require("@theia/core/shared/react");
|
|
20
|
+
/**
|
|
21
|
+
* A component to display an empty state message (e.g., "Please select an item").
|
|
22
|
+
*/
|
|
23
|
+
const EmptyState = ({ message, className }) => (React.createElement("div", { className: `ai-configuration-empty-state ${className || ''}` },
|
|
24
|
+
React.createElement("span", { className: 'ai-empty-state-message' }, message)));
|
|
25
|
+
exports.EmptyState = EmptyState;
|
|
26
|
+
//# sourceMappingURL=empty-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/empty-state.tsx"],"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;AAChF,kDAAkD;AAOlD;;GAEG;AACI,MAAM,UAAU,GAA8B,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC7E,6BAAK,SAAS,EAAE,gCAAgC,SAAS,IAAI,EAAE,EAAE;IAC7D,8BAAM,SAAS,EAAC,wBAAwB,IAAE,OAAO,CAAQ,CACvD,CACT,CAAC;AAJW,QAAA,UAAU,cAIrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
export interface ExpandableSectionProps {
|
|
4
|
+
title: React.ReactNode;
|
|
5
|
+
isExpanded: boolean;
|
|
6
|
+
onToggle: () => void;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A collapsible section with a chevron icon and expandable content.
|
|
12
|
+
*/
|
|
13
|
+
export declare const ExpandableSection: React.FC<ExpandableSectionProps>;
|
|
14
|
+
//# sourceMappingURL=expandable-section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expandable-section.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/expandable-section.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqB9D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExpandableSection = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
const React = require("@theia/core/shared/react");
|
|
20
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
/**
|
|
22
|
+
* A collapsible section with a chevron icon and expandable content.
|
|
23
|
+
*/
|
|
24
|
+
const ExpandableSection = ({ title, isExpanded, onToggle, children, className }) => (React.createElement("div", { className: `ai-expandable-section ${className || ''}` },
|
|
25
|
+
React.createElement("div", { className: `ai-expandable-section-header ${isExpanded ? 'expanded' : ''}`, onClick: onToggle },
|
|
26
|
+
React.createElement("span", { className: 'ai-expandable-section-icon' },
|
|
27
|
+
React.createElement("i", { className: (0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right') })),
|
|
28
|
+
React.createElement("div", { className: 'ai-expandable-section-title' }, title)),
|
|
29
|
+
isExpanded && (React.createElement("div", { className: 'ai-expandable-section-content' }, children))));
|
|
30
|
+
exports.ExpandableSection = ExpandableSection;
|
|
31
|
+
//# sourceMappingURL=expandable-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expandable-section.js","sourceRoot":"","sources":["../../../../src/browser/ai-configuration/components/expandable-section.tsx"],"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;AAChF,kDAAkD;AAClD,qDAAkD;AAUlD;;GAEG;AACI,MAAM,iBAAiB,GAAqC,CAAC,EAChE,KAAK,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACZ,EAAE,EAAE,CAAC,CACF,6BAAK,SAAS,EAAE,yBAAyB,SAAS,IAAI,EAAE,EAAE;IACtD,6BACI,SAAS,EAAE,gCAAgC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EACzE,OAAO,EAAE,QAAQ;QAEjB,8BAAM,SAAS,EAAC,4BAA4B;YACxC,2BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,GAAI,CACrE;QACP,6BAAK,SAAS,EAAC,6BAA6B,IAAE,KAAK,CAAO,CACxD;IACL,UAAU,IAAI,CACX,6BAAK,SAAS,EAAC,+BAA+B,IAAE,QAAQ,CAAO,CAClE,CACC,CACT,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { Agent, AISettingsService, FrontendLanguageModelRegistry, LanguageModel } from '@theia/ai-core/lib/common';
|
|
4
|
+
import { LanguageModelAlias } from '@theia/ai-core/lib/common/language-model-alias';
|
|
5
|
+
export interface LanguageModelSettingsProps {
|
|
6
|
+
agent: Agent;
|
|
7
|
+
languageModels?: LanguageModel[];
|
|
8
|
+
aiSettingsService: AISettingsService;
|
|
9
|
+
languageModelRegistry: FrontendLanguageModelRegistry;
|
|
10
|
+
languageModelAliases: LanguageModelAlias[];
|
|
11
|
+
}
|
|
12
|
+
export declare const LanguageModelRenderer: React.FC<LanguageModelSettingsProps>;
|
|
13
|
+
//# sourceMappingURL=language-model-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-model-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,EAA4B,MAAM,2BAA2B,CAAC;AAC7I,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAIpF,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,qBAAqB,EAAE,6BAA6B,CAAC;IACrD,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;CAC9C;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAkItE,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LanguageModelRenderer = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2024 EclipseSource GmbH.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
const React = require("@theia/core/shared/react");
|
|
20
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
21
|
+
const LanguageModelRenderer = ({ agent, languageModels, aiSettingsService, languageModelRegistry, languageModelAliases: aliases }) => {
|
|
22
|
+
const findLanguageModelRequirement = async (purpose) => {
|
|
23
|
+
var _a;
|
|
24
|
+
const requirementSetting = await aiSettingsService.getAgentSettings(agent.id);
|
|
25
|
+
return (_a = requirementSetting === null || requirementSetting === void 0 ? void 0 : requirementSetting.languageModelRequirements) === null || _a === void 0 ? void 0 : _a.find(e => e.purpose === purpose);
|
|
26
|
+
};
|
|
27
|
+
const [lmRequirementMap, setLmRequirementMap] = React.useState({});
|
|
28
|
+
const [resolvedAliasModels, setResolvedAliasModels] = React.useState({});
|
|
29
|
+
React.useEffect(() => {
|
|
30
|
+
const computeLmRequirementMap = async () => {
|
|
31
|
+
const map = await agent.languageModelRequirements.reduce(async (accPromise, curr) => {
|
|
32
|
+
var _a;
|
|
33
|
+
const acc = await accPromise;
|
|
34
|
+
// take the agents requirements and override them with the user settings if present
|
|
35
|
+
const lmRequirement = (_a = await findLanguageModelRequirement(curr.purpose)) !== null && _a !== void 0 ? _a : curr;
|
|
36
|
+
// if no llm is selected through the identifier, see what would be the default
|
|
37
|
+
if (!lmRequirement.identifier) {
|
|
38
|
+
const llm = await languageModelRegistry.selectLanguageModel({ agent: agent.id, ...lmRequirement });
|
|
39
|
+
lmRequirement.identifier = llm === null || llm === void 0 ? void 0 : llm.id;
|
|
40
|
+
}
|
|
41
|
+
acc[curr.purpose] = lmRequirement;
|
|
42
|
+
return acc;
|
|
43
|
+
}, Promise.resolve({}));
|
|
44
|
+
setLmRequirementMap(map);
|
|
45
|
+
};
|
|
46
|
+
computeLmRequirementMap();
|
|
47
|
+
}, []);
|
|
48
|
+
// Effect to resolve alias to model whenever requirements.identifier or aliases change
|
|
49
|
+
React.useEffect(() => {
|
|
50
|
+
const resolveAliases = async () => {
|
|
51
|
+
const newResolved = {};
|
|
52
|
+
await Promise.all(Object.values(lmRequirementMap).map(async (requirements) => {
|
|
53
|
+
const id = requirements.identifier;
|
|
54
|
+
if (id && aliases.some(a => a.id === id)) {
|
|
55
|
+
newResolved[id] = await languageModelRegistry.getReadyLanguageModel(id);
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
58
|
+
setResolvedAliasModels(newResolved);
|
|
59
|
+
};
|
|
60
|
+
resolveAliases();
|
|
61
|
+
}, [lmRequirementMap, aliases]);
|
|
62
|
+
const onSelectedModelChange = (purpose, event) => {
|
|
63
|
+
const newLmRequirementMap = { ...lmRequirementMap, [purpose]: { purpose, identifier: event.target.value } };
|
|
64
|
+
aiSettingsService.updateAgentSettings(agent.id, { languageModelRequirements: Object.values(newLmRequirementMap) });
|
|
65
|
+
setLmRequirementMap(newLmRequirementMap);
|
|
66
|
+
};
|
|
67
|
+
return React.createElement("div", { className: 'language-model-container' },
|
|
68
|
+
lmRequirementMap && Object.keys(lmRequirementMap).length > 0 ? (React.createElement("div", { className: "settings-section-subcategory-title ai-settings-section-subcategory-title" }, nls_1.nls.localize('theia/ai/core/agentConfiguration/llmRequirements', 'LLM Requirements'))) : undefined,
|
|
69
|
+
Object.values(lmRequirementMap).map((requirement, index) => {
|
|
70
|
+
var _a;
|
|
71
|
+
const isAlias = requirement.identifier && aliases.some(a => a.id === requirement.identifier);
|
|
72
|
+
const resolvedModel = isAlias ? resolvedAliasModels[requirement.identifier] : undefined;
|
|
73
|
+
return (React.createElement("div", { key: index, className: "ai-llm-requirement-item" },
|
|
74
|
+
React.createElement("div", { className: "ai-configuration-value-row" },
|
|
75
|
+
React.createElement("span", { className: "ai-configuration-value-row-label" },
|
|
76
|
+
nls_1.nls.localize('theia/ai/core/languageModelRenderer/purpose', 'Purpose'),
|
|
77
|
+
":"),
|
|
78
|
+
React.createElement("span", { className: "ai-configuration-value-row-value" }, requirement.purpose)),
|
|
79
|
+
React.createElement("div", { className: "ai-configuration-value-row" },
|
|
80
|
+
React.createElement("label", { className: "ai-configuration-value-row-label", style: { lineHeight: '1.4' }, htmlFor: `model-select-${agent.id}-${requirement.purpose}` },
|
|
81
|
+
nls_1.nls.localize('theia/ai/core/languageModelRenderer/languageModel', 'Language Model'),
|
|
82
|
+
":"),
|
|
83
|
+
React.createElement("select", { className: "theia-select ai-configuration-value-row-value", id: `model-select-${agent.id}-${requirement.purpose}`, style: { maxWidth: '400px' }, value: requirement.identifier, onChange: event => onSelectedModelChange(requirement.purpose, event) },
|
|
84
|
+
React.createElement("option", { value: "" }), aliases === null || aliases === void 0 ? void 0 :
|
|
85
|
+
aliases.sort((a, b) => a.id.localeCompare(b.id)).map(alias => (React.createElement("option", { key: `alias/${alias.id}`, value: alias.id, className: 'ai-language-model-item-ready' }, nls_1.nls.localize('theia/ai/core/languageModelRenderer/alias', '[alias] {0}', alias.id)))), languageModels === null || languageModels === void 0 ? void 0 :
|
|
86
|
+
languageModels.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); }).map(model => {
|
|
87
|
+
var _a;
|
|
88
|
+
const isNotReady = model.status.status !== 'ready';
|
|
89
|
+
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,
|
|
90
|
+
" ",
|
|
91
|
+
isNotReady ? '✗' : '✓'));
|
|
92
|
+
}))),
|
|
93
|
+
isAlias && (React.createElement("div", { className: "ai-configuration-value-row" },
|
|
94
|
+
React.createElement("span", { className: "ai-configuration-value-row-label" },
|
|
95
|
+
nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/evaluatesTo', 'Evaluates to'),
|
|
96
|
+
":"),
|
|
97
|
+
resolvedModel ? (React.createElement("span", { className: "ai-configuration-value-row-value" }, (_a = resolvedModel.name) !== null && _a !== void 0 ? _a : resolvedModel.id,
|
|
98
|
+
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
|
|
99
|
+
|| nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelNotReadyTooltip', 'Not ready') }, "\u2717")))) : (React.createElement("span", { className: "ai-configuration-value-row-value ai-alias-evaluates-to-unresolved" },
|
|
100
|
+
nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noResolvedModel', 'No model ready for this alias.'),
|
|
101
|
+
React.createElement("span", { className: "ai-model-status-not-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noModelReadyTooltip', 'No model ready') }, "\u2717")))))));
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
104
|
+
exports.LanguageModelRenderer = LanguageModelRenderer;
|
|
105
|
+
//# sourceMappingURL=language-model-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-model-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"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"}
|