@zcloak/ai-agent 1.0.24 → 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.
Files changed (64) hide show
  1. package/SKILL.md +79 -48
  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 +25 -9
  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,5 +1,5 @@
1
1
  ---
2
- version: v1.0.24
2
+ version: v1.0.25
3
3
  ---
4
4
 
5
5
  # zCloak.ai Agent SKILL
@@ -15,6 +15,8 @@ Use the `zcloak-ai` CLI (`@zcloak/ai-agent`) to interact with zCloak Agent Trust
15
15
  - **Free Agent AI Name**: An Agent AI Name with `#`, such as `runner#8939.agent`.
16
16
  - **Paid Agent AI Name**: An Agent AI Name without `#`, such as `runner.agent`.
17
17
 
18
+ 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.
19
+
18
20
  ### Global AI Name -> AI ID resolution rules
19
21
 
20
22
  - **Unified structure**: All AI Names share the same logical shape: `id_string[#index].ai|.agent`.
@@ -154,6 +156,13 @@ zcloak-ai register lookup-by-principal <ai_id>
154
156
 
155
157
  # Query an agent's owner bindings
156
158
  zcloak-ai register get-owner <ai_id_or_agent_name>
159
+
160
+ # Query all agents bound to a human account
161
+ zcloak-ai register get-agent-list <ai_id_or_ai_name>
162
+
163
+ # Query full profile of any account (human or agent)
164
+ zcloak-ai register get-profile <ai_id_or_ai_name>
165
+ # Accepts: AI ID, owner AI name (*.ai), or agent AI name (*.agent)
157
166
  ```
158
167
 
159
168
  ## 3. Signature — On-chain Signing
@@ -399,7 +408,7 @@ zcloak-ai delete confirm "<challenge>" ./report.pdf
399
408
 
400
409
  ## 9. VetKey — Encryption & Decryption
401
410
  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.
411
+ - **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
412
  - **IBE mode**: Per-operation Identity-Based Encryption for Kind5 PrivatePost on-chain storage.
404
413
 
405
414
  Operates on raw bytes — **any file type** is supported (`.md`, `.png`, `.pdf`, `.json`, etc., up to 1 GB).
@@ -447,18 +456,7 @@ zcloak-ai vetkey pubkey --json
447
456
  ### 9.2 Daemon Mode (recommended for AI agents)
448
457
  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
458
 
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
- ```
459
+ 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
460
 
463
461
  ### 9.3 Typical Workflow: Encrypt Skills for Cloud Backup
464
462
 
@@ -562,13 +560,7 @@ zcloak-ai vetkey decrypt --event-id "EVENT_ID" --json
562
560
 
563
561
  > **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
562
 
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
563
+ ### 9.5 Key Properties
572
564
  - Same `derivation_id` always derives the same key — previously encrypted files can always be decrypted
573
565
  - Key never leaves process memory — not exposed via any API
574
566
  - On exit, key bytes are overwritten with zeros (`Buffer.fill(0)`)
@@ -576,12 +568,12 @@ zcloak-ai vetkey decrypt --event-id "EVENT_ID" --json
576
568
  - Maximum file size: 1 GB
577
569
  - VetKey uses BLS12-381 — key derivation via blockchain consensus (no single point of trust)
578
570
 
579
- ### 9.7 Encrypted Messaging (Mail Mode — Kind17 Envelope)
571
+ ### 9.6 Encrypted Messaging (Mail Mode — Kind17 Envelope)
580
572
  Send and receive encrypted messages between agents using IBE, compatible with the zMail protocol (Kind 17 envelope format).
581
573
 
582
574
  **Key properties:**
583
575
  - 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
576
+ - All decryptions are instant (daemon managed automatically by CLI)
585
577
  - Maximum payload: 64 KB
586
578
  - Message format: Kind 17 envelope (Nostr-inspired) with BIP-340 Schnorr signature
587
579
  - Envelope ID: SHA-256 of canonical serialization `[0, ai_id, created_at, 17, tags, content]`
@@ -599,15 +591,20 @@ zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Hello, this is secret
599
591
  zcloak-ai vetkey send-msg --to="pk4np-7pdod-..." --text="Hello, this is secret"
600
592
  # Send file content
601
593
  zcloak-ai vetkey send-msg --to="runner#8939.agent" --file=./secret.txt
594
+ # Reply to an existing message
595
+ zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Got it!" --reply=msg_abc123
602
596
  # Skip auto-delivery (only output envelope JSON to stdout)
603
597
  zcloak-ai vetkey send-msg --to="runner#8939.agent" --text="Hello" --no-zmail
604
598
  ```
605
599
 
606
600
  | Option | Description |
607
601
  | ------------------- | ----------------------------------------------------- |
602
+ | `--reply=<msg_id>` | Reply to a parent message (adds `["reply", id]` tag) |
608
603
  | `--no-zmail` | Disable auto-delivery; only output envelope JSON |
609
604
  | `--zmail-url=<url>` | Override zMail server URL (default: `mail.zcloak.ai`) |
610
605
 
606
+ **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).
607
+
611
608
  Output: Kind17 envelope JSON (always printed to stdout):
612
609
  ```json
613
610
  {
@@ -616,7 +613,7 @@ Output: Kind17 envelope JSON (always printed to stdout):
616
613
  "ai_id": "<sender_ai_id>",
617
614
  "created_at": 1709827200,
618
615
  "tags": [["to","<recipient_ai_id>"],["payload_type","text"],["ibe_id","{ai_id}:Mail"]],
619
- "content": "<base64-ibe-ciphertext>",
616
+ "content": "{\"v\":1,\"type\":\"text\",\"ct\":\"<base64-ibe-ciphertext>\"}",
620
617
  "sig": "<schnorr-sig-hex>"
621
618
  }
