Commit Graph
2051 Commits
Author SHA1 Message Date
Dominik Jain a45500be5f Add plugin error preamble only for non-recoverable errors 2026-01-08 14:07:39 +01:00
Dominik Jain 7bd70e9631 Remove TODO 2026-01-08 13:39:05 +01:00
Dominik Jain eb54e834b6 Do not use placeholder in example command 2026-01-06 18:04:39 +01:00
Dominik Jain 5104c7008e Fix exception message 2026-01-06 18:04:39 +01:00
Alberto Simoes 870aa2cc3a Support --mode and --context with yaml files 2026-01-06 15:21:42 +00:00
Michael Panchenko 72ce32a65a Fix jetbrains plugin setup instructions
Typo in config file path for windows and missing instructions on how to verify that the setup works
2026-01-06 09:56:05 +07:00
Roman Nikulenkov 51829c5866 docs: add copilot instructions referencing CLAUDE.md 2026-01-05 17:47:34 +03:00
Roman Nikulenkov 1643c14aae refactor(gopls): streamline gopls settings validation and JSON serialization
test(go): add assertions for SolidLanguageServer cache states
2026-01-05 17:00:54 +03:00
Roman Nikulenkov 71d23277da feat(gopls): support gopls_settings via ls_specific_settings
- Forward ls_specific_settings.go.gopls_settings to gopls as LSP initializationOptions (JSON-validated)
- Add cache context fingerprinting so persisted symbol caches are invalidated when Go build context changes (e.g. buildFlags, GOFLAGS, GOOS, GOARCH, CGO_ENABLED)
- Add build-tag fixtures + tests covering tag-dependent symbols and cache invalidation
- Document ls_specific_settings + Go example in configuration docs
2026-01-05 15:58:43 +03:00
Michael Panchenko 1b862ee687 Enhanced error message for plugin API errors 2026-01-05 11:33:37 +07:00
Michael Panchenko a69832dae5 Always show at least quick_info (but not docstring) in jb_find_symbol 2026-01-04 23:01:27 +07:00
Jordan Munch O'HareandJordan Munch O'Hare 962fb486b6 fix(elm): resolve ELM_HOME path and wait for workspace initialization (#885)
- Convert relative ELM_HOME to absolute path based on repository root,
  fixing package discovery when devbox uses relative paths like '.elm'
- Wait for textDocument/publishDiagnostics before marking server ready,
  ensuring workspace is fully scanned before accepting LSP requests
- Use shutil.which() for elm tool paths in initialization options

Fixes 'No Elm workspace contains' errors when elm-language-server
starts before workspace indexing completes.

Co-authored-by: Jordan Munch O'Hare <git@jordan.munchohare.com>
2026-01-04 12:24:04 +01:00
Michael Panchenko 5b0705c373 New field in JB type 2026-01-04 18:16:58 +07:00
969ec5e510 Fix linux-musl platform ID string format to match PlatformId enum (#899)
The get_platform_id() function was generating "linux-arm64-musl" but the
PlatformId enum expects "linux-musl-arm64". This caused a ValueError on
musl-based Linux systems (e.g., Alpine Linux on arm64).

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

Co-authored-by: mhaynie <mhaynie@pazer.us>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:13:26 +01:00
Ketema Harris c807e98191 Enhance rust-analyzer detection by checking common paths
Includes tests that rely on mocks
2026-01-04 12:11:52 +01:00
Michael Panchenko 16c6b7eacf Fixes in typed dicts (incorrect translation from java) 2026-01-03 20:03:33 +07:00
Michael Panchenko 7be24d185f Rename module (typo) 2026-01-03 19:31:30 +07:00
Michael Panchenko e3fa2d0b67 Fixed NotRequired vs None annotations in jetbrain_types.py 2026-01-03 19:28:53 +07:00
Michael Panchenko d3f3326011 Added symbol info by default in LS based FindReferencingSymbolsTool
Previously we extracted a few content lines around the symbol instead
2026-01-03 19:13:38 +07:00
Michael Panchenko 1d5cf33237 Support for info in JB symbols and various improvements. Adds bs4 to deps
- Added typed dicts for most responses in jetbrains_types.py
- Fix bug in code_editor (location key no longer existed, found by mypy after adding the types)

Should be merged after next version of plugin release
2026-01-03 18:43:02 +07:00
Michael Panchenko 4f5d894bcd Merge branch 'refs/heads/main' into feature/docstring_and_signature
# Conflicts:
#	src/serena/tools/jetbrains_tools.py
2026-01-03 18:29:14 +07:00
Michael Panchenko 5e7d5469cf Merge pull request #863 from oraios/improved_overview_tools
Improved overview tools
2026-01-03 18:27:53 +07:00
Michael Panchenko d03c057382 Removed symbol from hierarchy tool response 2026-01-03 14:56:46 +07:00
Michael Panchenko 036625e809 Merge branch 'main' into feature/docstring_and_signature 2026-01-03 11:00:58 +07:00
Seyed (Yahya) Shirazi f758a3d19c Add MATLAB language server support (#893)
Requires Matlab and node to be installed, using vscode Matlab extension as LS
2026-01-01 21:56:23 +07:00
Michael Panchenko 823e7c6325 Merge pull request #862 from triepod-ai/feat/add-tool-annotations
feat: Add tool annotations for improved LLM tool understanding
2026-01-01 19:07:26 +07:00
Michael Panchenko 6ae5757ed5 Pinned ruamel to 0.18.14
From 0.19 on ruamel requires C++ build tools on windows
2026-01-01 19:00:53 +07:00
Dominik Jain a8c720e3b4 Reorder tool inclusion definitions for improved flexibility
(allowing, in particular, open_dashboard to be disabled by SerenaConfig)
2025-12-28 22:56:04 +01:00
Dominik Jain 05b93fd469 Improve comments 2025-12-28 21:12:34 +01:00
Dominik Jain 2138adf4d4 Use subprocess instead of multiprocessing to open the dashboard
(output redirection with multiprocessing worked only when called
from the main thread)
2025-12-28 21:12:34 +01:00
Dominik Jain 0f5d86aadf Improve handling of OpenDashboardTool
* Mark the tool as optional (disabled by default)
  * Enable the tool if the dashboard is enabled, not opened and the GUI is off
  * Improve factorisation and return value/error handling
2025-12-28 21:04:12 +01:00
Dominik Jain c6b2750061 Improve Claude Code connection instructions, adding a paragraph on max token efficiency 2025-12-28 16:03:56 +01:00
Dominik Jain 061975922b JetBrainsTypeHierarchyTool: Report number of levels not included in result 2025-12-28 14:52:32 +01:00
Dominik Jain 4d1d2561cf JetBrainsTypeHierarchyTool: Return supertypes/subtypes keys even if empty,
because LLM otherwise thinks the retrieval failed and retries
  (with different parameters)
2025-12-28 12:48:30 +01:00
Dominik Jain bd26cbd381 Add jet_brains_type_hierarchy to jetbrains mode 2025-12-28 12:37:41 +01:00
Michael Panchenko dd5065f180 Various minor improvements (review comments) 2025-12-28 17:22:40 +07:00
Tomasz Wyderka 511ad0542b Add open_dashboard MCP tool for on-demand dashboard opening
This provides an alternative for users who want to disable automatic
browser opening (web_dashboard_open_on_launch: False) but still have
easy access to the dashboard through AI assistance.

Changes:
- Add OpenDashboardTool in config_tools.py
- Add open_dashboard() and get_dashboard_url() methods to SerenaAgent
- Store dashboard URL in _dashboard_url field
- Update documentation with new tool and configuration option
- Update config template comment to mention the tool

Closes #875
2025-12-28 03:44:07 +01:00
Dominik Jain c569212ec6 Merge pull request #883 from ximot/fix/test-tool-parameter-types-import
Fix broken import in test_tool_parameter_types.py
2025-12-27 21:04:40 +01:00
Tomasz Wyderka 1289b118ad Fix broken import in test_tool_parameter_types.py
The test was using SerenaMCPFactorySingleProcess and _instantiate_agent()
which were removed when process isolation was removed from the codebase.

Updated to use SerenaMCPFactory and _create_serena_agent() instead.

This fixes the CI pipeline which was failing on all test runs.
2025-12-27 20:44:43 +01:00
Michael Panchenko 6c53fd130a Added support for type-hierarchy with jetbrains tools 2025-12-28 00:38:06 +07:00
Dominik Jain f8dc10fea3 Merge pull request #881 from oraios/mux
Changes from mux
2025-12-27 17:19:50 +01:00
Dominik Jain b561af9ab5 Update MCP factory usage in CLI 2025-12-27 17:16:43 +01:00
Dominik Jain 6dcaa3894a Merge branch 'main' into mux 2025-12-27 17:14:27 +01:00
Michael Panchenko 1b80b5270d Support for symbol_info in LSP backend 2025-12-27 20:53:51 +07:00
Michael Panchenko af5d792e6b Support for symbol_info in LSP backend 2025-12-27 20:45:21 +07:00
Dominik Jain 5b3b81e7e4 Revert "Do not use listen_address 0.0.0.0 for Docker (has no desirable effect)"
This reverts commit 7ad44edd18.

Listen address 0.0.0.0 is necessary for docker, because port forwarding for Docker
is just NAT, so port forwarding alone is not sufficient

Fixes #879
2025-12-27 11:58:12 +01:00
Dominik Jain ef1ed31010 Add paragraph on single-project contexts, improve generality 2025-12-25 19:08:41 +01:00
Dominik Jain 745e50d1ee Improve project activation instructions 2025-12-25 19:08:01 +01:00
Dominik Jain a6c8c1ea8c Merge branch 'main' into improved_overview_tools 2025-12-24 15:08:41 +01:00
Dominik Jain f593067c33 Increase default timeout to 300s (as in the plugin) 2025-12-24 15:08:04 +01:00