mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-05-09 00:34:04 +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
70 lines
2.2 KiB
TypeScript
70 lines
2.2 KiB
TypeScript
import { formatNodeServiceDescription } from "../daemon/constants.js";
|
|
import { resolveNodeProgramArguments } from "../daemon/program-args.js";
|
|
import { buildNodeServiceEnvironment } from "../daemon/service-env.js";
|
|
import {
|
|
emitDaemonInstallRuntimeWarning,
|
|
resolveDaemonInstallRuntimeInputs,
|
|
resolveDaemonNodeBinDir,
|
|
} from "./daemon-install-plan.shared.js";
|
|
import type { DaemonInstallWarnFn } from "./daemon-install-runtime-warning.js";
|
|
import type { NodeDaemonRuntime } from "./node-daemon-runtime.js";
|
|
|
|
export type NodeInstallPlan = {
|
|
programArguments: string[];
|
|
workingDirectory?: string;
|
|
environment: Record<string, string | undefined>;
|
|
description?: string;
|
|
};
|
|
|
|
export async function buildNodeInstallPlan(params: {
|
|
env: Record<string, string | undefined>;
|
|
host: string;
|
|
port: number;
|
|
tls?: boolean;
|
|
tlsFingerprint?: string;
|
|
nodeId?: string;
|
|
displayName?: string;
|
|
runtime: NodeDaemonRuntime;
|
|
devMode?: boolean;
|
|
nodePath?: string;
|
|
warn?: DaemonInstallWarnFn;
|
|
}): Promise<NodeInstallPlan> {
|
|
const { devMode, nodePath } = await resolveDaemonInstallRuntimeInputs({
|
|
env: params.env,
|
|
runtime: params.runtime,
|
|
devMode: params.devMode,
|
|
nodePath: params.nodePath,
|
|
});
|
|
const { programArguments, workingDirectory } = await resolveNodeProgramArguments({
|
|
host: params.host,
|
|
port: params.port,
|
|
tls: params.tls,
|
|
tlsFingerprint: params.tlsFingerprint,
|
|
nodeId: params.nodeId,
|
|
displayName: params.displayName,
|
|
dev: devMode,
|
|
runtime: params.runtime,
|
|
nodePath,
|
|
});
|
|
|
|
await emitDaemonInstallRuntimeWarning({
|
|
env: params.env,
|
|
runtime: params.runtime,
|
|
programArguments,
|
|
warn: params.warn,
|
|
title: "Node daemon runtime",
|
|
});
|
|
|
|
const environment = buildNodeServiceEnvironment({
|
|
env: params.env,
|
|
// Match the gateway install path so supervised node services keep the chosen
|
|
// node toolchain on PATH for sibling binaries like npm/pnpm when needed.
|
|
extraPathDirs: resolveDaemonNodeBinDir(nodePath),
|
|
});
|
|
const description = formatNodeServiceDescription({
|
|
version: environment.OPENCLAW_SERVICE_VERSION,
|
|
});
|
|
|
|
return { programArguments, workingDirectory, environment, description };
|
|
}
|