- 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
- Combined asset type enums from both branches
- Merged all database query exports
- Integrated access-controls package into server-shared
- Resolved conflicts in AI package instructions
- 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.
- Introduced `createReports` and `modifyReports` tools, enabling users to create and modify reports with improved state management.
- Added new schemas for report input and output, enhancing type safety and clarity.
- Implemented helper functions for transforming report state and generating reasoning entries.
- Improved test coverage for the new reporting functionalities to ensure robust integration.
These changes streamline the reporting process and enhance overall code maintainability.
- Removed unused properties from the dashboard state and output schemas for clarity.
- Introduced a new state file schema to better represent dashboard files.
- Updated helper functions to streamline file transformation and reasoning message creation.
- Improved type safety by utilizing the newly defined `StatusSchema`.
These changes optimize the dashboard creation process and enhance code maintainability.
- Removed unused import for `createMetricsRawLlmMessageEntry` in visualization tools.
- Introduced Zod schemas for `Dashboard` and `DashboardConfig` to enhance type validation and structure.
- Cleaned up the interface definitions for better clarity and maintainability.
These changes improve the robustness of the dashboard configuration and streamline the codebase.
- Replace ReportElementsSchema with z.any() cast to ReportElements type
- Avoid complex Zod schema inference that exceeds TypeScript serialization limits
- Maintain type safety through explicit type annotations while fixing CI compilation
Co-Authored-By: nate@buster.so <nate@buster.so>
- Use BaseReportSchema.extend() pattern to break down complex type inference
- Separate content field extension to avoid 'type exceeds maximum length' errors
- Maintain same API contract while fixing CI compilation issues
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add Report schema extending ReportElements with metadata fields
- Create GET /api/v2/reports endpoint with pagination
- Create PUT /api/v2/reports/:id endpoint for updates
- Use stubbed data responses following established patterns
- Follow modular route structure and Zod-first validation
Co-Authored-By: nate@buster.so <nate@buster.so>