feat: release 2.3.0 with workspace plugin extensions
This commit is contained in:
1 parent
8380057548
commit
bb873ec0e0
44 files changed
+1497
-48
No files matched your search
@@ -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(
|
||||
|
||||
Reference in new issue
Block a user