Commit Graph

73 Commits

Author SHA1 Message Date
X-iZhang c57e6132a5 Add tests for Rich markup escape safety in formatter
- Introduced a new test file `test_rich_escape.py` to validate the safety of Rich markup escaping in the ToolResultFormatter.
- Added tests to ensure that tool names and error messages containing brackets do not cause crashes during formatting.
2026-02-22 17:15:11 +00:00
MuXinCG 258fbc4d34 some bug fix 2026-02-21 17:18:10 +08:00
X-iZhang b5dbdc2a1e feat(widgets): enhance ToolCallWidget and SubAgentWidget for better tool management and status handling 2026-02-21 02:50:28 +00:00
X-iZhang 03f4134190 feat: add UserMessage widget and UI backend selection during onboarding
- Introduced UserMessage widget for displaying user input with a styled prompt.
- Updated onboarding steps to include UI backend selection (Rich CLI or Textual TUI).
- Modified EvoScientistConfig to store selected UI backend.
- Enhanced configuration handling to support UI backend environment variable.
- Updated README with new UI backend options and commands.
- Added tests for new UI backend functionality and UserMessage widget.
- Removed obsolete test files and ensured existing tests are updated accordingly.
2026-02-21 01:18:33 +00:00
X-iZhang 75ee7aeba9 feat(backends): enhance convert_virtual_paths_in_command to handle workspace paths 2026-02-20 23:07:28 +00:00
X-iZhang 2dd331be02 feat(tests): refactor async coroutine handling with shared run_async function 2026-02-18 16:53:58 +00:00
X-iZhang e2a5241a68 feat(cli): enhance channel thinking propagation and error handling in bus mode 2026-02-17 20:25:49 +00:00
MuXinCG 5fd8e1a8ad fix feishu bugs 2026-02-17 16:08:41 +08:00
MuXinCG bec3fc0b67 pass linter 2026-02-17 15:40:57 +08:00
MuXinCG b85faf7516 Add Dingtalk Feishu 2026-02-17 10:54:15 +08:00
X-iZhang 1446267360 feat(tests): mock import for telegram and discord in TestStepChannels 2026-02-16 13:52:01 +00:00
X-iZhang b62e63ac74 feat(channel): improve error handling and logging in channel management
feat(interactive): refactor message sending to channel for better error handling
fix(display): remove unnecessary print statement in final results display
test(bus): update tests to match changes in _bus_inbound_consumer signature
2026-02-16 13:33:00 +00:00
Xi Zhang 1cc7c539be Merge pull request #12 from EvoScientist/feature/channel-slack-wechat
Feature/channel slack wechat
2026-02-16 11:58:33 +00:00
Dinos Papakostas 764e4a4cc8 feat(tools): add error handler middleware to prevent tool failures crashing the agent 2026-02-16 17:13:04 +08:00
MuXinCG 12bc82226f add slack and wechat 2026-02-16 16:05:41 +08:00
X-iZhang 924ce3dd30 feat: implement channel message queue and response handling in bus mode 2026-02-16 03:01:19 +00:00
MuXinCG 8a2b6161f1 fix bugs 2026-02-16 02:15:28 +08:00
MuXinCG 616a90ef1c feat(channels): add unified channel framework with Telegram and Discord support
Introduce the new channel unification architecture:
- Core framework: base channel class, bus, consumer, channel manager,
  middleware, mixins, capabilities, formatter, retry, plugin system
