Commit graph

42 commits

Author SHA1 Message Date
Carl-Robert Linnupuu
9b6cb9de2c feat: diff based editing 2025-06-02 12:46:35 +01:00
Aleksandr
c5f2e6065c feat: multiple custom providers (#859)
* Initial changes to switch to multiple custom providers

* Change CredentialKey from enum to sealed class

* Changes in the form of settings, support for saving and other logic

* Add copy service settings logic

* Add service settings migration logic

* Fixed the error of working with passwords on the main thread, added api token cleanup for remote settings

* Check style fix

---------

Co-authored-by: a.iudin <a.iudin@vk.team>
2025-02-11 11:53:40 +00:00
Carl-Robert Linnupuu
33e433b50f fix: get/validate credentials outside of EDT (fixes #374) 2024-12-06 10:54:04 +00:00
Carl-Robert Linnupuu
071c45b677 feat: streaming support for o1 models 2024-12-06 10:53:58 +00:00
Carl-Robert Linnupuu
4998e91a29 chore: oai compatibility for ollama chat completions 2024-11-04 12:31:19 +00:00
Carl-Robert Linnupuu
2312a9dcb2 refactor: improve chat response rendering performance 2024-10-18 15:28:26 +03:00
Carl-Robert Linnupuu
f45f8e2e02 refactor: improve chat completion call handling 2024-10-18 15:28:22 +03:00
Carl-Robert Linnupuu
6668ad5123 chore: include metadata in codegpt requests 2024-10-10 11:21:19 +03:00
Carl-Robert Linnupuu
24ae263a39 feat: support qwen2.5 and o1 models 2024-10-01 14:28:33 +03:00
Carl-Robert Linnupuu
c42ee67f4e refactor: clean up completion request factory 2024-09-24 13:11:41 +03:00
Carl-Robert Linnupuu
001c12b3f8 refactor: consolidate completion request building (#703)
* fix: direct apply and output diff actions visibility

* refactor: consolidate chat completion request building
2024-09-23 23:30:49 +03:00
Carl-Robert Linnupuu
726492733e feat: enable Edit Code feature for all providers (closes #700, #698, #696) 2024-09-23 23:30:21 +03:00
Carl-Robert Linnupuu
083c11f923 refactor: implement ConfigurationSettings as a Kotlin service (#634) 2024-08-21 13:39:48 +03:00
Carl-Robert Linnupuu
8a7c84ae35 chore: remove You.com support 2024-06-24 17:48:27 +03:00
Rene Leonhardt
9bd7e6e83a
feat: Visualize downloaded models (#543)
* feat: Visualize downloaded models

* Simplify GeneralSettings access
2024-05-13 10:48:55 +03:00
Carl-Robert Linnupuu
310210957b fix: lookup and commit message completions for codegpt provider 2024-05-09 15:41:04 +03:00
Carl-Robert
0852c27170
feat: add CodeGPT "native" API provider (#537)
* feat: support codegpt client

* feat: add basic request handler test

* refactor: minor cleanup
2024-05-08 23:59:51 +03:00
Phil
74fc2e6219
feat: add Google Gemini API support (#535) 2024-05-08 16:51:32 +03:00
Phil
dcd0a3fc51
Revert "fix: use /infill for llama.cpp code-completions (#513)" (#533)
This reverts commit 8de72b3301.
2024-05-08 16:06:14 +03:00
Jack Boswell
e40630d796
feat: Implement Ollama as a high-level service (#510)
* Initial implementation of Ollama as a service

* Fix model selector in tool window

* Enable image attachment

* Rewrite OllamaSettingsForm in Kt

* Create OllamaInlineCompletionModel and use it for building completion template

* Add support for blocking code completion on models that we don't know support it

* Allow disabling code completion settings

* Disable code completion settings when an unsupported model is entered

* Track FIM template in settings as a derived state

* Update llm-client

* Initial implementation of model combo box

* Add Ollama icon and display models as list

* Make OllamaSettingsState immutable & convert OllamaSettings to Kotlin

* Add refresh models button

* Distinguish between empty/needs refresh/loading

* Avoid storing any model if the combo box is empty

* Fix icon size

* Back to mutable settings
There were some bugs with immutable settings

* Store available models in settings state

* Expose available models in model dropdown

* Add dark icon

* Cleanups for CompletionRequestProvider

* Fix checkstyle issues

* refactor: migrate to SimplePersistentStateComponent

* fix: add code completion stop tokens

* fix: display only one item in the model popup action group

* fix: add back multi model selection

---------

Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-05-08 01:11:13 +03:00
Jack Boswell
f44fab551b
refactor: Expand and explicitly handle cases where a ServiceType is checked (#521)
This streamlines changes to ServiceType, where any additions or removals will be flagged at compile time to be handled, instead of silently falling back to a default value.
2024-05-07 10:42:45 +03:00
Phil
8de72b3301
fix: use /infill for llama.cpp code-completions (#513) 2024-04-25 16:47:56 +03:00
Simon Svensson
14f3254913
feat: code completion for "Custom OpenAI Service" (#476)
* Add code completion setting states for custom service

* Add settings for code completion in Custom OpenAI service

* Move code completion section to the bottom

* Create test testFetchCodeCompletionCustomService

* Add Custom OpenAI to the "Enable/Disable Completion" actions

* New configuration UI separating /v1/chat/completions from /v1/completions

* Code completion for Custom Service

* Formatting fixes

* Move prefix and suffix to templates in body

* Message updates

* New tabbed UI for Chat and Code Completions

* convert to kotlin, improve ui and other minor changes

* fix test connection for chat completions

* add help tooltips

* allow backward compatibility

* support prefix and suffix placeholders

* fix initial state loading

---------

Co-authored-by: Jack Boswell (boswelja) <boswelja@outlook.com>
Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-04-20 23:23:08 +03:00
René
2221d72430
feat: add support for placeholders in prompts (#458)
* fixes #432 adds support for Placeholders in Prompts

- activate gradle plugin Git4Idea
- adds PlaceholderUtil
- adds DATE_ISO_8601 PlaceholderReplacer
- adds BRANCH_NAME PlaceholderReplacer

* convert to kotlin, improve ui and add int. test

* fix: do not reuse projects from previous test runs

---------

Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-04-17 11:41:21 +03:00
Rene Leonhardt
c29d3928db
Update to latest 233 platform 2023.3.6 (#439)
* Update to latest 233 platform 2023.3.6

* Use first non-blank choice from response
2024-04-08 16:46:13 +03:00
Carl-Robert
8cf5720db9
feat: OpenAI and Claude vision support (#430)
* feat: add OpenAI and Claude vision support

* refactor: replace awaitility with PlatformTestUtil.waitWithEventsDispatching

* feat: display error when image not found

* chore: bump llm-client

* feat: configurable file watcher and minor code cleanup

* fix: ensure image notifications are triggered only for image file types

* docs: update changelog

* fix: user textarea icon button behaviour

* refactor: minor cleanup
2024-04-02 02:50:41 +03:00
Carl-Robert Linnupuu
2ad1e4e917 refactor: code completion request creation to use CodeCompletionRequestFactory for better abstraction 2024-03-28 11:29:45 +02:00
Carl-Robert Linnupuu
6255bf9eb6 fix: preload credentials to avoid long running tasks on EDT 2024-03-28 00:09:49 +02:00
Carl-Robert Linnupuu
c0c02d9afb refactor: remove custom Azure service configuration 2024-03-14 14:58:58 +02:00
Carl-Robert Linnupuu
42105bf308 refactor: clean up old code 2024-03-14 14:34:29 +02:00
Carl-Robert Linnupuu
8c986fd7de feat: support git commit message generation with custom openai and anthropic service (#390) 2024-03-12 21:27:51 +02:00
Carl-Robert
9706a357d2
feat: support claude completions (#398) 2024-03-06 12:48:29 +02:00
Carl-Robert Linnupuu
eeda43b0e4 feat: support lookup completions for custom openai service 2024-02-24 14:38:51 +02:00
Carl-Robert
8507c779b1
feat: support custom OpenAI-compatible service (#383) 2024-02-23 17:41:44 +02:00
Oleksii Maryshchenko
9627bbda15
feat: use llama cpp for generation of git commit message. (#380)
* Enable remote llama cpp server for Windows.

* Mixtral instruct template was added.

* Use llama cpp for generation of git commit message.

* style fix
2024-02-22 12:23:22 +02:00
Carl-Robert Linnupuu
d475ddb36f feat: support custom openai model configuration 2024-02-19 00:46:28 +02:00
Carl-Robert
93145098f5
feat: settings and credentials refactoring (#360)
* refactor service credential managers

* refactor azure settings

* refactor openai settings

* refactor llama settings

* refactor you settings

* refactor included files settings

* refactor general settings

* refactor advanced settings

* fix advanced settings component init

* refactor project structure

* refactor service settings forms

* remove openai quota exceeded field validator

* fix credential modified conditions

* fix and rearrange minor stuff

* fix you auth logic, add credential cache
2024-02-08 01:02:08 +02:00
Carl-Robert Linnupuu
097f0914bf refactor: extract configuration state into standalone class 2024-02-07 02:13:22 +02:00
Phil
7387cf4536
Inline Autocompletion Pt.2 (#333)
* Add first draft of inline code completion with mock text

* Adds InsertInlineTextAction for inserting autocomplete suggestion with tab

- Changed to disable suggestions when text is selected
- Adds and removes the insert action based on when it shows the inlay hint

* Request inline code completion

* Move inline completion prompt into txt file

* Add inline completion settings to ConfigurationState

* Fix code style

* Use EditorTrackerListener instead of EditorFactoryListener to enable inline completion

* Code completion requests synchronously without SSE

* Use LlamaClient.getInfill() for inline code completion

* support inlay block element rendering, clean up code

* Use only enclosed Method or Class contents for code completion if possible

* Refactor extracting PsiElement contents in code completion

* bump llm-client

* fix completion call from triggering on EDT, force method params to be nonnull by default

* refactor request building, decrease delay value

* Trigger code completion if cursor is not inside a word

* Improve inlay rendering

* Support cancellable infill requests

* add statusbar widget, disable completions by default

* Show error notification if code completion failed

* Truely disable/enable EditorInlayHandler when completion is turned off/on

* Add CodeCompletionEnabledListener Topic to control enabling/disabling code-completion

* Add progress indicator for code-completion with option to cancel

* Add CodeCompletionServiceTest + refactor inlay ElementRenderers

* several improvements

- replace timer implementation with call debouncing
- use OpenAI /v1/completions API for completions
- code refactoring

* trigger progress indicator only for llama completions

* fix tests

---------

Co-authored-by: James Higgins <james.isaac.higgins@gmail.com>
Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-01-31 01:05:31 +02:00
Carl-Robert
f831a1facd
feat: add support for auto resolving compilation errors (#318) 2023-12-29 16:41:47 +02:00
Carl-Robert Linnupuu
14acc5b09f Remove Azure model selection and max completion token limit 2023-11-09 20:31:19 +02:00
Carl-Robert Linnupuu
c3da76f2bd Clean up BaseChatToolWindowTabPanel code 2023-11-09 18:43:05 +02:00