Dominik Jain and Dominik Jain
62cce5d66a
Update deprecation info
2025-07-20 11:59:46 +02:00
Dominik Jain and GitHub
820525fe13
Merge pull request #305 from oraios/jetbrains
...
Add multi-instance support for JetBrains mode
2025-07-20 00:01:20 +02:00
Dominik Jain and Dominik Jain
b63f30d77f
Refactor handling of IDE context when determining exposed tools
2025-07-19 22:55:42 +02:00
Dominik Jain and Dominik Jain
fcca03db9c
Add method SerenaAgent.load_project_from_path_or_name
2025-07-19 22:36:57 +02:00
Dominik Jain and Dominik Jain
4506c87d99
Move flag indicating new project creation into Project representation
2025-07-19 22:26:40 +02:00
Dominik Jain and Dominik Jain
0def7aaecc
Remove obsolete flag returned by ProjectConfig.load
...
which was never correctly returned anyway (due to a logic error)
2025-07-19 22:21:21 +02:00
Michael Panchenko and GitHub
933fbee32b
Merge pull request #319 from oraios/feature/dont_expose_tools_excluded_by_project/cc_serena
...
Apply project-specific tool exclusions early, cc_serena
2025-07-19 21:20:09 +02:00
Michael Panchenko and Michael Panchenko
077f50a9b9
Corrected conditional on project existence
2025-07-19 20:44:43 +02:00
Michael Panchenko and Michael Panchenko
b9065ca636
Typing, removed unused method (minor)
2025-07-19 20:12:54 +02:00
Michael Panchenko and Michael Panchenko
4dada35767
Apply project-specific tool exclusions early, cc_serena
...
Tokens: 1691910
Prompt (after initial instructions):
When the serena mcp server is started in ide-assistant mode and a project is passed, we should: │
│ │
│ 1. check the excluded tools from the project.yml. If no project.yml exists, there are no excluded tools there. You can use the Project or ProjectConfig classes for that. │
│ 2. exclude the tools there a-priori for the entire session, like the tools that are excluded from the context │
│ 3. exclude the activate_project tool │
│ │
│ The code modification should happen in SerenaAgent, the problematic block is here: │
│ │
│ # determine the base toolset defining the set of exposed tools (which e.g. the MCP shall see), │
│ # limited by the Serena config, the context (which is fixed for the session) and JetBrains mode │
│ tool_inclusion_definitions = [self.serena_config, self._context] │
│ if self.serena_config.jetbrains: │
│ tool_inclusion_definitions.append(SerenaAgentMode.from_name_internal("jetbrains")) │
│ self._base_tool_set = ToolSet.default().apply(*tool_inclusion_definitions) │
│ self._exposed_tools = {tc: t for tc, t in self._all_tools.items() if self._base_tool_set.includes_name(t.get_name())} │
│ log.info(f"Number of exposed tools: {len(self._exposed_tools)}") │
│ │
│ The exposed tools should be adjusted to reflect the logic I mentioned above
2025-07-19 18:56:34 +02:00
Dominik Jain and Dominik Jain
ea5e0ced3c
Catch all project activation errors for initial project
2025-07-18 11:36:01 +02:00
Dominik Jain and Dominik Jain
ac12430182
Expose top-level command serena which now contains all other commands
2025-07-18 11:28:38 +02:00
Dominik Jain and Dominik Jain
eed2057a13
Allow multiple projects with the same name
...
(but raise an error when trying to activate by non-unique name)
2025-07-18 10:51:14 +02:00
Dominik Jain and Dominik Jain
e5aae3ee41
Merge branch 'feature/enhanced_cli'
2025-07-17 17:09:35 +02:00
Michael Panchenko and Michael Panchenko
c5fe377693
Readme: mention Serena's usefulness in coding assistants
2025-07-17 17:04:33 +02:00
Dominik Jain and Dominik Jain
b3b24ebfe6
Make opening robust on Windows, using notepad.exe as a fallback
2025-07-17 16:45:39 +02:00
Michael Panchenko and Michael Panchenko
7a89f32a6a
Typo
2025-07-17 16:21:06 +02:00
Michael Panchenko and Michael Panchenko
eabf2ac09f
Better help messages in cli
2025-07-17 16:10:24 +02:00
Michael Panchenko and Michael Panchenko
108eded31a
Missing entry in pyproject
2025-07-17 16:00:34 +02:00
Michael Panchenko and Michael Panchenko
dbacca6c5b
Enhanced serena cli
...
We can manage configs and modes through it now
2025-07-17 15:26:32 +02:00
Michael Panchenko and Michael Panchenko
0d4263e91d
Added mode and context templates
2025-07-17 10:59:15 +02:00
Michael Panchenko and Michael Panchenko
e596319492
Possibility to load modes and contexts by name from $HOME/.serena
2025-07-17 00:28:29 +02:00
Michael Panchenko and Michael Panchenko
cad4df59cc
Refactoring (minor): move all cli related things to a dedicated module
2025-07-16 18:27:13 +02:00
Michael Panchenko and Michael Panchenko
b9aadb3455
Support for using experimental language servers
2025-07-16 18:12:54 +02:00
Michael Panchenko and Michael Panchenko
a9bc2c6483
Minor extension of print_system_prompt command, added explanation on using it to readme [ci skip]
2025-07-16 15:48:37 +02:00
f654e1fe25
Add print-system-prompt command to output InitialInstructionsTool result
...
This command creates a SerenaAgent instance for a project and uses the InitialInstructionsTool
to output the system prompt/initial instructions. It follows the same pattern as the existing
index-project command and can be run with: uv run print-system-prompt [project_path]
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-16 14:43:53 +02:00
Michael Panchenko and Michael Panchenko
85ee10662b
Prompting: more explicit instructions on reading symbolic tools instead of reading [ci skip]
...
In ide-assistant context
2025-07-16 13:37:58 +02:00
Dominik Jain and Dominik Jain
14df857fa0
Add multi-instance support for JetBrains mode
...
(looking for correct port based on project root)
2025-07-15 00:47:23 +02:00
Michael Panchenko and Michael Panchenko
f917aa9de6
Omnisharp: remove excessive logging
2025-07-14 11:41:54 +02:00
Michael Panchenko and Michael Panchenko
9f1189ac9a
Removed unused terraform LS files (forgotten to delete in past refactoring)
2025-07-13 23:18:25 +02:00
Michael Panchenko and Michael Panchenko
fe5a888d49
Changelog [ci skip]
2025-07-13 23:09:29 +02:00
Michael Panchenko and Michael Panchenko
c43a1a6f11
Updated mypy, minor typing fix
2025-07-13 19:46:00 +02:00
Michael Panchenko and Michael Panchenko
93702f3932
Minor improvements of stats display in dashboard
...
Display token count estimator name
Display short message if no stats were collected
2025-07-13 19:45:41 +02:00
Michael Panchenko and Michael Panchenko
f9609b8d9f
Reverted unwanted change to ls
2025-07-12 21:18:18 +02:00
Michael Panchenko and Michael Panchenko
3719a22513
Merge branch 'feature/new_ts_langserver' into codex/add-analytics-to-serena-dashboard
2025-07-12 21:09:27 +02:00
Michael Panchenko and Michael Panchenko
a22ca1a0fe
Default back to original ts LS
2025-07-12 21:01:40 +02:00
Michael Panchenko and Michael Panchenko
3c0f33acde
Improvements in tool call stats display
2025-07-12 20:54:06 +02:00
Michael Panchenko and Michael Panchenko
56902e58e2
Support for displaying token stats in the dashboard
2025-07-12 20:26:51 +02:00
Michael Panchenko and Michael Panchenko
0811eebe1b
Merge branch 'refs/heads/main' into codex/add-analytics-to-serena-dashboard
...
# Conflicts:
# src/serena/tools/tools_base.py
2025-07-12 16:34:47 +02:00
Dominik Jain and Dominik Jain
6a8a1810ed
Rename variables: symbol_manager -> symbol_retriever
2025-07-10 23:16:37 +02:00
Dominik Jain and Dominik Jain
687d6c1636
Remove obsolete method [skip ci]
2025-07-10 23:12:12 +02:00
Dominik Jain and Dominik Jain
a72adc5380
Add port explanation
2025-07-10 23:04:14 +02:00
Dominik Jain and Dominik Jain
627c97fed5
Make is_ignored_dirname and is_ignored_relative_path private,
...
improve parameter name
2025-07-10 23:03:30 +02:00
Dominik Jain and Dominik Jain
2302df3ad0
Fix docstring of get_ignore_spec
2025-07-10 23:00:01 +02:00
Dominik Jain and Dominik Jain
fd08e79890
Remove duplicate gathering of ignored patterns
2025-07-10 19:53:12 +02:00
Dominik Jain and Dominik Jain
f7de1e925d
Rename JetBrainsFindSymbolReferencesTool -> JetBrainsFindReferencingSymbolsTool
...
Update jetbrains mode definition
2025-07-10 19:46:22 +02:00
Dominik Jain and Dominik Jain
f20733fbfa
Only start the language server if in LS mode (not JetBrains mode)
2025-07-10 01:52:08 +02:00
Dominik Jain and Dominik Jain
8c36377dc2
Move classes CodeDiff and LineChange to test_symbol_editing
2025-07-10 01:22:37 +02:00
Dominik Jain and Dominik Jain
65b20c4276
Refactoring
...
* Remove SymbolManager instance from agent; instead, create it ad hoc
* Rename SymbolManager -> LanguageServerSymbolRetriever
* Rename Symbol -> LanguageServerSymbol
* Rename AbstractSymbol -> Symbol
* Rename SymbolLocation -> LanguageServerSymbolLocation
* Rename ReferenceInSymbol -> ReferenceInLanguageServerSymbol
2025-07-10 01:22:36 +02:00
Dominik Jain and Dominik Jain
403e8905cf
Remove unused method _get_code_file_content [skip ci]
2025-07-10 00:41:06 +02:00