Skip to content

Commit 90754ad

Browse files
daniel-lxshannesrudolph
authored andcommitted
refactor: replace stream-json with sax parser for message parsing
- Remove stream-json and proper-lockfile dependencies - Add sax parser dependency - Refactor DirectiveStreamingParser to use SAX parser - Reorganize assistant-message module to message-parsing - Extract directive parsing into focused classes - Update all related tests and imports - Maintain backward compatibility with existing API
1 parent 1e17b3b commit 90754ad

File tree

429 files changed

+6447
-18235
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

429 files changed

+6447
-18235
lines changed

.github/pull_request_template.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,37 @@ Detail the steps to test your changes. This helps reviewers verify your work.
3838
- Include relevant testing environment details if applicable.
3939
-->
4040

41+
### Type of Change
42+
43+
<!-- Mark all applicable boxes with an 'x'. -->
44+
45+
- [ ] 🐛 **Bug Fix**: Non-breaking change that fixes an issue.
46+
- [ ]**New Feature**: Non-breaking change that adds functionality.
47+
- [ ] 💥 **Breaking Change**: Fix or feature that would cause existing functionality to not work as expected.
48+
- [ ] ♻️ **Refactor**: Code change that neither fixes a bug nor adds a feature.
49+
- [ ] 💅 **Style**: Changes that do not affect the meaning of the code (white-space, formatting, etc.).
50+
- [ ] 📚 **Documentation**: Updates to documentation files.
51+
- [ ] ⚙️ **Build/CI**: Changes to the build process or CI configuration.
52+
- [ ] 🧹 **Chore**: Other changes that don't modify `src` or test files.
53+
4154
### Pre-Submission Checklist
4255

4356
<!-- Go through this checklist before marking your PR as ready for review. -->
4457

4558
- [ ] **Issue Linked**: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
4659
- [ ] **Scope**: My changes are focused on the linked issue (one major feature/fix per PR).
4760
- [ ] **Self-Review**: I have performed a thorough self-review of my code.
48-
- [ ] **Testing**: New and/or updated tests have been added to cover my changes (if applicable).
61+
- [ ] **Code Quality**:
62+
- [ ] My code adheres to the project's style guidelines.
63+
- [ ] There are no new linting errors or warnings (`npm run lint`).
64+
- [ ] All debug code (e.g., `console.log`) has been removed.
65+
- [ ] **Testing**:
66+
- [ ] New and/or updated tests have been added to cover my changes.
67+
- [ ] All tests pass locally (`npm test`).
68+
- [ ] The application builds successfully with my changes.
69+
- [ ] **Branch Hygiene**: My branch is up-to-date (rebased) with the `main` branch.
4970
- [ ] **Documentation Impact**: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
71+
- [ ] **Changeset**: A changeset has been created using `npm run changeset` if this PR includes user-facing changes or dependency updates.
5072
- [ ] **Contribution Guidelines**: I have read and agree to the [Contributor Guidelines](/CONTRIBUTING.md).
5173

5274
### Screenshots / Videos

.roo/rules-code/use-safeWriteJson.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.roo/rules-translate/001-general-rules.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,8 @@
6464
1. Identify where the string appears in the UI/codebase
6565
2. Understand the context and purpose of the string
6666
3. Update English translation first
67-
4. Use the `<search_files>` tool to find JSON keys that are near new keys in English translations but do not yet exist in the other language files for `<apply_diff>` SEARCH context
68-
5. Create appropriate translations for all other supported languages utilizing the `search_files` result using `<apply_diff>` without reading every file.
69-
6. Do not output the translated text into the chat, just modify the files.
70-
7. Validate your changes with the missing translations script
67+
4. Create appropriate translations for all other supported languages
68+
5. Validate your changes with the missing translations script
7169
- Flag or comment if an English source string is incomplete ("please see this...") to avoid truncated or unclear translations
7270
- For UI elements, distinguish between:
7371
- Button labels: Use short imperative commands ("Save", "Cancel")

