Commit Graph
1893 Commits
Author SHA1 Message Date
Bracken Spencer 4cc0cabcb7 Fix Windows CI: Replace Unix-only SIGALRM with cross-platform timeout
signal.SIGALRM is not available on Windows, causing test_completion to fail.
Replace with threading.Thread approach (daemon=True) that works on all platforms.
2025-12-07 18:28:30 +01:00
Dominik Jain e7f1260b3a Add information on advanced configuration 2025-12-07 14:41:00 +01:00
Dominik Jain 7b287fa602 Allow Serena home directory to be overridden with SERENA_HOME env var,
defining the relevant path variables in SerenaPaths
2025-12-07 13:39:08 +01:00
Dominik Jain 904a25053e Merge pull request #812 from oraios/fix/ubuntu-ci-tests
Fix Ubuntu CI test failure
Fixes #788
2025-12-06 14:35:42 +01:00
Dominik Jain 4982622b6a Disable randomly failing assertion #814 2025-12-06 13:59:12 +01:00
Dominik Jain 01ec8465fb Try to re-enable further language tests #788 2025-12-06 13:26:23 +01:00
Dominik Jain 0b87837210 Free disk space on Linux 2025-12-06 12:51:53 +01:00
Dominik Jain cec8ff7a55 Change test log level to INFO 2025-12-06 12:51:53 +01:00
Dominik Jain 118365e96a Change project test fixture to scope 'module' and ensure shutdown
to avoid resource leakage (LS instances accumulating)
2025-12-06 12:51:53 +01:00
Dominik Jain 5fe463f3af Allow agent to be explicitly shut down with controllable timeouts 2025-12-06 12:51:53 +01:00
Dominik Jain e56f1d44a1 Increase LS shutdown timeout in tests to 5s 2025-12-06 00:03:29 +01:00
Dominik Jain 38bad52414 Use context manager for agent fixture 2025-12-05 20:46:44 +01:00
Dominik Jain 7de68c09c3 Improve handling of languages for which tests are disabled
adding Clojure to list of disabled languages (tests appear to fail randomly)
2025-12-05 20:46:03 +01:00
Dominik Jain 72d5f688d4 Disable AL tests in CI #788 2025-12-05 15:21:05 +01:00
Dominik Jain 43001eca68 Attempt to fix Ubuntu CI failure by improving LS lifecycle management in tests #788 2025-12-05 14:34:51 +01:00
Dominik Jain 2fa477397b Merge pull request #810 from oraios/revise-prompts
Revise prompts
2025-12-05 13:08:02 +01:00
Dominik Jain b046f2cb24 Skip SerenaAgent tests using Java in CI #788 2025-12-05 02:27:17 +01:00
Dominik Jain fdeee664ee Remove obsolete enums for contexts and modes 2025-12-05 01:39:16 +01:00
Dominik Jain e75856f587 Revise context prompts/descriptions #742
* Rename 'ide-assistant' to 'claude-code' (backwards-compatible)
* Add new mode 'ide' (basically the same as 'claude-code')
2025-12-05 01:33:00 +01:00
Dominik Jain f0c7a55a4d Minor wording improvements 2025-12-05 00:49:24 +01:00
Dominik Jain 9f6b94b251 Improve mode template 2025-12-05 00:49:19 +01:00
Dominik Jain 25330148b1 Streamline editing mode prompt, removing overlap with system prompt #742 2025-12-05 00:49:19 +01:00
Dominik Jain 33036f0010 Streamline the system prompt, removing redundancies [skip ci] 2025-12-05 00:25:11 +01:00
Dominik Jain 9b3cb94854 Simplify prompt of mode 'no-onboarding' [skip ci]
(made too many assumptions; presence of memories is indicated upon project activation)
2025-12-05 00:09:45 +01:00
Dominik Jain b4654d9b15 Remove unconditional statement about memories from system prompt 2025-12-04 13:40:25 +01:00
Dominik Jain 725eb08f80 Improve mode descriptions 2025-12-04 13:40:03 +01:00
Dominik Jain b1cee0a9f7 Increase likelihood of Serena's manual being read
(if not provided at MCP connection time)
2025-12-03 23:31:18 +01:00
Dominik Jain 790a9ed863 Improve description of CheckOnboardingPerformedTool 2025-12-03 23:31:18 +01:00
Dominik Jain c09b4139f5 Add 'no-memories' mode 2025-12-03 23:31:17 +01:00
w0wl0lxd b4914673a7 style: Fix black formatting in TOML test file 2025-12-01 04:06:44 -06:00
w0wl0lxd 5b31dfffed test: Add comprehensive TOML language server tests
Add 28 new tests across 4 test files for Taplo TOML language support:

- test_toml_edge_cases.py: Tests for inline tables, multiline strings,
  arrays of tables, nested tables, datetime values, and dependency tables
- test_toml_ignored_dirs.py: Tests for TOML-specific directory ignoring
  (target, .cargo, node_modules)
