Commit Graph
98 Commits
Author SHA1 Message Date
Michael Panchenko 1327c7a118 Tests for isolated agent 2025-06-15 17:47:46 +02:00
Michael Panchenko ad96a7b255 Minor renaming 2025-06-15 16:14:40 +02:00
Michael Panchenko b87caf7e0a Merge branch 'main' into fix_deadlocks
# Conflicts:
#	test/conftest.py
2025-06-15 15:17:48 +02:00
Michael Panchenko 37d1004460 Fixes in SerenaAgent isolation in process creation
make_tool previously depended on tool instances in the main process, but the tool instances are no longer available there

To solve this, the tool interface was adjusted to provide static information which is used in the ProcessIsolatedTool wrapper.

I also tried another approach before, where ProcessIsolatedTool would accept tool metadata at init, but this lead to serialization issues that couldn't be easily solved (mcp's FuncMetadata is not serializable, despite being a BaseModel...).

Tests for checking that the wrapped tool instance has the same metadata as the wrapper have been added.
2025-06-15 15:15:23 +02:00
Michael PanchenkoandMichael Panchenko 3f5b4da532 More config options for logging in tests, formating 2025-06-13 23:31:48 +02:00
Michael Panchenko b1e14d8267 Force-added ingored file in test resources
Needed for tests involving ignored patterns
2025-06-13 23:29:35 +02:00
Michael Panchenko 40e9bb87c1 Tests: use gitignore parser in LS setup, remove duplication 2025-06-13 23:29:35 +02:00
Michael Panchenko 47a133a7c0 Typo 2025-06-13 23:29:35 +02:00
Michael Panchenko 3ca27e47d5 Fix tests to correctly use gitignore for LS setup 2025-06-13 23:29:35 +02:00
Michael Panchenko 287e59e45e Merge remote-tracking branch 'origin/main' 2025-06-13 18:13:58 +02:00
Michael Panchenko b185a9f595 Tests: use gitignore parser in LS setup, remove duplication 2025-06-13 18:13:46 +02:00
Michael Panchenko 099ab41203 Typo 2025-06-13 18:13:46 +02:00
Michael Panchenko 8cd50fab16 Force-added ingored file in test resources
Needed for tests involving ignored patterns
2025-06-13 18:13:46 +02:00
Michael Panchenko b0ade9e9fa Fix tests to correctly use gitignore for LS setup 2025-06-13 18:13:46 +02:00
Dominik Jain e19b0b6d34 Fix glob pattern escaping 2025-06-13 11:54:56 +02:00
Michael Panchenko 0c5a98236f Gitignore: fix handling of anchored ignores
Previously anchored ignores would be erroneosly ingored everywhere
2025-06-11 17:09:33 +02:00
Michael Panchenko 993c6f6dfd Mercilessly kill all asyncio stuff at shutdown 2025-06-10 00:29:37 +02:00
Michael Panchenko d2cd006007 More logging in tests 2025-06-09 22:01:03 +02:00
nikita2206andClaude 597c28c8e8 feat: Add Java 21 support to multilspy
- Update Eclipse JDTLS to vscode-java v1.42.0 with Java 21.0.7 JRE
- Update Kotlin language server dependencies to use Java 21
- Update test Maven project to use Java 21 compiler settings
- Update runtime configuration from JavaSE-17 to JavaSE-21
- Update dependency versions: lombok 1.18.36, launcher 1.7.0

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 11:10:36 +02:00
Michael Panchenko 7445bbcc42 Revert GH changes, don't run snapshot tests on Windows 2025-06-04 21:23:21 +02:00
Michael Panchenko dfe3633a42 Adjusted agent tests to new return of symbol tools 2025-06-04 21:03:20 +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 795ffda435 Update snapshot (whitespace issues) 2025-06-02 22:01:23 +02:00
Michael Panchenko 950caaf91c Add and use use_same_indentation flag to body-replacement 2025-06-01 23:26:11 +02:00
Michael Panchenko e8d5cefe9d Adjusted test 2025-05-31 14:12:38 +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 873c5bda3c Merge branch 'main' into better-symbolic-editing 2025-05-31 12:37:44 +02:00
Michael Panchenko 5fee09a35f Respect all gitignores when parsing project for finding language 2025-05-30 20:30:16 +02:00
Michael Panchenko bf557aeb9a Merge branch 'main' into better-symbolic-editing 2025-05-30 18:19:22 +02:00
Michael Panchenko 45b5963a27 Merge branch 'better-symbolic-editing' of github.com:oraios/serena into better-symbolic-editing 2025-05-30 16:56:06 +02:00
Michael Panchenko 9bb8c798e8 Added pytest markers to editing tests 2025-05-30 16:55:55 +02:00
Dominik Jain 04fa309170 Add type hints 2025-05-30 01:36:17 +02:00
Michael Panchenko e038cfa188 Snapshot tests for editing, WIP
Need to look over the snapshot results to see whether they're what we expect. Also, for some reason tests are failing...
2025-05-30 00:58:02 +02:00
Michael Panchenko 454c07eb5e Force added project.yml in test
Seems like we have concurrency issues in tests, adding this solves this
2025-05-29 23:50:10 +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
Dominik Jain bed72f417a Add test case abstraction for editing tests
Add implementation for "delete symbol", removing unnecessary dry-run
flag and overloads from the implementation
2025-05-29 18:15:07 +02:00
Michael Panchenko bd0923a2d3 Refactoring: move out editing methods from LS to TextUtils
Now these methods can be used in dry-run mode, assuring there is no logic duplication
2025-05-29 13:37:10 +02:00
Michael Panchenko 9d493d8aab Added base class for SerenaConfig, use in-memory config for tests
Also:
1. now the normal config will always save to disk (no longer handled by a flag in the methods)
2. the commented yaml is always loaded in the beginning (instead of loading every time on save). Has the upside of simpler code and less i/o, inisignificant "downside" of comments permanently staying in RAM
3. small improvements in typing
2025-05-28 15:11:33 +02:00
Michael Panchenko 22e72a5769 Refactored project config management and activation
Project activation is now always enabled
Projects are lists to dirs
Activation works based on name or path
Activating a new project always registers it
2025-05-26 21:47:19 +02:00
Michael Panchenko 13c71bb216 Allow activation of projects without registration 2025-05-26 12:49:16 +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
Michael Panchenko 3584ce47eb Proper first implementation of mode and context setting, WIP 2025-05-23 17:34:46 +02:00
Michael PanchenkoandMichael Panchenko 0884fc7a8c Support for multiple usage contexts and modes
The context and mode system allows for tool selection and
prompt adjustments, thus customizing the behavior of the agent
to the user's needs.
2025-05-21 19:34:11 +02:00
Michael Panchenko 0cf0ff3d48 Improvements and renamings of symbol name_path matching 2025-05-21 12:35:26 +02:00
Michael Panchenko 39854c8baa Fix minor typing issues, fix initialization of gopls, remove hack 2025-05-20 17:21:21 +02:00
Michael Panchenko a7f1af7174 Allow finding symbols by qualname. Also allow finding parents in Symbol
Fairly extensive testing included
2025-05-20 15:40:45 +02:00
Michael Panchenko c848e8a7ca Extended tests 2025-05-20 01:41:15 +02:00
Michael Panchenko e8d493f4d6 Use utf8 in all file read operations 2025-05-19 17:18:51 +02:00
Michael Panchenko 7975675a98 More explicit asserts (debugging in CI) 2025-05-19 16:11:02 +02:00
Michael Panchenko 4901f72629 Made paths in test os independent 2025-05-19 12:57:26 +02:00