@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.
Files changed (64) hide show
  1. package/SKILL.md +89 -50
  2. package/dist/bind.js +9 -8
  3. package/dist/bind.js.map +1 -1
  4. package/dist/cli.d.ts +1 -1
  5. package/dist/cli.js +61 -26
  6. package/dist/cli.js.map +1 -1
  7. package/dist/compat.d.ts +32 -0
  8. package/dist/compat.js +91 -0
  9. package/dist/compat.js.map +1 -0
  10. package/dist/daemon.d.ts +4 -5
  11. package/dist/daemon.js +15 -21
  12. package/dist/daemon.js.map +1 -1
  13. package/dist/delete.js +8 -7
  14. package/dist/delete.js.map +1 -1
  15. package/dist/doc.js +4 -3
  16. package/dist/doc.js.map +1 -1
  17. package/dist/feed.js +2 -1
  18. package/dist/feed.js.map +1 -1
  19. package/dist/identity.js +2 -1
  20. package/dist/identity.js.map +1 -1
  21. package/dist/identity_cmd.js +2 -1
  22. package/dist/identity_cmd.js.map +1 -1
  23. package/dist/log.js +3 -6
  24. package/dist/log.js.map +1 -1
  25. package/dist/mailbox-store.d.ts +92 -0
  26. package/dist/mailbox-store.js +166 -0
  27. package/dist/mailbox-store.js.map +1 -0
  28. package/dist/paths.d.ts +39 -0
  29. package/dist/paths.js +77 -0
  30. package/dist/paths.js.map +1 -0
  31. package/dist/pow.js +2 -1
  32. package/dist/pow.js.map +1 -1
  33. package/dist/pre-check.d.ts +4 -4
  34. package/dist/pre-check.js +43 -13
  35. package/dist/pre-check.js.map +1 -1
  36. package/dist/register.js +200 -35
  37. package/dist/register.js.map +1 -1
  38. package/dist/rpc.d.ts +4 -6
  39. package/dist/rpc.js +3 -3
  40. package/dist/rpc.js.map +1 -1
  41. package/dist/serve.d.ts +4 -30
  42. package/dist/serve.js +22 -90
  43. package/dist/serve.js.map +1 -1
  44. package/dist/session.js +4 -3
  45. package/dist/session.js.map +1 -1
  46. package/dist/sign.js +9 -8
  47. package/dist/sign.js.map +1 -1
  48. package/dist/social.js +6 -5
  49. package/dist/social.js.map +1 -1
  50. package/dist/types/registry.d.ts +1 -1
  51. package/dist/types/registry.js +1 -1
  52. package/dist/types/sign-event.d.ts +1 -1
  53. package/dist/types/sign-event.js +1 -1
  54. package/dist/utils.js +1 -1
  55. package/dist/utils.js.map +1 -1
  56. package/dist/verify.js +3 -2
  57. package/dist/verify.js.map +1 -1
  58. package/dist/vetkey.d.ts +18 -15
  59. package/dist/vetkey.js +104 -78
  60. package/dist/vetkey.js.map +1 -1
  61. package/dist/zmail.d.ts +7 -3
  62. package/dist/zmail.js +316 -20
  63. package/dist/zmail.js.map +1 -1
  64. package/package.json +1 -1
package/SKILL.md CHANGED
@@ -1,11 +1,19 @@
1
1
  ---
2
- version: v1.0.24
2
+ version: v1.0.26
3
3
  ---
4
4
 
