- Update all LLM model files to use getSecretSync with AI_KEYS constants
- Migrate OpenAI GPT models (gpt-5, gpt-5-mini, gpt-5-nano) to use secrets system
- Migrate Anthropic models (sonnet-4, haiku-3-5) to use secrets for both Anthropic API and Vertex AI credentials
- Update provider files (openai.ts, anthropic.ts, vertex.ts) to use getSecretSync
- Migrate evaluation workflow to use BRAINTRUST_KEY from secrets
- Implement proper error handling for missing credentials with try-catch blocks
- Test files will be migrated in a separate update
All non-test source files now use centralized secrets management instead of direct process.env access.
- 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.
- 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.
- 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.
- 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.
- Changed the wording of elapsed time in reasoning messages from "min" to "minutes" for better readability.
- Updated the final reasoning message format to specify "Reasoned for" instead of "Total workflow time," enhancing user understanding of the output.
These changes contribute to a more user-friendly experience and maintain consistency in messaging across different tools.
- 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
- Introduced start time tracking for tool operations in create, modify, and report tools to improve performance monitoring.
- Updated reasoning entries to include elapsed time for completed operations, enhancing user feedback.
- Refactored tool logic to ensure consistent handling of file statuses and improved clarity in reasoning messages.
- Enhanced logging for better traceability during tool execution.
These changes improve the overall user experience and maintainability of the toolset.
- 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
- 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.