mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-06-07 23:06:34 +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 { beforeEach, describe, expect, it, vi } from "vitest";
|
|
import { clearConfigCache, loadConfig } from "./config.js";
|
|
import { withTempHomeConfig } from "./test-helpers.js";
|
|
|
|
describe("config validation fail-closed behavior", () => {
|
|
beforeEach(() => {
|
|
clearConfigCache();
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it("throws INVALID_CONFIG instead of returning an empty config", async () => {
|
|
await withTempHomeConfig(
|
|
{
|
|
agents: { list: [{ id: "main" }] },
|
|
nope: true,
|
|
channels: {
|
|
whatsapp: {
|
|
dmPolicy: "allowlist",
|
|
allowFrom: ["+1234567890"],
|
|
},
|
|
},
|
|
},
|
|
async () => {
|
|
const spy = vi.spyOn(console, "error").mockImplementation(() => {});
|
|
let thrown: unknown;
|
|
try {
|
|
loadConfig();
|
|
} catch (err) {
|
|
thrown = err;
|
|
}
|
|
|
|
expect(thrown).toBeInstanceOf(Error);
|
|
expect((thrown as { code?: string } | undefined)?.code).toBe("INVALID_CONFIG");
|
|
expect(spy).toHaveBeenCalled();
|
|
},
|
|
);
|
|
});
|
|
|
|
it("still loads valid security settings unchanged", async () => {
|
|
await withTempHomeConfig(
|
|
{
|
|
agents: { list: [{ id: "main" }] },
|
|
channels: {
|
|
whatsapp: {
|
|
dmPolicy: "allowlist",
|
|
allowFrom: ["+1234567890"],
|
|
},
|
|
},
|
|
},
|
|
async () => {
|
|
const cfg = loadConfig();
|
|
expect(cfg.channels?.whatsapp?.dmPolicy).toBe("allowlist");
|
|
expect(cfg.channels?.whatsapp?.allowFrom).toEqual(["+1234567890"]);
|
|
},
|
|
);
|
|
});
|
|
});
|