Commit Graph
1490 Commits
Author SHA1 Message Date
Dominik Jain 148b489293 Serena's project.yml: Add typescript language 2025-10-30 01:55:22 +01:00
Dominik Jain e85afc1ea8 Apply configuration updates (with defaults and backward compatibility) at the dictionary level,
allowing old configurations to be properly updated when resaving
(outdated entries removed/new entries added in re-saved version)
2025-10-30 01:51:01 +01:00
Dominik Jain 6e26d08d5d Represent the agent's task queue explicitly 2025-10-30 01:28:06 +01:00
Dominik Jain eb4a740369 Improve language addition in dashboard
* Place button next to language list
  * Show spinner and hide button while language is being added
2025-10-30 01:06:00 +01:00
Dominik Jain aeec47d176 Revert "Allowed add_language to be issued asynchronously"
This reverts commit 2c2fcc6a07.
2025-10-30 01:05:53 +01:00
Dominik Jain 2bc8230720 Report error and stack trace for any uncaught exceptions in task queue 2025-10-30 01:04:56 +01:00
Dominik Jain 2d8a226d40 Fix language server variable being referenced before assignment 2025-10-30 00:30:13 +01:00
Dominik Jain d578184fc5 Fix ProjectConfig.ignored_paths being mutated by Project 2025-10-29 23:15:42 +01:00
MischaPanch 31dae80218 Dashboard: possibility to add a language.
Also specialize dashboard to jetbrains mode when it is active
2025-10-29 22:44:55 +01:00
MischaPanch 2c2fcc6a07 Allowed add_language to be issued asynchronously 2025-10-29 16:12:54 +01:00
MischaPanch 24a79899e8 Removed deprecated ruff rule 2025-10-29 16:12:24 +01:00
Dominik Jain b54a2d0cbf Merge pull request #704 from oraios/multi-ls
Add LanguageServerManager, adding simultaneous multi-language support
2025-10-29 12:49:33 +01:00
Dominik Jain c73637a8be Add LanguageServerManager.from_languages (moved from Project) 2025-10-29 12:24:55 +01:00
Dominik Jain 7d60326340 Simplify language server factory interfaces (one factory for all fits current requirements best) 2025-10-29 12:24:55 +01:00
Dominik Jain 653e8c4b90 Support the dynamic addition of languages while a project is already activated
Move LanguageServerManager ownership from SerenaAgent to Project

Add Project.save_config to support saving updated configurations
2025-10-29 01:02:05 +01:00
Michael Panchenko 6cbc22f19c Merge branch 'main' into multi-ls 2025-10-29 00:07:10 +01:00
MischaPanch 88caf59033 Added callout with link to config instructions and path to project config on hover
[ci skip]
2025-10-29 00:06:05 +01:00
MischaPanch 04910f866f Shutdown dashboard tab on overview page if server is closed 2025-10-28 23:51:46 +01:00
Dominik Jain d693580a7d Support multiple languages in generate-yml CLI command 2025-10-28 23:30:05 +01:00
Dominik Jain 31c39947a0 Adapt CLI tools to use LanguageServerManager 2025-10-28 22:35:12 +01:00
Dominik Jain 66a72d2b76 Update language settings in project configuration template 2025-10-28 18:52:23 +01:00
Dominik Jain 27b933796a Improve LS-related error handling, reporting and propagation 2025-10-28 18:52:23 +01:00
Dominik Jain 747d342166 Make stream reader thread names indicate the language 2025-10-28 18:52:23 +01:00
Dominik Jain c7a0afb6ce Spawn language servers in parallel (using threads) 2025-10-28 18:52:23 +01:00
Dominik Jain e0ab4db189 Add LanguageServerManager, adding multi-language support in a single project 2025-10-28 18:52:23 +01:00
Michael Panchenko 7d10457e66 Merge pull request #701 from Rheasilvia/main
feat: Support user's Maven and Gradle configuration files in JDTLS
2025-10-28 13:10:28 +01:00
mengjiechen a49d9a588b feat: Support user's Maven and Gradle configuration files in JDTLS
Add detection and usage of user's custom Maven and Gradle configuration
files to allow JDTLS to respect user-specific build tool settings.

Changes:
- Detect and use ~/.m2/settings.xml for Maven user settings
- Detect and use ~/.gradle for Gradle user home directory
- Set Maven updateSnapshots to false for better performance

This enhancement allows JDTLS to:
- Use custom Maven repositories and mirrors
- Respect proxy and authentication configurations
- Apply user-specific build tool settings
- Improve initialization performance by disabling automatic snapshot updates