- Telegram channel implementation with bot token validation
- Discord channel implementation with bot token validation
- Refactored iMessage to use new base channel architecture
- Updated CLI: /channel commands, serve mode, channel setup wizard
- Updated onboard wizard to support multi-channel selection
- Config settings for all channel types
- Stream events: media attachment support, done event content field
- Comprehensive test coverage for channels, bus, and manager
2026-02-16 02:09:25 +08:00
X-iZhang 3da590acaf refactor: rename imessage_send_thinking to channel_send_thinking for clarity 2026-02-15 17:31:02 +00:00
X-iZhang eb10135314 Revert "Merge pull request #8 from EvoScientist/feature/channel-unification"
This reverts commit 84da81256a, reversing
changes made to c2c8e27b46.
2026-02-15 16:32:44 +00:00
MuXinCG 9b93cea12b fix linter bug 2026-02-15 21:07:47 +08:00
MuXinCG 91e0cfb7c1 pass linter and pytest 2026-02-15 20:57:21 +08:00
MuXinCG 358f63994b Merge remote-tracking branch 'origin/main' into feature/channel-unification
# Conflicts:
#	EvoScientist/EvoScientist.py
#	EvoScientist/channels/imessage/serve.py
#	EvoScientist/cli/commands.py
2026-02-15 20:37:12 +08:00
X-iZhang c2c8e27b46 feat(mcp): implement caching for MCP tools to optimize loading
feat(onboard): enhance API key validation logic to retain existing keys
test(mcp): add tests for MCP tool caching behavior
2026-02-15 12:11:10 +00:00
X-iZhang 7b598dd6a6 feat(paths): implement set_workspace_root function and update related paths
refactor(cli): improve workspace handling in commands and agent modules
fix(interactive): update memory directory path resolution
docs(README): clarify workspace directory structure and environment variable usage
test(paths): add tests for set_workspace_root and ensure_dirs functions
test(skills_manager): update tests to use paths module for USER_SKILLS_DIR
2026-02-15 11:27:04 +00:00
MuXinCG 1ccc4158d9 Merge remote-tracking branch 'origin/main' into feature/channel-unification
# Conflicts:
#	EvoScientist/cli/commands.py
2026-02-15 18:10:24 +08:00
MuXinCG 01018c0d24 stable 2026-02-15 18:08:57 +08:00
MuXinCG 68181fae49 reduce code complex 2026-02-15 18:01:53 +08:00
MuXinCG e672f71c12 Stable 2026-02-15 17:21:29 +08:00
X-iZhang 8893906e94 update 2026-02-15 03:34:43 +00:00
X-iZhang 94184fe13b feat(workspace): defer directory creation to CLI and improve workspace handling 2026-02-15 01:10:48 +00:00
X-iZhang f80246c48f Revert "add sci-swarm skill"
This reverts commit d591fda338.
2026-02-14 20:31:16 +00:00
MuXinCG 61cf79e525 for merge 2026-02-15 02:11:38 +08:00
X-iZhang d591fda338 add sci-swarm skill 2026-02-13 20:53:53 +00:00
X-iZhang 7572fef50a feat(middleware): reorganize memory middleware structure and add memory management functionality 2026-02-13 18:54:44 +00:00
X-iZhang 418f2d58a7 Enhance documentation and refactor code for clarity and functionality
- Updated README.md to clarify tool allowlist supports glob wildcards.
- Enhanced docstrings in prompts.py, utils.py, and formatter.py for better understanding of function parameters and return values.
- Refactored test cases in test_llm.py and test_onboard.py to use consistent mocking style with unittest.mock.patch.
- Improved test coverage and clarity in test_skills_manager.py and test_stream_state.py by adding descriptive comments and organizing sections.
- Adjusted tool result formatting logic in formatter.py to streamline success checks.
- Ensured backward compatibility in various modules while enhancing functionality.
2026-02-13 18:54:33 +00:00
Dinos Papakostas 97ac3e0401 feat(mcp): support wildcards in tool filtering 2026-02-14 00:06:08 +08:00
X-iZhang 8210192b03 feat: add OpenRouter API key support and enhance model handling 2026-02-13 00:03:36 +00:00
X-iZhang 349693f9d6 feat: add support for SiliconFlow API key and update model providers 2026-02-12 19:51:09 +00:00
X-iZhang 5e83f4caba feat(models): add support for new OpenAI models and enhance test coverage for providers 2026-02-12 18:30:32 +00:00
X-iZhang 5271931935 feat(tests): add tests for _merge_memory backslash safety and _step_mcp_servers npx handling 2026-02-12 18:30:27 +00:00
X-iZhang 56711aa321 feat: enhance session management to isolate agent data and prevent cross-agent visibility 2026-02-12 00:47:28 +00:00
X-iZhang f29b254d9a Implement session persistence and management features
- Introduced a new `sessions.py` module for handling session persistence using SQLite.
- Added CRUD operations for threads, including listing, checking existence, finding similar threads, and deleting threads.
- Enhanced the interactive CLI to support commands for managing sessions: `/current`, `/threads`, `/resume`, and `/delete`.
- Updated the `cmd_interactive` function to handle session metadata and improve user experience with session history rendering.
- Modified the streaming functions to include metadata for checkpoint persistence.
- Added unit tests for session management functionalities to ensure reliability and correctness.
2026-02-11 23:34:25 +00:00
X-iZhang 63517a2a04 feat: refactor iMessage channel handling and remove view_image tool
- Updated iMessage channel to read send_thinking preference from config.
- Modified _auto_start_channel to accept send_thinking parameter.
- Removed view_image tool and adjusted related functionality.
- Enhanced README to reflect changes in media handling.
- Updated tests to cover new behavior and removed tests for view_image.
2026-02-11 19:27:05 +00:00
X-iZhang b0644a2b53 feat(backends): enhance CustomSandboxBackend with LocalShellBackend and improved command validation
fix(utils): add skills support in load_subagents function

chore: update dependencies to latest versions

test: remove unused working_dir parameter in CustomSandboxBackend tests
2026-02-10 23:56:29 +00:00
X-iZhang 8404a8e013 fix: update allowed_senders handling and improve logging configuration 2026-02-10 22:20:56 +00:00
Dinos Papakostas f1a7b957e7 chore(test): rm unused imports 2026-02-10 19:13:30 +08:00
Dinos Papakostas d1cc6096d2 test(cli): add tests for the deduplication logic 2026-02-10 19:09:49 +08:00
X-iZhang 250a23682c update 2026-02-09 02:54:41 +00:00
X-iZhang a32fe79bdd update 2026-02-08 20:52:37 +00:00