161 Commits

Author SHA1 Message Date
jxxghp
d9afaba8dd feat(plugin): expose documentation before installation (#7222) 2026-10-27 21:37:00 +08:00
Aqr-K
6610a8c008 fix: retain plugin lifecycle ownership and recover installation state (#7146)
* fix: retain plugin lifecycle ownership and recover installation state

* test: cover plugin rollback and uninstall lifecycle boundaries

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 07:44:07 +08:00
jxxghp
6d4ce83837 fix(types): clear host mypy debt and prevent typing regressions
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。

修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
DDSRem
2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
a69471cb84 refactor(types): align plugin with typed route contracts 2026-10-17 02:59:58 +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
InfinityPacer
19e062c178 feat(plugin): attribute free-threaded GIL fallback to plugins (#6767)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:12:02 +08:00
InfinityPacer
0238351071 fix(plugin): v3t 下不再隐藏不兼容插件,改为提示不支持 (#6760)
* feat(plugin): surface v3t incompatibility instead of hiding plugins

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* chore(architecture): refresh dependency baseline after plugin gate split

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(plugin): keep runtime-incompatible plugins out of startup sync

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(plugin): annotate runtime compatibility ports without bare dict

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 00:35:20 +08:00
moviepilot-codex[bot]
c0f7141e26 fix(plugin): invalidate federation static resource cache (#6748) 2026-09-21 16:24:38 +08:00
Aqr-K
57fb96fc3c feat(plugin): 分身后缀可留空自动分配,并支持按后缀恢复已停用的分身 (#6673) 2026-09-14 07:00:31 +08:00
Aqr-K
d44480d739 Merge pull request #6666 from Aqr-K/feat/plugin-instance-target-enablement
feat(plugin): 插件实例默认调用目标与启停,未指定实例时不再兜底取第一个
2026-09-13 16:37:27 +08:00
InfinityPacer
747f9f921f fix(plugin): prioritize local plugin sources 2026-09-12 19:11:08 +08:00
jxxghp
0ed64d9380 fix(api): flatten split endpoint routes 2026-09-05 16:17:36 +08:00
jxxghp
e656793aa5 refactor(api): split management endpoint routers 2026-09-05 16:05:27 +08:00
jxxghp
f00853de2a feat(api): expose frontend-safe management capabilities 2026-09-05 15:11:02 +08:00
jxxghp
5a8380525d fix(api): keep plugin endpoint within complexity budget 2026-09-04 10:53:08 +08:00
jxxghp
adae5bd878 fix(api): restore full plugin catalog by default 2026-09-04 10:47:02 +08:00
Aqr-K
a4d38e0f12 fix(plugin): 卸载先停后删、销毁全程持锁,PostgreSQL 会话按插件 schema 解析原生 SQL
卸载编排改为先停插件再删数据:插件的停机钩子取一次自有库句柄就能把刚删除的数据重新
建出来,注册表因此不再需要销毁墓碑,release 恢复为「只释放连接、保留数据」的单一语义。
停止同时注销插件类,其后的删除一律按 force 执行。

destroy_database 的摘句柄、关连接与删载体全部收进同一把锁:原先在锁外删除载体,并发的
get_database 能在间隙注册一个指向同一载体的新句柄,随后的删除会把它一并抹掉。

PostgreSQL 句柄在派生引擎上注册 begin 监听器,按事务执行 SET LOCAL search_path,让
schema_translate_map 覆盖不到的原生 SQL 同样解析到插件自己的 schema;监听器只挂在
OptionEngine 上,宿主引擎与其它插件的连接不受影响。
2026-09-02 02:14:19 -04:00
jxxghp
d512f528be refactor(api): make collection pagination explicit 2026-09-01 09:13:56 +08:00
jxxghp
33a73f6de1 refactor(agent): stay within complexity budget 2026-09-01 07:58:12 +08:00
jxxghp
a73714e5e7 feat(agent): add compatible collection pagination 2026-09-01 07:43:55 +08:00
jxxghp
28298c485c fix: keep plugin endpoint within complexity budget 2026-09-01 01:29:15 +08:00
jxxghp
6d4d7331d1 refactor: complete agent skill API contracts 2026-09-01 01:19:45 +08:00
jxxghp
ec1a878a32 fix(agent): auto-load gateway skill before API calls 2026-08-31 18:42:25 +08:00
jxxghp
fecb458302 fix(ci): restore architecture and coverage gates 2026-08-31 17:52:12 +08:00
jxxghp
fdba2c7d64 refactor(agent): unify tools behind API gateway and provider skills 2026-08-31 16:57:54 +08:00
jxxghp
fa40f29dfd refactor(plugin): converge runtime ownership and compatibility 2026-08-29 12:55:52 +08:00
jxxghp
f38637dcea refactor(api): move host orchestration into application services 2026-08-29 10:27:57 +08:00
jxxghp
18c21b61b7 fix(plugin): preserve typed compatible history lookup 2026-08-29 09:25:18 +08:00
jxxghp
daf67dc71a fix(plugin): restore compatible history lookup 2026-08-29 08:47:25 +08:00
InfinityPacer
92066dfad4 feat: 完成插件原生依赖重启激活闭环 (#6491)
* feat(plugins): track native dependency activation

* fix(plugins): finalize native restart state lifecycle
2026-08-29 02:10:50 +08:00
InfinityPacer
011ebfbe5f fix: 协调本地插件与绑定仓库的版本选择 (#6482)
* fix(plugin): reconcile local and bound payload versions

* fix(plugin): preserve bound source on updates

* fix(plugin): normalize source reconciliation ids

* fix(plugin): defer local payload activation

* fix(plugin): centralize startup source admission

* fix(plugin): derive sync mode from admitted source
2026-08-27 20:03:30 +08:00
InfinityPacer
627775c090 fix(plugin): 按绑定仓库保留更新候选 (#6474)
* fix(plugin): preserve repository update candidates

* chore(ci): sync architecture ratchet baselines

* chore(ci): align canonical coverage baseline

* chore(ci): align coverage ratchet baseline
2026-08-27 06:56:33 +08:00
InfinityPacer
d24c52ea97 fix(plugin): 按绑定仓库处理插件更新 (#6472) 2026-08-26 21:35:16 +08:00
InfinityPacer
ac2a2b1129 feat(plugin): persist declared metadata snapshots (#6467) 2026-08-26 13:15:12 +08:00
InfinityPacer
71db425c07 feat(plugin): 建立可信来源准入与安装恢复 (#6462) 2026-08-26 07:52:00 +08:00
jxxghp
b914e8b6e4 refactor: strengthen architecture CI gates and runtime contracts 2026-08-25 17:02:29 +08:00
jxxghp
4dd2d7fed2 refactor: use explicit runtime facade getters 2026-08-24 03:56:54 +08:00
jxxghp
371383f0a8 refactor: unify host threadpool boundary 2026-08-24 03:28:10 +08:00
jxxghp
7f09927c47 refactor: own shutdown lifecycle boundaries 2026-08-23 20:20:26 +08:00
InfinityPacer
c6ffc309d4 fix(persistence): separate retryable rejection errors (#6423) 2026-08-23 20:10:59 +08:00
jxxghp
0459b6a662 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	tests/fixtures/architecture/dependency-baseline.json
2026-08-23 14:57:03 +08:00
InfinityPacer
d2b72f5729 fix(database): decouple worker errors from application 2026-08-23 14:26:42 +08:00
jxxghp
f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
InfinityPacer
fc677a2bba feat(database): bound async configuration writes 2026-08-23 02:29:40 +08:00
InfinityPacer
3d7fb44dc7 refactor(database): isolate configuration transactions 2026-08-23 02:29:22 +08:00
jxxghp
1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp
7b9499fc5b feat(plugin): add virtual plugin instances 2026-08-22 09:40:38 +08:00
jxxghp
9df599f502 refactor: split api dependencies by domain 2026-08-21 21:09:57 +08:00
InfinityPacer
b9bbc8913c fix: 完善插件恢复与运行态收敛 (#6376) 2026-08-21 18:09:29 +08:00