@zcloak/ai-agent 1.0.23 → 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +88 -117
- package/dist/bind.js +9 -8
- package/dist/bind.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +61 -37
- package/dist/cli.js.map +1 -1
- package/dist/compat.d.ts +32 -0
- package/dist/compat.js +91 -0
- package/dist/compat.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/daemon.d.ts +14 -24
- package/dist/daemon.js +44 -83
- package/dist/daemon.js.map +1 -1
- package/dist/delete.js +8 -7
- package/dist/delete.js.map +1 -1
- package/dist/doc.js +4 -3
- package/dist/doc.js.map +1 -1
- package/dist/feed.js +2 -1
- package/dist/feed.js.map +1 -1
- package/dist/identity.js +2 -1
- package/dist/identity.js.map +1 -1
- package/dist/identity_cmd.js +2 -1
- package/dist/identity_cmd.js.map +1 -1
- package/dist/log.js +3 -6
- package/dist/log.js.map +1 -1
- package/dist/mailbox-store.d.ts +92 -0
- package/dist/mailbox-store.js +166 -0
- package/dist/mailbox-store.js.map +1 -0
- package/dist/paths.d.ts +39 -0
- package/dist/paths.js +77 -0
- package/dist/paths.js.map +1 -0
- package/dist/pow.js +2 -1
- package/dist/pow.js.map +1 -1
- package/dist/pre-check.d.ts +4 -4
- package/dist/pre-check.js +25 -9
- package/dist/pre-check.js.map +1 -1
- package/dist/register.js +200 -35
- package/dist/register.js.map +1 -1
- package/dist/rpc.d.ts +4 -6
- package/dist/rpc.js +3 -3
- package/dist/rpc.js.map +1 -1
- package/dist/serve.d.ts +4 -30
- package/dist/serve.js +22 -90
- package/dist/serve.js.map +1 -1
- package/dist/session.js +4 -3
- package/dist/session.js.map +1 -1
- package/dist/sign.js +9 -8
- package/dist/sign.js.map +1 -1
- package/dist/social.js +6 -5
- package/dist/social.js.map +1 -1
- package/dist/types/registry.d.ts +1 -1
- package/dist/types/registry.js +1 -1
- package/dist/types/sign-event.d.ts +1 -1
- package/dist/types/sign-event.js +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/verify.js +3 -2
- package/dist/verify.js.map +1 -1
- package/dist/vetkey.d.ts +18 -15
- package/dist/vetkey.js +182 -91
- package/dist/vetkey.js.map +1 -1
- package/dist/zmail.d.ts +7 -3
- package/dist/zmail.js +316 -20
- package/dist/zmail.js.map +1 -1
- package/package.json +1 -1
package/dist/zmail.js
CHANGED
|
@@ -3,21 +3,27 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides commands to interact with the zMail encrypted mail server:
|
|
5
5
|
* register Register this agent with zMail (required before sending)
|
|
6
|
-
*
|
|
7
|
-
* inbox
|
|
8
|
-
* sent
|
|
6
|
+
* sync Sync messages from server to local cache
|
|
7
|
+
* inbox Read inbox messages (local cache first, --online for live)
|
|
8
|
+
* sent Read sent messages (local cache first, --online for live)
|
|
9
9
|
* ack Acknowledge (mark as read) inbox messages
|
|
10
10
|
*
|
|
11
11
|
* All messages are end-to-end encrypted using IBE (Identity-Based Encryption).
|
|
12
12
|
* The zMail server never sees plaintext — it only routes and stores ciphertext.
|
|
13
13
|
*
|
|
14
|
+
* Local cache follows the zmail-skill pattern:
|
|
15
|
+
* sync pulls messages from server → stores in ~/.config/zcloak/mailboxes/
|
|
16
|
+
* inbox/sent read from local cache (offline capable after sync)
|
|
17
|
+
*
|
|
14
18
|
* Usage: zcloak-ai zmail <sub-command> [options]
|
|
15
19
|
*/
|
|
16
20
|
import { createHash, randomBytes } from 'crypto';
|
|
17
21
|
import { schnorr } from '@noble/curves/secp256k1';
|
|
18
22
|
import { bytesToHex } from '@noble/hashes/utils';
|
|
19
23
|
import config from './config.js';
|
|
24
|
+
import * as log from './log.js';
|
|
20
25
|
import { extractPrivateKeyHex, schnorrPubkeyFromSpki } from './vetkey.js';
|
|
26
|
+
import { readInbox, readSent, writeInbox, writeSent, readSyncState, writeSyncState, mergeMessages, cleanupTmpFiles, } from './mailbox-store.js';
|
|
21
27
|
// ============================================================================
|
|
22
28
|
// Module Entry Point
|
|
23
29
|
// ============================================================================
|
|
@@ -33,6 +39,9 @@ export async function run(session) {
|
|
|
33
39
|
case 'register':
|
|
34
40
|
await cmdRegister(session);
|
|
35
41
|
break;
|
|
42
|
+
case 'sync':
|
|
43
|
+
await cmdSync(session);
|
|
44
|
+
break;
|
|
36
45
|
case 'inbox':
|
|
37
46
|
await cmdInbox(session);
|
|
38
47
|
break;
|
|
@@ -57,23 +66,29 @@ function showHelp() {
|
|
|
57
66
|
console.log('');
|
|
58
67
|
console.log('Commands:');
|
|
59
68
|
console.log(' register Register this agent with zMail server');
|
|
60
|
-
console.log('
|
|
61
|
-
console.log('
|
|
69
|
+
console.log(' sync Sync messages from server to local cache');
|
|
70
|
+
console.log(' inbox Read inbox messages (cached; use --online for live)');
|
|
71
|
+
console.log(' sent Read sent messages (cached; use --online for live)');
|
|
62
72
|
console.log(' ack Acknowledge (mark as read) messages');
|
|
63
73
|
console.log('');
|
|
64
74
|
console.log('Options:');
|
|
65
75
|
console.log(' --zmail-url=<url> Override zMail server URL');
|
|
66
|
-
console.log(' --limit=<n> Max messages to
|
|
67
|
-
console.log(' --after=<cursor> Pagination cursor (
|
|
68
|
-
console.log(' --unread Only
|
|
76
|
+
console.log(' --limit=<n> Max messages to display (default: 20)');
|
|
77
|
+
console.log(' --after=<cursor> Pagination cursor (online mode only)');
|
|
78
|
+
console.log(' --unread Only show unread messages (inbox only)');
|
|
69
79
|
console.log(' --from=<principal> Filter by sender (inbox only)');
|
|
70
80
|
console.log(' --to=<principal> Filter by recipient (sent only)');
|
|
71
81
|
console.log(' --msg-id=<id,...> Message IDs to acknowledge (ack only)');
|
|
72
82
|
console.log(' --json Output raw JSON response');
|
|
83
|
+
console.log(' --online Force live API fetch (skip local cache)');
|
|
84
|
+
console.log(' --full Full sync (ignore saved cursor, re-fetch all)');
|
|
73
85
|
console.log('');
|
|
74
86
|
console.log('Examples:');
|
|
75
87
|
console.log(' zcloak-ai zmail register');
|
|
88
|
+
console.log(' zcloak-ai zmail sync');
|
|
89
|
+
console.log(' zcloak-ai zmail sync --full');
|
|
76
90
|
console.log(' zcloak-ai zmail inbox --limit=10 --unread');
|
|
91
|
+
console.log(' zcloak-ai zmail inbox --online');
|
|
77
92
|
console.log(' zcloak-ai zmail sent --limit=5');
|
|
78
93
|
console.log(' zcloak-ai zmail ack --msg-id=abc123,def456');
|
|
79
94
|
}
|
|
@@ -243,8 +258,8 @@ async function cmdRegister(session) {
|
|
|
243
258
|
timestamp,
|
|
244
259
|
sig,
|
|
245
260
|
};
|
|
246
|
-
|
|
247
|
-
|
|
261
|
+
log.info(`Registering with zMail at ${zmailUrl}...`);
|
|
262
|
+
log.info(` ai_id: ${principal}`);
|
|
248
263
|
const url = `${zmailUrl}/v1/register`;
|
|
249
264
|
let res;
|
|
250
265
|
try {
|
|
@@ -271,27 +286,217 @@ async function cmdRegister(session) {
|
|
|
271
286
|
else {
|
|
272
287
|
// Unexpected error
|
|
273
288
|
const errorCode = body.error || `HTTP ${res.status}`;
|
|
274
|
-
|
|
289
|
+
log.error(`Registration failed: ${errorCode}`);
|
|
275
290
|
if (body.retry_after) {
|
|
276
|
-
|
|
291
|
+
log.error(` retry_after: ${body.retry_after}s`);
|
|
277
292
|
}
|
|
278
293
|
process.exit(1);
|
|
279
294
|
}
|
|
280
295
|
}
|
|
281
296
|
// ============================================================================
|
|
297
|
+
// Command: sync
|
|
298
|
+
// ============================================================================
|
|
299
|
+
/** Maximum messages per API page during sync */
|
|
300
|
+
const SYNC_PAGE_LIMIT = 100;
|
|
301
|
+
/**
|
|
302
|
+
* Fetch all pages of messages from a zMail endpoint.
|
|
303
|
+
* Returns the accumulated messages and the final pagination cursor.
|
|
304
|
+
*
|
|
305
|
+
* @param session - CLI session for auth headers
|
|
306
|
+
* @param zmailUrl - zMail server base URL
|
|
307
|
+
* @param endpoint - API path (e.g. "/v1/inbox/{principal}")
|
|
308
|
+
* @param cursor - Starting pagination cursor (undefined for first page)
|
|
309
|
+
* @returns Object with all fetched messages and the last cursor
|
|
310
|
+
*/
|
|
311
|
+
async function fetchAllPages(session, zmailUrl, endpoint, cursor) {
|
|
312
|
+
const allMessages = [];
|
|
313
|
+
let currentCursor = cursor;
|
|
314
|
+
// Track the last non-undefined cursor so we don't lose it when the
|
|
315
|
+
// final page returns no cursor (which would reset incremental sync).
|
|
316
|
+
let lastValidCursor = cursor;
|
|
317
|
+
// Paginate until no more cursor is returned by the server
|
|
318
|
+
while (true) {
|
|
319
|
+
const query = { limit: String(SYNC_PAGE_LIMIT) };
|
|
320
|
+
if (currentCursor)
|
|
321
|
+
query['after'] = currentCursor;
|
|
322
|
+
const queryString = Object.entries(query)
|
|
323
|
+
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
324
|
+
.join('&');
|
|
325
|
+
const url = `${zmailUrl}${endpoint}?${queryString}`;
|
|
326
|
+
const headers = buildOwnershipProofHeaders(session, 'GET', endpoint, query);
|
|
327
|
+
let res;
|
|
328
|
+
try {
|
|
329
|
+
res = await fetch(url, { method: 'GET', headers });
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
throw new Error(`Failed to connect to zMail: ${err instanceof Error ? err.message : String(err)}`);
|
|
333
|
+
}
|
|
334
|
+
const body = await res.json();
|
|
335
|
+
if (!res.ok) {
|
|
336
|
+
const errorCode = body.error || `HTTP ${res.status}`;
|
|
337
|
+
throw new Error(`Sync fetch failed (${endpoint}): ${errorCode}`);
|
|
338
|
+
}
|
|
339
|
+
const pageMessages = (body.messages ?? []);
|
|
340
|
+
allMessages.push(...pageMessages);
|
|
341
|
+
currentCursor = body.cursor;
|
|
342
|
+
if (currentCursor)
|
|
343
|
+
lastValidCursor = currentCursor;
|
|
344
|
+
// No more pages or empty page — done
|
|
345
|
+
if (!currentCursor || pageMessages.length === 0)
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
return { messages: allMessages, cursor: lastValidCursor };
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Sync messages from the zMail server to local cache.
|
|
352
|
+
*
|
|
353
|
+
* Uses incremental pagination cursors: on first sync, fetches everything;
|
|
354
|
+
* on subsequent syncs, resumes from the last saved cursor.
|
|
355
|
+
*
|
|
356
|
+
* Options:
|
|
357
|
+
* --full Ignore saved cursor, perform full re-sync
|
|
358
|
+
* --json Output sync summary as JSON
|
|
359
|
+
*/
|
|
360
|
+
async function cmdSync(session) {
|
|
361
|
+
const zmailUrl = resolveZmailUrl(session);
|
|
362
|
+
const principal = session.getPrincipal();
|
|
363
|
+
const fullSync = session.args['full'] === true;
|
|
364
|
+
const jsonOutput = session.args['json'] === true;
|
|
365
|
+
// Load existing state (cursors from last sync).
|
|
366
|
+
// In full mode, skip previous state and cache — the result replaces everything.
|
|
367
|
+
const prevState = fullSync ? null : readSyncState(principal);
|
|
368
|
+
const prevInbox = fullSync ? { version: 1, synced_at: 0, messages: [] } : readInbox(principal);
|
|
369
|
+
const prevSent = fullSync ? { version: 1, synced_at: 0, messages: [] } : readSent(principal);
|
|
370
|
+
log.info(`Syncing zMail for ${principal}...`);
|
|
371
|
+
if (prevState && !fullSync) {
|
|
372
|
+
log.info(` Incremental sync from cursor (last synced: ${new Date(prevState.last_sync_at * 1000).toISOString()})`);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
log.info(' Full sync (no previous state or --full flag)');
|
|
376
|
+
}
|
|
377
|
+
// Fetch inbox pages
|
|
378
|
+
const inboxResult = await fetchAllPages(session, zmailUrl, `/v1/inbox/${principal}`, prevState?.inbox_cursor);
|
|
379
|
+
// Fetch sent pages
|
|
380
|
+
const sentResult = await fetchAllPages(session, zmailUrl, `/v1/sent/${principal}`, prevState?.sent_cursor);
|
|
381
|
+
// Merge newly fetched messages with existing cache
|
|
382
|
+
const mergedInbox = mergeMessages(prevInbox.messages, inboxResult.messages);
|
|
383
|
+
const mergedSent = mergeMessages(prevSent.messages, sentResult.messages);
|
|
384
|
+
const now = Math.floor(Date.now() / 1000);
|
|
385
|
+
// Write updated cache files atomically
|
|
386
|
+
writeInbox(principal, { version: 1, synced_at: now, messages: mergedInbox });
|
|
387
|
+
writeSent(principal, { version: 1, synced_at: now, messages: mergedSent });
|
|
388
|
+
writeSyncState(principal, {
|
|
389
|
+
version: 1,
|
|
390
|
+
inbox_cursor: inboxResult.cursor,
|
|
391
|
+
sent_cursor: sentResult.cursor,
|
|
392
|
+
last_sync_at: now,
|
|
393
|
+
});
|
|
394
|
+
// Clean up any leftover .tmp files from interrupted writes
|
|
395
|
+
cleanupTmpFiles(principal);
|
|
396
|
+
// Output sync summary
|
|
397
|
+
const summary = {
|
|
398
|
+
inbox_new: inboxResult.messages.length,
|
|
399
|
+
sent_new: sentResult.messages.length,
|
|
400
|
+
inbox_total: mergedInbox.length,
|
|
401
|
+
sent_total: mergedSent.length,
|
|
402
|
+
synced_at: now,
|
|
403
|
+
};
|
|
404
|
+
if (jsonOutput) {
|
|
405
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
console.log(`Synced: ${summary.inbox_new} new inbox, ${summary.sent_new} new sent`);
|
|
409
|
+
console.log(` Total cached: ${summary.inbox_total} inbox, ${summary.sent_total} sent`);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
// ============================================================================
|
|
282
413
|
// Command: inbox
|
|
283
414
|
// ============================================================================
|
|
284
415
|
/**
|
|
285
|
-
*
|
|
416
|
+
* Read inbox messages.
|
|
417
|
+
*
|
|
418
|
+
* Default behavior: read from local cache (populated by `sync`).
|
|
419
|
+
* Use --online to force a live API fetch (original behavior).
|
|
420
|
+
* If no local cache exists and --online is not set, falls back to online.
|
|
286
421
|
*
|
|
287
422
|
* Options:
|
|
288
423
|
* --limit=<n> Max messages (default: 20)
|
|
289
|
-
* --after=<cursor> Pagination cursor
|
|
424
|
+
* --after=<cursor> Pagination cursor (online mode only)
|
|
290
425
|
* --unread Only unread messages
|
|
291
426
|
* --from=<principal> Filter by sender
|
|
292
427
|
* --json Output raw JSON
|
|
428
|
+
* --online Force live API fetch
|
|
293
429
|
*/
|
|
294
430
|
async function cmdInbox(session) {
|
|
431
|
+
const online = session.args['online'] === true;
|
|
432
|
+
const principal = session.getPrincipal();
|
|
433
|
+
// Try local cache first (unless --online is explicitly set)
|
|
434
|
+
if (!online) {
|
|
435
|
+
const syncState = readSyncState(principal);
|
|
436
|
+
const cached = syncState ? readInbox(principal) : null;
|
|
437
|
+
// Use cache if sync state exists AND the mailbox file was written by a previous sync
|
|
438
|
+
// (synced_at > 0). An empty message list is valid — it means the inbox is genuinely
|
|
439
|
+
// empty after sync, and should be displayed as such (offline-capable).
|
|
440
|
+
if (syncState && cached && cached.synced_at > 0) {
|
|
441
|
+
outputCachedInbox(session, cached, syncState.last_sync_at);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
// No usable cache — fall through to online mode
|
|
445
|
+
log.info('No local cache found. Fetching from server (run "zmail sync" to cache locally).');
|
|
446
|
+
}
|
|
447
|
+
// Online mode: original API fetch logic
|
|
448
|
+
await cmdInboxOnline(session);
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Output inbox messages from local cache with in-memory filtering.
|
|
452
|
+
*/
|
|
453
|
+
function outputCachedInbox(session, cached, lastSyncAt) {
|
|
454
|
+
const limit = parseInt(session.args['limit'] || '20', 10);
|
|
455
|
+
const unreadOnly = session.args['unread'] === true;
|
|
456
|
+
const fromFilter = session.args['from'];
|
|
457
|
+
const jsonOutput = session.args['json'] === true;
|
|
458
|
+
// Apply filters in memory
|
|
459
|
+
let messages = cached.messages;
|
|
460
|
+
if (unreadOnly) {
|
|
461
|
+
messages = messages.filter(m => !m.read);
|
|
462
|
+
}
|
|
463
|
+
if (fromFilter) {
|
|
464
|
+
messages = messages.filter(m => m.ai_id === fromFilter);
|
|
465
|
+
}
|
|
466
|
+
// Count unread within the (possibly filtered) result set, not the full cache
|
|
467
|
+
const unreadCount = messages.filter(m => !m.read).length;
|
|
468
|
+
// Apply limit
|
|
469
|
+
const limited = messages.slice(0, limit);
|
|
470
|
+
if (jsonOutput) {
|
|
471
|
+
console.log(JSON.stringify({
|
|
472
|
+
messages: limited,
|
|
473
|
+
unread_count: unreadCount,
|
|
474
|
+
cached: true,
|
|
475
|
+
synced_at: lastSyncAt,
|
|
476
|
+
}, null, 2));
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
const syncTime = new Date(lastSyncAt * 1000).toISOString();
|
|
480
|
+
console.log(`Inbox: ${limited.length} message(s)${unreadCount > 0 ? `, ${unreadCount} unread` : ''} (cached, last synced: ${syncTime})`);
|
|
481
|
+
console.log('');
|
|
482
|
+
for (const msg of limited) {
|
|
483
|
+
const read = msg.read ? '' : ' [NEW]';
|
|
484
|
+
const time = new Date((msg.created_at ?? msg.received_at) * 1000).toISOString();
|
|
485
|
+
const from = msg.ai_id;
|
|
486
|
+
const msgId = msg.id;
|
|
487
|
+
console.log(` ${read ? '●' : '○'}${read} ${time}`);
|
|
488
|
+
console.log(` From: ${from}`);
|
|
489
|
+
console.log(` ID: ${msgId}`);
|
|
490
|
+
console.log('');
|
|
491
|
+
}
|
|
492
|
+
if (messages.length > limit) {
|
|
493
|
+
console.log(` ... and ${messages.length - limit} more (increase --limit to see more)`);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Original online inbox fetch — used when --online is set or no cache exists.
|
|
498
|
+
*/
|
|
499
|
+
async function cmdInboxOnline(session) {
|
|
295
500
|
const zmailUrl = resolveZmailUrl(session);
|
|
296
501
|
const principal = session.getPrincipal();
|
|
297
502
|
const limit = session.args['limit'] || '20';
|
|
@@ -313,7 +518,7 @@ async function cmdInbox(session) {
|
|
|
313
518
|
const url = `${zmailUrl}${path}?${queryString}`;
|
|
314
519
|
// Build ownership proof headers
|
|
315
520
|
const headers = buildOwnershipProofHeaders(session, 'GET', path, query);
|
|
316
|
-
|
|
521
|
+
log.info(`Fetching inbox from ${zmailUrl}...`);
|
|
317
522
|
let res;
|
|
318
523
|
try {
|
|
319
524
|
res = await fetch(url, { method: 'GET', headers });
|
|
@@ -355,15 +560,80 @@ async function cmdInbox(session) {
|
|
|
355
560
|
// Command: sent
|
|
356
561
|
// ============================================================================
|
|
357
562
|
/**
|
|
358
|
-
*
|
|
563
|
+
* Read sent messages.
|
|
564
|
+
*
|
|
565
|
+
* Default behavior: read from local cache (populated by `sync`).
|
|
566
|
+
* Use --online to force a live API fetch.
|
|
567
|
+
* If no local cache exists and --online is not set, falls back to online.
|
|
359
568
|
*
|
|
360
569
|
* Options:
|
|
361
570
|
* --limit=<n> Max messages (default: 20)
|
|
362
|
-
* --after=<cursor> Pagination cursor
|
|
571
|
+
* --after=<cursor> Pagination cursor (online mode only)
|
|
363
572
|
* --to=<principal> Filter by recipient
|
|
364
573
|
* --json Output raw JSON
|
|
574
|
+
* --online Force live API fetch
|
|
365
575
|
*/
|
|
366
576
|
async function cmdSent(session) {
|
|
577
|
+
const online = session.args['online'] === true;
|
|
578
|
+
const principal = session.getPrincipal();
|
|
579
|
+
// Try local cache first (unless --online is explicitly set)
|
|
580
|
+
if (!online) {
|
|
581
|
+
const syncState = readSyncState(principal);
|
|
582
|
+
const cached = syncState ? readSent(principal) : null;
|
|
583
|
+
if (syncState && cached && cached.synced_at > 0) {
|
|
584
|
+
outputCachedSent(session, cached, syncState.last_sync_at);
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
log.info('No local cache found. Fetching from server (run "zmail sync" to cache locally).');
|
|
588
|
+
}
|
|
589
|
+
// Online mode: original API fetch logic
|
|
590
|
+
await cmdSentOnline(session);
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Output sent messages from local cache with in-memory filtering.
|
|
594
|
+
*/
|
|
595
|
+
function outputCachedSent(session, cached, lastSyncAt) {
|
|
596
|
+
const limit = parseInt(session.args['limit'] || '20', 10);
|
|
597
|
+
const toFilter = session.args['to'];
|
|
598
|
+
const jsonOutput = session.args['json'] === true;
|
|
599
|
+
// Apply filters in memory
|
|
600
|
+
let messages = cached.messages;
|
|
601
|
+
if (toFilter) {
|
|
602
|
+
messages = messages.filter(m => {
|
|
603
|
+
const recipients = (m.recipients ?? []);
|
|
604
|
+
return recipients.includes(toFilter);
|
|
605
|
+
});
|
|
606
|
+
}
|
|
607
|
+
// Apply limit
|
|
608
|
+
const limited = messages.slice(0, limit);
|
|
609
|
+
if (jsonOutput) {
|
|
610
|
+
console.log(JSON.stringify({
|
|
611
|
+
messages: limited,
|
|
612
|
+
cached: true,
|
|
613
|
+
synced_at: lastSyncAt,
|
|
614
|
+
}, null, 2));
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
617
|
+
const syncTime = new Date(lastSyncAt * 1000).toISOString();
|
|
618
|
+
console.log(`Sent: ${limited.length} message(s) (cached, last synced: ${syncTime})`);
|
|
619
|
+
console.log('');
|
|
620
|
+
for (const msg of limited) {
|
|
621
|
+
const time = new Date((msg.created_at ?? msg.stored_at) * 1000).toISOString();
|
|
622
|
+
const recipients = (msg.recipients ?? []);
|
|
623
|
+
const msgId = msg.id;
|
|
624
|
+
console.log(` ${time}`);
|
|
625
|
+
console.log(` To: ${recipients.join(', ')}`);
|
|
626
|
+
console.log(` ID: ${msgId}`);
|
|
627
|
+
console.log('');
|
|
628
|
+
}
|
|
629
|
+
if (messages.length > limit) {
|
|
630
|
+
console.log(` ... and ${messages.length - limit} more (increase --limit to see more)`);
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Original online sent fetch — used when --online is set or no cache exists.
|
|
635
|
+
*/
|
|
636
|
+
async function cmdSentOnline(session) {
|
|
367
637
|
const zmailUrl = resolveZmailUrl(session);
|
|
368
638
|
const principal = session.getPrincipal();
|
|
369
639
|
const limit = session.args['limit'] || '20';
|
|
@@ -380,7 +650,7 @@ async function cmdSent(session) {
|
|
|
380
650
|
.join('&');
|
|
381
651
|
const url = `${zmailUrl}${path}?${queryString}`;
|
|
382
652
|
const headers = buildOwnershipProofHeaders(session, 'GET', path, query);
|
|
383
|
-
|
|
653
|
+
log.info(`Fetching sent messages from ${zmailUrl}...`);
|
|
384
654
|
let res;
|
|
385
655
|
try {
|
|
386
656
|
res = await fetch(url, { method: 'GET', headers });
|
|
@@ -443,7 +713,7 @@ async function cmdAck(session) {
|
|
|
443
713
|
'Content-Type': 'application/json',
|
|
444
714
|
...buildOwnershipProofHeaders(session, 'POST', path, undefined, body),
|
|
445
715
|
};
|
|
446
|
-
|
|
716
|
+
log.info(`Acknowledging ${msgIds.length} message(s)...`);
|
|
447
717
|
let res;
|
|
448
718
|
try {
|
|
449
719
|
res = await fetch(`${zmailUrl}${path}`, {
|
|
@@ -460,6 +730,32 @@ async function cmdAck(session) {
|
|
|
460
730
|
const errorCode = resBody.error || `HTTP ${res.status}`;
|
|
461
731
|
throw new Error(`Ack failed: ${errorCode}`);
|
|
462
732
|
}
|
|
463
|
-
|
|
733
|
+
const ackedCount = resBody.acked_count ?? msgIds.length;
|
|
734
|
+
console.log(`Acknowledged ${ackedCount} message(s).`);
|
|
735
|
+
// Best-effort update of local cache: mark acked messages as read so that
|
|
736
|
+
// `inbox --unread` reflects the change without needing a full re-sync.
|
|
737
|
+
// This must never cause the command to report failure — the server ACK
|
|
738
|
+
// already succeeded, so cache issues are non-critical.
|
|
739
|
+
try {
|
|
740
|
+
const syncState = readSyncState(principal);
|
|
741
|
+
if (syncState) {
|
|
742
|
+
const cached = readInbox(principal);
|
|
743
|
+
const ackSet = new Set(msgIds);
|
|
744
|
+
let changed = false;
|
|
745
|
+
for (const msg of cached.messages) {
|
|
746
|
+
if (ackSet.has(msg.id) && !msg.read) {
|
|
747
|
+
msg.read = true;
|
|
748
|
+
changed = true;
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
if (changed) {
|
|
752
|
+
writeInbox(principal, { ...cached, synced_at: cached.synced_at });
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
catch {
|
|
757
|
+
// Cache update is best-effort — log but don't fail the command.
|
|
758
|
+
log.warn('Failed to update local inbox cache after ack (run "zmail sync" to refresh).');
|
|
759
|
+
}
|
|
464
760
|
}
|
|
465
761
|
//# sourceMappingURL=zmail.js.map
|
package/dist/zmail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zmail.js","sourceRoot":"","sources":["../src/zmail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zmail.js","sourceRoot":"","sources":["../src/zmail.ts"],"names":[],"mappings":"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"}
|