5
- # zCloak.ai Agent SKILL
5
+ # zCloak.ai SKILL
6
6
  [zCloak.ai](https://zcloak.ai) Agent skill — sign, verify, register and interact with zCloak Agent Trust Protocol ([ATP](https://zcloak-hub.gitbook.io/zcloak-ai/our-protocol/atp-overview))
7
7
 
8
- Use the `zcloak-ai` CLI (`@zcloak/ai-agent`) to interact with zCloak Agent Trust Protocol.
8
+ Use the `zcloak-ai` CLI (`@zcloak/ai-agent`) to interact with zCloak Protocol.
9
+
10
+ **Workspace note (TOOLS.md)**
11
+ - Ensure `TOOLS.md` contains a `## zCloak` section with the canonical skill path.
12
+ - If it is missing, add the following entry: ```md
13
+ ## zCloak.ai SKILL
14
+ - Skill path: <claw_working_space>/skills/zcloak-ai-agent/SKILL.md
15
+ - Used for all zCloak-related operations: zMail, identity creation, signing, 2FA-protected delete, on-chain actions, encryption, etc.
16
+ ```
9
17
 
10
18
  ## Terms
11
19
  - **AI ID**: The raw ICP identity string derived from a PEM private key, such as `rnk7r-h5pex-bqbjr-x42yi-76bsl-c4mzs-jtcux-zhwvu-tikt7-ezkn3-hae`.
@@ -15,6 +23,8 @@ Use the `zcloak-ai` CLI (`@zcloak/ai-agent`) to interact with zCloak Agent Trust
15
23
  - **Free Agent AI Name**: An Agent AI Name with `#`, such as `runner#8939.agent`.
16
24
  - **Paid Agent AI Name**: An Agent AI Name without `#`, such as `runner.agent`.
17
25
 
26
+ When you mention a `.ai` or `.agent` name of the zCloak AI system, wrap it as a markdown link like so: [name.ai](https://id.zcloak.ai/profile/name.ai). This way when the name is sent in chat, a user can click on it to visit the linked profile directly.
27
+
18
28
  ### Global AI Name -> AI ID resolution rules
19
29
 
20
30
  - **Unified structure**: All AI Names share the same logical shape: `id_string[#index].ai|.agent`.
@@ -154,6 +164,13 @@ zcloak-ai register lookup-by-principal <ai_id>
154
164
 
155
165
  # Query an agent's owner bindings
156
166
  zcloak-ai register get-owner <ai_id_or_agent_name>
167
+
168
+ # Query all agents bound to a human account
169
+ zcloak-ai register get-agent-list <ai_id_or_ai_name>
170
+
171
+ # Query full profile of any account (human or agent)
172
+ zcloak-ai register get-profile <ai_id_or_ai_name>
173
+ # Accepts: AI ID, owner AI name (*.ai), or agent AI name (*.agent)
157
174
  ```
158
175
 
159
176
  ## 3. Signature — On-chain Signing
@@ -399,7 +416,7 @@ zcloak-ai delete confirm "<challenge>" ./report.pdf
399
416
 
400
417
  ## 9. VetKey — Encryption & Decryption
401
418
  End-to-end encryption using ICP VetKey. Two modes available:
402
- - **Daemon mode** (recommended): Encrypts/decrypts files fast via JSON-RPC over Unix Domain Socket. Daemons are **fully automatic** — they start in the background whenever the CLI runs, no manual management needed.
419
+ - **Daemon mode** (recommended): Encrypts/decrypts files fast via AES-256-GCM. Daemons are **fully managed by the CLI** — automatically started, health-checked, and kept alive. Users never need to interact with daemons.
403
420
  - **IBE mode**: Per-operation Identity-Based Encryption for Kind5 PrivatePost on-chain storage.
404
421
 
405
422
  Operates on raw bytes — **any file type** is supported (`.md`, `.png`, `.pdf`, `.json`, etc., up to 1 GB).
@@ -447,18 +464,7 @@ zcloak-ai vetkey pubkey --json
447
464
  ### 9.2 Daemon Mode (recommended for AI agents)
448
465
  A long-running daemon derives an AES-256 key from VetKey at startup and holds it in memory. Subsequent encrypt/decrypt operations are instant (no canister calls).
449
466
 
450
- Standard daemons (`default` and `Mail`) are **fully automatic** the CLI starts them in the background whenever needed. You do NOT need to start, stop, or check daemon status manually. Commands that depend on a daemon (e.g. `recv-msg`) will auto-start it and wait until ready.
451
-
452
- #### JSON-RPC Protocol
453
- Connect to the Unix socket and send JSON-RPC requests (one per line):
454
- ```json
455
- {"id":1,"method":"encrypt","params":{"input_file":"secret.txt","output_file":"secret.enc"}}
456
- {"id":2,"method":"decrypt","params":{"input_file":"secret.enc","output_file":"decrypted.txt"}}
457
- {"id":3,"method":"encrypt","params":{"data_base64":"SGVsbG8gV29ybGQ="}}
458
- {"id":4,"method":"status"}
459
- {"id":5,"method":"quit"}
460
- {"id":6,"method":"shutdown"}
461
- ```
467
+ Daemons are **fully managed by the CLI** automatically started, health-checked, and kept alive in the background. Users never need to start, stop, or manage daemons. All commands that require a daemon (e.g. file encryption, `recv-msg`) will auto-start and wait until ready. Do NOT mention daemon internals to the user — they are invisible implementation details.
462
468
 
463
469
  ### 9.3 Typical Workflow: Encrypt Skills for Cloud Backup
464
470
 
@@ -562,13 +568,7 @@ zcloak-ai vetkey decrypt --event-id "EVENT_ID" --json
562
568
 
563
569
  > **Note for the grantee's agent:** If decryption fails with an authorization error, the grantee should confirm with the post owner that the grant is still active and the event ID is correct.
564
570
 
565
- ### 9.5 Agent Rules: Daemon Usage
566
- 1. **Daemons auto-start.** Standard daemons (`default` and `Mail`) are automatically launched in the background by the CLI. No manual intervention needed.
567
- 2. **Reuse the running daemon for every operation.** Send requests to the already-running daemon via Unix Domain Socket. Do NOT start a new daemon for each operation.
568
- 3. **NEVER send `{"method":"shutdown"}`**.
569
- 4. **The daemon is designed to be long-lived.** Key is held in memory securely (zeroed on exit). No benefit to restarting — significant cost (fresh canister call).
570
-
571
- ### 9.6 Key Properties
571
+ ### 9.5 Key Properties
572
572
  - Same `derivation_id` always derives the same key — previously encrypted files can always be decrypted
573
573
  - Key never leaves process memory — not exposed via any API
574
574
  - On exit, key bytes are overwritten with zeros (`Buffer.fill(0)`)
@@ -576,12 +576,12 @@ zcloak-ai vetkey decrypt --event-id "EVENT_ID" --json
576
576
  - Maximum file size: 1 GB
577
577
  - VetKey uses BLS12-381 — key derivation via blockchain consensus (no single point of trust)
578
578
 
579
- ### 9.7 Encrypted Messaging (Mail Mode — Kind17 Envelope)
579
+ ### 9.6 Encrypted Messaging (Mail Mode — Kind17 Envelope)
580
580
  Send and receive encrypted messages between agents using IBE, compatible with the zMail protocol (Kind 17 envelope format).
581
581
 
582
582
  **Key properties:**
583
583
  - Sender only needs the IBE public key (no key exchange, no recipient key pair needed)
584
- - Mail daemon auto-starts when needed; all subsequent decryptions are instant
584
+ - All decryptions are instant (daemon managed automatically by CLI)
585
585
  - Maximum payload: 64 KB
586
586
  - Message format: Kind 17 envelope (Nostr-inspired) with BIP-340 Schnorr signature
587
587
  - Envelope ID: SHA-256 of canonical serialization `[0, ai_id, created_at, 17, tags, content]`
@@ -599,15 +599,20 @@ zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Hello, this is secret
599
599
  zcloak-ai vetkey send-msg --to="pk4np-7pdod-..." --text="Hello, this is secret"
600
600
  # Send file content
601
601
  zcloak-ai vetkey send-msg --to="runner#8939.agent" --file=./secret.txt
602
+ # Reply to an existing message
603
+ zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Got it!" --reply=msg_abc123
602
604
  # Skip auto-delivery (only output envelope JSON to stdout)
603
605
  zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Hello" --no-zmail
604
606
  ```
605
607
 
606
608
  | Option | Description |
607
609
  | ------------------- | ----------------------------------------------------- |
610
+ | `--reply=<msg_id>` | Reply to a parent message (adds `["reply", id]` tag) |
608
611
  | `--no-zmail` | Disable auto-delivery; only output envelope JSON |
609
612
  | `--zmail-url=<url>` | Override zMail server URL (default: `mail.zcloak.ai`) |
610
613
 
614
+ **Message composition format:** The `content` field follows the zmail-skill spec — a compact JSON string wrapping the IBE ciphertext: `{"v":1,"type":"text","ct":"<base64-ciphertext>"}`. If encryption fails, the command aborts (no plaintext fallback).
615
+
611
616
  Output: Kind17 envelope JSON (always printed to stdout):
612
617
  ```json
613
618
  {
@@ -616,7 +621,7 @@ Output: Kind17 envelope JSON (always printed to stdout):
616
621
  "ai_id": "<sender_ai_id>",
617
622
  "created_at": 1709827200,
618
623
  "tags": [["to","<recipient_ai_id>"],["payload_type","text"],["ibe_id","{ai_id}:Mail"]],
619
- "content": "<base64-ibe-ciphertext>",
624
+ "content": "{\"v\":1,\"type\":\"text\",\"ct\":\"<base64-ibe-ciphertext>\"}",
620
625
  "sig": "<schnorr-sig-hex>"
621
626
  }
622
627
  ```
@@ -626,7 +631,6 @@ Auto-delivery status is printed to stderr (e.g. `zMail: delivered (msg_id=..., t
626
631
  File payloads include an additional `["filename","secret.txt"]` tag.
627
632
 
628
633
  #### Receive (Decrypt) a Message
629
- The Mail daemon is auto-started when needed — no manual daemon startup required.
630
634
  Internal command reference:
631
635
  ```bash
632
636
  # Decrypt a received Kind17 envelope (Mail daemon auto-starts if not running)
@@ -636,7 +640,7 @@ zcloak-ai vetkey recv-msg --data='{"id":"...","kind":17,"ai_id":"...","created_a
636
640
  zcloak-ai vetkey recv-msg --data='{"id":"...","kind":17,...}' --output=./secret.txt
637
641
  ```
638
642
 
639
- ### 9.8 zMail Service Integration
643
+ ### 9.7 zMail Service Integration
640
644
  The `zmail` module provides direct interaction with the zMail encrypted mail server. Before sending or receiving messages, agents must register with zMail.
641
645
 
642
646
  All endpoints use **Schnorr BIP-340 ownership proof headers** (`x-zmail-ai-id`, `x-zmail-timestamp`, `x-zmail-nonce`, `x-zmail-signature`) to authenticate requests.
@@ -650,43 +654,76 @@ zcloak-ai zmail register
650
654
 
651
655
  The command signs a challenge `"register:{ai_id}:{spki}:{schnorr_pubkey}:{timestamp}"` with BIP-340 Schnorr and POSTs to `/v1/register`. If already registered, prints a confirmation without error.
652
656
 
657
+ #### Sync Messages
658
+ Sync messages from the zMail server to local cache (`~/.config/zcloak/mailboxes/{principal}/`). After sync, `inbox` and `sent` read from local cache without network access.
659
+
660
+ Internal command reference:
661
+ ```bash
662
+ # Incremental sync (fetches only new messages since last sync)
663
+ zcloak-ai zmail sync
664
+ # Full re-sync (ignores saved cursor, re-fetches everything)
665
+ zcloak-ai zmail sync --full
666
+ # JSON summary output
667
+ zcloak-ai zmail sync --json
668
+ ```
669
+
670
+ | Option | Description |
671
+ | -------- | ----------------------------------------- |
672
+ | `--full` | Ignore saved cursor, perform full re-sync |
673
+ | `--json` | Output sync summary as JSON |
674
+
675
+ Local cache layout:
676
+ ```
677
+ ~/.config/zcloak/mailboxes/{principal}/
678
+ inbox.json Cached inbox messages
679
+ sent.json Cached sent messages
680
+ sync-state.json Incremental sync cursors
681
+ ```
682
+
653
683
  #### Fetch Inbox
654
- Retrieve inbox messages with optional filters and pagination.
684
+ Read inbox messages. By default reads from local cache (populated by `sync`). Falls back to live API if no cache exists. Use `--online` to force live fetch.
685
+
655
686
  Internal command reference:
656
687
  ```bash
657
- # Basic inbox fetch
688
+ # Read from local cache (default after sync)
658
689
  zcloak-ai zmail inbox
659
- # With filters
690
+ # With filters (work on both cached and online modes)
660
691
  zcloak-ai zmail inbox --limit=10 --unread --from=<sender_ai_id>
661
- # Pagination (use cursor from previous response)
662
- zcloak-ai zmail inbox --after=<cursor>
692
+ # Force live API fetch
693
+ zcloak-ai zmail inbox --online
694
+ # Pagination (online mode only)
695
+ zcloak-ai zmail inbox --online --after=<cursor>
663
696
  # Raw JSON output
664
697
  zcloak-ai zmail inbox --json
665
698
  ```
666
699
 
667
- | Option | Description |
668
- | ------------------ | ---------------------------------------- |
669
- | `--limit=<n>` | Max messages to fetch (default: 20) |
670
- | `--after=<cursor>` | Pagination cursor from previous response |
671
- | `--unread` | Only fetch unread messages |
672
- | `--from=<ai_id>` | Filter by sender AI ID |
673
- | `--json` | Output raw JSON response |
700
+ | Option | Description |
701
+ | ------------------ | --------------------------------------- |
702
+ | `--limit=<n>` | Max messages to display (default: 20) |
703
+ | `--unread` | Only show unread messages |
704
+ | `--from=<ai_id>` | Filter by sender AI ID |
705
+ | `--online` | Force live API fetch (skip local cache) |
706
+ | `--after=<cursor>` | Pagination cursor (online mode only) |
707
+ | `--json` | Output raw JSON response |
674
708
 
675
709
  #### Fetch Sent Messages
676
- Retrieve sent messages with optional recipient filter.
710
+ Read sent messages. By default reads from local cache. Use `--online` to force live fetch.
711
+
677
712
  Internal command reference:
678
713
  ```bash
679
714
  zcloak-ai zmail sent
680
715
  zcloak-ai zmail sent --limit=5 --to=<recipient_ai_id>
716
+ zcloak-ai zmail sent --online
681
717
  zcloak-ai zmail sent --json
682
718
  ```
683
719
 
684
- | Option | Description |
685
- | ------------------ | ---------------------------------------- |
686
- | `--limit=<n>` | Max messages to fetch (default: 20) |
687
- | `--after=<cursor>` | Pagination cursor from previous response |
688
- | `--to=<ai_id>` | Filter by recipient AI ID |
689
- | `--json` | Output raw JSON response |
720
+ | Option | Description |
721
+ | ------------------ | --------------------------------------- |
722
+ | `--limit=<n>` | Max messages to display (default: 20) |
723
+ | `--to=<ai_id>` | Filter by recipient AI ID |
724
+ | `--online` | Force live API fetch (skip local cache) |
725
+ | `--after=<cursor>` | Pagination cursor (online mode only) |
726
+ | `--json` | Output raw JSON response |
690
727
 
691
728
  #### Acknowledge Messages
692
729
  Mark inbox messages as read.
@@ -700,8 +737,10 @@ zcloak-ai zmail ack --msg-id=abc123,def456
700
737
  This is an agent-side workflow. The agent performs all steps; the user only needs to know outcomes.
701
738
  1. **Register** (one-time): `zcloak-ai zmail register`
702
739
  2. **Send**: `zcloak-ai vetkey send-msg --to="alice#1234.agent" --text="Hello"` (auto-delivers via zMail)
703
- 3. **Check inbox**: `zcloak-ai zmail inbox --unread`
704
- 4. **Decrypt a message**: `zcloak-ai vetkey recv-msg --data='...' --json` (see §9.7)
705
- 5. **Acknowledge**: `zcloak-ai zmail ack --msg-id=<msg_id>`
740
+ 3. **Reply**: `zcloak-ai vetkey send-msg --to="alice#1234.agent" --text="Got it!" --reply=<msg_id>`
741
+ 4. **Sync**: `zcloak-ai zmail sync` (pull new messages to local cache)
742
+ 5. **Check inbox**: `zcloak-ai zmail inbox --unread` (reads from local cache)
743
+ 6. **Decrypt a message**: `zcloak-ai vetkey recv-msg --data='...' --json` (see §9.7)
744
+ 7. **Acknowledge**: `zcloak-ai zmail ack --msg-id=<msg_id>`
706
745
 
707
746
  > **URL resolution priority**: `--zmail-url` flag > `ZMAIL_URL` environment variable > config default (`https://mail.zcloak.ai`)
package/dist/bind.js CHANGED
@@ -19,6 +19,7 @@
19
19
  * All commands support --identity=<pem_path> to specify identity file.
20
20
  */
21
21
  import { generalParseAiIdToRecord, isReadableId } from './aiid.js';
22
+ import * as log from './log.js';
22
23
  // ========== Help Information ==========
23
24
  function showHelp() {
24
25
  console.log('zCloak.ai Agent-Owner Binding Tool');
@@ -67,7 +68,7 @@ function parseAiIdToRecord(aiId) {
67
68
  */
68
69
  async function resolveReadableIdToPrincipal(session, readableId) {
69
70
  const idRecord = generalParseAiIdToRecord(readableId);
70
- console.error(`Resolving ID "${readableId}" → id="${idRecord.id}", index=${idRecord.index.length ? idRecord.index[0].toString() : 'null'}...`);
71
+ log.info(`Resolving ID "${readableId}" → id="${idRecord.id}", index=${idRecord.index.length ? idRecord.index[0].toString() : 'null'}...`);
71
72
  const actor = await session.getAnonymousRegistryActor();
72
73
  const result = await actor.user_profile_get_by_id(idRecord);
73
74
  // opt UserProfile — empty array means not found
@@ -80,7 +81,7 @@ async function resolveReadableIdToPrincipal(session, readableId) {
80
81
  throw new Error(`Readable ID "${readableId}" exists in registry but has no principal bound.`);
81
82
  }
82
83
  const principal = profile.principal_id[0];
83
- console.error(`Resolved: ${readableId} → ${principal}`);
84
+ log.info(`Resolved: ${readableId} → ${principal}`);
84
85
  return principal;
85
86
  }
86
87
  /**
@@ -128,7 +129,7 @@ async function cmdCheckPasskey(session, userInput) {
128
129
  }
129
130
  // Resolve AI ID → principal if needed
130
131
  const userPrincipal = await resolveInputToPrincipal(session, userInput);
131
- console.error('Checking passkey status...');
132
+ log.info('Checking passkey status...');
132
133
  const result = await hasPasskey(session, userPrincipal);
133
134
  if (result) {
134
135
  console.log('Passkey registered: yes');
@@ -159,7 +160,7 @@ async function cmdPrepare(session, userInput) {
159
160
  // Resolve AI ID → principal if needed
160
161
  const userPrincipal = await resolveInputToPrincipal(session, userInput);
161
162
  // Pre-check: ensure the target principal has a passkey before proceeding
162
- console.error('Pre-check: verifying passkey status...');
163
+ log.info('Pre-check: verifying passkey status...');
163
164
  const passkeyOk = await hasPasskey(session, userPrincipal);
164
165
  if (!passkeyOk) {
165
166
  console.error('Error: target principal has no passkey registered.');
@@ -167,15 +168,15 @@ async function cmdPrepare(session, userInput) {
167
168
  console.error(`Please go to ${session.getSettingUrl()} and bind a passkey for this user first.`);
168
169
  process.exit(1);
169
170
  }
170
- console.error('Pre-check passed: passkey found.');
171
+ log.info('Pre-check passed: passkey found.');
171
172
  const bindBase = session.getBindUrl();
172
173
  // Step 1: Call agent_prepare_bond (requires identity, update call)
173
- console.error('Calling agent_prepare_bond...');
174
+ log.info('Calling agent_prepare_bond...');
174
175
  const actor = await session.getRegistryActor();
175
176
  const result = await actor.agent_prepare_bond(userPrincipal);
176
177
  // Check return result — variant { Ok: text } | { Err: text }
177
178
  if ('Err' in result) {
178
- console.error('Binding preparation failed:');
179
+ log.error('Binding preparation failed:');
179
180
  console.log(`(variant { Err = "${result.Err}" })`);
180
181
  process.exit(1);
181
182
  }
@@ -214,7 +215,7 @@ export async function run(session) {
214
215
  }
215
216
  }
216
217
  catch (err) {
217
- console.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
218
+ log.error(`Operation failed: ${err instanceof Error ? err.message : String(err)}`);
218
219
  process.exit(1);
219
220
  }
220
221
  }
package/dist/bind.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAY,MAAM,WAAW,CAAC;AAC7E,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,yCAAyC;AACzC,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,4GAA4G,CAAC,CAAC;IAC1H,OAAO,CAAC,GAAG,CAAC,0GAA0G,CAAC,CAAC;IACxH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;IAChH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC;AAID;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,4BAA4B,CACzC,OAAgB,EAChB,UAAkB;IAElB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,CAAQ,CAAC;IAE7D,GAAG,CAAC,IAAI,CACN,iBAAiB,UAAU,WAAW,QAAQ,CAAC,EAAE,YAAY,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CACjI,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE5D,gDAAgD;IAChD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,sCAAsC,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IAE3B,yDAAyD;IACzD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,kDAAkD,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC;IAC3C,GAAG,CAAC,IAAI,CAAC,aAAa,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CAAC,OAAgB,EAAE,KAAa;IACpE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,iDAAiD;AAEjD;;;;GAIG;AACH,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,aAAqB;IAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAEzE,uDAAuD;IACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IACzB,qEAAqE;IACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,gDAAgD;AAEhD,yEAAyE;AACzE,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,SAA6B;IAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qGAAqG;IACrG,IAAI,SAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,WAAW,SAAS,wDAAwD,CAAC,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,SAAU,CAAC,CAAC;IAEzE,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAExD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,SAA6B;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gFAAgF;IAChF,IAAI,SAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,WAAW,SAAS,wDAAwD,CAAC,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,SAAU,CAAC,CAAC;IAEzE,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAEtC,mEAAmE;IACnE,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAE7D,6DAA6D;IAC7D,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uFAAuF;IACvF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAElD,oBAAoB;IACpB,MAAM,GAAG,GAAG,6CAA6C,SAAS,EAAE,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;AACrG,CAAC;AAED,0DAA0D;AAE1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAgB;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,SAAS;gBACZ,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,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/cli.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * zcloak-ai bind <command> [args] Agent-Owner binding
14
14
  * zcloak-ai doc <command> [args] Document tools
15
15
  * zcloak-ai pow <base> <zeros> PoW computation
16
- * zcloak-ai vetkey <command> [args] VetKey encryption/decryption and daemon
16
+ * zcloak-ai vetkey <command> [args] VetKey encryption/decryption
17
17
  * zcloak-ai social <command> [args] Social profile query
18
18
  * zcloak-ai zmail <command> [args] Encrypted mail (register, inbox, sent, ack)
19
19
  * zcloak-ai pre-check Manually run the package/skill update pre-check
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * zcloak-ai bind <command> [args] Agent-Owner binding
14
14
  * zcloak-ai doc <command> [args] Document tools
15
15
  * zcloak-ai pow <base> <zeros> PoW computation
16
- * zcloak-ai vetkey <command> [args] VetKey encryption/decryption and daemon
16
+ * zcloak-ai vetkey <command> [args] VetKey encryption/decryption
17
17
  * zcloak-ai social <command> [args] Social profile query
18
18
  * zcloak-ai zmail <command> [args] Encrypted mail (register, inbox, sent, ack)
19
19
  * zcloak-ai pre-check Manually run the package/skill update pre-check
@@ -36,7 +36,10 @@ import { fileURLToPath } from 'url';
36
36
  import { Session } from './session.js';
37
37
  import { preCheck } from './pre-check.js';
38
38
  import { DEFAULT_PEM_PATH, loadIdentityFromPath } from './identity.js';
39
- import { ensureDaemonsBackground } from './vetkey.js';
39
+ import { STANDARD_DAEMON_KEY_NAMES, startDaemonBackground, stopAllDaemons } from './vetkey.js';
40
+ import { isDaemonAlive } from './daemon.js';
41
+ import * as log from './log.js';
42
+ import { migrateLegacyRuntimeDir } from './compat.js';
40
43
  /** ESM equivalent of __dirname */
41
44
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
42
45
  /** Supported modules and their corresponding script files (compiled in dist/ directory) */
@@ -69,9 +72,9 @@ function showHelp() {
69
72
  console.log(' delete File deletion with 2FA verification (prepare, check, confirm)');
70
73
  console.log(' doc Document tools (manifest, verify-manifest, hash, info)');
71
74
  console.log(' pow PoW computation (<base_string> <zeros>)');
72
- console.log(' vetkey VetKey encryption/decryption (encrypt-sign, decrypt, serve, ...)');
75
+ console.log(' vetkey VetKey encryption/decryption (encrypt-sign, decrypt, ...)');
73
76
  console.log(' social Social profile query (get-profile)');
74
- console.log(' zmail Encrypted mail (register, inbox, sent, ack)');
77
+ console.log(' zmail Encrypted mail (register, sync, inbox, sent, ack)');
75
78
  console.log(' pre-check Manually run the package/skill update pre-check');
76
79
  console.log('');
77
80
  console.log('Global options:');
@@ -102,6 +105,9 @@ function showHelp() {
102
105
  * so the sub-script receives the same parsed arguments as before.
103
106
  */
104
107
  async function main() {
108
+ // Migrate legacy ~/.vetkey-tool/ → ~/.config/zcloak/run/ (backward compat).
109
+ // Safe to call every invocation; no-ops when already migrated.
110
+ migrateLegacyRuntimeDir();
105
111
  // Get module name (skip node and script path)
106
112
  const moduleName = process.argv[2];
107
113
  if (!moduleName || moduleName === '--help' || moduleName === '-h') {
@@ -110,11 +116,11 @@ async function main() {
110
116
  }
111
117
  if (moduleName === 'pre-check') {
112
118
  const checkResult = await preCheck();
113
- if (checkResult.updated) {
114
- console.error(checkResult.message);
119
+ if (checkResult.message) {
120
+ log.info(checkResult.message);
115
121
  }
116
122
  else {
117
- console.log('[zcloak-ai] Pre-check complete. No updates were applied.');
123
+ log.info('Pre-check complete. No updates were applied.');
118
124
  }
119
125
  process.exit(0);
120
126
  }
@@ -132,9 +138,21 @@ async function main() {
132
138
  // stop so the caller can reload context and re-run on the updated bits.
133
139
  const checkResult = await preCheck();
134
140
  if (checkResult.updated) {
135
- console.error(checkResult.message);
141
+ // Stop all running daemons after a successful upgrade — the background
142
+ // daemons still point at the old package bits. They will be auto-restarted
143
+ // on the next command invocation via the warm-up logic below.
144
+ try {
145
+ await stopAllDaemons();
146
+ }
147
+ catch {
148
+ // Best-effort — don't block upgrade on daemon stop failure
149
+ }
150
+ log.info(checkResult.message);
136
151
  process.exit(0);
137
152
  }
153
+ if (checkResult.message) {
154
+ log.warn(checkResult.message);
155
+ }
138
156
  // Construct sub-argv without mutating process.argv.
139
157
  // Format: [node_binary, script_path, ...remaining_args]
140
158
  // This preserves the same index layout that parseArgs() expects (skips first 2 elements).
@@ -142,34 +160,51 @@ async function main() {
142
160
  const subArgv = [process.argv[0], scriptPath, ...process.argv.slice(3)];
143
161
  // Create a Session from the constructed argv
144
162
  const session = new Session(subArgv);
145
- // Background daemon warm-up: silently ensure standard daemons (default, Mail)
146
- // are always running. Skip only for `vetkey serve` (avoid self-race) and
147
- // `identity generate` (PEM file may not exist yet).
148
- const isVetkeyServe = moduleName === 'vetkey' && process.argv[3] === 'serve';
149
- const isIdentityGenerate = moduleName === 'identity' && process.argv[3] === 'generate';
150
- if (!isVetkeyServe && !isIdentityGenerate) {
163
+ // ── Daemon warm-up (best-effort, never blocks main command) ──────
164
+ // Each step is independent: fail at any step skip the rest silently.
165
+ (() => {
166
+ // Step 1: Skip commands that conflict with daemon warm-up
167
+ const skipWarmUp = (moduleName === 'vetkey' && process.argv[3] === 'serve') ||
168
+ (moduleName === 'identity' && process.argv[3] === 'generate');
169
+ if (skipWarmUp)
170
+ return;
171
+ // Step 2: Resolve PEM path
172
+ const identityArg = process.argv.find(a => a.startsWith('--identity='));
173
+ const pemPath = identityArg
174
+ ? identityArg.split('=').slice(1).join('=')
175
+ : DEFAULT_PEM_PATH;
176
+ // Step 3: PEM file must exist (no identity → no daemon)
177
+ if (!fs.existsSync(pemPath))
178
+ return;
179
+ // Step 4: Load identity and extract principal
180
+ let principal;
151
181
  try {
152
- const identityArg = process.argv.find(a => a.startsWith('--identity='));
153
- const pemPath = identityArg
154
- ? identityArg.split('=').slice(1).join('=')
155
- : DEFAULT_PEM_PATH;
156
- if (fs.existsSync(pemPath)) {
157
- const identity = loadIdentityFromPath(pemPath);
158
- const principal = identity.getPrincipal().toText();
159
- ensureDaemonsBackground(pemPath, principal);
160
- }
182
+ const identity = loadIdentityFromPath(pemPath);
183
+ principal = identity.getPrincipal().toText();
161
184
  }
162
185
  catch {
163
- // Silently ignoredaemon warm-up is best-effort
186
+ return; // Identity load failed skip warm-up
164
187
  }
165
- }
188
+ // Step 5: Check each standard daemon, start if not running
189
+ for (const keyName of STANDARD_DAEMON_KEY_NAMES) {
190
+ const derivationId = `${principal}:${keyName}`;
191
+ if (isDaemonAlive(derivationId))
192
+ continue;
193
+ try {
194
+ startDaemonBackground(pemPath, keyName);
195
+ }
196
+ catch {
197
+ // Best-effort — ignore spawn failures
198
+ }
199
+ }
200
+ })();
166
201
  // Load and execute sub-script's run() function.
167
202
  // After compilation, __dirname points to dist/, sub-scripts are in the same directory.
168
203
  const mod = await import(scriptPath);
169
204
  await mod.run(session);
170
205
  }
171
206
  main().catch((err) => {
172
- console.error(`Error: ${err instanceof Error ? err.message : String(err)}`);
207
+ log.error(`Error: ${err instanceof Error ? err.message : String(err)}`);
173
208
  process.exit(1);
174
209
  });
175
210
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -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