The implementation gracefully falls back to None if configuration files
don't exist, maintaining backward compatibility with existing setups.
2025-10-28 19:23:25 +08:00
MischaPanch 45554623f8 Dashboard: added section displaying memories, show path to mode/context on hover
[ci skip]
2025-10-28 11:16:54 +01:00
Dominik Jain 340338f593 Update lock file 2025-10-28 01:07:26 +01:00
MischaPanch c43c9c55f5 Merge branch 'main' of github.com:oraios/serena 2025-10-27 22:15:46 +01:00
MischaPanch ad4fec9230 Enhance dashboard functionality
Added an overview (landing page showing current and available config) and advanced stats windows, controlled by top-right menu

Stats calculation is no longer optional, but we use a trivial token estimator by default
2025-10-27 22:08:53 +01:00
Suvarchal Kumar Cheedela a8f6ad92cc Add Fortran language support via fortls (#698) 2025-10-27 18:49:32 +01:00
David Markey 45407f7a2a Update agno API to the newest version, switch to AgentOS (#702) 2025-10-27 15:57:56 +01:00
MischaPanch 4bf2cbe818 Readme, changelog (mention Julia support) [ci skip] 2025-10-27 00:18:25 +01:00
Ketema Harris 37c4898bd6 feat: Add Haskell language server support (#697) 2025-10-26 23:30:40 +01:00
Dominik Jain 1461aff18c Improve description of RegexReplaceTool 2025-10-26 12:00:00 +01:00
Dominik Jain 70ab5e77bf Re-enable InitialInstructionsTool, because some clients do not read the system prompt
at connection time (e.g. Claude Desktop)

Establish a "name" for the instructions (Serena Instructions Manual) such that the agent
can know whether it has read the instructions and therefore will know whether or not
the tool needs to be called
2025-10-25 21:30:19 +02:00
Dominik Jain 570703d0ae Improve string representation of Project and JetBrainsSymbol
Improve typing of JetBrainsSymbol
2025-10-25 21:29:50 +02:00
Dominik Jain 1e06812d68 Fix: Allow increasing the log level (e.g. to WARNING or ERROR) 2025-10-23 12:26:41 +02:00
Vishwajit Sarnobat fd410a4638 feat: Add Julia language server support (#691)
Implements JuliaLanguageServer with LanguageServer.jl integration.
Includes comprehensive tests and auto-detection of Julia installations.

Checks for LanguageServer.jl on startup and installs via Pkg.add if not found. Only runs once on first use.
2025-10-22 00:37:12 +02:00
Dominik Jain 64ac699ac6 FileUtils.read_file: Remove logger parameter, do not wrap exceptions 2025-10-20 22:41:49 +02:00
玖亖伍 d88e2dd180 Enhancing file read robustness (#682)
If a file cannot be read using the project's defined encoding, 
use charset-normalizer to detect the likely encoding
2025-10-20 21:36:32 +02:00
MischaPanch f45c22045a Minor additions to readme, changelog [ci skip] 2025-10-19 12:55:34 +02:00
youM 6a28fff9d0 Feature: Support Scala Language (#528)
Unlike other language servers, metals LS only works properly when the project has been compiled in a particular way. Compiling like this on the fly or in CI is unfeasible, so instead, we expect the user to setup and compile the project correctly when using Serena for scala. Extensive documentation has been added.

Scala tests exist, but we don't run them in CI. They have been executed manually on macOS and Windows, thereby verifying that after following the instructions, Scala support works in Serena.
2025-10-19 12:47:52 +02:00
Dominik Jain 19b56d94bb Support rename_symbol for JetBrains 2025-10-17 18:10:05 +02:00
Dominik Jain 4d7072d9ed Fix mypy issues 2025-10-17 14:32:08 +02:00
Dominik Jain 89340ef197 Fix project-specific information (prompt, encoding, etc.) not being provided
when the project is activated at startup (ActivateProjectTool not applied)

Peripheral change: Move MemoriesManager into module 'project',
moving the instance into the Project instance, because memories are strictly
associated with the project

Fixes #681
2025-10-17 13:40:57 +02:00
Dominik Jain ef4c19c586 Merge pull request #674 from oraios/use-project-encoding 2025-10-17 00:50:03 +02:00
Dominik Jain 5d7aeb680f Intelephense: Account for spaces in launch command (use robust list syntax instead of string) 2025-10-16 22:35:50 +02:00
Dominik Jain 3cde03a8fb Introduce constant for Serena file encoding
* SERENA_FILE_ENCODING for Serena-specific files (config files, memories)
 * DEFAULT_SOURCE_FILE_ENCODING for source files (renamed from DEFAULT_ENCODING)
2025-10-16 22:10:35 +02:00