- Updated all database adapter tests and implementations to replace the 'database' field with 'default_database' for consistency.
- Ensured backward compatibility in the Redshift adapter by allowing both 'database' and 'default_database' fields.
- Enhanced SQLServer and MySQL adapters to reflect the new credential structure, improving clarity and maintainability.
- Added checks to ensure toolCallId exists and is a valid string before processing tool results.
- Preserves the original part if toolCallId is missing or invalid, improving robustness in message conversion.
- Updated logic to prioritize cache as the source of truth during streaming, with asynchronous database updates for persistence.
- Improved error handling for background database updates, ensuring cache validity even if DB update fails.
- Cleaned up mergeResponseMessages and mergeReasoningMessages functions by removing redundant code.
- Introduced lru-cache version 11.1.0 in package.json and pnpm-lock.yaml.
- Refactored updateMessageEntries to utilize TypeScript-based merge logic with write-through caching.
- Improved error handling for fetching existing message entries and updated database logic to merge new entries with existing ones.
- Removed the creation and handling of raw LLM message entries in both start and finish functions.
- Updated message entry updates to only include reasoning messages, simplifying the logic and improving clarity.
- Added imports for various dashboard, metrics, and report tools to the analyst workflow.
- Updated the `runAnalystWorkflow` function to return a comprehensive output, including tool call results, charts created, and summary statistics.
- Implemented logic to extract tool calls and segment messages by user requests, improving the overall workflow output structure.
- Upgraded '@aws-sdk/client-s3' to version 3.873.0 across multiple packages.
- Introduced caching mechanisms for metric data retrieval in the getMetricDataHandler function.
- Updated API endpoints to support report_file_id for cache lookups and data retrieval.
- Enhanced error handling and logging for cache operations.
- Refactored related components to accommodate new caching logic and parameters.
- Updated DELETE, GET, and POST handlers to return structured response types (ShareDeleteResponse, ShareGetResponse, SharePostResponse) for better consistency and clarity.
- Refactored permission checks and report existence validation to streamline logic.
- Improved optimistic UI updates in the frontend for sharing reports, ensuring a smoother user experience.
- Added response schemas for sharing operations to the shared reports module.
- Exported handler functions for DELETE, GET, POST, and PUT endpoints to enhance modularity.
- Removed redundant authentication middleware from individual endpoint files, consolidating it in the index route.
- Cleaned up code formatting for better readability.
- Deleted outdated test file for report sharing endpoints.
- Updated GET reports endpoint to use `getReportsWithPermissions` for improved access control.
- Added support for filtering reports based on `shared_with_me` and `only_my_reports` flags.
- Introduced `getReportsWithPermissions` function to handle complex permission logic in the database layer.
- Enhanced report metadata retrieval to ensure proper access validation before fetching report details.
- Implemented DELETE, GET, POST, and PUT endpoints for report sharing functionality.
- Added logic to handle sharing permissions, including validation of user access and email checks.
- Updated the sharing index route to include new endpoints.
- Created comprehensive tests for sharing functionalities to ensure proper behavior.
- Enhanced the frontend with hooks for sharing reports, unsharing reports, and updating sharing settings.
- Fix report route to use APP_REPORTS_ID instead of APP_REPORT_ID
- Add report icon to CollectionIconRecord
- Add report case to createAssetLink function for proper navigation
- Add ReportContent(String) variant to handle report version history
- Reports store content as plain strings unlike metrics/dashboards which use YAML
- Fixes deserialization error when fetching reports with version history
- Add 'report' case to add_assets_to_collection endpoint
- Add 'report' case to remove_assets_from_collection endpoint
- Update error response mappings to include ReportFile type
- Simplified the `GeneratingContent` component to display a static loading message.
- Updated `ReportPageController` to determine if a report is being generated based on the current message context.
- Adjusted report status handling in the delta creation process to maintain 'loading' status during streaming.
- Enhanced logic in the modify reports helper to ensure file status reflects loading during streaming and only updates to completed or failed when all edits are finalized.
- Modified database query to preserve input order for new messages during updates.
- Create report_files.rs helper module with permission checking
- Add ReportFile asset type handling in add_assets_to_collection_handler
- Add Report variant to AssetToRemove enum for removal operations
- Include report files in collection queries and responses
- Follow existing patterns for MetricFile and DashboardFile