mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-08 08:08:33 +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
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { normalizeProviderId } from "../agents/provider-id.js";
|
|
|
|
export const ANTHROPIC_SETUP_TOKEN_PREFIX = "sk-ant-oat01-";
|
|
export const ANTHROPIC_SETUP_TOKEN_MIN_LENGTH = 80;
|
|
export const DEFAULT_TOKEN_PROFILE_NAME = "default";
|
|
|
|
export function normalizeTokenProfileName(raw: string): string {
|
|
const trimmed = raw.trim();
|
|
if (!trimmed) {
|
|
return DEFAULT_TOKEN_PROFILE_NAME;
|
|
}
|
|
const slug = trimmed
|
|
.toLowerCase()
|
|
.replace(/[^a-z0-9._-]+/g, "-")
|
|
.replace(/-+/g, "-")
|
|
.replace(/^-+|-+$/g, "");
|
|
return slug || DEFAULT_TOKEN_PROFILE_NAME;
|
|
}
|
|
|
|
export function buildTokenProfileId(params: { provider: string; name: string }): string {
|
|
const provider = normalizeProviderId(params.provider);
|
|
const name = normalizeTokenProfileName(params.name);
|
|
return `${provider}:${name}`;
|
|
}
|
|
|
|
export function validateAnthropicSetupToken(raw: string): string | undefined {
|
|
const trimmed = raw.trim();
|
|
if (!trimmed) {
|
|
return "Required";
|
|
}
|
|
if (!trimmed.startsWith(ANTHROPIC_SETUP_TOKEN_PREFIX)) {
|
|
return `Expected token starting with ${ANTHROPIC_SETUP_TOKEN_PREFIX}`;
|
|
}
|
|
if (trimmed.length < ANTHROPIC_SETUP_TOKEN_MIN_LENGTH) {
|
|
return "Token looks too short; paste the full setup-token";
|
|
}
|
|
return undefined;
|
|
}
|