Commit Graph
1653 Commits
Author SHA1 Message Date
Dominik Jain ea3c454a6d Fix signature of overridden method; fixes #777 2025-11-19 21:52:23 +01:00
Dominik Jain d103235561 Update language restrictions (Java no longer has symbol naming-related issues)
[skip ci]
2025-11-19 21:00:18 +01:00
Dominik Jain 4385203956 Fix use of outdated data['language'] in exception 2025-11-19 19:45:59 +01:00
Dominik Jain d97cc2889c Move class ToolSet to module agent 2025-11-19 19:40:31 +01:00
Dominik Jain 14a0e7918a Fix circular import 2025-11-19 18:48:31 +01:00
Dominik Jain 8a0e6455a1 Update change log [skip ci] 2025-11-19 18:23:10 +01:00
Dominik Jain 6c2b8363dc Merge pull request #774 from oraios/new-replace-tool
More fail-safe and flexible content replacement tool
2025-11-19 18:03:42 +01:00
Dominik Jain 2dcce39fa3 Mention changes pertaining to ReplaceContentTool/ReplaceRegexTool in change log [skip ci] 2025-11-19 18:03:10 +01:00
Dominik Jain 98099e32d5 Encourage use of regex mode more strongly 2025-11-19 17:49:38 +01:00
Dominik Jain 9e1ce384fa Handle legacy tool names in ToolSet for backward compatbility 2025-11-19 17:42:13 +01:00
Dominik Jain 2d2854d38c Simplify excessively long prompt on regex-based editing,
fixing some incorrect statements
2025-11-19 15:12:21 +01:00
Dominik Jain b330a03a15 Use new replace content functionality in EditMemoryTool
Resolves #747
2025-11-19 15:04:25 +01:00
Dominik Jain b6f88b9517 Modify ReplaceRegexTool to become ReplaceContentTool, which is more fail-safe and more flexible
* It is more fail-safe because it requires no escaping in replacement strings
   (I have opted to use a different character sequence for backreferences,
   such that escaping backslashes is no longer required.
 * It is more flexible, because it adds the "literal" mode, which is simpler
   to use for models that are not good at generating regexes correctly
2025-11-19 14:56:32 +01:00
Dominik Jain 9a8be970f2 Merge pull request #772 from oraios/context-single-project-setting
Generalise concept of a single-project SerenaAgentContext
2025-11-19 12:43:50 +01:00
Adam Lichtl 81a0fd875c Added YAML language server (#763)
Also minor fixes in Elixir LS and a more customizable logging (inferring log level from the log message) for LS implementations
2025-11-19 03:53:22 +01:00
Dominik Jain e26c8b5195 Merge pull request #736 from oraios/name-path-overloads
Add support for overloads, extending name paths with overload indices
2025-11-18 17:39:03 +01:00
Dominik Jain 70c1e4c3bc Improve type annotations, fixing mypy issues 2025-11-18 17:19:22 +01:00
Dominik Jain 19be1c41c0 Generalise concept of a single-project SerenaAgentContext 2025-11-18 17:17:14 +01:00
Dominik Jain 25513e9179 Connect comment for clarity 2025-11-18 17:15:55 +01:00
Dominik Jain d6839656ac Merge remote-tracking branch 'origin/main' into name-path-overloads
Conflicts:
	src/serena/cli.py
2025-11-17 16:24:13 +01:00
Dominik Jain 600080c68f Merge pull request #769 from oraios/global-indexing-loop
Use a single loop over source files to index project
2025-11-17 16:22:31 +01:00
Dominik Jain 98e6189ac8 Show counts per language after indexing 2025-11-17 16:20:53 +01:00
Dominik Jain 70e64de890 Save migrated cache and delete legacy cache after migration 2025-11-17 16:08:39 +01:00
Dominik Jain 89b6bfce96 Merge pull request #741 from oraios/name-path-description
Improve/simplify name path and name path matching pattern descriptions
2025-11-17 16:00:53 +01:00
Dominik Jain fc7a0938e2 Merge remote-tracking branch 'origin/name-path-overloads' into name-path-description
Conflicts:
	src/serena/tools/symbol_tools.py
2025-11-17 16:00:18 +01:00
Dominik Jain 4688a48770 Use a single loop over source files to index project
Resolves #765
2025-11-17 15:46:54 +01:00
Dominik Jain 261a157db8 Merge pull request #749 from oraios/two-tier-cache
Two-tier document symbol cache
2025-11-17 15:39:00 +01:00
Anatolii PrylutskyiandClaude 568ee77e42 Fix: Expose only serena scripts in Nix package, exclude Python interpreter (#753)
* Fix: Expose only serena scripts in Nix package, exclude Python interpreter

Modified flake.nix to use a wrapper derivation that filters the virtual
environment to expose only serena-specific executables (serena, serena-mcp-server,
index-project) while excluding the Python interpreter and other venv binaries.

The full virtual environment is still accessible via 'nix build .#serena-env'
for development purposes.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove deprecated commands from Nix package exports

This change removes serena-mcp-server and index-project from the default
Nix package outputs, exposing only the serena command. These commands are
deprecated and will be removed soon, so they should not be part of the
public package interface.

Addresses PR review feedback requesting to expose only the serena command.

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-15 23:54:58 +07:00
Michael Panchenko b5fda5674b Docs: fixed cutoff sentence 2025-11-14 11:50:28 +07:00
Michael Panchenko 91421ce985 Docs: fix link (jupyterbook doesn't use standard markdown references) 2025-11-14 11:46:03 +07:00
Adra 2b4fd66674 feat: Added project create command with --name, --index, and auto-creation (#755)
Previous command `generate_yml` has been removed
2025-11-13 15:22:37 +01:00
Dominik Jain 058803a601 Remove obsolete parameter include_body 2025-11-13 13:25:52 +01:00
Dominik Jain c6e43c3cf3 Improve docstring 2025-11-13 11:46:53 +01:00
Michael Panchenko 5c7ad8edf7 Minor [ci skip] 2025-11-13 11:04:05 +01:00
David Bernazal 2d7527bcde fix: Adding window support for ElixirTools on init (#752)
* Adding window support for ElixirTools init

* Update type to map
2025-11-13 09:23:15 +01:00
Dominik Jain 0699a87264 request_document_symbols: Avoid splitting document into lines more than once (optimisation) 2025-11-12 12:08:16 +01:00
Dominik Jain 44c1b69dde Open every file exactly once during request_full_symbol_tree 2025-11-12 12:08:16 +01:00
Dominik Jain faa0708595 Improve/optimise logging 2025-11-12 03:46:18 +01:00
Dominik Jain cb26c8c169 Do not augment existing symbol dictionaries from the LS, instead create new ones
because the raw cache would otherwise store the exact same objects
2025-11-12 03:46:18 +01:00
Dominik Jain 10c9cc33f0 Remove obsolete list of all symbols 2025-11-12 03:46:18 +01:00
Dominik Jain c6a5c1aa57 Reinstate access to cache location (used by cli) 2025-11-12 03:46:18 +01:00
Dominik Jain 44d1a404cd Remove include_body from interface of SolidLS.request_document_symbols
(body is always in data structure, callers can decide whether to use it)
2025-11-12 03:46:18 +01:00
Dominik Jain 7450fd73f6 Fix performance issue: Retrieving symbols with include_body=True
would re-read the respective file for every single symbol
2025-11-12 03:46:18 +01:00
Dominik Jain 7af490d0a2 Reintroduce (high-level) document symbols cache, now storing instance of DocumentSymbols 2025-11-12 03:46:18 +01:00
Dominik Jain d8cac3aedb Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols 2025-11-12 03:46:18 +01:00
Dominik Jain 24ea449abf Introduce "raw" document symbol cache, removing the high-level cache for the time being
(i.e. cache the raw LS result)

Reuse the legacy cache v23-06-25 as the raw symbol cache (the stored root symbols are
just augmented versions of the originally returned LS response)
2025-11-12 03:46:18 +01:00
Dominik Jain 83f4da5ff0 Add profiling script, add pyinstrument to dev dependencies 2025-11-12 03:46:18 +01:00
Dominik Jain c0fc9d3756 Merge pull request #743 from oraios/intelephense-ignore-vendor-setting
Intelephense: Add configurable setting `ignore_vendor`
2025-11-11 21:33:56 +01:00
Dominik Jain 375bc18e38 Simplify name path and name path matching pattern descriptions,
properly separating the two concepts
2025-11-10 21:17:17 +01:00
Dominik Jain cb038418eb Intelephense: Add customizable setting ignore_vendor
Resolves #731
2025-11-10 20:32:30 +01:00