- Introduced memoization for ToolCallSidePanel and FileViewerModal to enhance rendering efficiency.
- Cleaned up unused useEffect hooks in ThreadPage to improve readability and maintainability.
- Refactored playback timeout management in PlaybackControls to utilize useRef for better performance.
- Enhanced streaming content handling in ThreadContent with a helper function for improved clarity and functionality.
- Modify the default tab selection logic to display 'preview' for Markdown or HTML files, and 'code' for others.
- This change enhances the user experience by ensuring the appropriate tab is shown based on file type.
- Introduced ForwardButton for advancing playback by one message.
- Added ResetButton to restart playback from the beginning.
- Refactored Play and Reset button implementations into separate components for better readability and maintainability.
- Updated the playback state management to handle new button functionalities.
These changes improve user interaction with playback controls, allowing for more intuitive navigation through messages.
- Eliminate the currentTags and publishTags state management from AgentsPage.
- Update openPublishDialog and handleAgentPublish functions to no longer set tags.
- Modify PublishDialog to remove tag input and add an alert for sensitive information warnings.
- Ensure the publishing process remains intact without the tags functionality.
This streamlines the publishing process and enhances user awareness regarding sensitive data.
- Add backend API endpoints for agent export/import
- GET /agents/{agent_id}/export - exports agent configuration as JSON
- POST /agents/import - imports agent from JSON (new agents only)
- Add AgentExportData and AgentImportRequest Pydantic models
- Integrate export functionality in agent config header
- Add always-visible 3-dots menu left of "Prompt to Build" tab
- Include export option in dropdown menu for all agent types
- Handle loading states during export process
- Add subtle import functionality to new agent dialog
- Replace mode selection with "or import from JSON" link
- Support file upload and validation for agent JSON
- Streamline UX for creating agents from templates
- Create React Query hooks for export/import operations
- useExportAgent: handles JSON download with proper error handling
- useImportAgent: creates new agent and invalidates cache
- Remove update existing agent option (import creates new agents only)
- Fix API integration to use direct fetch calls with backend URL
- Clean up unused components and improve code organization
This enables users to share agent configurations across instances
and create agents from templates with an intuitive interface.
- Updated the UsageLogEntry interface to include new fields: message_id, thread_id, created_at, content, total_tokens, estimated_cost, and project_id.
- Modified the truncateString function to handle optional string input, returning an empty string if no input is provided.
- Introduced separate mappings for production and staging environments.
- Updated the configuration to dynamically select the appropriate yearly commitment plans based on the current environment mode.
- Added support for yearly commitment plans with associated pricing tiers in the billing service.
- Introduced validation functions to manage plan changes and restrictions based on business rules.
- Updated configuration to include new yearly commitment pricing in both production and staging environments.
- Enhanced frontend components to handle subscription management, including cancellation and reactivation features.
- Refactored billing-related hooks and API calls to accommodate new subscription types and improve error handling.
- Added margin classes to labels for better spacing and alignment.
- Updated card header styling for a cleaner look.
- Enhanced text visibility by adding margin to description labels.
- Simplified the API key creation success message for clarity.
- Adjusted button labels for improved user experience.
- Added a new API keys service with endpoints for creating, listing, revoking, and deleting API keys.
- Integrated API key validation and caching for performance.
- Updated backend configuration to include API key secret and throttling settings.
- Created frontend components for managing API keys, including a user interface for creating and displaying keys.
- Introduced a new database migration for the API keys table with necessary constraints and security policies.
- Enhanced authentication methods to support API key usage alongside JWT.
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx:41:11
Type error: Object literal may only specify known properties, and 'color' does not exist in type 'ReactDiffViewerStylesVariables'.
39 | variables: {
40 | dark: {
> 41 | color: '#e2e8f0',
| ^
42 | background: '#09090b',
43 | addedBackground: '#104a32',
44 | addedColor: '#6ee7b7',
Next.js build worker exited with code: 1 and signal: null
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx:41:11
Type error: Object literal may only specify known properties, and 'color' does not exist in type 'ReactDiffViewerStylesVariables'.
39 | variables: {
40 | dark: {
> 41 | color: '#e2e8f0',
| ^
42 | background: '#09090b',
43 | addedBackground: '#104a32',
44 | addedColor: '#6ee7b7',
Next.js build worker exited with code: 1 and signal: null
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
Attempted import error: 'generateLineDiff' is not exported from './_utils' (imported as 'generateLineDiff').
Import trace for requested module:
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
./src/components/thread/tool-views/wrapper/ToolViewRegistry.tsx
./src/components/thread/tool-views/wrapper/index.ts
./src/components/thread/tool-call-side-panel.tsx
./src/app/share/[threadId]/page.tsx
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
Attempted import error: 'calculateDiffStats' is not exported from './_utils' (imported as 'calculateDiffStats').
Import trace for requested module:
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
./src/components/thread/tool-views/wrapper/ToolViewRegistry.tsx
./src/components/thread/tool-views/wrapper/index.ts
./src/components/thread/tool-call-side-panel.tsx
./src/app/share/[threadId]/page.tsx
⚠ Compiled with warnings in 40.0s
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
Attempted import error: 'generateLineDiff' is not exported from './_utils' (imported as 'generateLineDiff').
Import trace for requested module:
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
./src/components/thread/tool-views/wrapper/ToolViewRegistry.tsx
./src/components/thread/tool-views/wrapper/index.ts
./src/components/thread/tool-call-side-panel.tsx
./src/app/share/[threadId]/page.tsx
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
Attempted import error: 'calculateDiffStats' is not exported from './_utils' (imported as 'calculateDiffStats').
Import trace for requested module:
./src/components/thread/tool-views/file-operation/FileEditToolView.tsx
./src/components/thread/tool-views/wrapper/ToolViewRegistry.tsx
./src/components/thread/tool-views/wrapper/index.ts
./src/components/thread/tool-call-side-panel.tsx
./src/app/share/[threadId]/page.tsx
like stream the code-edit output of the agent; Then we should be able to show the diff as well, when the tool complete. We get the original file content, and the full updated code (output of morph) and some how send it to the front end.
the front end should show this properly , concisely so user can see the changes in green / red.
This shouldn't change the content feed to the model btw. Like it will pollute the context.
make a plan what to do first, not make changes yet
Resolves content overflow issues in the right panel caused by the ScrollArea
component's internal div with 'min-width:100%;display:table' styling. This
addresses the known shadcn-ui ScrollArea limitation where the component takes
up the entire width and causes overflow.
The fix ensures proper width constraints while maintaining scroll functionality.
References: https://github.com/shadcn-ui/ui/issues/3833
- Added new phone input component for improved user experience during phone number entry.
- Integrated additional icons for better visual feedback in the OTP verification process.
- Updated phone verification page to include a sign-out button, enhancing user navigation.
- Refined text descriptions for clarity and user guidance throughout the verification steps.
This update improves the overall usability and accessibility of the phone verification feature.
- Updated phone verification API to support SMS-based 2FA, allowing users to enroll and verify their phone numbers.
- Introduced new components for background AAL checking and status display, improving user experience during authentication.
- Removed the deprecated PhoneVerificationGuard component and integrated its functionality into the new AALChecker and BackgroundAALChecker components.
- Updated React Query hooks for managing phone verification and AAL states, ensuring efficient data handling and cache management.
- Enhanced frontend layout to accommodate new verification flows and improve overall responsiveness.
This update strengthens account security by enforcing phone verification for new users and streamlining the MFA process.
- Added phone verification endpoints for TOTP-based multi-factor authentication in the backend.
- Created frontend components for phone input and OTP verification.
- Integrated phone verification guard to ensure users complete verification before accessing the app.
- Updated API routes and React Query hooks for managing phone verification status and actions.
This feature enhances account security by requiring users to verify their phone numbers.