jxxghp
6d4ce83837
fix(types): clear host mypy debt and prevent typing regressions
...
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。
修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
DDSRem
e0642eafa7
chore(types): reduce v3 host mypy debt ( #7057 )
...
* chore(types): clear AniList endpoint mypy debt
* chore(types): clear Douban endpoint mypy debt
* chore(types): clear recommendation endpoint mypy debt
* chore(types): clear subscription notification mypy debt
* chore(types): clear SDK string compatibility mypy debt
* chore(types): ratchet v3 host mypy across remaining files
* chore(types): reduce v3 host mypy debt and retire ledger
* chore(types): reconcile host snapshot with upstream HTTP pool
* test(types): cover host paths exposed by mypy cleanup
2026-10-18 09:37:49 +08:00
DDSRem
2de976f6b3
Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
...
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
cdb8d9df71
fix(api): sync v3 and complete agent media type compatibility
2026-10-10 12:22:57 +08:00
pavel2
0d62815a0f
fix(api): accept agent media type values
...
9 处裸构造 MediaType(x) 改为 MediaType.from_agent(x) or MediaType(x),与 search.py/site.py 既有写法一致。智能体按 API 入参规约传入 movie/tv/music 时不再抛 ValueError 返回 500,中文原生枚举值仍走原分支,无行为变化。
涉及:media.py detail、tmdb.py(3)、douban.py(2)、mediaserver.py not_exists、subscribe.py create_subscribe、transfer.py _execute_manual_transfer。
2026-10-10 09:56:47 +08:00
jxxghp
d512f528be
refactor(api): make collection pagination explicit
2026-09-01 09:13:56 +08:00
InfinityPacer
6ee4779562
fix(discover): 统一 V3 发现推荐分页
2026-08-31 12:16:11 +08:00
jxxghp
b914e8b6e4
refactor: strengthen architecture CI gates and runtime contracts
2026-08-25 17:02:29 +08:00
jxxghp
996a1a0705
refactor: expand api and chain config snapshots
2026-08-22 13:22:33 +08:00
jxxghp
9df599f502
refactor: split api dependencies by domain
2026-08-21 21:09:57 +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
jxxghp
4345fcfa22
refactor(chain): chain 与 module 仅经 run_module 契约互联,实现模块内容封闭
...
- mTorrent 字幕链接解析下沉为 IndexerModule.site_subtitle_links,subtitle 模块自行跳过 API 站点
- TMDB/MusicBrainz 识别缓存管理改为模块方法(tmdb_cache_*/music_cache_*)经 run_module 分发
- WechatClawBot 客户端查找/临时客户端/缓存迁移内聚为 wechatclawbot_* 模块方法,
chain 移除 WechatClawBot 类与 ModuleManager 内省
- LISTENBRAINZ_* 常量迁至 schemas/types.py,模块与链层再导入保持兼容
- TMDbException 升为 schemas/exception.py 跨层契约,vendored 异常保持类身份一致
- 架构守护测试新增 test_chain_does_not_import_module_internals(共 18 项)
- 文档同步:chain->module 仅允许 run_module 分发,直接导入禁止
2026-08-16 05:25:28 +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
Aqr-K
8a11214a43
refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 ( #6320 )
2026-08-15 06:58:38 +08:00
jxxghp
369d7d6448
refactor: reorganize backend module boundaries
2026-08-14 19:53:33 +08:00
jxxghp
7b3444c366
refactor backend module architecture
2026-08-14 15:45:38 +08:00
jxxghp
baf8850d63
refactor(api): standardize responses and restore media config contracts
2026-08-12 23:15:13 +08:00
jxxghp
a23fce1491
feat: 统计共享媒体识别命中次数
2026-07-30 17:50:16 +08:00
jxxghp
29068a5846
feat: 支持 TheMovieDb 识别缓存管理
2026-07-13 09:48:08 +08:00
DDSRem
5a585839ba
chore: remove unused imports and fix function name conflicts ( #5764 )
...
- Remove unused imports in anthropic.py, tmdbv3api/__init__.py, tv.py, test files
- Rename conflicting function names in subscribe.py and webhook.py
- Clean up unused re-exports in tmdbv3api/__init__.py (15 unused exports)
- Apply consistent formatting across API endpoints
2026-05-13 18:59:03 +08:00
jxxghp
ceda69aedd
add async apis
2025-07-31 09:15:38 +08:00
jxxghp
078b60cc1e
feat:支持指定剧集组识别和刮削
2025-04-03 18:35:02 +08:00
jxxghp
22b69f7dac
fix blanke
2025-03-23 22:35:37 +08:00
jxxghp
f9b0db623d
fix cython type error
2025-03-23 21:39:37 +08:00
jxxghp
f06c24c23e
refactor apis
2025-02-08 21:47:43 +08:00
jxxghp
2ed9cfcc9a
fix api
2025-01-27 17:08:22 +08:00
jxxghp
2e796f41cb
fix api
2025-01-27 13:45:57 +08:00
jxxghp
7d13e43c6f
fix apis
2025-01-27 11:09:05 +08:00
jxxghp
adeb5361ab
feat:支持搜索系列合集
2025-01-16 17:51:47 +08:00
InfinityPacer
3339bbca50
feat(recommend): switch API calls to use RecommendChain
2024-12-22 01:27:11 +08:00
jxxghp
25e5f7a9f6
fix tmdb apis
2024-04-27 21:56:27 +08:00
jxxghp
7a37078e90
feat:媒体信息聚合
2024-04-27 15:20:46 +08:00
jxxghp
2a9a36ac88
feat 辅助识别异步接口 && ChatGPT插件支持辅助名称识别
2023-10-12 11:41:57 +08:00
jxxghp
da93328d50
fix 数据库会话管理
2023-08-16 10:22:45 +08:00
jxxghp
f461a5d5d2
fix api
2023-08-08 08:33:59 +08:00
jxxghp
00387ec334
fix api
2023-07-30 12:21:23 +08:00
jxxghp
df05c46a5b
fix api
2023-07-30 11:13:53 +08:00
jxxghp
4ab54b7672
add tmdb person api
2023-07-30 08:40:30 +08:00
jxxghp
f6978b916b
add tmdb person api
2023-07-30 08:26:06 +08:00
jxxghp
891eaf2c12
fix api
2023-07-29 15:07:01 +08:00
jxxghp
d76fe5c039
fix tmdbapis
2023-07-29 13:09:36 +08:00
jxxghp
7f029d7389
remove async
2023-07-09 11:51:29 +08:00
jxxghp
39165a92f0
fix MediaType
2023-07-07 15:41:53 +08:00
jxxghp
609c820584
fix api order
2023-07-04 19:23:29 +08:00
jxxghp
314e72b78d
add tmdb apis
2023-07-04 17:13:43 +08:00
jxxghp
0776a0b235
feat 支持Emby/Jellyfin登录认证
2023-06-20 13:09:11 +08:00
jxxghp
5f48d9d4a2
fix api
2023-06-19 15:44:24 +08:00
jxxghp
6417659f14
fix apis
2023-06-19 13:33:30 +08:00
jxxghp
6d4b1eed77
fix apis
2023-06-19 13:03:12 +08:00