mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-23 02:45:38 -06:00
a5b798a88c
* fix(cli): use node default camera for snap * test(cli): isolate ClawHub package preflight * test(cli): split Claws package fixture
72 lines
1.9 KiB
TypeScript
72 lines
1.9 KiB
TypeScript
import { mkdir, realpath, writeFile } from "node:fs/promises";
|
|
import { basename, dirname, join } from "node:path";
|
|
|
|
export const minimalManifest = {
|
|
schemaVersion: 1,
|
|
agent: { id: "demo-agent", name: "Demo Agent" },
|
|
};
|
|
|
|
export const pluginSetupReadiness = {
|
|
ready: false,
|
|
requirements: [
|
|
{
|
|
kind: "plugin-setup" as const,
|
|
plugin: "market-data",
|
|
provider: "market-data",
|
|
envVars: ["MARKET_DATA_TOKEN"],
|
|
authMethods: ["token"],
|
|
},
|
|
],
|
|
};
|
|
|
|
export async function canonicalFuturePath(target: string): Promise<string> {
|
|
return join(await realpath(dirname(target)), basename(target));
|
|
}
|
|
|
|
export async function writeManifestFile(
|
|
tempDirs: { make(prefix: string): string },
|
|
value: unknown = minimalManifest,
|
|
): Promise<string> {
|
|
const dir = tempDirs.make("openclaw-claws-cli-");
|
|
const path = join(dir, "openclaw.claw.json");
|
|
await writeFile(path, JSON.stringify(value), "utf8");
|
|
return path;
|
|
}
|
|
|
|
export async function writePackageFixture(tempDirs: {
|
|
make(prefix: string): string;
|
|
}): Promise<{ root: string; workspace: string }> {
|
|
const root = tempDirs.make("openclaw-claws-cli-package-");
|
|
await mkdir(join(root, "workspace"));
|
|
await writeFile(join(root, "workspace", "AGENTS.md"), "# Demo\n", "utf8");
|
|
await writeFile(
|
|
join(root, "package.json"),
|
|
JSON.stringify({
|
|
name: "@acme/demo-agent",
|
|
version: "1.2.3",
|
|
openclaw: { claw: "openclaw.claw.json" },
|
|
}),
|
|
"utf8",
|
|
);
|
|
await writeFile(
|
|
join(root, "openclaw.claw.json"),
|
|
JSON.stringify({
|
|
schemaVersion: 1,
|
|
agent: { id: "demo-agent", name: "Demo Agent" },
|
|
workspace: {
|
|
bootstrapFiles: { "AGENTS.md": { source: "workspace/AGENTS.md" } },
|
|
},
|
|
packages: [
|
|
{
|
|
kind: "skill",
|
|
source: "clawhub",
|
|
ref: "@acme/demo-skill",
|
|
version: "1.0.0",
|
|
},
|
|
],
|
|
}),
|
|
"utf8",
|
|
);
|
|
return { root, workspace: join(root, "target-workspace") };
|
|
}
|