Commit graph

164 commits

Author SHA1 Message Date
Smartsheet-JB-Brown
9a24ed46a2 allow custom git domains to support internal dns at companies 2025-04-16 18:02:38 -07:00
Smartsheet-JB-Brown
c2d840cc47 remove console log statements used to debug tests 2025-04-16 17:08:43 -07:00
Smartsheet-JB-Brown
f04487cd3e All but 1 test passing 2025-04-16 14:35:39 -07:00
Smartsheet-JB-Brown
a575d25252 Merge branch 'main' into jbbrown/package-manager
* main: (161 commits)
  Changeset version bump (#2688)
  v3.12.2 (#2693)
  Add support for different reasoning effort (#2692)
  Add OpenAI o3 & 4o-mini (#2691)
  Add consecutive mistake count to diff error telemetry (#2687)
  refactor(context-menu): handle filename display better (#2684)
  Changeset version bump (#2683)
  Fix select dropdown styling (#2682)
  Changeset version bump (#2676)
  v3.12.0 (#2674)
  Fix configuration titles (#2672)
  feat: Add 'roo.acceptInput' command (#2598)
  Add xAI provider (#2667)
  Await checkpoint saves (except the initial) (#2665)
  Safe JSON parse in ChatRow (#2666)
  feat: Cost Display in Task Header - Suppress Zero Cost Values and Ensure Visibility for Gemini, OpenAI, LM Studio, and Ollama (#2662)
  test: limit Jest worker count to 40% per suite (#2658)
  DRY up the auto-approve toggles (#2664)
  Expose reasoning effort option for reasoning models on OpenRouter (#2483)
  Better string normalization for diffs (#2659)
  ...
2025-04-16 12:43:51 -07:00
Matt Rubens
9d761e23e2
Add consecutive mistake count to diff error telemetry (#2687) 2025-04-16 12:02:49 -04:00
Chris Estreich
3b19d7a455
Await checkpoint saves (except the initial) (#2665) 2025-04-15 16:57:12 -07:00
Smartsheet-JB-Brown
b669edd82b fix author and authorUrl display 2025-04-15 13:38:38 -07:00
Smartsheet-JB-Brown
c0672358c7 Remove problematic debounce logic 2025-04-15 12:47:00 -07:00
Smartsheet-JB-Brown
d966884b1d card item buttons working again 2025-04-15 10:01:57 -07:00
Matt Rubens
5f19ea4a06
Add telemetry for prompt enhancement (#2651) 2025-04-15 10:49:01 -04:00
Matt Rubens
31fd6e1470
Capture telemetry for usage of code actions (#2650) 2025-04-15 10:37:48 -04:00
Smartsheet-JB-Brown
f551fe2476 All display of items seems to work properly 2025-04-15 07:26:27 -07:00
Matt Rubens
afbf174e19
Add telemetry for consecutive mistake error (#2649) 2025-04-15 10:17:17 -04:00
Smartsheet-JB-Brown
4c88e930e9 all package manager related tests passing together 2025-04-14 22:24:41 -07:00
Smartsheet-JB-Brown
c05d760747 PackageManagerView tests all passing 2025-04-14 21:59:39 -07:00
Matt Rubens
4f5796c152
Add telemetry for diff errors (#2619) 2025-04-15 00:27:34 -04:00
Smartsheet-JB-Brown
72d9be2a6c packagemanagermanager tests passing 2025-04-14 17:13:26 -07:00
Smartsheet-JB-Brown
e1c590442c PackageManagerSourceValidation, GitFetcher, and MetadataScanner tests all pass 2025-04-14 17:10:09 -07:00
Smartsheet-JB-Brown
39332513ae documentation updates 2025-04-14 15:00:14 -07:00
Smartsheet-JB-Brown
af6c27bdff locale fixes for metadata 2025-04-14 13:33:58 -07:00
Smartsheet-JB-Brown
2ca7a85c20 consolidate packagemanager test files 2025-04-14 10:13:48 -07:00
Smartsheet-JB-Brown
dee7510ed7 searching finds items in components of a pcakage and shows which ones match 2025-04-14 09:18:48 -07:00
Smartsheet-JB-Brown
81304a22ea package details visible in expandable section 2025-04-14 06:54:17 -07:00
Smartsheet-JB-Brown
965a7ae90c refactor(search): simplify to basic string contains match while preserving subcomponent handling
- Replace complex word boundary/regex matching with simple string.includes()
- Maintain all subcomponents in search results
- Preserve proper matchInfo for packages and subcomponents
2025-04-13 21:01:47 -07:00
Smartsheet-JB-Brown
df5be205f5 test: add comprehensive substring matching tests for package manager search
- Add test cases for case-insensitive matching
- Add test cases for partial string matching
- Add test cases using real data from package-manager-template
- Verify search behavior with actual component data
2025-04-13 20:35:42 -07:00
Smartsheet-JB-Brown
dff42d28c0 feat(package-manager): enhance subcomponent metadata scanning
- Add recursive scanning for nested components
- Fix path handling for nested directories
- Improve test coverage for package subcomponents
- Fix timestamp handling in git-based dates
2025-04-13 12:24:48 -07:00
Sam Hoang Van
494af3090a
fix: normalize file paths to POSIX format in search results (#2569) 2025-04-13 13:44:03 -04:00
Smartsheet-JB-Brown
4891fb04b7 feat: implement git-based lastUpdated dates 2025-04-12 23:12:40 -07:00
Smartsheet-JB-Brown
3e8d35b490 fix: package manager refresh state handling and item display 2025-04-12 23:11:03 -07:00
Smartsheet-JB-Brown
6f1befb235 feat: improve package scanning
- Stop scanning at package boundaries
- Remove items array handling (only for external refs)
- Add comprehensive test coverage
2025-04-12 21:58:46 -07:00
Smartsheet-JB-Brown
9666a56a0e feat: enhance iterate routine with progressive git operations 2025-04-12 21:28:59 -07:00
Smartsheet-JB-Brown
7a62bc504c refactor: remove package manager e2e tests in favor of enhanced unit tests
- Removed e2e/src/suite/package-manager.test.ts
- Reverted src/__mocks__/vscode.js to simpler version
- Added enhanced unit tests with better coverage:
  * Cache directory handling
  * Localization testing
  * External items validation
  * Security checks
  * Error handling

Task ID: e2e_analysis_20250412
2025-04-12 17:44:31 -07:00
Smartsheet-JB-Brown
589b159687 refactor: remove unused YamlParser implementation
- Removed src/services/package-manager/YamlParser.ts
- Verified no test files or imports existed
- All tests passing (1263 pass, 0 fail, 23 pending)

Task ID: 4d3f7a2e-8c1b-4f9d-b5e2-9c1d8f3a6b4d
2025-04-12 17:30:11 -07:00
Smartsheet-JB-Brown
4417886324 checkpoint: pre-package-manager-state-fix 2025-04-12 16:43:32 -07:00
Smartsheet-JB-Brown
973be7640e working mvp 2025-04-12 10:22:33 -07:00
Smartsheet-JB-Brown
6b9b2aa4de no type script or linting errors 2025-04-12 09:55:08 -07:00
Smartsheet-JB-Brown
aa066935ce fix linting errors 2025-04-11 06:37:26 -07:00
Smartsheet-JB-Brown
d323015b25 UI Control work 2025-04-11 06:22:50 -07:00
Smartsheet-JB-Brown
fd48ffcfe9 add sourceURL option to yaml 2025-04-10 14:42:11 -07:00
Smartsheet-JB-Brown
655899673b walking skeleton 2025-04-10 12:26:12 -07:00
Smartsheet-JB-Brown
cd5b894578 walking skeleton 2025-04-10 12:25:12 -07:00
Eric Wheeler
c2dda05b2c feat: enhance Python tree-sitter parser with advanced language structures
This commit significantly enhances the Python tree-sitter parser to support a comprehensive range of Python language constructs, enabling more accurate and detailed code analysis.

Key improvements:
- Added support for method definitions (instance, class, and static methods)
- Added support for decorators on functions and classes
- Added support for module-level variables and constants
- Added support for async functions and methods
- Added support for property getters/setters
- Added support for type annotations in various contexts
- Added support for dataclasses
- Added support for nested functions and classes
- Added support for generator functions
- Added support for list/dict/set comprehensions
- Added support for lambda functions
- Added support for abstract base classes and methods

The parser now handles Python's rich feature set more comprehensively, including special Python patterns like decorators, type annotations, and various comprehension types. This enables better code navigation, understanding, and analysis for Python codebases.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 19:40:19 -07:00
Eric Wheeler
56d7cf6199 feat: enhance Java tree-sitter parser with advanced language structures
This enhancement significantly expands the Java parser's capabilities to recognize and parse a wide range of Java language constructs:

- Added support for enum declarations and enum constants
- Added support for annotation type declarations and elements
- Added support for field declarations
- Added support for constructor declarations
- Added support for lambda expressions
- Added support for inner and anonymous classes
- Added support for type parameters (generics)
- Added support for package and import declarations

These improvements enable more comprehensive code analysis for Java projects, providing better definition extraction and navigation capabilities.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 19:38:09 -07:00
Eric Wheeler
599c1849d0 feat: enhance Go tree-sitter parser with advanced language structures
This enhancement significantly expands the Go parser's capabilities to recognize and extract a comprehensive set of language constructs:

- Added support for struct and interface definitions with proper type identification
- Implemented parsing for constant declarations (both single and in blocks)
- Added support for variable declarations (both single and in blocks)
- Added recognition of type aliases with proper distinction from regular types
- Implemented special handling for init functions
- Added support for anonymous functions, including nested function literals
- Improved documentation and organization of query patterns

These enhancements enable more accurate code navigation, better symbol extraction, and improved code intelligence for Go codebases.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 19:33:28 -07:00
Eric Wheeler
749f793c08 feat: enhance C++ tree-sitter parser with advanced language structures
This enhancement significantly expands the C++ parser's capabilities to recognize and extract a wide range of modern C++ language constructs, improving code navigation and analysis.

New supported language constructs include:
- Union declarations and their members
- Destructors and their implementations
- Operator overloading (including stream operators)
- Free-standing and namespace-scoped functions
- Enum declarations (both traditional and scoped enum class)
- Lambda expressions and their captures
- Attributes and annotations
- Method overrides with virtual/override specifiers
- Exception specifications (noexcept)
- Default parameters in function declarations
- Variadic templates and parameter packs
- Structured bindings (C++17)
- Inline namespaces and nested namespace declarations
- Template specializations and instantiations
- Constructor implementations

This enhancement provides more comprehensive code structure analysis for C++ codebases, particularly those using modern C++ features from C++11, C++14, and C++17 standards.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 19:27:00 -07:00
Eric Wheeler
63358e794d feat: enhance TypeScript/TSX tree-sitter parser
- Enhanced the Tree-Sitter parser for JavaScript/TypeScript with support for advanced language constructs
- Modified the parser to exclude comments from the output
- Consolidated sample code in tests for better maintainability

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 19:22:10 -07:00
Marco Quinten
fff8fdd3f3
feat(browserTool): Implement resize action (#2370)
* Implement resize action for browser action tool

* Update snapshots
2025-04-07 09:34:32 -04:00
KJ7LNW
5fb9af40fb
feat: enhance Rust tree-sitter parser with advanced language structures (#2335)
* test: add comprehensive Rust Tree-sitter tests

Add test suite for Rust language support in Tree-sitter:
- Verify parsing of struct definitions
- Verify parsing of method definitions within impl blocks
- Verify parsing of standalone function definitions
- Add tests for complex Rust structures
- Include skipped debug test for future diagnostics

These tests confirm the existing Rust support in Tree-sitter is working correctly and provide a foundation for future enhancements to the Rust parser.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* feat: enhance Rust tree-sitter parser with advanced language structures

- Add support for additional Rust language structures:
  - Enum definitions
  - Trait definitions
  - Impl trait for struct
  - Generic structs with lifetime parameters
  - Macro definitions
  - Module definitions
  - Union types
  - Closures
  - Match expressions
  - Where clauses
  - Async functions
  - Impl blocks with generic parameters
  - Complex trait bounds

- Update tests to verify capture of these structures
- Modify debug helper to use environment variables

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-05 22:11:43 -04:00
Hannes Rudolph
3f6e07adf1
refactor(mcp): Implement reference counting for McpHub lifecycle (#2310)
Problem:
Closing auxiliary windows (e.g., from "open in editor") could prematurely dispose the shared singleton McpHub instance, shutting down MCP servers unexpectedly while other panels (like the sidebar) might still be active.

Solution:
Implemented reference counting directly within the McpHub class to manage its own lifecycle based on active clients (ClineProvider instances).
- Added `refCount`, `registerClient()`, and `unregisterClient()` methods to McpHub.
- McpHub now disposes itself only when the last registered client unregisters (`refCount` reaches 0).
- ClineProvider instances now call `mcpHub.registerClient()` upon initialization and `mcpHub.unregisterClient()` upon disposal.
- Removed the direct `mcpHub.dispose()` call from ClineProvider.dispose.

Benefit:
This ensures the shared McpHub instance remains active as long as at least one ClineProvider instance is using it. Cleanup now correctly occurs only when the last provider is closed or during full extension deactivation. This centralizes the resource's lifecycle logic within the resource class itself.

Files Changed:
- src/services/mcp/McpHub.ts
- src/core/webview/ClineProvider.ts
2025-04-04 23:14:05 -04:00
Matt Rubens
d2f9970654
Roo Vet -> Roo Code (#2269) 2025-04-03 15:57:20 -04:00