mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-23 07:43:50 +08:00
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
|
|
const mockLoadPluginManifestRegistry = vi.hoisted(() => vi.fn());
|
|
|
|
vi.mock("../plugins/manifest-registry.js", () => ({
|
|
loadPluginManifestRegistry: (...args: unknown[]) => mockLoadPluginManifestRegistry(...args),
|
|
}));
|
|
|
|
describe("validateConfigObjectRawWithPlugins channel metadata", () => {
|
|
it("applies bundled channel defaults from plugin-owned schema metadata", async () => {
|
|
mockLoadPluginManifestRegistry.mockReturnValue({
|
|
diagnostics: [],
|
|
plugins: [
|
|
{
|
|
id: "telegram",
|
|
origin: "bundled",
|
|
channels: ["telegram"],
|
|
channelCatalogMeta: {
|
|
id: "telegram",
|
|
label: "Telegram",
|
|
blurb: "Telegram channel",
|
|
},
|
|
channelConfigs: {
|
|
telegram: {
|
|
schema: {
|
|
type: "object",
|
|
properties: {
|
|
dmPolicy: {
|
|
type: "string",
|
|
enum: ["pairing", "allowlist"],
|
|
default: "pairing",
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
uiHints: {},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
});
|
|
|
|
const { validateConfigObjectRawWithPlugins } = await import("./validation.js");
|
|
const result = validateConfigObjectRawWithPlugins({
|
|
channels: {
|
|
telegram: {},
|
|
},
|
|
});
|
|
|
|
expect(result.ok).toBe(true);
|
|
if (result.ok) {
|
|
expect(result.config.channels?.telegram).toEqual(
|
|
expect.objectContaining({ dmPolicy: "pairing" }),
|
|
);
|
|
}
|
|
});
|
|
});
|