@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
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AACxG,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,kEAAkE;AAClE,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,oHAAoH;AACpH,eAAO,MAAM,SAAS,MAAM,CAAA;AAE5B,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,EAAE,CAAA;IACV,wCAAwC;IACxC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACxF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,EAAE,CAAA;KAAE,CAAC,CAAA;IACtF,oGAAoG;IACpG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;CACnF;AAED,eAAO,MAAM,YAAY,SAAU,WAAW,KAAG,YAyD/C,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAU,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAChH,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGjE,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAA;AAGzD,kEAAkE;AAClE,eAAO,MAAM,WAAW,IAAI,CAAA;AAE5B,oHAAoH;AACpH,eAAO,MAAM,SAAS,MAAM,CAAA;AAE5B,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,EAAE,CAAA;IACV,wCAAwC;IACxC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACxF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,EAAE,CAAA;KAAE,CAAC,CAAA;IACtF,oGAAoG;IACpG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;CACnF;AAED,eAAO,MAAM,YAAY,SAAU,WAAW,KAAG,YAsE/C,CAAA"}
@@ -2,6 +2,8 @@ import { CliError } from "@leemour/cli-core";
2
2
  import { capability } from "../cli/messenger/port.js";
3
3
  import { guardedWrite } from "../sends/guarded.js";
4
4
  import { newOperationId } from "../sends/send-id.js";
5
+ import { storeIfOpen } from "./deps.js";
6
+ import { storedChatId } from "./messages.js";
5
7
  /** How far back `events` looks without `since`, as in max-cli. */
6
8
  export const EVENTS_DAYS = 7;
7
9
  /** A filtered list searches the newest this many: paging through every dialog hit FLOOD_WAIT (tg handoff §4.14). */
