@leemour/cli-messaging 0.75.0 → 0.77.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 (152) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/app.d.ts +2 -0
  3. package/dist/cli/app.d.ts.map +1 -1
  4. package/dist/cli/app.js.map +1 -1
  5. package/dist/cli/context.d.ts +2 -0
  6. package/dist/cli/context.d.ts.map +1 -1
  7. package/dist/cli/context.js.map +1 -1
  8. package/dist/cli/messenger/archive-commands.js +1 -0
  9. package/dist/cli/messenger/archive-commands.js.map +1 -1
  10. package/dist/cli/messenger/ask.d.ts +11 -0
  11. package/dist/cli/messenger/ask.d.ts.map +1 -0
  12. package/dist/cli/messenger/ask.js +66 -0
  13. package/dist/cli/messenger/ask.js.map +1 -0
  14. package/dist/cli/messenger/backfill-command.d.ts +1 -1
  15. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  16. package/dist/cli/messenger/backfill-command.js +32 -14
  17. package/dist/cli/messenger/backfill-command.js.map +1 -1
  18. package/dist/cli/messenger/backfill-estimate.d.ts +3 -3
  19. package/dist/cli/messenger/backfill-estimate.d.ts.map +1 -1
  20. package/dist/cli/messenger/backfill-estimate.js +2 -2
  21. package/dist/cli/messenger/backfill-estimate.js.map +1 -1
  22. package/dist/cli/messenger/backfill-jobs.d.ts +3 -1
  23. package/dist/cli/messenger/backfill-jobs.d.ts.map +1 -1
  24. package/dist/cli/messenger/backfill-jobs.js.map +1 -1
  25. package/dist/cli/messenger/context.d.ts.map +1 -1
  26. package/dist/cli/messenger/context.js +22 -1
  27. package/dist/cli/messenger/context.js.map +1 -1
  28. package/dist/cli/messenger/guard-commands.js +2 -2
  29. package/dist/cli/messenger/guard-commands.js.map +1 -1
  30. package/dist/cli/messenger/inbox.d.ts.map +1 -1
  31. package/dist/cli/messenger/inbox.js +3 -1
  32. package/dist/cli/messenger/inbox.js.map +1 -1
  33. package/dist/cli/messenger/mcp-command.d.ts +3 -1
  34. package/dist/cli/messenger/mcp-command.d.ts.map +1 -1
  35. package/dist/cli/messenger/mcp-command.js +29 -19
  36. package/dist/cli/messenger/mcp-command.js.map +1 -1
  37. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  38. package/dist/cli/messenger/messages-command.js +6 -2
  39. package/dist/cli/messenger/messages-command.js.map +1 -1
  40. package/dist/cli/messenger/messages-delete-command.d.ts +2 -2
  41. package/dist/cli/messenger/messages-delete-command.d.ts.map +1 -1
  42. package/dist/cli/messenger/messages-delete-command.js +4 -11
  43. package/dist/cli/messenger/messages-delete-command.js.map +1 -1
  44. package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
  45. package/dist/cli/messenger/messages-scheduled-command.js +1 -0
  46. package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
  47. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  48. package/dist/cli/messenger/polls-command.js +12 -5
  49. package/dist/cli/messenger/polls-command.js.map +1 -1
  50. package/dist/cli/messenger/port.d.ts +2 -0
  51. package/dist/cli/messenger/port.d.ts.map +1 -1
  52. package/dist/cli/messenger/port.js.map +1 -1
  53. package/dist/cli/messenger/review.d.ts.map +1 -1
  54. package/dist/cli/messenger/review.js +1 -0
  55. package/dist/cli/messenger/review.js.map +1 -1
  56. package/dist/cli/messenger/stored.d.ts +2 -2
  57. package/dist/cli/messenger/stored.js +2 -2
  58. package/dist/cli/messenger/watch-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/watch-command.js +1 -0
  60. package/dist/cli/messenger/watch-command.js.map +1 -1
  61. package/dist/cli/paging.d.ts +3 -1
  62. package/dist/cli/paging.d.ts.map +1 -1
  63. package/dist/cli/paging.js +9 -2
  64. package/dist/cli/paging.js.map +1 -1
  65. package/dist/cli/program.d.ts.map +1 -1
  66. package/dist/cli/program.js +1 -0
  67. package/dist/cli/program.js.map +1 -1
  68. package/dist/cli/runs/command.js +2 -2
  69. package/dist/cli/runs/command.js.map +1 -1
  70. package/dist/cli/settings.d.ts +10 -1
  71. package/dist/cli/settings.d.ts.map +1 -1
  72. package/dist/cli/settings.js +38 -4
  73. package/dist/cli/settings.js.map +1 -1
  74. package/dist/mcp/instructions.d.ts +3 -6
  75. package/dist/mcp/instructions.d.ts.map +1 -1
  76. package/dist/mcp/instructions.js +10 -12
  77. package/dist/mcp/instructions.js.map +1 -1
  78. package/dist/mcp/server.d.ts +6 -4
  79. package/dist/mcp/server.d.ts.map +1 -1
  80. package/dist/mcp/server.js +46 -25
  81. package/dist/mcp/server.js.map +1 -1
  82. package/dist/mcp/tool.d.ts +9 -3
  83. package/dist/mcp/tool.d.ts.map +1 -1
  84. package/dist/mcp/tool.js +5 -2
  85. package/dist/mcp/tool.js.map +1 -1
  86. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  87. package/dist/mcp/tools/chats-read.js +1 -0
  88. package/dist/mcp/tools/chats-read.js.map +1 -1
  89. package/dist/mcp/tools/polls.d.ts.map +1 -1
  90. package/dist/mcp/tools/polls.js +2 -0
  91. package/dist/mcp/tools/polls.js.map +1 -1
  92. package/dist/render/messages.d.ts +1 -1
  93. package/dist/render/messages.d.ts.map +1 -1
  94. package/dist/render/messages.js +10 -8
  95. package/dist/render/messages.js.map +1 -1
  96. package/dist/sends/guard.d.ts +23 -3
  97. package/dist/sends/guard.d.ts.map +1 -1
  98. package/dist/sends/guard.js +47 -15
  99. package/dist/sends/guard.js.map +1 -1
  100. package/dist/sends/guarded.d.ts +2 -0
  101. package/dist/sends/guarded.d.ts.map +1 -1
  102. package/dist/sends/guarded.js +1 -0
  103. package/dist/sends/guarded.js.map +1 -1
  104. package/dist/sends/index.d.ts +2 -2
  105. package/dist/sends/index.d.ts.map +1 -1
  106. package/dist/sends/index.js +1 -1
  107. package/dist/sends/index.js.map +1 -1
  108. package/dist/sends/permissions.d.ts +30 -0
  109. package/dist/sends/permissions.d.ts.map +1 -1
  110. package/dist/sends/permissions.js +144 -0
  111. package/dist/sends/permissions.js.map +1 -1
  112. package/dist/services/archive.d.ts +8 -2
  113. package/dist/services/archive.d.ts.map +1 -1
  114. package/dist/services/archive.js +25 -5
  115. package/dist/services/archive.js.map +1 -1
  116. package/dist/services/chats.d.ts +1 -1
  117. package/dist/services/chats.d.ts.map +1 -1
  118. package/dist/services/chats.js +23 -1
  119. package/dist/services/chats.js.map +1 -1
  120. package/dist/services/deps.d.ts +3 -1
  121. package/dist/services/deps.d.ts.map +1 -1
  122. package/dist/services/deps.js +10 -1
  123. package/dist/services/deps.js.map +1 -1
  124. package/dist/services/people.d.ts +3 -2
  125. package/dist/services/people.d.ts.map +1 -1
  126. package/dist/services/people.js +42 -4
  127. package/dist/services/people.js.map +1 -1
  128. package/dist/store/sqlite/drizzle/bun.js +1 -1
  129. package/dist/store/sqlite/drizzle/core.d.ts +2 -2
  130. package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
  131. package/dist/store/sqlite/drizzle/core.js +12 -1
  132. package/dist/store/sqlite/drizzle/core.js.map +4 -4
  133. package/dist/store/sqlite/drizzle/node.js +1 -1
  134. package/dist/store/sqlite/drizzle/{shared-CH747VCJ.js → shared-JAIU3GYB.js} +4 -1
  135. package/dist/store/sqlite/messages.d.ts +1 -0
  136. package/dist/store/sqlite/messages.d.ts.map +1 -1
  137. package/dist/store/sqlite/messages.js +40 -2
  138. package/dist/store/sqlite/messages.js.map +1 -1
  139. package/dist/store/sqlite/reads.d.ts +751 -0
  140. package/dist/store/sqlite/reads.d.ts.map +1 -0
  141. package/dist/store/sqlite/reads.js +177 -0
  142. package/dist/store/sqlite/reads.js.map +1 -0
  143. package/dist/store/sqlite/search.d.ts +496 -0
  144. package/dist/store/sqlite/search.d.ts.map +1 -0
  145. package/dist/store/sqlite/search.js +131 -0
  146. package/dist/store/sqlite/search.js.map +1 -0
  147. package/dist/store/store.d.ts.map +1 -1
  148. package/dist/store/store.js +20 -271
  149. package/dist/store/store.js.map +1 -1
  150. package/package.json +3 -2
  151. package/parity.json +19 -27
  152. /package/dist/store/sqlite/drizzle/{shared-CH747VCJ.js.map → shared-JAIU3GYB.js.map} +0 -0
