From 200443e1b34d19259a674da797753003246e07a5 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 1 May 2026 01:33:32 -0700 Subject: [PATCH] test(e2e): skip lazy tool catalog probes --- .../runtime-smoke.mjs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs b/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs index 73071e79fd8..c5b3ab2062f 100644 --- a/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs +++ b/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs @@ -98,17 +98,16 @@ function buildPluginPlan(manifest) { manifest.activation?.onStartup === undefined && channels.length === 0 && !hasRuntimeContractSurface; - const commandAliasesActiveInThisProbe = + const activeInThisProbe = manifest.activation?.onStartup === true || legacyImplicitStartupSidecar || channels.length > 0 || - speechProviders.length > 0 || - tools.length > 0; + speechProviders.length > 0; return { channels, speechProviders, tools, - commandAliasesActiveInThisProbe, + activeInThisProbe, runtimeSlashAliases: commandAliases .filter((alias) => alias?.kind === "runtime-slash") .map((alias) => alias?.name) @@ -347,7 +346,7 @@ async function runManifestProbes(plan, options) { const status = await rpcCall("channels.status", { probe: false, timeoutMs: 2000 }, options); assertChannelVisible(status, channel); } - if (plan.runtimeSlashAliases.length > 0 && plan.commandAliasesActiveInThisProbe) { + if (plan.runtimeSlashAliases.length > 0 && plan.activeInThisProbe) { const commands = await rpcCall("commands.list", { scope: "both", includeArgs: true }, options); for (const alias of plan.runtimeSlashAliases) { assertCommandVisible(commands, alias); @@ -357,11 +356,15 @@ async function runManifestProbes(plan, options) { `Runtime slash command smoke skipped for ${options.pluginId}: plugin is lazy in this probe`, ); } - if (plan.tools.length > 0) { + if (plan.tools.length > 0 && plan.activeInThisProbe) { const catalog = await rpcCall("tools.catalog", { includePlugins: true }, options); for (const tool of plan.tools) { assertToolVisible(catalog, tool); } + } else if (plan.tools.length > 0) { + console.log( + `Runtime tool catalog smoke skipped for ${options.pluginId}: plugin is lazy in this probe`, + ); } if (plan.speechProviders.length > 0) { const providers = await rpcCall("tts.providers", {}, options);