.roomodes

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ customModes:
2525
- fileRegex: (\.roomodes$|\.roo/.*\.xml$|\.yaml$)
2626
description: Mode configuration files and XML instructions
2727
- command
28-
- mcp
29-
source: project
3028
- slug: test
3129
name: 🧪 Test
3230
roleDefinition: |-
@@ -205,55 +203,3 @@ customModes:
205203
description: Temporary documentation extraction files only
206204
- command
207205
- mcp
208-
- slug: pr-fixer
209-
name: 🛠️ PR Fixer
210-
roleDefinition: "You are Roo, a pull request resolution specialist. Your focus is on addressing feedback and resolving issues within existing pull requests. Your expertise includes: - Analyzing PR review comments to understand required changes. - Checking CI/CD workflow statuses to identify failing tests. - Fetching and analyzing test logs to diagnose failures. - Identifying and resolving merge conflicts. - Guiding the user through the resolution process."
211-
whenToUse: Use this mode to fix pull requests. It can analyze PR feedback from GitHub, check for failing tests, and help resolve merge conflicts before applying the necessary code changes.
212-
description: Fix pull requests.
213-
groups:
214-
- read
215-
- edit
216-
- command
217-
- mcp
218-
- slug: issue-investigator
219-
name: 🕵️ Issue Investigator
220-
roleDefinition: You are Roo, a GitHub issue investigator. Your purpose is to analyze GitHub issues, investigate the probable causes using extensive codebase searches, and propose well-reasoned, theoretical solutions. You methodically track your investigation using a todo list, attempting to disprove initial theories to ensure a thorough analysis. Your final output is a human-like, conversational comment for the GitHub issue.
221-
whenToUse: Use this mode when you need to investigate a GitHub issue to understand its root cause and propose a solution. This mode is ideal for triaging issues, providing initial analysis, and suggesting fixes before implementation begins. It uses the `gh` CLI for issue interaction.
222-
description: Investigates GitHub issues
223-
groups:
224-
- read
225-
- command
226-
- mcp
227-
source: project
228-
- slug: merge-resolver
229-
name: 🔀 Merge Resolver
230-
roleDefinition: |-
231-
You are Roo, a merge conflict resolution specialist with expertise in:
232-
- Analyzing pull request merge conflicts using git blame and commit history
233-
- Understanding code intent through commit messages and diffs
234-
- Making intelligent decisions about which changes to keep, merge, or discard
235-
- Using git commands and GitHub CLI to gather context
236-
- Resolving conflicts based on commit metadata and code semantics
237-
- Prioritizing changes based on intent (bugfix vs feature vs refactor)
238-
- Combining non-conflicting changes when appropriate
239-
240-
You receive a PR number (e.g., "#123") and:
241-
- Fetch PR information including title and description for context
242-
- Identify and analyze merge conflicts in the working directory
243-
- Use git blame to understand the history of conflicting lines
244-
- Examine commit messages and diffs to infer developer intent
245-
- Apply intelligent resolution strategies based on the analysis
246-
- Stage resolved files and prepare them for commit
247-
whenToUse: |-
248-
Use this mode when you need to resolve merge conflicts for a specific pull request.
249-
This mode is triggered by providing a PR number (e.g., "#123") and will analyze
250-
the conflicts using git history and commit context to make intelligent resolution
251-
decisions. It's ideal for complex merges where understanding the intent behind
252-
changes is crucial for proper conflict resolution.
253-
description: Resolve merge conflicts intelligently using git history.
254-
groups:
255-
- read
256-
- edit
257-
- command
258-
- mcp
259-
source: project

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@
277277
- Fix context length for lmstudio and ollama (thanks @thecolorblue!)
278278
- Resolve MCP tool eye icon state and hide in chat context (thanks @daniel-lxs!)
279279

280+
=======
280281
## [3.21.2] - 2025-06-20
281282

282283
- Add LaTeX math equation rendering in chat window

apps/vscode-e2e/src/suite/tools/use-mcp-tool.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -767,7 +767,7 @@ suite.skip("Roo Code use_mcp_tool Tool", function () {
767767
}
768768
})
769769

770-
test.skip("Should validate MCP request message format and complete successfully", async function () {
770+
test("Should validate MCP request message format and complete successfully", async function () {
771771
const api = globalThis.api
772772
const messages: ClineMessage[] = []
773773
let _taskCompleted = false

0 commit comments

Comments
 (0)