- Introduced a new runtime type for script plugins in `runtime.go`.
- Created script plugin templates for JavaScript, Python, and Bash in the resource directory.
- Implemented functionality to create script plugins in `wpm.go`, including handling of template files.
- Added a new `ScriptHost` to manage script plugin execution and communication via JSON-RPC.
- Enhanced the `Location` utility to manage directories for user script plugins and templates.
- Updated resource extraction to include script plugin templates.
- Implemented JSON-RPC handling in script templates for query and action methods.
* Added `ReloadChatResources` method to manage chat resources dynamically.
* Updated `AIChatPlugin` to call `ReloadChatResources` for agents and tools.
* Modified `WoxSettingController` to trigger resource reload on AI provider updates.
* Improved UI layout in `WoxSettingPluginTable` for better responsiveness.
* Cleaned up unused imports and optimized existing methods for better performance.
* Adjusted the width of the AI chat icon from 60 to 45.
* Updated the type for tools in the metadata from `AIMCPServerTools` to `AISelectMCPServerTools`.
* Modified the plugin setting table to handle new image types and improved tooltip display for tools.
* Enhanced the plugin setting view to reset the active tab index on update.
* Added support for checking if a plugin is already installed.
* Implemented version comparison to determine action title and button text.
* Updated notification messages for installation actions.
* Added new translation keys for plugin installation actions in multiple languages.
- Added file_picker plugin to GeneratedPluginRegistrant.swift and Podfile.lock.
- Updated pubspec.yaml to include the latest version of syncfusion_flutter_pdfviewer.
- Updated various dependencies in pubspec.lock to their latest versions.
* Updated `AddActionedResult` method to include `query` parameter for better context.
* Modified `ActionedResult` struct to store the raw query text when an action is performed.
* Improved scoring logic in `calculateResultScore` to consider historical queries for more accurate results.
* Introduced a new component `WoxChatToolcallDuration` to automatically update and display the duration of tool calls.
* The component updates every 100ms when the end timestamp is null, enhancing user experience by providing real-time feedback.
* Refactored `WoxAIChatView` to utilize the new duration component, improving code clarity and maintainability.
* Changed `ChatStreamData` structure to use `Status` instead of `Type`.
* Improved handling of tool call statuses during streaming.
* Refactored related functions to ensure consistent status updates across the application.
* Enhanced logging for better debugging and tracking of AI interactions.
* Updated the property name in `WoxAIChatData` for consistency.
* Adjusted related references in `WoxAIChatController` to reflect the new naming.
* This change improves clarity regarding the purpose of the tools in the AI chat context.
* Removed unnecessary `selectAll` parameter from `focusQueryBox` method.
* Updated calls to `focusQueryBox` throughout the application for consistency.
* Added `extended_text_field` dependency for enhanced text input capabilities.
- Replaced `flutter_markdown` with `markdown_widget` for improved markdown rendering.
- Created a new `WoxMarkdownView` component to encapsulate markdown rendering logic and styling.
- Updated dependencies in `pubspec.yaml` and `pubspec.lock` to reflect the change in markdown package.
- Enhanced color utility functions in `colors.dart` to support darker and lighter color variants.
* Updated the `Name` field in `SearchResult` to use `filepath.Base(path)` for accurate file name extraction.
* This change ensures that the correct base name of the file is returned in search results.
- Improved the update script for macOS to handle DMG installations more robustly.
- Added comprehensive logging to track the update process, including waiting for the application to exit and verifying the existence of the DMG file.
- Implemented checks for running processes to ensure the application is not active during the update.
- Enhanced error handling and user feedback throughout the update process.
* Introduced `AutoFocusToChatInput` flag in `ShowContext` to manage focus behavior.
* Updated `ShowApp` method to handle the new focus logic based on query type.
* Enhanced `WoxLauncherController` to set focus state when launching chat queries.
* Modified `WoxPreviewView` to focus on chat input after UI build if required.
* Added `asyncExecuteOnWindows` method to handle keyboard state issues on Windows.
* Refactored `WoxLauncherView` to simplify widget structure.
* Integrated `WoxBorderDragMoveArea` for improved drag-and-drop functionality.
* Removed unnecessary delays in window hiding logic to streamline user experience.
- Removed unnecessary delays for window focus and hide operations on Windows, simplifying the code.
- Ensured consistent behavior across platforms by directly invoking focus and hide methods without conditional delays.
- Improved code readability and maintainability by eliminating commented-out code and redundant checks.
- Updated the doctor plugin to support HTML previews for version checks and update notes, improving the user experience with styled error and success messages.
- Added new localization strings for update error messages in English, Portuguese, Russian, and Chinese.
- Integrated the flutter_inappwebview package to render HTML content within the app, enhancing the display of update information.
- Replaced the shouldShowDoctorCheckInfo method with a computed property isShowDoctorCheckInfo for better readability.
- Updated toolbar visibility conditions in WoxLauncherView and WoxQueryToolbarView to enhance user experience.
- Adjusted padding and background color of the toolbar based on the presence of results for a more seamless UI integration.
- Introduced DoctorCheckResult and DoctorCheckInfo models to handle doctor check results.
- Updated EntityFactory to support parsing of DoctorCheckResult from JSON.
- Removed unused translation method from EntityFactory to streamline code.
- Implemented new AI chat features including message copying, response regeneration, and message editing.
- Added localization strings for Portuguese, Russian, and Chinese languages to support new AI chat features.
- Introduced a new API endpoint to retrieve the default AI model.
- Enhanced the Wox API to include a method for fetching the default AI model.
- Updated the UI components to support image uploads and emoji selection for agents.
- Improved the agent selection process with a cancel option and default model usage.
- Refactored the AI chat controller to manage agent states and user interactions more effectively.
- Added inline action buttons for chat messages to facilitate user actions like copying and regenerating responses.
- Removed outdated rules and guidelines from the .cursor/rules directory.
- Added comprehensive coding standards for Go, Python, and Flutter, including naming conventions, error handling, and logging practices.
- Updated the Wox project structure documentation to reflect the current organization of core components, plugins, and frontend interfaces.
- Enhanced the Python plugin development guide with standards for type annotations, async programming, and API usage examples.
- Improved the Flutter UI development guide to include directory structure and UI development principles.
- Renamed and refactored agent and model handling in the AI chat system for clarity and consistency.
- Updated internationalization strings across multiple language files to support new features.
- Introduced AIAgent struct to represent AI agents with properties like Id, Name, Prompt, Model, and Tools.
- Updated AIChatData to include Tools and AgentId for better agent integration.
- Implemented agent loading and management in AIChatPlugin, including settings UI for configuring agents.
- Enhanced chat functionality to support agent selection via mentions in chat input.
- Added new API endpoints for fetching agents and integrated them into the Flutter UI.
- Updated localization files to support new agent-related strings in English, Portuguese, Russian, and Chinese.
- Added functionality to enable automatic update checks and downloads in the settings.
- Introduced a background task to periodically check for updates if enabled.
- Enhanced the updater logic to handle update status and error reporting.
- Updated UI to include options for enabling auto-update with corresponding tooltips.
- Refactored doctor checks to utilize the new update status handling.
- Changed version to 2.0.0-beta.2 in updater.json.
- Added download URLs and checksums for Mac (Arm64 and Amd64) and Windows in the version manifest.
- Enhanced the updater logic to handle new download URLs based on architecture.
- Introduced a new endpoint to retrieve the current version in the API.
- Updated UI to display version information in the settings view.
- Updated ChangeUserDataDirectory method to copy only necessary directories (plugins, settings, themes) instead of the entire user data directory.
- Added checks to skip non-existent source directories to prevent errors during the copy process.
- Enhanced comments for clarity and to address potential recursive copying issues.
- Updated _buildMessageItem method to accept BuildContext for better theme integration.
- Refined color handling for user and tool messages to improve visual consistency.
- Replaced InkWell with GestureDetector for better performance.
- Removed unnecessary box shadows and adjusted background colors for a cleaner UI.
- Enhanced Markdown styling to utilize the current theme's text colors.
- Changed the file opening command from using explorer.exe directly to utilizing PowerShell's Start-Process for improved argument handling.
- This modification enhances the reliability of opening files in their respective folders on Windows systems.
- Added tooltips to header cells and operation columns in WoxSettingPluginTable for better user guidance.
- Improved layout in WoxSettingPluginView by adjusting content padding and using Flexible widgets for better text handling.
- Updated width settings in theme and plugin views for consistent UI presentation.
- Added color utility functions to manage theme colors dynamically.
- Updated tooltip view to accept a color parameter for better customization.
- Enhanced various UI components to utilize the new color utility functions for consistent theming.
- Improved the styling of buttons, text, and other elements to align with the current theme.
- Refactored the WoxSettingDataView and WoxSettingPluginView to enhance readability and maintainability.
- Ensured that the application adheres to the theme settings across different views and components.
- Implemented a logging mechanism to capture messages from native code in WindowsWindowManager.
- Introduced a delay before hiding the window to prevent keyboard state inconsistencies.
- Enhanced FlutterWindow to log messages via the window manager channel.