fix(plugins): record crabpot compat deprecations

This commit is contained in:
Vincent Koc
2026-04-26 03:25:10 -07:00
parent 2a5d3ad5b9
commit 6dfb03ab2e
4 changed files with 25 additions and 3 deletions

View File

@@ -86,8 +86,8 @@ Current compatibility records include:
`register(api)`
- legacy SDK aliases such as `openclaw/extension-api`,
`openclaw/plugin-sdk/channel-runtime`, `openclaw/plugin-sdk/command-auth`
status builders, `openclaw/plugin-sdk/test-utils`, and the `ClawdbotConfig`
type alias
status builders, `openclaw/plugin-sdk/test-utils`, and the `ClawdbotConfig` /
`OpenClawSchemaType` type aliases
- bundled plugin allowlist and enablement behavior
- legacy provider/channel env-var manifest metadata
- legacy provider plugin hooks and type aliases while providers move to

View File

@@ -80,6 +80,8 @@ export type {
export type { OpenClawConfig } from "../config/config.js";
/** @deprecated Use OpenClawConfig instead */
export type { OpenClawConfig as ClawdbotConfig } from "../config/config.js";
/** @deprecated Use OpenClawConfig instead */
export type { OpenClawConfig as OpenClawSchemaType } from "../config/config.js";
export type {
MemoryPluginCapability,
MemoryPluginPublicArtifact,

View File

@@ -367,6 +367,20 @@ export const PLUGIN_COMPAT_RECORDS = [
diagnostics: ["plugin SDK compatibility warning"],
tests: ["src/plugins/contracts/plugin-sdk-index.test.ts"],
},
{
code: "openclaw-schema-type-alias",
status: "deprecated",
owner: "sdk",
introduced: "2026-04-26",
deprecated: "2026-04-26",
warningStarts: "2026-04-26",
removeAfter: "2026-07-26",
replacement: "`OpenClawConfig` from `openclaw/plugin-sdk/config-schema`",
docsPath: "/plugins/sdk-migration",
surfaces: ["openclaw/plugin-sdk `OpenClawSchemaType` type export"],
diagnostics: ["plugin SDK compatibility warning"],
tests: ["src/plugins/contracts/plugin-sdk-index.test.ts"],
},
{
code: "legacy-extension-api-import",
status: "deprecated",

View File

@@ -1,8 +1,9 @@
import fs from "node:fs/promises";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { describe, expect, it } from "vitest";
import { describe, expect, expectTypeOf, it } from "vitest";
import { buildPluginSdkPackageExports } from "../../plugin-sdk/entrypoints.js";
import type { ClawdbotConfig, OpenClawConfig, OpenClawSchemaType } from "../../plugin-sdk/index.js";
const pluginSdkIndexPath = fileURLToPath(new URL("../../plugin-sdk/index.ts", import.meta.url));
@@ -104,6 +105,11 @@ describe("plugin-sdk exports", () => {
]);
});
it("keeps deprecated root config type aliases aligned", () => {
expectTypeOf<ClawdbotConfig>().toEqualTypeOf<OpenClawConfig>();
expectTypeOf<OpenClawSchemaType>().toEqualTypeOf<OpenClawConfig>();
});
it("keeps package.json plugin-sdk exports synced with the manifest", async () => {
const packageJsonPath = path.join(process.cwd(), "package.json");
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf8")) as {