package/README.md CHANGED
@@ -19,8 +19,8 @@ provider has travels in `providerMetadata`.
19
19
  |---|---|
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
- | `./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), `storeCommand` (the local store: `store fetch` puts a chat's history into it, resumable, FloodWait-aware, `--since` to stop at a time, `--background` for a detached job that `store jobs list|show|cancel` follow, `--estimate` to only price what is left from the store alone; `store status` what it holds; `store export` a chat's messages out of it, as JSON or `--format markdown`; `store info`, `store check`, `store migrate`, `store backup` and `store restore` look after the file itself — its size and schema, whether it is healthy and which chats are behind, bringing it up to this build, and a copy to go back to), `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` through the send guard (`--reply-to`, `--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`), and `delete` — at most 10, for the owner unless `--for-everyone`, never without `--allow-dangerous` · `reactionsCommand` (`add`, `remove`: the owner's reaction on a message, through the guard; the adapter's optional `react`) · `pollsCommand` (`show` a poll with its answer ids, `vote` by id or `--retract`, `close` the owner's own, `create` one — a vote guarded as a reaction, closing as an edit, a new poll as a message with a send id); 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`, `_remove`, `<cli>_polls_vote`, `_close` and `_create` (and `<cli>_polls_show` is a read tool) through the same guard as their commands, `--allow-mark-read` adds `<cli>_chats_mark_read` (`chats mark-read`: the other side sees it, so `--allow-send` does not imply it), `--allow-delete` adds `<cli>_messages_delete` (the owner's copy only, never for everyone), 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 |
22
+ | `./sends` | the send guard: a level per command path (`permissions`: deny, readonly, ask, allow — `readOnly` and `allow` read as levels), 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), `storeCommand` (the local store: `store fetch` puts a chat's history into it, resumable, FloodWait-aware, `--since` to stop at a time, `--background` for a detached job that `store jobs list|show|cancel` follow, `--estimate` to only price what is left from the store alone; `store status` what it holds; `store export` a chat's messages out of it, as JSON or `--format markdown`; `store info`, `store check`, `store migrate`, `store backup` and `store restore` look after the file itself — its size and schema, whether it is healthy and which chats are behind, bringing it up to this build, and a copy to go back to), `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` through the send guard (`--reply-to`, `--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`), and `delete` — at most 10, for the owner unless `--for-everyone`; it asks first by default, and `--allow-dangerous` is the yes · `reactionsCommand` (`add`, `remove`: the owner's reaction on a message, through the guard; the adapter's optional `react`) · `pollsCommand` (`show` a poll with its answer ids, `vote` by id or `--retract`, `close` the owner's own, `create` one — a vote guarded as a reaction, closing as an edit, a new poll as a message with a send id); 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; the write tools — `<cli>_messages_send`, `_edit`, `_forward`, `_pin`, `_unpin`, `_delete`, `<cli>_reactions_add`, `_remove`, `<cli>_chats_mark_read`, `<cli>_polls_vote`, `_close` and `_create` — are offered by the profile's `permissions` and run through the same guard as their commands; a write at level `ask` shows the owner a form first (`--allow-dangerous` or `--yes` skips it), `--confirm-send` puts every write through the form, and `messages_delete` never deletes for everyone), 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`
package/dist/cli/app.d.ts CHANGED
@@ -10,6 +10,8 @@ export interface AppIdentity {
10
10
  version: string;
11
11
  /** Where a problem report goes — a new-issue page. `doctor report create` names it. */
12
12
  issues?: string;
13
+ /** The language of the transcript a person reads: its day headings and the word for "you". `ru-RU` when unset. */
14
+ locale?: string;
13
15
  }
14
16
  export declare const envName: (app: AppIdentity, name: string) => string;
15
17
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,OAAO,QAAS,WAAW,QAAQ,MAAM,KAAG,MAAoC,CAAA"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,OAAO,QAAS,WAAW,QAAQ,MAAM,KAAG,MAAoC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAA"}
@@ -16,6 +16,8 @@ export interface BaseEnvironment {
16
16
  stdin?: NodeJS.ReadableStream & {
17
17
  isTTY?: boolean;
18
18
  };
19
+ /** The owner's answer to a question, or `null` with nobody at a terminal; tests hand one in. */
20
+ answer?: (question: string) => Promise<string | null> | string | null;
19
21
  /** Set by `run()`; a command's run is recorded only when it is known whose run it is. */
20
22
  app?: AppIdentity;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,eAAe,CAAA;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE1E,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,yFAAyF;IACzF,GAAG,CAAC,EAAE,WAAW,CAAA;CAClB;AAID,eAAO,MAAM,OAAO,YAAa,OAAO,eAAe,eAAe,KAAG,IAExE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,WAAW,OAAO,KAAG,CAC9C,CAAA;AAEhD,2EAA2E;AAC3E,eAAO,MAAM,SAAS,YAAa,OAAO;;;;;CAOzC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB;;;;OAIG;IACH;;;OAGG;IACH,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACjH,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CACtC;AAED,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,QAAQ,CAAA;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,WAAW,YAAa,OAAO,mBAAmB,OAAO,KAAG,WAyCxE,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,eAAe,CAAA;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE1E,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,gGAAgG;IAChG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IACrE,yFAAyF;IACzF,GAAG,CAAC,EAAE,WAAW,CAAA;CAClB;AAID,eAAO,MAAM,OAAO,YAAa,OAAO,eAAe,eAAe,KAAG,IAExE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,WAAW,OAAO,KAAG,CAC9C,CAAA;AAEhD,2EAA2E;AAC3E,eAAO,MAAM,SAAS,YAAa,OAAO;;;;;CAOzC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB;;;;OAIG;IACH;;;OAGG;IACH,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACjH,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CACtC;AAED,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,QAAQ,CAAA;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,WAAW,YAAa,OAAO,mBAAmB,OAAO,KAAG,WAyCxE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAiB9C,MAAM,YAAY,GAAG,IAAI,OAAO,EAA4B,CAAA;AAE5D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,WAA4B,EAAQ,EAAE;IAC9E,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAA8C,OAAgB,EAAK,EAAE,CAChG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAM,CAAA;AAEhD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,OAAO,aAAa,CAAC;QACnB,GAAG,OAAO,CAAC,eAAe,EAAE;QAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;KACtC,CAAC,CAAA;AACJ,CAAC,CAAA;AAyBD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,eAAwB,EAAe,EAAE;IACrF,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,EAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACjF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QACzD,GAAG,QAAQ;QACX,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;KACnE,CAAC,CAAA;IACF,MAAM,UAAU,GAAgB,EAAE,CAAA;IAElC,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,KAAK;QACL,OAAO;QACP,GAAG;QACH,0GAA0G;QAC1G,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAC9C,WAAW,CAAC,GAAG;YACb,CAAC,CAAC,QAAQ,CACN;gBACE,GAAG,EAAE,WAAW,CAAC,GAAG;gBACpB,OAAO,EAAE,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC;gBACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,cAAc;gBACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,QAAQ,CAAC,eAAe;gBAClC,MAAM;gBACN,OAAO;gBACP,GAAG;aACJ,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAC5G;YACH,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvG,KAAK,EAAE,CAAC,SAAS,EAAE,EAAE;YACnB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,mGAAmG;AACnG,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,OAAO,GAAmB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACpH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,7 @@ const exportCommand = (messenger) => new Command("export")
82
82
  senderColors: context.settings.senderColors,
83
83
  profile: context.profile,
84
84
  provider: messenger.provider,
85
+ locale: messenger.app.locale,
85
86
  }));
86
87
  context.renderer.note(`${messages.length} messages`);
87
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"archive-commands.js","sourceRoot":"","sources":["../../../src/cli/messenger/archive-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive-commands.js","sourceRoot":"","sources":["../../../src/cli/messenger/archive-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Command } from "commander";
2
+ import type { Asker } from "../../sends/guard.js";
3
+ /** Deleting has its own word for "yes": the flag a person has to mean, not a habit (max-cli `NEED-238`). */
4
+ export declare const skipFlagFor: (key: string) => "--allow-dangerous" | "--yes";
5
+ /**
6
+ * For a command a person typed: the flag says yes, or the terminal asks, or nobody can — and it is
7
+ * refused. Never asks under `--json` or `--jsonl`: a program reads those, and a harness that gives
8
+ * an agent a terminal would otherwise wait for ever.
9
+ */
10
+ export declare const terminalAsker: (command: Command) => Asker;
11
+ //# sourceMappingURL=ask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/ask.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,4GAA4G;AAC5G,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,mBAAmB,GAAG,OACL,CAAA;AAuC3D;;;;GAIG;AACH,eAAO,MAAM,aAAa,YACd,OAAO,KAAG,KAsBnB,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { openSync } from "node:fs";
2
+ import { createInterface } from "node:readline";
3
+ import { ReadStream } from "node:tty";
4
+ import { CliError } from "@leemour/cli-core";
5
+ import { environmentOf } from "../context.js";
6
+ /** Deleting has its own word for "yes": the flag a person has to mean, not a habit (max-cli `NEED-238`). */
7
+ export const skipFlagFor = (key) => key === "messages.delete" ? "--allow-dangerous" : "--yes";
8
+ /**
9
+ * One line from the terminal itself, not stdin — stdin may be the text being sent. `null` when no
10
+ * person is there. Ctrl-C and a closed terminal cancel, as `readSecret` does.
11
+ */
12
+ const fromTerminal = async (question) => {
13
+ if (!process.stdin.isTTY || !process.stderr.isTTY)
14
+ return null;
15
+ let input;
16
+ try {
17
+ input = new ReadStream(openSync("/dev/tty", "r"));
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ const reader = createInterface({ input, output: process.stderr, terminal: true });
23
+ try {
24
+ return await new Promise((resolve, reject) => {
25
+ const cancel = () => reject(new CliError("cancelled", "cancelled — nothing was done"));
26
+ reader.once("SIGINT", cancel);
27
+ reader.once("close", cancel);
28
+ reader.question(question, resolve);
29
+ });
30
+ }
31
+ finally {
32
+ reader.close();
33
+ input.destroy();
34
+ }
35
+ };
36
+ const what = (key, { chatId, count, personIds, forEveryone }) => [
37
+ key,
38
+ forEveryone ? "for everyone" : undefined,
39
+ count !== undefined ? `${count} ${count === 1 ? "item" : "items"}` : undefined,
40
+ personIds?.length ? `${personIds.length} ${personIds.length === 1 ? "person" : "people"}` : undefined,
41
+ chatId !== null ? `in chat ${chatId}` : undefined,
42
+ ]
43
+ .filter(Boolean)
44
+ .join(", ");
45
+ /**
46
+ * For a command a person typed: the flag says yes, or the terminal asks, or nobody can — and it is
47
+ * refused. Never asks under `--json` or `--jsonl`: a program reads those, and a harness that gives
48
+ * an agent a terminal would otherwise wait for ever.
49
+ */
50
+ export const terminalAsker = (command) => async (key, request) => {
51
+ const flag = skipFlagFor(key);
52
+ const given = command.optsWithGlobals();
53
+ if (flag === "--yes" ? given.yes === true : given.allowDangerous === true)
54
+ return;
55
+ const machine = given.json === true || given.jsonl === true;
56
+ const answer = machine
57
+ ? null
58
+ : await (environmentOf(command).answer ?? fromTerminal)(`${what(key, request)} — go ahead? [y/N] `);
59
+ if (answer === null) {
60
+ throw new CliError("confirmation_required", `${key} asks before it acts (its permission level is ask), and nobody is at a terminal to answer — ` +
61
+ `add ${flag} to go ahead`);
62
+ }
63
+ if (!/^\s*y(es)?\s*$/i.test(answer))
64
+ throw new CliError("cancelled", `${key}: not done — the answer was no`);
65
+ };
66
+ //# sourceMappingURL=ask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/cli/messenger/ask.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Command } from "commander";
2
2
  import { type Messenger } from "./context.js";
3
3
  /**
4
4
  * A chat's history into the store, newest to oldest, **resumable**: after every page the stretch it
5
- * covered is recorded, so a stop — Ctrl-C, `--timeout`, `--max`, `--since`, a long FloodWait — loses
5
+ * covered is recorded, so a stop — Ctrl-C, `--timeout`, `--max-pages`, `--since`, `--last`, a long FloodWait — loses
6
6
  * nothing, and the next run jumps over what is already held. Needs numeric message ids, which order
7
7
  * the chat.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBnC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AAItF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAyE9C,CAAA;AAEN,4EAA4E;AAC5E,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,OA4ClD,CAAA"}
1
+ {"version":3,"file":"backfill-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AAItF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAgF9C,CAAA;AAEN,4EAA4E;AAC5E,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,OA4ClD,CAAA"}
@@ -3,6 +3,7 @@ import { mkdirSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { CliError } from "@leemour/cli-core";
5
5
  import { Command } from "commander";
6
+ import { PAGE } from "../../services/archive.js";
6
7
  import { envName } from "../app.js";
7
8
  import { environmentOf } from "../context.js";
8
9
  import { isCliFailure } from "../failures.js";
@@ -13,31 +14,35 @@ import { momentOf } from "./inbox.js";
13
14
  import { stopOnSignal } from "./patience.js";
14
15
  /**
15
16
  * A chat's history into the store, newest to oldest, **resumable**: after every page the stretch it
16
- * covered is recorded, so a stop — Ctrl-C, `--timeout`, `--max`, `--since`, a long FloodWait — loses
17
+ * covered is recorded, so a stop — Ctrl-C, `--timeout`, `--max-pages`, `--since`, `--last`, a long FloodWait — loses
17
18
  * nothing, and the next run jumps over what is already held. Needs numeric message ids, which order
18
19
  * the chat.
19
20
  */
20
21
  export const fetchCommand = (messenger) => new Command("fetch")
21
22
  .description("fetch a chat's history into the local store, newest first; run it again to continue")
22
23
  .argument("<chat>", messenger.chatArgument)
23
- .option("--max <n>", "at most this many messages in this run", wholeNumber, 1000)
24
+ .option("--max-pages <n>", `at most this many pages of ${PAGE} in this run`, wholeNumber, 10)
24
25
  .option("--pause <duration>", "pause between pages, to stay under the provider's limits", "1s")
25
26
  .option("--since <time>", "stop once it reaches messages older than this: ISO 8601, or 2h / 1d ago")
27
+ .option("--last <n>", "stop once the newest n messages are held", wholeNumber)
26
28
  .option("--background", "run as a job that outlives this command; `store jobs show` follows it")
27
29
  .option("--estimate", "only estimate how many messages, requests and minutes a full fetch would still take — from the store, no request")
28
30
  .action(async function (chat) {
29
- const { max, pause, since, background, estimate } = this.opts();
31
+ const { maxPages, pause, since, last, background, estimate } = this.opts();
32
+ if (since !== undefined && last !== undefined) {
33
+ throw new CliError("validation_error", "give --since or --last, not both: how far back the fetch goes");
34
+ }
30
35
  const pauseMs = parseDuration(pause, "--pause");
31
36
  const sinceMs = since === undefined ? undefined : momentOf(since);
32
37
  const context = messengerContext(this, messenger);
33
38
  if (estimate) {
34
- if (since !== undefined) {
35
- throw new CliError("validation_error", "--estimate prices a full fetch; --since does not narrow it");
39
+ if (since !== undefined || last !== undefined) {
40
+ throw new CliError("validation_error", "--estimate prices a full fetch; --since and --last do not narrow it");
36
41
  }
37
- const answer = await context.withServices((services) => services.archive.estimate(chat, { max, pauseMs }));
42
+ const answer = await context.withServices((services) => services.archive.estimate(chat, { maxPages, pauseMs }));
38
43
  context.renderer.result(answer);
39
44
  if (answer.missing === null) {
40
- context.renderer.note(`nothing held of this chat to measure by — \`${messenger.app.command} store fetch ${chat} --max 100\` gives the estimate something to go on`);
45
+ context.renderer.note(`nothing held of this chat to measure by — \`${messenger.app.command} store fetch ${chat} --max-pages 1\` gives the estimate something to go on`);
41
46
  }
