mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-10 00:56:22 +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
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import type { ProviderPlugin } from "../plugins/types.js";
|
|
import { resolveRequestedLoginProviderOrThrow } from "./models/auth.js";
|
|
|
|
function makeProvider(params: { id: string; label?: string; aliases?: string[] }): ProviderPlugin {
|
|
return {
|
|
id: params.id,
|
|
label: params.label ?? params.id,
|
|
aliases: params.aliases,
|
|
auth: [],
|
|
};
|
|
}
|
|
|
|
describe("resolveRequestedLoginProviderOrThrow", () => {
|
|
it("returns null and resolves provider by id/alias", () => {
|
|
const providers = [
|
|
makeProvider({ id: "google-gemini-cli", aliases: ["gemini-cli"] }),
|
|
makeProvider({ id: "minimax-portal" }),
|
|
];
|
|
const scenarios = [
|
|
{ requested: undefined, expectedId: null },
|
|
{ requested: "google-gemini-cli", expectedId: "google-gemini-cli" },
|
|
{ requested: "gemini-cli", expectedId: "google-gemini-cli" },
|
|
] as const;
|
|
|
|
for (const scenario of scenarios) {
|
|
const result = resolveRequestedLoginProviderOrThrow(providers, scenario.requested);
|
|
expect(result?.id ?? null).toBe(scenario.expectedId);
|
|
}
|
|
});
|
|
|
|
it("throws when requested provider is not loaded", () => {
|
|
const loadedProviders = [
|
|
makeProvider({ id: "google-gemini-cli" }),
|
|
makeProvider({ id: "minimax-portal" }),
|
|
];
|
|
|
|
expect(() =>
|
|
resolveRequestedLoginProviderOrThrow(loadedProviders, "google-antigravity"),
|
|
).toThrowError(
|
|
'Unknown provider "google-antigravity". Loaded providers: google-gemini-cli, minimax-portal. Verify plugins via `openclaw plugins list --json`.',
|
|
);
|
|
});
|
|
});
|