@zcloak/ai-agent 1.0.24 → 1.0.26
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 +89 -50
- 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 -26
- 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/daemon.d.ts +4 -5
- package/dist/daemon.js +15 -21
- 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 +43 -13
- 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 +104 -78
- 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/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/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
|
*
|
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
|
|
@@ -177,7 +174,7 @@ export class DaemonRuntime {
|
|
|
177
174
|
* @throws ToolError with code DAEMON if another instance is already running
|
|
178
175
|
*/
|
|
179
176
|
static create(derivationId) {
|
|
180
|
-
const dir =
|
|
177
|
+
const dir = _runtimeDir();
|
|
181
178
|
const sock = socketPath(derivationId);
|
|
182
179
|
const pid = pidPath(derivationId);
|
|
183
180
|
// Create runtime directory with restricted permissions (0o700)
|
|
@@ -190,25 +187,22 @@ export class DaemonRuntime {
|
|
|
190
187
|
const pidStr = readFileSync(pid, "utf-8").trim();
|
|
191
188
|
const existingPid = parseInt(pidStr, 10);
|
|
192
189
|
if (!isNaN(existingPid) && isProcessAlive(existingPid)) {
|
|
193
|
-
|
|
194
|
-
`Use 'zcloak-ai vetkey stop --key-name ...' to stop it first.`);
|
|
190
|
+
log.info(`Already running daemon detected for derivation ID "${derivationId}" (PID ${existingPid})`);
|
|
195
191
|
}
|
|
196
|
-
// Stale PID file — clean up
|
|
197
|
-
console.error(`Removing stale PID file (PID ${pidStr} no longer running)`);
|
|
198
192
|
}
|
|
199
193
|
catch (e) {
|
|
200
194
|
// Re-throw ToolError (daemon already running)
|
|
201
195
|
if (e instanceof Error && e.name === "ToolError")
|
|
202
196
|
throw e;
|
|
203
197
|
// Other errors (corrupted PID file) — just clean up
|
|
204
|
-
|
|
198
|
+
log.warn(`Removing corrupted PID file: ${e}`);
|
|
205
199
|
}
|
|
206
200
|
safeUnlink(pid);
|
|
207
201
|
safeUnlink(sock);
|
|
208
202
|
}
|
|
209
203
|
// Remove stale socket file if it exists without a PID file
|
|
210
204
|
if (existsSync(sock)) {
|
|
211
|
-
|
|
205
|
+
log.warn("Removing stale socket file");
|
|
212
206
|
safeUnlink(sock);
|
|
213
207
|
}
|
|
214
208
|
// Write current PID to PID file
|
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
|
}
|
package/dist/doc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../src/doc.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../src/doc.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,yCAAyC;AACzC,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC;AAED,gDAAgD;AAEhD;;;GAGG;AACH,SAAS,WAAW,CAAC,UAA8B,EAAE,IAAgB;IACnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,YAAY,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAA8B;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAEnE,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC;YAClD,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,yDAAyD,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAE5E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;AACxG,CAAC;AAED,sCAAsC;AACtC,SAAS,OAAO,CAAC,QAA4B;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,2CAA2C;AAC3C,SAAS,OAAO,CAAC,QAA4B;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAE7B,uDAAuD;IACvD,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,0DAA0D;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,OAAgB;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9B,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,iBAAiB;gBACpB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR;gBACE,QAAQ,EAAE,CAAC;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/feed.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* All commands support --identity=<pem_path> to specify identity file.
|
|
13
13
|
*/
|
|
14
14
|
import { formatSignEvents } from './utils.js';
|
|
15
|
+
import * as log from './log.js';
|
|
15
16
|
// ========== Help Information ==========
|
|
16
17
|
function showHelp() {
|
|
17
18
|
console.log('zCloak.ai Event/Post Fetching Tool');
|
|
@@ -73,7 +74,7 @@ export async function run(session) {
|
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
catch (err) {
|
|
76
|
-
|
|
77
|
+
log.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
77
78
|
process.exit(1);
|
|
78
79
|
}
|
|
79
80
|
}
|
package/dist/feed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
|
package/dist/identity.js
CHANGED
|
@@ -16,12 +16,13 @@ import path from 'path';
|
|
|
16
16
|
import os from 'os';
|
|
17
17
|
import { generateKeyPairSync } from 'crypto';
|
|
18
18
|
import { Secp256k1KeyIdentity } from '@dfinity/identity-secp256k1';
|
|
19
|
+
import { defaultPemPath } from './paths.js';
|
|
19
20
|
// ========== PEM File Lookup ==========
|
|
20
21
|
/**
|
|
21
22
|
* zCloak default identity PEM file path
|
|
22
23
|
* Unified for macOS and Linux: ~/.config/zcloak/ai-id.pem
|
|
23
24
|
*/
|
|
24
|
-
export const DEFAULT_PEM_PATH =
|
|
25
|
+
export const DEFAULT_PEM_PATH = defaultPemPath();
|
|
25
26
|
/**
|
|
26
27
|
* Expand CLI paths like ~/foo.pem to an absolute path.
|
|
27
28
|
*/
|
package/dist/identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/identity_cmd.js
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* Print the PEM path and principal ID of the current identity.
|
|
21
21
|
*/
|
|
22
22
|
import { DEFAULT_PEM_PATH, ensureIdentityFile, loadIdentityFromPath, resolveCliPath } from './identity.js';
|
|
23
|
+
import * as log from './log.js';
|
|
23
24
|
// ========== Help ==========
|
|
24
25
|
function showHelp() {
|
|
25
26
|
console.log('zCloak.ai Identity Key Management');
|
|
@@ -120,7 +121,7 @@ export function run(session) {
|
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
123
|
catch (err) {
|
|
123
|
-
|
|
124
|
+
log.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
124
125
|
process.exit(1);
|
|
125
126
|
}
|
|
126
127
|
}
|
package/dist/identity_cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity_cmd.js","sourceRoot":"","sources":["../src/identity_cmd.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"identity_cmd.js","sourceRoot":"","sources":["../src/identity_cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/log.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
|
-
import
|
|
3
|
-
import path from 'path';
|
|
4
|
-
const LOG_DIR = path.join(os.homedir(), '.config', 'zcloak');
|
|
5
|
-
const DEBUG_LOG_FILE = path.join(LOG_DIR, 'debug.log');
|
|
2
|
+
import { configDir, debugLogPath } from './paths.js';
|
|
6
3
|
function isDebugEnabled() {
|
|
7
4
|
const value = process.env.ZCLOAK_DEBUG?.trim().toLowerCase();
|
|
8
5
|
if (!value)
|
|
@@ -29,8 +26,8 @@ function write(level, parts) {
|
|
|
29
26
|
const entry = `[zcloak-ai] ${timestamp} ${level} ${line}\n`;
|
|
30
27
|
process.stderr.write(entry);
|
|
31
28
|
try {
|
|
32
|
-
fs.mkdirSync(
|
|
33
|
-
fs.appendFileSync(
|
|
29
|
+
fs.mkdirSync(configDir(), { recursive: true });
|
|
30
|
+
fs.appendFileSync(debugLogPath(), entry, 'utf-8');
|
|
34
31
|
}
|
|
35
32
|
catch {
|
|
36
33
|
// Logging must never break the main command path.
|
package/dist/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErD,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAA0C,EAAE,KAAgB;IACzE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,eAAe,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;IAE5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,KAAgB;IACvC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,KAAgB;IACtC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,KAAgB;IACtC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,KAAgB;IACvC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC"}
|