- test_toml_symbol_retrieval.py: Tests for document overview, symbol tree,
  directory overview, and symbol hierarchy operations
- __init__.py: Package initialization

Also adds config.toml test fixture with comprehensive TOML features for
edge case testing.

Total: 35 TOML tests (7 basic + 28 new), all passing.
2025-12-01 04:01:55 -06:00
w0wl0lxd 8b4cd2d33e fix: Taplo LSP initialization and test assertions
- Remove unsupported capabilities from Taplo initialization params
  (formatting, semanticTokens, configuration) that caused -32602 error
- Remove VS Code extension-specific initializationOptions (evenBetterToml)
- Update tests to match Taplo's actual symbol kinds (kind 19 for tables)
- Fix features symbol test to find top-level section, not nested key
2025-12-01 03:40:21 -06:00
w0wl0lxd c01d9d06e8 feat: Add TOML language support via Taplo
Add TOML language server using Taplo with automatic binary download
for .toml file validation, formatting, and schema support.

Security:
- SHA256 checksum verification for downloaded binaries
- Zip slip vulnerability protection for archive extraction
- Download timeout (120s) to prevent indefinite hangs

Fixes #796: serena project index fails on Rust projects when
project.yml contains languages: ["toml"]. Without TOML in the
Language enum, loading such configurations raises ValueError:
'toml' is not a valid Language. This commonly occurs in Rust
projects where users want to index Cargo.toml alongside .rs files.
2025-12-01 02:49:52 -06:00
Dominik Jain 855818da63 System prompt: Improve potentially misleading information on find_symbol usage
Potentially affects #790
2025-11-29 12:42:51 +01:00
Dominik Jain 2691d65b46 Merge pull request #787 from mdbenito/fix/unused-arg
Bugfix: Remove spurious arg from log call
2025-11-27 13:29:54 +01:00
Miguel de Benito Delgado a5a62748c8 Remove spurious arg from log call 2025-11-27 11:49:21 +01:00
Dominik Jain f2c891c59b Allow non-ASCII characters in JSON responses
escaping only required characters

Introduce method Tool._to_json to unify JSON handling

Resolves #785
2025-11-26 22:58:58 +01:00
Dominik Jain 0c2bc17713 Merge pull request #781 from oraios/remove-ls-logger
Remove LanguageServerLogger
2025-11-26 22:41:56 +01:00
Dominik Jain 7e507c11b9 Sync mux
commit 32170df9a77208235818872af48477689c2c8ebe
  Author: Dominik Jain <dominik.jain@outlook.com>
  Date:   Sun Nov 23 23:35:28 2025 +0100

      Refactor SerenaMCPFactory, removing obsolete subclass

  src-serena/serena/mcp.py
2025-11-23 23:36:45 +01:00
Dominik Jain 9781710f4e Sync mux
commit c5b59a6cb87a093327b3bc2bbfa2a485a3b18d1f
  Author: Dominik Jain <dominik.jain@outlook.com>
  Date:   Sun Nov 23 18:53:06 2025 +0100

      ToolRegistry: Allow valid tool packages to be modified

  src-serena/serena/tools/tools_base.py

  commit 9b4299d4f3e12fe67919e304d9e33c527ee0f345
  Author: Dominik Jain <dominik.jain@outlook.com>
  Date:   Sun Nov 23 17:47:39 2025 +0100

      ToolInclusionDefinition: Add option to specify a fixed tool set

  src-serena/serena/agent.py
  src-serena/serena/config/serena_config.py
2025-11-23 22:29:53 +01:00
Dominik Jain d58dbebce2 Add repo dir sync [skip ci] 2025-11-23 15:57:45 +01:00
Dominik Jain 7f11d6b7e8 Fix SuspendedLoggerContext (adding a copy to serena.util.logging) 2025-11-23 13:32:41 +01:00
Dominik Jain 09722e9e72 Remove references to multilspy 2025-11-23 13:32:13 +01:00
Dominik Jain 3ffbaa090e Improve documentation on connecting clients 2025-11-21 15:45:50 +01:00
Dominik Jain 82d495b2a6 Remove LanguageServerLogger
Resolves #745
2025-11-20 21:33:37 +01:00
Michael Panchenko 4702fbe1ea Merge pull request #370 from oraios/mypy_on_solidlsp
Make mypy run through on solidlsp
2025-11-20 22:47:25 +07:00
Michael Panchenko 3147126161 GH: move type-check to the end of CI pipeline [ci skip] 2025-11-20 16:46:09 +01:00
Dominik Jain 09200b8da8 Improve tests (test actual core behaviour, not random specifics) 2025-11-20 14:34:42 +01:00
Dominik Jain 7f60139323 Merge pull request #776 from oraios/pick-languages-cli
Allow the user to interactively enable additional languages
2025-11-20 12:33:33 +01:00
Dominik Jain c544f9e6cc Update exception text (auto-creating a project in a directory without source files) 2025-11-20 12:31:16 +01:00