jxxghp
6d4ce83837
fix(types): clear host mypy debt and prevent typing regressions
...
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。
修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
Aqr-K
bf4ef4214e
perf(mediaserver): add caller-controlled query projections ( #7068 )
...
* perf(mediaserver): add caller-controlled query projections
* test(mediaserver): cover query projection option contracts
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-19 08:33:45 +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
f8ffcb75f3
fix(compat): preserve legacy site signatures
2026-10-16 22:23:14 +08:00
jxxghp
13a58be2a6
feat(notifications): render structured results by channel capabilities
2026-10-14 08:05:41 +08:00
InfinityPacer
e97f64e777
feat(plugin): add avatar to agent pet declarations
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 04:08:15 +08:00
InfinityPacer
25aaf3a32b
feat(plugin): add agent pet extension contract
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 04:08:15 +08:00
freeman
f3ad81b39e
style: apply safe ruff auto-fixes and exempt startup late imports
...
Run `ruff check app tests scripts --fix` with the configured rule set
(E4/E7/E9/F/I): import sorting (I001), f-strings without placeholders
(F541), lambda/variable/unused-import cleanups that ruff marks safe.
Nine files whose only ruff debt sits next to pre-existing pylint
import-resolution errors (lazy exports, sys.path script imports) or
whose "unused" imports are reached through attribute access by tests are
left untouched so the changed-file pylint gate and the benchmark tests
stay green; their diagnostics remain in the baseline.
app/startup/lifecycle/__init__.py and app/main.py import business
modules after cache composition, import-path and stdio setup on purpose
(the source comments document the contract), so declare E402
per-file-ignores for them instead of adding per-line noqa.
Ruff ratchet watermark drops from 498 to 100; sync the baseline fixture
and the optimization checklist figure.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-10-09 13:29:09 +08:00
InfinityPacer
4847813ca7
feat(sdk): expose Feishu event long connection to plugins
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-30 15:39:30 +08:00
InfinityPacer
810ee2896f
perf(startup): compose redis cache and agent memory only when used
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-29 20:07:34 +08:00
InfinityPacer
b387484395
feat(scheduler): add plugin one-shot job API to host scheduler
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-29 18:03:49 +08:00
Aqr-K
61aa3cd649
refactor(sdk): 插件契约基类迁入 SDK 并由 Compat 承接旧包根符号 ( #6701 )
2026-09-15 07:01:00 +08:00
jxxghp
17eaf47c34
refactor(music)!: remove Musixmatch and expose lyrics plugin types
...
BREAKING CHANGE: remove the Musixmatch module and settings without migration. Lyrics providers can use the public music candidate SDK and existing plugin module hook.
2026-09-09 23:04:20 +08:00
jxxghp
71147c1d96
feat(classification): support multi-source media rules
2026-09-03 11:51:18 +08:00
Aqr-K
626d8217ba
feat(plugin): 开放插件自有数据库声明与句柄接口
...
_PluginBase 新增 get_database_models()/get_database_migrations() 声明钩子
与 get_database() 句柄入口,按类名(含分身)解析插件标识;
app/sdk/database.py 导出 plugin_declarative_base 与 PluginDatabaseHandle。
docs/rules/10-data-and-persistent.md 补充 Plugin-Owned Databases 小节,
说明 db_query/db_update 的自动兜底仍绑定宿主会话、需显式传入插件会话。
2026-09-02 02:14:19 -04:00
InfinityPacer
e9313c6644
feat(sdk): expose custom separator configuration
2026-08-31 18:00:27 +08:00
jxxghp
0c05956814
refactor(architecture): enforce module naming policy
2026-08-29 22:17:17 +08:00
jxxghp
8460e72c42
refactor(scheduler): split runtime owners and preserve plugin ABI
2026-08-28 23:17:45 +08:00
jxxghp
2fe39d856c
refactor(architecture): invert application adapter boundaries
2026-08-28 18:45:47 +08:00
jxxghp
7a10964526
refactor(subscription): close typed persistence boundary
2026-08-28 13:56:42 +08:00
jxxghp
c656da1e28
refactor(site): close typed persistence boundary
2026-08-28 12:37:30 +08:00
jxxghp
017fecabd6
refactor(history): close transfer history boundary
2026-08-28 11:57:38 +08:00
jxxghp
aa8751f775
refactor: close transactional boundary debt batch
2026-08-28 10:36:12 +08:00
jxxghp
0a2726d372
Merge origin/v3 into codex/feat/plugin-data-query-sdk-v3
2026-08-28 06:57:20 +08:00
jxxghp
17d8be2af2
refactor(workflow): isolate legacy execution writes
2026-08-28 02:10:40 +08:00
InfinityPacer
7657618f08
Merge upstream/v3 into codex/feat/plugin-data-query-sdk-v3
2026-08-28 00:43:57 +08:00
InfinityPacer
9575a523e8
refactor(sdk): isolate plugin query persistence
2026-08-28 00:15:46 +08:00
jxxghp
e9de149dbf
refactor(transfer): complete durable recovery state machine
2026-08-28 00:03:36 +08:00
InfinityPacer
6bae137d25
refactor(sdk): isolate plugin query snapshots
2026-08-27 23:41:54 +08:00
InfinityPacer
7fa03650bd
feat(sdk): add unified plugin data queries
2026-08-27 23:41:54 +08:00
jxxghp
f134e068e7
refactor: normalize capability module paths
2026-08-27 22:20:38 +08:00
jxxghp
e82ce8447c
refactor: complete durable transfer execution settlement
2026-08-27 20:27:42 +08:00
jxxghp
a62c541ec0
refactor: add fenced transfer recovery leases
2026-08-27 14:39:38 +08:00
jxxghp
9dbe424c3d
refactor(config): retire RuntimeSettingsCompat host usage
2026-08-26 15:55:21 +08:00
jxxghp
3ba4027d84
feat(events): expose typed payload snapshots
2026-08-25 22:32:33 +08:00
InfinityPacer
326b5cf3ad
feat: 新增 Python 3.14t 自由线程镜像 ( #6434 )
...
* fix(resource): select free-threaded extension ABI
* chore(deps): require moviepilot-rust 0.2.9
* perf: add free-threaded runtime comparison
* feat: add free-threaded runtime profile
* chore(deps): require moviepilot-rust 0.3.0
* test: isolate system endpoint import graph
* fix(docker): preserve runtime profile during recovery
* feat(runtime): expose active GIL state
* feat(plugin): log GIL fallback attribution
* test: refresh runtime observability dependency baseline
* fix(plugin): validate the active uv runtime profile
* test(runtime): expand free-threaded benchmark evidence
* docs(runtime): define v3t governance gates
* test(runtime): separate rust benchmark modes
* docs: sync free-threaded architecture baseline
* perf: add PostgreSQL driver comparison
* docs(runtime): record final free-threaded evidence
* fix(runtime): converge dual-profile dependency verification
* fix(runtime): scope Python 3.14 warning filter
* fix(runtime): match actual oss2 syntax warning
* docs(runtime): refresh free-threaded benchmark evidence
* test(architecture): refresh runtime dependency baseline
* ci: skip unused Trivy Java database
* build: exclude local verification artifacts
* docs(runtime): refresh PostgreSQL driver benchmarks
* docs(runtime): record plugin restore acceptance
* docs(runtime): record amd64 candidate acceptance
* ci: pin beta image publisher action
* test(architecture): merge runtime dependency baseline
* feat(runtime): expose Python GIL status
* docs(runtime): document Python runtime status fields
2026-08-24 17:48:14 +08:00
jxxghp
6e69258e3c
refactor: make model sessions explicit
2026-08-23 23:33:07 +08:00
jxxghp
9f3be0ea4b
refactor: restore architecture governance gates
2026-08-23 20:17:28 +08:00
jxxghp
97d2dcd7fb
fix(ci): align architecture and pylint gates
2026-08-22 08:50:25 +08:00
InfinityPacer
f700db5ac8
feat(database): add managed backup and offline restore ( #6359 )
2026-08-19 17:34:32 +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
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
InfinityPacer
b8b59ae20a
refactor(runtime): activate managed resources on demand ( #6334 )
2026-08-16 16:44:45 +08:00
jxxghp
96118e73e7
refactor(string): split utilities by responsibility
2026-08-15 08:03:55 +08:00
jxxghp
a2117bafc8
fix(compat): preserve legacy plugin imports
2026-08-15 07:15:03 +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