feat: release 2.3.0 with workspace plugin extensions

This commit is contained in:
chenmingxuan committed 2026-10-27 21:38:43 +08:00
1 parent 8380057548
commit bb873ec0e0
44 files changed
+1497 -48

No files matched your search

+5
View File
@@ -105,6 +105,7 @@ class PluginStore:
if not existing:
profile = PluginProfile(
is_default=True,
authorized=manifest.server is None and manifest.skill is None,
values={k: v.default for k, v in manifest.config.items() if not v.secret},
)
db.execute(
@@ -236,6 +237,8 @@ class PluginStore:
def selections(self, target: str = "mixed") -> list[PluginSelection]:
selections = []
for plugin in self.list():
if not plugin["manifest"].get("server") and not plugin["manifest"].get("skill"):
continue
if not plugin["enabled"] or not self._supports_task(
plugin["manifest"].get("targets", ["mixed"]), target
):
@@ -264,6 +267,8 @@ class PluginStore:
pinned = []
for choice in self.selections(target) if selections is None else selections:
manifest, profile, _ = self.resolve(choice)
if manifest.server is None and manifest.skill is None:
raise ValueError(f"插件 {manifest.name} 是工作区扩展,无需加入执行任务")
if not self._supports_task(manifest.targets, target):
raise ValueError(f"插件 {manifest.name} 不支持 {target} 任务")
pinned.append(