Commit Graph

107 Commits

Author SHA1 Message Date
whatevertogo
89d3e2f014 Add architecture doc and refine API compat
- Add PROJECT_ARCHITECTURE.md documenting architecture, compat surface,
  and testing notes.
- Update astrbot_sdk.api.__init__ to clarify it is a compatibility
  implementation layer, not a simple facade, and list migration targets.
- Normalize platform in AstrMessageEvent.to_payload to emit a string id
  by using get_platform_id().
2026-03-14 17:17:25 +08:00
whatevertogo
1672bc3227 Add v4 compat layer and legacy shims
- Introduce private v4 compatibility surface using
  _legacy_api.py, _legacy_runtime.py, _legacy_loader.py plus new
  _legacy_context.py and _legacy_star.py to centralize legacy adapters
  while keeping public APIs thin.
- Extend InitializeOutput to carry protocol_version for negotiated
  protocol, enabling runtime to adapt to the chosen v4 version.
- Add lightweight legacy support for Star/Context via new LegacyStar and
  LegacyContext shims and expose legacy API through the aggregate
  _legacy_api entry point.
- Ensure legacy loader preserves class declaration order by iterating
  module.__dict__ instead of relying on alphabetical sorting.
- Add tests: protocol_version handling in InitializeOutput, legacy
  main component order preservation, and embedded-newline framing in
  transport tests.
