Commit Graph
2741 Commits
Author SHA1 Message Date
Michael Panchenko 0a07b83ccd Merge branch 'refs/heads/main' into cleanup/remove_set_modes 2026-04-25 16:56:48 +02:00
Dr. Dominik Jain 7a8b5fb212 Merge pull request #1403 from oraios/jetbrains-debugger
Add JetBrainsDebugTool
2026-04-24 20:42:43 +02:00
Andrew Newell fc27a5204e Fix: 1397 Expert deadlock by sending didOpen(mix.exs) before readiness wait (#1405)
* Fix: Expert deadlock by sending didOpen(mix.exs) before readiness wait

Expert's build pipeline only starts after receiving a textDocument/didOpen
notification. Without it, Serena waited 300 s for $/progress signals that
Expert never emitted, causing a deadlock on every cold start.
2026-04-24 17:16:37 +02:00
Dominik Jain 18e7e63070 Bump mcp from 1.26.0 to 1.27.0 #1367 2026-04-24 16:26:08 +02:00
Dominik Jain 1fd0fe2cb5 Add SerenaInfoTool for on-demand retrieval of usage information
Apply it to provide JetBrains debug REPL information lazily
2026-04-24 13:51:27 +02:00
Dominik Jain 3b71b3f306 Add version guard for debug tool 2026-04-24 13:27:23 +02:00
Dominik Jain b331183c76 Update documentation to mention JetBrains debug tool 2026-04-24 13:27:23 +02:00
Dominik Jain f678d81cac Improve debugger interface and instructions 2026-04-24 13:27:23 +02:00
Dominik Jain 3223c82609 Add JetBrainsDebugTool 2026-04-24 13:27:23 +02:00
Dominik Jain 64582cebe2 Provide Serena's system prompt (instruction manual) lazily
At MCP connection time, provide only a one-sentence bootstrap prompt
2026-04-24 13:23:35 +02:00
dependabot[bot] bc41c840ea Bump python-dotenv in the uv group across 1 directory (#1395)
Bumps the uv group with 1 update in the / directory: [python-dotenv](https://github.com/theskumar/python-dotenv).


Updates `python-dotenv` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-version: 1.2.2
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 11:42:51 +02:00
e4da2db1d7 feat: add JSON language server support via vscode-json-languageserver (#1404)
* feat: add JSON language server support via vscode-json-languageserver (fixes #1391)

Add support for JSON files using the `vscode-json-languageserver` npm package
from Microsoft. This provides document symbol navigation and hover information
for JSON files.

The implementation follows the existing YAML language server pattern:
- Auto-installs `vscode-json-languageserver` via npm on first use
- Requires Node.js and npm
- Marked as experimental (must be explicitly specified)

Co-Authored-By: Octopus <liyuan851277048@icloud.com>
Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2026-04-24 11:41:50 +02:00
Dominik Jain 9ae2d1af77 Update TestSearchText to use 0-based line numbers 2026-04-23 15:58:37 +02:00
Dominik Jain d79e2c2a0f Fix: SearchForPatternTool returned 1-based line numbers (in contrast to all other tools)
Cause: Implementation of text_utils.search_text

Serena's tools use 0-based line numbers, and this information
is now also centrally added to the instructions (manual).
2026-04-23 15:01:03 +02:00
Dominik Jain 885266ffb0 open_url_in_browser: Surround subprocess creation with try-catch
Resolves #1363
2026-04-23 11:03:32 +02:00
Dr. Dominik Jain d5724c4bd5 Merge pull request #1380 from oraios/dashboard-manager
Introduce DashboardManager with three interface modes for the dashboard
2026-04-23 02:23:08 +02:00
Dominik Jain 3e24972c61 SerenaDashboardTrayManager: Add initial delay to monitoring thread 2026-04-23 02:20:58 +02:00
Dominik Jain 81349514ab Mention new dashboard interface options in change log & documentation 2026-04-23 02:15:54 +02:00
Dominik Jain f8968ae657 Merge remote-tracking branch 'origin/main' into dashboard-manager
Conflicts:
	src/serena/agent.py
2026-04-23 02:03:51 +02:00
Dominik Jain 071fec981c Mark 'tray_manager' dashboard mode as experimental,
reverting back to 'browser' on macOS until it is tested
2026-04-23 02:01:41 +02:00
Dominik Jain 1beb2523f7 Improve docstrings 2026-04-23 01:48:44 +02:00
Dominik Jain a4913e6760 Fix memory leaks in dashboard frontend when using Chromium-based browsers
(including web view on Windows)

* Remove heartbeat (browsers no longer allow windows to be closed anyway)
* Prevent parallel requests pertaining to the executions queue

Both measures eliminate parallel requests (which, apparently, can lead
to memory leaks in Chromium-based browsers; no such observations in Firefox).

Fixes #1389
2026-04-23 01:35:41 +02:00
Dominik Jain 26e989dddd Reduce duplicate page init logic 2026-04-22 23:56:40 +02:00
Dominik Jain 7caff5f032 Adjust claude-code context
* Keep the replace_content tool enabled
 * Instruct the agent to use Serena's editing tools, especially
   when editing code that was read through Serena

This is in reaction to Claude Code's editing tool denying edits
without corresponding prior reads

Resolves #1400
2026-04-22 23:53:48 +02:00
Michael Panchenko 7ea9317a95 Removed no longer used set_modes and tests for it 2026-04-22 12:57:37 +02:00
Dr. Dominik Jain 110ddffc45 Merge pull request #1396 from oraios/remove-nbsphinx
Remove obsolete notebook-related dev dependencies (nbsphinx, nbconvert)
2026-04-22 01:45:37 +02:00
Dominik Jain 91977532fd Remove obsolete notebook-related dev dependencies (nbsphinx, nbconvert) 2026-04-22 00:49:41 +02:00
Michael Panchenko f786dee0b4 Merge pull request #1393 from oraios/dependabot/uv/uv-82fdfb001f
Bump nbconvert from 7.17.0 to 7.17.1 in the uv group across 1 directory
2026-04-22 00:09:28 +02:00
dependabot[bot] 8ebe6322f2 Bump nbconvert from 7.17.0 to 7.17.1 in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [nbconvert](https://github.com/jupyter/nbconvert).


Updates `nbconvert` from 7.17.0 to 7.17.1
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.17.0...v7.17.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-version: 7.17.1
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 18:12:38 +00:00
Dominik Jain a6877c4419 Project server:
- query_project: Support use of project root instead of project name
  - list_queryable_projects: Return both project names and project roots

Resolves #1388
2026-04-21 17:48:12 +02:00
Dominik Jain 4e0e7cd668 Always return prompts of newly activated modes in project activation message
(even if already returned within current session, because clients like
Claude Desktop use a single session for everything)

Relates to #1370
2026-04-21 15:47:29 +02:00
Dominik Jain f0a3a279b7 Always provide full activation message upon calling activate_project
This is necessary, because some clients (e.g. Claude Desktop) will
reuse a single session across chats.

Resolves #1384
2026-04-21 14:34:10 +02:00
Dominik Jain 364c08c6e2 Improve loading of project.yml files: Gracefully handle user errors involving incorrect use of None/empty instead of list
Resolves #1390
2026-04-21 13:51:17 +02:00
Dominik Jain 57462a5d45 Further improve error reporting/handling pertaining to ignore spec/pattern computation
Relates to #1390
2026-04-21 13:29:45 +02:00
Dominik Jain 24c71841ee Fix: Failure to collect project ignore spec now logs the stack trace
and subsequent tasks fail fast
2026-04-21 12:49:46 +02:00
Michael Panchenko b2cce67206 Merge pull request #1383 from oraios/bugfix/insert_after_constant
Forbid using insert_after_symbol on symbols with no proper body
2026-04-21 12:43:57 +02:00
Michael Panchenko 2c65578536 Demo script: remove toon encoding 2026-04-21 12:41:20 +02:00
Michael Panchenko 89440bf055 Forbid using insert_after_symbol on symbols with no proper body 2026-04-21 12:40:29 +02:00
Michael Panchenko 14cd3ef559 Merge pull request #1385 from mdorman/flake
flake.nix: include `serena-hooks` in package
2026-04-20 19:58:39 +02:00
Michael Alan Dorman 6016c3b4e2 flake.nix: include serena-hooks in package 2026-04-20 13:42:21 -04:00
Dominik Jain 84891b592e Usage reporting: Include context name 2026-04-20 14:51:37 +02:00
Dominik Jain 2d767e2fa9 Remove obsolete docs file 040_comparison-to-other-agents 2026-04-20 14:17:04 +02:00
Dominik Jain f64a7ca678 Fix formatting issue 2026-04-20 14:14:57 +02:00
Dominik Jain 9386012aed Improve README -> docs translation (once again) 2026-04-20 14:13:49 +02:00
Dominik Jain d6816caf58 Make open_url_in_brower more flexible, avoiding unnecessary subprocess in tray manager 2026-04-20 13:49:29 +02:00
Dr. Dominik Jain 51163eda81 Merge pull request #1371 from oraios/mode-activation-prompts
Improve project-specific prompt provision
2026-04-20 13:33:15 +02:00
Dominik Jain 3fea7b562e Add TestPromptProvision 2026-04-20 13:31:30 +02:00
Dominik Jain c3414c3be6 Merge remote-tracking branch 'origin/main' into mode-activation-prompts
Conflicts:
	CHANGELOG.md
2026-04-20 12:21:13 +02:00
Dominik Jain 3d31512107 Manage project-specific prompt provision per session (MCP client session ID)
This allows the stateful handling introduced for #1370 #1372
to correctly apply to HTTP mode as well, by adjusting tools to be session-aware:
 * InitialInstructionsTool
 * ActivateProjectTool
2026-04-20 12:18:07 +02:00
Michael Panchenko 229fac0662 Restrict querying of external projects to read-only tools 2026-04-20 11:13:04 +02:00