@@ -22,7 +24,22 @@ export const chatsService = (deps) => ({
22
24
  const end = window.limit === undefined ? found.length : window.offset + window.limit;
23
25
  return { items: found.slice(window.offset, end), hasMore: found.length > end, partial: scanned.hasMore };
24
26
  },
25
- show: async (chat) => (await deps.connection()).chat(chat),
27
+ show: async (chat) => {
28
+ if (deps.offline) {
29
+ const store = await deps.store();
30
+ const account = await deps.account();
31
+ const id = await storedChatId(deps.messenger, chat, store, account);
32
+ const found = (await store.chats(account, {})).items.find((one) => one.id === id);
33
+ if (!found)
34
+ throw new CliError("not_found", `no stored chat ${id}`);
35
+ return { ...found, members: await storedMembers(store, account, found.id) };
36
+ }
37
+ const card = await (await deps.connection()).chat(chat);
38
+ if (card.members !== null || card.kind === "channel")
39
+ return card;
40
+ const store = await storeIfOpen(deps);
41
+ return store ? { ...card, members: await storedMembers(store, await deps.account(), card.id) } : card;
42
+ },
26
43
  members: async (chat, window) => capability(await deps.connection(), "members", "list a group's members")(chat, window),
27
44
  events: async (chat, { since, only }) => {
28
45
  if (deps.offline) {
@@ -50,6 +67,11 @@ export const chatsService = (deps) => ({
50
67
  return { operationId, chatId, until: until ?? null };
51
68
  },
52
69
  });
70
+ /** `null` when no member list was ever saved: not knowing who is there is not nobody being there. */
71
+ const storedMembers = async (store, account, chatId) => {
72
+ const members = (await store.members(account, chatId)).filter((one) => one.id !== account.account);
73
+ return members.length === 0 ? null : members;
74
+ };
53
75
  const matches = ({ search, kind, unread }) => {
54
76
  const needle = search?.toLocaleLowerCase();
55
77
  return (chat) => (needle === undefined || (chat.title ?? "").toLocaleLowerCase().includes(needle)) &&
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@ export interface ServiceDeps {
16
16
  store: () => Promise<MessageStore>;
17
17
  guard: SendGuard;
18
18
  }
19
- export declare const OFFLINE = "--offline answers only from what is kept locally: `chats list`, `messages list|show|context` and `contacts list`";
19
+ /** Online, the store only adds to an answer the messenger already gave, so a store that will not open loses nothing. */
20
+ export declare const storeIfOpen: (deps: ServiceDeps) => Promise<MessageStore | undefined>;
21
+ export declare const OFFLINE = "--offline answers only from what is kept locally: `chats list|show`, `messages list|show|context` and `contacts list|show`";
20
22
  /** Over a connection that is already open — an MCP session holds one for minutes. */
21
23
  export declare const onlineDeps: (messenger: Messenger, adapter: MessengerAdapter, guard: SendGuard) => ServiceDeps;
22
24
  /** Over the local store alone, for `--offline` and the tools that never ask the messenger. */
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,oFAAoF;IACpF,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,eAAO,MAAM,OAAO,qHACgG,CAAA;AAEpH,qFAAqF;AACrF,eAAO,MAAM,UAAU,cAAe,SAAS,WAAW,gBAAgB,SAAS,SAAS,KAAG,WAa7F,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,cACV,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WASD,CAAA"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,oFAAoF;IACpF,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,wHAAwH;AACxH,eAAO,MAAM,WAAW,SAAgB,WAAW,KAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAMrF,CAAA;AAED,eAAO,MAAM,OAAO,+HAC0G,CAAA;AAE9H,qFAAqF;AACrF,eAAO,MAAM,UAAU,cAAe,SAAS,WAAW,gBAAgB,SAAS,SAAS,KAAG,WAa7F,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,cACV,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WASD,CAAA"}
@@ -1,5 +1,14 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
- export const OFFLINE = "--offline answers only from what is kept locally: `chats list`, `messages list|show|context` and `contacts list`";
2
+ /** Online, the store only adds to an answer the messenger already gave, so a store that will not open loses nothing. */
3
+ export const storeIfOpen = async (deps) => {
4
+ try {
5
+ return await deps.store();
6
+ }
7
+ catch {
8
+ return undefined;
9
+ }
10
+ };
11
+ export const OFFLINE = "--offline answers only from what is kept locally: `chats list|show`, `messages list|show|context` and `contacts list|show`";
3
12
  /** Over a connection that is already open — an MCP session holds one for minutes. */
4
13
  export const onlineDeps = (messenger, adapter, guard) => ({
5
14
  messenger,
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAqB5C,MAAM,CAAC,MAAM,OAAO,GAClB,kHAAkH,CAAA;AAEpH,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAE,OAAyB,EAAE,KAAgB,EAAe,EAAE,CAAC,CAAC;IAC7G,SAAS;IACT,OAAO,EAAE,KAAK;IACd,KAAK;IACL,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,kDAAkD,CAAC,CAAA;QACjH,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxD,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,gEAAgE,CAAC,CAAA;IAC1G,CAAC;CACF,CAAC,CAAA;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAoB,EACpB,KAAmB,EACnB,OAAmB,EACnB,KAAgB,EACH,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,EAAE,IAAI;IACb,KAAK;IACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC5B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAqB5C,wHAAwH;AACxH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,IAAiB,EAAqC,EAAE;IACxF,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAClB,4HAA4H,CAAA;AAE9H,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAE,OAAyB,EAAE,KAAgB,EAAe,EAAE,CAAC,CAAC;IAC7G,SAAS;IACT,OAAO,EAAE,KAAK;IACd,KAAK;IACL,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,kDAAkD,CAAC,CAAA;QACjH,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxD,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,gEAAgE,CAAC,CAAA;IAC1G,CAAC;CACF,CAAC,CAAA;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAoB,EACpB,KAAmB,EACnB,OAAmB,EACnB,KAAgB,EACH,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,EAAE,IAAI;IACb,KAAK;IACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC5B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { Contact, Member, Page, PersonCard } from "../domain/models.js";
2
2
  import type { PageWindow } from "./chats.js";
3
- import type { ServiceDeps } from "./deps.js";
3
+ import { type ServiceDeps } from "./deps.js";
4
4
  export interface ContactSync {
5
5
  added: number;
6
6
  changed: number;
@@ -8,7 +8,8 @@ export interface ContactSync {
8
8
  }
9
9
  /**
10
10
  * A contact is somebody this account has a one-to-one chat with — a query over the chat list, never
11
- * a flag somebody maintains (max-cli `NEED-105`). So the list works offline from the stored chats.
11
+ * a flag somebody maintains (max-cli `NEED-105`). Where the store holds who is in each one-to-one
12
+ * chat, it answers; otherwise the dialogs themselves do, offline from the stored chats.
12
13
  */
13
14
  export interface PeopleService {
14
15
  list(options: {
@@ -1 +1 @@
1
- {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/services/people.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IACjG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,2DAA2D;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,4FAA4F;IAC5F,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;CAC7B;AAED,eAAO,MAAM,aAAa,SAAU,WAAW,KAAG,aA8BhD,CAAA;AAEF,oFAAoF;AACpF,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,MAMvC,CAAA"}
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/services/people.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGlF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAA;AAEzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IACjG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,2DAA2D;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,4FAA4F;IAC5F,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;CAC7B;AAED,eAAO,MAAM,aAAa,SAAU,WAAW,KAAG,aA8ChD,CAAA;AAEF,oFAAoF;AACpF,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,MAMvC,CAAA"}
@@ -1,13 +1,33 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
2
  import { capability } from "../cli/messenger/port.js";
3
+ import { pickPerson } from "../resolve.js";
4
+ import { storeIfOpen } from "./deps.js";
3
5
  export const peopleService = (deps) => ({
4
6
  list: async (options) => {
5
- const chats = deps.offline
6
- ? (await (await deps.store()).chats(await deps.account(), {})).items
7
- : (await (await deps.connection()).chats({ offset: 0 })).items;
7
+ // Connected first: a messenger whose login brings its people writes them before the store is asked.
8
+ const connection = deps.offline ? undefined : await deps.connection();
9
+ const store = deps.offline ? await deps.store() : await storeIfOpen(deps);
10
+ const account = store && (await deps.account());
11
+ if (store && account && (await store.countContacts(account)) > 0)
12
+ return storedContacts(store, account, options);
13
+ const chats = connection
14
+ ? (await connection.chats({ offset: 0 })).items
15
+ : (await (await deps.store()).chats(await deps.account(), {})).items;
8
16
  return contactsIn(chats, options);
9
17
  },
10
- show: async (person) => (await deps.connection()).contact(person),
18
+ show: async (person) => {
19
+ if (deps.offline) {
20
+ const store = await deps.store();
21
+ const account = await deps.account();
22
+ const found = pickPerson(person, await store.people(account.provider, { account: account.account }));
23
+ return { ...found, chats: await sharedChats(store, account, found.id) };
24
+ }
25
+ const card = await (await deps.connection()).contact(person);
26
+ if (card.chats.length > 0)
27
+ return card;
28
+ const store = await storeIfOpen(deps);
29
+ return store ? { ...card, chats: await sharedChats(store, await deps.account(), card.id) } : card;
30
+ },
11
31
  lookup: async (phone) => capability(await deps.connection(), "lookup", "find a person by phone")(phone),
12
32
  sync: async () => {
13
33
  if (deps.offline) {
@@ -38,6 +58,24 @@ export const phoneOf = (typed) => {
38
58
  }
39
59
  return digits;
40
60
  };
61
+ const storedContacts = async (store, account, { order, search, limit, offset }) => {
62
+ // Chats saved since the last refresh may have moved someone up; the order is worked out again here.
63
+ if (order === "recent")
64
+ await store.refreshRecency(account);
65
+ const query = search?.trim() || undefined;
66
+ return store.contacts(account, {
67
+ order,
68
+ ...(query === undefined ? {} : { query }),
69
+ limit: limit ?? (await store.countContacts(account, query === undefined ? {} : { query })),
70
+ offset,
71
+ });
72
+ };
73
+ const sharedChats = async (store, account, personId) => (await store.chatsWith(account, personId)).map(({ id, title, kind, lastMessageAt }) => ({
74
+ id,
75
+ title,
76
+ kind,
77
+ lastMessageAt,
78
+ }));
41
79
  const contactsIn = (chats, { order, search, limit, offset }) => {
42
80
  const wanted = search?.trim().toLowerCase();
43
81
  const people = chats
@@ -1 +1 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/services/people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/services/people.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import {
10
10
  entityKind,
11
11
  jitCompatCheck,
12
12
  sql
13
- } from "./shared-CH747VCJ.js";
13
+ } from "./shared-JAIU3GYB.js";
14
14
 
15
15
  // node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/bun-sqlite/session.js
16
16
  var SQLiteBunSession = class extends SQLiteAsyncSession {
@@ -1,3 +1,3 @@
1
- export { and, desc, eq, gt, gte, inArray, isNull, lte, ne, or, type Placeholder, sql } from "drizzle-orm";
2
- export { index, integer, primaryKey, real, type SQLiteAsyncDatabase, sqliteTable, text, unique, } from "drizzle-orm/sqlite-core";
1
+ export { and, asc, desc, eq, gt, gte, inArray, isNull, lte, ne, notInArray, or, type Placeholder, type SQL, sql, } from "drizzle-orm";
2
+ export { alias, index, integer, primaryKey, real, type SQLiteAsyncDatabase, sqliteTable, text, unique, } from "drizzle-orm/sqlite-core";
3
3
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/store/sqlite/drizzle/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,WAAW,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,EACL,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,GACP,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/store/sqlite/drizzle/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACJ,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,EAAE,EACF,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,GAAG,GACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,GACP,MAAM,yBAAyB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import {
2
+ TableAliasProxyHandler,
2
3
  and,
4
+ asc,
3
5
  desc,
4
6
  eq,
5
7
  gt,
@@ -10,6 +12,7 @@ import {
10
12
  isNull,
11
13
  lte,
12
14
  ne,
15
+ notInArray,
13
16
  or,
14
17
  primaryKey,
15
18
  real,
@@ -17,9 +20,16 @@ import {
17
20
  sqliteTable,
18
21
  text,
19
22
  unique
20
- } from "./shared-CH747VCJ.js";
23
+ } from "./shared-JAIU3GYB.js";
24
+
25
+ // node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/sqlite-core/alias.js
26
+ function alias(table, alias2) {
27
+ return new Proxy(table, new TableAliasProxyHandler(alias2, false));
28
+ }
21
29
  export {
30
+ alias,
22
31
  and,
32
+ asc,
23
33
  desc,
24
34
  eq,
25
35
  gt,
@@ -30,6 +40,7 @@ export {
30
40
  isNull,
31
41
  lte,
32
42
  ne,
43
+ notInArray,
33
44
  or,
34
45
  primaryKey,
35
46
  real,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
3
+ "sources": ["../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/src/sqlite-core/alias.ts"],
4
+ "sourcesContent": ["import { TableAliasProxyHandler } from '~/alias.ts';\nimport type { BuildAliasTable } from './query-builders/select.types.ts';\n\nimport type { SQLiteTable } from './table.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport function alias<TTable extends SQLiteTable | SQLiteViewBase, TAlias extends string>(\n\ttable: TTable,\n\talias: TAlias,\n): BuildAliasTable<TTable, TAlias> {\n\treturn new Proxy(table, new TableAliasProxyHandler(alias, false)) as any;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAgB,MACf,OACAA,QACkC;AAClC,SAAO,IAAI,MAAM,OAAO,IAAI,uBAAuBA,QAAO,KAAA,CAAM;;",
6
+ "names": ["alias"]
7
7
  }
@@ -10,7 +10,7 @@ import {
10
10
  entityKind,
11
11
  jitCompatCheck,
12
12
  sql
13
- } from "./shared-CH747VCJ.js";
13
+ } from "./shared-JAIU3GYB.js";
14
14
 
15
15
  // node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/node-sqlite/session.js
16
16
  var NodeSQLiteSession = class extends SQLiteAsyncSession {
@@ -4817,8 +4817,11 @@ export {
4817
4817
  gte,
4818
4818
  lte,
4819
4819
  inArray,
4820
+ notInArray,
4820
4821
  isNull,
4822
+ asc,
4821
4823
  desc,
4824
+ TableAliasProxyHandler,
4822
4825
  jitCompatCheck,
4823
4826
  DefaultLogger,
4824
4827
  NoopLogger,
@@ -4835,4 +4838,4 @@ export {
4835
4838
  SQLiteAsyncSession,
4836
4839
  SQLiteAsyncTransaction
4837
4840
  };
4838
- //# sourceMappingURL=shared-CH747VCJ.js.map
4841
+ //# sourceMappingURL=shared-JAIU3GYB.js.map
@@ -9,4 +9,5 @@ export declare const upsertMessage: (context: StoreContext, key: AccountKey, acc
9
9
  export declare const tombstone: ({ orm, now }: StoreContext, pk: number) => number;
10
10
  /** Whether the message is held at all. */
11
11
  export declare const saveReactions: ({ orm }: StoreContext, chatKey: number, messageId: Id, reactions: Reactions) => boolean;
12
+ export declare const markDeleted: (context: StoreContext, key: AccountKey, accountKey: number, messageIds: Id[], chatId: Id | undefined) => number;
12
13
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,OAAO,KAAK,EAAO,YAAY,EAAE,MAAM,WAAW,CAAA;AAkGlD,eAAO,MAAM,aAAa,YACf,YAAY,OAChB,UAAU,cACH,MAAM,WACT,MAAM,WACN,OAAO,OACX,MAAM,WACF,MAAM,KACd,IA+DF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,iBAAkB,YAAY,MAAM,MAAM,KAAG,MAclE,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,YAAa,YAAY,WAAW,MAAM,aAAa,EAAE,aAAa,SAAS,KAAG,OAMvF,CAAA"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI7C,OAAO,KAAK,EAAO,YAAY,EAAE,MAAM,WAAW,CAAA;AAkGlD,eAAO,MAAM,aAAa,YACf,YAAY,OAChB,UAAU,cACH,MAAM,WACT,MAAM,WACN,OAAO,OACX,MAAM,WACF,MAAM,KACd,IA+DF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,iBAAkB,YAAY,MAAM,MAAM,KAAG,MAclE,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,YAAa,YAAY,WAAW,MAAM,aAAa,EAAE,aAAa,SAAS,KAAG,OAMvF,CAAA;AAKrB,eAAO,MAAM,WAAW,YACb,YAAY,OAChB,UAAU,cACH,MAAM,cACN,EAAE,EAAE,UACR,EAAE,GAAG,SAAS,KACrB,MAyCF,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import { NORMALIZER_VERSION, normalize } from "../normalize.js";
2
- import { and, eq, isNull, sql } from "./drizzle/core.js";
2
+ import { findChatPk } from "./chats.js";
3
+ import { and, eq, isNull, ne, notInArray, sql } from "./drizzle/core.js";
3
4
  import { identityPk } from "./identities.js";
4
- import { attachments, messageRevisions, messages, transcripts } from "./schema.js";
5
+ import { attachments, chats, messageRevisions, messages, transcripts } from "./schema.js";
5
6
  import { json, toMs } from "./values.js";
6
7
  const FIELDS = [
7
8
  "threadNativeId",
@@ -164,4 +165,41 @@ export const saveReactions = ({ orm }, chatKey, messageId, reactions) => orm
164
165
  .where(and(eq(messages.chatPk, chatKey), eq(messages.nativeId, messageId)))
165
166
  .returning({ pk: messages.pk })
166
167
  .all().length > 0;
168
+ /** Telegram's chat types that number their messages themselves, not per account. */
169
+ const OWN_NUMBERING = ["channel", "supergroup", "gigagroup", "monoforum"];
170
+ export const markDeleted = (context, key, accountKey, messageIds, chatId) => {
171
+ const { orm } = context;
172
+ const chatKey = chatId === undefined ? undefined : findChatPk(context, accountKey, chatId);
173
+ // A Telegram chat stored only by its id, from a message seen before the chat, has no kind yet —
174
+ // but a channel's or a supergroup's id is marked `-100…`, which says enough.
175
+ const stubs = key.provider === "telegram" ? sql `NOT (${chats.kind} = 'unknown' AND ${chats.nativeId} LIKE '-100%')` : undefined;
176
+ let changed = 0;
177
+ for (const messageId of messageIds) {
178
+ const live = and(eq(messages.accountPk, accountKey), eq(messages.nativeId, messageId), isNull(messages.deletedAt));
179
+ if (chatId !== undefined) {
180
+ const found = chatKey === undefined
181
+ ? undefined
182
+ : orm
183
+ .select({ pk: messages.pk })
184
+ .from(messages)
185
+ .where(and(live, eq(messages.chatPk, chatKey)))
186
+ .get();
187
+ if (found)
188
+ changed += tombstone(context, found.pk);
189
+ continue;
190
+ }
191
+ // Telegram names a deletion without its chat only where ids count per account; a channel or
192
+ // supergroup numbers its own, so the same id there is another message. Two candidates left
193
+ // means the id is ambiguous, and a missed tombstone is better than a wrong one.
194
+ const candidates = orm
195
+ .select({ pk: messages.pk })
196
+ .from(messages)
197
+ .innerJoin(chats, eq(chats.pk, messages.chatPk))
198
+ .where(and(live, ne(chats.kind, "channel"), stubs, notInArray(sql `coalesce(json_extract(${chats.providerMetadata}, '$.chatType'), '')`, OWN_NUMBERING)))
199
+ .all();
200
+ if (candidates.length === 1 && candidates[0])
201
+ changed += tombstone(context, candidates[0].pk);
202
+ }
203
+ return changed;
204
+ };
167
205
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/store/sqlite/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/store/sqlite/messages.ts"],"names":[],"mappings":"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"}