import type { PluginCompatRecord } from "./types.js"; export declare const PLUGIN_COMPAT_RECORDS: readonly [{ readonly code: "legacy-before-agent-start"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-24"; readonly warningStarts: "2026-04-24"; readonly removeAfter: "2026-07-24"; readonly replacement: "`before_model_resolve` and `before_prompt_build` hooks"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["plugin hooks", "plugins inspect", "status diagnostics"]; readonly diagnostics: readonly ["plugin compatibility notice"]; readonly tests: readonly ["src/plugins/status.test.ts", "src/plugins/contracts/shape.contract.test.ts"]; readonly releaseNote: "Legacy `before_agent_start` hook compatibility remains wired while plugins migrate to modern hook stages."; }, { readonly code: "hook-only-plugin-shape"; readonly status: "active"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly replacement: "explicit capability registration"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["plugin shape inspection", "plugins inspect", "status diagnostics"]; readonly diagnostics: readonly ["plugin compatibility notice"]; readonly tests: readonly ["src/plugins/status.test.ts", "src/plugins/contracts/shape.contract.test.ts"]; }, { readonly code: "legacy-root-sdk-import"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-24"; readonly warningStarts: "2026-04-24"; readonly removeAfter: "2026-07-24"; readonly replacement: "focused `openclaw/plugin-sdk/` imports"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk", "openclaw/plugin-sdk/compat"]; readonly diagnostics: readonly ["OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-index.test.ts", "src/plugins/contracts/plugin-sdk-root-alias.test.ts", "src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "hook.before_tool_call.terminal-block-approval"; readonly status: "active"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-29"; readonly docsPath: "/plugins/hooks"; readonly surfaces: readonly ["before_tool_call block result", "before_tool_call approval result"]; readonly diagnostics: readonly ["hook runner contract probe"]; readonly tests: readonly ["src/plugins/hooks.security.test.ts", "src/agents/pi-tools.before-tool-call.e2e.test.ts"]; }, { readonly code: "hook.llm-observer.privacy-payload"; readonly status: "active"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-29"; readonly docsPath: "/plugins/hooks"; readonly surfaces: readonly ["llm_input", "llm_output", "agent_end", "allowConversationAccess"]; readonly diagnostics: readonly ["conversation access hook contract probe"]; readonly tests: readonly ["src/agents/cli-runner.reliability.test.ts", "src/config/schema.help.quality.test.ts"]; }, { readonly code: "api.capture.runtime-registrars"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-29"; readonly docsPath: "/plugins/architecture-internals"; readonly surfaces: readonly ["createCapturedPluginRegistration", "capturePluginRegistration", "OpenClawPluginApi"]; readonly diagnostics: readonly ["runtime registration capture contract probe"]; readonly tests: readonly ["src/plugins/captured-registration.test.ts"]; }, { readonly code: "channel.runtime.envelope-config-metadata"; readonly status: "active"; readonly owner: "channel"; readonly introduced: "2026-04-29"; readonly docsPath: "/plugins/sdk-channel-plugins"; readonly surfaces: readonly ["api.registerChannel", "channel setup metadata", "channel message envelope"]; readonly diagnostics: readonly ["channel runtime contract probe"]; readonly tests: readonly ["src/plugin-sdk/channel-entry-contract.test.ts", "src/plugins/captured-registration.test.ts"]; }, { readonly code: "bundled-channel-sdk-compat-facades"; readonly status: "active"; readonly owner: "sdk"; readonly introduced: "2026-04-28"; readonly replacement: "generic channel SDK subpaths or plugin-local `api.ts` / `runtime-api.ts` barrels for new plugins"; readonly docsPath: "/plugins/sdk-overview"; readonly surfaces: readonly ["openclaw/plugin-sdk/discord component message helpers", "openclaw/plugin-sdk/telegram-account resolveTelegramAccount"]; readonly diagnostics: readonly ["plugin SDK compatibility registry"]; readonly tests: readonly ["src/plugin-sdk/discord.test.ts", "src/plugin-sdk/telegram-account.test.ts", "src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts"]; }, { readonly code: "bundled-channel-config-schema-legacy"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-28"; readonly deprecated: "2026-04-28"; readonly warningStarts: "2026-04-28"; readonly removeAfter: "2026-07-28"; readonly replacement: "`openclaw/plugin-sdk/bundled-channel-config-schema` for maintained bundled plugins; plugin-local schemas for third-party plugins"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/channel-config-schema-legacy"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/config-footprint-guardrails.test.ts", "test/extension-test-boundary.test.ts"]; }, { readonly code: "plugin-sdk-testing-barrel"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-28"; readonly deprecated: "2026-04-28"; readonly warningStarts: "2026-04-28"; readonly removeAfter: "2026-07-28"; readonly replacement: "focused `openclaw/plugin-sdk/*` test subpaths such as `plugin-test-runtime`, `channel-test-helpers`, `test-env`, and `test-fixtures`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/testing"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/compat/registry.test.ts", "scripts/check-no-extension-test-core-imports.ts", "test/extension-test-boundary.test.ts"]; }, { readonly code: "channel-route-key-aliases"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-28"; readonly deprecated: "2026-04-28"; readonly warningStarts: "2026-04-28"; readonly removeAfter: "2026-07-28"; readonly replacement: "`channelRouteDedupeKey` and `channelRouteCompactKey`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/channel-route channelRouteIdentityKey", "openclaw/plugin-sdk/channel-route channelRouteKey"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugin-sdk/channel-route.test.ts", "src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "channel-target-comparable-aliases"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-28"; readonly deprecated: "2026-04-28"; readonly warningStarts: "2026-04-28"; readonly removeAfter: "2026-07-28"; readonly replacement: "`resolveRouteTargetForChannel`, `ChannelRouteParsedTarget`, `channelRouteTargetsMatchExact`, and `channelRouteTargetsShareConversation`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["src/channels/plugins/target-parsing ComparableChannelTarget", "src/channels/plugins/target-parsing resolveComparableTargetForChannel", "src/channels/plugins/target-parsing comparableChannelTargetsMatch", "src/channels/plugins/target-parsing comparableChannelTargetsShareRoute"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/channels/plugins/target-parsing.test.ts", "src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "bundled-plugin-allowlist"; readonly status: "active"; readonly owner: "config"; readonly introduced: "2026-04-24"; readonly replacement: "manifest-owned plugin enablement and scoped load plans"; readonly docsPath: "/plugins/architecture"; readonly surfaces: readonly ["plugins.allow", "bundled provider startup", "plugins status"]; readonly diagnostics: readonly ["plugin status report"]; readonly tests: readonly ["src/plugins/status.test.ts", "src/plugins/config-state.test.ts"]; }, { readonly code: "bundled-plugin-enablement"; readonly status: "active"; readonly owner: "config"; readonly introduced: "2026-04-24"; readonly replacement: "manifest-owned plugin defaults and scoped load plans"; readonly docsPath: "/plugins/architecture"; readonly surfaces: readonly ["plugins.entries", "bundled provider startup", "plugins status"]; readonly diagnostics: readonly ["plugin status report"]; readonly tests: readonly ["src/plugins/status.test.ts", "src/plugins/config-state.test.ts"]; }, { readonly code: "bundled-plugin-vitest-defaults"; readonly status: "active"; readonly owner: "config"; readonly introduced: "2026-04-24"; readonly replacement: "explicit test plugin config fixtures"; readonly docsPath: "/plugins/architecture"; readonly surfaces: readonly ["Vitest plugin defaults", "bundled provider tests"]; readonly diagnostics: readonly ["test-only compatibility path"]; readonly tests: readonly ["src/plugins/config-state.test.ts"]; }, { readonly code: "provider-auth-env-vars"; readonly status: "deprecated"; readonly owner: "setup"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-24"; readonly warningStarts: "2026-04-24"; readonly removeAfter: "2026-07-24"; readonly replacement: "`setup.providers[].envVars` and `providerAuthChoices`"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["openclaw.plugin.json providerAuthEnvVars", "provider setup"]; readonly diagnostics: readonly ["manifest compatibility diagnostic"]; readonly tests: readonly ["src/plugins/setup-registry.test.ts", "src/plugins/provider-auth-choices.test.ts"]; }, { readonly code: "channel-env-vars"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-24"; readonly warningStarts: "2026-04-24"; readonly removeAfter: "2026-07-24"; readonly replacement: "`channelConfigs..schema` and setup descriptors"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["openclaw.plugin.json channelEnvVars", "channel setup"]; readonly diagnostics: readonly ["manifest compatibility diagnostic"]; readonly tests: readonly ["src/plugins/setup-registry.test.ts", "src/channels/plugins/setup-group-access.test.ts"]; }, { readonly code: "activation-agent-harness-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "top-level `cliBackends[]` for CLI aliases and future `agentRuntime` ownership metadata"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onAgentHarnesses", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "activation-provider-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "`providers[]` manifest ownership"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onProviders", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "activation-channel-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "`channels[]` manifest ownership"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onChannels", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "activation-command-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "`commandAliases` or command contribution metadata"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onCommands", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "activation-route-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "HTTP route contribution metadata"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onRoutes", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "activation-config-path-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-27"; readonly replacement: "manifest contribution ownership for root config surfaces"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onConfigPaths", "startup plugin selection"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/channel-plugin-ids.test.ts"]; }, { readonly code: "activation-capability-hint"; readonly status: "active"; readonly owner: "plugin-execution"; readonly introduced: "2026-04-24"; readonly replacement: "manifest contribution ownership"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["activation.onCapabilities", "activation planner"]; readonly diagnostics: readonly ["activation plan compat reason"]; readonly tests: readonly ["src/plugins/activation-planner.test.ts"]; }, { readonly code: "embedded-harness-config-alias"; readonly status: "deprecated"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-25"; readonly warningStarts: "2026-04-25"; readonly removeAfter: "2026-07-25"; readonly replacement: "`agentRuntime` config naming"; readonly docsPath: "/plugins/sdk-agent-harness"; readonly surfaces: readonly ["agents.defaults.embeddedHarness", "model/provider runtime selection"]; readonly diagnostics: readonly ["agent runtime config compatibility"]; readonly tests: readonly [string]; }, { readonly code: "agent-harness-sdk-alias"; readonly status: "deprecated"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-25"; readonly warningStarts: "2026-04-25"; readonly removeAfter: "2026-07-25"; readonly replacement: "`openclaw/plugin-sdk/agent-runtime`"; readonly docsPath: "/plugins/sdk-agent-harness"; readonly surfaces: readonly ["openclaw/plugin-sdk/agent-harness", "openclaw/plugin-sdk/agent-harness-runtime"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "agent-harness-id-alias"; readonly status: "deprecated"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-25"; readonly warningStarts: "2026-04-25"; readonly removeAfter: "2026-07-25"; readonly replacement: "`agentRuntime` ids and policy metadata"; readonly docsPath: "/plugins/sdk-agent-harness"; readonly surfaces: readonly ["manifest/catalog execution policy", "runtime selection"]; readonly diagnostics: readonly ["agent runtime compatibility warning"]; readonly tests: readonly ["src/plugins/provider-runtime.test.ts", "src/web/provider-runtime-shared.test.ts"]; }, { readonly code: "generated-bundled-channel-config-fallback"; readonly status: "active"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly replacement: "manifest registry `channelConfigs` metadata"; readonly docsPath: "/plugins/manifest"; readonly surfaces: readonly ["generated bundled channel config metadata", "channel config validation"]; readonly diagnostics: readonly ["channel config metadata fallback"]; readonly tests: readonly ["src/plugins/contracts/config-footprint-guardrails.test.ts"]; }, { readonly code: "disable-persisted-plugin-registry-env"; readonly status: "deprecated"; readonly owner: "config"; readonly introduced: "2026-04-25"; readonly deprecated: "2026-04-25"; readonly warningStarts: "2026-04-25"; readonly removeAfter: "2026-07-25"; readonly replacement: "`openclaw plugins registry --refresh` and `openclaw doctor --fix`"; readonly docsPath: "/cli/plugins#registry"; readonly surfaces: readonly ["OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY", "plugin registry reads"]; readonly diagnostics: readonly ["persisted-registry-disabled"]; readonly tests: readonly ["src/plugins/plugin-registry.test.ts"]; }, { readonly code: "plugin-registry-install-migration-env"; readonly status: "deprecated"; readonly owner: "config"; readonly introduced: "2026-04-25"; readonly deprecated: "2026-04-25"; readonly warningStarts: "2026-04-25"; readonly removeAfter: "2026-07-25"; readonly replacement: "`openclaw plugins registry --refresh` and `openclaw doctor --fix`"; readonly docsPath: "/cli/plugins#registry"; readonly surfaces: readonly ["OPENCLAW_DISABLE_PLUGIN_REGISTRY_MIGRATION", "OPENCLAW_FORCE_PLUGIN_REGISTRY_MIGRATION", "package postinstall plugin registry migration"]; readonly diagnostics: readonly ["postinstall migration skip", "postinstall migration force deprecation warning"]; readonly tests: readonly ["src/commands/doctor/shared/plugin-registry-migration.test.ts"]; }, { readonly code: "plugin-install-config-ledger"; readonly status: "deprecated"; readonly owner: "config"; readonly introduced: "2026-04-25"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "state-managed `plugins/installs.json` install ledger"; readonly docsPath: "/cli/plugins#registry"; readonly surfaces: readonly ["plugins.installs authored config", "plugin install/update migration"]; readonly diagnostics: readonly ["config write migration warning", "doctor registry migration"]; readonly tests: readonly ["src/config/io.write-config.test.ts", "src/commands/doctor/shared/plugin-registry-migration.test.ts"]; }, { readonly code: "bundled-plugin-load-path-aliases"; readonly status: "deprecated"; readonly owner: "config"; readonly introduced: "2026-04-25"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "packaged bundled plugins resolved through the persisted plugin registry"; readonly docsPath: "/cli/plugins#registry"; readonly surfaces: readonly ["plugins.load.paths entries pointing at bundled plugin source/dist paths"]; readonly diagnostics: readonly ["doctor bundled plugin load-path warning"]; readonly tests: readonly ["src/commands/doctor/shared/bundled-plugin-load-paths.test.ts"]; }, { readonly code: "plugin-owned-web-search-config"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-26"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`plugins.entries..config.webSearch`"; readonly docsPath: "/tools/web"; readonly surfaces: readonly ["tools.web.search.apiKey", "tools.web.search."]; readonly diagnostics: readonly ["doctor legacy web-search config migration"]; readonly tests: readonly ["src/commands/doctor/shared/legacy-web-search-migrate.test.ts"]; }, { readonly code: "plugin-owned-web-fetch-config"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-26"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`plugins.entries.firecrawl.config.webFetch`"; readonly docsPath: "/tools/web-fetch"; readonly surfaces: readonly ["tools.web.fetch.firecrawl"]; readonly diagnostics: readonly ["doctor legacy web-fetch config migration"]; readonly tests: readonly ["src/commands/doctor/shared/legacy-web-fetch-migrate.test.ts"]; }, { readonly code: "plugin-owned-x-search-config"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-26"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`plugins.entries.xai.config.webSearch.apiKey`"; readonly docsPath: "/tools/grok-search"; readonly surfaces: readonly ["tools.web.x_search.apiKey"]; readonly diagnostics: readonly ["doctor legacy x_search config migration"]; readonly tests: readonly ["src/commands/doctor/shared/legacy-x-search-migrate.test.ts", string]; }, { readonly code: "plugin-activate-entrypoint-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`register(api)` plugin entrypoint"; readonly docsPath: "/plugins/sdk-entrypoints"; readonly surfaces: readonly ["plugin module `activate(api)`", "plugin loader registration"]; readonly diagnostics: readonly ["loader compatibility path"]; readonly tests: readonly ["src/plugins/loader.test.ts"]; }, { readonly code: "setup-runtime-fallback"; readonly status: "active"; readonly owner: "setup"; readonly introduced: "2026-04-24"; readonly replacement: "`setup.requiresRuntime: false` with complete setup descriptors"; readonly docsPath: "/plugins/manifest#setup-reference"; readonly surfaces: readonly ["setup-api runtime fallback", "setup.requiresRuntime omitted"]; readonly diagnostics: readonly ["setup registry runtime diagnostic"]; readonly tests: readonly ["src/plugins/setup-registry.test.ts", "src/plugins/setup-registry.runtime.test.ts"]; }, { readonly code: "provider-discovery-hook-alias"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`catalog.run(...)` provider catalog hook"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["provider plugin `discovery` hook", "provider catalog resolution"]; readonly diagnostics: readonly ["provider validation warning when catalog and discovery both register"]; readonly tests: readonly ["src/plugins/provider-discovery.test.ts", "src/plugins/provider-validation.test.ts"]; }, { readonly code: "channel-exposure-legacy-aliases"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`openclaw.channel.exposure` metadata"; readonly docsPath: "/plugins/sdk-setup"; readonly surfaces: readonly ["openclaw.channel.showConfigured", "openclaw.channel.showInSetup"]; readonly diagnostics: readonly ["channel exposure compatibility path"]; readonly tests: readonly ["src/commands/channel-setup/discovery.test.ts"]; }, { readonly code: "channel-runtime-sdk-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "focused channel SDK subpaths, especially `openclaw/plugin-sdk/channel-runtime-context`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly [string]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "command-auth-status-builders"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`openclaw/plugin-sdk/command-status`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/command-auth buildCommandsMessage", "openclaw/plugin-sdk/command-auth buildCommandsMessagePaginated", "openclaw/plugin-sdk/command-auth buildHelpMessage"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugin-sdk/command-auth.test.ts"]; }, { readonly code: "clawdbot-config-type-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`OpenClawConfig`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk `ClawdbotConfig` type export"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-index.test.ts"]; }, { readonly code: "openclaw-schema-type-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-26"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`OpenClawConfig` from `openclaw/plugin-sdk/config-schema`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk `OpenClawSchemaType` type export"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-index.test.ts"]; }, { readonly code: "legacy-extension-api-import"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "injected `api.runtime.*` helpers or focused `openclaw/plugin-sdk/` imports"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/extension-api"]; readonly diagnostics: readonly ["OPENCLAW_EXTENSION_API_DEPRECATED"]; readonly tests: readonly ["src/plugins/sdk-alias.test.ts", "src/index.test.ts"]; }, { readonly code: "memory-split-registration"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`api.registerMemoryCapability({ promptBuilder, flushPlanResolver, runtime })`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["api.registerMemoryPromptSection", "api.registerMemoryFlushPlan", "api.registerMemoryRuntime", "src/plugins/memory-state split registration helpers"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/memory-state.test.ts", "src/plugins/loader.test.ts"]; }, { readonly code: "provider-static-capabilities-bag"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "explicit provider hooks such as `buildReplayPolicy`, `normalizeToolSchemas`, and `wrapStreamFn`"; readonly docsPath: "/plugins/sdk-provider-plugins"; readonly surfaces: readonly ["ProviderPlugin.capabilities", "ProviderCapabilities"]; readonly diagnostics: readonly ["provider validation warning"]; readonly tests: readonly ["src/plugins/provider-runtime.test.ts", "src/plugins/contracts/provider-family-plugin-tests.test.ts"]; }, { readonly code: "provider-discovery-type-aliases"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`ProviderCatalogOrder`, `ProviderCatalogContext`, `ProviderCatalogResult`, and `ProviderPluginCatalog`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["ProviderDiscoveryOrder", "ProviderDiscoveryContext", "ProviderDiscoveryResult", "ProviderPluginDiscovery"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-index.test.ts"]; }, { readonly code: "provider-thinking-policy-hooks"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`resolveThinkingProfile`"; readonly docsPath: "/plugins/sdk-provider-plugins"; readonly surfaces: readonly ["ProviderPlugin.isBinaryThinking", "ProviderPlugin.supportsXHighThinking", "ProviderPlugin.resolveDefaultThinkingLevel"]; readonly diagnostics: readonly ["provider runtime compatibility warning"]; readonly tests: readonly ["src/plugins/provider-runtime.test.ts"]; }, { readonly code: "provider-external-oauth-profiles-hook"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`contracts.externalAuthProviders` plus `resolveExternalAuthProfiles`"; readonly docsPath: "/plugins/sdk-provider-plugins"; readonly surfaces: readonly ["ProviderPlugin.resolveExternalOAuthProfiles"]; readonly diagnostics: readonly ["provider external auth fallback warning"]; readonly tests: readonly ["src/plugins/provider-runtime.test.ts"]; }, { readonly code: "agent-tool-result-harness-alias"; readonly status: "deprecated"; readonly owner: "agent-runtime"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`runtime` and `runtimes` agent tool-result middleware fields"; readonly docsPath: "/plugins/sdk-agent-harness"; readonly surfaces: readonly ["AgentToolResultMiddlewareHarness", "AgentToolResultMiddlewareContext.harness", "AgentToolResultMiddlewareOptions.harnesses", "normalizeAgentToolResultMiddlewareHarnesses"]; readonly diagnostics: readonly ["agent runtime compatibility warning"]; readonly tests: readonly ["src/plugins/captured-registration.test.ts", "src/agents/codex-app-server.extensions.test.ts"]; }, { readonly code: "runtime-config-load-write"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-27"; readonly deprecated: "2026-04-27"; readonly warningStarts: "2026-04-27"; readonly removeAfter: "2026-07-27"; readonly replacement: "`api.runtime.config.current()`, passed config values, `mutateConfigFile(...)`, or `replaceConfigFile(...)`"; readonly docsPath: "/plugins/sdk-runtime#config-loading-and-writes"; readonly surfaces: readonly ["api.runtime.config.loadConfig", "api.runtime.config.writeConfigFile"]; readonly diagnostics: readonly ["plugin runtime compatibility warning", "deprecated internal config API guard", "runtime channel config boundary guard"]; readonly tests: readonly ["src/plugins/runtime/runtime-config.test.ts", "src/plugins/contracts/deprecated-internal-config-api.test.ts", "src/plugins/contracts/config-boundary-guard.test.ts"]; }, { readonly code: "runtime-taskflow-legacy-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`api.runtime.tasks.managedFlows` for managed mutations or `api.runtime.tasks.flows` for DTO reads"; readonly docsPath: "/plugins/sdk-runtime"; readonly surfaces: readonly ["api.runtime.taskFlow", "api.runtime.tasks.flow"]; readonly diagnostics: readonly ["plugin runtime compatibility warning"]; readonly tests: readonly ["src/plugins/runtime/index.test.ts", "src/plugins/runtime/runtime-tasks.test.ts"]; }, { readonly code: "runtime-subagent-get-session-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`api.runtime.subagent.getSessionMessages`"; readonly docsPath: "/plugins/sdk-runtime"; readonly surfaces: readonly ["api.runtime.subagent.getSession"]; readonly diagnostics: readonly ["plugin runtime compatibility warning"]; readonly tests: readonly ["src/plugins/runtime/index.test.ts"]; }, { readonly code: "runtime-stt-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`api.runtime.mediaUnderstanding.transcribeAudioFile`"; readonly docsPath: "/plugins/sdk-runtime"; readonly surfaces: readonly ["api.runtime.stt.transcribeAudioFile"]; readonly diagnostics: readonly ["plugin runtime compatibility warning"]; readonly tests: readonly ["src/plugins/runtime/index.test.ts"]; }, { readonly code: "runtime-inbound-envelope-alias"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`BodyForAgent` plus structured user-context blocks"; readonly docsPath: "/plugins/sdk-runtime"; readonly surfaces: readonly ["api.runtime.channel.reply.formatInboundEnvelope"]; readonly diagnostics: readonly ["channel runtime compatibility warning"]; readonly tests: readonly ["src/plugins/runtime/index.test.ts"]; }, { readonly code: "channel-native-message-schema-helpers"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "semantic `presentation` capabilities"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/channel-actions createMessageToolButtonsSchema", "openclaw/plugin-sdk/channel-actions createMessageToolCardSchema"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "channel-mention-gating-legacy-helpers"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "`resolveInboundMentionDecision({ facts, policy })`"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/channel-inbound resolveMentionGating", "openclaw/plugin-sdk/channel-inbound resolveMentionGatingWithBypass", "openclaw/plugin-sdk/channel-mention-gating resolveMentionGating", "openclaw/plugin-sdk/channel-mention-gating resolveMentionGatingWithBypass"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "provider-web-search-core-wrapper"; readonly status: "deprecated"; readonly owner: "provider"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "provider-owned `createTool(...)` on the returned `WebSearchProviderPlugin`"; readonly docsPath: "/plugins/sdk-provider-plugins"; readonly surfaces: readonly ["openclaw/plugin-sdk/provider-web-search createPluginBackedWebSearchProvider"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }, { readonly code: "approval-capability-approvals-alias"; readonly status: "deprecated"; readonly owner: "channel"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "top-level `delivery`, `nativeRuntime`, `render`, and `native` approval capability fields"; readonly docsPath: "/plugins/sdk-channel-plugins"; readonly surfaces: readonly ["createChannelApprovalCapability({ approvals })"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugin-sdk/approval-delivery-helpers.test.ts"]; }, { readonly code: "plugin-sdk-test-utils-alias"; readonly status: "deprecated"; readonly owner: "sdk"; readonly introduced: "2026-04-24"; readonly deprecated: "2026-04-26"; readonly warningStarts: "2026-04-26"; readonly removeAfter: "2026-07-26"; readonly replacement: "focused `openclaw/plugin-sdk/*` test subpaths"; readonly docsPath: "/plugins/sdk-migration"; readonly surfaces: readonly ["openclaw/plugin-sdk/test-utils"]; readonly diagnostics: readonly ["plugin SDK compatibility warning"]; readonly tests: readonly ["src/plugins/compat/registry.test.ts", "src/plugins/contracts/plugin-sdk-subpaths.test.ts"]; }]; export type PluginCompatCode = (typeof PLUGIN_COMPAT_RECORDS)[number]["code"]; export type KnownPluginCompatRecord = PluginCompatRecord; export declare function listPluginCompatRecords(): readonly KnownPluginCompatRecord[]; export declare function getPluginCompatRecord(code: PluginCompatCode): KnownPluginCompatRecord; export declare function isPluginCompatCode(code: string): code is PluginCompatCode; export declare function listDeprecatedPluginCompatRecords(): readonly KnownPluginCompatRecord[];