@leemour/cli-messaging 0.41.0 → 0.42.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/README.md +1 -1
- package/dist/cli/messenger/chats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-command.js +2 -0
- package/dist/cli/messenger/chats-command.js.map +1 -1
- package/dist/cli/messenger/chats-members-command.d.ts +5 -0
- package/dist/cli/messenger/chats-members-command.d.ts.map +1 -0
- package/dist/cli/messenger/chats-members-command.js +18 -0
- package/dist/cli/messenger/chats-members-command.js.map +1 -0
- package/dist/cli/messenger/contacts-command.d.ts +11 -1
- package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/contacts-command.js +55 -0
- package/dist/cli/messenger/contacts-command.js.map +1 -1
- package/dist/cli/messenger/messages-command.d.ts +3 -1
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +26 -3
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/messages-pin-command.d.ts +20 -0
- package/dist/cli/messenger/messages-pin-command.d.ts.map +1 -0
- package/dist/cli/messenger/messages-pin-command.js +38 -0
- package/dist/cli/messenger/messages-pin-command.js.map +1 -0
- package/dist/cli/messenger/messages-scheduled-command.d.ts +5 -0
- package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -0
- package/dist/cli/messenger/messages-scheduled-command.js +30 -0
- package/dist/cli/messenger/messages-scheduled-command.js.map +1 -0
- package/dist/cli/messenger/port.d.ts +21 -1
- package/dist/cli/messenger/port.d.ts.map +1 -1
- package/dist/cli/messenger/port.js.map +1 -1
- package/dist/cli/messenger/stored.d.ts.map +1 -1
- package/dist/cli/messenger/stored.js +4 -1
- package/dist/cli/messenger/stored.js.map +1 -1
- package/dist/domain/models.d.ts +7 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/send-time.d.ts +8 -0
- package/dist/domain/send-time.d.ts.map +1 -0
- package/dist/domain/send-time.js +29 -0
- package/dist/domain/send-time.js.map +1 -0
- package/dist/mcp/confirm.d.ts.map +1 -1
- package/dist/mcp/confirm.js +4 -1
- package/dist/mcp/confirm.js.map +1 -1
- package/dist/mcp/tools/chats.d.ts.map +1 -1
- package/dist/mcp/tools/chats.js +13 -0
- package/dist/mcp/tools/chats.js.map +1 -1
- package/dist/mcp/tools/contacts.d.ts.map +1 -1
- package/dist/mcp/tools/contacts.js +10 -1
- package/dist/mcp/tools/contacts.js.map +1 -1
- package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
- package/dist/mcp/tools/messages-actions.js +29 -0
- package/dist/mcp/tools/messages-actions.js.map +1 -1
- package/dist/mcp/tools/messages-send.d.ts.map +1 -1
- package/dist/mcp/tools/messages-send.js +8 -2
- package/dist/mcp/tools/messages-send.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +10 -0
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/speech/install.d.ts +2 -2
- package/dist/speech/install.d.ts.map +1 -1
- package/dist/speech/install.js +3 -3
- package/dist/speech/install.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ provider has travels in `providerMetadata`.
|
|
|
20
20
|
| `.` | `Chat`, `Message`, `Contact`, `Page`… · `formatLocator` / `parseLocator` · `renderMessages` · `pickChat` / `pickPerson` |
|
|
21
21
|
| `./store` | `openCache` — `node:sqlite` under Node, `bun:sqlite` under Bun, WAL and a busy timeout on both · `openStore` — the shared message store, every method async: one file for every messenger (`MESSAGING_STORE` overrides where), forward-only migrations with `min_compatible`, every sender an identity with a person of their own, edits kept as revisions, a message by its id, deletions kept as tombstones, trigram search · `find` — by text, by sender, or both; `together` for the chats where every sender wrote, `perChat` to cap each chat · `savePeople` and `people` — usernames and bot flags, and a `PeopleLookup` for `pickPerson` |
|
|
22
22
|
| `./sends` | the send guard: read-only profiles, an allow-list of actions, a recipient list, an hourly limit, and a journal of every attempt that never holds the text; `newSendId` for a send's identity across retries |
|
|
23
|
-
| `./cli` | the command skeleton: `run` (never throws, returns an exit code), the global flags, `settingsFor` (flag → environment → file → default, one strict file schema with each CLI's own fields), the profile as the first word, `--timeout` that closes what a command holds, paging, and run records: `--record` keeps a run's ids and timings (never content), a failure is kept unless `--no-record`, and `runsCommand` gives `runs list\|show\|path` · `configCommand(app, config)` shows and changes the settings with where each came from · `completeCommand(messenger, config)` gives shell completion, chat ids from the store and never a connection · `doctorCommand(messenger)` reports the installation's state from disk (the store, the account, sends, runs, the messenger's own checks), and connects only with `--online`; `doctor report create` writes that, the failed run and the recent sends to a file with every id a label · `skillCommand(app, url)` prints the CLI's own SKILL.md for an agent (`skill show`) · `commandsCommand(app)` describes every command as JSON, with `contract` (`CONTRACT`, the major version of the output types) and which commands write · the shared read commands: a CLI describes its messenger once (`Messenger`: its app, a `connect` that returns a `MessengerAdapter`, how `me` maps to a chat) and gets `accountCommand`, `chatsCommand` (`list`, `show`), `contactsCommand` (`list`, `show`) `recipientsCommand`, `sendsCommand`, `watchCommand` (new messages as they arrive, `--jsonl`, until Ctrl-C or `--timeout`; `--events` adds edits, deletions and reactions, each kept in the store), `backfillCommand` (a chat's history into the store, resumable, FloodWait-aware; `--background` makes it a detached job that `backfill list|status|cancel` follow; `--estimate` prices what is left from the store alone), `syncCommand` and `exportCommand` (what the store holds; a chat's messages out of it, as JSON or `--format markdown`), `inboxCommand` (other people's unread messages in every chat, or with `--new` what arrived since the last check — each message once, the point moved only by a run that printed; copied from max-cli), `serveCommand` (keeps the store current until stopped — one per profile by a lock file, catch-up on, started by a person, `server start` or a unit), `serverCommand` (`server start|stop|restart|status|logs`: `serve` in the background, as max-cli's `server`; `install|uninstall` add a systemd user unit or a launchd agent per profile, and `install` starts nothing), and `messagesCommand` (`list`, `show`, `context`, `search` over the store by any three letters inside a word, or `--regex`, `send`/`reply` through the send guard, `edit` of the owner's own message
|
|
23
|
+
| `./cli` | the command skeleton: `run` (never throws, returns an exit code), the global flags, `settingsFor` (flag → environment → file → default, one strict file schema with each CLI's own fields), the profile as the first word, `--timeout` that closes what a command holds, paging, and run records: `--record` keeps a run's ids and timings (never content), a failure is kept unless `--no-record`, and `runsCommand` gives `runs list\|show\|path` · `configCommand(app, config)` shows and changes the settings with where each came from · `completeCommand(messenger, config)` gives shell completion, chat ids from the store and never a connection · `doctorCommand(messenger)` reports the installation's state from disk (the store, the account, sends, runs, the messenger's own checks), and connects only with `--online`; `doctor report create` writes that, the failed run and the recent sends to a file with every id a label · `skillCommand(app, url)` prints the CLI's own SKILL.md for an agent (`skill show`) · `commandsCommand(app)` describes every command as JSON, with `contract` (`CONTRACT`, the major version of the output types) and which commands write · the shared read commands: a CLI describes its messenger once (`Messenger`: its app, a `connect` that returns a `MessengerAdapter`, how `me` maps to a chat) and gets `accountCommand`, `chatsCommand` (`list`, `show`), `contactsCommand` (`list`, `show`) `recipientsCommand`, `sendsCommand`, `watchCommand` (new messages as they arrive, `--jsonl`, until Ctrl-C or `--timeout`; `--events` adds edits, deletions and reactions, each kept in the store), `backfillCommand` (a chat's history into the store, resumable, FloodWait-aware; `--background` makes it a detached job that `backfill list|status|cancel` follow; `--estimate` prices what is left from the store alone), `syncCommand` and `exportCommand` (what the store holds; a chat's messages out of it, as JSON or `--format markdown`), `inboxCommand` (other people's unread messages in every chat, or with `--new` what arrived since the last check — each message once, the point moved only by a run that printed; copied from max-cli), `serveCommand` (keeps the store current until stopped — one per profile by a lock file, catch-up on, started by a person, `server start` or a unit), `serverCommand` (`server start|stop|restart|status|logs`: `serve` in the background, as max-cli's `server`; `install|uninstall` add a systemd user unit or a launchd agent per profile, and `install` starts nothing), and `messagesCommand` (`list`, `show`, `context`, `search` over the store by any three letters inside a word, or `--regex`, `send`/`reply` through the send guard (`--silent`, `--no-preview`, `--md`, and `--at` to send later, with `scheduled` listing the queue), `edit` of the owner's own message, `forward` to another chat and `pin`/`unpin` through it too (the adapter's optional `edit`, `forward`, `pin` and `unpin`); a `msg:` locator names a message) — every read saved to the store, `--offline` answered from it, each call a run event · `mcpCommand(messenger)` serves the profile to an agent over MCP on stdin and stdout (copied from max-cli: one connection held for minutes, one call at a time, read tools named `<cli>_<command words>` answering what `--json` prints, `<cli>_status` without connecting; `--allow-send` adds `<cli>_messages_send`, `_edit`, `_forward`, `_pin` and `_unpin` through the same guard as their commands, and `--confirm-send` shows the owner every send in a form from the server first), and `mcp config` prints the entry for a desktop client |
|
|
24
24
|
|
|
25
25
|
⚠ **Errors are recognised by shape, not by class** (`isCliFailure`). A package linked during
|
|
26
26
|
development brings its own copy of cli-core, and an error built by one copy is not an `instanceof`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAY,IAAI,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAY,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAGlE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE7D,0EAA0E;AAC1E,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,kFAAkF;AAClF,eAAO,MAAM,YAAY,YACd,gBAAgB,QACnB,MAAM,mBACK;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,wEAOnD,CAAA;AAED,oHAAoH;AACpH,eAAO,MAAM,SAAS,MAAM,CAAA;AAG5B,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,6BAA8B,UAAU,KAAG,UAYpE,CAAA;AAUD;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;CAAE,UACxD,UAAU,qBACC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAK3C,CAAA;AAKD,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OA4FnD,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CliError } from "@leemour/cli-core";
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { renderPage, window, withPaging } from "../paging.js";
|
|
4
|
+
import { membersCommand } from "./chats-members-command.js";
|
|
4
5
|
import { messengerContext } from "./context.js";
|
|
5
6
|
import { momentOf } from "./inbox.js";
|
|
6
7
|
import { capability } from "./port.js";
|
|
@@ -121,6 +122,7 @@ export const chatsCommand = (messenger) => {
|
|
|
121
122
|
context.renderer.note(`only ${members.length} of ${participantsCount} members could be read`);
|
|
122
123
|
}
|
|
123
124
|
});
|
|
125
|
+
chats.addCommand(membersCommand(messenger));
|
|
124
126
|
return chats;
|
|
125
127
|
};
|
|
126
128
|
//# sourceMappingURL=chats-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { type Messenger } from "./context.js";
|
|
3
|
+
/** `chats members …`; a subcommand that changes membership belongs here too. */
|
|
4
|
+
export declare const membersCommand: (messenger: Messenger) => Command;
|
|
5
|
+
//# sourceMappingURL=chats-members-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chats-members-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-members-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAG/D,gFAAgF;AAChF,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,OAmBrD,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { renderPage, window, withPaging } from "../paging.js";
|
|
3
|
+
import { messengerContext } from "./context.js";
|
|
4
|
+
import { capability } from "./port.js";
|
|
5
|
+
/** `chats members …`; a subcommand that changes membership belongs here too. */
|
|
6
|
+
export const membersCommand = (messenger) => {
|
|
7
|
+
const members = new Command("members").description("who is in a group");
|
|
8
|
+
members.addCommand(withPaging(new Command("list")
|
|
9
|
+
.description("everyone in a group, a page at a time, with their role and when they were last seen")
|
|
10
|
+
.argument("<chat>", messenger.chatArgument)).action(async function (chat) {
|
|
11
|
+
const context = messengerContext(this, messenger);
|
|
12
|
+
const wanted = window(context.settings);
|
|
13
|
+
const page = await context.withMessenger((adapter) => capability(adapter, "members", "list a group's members")(chat, wanted));
|
|
14
|
+
renderPage(context, page);
|
|
15
|
+
}));
|
|
16
|
+
return members;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chats-members-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chats-members-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-members-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAoB,EAAW,EAAE;IAC9D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;IAEvE,OAAO,CAAC,UAAU,CAChB,UAAU,CACR,IAAI,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,qFAAqF,CAAC;SAClG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAC9C,CAAC,MAAM,CAAC,KAAK,WAA0B,IAAY;QAClD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACnD,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CACvE,CAAA;QACD,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CACH,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import type { Chat, Contact, Page } from "../../domain/models.js";
|
|
2
|
+
import type { Chat, Contact, Member, Page } from "../../domain/models.js";
|
|
3
|
+
import type { AccountKey, MessageStore } from "../../store/store.js";
|
|
3
4
|
import { type Messenger } from "./context.js";
|
|
5
|
+
/** Digits, with the `+` and the spaces, dashes and brackets people type dropped. */
|
|
6
|
+
export declare const phoneOf: (typed: string) => string;
|
|
7
|
+
export interface ContactSync {
|
|
8
|
+
added: number;
|
|
9
|
+
changed: number;
|
|
10
|
+
known: number;
|
|
11
|
+
}
|
|
12
|
+
/** What the store did not know yet, and what it knew differently; then everyone, saved. */
|
|
13
|
+
export declare const syncPeople: (store: MessageStore, account: AccountKey, people: Member[]) => Promise<ContactSync>;
|
|
4
14
|
/**
|
|
5
15
|
* A contact is somebody this account has a one-to-one chat with — a query over the chat list, never
|
|
6
16
|
* a flag somebody maintains (max-cli `NEED-105`). So the list works offline from the stored chats.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"contacts-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAG/D,oFAAoF;AACpF,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,MAMvC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,UAAiB,YAAY,WAAW,UAAU,UAAU,MAAM,EAAE,KAAG,OAAO,CAAC,WAAW,CAWhH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OAmEtD,CAAA;AAED,eAAO,MAAM,UAAU,UACd,SAAS,IAAI,EAAE,oCACY;IAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAC9G,IAAI,CAAC,OAAO,CAWd,CAAA"}
|
|
@@ -1,7 +1,32 @@
|
|
|
1
1
|
import { CliError } from "@leemour/cli-core";
|
|
2
2
|
import { Command } from "commander";
|
|
3
|
+
import { readSecret } from "../../terminal/prompt.js";
|
|
3
4
|
import { renderPage, window, withPaging } from "../paging.js";
|
|
4
5
|
import { messengerContext } from "./context.js";
|
|
6
|
+
import { capability } from "./port.js";
|
|
7
|
+
/** Digits, with the `+` and the spaces, dashes and brackets people type dropped. */
|
|
8
|
+
export const phoneOf = (typed) => {
|
|
9
|
+
const digits = typed.replace(/[\s()+-]/g, "");
|
|
10
|
+
if (!/^\d{6,15}$/.test(digits)) {
|
|
11
|
+
throw new CliError("validation_error", "that is not a phone number — digits, with a country code");
|
|
12
|
+
}
|
|
13
|
+
return digits;
|
|
14
|
+
};
|
|
15
|
+
/** What the store did not know yet, and what it knew differently; then everyone, saved. */
|
|
16
|
+
export const syncPeople = async (store, account, people) => {
|
|
17
|
+
const before = await store.people(account.provider, { account: account.account });
|
|
18
|
+
let added = 0;
|
|
19
|
+
let changed = 0;
|
|
20
|
+
for (const person of people) {
|
|
21
|
+
const known = before.get(person.id);
|
|
22
|
+
if (!known)
|
|
23
|
+
added += 1;
|
|
24
|
+
else if (known.name !== person.name || known.username !== person.username)
|
|
25
|
+
changed += 1;
|
|
26
|
+
}
|
|
27
|
+
await store.savePeople(account, people);
|
|
28
|
+
return { added, changed, known: (await store.people(account.provider, { account: account.account })).all().length };
|
|
29
|
+
};
|
|
5
30
|
/**
|
|
6
31
|
* A contact is somebody this account has a one-to-one chat with — a query over the chat list, never
|
|
7
32
|
* a flag somebody maintains (max-cli `NEED-105`). So the list works offline from the stored chats.
|
|
@@ -30,6 +55,36 @@ export const contactsCommand = (messenger) => {
|
|
|
30
55
|
const context = messengerContext(this, messenger);
|
|
31
56
|
context.renderer.result(await context.withMessenger((connection) => connection.contact(person)));
|
|
32
57
|
});
|
|
58
|
+
/**
|
|
59
|
+
* ⚠ **The number is asked for or piped, never an argument**: argv is read by `ps` and kept by shell
|
|
60
|
+
* history, and a phone number is personal data.
|
|
61
|
+
*/
|
|
62
|
+
contacts
|
|
63
|
+
.command("lookup")
|
|
64
|
+
.description("who has this phone number — asks for it, or reads it from stdin; never an argument")
|
|
65
|
+
// Commander's own refusal would repeat the number on stderr.
|
|
66
|
+
.allowExcessArguments()
|
|
67
|
+
.action(async function () {
|
|
68
|
+
if (this.args.length > 0) {
|
|
69
|
+
throw new CliError("validation_error", "the phone number is never an argument — pipe it in, or type it when asked");
|
|
70
|
+
}
|
|
71
|
+
const context = messengerContext(this, messenger);
|
|
72
|
+
const phone = phoneOf(await readSecret("phone number: ", { input: context.stdin, echo: true }));
|
|
73
|
+
context.renderer.result(await context.withMessenger((adapter) => capability(adapter, "lookup", "find a person by phone")(phone)));
|
|
74
|
+
});
|
|
75
|
+
contacts
|
|
76
|
+
.command("sync")
|
|
77
|
+
.description("take the whole contact list from the messenger into the local store")
|
|
78
|
+
.action(async function () {
|
|
79
|
+
const context = messengerContext(this, messenger);
|
|
80
|
+
if (context.settings.offline) {
|
|
81
|
+
throw new CliError("validation_error", "`contacts sync` takes the list from the messenger; not with --offline");
|
|
82
|
+
}
|
|
83
|
+
const people = await context.withMessenger((adapter) => capability(adapter, "addressBook", "list its contacts")());
|
|
84
|
+
const summary = await context.withStore((store, account) => syncPeople(store, account, people));
|
|
85
|
+
context.renderer.result(summary);
|
|
86
|
+
context.renderer.success(`${summary.added} new, ${summary.changed} changed, ${summary.known} people known`);
|
|
87
|
+
});
|
|
33
88
|
return contacts;
|
|
34
89
|
};
|
|
35
90
|
export const contactsIn = (chats, { order, search, limit, offset }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"contacts-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { type MessengerAdapter, type Sent } from "./port.js";
|
|
|
6
6
|
/** `messages`: reading, and sending through the guard. A CLI may add its own subcommands. */
|
|
7
7
|
export declare const messagesCommand: (messenger: Messenger) => Command;
|
|
8
8
|
/** Resolve → check → send → record: one path for `messages send`, `reply` and the MCP send tool. */
|
|
9
|
-
export declare const guardedSend: (guard: SendGuard, connection: MessengerAdapter, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown }: GuardedSend) => Promise<Sent>;
|
|
9
|
+
export declare const guardedSend: (guard: SendGuard, connection: MessengerAdapter, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown, at }: GuardedSend) => Promise<Sent>;
|
|
10
10
|
interface GuardedSend {
|
|
11
11
|
chat: string;
|
|
12
12
|
/** As typed: with `markdown`, the marks are taken out before it is sent or measured. */
|
|
@@ -16,6 +16,8 @@ interface GuardedSend {
|
|
|
16
16
|
silent?: boolean;
|
|
17
17
|
noPreview?: boolean;
|
|
18
18
|
markdown?: boolean;
|
|
19
|
+
/** ISO time to send it at; refused together with `sendId`. */
|
|
20
|
+
at?: string;
|
|
19
21
|
}
|
|
20
22
|
export declare const storedChatId: (messenger: Messenger, reference: string, store: MessageStore, account: AccountKey) => Promise<string>;
|
|
21
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"messages-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAIxE,6FAA6F;AAC7F,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OAoLtD,CAAA;AA0CD,oGAAoG;AACpG,eAAO,MAAM,WAAW,UACf,SAAS,cACJ,gBAAgB,2EAC6C,WAAW,KACnF,OAAO,CAAC,IAAI,CAgDd,CAAA;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAoCD,eAAO,MAAM,YAAY,cACZ,SAAS,aACT,MAAM,SACV,YAAY,WACV,UAAU,KAClB,OAAO,CAAC,MAAM,CAchB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { annotate } from "@leemour/cli-core/commands";
|
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
import { isLocator, parseLocator } from "../../domain/locator.js";
|
|
5
5
|
import { parseMarkdown } from "../../domain/markdown.js";
|
|
6
|
+
import { sendTime } from "../../domain/send-time.js";
|
|
6
7
|
import { renderMessages } from "../../render/messages.js";
|
|
7
8
|
import { pickChat } from "../../resolve.js";
|
|
8
9
|
import { newSendId } from "../../sends/send-id.js";
|
|
@@ -11,6 +12,8 @@ import { messengerContext } from "./context.js";
|
|
|
11
12
|
import { downloadSubcommand } from "./download-command.js";
|
|
12
13
|
import { editCommand } from "./messages-edit-command.js";
|
|
13
14
|
import { forwardCommand } from "./messages-forward-command.js";
|
|
15
|
+
import { pinCommand, unpinCommand } from "./messages-pin-command.js";
|
|
16
|
+
import { scheduledCommand } from "./messages-scheduled-command.js";
|
|
14
17
|
import { capability } from "./port.js";
|
|
15
18
|
import { readAll } from "./stdin.js";
|
|
16
19
|
import { transcribeSubcommand } from "./transcribe-command.js";
|
|
@@ -125,6 +128,7 @@ export const messagesCommand = (messenger) => {
|
|
|
125
128
|
.option("--silent", "deliver without a notification")
|
|
126
129
|
.option("--no-preview", "no preview card for a link in the text")
|
|
127
130
|
.option("--md, --markdown", "read **bold**, _italic_, ~~struck~~ and `code` in the text; \\ keeps a mark literal")
|
|
131
|
+
.option("--at <time>", "let the messenger send it later, even with this machine off: 2026-09-25T09:00 (local time), or 30m, 2h, 1d from now")
|
|
128
132
|
.action(async function (chat, text) {
|
|
129
133
|
await sendText(this, messenger, chat, text, undefined);
|
|
130
134
|
});
|
|
@@ -162,6 +166,9 @@ export const messagesCommand = (messenger) => {
|
|
|
162
166
|
transcribeSubcommand(messages, messenger);
|
|
163
167
|
messages.addCommand(editCommand(messenger));
|
|
164
168
|
messages.addCommand(forwardCommand(messenger));
|
|
169
|
+
messages.addCommand(pinCommand(messenger));
|
|
170
|
+
messages.addCommand(unpinCommand(messenger));
|
|
171
|
+
messages.addCommand(scheduledCommand(messenger));
|
|
165
172
|
return messages;
|
|
166
173
|
};
|
|
167
174
|
/**
|
|
@@ -170,7 +177,8 @@ export const messagesCommand = (messenger) => {
|
|
|
170
177
|
*/
|
|
171
178
|
const sendText = async (command, messenger, chat, text, replyTo) => {
|
|
172
179
|
const context = messengerContext(command, messenger);
|
|
173
|
-
const { sendId, silent, preview, markdown } = command.opts();
|
|
180
|
+
const { sendId, silent, preview, markdown, at } = command.opts();
|
|
181
|
+
const scheduledFor = at === undefined ? undefined : sendTime(at);
|
|
174
182
|
const body = text ?? (await readAll(context.stdin));
|
|
175
183
|
if (body.trim() === "")
|
|
176
184
|
throw new CliError("validation_error", "nothing to send — give the text or pipe it in");
|
|
@@ -182,11 +190,20 @@ const sendText = async (command, messenger, chat, text, replyTo) => {
|
|
|
182
190
|
...(silent === true ? { silent } : {}),
|
|
183
191
|
...(preview === false ? { noPreview: true } : {}),
|
|
184
192
|
...(markdown === true ? { markdown } : {}),
|
|
193
|
+
...(scheduledFor === undefined ? {} : { at: scheduledFor }),
|
|
185
194
|
}));
|
|
186
|
-
|
|
195
|
+
if (scheduledFor !== undefined) {
|
|
196
|
+
context.renderer.note(`scheduled for ${scheduledFor} — it gets a new id when it is sent`);
|
|
197
|
+
context.renderer.result({ sendId: sent.sendId, message: sent.message, scheduledFor });
|
|
198
|
+
}
|
|
199
|
+
else
|
|
200
|
+
context.renderer.result({ sendId: sent.sendId, message: sent.message });
|
|
187
201
|
};
|
|
188
202
|
/** Resolve → check → send → record: one path for `messages send`, `reply` and the MCP send tool. */
|
|
189
|
-
export const guardedSend = async (guard, connection, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown }) => {
|
|
203
|
+
export const guardedSend = async (guard, connection, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown, at }) => {
|
|
204
|
+
if (at !== undefined && sendId !== undefined) {
|
|
205
|
+
throw new CliError("validation_error", "a scheduled send is never repeated: it would be scheduled twice — look in `messages scheduled` instead");
|
|
206
|
+
}
|
|
190
207
|
const { text, markup } = markdown ? parseMarkdown(typed) : { text: typed, markup: [] };
|
|
191
208
|
if (text.trim() === "")
|
|
192
209
|
throw new CliError("validation_error", "nothing to send — the marks leave no text");
|
|
@@ -197,6 +214,7 @@ export const guardedSend = async (guard, connection, { chat, text: typed, sendId
|
|
|
197
214
|
sendId: sendId ?? newSendId(),
|
|
198
215
|
length: text.length,
|
|
199
216
|
...(replyTo === undefined ? {} : { replyTo }),
|
|
217
|
+
...(at === undefined ? {} : { scheduledFor: at }),
|
|
200
218
|
};
|
|
201
219
|
try {
|
|
202
220
|
guard.check(attempt);
|
|
@@ -212,6 +230,7 @@ export const guardedSend = async (guard, connection, { chat, text: typed, sendId
|
|
|
212
230
|
...(silent ? { silent } : {}),
|
|
213
231
|
...(noPreview ? { noPreview } : {}),
|
|
214
232
|
...(markup.length > 0 ? { markup } : {}),
|
|
233
|
+
...(at === undefined ? {} : { at }),
|
|
215
234
|
});
|
|
216
235
|
guard.record({ ...attempt, outcome: "sent", messageId: done.message.id });
|
|
217
236
|
return done;
|
|
@@ -219,6 +238,10 @@ export const guardedSend = async (guard, connection, { chat, text: typed, sendId
|
|
|
219
238
|
catch (error) {
|
|
220
239
|
const code = codeOf(error);
|
|
221
240
|
guard.record({ ...attempt, outcome: code === "outcome_unknown" ? "outcome_unknown" : "failed", errorCode: code });
|
|
241
|
+
if (at !== undefined && code === "outcome_unknown") {
|
|
242
|
+
throw new CliError("outcome_unknown", "no answer — the message may have been scheduled. Look in `messages scheduled` before anything else; " +
|
|
243
|
+
"never send it again with --send-id", { scheduledFor: at });
|
|
244
|
+
}
|
|
222
245
|
throw error;
|
|
223
246
|
}
|
|
224
247
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { Id } from "../../domain/models.js";
|
|
3
|
+
import type { SendGuard } from "../../sends/guard.js";
|
|
4
|
+
import { type Messenger } from "./context.js";
|
|
5
|
+
import { type MessengerAdapter } from "./port.js";
|
|
6
|
+
export interface Pinned {
|
|
7
|
+
chatId: Id;
|
|
8
|
+
messageId: Id;
|
|
9
|
+
pinned: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const pinCommand: (messenger: Messenger) => Command;
|
|
12
|
+
export declare const unpinCommand: (messenger: Messenger) => Command;
|
|
13
|
+
/** One path for `messages pin|unpin` and their MCP tools. A pin counts toward the hourly limit only when it notifies. */
|
|
14
|
+
export declare const guardedPin: (guard: SendGuard, connection: MessengerAdapter, { chat, message, pinned, notify }: {
|
|
15
|
+
chat: string;
|
|
16
|
+
message: string;
|
|
17
|
+
pinned: boolean;
|
|
18
|
+
notify: boolean;
|
|
19
|
+
}) => Promise<Pinned>;
|
|
20
|
+
//# sourceMappingURL=messages-pin-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-pin-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-pin-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE7D,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,EAAE,CAAA;IACV,SAAS,EAAE,EAAE,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,OAmB5C,CAAA;AAEN,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAY9C,CAAA;AAEN,yHAAyH;AACzH,eAAO,MAAM,UAAU,UACd,SAAS,cACJ,gBAAgB,qCACO;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,KACrG,OAAO,CAAC,MAAM,CAOhB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { annotate } from "@leemour/cli-core/commands";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { guardedWrite } from "../../sends/guarded.js";
|
|
4
|
+
import { messengerContext } from "./context.js";
|
|
5
|
+
import { capability } from "./port.js";
|
|
6
|
+
export const pinCommand = (messenger) => annotate(new Command("pin"), { mutates: true })
|
|
7
|
+
.description("pin a message in a chat, quietly unless --notify")
|
|
8
|
+
.argument("<chat>", messenger.chatArgument)
|
|
9
|
+
.argument("<message>", "the message id")
|
|
10
|
+
.option("--notify", "tell the chat's members about the pin")
|
|
11
|
+
.action(async function (chat, message) {
|
|
12
|
+
const context = messengerContext(this, messenger);
|
|
13
|
+
const { notify } = this.opts();
|
|
14
|
+
context.renderer.result(await context.withMessenger((connection) => guardedPin(context.guard, connection, {
|
|
15
|
+
chat,
|
|
16
|
+
message: message.trim(),
|
|
17
|
+
pinned: true,
|
|
18
|
+
notify: notify === true,
|
|
19
|
+
})));
|
|
20
|
+
});
|
|
21
|
+
export const unpinCommand = (messenger) => annotate(new Command("unpin"), { mutates: true })
|
|
22
|
+
.description("unpin a message in a chat")
|
|
23
|
+
.argument("<chat>", messenger.chatArgument)
|
|
24
|
+
.argument("<message>", "the message id")
|
|
25
|
+
.action(async function (chat, message) {
|
|
26
|
+
const context = messengerContext(this, messenger);
|
|
27
|
+
context.renderer.result(await context.withMessenger((connection) => guardedPin(context.guard, connection, { chat, message: message.trim(), pinned: false, notify: false })));
|
|
28
|
+
});
|
|
29
|
+
/** One path for `messages pin|unpin` and their MCP tools. A pin counts toward the hourly limit only when it notifies. */
|
|
30
|
+
export const guardedPin = async (guard, connection, { chat, message, pinned, notify }) => {
|
|
31
|
+
const act = pinned
|
|
32
|
+
? capability(connection, "pin", "pin a message")
|
|
33
|
+
: capability(connection, "unpin", "unpin a message");
|
|
34
|
+
const { id: chatId } = await connection.resolve(chat);
|
|
35
|
+
await guardedWrite(guard, { chatId, kind: "pin", messageId: message, notify }, () => act(chatId, message, { notify }));
|
|
36
|
+
return { chatId, messageId: message, pinned };
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=messages-pin-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-pin-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-pin-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { type Messenger } from "./context.js";
|
|
3
|
+
/** Where to look after a scheduled send ended without an answer: repeating it would schedule a second one. */
|
|
4
|
+
export declare const scheduledCommand: (messenger: Messenger) => Command;
|
|
5
|
+
//# sourceMappingURL=messages-scheduled-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-scheduled-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAG/D,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,cAAe,SAAS,KAAG,OA4BlD,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { renderMessages } from "../../render/messages.js";
|
|
3
|
+
import { messengerContext } from "./context.js";
|
|
4
|
+
import { capability } from "./port.js";
|
|
5
|
+
/** Where to look after a scheduled send ended without an answer: repeating it would schedule a second one. */
|
|
6
|
+
export const scheduledCommand = (messenger) => new Command("scheduled")
|
|
7
|
+
.description("messages waiting to be sent later in a chat, soonest first; cancel one in the app")
|
|
8
|
+
.argument("<chat>", messenger.chatArgument)
|
|
9
|
+
.action(async function (chat) {
|
|
10
|
+
const context = messengerContext(this, messenger);
|
|
11
|
+
const items = await context.withMessenger((connection) => capability(connection, "scheduled", "list scheduled messages")(chat));
|
|
12
|
+
if (context.format === "pretty") {
|
|
13
|
+
if (items.length === 0)
|
|
14
|
+
context.renderer.note("nothing scheduled");
|
|
15
|
+
else
|
|
16
|
+
context.streams.data(renderMessages(items.map((one) => ({ ...one, timestamp: one.scheduledFor ?? one.timestamp })), {
|
|
17
|
+
color: context.color,
|
|
18
|
+
verbosity: context.settings.detail,
|
|
19
|
+
senderColors: context.settings.senderColors,
|
|
20
|
+
profile: context.profile,
|
|
21
|
+
provider: messenger.provider,
|
|
22
|
+
}));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (context.format === "jsonl")
|
|
26
|
+
context.renderer.stream(items);
|
|
27
|
+
else
|
|
28
|
+
context.renderer.result({ items });
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=messages-scheduled-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-scheduled-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,8GAA8G;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAW,EAAE,CAChE,IAAI,OAAO,CAAC,WAAW,CAAC;KACrB,WAAW,CAAC,mFAAmF,CAAC;KAChG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;KAC1C,MAAM,CAAC,KAAK,WAA0B,IAAY;IACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACvD,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,CACrE,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;;YAEhE,OAAO,CAAC,OAAO,CAAC,IAAI,CAClB,cAAc,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAC9E;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CACF,CACF,CAAA;QACH,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;;QACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Markup } from "../../domain/markdown.js";
|
|
2
|
-
import type { Account, Chat, ChatCard, ChatEvents, Id, Message, MessageEvent, Page, PersonCard, WindowedMessage } from "../../domain/models.js";
|
|
2
|
+
import type { Account, Chat, ChatCard, ChatEvents, GroupMember, Id, Member, Message, MessageEvent, Page, PersonCard, WindowedMessage } from "../../domain/models.js";
|
|
3
3
|
/** One attachment's bytes, fetched over the adapter's connection when `bytes` is read — so read it before the command closes. */
|
|
4
4
|
export interface RemoteFile {
|
|
5
5
|
kind: string;
|
|
@@ -24,6 +24,8 @@ export interface SendOptions {
|
|
|
24
24
|
/** No preview card for a link in the text. */
|
|
25
25
|
noPreview?: boolean;
|
|
26
26
|
markup?: Markup[];
|
|
27
|
+
/** ISO time: the messenger holds it and sends it then, under a new id. */
|
|
28
|
+
at?: string;
|
|
27
29
|
}
|
|
28
30
|
/** A voice message as text. `pending`: the messenger was still working on it when it answered. */
|
|
29
31
|
export interface Transcript {
|
|
@@ -87,6 +89,11 @@ export interface MessengerAdapter {
|
|
|
87
89
|
forward?(fromChatId: Id, messageId: Id, toChatId: Id, options: {
|
|
88
90
|
silent?: boolean;
|
|
89
91
|
}): Promise<Message>;
|
|
92
|
+
/** `notify` tells the chat's members; without it the pin is quiet. */
|
|
93
|
+
pin?(chatId: Id, messageId: Id, options: {
|
|
94
|
+
notify: boolean;
|
|
95
|
+
}): Promise<void>;
|
|
96
|
+
unpin?(chatId: Id, messageId: Id): Promise<void>;
|
|
90
97
|
/**
|
|
91
98
|
* New messages and changes to messages as they arrive, until `signal` aborts. `onReady` once it is
|
|
92
99
|
* actually listening — a caller that sends on "listening" must not race the connection. Only on a
|
|
@@ -95,8 +102,21 @@ export interface MessengerAdapter {
|
|
|
95
102
|
watch?(onEvent: (event: MessageEvent) => void, signal: AbortSignal, onReady?: () => void): Promise<void>;
|
|
96
103
|
/** The files attached to one message, fetched fresh from the messenger: a stored reference may have expired. */
|
|
97
104
|
download?(chat: string, messageId: Id): Promise<Download>;
|
|
105
|
+
/** Messages waiting to be sent later in a chat, soonest first, each with `scheduledFor`. */
|
|
106
|
+
scheduled?(chat: string): Promise<Message[]>;
|
|
98
107
|
/** A voice or video note as text, by the messenger's own speech recognition. */
|
|
99
108
|
transcribe?(chat: string, messageId: Id): Promise<Transcript>;
|
|
109
|
+
/** The person with this phone number, where their privacy lets the owner find them; `not_found` otherwise. */
|
|
110
|
+
lookup?(phone: string): Promise<Member>;
|
|
111
|
+
/** The owner's contact list as the messenger keeps it — the address book, not the chats. */
|
|
112
|
+
addressBook?(): Promise<Member[]>;
|
|
113
|
+
/** Everyone in a group, a page at a time; `limit` unset is every one the messenger will give. */
|
|
114
|
+
members?(chat: string, window: {
|
|
115
|
+
limit?: number;
|
|
116
|
+
offset: number;
|
|
117
|
+
}): Promise<Page<GroupMember> & {
|
|
118
|
+
chatId: Id;
|
|
119
|
+
}>;
|
|
100
120
|
/** Who joined, left, was added or removed since `since` (ms), from the chat's service messages. */
|
|
101
121
|
chatEvents?(chat: string, window: {
|
|
102
122
|
since: number;
|