- Add missing log_message case handler in presentAssistantMessage.ts
- Fix syntax error by adding missing opening brace for tool_use case
- Make LogManager public in Task class to allow access from presentAssistantMessage
- All tests passing (11/11) and TypeScript compilation clean
- Log messages now properly displayed in Roo-Code Output window
- Replace character-by-character XML parsing with robust SAX parser library
- Add sax and @types/sax dependencies for reliable XML parsing
- Implement event-driven parsing with onopentag, onclosetag, ontext handlers
- Add XML wrapping to handle multiple root elements in streaming scenarios
- Create hasIncompleteXml() method for proper partial XML detection
- Maintain backward compatibility with existing partial detection logic
- Add comprehensive test suite with 6 new test cases
- Preserve fallback to manual parsing when SAX parser fails
- Improve error handling and maintain all existing functionality
Benefits:
- More robust XML parsing with better edge case handling
- Improved performance with event-driven parsing
- Cleaner, more maintainable code
- Standards-compliant XML parsing
- Full backward compatibility
- Moved StreamingParser to DirectiveStreamingParser in assistant-message/
- Renamed directives/ to parsers/
- Created new parser classes with updated names: TextContentParser, ToolUseParser, ParameterParser
- Simplified method names to parse() and finalize()
- Updated documentation in README.md
- Extract TextContentHandler into TextContentHandler.ts
- Extract ParameterHandler into ParameterHandler.ts
- Extract ToolUseHandler into ToolUseHandler.ts
- Create types.ts for shared type definitions
- Update StreamingParser to import from separate files
- Update index.ts exports to reference correct files
- Update README.md to reflect new file structure
- Maintain backward compatibility and streaming behavior
- All tests pass, multi-contributor friendly structure
- Add TextDirective alias for TextContent
- Add ToolDirective alias for ToolUse
- Add Directive union type for TextDirective | ToolDirective
- Maintain backward compatibility with AssistantMessageContent alias
- Update internal usage to use new type names
* feat: add `injectVariables()`, support magic variables for MCPs
* fix: fallback for `workspaceFolder` should just be an empty string
Previously this is intended so that the CLI receives a correct empty path argument, but on a second thought, if the user have added the quotes themselves it might cause error.
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: remove unused import
* chore: better log format
* chore: better describe the accepted config type and more extensive test
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Manually specify openai-compat format and parse it
* fixup! Manually specify openai-compat format and parse it
* Expect base64 in embedding test arguments
* fixup! Manually specify openai-compat format and parse it
Remove debug logs
* fixup! Manually specify openai-compat format and parse it
Improve comment
* fixup! Manually specify openai-compat format and parse it
* Add tests to exercise base64 decode of embeddings
* Add tests to verify openai base64 and brokenness behavior
* feat: improve typing
* refactor: switch from jest to vitest for mocking in tests
---------
Co-authored-by: Dixie Flatline <dflatline>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
* add mermaid buttons
* feat: Add Modal, TabButton, and ZoomControls components
* feat: Add error handling messages for image operations and file opening
* mermaid: Add drag functionality and support contious zooming
* add active color for tabbutton
* refactor zoom controls
* refactor: Remove unused svgToPng prop and simplify handleCopy function
* Move zoom to constants and increase max zoom
* feat: add save image functionality and refactor image handling
* feat: add translations
---------
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>