@leemour/cli-messaging 0.147.0 → 0.148.1

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 (306) hide show
  1. package/dist/background/index.d.ts +1 -1
  2. package/dist/background/index.d.ts.map +1 -1
  3. package/dist/background/index.js +1 -1
  4. package/dist/background/index.js.map +1 -1
  5. package/dist/background/lock.d.ts +6 -0
  6. package/dist/background/lock.d.ts.map +1 -1
  7. package/dist/background/lock.js +31 -1
  8. package/dist/background/lock.js.map +1 -1
  9. package/dist/cli/config-command.d.ts.map +1 -1
  10. package/dist/cli/config-command.js +17 -3
  11. package/dist/cli/config-command.js.map +1 -1
  12. package/dist/cli/index.d.ts +7 -1
  13. package/dist/cli/index.d.ts.map +1 -1
  14. package/dist/cli/index.js +6 -0
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  17. package/dist/cli/messenger/chats-command.js +2 -2
  18. package/dist/cli/messenger/chats-command.js.map +1 -1
  19. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  20. package/dist/cli/messenger/contacts-command.js +45 -1
  21. package/dist/cli/messenger/contacts-command.js.map +1 -1
  22. package/dist/cli/messenger/context.d.ts +8 -1
  23. package/dist/cli/messenger/context.d.ts.map +1 -1
  24. package/dist/cli/messenger/context.js +21 -2
  25. package/dist/cli/messenger/context.js.map +1 -1
  26. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  27. package/dist/cli/messenger/conversations-command.js +6 -20
  28. package/dist/cli/messenger/conversations-command.js.map +1 -1
  29. package/dist/cli/messenger/doctor-command.d.ts +14 -0
  30. package/dist/cli/messenger/doctor-command.d.ts.map +1 -1
  31. package/dist/cli/messenger/doctor-command.js +117 -6
  32. package/dist/cli/messenger/doctor-command.js.map +1 -1
  33. package/dist/cli/messenger/flood-command.d.ts +8 -0
  34. package/dist/cli/messenger/flood-command.d.ts.map +1 -0
  35. package/dist/cli/messenger/flood-command.js +31 -0
  36. package/dist/cli/messenger/flood-command.js.map +1 -0
  37. package/dist/cli/messenger/flooded.d.ts +12 -0
  38. package/dist/cli/messenger/flooded.d.ts.map +1 -0
  39. package/dist/cli/messenger/flooded.js +77 -0
  40. package/dist/cli/messenger/flooded.js.map +1 -0
  41. package/dist/cli/messenger/inbox.d.ts +1 -0
  42. package/dist/cli/messenger/inbox.d.ts.map +1 -1
  43. package/dist/cli/messenger/inbox.js +4 -3
  44. package/dist/cli/messenger/inbox.js.map +1 -1
  45. package/dist/cli/messenger/mcp-command.d.ts +12 -0
  46. package/dist/cli/messenger/mcp-command.d.ts.map +1 -1
  47. package/dist/cli/messenger/mcp-command.js +49 -3
  48. package/dist/cli/messenger/mcp-command.js.map +1 -1
  49. package/dist/cli/messenger/messages-search-command.d.ts +2 -0
  50. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  51. package/dist/cli/messenger/messages-search-command.js +46 -15
  52. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  53. package/dist/cli/messenger/messages-stats-command.d.ts +2 -0
  54. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  55. package/dist/cli/messenger/messages-stats-command.js +35 -11
  56. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  57. package/dist/cli/messenger/port.d.ts +25 -1
  58. package/dist/cli/messenger/port.d.ts.map +1 -1
  59. package/dist/cli/messenger/port.js.map +1 -1
  60. package/dist/cli/messenger/private-files.d.ts +25 -0
  61. package/dist/cli/messenger/private-files.d.ts.map +1 -0
  62. package/dist/cli/messenger/private-files.js +28 -0
  63. package/dist/cli/messenger/private-files.js.map +1 -0
  64. package/dist/cli/messenger/replies-command.d.ts +5 -0
  65. package/dist/cli/messenger/replies-command.d.ts.map +1 -0
  66. package/dist/cli/messenger/replies-command.js +78 -0
  67. package/dist/cli/messenger/replies-command.js.map +1 -0
  68. package/dist/cli/messenger/report.d.ts +5 -0
  69. package/dist/cli/messenger/report.d.ts.map +1 -1
  70. package/dist/cli/messenger/report.js +25 -7
  71. package/dist/cli/messenger/report.js.map +1 -1
  72. package/dist/cli/messenger/review.d.ts.map +1 -1
  73. package/dist/cli/messenger/review.js +5 -3
  74. package/dist/cli/messenger/review.js.map +1 -1
  75. package/dist/cli/messenger/searches-command.d.ts +5 -0
  76. package/dist/cli/messenger/searches-command.d.ts.map +1 -0
  77. package/dist/cli/messenger/searches-command.js +117 -0
  78. package/dist/cli/messenger/searches-command.js.map +1 -0
  79. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  80. package/dist/cli/messenger/serve-command.js +87 -8
  81. package/dist/cli/messenger/serve-command.js.map +1 -1
  82. package/dist/cli/messenger/server-command.d.ts.map +1 -1
  83. package/dist/cli/messenger/server-command.js +7 -0
  84. package/dist/cli/messenger/server-command.js.map +1 -1
  85. package/dist/cli/messenger/store-maintenance-command.d.ts.map +1 -1
  86. package/dist/cli/messenger/store-maintenance-command.js +105 -4
  87. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  88. package/dist/cli/messenger/tags-command.d.ts +5 -0
  89. package/dist/cli/messenger/tags-command.d.ts.map +1 -0
  90. package/dist/cli/messenger/tags-command.js +76 -0
  91. package/dist/cli/messenger/tags-command.js.map +1 -0
  92. package/dist/cli/messenger/watch-command.d.ts +4 -1
  93. package/dist/cli/messenger/watch-command.d.ts.map +1 -1
  94. package/dist/cli/messenger/watch-command.js +2 -1
  95. package/dist/cli/messenger/watch-command.js.map +1 -1
  96. package/dist/cli/store-settings.d.ts +26 -0
  97. package/dist/cli/store-settings.d.ts.map +1 -0
  98. package/dist/cli/store-settings.js +59 -0
  99. package/dist/cli/store-settings.js.map +1 -0
  100. package/dist/domain/models.d.ts +1 -1
  101. package/dist/domain/models.d.ts.map +1 -1
  102. package/dist/domain/tags.d.ts +6 -0
  103. package/dist/domain/tags.d.ts.map +1 -0
  104. package/dist/domain/tags.js +15 -0
  105. package/dist/domain/tags.js.map +1 -0
  106. package/dist/index.d.ts +1 -0
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +1 -0
  109. package/dist/index.js.map +1 -1
  110. package/dist/kit/contract.d.ts.map +1 -1
  111. package/dist/kit/contract.js +6 -2
  112. package/dist/kit/contract.js.map +1 -1
  113. package/dist/mcp/personal.d.ts.map +1 -1
  114. package/dist/mcp/personal.js +2 -1
  115. package/dist/mcp/personal.js.map +1 -1
  116. package/dist/mcp/server.d.ts.map +1 -1
  117. package/dist/mcp/server.js +8 -1
  118. package/dist/mcp/server.js.map +1 -1
  119. package/dist/mcp/tool.d.ts +7 -0
  120. package/dist/mcp/tool.d.ts.map +1 -1
  121. package/dist/mcp/tool.js +12 -1
  122. package/dist/mcp/tool.js.map +1 -1
  123. package/dist/mcp/tools/chats.js +3 -3
  124. package/dist/mcp/tools/chats.js.map +1 -1
  125. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  126. package/dist/mcp/tools/contacts.js +21 -1
  127. package/dist/mcp/tools/contacts.js.map +1 -1
  128. package/dist/mcp/tools/conversations.d.ts.map +1 -1
  129. package/dist/mcp/tools/conversations.js +2 -7
  130. package/dist/mcp/tools/conversations.js.map +1 -1
  131. package/dist/mcp/tools/messages.d.ts.map +1 -1
  132. package/dist/mcp/tools/messages.js +14 -2
  133. package/dist/mcp/tools/messages.js.map +1 -1
  134. package/dist/mcp/tools/search.d.ts +6 -3
  135. package/dist/mcp/tools/search.d.ts.map +1 -1
  136. package/dist/mcp/tools/search.js +48 -11
  137. package/dist/mcp/tools/search.js.map +1 -1
  138. package/dist/mcp/tools/searches.d.ts +4 -0
  139. package/dist/mcp/tools/searches.d.ts.map +1 -0
  140. package/dist/mcp/tools/searches.js +77 -0
  141. package/dist/mcp/tools/searches.js.map +1 -0
  142. package/dist/mcp/tools/tags.d.ts +4 -0
  143. package/dist/mcp/tools/tags.d.ts.map +1 -0
  144. package/dist/mcp/tools/tags.js +57 -0
  145. package/dist/mcp/tools/tags.js.map +1 -0
  146. package/dist/mcp/tools.d.ts +2 -0
  147. package/dist/mcp/tools.d.ts.map +1 -1
  148. package/dist/mcp/tools.js +7 -0
  149. package/dist/mcp/tools.js.map +1 -1
  150. package/dist/replies/decide.d.ts +3 -0
  151. package/dist/replies/decide.d.ts.map +1 -1
  152. package/dist/replies/decide.js +3 -0
  153. package/dist/replies/decide.js.map +1 -1
  154. package/dist/replies/dry-run.d.ts +51 -0
  155. package/dist/replies/dry-run.d.ts.map +1 -0
  156. package/dist/replies/dry-run.js +116 -0
  157. package/dist/replies/dry-run.js.map +1 -0
  158. package/dist/replies/rules.d.ts +12 -0
  159. package/dist/replies/rules.d.ts.map +1 -1
  160. package/dist/replies/rules.js +15 -6
  161. package/dist/replies/rules.js.map +1 -1
  162. package/dist/replies/serve.d.ts +44 -0
  163. package/dist/replies/serve.d.ts.map +1 -0
  164. package/dist/replies/serve.js +70 -0
  165. package/dist/replies/serve.js.map +1 -0
  166. package/dist/search/lucene/automaton.d.ts +5 -0
  167. package/dist/search/lucene/automaton.d.ts.map +1 -1
  168. package/dist/search/lucene/automaton.js +116 -0
  169. package/dist/search/lucene/automaton.js.map +1 -1
  170. package/dist/search/lucene/parser.d.ts.map +1 -1
  171. package/dist/search/lucene/parser.js +6 -2
  172. package/dist/search/lucene/parser.js.map +1 -1
  173. package/dist/search/lucene/registry.d.ts +5 -5
  174. package/dist/search/lucene/registry.d.ts.map +1 -1
  175. package/dist/search/lucene/registry.js +12 -7
  176. package/dist/search/lucene/registry.js.map +1 -1
  177. package/dist/sends/flood.d.ts +57 -0
  178. package/dist/sends/flood.d.ts.map +1 -0
  179. package/dist/sends/flood.js +90 -0
  180. package/dist/sends/flood.js.map +1 -0
  181. package/dist/sends/guard.d.ts +4 -1
  182. package/dist/sends/guard.d.ts.map +1 -1
  183. package/dist/sends/guard.js +9 -1
  184. package/dist/sends/guard.js.map +1 -1
  185. package/dist/sends/index.d.ts +1 -0
  186. package/dist/sends/index.d.ts.map +1 -1
  187. package/dist/sends/index.js +1 -0
  188. package/dist/sends/index.js.map +1 -1
  189. package/dist/sends/journal.d.ts +2 -0
  190. package/dist/sends/journal.d.ts.map +1 -1
  191. package/dist/sends/journal.js.map +1 -1
  192. package/dist/sends/permissions.d.ts +1 -1
  193. package/dist/sends/permissions.d.ts.map +1 -1
  194. package/dist/sends/permissions.js +14 -1
  195. package/dist/sends/permissions.js.map +1 -1
  196. package/dist/services/chats.d.ts +3 -3
  197. package/dist/services/chats.d.ts.map +1 -1
  198. package/dist/services/chats.js +2 -2
  199. package/dist/services/chats.js.map +1 -1
  200. package/dist/services/deps.d.ts +2 -0
  201. package/dist/services/deps.d.ts.map +1 -1
  202. package/dist/services/deps.js.map +1 -1
  203. package/dist/services/inbox.d.ts +0 -2
  204. package/dist/services/inbox.d.ts.map +1 -1
  205. package/dist/services/inbox.js +13 -8
  206. package/dist/services/inbox.js.map +1 -1
  207. package/dist/services/index.d.ts +8 -0
  208. package/dist/services/index.d.ts.map +1 -1
  209. package/dist/services/index.js +6 -0
  210. package/dist/services/index.js.map +1 -1
  211. package/dist/services/messages-search.d.ts +2 -2
  212. package/dist/services/messages-search.d.ts.map +1 -1
  213. package/dist/services/messages-search.js +11 -3
  214. package/dist/services/messages-search.js.map +1 -1
  215. package/dist/services/messages.d.ts +10 -3
  216. package/dist/services/messages.d.ts.map +1 -1
  217. package/dist/services/messages.js +47 -4
  218. package/dist/services/messages.js.map +1 -1
  219. package/dist/services/people.d.ts +7 -0
  220. package/dist/services/people.d.ts.map +1 -1
  221. package/dist/services/people.js +18 -0
  222. package/dist/services/people.js.map +1 -1
  223. package/dist/services/person-context.d.ts +69 -0
  224. package/dist/services/person-context.d.ts.map +1 -0
  225. package/dist/services/person-context.js +130 -0
  226. package/dist/services/person-context.js.map +1 -0
  227. package/dist/services/searches.d.ts +50 -0
  228. package/dist/services/searches.d.ts.map +1 -0
  229. package/dist/services/searches.js +127 -0
  230. package/dist/services/searches.js.map +1 -0
  231. package/dist/services/tags.d.ts +40 -0
  232. package/dist/services/tags.d.ts.map +1 -0
  233. package/dist/services/tags.js +56 -0
  234. package/dist/services/tags.js.map +1 -0
  235. package/dist/store/index.d.ts +1 -1
  236. package/dist/store/index.d.ts.map +1 -1
  237. package/dist/store/index.js.map +1 -1
  238. package/dist/store/normalize.d.ts +2 -0
  239. package/dist/store/normalize.d.ts.map +1 -1
  240. package/dist/store/normalize.js +7 -5
  241. package/dist/store/normalize.js.map +1 -1
  242. package/dist/store/repair.d.ts +55 -0
  243. package/dist/store/repair.d.ts.map +1 -0
  244. package/dist/store/repair.js +313 -0
  245. package/dist/store/repair.js.map +1 -0
  246. package/dist/store/sqlite/accounts.d.ts.map +1 -1
  247. package/dist/store/sqlite/accounts.js +3 -1
  248. package/dist/store/sqlite/accounts.js.map +1 -1
  249. package/dist/store/sqlite/chats.d.ts.map +1 -1
  250. package/dist/store/sqlite/chats.js +3 -1
  251. package/dist/store/sqlite/chats.js.map +1 -1
  252. package/dist/store/sqlite/drizzle/bun.js +1 -1
  253. package/dist/store/sqlite/drizzle/core.d.ts +1 -1
  254. package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
  255. package/dist/store/sqlite/drizzle/core.js +3 -1
  256. package/dist/store/sqlite/drizzle/core.js.map +1 -1
  257. package/dist/store/sqlite/drizzle/node.js +1 -1
  258. package/dist/store/sqlite/drizzle/{shared-WZFJ4TMA.js → shared-IZ6QGA7N.js} +2 -1
  259. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  260. package/dist/store/sqlite/lucene.js +17 -3
  261. package/dist/store/sqlite/lucene.js.map +1 -1
  262. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  263. package/dist/store/sqlite/manifest.js +6 -0
  264. package/dist/store/sqlite/manifest.js.map +1 -1
  265. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  266. package/dist/store/sqlite/migrations.generated.js +53 -0
  267. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  268. package/dist/store/sqlite/person-links.d.ts +18 -0
  269. package/dist/store/sqlite/person-links.d.ts.map +1 -0
  270. package/dist/store/sqlite/person-links.js +122 -0
  271. package/dist/store/sqlite/person-links.js.map +1 -0
  272. package/dist/store/sqlite/roster.d.ts +57 -0
  273. package/dist/store/sqlite/roster.d.ts.map +1 -0
  274. package/dist/store/sqlite/roster.js +179 -0
  275. package/dist/store/sqlite/roster.js.map +1 -0
  276. package/dist/store/sqlite/schema.d.ts +753 -0
  277. package/dist/store/sqlite/schema.d.ts.map +1 -1
  278. package/dist/store/sqlite/schema.js +99 -0
  279. package/dist/store/sqlite/schema.js.map +1 -1
  280. package/dist/store/sqlite/search-index.d.ts +3 -0
  281. package/dist/store/sqlite/search-index.d.ts.map +1 -1
  282. package/dist/store/sqlite/search-index.js +8 -6
  283. package/dist/store/sqlite/search-index.js.map +1 -1
  284. package/dist/store/sqlite/search.d.ts +2 -0
  285. package/dist/store/sqlite/search.d.ts.map +1 -1
  286. package/dist/store/sqlite/search.js +5 -0
  287. package/dist/store/sqlite/search.js.map +1 -1
  288. package/dist/store/sqlite/searches.d.ts +35 -0
  289. package/dist/store/sqlite/searches.d.ts.map +1 -0
  290. package/dist/store/sqlite/searches.js +77 -0
  291. package/dist/store/sqlite/searches.js.map +1 -0
  292. package/dist/store/sqlite/stems.d.ts +61 -0
  293. package/dist/store/sqlite/stems.d.ts.map +1 -0
  294. package/dist/store/sqlite/stems.js +215 -0
  295. package/dist/store/sqlite/stems.js.map +1 -0
  296. package/dist/store/sqlite/tags.d.ts +38 -0
  297. package/dist/store/sqlite/tags.d.ts.map +1 -0
  298. package/dist/store/sqlite/tags.js +85 -0
  299. package/dist/store/sqlite/tags.js.map +1 -0
  300. package/dist/store/store.d.ts +97 -0
  301. package/dist/store/store.d.ts.map +1 -1
  302. package/dist/store/store.js +106 -0
  303. package/dist/store/store.js.map +1 -1
  304. package/package.json +1 -1
  305. package/parity.json +238 -30
  306. /package/dist/store/sqlite/drizzle/{shared-WZFJ4TMA.js.map → shared-IZ6QGA7N.js.map} +0 -0
