Commit Graph
1184 Commits
Author SHA1 Message Date
Dominik Jain ec29b55cd2 Merge remote-tracking branch 'origin/main' into restructure-agent-py
Conflicts:
	src/serena/agent.py
2025-07-02 23:31:04 +02:00
Dominik Jain cb755868fb Merge pull request #274 from oraios/simplify-config
Simplify & improve Serena configuration
2025-07-02 23:30:05 +02:00
Dominik Jain a1c972f2e7 Redirect output of webbrowser (can contaminate stdout otherwise) #257 2025-07-02 19:03:05 +02:00
Dominik Jain 5fbed403c9 Update imports in test 2025-07-02 18:44:06 +02:00
Dominik Jain e61f1a29a6 Fix shutdown trying to use removed function from process_isolated_agent 2025-07-02 18:33:18 +02:00
Dominik Jain 253ddd6ff6 Extract new module config.serena_config from agent.py 2025-07-02 18:26:12 +02:00
Dominik Jain 478801041a Split history src/serena/agent.py to src/serena/config/serena_config.py - restore name of source-file 2025-07-02 18:18:58 +02:00
Dominik Jain a97b3de59c Split history src/serena/agent.py to src/serena/config/serena_config.py - resolve conflict and keep both files 2025-07-02 18:18:58 +02:00
Dominik Jain e54fc5b21b Split history src/serena/agent.py to src/serena/config/serena_config.py - rename source-file to git-split-temp 2025-07-02 18:18:58 +02:00
Dominik Jain 14b57f7213 Split history src/serena/agent.py to src/serena/config/serena_config.py - rename file to target-name 2025-07-02 18:18:57 +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 988ac70da4 Extract separate module tools from agent.py 2025-07-02 18:18:13 +02:00
Dominik Jain 9e6725f483 Split history src/serena/agent.py to src/serena/tools.py - restore name of source-file 2025-07-02 18:06:14 +02:00
Dominik Jain bcf1ad107b Split history src/serena/agent.py to src/serena/tools.py - resolve conflict and keep both files 2025-07-02 18:06:14 +02:00
Dominik Jain 3300dd1b17 Split history src/serena/agent.py to src/serena/tools.py - rename source-file to git-split-temp 2025-07-02 18:06:14 +02:00
Dominik Jain 3c6b57ef6d Split history src/serena/agent.py to src/serena/tools.py - rename file to target-name 2025-07-02 18:06:13 +02:00
Dominik Jain 061d565692 Log location of configuration file 2025-07-02 17:26:06 +02:00
Dominik Jain 1969360a09 Improve comments 2025-07-02 17:22:55 +02:00
Dominik Jain a50632b378 Simplify method structure for loading/creating config file 2025-07-02 17:21:31 +02:00
Dominik Jain ea3daf6408 Set new default config file location to ~/.serena/serena_config.yml,
using the Serena installation directory as an alternative secondary location
2025-07-02 17:10:18 +02:00
Dominik Jain c771293a95 Remove contrived method create_serena_config and remove unnecessary constructor args of SerenaAgent 2025-07-02 16:22:26 +02:00
Dominik Jain 8577616436 Simplify configuration management, unifying SerenaConfigBase and SerenaConfig
and removing other subclasses
2025-07-02 16:09:25 +02:00
Dominik Jain 85a9e47c5b Remove obsolete to_json_dict/from_json_dict methods from config classes 2025-07-02 15:15:29 +02:00
Dominik Jain f3361403c2 Merge pull request #272 from oraios/remove-process-isolation
Remove process isolation
2025-07-02 15:11:28 +02:00
David Bernazal c077150a7f Increase time for finishing compilation 2025-07-02 05:54:32 -05:00
Michael Panchenko f493f7a6c4 Merge pull request #266 from johnnymo87/system-prompt
Return system prompt even if language server isn't ready
2025-07-02 12:49:25 +02:00
David Bernazal a51eb67534 Extending times for CI 2025-07-02 05:27:41 -05:00
Dominik Jain 49515d6235 Remove process isolation (SerenaMCPFactoryWithProcessIsolation, ProcessIsolatedSerenaAgent, etc.) 2025-07-02 12:20:41 +02:00
Dominik Jain 5edf905833 Add config item web_dashboard_open_on_launch 2025-07-02 11:13:35 +02:00
Dominik Jain cbcbb5c8a5 Improve change log 2025-07-02 11:13:15 +02:00
Jonathan Mohrbacher 0da54b0868 Return system prompt even if language server isn't ready 2025-07-01 23:00:23 -04:00
Dominik Jain 02487e67fd Add tool analytics and dashboard charts 2025-07-01 23:46:33 +02:00
David Bernazal 0dbcb2beaa Better LSP ready logic 2025-07-01 10:54:16 -05:00
Dominik Jain 10629e3356 Limit exposed tools to the ones not excluded by the (fixed) agent context 2025-07-01 17:09:20 +02:00
David Bernazal bbf15ffc98 Ensure deps are installed 2025-07-01 09:31:04 -05:00
David Bernazal ae4ae5740f Fix ready signal and ignore Elixir tests using skipif 2025-07-01 08:55:40 -05:00
Michael Panchenko 6cd7f8155c Csharp LS: remove prints 2025-07-01 14:51:57 +02:00
Michael Panchenko 463ea2e4a7 ruff, minor 2025-07-01 14:46:52 +02:00
David Bernazal ca1bf842fe Merge branch 'main' into elixir-support 2025-07-01 07:36:54 -05:00
David Bernazal 2d45a39314 Remove windows tests and fix other tests 2025-07-01 07:33:57 -05:00
David Bernazal e9378ecf79 Fix CI failures: Add missing Elixir test repository source files
The lib/ directory was being ignored by the root .gitignore Python packaging rule.
This caused CI failures because test files like models.ex, services.ex, etc. were
missing from the repository.