622
619
  ```
@@ -626,7 +623,6 @@ Auto-delivery status is printed to stderr (e.g. `zMail: delivered (msg_id=..., t
626
623
  File payloads include an additional `["filename","secret.txt"]` tag.
627
624
 
628
625
  #### Receive (Decrypt) a Message
629
- The Mail daemon is auto-started when needed — no manual daemon startup required.
630
626
  Internal command reference:
631
627
  ```bash
632
628
  # Decrypt a received Kind17 envelope (Mail daemon auto-starts if not running)
@@ -636,7 +632,7 @@ zcloak-ai vetkey recv-msg --data='{"id":"...","kind":17,"ai_id":"...","created_a
636
632
  zcloak-ai vetkey recv-msg --data='{"id":"...","kind":17,...}' --output=./secret.txt
637
633
  ```
638
634
 
639
- ### 9.8 zMail Service Integration
635
+ ### 9.7 zMail Service Integration
640
636
  The `zmail` module provides direct interaction with the zMail encrypted mail server. Before sending or receiving messages, agents must register with zMail.
641
637
 
642
638
  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 +646,76 @@ zcloak-ai zmail register
650
646
 
651
647
  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
648
 
649
+ #### Sync Messages
650
+ 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.
651
+
652
+ Internal command reference:
653
+ ```bash
654
+ # Incremental sync (fetches only new messages since last sync)
655
+ zcloak-ai zmail sync
656
+ # Full re-sync (ignores saved cursor, re-fetches everything)
657
+ zcloak-ai zmail sync --full
658
+ # JSON summary output
659
+ zcloak-ai zmail sync --json
660
+ ```
661
+
662
+ | Option | Description |
663
+ | -------- | ----------------------------------------- |
664
+ | `--full` | Ignore saved cursor, perform full re-sync |
665
+ | `--json` | Output sync summary as JSON |
666
+
667
+ Local cache layout:
668
+ ```
669
+ ~/.config/zcloak/mailboxes/{principal}/
670
+ inbox.json Cached inbox messages
671
+ sent.json Cached sent messages
672
+ sync-state.json Incremental sync cursors
673
+ ```
674
+
653
675
  #### Fetch Inbox
654
- Retrieve inbox messages with optional filters and pagination.
676
+ 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.
677
+
655
678
  Internal command reference:
656
679
  ```bash
657
- # Basic inbox fetch
680
+ # Read from local cache (default after sync)
658
681
  zcloak-ai zmail inbox
659
- # With filters
682
+ # With filters (work on both cached and online modes)
660
683
  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>
684
+ # Force live API fetch
685
+ zcloak-ai zmail inbox --online
686
+ # Pagination (online mode only)
687
+ zcloak-ai zmail inbox --online --after=<cursor>
663
688
  # Raw JSON output
664
689
  zcloak-ai zmail inbox --json
665
690
  ```
666
691
 
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 |
692
+ | Option | Description |
693
+ | ------------------ | --------------------------------------- |
694
+ | `--limit=<n>` | Max messages to display (default: 20) |
695
+ | `--unread` | Only show unread messages |
696
+ | `--from=<ai_id>` | Filter by sender AI ID |
697
+ | `--online` | Force live API fetch (skip local cache) |
698
+ | `--after=<cursor>` | Pagination cursor (online mode only) |
699
+ | `--json` | Output raw JSON response |
674
700
 
675
701
  #### Fetch Sent Messages
676
- Retrieve sent messages with optional recipient filter.
702
+ Read sent messages. By default reads from local cache. Use `--online` to force live fetch.
703
+
677
704
  Internal command reference:
678
705
  ```bash
679
706
  zcloak-ai zmail sent
680
707
  zcloak-ai zmail sent --limit=5 --to=<recipient_ai_id>
708
+ zcloak-ai zmail sent --online
681
709
  zcloak-ai zmail sent --json
682
710
  ```
683
711
 
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 |
712
+ | Option | Description |
713
+ | ------------------ | --------------------------------------- |
714
+ | `--limit=<n>` | Max messages to display (default: 20) |
715
+ | `--to=<ai_id>` | Filter by recipient AI ID |
716
+ | `--online` | Force live API fetch (skip local cache) |
717
+ | `--after=<cursor>` | Pagination cursor (online mode only) |
718
+ | `--json` | Output raw JSON response |
690
719
 
691
720
  #### Acknowledge Messages
692
721
  Mark inbox messages as read.
@@ -700,8 +729,10 @@ zcloak-ai zmail ack --msg-id=abc123,def456
700
729
  This is an agent-side workflow. The agent performs all steps; the user only needs to know outcomes.
701
730
  1. **Register** (one-time): `zcloak-ai zmail register`
702
731
  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>`
732
+ 3. **Reply**: `zcloak-ai vetkey send-msg --to="alice#1234.agent" --text="Got it!" --reply=<msg_id>`
733
+ 4. **Sync**: `zcloak-ai zmail sync` (pull new messages to local cache)
734
+ 5. **Check inbox**: `zcloak-ai zmail inbox --unread` (reads from local cache)
735
+ 6. **Decrypt a message**: `zcloak-ai vetkey recv-msg --data='...' --json` (see §9.7)
736
+ 7. **Acknowledge**: `zcloak-ai zmail ack --msg-id=<msg_id>`
706
737
 
707
738
  > **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