@zcloak/ai-agent 1.0.23 → 1.0.25
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/SKILL.md +88 -117
- package/dist/bind.js +9 -8
- package/dist/bind.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +61 -37
- package/dist/cli.js.map +1 -1
- package/dist/compat.d.ts +32 -0
- package/dist/compat.js +91 -0
- package/dist/compat.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/daemon.d.ts +14 -24
- package/dist/daemon.js +44 -83
- package/dist/daemon.js.map +1 -1
- package/dist/delete.js +8 -7
- package/dist/delete.js.map +1 -1
- package/dist/doc.js +4 -3
- package/dist/doc.js.map +1 -1
- package/dist/feed.js +2 -1
- package/dist/feed.js.map +1 -1
- package/dist/identity.js +2 -1
- package/dist/identity.js.map +1 -1
- package/dist/identity_cmd.js +2 -1
- package/dist/identity_cmd.js.map +1 -1
- package/dist/log.js +3 -6
- package/dist/log.js.map +1 -1
- package/dist/mailbox-store.d.ts +92 -0
- package/dist/mailbox-store.js +166 -0
- package/dist/mailbox-store.js.map +1 -0
- package/dist/paths.d.ts +39 -0
- package/dist/paths.js +77 -0
- package/dist/paths.js.map +1 -0
- package/dist/pow.js +2 -1
- package/dist/pow.js.map +1 -1
- package/dist/pre-check.d.ts +4 -4
- package/dist/pre-check.js +25 -9
- package/dist/pre-check.js.map +1 -1
- package/dist/register.js +200 -35
- package/dist/register.js.map +1 -1
- package/dist/rpc.d.ts +4 -6
- package/dist/rpc.js +3 -3
- package/dist/rpc.js.map +1 -1
- package/dist/serve.d.ts +4 -30
- package/dist/serve.js +22 -90
- package/dist/serve.js.map +1 -1
- package/dist/session.js +4 -3
- package/dist/session.js.map +1 -1
- package/dist/sign.js +9 -8
- package/dist/sign.js.map +1 -1
- package/dist/social.js +6 -5
- package/dist/social.js.map +1 -1
- package/dist/types/registry.d.ts +1 -1
- package/dist/types/registry.js +1 -1
- package/dist/types/sign-event.d.ts +1 -1
- package/dist/types/sign-event.js +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/verify.js +3 -2
- package/dist/verify.js.map +1 -1
- package/dist/vetkey.d.ts +18 -15
- package/dist/vetkey.js +182 -91
- package/dist/vetkey.js.map +1 -1
- package/dist/zmail.d.ts +7 -3
- package/dist/zmail.js +316 -20
- package/dist/zmail.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/compat.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backward compatibility — migrate legacy ~/.vetkey-tool/ to ~/.config/zcloak/run/
|
|
3
|
+
*
|
|
4
|
+
* This module is a standalone migration helper. It can be safely removed
|
|
5
|
+
* once all users have been migrated (after a few release cycles).
|
|
6
|
+
*
|
|
7
|
+
* Migration logic:
|
|
8
|
+
* 1. If ~/.vetkey-tool/ does not exist → nothing to do
|
|
9
|
+
* 2. If ~/.config/zcloak/run/ does not exist → create it
|
|
10
|
+
* 3. Move all files (*.pid, *.sock, *-daemon.log) from old dir to new dir
|
|
11
|
+
* 4. Remove the old directory if it's now empty
|
|
12
|
+
* 5. Log a one-time migration notice
|
|
13
|
+
*
|
|
14
|
+
* This function is idempotent — safe to call multiple times.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: When removing this file, also remove:
|
|
17
|
+
* - The `legacyRuntimeDir()` export from src/paths.ts
|
|
18
|
+
* - The `migrateLegacyRuntimeDir()` call from src/cli.ts
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Migrate daemon runtime files from the legacy directory (~/.vetkey-tool/)
|
|
22
|
+
* to the new unified location (~/.config/zcloak/run/).
|
|
23
|
+
*
|
|
24
|
+
* - Only moves .pid, .sock, and .log files (whitelist filter)
|
|
25
|
+
* - Skips files that already exist in the new directory to avoid
|
|
26
|
+
* overwriting active daemon artifacts regenerated after a partial migration
|
|
27
|
+
* - Skips files that cannot be moved (e.g. in-use sockets)
|
|
28
|
+
* - Removes the old directory if empty after migration
|
|
29
|
+
* - Idempotent: safe to call on every CLI invocation
|
|
30
|
+
*/
|
|
31
|
+
export declare function migrateLegacyRuntimeDir(): void;
|
|
32
|
+
//# sourceMappingURL=compat.d.ts.map
|
package/dist/compat.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backward compatibility — migrate legacy ~/.vetkey-tool/ to ~/.config/zcloak/run/
|
|
3
|
+
*
|
|
4
|
+
* This module is a standalone migration helper. It can be safely removed
|
|
5
|
+
* once all users have been migrated (after a few release cycles).
|
|
6
|
+
*
|
|
7
|
+
* Migration logic:
|
|
8
|
+
* 1. If ~/.vetkey-tool/ does not exist → nothing to do
|
|
9
|
+
* 2. If ~/.config/zcloak/run/ does not exist → create it
|
|
10
|
+
* 3. Move all files (*.pid, *.sock, *-daemon.log) from old dir to new dir
|
|
11
|
+
* 4. Remove the old directory if it's now empty
|
|
12
|
+
* 5. Log a one-time migration notice
|
|
13
|
+
*
|
|
14
|
+
* This function is idempotent — safe to call multiple times.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: When removing this file, also remove:
|
|
17
|
+
* - The `legacyRuntimeDir()` export from src/paths.ts
|
|
18
|
+
* - The `migrateLegacyRuntimeDir()` call from src/cli.ts
|
|
19
|
+
*/
|
|
20
|
+
import { existsSync, mkdirSync, readdirSync, renameSync, rmdirSync } from 'fs';
|
|
21
|
+
import { join, extname } from 'path';
|
|
22
|
+
import { legacyRuntimeDir, runtimeDir } from './paths.js';
|
|
23
|
+
import * as log from './log.js';
|
|
24
|
+
/**
|
|
25
|
+
* File extensions that belong to daemon runtime artifacts.
|
|
26
|
+
* Only files matching these extensions are migrated; everything else
|
|
27
|
+
* (.DS_Store, editor backups, etc.) is left in the old directory.
|
|
28
|
+
*/
|
|
29
|
+
const MIGRATABLE_EXTENSIONS = new Set(['.pid', '.sock', '.log']);
|
|
30
|
+
/**
|
|
31
|
+
* Migrate daemon runtime files from the legacy directory (~/.vetkey-tool/)
|
|
32
|
+
* to the new unified location (~/.config/zcloak/run/).
|
|
33
|
+
*
|
|
34
|
+
* - Only moves .pid, .sock, and .log files (whitelist filter)
|
|
35
|
+
* - Skips files that already exist in the new directory to avoid
|
|
36
|
+
* overwriting active daemon artifacts regenerated after a partial migration
|
|
37
|
+
* - Skips files that cannot be moved (e.g. in-use sockets)
|
|
38
|
+
* - Removes the old directory if empty after migration
|
|
39
|
+
* - Idempotent: safe to call on every CLI invocation
|
|
40
|
+
*/
|
|
41
|
+
export function migrateLegacyRuntimeDir() {
|
|
42
|
+
const oldDir = legacyRuntimeDir();
|
|
43
|
+
// Nothing to migrate if old directory doesn't exist
|
|
44
|
+
if (!existsSync(oldDir))
|
|
45
|
+
return;
|
|
46
|
+
const newDir = runtimeDir();
|
|
47
|
+
if (!existsSync(newDir)) {
|
|
48
|
+
mkdirSync(newDir, { recursive: true, mode: 0o700 });
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const files = readdirSync(oldDir);
|
|
52
|
+
for (const file of files) {
|
|
53
|
+
// Whitelist: only migrate known daemon runtime file types
|
|
54
|
+
if (!MIGRATABLE_EXTENSIONS.has(extname(file))) {
|
|
55
|
+
log.debug(`compat: skipping non-runtime file ${file}`);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const dst = join(newDir, file);
|
|
59
|
+
// Never overwrite: if the file already exists in the new directory,
|
|
60
|
+
// it was regenerated by a daemon running on the new path — the old
|
|
61
|
+
// copy is stale and should just be left for cleanup.
|
|
62
|
+
if (existsSync(dst)) {
|
|
63
|
+
log.debug(`compat: ${file} already exists in new dir, skipping`);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const src = join(oldDir, file);
|
|
67
|
+
try {
|
|
68
|
+
renameSync(src, dst);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// File may be in use by an active daemon — skip silently.
|
|
72
|
+
// It will be picked up on the next CLI invocation after the daemon restarts.
|
|
73
|
+
log.debug(`compat: could not move ${src} → ${dst}, skipping (file may be in use)`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Try to remove the old directory if it's now empty
|
|
77
|
+
try {
|
|
78
|
+
rmdirSync(oldDir);
|
|
79
|
+
log.info('Migrated daemon runtime files from ~/.vetkey-tool/ to ~/.config/zcloak/run/');
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Directory not empty (non-runtime files or skipped files remain) — that's fine.
|
|
83
|
+
log.debug('compat: ~/.vetkey-tool/ not empty yet, will retry on next run');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
// Migration is best-effort — never block the CLI
|
|
88
|
+
log.debug(`compat: migration failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,oDAAoD;IACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IAEhC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,0DAA0D;YAC1D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAE/B,oEAAoE;YACpE,mEAAmE;YACnE,qDAAqD;YACrD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,sCAAsC,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;gBAC1D,6EAA6E;gBAC7E,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,MAAM,GAAG,iCAAiC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;YACjF,GAAG,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iDAAiD;QACjD,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -25,7 +25,7 @@ const config = {
|
|
|
25
25
|
// Social platform API base URL
|
|
26
26
|
social_url: 'https://social.zcloak.ai',
|
|
27
27
|
// zMail server API base URL (encrypted mail service)
|
|
28
|
-
zmail_url: 'https://
|
|
28
|
+
zmail_url: 'https://zmail-api-822734913522.asia-southeast1.run.app',
|
|
29
29
|
};
|
|
30
30
|
export default config;
|
|
31
31
|
/**
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,GAAc;IACxB,eAAe;IACf,WAAW,EAAE;QACX,QAAQ,EAAE,6BAA6B,EAAK,oBAAoB;QAChE,UAAU,EAAE,6BAA6B,EAAG,sBAAsB;KACnE;IACD,mCAAmC;IACnC,SAAS,EAAE,CAAC;IACZ,yBAAyB;IACzB,QAAQ,EAAE,iCAAiC;IAC3C,gCAAgC;IAChC,WAAW,EAAE,+BAA+B;IAC5C,4BAA4B;IAC5B,SAAS,EAAE,gCAAgC;IAC3C,oEAAoE;IACpE,SAAS,EAAE,gCAAgC;IAC3C,iDAAiD;IACjD,WAAW,EAAE,8BAA8B;IAC3C,+BAA+B;IAC/B,UAAU,EAAE,0BAA0B;IACtC,qDAAqD;IACrD,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,GAAc;IACxB,eAAe;IACf,WAAW,EAAE;QACX,QAAQ,EAAE,6BAA6B,EAAK,oBAAoB;QAChE,UAAU,EAAE,6BAA6B,EAAG,sBAAsB;KACnE;IACD,mCAAmC;IACnC,SAAS,EAAE,CAAC;IACZ,yBAAyB;IACzB,QAAQ,EAAE,iCAAiC;IAC3C,gCAAgC;IAChC,WAAW,EAAE,+BAA+B;IAC5C,4BAA4B;IAC5B,SAAS,EAAE,gCAAgC;IAC3C,oEAAoE;IACpE,SAAS,EAAE,gCAAgC;IAC3C,iDAAiD;IACjD,WAAW,EAAE,8BAA8B;IAC3C,+BAA+B;IAC/B,UAAU,EAAE,0BAA0B;IACtC,qDAAqD;IACrD,SAAS,EAAE,wDAAwD;CACpE,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Daemon Lifecycle Management — PID file, socket path, runtime directory
|
|
3
3
|
*
|
|
4
4
|
* Manages the daemon's file system footprint:
|
|
5
|
-
* - Runtime directory: ~/.
|
|
6
|
-
* - PID file: ~/.
|
|
7
|
-
* - Socket file: ~/.
|
|
5
|
+
* - Runtime directory: ~/.config/zcloak/run/ (created with 0o700 permissions)
|
|
6
|
+
* - PID file: ~/.config/zcloak/run/{sanitized_id}.pid
|
|
7
|
+
* - Socket file: ~/.config/zcloak/run/{sanitized_id}.sock
|
|
8
8
|
*
|
|
9
9
|
* Prevents duplicate daemon instances by checking PID files and verifying
|
|
10
10
|
* whether the process is still alive. Stale PID/socket files from crashed
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
* process exit handlers, ensuring PID and socket files are removed
|
|
15
15
|
* even on unexpected termination (SIGTERM, SIGINT, uncaught exceptions).
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
export declare function runtimeDir(): string;
|
|
17
|
+
export { runtimeDir } from './paths.js';
|
|
19
18
|
/**
|
|
20
19
|
* Sanitize a derivation ID for use in file names.
|
|
21
20
|
*
|
|
@@ -35,19 +34,21 @@ export declare function pidPath(derivationId: string): string;
|
|
|
35
34
|
/**
|
|
36
35
|
* Check whether a daemon for the given derivation ID is alive.
|
|
37
36
|
*
|
|
38
|
-
*
|
|
39
|
-
* returns a simple boolean — suitable for pre-checks where the caller wants to
|
|
37
|
+
* Returns a simple boolean — suitable for pre-checks where the caller wants to
|
|
40
38
|
* decide whether to auto-start a daemon without catching exceptions.
|
|
41
39
|
*
|
|
42
|
-
* Checks:
|
|
43
|
-
* 1. PID file exists
|
|
44
|
-
* 2.
|
|
45
|
-
*
|
|
40
|
+
* Checks (in order):
|
|
41
|
+
* 1. If PID file exists and the recorded PID is alive → return socket exists
|
|
42
|
+
* 2. If PID file is missing/corrupt but socket file exists → return true
|
|
43
|
+
* (conservatively assume the daemon is alive to prevent orphan creation;
|
|
44
|
+
* callers like cmdStop should attempt socket shutdown in this case)
|
|
45
|
+
* 3. If neither PID nor socket exists → return false
|
|
46
46
|
*
|
|
47
|
-
* If stale PID/socket files are found (process dead), they are
|
|
47
|
+
* If stale PID/socket files are found (process confirmed dead), they are
|
|
48
|
+
* cleaned up.
|
|
48
49
|
*
|
|
49
50
|
* @param derivationId - Full derivation ID (e.g. "{principal}:Mail")
|
|
50
|
-
* @returns true if the daemon is running and connectable
|
|
51
|
+
* @returns true if the daemon is (or may be) running and connectable
|
|
51
52
|
*/
|
|
52
53
|
export declare function isDaemonAlive(derivationId: string): boolean;
|
|
53
54
|
/**
|
|
@@ -98,15 +99,4 @@ export declare class DaemonRuntime {
|
|
|
98
99
|
*/
|
|
99
100
|
destroy(): void;
|
|
100
101
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Find the socket path for a running daemon (used by stop/status commands).
|
|
103
|
-
*
|
|
104
|
-
* Checks if the socket file exists and the daemon is actually running
|
|
105
|
-
* (via PID file check).
|
|
106
|
-
*
|
|
107
|
-
* @param derivationId - Derivation ID to look up
|
|
108
|
-
* @returns Socket path if daemon is running
|
|
109
|
-
* @throws ToolError if no running daemon is found
|
|
110
|
-
*/
|
|
111
|
-
export declare function findRunningDaemon(derivationId: string): string;
|
|
112
102
|
//# sourceMappingURL=daemon.d.ts.map
|
package/dist/daemon.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Daemon Lifecycle Management — PID file, socket path, runtime directory
|
|
3
3
|
*
|
|
4
4
|
* Manages the daemon's file system footprint:
|
|
5
|
-
* - Runtime directory: ~/.
|
|
6
|
-
* - PID file: ~/.
|
|
7
|
-
* - Socket file: ~/.
|
|
5
|
+
* - Runtime directory: ~/.config/zcloak/run/ (created with 0o700 permissions)
|
|
6
|
+
* - PID file: ~/.config/zcloak/run/{sanitized_id}.pid
|
|
7
|
+
* - Socket file: ~/.config/zcloak/run/{sanitized_id}.sock
|
|
8
8
|
*
|
|
9
9
|
* Prevents duplicate daemon instances by checking PID files and verifying
|
|
10
10
|
* whether the process is still alive. Stale PID/socket files from crashed
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { existsSync, mkdirSync, readFileSync, writeFileSync, unlinkSync } from 'fs';
|
|
18
18
|
import { join } from 'path';
|
|
19
|
-
import { homedir } from 'os';
|
|
20
19
|
import crypto from 'crypto';
|
|
21
|
-
import
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
import * as log from './log.js';
|
|
21
|
+
import { runtimeDir as _runtimeDir } from './paths.js';
|
|
22
|
+
// Re-export runtimeDir from paths.ts so existing consumers (tests, vetkey.ts)
|
|
23
|
+
// can continue importing from daemon.ts without changes.
|
|
24
|
+
export { runtimeDir } from './paths.js';
|
|
24
25
|
/**
|
|
25
26
|
* Maximum socket path length.
|
|
26
27
|
* macOS limits Unix socket paths to 104 bytes, Linux to 108 bytes.
|
|
@@ -30,10 +31,6 @@ const MAX_SOCKET_PATH_LEN = 100;
|
|
|
30
31
|
// ============================================================================
|
|
31
32
|
// Path Utilities
|
|
32
33
|
// ============================================================================
|
|
33
|
-
/** Get the runtime directory path (~/.vetkey-tool/) */
|
|
34
|
-
export function runtimeDir() {
|
|
35
|
-
return join(homedir(), RUNTIME_DIR_NAME);
|
|
36
|
-
}
|
|
37
34
|
/**
|
|
38
35
|
* Sanitize a derivation ID for use in file names.
|
|
39
36
|
*
|
|
@@ -51,7 +48,7 @@ export function sanitizeDerivationId(derivationId) {
|
|
|
51
48
|
.replace(/\//g, "_")
|
|
52
49
|
.replace(/\\/g, "_");
|
|
53
50
|
// Check if the full socket path would be too long
|
|
54
|
-
const dir =
|
|
51
|
+
const dir = _runtimeDir();
|
|
55
52
|
const fullPath = join(dir, `${sanitized}.sock`);
|
|
56
53
|
if (fullPath.length > MAX_SOCKET_PATH_LEN) {
|
|
57
54
|
// Use SHA-256 hash prefix for long derivation IDs
|
|
@@ -63,12 +60,12 @@ export function sanitizeDerivationId(derivationId) {
|
|
|
63
60
|
/** Get the socket file path for a derivation ID */
|
|
64
61
|
export function socketPath(derivationId) {
|
|
65
62
|
const name = sanitizeDerivationId(derivationId);
|
|
66
|
-
return join(
|
|
63
|
+
return join(_runtimeDir(), `${name}.sock`);
|
|
67
64
|
}
|
|
68
65
|
/** Get the PID file path for a derivation ID */
|
|
69
66
|
export function pidPath(derivationId) {
|
|
70
67
|
const name = sanitizeDerivationId(derivationId);
|
|
71
|
-
return join(
|
|
68
|
+
return join(_runtimeDir(), `${name}.pid`);
|
|
72
69
|
}
|
|
73
70
|
// ============================================================================
|
|
74
71
|
// Process Detection
|
|
@@ -100,41 +97,46 @@ function isProcessAlive(pid) {
|
|
|
100
97
|
/**
|
|
101
98
|
* Check whether a daemon for the given derivation ID is alive.
|
|
102
99
|
*
|
|
103
|
-
*
|
|
104
|
-
* returns a simple boolean — suitable for pre-checks where the caller wants to
|
|
100
|
+
* Returns a simple boolean — suitable for pre-checks where the caller wants to
|
|
105
101
|
* decide whether to auto-start a daemon without catching exceptions.
|
|
106
102
|
*
|
|
107
|
-
* Checks:
|
|
108
|
-
* 1. PID file exists
|
|
109
|
-
* 2.
|
|
110
|
-
*
|
|
103
|
+
* Checks (in order):
|
|
104
|
+
* 1. If PID file exists and the recorded PID is alive → return socket exists
|
|
105
|
+
* 2. If PID file is missing/corrupt but socket file exists → return true
|
|
106
|
+
* (conservatively assume the daemon is alive to prevent orphan creation;
|
|
107
|
+
* callers like cmdStop should attempt socket shutdown in this case)
|
|
108
|
+
* 3. If neither PID nor socket exists → return false
|
|
111
109
|
*
|
|
112
|
-
* If stale PID/socket files are found (process dead), they are
|
|
110
|
+
* If stale PID/socket files are found (process confirmed dead), they are
|
|
111
|
+
* cleaned up.
|
|
113
112
|
*
|
|
114
113
|
* @param derivationId - Full derivation ID (e.g. "{principal}:Mail")
|
|
115
|
-
* @returns true if the daemon is running and connectable
|
|
114
|
+
* @returns true if the daemon is (or may be) running and connectable
|
|
116
115
|
*/
|
|
117
116
|
export function isDaemonAlive(derivationId) {
|
|
118
117
|
const pid = pidPath(derivationId);
|
|
119
118
|
const sock = socketPath(derivationId);
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
119
|
+
if (existsSync(pid)) {
|
|
120
|
+
try {
|
|
121
|
+
const pidStr = readFileSync(pid, "utf-8").trim();
|
|
122
|
+
const existingPid = parseInt(pidStr, 10);
|
|
123
|
+
if (isNaN(existingPid) || !isProcessAlive(existingPid)) {
|
|
124
|
+
// Process is confirmed dead — clean up stale files
|
|
125
|
+
safeUnlink(pid);
|
|
126
|
+
safeUnlink(sock);
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
// PID is alive — also verify socket file exists
|
|
130
|
+
return existsSync(sock);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// PID file read error — fall through to socket-only check
|
|
131
134
|
}
|
|
132
|
-
// Process is alive — also verify socket file exists
|
|
133
|
-
return existsSync(sock);
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
return false;
|
|
137
135
|
}
|
|
136
|
+
// No PID file (or unreadable). If socket file still exists, conservatively
|
|
137
|
+
// treat the daemon as alive to prevent callers from spawning a new daemon
|
|
138
|
+
// that would delete the socket and orphan the existing process.
|
|
139
|
+
return existsSync(sock);
|
|
138
140
|
}
|
|
139
141
|
// ============================================================================
|
|
140
142
|
// DaemonRuntime
|
|
@@ -172,7 +174,7 @@ export class DaemonRuntime {
|
|
|
172
174
|
* @throws ToolError with code DAEMON if another instance is already running
|
|
173
175
|
*/
|
|
174
176
|
static create(derivationId) {
|
|
175
|
-
const dir =
|
|
177
|
+
const dir = _runtimeDir();
|
|
176
178
|
const sock = socketPath(derivationId);
|
|
177
179
|
const pid = pidPath(derivationId);
|
|
178
180
|
// Create runtime directory with restricted permissions (0o700)
|
|
@@ -185,25 +187,22 @@ export class DaemonRuntime {
|
|
|
185
187
|
const pidStr = readFileSync(pid, "utf-8").trim();
|
|
186
188
|
const existingPid = parseInt(pidStr, 10);
|
|
187
189
|
if (!isNaN(existingPid) && isProcessAlive(existingPid)) {
|
|
188
|
-
|
|
189
|
-
`Use 'zcloak-ai vetkey stop --key-name ...' to stop it first.`);
|
|
190
|
+
log.info(`Already running daemon detected for derivation ID "${derivationId}" (PID ${existingPid})`);
|
|
190
191
|
}
|
|
191
|
-
// Stale PID file — clean up
|
|
192
|
-
console.error(`Removing stale PID file (PID ${pidStr} no longer running)`);
|
|
193
192
|
}
|
|
194
193
|
catch (e) {
|
|
195
194
|
// Re-throw ToolError (daemon already running)
|
|
196
195
|
if (e instanceof Error && e.name === "ToolError")
|
|
197
196
|
throw e;
|
|
198
197
|
// Other errors (corrupted PID file) — just clean up
|
|
199
|
-
|
|
198
|
+
log.warn(`Removing corrupted PID file: ${e}`);
|
|
200
199
|
}
|
|
201
200
|
safeUnlink(pid);
|
|
202
201
|
safeUnlink(sock);
|
|
203
202
|
}
|
|
204
203
|
// Remove stale socket file if it exists without a PID file
|
|
205
204
|
if (existsSync(sock)) {
|
|
206
|
-
|
|
205
|
+
log.warn("Removing stale socket file");
|
|
207
206
|
safeUnlink(sock);
|
|
208
207
|
}
|
|
209
208
|
// Write current PID to PID file
|
|
@@ -245,44 +244,6 @@ export class DaemonRuntime {
|
|
|
245
244
|
this.cleanup();
|
|
246
245
|
}
|
|
247
246
|
}
|
|
248
|
-
/**
|
|
249
|
-
* Find the socket path for a running daemon (used by stop/status commands).
|
|
250
|
-
*
|
|
251
|
-
* Checks if the socket file exists and the daemon is actually running
|
|
252
|
-
* (via PID file check).
|
|
253
|
-
*
|
|
254
|
-
* @param derivationId - Derivation ID to look up
|
|
255
|
-
* @returns Socket path if daemon is running
|
|
256
|
-
* @throws ToolError if no running daemon is found
|
|
257
|
-
*/
|
|
258
|
-
export function findRunningDaemon(derivationId) {
|
|
259
|
-
const sock = socketPath(derivationId);
|
|
260
|
-
const pid = pidPath(derivationId);
|
|
261
|
-
if (!existsSync(sock)) {
|
|
262
|
-
throw daemonError(`No running daemon found for derivation_id '${derivationId}'. ` +
|
|
263
|
-
`Socket file not found: ${sock}`);
|
|
264
|
-
}
|
|
265
|
-
// Optionally verify the PID is still alive
|
|
266
|
-
if (existsSync(pid)) {
|
|
267
|
-
try {
|
|
268
|
-
const pidStr = readFileSync(pid, "utf-8").trim();
|
|
269
|
-
const existingPid = parseInt(pidStr, 10);
|
|
270
|
-
if (!isNaN(existingPid) && !isProcessAlive(existingPid)) {
|
|
271
|
-
// Stale files — clean up
|
|
272
|
-
safeUnlink(sock);
|
|
273
|
-
safeUnlink(pid);
|
|
274
|
-
throw daemonError(`Daemon for '${derivationId}' is no longer running (PID ${existingPid} is dead). ` +
|
|
275
|
-
`Stale files have been cleaned up.`);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
catch (e) {
|
|
279
|
-
if (e instanceof Error && e.name === "ToolError")
|
|
280
|
-
throw e;
|
|
281
|
-
// Corrupted PID file but socket exists — try connecting anyway
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
return sock;
|
|
285
|
-
}
|
|
286
247
|
// ============================================================================
|
|
287
248
|
// Internal Helpers
|
|
288
249
|
// ============================================================================
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/delete.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import fs from 'fs';
|
|
17
17
|
import path from 'path';
|
|
18
|
+
import * as log from './log.js';
|
|
18
19
|
// ========== Help Information ==========
|
|
19
20
|
function showHelp() {
|
|
20
21
|
console.log('zCloak.ai File Deletion with 2FA Verification Tool');
|
|
@@ -67,14 +68,14 @@ async function cmdPrepare(session, filePath) {
|
|
|
67
68
|
file_size: fileSize,
|
|
68
69
|
request_timestamp: requestTimestamp,
|
|
69
70
|
});
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
log.info(`File: ${fileName} (${fileSize} bytes)`);
|
|
72
|
+
log.info('Calling prepare_2fa_info...');
|
|
72
73
|
// Call prepare_2fa_info (update call, requires identity)
|
|
73
74
|
const actor = await session.getRegistryActor();
|
|
74
75
|
const result = await actor.prepare_2fa_info(deleteInfo);
|
|
75
76
|
// Check return result — variant { Ok: text } | { Err: text }
|
|
76
77
|
if ('Err' in result) {
|
|
77
|
-
|
|
78
|
+
log.error('2FA preparation failed:');
|
|
78
79
|
console.log(`(variant { Err = "${result.Err}" })`);
|
|
79
80
|
process.exit(1);
|
|
80
81
|
}
|
|
@@ -108,7 +109,7 @@ async function cmdCheck(session, challenge) {
|
|
|
108
109
|
console.error('Usage: zcloak-ai delete check <challenge>');
|
|
109
110
|
process.exit(1);
|
|
110
111
|
}
|
|
111
|
-
|
|
112
|
+
log.info('Querying 2FA result...');
|
|
112
113
|
// Query 2FA result (query call, can use anonymous actor)
|
|
113
114
|
const actor = await session.getAnonymousRegistryActor();
|
|
114
115
|
const result = await actor.query_2fa_result_by_challenge(challenge);
|
|
@@ -149,7 +150,7 @@ async function cmdConfirm(session, challenge, filePath) {
|
|
|
149
150
|
console.error(`Error: file not found: ${resolvedPath}`);
|
|
150
151
|
process.exit(1);
|
|
151
152
|
}
|
|
152
|
-
|
|
153
|
+
log.info('Querying 2FA result...');
|
|
153
154
|
// Query 2FA result (query call, can use anonymous actor)
|
|
154
155
|
const actor = await session.getAnonymousRegistryActor();
|
|
155
156
|
const result = await actor.query_2fa_result_by_challenge(challenge);
|
|
@@ -169,7 +170,7 @@ async function cmdConfirm(session, challenge, filePath) {
|
|
|
169
170
|
}
|
|
170
171
|
// 2FA confirmed — proceed with file deletion
|
|
171
172
|
const fileName = path.basename(resolvedPath);
|
|
172
|
-
|
|
173
|
+
log.info(`2FA confirmed. Deleting file: ${fileName}`);
|
|
173
174
|
fs.unlinkSync(resolvedPath);
|
|
174
175
|
console.log(`File "${fileName}" deleted successfully.`);
|
|
175
176
|
console.log(`Confirmed by: ${record.confirm_owner.length > 0 ? record.confirm_owner[0] : 'unknown'}`);
|
|
@@ -201,7 +202,7 @@ export async function run(session) {
|
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
204
|
catch (err) {
|
|
204
|
-
|
|
205
|
+
log.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
205
206
|
process.exit(1);
|
|
206
207
|
}
|
|
207
208
|
}
|
package/dist/delete.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../src/delete.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../src/delete.ts"],"names":[],"mappings":"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"}
|
package/dist/doc.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import fs from 'fs';
|
|
15
15
|
import path from 'path';
|
|
16
16
|
import { hashFile, getFileSize, getMimeType, generateManifest, verifyManifestEntries, } from './utils.js';
|
|
17
|
+
import * as log from './log.js';
|
|
17
18
|
// ========== Help Information ==========
|
|
18
19
|
function showHelp() {
|
|
19
20
|
console.log('zCloak.ai Document Tool');
|
|
@@ -57,7 +58,7 @@ function cmdManifest(folderPath, args) {
|
|
|
57
58
|
console.log(`MANIFEST size: ${result.manifestSize} bytes`);
|
|
58
59
|
}
|
|
59
60
|
catch (err) {
|
|
60
|
-
|
|
61
|
+
log.error(`Failed to generate MANIFEST: ${err instanceof Error ? err.message : String(err)}`);
|
|
61
62
|
process.exit(1);
|
|
62
63
|
}
|
|
63
64
|
}
|
|
@@ -89,7 +90,7 @@ function cmdVerifyManifest(folderPath) {
|
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
92
|
if (!allPassed) {
|
|
92
|
-
|
|
93
|
+
log.error(`Verification failed! Some files do not match (checked ${results.length} files)`);
|
|
93
94
|
process.exit(1);
|
|
94
95
|
}
|
|
95
96
|
console.log(`\nAll files verified successfully! (${results.length} files)`);
|
|
@@ -167,7 +168,7 @@ export function run(session) {
|
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
catch (err) {
|
|
170
|
-
|
|
171
|
+
log.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
171
172
|
process.exit(1);
|
|
172
173
|
}
|
|
173
174
|
}
|