- Add exception to .gitignore for test/resources/repos/elixir/test_repo/lib
- Add all missing Elixir source files:
  - examples.ex (example functions and data structures)
  - models.ex (User struct and related functions)
  - services.ex (UserService module)
  - test_repo.ex (main module)
  - utils.ex (utility functions)
  - ignored_dir/ignored_module.ex (for testing directory filtering)

These files are essential for Elixir language server tests to function properly.
2025-07-01 07:33:57 -05:00
David Bernazalandopcode81 75016674e1 Implement runtime dependency management for Next LS
Address PR #261 feedback by implementing proper runtime dependency management:

- Add runtime_dependencies.json with platform-specific Next LS binaries
- Implement setupRuntimeDependencies() method following EclipseJDTLS pattern
- Download and manage Next LS binaries in static directory for reproducible results
- Remove CI-based Next LS installation in favor of managed dependencies
- Support Linux, macOS (x64/ARM64), and Windows platforms
- Automatically handle binary permissions and executable naming
- Ensure fixed Next LS v0.23.3 version for all users

This approach provides better version control, reproducibility, and follows
the established pattern used by other language servers in the project.

Co-authored-by: opcode81 <opcode81@users.noreply.github.com>
2025-07-01 07:33:57 -05:00
David Bernazal 395f656736 Add Next LS installation to CI workflow
- Install Next LS v0.23.3 binary for all platforms (Linux, macOS, Windows)
- Download platform-specific binaries from GitHub releases
- Add binaries to PATH for use in Elixir language server tests
- Ensures Next LS is available for optimal Elixir test performance
- Resolves CI dependency requirements for Elixir language server integration
2025-07-01 07:33:57 -05:00
David Bernazal 6d7e4a2e5e Address PR #261 feedback: Add Elixir CI support and fix codespell error
- Add Elixir/Erlang setup to pytest.yml using erlef/setup-beam@v1
- Configure Elixir 1.18.4 and OTP 26.1 for CI compatibility
- Fix codespell false positive for '*cripts' glob pattern with ignore comment
- Resolves CI test failures for Elixir language server integration
2025-07-01 07:33:57 -05:00
David Bernazal c665099740 Elixir Support 2025-07-01 07:33:57 -05:00
Michael Panchenko bf7d9a4472 Changelog, readme (minor) [ci skip] 2025-07-01 14:33:11 +02:00
Michael Panchenko b3f2f168ea Merge pull request #263 from oraios/fix_file_ignores_and_pattern_search
Fix file ignores and pattern search
2025-07-01 14:23:53 +02:00
Michael Panchenko 6c670f54bd Fix in clojure tests: skipif needs a boolean, not a string 2025-07-01 14:23:22 +02:00
Michael Panchenko 790ca6eac4 Further fixes in path matching (consider the root path for isdir check) 2025-07-01 14:05:53 +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