2026-03-14 17:16:42 +08:00
whatevertogo
142d3ad747 Merge pull request #5 from united-pooh/refact1/envs_manager 2026-03-14 01:29:45 +08:00
united_pooh
76319d633d Support grouped plugin workers in shared environments
- add group metadata driven worker startup for shared env plans
- track per-plugin handler and capability ownership inside grouped workers
- update runtime and smoke tests for grouped worker session behavior
2026-03-14 01:11:21 +08:00
whatevertogo
61c3015ea6 Merge pull request #4 from letr007/chore/compat-structure-cleanup 2026-03-14 00:41:21 +08:00
whatevertogo
e891cc8c8d refactor: 更新兼容层和导入路径,优化文档描述 2026-03-13 23:55:39 +08:00
whatevertogo
2074053624 Refactor legacy runtime handling and improve plugin loading
- Updated `handler_dispatcher.py` to streamline legacy runtime preparation and dispatching results.
- Enhanced `loader.py` to simplify legacy plugin detection and manifest building.
- Added tests for new HTTPClient and MetadataClient functionalities.
- Introduced tests for legacy context metadata methods and legacy loader helpers.
- Improved legacy runtime tests to cover new functionality and edge cases.
2026-03-13 23:44:32 +08:00
whatevertogo
1fec76eda1 feat: add platform client documentation and examples
- Introduced platform client documentation in `docs/v4/clients/platform.md` detailing methods for sending messages, images, and managing group members.
- Added example plugins for LLM chat and database functionalities in `docs/v4/examples/README.md`, `docs/v4/examples/llm-chat/README.md`, and `docs/v4/examples/database/README.md`.
- Enhanced quickstart guide with links to new documentation and example plugins.
- Implemented runtime contract tests to ensure compatibility of public capabilities and hooks.
2026-03-13 21:09:13 +08:00
whatevertogo
1c4c9677bb feat: 添加插件初始化、验证和构建命令,增强 CLI 功能 2026-03-13 20:55:03 +08:00
whatevertogo
623e0c1f33 feat: Enhance CLI and testing capabilities
- Added a new script entry point `astrbot-sdk` in `pyproject.toml`.
- Introduced `has_waiter` method in `SessionWaiterManager` to check for existing waiters.
- Updated `cli.py` to improve error handling and added context to error messages.
- Implemented local development support in `cli.py` with a new `dev` command for running plugins against a mock core.
- Created a new testing module `astrbot_sdk.testing` with utilities for local development and plugin testing.
- Added comprehensive tests for the new testing module and CLI commands.
- Improved compatibility and error messaging for plugin loading failures.
2026-03-13 20:26:42 +08:00
united_pooh
b69d9e2067 Merge remote-tracking branch 'origin/refact1/refactsome' into refact1/envs_manager 2026-03-13 19:44:43 +08:00
united_pooh
980efbc23f 补充插件分组环境测试覆盖 2026-03-13 19:44:03 +08:00
whatevertogo
a3c4c6b096 Refactor legacy API and LLM compatibility logic
- Moved legacy LLM and tool compatibility logic from `_legacy_api.py` to a new module `_legacy_llm.py` for better organization and separation of concerns.
- Updated `_legacy_api.py` to import necessary components from `_legacy_llm.py`, removing redundant code.
- Enhanced database client functionality by adding support for batch read/write operations and change event subscriptions.
- Improved documentation in the database client and capability router to reflect new features.
- Refined environment management process in the loader to better handle plugin grouping and virtual environment management.
2026-03-13 19:31:14 +08:00
whatevertogo
0406d270da 增强旧版兼容性,添加适配器边界的启动和关闭钩子支持 2026-03-13 19:07:20 +08:00
whatevertogo
7b2f6f5497 增强旧版兼容性,添加多个旧路径入口和相关功能 2026-03-13 18:26:13 +08:00
whatevertogo
4680cb405b Refactor legacy runtime execution boundary 2026-03-13 18:08:23 +08:00
whatevertogo
2fe1311b5d Implement legacy hook and tool compat runtime 2026-03-13 17:41:06 +08:00
letr
24c71828b3 fix: preserve unicode sample fixtures in runtime tests 2026-03-13 17:09:49 +08:00
letr
6278bd112a test: align runtime fixtures with maintained samples 2026-03-13 17:09:49 +08:00
letr
56274c8ee6 docs: clarify compat package boundaries 2026-03-13 17:04:26 +08:00
whatevertogo
885e4fe32e Consolidate controlled legacy facade compatibility 2026-03-13 16:53:05 +08:00
whatevertogo
701384398e Tighten external legacy plugin compatibility smoke tests 2026-03-13 16:24:28 +08:00
whatevertogo
d83e2551b7 Expand legacy astrbot package compatibility 2026-03-13 16:02:30 +08:00
whatevertogo
dc365fdad0 Add legacy session waiter compatibility 2026-03-13 15:42:19 +08:00
whatevertogo
10d3990970 Merge pull request #3 from united-pooh/refact1/envs_manager
实现 v4 运行时插件分组环境管理
2026-03-13 15:18:44 +08:00
united_pooh
aa5ace7eac 实现 v4 运行时插件分组环境管理 2026-03-13 15:13:23 +08:00
whatevertogo
ea8731b693 Remove bundled legacy plugin fixture 2026-03-13 15:04:54 +08:00
whatevertogo
91b5ed400e Improve legacy plugin compat and add mrfzccl fixture 2026-03-13 15:01:42 +08:00
whatevertogo
2123ed472e Merge branch 'refact1/refactsome' of https://github.com/united-pooh/astrbot-sdk into refact1/refactsome 2026-03-13 14:23:48 +08:00
whatevertogo
0d851ac7ac feat: 删除补全清单文档,整合旧插件装载与配置模型相关信息 2026-03-13 14:23:44 +08:00
Li-shi-ling
fc0743a4e8 feat(db): 支持批量读写与 watch 变更事件
feat(db): 支持批量读写与 watch 变更事件
2026-03-13 12:38:53 +08:00
Lishiling
19064ef8eb fix:conftest和helpers添加注释 2026-03-13 11:46:33 +08:00
Lishiling
945bc3bc34 add:数据库添加批量操作支持,附测试代码 2026-03-13 11:02:31 +08:00
whatevertogo
da2c252b55 Expand new and legacy sample plugin coverage 2026-03-13 07:40:42 +08:00
whatevertogo
0064716f73 Fix runtime init and stream capability semantics 2026-03-13 07:28:59 +08:00
whatevertogo
d031814bc5 feat(plugin): 添加新的 V4 示例插件及集成测试,更新文档以反映插件结构变化 2026-03-13 06:53:31 +08:00
whatevertogo
3ba9b24522 feat: 更新文档和测试,增强旧版插件兼容性及能力装饰器的命名约束 2026-03-13 06:45:49 +08:00
whatevertogo
b0f13a00a6 feat: 添加旧版插件兼容测试及相关配置文件 2026-03-13 06:41:27 +08:00
whatevertogo
74411c8a76 feat(architecture): 更新设计原则,增强插件模块隔离和运行时导出策略 2026-03-13 06:37:08 +08:00
whatevertogo
3d5c8f7ff7 feat(protocol): 优化协议模块导出,确保根目录专注于原生 v4 模型,遗留适配器从子模块显式导入 2026-03-13 06:34:57 +08:00
whatevertogo
a93f267d8a feat(loader): enhance plugin import handling and legacy compatibility
- Updated `import_string` to evict conflicting cached top-level plugin packages, ensuring proper isolation of plugins with the same package names.
- Preserved the order of legacy handler declarations in `_iter_discoverable_names` to maintain expected behavior for legacy plugins.
- Added tests to verify the isolation of top-level packages and the preservation of handler declaration order.
- Improved module cleanup in tests to prevent conflicts between plugins.
2026-03-13 06:32:26 +08:00
whatevertogo
4b6e20468b feat: 更新文档和代码,优化运行时模块的导出,确保高级原语的稳定性和兼容性 2026-03-13 06:23:00 +08:00
whatevertogo
9c5ecf0a13 feat: Enhance plugin capability support and legacy compatibility
- Introduced LoadedCapability class to manage plugin capabilities.
- Updated load_plugin function to discover and load capabilities alongside handlers.
- Enhanced Peer class to handle remote provided capabilities during initialization.
- Added tests for capability registration and invocation in legacy plugins.
- Improved MessageChain and message component handling in legacy plugins.
- Added comprehensive tests for legacy plugin integration and compatibility.
- Updated protocol messages to include provided capabilities in initialization.
- Enhanced top-level module imports to include capability-related functions.
2026-03-13 06:16:57 +08:00
whatevertogo
d7aa75aff0 fix: 优化配置值规范化逻辑,确保类型检查更为严谨 2026-03-13 05:48:58 +08:00
whatevertogo
72d600679f feat: 更新遗留 API,支持标量 JSON 值和兼容性文档,增强消息组件和事件过滤器功能 2026-03-13 05:44:01 +08:00
whatevertogo
96ea836edc feat: Enhance legacy API with message chain support and new context handling
- Updated `LegacyContext.send_message` to handle rich message chains using `send_chain`.
- Introduced `LegacyStar` class for backward compatibility with legacy plugins.
- Added `register` decorator for legacy plugin metadata.
- Enhanced `MessageChain` class with `to_payload` and `is_plain_text_only` methods.
- Updated `AstrMessageEvent.send` method to utilize `send_chain` for rich messages.
- Implemented `send_chain` method in `PlatformClient` for sending complex message structures.
- Added capability routing for `platform.send_chain`.
- Introduced tests for new functionality, ensuring compatibility with legacy plugins and message handling.
2026-03-13 05:34:14 +08:00
whatevertogo
ae73a18f60 docs: 更新 CLAUDE 和 AGENTS 文档,添加旧 Star 文档以描述遗留行为,确保兼容性和功能完整性 2026-03-13 05:12:52 +08:00
whatevertogo
a533a30985 Remove deprecated documentation files related to code interpreter, built-in commands, context compression, custom rules, function calling, old knowledge base, knowledge base, MCP, plugins, proactive agent, skills, subagent, unified webhook, web search, and web UI management. Update references to the latest features and functionalities in AstrBot. 2026-03-13 05:07:31 +08:00
whatevertogo
1706e89d14 Merge branch 'refact1/refactsome' of https://github.com/united-pooh/astrbot-sdk into refact1/refactsome 2026-03-13 05:06:53 +08:00
whatevertogo
f4f7f69e29 docs: 加入旧文档方便开发 2026-03-13 05:06:36 +08:00