Skip to content

Refactor AI#214

Open
InAnYan wants to merge 239 commits intomainfrom
refactor/ai-1
Open

Refactor AI#214
InAnYan wants to merge 239 commits intomainfrom
refactor/ai-1

Conversation

@InAnYan
Copy link
Copy Markdown
Owner

@InAnYan InAnYan commented Apr 21, 2026

No description provided.

…ref.logic.ai.chatting`, remove `AiChatService`, and introduce `GenerateAiResponseTask`.
…rentlySelectedEmbeddingModel` and `CurrentlySelectedChatLanguageModel`; update references and adjust imports.
…gic.ai.preferences`; update package structure and adjust imports across the codebase.
…ic package structure; update imports and restructure hierarchy accordingly.
…ion components into dedicated classes and interfaces.
InAnYan and others added 30 commits April 21, 2026 19:15
Add ADR-0059 documenting the choice of CUID2 over v4 UUID for the
`aiLibraryId` written into shared `.bib` files.

Co-authored-by: Ruslan <ruslanpopov1512@gmail.com>
Co-authored-by: ThiloteE <73715071+ThiloteE@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Rename FXML-injected fields to describe their UI role rather than their
JavaFX type: `vBox` -> `bubble` (carries the chat-bubble styleClass),
`buttonsVBox` -> `buttons`. Matching `fx:id`s in `AiChatMessage.fxml`
updated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Use StringUtil.makeSafe for the null-to-empty content fallback, rename
the lambda parameter `v` to `role` in the role-comparison maps, and add
a short comment explaining the orElse(false) on the pseudo-class
bindings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
In AiChatStatusViewModel, give FileStatus a private displayName field
populated through the constructor with Localization.lang(...) at each
constant, matching the ChatMessage.Role pattern.

Replace Path.of(System.getProperty("user.home")) with
Directories.getUserDirectory() in both AiChatStatusViewModel
(exportMarkdown / exportJson) and AiSummaryShowingViewModel.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AiEntryChatViewModel and AiGroupChatViewModel both had a State enum
with only AI_TURNED_OFF and CHATTING, bound through BindingsHelper.bindEnum
on top of aiPreferences.enableAiProperty().not(). That is a boolean
dressed as an enum. Replace it with a BooleanProperty `enabled` bound
directly to aiPreferences.enableAiProperty(), and update the matching
view bindings to enabledProperty()/.not(). The multi-valued State enums
in AiChatViewModel and AiSummaryViewModel are left alone.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
# Conflicts:
#	jablib/src/main/resources/csl-locales
#	jablib/src/main/resources/csl-styles
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants