@pheem49/mint 1.9.0 โ 1.10.0
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/Cargo.lock +55 -3
- package/Cargo.toml +2 -1
- package/Release_Note.md +285 -140
- package/bin/mint +0 -0
- package/crates/mint-cli/Cargo.toml +1 -0
- package/crates/mint-cli/src/actions.rs +233 -0
- package/crates/mint-cli/src/agent.rs +287 -43
- package/crates/mint-cli/src/gmail.rs +22 -2
- package/crates/mint-cli/src/interactive.rs +2888 -0
- package/crates/mint-cli/src/main.rs +336 -2854
- package/crates/mint-cli/src/markdown.rs +294 -0
- package/crates/mint-cli/src/onboard.rs +44 -1
- package/crates/mint-cli/src/updater.rs +48 -6
- package/crates/mint-core/Cargo.toml +1 -0
- package/crates/mint-core/src/agent_loop.rs +1 -0
- package/crates/mint-core/src/api_server.rs +376 -13
- package/crates/mint-core/src/browser.rs +629 -101
- package/crates/mint-core/src/channels.rs +105 -6
- package/crates/mint-core/src/chat.rs +52 -4
- package/crates/mint-core/src/code_tools.rs +29 -11
- package/crates/mint-core/src/config.rs +118 -0
- package/crates/mint-core/src/image_gen.rs +294 -33
- package/crates/mint-core/src/lib.rs +5 -2
- package/crates/mint-core/src/mcp.rs +119 -6
- package/crates/mint-core/src/orchestration.rs +133 -11
- package/crates/mint-core/src/pictures.rs +64 -1
- package/crates/mint-core/src/skills.rs +82 -6
- package/crates/mint-core/src/video_gen.rs +235 -0
- package/package.json +8 -2
- package/shared-modules/luajit/luajit.json +2 -2
- package/skills-lock.json +41 -0
- package/src/renderer/index-web.html +1 -1
- package/src/renderer/index.html +1 -1
- package/src/renderer/shared/constants/slashCommands.ts +27 -0
- package/src/renderer/shared/platform.ts +3 -0
- package/src/renderer/shared/types.ts +4 -0
- package/src/renderer/shared/utils/approval.tsx +86 -7
- package/src/renderer/shared/utils/markdown.tsx +217 -88
- package/src/renderer/shared/utils/slashCommandProcessor.ts +239 -0
- package/src/renderer/src/components/ChatPanel.tsx +461 -64
- package/src/renderer/src/components/DashboardSidebar.tsx +11 -2
- package/src/renderer/src/components/ImageStudioPanel.tsx +87 -4
- package/src/renderer/src/components/MintDashboard.tsx +150 -5
- package/src/renderer/src/components/PicturesLibrary.tsx +156 -15
- package/src/renderer/src/components/Settings/AutomationTab.tsx +316 -18
- package/src/renderer/src/components/Settings/GeneralTab.tsx +762 -634
- package/src/renderer/src/components/Settings/PluginsTab.tsx +304 -70
- package/src/renderer/src/components/Settings/ThemeTab.tsx +6 -1
- package/src/renderer/src/components/SettingsWindow.tsx +38 -2
- package/src/renderer/src/components/VeoStudioPanel.tsx +549 -0
- package/src/renderer/src/css/image-studio.css +106 -0
- package/src/renderer/src/css/settings.css +158 -0
- package/src/renderer/src/css/styles.css +352 -1
- package/src/renderer/src/css/veo-studio.css +626 -0
- package/src/renderer/src/index.css +1 -0
- package/src/renderer/src/tauri.ts +144 -17
- package/src/renderer/src-web/components/ChatPanel.tsx +360 -88
- package/src/renderer/src-web/components/DashboardSidebar.tsx +16 -1
- package/src/renderer/src-web/components/ImageStudioPanel.tsx +87 -4
- package/src/renderer/src-web/components/MintDashboard.tsx +137 -4
- package/src/renderer/src-web/components/PicturesLibrary.tsx +155 -15
- package/src/renderer/src-web/components/Settings/AutomationTab.tsx +316 -18
- package/src/renderer/src-web/components/Settings/GeneralTab.tsx +762 -629
- package/src/renderer/src-web/components/Settings/PluginsTab.tsx +304 -70
- package/src/renderer/src-web/components/Settings/ThemeTab.tsx +6 -1
- package/src/renderer/src-web/components/SettingsWindow.tsx +35 -2
- package/src/renderer/src-web/components/VeoStudioPanel.tsx +549 -0
- package/src/renderer/src-web/css/image-studio.css +106 -0
- package/src/renderer/src-web/css/settings.css +158 -0
- package/src/renderer/src-web/css/styles.css +353 -1
- package/src/renderer/src-web/css/veo-studio.css +650 -0
- package/src/renderer/src-web/index.css +1 -0
- package/src/renderer/src-web/tauri.ts +135 -16
- package/src-tauri/src/lib.rs +114 -8
- package/src-tauri/src/webhooks.rs +45 -31
- package/src-tauri/src/workflows.rs +1 -0
- package/src-tauri/tauri.conf.json +1 -1
- package/temp_gridgeist/AGENTS.md +8 -0
- package/temp_gridgeist/CHANGELOG.md +130 -0
- package/temp_gridgeist/LICENSE +21 -0
- package/temp_gridgeist/README.md +323 -0
- package/temp_gridgeist/README.th.md +325 -0
- package/temp_gridgeist/skills/gridgeist/SKILL.md +88 -0
- package/temp_gridgeist/skills/gridgeist/agents/openai.yaml +9 -0
- package/temp_gridgeist/skills/gridgeist/assets/gridgeist-small.svg +10 -0
- package/temp_gridgeist/skills/gridgeist/assets/gridgeist.png +0 -0
- package/temp_gridgeist/skills/gridgeist/assets/gridgeist.svg +18 -0
- package/temp_gridgeist/skills/gridgeist/references/design-language.md +88 -0
- package/temp_gridgeist/skills/gridgeist/references/review-checklist.md +128 -0
- package/temp_gridgeist/skills/gridgeist/references/system-contract.md +109 -0
package/Release_Note.md
CHANGED
|
@@ -1,174 +1,319 @@
|
|
|
1
|
-
# Release Notes - Mint Agent v1.
|
|
1
|
+
# Release Notes - Mint Agent v1.10.0
|
|
2
2
|
|
|
3
|
-
We are excited to release **Mint Agent v1.
|
|
3
|
+
We are excited to release **Mint Agent v1.10.0**! This version introduces major enhancements across CLI, Desktop, Web, Multimodal Video, Remote Messaging Bridges, Browser Automation, LaTeX Sanitization, and **AI Image-to-Image & Inpainting Editing Capabilities**.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## ๐ Message Action Bar & UI Clean Up (Web & Desktop UI)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- **Message Copy Button & Action Bar**:
|
|
10
|
+
- Added a Copy Button to AI responses in both Desktop UI (`src/renderer/src`) and Web UI (`src/renderer/src-web`).
|
|
11
|
+
- Interactive status feedback: copies message text to clipboard with instant visual checkmark (โ) and copied tooltip state.
|
|
12
|
+
- **Mint Web & API Server Terminal Logging & Diagnostics**:
|
|
13
|
+
- Implemented real-time filtered terminal logging for both `mint web` and `mint api` modes in `mint-cli` and `mint-core` (`crates/mint-core/src/api_server.rs`).
|
|
14
|
+
- Terminal now displays real-time colorized API Requests (e.g. `[14:30:15] [API] POST /api/chat -> 200 OK`, `/api/status`, `/api/image-generate`, `/api/video-generate`) and Error Logs (`[14:30:15] [ERROR] API /api/video-generate error`) while keeping verbose frontend asset logs silent.
|
|
15
|
+
- **Google Veo 2 Video Generation Fix & Diagnostics**:
|
|
16
|
+
- Updated Google Veo default model endpoint in `mint-core` (`crates/mint-core/src/video_gen.rs`) from deprecated preview string `veo-2.0-flash-exp` to official model identifier `veo-2.0-generate-001`.
|
|
17
|
+
- Added automatic model fallback to `veo-2.0-flash-001` and descriptive error guidance (`ModelNotFound`) explaining Google Cloud / AI Studio API Key whitelisting requirements if 404 is returned.
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ๐จ Image-to-Image & Inpainting (Image Editing) Support
|
|
22
|
+
|
|
23
|
+
Mint Agent now supports full AI Image Editing (Image-to-Image and Inpainting)! Users can provide an existing image, specify modification instructions (such as *"remove background objects"*, *"change coat color to red"*), and generate edited images directly.
|
|
24
|
+
|
|
25
|
+
### Features Added & Enhancements
|
|
26
|
+
- **Multi-Provider Image Editing**:
|
|
27
|
+
- **Replicate**: Instruction-based editing via `timbrooks/instruct-pix2pix` and mask inpainting via `black-forest-labs/flux-fill-dev`.
|
|
28
|
+
- **Stability AI**: Integrated Stability Image Edit / Inpaint REST API endpoints (`/v2beta/stable-image/edit/inpaint`).
|
|
29
|
+
- **DALLยทE**: Integrated OpenAI `/v1/images/edits` endpoint when image input is provided.
|
|
30
|
+
- **Provider Validation**: Automatically returns clear guidance if text-only image models (like Gemini NanoBanana) are selected for image editing.
|
|
31
|
+
- **New `/edit-image` Slash Command & Redesigned Image Studio UI**:
|
|
32
|
+
- Usage in CLI: `/edit-image <image_path> <instruction>`
|
|
33
|
+
- Image Studio UI (Web & Desktop): Redesigned image upload area into a premium **Drag & Drop Zone** with custom upload styling, SVG icons, hover animations, thumbnail previews, and instant file removal.
|
|
34
|
+
- Parity: Implemented across both Desktop UI (`src/renderer/src`) and Web UI (`src/renderer/src-web`).
|
|
35
|
+
- **`AGENTS.md` Workspace Rules & Skills Autoloading**:
|
|
36
|
+
- Automatically scans and loads workspace rule files (`.agents/AGENTS.md`, `AGENTS.md`, `~/.gemini/config/AGENTS.md`) into system instruction prompt contexts, REST API endpoint (`GET /api/learned-skills`), Tauri Desktop IPC (`list_learned_skills`), and UI autocompletes.
|
|
37
|
+
- Full Parity: Verified and supported across CLI (`mint`), Desktop UI (`src/renderer/src`), and Web UI (`src/renderer/src-web`).
|
|
38
|
+
- **File Approval Target Path, Line Numbers & Diff Stats (`+additions -deletions`)**:
|
|
39
|
+
- Enhanced file modification and creation approval cards to display exact target file paths, line numbers on the left margin (parsed from Unified Diff hunk headers), and line addition/deletion counts (e.g. `path/to/file.rs (+15 -3)`) matching Codex-style diff previews.
|
|
40
|
+
- Integrated `similar` (Myers Diff Algorithm) into `mint-core`'s `full_file_diff` generator to produce clean line-by-line diff previews with 3 context lines, eliminating whole-file replacement previews.
|
|
41
|
+
- Full Parity: Supported across CLI (`crates/mint-cli`), Desktop UI (`src/renderer/src`), and Web UI (`src/renderer/src-web`).
|
|
42
|
+
|
|
43
|
+
---
|
|
19
44
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
45
|
+
## โก Functional Slash Commands & `@` Context Autocomplete in Web & Desktop UI
|
|
46
|
+
|
|
47
|
+
This update brings full CLI slash command execution capabilities and `@` context mention autocomplete to both Web and Desktop interfaces.
|
|
48
|
+
|
|
49
|
+
### Features Added & Enhancements
|
|
50
|
+
|
|
51
|
+
- **Direct Keyboard Triggers (`/` and `@`)**: Type `/` to open the slash commands menu or `@` to trigger workspace context mentions directly inside the chat textarea.
|
|
52
|
+
- **Fluid Micro-Animations & Elastic Physics**: Added cubic-bezier spring pop-in animations (`cubic-bezier(0.16, 1, 0.3, 1)`), smooth hover translations (`translateX(4px)`), rotation transitions (`transform: rotate(45deg)`), and active button click scaling for all chat tools, popups, and autocomplete items.
|
|
53
|
+
- **Persistence Fix for System Response Cards**: Updated `save_system_interaction` in Rust (`src-tauri` & `mint-core`) and frontend IPC APIs (`tauri.ts`) to persist `aiText` output into the SQLite database. Previously, reopening the app restored commands like `/stats` or `/help` with an empty response card because `ai_text` was saved as an empty string. Now system outputs are fully preserved across app restarts.
|
|
54
|
+
- **CLI Parity Command Handlers**:
|
|
55
|
+
- `/help`: Displays formatted interactive command table in chat.
|
|
56
|
+
- `/fast [on|off]`: Toggles fast mode and thinking trace visibility.
|
|
57
|
+
- `/code <task>`: Enables code-agent mode and submits `<task>`.
|
|
58
|
+
- `/cd [path]`: Changes active workspace directory or opens folder picker.
|
|
59
|
+
- `/models [name]`: Lists active providers & models or switches active model.
|
|
60
|
+
- `/stats`: Displays rich session statistics system card (workspace, interactions, provider, model).
|
|
61
|
+
- `/multi-agent [on|off]`: Toggles Multi-Agent Collaboration system.
|
|
62
|
+
- `/image` & `/paste`: Triggers file dialog or clipboard image attachment.
|
|
63
|
+
- `/veo <prompt>`: Routes to Veo video generation studio.
|
|
64
|
+
- **`@` Context Mention Autocomplete**: Added popup suggestion menu for `@workspace`, `@file`, `@docs`, and `@memory` mentions when typing `@` or clicking the `@` toolbar button.
|
|
25
65
|
|
|
26
66
|
---
|
|
27
67
|
|
|
28
|
-
## ๐ Web Search Source Cards
|
|
29
68
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
69
|
+
## ๐ ๏ธ Deduplicated Settings System Events
|
|
70
|
+
|
|
71
|
+
This update fixes an issue where saving settings without changing AI providers or models logged redundant `provider_change` system event badges in the chat timeline.
|
|
72
|
+
|
|
73
|
+
### Bug Fixes & Enhancements
|
|
74
|
+
|
|
75
|
+
- **Backend Deduplication (`set_active_model`)**: Updated `set_active_model` in `config.rs` to compare previous provider and active model against new values, ensuring system interaction events are only written to the database when provider or model actually changes.
|
|
76
|
+
- **Frontend Deduplication (`SettingsWindow.tsx` & `MintDashboard.tsx`)**: Updated settings save handlers and provider/model switch handlers in both Desktop and Web renderers to verify whether provider or model changed before invoking `setActiveModel` or `saveSystemInteraction`.
|
|
33
77
|
|
|
34
78
|
---
|
|
35
79
|
|
|
80
|
+
## ๐ฅ๏ธ Minimalist CLI Security Approval UI Redesign
|
|
81
|
+
|
|
82
|
+
This release overhauls the interactive CLI approval prompt (`AgentApproval`) for MCP tools, local shell commands, file edits, note creation, and plugin executions into a modern, emoji-free **Minimalist Divider Badge** card layout.
|
|
83
|
+
|
|
84
|
+
### Features Added & Enhancements
|
|
36
85
|
|
|
37
|
-
|
|
86
|
+
- **Minimalist Divider Badge Cards**: Formatted security checks into clean 2-column key-value tables (`Server โ gmail`, `Tool โ list_tools`, `Command โ git status`) bounded by sleek ANSI divider lines.
|
|
87
|
+
- **Emoji-Free Modern Terminal Style**: Removed distracting emoji icons for a crisp, high-contrast developer terminal aesthetic (`BRIGHT`, `BLUE`, `DIM`, `MINT`).
|
|
88
|
+
- **Descriptive Action Options**: Updated the interactive selection menu with explicit choice descriptions:
|
|
89
|
+
- `1. Approve (Once)` - Allow single execution
|
|
90
|
+
- `2. Approve (Entire Session)` - Auto-approve throughout session
|
|
91
|
+
- `3. Deny` - Cancel action
|
|
38
92
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- **Red Stop Composer Button:** When the AI is running, the composer "Send" button turns into a red "Stop" square icon button, allowing users to stop the generation instantly.
|
|
43
|
-
- **Thinking Label Hints:** Updated the progress indicator label to explicitly display "Thinking for Xs (Esc to cancel)" so users are aware of the shortcut.
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## ๐น๐ญ Thai Language Typography & Chat Panel Spacing Enhancement
|
|
44
96
|
|
|
45
|
-
|
|
46
|
-
When the microphone/voice mode is active, the boundaries of the chat composer box and the voice status bar light up with a dynamic, breathing green aura, providing intuitive visual feedback.
|
|
97
|
+
This update addresses cramped text rendering, missing paragraph line breaks, unformatted ordered/bullet lists, and unclickable markdown links in the chat interface.
|
|
47
98
|
|
|
48
|
-
###
|
|
49
|
-
Users can now configure and run multiple specialized AI agents (e.g. Planner, Coder, Reviewer) within the desktop and web settings panel, allocating custom models, providers, and instructions to each agent:
|
|
50
|
-
- **Global Toggle Switch:** Added a main "Enable Multi-Agent Collaboration" toggle switch at the top of the new "Multi-Agent (Beta)" settings tab to globally turn on/off the agent routing pipeline.
|
|
51
|
-
- **Provider-Specific Dropdowns:** Replaced the text input for model selection with provider-specific dropdown select lists matching the models available in General settings.
|
|
52
|
-
- **Disable All Button:** Added a "Disable All" button allowing users to disable all configured agents instantly in one click.
|
|
53
|
-
- **Real-Time Agent & Model Indicators:** The live thinking message bubble in the chat panel dynamically displays the active agent's name and model in real-time (e.g. `Planner (gemini-2.5-flash) is thinking...`).
|
|
99
|
+
### Features Added & Enhancements
|
|
54
100
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
60
|
-
- **Real-Time Agent & Model Status:** The CLI live thinking status bar dynamically displays which agent and model is executing.
|
|
101
|
+
- **Thai Typography & Line Height**: Increased line-height from tight defaults to `1.7` and added font fallbacks (`Prompt`, `Sarabun`, `Noto Sans Thai`, `Kanit`) for clear rendering of Thai upper/lower diacritics and vowels.
|
|
102
|
+
- **Structured Block Rendering**: Refactored `markdown.tsx` to group text into clean block paragraphs (`.chat-paragraph`), section titles (`.chat-section-title`), and structured list items with distinct margins.
|
|
103
|
+
- **Ordered & Bullet List Formatting**: Lines starting with `1.`, `2.`, `(1)`, `-`, `*`, or `โข` are parsed into dedicated flex list elements (`.chat-list-item`) with custom centered vector CSS circle dot markers for pixel-perfect vertical alignment across all Thai/English fonts.
|
|
104
|
+
- **Interactive Markdown & Raw URL Links**: Added inline link parsing for `[label](url)` and raw `https://...` URLs, converting them into clickable external links (`.chat-link`).
|
|
105
|
+
- **UI Font Family Selector**: Expanded the Font Family dropdown in **Settings > Theme & UI** with Google Fonts support for `Prompt`, `Sarabun`, `Kanit`, `Mitr`, `Noto Sans Thai`, `Mali`, `Inter`, and `Fira Code`.
|
|
61
106
|
|
|
62
|
-
|
|
63
|
-
- Fixed a bug where pasting text (or pressing `Ctrl + V`) would trigger a browser-level clipboard permission warning popup (asking to "Allow Paste").
|
|
64
|
-
- Removed the redundant global `keydown` Ctrl+V listener and the async `navigator.clipboard.read()` fallback on text paste events. The application now correctly relies on standard, synchronous `event.clipboardData` values during paste events, ensuring seamless pasting of both images and text without prompting the user.
|
|
65
|
-
- **Tauri Native Fallback:** Restored an asynchronous fallback using Tauri's native backend `readClipboardImage` command specifically for the desktop application. This solves the Linux/Windows WebView limitations where WebKitGTK and standard web APIs fail to expose file handles in standard paste events.
|
|
66
|
-
- **Double Paste Throttling:** Implemented a 100ms throttle wrapper around the native clipboard read callback, preventing duplicate image attachments caused by concurrent window-level capture and element-level paste event propagation.
|
|
107
|
+
---
|
|
67
108
|
|
|
109
|
+
## ๐ฃ LaTeX Symbol & `ightarrow` Sanitization
|
|
68
110
|
|
|
111
|
+
This update enhances markdown and CLI sanitization to automatically convert unescaped LaTeX symbols into Unicode symbols even when printed without LaTeX delimiters `$`.
|
|
69
112
|
|
|
70
|
-
###
|
|
71
|
-
- **Shared UI & Progress Helpers:** Refactored duplicate helper functions and TypeScript interfaces from the desktop renderer (`src/renderer/src`) and web renderer (`src/renderer/src-web`) into the unified `shared` codebase.
|
|
72
|
-
- **Maintainability:** Standardized helper functions across both application targets to prevent future regressions.
|
|
113
|
+
### Features Added & Enhancements
|
|
73
114
|
|
|
74
|
-
|
|
75
|
-
- **
|
|
76
|
-
- **
|
|
77
|
-
- **Interactive Cursor Navigation:** Bounded the arrow keys (`Left` and `Right` navigation) to trigger full box redraws, enabling the visible text window to scroll back and forward dynamically as the cursor moves.
|
|
115
|
+
- **Bare LaTeX Symbol Conversion**: Updated `sanitizeLatex` in `markdown.tsx` and `sanitize_latex` in `agent.rs` to convert unescaped symbols like `ightarrow`, `\rightarrow`, `\leftarrow`, `\Rightarrow`, etc. directly into Unicode arrows (`โ`, `โ`, `โ`).
|
|
116
|
+
- **Standalone `ightarrow` Cleanup**: Fixes garbled outputs from LLMs where string escape sequences swallow `\r` from `\rightarrow`, automatically replacing plain text `ightarrow` with `โ`.
|
|
117
|
+
- **Frontend & CLI Parity**: Ensures both UI message rendering (`markdown.tsx`) and CLI terminal outputs (`agent.rs`) sanitize LaTeX math symbols consistently.
|
|
78
118
|
|
|
79
|
-
|
|
80
|
-
- **Visual Feedback:** Injects a breathing green glowing border overlay around the viewport of any browser page under active AI control.
|
|
81
|
-
- **Non-Intrusive Design:** Built with `pointer-events: none` and a high z-index to ensure it sits on top of all page elements without blocking clicks, scrolling, or user interactions.
|
|
119
|
+
---
|
|
82
120
|
|
|
83
|
-
|
|
84
|
-
- **Consolidated Flow**: Standardized the voice interface to client-side Speech-to-Text (`SpeechRecognition`), enabling compatibility with all AI models (Gemini, OpenAI, Claude, etc.) by transcribing voice to text before sending.
|
|
85
|
-
- **Accurate Speech End Detection**: Configured the Speech-to-Text engine to run in continuous mode (`continuous = true`) so it keeps listening continuously across normal speaking pauses. Added a custom silence timer that triggers sending only after a full 2 seconds of silence, and fixed a loop bug by triggering the timer only after the user starts speaking (preventing the mic from cycling on and off during initial silence).
|
|
86
|
-
- **TTS Language Auto-Detection**: Added automatic Thai character detection in both frontend system voice lookup (now matching language tags case-insensitively) and backend Google Translate TTS generation, resolving the issue where Thai responses were read aloud in English voices.
|
|
87
|
-
- **Codebase Simplification & Hook Refactoring**: Extracted all Speech-to-Text logic, Web Speech APIs, silence timers, and React states into a shared, reusable custom hook `useSpeechToText` in [speech.ts](file:///home/pheem49/vscode/Project/Mint-CLI/src/renderer/shared/utils/speech.ts). This cleaned up ~150 lines of duplicate code in both desktop and web `ChatPanel.tsx` components.
|
|
88
|
-
- **Native App Guidance**: Added a helper prompt to notify users if they attempt to record voice in a browser or WebView that doesn't natively support SpeechRecognition (such as Firefox, Safari, or the Tauri desktop application on Linux/Windows), guiding them to use Google Chrome or Microsoft Edge instead.
|
|
121
|
+
## ๐งฉ New Agent Skills Installation
|
|
89
122
|
|
|
90
|
-
|
|
91
|
-
- **24-Picture Pagination**: Refactored the Saved Pictures library component to load exactly 24 images initially, replacing the buggy automatic timer loading with a clean, manual "Load More" button at the bottom of the grid.
|
|
92
|
-
- **Cache-Busting Image URLs**: Appended a dynamic timestamp query parameter (`?_t=...`) to the static API picture fetches and individual image URLs. This prevents the browser from loading stale lists or caching broken images, ensuring that clicking "Refresh" successfully resolves any missing or incomplete pictures.
|
|
123
|
+
Installed new external agent skills to enhance the workspace's capability and discipline.
|
|
93
124
|
|
|
94
|
-
###
|
|
95
|
-
- **
|
|
125
|
+
### Skills Added
|
|
126
|
+
- **Gridgeist**: Installed the `gridgeist` skill from `ohmiler/gridgeist` repository into `.agents/skills/gridgeist`, including agents, assets, and design references.
|
|
96
127
|
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## ๐ Unified AI Model Switch & Real-time Synchronization
|
|
131
|
+
|
|
132
|
+
This update standardizes model switching across **CLI**, **Desktop (Tauri)**, and **Web** into a single unified implementation, eliminating out-of-sync status badges, inconsistent format strings, and outdated model indicators.
|
|
133
|
+
|
|
134
|
+
### Features Added & Enhancements
|
|
135
|
+
|
|
136
|
+
| Feature | Description |
|
|
137
|
+
|---|---|
|
|
138
|
+
| **Single Source of Truth (`set_active_model`)** | Added `set_active_model(provider, model)` to `MintConfig` in `mint-core` as the unified function for updating active AI providers and models. |
|
|
139
|
+
| **Unified Event Log Format** | Standardized the system event interaction message format across CLI, Desktop, and Web: `<provider> โข <model>` (e.g. `gemini โข gemini-2.5-flash`). |
|
|
140
|
+
| **MCP & Plugins Custom SVG Icons** | Replaced emoji icons with high-resolution vector SVGs for Docker, Git, GitHub, Node.js, Spotify, Discord, and Servers. Added custom SVG code, Image URL, and Preset icon support for Custom MCP Servers in Settings UI. |
|
|
141
|
+
| **MCP Server Inline Edit Drawer (โ๏ธ)** | Added inline expandable configuration panel directly inside each MCP Server card to easily modify Command, Arguments, SVG Icon, and Environment Variables in place. |
|
|
142
|
+
| **Real-time Event Broadcast (`settings-changed`)** | Emits real-time setting change events to Tauri listeners and HTTP clients whenever the model is changed from CLI, Settings UI, or API endpoints. |
|
|
143
|
+
| **Window Focus & Post-Send Sync** | Frontend UI automatically refreshes runtime status on window focus (`window.addEventListener('focus', ...)`) and post-message completion so status badges update instantly without manual app restart. |
|
|
144
|
+
| **General Tab Collapsible Accordion** | Added collapsible section headers (AI Routing, Search, Productivity, Image Gen, Video Gen, Custom Providers, Desktop Updates) with "Expand All" & "Collapse All" quick controls for a clean and readable Settings experience. |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## ๐ Remote Mint Agent โ Messaging Bridges & Remote Workspace Control
|
|
149
|
+
|
|
150
|
+
This update enhances **Telegram**, **Discord**, **Slack**, **LINE**, and **WhatsApp Cloud** bridges to enable full remote control of the Mint Agent, active workspace path resolution, agent loop execution, session isolation, and configurable webhook endpoints.
|
|
151
|
+
|
|
152
|
+
### Features Added & Enhancements
|
|
153
|
+
|
|
154
|
+
| Feature | Description |
|
|
155
|
+
|---|---|
|
|
156
|
+
| **Active Workspace Path Resolution** | Automatically resolves the active Desktop workspace path when requests arrive from Telegram, Discord, Slack, LINE, or WhatsApp (`workspace_path`), allowing the AI to inspect and read local files relative to the project directory. |
|
|
157
|
+
| **Session Isolation (`chat_id`)** | Assigns deterministic platform chat IDs (`telegram:<id>`, `discord:<channel_id>`, `slack:<channel_id>`, `line:<user_id>`, `whatsapp:<phone>`) so conversations and memory history remain isolated per channel/user instead of merging into default chat. |
|
|
158
|
+
| **Agent Loop Remote Intent Execution** | Automatically detects action/execution intents (e.g. *"เนเธเนเนเธเนเธ"*, *"เธเธนเนเธเธฅเน"*, *"เธฃเธฑเธ test"*, *"fix"*, *"build"*) from channel messages and invokes `orchestrate_agent_loop` to perform multi-step file reads and tool executions on the local machine. |
|
|
159
|
+
| **Instant Remote Ack Notification** | Immediately sends typing indicators and acknowledgement messages (`[Mint Agent] Remote command received, processing...`) when remote messages arrive via Telegram, Discord, LINE, or WhatsApp so users get instant feedback. |
|
|
160
|
+
| **Configurable Webhook Host & Port** | Added `lineWebhookHost`, `lineWebhookPort`, `whatsappWebhookHost`, `whatsappWebhookPort` to `MintConfig` and updated Tauri webhook handlers to allow binding to custom hosts (e.g. `0.0.0.0`) for public tunnel exposure. |
|
|
161
|
+
| **Automation Settings UI Redesign** | Redesigned the Native Channel Bridges UI in Settings > Automation into premium modern cards with platform color badges (Telegram โ๏ธ, Discord ๐ฌ, Slack ๐ผ, LINE ๐ข, WhatsApp ๐), active status indicators (`Active` vs `Disabled`), toggle switches, styled inputs, and global Instant Ack notification options. |
|
|
162
|
+
|
|
163
|
+
### Files Changed
|
|
164
|
+
|
|
165
|
+
- `crates/mint-core/src/config.rs` โ Added `active_workspace_path()`, `bridge_ack_enabled()`, `bridge_ack_message()`, and webhook host/port helpers to `MintConfig`.
|
|
166
|
+
- `crates/mint-core/src/channels.rs` โ Added `answer_channel` with workspace path resolution, action intent classification, agent loop execution, instant typing indicators, and platform session `chat_id` forwarding.
|
|
167
|
+
- `src-tauri/src/webhooks.rs` โ Updated LINE and WhatsApp handlers to send instant acknowledgement notifications, use configurable host/port, extract user/phone IDs for session isolation, and delegate to `answer_channel`.
|
|
168
|
+
- `src-tauri/src/lib.rs` โ Updated `send_chat_message` and `stream_chat_message` to automatically persist `activeWorkspacePath` into `MintConfig` when a workspace is opened or used.
|
|
169
|
+
- `src/renderer/src/components/Settings/AutomationTab.tsx` & `src/renderer/src-web/components/Settings/AutomationTab.tsx` โ Added UI input fields for LINE & WhatsApp Webhook Host and Port settings.
|
|
170
|
+
|
|
171
|
+
---
|
|
99
172
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
173
|
+
## ๐น Multimodal Video Attachments & Web Veo Studio Integration
|
|
174
|
+
|
|
175
|
+
This update introduces full support for sending video attachments, saving sent videos to local storage, filtering photos vs. videos in the Gallery, and enabling Veo Studio in the web build.
|
|
176
|
+
|
|
177
|
+
### Features Added
|
|
178
|
+
|
|
179
|
+
| Feature | Description |
|
|
180
|
+
|---|---|
|
|
181
|
+
| **Multimodal Video Support** | Attached videos (`.mp4`, `.webm`, `.mov`, `.mkv`) are sent as base64 `inlineData` payloads to Google Gemini API. Supported in Desktop/Web compose panels. |
|
|
182
|
+
| **Save Attached Videos to Disk** | Videos sent through the chat interface are automatically saved to `<config_path>/../Pictures/` with timestamped names, bypassing standard image thumbnail generation, and indexed in `index.json`. |
|
|
183
|
+
| **Photo/Video Gallery Tabs** | Added **Photos** ๐ท and **Videos** ๐น tabs to the Saved Pictures gallery (both Desktop and Web builds). Video files render using native HTML5 `<video>` tags with controls. |
|
|
184
|
+
| **Web Veo Studio Integration** | Ported and enabled the **Veo Studio** video generation panel in the web build (`src-web`). Added a sidebar navigation entry and integrated the React workspace. |
|
|
185
|
+
| **Video Placeholder & Agent Mode** | Displays `[Video #1]` visual indicator in the user's chat bubble during transmission. Enabled full video support in `Agent Mode` loops and Tauri API server. |
|
|
186
|
+
|
|
187
|
+
### Files Changed
|
|
188
|
+
|
|
189
|
+
- `crates/mint-core/src/chat.rs` โ Added `video_data_uri` to `ChatRequest` and updated `gemini_parts` payload builder
|
|
190
|
+
- `crates/mint-core/src/api_server.rs` โ Exposed `video_data_uri` on HTTP routes, updated `orchestrate_agent_loop` calls, added saving of sent video attachments in `/api/chat` and `/api/chat-stream` endpoints, and added a `/api/thumbnails` route to serve generated video/image thumbnails on Web.
|
|
191
|
+
- `crates/mint-core/src/pictures.rs` โ Added video MIME parsing, thumbnail extraction, and fixed temporary video/frame file leakage under `/tmp`
|
|
192
|
+
- `crates/mint-core/src/orchestration.rs` โ Added `video_data_uri` parameter to `orchestrate_agent_loop` and forwarded it to fallback chat requests
|
|
193
|
+
- `crates/mint-cli/src/main.rs` โ Connected the Veo command to the real video generation backend.
|
|
194
|
+
- `crates/mint-cli/src/image.rs` โ Created `load_video_as_data_uri` helper
|
|
195
|
+
- `crates/mint-cli/src/interactive.rs` โ Handled saving pending videos, and connected the `/veo` interactive command to the real video generation backend.
|
|
196
|
+
- `crates/mint-cli/src/agent.rs` โ Updated `orchestrate_agent_loop` call
|
|
197
|
+
- `src-tauri/src/lib.rs` โ Updated `orchestrate_agent_loop` calls with `video_data_uri`, fixed a compilation error (mismatched types E0308) in `upload_file` command, and registered `upload_file` in `generate_handler!`.
|
|
198
|
+
- `src/renderer/shared/platform.ts` โ Updated `sendChatMessage` / `streamChatMessage` signatures
|
|
199
|
+
- `src/renderer/src/tauri.ts` & `src/renderer/src-web/tauri.ts` โ Implemented video parameter forwarding and save commands
|
|
200
|
+
- `src/renderer/src/components/PicturesLibrary.tsx` & `src/renderer/src-web/components/PicturesLibrary.tsx` โ Added Photo/Video filter tabs, replaced playable HTML5 `<video>` tags with static thumbnail cards featuring a video badge, and set a fixed `4:3` aspect ratio on containers to prevent placeholder collapsing and ensure uniform sizing.
|
|
201
|
+
- `src/renderer/src/components/MintDashboard.tsx` & `src/renderer/src-web/components/MintDashboard.tsx` โ Wired video attachments, integrated VeoStudioPanel, and added `sendingVideoCount` state
|
|
202
|
+
- `src/renderer/src/components/ChatPanel.tsx` & `src/renderer/src-web/components/ChatPanel.tsx` โ Added video picker, previews, and `[Video #1]` placeholder rendering during sending
|
|
203
|
+
- `src/renderer/src-web/components/VeoStudioPanel.tsx` โ **[NEW]** Ported video generator workspace for web renderer
|
|
103
204
|
|
|
104
205
|
---
|
|
105
206
|
|
|
207
|
+
## ๐ฌ Veo Studio โ AI Video Generation Panel
|
|
208
|
+
|
|
209
|
+
This release introduces **Veo Studio**, a new dedicated panel for AI-powered video generation, accessible via the "More" menu in the sidebar.
|
|
210
|
+
|
|
211
|
+
### Features Added
|
|
212
|
+
|
|
213
|
+
| Feature | Description |
|
|
214
|
+
|---|---|
|
|
215
|
+
| **Veo Studio panel** | New `VeoStudioPanel.tsx` component mirroring Image Studio's layout โ left controls pane + right video results pane |
|
|
216
|
+
| **Prompt input** | Full text prompt & optional negative prompt (collapsible) |
|
|
217
|
+
| **Style chips** | Quick-add style suggestions: `cinematic`, `slow motion`, `time-lapse`, `aerial view`, `documentary`, `animation`, `action`, `nature` |
|
|
218
|
+
| **Aspect ratio** | Toggle between `16:9`, `9:16`, and `1:1` video formats |
|
|
219
|
+
| **Duration selector** | Choose between `5s` or `8s` video length |
|
|
220
|
+
| **Provider & model dropdowns** | Google Veo 2.0 Flash (default) and Veo 3.0 Flash (preview) |
|
|
221
|
+
| **Video preview player** | Native `<video>` player with controls for reviewing generated videos |
|
|
222
|
+
| **Send to Chat** | One-click to send the prompt back to the Chat panel |
|
|
223
|
+
| **Recent prompts history** | Tracks last 8 prompts for quick reuse |
|
|
224
|
+
| **Purple/violet theme** | Distinct visual identity separating Veo Studio from Image Studio |
|
|
225
|
+
| **`mint veo` CLI command** | A new CLI command to generate videos from text prompts (e.g., `mint veo "a bird flying" --aspect 16:9 --duration 5`) |
|
|
226
|
+
| **`/veo` Slash Command** | A new slash command in interactive CLI chat mode to quickly trigger video generation (e.g., `/veo a dragon flying --aspect 16:9 --duration 8`) |
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
### Files Changed
|
|
230
|
+
|
|
231
|
+
- `src/renderer/src/components/VeoStudioPanel.tsx` โ **[NEW]** React component
|
|
232
|
+
- `src/renderer/src/css/veo-studio.css` โ **[NEW]** CSS with purple accent palette
|
|
233
|
+
- `src/renderer/src/index.css` โ Added `@import './css/veo-studio.css'`
|
|
234
|
+
- `src/renderer/src/components/DashboardSidebar.tsx` โ Added `'veo'` view type + sidebar entry
|
|
235
|
+
- `src/renderer/src/components/MintDashboard.tsx` โ Imported and wired `VeoStudioPanel`
|
|
236
|
+
- `src/renderer/src/tauri.ts` โ Added `VideoGenRequest`, `VideoGenResponse`, `VideoGenEntry`, `VideoGenProviders` types + stub `generateVideo()` / `getVideoGenProviders()`
|
|
237
|
+
|
|
238
|
+
> **Note:** The backend video generation API (Veo REST integration) is stubbed and will be fully connected in the next update.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## ๐ฑ๏ธ Browser Automation โ Native Mouse & Keyboard Control
|
|
243
|
+
|
|
244
|
+
This release significantly upgrades `mint auto` browser automation with real native input control via Chrome DevTools Protocol (CDP), matching the behavior seen in advanced AI browser agents.
|
|
245
|
+
|
|
246
|
+
### New Tools
|
|
247
|
+
|
|
248
|
+
| Tool | Description |
|
|
249
|
+
|---|---|
|
|
250
|
+
| `browser_mouse_move` | Move the real mouse cursor to absolute (x,y) coordinates |
|
|
251
|
+
| `browser_mouse_click` | Native mousePressed + mouseReleased at (x,y) with configurable button |
|
|
252
|
+
| `browser_key_press` | Press real keyboard keys (Enter, Tab, Escape, F1โF12, etc.) via CDP |
|
|
253
|
+
| `browser_screenshot` | Capture the current page as a base64 PNG image |
|
|
254
|
+
|
|
255
|
+
### Upgraded Tools
|
|
256
|
+
|
|
257
|
+
- **`browser_click`**: Now uses native CDP mouse events (gets element coordinates via `getBoundingClientRect`, then dispatches `mousePressed`/`mouseReleased`), falling back to JS `.click()` for off-screen elements.
|
|
258
|
+
- **`browser_type`**: Upgraded to use `Input.insertText` CDP command (native keyboard), typing character by character like a real user. Also clicks the target element first to focus it.
|
|
259
|
+
|
|
260
|
+
### Visual Cursor Overlay
|
|
261
|
+
|
|
262
|
+
- Browser pages controlled by `mint auto` now show an **animated mouse cursor** (SVG arrow with green stroke) that moves in real-time as the AI controls the mouse.
|
|
263
|
+
- The cursor has a smooth CSS transition and a click animation (scale shrink) when clicking.
|
|
264
|
+
- The green aura border remains and now coexists with the new cursor overlay.
|
|
265
|
+
|
|
266
|
+
### Internal Architecture
|
|
267
|
+
|
|
268
|
+
- Added `cdp_call_raw()` โ lightweight CDP call without overlay injection, used for all Input.* and Page.captureScreenshot methods to avoid unnecessary JS round-trips.
|
|
269
|
+
- Added `get_element_coordinates(selector)` โ helper that returns viewport-relative (x,y) center of any CSS selector element.
|
|
270
|
+
- Added `type_text_native(text)` โ pure CDP keyboard input using `Input.insertText`.
|
|
271
|
+
- Added `key_to_cdp_params(key)` โ maps key names to `windowsVirtualKeyCode` and CDP code strings.
|
|
272
|
+
- **`AgentInput`** struct extended with `x: Option<f64>`, `y: Option<f64>`, `button: String`, `key: String` fields.
|
|
273
|
+
- Log display in `mint auto` updated with new emoji indicators: ๐ฑ๏ธ (mouse move), ๐ฑ๏ธโ (click), โจ๏ธ (key press), ๐ธ (screenshot).
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
### ๐ฅ๏ธ 1. Rich Terminal Spinner Integration (`indicatif`)
|
|
280
|
+
- Added steady-tick green spinner loaders to keep the CLI interactive and visually responsive during blocking background operations:
|
|
281
|
+
- Repository metadata fetching and AI analysis (`GithubOverview`).
|
|
282
|
+
- Codebase indexing & syntax tree parsing (`Command::Symbols`).
|
|
283
|
+
- Semantic vector database embedding indexing (`SemanticCodeCommand::Index`).
|
|
284
|
+
- AI image generation (`Command::Imagine`).
|
|
285
|
+
- Wait for OAuth browser redirection flow (`GmailCommand::Auth`).
|
|
286
|
+
- Application updates check and NPM dependency installations (`updater`).
|
|
287
|
+
|
|
288
|
+
### ๐ค 2. Dynamic Moon Walk Thinking Loader
|
|
289
|
+
- Replaced standard loaders with an elegant Moon phase vector animation loop (`๐`, `๐`, `๐`, `๐`, `๐`, `๐`, `๐`, `๐`) forced into a clean text-presentation style and glowing in a mint-green color.
|
|
290
|
+
- Implemented trailing dynamic dot padding (`""` -> `"."` -> `".."` -> `"..."` -> `""`) to keep line length constant and completely prevent terminal jitter.
|
|
291
|
+
|
|
292
|
+
### ๐จ 3. Glowing Bold Wave Text Scanner
|
|
293
|
+
- Added a floating light wave effect (`apply_wave_effect`) that slides color gradients (Cyan `BLUE`, Mint `MINT`, and Gray `DIM`) dynamically across the letters of the thinking text from left to right.
|
|
294
|
+
- Changed the font weight to bold (`\x1b[1m`) and characters to full-width (`๏ผด๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ` / `๏ฝ๏ฝ ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ`) to match CJK character scaling, making the text physically larger and highly prominent in the console.
|
|
295
|
+
|
|
296
|
+
### ๐ฆ 4. Codebase Modularization & Refactoring
|
|
297
|
+
- Split `main.rs` into modular helper components (`markdown.rs`, `actions.rs`, `interactive.rs`) to improve structure and readability.
|
|
298
|
+
- Cleaned up unused compiler warning imports and standardized process exit codes.
|
|
299
|
+
|
|
300
|
+
### ๐งช 5. Automated CI/CD Workflow Releases
|
|
301
|
+
- Reconfigured the GitHub Actions compiler pipeline (`release.yml`) to automatically parse and publish this `Release_Note.md` directly as the release description body.
|
|
302
|
+
|
|
303
|
+
---
|
|
106
304
|
|
|
107
|
-
## ๐ ๏ธ Codebase Changes
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
- Expand `AgentProgress::Thinking` in `crates/mint-core/src/orchestration.rs` to optionally contain `agent_name` and `model_name`.
|
|
123
|
-
- Inject active AI provider and model name environment context inside `enrich_request` and the initial prompt observation inside `crates/mint-core/src/orchestration.rs` so that the model becomes fully self-aware of its configuration and execution metadata.
|
|
124
|
-
- Inject a green aura viewport border style and DOM overlay (`#mint-browser-aura`) into the active browser page before executing CDP automation actions in `crates/mint-core/src/browser.rs` to visually notify users of active AI control.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
### Desktop/Web Frontend (`src/renderer`)
|
|
128
|
-
- Integrate creation/deletion actions and focus/polling lifecycle listeners inside `WorkspacePanel.tsx`.
|
|
129
|
-
- Redesign actions bar grid layouts inside `styles.css`.
|
|
130
|
-
- Update inline markdown parser inside `ChatPanel.tsx` to wrap `@` mentions, and style `.chat-mention` in `index.css`.
|
|
131
|
-
- Update `submitToolApproval` API and component state handlers (`MintDashboard.tsx`, `ChatPanel.tsx`) in both desktop and web directories to render and submit custom answers.
|
|
132
|
-
- Update `activitiesFrom` and `AgentActivity` structure to parse and append the user's answer into the active `ask_user` tool target block upon `ToolEnd`.
|
|
133
|
-
- Update `LearnedSkill` TypeScript interface in `src/renderer/src/tauri.ts` to include optional `location`.
|
|
134
|
-
- Render colored location badges, strip lengthy content text boxes, and unify MCP toggles/delete controls in `src/renderer/src/components/Settings/PluginsTab.tsx` and `src/renderer/src-web/components/Settings/PluginsTab.tsx`.
|
|
135
|
-
- Implement `cancelChatMessage` API helpers in `tauri.ts` for desktop and web.
|
|
136
|
-
- Bind global Window keydown listeners for `Escape` key and dynamic "Stop" buttons in `ChatPanel.tsx` and `MintDashboard.tsx` under desktop and web source directories.
|
|
137
|
-
- Enhance microphone connection/permission alert dialogs in `ChatPanel.tsx` to print the exact Web API error message for easier debugging.
|
|
138
|
-
- Add voice-active class state and breathing keyframe animation effects around the chat input boundaries when microphone mode is active.
|
|
139
|
-
- Refine the voice status bar rendering logic to prevent displaying redundant text (such as "Listening Listening...") and display actual user speech transcripts wrapped inside quotes instead.
|
|
140
|
-
- Create new settings tab `AgentsTab.tsx` in desktop and web source directories supporting CRUD operations, provider-specific model dropdown selects, "Disable All" button, and global collaboration toggle.
|
|
141
|
-
- Register the `Multi-Agent (Beta)` tab in the sidebar of `SettingsWindow.tsx`.
|
|
142
|
-
- Update `ChatPanel.tsx` in desktop and web source directories to render the active agent and model names inside the live thinking status message.
|
|
143
|
-
- Remove duplicate "Enable Multi-Agent Review" checkbox from `AutomationTab.tsx`.
|
|
144
|
-
- Remove redundant `handleWindowKeyDown` Ctrl+V listeners, unused `onReadClipboardImage` prop, and `navigator.clipboard.read()` async fallback routines from `ChatPanel.tsx` and `MintDashboard.tsx` in both desktop and web directories to resolve browser clipboard permission warning popups during text pasting.
|
|
145
|
-
- Refactor duplicated types (`DiffHunk`, `FileChange`), helper functions (`numericSetting`, `errorMessage`, `readImage`, `readDocument`, `createTrimmedImagePreview`, `lightenColor`, `hexToRgb`, `applyThemeStyles`), and progress parsers (`parseFileChangesFromProgress`) from the desktop and web components to a central `src/renderer/shared` repository. Corrected a type checking issue by exporting `AgentProgress` and `InteractionMemory` from `shared/agentProgress.ts`.
|
|
146
|
-
- Consolidate microphone interface to client-side Speech-to-Text (`SpeechRecognition`), extract STT states, silence-detection timers, and event listeners into a reusable React hook `useSpeechToText` in [speech.ts](file:///home/pheem49/vscode/Project/Mint-CLI/src/renderer/shared/utils/speech.ts), and clean up both desktop (`src/renderer/src/components/ChatPanel.tsx`) and web (`src/renderer/src-web/components/ChatPanel.tsx`) `ChatPanel` components.
|
|
147
|
-
- Implement 24-picture pagination, a manual "Load More" button, and API/image fetch cache-busters in `PicturesLibrary.tsx` and `tauri.ts` across desktop and web directories.
|
|
148
|
-
- Refactor file and folder icon mappings from `WorkspacePanel.tsx` into a central, reusable utility `src/renderer/shared/utils/fileIcons.ts`.
|
|
149
|
-
- Update `AgentActivityTable.tsx` to resolve target filenames/foldernames and display their respective Material Icon Theme SVGs instead of default wireframe outlines.
|
|
150
|
-
- Update Desktop and Web CSS stylesheets (`styles.css`) to support rendering and scaling Material Icon SVGs inside the agent activity tracker.
|
|
151
|
-
- Update `ChatPanel.tsx` (Desktop and Web) to strictly check the global `enableVoiceReply` setting. If voice reply is disabled but voice conversation mode is active, the microphone listening loop is automatically scheduled to resume without reading the AI response out loud.
|
|
152
|
-
|
|
153
|
-
### CLI Agent (`crates/mint-cli`)
|
|
154
|
-
- Redefine live status print lines (`plan_lines`, `tasks_lines`, `activities_lines`, `explored_lines`) to accept progress tick state and apply the `get_bullet` helper.
|
|
155
|
-
- Update `render_live_status` in `crates/mint-cli/src/agent.rs` to compute true physical lines of terminal wrapped text, using a new `is_thai_combining` filter.
|
|
156
|
-
- Modify `confirm` in `crates/mint-cli/src/main.rs` to indent confirmation prompts.
|
|
157
|
-
- Format `mint learn --list` and `/learn` CLI output into a bullet-point summary showing active skill locations and source paths.
|
|
158
|
-
- Register `/multi-agent` slash command to display configured agents and toggle collaboration status via `/multi-agent on` and `/multi-agent off` in `crates/mint-cli/src/main.rs`.
|
|
159
|
-
- Reorder `AUTOCOMPLETE_COMMANDS` alphabetically and simplify exit suggestions by keeping only `/exit`.
|
|
160
|
-
- Paginate suggestions to display at most 5 items per page with page numbers.
|
|
161
|
-
- Fixed `AgentProgress::Thinking` pattern matching compiler error (E0027) in `crates/mint-cli/src/agent.rs` and render active agent and model names in the live thinking terminal status bar.
|
|
162
|
-
- Implement horizontal scrolling viewport for the CLI prompt input box in `crates/mint-cli/src/main.rs`, slicing the visible text to fit the terminal screen and adjusting the cursor column offset accordingly, allowing arbitrary length instructions.
|
|
163
|
-
- Save `provider_change` system interaction events to the database and render a beautiful styled horizontal divider in the console when switching models via `/models` inside `crates/mint-cli/src/main.rs`.
|
|
164
|
-
- Implement dynamic skill invocation with `$` prefix in the CLI interactive chat.
|
|
165
|
-
- Add realtime autocomplete and pagination dropdown list for local/workspace and global skills under the `$` trigger, resolving and rendering skill descriptions.
|
|
166
|
-
- Add frontmatter YAML parser in `crates/mint-core/src/skills.rs` to fetch skill description values.
|
|
167
|
-
- Support confirmation dialogue to display skill contents and confirm activation before running the Agent, allowing inline or prompted tasks.
|
|
168
|
-
- Register `/skill add <path>` (and `/skill install <path>`) slash commands to automatically copy/install a skill file or folder into the global `~/.config/mint/mint-skills/` directory.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
### Github CI/CD Workflows
|
|
174
|
-
- Modify `Publish GitHub release` step in `.github/workflows/release.yml` to use `body_path: Release_Note.md`.
|
|
305
|
+
## ๐ ๏ธ Codebase Changes Summary
|
|
306
|
+
- **Tauri Backend**: Refactored learned skill directory resolver, process suggestion backgrounds, and added global active task cancel hooks (`ACTIVE_AGENTS`).
|
|
307
|
+
- **Web/Desktop Frontend**: Refactored component layout structures, consolidated client-side Speech-to-Text hooks, integrated Material Icon SVGs for agent file explorations, and cleaned up clipboard paste warnings.
|
|
308
|
+
- **CLI Agent**:
|
|
309
|
+
- Reorganized autocomplete commands alphabetically and paginated console inputs to 5 commands max per page.
|
|
310
|
+
- Added dynamic skill prompts (`$`).
|
|
311
|
+
- Added a Crossterm-based interactive arrow-key selection menu (themed in active Blue/Cyan highlight) to `/models`, `/image-provider`, `/fast`, `/multi-agent`, and `/clear` commands.
|
|
312
|
+
- Implemented a custom 24-bit Truecolor Mint-to-Blue gradient renderer for the ASCII welcome banner logo.
|
|
313
|
+
- Upgraded the "Thinking" status loader with a smooth 24-bit Truecolor sine-wave gradient wave animation, and restored standard English characters for cleaner rendering.
|
|
314
|
+
- Improved the MCP safety policy error with direct instructions to run `/mcp allow` to authorize blocked tools.
|
|
315
|
+
- Implemented background `stderr` and `stdout` monitoring for MCP servers to automatically detect OAuth URLs, increased default tool timeout to 30 seconds for slow `npx` resolution, and launch the default system browser with extended timeouts.
|
|
316
|
+
- Injected the list of available MCP servers directly into the system prompt's `mcp_tool` description in `orchestration.rs` to prevent agent naming hallucinations.
|
|
317
|
+
- Implemented the `mcp_list_tools` capability to allow the AI agent to query the complete list of registered tools from any configured MCP server dynamically, enabling self-discovery of tool APIs.
|
|
318
|
+
- Upgraded `/mcp` command to use a two-step interactive menu (themed in active Blue/Cyan highlight) to select a configured server first, show its status, and authorize all tools on the spot.
|
|
319
|
+
- **Workspace Skills Loading**: Modified skill loading to only supply metadata (name, description, path) for workspace-relative skills in the initial context, forcing the AI agent to explicitly invoke `read_file` to read the skill files. This makes skill reading visible as tool call logs in the user interface. Added chat history check to mark skills as READ on subsequent turns, preventing redundant reads on every turn.
|
package/bin/mint
CHANGED
|
Binary file
|