@@ -0,0 +1,313 @@
1
+ import { createHash } from "node:crypto";
2
+ import { CliError } from "@leemour/cli-core";
3
+ import { MIGRATIONS, migrate } from "./migrations.js";
4
+ export const COPY_MARK = "__repair_";
5
+ const COPY_NAME = /__repair_[0-9a-f]{8}(_\d+)?$/;
6
+ const quote = (name) => `"${name.replaceAll('"', '""')}"`;
7
+ const literal = (text) => `'${text.replaceAll("'", "''")}'`;
8
+ const rowsOf = (database, sql) => database.prepare(sql).all();
9
+ /** Virtual tables, their shadow tables and SQLite's own are the indexes' business, not this check's. */
10
+ const plainTables = (database) => {
11
+ const all = rowsOf(database, "SELECT name, sql FROM sqlite_master WHERE type = 'table'").map((row) => ({
12
+ name: String(row.name),
13
+ sql: String(row.sql ?? ""),
14
+ }));
15
+ const virtual = all.filter((one) => /^CREATE VIRTUAL TABLE/i.test(one.sql)).map((one) => one.name);
16
+ return new Map(all
17
+ .filter(({ name, sql }) => !name.startsWith("sqlite_") && !/^CREATE VIRTUAL TABLE/i.test(sql))
18
+ .filter(({ name }) => !virtual.some((one) => name.startsWith(`${one}_`)))
19
+ .map(({ name, sql }) => [name, sql]));
20
+ };
21
+ const shapeOf = (database, table, sql) => {
22
+ const columns = rowsOf(database, `SELECT * FROM pragma_table_xinfo(${literal(table)})`).map((row) => ({
23
+ name: String(row.name),
24
+ type: String(row.type ?? "").toUpperCase(),
25
+ notNull: Number(row.notnull) === 1,
26
+ defaultValue: row.dflt_value === null ? null : String(row.dflt_value),
27
+ pk: Number(row.pk),
28
+ hidden: Number(row.hidden),
29
+ }));
30
+ const foreignKeys = rowsOf(database, `SELECT * FROM pragma_foreign_key_list(${literal(table)})`)
31
+ .map((row) => `${row.from}→${row.table}.${row.to} on delete ${row.on_delete}`)
32
+ .sort();
33
+ const constraints = rowsOf(database, `SELECT name, "unique", origin FROM pragma_index_list(${literal(table)})`)
34
+ .filter((row) => row.origin !== "c")
35
+ .map((row) => {
36
+ const keys = rowsOf(database, `SELECT name FROM pragma_index_info(${literal(String(row.name))}) ORDER BY seqno`);
37
+ return `${row.origin} (${keys.map((key) => String(key.name)).join(", ")})`;
38
+ })
39
+ .sort();
40
+ const named = (type) => new Map(rowsOf(database, `SELECT name, sql FROM sqlite_master WHERE type = '${type}' AND tbl_name = ${literal(table)}`)
41
+ .filter((row) => row.sql !== null)
42
+ .map((row) => [String(row.name), String(row.sql)]));
43
+ return { sql, columns, foreignKeys, constraints, indexes: named("index"), triggers: named("trigger") };
44
+ };
45
+ const same = (a, b) => a.length === b.length && a.every((one, index) => one === b[index]);
46
+ const columnDiffers = (one, other) => one.type !== other.type ||
47
+ one.notNull !== other.notNull ||
48
+ one.defaultValue !== other.defaultValue ||
49
+ one.pk !== other.pk ||
50
+ one.hidden !== other.hidden;
51
+ /** A column `ALTER TABLE ADD COLUMN` can add as it is: nullable or defaulted, not a key, not generated. */
52
+ const addable = (column, expected) => (!column.notNull || column.defaultValue !== null) &&
53
+ column.pk === 0 &&
54
+ column.hidden === 0 &&
55
+ !expected.foreignKeys.some((key) => key.startsWith(`${column.name}→`));
56
+ const definitionOf = (column) => [
57
+ quote(column.name),
58
+ column.type,
59
+ column.notNull ? "NOT NULL" : "",
60
+ column.defaultValue === null ? "" : `DEFAULT ${column.defaultValue}`,
61
+ ]
62
+ .filter((part) => part.length > 0)
63
+ .join(" ");
64
+ const planFor = (expected, actual, table) => {
65
+ if (actual === undefined)
66
+ return { table, kind: "create" };
67
+ const have = new Map(actual.columns.map((column) => [column.name, column]));
68
+ const missing = expected.columns.filter((column) => !have.has(column.name));
69
+ const extra = actual.columns.filter((column) => !expected.columns.some((one) => one.name === column.name));
70
+ const changed = expected.columns.some((column) => {
71
+ const theirs = have.get(column.name);
72
+ return theirs !== undefined && columnDiffers(column, theirs);
73
+ });
74
+ const keysDiffer = !same(expected.foreignKeys, actual.foreignKeys.filter((key) => !missing.some((column) => key.startsWith(`${column.name}→`))));
75
+ if (!changed && extra.length === 0 && !keysDiffer && same(expected.constraints, actual.constraints)) {
76
+ if (missing.length === 0)
77
+ return undefined;
78
+ if (missing.every((column) => addable(column, expected)))
79
+ return { table, kind: "add", columns: missing };
80
+ }
81
+ return { table, kind: "rebuild" };
82
+ };
83
+ /** Parents before children, so a copied child row finds its parent already there. */
84
+ const parentsFirst = (plans, expected) => {
85
+ const order = [];
86
+ const placing = new Set();
87
+ const place = (plan) => {
88
+ if (order.includes(plan) || placing.has(plan.table))
89
+ return;
90
+ placing.add(plan.table);
91
+ for (const key of expected.get(plan.table)?.foreignKeys ?? []) {
92
+ const parent = key.split("→")[1]?.split(".")[0];
93
+ const first = plans.find((one) => one.table === parent);
94
+ if (first)
95
+ place(first);
96
+ }
97
+ order.push(plan);
98
+ };
99
+ for (const plan of plans)
100
+ place(plan);
101
+ return order;
102
+ };
103
+ const copyNameFor = (database, table, sql) => {
104
+ const base = `${table}${COPY_MARK}${createHash("sha256").update(sql).digest("hex").slice(0, 8)}`;
105
+ const taken = (name) => database.prepare("SELECT 1 FROM sqlite_master WHERE name = ?").get(name) !== undefined;
106
+ if (!taken(base))
107
+ return base;
108
+ let n = 2;
109
+ while (taken(`${base}_${n}`))
110
+ n += 1;
111
+ return `${base}_${n}`;
112
+ };
113
+ const count = (database, table) => Number(database.prepare(`SELECT count(*) AS n FROM ${quote(table)}`).get()?.n ?? 0);
114
+ /** The shape this build's migrations give a new file. */
115
+ const expectedShapes = (fresh) => {
116
+ migrate(fresh, { migrations: MIGRATIONS });
117
+ return new Map([...plainTables(fresh)].map(([name, sql]) => [name, shapeOf(fresh, name, sql)]));
118
+ };
119
+ /**
120
+ * **Brings each table of the file to the shape this build's migrations give it, deleting nothing**
121
+ * (NEED-626). A table only missing columns it can take gets them added; any other difference keeps
122
+ * the table as a copy named `<table>__repair_<hash>` beside a new one holding every row that fits.
123
+ * `messages` is never renamed — its search index and triggers hang off it — so a difference there
124
+ * is reported, not rebuilt. With `dryRun` the same work runs and is rolled back, so the report is
125
+ * exact.
126
+ */
127
+ export const repairStore = (database, fresh, { dryRun = false } = {}) => {
128
+ if (dryRun) {
129
+ // A dry run changes nothing, so it cannot migrate first; a file behind would compare as broken.
130
+ const tracked = database.prepare("SELECT 1 FROM sqlite_master WHERE name = 'schema_migrations'").get();
131
+ const version = tracked
132
+ ? Number(database.prepare("SELECT max(version) AS version FROM schema_migrations").get()?.version ?? 0)
133
+ : 0;
134
+ if (version < (MIGRATIONS.at(-1)?.version ?? 0)) {
135
+ throw new CliError("validation_error", "the store is behind this build — `store migrate` first, then `store repair --dry-run`");
136
+ }
137
+ }
138
+ else
139
+ migrate(database);
140
+ const expected = expectedShapes(fresh);
141
+ const actualSql = plainTables(database);
142
+ const actual = new Map([...actualSql].map(([name, sql]) => [name, shapeOf(database, name, sql)]));
143
+ const mismatches = [];
144
+ const plans = [...expected]
145
+ .map(([table, shape]) => planFor(shape, actual.get(table), table))
146
+ .filter((plan) => plan !== undefined)
147
+ .filter((plan) => {
148
+ if (plan.kind === "rebuild" && plan.table === "messages") {
149
+ mismatches.push({
150
+ table: "messages",
151
+ what: "differs from this build's shape in a way columns alone cannot fix; left as it is",
152
+ });
153
+ return false;
154
+ }
155
+ return true;
156
+ });
157
+ const report = {
158
+ dryRun,
159
+ repaired: [],
160
+ indexesCreated: [],
161
+ triggersCreated: [],
162
+ mismatches,
163
+ foreignKeyViolations: [],
164
+ copies: [],
165
+ };
166
+ // Off outside a transaction, or SQLite ignores it: a copied child may precede what it points at,
167
+ // and a rename must leave other tables' keys pointing at the new table, not the copy.
168
+ database.exec("PRAGMA foreign_keys = OFF");
169
+ database.exec("PRAGMA legacy_alter_table = ON");
170
+ database.exec("BEGIN IMMEDIATE");
171
+ try {
172
+ for (const plan of parentsFirst(plans, expected)) {
173
+ const shape = expected.get(plan.table);
174
+ if (plan.kind === "create") {
175
+ database.exec(shape.sql);
176
+ report.repaired.push({ table: plan.table, action: "created" });
177
+ continue;
178
+ }
179
+ if (plan.kind === "add") {
180
+ for (const column of plan.columns)
181
+ database.exec(`ALTER TABLE ${quote(plan.table)} ADD COLUMN ${definitionOf(column)}`);
182
+ report.repaired.push({
183
+ table: plan.table,
184
+ action: "columns-added",
185
+ columnsAdded: plan.columns.map((one) => one.name),
186
+ });
187
+ continue;
188
+ }
189
+ const old = actual.get(plan.table);
190
+ const copy = copyNameFor(database, plan.table, old.sql);
191
+ database.exec(`ALTER TABLE ${quote(plan.table)} RENAME TO ${quote(copy)}`);
192
+ const dropped = [];
193
+ for (const [name] of old.indexes) {
194
+ if ([...expected.values()].some((one) => one.indexes.has(name))) {
195
+ database.exec(`DROP INDEX ${quote(name)}`);
196
+ dropped.push(name);
197
+ }
198
+ }
199
+ for (const [name] of old.triggers) {
200
+ if ([...expected.values()].some((one) => one.triggers.has(name))) {
201
+ database.exec(`DROP TRIGGER ${quote(name)}`);
202
+ dropped.push(name);
203
+ }
204
+ }
205
+ database.exec(shape.sql);
206
+ const writable = shape.columns.filter((column) => column.hidden === 0).map((column) => column.name);
207
+ const common = old.columns
208
+ .filter((column) => column.hidden === 0 && writable.includes(column.name))
209
+ .map((column) => quote(column.name))
210
+ .join(", ");
211
+ const rowsInCopy = count(database, copy);
212
+ const rowsCopied = common.length === 0
213
+ ? 0
214
+ : database
215
+ .prepare(`INSERT OR IGNORE INTO ${quote(plan.table)} (${common}) SELECT ${common} FROM ${quote(copy)}`)
216
+ .run().changes;
217
+ report.repaired.push({
218
+ table: plan.table,
219
+ action: "rebuilt",
220
+ copy,
221
+ rowsInCopy,
222
+ rowsCopied,
223
+ onlyInCopy: old.columns.filter((column) => !writable.includes(column.name)).map((column) => column.name),
224
+ droppedFromCopy: dropped,
225
+ });
226
+ }
227
+ for (const [table, shape] of expected) {
228
+ for (const [name, sql] of shape.indexes) {
229
+ if (database.prepare("SELECT 1 FROM sqlite_master WHERE type = 'index' AND name = ?").get(name))
230
+ continue;
231
+ try {
232
+ database.exec(sql);
233
+ report.indexesCreated.push(name);
234
+ }
235
+ catch (error) {
236
+ mismatches.push({
237
+ table,
238
+ what: `index ${name} could not be created: ${error instanceof Error ? error.message : String(error)}`,
239
+ });
240
+ }
241
+ }
242
+ for (const [name, sql] of shape.triggers) {
243
+ if (database.prepare("SELECT 1 FROM sqlite_master WHERE type = 'trigger' AND name = ?").get(name))
244
+ continue;
245
+ try {
246
+ database.exec(sql);
247
+ report.triggersCreated.push(name);
248
+ }
249
+ catch (error) {
250
+ mismatches.push({
251
+ table,
252
+ what: `trigger ${name} could not be created: ${error instanceof Error ? error.message : String(error)}`,
253
+ });
254
+ }
255
+ }
256
+ }
257
+ const now = plainTables(database);
258
+ for (const [table, shape] of expected) {
259
+ const sql = now.get(table);
260
+ if (sql === undefined)
261
+ continue;
262
+ const theirs = shapeOf(database, table, sql);
263
+ for (const [name, indexSql] of theirs.indexes) {
264
+ const wanted = shape.indexes.get(name);
265
+ if (wanted === undefined)
266
+ mismatches.push({ table, what: `index ${name} is not in this build's shape` });
267
+ else if (wanted !== indexSql)
268
+ mismatches.push({ table, what: `index ${name} is defined differently` });
269
+ }
270
+ if (planFor(shape, theirs, table) !== undefined && table !== "messages") {
271
+ mismatches.push({ table, what: "still differs from this build's shape" });
272
+ }
273
+ }
274
+ const violations = new Map();
275
+ for (const row of rowsOf(database, "PRAGMA foreign_key_check")) {
276
+ violations.set(String(row.table), (violations.get(String(row.table)) ?? 0) + 1);
277
+ }
278
+ report.foreignKeyViolations = [...violations].map(([table, rows]) => ({ table, rows }));
279
+ report.copies = copiesIn(database);
280
+ database.exec(dryRun ? "ROLLBACK" : "COMMIT");
281
+ }
282
+ catch (error) {
283
+ database.exec("ROLLBACK");
284
+ throw error;
285
+ }
286
+ finally {
287
+ database.exec("PRAGMA legacy_alter_table = OFF");
288
+ database.exec("PRAGMA foreign_keys = ON");
289
+ }
290
+ return report;
291
+ };
292
+ /** Every repair copy in the file, with its rows. */
293
+ export const copiesIn = (database) => rowsOf(database, `SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE '%${COPY_MARK}%'`)
294
+ .map((row) => String(row.name))
295
+ .filter((name) => COPY_NAME.test(name))
296
+ .sort()
297
+ .map((name) => ({ name, rows: count(database, name) }));
298
+ /** Deletes one repair copy, named exactly; refuses anything else. */
299
+ export const deleteCopy = (database, name) => {
300
+ const found = copiesIn(database).find((one) => one.name === name);
301
+ if (found === undefined) {
302
+ throw new CliError("not_found", `"${name}" is not a repair copy in this store — \`store repair --dry-run\` lists the copies`);
303
+ }
304
+ database.exec("PRAGMA foreign_keys = OFF");
305
+ try {
306
+ database.exec(`DROP TABLE ${quote(name)}`);
307
+ }
308
+ finally {
309
+ database.exec("PRAGMA foreign_keys = ON");
310
+ }
311
+ return found;
312
+ };
313
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/store/repair.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAe7C,oGAAoG;AACpG,eAAO,MAAM,SAAS,iBAAkB,YAAY,yBAAyB,UAAU,SAAQ,MAAM,GAAG,IAAI,WAWzG,CAAA;AAEH,eAAO,MAAM,aAAa,YAAa,YAAY,yBAAyB,UAAU,KAAG,MAAM,GAAG,SAKpF,CAAA;AAEd,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,UAAU,EAKrD,CAAA;AAEV,4FAA4F;AAC5F,eAAO,MAAM,YAAY,YAAa,YAAY,cAAc,MAAM,KAAG,IAcxE,CAAA"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAiB7C,oGAAoG;AACpG,eAAO,MAAM,SAAS,iBAAkB,YAAY,yBAAyB,UAAU,SAAQ,MAAM,GAAG,IAAI,WAWzG,CAAA;AAEH,eAAO,MAAM,aAAa,YAAa,YAAY,yBAAyB,UAAU,KAAG,MAAM,GAAG,SAKpF,CAAA;AAEd,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,UAAU,EAKrD,CAAA;AAEV,4FAA4F;AAC5F,eAAO,MAAM,YAAY,YAAa,YAAY,cAAc,MAAM,KAAG,IAgBxE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { and, asc, eq, inArray, sql } from "./drizzle/core.js";
2
- import { accountIdentities, accounts, attachments, chatMembers, chats, fetchLeases, messageRevisions, messages, syncRanges, syncState, transcripts, } from "./schema.js";
2
+ import { accountIdentities, accounts, attachments, chatMembers, chats, fetchLeases, memberCounts, memberStays, messageRevisions, messages, syncRanges, syncState, transcripts, } from "./schema.js";
3
3
  /** An account's row, made on first sight; a name only replaces what was known when there is one. */
