@leemour/cli-messaging 0.176.0 → 0.177.0
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/dist/cli/messenger/admin-commands.d.ts.map +1 -1
- package/dist/cli/messenger/admin-commands.js +5 -1
- package/dist/cli/messenger/admin-commands.js.map +1 -1
- package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-folders-command.js +46 -8
- package/dist/cli/messenger/admin-folders-command.js.map +1 -1
- package/dist/cli/messenger/context.d.ts +2 -0
- package/dist/cli/messenger/context.d.ts.map +1 -1
- package/dist/cli/messenger/context.js.map +1 -1
- package/dist/cli/messenger/port.d.ts +5 -3
- package/dist/cli/messenger/port.d.ts.map +1 -1
- package/dist/cli/messenger/port.js.map +1 -1
- package/dist/domain/models.d.ts +28 -3
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js +2 -0
- package/dist/domain/models.js.map +1 -1
- package/dist/kit/fake.d.ts +0 -8
- package/dist/kit/fake.d.ts.map +1 -1
- package/dist/kit/fake.js +21 -2
- package/dist/kit/fake.js.map +1 -1
- package/dist/mcp/tools/admin.d.ts.map +1 -1
- package/dist/mcp/tools/admin.js +11 -2
- package/dist/mcp/tools/admin.js.map +1 -1
- package/dist/mcp/tools/folders.d.ts.map +1 -1
- package/dist/mcp/tools/folders.js +19 -2
- package/dist/mcp/tools/folders.js.map +1 -1
- package/dist/sends/guard.js +1 -1
- package/dist/sends/guard.js.map +1 -1
- package/dist/sends/journal.d.ts +2 -0
- package/dist/sends/journal.d.ts.map +1 -1
- package/dist/sends/journal.js.map +1 -1
- package/dist/services/admin.d.ts +2 -0
- package/dist/services/admin.d.ts.map +1 -1
- package/dist/services/admin.js +5 -0
- package/dist/services/admin.js.map +1 -1
- package/dist/services/folders.d.ts +12 -5
- package/dist/services/folders.d.ts.map +1 -1
- package/dist/services/folders.js +28 -5
- package/dist/services/folders.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +71 -1
package/dist/services/folders.js
CHANGED
|
@@ -25,22 +25,44 @@ export const foldersService = (deps) => {
|
|
|
25
25
|
? `no folder "${typed}" — \`chats folders list\` shows them`
|
|
26
26
|
: `${found.length} folders are called "${typed}" — name one by its id`);
|
|
27
27
|
};
|
|
28
|
+
const rulesOf = async (connection, edit) => {
|
|
29
|
+
const asked = [edit.emoji, edit.include, edit.skip, edit.exclude?.length, edit.pin?.length].some((one) => one !== undefined && one !== 0);
|
|
30
|
+
if (asked && !deps.messenger.folderRules)
|
|
31
|
+
throw new CliError("validation_error", "this messenger's folders hold only the chats named in them");
|
|
32
|
+
return {
|
|
33
|
+
...(edit.emoji === undefined ? {} : { emoji: edit.emoji }),
|
|
34
|
+
...(edit.include === undefined ? {} : { include: edit.include }),
|
|
35
|
+
...(edit.skip === undefined ? {} : { skip: edit.skip }),
|
|
36
|
+
...(edit.exclude?.length ? { exclude: await ids(connection, edit.exclude) } : {}),
|
|
37
|
+
...(edit.pin?.length ? { pin: await ids(connection, edit.pin) } : {}),
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
const changes = (edit) => [
|
|
41
|
+
edit.title,
|
|
42
|
+
edit.add?.length,
|
|
43
|
+
edit.remove?.length,
|
|
44
|
+
edit.emoji,
|
|
45
|
+
edit.include,
|
|
46
|
+
edit.skip,
|
|
47
|
+
edit.exclude?.length,
|
|
48
|
+
edit.pin?.length,
|
|
49
|
+
].some((one) => one !== undefined && one !== 0);
|
|
28
50
|
return {
|
|
29
51
|
list: async () => capability(await online("chats folders list"), "folders", "list its folders")(),
|
|
30
|
-
create: async (title, chats) => {
|
|
52
|
+
create: async (title, chats, edit = {}) => {
|
|
31
53
|
if (title.trim() === "")
|
|
32
54
|
throw new CliError("validation_error", "a folder needs a name");
|
|
33
55
|
const connection = await online("chats folders create");
|
|
34
56
|
const create = capability(connection, "createFolder", "create a folder");
|
|
35
57
|
const chatIds = await ids(connection, chats);
|
|
58
|
+
const rules = await rulesOf(connection, edit);
|
|
36
59
|
const operationId = newOperationId();
|
|
37
|
-
const folder = await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: "folder-create" }, () => create(title.trim(), chatIds));
|
|
60
|
+
const folder = await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: "folder-create" }, () => (Object.keys(rules).length > 0 ? create(title.trim(), chatIds, rules) : create(title.trim(), chatIds)));
|
|
38
61
|
return { operationId, folder };
|
|
39
62
|
},
|
|
40
63
|
update: async (folder, edit) => {
|
|
41
|
-
if (
|
|
64
|
+
if (!changes(edit))
|
|
42
65
|
throw new CliError("validation_error", "nothing to change — give --title, --add or --remove");
|
|
43
|
-
}
|
|
44
66
|
const connection = await online("chats folders update");
|
|
45
67
|
const update = capability(connection, "updateFolder", "change a folder");
|
|
46
68
|
const { id } = await folderOf(connection, folder);
|
|
@@ -48,6 +70,7 @@ export const foldersService = (deps) => {
|
|
|
48
70
|
...(edit.title === undefined ? {} : { title: edit.title }),
|
|
49
71
|
...(edit.add?.length ? { add: await ids(connection, edit.add) } : {}),
|
|
50
72
|
...(edit.remove?.length ? { remove: await ids(connection, edit.remove) } : {}),
|
|
73
|
+
...(await rulesOf(connection, edit)),
|
|
51
74
|
};
|
|
52
75
|
const operationId = newOperationId();
|
|
53
76
|
const changed = await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: "folder-update" }, () => update(id, change));
|
|
@@ -77,7 +100,7 @@ export const foldersService = (deps) => {
|
|
|
77
100
|
const folders = [...named, ...all.filter((one) => !named.some((seen) => seen.id === one.id))];
|
|
78
101
|
const operationId = newOperationId();
|
|
79
102
|
await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: "folder-order" }, () => reorder(folders.map((one) => one.id)));
|
|
80
|
-
return { operationId, folders };
|
|
103
|
+
return { operationId, folders: folders.map(({ id, title }) => ({ id, title })) };
|
|
81
104
|
},
|
|
82
105
|
join: async (link) => {
|
|
83
106
|
if (link.trim() === "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/services/folders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAyB,MAAM,0BAA0B,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/services/folders.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leemour/cli-messaging",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.177.0",
|
|
4
4
|
"description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
package/parity.json
CHANGED
|
@@ -270,6 +270,10 @@
|
|
|
270
270
|
"meaning": "judge and plan; do nothing",
|
|
271
271
|
"note": "A command-specific dry run keeps its richer plan; otherwise the shared shell previews arguments and permissions without running the action. Targets remain unresolved unless that command provides a preview."
|
|
272
272
|
},
|
|
273
|
+
"--emoji": {
|
|
274
|
+
"value": "<emoji>",
|
|
275
|
+
"meaning": "the folder's icon"
|
|
276
|
+
},
|
|
273
277
|
"--encrypt": {
|
|
274
278
|
"meaning": "compress and encrypt with a password, typed at a hidden prompt or piped on stdin; never kept"
|
|
275
279
|
},
|
|
@@ -284,6 +288,10 @@
|
|
|
284
288
|
"--exact": {
|
|
285
289
|
"meaning": "bare words and quotes match their exact form only, as exact:word does; text: still matches every form"
|
|
286
290
|
},
|
|
291
|
+
"--exclude-chat": {
|
|
292
|
+
"value": "<chat>",
|
|
293
|
+
"meaning": "never show this chat in the folder; repeat it for more"
|
|
294
|
+
},
|
|
287
295
|
"--expire-time": {
|
|
288
296
|
"value": "<time>",
|
|
289
297
|
"meaning": "it stops working then: 2026-09-25T09:00 (local time), or 30m, 2h, 7d from now"
|
|
@@ -359,6 +367,10 @@
|
|
|
359
367
|
"value": "<duration>",
|
|
360
368
|
"meaning": "stop after this long with nobody using it — 15m, 1h"
|
|
361
369
|
},
|
|
370
|
+
"--include": {
|
|
371
|
+
"value": "<kinds>",
|
|
372
|
+
"meaning": "a folder takes every chat of these kinds: contacts, non-contacts, groups, channels, bots"
|
|
373
|
+
},
|
|
362
374
|
"--join-approval": {
|
|
363
375
|
"value": "<on|off>",
|
|
364
376
|
"meaning": "people ask to join, and an admin lets them in"
|
|
@@ -659,6 +671,10 @@
|
|
|
659
671
|
"value": "<file>",
|
|
660
672
|
"meaning": "an image file — a profile photo in `account update`, a group's photo in `chats update`, a photo to send in `messages send`"
|
|
661
673
|
},
|
|
674
|
+
"--pin": {
|
|
675
|
+
"value": "<chat>",
|
|
676
|
+
"meaning": "pin this chat at the top of the folder; repeat it for more"
|
|
677
|
+
},
|
|
662
678
|
"--pinned": {
|
|
663
679
|
"value": "<on|off>",
|
|
664
680
|
"meaning": "on pins a forum topic at the top of the list, off unpins it"
|
|
@@ -800,6 +816,10 @@
|
|
|
800
816
|
"value": "<n>",
|
|
801
817
|
"meaning": "messages to answer per batch, 10–200; 50 by default"
|
|
802
818
|
},
|
|
819
|
+
"--skip": {
|
|
820
|
+
"value": "<which>",
|
|
821
|
+
"meaning": "a folder leaves out chats that are muted, read or archived"
|
|
822
|
+
},
|
|
803
823
|
"--source": {
|
|
804
824
|
"value": "<messenger>",
|
|
805
825
|
"meaning": "every account of this messenger held in the store; personal, bots or all — the same as in: in the query"
|
|
@@ -1441,7 +1461,32 @@
|
|
|
1441
1461
|
"chats folders create": {
|
|
1442
1462
|
"in": "all",
|
|
1443
1463
|
"options": {
|
|
1444
|
-
"--chat": "all"
|
|
1464
|
+
"--chat": "all",
|
|
1465
|
+
"--emoji": {
|
|
1466
|
+
"in": [],
|
|
1467
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1468
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1469
|
+
},
|
|
1470
|
+
"--exclude-chat": {
|
|
1471
|
+
"in": [],
|
|
1472
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1473
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1474
|
+
},
|
|
1475
|
+
"--include": {
|
|
1476
|
+
"in": [],
|
|
1477
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1478
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1479
|
+
},
|
|
1480
|
+
"--pin": {
|
|
1481
|
+
"in": [],
|
|
1482
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1483
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1484
|
+
},
|
|
1485
|
+
"--skip": {
|
|
1486
|
+
"in": [],
|
|
1487
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1488
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1489
|
+
}
|
|
1445
1490
|
}
|
|
1446
1491
|
},
|
|
1447
1492
|
"chats folders delete": {
|
|
@@ -1467,7 +1512,32 @@
|
|
|
1467
1512
|
"in": "all",
|
|
1468
1513
|
"options": {
|
|
1469
1514
|
"--add": "all",
|
|
1515
|
+
"--emoji": {
|
|
1516
|
+
"in": [],
|
|
1517
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1518
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1519
|
+
},
|
|
1520
|
+
"--exclude-chat": {
|
|
1521
|
+
"in": [],
|
|
1522
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1523
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1524
|
+
},
|
|
1525
|
+
"--include": {
|
|
1526
|
+
"in": [],
|
|
1527
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1528
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1529
|
+
},
|
|
1530
|
+
"--pin": {
|
|
1531
|
+
"in": [],
|
|
1532
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1533
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1534
|
+
},
|
|
1470
1535
|
"--remove": "all",
|
|
1536
|
+
"--skip": {
|
|
1537
|
+
"in": [],
|
|
1538
|
+
"reason": "max-cli folders hold only the chats named in them",
|
|
1539
|
+
"planned": { "tg": "feat/folder-rules" }
|
|
1540
|
+
},
|
|
1471
1541
|
"--title": "all"
|
|
1472
1542
|
}
|
|
1473
1543
|
},
|