






















@@ -48,74 +48,9 @@ output_file="$HOME/delete.json"
4848trap '\''rm -rf "$HOME"'\'' EXIT
49495050mkdir -p "$OPENCLAW_STATE_DIR" "$SHARED_WORKSPACE"
51-node --input-type=module - <<'\''NODE'\''
52-import fs from "node:fs";
53-import path from "node:path";
54-55-const stateDir = process.env.OPENCLAW_STATE_DIR;
56-const sharedWorkspace = process.env.SHARED_WORKSPACE;
57-if (!stateDir || !sharedWorkspace) {
58- throw new Error("missing OPENCLAW_STATE_DIR or SHARED_WORKSPACE");
59-}
60-fs.mkdirSync(stateDir, { recursive: true });
61-fs.mkdirSync(sharedWorkspace, { recursive: true });
62-fs.writeFileSync(
63- path.join(stateDir, "openclaw.json"),
64- `${JSON.stringify(
65- {
66- agents: {
67- list: [
68- { id: "main", workspace: sharedWorkspace },
69- { id: "ops", workspace: sharedWorkspace },
70- ],
71- },
72- },
73- null,
74- 2,
75- )}\n`,
76-);
77-NODE
51+node scripts/e2e/lib/fixture.mjs agents-delete-config
78527953run_openclaw agents delete ops --force --json > "$output_file"
805481-node --input-type=module - "$output_file" <<'\''NODE'\''
82-import fs from "node:fs";
83-import path from "node:path";
84-85-const outputPath = process.argv[2];
86-const raw = fs.readFileSync(outputPath, "utf8").trim();
87-let parsed;
88-try {
89- parsed = JSON.parse(raw);
90-} catch (error) {
91- console.error("agents delete --json did not emit valid JSON:");
92- console.error(raw);
93- throw error;
94-}
95-96-function assert(condition, message) {
97- if (!condition) {
98- throw new Error(message);
99- }
100-}
101-102-assert(parsed.agentId === "ops", `unexpected agentId: ${JSON.stringify(parsed.agentId)}`);
103-assert(parsed.workspace === process.env.SHARED_WORKSPACE, "deleted agent workspace mismatch");
104-assert(parsed.workspaceRetained === true, "shared workspace was not marked retained");
105-assert(parsed.workspaceRetainedReason === "shared", "missing shared retained reason");
106-assert(
107- Array.isArray(parsed.workspaceSharedWith) && parsed.workspaceSharedWith.includes("main"),
108- "missing shared-with main marker",
109-);
110-assert(fs.existsSync(process.env.SHARED_WORKSPACE), "shared workspace was removed");
111-112-const configPath = path.join(process.env.OPENCLAW_STATE_DIR, "openclaw.json");
113-const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
114-const remaining = config?.agents?.list ?? [];
115-assert(Array.isArray(remaining), "agents list missing after delete");
116-assert(!remaining.some((entry) => entry?.id === "ops"), "deleted agent remained in config");
117-assert(remaining.some((entry) => entry?.id === "main"), "main agent missing after delete");
118-119-console.log("agents delete shared workspace smoke ok");
120-NODE
55+node scripts/e2e/lib/fixture.mjs agents-delete-assert "$output_file"
12156'
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。