mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 11:55:47 -06:00
fix(plugin-sdk): keep published pre-split plugin imports loading after upgrade (#124086)
* fix(plugin-sdk): keep published pre-split plugin imports loading after upgrade Same bug class as #124041: published plugin artifacts import SDK names at module top level, so removing them from the barrel makes the installed plugin fail to load (voice-call/matrix doctor contracts silently never run their migrations; whatsapp and slack channels fail outright) after a core upgrade. Verified against the actual npm tarballs (2026.7.2-beta.7): - openclaw/plugin-sdk/runtime-doctor: voice-call + matrix doctor contracts import repair names (archiveLegacyStateSource, detect/repair state DB schema, plugin install-path repair, removePluginFromConfig, createPluginStateSyncKeyedStore) that moved to doctor-repair-runtime. - openclaw/plugin-sdk/channel-feedback: whatsapp imports shouldAckReactionForWhatsApp (owner policy moved in-plugin by #121257). - openclaw/plugin-sdk/channel-outbound: slack imports resolveChannelProgressDraftRender (render key retired by #122927). Adds deprecated load-only bridges with named removal windows, bumps the SDK surface budgets with comments, and locks behavior with unit tests plus a loader fixture that fails without the bridges. * test(plugin-sdk): cover the repair bridge in the runtime-doctor facade surface lock
This commit is contained in:
committed by
GitHub
parent
f4871eb86b
commit
c83c3bc3a9
@@ -157,7 +157,12 @@ const defaultPublicDeprecatedExportsByEntrypointBudget = Object.freeze({
|
||||
"channel-lifecycle": 23,
|
||||
// +1: shared ingress error factory projected through the deprecated message barrel.
|
||||
// +1: shared ingress retention defaults projected through the deprecated message barrel.
|
||||
"channel-message": 131,
|
||||
// +1: WhatsApp ack-policy bridge counted via channel-message's wildcard re-export.
|
||||
"channel-message": 132,
|
||||
// +2: Slack progress-draft render bridge (function + mode type).
|
||||
"channel-outbound": 2,
|
||||
// +2: WhatsApp ack-policy bridge (function + mode type).
|
||||
"channel-feedback": 2,
|
||||
"channel-pairing": 0,
|
||||
"channel-policy": 7,
|
||||
"channel-send-result": 1,
|
||||
@@ -276,7 +281,10 @@ export function readPluginSdkSurfaceBudgets(env: NodeJS.ProcessEnv = process.env
|
||||
// +11: Computer Use schemas/types plus parsers, compiler, and provider registration.
|
||||
// +6: Computer Use v2 action, result, and capability contracts.
|
||||
// +1: opaque channel participant evidence preservation without mint authority.
|
||||
4324,
|
||||
// +6: load-only bridges for published pre-split plugin artifacts
|
||||
// (voice-call/matrix runtime-doctor repair names, WhatsApp ack policy,
|
||||
// Slack progress-draft render) so installed plugins survive upgrade (#124041 class).
|
||||
4330,
|
||||
env,
|
||||
),
|
||||
publicFunctionExports: readPluginSdkSurfaceBudgetEnv(
|
||||
@@ -346,7 +354,10 @@ export function readPluginSdkSurfaceBudgets(env: NodeJS.ProcessEnv = process.env
|
||||
// -2: retire the dead progress-draft render reader; it counted twice via
|
||||
// channel-outbound and channel-message's wildcard re-export of it.
|
||||
// +4: Computer Use wire parsers, validator compiler, and provider registration.
|
||||
2574,
|
||||
// +3: load-only bridges for published pre-split plugin artifacts
|
||||
// (voice-call/matrix runtime-doctor repair names, WhatsApp ack policy,
|
||||
// Slack progress-draft render) so installed plugins survive upgrade (#124041 class).
|
||||
2577,
|
||||
env,
|
||||
),
|
||||
publicDeprecatedExports: readPluginSdkSurfaceBudgetEnv(
|
||||
@@ -362,7 +373,10 @@ export function readPluginSdkSurfaceBudgets(env: NodeJS.ProcessEnv = process.env
|
||||
// +7: restore still-existing deprecated inbound-dispatch compatibility re-exports.
|
||||
// +6: source-compatible harness contracts retained during the V2 migration window.
|
||||
// +4: shipped default-agent resolver projections retained during explicit-owner migration.
|
||||
1146,
|
||||
// +5: load-only bridges for published pre-split plugin artifacts
|
||||
// (voice-call/matrix runtime-doctor repair names, WhatsApp ack policy,
|
||||
// Slack progress-draft render) so installed plugins survive upgrade (#124041 class).
|
||||
1151,
|
||||
env,
|
||||
),
|
||||
publicWildcardReexports: readPluginSdkSurfaceBudgetEnv(
|
||||
|
||||
Reference in New Issue
Block a user