Commit Graph

11 Commits

Author SHA1 Message Date
Stijnus
2f6f28e67e feat: enhance message parser with advanced AI model support and performance optimizations (#1976)
* fix: support for multiple artifacts to support newer llm

* Improve shell command detection and error handling

Enhanced the message parser to better distinguish between shell commands and script files, preventing accidental file creation for shell command code blocks. Added pre-validation and error enhancement for shell commands in the action runner, including suggestions for common errors and auto-modification of commands (e.g., adding -f to rm). Updated comments and added context checks to improve action handling and user feedback.

* feat: enhance message parser with shell command detection and improved error handling

- Add shell command detection to distinguish executable commands from script files
- Implement smart command pre-validation with automatic fixes (e.g., rm -f for missing files)
- Enhance error messages with contextual suggestions for common issues
- Improve file creation detection from code blocks with better context analysis
- Add comprehensive test coverage for enhanced parser functionality
- Clean up debug code and improve logging consistency
- Fix issue #1797: prevent AI-generated code from appearing in chat instead of creating files

All tests pass and code follows project standards.

* fix: resolve merge conflicts and improve artifact handling

- Fix merge conflicts in Markdown component after PR #1426 merge
- Make artifactId optional in callback interfaces for standalone artifacts
- Update workbench store to handle optional artifactId safely
- Improve type safety for artifact management across components
- Clean up code formatting and remove duplicate validation logic

These changes ensure proper integration of the multiple artifacts feature
with existing codebase while maintaining backward compatibility.

* test: update snapshots for multiple artifacts support

- Update test snapshots to reflect new artifact ID system from PR #1426
- Fix test expectations to match new artifact ID format (messageId-counter)
- Ensure all tests pass with the merged functionality
- Verify enhanced parser works with multiple artifacts per message

* perf: optimize enhanced message parser for better performance

- Optimize regex patterns with structured objects for better maintainability
- Reorder patterns by likelihood to improve early termination
- Replace linear array search with O(1) Map lookup for command patterns
- Reduce memory allocations by optimizing pattern extraction logic
- Improve code organization with cleaner pattern type handling
- Maintain full backward compatibility while improving performance
- All tests pass with improved execution time

* test: add comprehensive integration tests for enhanced message parser

- Add integration tests for different AI model output patterns (GPT-4, Claude, Gemini)
- Test file path detection with various formats and contexts
- Add shell command detection and wrapping tests
- Include edge cases and false positive prevention tests
- Add performance benchmarking to validate sub-millisecond processing
- Update test snapshots for enhanced artifact handling
- Ensure backward compatibility with existing parser functionality

The enhanced message parser now has comprehensive test coverage validating:
- Smart detection of code blocks that should be files vs plain examples
- Support for multiple AI model output styles and patterns
- Robust shell command recognition across 9+ command categories
- Performance optimization with pre-compiled regex patterns
- False positive prevention for temp files and generic examples

All 44 tests pass, confirming the parser solves issue #1797 while maintaining
excellent performance and preventing regressions.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: enhance message parser with advanced AI model support and performance optimizations

## Message Parser Enhancements

### Core Improvements
- **Enhanced AI Model Support**: Robust parsing for GPT-4, Claude, Gemini, and other LLM outputs
- **Smart Code Block Detection**: Intelligent differentiation between actual files and example code blocks
- **Advanced Shell Command Recognition**: Detection of 9+ command categories with proper wrapping
- **Performance Optimization**: Pre-compiled regex patterns for sub-millisecond processing

### Key Features Added
- **Multiple Artifact Support**: Handle complex outputs with multiple code artifacts
- **File Path Detection**: Smart recognition of file paths in various formats and contexts
- **Error Handling**: Improved error detection and graceful failure handling
- **Shell Command Wrapping**: Automatic detection and proper formatting of shell commands

### Technical Enhancements
- **Action Runner Integration**: Seamless integration with action runner for command execution
- **Snapshot Testing**: Comprehensive test coverage with updated snapshots
- **Backward Compatibility**: Maintained compatibility with existing parser functionality
- **False Positive Prevention**: Advanced filtering to prevent temp files and generic examples

### Files Modified
- Enhanced message parser core logic ()
- Updated action runner for better command handling ()
- Improved artifact and markdown components
- Comprehensive test suite with 44+ test cases
- Updated test snapshots and workbench store integration

### Performance & Quality
- Sub-millisecond processing performance
- 100% test coverage for new functionality
- Comprehensive integration tests for different AI model patterns
- Edge case handling and regression prevention

Addresses issue #1797: Enhanced message parsing for modern AI model outputs
Resolves merge conflicts and improves overall artifact handling reliability

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Anirban Kar <thecodacus@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-07 10:43:18 +02:00
KevIsDev
33e0860468 fix: resolve conflicts 2025-06-02 11:39:49 +01:00
KevIsDev
5838d7121a feat: add element inspector with chat integration
- Implement element inspector tool for preview iframe with hover/click detection
- Add inspector panel UI to display element details and styles
- Integrate selected elements into chat messages for reference
- Style improvements for chat messages and scroll behavior
- Add inspector script injection to preview iframe
- Support element selection and context in chat prompts
-Redesign Messgaes, Workbench and Header for a more refined look allowing more workspace in view
2025-05-30 13:16:53 +01:00
KevIsDev
cd37599f3b feat(design): add design scheme support and UI improvements
- Implement design scheme system with palette, typography, and feature customization
- Add color scheme dialog for user customization
- Update chat UI components to use design scheme values
- Improve header actions with consolidated deploy and export buttons
- Adjust layout spacing and styling across multiple components (chat, workbench etc...)
- Add model and provider info to chat messages
- Refactor workbench and sidebar components for better responsiveness
2025-05-28 23:49:51 +01:00
KevIsDev
12f9f4dcdc fix: remove unused isStreaming prop from quickActions
The isStreaming prop was passed through multiple chat components but wasn't being strict enough in the Markdown component where it was ultimately passed causing the quick actions to be disabled.
2025-05-27 12:14:50 +01:00
KevIsDev
de0a41b5f1 feat: add streaming state to markdown quick actions
- Pass isStreaming prop through message components to disable actions during streaming
- Improve action button styling with icons and better spacing
- Disable buttons while streaming to prevent concurrent actions
2025-05-26 17:57:10 +01:00
KevIsDev
2e7b626b00 feat: add discuss mode and quick actions
- Implement discuss mode toggle and UI in chat box
- Add quick action buttons for file, message, implement and link actions
- Extend markdown parser to handle quick action elements
- Update message components to support discuss mode and quick actions
- Add discuss prompt for technical consulting responses
- Refactor chat components to support new functionality

The changes introduce a new discuss mode that allows users to switch between code implementation and technical discussion modes. Quick action buttons provide immediate interaction options like opening files, sending messages, or switching modes.
2025-05-26 16:05:51 +01:00
Anirban Kar
7016111906 feat: enhanced Code Context and Project Summary Features (#1191)
* fix: docker prod env variable fix

* lint and typecheck

* removed hardcoded tag

* better summary generation

* improved  summary generation for context optimization

* remove think tags from the generation
2025-01-29 15:37:20 +05:30
Anirban Kar
df766c98d4 feat: added support for reasoning content (#1168) 2025-01-25 16:16:19 +05:30
PuneetP16
43839b1318 [fix]: artifact actionlist rendering in chat 2024-11-26 15:45:49 +05:30
Sam Denty
6fb59d2bc5 fix: remove monorepo 2024-09-25 19:54:09 +01:00