fix(plugins): preserve shipped SDK and lifecycle state (#113101)

* fix(plugins): restore shipped channel compatibility

* docs(plugins): record shipped channel compatibility

* test(plugin-sdk): budget shipped channel compatibility

* docs(plugin-sdk): track shipped channel compat window

* test(plugins): align shipped compat guardrails
This commit is contained in:
Peter Steinberger
2026-07-23 12:30:54 -07:00
committed by GitHub
parent e567a5ffa0
commit 73d279c232
17 changed files with 566 additions and 31 deletions
+16 -16
View File
@@ -303,27 +303,27 @@ export async function runPluginsInstallAction(
export async function runPluginsRegistryCommand(opts: PluginRegistryOptions): Promise<void> {
const { inspectPluginRegistry, refreshPluginRegistry } =
await import("../plugins/plugin-registry.js");
const cfg = getRuntimeConfig();
if (opts.refresh) {
const index = await refreshPluginRegistry({
config: cfg,
reason: "manual",
});
if (opts.json) {
defaultRuntime.writeJson({
refreshed: true,
registry: index,
return await withPluginLifecycleLease({}, async () => {
const index = await refreshPluginRegistry({
config: getRuntimeConfig(),
reason: "manual",
});
return;
}
const total = index.plugins.length;
const enabled = countEnabledPlugins(index.plugins);
defaultRuntime.log(`Plugin registry refreshed: ${enabled}/${total} enabled plugins indexed.`);
return;
if (opts.json) {
defaultRuntime.writeJson({
refreshed: true,
registry: index,
});
return;
}
const total = index.plugins.length;
const enabled = countEnabledPlugins(index.plugins);
defaultRuntime.log(`Plugin registry refreshed: ${enabled}/${total} enabled plugins indexed.`);
});
}
const inspection = await inspectPluginRegistry({ config: cfg });
const inspection = await inspectPluginRegistry({ config: getRuntimeConfig() });
if (opts.json) {
defaultRuntime.writeJson({
state: inspection.state,