4
4
  export const accountPk = ({ orm, now }, { provider, account }, name = null) => Number(orm
5
5
  .insert(accounts)
@@ -27,6 +27,8 @@ export const purgeAccount = ({ orm }, accountKey) => {
27
27
  orm.delete(transcripts).where(inArray(transcripts.chatPk, chatsOf)).run();
28
28
  orm.delete(fetchLeases).where(inArray(fetchLeases.chatPk, chatsOf)).run();
29
29
  orm.delete(chatMembers).where(inArray(chatMembers.chatPk, chatsOf)).run();
30
+ orm.delete(memberStays).where(inArray(memberStays.chatPk, chatsOf)).run();
31
+ orm.delete(memberCounts).where(inArray(memberCounts.chatPk, chatsOf)).run();
30
32
  orm.delete(syncRanges).where(inArray(syncRanges.chatPk, chatsOf)).run();
31
33
  orm.delete(messageRevisions).where(inArray(messageRevisions.messagePk, messagesOf)).run();
32
34
  orm.delete(attachments).where(inArray(attachments.messagePk, messagesOf)).run();
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAc7C,uEAAuE;AACvE,eAAO,MAAM,MAAM,YAAa,YAAY,cAAc,MAAM,WAAW,MAAM,KAAG,EAAE,GAAG,SAK3E,CAAA;AAEd,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAAM,GAAG,SAK9E,CAAA;AAEd,yEAAyE;AACzE,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAQ/E,CAAA;AAEH,eAAO,MAAM,UAAU,iBAAkB,YAAY,cAAc,MAAM,QAAQ,IAAI,KAAG,IA+BvF,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,YACd,YAAY,OAChB,UAAU,cACH,MAAM,UACV,EAAE,aACC,EAAE,EAAE,KACd,IASF,CAAA;AAED,eAAO,MAAM,OAAO,YAAa,YAAY,WAAW,MAAM,KAAG,MAAM,EAO7D,CAAA;AAMV,gGAAgG;AAChG,eAAO,MAAM,QAAQ,YAAa,YAAY,cAAc,MAAM,WAAW,EAAE,EAAE,KAAG,MAYnE,CAAA;AAEjB,8DAA8D;AAC9D,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,KAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAYtG,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,UAAU,YAAa,YAAY,OAAO,MAAM,EAAE,KAAG,IAWjE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,OAAO,UAAU,YAAY,EAAE,KAAG,IAAI,EAgBrE,CAAA;AAiBpC,eAAO,MAAM,SAAS,YACX,YAAY,cACT,MAAM,gCACgB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,KACvF,IAAI,CAAC,IAAI,CAUX,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,gBAAgB,KAAG,MACY,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgB7C,uEAAuE;AACvE,eAAO,MAAM,MAAM,YAAa,YAAY,cAAc,MAAM,WAAW,MAAM,KAAG,EAAE,GAAG,SAK3E,CAAA;AAEd,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAAM,GAAG,SAK9E,CAAA;AAEd,yEAAyE;AACzE,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAQ/E,CAAA;AAEH,eAAO,MAAM,UAAU,iBAAkB,YAAY,cAAc,MAAM,QAAQ,IAAI,KAAG,IA+BvF,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,YACd,YAAY,OAChB,UAAU,cACH,MAAM,UACV,EAAE,aACC,EAAE,EAAE,KACd,IASF,CAAA;AAED,eAAO,MAAM,OAAO,YAAa,YAAY,WAAW,MAAM,KAAG,MAAM,EAO7D,CAAA;AAMV,gGAAgG;AAChG,eAAO,MAAM,QAAQ,YAAa,YAAY,cAAc,MAAM,WAAW,EAAE,EAAE,KAAG,MAYnE,CAAA;AAEjB,8DAA8D;AAC9D,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,KAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAYtG,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,UAAU,YAAa,YAAY,OAAO,MAAM,EAAE,KAAG,IAajE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,OAAO,UAAU,YAAY,EAAE,KAAG,IAAI,EAgBrE,CAAA;AAiBpC,eAAO,MAAM,SAAS,YACX,YAAY,cACT,MAAM,gCACgB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,KACvF,IAAI,CAAC,IAAI,CAUX,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,gBAAgB,KAAG,MACY,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
2
  import { and, eq, gt, inArray, sql } from "./drizzle/core.js";
3
3
  import { identityPk } from "./identities.js";
4
- import { attachments, chatMembers, chats, fetchLeases, identities, messageRevisions, messages, syncRanges, transcripts, } from "./schema.js";
4
+ import { attachments, chatMembers, chats, fetchLeases, identities, memberCounts, memberStays, messageRevisions, messages, syncRanges, transcripts, } from "./schema.js";
5
5
  import { json, parsed, present, toIso, toMs } from "./values.js";
6
6
  /** The chat's own id, when the store key is a chat of this account. */
7
7
  export const chatOf = ({ orm }, accountKey, chatKey) => orm
@@ -101,6 +101,8 @@ export const purgeChats = ({ orm }, pks) => {
101
101
  orm.delete(transcripts).where(inArray(transcripts.chatPk, pks)).run();
102
102
  orm.delete(fetchLeases).where(inArray(fetchLeases.chatPk, pks)).run();
103
103
  orm.delete(chatMembers).where(inArray(chatMembers.chatPk, pks)).run();
104
+ orm.delete(memberStays).where(inArray(memberStays.chatPk, pks)).run();
105
+ orm.delete(memberCounts).where(inArray(memberCounts.chatPk, pks)).run();
104
106
  orm.delete(syncRanges).where(inArray(syncRanges.chatPk, pks)).run();
105
107
  orm.delete(messageRevisions).where(inArray(messageRevisions.messagePk, messagesOf)).run();
106
108
  orm.delete(attachments).where(inArray(attachments.messagePk, messagesOf)).run();
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import {
10
10
  entityKind,
11
11
  jitCompatCheck,
12
12
  sql
13
- } from "./shared-WZFJ4TMA.js";
13
+ } from "./shared-IZ6QGA7N.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, asc, desc, eq, gt, gte, inArray, isNull, lte, ne, notInArray, or, type Placeholder, type SQL, sql, } from "drizzle-orm";
1
+ export { and, asc, desc, eq, gt, gte, inArray, isNotNull, isNull, lte, ne, notInArray, or, type Placeholder, type SQL, sql, } from "drizzle-orm";
2
2
  export { alias, blob, index, integer, primaryKey, real, type SQLiteAsyncDatabase, sqliteTable, text, unique, uniqueIndex, } 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,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,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,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,SAAS,EACT,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,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,MAAM,yBAAyB,CAAA"}
@@ -10,6 +10,7 @@ import {
10
10
  inArray,
11
11
  index,
12
12
  integer,
13
+ isNotNull,
13
14
  isNull,
14
15
  lte,
15
16
  ne,
@@ -22,7 +23,7 @@ import {
22
23
  text,
23
24
  unique,
24
25
  uniqueIndex
25
- } from "./shared-WZFJ4TMA.js";
26
+ } from "./shared-IZ6QGA7N.js";
26
27
 
27
28
  // 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
28
29
  function alias(table, alias2) {
@@ -40,6 +41,7 @@ export {
40
41
  inArray,
41
42
  index,
42
43
  integer,
44
+ isNotNull,
43
45
  isNull,
44
46
  lte,
45
47
  ne,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
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
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;;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAgB,MACf,OACAA,QACkC;AAClC,SAAO,IAAI,MAAM,OAAO,IAAI,uBAAuBA,QAAO,KAAA,CAAM;;",
6
6
  "names": ["alias"]
7
7
  }
@@ -10,7 +10,7 @@ import {
10
10
  entityKind,
11
11
  jitCompatCheck,
12
12
  sql
13
- } from "./shared-WZFJ4TMA.js";
13
+ } from "./shared-IZ6QGA7N.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 {
@@ -4822,6 +4822,7 @@ export {
4822
4822
  inArray,
4823
4823
  notInArray,
4824
4824
  isNull,
4825
+ isNotNull,
4825
4826
  asc,
4826
4827
  desc,
4827
4828
  TableAliasProxyHandler,
@@ -4843,4 +4844,4 @@ export {
4843
4844
  SQLiteAsyncSession,
4844
4845
  SQLiteAsyncTransaction
4845
4846
  };
4846
- //# sourceMappingURL=shared-WZFJ4TMA.js.map
4847
+ //# sourceMappingURL=shared-IZ6QGA7N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucene.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/lucene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,iCAAiC,CAAA;AAKtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAuC7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AACtD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAcD,eAAO,MAAM,UAAU,YAAa,YAAY,aAAa,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAC3C,CAAA;AAC1D,iGAAiG;AACjG,eAAO,MAAM,UAAU,YACZ,YAAY,aACV,cAAc,MACrB,aAAa,KAChB,OAAO,CAAC,UAAU,EAAE,CAA8D,CAAA"}
1
+ {"version":3,"file":"lucene.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/lucene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAWlD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,iCAAiC,CAAA;AAKtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgD7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AACtD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAcD,eAAO,MAAM,UAAU,YAAa,YAAY,aAAa,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAC3C,CAAA;AAC1D,iGAAiG;AACjG,eAAO,MAAM,UAAU,YACZ,YAAY,aACV,cAAc,MACrB,aAAa,KAChB,OAAO,CAAC,UAAU,EAAE,CAA8D,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
- import { compileAutomaton, wildcardPattern } from "../../search/lucene/automaton.js";
2
+ import { tagOf } from "../../domain/tags.js";
3
+ import { compileAutomaton, foldRegex, wildcardPattern, } from "../../search/lucene/automaton.js";
3
4
  import { PRESETS } from "../../search/lucene/presets.js";
4
5
  import { parseBytes } from "../../search/lucene/registry.js";
5
6
  import { exhausted, QUERY_LIMITS, queryError } from "../../search/lucene/types.js";
@@ -32,6 +33,11 @@ const wordMatch = (match) => ({
32
33
  exact: true,
33
34
  fts: match,
34
35
  });
36
+ // The vocabulary is the whole store's, so a chat or date filter does not shorten it.
37
+ const tooManyWords = ({ field, operator, value, span }, alone) => {
38
+ const term = `${field}:${operator === "regex" ? `/${value}/` : value}`;
39
+ throw new CliError("validation_error", `search: ${term}${alone ? " matches" : " and the patterns before it match"} more than ${QUERY_LIMITS.expansions} indexed words, the term expansions budget — use a longer prefix, or body:/…/ inside one chat`, { reason: "query_limit", budget: "term expansions", complete: false, term, limit: QUERY_LIMITS.expansions, span });
40
+ };
35
41
  const GROUPS = {
36
42
  chat: {
37
43
  key: "m.chat_pk",
@@ -88,7 +94,7 @@ const runQuery = async (context, execution, by) => {
88
94
  fragment = /[\p{L}\p{N}]/u.test(text) ? wordMatch(quoted(text)) : bound("0");
89
95
  }
90
96
  else {
91
- const pattern = operator === "wildcard" ? wildcardPattern(normalize(value)) : value;
97
+ const pattern = operator === "wildcard" ? wildcardPattern(normalize(value)) : foldRegex(value, node.span);
92
98
  const automaton = patternOf(pattern, node);
93
99
  const cached = expanded.get(pattern);
94
100
  if (cached)
@@ -99,7 +105,7 @@ const runQuery = async (context, execution, by) => {
99
105
  .all(...(prefix ? [prefix, `${prefix}\u{10ffff}`] : []), QUERY_LIMITS.expansions + 1);
100
106
  expansions += terms.length;
101
107
  if (expansions > QUERY_LIMITS.expansions)
102
- exhausted("term expansions");
108
+ tooManyWords(node, terms.length > QUERY_LIMITS.expansions);
103
109
  const matches = terms.flatMap(({ term }) => {
104
110
  check();
105
111
  return automaton.test(String(term), budget) ? [quoted(String(term))] : [];
@@ -193,6 +199,14 @@ const runQuery = async (context, execution, by) => {
193
199
  else
194
200
  queryError("invalid_ast", node.span);
195
201
  }
202
+ else if (field === "tag") {
203
+ const tag = tagOf(value);
204
+ if (tag === undefined)
205
+ queryError("invalid_tag", node.span);
206
+ fragment = bound("m.pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='message') OR " +
207
+ "m.chat_pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='chat') OR " +
208
+ "m.sender_identity_pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='contact')", tag, tag, tag);
209
+ }
196
210
  else if (field === "topic")
197
211
  fragment = bound("m.thread_native_id = ?", value);
198
212
  else if (field === "kind") {