@zcloak/ai-agent 1.0.53 → 1.0.54
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.d.ts +1 -3
- package/dist/onboard.js +51 -11
- package/dist/onboard.js.map +1 -1
- package/package.json +1 -1
package/dist/onboard.d.ts
CHANGED
|
@@ -5,13 +5,11 @@
|
|
|
5
5
|
* 1. Resolve OpenClaw workspace path
|
|
6
6
|
* 2. Install SKILL.md into workspace/skills/zcloak-ai-agent/
|
|
7
7
|
* 3. Update TOOLS.md in the workspace
|
|
8
|
-
* 4. Initialize identity (
|
|
8
|
+
* 4. Initialize identity (load existing or generate new)
|
|
9
9
|
* 5. Register with zMail
|
|
10
10
|
*
|
|
11
11
|
* Invoked via:
|
|
12
12
|
* npx @zcloak/ai-agent@latest onboard
|
|
13
|
-
*
|
|
14
|
-
* Workspace resolution is shared with runPostUpgradeActions() in pre-check.ts.
|
|
15
13
|
*/
|
|
16
14
|
export declare function runOnboard(): Promise<void>;
|
|
17
15
|
//# sourceMappingURL=onboard.d.ts.map
|
package/dist/onboard.js
CHANGED
|
@@ -5,26 +5,66 @@
|
|
|
5
5
|
* 1. Resolve OpenClaw workspace path
|
|
6
6
|
* 2. Install SKILL.md into workspace/skills/zcloak-ai-agent/
|
|
7
7
|
* 3. Update TOOLS.md in the workspace
|
|
8
|
-
* 4. Initialize identity (
|
|
8
|
+
* 4. Initialize identity (load existing or generate new)
|
|
9
9
|
* 5. Register with zMail
|
|
10
10
|
*
|
|
11
11
|
* Invoked via:
|
|
12
12
|
* npx @zcloak/ai-agent@latest onboard
|
|
13
|
-
*
|
|
14
|
-
* Workspace resolution is shared with runPostUpgradeActions() in pre-check.ts.
|
|
15
13
|
*/
|
|
14
|
+
import { createHash } from "crypto";
|
|
15
|
+
import { schnorr } from "@noble/curves/secp256k1";
|
|
16
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
16
17
|
import * as log from "./log.js";
|
|
17
18
|
import { resolveOpenClawWorkspace, refreshSkill, updateToolsMd } from "./pre-check.js";
|
|
19
|
+
import { ensureIdentityFile, loadIdentityFromPath, DEFAULT_PEM_PATH } from "./identity.js";
|
|
20
|
+
import { schnorrPubkeyFromSpki } from "./vetkey.js";
|
|
21
|
+
import config from "./config.js";
|
|
18
22
|
// ---------------------------------------------------------------------------
|
|
19
|
-
//
|
|
23
|
+
// Step 4 — Initialize identity
|
|
20
24
|
// ---------------------------------------------------------------------------
|
|
21
|
-
/**
|
|
25
|
+
/** Load existing identity or generate a new one. Returns the PEM path. */
|
|
22
26
|
async function initIdentity() {
|
|
23
|
-
|
|
27
|
+
const { path: pemPath, created } = ensureIdentityFile(DEFAULT_PEM_PATH);
|
|
28
|
+
const identity = loadIdentityFromPath(pemPath);
|
|
29
|
+
const principal = identity.getPrincipal().toText();
|
|
30
|
+
if (created) {
|
|
31
|
+
log.info(`[zcloak-ai] onboard [4/5] identity generated: ${principal}`);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
log.info(`[zcloak-ai] onboard [4/5] identity loaded: ${principal}`);
|
|
35
|
+
}
|
|
36
|
+
return pemPath;
|
|
24
37
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Step 5 — Register with zMail
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
/** Register this agent with the zMail server. No-op if already registered. */
|
|
42
|
+
async function registerZmail(pemPath) {
|
|
43
|
+
const identity = loadIdentityFromPath(pemPath);
|
|
44
|
+
const principal = identity.getPrincipal().toText();
|
|
45
|
+
const spkiHex = Buffer.from(identity.getPublicKey().toDer()).toString("hex");
|
|
46
|
+
const schnorrPubkey = schnorrPubkeyFromSpki(spkiHex);
|
|
47
|
+
const privateKeyHex = (identity.toJSON())[1];
|
|
48
|
+
const zmailUrl = (process.env["ZMAIL_URL"] ?? config.zmail_url).replace(/\/+$/, "");
|
|
49
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
50
|
+
const challenge = `register:${principal}:${spkiHex}:${schnorrPubkey}:${timestamp}`;
|
|
51
|
+
const msgHash = createHash("sha256").update(challenge, "utf8").digest("hex");
|
|
52
|
+
const sig = bytesToHex(schnorr.sign(msgHash, privateKeyHex));
|
|
53
|
+
const res = await fetch(`${zmailUrl}/v1/register`, {
|
|
54
|
+
method: "POST",
|
|
55
|
+
headers: { "Content-Type": "application/json" },
|
|
56
|
+
body: JSON.stringify({ ai_id: principal, public_key_spki: spkiHex, schnorr_pubkey: schnorrPubkey, timestamp, sig }),
|
|
57
|
+
});
|
|
58
|
+
if (res.status === 201) {
|
|
59
|
+
log.info(`[zcloak-ai] onboard [5/5] zMail registered: ${principal}`);
|
|
60
|
+
}
|
|
61
|
+
else if (res.status === 409) {
|
|
62
|
+
log.info(`[zcloak-ai] onboard [5/5] zMail already registered`);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const body = await res.json();
|
|
66
|
+
throw new Error(`zMail registration failed: ${String(body["error"] ?? `HTTP ${res.status}`)}`);
|
|
67
|
+
}
|
|
28
68
|
}
|
|
29
69
|
// ---------------------------------------------------------------------------
|
|
30
70
|
// Entry point
|
|
@@ -34,8 +74,8 @@ export async function runOnboard() {
|
|
|
34
74
|
const workspace = resolveOpenClawWorkspace();
|
|
35
75
|
await refreshSkill(workspace);
|
|
36
76
|
await updateToolsMd(workspace);
|
|
37
|
-
await initIdentity();
|
|
38
|
-
await registerZmail();
|
|
77
|
+
const pemPath = await initIdentity();
|
|
78
|
+
await registerZmail(pemPath);
|
|
39
79
|
log.info("[zcloak-ai] onboard complete.");
|
|
40
80
|
}
|
|
41
81
|
//# sourceMappingURL=onboard.js.map
|
package/dist/onboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"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"}
|