57 Commits

Author SHA1 Message Date
Michael Panchenko cad4df59cc Refactoring (minor): move all cli related things to a dedicated module 2025-07-16 18:27:13 +02:00
Dominik Jain 915da8dc9f Fix demo script 2025-07-10 23:19:36 +02:00
Dominik Jain 58bf161fd2 More flexible handling of enabled tools:
* In addition to exclusion, support notion of "optional tools" that
    are disabled by default and enabled only upon request
  * Unify the handling of inclusions/exclusions across
      - SerenaConfig
      - ProjectConfig
      - SerenaAgentContext
      - SerenaAgentMode
  * Make ToolRegistry a singleton and simplify all related operations
2025-07-06 00:39:36 +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 8577616436 Simplify configuration management, unifying SerenaConfigBase and SerenaConfig
and removing other subclasses
2025-07-02 16:09:25 +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
Michael Panchenko 4d3281b7e7 Simplify search_text interface and handling of patterns 2025-06-30 21:17:28 +02:00
Michael Panchenko 81e0a324a5 Possibility to restrict paths to search for
The LLM also tries passing the relative_path param to the tool
2025-06-30 21:16:49 +02:00
Dominik Jain 2b68790bce Add method execute_task for synchronous execution and apply it in demo script 2025-06-24 13:33:15 +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 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 9807efb8ab Merge branch 'feature/web-server-logs' into better-symbolic-editing
Conflicts:
	scripts/demo_run_tools.py
2025-05-29 23:17:50 +02:00
Michael Panchenko 5bd9c5b69e Autogenerated project.yaml now uses the template and includes the comments 2025-05-29 23:02:32 +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
Michael Panchenko 0f18385f4c Better handling of lines and columns at insertions 2025-05-29 14:10:12 +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 Panchenko 494189ba16 Towards finalization of mode and context handling, WIP 2025-05-22 23:00:15 +02:00
Michael Panchenko 13a1d236dc Refactored prompt-template related code (new package interprompt) 2025-05-22 22:11:04 +02:00
Michael Panchenko e8d493f4d6 Use utf8 in all file read operations 2025-05-19 17:18:51 +02:00
Dominik Jain 2d5437e7f7 Fix scripts/mcp_server.py 2025-05-03 15:30:41 +02:00
Dominik Jain 10bbd62aa2 Convert SerenaConfig and ProjectConfig to dataclasses,
facilitating testing
2025-04-28 16:39:32 +02:00
Michael Panchenko 433d7f4d59 Refactoring in tests: prepare for testing with multiple languages 2025-04-27 13:00:45 +02:00
Michael Panchenko ec89632950 Demo script for running tools 2025-04-26 23:50:39 +02:00
Michael Panchenko 8c9fd747ef Updated agno, removed monkeypatch 2025-04-11 14:23:56 +02:00
Dominik Jain 4c92934c8a Fix agno logging configuration being broken by reimport (disabling GUI logger) 2025-04-06 18:04:41 +02:00
Dominik Jain e88c1e6fac Resolve issues pertaining to main module reloading mechanisms internal to Agno/agent-ui
Fixes #8
2025-04-03 15:26:02 +02:00
Michael Panchenko 7300aaedf5 Fixed agno script (all in global scope now) 2025-04-02 00:57:16 +02:00
Michael Panchenko 1c4aa6ca10 Pass project-file to agno_agent via cli 2025-04-01 19:17:21 +02:00
Michael Panchenko e6bf952cf6 Restored accidentally deleted agno script 2025-04-01 18:49:36 +02:00
Michael Panchenko efbea42e39 Made tool selection configurable
More things:
- list tools using .subclasses instead of inspect
- entrypoint for listing tools
- util for listing selected tools
- documentation
2025-04-01 18:34:15 +02:00
Michael Panchenko 1b2bfc0e3a Made agno work with memory 2025-04-01 17:37:16 +02:00
Michael Panchenko 913a90b376 Minor 2025-04-01 17:16:56 +02:00
Dominik Jain b1572a9717 Make Gemini work, fixing issues with schema conversion 2025-04-01 15:14:49 +02:00
Dominik Jain 513a321741 Add script for listing tools 2025-03-31 17:28:58 +02:00
Dominik Jain 927e36bbb6 Avoid log level misconfiguration, allow user to configure log level 2025-03-31 16:43:41 +02:00
Dominik Jain d32d74a477 Make Agno agent work 2025-03-31 16:28:42 +02:00
Dominik Jain 131ca8a15e Add SerenaAgnoToolkit (replacing list of Functions) 2025-03-31 13:53:18 +02:00
Michael Panchenko 605bca19b7 Minor refactoring in agno code, script starts 2025-03-30 23:56:52 +02:00
Dominik Jain 8fbf9cec5c Initial agno agent implementation 2025-03-30 18:16:27 +02:00
Dominik Jain be2a9c45ae Update agno agent 2025-03-29 23:37:54 +01:00
Dominik Jain 2699b5b687 Formatting 2025-03-29 23:37:46 +01:00
Dominik Jain af4f405421 Merge branch 'main' of github.com:oraios/serena
Conflicts:
	scripts/mcp_server.py
	src/serena/llm/prompt_factory.py
	src/serena/mcp.py
2025-03-29 23:28:13 +01:00
Dominik Jain 871b193e85 Separate SerenaAgent and Tool abstractions from MCP code 2025-03-29 23:21:44 +01:00
Michael Panchenko 640b4523d5 Agno agent, WIP 2025-03-29 22:57:58 +01:00
Michael Panchenko ae5aeee3b4 Deleted boilerplate 2025-03-29 22:19:11 +01:00
Michael Panchenko 3ccd42fda3 Add uv entrypoint 2025-03-29 21:22:01 +01:00
Dominik Jain c828cfff30 Add GUI log viewer and corresponding handler 2025-03-29 16:51:47 +01:00
Michael Panchenko 9931b4ad7a Onboarding with memory files and thinking tools 2025-03-29 14:06:33 +01:00
Dominik Jain d0507c0a09 Move MCP code to the library, adding a minimal runnable script 2025-03-25 19:11:44 +01:00