mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-31 22:20:40 +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
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import { collectDurableServiceEnvVars } from "../config/state-dir-dotenv.js";
|
|
import { hasConfiguredSecretInput } from "../config/types.secrets.js";
|
|
|
|
type GatewayInstallAuthMode = NonNullable<NonNullable<OpenClawConfig["gateway"]>["auth"]>["mode"];
|
|
|
|
function hasExplicitGatewayInstallAuthMode(
|
|
mode: GatewayInstallAuthMode | undefined,
|
|
): boolean | undefined {
|
|
if (mode === "token") {
|
|
return true;
|
|
}
|
|
if (mode === "password" || mode === "none" || mode === "trusted-proxy") {
|
|
return false;
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
function hasConfiguredGatewayPasswordForInstall(cfg: OpenClawConfig): boolean {
|
|
return hasConfiguredSecretInput(cfg.gateway?.auth?.password, cfg.secrets?.defaults);
|
|
}
|
|
|
|
function hasDurableGatewayPasswordEnvForInstall(
|
|
cfg: OpenClawConfig,
|
|
env: NodeJS.ProcessEnv,
|
|
): boolean {
|
|
const durableServiceEnv = collectDurableServiceEnvVars({ env, config: cfg });
|
|
return Boolean(
|
|
durableServiceEnv.OPENCLAW_GATEWAY_PASSWORD?.trim() ||
|
|
durableServiceEnv.CLAWDBOT_GATEWAY_PASSWORD?.trim(),
|
|
);
|
|
}
|
|
|
|
export function shouldRequireGatewayTokenForInstall(
|
|
cfg: OpenClawConfig,
|
|
env: NodeJS.ProcessEnv,
|
|
): boolean {
|
|
const explicitModeDecision = hasExplicitGatewayInstallAuthMode(cfg.gateway?.auth?.mode);
|
|
if (explicitModeDecision !== undefined) {
|
|
return explicitModeDecision;
|
|
}
|
|
|
|
if (hasConfiguredGatewayPasswordForInstall(cfg)) {
|
|
return false;
|
|
}
|
|
|
|
// Service install should only infer password mode from durable sources that
|
|
// survive outside the invoking shell.
|
|
if (hasDurableGatewayPasswordEnvForInstall(cfg, env)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|