Files
openclaw-zero-token/config/redact-snapshot.raw.ts
sjhu 571e14a236 feat: upgrade to upstream v2026.3.28
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
2026-03-30 17:58:12 +08:00

33 lines
915 B
TypeScript

import { isDeepStrictEqual } from "node:util";
import JSON5 from "json5";
export function replaceSensitiveValuesInRaw(params: {
raw: string;
sensitiveValues: string[];
redactedSentinel: string;
}): string {
const values = [...params.sensitiveValues].toSorted((a, b) => b.length - a.length);
let result = params.raw;
for (const value of values) {
result = result.replaceAll(value, params.redactedSentinel);
}
return result;
}
export function shouldFallbackToStructuredRawRedaction(params: {
redactedRaw: string;
originalConfig: unknown;
restoreParsed: (parsed: unknown) => { ok: boolean; result?: unknown };
}): boolean {
try {
const parsed = JSON5.parse(params.redactedRaw);
const restored = params.restoreParsed(parsed);
if (!restored.ok) {
return true;
}
return !isDeepStrictEqual(restored.result, params.originalConfig);
} catch {
return true;
}
}