UnCLAS-Prommer
9fbb733e0a
MessageUtils更新
2026-03-11 20:18:30 +08:00
UnCLAS-Prommer
aaf1c9ed40
更严厉测试
2026-03-10 13:48:24 +08:00
UnCLAS-Prommer
3ea14a85c3
测试简化
2026-03-09 15:08:42 +08:00
DrSmoothl
dfa944b368
feat: 添加 _ready_event 以确保文件监视器在启动时准备就绪,优化监控逻辑
2026-03-09 15:04:58 +08:00
DrSmoothl
7e2ab0d71d
feat(test): 移除 FileWatcher 中的 force_polling 参数,并添加等待时间以确保 watcher 建立基线
2026-03-09 14:57:59 +08:00
DrSmoothl
426cbc6190
feat(test): 在 FileWatcher 中添加 force_polling 参数以增强文件监控功能
2026-03-09 14:42:03 +08:00
DrSmoothl
5b7945ac7b
feat: 添加 _wait_for 辅助函数以优化测试中的等待逻辑,调整 FileWatcher 的防抖设置
2026-03-09 14:35:54 +08:00
UnCLAS-Prommer
fbf946b352
更严厉测试
2026-03-08 17:26:51 +08:00
DrSmoothl
1cd366bc09
refactor: 优化代码结构,简化条件判断和异常处理
2026-03-06 12:00:00 +08:00
DrSmoothl
2f21cd00bc
feat: Enhance plugin runtime with new component registry and workflow executor
...
- Introduced `ComponentRegistry` for managing plugin components with support for registration, enabling/disabling, and querying by type and plugin.
- Added `EventDispatcher` to handle event distribution to registered event handlers, supporting both blocking and non-blocking execution.
- Implemented `WorkflowExecutor` to manage a linear workflow execution across multiple stages, including command routing and error handling.
- Created `ManifestValidator` for validating plugin manifests against required fields and version compatibility.
- Updated `RPCClient` to use `MsgPackCodec` for message encoding.
- Enhanced `PluginRunner` to support lifecycle hooks for plugins, including `on_load` and `on_unload`.
- Added sys.path isolation to restrict plugin access to only necessary directories.
2026-03-06 11:55:59 +08:00
DrSmoothl
61dc15a513
feat(plugin-runtime): add plugin isolation IPC infrastructure
...
- Protocol layer: Envelope model with Pydantic schema, MsgPack/JSON codecs, unified error codes
- Transport layer: cross-platform IPC abstraction with 4-byte length-prefixed framing (UDS + TCP fallback)
- Host: RPC server, policy engine, circuit breaker, capability service, supervisor with hot-reload
- Runner: RPC client, plugin loader, process entry point
- Tests: 16 passing tests covering protocol, transport, host, and E2E handshake
2026-03-06 02:01:30 +08:00
DrSmoothl
2a33fd1121
refactor(llm): enable hot-reload for model config and client runtime
...
make LLM task config resolution dynamic in LLMRequest
load model clients on demand from latest config
clear client instance cache on config reload
remove stale module-level model_config usage in llm_api
add hot-reload tests for LLM/config watcher flow
2026-03-04 21:56:50 +08:00
DrSmoothl
b3a81754e6
feat(config): harden file watcher hot-reload flow and add test coverage
...
refactor FileWatcher to subscription-based dispatch with path/change filters
add callback timeout, failure cooldown, auto-retry loop, and runtime stats
strengthen ConfigManager hot-reload with throttling, timeout guard, and watcher stats logging
add pytest suites for watcher behavior and config hot-reload edge cases
2026-03-04 21:39:26 +08:00
UnCLAS-Prommer
d03dc3601e
消息构建器:将消息转换为可读消息;其对应的测试文件
2026-03-04 21:01:51 +08:00
UnCLAS-Prommer
e200b5b581
给Expression系统的一些准备文件
2026-03-02 17:18:13 +08:00
UnCLAS-Prommer
c58da95353
链式调用构建消息
2026-02-28 16:54:38 +08:00
UnCLAS-Prommer
7ef21c516a
一点注释和渲染修改
2026-02-24 16:01:39 +08:00
UnCLAS-Prommer
0d07e85434
全新的process方法完成(Message其他部分仍未完成);对应测试;调整部分注释;数据库检索优化
2026-02-23 21:29:17 +08:00
DrSmoothl
6378bb2052
fix Ruff
2026-02-21 16:29:30 +08:00
DrSmoothl
eaef7f0e98
Ruff Format
2026-02-21 16:24:24 +08:00
UnCLAS-Prommer
1c0580c577
ImageManager及测试
2026-02-19 19:02:44 +08:00
UnCLAS-Prommer
537b24c24e
获取和注册一体化修正
2026-02-18 21:34:56 +08:00
UnCLAS-Prommer
ccd1be7bed
Merge branch 'r-dev' of github.com:Mai-with-u/MaiBot into r-dev
2026-02-18 16:00:58 +08:00
UnCLAS-Prommer
c9f72f7f2f
修改部分字段含义,维护缓存
2026-02-18 16:00:45 +08:00
DrSmoothl
f97c24bf9e
test(webui): add pytest tests for emoji, jargon, expression routes
...
- test_emoji_routes.py: 21 tests covering list/get/update/delete/batch operations
- test_jargon_routes.py: 25 tests covering CRUD + stats + chat list (2 skipped due to DB model)
- test_expression_routes.py: 24 tests covering legacy field compatibility + field removal
- All use in-memory SQLite + StaticPool for isolation
- All tests passing (68/68, 2 skipped)
2026-02-17 20:12:57 +08:00
DrSmoothl
4e5d091417
test(webui): add unit tests for ConfigSchemaGenerator
...
- Test field descriptions from field_docs
- Test json_schema_extra merging
- Test Pydantic constraints mapping
- Test nested model schema handling
- Test fields without extra metadata
All 5 tests passing. Completes Task 7 of webui-config-visualization-refactor plan.
2026-02-17 17:14:48 +08:00
UnCLAS-Prommer
75e154741d
方法名调整;确保公共属性被定义
2026-02-15 22:56:26 +08:00
UnCLAS-Prommer
5799ce7efe
新功能
2026-02-15 13:29:56 +08:00
UnCLAS-Prommer
6dc33e9e86
提取一些公共方法
2026-02-15 00:18:16 +08:00
UnCLAS-Prommer
b9f3c17e14
合并到远程
2026-02-13 13:41:58 +08:00
UnCLAS-Prommer
4ff070c08e
新表情包系统;对应的测试;TODO更新;Prompt拆分;工具拆分
2026-02-04 22:23:41 +08:00
UnCLAS-Prommer
b793a3d62b
更好的Prompt管理系统,增加用户自定义Prompt与覆盖功能
2026-02-02 20:53:42 +08:00
UnCLAS-Prommer
761e4c8940
PromptManager再修改,测试更新;将主程序的prompt独立到文件(部分)
2026-01-20 22:15:27 +08:00
UnCLAS-Prommer
c15b77907e
Prompt管理器与测试;调整部分方法名称
2026-01-20 14:00:15 +08:00
UnCLAS-Prommer
9186d14100
解决ConfigBase问题,更严格测试,实际测试
2026-01-15 17:05:23 +08:00
UnCLAS-Prommer
13f095f231
使用Sourcery的Test,修复测出来的Bug
2026-01-12 21:48:54 +08:00
UnCLAS-Prommer
207dc460cb
ConfigBase and Test
2026-01-12 18:20:03 +08:00