Commit Graph
91 Commits
Author SHA1 Message Date
Dominik Jain 65474d3d3b bump_version: Create new dev version after creation of a release version 2026-05-11 19:14:18 +02:00
Dominik Jain 2e0167f818 Refactor LSP tools for symbol declaration retrieval
* Apply common functionality already used in JetBrainsFindDeclarationTool
* Remove location-based tool (counteracts Serena's principle to eschew line numbers)
* Apply renaming to use "find declaration" instead of "find defining symbol"
2026-04-30 15:31:27 +02:00
Dominik Jain 061020ce22 Refactor EditingToolWithDiagnostics
* Add context manager to simplify usage, improving output handling
* Add util module ls_diagnostics, reifying DiagnosticsDiff
2026-04-30 15:31:27 +02:00
Michael Panchenko da59a19c50 Fixes in various LS and in tests to accommodate diagnostics edge behavior
Also minor fix in go test expectations of symbol name
2026-04-29 23:52:26 +02:00
Michael Panchenko bd7e64e85a Fixed diagnostics files uri handling, added low-level tests 2026-04-29 23:52:26 +02:00
Michael Panchenko c55e0c900e Diagnostics, implementation and definition tools (WIP) 2026-04-29 23:52:26 +02:00
Michael Panchenko d4c75224d3 Added demo script for profiling/debugging the CLI 2026-04-26 16:26:30 +02:00
Michael Panchenko 2c65578536 Demo script: remove toon encoding 2026-04-21 12:41:20 +02:00
Dominik Jain 00726f5fdc Add date to changelog headings, add 'v' prefix
Fixes #1337
2026-04-14 14:56:20 +02:00
Michael Panchenko 57dec4c7ca Followup after 34e1fae7 - added more ignored directories 2026-04-13 20:45:05 +02:00
Michael Panchenko 22959f154f Internal: run uv lock as part of bump_version 2026-04-12 14:08:25 +02:00
Dominik Jain 23ebce0563 Deploy news to and load news from Oraios server instead of GitHub
GitHub server (raw.githubuserconten.com) is frequently blacklisted
2026-04-10 19:07:40 +02:00
Dominik Jain b0fd895794 Do not assume any default for version component to bump 2026-04-08 17:33:27 +02:00
Dominik Jain 527abc2ed0 Add commit and tag in bump_version script, add developer instructions 2026-04-08 17:33:27 +02:00
Michael Panchenko 0c1157edca Added a script for bumping version 2026-04-07 16:03:12 +02:00
Michael Panchenko 4a692eed44 News: switched mechanism to fetch news from github
This allows news to be updated without updating the installed version of Serena itself.
2026-04-07 15:56:00 +02:00
Michael Panchenko 46c06230bd Merge branch 'refs/heads/main' into serena_init_cmd
# Conflicts:
#	CHANGELOG.md
2026-04-06 20:26:40 +02:00
Michael Panchenko eb453976e2 CLI: removed deprecated commands 2026-04-06 19:18:48 +02:00
Dominik Jain cda321e318 Fix manual shutdown triggered by GUI tool/dashboard not cleaning everything up.
Subprocesses were not cleaned up, in particular.

* Rename SerenaAgent.shutdown to on_shutdown, because it is really a shutdown handler;
  it did not perform a shutdown.
* Add new method shutdown which is now called from both sites (and which performs
  the full shutdown)
* Manage the process instance used for the dashboard viewer and shut it down
  explicitly.
* Initialise all variables used during shutdown immeditaly (avoiding errors when
  shutdown is triggered during init)
2026-04-06 16:04:51 +02:00
Michael Panchenko 2aa6603dbb Added safe_delete and inline_symbol tools (JB backend) 2026-03-27 14:07:10 +01:00
Michael PanchenkoandDominik Jain c6250aeeab Improved retrieval tool responses (#1190)
* Improved symbol retrieval tool responses

1. FindSymbol (LS and JB) now has max_matches. Both tools now perform grouping like other symbol retrieval tools
2. When a result exceeds max_answer_chars, the caller may pass a shortened message. This is used in references and overview tools

* Progressive shortening for tool results that exceed max_answer_chars

Change _limit_length to accept an optional list of closures instead of
a single shortened_result string. Each closure produces a progressively
shorter version of the result, tried in order until one fits. The last
closure is assumed to always fit and is used unconditionally.

* Extended grouper

More flexible grouping logic was needed to achieve the above results. Grouper also no longer
mutates the input (using deepcopy)

---------

Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-03-27 08:34:21 +01:00
Michael Panchenko 0bbd9e375e Reformat (minor, after replacing black with ruff)
Black dependency created a dependabot warning and couldn't be bumped since it collided with pathspec dependencies. Since ruff can also format, black is not needed. But we now have these small format changes, mostly in test files
2026-03-23 21:10:41 +01:00
Dominik Jain abef88c482 SerenaConfig: Rename gui_log_window_enabled to gui_log_window
This removes the discrepancy with the configuration file (where it was always gui_log_window)
2026-01-19 18:33:43 +01:00
Dominik Jain 1c17d61121 Improve documentation (particularly on configuration) and the issue template 2026-01-17 00:46:43 +01: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
Dominik Jain d410aa9f90 SerenaConfig: Use configuration setting 'language_backend' instead of 'jetbrains'
introducing enum LanguageBackend
2025-12-17 12:54:33 +01:00
Michael Panchenko 5c7ad8edf7 Minor [ci skip] 2025-11-13 11:04:05 +01:00
Dominik Jain 83f4da5ff0 Add profiling script, add pyinstrument to dev dependencies 2025-11-12 03:46:18 +01:00
Dominik Jain c3827d9d57 Apply formatter 2025-11-06 21:04:17 +01:00
Michael Panchenko 234aba4aba Demo for sponsor banners 2025-11-05 13:39:25 +07:00
MischaPanch ad4fec9230 Enhance dashboard functionality
Added an overview (landing page showing current and available config) and advanced stats windows, controlled by top-right menu

Stats calculation is no longer optional, but we use a trivial token estimator by default
2025-10-27 22:08:53 +01:00
David Markey 45407f7a2a Update agno API to the newest version, switch to AgentOS (#702) 2025-10-27 15:57:56 +01:00
MischaPanch 99757f35eb Made more tools optional and shortened several docstrings 2025-08-03 00:14:11 +02:00
MischaPanch caa2c545e4 New feature: allow users to override prompts. Extended CLI for that 2025-07-30 12:10:15 +02:00
Michael Panchenko cad4df59cc Refactoring (minor): move all cli related things to a dedicated module 2025-07-16 18:27:13 +02:00
Dominik Jain 915da8dc9f Fix demo script 2025-07-10 23:19:36 +02:00
Dominik Jain 58bf161fd2 More flexible handling of enabled tools:
* In addition to exclusion, support notion of "optional tools" that
    are disabled by default and enabled only upon request
  * Unify the handling of inclusions/exclusions across
      - SerenaConfig
      - ProjectConfig
      - SerenaAgentContext
      - SerenaAgentMode
  * Make ToolRegistry a singleton and simplify all related operations
2025-07-06 00:39:36 +02:00
Dominik Jain 51c93c2f45 Add package serena.config for configuration (with context_mode module) 2025-07-02 18:18:13 +02:00
Dominik Jain 8577616436 Simplify configuration management, unifying SerenaConfigBase and SerenaConfig
and removing other subclasses
2025-07-02 16:09:25 +02:00
Michael Panchenko c2c7d35e99 Extended docstring of SearchForPatternTool
The LM had a hard time doing good searches.
2025-07-01 13:18:59 +02:00
Michael Panchenko 4d3281b7e7 Simplify search_text interface and handling of patterns 2025-06-30 21:17:28 +02:00
Michael Panchenko 81e0a324a5 Possibility to restrict paths to search for
The LLM also tries passing the relative_path param to the tool
2025-06-30 21:16:49 +02:00
Dominik Jain 2b68790bce Add method execute_task for synchronous execution and apply it in demo script 2025-06-24 13:33:15 +02:00
Michael Panchenko 3ee5f8e900 Minor prompting, renaming and memory file handling
- Moved symbol-reading related prompt to system prompt (from planning) since it's always need
- Use relative_path as kwarg in all tools (models get confused by different kwarg names)
- Identify and list memories without .md extension appearing
2025-06-03 12:23:35 +02:00
Michael Panchenko fe6a7d04f4 Major: replace location-based symbol referencing by name_path based
Also:
1. find_references now cannot return bodies, instead content around the reference is included
2. find_reference_snippets tool removed since it's no longer necessary
2025-05-31 14:03:45 +02:00
Michael Panchenko 9807efb8ab Merge branch 'feature/web-server-logs' into better-symbolic-editing
Conflicts:
	scripts/demo_run_tools.py
2025-05-29 23:17:50 +02:00
Michael Panchenko 5bd9c5b69e Autogenerated project.yaml now uses the template and includes the comments 2025-05-29 23:02:32 +02:00
Dominik Jain e9d10fde19 Remove dry_run and overloads from remaining editing methods
Add corresponding test classes and test cases (not yet working)
2025-05-29 19:11:43 +02:00
Michael Panchenko 0f18385f4c Better handling of lines and columns at insertions 2025-05-29 14:10:12 +02:00
Michael Panchenko f85aabb40e Merge branch 'main' into feature/context-and-mode
# Conflicts:
#	scripts/gen_prompt_factory.py
#	src/serena/agent.py
#	src/serena/llm/multilang_prompt.py
2025-05-23 17:42:37 +02:00