Commit Graph
55 Commits
Author SHA1 Message Date
jxxghp e17e83bca3 refactor: route agent settings tools through runtime 2026-08-23 02:38:39 +08:00
jxxghp ca66b39b7e feat: make subscription notifications durable 2026-08-23 02:35:16 +08:00
jxxghp 7846b24f6c refactor: inject URL signing runtime configuration 2026-08-23 01:26:09 +08:00
jxxghp 690ebe0c02 refactor: inject token runtime configuration 2026-08-23 01:14:12 +08:00
jxxghp 903bc090ed feat: make subscribe completion durable 2026-08-23 00:59:17 +08:00
jxxghp 3a3c0b4ab6 refactor: migrate workflow actions to runtime config snapshot 2026-08-23 00:50:04 +08:00
jxxghp a59f1b928a feat: make subscribe reports durable 2026-08-23 00:25:23 +08:00
jxxghp 3c8cb513bb fix: await durable subscribe deletion reports 2026-08-23 00:07:52 +08:00
jxxghp 8171e16f8d feat: make subscribe deletion reports durable 2026-08-22 23:57:51 +08:00
jxxghp e602c23668 refactor: clear public entrypoint complexity debt 2026-08-22 23:28:30 +08:00
jxxghp 56cb7294eb refactor: extract cache network and compatibility entrypoints 2026-08-22 23:13:59 +08:00
jxxghp a380cf6d49 refactor: migrate auth runtime configuration 2026-08-22 20:53:53 +08:00
jxxghp 33ca1f824f refactor: extract download success settlement 2026-08-22 20:46:48 +08:00
jxxghp 8d0a694816 refactor: migrate passkey runtime configuration 2026-08-22 20:35:27 +08:00
jxxghp 047c88997a refactor: migrate cleanup policy configuration 2026-08-22 20:30:51 +08:00
jxxghp 3181c01125 refactor: migrate rss helper configuration 2026-08-22 20:26:51 +08:00
jxxghp 250270d97c refactor: migrate torrent helper configuration 2026-08-22 20:13:28 +08:00
jxxghp fc6c6433aa Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	tests/fixtures/architecture/dependency-baseline.json
2026-08-22 20:08:35 +08:00
jxxghp 160094cd74 refactor: migrate image configuration to runtime snapshot 2026-08-22 20:02:32 +08:00
jxxghp 1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp be18cace1f refactor: finish transactional runtime migration 2026-08-22 15:18:16 +08:00
jxxghp 996a1a0705 refactor: expand api and chain config snapshots 2026-08-22 13:22:33 +08:00
jxxghp 7bc5e01afd refactor: expand async and type safety gates 2026-08-22 13:21:52 +08:00
jxxghp e61b5168ad refactor: move workflow execution writes to uow 2026-08-22 13:21:52 +08:00
jxxghp fa2bf1fe4d refactor: expand chain runtime config snapshot 2026-08-22 13:21:52 +08:00
jxxghp 30ebf98fbb feat(transfer): aggregate failure notifications by media 2026-08-22 11:46:41 +08:00
jxxghp 2d982f08fa fix(search): disambiguate yearless same-title resources 2026-08-22 11:35:01 +08:00
jxxghp 97d2dcd7fb fix(ci): align architecture and pylint gates 2026-08-22 08:50:25 +08:00
jxxghp 5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp 820f7e8850 refactor: make download and transfer events durable 2026-08-22 08:03:00 +08:00
jxxghp c5de1c7b1b refactor: make subscription lifecycle events durable 2026-08-22 07:43:41 +08:00
jxxghp c755c074b9 refactor: dataize scheduler job contracts 2026-08-21 21:59:11 +08:00
jxxghp dce7372b81 feat: persist subscription side-effect outbox 2026-08-21 21:50:18 +08:00
jxxghp ff0ce8d1c1 refactor: add configuration dependency ratchet 2026-08-21 21:20:56 +08:00
jxxghp b598b516d5 refactor: migrate high-risk write transactions 2026-08-21 20:46:57 +08:00
jxxghp 7de72e0e83 refactor: own subscription create transactions 2026-08-21 20:37:31 +08:00
InfinityPacer b9bbc8913c fix: 完善插件恢复与运行态收敛 (#6376) 2026-08-21 18:09:29 +08:00
InfinityPacer f700db5ac8 feat(database): add managed backup and offline restore (#6359) 2026-08-19 17:34:32 +08:00
jxxghp f4a879b3de fix(rename): 剥离专辑名尾部年份,避免重命名目录重复年份 (#6355)
音频标签或下载目录常把发行年份写进专辑名(如 "欲望反光 (2018)"),
而音乐重命名模板会独立追加 ({{year}}),两者叠加生成 "欲望反光 (2018) (2018)"
这类重复年份目录,并把同一专辑拆到多个目录。

在模板上下文中统一剥离专辑名尾部的括号年份;仅当存在可独立渲染的
年份时才剥离,避免丢失只存在于专辑名中的年份信息。
2026-08-19 17:26:35 +08:00
jxxghp 8f81492e99 fix: 修复站点批量导入报错(重复方法覆盖导致异步调用失效) 2026-08-18 17:10:14 +08:00
jxxghp c2a27f7c71 refactor: 收口订阅与插件应用边界 2026-08-18 13:54:17 +08:00
jxxghp 8472bcff43 refactor: 收口 V3 分层架构与插件兼容边界 2026-08-18 13:22:02 +08:00
jxxghp 5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
InfinityPacer ca99af10f1 fix(auth): preserve bcrypt password compatibility (#6339) 2026-08-17 06:13:18 +08:00
jxxghp 54f093a099 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	app/api/endpoints/agent.py
#	app/api/endpoints/anthropic.py
#	app/api/endpoints/openai.py
#	app/chain/__init__.py
#	app/chain/message.py
#	app/chain/site.py
#	app/chain/subscribe.py
#	app/chain/transfer.py
#	app/modules/discord/__init__.py
#	app/modules/qqbot/__init__.py
#	app/modules/slack/__init__.py
#	app/modules/telegram/__init__.py
#	app/modules/wechat/__init__.py
#	app/runtime/extensions/module_manager.py
#	app/runtime/extensions/service_registry.py
#	tests/test_agent_interaction.py
#	tests/test_slash_command_interactions.py
#	tests/test_web_agent_stream.py
2026-08-16 19:44:43 +08:00
jxxghp 240a4dffe6 refactor(schemas): 统一 message/notification 命名边界,旧名收敛至兼容映射表
- notification 域:渠道能力(MessageChannel→NotificationChannel、ChannelCapability* 迁入 notification.py)
- message 域:消息收发(Notification→Message、NotificationType→MessageType、CommingMessage→IncomingMessage、NotificationHistoryItem→MessageHistoryItem、NotificationClear*→MessageClear*)
- Agent 工具契约:send_notification_message→send_message、notification_callback→message_callback
- 源码不保留旧名物理别名,旧导入经 app/runtime/compat/manifest.py SYMBOL_ALIASES 惰性解析
- API 路径与持久化键冻结不变,前端零改动
- 新增兼容守护测试与 docs/rules/07 命名边界规范
2026-08-16 19:32:20 +08:00
InfinityPacer 5b367011c5 refactor(agent): 按需加载 Agent 运行时 (#6336) 2026-08-16 19:25:24 +08:00
jxxghp 5810f6bc2b refactor(application): filter_rules.py 更名 rules.py 并合并 RuleHelper
规则域收敛为单一事实来源 app/application/rules.py:
- filter_rules.py 更名为 rules.py(内置规则集 + RuleParser)
- filter.py 仅含 66 行 RuleHelper(用户规则组配置访问),并入 rules.py
- 同步更新 5 处引用方导入、nettest stub 目标与架构文档
- 兼容映射 app.helper.rule 指向新路径,legacy 导入仍可用
2026-08-16 17:13:51 +08:00
jxxghp 7e851dbfa7 refactor(chain): 处理链功能域 mixin 化,清理未使用导入并根治兼容层循环导入
- ChainBase 拆分为 RecognitionMixin/MessageProcessingMixin/NotificationMixin
- TransferChain 拆分为 7 个功能 mixin(_mixins.py),SubscribeChain 音乐订阅域拆出 _music.py
- 斜杠命令交互四件套收敛为 InteractionChainMixin 委托,会话管理器移至 application 层,chain 层不再 re-export
- 模块基础类收敛到 app/modules/_base(notification/mediaserver 语义重命名)
- 清理 app/chain/__init__.py 24 个未使用导入,修正 49 处测试 patch 目标到实际命名空间
- 兼容层 legacy 符号不再并入 __all__,根治 schemas 初始化反向拉起 application.transfer 的循环导入
- 修复 bangumi 集数为字符串时 set_bangumi_info 抛 TypeError
- 新增重复代码等架构门禁测试;capability 清单校验排除下划线内部目录
2026-08-16 16:30:16 +08:00
jxxghp 02f0dd0b9a refactor(architecture): 修复模块依赖违规并强化架构守护
- 字幕编排上移 DownloadChain.download_site_subtitles,SubtitleModule 仅保留站点链接解析
- TransferChain.recommend_name 上移 TV episodes_info 获取,filemanager 模块不再导入 TmdbChain
- endpoint 穿透修复:WXBizMsgCrypt3 迁至 adapters/external/wechat_crypt.py;
  music/tmdb 缓存管理、listenbrainz 常量、TMDbException、WechatClawBot 辅助统一经 chain 包装
- RuleParser 与 builtin_rules 合并为 application/filter_rules.py;
  fsproxy/fsworker 迁至 adapters/system/
- chain/__init__.py 删除 qbittorrentapi/transmission_rpc 导入,消除后端协议类型泄漏
- 架构守护测试新增三项检查:模块间隔离、入口层穿透、下载器 SDK 泄漏
- 文档同步:05-architecture.md 记录 DB/Oper 聚合例外与迁移文件位置,AGENTS.md 更新所有权表
2026-08-16 04:59:17 +08:00