@leemour/cli-messaging 0.42.0 → 0.44.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.
Files changed (70) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts +2 -1
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +2 -1
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/messenger/messages-command.d.ts +3 -1
  7. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  8. package/dist/cli/messenger/messages-command.js +21 -5
  9. package/dist/cli/messenger/messages-command.js.map +1 -1
  10. package/dist/cli/messenger/port.d.ts +5 -0
  11. package/dist/cli/messenger/port.d.ts.map +1 -1
  12. package/dist/cli/messenger/port.js.map +1 -1
  13. package/dist/cli/messenger/reactions-command.d.ts +20 -0
  14. package/dist/cli/messenger/reactions-command.d.ts.map +1 -0
  15. package/dist/cli/messenger/reactions-command.js +38 -0
  16. package/dist/cli/messenger/reactions-command.js.map +1 -0
  17. package/dist/cli/messenger/serve-command.d.ts +4 -0
  18. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  19. package/dist/cli/messenger/serve-command.js +18 -4
  20. package/dist/cli/messenger/serve-command.js.map +1 -1
  21. package/dist/cli/messenger/server-command.d.ts.map +1 -1
  22. package/dist/cli/messenger/server-command.js +8 -0
  23. package/dist/cli/messenger/server-command.js.map +1 -1
  24. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  25. package/dist/mcp/tools/messages-send.js +20 -4
  26. package/dist/mcp/tools/messages-send.js.map +1 -1
  27. package/dist/mcp/tools/reactions.d.ts +5 -0
  28. package/dist/mcp/tools/reactions.d.ts.map +1 -0
  29. package/dist/mcp/tools/reactions.js +33 -0
  30. package/dist/mcp/tools/reactions.js.map +1 -0
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +2 -0
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/sends/index.d.ts +1 -0
  35. package/dist/sends/index.d.ts.map +1 -1
  36. package/dist/sends/index.js +1 -0
  37. package/dist/sends/index.js.map +1 -1
  38. package/dist/sends/upload.d.ts +14 -0
  39. package/dist/sends/upload.d.ts.map +1 -0
  40. package/dist/sends/upload.js +47 -0
  41. package/dist/sends/upload.js.map +1 -0
  42. package/dist/store/drivers/bun-sqlite.d.ts +15 -1
  43. package/dist/store/drivers/bun-sqlite.d.ts.map +1 -1
  44. package/dist/store/drivers/bun-sqlite.js +3 -1
  45. package/dist/store/drivers/bun-sqlite.js.map +1 -1
  46. package/dist/store/drivers/node-sqlite.d.ts +2 -0
  47. package/dist/store/drivers/node-sqlite.d.ts.map +1 -1
  48. package/dist/store/drivers/node-sqlite.js +2 -2
  49. package/dist/store/drivers/node-sqlite.js.map +1 -1
  50. package/dist/store/migrations.d.ts +1 -10
  51. package/dist/store/migrations.d.ts.map +1 -1
  52. package/dist/store/migrations.js +9 -5
  53. package/dist/store/migrations.js.map +1 -1
  54. package/dist/store/sqlite/manifest.d.ts +22 -0
  55. package/dist/store/sqlite/manifest.d.ts.map +1 -0
  56. package/dist/store/sqlite/manifest.js +11 -0
  57. package/dist/store/sqlite/manifest.js.map +1 -0
  58. package/dist/store/sqlite/migrations.generated.d.ts +5 -0
  59. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -0
  60. package/dist/store/sqlite/migrations.generated.js +26 -0
  61. package/dist/store/sqlite/migrations.generated.js.map +1 -0
  62. package/dist/store/sqlite/open.d.ts +16 -0
  63. package/dist/store/sqlite/open.d.ts.map +1 -0
  64. package/dist/store/sqlite/open.js +30 -0
  65. package/dist/store/sqlite/open.js.map +1 -0
  66. package/dist/store/sqlite/schema.d.ts +1491 -0
  67. package/dist/store/sqlite/schema.d.ts.map +1 -0
  68. package/dist/store/sqlite/schema.js +150 -0
  69. package/dist/store/sqlite/schema.js.map +1 -0
  70. package/package.json +5 -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 (`--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 |
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`, `--file` and `--photo` with the text as the caption, 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`) · `reactionsCommand` (`add`, `remove`: the owner's reaction on a message, through the guard; the adapter's optional `react`); 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`, `_unpin`, `<cli>_reactions_add` and `_remove` 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`
@@ -19,8 +19,9 @@ export { type McpEnvironment, mcpCommand, serverEntry } from "./messenger/mcp-co
19
19
  export { messagesCommand } from "./messenger/messages-command.js";
20
20
  export { modelsCommand } from "./messenger/models-command.js";
21
21
  export type { After, Download, MessengerAdapter, RemoteFile, SendOptions, Sent, Transcript } from "./messenger/port.js";
22
+ export { reactionsCommand } from "./messenger/reactions-command.js";
22
23
  export { REVIEW_CHATS, reviewCommand, reviewIn, unanswered } from "./messenger/review.js";
23
- export { serveCommand } from "./messenger/serve-command.js";
24
+ export { serveCommand, servingProfiles } from "./messenger/serve-command.js";
24
25
  export { type ServerSystem, serverCommand } from "./messenger/server-command.js";
25
26
  export { watchCommand } from "./messenger/watch-command.js";
26
27
  export { renderPage, window, withPaging } from "./paging.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,GACR,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,iBAAiB,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,KAAK,WAAW,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
package/dist/cli/index.js CHANGED
@@ -18,8 +18,9 @@ export { INBOX_CHATS, inboxCommand, momentOf, newIn, unreadIn } from "./messenge
18
18
  export { mcpCommand, serverEntry } from "./messenger/mcp-command.js";
19
19
  export { messagesCommand } from "./messenger/messages-command.js";
20
20
  export { modelsCommand } from "./messenger/models-command.js";
21
+ export { reactionsCommand } from "./messenger/reactions-command.js";
21
22
  export { REVIEW_CHATS, reviewCommand, reviewIn, unanswered } from "./messenger/review.js";
22
- export { serveCommand } from "./messenger/serve-command.js";
23
+ export { serveCommand, servingProfiles } from "./messenger/serve-command.js";
23
24
  export { serverCommand } from "./messenger/server-command.js";
24
25
  export { watchCommand } from "./messenger/watch-command.js";
25
26
  export { renderPage, window, withPaging } from "./paging.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAGL,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,GACR,MAAM,cAAc,CAAA;AACrB,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAA8D,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAuB,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAqB,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,iBAAiB,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAgE,GAAG,EAAE,MAAM,cAAc,CAAA;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAGL,gBAAgB,EAEhB,WAAW,GAEZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAyB,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,SAAS,EAET,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EAER,aAAa,EACb,KAAK,EAKL,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAGL,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,GACR,MAAM,cAAc,CAAA;AACrB,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAA8D,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAuB,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAqB,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,iBAAiB,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAgE,GAAG,EAAE,MAAM,cAAc,CAAA;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAGL,gBAAgB,EAEhB,WAAW,GAEZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAyB,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,SAAS,EAET,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EAER,aAAa,EACb,KAAK,EAKL,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { Command } from "commander";
2
2
  import type { SendGuard } from "../../sends/guard.js";
3
+ import { type Upload } from "../../sends/upload.js";
3
4
  import type { AccountKey, MessageStore } from "../../store/store.js";
4
5
  import { type Messenger } from "./context.js";
5
6
  import { type MessengerAdapter, type Sent } from "./port.js";
6
7
  /** `messages`: reading, and sending through the guard. A CLI may add its own subcommands. */
7
8
  export declare const messagesCommand: (messenger: Messenger) => Command;
8
9
  /** 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, at }: GuardedSend) => Promise<Sent>;
10
+ export declare const guardedSend: (guard: SendGuard, connection: MessengerAdapter, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown, at, attachments }: GuardedSend) => Promise<Sent>;
10
11
  interface GuardedSend {
11
12
  chat: string;
12
13
  /** As typed: with `markdown`, the marks are taken out before it is sent or measured. */
@@ -18,6 +19,7 @@ interface GuardedSend {
18
19
  markdown?: boolean;
19
20
  /** ISO time to send it at; refused together with `sendId`. */
20
21
  at?: string;
22
+ attachments?: Upload[];
21
23
  }
22
24
  export declare const storedChatId: (messenger: Messenger, reference: string, store: MessageStore, account: AccountKey) => Promise<string>;
23
25
  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;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"}
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,EAAc,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC/D,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,OAuLtD,CAAA;AAqDD,oGAAoG;AACpG,eAAO,MAAM,WAAW,UACf,SAAS,cACJ,gBAAgB,wFAC+D,WAAW,KACrG,OAAO,CAAC,IAAI,CAsDd,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;IACX,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAoCD,eAAO,MAAM,YAAY,cACZ,SAAS,aACT,MAAM,SACV,YAAY,WACV,UAAU,KAClB,OAAO,CAAC,MAAM,CAchB,CAAA"}
@@ -7,6 +7,7 @@ import { sendTime } from "../../domain/send-time.js";
7
7
  import { renderMessages } from "../../render/messages.js";
8
8
  import { pickChat } from "../../resolve.js";
9
9
  import { newSendId } from "../../sends/send-id.js";
10
+ import { readUpload } from "../../sends/upload.js";
10
11
  import { afterOf, oneDirection } from "./after.js";
11
12
  import { messengerContext } from "./context.js";
12
13
  import { downloadSubcommand } from "./download-command.js";
@@ -128,6 +129,9 @@ export const messagesCommand = (messenger) => {
128
129
  .option("--silent", "deliver without a notification")
129
130
  .option("--no-preview", "no preview card for a link in the text")
130
131
  .option("--md, --markdown", "read **bold**, _italic_, ~~struck~~ and `code` in the text; \\ keeps a mark literal")
132
+ .option("--file <path>", "attach a file; the text becomes its caption")
133
+ .option("--photo <path>", "attach a .jpg, .png or .webp as a photo; the text becomes its caption")
134
+ .option("--allow-any-file", "send a file even from a hidden folder, ~/.ssh or this CLI's own folders")
131
135
  .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")
132
136
  .action(async function (chat, text) {
133
137
  await sendText(this, messenger, chat, text, undefined);
@@ -177,11 +181,17 @@ export const messagesCommand = (messenger) => {
177
181
  */
178
182
  const sendText = async (command, messenger, chat, text, replyTo) => {
179
183
  const context = messengerContext(command, messenger);
180
- const { sendId, silent, preview, markdown, at } = command.opts();
184
+ const { sendId, silent, preview, markdown, at, file, photo, allowAnyFile } = command.opts();
181
185
  const scheduledFor = at === undefined ? undefined : sendTime(at);
182
- const body = text ?? (await readAll(context.stdin));
183
- if (body.trim() === "")
186
+ const read = { app: messenger.app, env: context.env, anyFile: allowAnyFile === true };
187
+ const attachments = [
188
+ ...(photo === undefined ? [] : [await readUpload("photo", photo, read)]),
189
+ ...(file === undefined ? [] : [await readUpload("file", file, read)]),
190
+ ];
191
+ const body = text ?? (attachments.length > 0 ? "" : await readAll(context.stdin));
192
+ if (body.trim() === "" && attachments.length === 0) {
184
193
  throw new CliError("validation_error", "nothing to send — give the text or pipe it in");
194
+ }
185
195
  const sent = await context.withMessenger((connection) => guardedSend(context.guard, connection, {
186
196
  chat,
187
197
  text: body,
@@ -191,6 +201,7 @@ const sendText = async (command, messenger, chat, text, replyTo) => {
191
201
  ...(preview === false ? { noPreview: true } : {}),
192
202
  ...(markdown === true ? { markdown } : {}),
193
203
  ...(scheduledFor === undefined ? {} : { at: scheduledFor }),
204
+ ...(attachments.length > 0 ? { attachments } : {}),
194
205
  }));
195
206
  if (scheduledFor !== undefined) {
196
207
  context.renderer.note(`scheduled for ${scheduledFor} — it gets a new id when it is sent`);
@@ -200,13 +211,14 @@ const sendText = async (command, messenger, chat, text, replyTo) => {
200
211
  context.renderer.result({ sendId: sent.sendId, message: sent.message });
201
212
  };
202
213
  /** Resolve → check → send → record: one path for `messages send`, `reply` and the MCP send tool. */
203
- export const guardedSend = async (guard, connection, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown, at }) => {
214
+ export const guardedSend = async (guard, connection, { chat, text: typed, sendId, replyTo, silent, noPreview, markdown, at, attachments = [] }) => {
204
215
  if (at !== undefined && sendId !== undefined) {
205
216
  throw new CliError("validation_error", "a scheduled send is never repeated: it would be scheduled twice — look in `messages scheduled` instead");
206
217
  }
207
218
  const { text, markup } = markdown ? parseMarkdown(typed) : { text: typed, markup: [] };
208
- if (text.trim() === "")
219
+ if (text.trim() === "" && attachments.length === 0) {
209
220
  throw new CliError("validation_error", "nothing to send — the marks leave no text");
221
+ }
210
222
  const { id: chatId } = await connection.resolve(chat);
211
223
  const attempt = {
212
224
  chatId,
@@ -215,6 +227,9 @@ export const guardedSend = async (guard, connection, { chat, text: typed, sendId
215
227
  length: text.length,
216
228
  ...(replyTo === undefined ? {} : { replyTo }),
217
229
  ...(at === undefined ? {} : { scheduledFor: at }),
230
+ ...(attachments.length === 0
231
+ ? {}
232
+ : { attachments: attachments.map(({ kind, bytes }) => ({ kind, bytes: bytes.byteLength })) }),
218
233
  };
219
234
  try {
220
235
  guard.check(attempt);
@@ -231,6 +246,7 @@ export const guardedSend = async (guard, connection, { chat, text: typed, sendId
231
246
  ...(noPreview ? { noPreview } : {}),
232
247
  ...(markup.length > 0 ? { markup } : {}),
233
248
  ...(at === undefined ? {} : { at }),
249
+ ...(attachments.length === 0 ? {} : { attachments }),
234
250
  });
235
251
  guard.record({ ...attempt, outcome: "sent", messageId: done.message.id });
236
252
  return done;
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import type { Markup } from "../../domain/markdown.js";
2
2
  import type { Account, Chat, ChatCard, ChatEvents, GroupMember, Id, Member, Message, MessageEvent, Page, PersonCard, WindowedMessage } from "../../domain/models.js";
3
+ import type { Upload } from "../../sends/upload.js";
3
4
  /** One attachment's bytes, fetched over the adapter's connection when `bytes` is read — so read it before the command closes. */
4
5
  export interface RemoteFile {
5
6
  kind: string;
@@ -26,6 +27,8 @@ export interface SendOptions {
26
27
  markup?: Markup[];
27
28
  /** ISO time: the messenger holds it and sends it then, under a new id. */
28
29
  at?: string;
30
+ /** Sent in one message, `text` as the caption. More than one is an album. */
31
+ attachments?: Upload[];
29
32
  }
30
33
  /** A voice message as text. `pending`: the messenger was still working on it when it answered. */
31
34
  export interface Transcript {
@@ -94,6 +97,8 @@ export interface MessengerAdapter {
94
97
  notify: boolean;
95
98
  }): Promise<void>;
96
99
  unpin?(chatId: Id, messageId: Id): Promise<void>;
100
+ /** The owner's reaction on one message: an emoji replaces the one there was, `null` takes it off. */
101
+ react?(chatId: Id, messageId: Id, emoji: string | null): Promise<void>;
97
102
  /**
98
103
  * New messages and changes to messages as they arrive, until `signal` aborts. `onReady` once it is
99
104
  * actually listening — a caller that sends on "listening" must not race the connection. Only on a
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AA6H5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAuB,EACvB,OAAyB,EACzB,IAAI,GAA6E,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAChF,EAAE,CACpB,IAAI,KAAK,CAAC,OAAO,EAAE;IACjB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAA6B,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAA6B,CAAY,CAAA;QAC7D,OAAO,OAAO,KAAK,KAAK,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAE,KAA+C,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK;CAC9C,CAAC,CAAA;AAEJ,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyB,EACzB,MAAS,EACT,IAAY,EACsB,EAAE;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACxG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAqC,CAAA;AAChE,CAAC,CAAA"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAkI5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAuB,EACvB,OAAyB,EACzB,IAAI,GAA6E,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAChF,EAAE,CACpB,IAAI,KAAK,CAAC,OAAO,EAAE;IACjB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAA6B,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAA6B,CAAY,CAAA;QAC7D,OAAO,OAAO,KAAK,KAAK,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAE,KAA+C,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK;CAC9C,CAAC,CAAA;AAEJ,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyB,EACzB,MAAS,EACT,IAAY,EACsB,EAAE;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACxG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAqC,CAAA;AAChE,CAAC,CAAA"}
@@ -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 Reacted {
7
+ chatId: Id;
8
+ messageId: Id;
9
+ /** `null` once it is taken off. */
10
+ reaction: string | null;
11
+ }
12
+ /** `reactions add|remove`: the owner's own reaction on a message. */
13
+ export declare const reactionsCommand: (messenger: Messenger) => Command;
14
+ /** One path for `reactions add|remove` and their MCP tools. A reaction never counts toward the hourly limit. */
15
+ export declare const guardedReaction: (guard: SendGuard, connection: MessengerAdapter, { chat, message, emoji }: {
16
+ chat: string;
17
+ message: string;
18
+ emoji: string | null;
19
+ }) => Promise<Reacted>;
20
+ //# sourceMappingURL=reactions-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactions-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/reactions-command.ts"],"names":[],"mappings":"AAEA,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,OAAO;IACtB,MAAM,EAAE,EAAE,CAAA;IACV,SAAS,EAAE,EAAE,CAAA;IACb,mCAAmC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,cAAe,SAAS,KAAG,OA+BvD,CAAA;AAED,gHAAgH;AAChH,eAAO,MAAM,eAAe,UACnB,SAAS,cACJ,gBAAgB,4BACF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAChF,OAAO,CAAC,OAAO,CAMjB,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { CliError } from "@leemour/cli-core";
2
+ import { annotate } from "@leemour/cli-core/commands";
3
+ import { Command } from "commander";
4
+ import { guardedWrite } from "../../sends/guarded.js";
5
+ import { messengerContext } from "./context.js";
6
+ import { capability } from "./port.js";
7
+ /** `reactions add|remove`: the owner's own reaction on a message. */
8
+ export const reactionsCommand = (messenger) => {
9
+ const reactions = new Command("reactions").description("react to messages");
10
+ annotate(reactions.command("add"), { mutates: true })
11
+ .description("put your reaction on a message; it replaces the one you had")
12
+ .argument("<chat>", messenger.chatArgument)
13
+ .argument("<message>", "the message id")
14
+ .argument("<emoji>", "one emoji, for example 👍")
15
+ .action(async function (chat, message, emoji) {
16
+ const context = messengerContext(this, messenger);
17
+ context.renderer.result(await context.withMessenger((connection) => guardedReaction(context.guard, connection, { chat, message: message.trim(), emoji: emoji.trim() })));
18
+ });
19
+ annotate(reactions.command("remove"), { mutates: true })
20
+ .description("take your reaction off a message")
21
+ .argument("<chat>", messenger.chatArgument)
22
+ .argument("<message>", "the message id")
23
+ .action(async function (chat, message) {
24
+ const context = messengerContext(this, messenger);
25
+ context.renderer.result(await context.withMessenger((connection) => guardedReaction(context.guard, connection, { chat, message: message.trim(), emoji: null })));
26
+ });
27
+ return reactions;
28
+ };
29
+ /** One path for `reactions add|remove` and their MCP tools. A reaction never counts toward the hourly limit. */
30
+ export const guardedReaction = async (guard, connection, { chat, message, emoji }) => {
31
+ if (emoji === "")
32
+ throw new CliError("validation_error", "which emoji? give one, for example 👍");
33
+ const react = capability(connection, "react", "react to a message");
34
+ const { id: chatId } = await connection.resolve(chat);
35
+ await guardedWrite(guard, { chatId, kind: "reaction", messageId: message }, () => react(chatId, message, emoji));
36
+ return { chatId, messageId: message, reaction: emoji };
37
+ };
38
+ //# sourceMappingURL=reactions-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactions-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/reactions-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAyB,MAAM,WAAW,CAAA;AAS7D,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAW,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;IAE3E,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAClD,WAAW,CAAC,6DAA6D,CAAC;SAC1E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;SAC1C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;SACvC,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,OAAe,EAAE,KAAa;QACjF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CACrB,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CACnG,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACrD,WAAW,CAAC,kCAAkC,CAAC;SAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;SAC1C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,OAAe;QAClE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CACrB,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC3F,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,KAAgB,EAChB,UAA4B,EAC5B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAA2D,EAC/D,EAAE;IACpB,IAAI,KAAK,KAAK,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACnE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAChH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AACxD,CAAC,CAAA"}
@@ -6,8 +6,12 @@ export interface Lock {
6
6
  startedAt: string;
7
7
  /** Set once the connection is open and updates arrive — before it, `serve` is still starting. */
8
8
  listeningAt?: string;
9
+ /** The CLI version this serve runs: after an update it goes on running the old code until restarted. */
10
+ version?: string;
9
11
  }
10
12
  export declare const lockPath: (app: AppIdentity, profile: string, env: NodeJS.ProcessEnv) => string;
13
+ /** The profiles a serve is running for now — what an update must restart for its new code to run. */
14
+ export declare const servingProfiles: (app: AppIdentity, env: NodeJS.ProcessEnv) => string[];
11
15
  export declare const readLock: (path: string) => Lock | undefined;
12
16
  /**
13
17
  * Keeps the store current: every new message, edit, deletion and reaction, and on start what arrived
@@ -1 +1 @@
1
- {"version":3,"file":"serve-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/serve-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,QAAQ,QAAS,WAAW,WAAW,MAAM,OAAO,MAAM,CAAC,UAAU,WAC0B,CAAA;AAE5G,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,IAAI,GAAG,SAO9C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OA0CnD,CAAA"}
1
+ {"version":3,"file":"serve-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/serve-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,QAAQ,QAAS,WAAW,WAAW,MAAM,OAAO,MAAM,CAAC,UAAU,WAC0B,CAAA;AAE5G,qGAAqG;AACrG,eAAO,MAAM,eAAe,QAAS,WAAW,OAAO,MAAM,CAAC,UAAU,KAAG,MAAM,EAUhF,CAAA;AAED,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,IAAI,GAAG,SAO9C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OA2CnD,CAAA"}
@@ -1,11 +1,24 @@
1
- import { readFileSync, rmSync } from "node:fs";
2
- import { join } from "node:path";
1
+ import { existsSync, readdirSync, readFileSync, rmSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
3
  import { CliError, resolvePaths, writeSecurely } from "@leemour/cli-core";
4
4
  import { Command } from "commander";
5
5
  import { messengerContext } from "./context.js";
6
6
  import { alive } from "./processes.js";
7
7
  import { listenUntilStopped } from "./watch-command.js";
8
8
  export const lockPath = (app, profile, env) => join(resolvePaths({ appName: app.appName, prefix: app.envPrefix, env }).state, "serve", `${profile}.lock`);
9
+ /** The profiles a serve is running for now — what an update must restart for its new code to run. */
10
+ export const servingProfiles = (app, env) => {
11
+ const dir = dirname(lockPath(app, "default", env));
12
+ if (!existsSync(dir))
13
+ return [];
14
+ return readdirSync(dir)
15
+ .filter((name) => name.endsWith(".lock"))
16
+ .map((name) => name.slice(0, -".lock".length))
17
+ .filter((profile) => {
18
+ const lock = readLock(lockPath(app, profile, env));
19
+ return lock !== undefined && alive(lock.pid);
20
+ });
21
+ };
9
22
  export const readLock = (path) => {
10
23
  try {
11
24
  const lock = JSON.parse(readFileSync(path, "utf8"));
@@ -33,10 +46,11 @@ export const serveCommand = (messenger) => {
33
46
  }
34
47
  const startedAt = new Date().toISOString();
35
48
  const hold = (lock) => writeSecurely(path, `${JSON.stringify(lock)}\n`, 0o600);
36
- hold({ pid: process.pid, startedAt });
49
+ const { version } = messenger.app;
50
+ hold({ pid: process.pid, startedAt, version });
37
51
  // `server start` answers on this, not on the lock alone: a lock is written before the connection opens.
38
52
  const onReady = () => {
39
- hold({ pid: process.pid, startedAt, listeningAt: new Date().toISOString() });
53
+ hold({ pid: process.pid, startedAt, version, listeningAt: new Date().toISOString() });
40
54
  context.renderer.note(`listening for profile ${context.profile}, catching up on what arrived while it was down`);
41
55
  };
42
56
  const counts = {};
@@ -1 +1 @@
1
- {"version":3,"file":"serve-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/serve-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/serve-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAWvD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAgB,EAAE,OAAe,EAAE,GAAsB,EAAE,EAAE,CACpF,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;AAE5G,qGAAqG;AACrG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAgB,EAAE,GAAsB,EAAY,EAAE;IACpF,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;IAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/B,OAAO,WAAW,CAAC,GAAG,CAAC;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAClD,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAoB,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAkB,CAAA;QACpE,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAa,CAAC,CAAC,CAAC,SAAS,CAAA;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAoB,EAAW,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAC9C,kFAAkF,CACnF,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,KAAK;QAClB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAA;QAC5G,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,yCAAyC,OAAO,CAAC,OAAO,SAAS,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,SAAS,GAAG,CAC9H,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,IAAI,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACpF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,CAAA;QACjC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9C,wGAAwG;QACxG,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACrF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,OAAO,iDAAiD,CAAC,CAAA;QAClH,CAAC,CAAA;QAED,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,CAAC,KAAmB,EAAE,EAAE;YACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC,CAAA;QACD,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;gBACxD,IAAI,EAAE,IAAI,eAAe,EAAE;gBAC3B,OAAO,EAAE,IAAI;gBACb,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG;gBAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACrH,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/server-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7D,4FAA4F;IAC5F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,4FAA4F;IAC5F,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACtE,uEAAuE;IACvE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AA2QD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,OA6OpD,CAAA"}
1
+ {"version":3,"file":"server-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/server-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7D,4FAA4F;IAC5F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,4FAA4F;IAC5F,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACtE,uEAAuE;IACvE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AA2QD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,OAqPpD,CAAA"}
@@ -372,6 +372,12 @@ export const serverCommand = (messenger) => {
372
372
  const state = isInstalled ? await platform.state(unit) : { loaded: false, active: false };
373
373
  const held = lock();
374
374
  const by = held ? await byOf(prepared, held) : null;
375
+ // max-cli's server status says the same: an update leaves a running serve on the old code.
376
+ const stale = held?.version && held.version !== app.version
377
+ ? `It runs ${app.command} ${held.version}, and ${app.command} is now ${app.version} — \`${app.command} server restart\`.`
378
+ : undefined;
379
+ if (stale && context.format !== "pretty")
380
+ context.renderer.note(stale);
375
381
  const unitLine = isInstalled
376
382
  ? `Unit: ${tilde(unit.path, context.env)} — ${state.detail ?? (state.active ? "active" : "inactive")}.`
377
383
  : `No unit installed — \`${app.command} server install\` adds one, for starting under systemd or launchd.`;
@@ -387,6 +393,7 @@ export const serverCommand = (messenger) => {
387
393
  by,
388
394
  }
389
395
  : {}),
396
+ ...(held?.version ? { version: held.version } : {}),
390
397
  unit: { name: unit.name, path: unit.path, installed: isInstalled, ...state },
391
398
  }, [
392
399
  held
@@ -395,6 +402,7 @@ export const serverCommand = (messenger) => {
395
402
  : `Starting profile ${unit.profile} since ${clock(held.startedAt)} (PID ${held.pid}) — not listening yet, ${how(by ?? "hand", unit)}.`
396
403
  : `Not serving profile ${unit.profile}.${isInstalled && state.detail?.startsWith("failed") ? ` The unit failed — \`${app.command} server logs\`.` : ""}`,
397
404
  unitLine,
405
+ ...(stale ? [stale] : []),
398
406
  ]);
399
407
  });
400
408
  command