






















@@ -98,17 +98,16 @@ function buildPluginPlan(manifest) {
9898manifest.activation?.onStartup === undefined &&
9999channels.length === 0 &&
100100!hasRuntimeContractSurface;
101-const commandAliasesActiveInThisProbe =
101+const activeInThisProbe =
102102manifest.activation?.onStartup === true ||
103103legacyImplicitStartupSidecar ||
104104channels.length > 0 ||
105-speechProviders.length > 0 ||
106-tools.length > 0;
105+speechProviders.length > 0;
107106return {
108107 channels,
109108 speechProviders,
110109 tools,
111-commandAliasesActiveInThisProbe,
110+activeInThisProbe,
112111runtimeSlashAliases: commandAliases
113112.filter((alias) => alias?.kind === "runtime-slash")
114113.map((alias) => alias?.name)
@@ -347,7 +346,7 @@ async function runManifestProbes(plan, options) {
347346const status = await rpcCall("channels.status", { probe: false, timeoutMs: 2000 }, options);
348347assertChannelVisible(status, channel);
349348}
350-if (plan.runtimeSlashAliases.length > 0 && plan.commandAliasesActiveInThisProbe) {
349+if (plan.runtimeSlashAliases.length > 0 && plan.activeInThisProbe) {
351350const commands = await rpcCall("commands.list", { scope: "both", includeArgs: true }, options);
352351for (const alias of plan.runtimeSlashAliases) {
353352assertCommandVisible(commands, alias);
@@ -357,11 +356,15 @@ async function runManifestProbes(plan, options) {
357356`Runtime slash command smoke skipped for ${options.pluginId}: plugin is lazy in this probe`,
358357);
359358}
360-if (plan.tools.length > 0) {
359+if (plan.tools.length > 0 && plan.activeInThisProbe) {
361360const catalog = await rpcCall("tools.catalog", { includePlugins: true }, options);
362361for (const tool of plan.tools) {
363362assertToolVisible(catalog, tool);
364363}
364+} else if (plan.tools.length > 0) {
365+console.log(
366+`Runtime tool catalog smoke skipped for ${options.pluginId}: plugin is lazy in this probe`,
367+);
365368}
366369if (plan.speechProviders.length > 0) {
367370const providers = await rpcCall("tts.providers", {}, options);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。