mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-06-04 08:34:53 +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
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
||
import { normalizeOptionalSecretInput, normalizeSecretInput } from "./normalize-secret-input.js";
|
||
|
||
describe("normalizeSecretInput", () => {
|
||
it("returns empty string for non-string values", () => {
|
||
expect(normalizeSecretInput(undefined)).toBe("");
|
||
expect(normalizeSecretInput(null)).toBe("");
|
||
expect(normalizeSecretInput(123)).toBe("");
|
||
expect(normalizeSecretInput({})).toBe("");
|
||
});
|
||
|
||
it("strips embedded line breaks and surrounding whitespace", () => {
|
||
expect(normalizeSecretInput(" sk-\r\nabc\n123 ")).toBe("sk-abc123");
|
||
});
|
||
|
||
it("drops non-Latin1 code points that can break HTTP ByteString headers", () => {
|
||
// U+0417 (Cyrillic З) and U+2502 (box drawing │) are > 255.
|
||
expect(normalizeSecretInput("key-\u0417\u2502-token")).toBe("key--token");
|
||
});
|
||
|
||
it("preserves Latin-1 characters and internal spaces", () => {
|
||
expect(normalizeSecretInput(" café token ")).toBe("café token");
|
||
});
|
||
});
|
||
|
||
describe("normalizeOptionalSecretInput", () => {
|
||
it("returns undefined when normalized value is empty", () => {
|
||
expect(normalizeOptionalSecretInput(" \r\n ")).toBeUndefined();
|
||
expect(normalizeOptionalSecretInput("\u0417\u2502")).toBeUndefined();
|
||
});
|
||
|
||
it("returns normalized value when non-empty", () => {
|
||
expect(normalizeOptionalSecretInput(" key-\u0417 ")).toBe("key-");
|
||
});
|
||
});
|