42
47
  else if (answer.missing > 0)
43
48
  context.renderer.note("an estimate: provider waits (FloodWait) come on top");
@@ -46,8 +51,9 @@ export const fetchCommand = (messenger) => new Command("fetch")
46
51
  if (background) {
47
52
  startJob(this, context, messenger, {
48
53
  chat,
49
- max,
54
+ maxPages,
50
55
  pause,
56
+ ...(last === undefined ? {} : { last }),
51
57
  ...(sinceMs === undefined ? {} : { since: new Date(sinceMs).toISOString() }),
52
58
  });
53
59
  return;
@@ -57,9 +63,10 @@ export const fetchCommand = (messenger) => new Command("fetch")
57
63
  const stop = stopOnSignal(this);
58
64
  try {
59
65
  const result = await context.withServices((services) => services.archive.fetch(chat, {
60
- max,
66
+ maxPages,
61
67
  pauseMs,
62
68
  ...(sinceMs === undefined ? {} : { sinceMs }),
69
+ ...(last === undefined ? {} : { last }),
63
70
  note: context.renderer.note,
64
71
  stop: stop.signal,
65
72
  onPage: (progress) => {
@@ -133,7 +140,8 @@ const brief = (job) => ({
133
140
  startedAt: job.startedAt,
134
141
  ...(job.finishedAt ? { finishedAt: job.finishedAt } : {}),
135
142
  fetched: Number(job.result?.fetched ?? job.progress?.fetched ?? 0),
136
- max: job.max,
143
+ ...(job.maxPages === undefined ? {} : { maxPages: job.maxPages }),
144
+ ...(job.last === undefined ? {} : { last: job.last }),
137
145
  ...(job.result ? { complete: job.result.complete === true } : {}),
138
146
  ...(job.error ? { error: job.error } : {}),
139
147
  });
@@ -145,7 +153,7 @@ const findJob = (messenger, context, id) => {
145
153
  }
146
154
  return job;
147
155
  };
148
- const startJob = (command, context, messenger, { chat, max, pause, since }) => {
156
+ const startJob = (command, context, messenger, { chat, maxPages, pause, since, last, }) => {
149
157
  const { app } = messenger;
150
158
  const dir = jobsDir(app, context.env);
151
159
  const running = listJobs(dir).find((job) => job.profile === context.profile && job.chat === chat && stateOf(job) === "running");
@@ -161,18 +169,28 @@ const startJob = (command, context, messenger, { chat, max, pause, since }) => {
161
169
  "store",
162
170
  "fetch",
163
171
  chat,
164
- "--max",
165
- String(max),
172
+ "--max-pages",
173
+ String(maxPages),
166
174
  "--pause",
167
175
  pause,
168
176
  ...(since === undefined ? [] : ["--since", since]),
177
+ ...(last === undefined ? [] : ["--last", String(last)]),
169
178
  "--json",
170
179
  ...(timeout ? ["--timeout", timeout] : []),
171
180
  ];
172
181
  // A shell's --timeout default would cut a job short that was asked to outlive the shell.
173
182
  const { [envName(app, "TIMEOUT")]: _timeout, ...inherited } = context.env;
174
183
  const env = { ...inherited, [envName(app, "PROFILE")]: context.profile, [envName(app, "BACKFILL_JOB")]: id };
175
- const job = { id, chat, profile: context.profile, pid: 0, startedAt: now.toISOString(), max, log };
184
+ const job = {
185
+ id,
186
+ chat,
187
+ profile: context.profile,
188
+ pid: 0,
189
+ startedAt: now.toISOString(),
190
+ maxPages,
191
+ ...(last === undefined ? {} : { last }),
192
+ log,
193
+ };
176
194
  saveJob(dir, job);
177
195
  const spawnJob = environmentOf(command).spawnJob ?? spawnDetached;
178
196
  const pid = spawnJob(argv, env, log);
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface Estimate {
6
6
  /** Messages a full backfill would still fetch — `null` when nothing held gives a density to go on. */
7
7
  missing: number | null;
8
8
  requests: number | null;
9
- /** Runs at this `--max` to finish. */
9
+ /** Runs at this `--max-pages` to finish. */
10
10
  runs: number | null;
11
11
  seconds: number | null;
12
12
  }
@@ -15,13 +15,13 @@ export interface Estimate {
15
15
  * gaps (deletions, and in private chats and small groups one counter across the whole account), so
16
16
  * the ids not held are priced at the density of the stretches that are: an estimate, never a count.
17
17
  */
18
- export declare const estimateBackfill: ({ ranges, held, newest, page, max, pauseMs, }: {
18
+ export declare const estimateBackfill: ({ ranges, held, newest, page, maxPages, pauseMs, }: {
19
19
  ranges: Range[];
20
20
  held: number;
21
21
  /** The newest message id the store holds of the chat, held stretch or not. */
22
22
  newest: number | undefined;
23
23
  page: number;
24
- max: number;
24
+ maxPages: number;
25
25
  pauseMs: number;
26
26
  }) => Estimate;
27
27
  //# sourceMappingURL=backfill-estimate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-estimate.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,sGAAsG;IACtG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,sCAAsC;IACtC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAKD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kDAO1B;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,8EAA8E;IAC9E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB,KAAG,QAoBH,CAAA"}
1
+ {"version":3,"file":"backfill-estimate.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,sGAAsG;IACtG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAKD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uDAO1B;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,8EAA8E;IAC9E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,KAAG,QAoBH,CAAA"}
@@ -5,7 +5,7 @@ const REQUEST_MS = 400;
5
5
  * gaps (deletions, and in private chats and small groups one counter across the whole account), so
6
6
  * the ids not held are priced at the density of the stretches that are: an estimate, never a count.
7
7
  */
8
- export const estimateBackfill = ({ ranges, held, newest, page, max, pauseMs, }) => {
8
+ export const estimateBackfill = ({ ranges, held, newest, page, maxPages, pauseMs, }) => {
9
9
  const lowest = ranges[0];
10
10
  const top = ranges.at(-1);
11
11
  if (!lowest || !top)
@@ -22,7 +22,7 @@ export const estimateBackfill = ({ ranges, held, newest, page, max, pauseMs, })
22
22
  ranges,
23
23
  missing,
24
24
  requests,
25
- runs: Math.ceil(missing / max),
25
+ runs: Math.ceil(requests / maxPages),
26
26
  seconds: Math.round((requests * (pauseMs + REQUEST_MS)) / 1000),
27
27
  };
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-estimate.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-estimate.ts"],"names":[],"mappings":"AAcA,uGAAuG;AACvG,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,GAAG,EACH,OAAO,GASR,EAAY,EAAE;IACb,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEtG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,CAAA;IAC5E,qEAAqE;IACrE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IAC9E,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,QAAQ;QACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;KAChE,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"backfill-estimate.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-estimate.ts"],"names":[],"mappings":"AAcA,uGAAuG;AACvG,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,GASR,EAAY,EAAE;IACb,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEtG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,CAAA;IAC5E,qEAAqE;IACrE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IAC9E,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,QAAQ;QACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;KAChE,CAAA;AACH,CAAC,CAAA"}
@@ -5,7 +5,9 @@ export interface Job {
5
5
  profile: string;
6
6
  pid: number;
7
7
  startedAt: string;
8
- max: number;
8
+ /** Absent on a job started before `--max-pages`. */
9
+ maxPages?: number;
10
+ last?: number;
9
11
  log: string;
10
12
  progress?: {
11
13
  fetched: number;
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-jobs.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-jobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG5C,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;AAE3E,+GAA+G;AAC/G,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;AAEtF,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,WAAW,OAAO,MAAM,CAAC,UAAU,KAAG,MACyB,CAAA;AAI5F,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,GAAG,KAAG,IAG/C,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,MAAM,MAAM,KAAG,GAAG,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,MAAM,MAAM,MAAM,UAAU,OAAO,CAAC,GAAG,CAAC,KAAG,IAGzE,CAAA;AAED,oBAAoB;AACpB,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,GAAG,EAMlC,CAAA;AAER,kHAAkH;AAClH,eAAO,MAAM,OAAO,QAAS,GAAG,KAAG,QAOlC,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,KAAK,QAAS,GAAG,KAAG,OAAsD,CAAA"}
1
+ {"version":3,"file":"backfill-jobs.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-jobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG5C,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;AAE3E,+GAA+G;AAC/G,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;AAEtF,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,WAAW,OAAO,MAAM,CAAC,UAAU,KAAG,MACyB,CAAA;AAI5F,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,GAAG,KAAG,IAG/C,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,MAAM,MAAM,KAAG,GAAG,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,MAAM,MAAM,MAAM,UAAU,OAAO,CAAC,GAAG,CAAC,KAAG,IAGzE,CAAA;AAED,oBAAoB;AACpB,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,GAAG,EAMlC,CAAA;AAER,kHAAkH;AAClH,eAAO,MAAM,OAAO,QAAS,GAAG,KAAG,QAOlC,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,KAAK,QAAS,GAAG,KAAG,OAAsD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-jobs.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-jobs.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-jobs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/context.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
2
  import { guardFor } from "../../sends/guard.js";
3
+ import { keyForCommand, levelFor } from "../../sends/permissions.js";
3
4
  import { OFFLINE, servicesFor } from "../../services/index.js";
4
5
  import { openStore } from "../../store/store.js";
5
6
  import { baseContext, environmentOf } from "../context.js";
6
7
  import { recalledAccount, rememberAccount } from "./accounts.js";
8
+ import { terminalAsker } from "./ask.js";
7
9
  import { observed } from "./observed.js";
8
10
  import { stored } from "./stored.js";
9
11
  /**
@@ -36,12 +38,31 @@ export const connected = (connection, { app, provider }, { settings, env, render
36
38
  },
37
39
  };
38
40
  };
41
+ /** The words of a command below the program, `["messages", "list"]` — the profile word is not one of them. */
42
+ const pathOf = (command) => {
43
+ const words = [];
44
+ for (let at = command; at?.parent; at = at.parent)
45
+ words.unshift(at.name());
46
+ return words;
47
+ };
48
+ /** `deny` stops a read too, before anything connects: what the profile may not see is never fetched. */
49
+ const refuseDenied = (command, settings) => {
50
+ const key = keyForCommand(pathOf(command));
51
+ if (!key)
52
+ return;
53
+ const { level, key: named } = levelFor(settings.permissions, key);
54
+ if (level !== "deny")
55
+ return;
56
+ throw new CliError("permission_error", `profile ${settings.profile} denies ${key} (permissions.${named} is deny, from the ` +
57
+ `${settings.permissionSources[named ?? ""] ?? "default"})`, { permission: key });
58
+ };
39
59
  export const messengerContext = (command, messenger) => {
40
60
  const { app, provider } = messenger;
41
61
  const base = baseContext(command, messenger.resolveSettings);
42
62
  const { profile } = base.settings;
63
+ refuseDenied(command, base.settings);
43
64
  const guard = messenger.guard?.(command, base.settings, base.renderer.warn) ??
44
- guardFor(app, base.settings, base.renderer.warn, base.env);
65
+ guardFor(app, base.settings, base.renderer.warn, base.env, terminalAsker(command));
45
66
  return {
46
67
  ...base,
47
68
  profile,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/messenger/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/messenger/context.ts"],"names":[],"mappings":"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"}