@zcloak/ai-agent 1.0.52 → 1.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/onboard.js +5 -27
- package/dist/onboard.js.map +1 -1
- package/dist/pre-check.d.ts +5 -9
- package/dist/pre-check.js +87 -114
- package/dist/pre-check.js.map +1 -1
- package/package.json +1 -1
package/dist/onboard.js
CHANGED
|
@@ -14,36 +14,15 @@
|
|
|
14
14
|
* Workspace resolution is shared with runPostUpgradeActions() in pre-check.ts.
|
|
15
15
|
*/
|
|
16
16
|
import * as log from "./log.js";
|
|
17
|
+
import { resolveOpenClawWorkspace, refreshSkill, updateToolsMd } from "./pre-check.js";
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
18
19
|
// Steps (stubs — implement one by one)
|
|
19
20
|
// ---------------------------------------------------------------------------
|
|
20
|
-
/**
|
|
21
|
-
* Fetch the latest SKILL.md from GitHub and write it to
|
|
22
|
-
* <workspace>/skills/zcloak-ai-agent/SKILL.md.
|
|
23
|
-
* TODO: implement
|
|
24
|
-
*/
|
|
25
|
-
async function installSkill(_workspace) {
|
|
26
|
-
// TODO
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Append or update the zCloak skill section in <workspace>/TOOLS.md.
|
|
30
|
-
* TODO: implement
|
|
31
|
-
*/
|
|
32
|
-
async function updateToolsMd(_workspace) {
|
|
33
|
-
// TODO
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Show existing identity or generate a new one.
|
|
37
|
-
* TODO: implement
|
|
38
|
-
*/
|
|
21
|
+
/** Show existing identity or generate a new one. TODO: implement */
|
|
39
22
|
async function initIdentity() {
|
|
40
23
|
// TODO
|
|
41
24
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Register this agent with the zMail server.
|
|
44
|
-
* No-op if already registered.
|
|
45
|
-
* TODO: implement
|
|
46
|
-
*/
|
|
25
|
+
/** Register this agent with the zMail server. TODO: implement */
|
|
47
26
|
async function registerZmail() {
|
|
48
27
|
// TODO
|
|
49
28
|
}
|
|
@@ -52,9 +31,8 @@ async function registerZmail() {
|
|
|
52
31
|
// ---------------------------------------------------------------------------
|
|
53
32
|
export async function runOnboard() {
|
|
54
33
|
log.info("[zcloak-ai] onboard starting...");
|
|
55
|
-
const workspace =
|
|
56
|
-
|
|
57
|
-
await installSkill(workspace);
|
|
34
|
+
const workspace = resolveOpenClawWorkspace();
|
|
35
|
+
await refreshSkill(workspace);
|
|
58
36
|
await updateToolsMd(workspace);
|
|
59
37
|
await initIdentity();
|
|
60
38
|
await registerZmail();
|
package/dist/onboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvF,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,oEAAoE;AACpE,KAAK,UAAU,YAAY;IACzB,OAAO;AACT,CAAC;AAED,iEAAiE;AACjE,KAAK,UAAU,aAAa;IAC1B,OAAO;AACT,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;IAE7C,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,YAAY,EAAE,CAAC;IACrB,MAAM,aAAa,EAAE,CAAC;IAEtB,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/pre-check.d.ts
CHANGED
|
@@ -26,16 +26,12 @@ export interface PreCheckResult {
|
|
|
26
26
|
/** Human / agent-readable message (empty string when nothing noteworthy happened) */
|
|
27
27
|
message: string;
|
|
28
28
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Resolve the OpenClaw workspace directory.
|
|
31
|
-
*
|
|
32
|
-
* Priority:
|
|
33
|
-
* 1. OPENCLAW_WORKDIR / CLAWHUB_WORKDIR environment variable
|
|
34
|
-
* 2. ~/.openclaw/openclaw.json → agents.defaults.workspace
|
|
35
|
-
* 3. ~/.clawdbot/clawdbot.json → agents.defaults.workspace (legacy)
|
|
36
|
-
* 4. Fallback: ~/.openclaw/workspace
|
|
37
|
-
*/
|
|
29
|
+
/** Returns the OpenClaw workspace — inherited cwd from the agent process. */
|
|
38
30
|
export declare function resolveOpenClawWorkspace(): string;
|
|
31
|
+
/** Fetch latest SKILL.md from GitHub and write to <workspace>/skills/zcloak-ai-agent/SKILL.md. */
|
|
32
|
+
export declare function refreshSkill(workspace: string): Promise<void>;
|
|
33
|
+
/** Add or update the zCloak.ai SKILL section in <workspace>/TOOLS.md. */
|
|
34
|
+
export declare function updateToolsMd(workspace: string): Promise<void>;
|
|
39
35
|
/**
|
|
40
36
|
* Run the pre-flight update check.
|
|
41
37
|
*
|
package/dist/pre-check.js
CHANGED
|
@@ -23,7 +23,6 @@ import fs from "fs";
|
|
|
23
23
|
import path from "path";
|
|
24
24
|
import { execSync, spawnSync } from "child_process";
|
|
25
25
|
import { fileURLToPath } from "url";
|
|
26
|
-
import { homedir } from "os";
|
|
27
26
|
import { debug, info } from "./log.js";
|
|
28
27
|
import { configDir as getConfigDir, lastUpdateCheckPath } from "./paths.js";
|
|
29
28
|
/** Environment variable set when a new process is spawned after a CLI upgrade */
|
|
@@ -41,14 +40,6 @@ const LOCAL_PACKAGE_JSON = path.join(PACKAGE_ROOT, "package.json");
|
|
|
41
40
|
const CONFIG_DIR = getConfigDir();
|
|
42
41
|
/** Timestamp file recording when we last checked for updates */
|
|
43
42
|
const CHECK_FILE = lastUpdateCheckPath();
|
|
44
|
-
/** Instruction appended when the current workspace should register the zCloak skill in TOOLS.md. */
|
|
45
|
-
const TOOLS_MD_ZCLOAK_SKILL_APPEND_HINT = [
|
|
46
|
-
"[zcloak-ai] add or update(may exists) following to TOOLS.md in openclaw workspace:",
|
|
47
|
-
"## zCloak.ai SKILL",
|
|
48
|
-
"- Skill location: <openclaw_workspace>/skills/zcloak-ai-agent/",
|
|
49
|
-
"- Upgrade URL: https://raw.githubusercontent.com/zCloak-Network/ai-agent/refs/heads/main/SKILL.md",
|
|
50
|
-
"- Used for all zCloak-related operations: zMail, identity creation, signing, 2FA-protected delete, on-chain actions, encryption, etc.",
|
|
51
|
-
].join("\n");
|
|
52
43
|
// ---------------------------------------------------------------------------
|
|
53
44
|
// Tuning constants
|
|
54
45
|
// ---------------------------------------------------------------------------
|
|
@@ -184,115 +175,87 @@ function spawnPostUpgradeCheck() {
|
|
|
184
175
|
debug("pre-check post-upgrade spawn completed");
|
|
185
176
|
}
|
|
186
177
|
// ---------------------------------------------------------------------------
|
|
187
|
-
// Post-upgrade: workspace
|
|
178
|
+
// Post-upgrade: workspace + skill helpers (shared with onboard.ts)
|
|
188
179
|
// ---------------------------------------------------------------------------
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Walk up from cwd looking for an OpenClaw workspace marker.
|
|
198
|
-
*
|
|
199
|
-
* OpenClaw workspaces contain a `.clawhub/` or `.clawdhub/` directory
|
|
200
|
-
* (created by `npx clawhub install`). Inheriting the agent's cwd lets us
|
|
201
|
-
* find the workspace without reading any config file.
|
|
202
|
-
*
|
|
203
|
-
* Returns the workspace root if found, null otherwise.
|
|
204
|
-
*/
|
|
205
|
-
function resolveWorkspaceFromCwd() {
|
|
206
|
-
const MARKERS = [".clawhub", ".clawdhub"];
|
|
207
|
-
let dir = process.cwd();
|
|
208
|
-
// eslint-disable-next-line no-constant-condition
|
|
209
|
-
while (true) {
|
|
210
|
-
for (const marker of MARKERS) {
|
|
211
|
-
if (fs.existsSync(path.join(dir, marker))) {
|
|
212
|
-
debug("post-upgrade workspace resolved from cwd walk", { dir, marker });
|
|
213
|
-
return dir;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
const parent = path.dirname(dir);
|
|
217
|
-
if (parent === dir)
|
|
218
|
-
break; // reached filesystem root
|
|
219
|
-
dir = parent;
|
|
220
|
-
}
|
|
221
|
-
return null;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Read `agents.defaults.workspace` from an OpenClaw config file.
|
|
225
|
-
* Returns null if the file is absent, unparseable, or the field is missing.
|
|
226
|
-
*/
|
|
227
|
-
function readWorkspaceFromConfig(configPath) {
|
|
228
|
-
try {
|
|
229
|
-
const raw = fs.readFileSync(configPath, "utf-8");
|
|
230
|
-
const json = JSON.parse(raw);
|
|
231
|
-
const agents = json["agents"];
|
|
232
|
-
const defaults = agents?.["defaults"];
|
|
233
|
-
const workspace = defaults?.["workspace"];
|
|
234
|
-
if (typeof workspace === "string" && workspace.length > 0) {
|
|
235
|
-
debug("post-upgrade workspace resolved from config", { configPath, workspace });
|
|
236
|
-
return workspace;
|
|
237
|
-
}
|
|
238
|
-
return null;
|
|
239
|
-
}
|
|
240
|
-
catch {
|
|
241
|
-
return null;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Resolve the OpenClaw workspace directory.
|
|
246
|
-
*
|
|
247
|
-
* Priority:
|
|
248
|
-
* 1. OPENCLAW_WORKDIR / CLAWHUB_WORKDIR environment variable
|
|
249
|
-
* 2. ~/.openclaw/openclaw.json → agents.defaults.workspace
|
|
250
|
-
* 3. ~/.clawdbot/clawdbot.json → agents.defaults.workspace (legacy)
|
|
251
|
-
* 4. Fallback: ~/.openclaw/workspace
|
|
252
|
-
*/
|
|
180
|
+
const SKILL_REMOTE_URL = "https://raw.githubusercontent.com/zCloak-Network/ai-agent/refs/heads/main/SKILL.md";
|
|
181
|
+
const TOOLS_MD_SECTION = [
|
|
182
|
+
"## zCloak.ai SKILL",
|
|
183
|
+
"- Skill location: <openclaw_workspace>/skills/zcloak-ai-agent/",
|
|
184
|
+
"- Upgrade URL: https://raw.githubusercontent.com/zCloak-Network/ai-agent/refs/heads/main/SKILL.md",
|
|
185
|
+
"- Used for all zCloak-related operations: zMail, identity creation, signing, 2FA-protected delete, on-chain actions, encryption, etc.",
|
|
186
|
+
].join("\n");
|
|
187
|
+
/** Returns the OpenClaw workspace — inherited cwd from the agent process. */
|
|
253
188
|
export function resolveOpenClawWorkspace() {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
process.env["CLAWDHUB_WORKDIR"];
|
|
258
|
-
if (envWorkdir) {
|
|
259
|
-
debug("post-upgrade workspace resolved from env", { envWorkdir });
|
|
260
|
-
return envWorkdir;
|
|
261
|
-
}
|
|
262
|
-
// 2. Walk up from cwd — inherits the agent process's working directory
|
|
263
|
-
const cwdWorkspace = resolveWorkspaceFromCwd();
|
|
264
|
-
// 3 & 4. Config files
|
|
265
|
-
let configWorkspace = null;
|
|
266
|
-
for (const configPath of OPENCLAW_CONFIG_CANDIDATES) {
|
|
267
|
-
configWorkspace = readWorkspaceFromConfig(configPath);
|
|
268
|
-
if (configWorkspace)
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
info(`[zcloak-ai] post-upgrade workspace candidates — cwd-walk: ${cwdWorkspace ?? "not found"} | config: ${configWorkspace ?? "not found"}`);
|
|
272
|
-
if (cwdWorkspace)
|
|
273
|
-
return cwdWorkspace;
|
|
274
|
-
if (configWorkspace)
|
|
275
|
-
return configWorkspace;
|
|
276
|
-
debug("post-upgrade workspace using default fallback", { workspace: DEFAULT_WORKSPACE });
|
|
277
|
-
return DEFAULT_WORKSPACE;
|
|
189
|
+
const workspace = process.cwd();
|
|
190
|
+
info(`[zcloak-ai] workspace: ${workspace}`);
|
|
191
|
+
return workspace;
|
|
278
192
|
}
|
|
279
193
|
// ---------------------------------------------------------------------------
|
|
280
|
-
//
|
|
194
|
+
// Reserved: config-file / cwd-walk workspace resolution (may be needed later)
|
|
281
195
|
// ---------------------------------------------------------------------------
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
196
|
+
// const OPENCLAW_CONFIG_CANDIDATES = [
|
|
197
|
+
// path.join(homedir(), ".openclaw", "openclaw.json"),
|
|
198
|
+
// path.join(homedir(), ".clawdbot", "clawdbot.json"), // legacy
|
|
199
|
+
// ];
|
|
200
|
+
// const DEFAULT_WORKSPACE = path.join(homedir(), ".openclaw", "workspace");
|
|
201
|
+
//
|
|
202
|
+
// function readWorkspaceFromConfig(configPath: string): string | null {
|
|
203
|
+
// try {
|
|
204
|
+
// const raw = fs.readFileSync(configPath, "utf-8");
|
|
205
|
+
// const json = JSON.parse(raw) as Record<string, unknown>;
|
|
206
|
+
// const agents = json["agents"] as Record<string, unknown> | undefined;
|
|
207
|
+
// const defaults = agents?.["defaults"] as Record<string, unknown> | undefined;
|
|
208
|
+
// const workspace = defaults?.["workspace"];
|
|
209
|
+
// if (typeof workspace === "string" && workspace.length > 0) return workspace;
|
|
210
|
+
// return null;
|
|
211
|
+
// } catch { return null; }
|
|
212
|
+
// }
|
|
213
|
+
//
|
|
214
|
+
// function resolveWorkspaceFromCwd(): string | null {
|
|
215
|
+
// const MARKERS = [".clawhub", ".clawdhub"];
|
|
216
|
+
// let dir = process.cwd();
|
|
217
|
+
// while (true) {
|
|
218
|
+
// for (const marker of MARKERS) {
|
|
219
|
+
// if (fs.existsSync(path.join(dir, marker))) return dir;
|
|
220
|
+
// }
|
|
221
|
+
// const parent = path.dirname(dir);
|
|
222
|
+
// if (parent === dir) break;
|
|
223
|
+
// dir = parent;
|
|
224
|
+
// }
|
|
225
|
+
// return null;
|
|
226
|
+
// }
|
|
227
|
+
//
|
|
228
|
+
// Full priority chain when process.cwd() is not sufficient:
|
|
229
|
+
// 1. OPENCLAW_WORKDIR / CLAWHUB_WORKDIR env var
|
|
230
|
+
// 2. resolveWorkspaceFromCwd() — walk up from cwd looking for .clawhub/
|
|
231
|
+
// 3. readWorkspaceFromConfig() — ~/.openclaw/openclaw.json → agents.defaults.workspace
|
|
232
|
+
// 4. readWorkspaceFromConfig() — ~/.clawdbot/clawdbot.json (legacy)
|
|
233
|
+
// 5. DEFAULT_WORKSPACE — ~/.openclaw/workspace
|
|
234
|
+
/** Fetch latest SKILL.md from GitHub and write to <workspace>/skills/zcloak-ai-agent/SKILL.md. */
|
|
235
|
+
export async function refreshSkill(workspace) {
|
|
236
|
+
const targetDir = path.join(workspace, "skills", "zcloak-ai-agent");
|
|
237
|
+
const targetFile = path.join(targetDir, "SKILL.md");
|
|
238
|
+
const res = await fetch(SKILL_REMOTE_URL);
|
|
239
|
+
if (!res.ok)
|
|
240
|
+
throw new Error(`Failed to fetch SKILL.md: ${res.status}`);
|
|
241
|
+
const content = await res.text();
|
|
242
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
243
|
+
fs.writeFileSync(targetFile, content, "utf-8");
|
|
244
|
+
info(`[zcloak-ai] SKILL.md → ${targetFile}`);
|
|
289
245
|
}
|
|
290
|
-
/**
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
246
|
+
/** Add or update the zCloak.ai SKILL section in <workspace>/TOOLS.md. */
|
|
247
|
+
export async function updateToolsMd(workspace) {
|
|
248
|
+
const toolsPath = path.join(workspace, "TOOLS.md");
|
|
249
|
+
let existing = "";
|
|
250
|
+
try {
|
|
251
|
+
existing = fs.readFileSync(toolsPath, "utf-8");
|
|
252
|
+
}
|
|
253
|
+
catch { /* not yet created */ }
|
|
254
|
+
const updated = existing.includes("## zCloak.ai SKILL")
|
|
255
|
+
? existing.replace(/## zCloak\.ai SKILL[\s\S]*?(?=\n## |\s*$)/, TOOLS_MD_SECTION)
|
|
256
|
+
: (existing ? `${existing.trimEnd()}\n\n${TOOLS_MD_SECTION}\n` : `${TOOLS_MD_SECTION}\n`);
|
|
257
|
+
fs.writeFileSync(toolsPath, updated, "utf-8");
|
|
258
|
+
info(`[zcloak-ai] TOOLS.md → ${toolsPath}`);
|
|
296
259
|
}
|
|
297
260
|
// ---------------------------------------------------------------------------
|
|
298
261
|
// Post-upgrade entry point
|
|
@@ -308,8 +271,18 @@ async function runPostUpgradeActions() {
|
|
|
308
271
|
debug("pre-check running post-upgrade actions (new version)");
|
|
309
272
|
const workspace = resolveOpenClawWorkspace();
|
|
310
273
|
info(`[zcloak-ai] post-upgrade workspace: ${workspace}`);
|
|
311
|
-
|
|
312
|
-
|
|
274
|
+
try {
|
|
275
|
+
await refreshSkill(workspace);
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
debug("post-upgrade refreshSkill failed", e);
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
await updateToolsMd(workspace);
|
|
282
|
+
}
|
|
283
|
+
catch (e) {
|
|
284
|
+
debug("post-upgrade updateToolsMd failed", e);
|
|
285
|
+
}
|
|
313
286
|
debug("pre-check post-upgrade actions completed");
|
|
314
287
|
}
|
|
315
288
|
/**
|
package/dist/pre-check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-check.js","sourceRoot":"","sources":["../src/pre-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pre-check.js","sourceRoot":"","sources":["../src/pre-check.ts"],"names":[],"mappings":"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"}
|