- 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.
- Introduced `executeMetricQuery` utility for standardized metric SQL query execution with retry logic.
- Updated `getMetricDataHandler` and metric tool execution functions to utilize the new query utility, improving error handling and result processing.
- Added metadata generation from query results to provide detailed insights into data structure.
- Refactored SQL validation to ensure only read-only queries are executed, enhancing data integrity.
- Updated getMetricDataHandler to convert query results into a consistent type format (string | number | null).
- Improved metadata construction for query results, including detailed type mapping for database fields.
- Changed API call in the web client to use mainApiV2 for metric data requests.
- Added '@buster/data-source' dependency to the server and pnpm lock files.
- Enhanced the getMetricDataHandler function to support versioning and data source integration.
- Updated the metric data query schema to include an optional version number parameter.
- Modified the API endpoint to accommodate the new versioning feature for metric data retrieval.
- Introduced a new endpoint to retrieve metric data with pagination at /metric_files/:id/data.
- Added MetricDataParamsSchema and MetricDataQuerySchema for request validation.
- Updated GetMetricDataRequestSchema to include an optional limit parameter for pagination.
- Add proper error handling for Slack API failures with typed responses
- Implement message operation types for better type safety
- Add retry logic with exponential backoff for transient failures
- Export webhook types for external consumers
- Update Slack agent task to handle errors gracefully and continue processing
- Add proper validation and error messages for failed operations
- Include structured error tracking for debugging
🤖 Generated with Anthropic
Co-Authored-By: Claude <noreply@anthropic.com>
Ensure the Slack events endpoint never returns an HTTP 200 with success: false in the response body. Any failed event processing will now properly throw an error and return an appropriate error status code.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Introduced GitHub routes for handling installation callbacks and token management.
- Implemented middleware for validating GitHub webhook requests.
- Added tests for new handlers and middleware to ensure functionality.
- Enhanced sandbox utilities to support GitHub token usage for authenticated operations.
- Changed chatAssetTypeToDatabaseAssetType to a Partial<Record> for better type safety.
- Updated convertChatAssetTypeToDatabaseAssetType to throw an error for unmapped asset types.
- Modified downloadMetricFileHandler tests to use fake timers and improve timeout handling.
- Updated report sharing endpoint to use SharePermissionsUpdateRequest for better clarity.
- Renamed schemas in server-shared for backward compatibility while maintaining clarity.
- Adjusted GetTitleRequestSchema to restrict asset types to those supporting title retrieval.
- Added permission checks to metric file download handler
- Added permission checks to export-metric-data trigger task
- Created comprehensive tests for access control integration
- Updated AssetType enums to include report_file
- Resolved export conflicts in server-shared package
- Fixed AI package imports for new getPermissionedDatasets API
- Updated type definitions for better clarity and type safety in metric file download and export tasks.
- Enhanced error handling in the metric files API to utilize HTTPException for more consistent error responses.
- Added environment variable validation in export tasks to ensure necessary credentials are present before execution.
- Improved type assertions for content in metric export queries to ensure proper handling of JSONB data.
- Introduced new API endpoint for downloading metric files as CSV.
- Implemented export logic to handle large datasets (up to 1 million rows) and generate presigned URLs for secure downloads.
- Added cleanup task to remove exported files from R2 storage after 60 seconds.
- Updated environment configuration to include Cloudflare R2 credentials.
- Enhanced error handling for various export scenarios.
- Refactored related database queries and schemas for better integration.
- Updated documentation for new features and usage instructions.