dab246
fd33ccf5e4
feat(ai-scribe): Auto hide Replace action when perform prompt in new email without content
2025-12-19 19:03:39 +07:00
dab246
d62b3db985
feat(ai-scribe): Add Enter to send prompt directly and Shift + Enter to add new line
2025-12-19 19:03:39 +07:00
dab246
54ca4595ad
feat(ai-scribe): Fix some comments of coderabbit
2025-12-19 19:03:39 +07:00
dab246
863bc115bb
feat(ai-scribe): Fix click outside during scribe generating response, scribe be closed
2025-12-19 19:03:39 +07:00
dab246
96b73aa971
feat(ai-scribe): Avoid the prompt being obscured when there is a lot of content.
2025-12-19 19:03:39 +07:00
dab246
3e337d7f3d
feat(ai-scribe): Allow scroll the prompt's response is long
2025-12-19 19:03:39 +07:00
dab246
ea8dedda46
feat(ai-scribe): Fix generate ai text is failed
2025-12-19 19:03:39 +07:00
Théo Poizat
3fe54e1847
Add Intl for Replace text
2025-12-19 19:03:39 +07:00
dab246
af5f316e31
feat(ai-scribe): Optimize imports to avoid having too many lines of code in a single file
2025-12-19 19:03:39 +07:00
dab246
860393fc90
feat(ai-scribe): Improve data & domain layer for ai scribe
2025-12-19 19:03:39 +07:00
dab246
1a1b8f489f
feat(ai-scribe): Improve UI for AI Scribe suggestion modal
2025-12-19 19:03:39 +07:00
dab246
582b1ebe97
feat(ai-scribe): reorganize abstractions and update dialog modal UI
2025-12-19 19:03:39 +07:00
dab246
7ddccf2e1c
feat(ai-scribe): Fix cannot parsing AI capability from Session
2025-12-19 19:03:39 +07:00
Théo Poizat
63d9a5d740
Strong typing AI exceptions
2025-12-19 19:03:39 +07:00
Théo Poizat
0075fd64b6
feat: Remove .env file for AI Scribe
...
It was used at the beginning for configuration purpose but now we
have the JMAP capability, no need anymore.
2025-12-19 19:03:39 +07:00
Théo Poizat
253f22c600
Remove value now unused
...
No more API key and url needed because everything is managed by the backend.
Also backend does not accept a model parameter for the moment.
2025-12-19 19:03:39 +07:00
Théo Poizat
2c364ea08a
Use endpoint from AI capability instead of direct call to LLM
2025-12-19 19:03:39 +07:00
Théo Poizat
4d8d688afb
Fix AI scribe menu going off screen to the top
...
If it was opened at the top of the composer, it could go off screen to the top.
modalHeight was missing so the calculateModalPosition method could not protect the AI scribe menu to go off screen from the top.
2025-12-19 19:03:39 +07:00
Théo Poizat
c7886614cd
Add tests to AI scribe calculcateModalPosition
2025-12-19 19:03:39 +07:00
Théo Poizat
d1bec5af24
Use ValueNotifier instead of setState in AIScribeBar
2025-12-19 19:03:39 +07:00
Théo Poizat
0b139a41d2
Remove unused categoryKeys
2025-12-19 19:03:39 +07:00
Théo Poizat
0b8a814ad6
Show AI Scribe submenu on hover instead of on click
2025-12-19 19:03:39 +07:00
Théo Poizat
2f3bbe3bbb
Do not display AI scribe if AI is not enabled in env.file
2025-12-19 19:03:39 +07:00
Théo Poizat
bb23792fe3
Use bindings to better separate scribe presentation and data layer
2025-12-19 19:03:39 +07:00
Théo Poizat
96c95866c6
Open AI Scribe from bottom bar button
2025-12-19 19:03:39 +07:00
Théo Poizat
b122928a38
Add methods to display AI scribe
2025-12-19 19:03:39 +07:00
Théo Poizat
dced5b5dc7
Add AI scribe widgets
...
- Button : the button with sparkle icon to display AI scribe
- Menu : the menu where you can select the action (eg: translate)
- Bar : the input where you can write a custom action
- Suggestion : the wrapper of the result of the LLM
2025-12-19 19:03:39 +07:00
Théo Poizat
aaf60cf222
Update AI models default and optional values
...
To have stronger code
2025-12-19 19:03:39 +07:00
Théo Poizat
0c787d3d98
Throw error if AI API return null or empty reponse
2025-12-19 19:03:39 +07:00
Théo Poizat
c858ac40f5
Add translations for scribe module
...
Added a separated ScribeLocalizations to keep it separated from main app.
2025-12-19 19:03:39 +07:00
Théo Poizat
2557c68a94
Use absolute path for scribe files
2025-12-19 19:03:39 +07:00
Théo Poizat
7e0c98b080
Add scribe module
2025-12-19 19:03:39 +07:00
Théo Poizat
26593b50ef
Move AI env var from main to scribe package
2025-12-19 19:03:39 +07:00
Théo Poizat
f19993bb30
Use json_serializable and const to improve AI data model
2025-12-19 19:03:39 +07:00
Théo Poizat
2ccb203610
Add AI text state
2025-12-19 19:03:39 +07:00
Théo Poizat
1e2718e678
Add AI text interactor
2025-12-19 19:03:39 +07:00
Théo Poizat
52295c8c0c
Add AI repository implementation
2025-12-19 19:03:39 +07:00
Théo Poizat
6564e50b74
Add AI data source implementation
2025-12-19 19:03:39 +07:00
Théo Poizat
63489b1b44
Add AI abstract repository
2025-12-19 19:03:39 +07:00
Théo Poizat
c734987347
Add AI abstract datasource
2025-12-19 19:03:39 +07:00
Théo Poizat
eaa30918cc
Add AI API request, AI API response and AI message model
2025-12-19 19:03:39 +07:00
Théo Poizat
b3e111b9bf
Add AI prompts
...
This part will be highly reworked soon because :
- prompts will come from a remote JSON file
- menu will be build depending of prompts that will contains translations
I think it should also be moved in another module later.
2025-12-19 19:03:39 +07:00