@wirecat/cli-core 0.279.0 → 0.281.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 (502) hide show
  1. package/dist/background/schedules.d.ts +1 -1
  2. package/dist/background/schedules.d.ts.map +1 -1
  3. package/dist/background/schedules.js +3 -1
  4. package/dist/background/schedules.js.map +1 -1
  5. package/dist/cli/app.d.ts +2 -0
  6. package/dist/cli/app.d.ts.map +1 -1
  7. package/dist/cli/app.js +6 -0
  8. package/dist/cli/app.js.map +1 -1
  9. package/dist/cli/author.d.ts +6 -0
  10. package/dist/cli/author.d.ts.map +1 -1
  11. package/dist/cli/author.js +12 -0
  12. package/dist/cli/author.js.map +1 -1
  13. package/dist/cli/bot/command.js +6 -6
  14. package/dist/cli/bot/command.js.map +1 -1
  15. package/dist/cli/bot/moderation.js +3 -3
  16. package/dist/cli/bot/moderation.js.map +1 -1
  17. package/dist/cli/bot/people.d.ts.map +1 -1
  18. package/dist/cli/bot/people.js +6 -8
  19. package/dist/cli/bot/people.js.map +1 -1
  20. package/dist/cli/config-command.d.ts.map +1 -1
  21. package/dist/cli/config-command.js +10 -6
  22. package/dist/cli/config-command.js.map +1 -1
  23. package/dist/cli/effects.d.ts +7 -0
  24. package/dist/cli/effects.d.ts.map +1 -1
  25. package/dist/cli/effects.js +11 -0
  26. package/dist/cli/effects.js.map +1 -1
  27. package/dist/cli/envelope.d.ts +6 -1
  28. package/dist/cli/envelope.d.ts.map +1 -1
  29. package/dist/cli/envelope.js +22 -8
  30. package/dist/cli/envelope.js.map +1 -1
  31. package/dist/cli/index.d.ts +5 -4
  32. package/dist/cli/index.d.ts.map +1 -1
  33. package/dist/cli/index.js +5 -4
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/meeting-preparation-command.d.ts.map +1 -1
  36. package/dist/cli/meeting-preparation-command.js +13 -8
  37. package/dist/cli/meeting-preparation-command.js.map +1 -1
  38. package/dist/cli/messenger/admin-moderation-command.js +3 -3
  39. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  40. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  41. package/dist/cli/messenger/conversations-command.js +0 -3
  42. package/dist/cli/messenger/conversations-command.js.map +1 -1
  43. package/dist/cli/messenger/download-command.d.ts +15 -0
  44. package/dist/cli/messenger/download-command.d.ts.map +1 -1
  45. package/dist/cli/messenger/download-command.js +4 -6
  46. package/dist/cli/messenger/download-command.js.map +1 -1
  47. package/dist/cli/messenger/export-folder.d.ts.map +1 -1
  48. package/dist/cli/messenger/export-folder.js +3 -7
  49. package/dist/cli/messenger/export-folder.js.map +1 -1
  50. package/dist/cli/messenger/flood-command.js +2 -2
  51. package/dist/cli/messenger/flood-command.js.map +1 -1
  52. package/dist/cli/messenger/guard-commands.js +4 -4
  53. package/dist/cli/messenger/guard-commands.js.map +1 -1
  54. package/dist/cli/messenger/mcp-command.js +2 -2
  55. package/dist/cli/messenger/mcp-command.js.map +1 -1
  56. package/dist/cli/messenger/messages-search-command.d.ts +0 -1
  57. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  58. package/dist/cli/messenger/messages-search-command.js +6 -31
  59. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  60. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  61. package/dist/cli/messenger/messages-stats-command.js +0 -4
  62. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  63. package/dist/cli/messenger/models-command.js +3 -3
  64. package/dist/cli/messenger/models-command.js.map +1 -1
  65. package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
  66. package/dist/cli/messenger/rankings-command.js +2 -3
  67. package/dist/cli/messenger/rankings-command.js.map +1 -1
  68. package/dist/cli/messenger/replies-command.js +3 -3
  69. package/dist/cli/messenger/replies-command.js.map +1 -1
  70. package/dist/cli/messenger/replies-consents-command.js +3 -3
  71. package/dist/cli/messenger/replies-consents-command.js.map +1 -1
  72. package/dist/cli/messenger/replies-edit-command.js +5 -5
  73. package/dist/cli/messenger/replies-edit-command.js.map +1 -1
  74. package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
  75. package/dist/cli/messenger/schedule-command.js +8 -4
  76. package/dist/cli/messenger/schedule-command.js.map +1 -1
  77. package/dist/cli/messenger/search-answers.js +1 -1
  78. package/dist/cli/messenger/search-answers.js.map +1 -1
  79. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  80. package/dist/cli/messenger/searches-command.js +1 -4
  81. package/dist/cli/messenger/searches-command.js.map +1 -1
  82. package/dist/cli/messenger/server-command.js +3 -3
  83. package/dist/cli/messenger/server-command.js.map +1 -1
  84. package/dist/cli/messenger/tags-command.d.ts.map +1 -1
  85. package/dist/cli/messenger/tags-command.js +10 -7
  86. package/dist/cli/messenger/tags-command.js.map +1 -1
  87. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  88. package/dist/cli/messenger/tasks-command.js +56 -10
  89. package/dist/cli/messenger/tasks-command.js.map +1 -1
  90. package/dist/cli/program.d.ts.map +1 -1
  91. package/dist/cli/program.js +6 -2
  92. package/dist/cli/program.js.map +1 -1
  93. package/dist/cli/reasons.d.ts.map +1 -1
  94. package/dist/cli/reasons.js +2 -0
  95. package/dist/cli/reasons.js.map +1 -1
  96. package/dist/cli/settings.d.ts.map +1 -1
  97. package/dist/cli/settings.js +2 -3
  98. package/dist/cli/settings.js.map +1 -1
  99. package/dist/cli/skill-command.d.ts.map +1 -1
  100. package/dist/cli/skill-command.js +8 -3
  101. package/dist/cli/skill-command.js.map +1 -1
  102. package/dist/cli/store-settings.js +4 -4
  103. package/dist/cli/store-settings.js.map +1 -1
  104. package/dist/cli/upgrade-command.js +2 -2
  105. package/dist/cli/upgrade-command.js.map +1 -1
  106. package/dist/domain/tags.d.ts +1 -1
  107. package/dist/domain/tags.d.ts.map +1 -1
  108. package/dist/domain/tags.js +1 -1
  109. package/dist/domain/tags.js.map +1 -1
  110. package/dist/entities/agenda.d.ts +4 -0
  111. package/dist/entities/agenda.d.ts.map +1 -1
  112. package/dist/entities/agenda.js +4 -0
  113. package/dist/entities/agenda.js.map +1 -1
  114. package/dist/entities/hit.d.ts +1 -1
  115. package/dist/entities/hit.js +1 -1
  116. package/dist/entities/hit.js.map +1 -1
  117. package/dist/entities/index.d.ts +55 -15
  118. package/dist/entities/index.d.ts.map +1 -1
  119. package/dist/entities/note.d.ts +17 -1
  120. package/dist/entities/note.d.ts.map +1 -1
  121. package/dist/entities/note.js +19 -8
  122. package/dist/entities/note.js.map +1 -1
  123. package/dist/entities/tagging.d.ts +1 -1
  124. package/dist/entities/task.d.ts +7 -0
  125. package/dist/entities/task.d.ts.map +1 -1
  126. package/dist/entities/task.js +7 -0
  127. package/dist/entities/task.js.map +1 -1
  128. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  129. package/dist/mcp/tools/messages-send.js +3 -2
  130. package/dist/mcp/tools/messages-send.js.map +1 -1
  131. package/dist/mcp/tools/rankings.d.ts.map +1 -1
  132. package/dist/mcp/tools/rankings.js +2 -3
  133. package/dist/mcp/tools/rankings.js.map +1 -1
  134. package/dist/mcp/tools/search.d.ts +2 -3
  135. package/dist/mcp/tools/search.d.ts.map +1 -1
  136. package/dist/mcp/tools/search.js +4 -11
  137. package/dist/mcp/tools/search.js.map +1 -1
  138. package/dist/mcp/tools/searches.d.ts.map +1 -1
  139. package/dist/mcp/tools/searches.js +1 -3
  140. package/dist/mcp/tools/searches.js.map +1 -1
  141. package/dist/mcp/tools/tags.d.ts.map +1 -1
  142. package/dist/mcp/tools/tags.js +9 -7
  143. package/dist/mcp/tools/tags.js.map +1 -1
  144. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  145. package/dist/mcp/tools/tasks.js +19 -6
  146. package/dist/mcp/tools/tasks.js.map +1 -1
  147. package/dist/search/account-list.d.ts +3 -1
  148. package/dist/search/account-list.d.ts.map +1 -1
  149. package/dist/search/account-list.js +4 -2
  150. package/dist/search/account-list.js.map +1 -1
  151. package/dist/search/lucene/registry.d.ts +1 -1
  152. package/dist/search/lucene/registry.d.ts.map +1 -1
  153. package/dist/search/lucene/registry.js +2 -2
  154. package/dist/search/lucene/registry.js.map +1 -1
  155. package/dist/search/query.d.ts +0 -28
  156. package/dist/search/query.d.ts.map +1 -1
  157. package/dist/search/query.js +0 -100
  158. package/dist/search/query.js.map +1 -1
  159. package/dist/search/task-signature.d.ts +19 -0
  160. package/dist/search/task-signature.d.ts.map +1 -0
  161. package/dist/search/task-signature.js +105 -0
  162. package/dist/search/task-signature.js.map +1 -0
  163. package/dist/search/task-similarity.d.ts +168 -0
  164. package/dist/search/task-similarity.d.ts.map +1 -0
  165. package/dist/search/task-similarity.js +177 -0
  166. package/dist/search/task-similarity.js.map +1 -0
  167. package/dist/sends/index.d.ts +1 -1
  168. package/dist/sends/index.d.ts.map +1 -1
  169. package/dist/sends/index.js +1 -1
  170. package/dist/sends/index.js.map +1 -1
  171. package/dist/sends/permissions.d.ts.map +1 -1
  172. package/dist/sends/permissions.js +2 -0
  173. package/dist/sends/permissions.js.map +1 -1
  174. package/dist/sends/upload.d.ts +1 -1
  175. package/dist/sends/upload.d.ts.map +1 -1
  176. package/dist/sends/upload.js +87 -15
  177. package/dist/sends/upload.js.map +1 -1
  178. package/dist/services/admin-statistics.d.ts.map +1 -1
  179. package/dist/services/admin-statistics.js +5 -12
  180. package/dist/services/admin-statistics.js.map +1 -1
  181. package/dist/services/agenda.d.ts +5 -1
  182. package/dist/services/agenda.d.ts.map +1 -1
  183. package/dist/services/agenda.js +8 -1
  184. package/dist/services/agenda.js.map +1 -1
  185. package/dist/services/attachments.d.ts.map +1 -1
  186. package/dist/services/attachments.js +1 -1
  187. package/dist/services/attachments.js.map +1 -1
  188. package/dist/services/counters.d.ts.map +1 -1
  189. package/dist/services/counters.js +4 -8
  190. package/dist/services/counters.js.map +1 -1
  191. package/dist/services/embeddings-maintenance.d.ts +4 -6
  192. package/dist/services/embeddings-maintenance.d.ts.map +1 -1
  193. package/dist/services/embeddings-maintenance.js +14 -15
  194. package/dist/services/embeddings-maintenance.js.map +1 -1
  195. package/dist/services/embeddings-search.d.ts.map +1 -1
  196. package/dist/services/embeddings-search.js +1 -6
  197. package/dist/services/embeddings-search.js.map +1 -1
  198. package/dist/services/embeddings.d.ts +0 -2
  199. package/dist/services/embeddings.d.ts.map +1 -1
  200. package/dist/services/embeddings.js.map +1 -1
  201. package/dist/services/index.d.ts +0 -1
  202. package/dist/services/index.d.ts.map +1 -1
  203. package/dist/services/index.js +0 -1
  204. package/dist/services/index.js.map +1 -1
  205. package/dist/services/message-resolution.d.ts +1 -10
  206. package/dist/services/message-resolution.d.ts.map +1 -1
  207. package/dist/services/message-resolution.js +0 -59
  208. package/dist/services/message-resolution.js.map +1 -1
  209. package/dist/services/messages-archive-search.d.ts +1 -1
  210. package/dist/services/messages-archive-search.d.ts.map +1 -1
  211. package/dist/services/messages-archive-search.js +4 -50
  212. package/dist/services/messages-archive-search.js.map +1 -1
  213. package/dist/services/messages-combined.d.ts.map +1 -1
  214. package/dist/services/messages-combined.js +1 -5
  215. package/dist/services/messages-combined.js.map +1 -1
  216. package/dist/services/messages-discovery.js +1 -1
  217. package/dist/services/messages-discovery.js.map +1 -1
  218. package/dist/services/messages-search.d.ts.map +1 -1
  219. package/dist/services/messages-search.js +2 -6
  220. package/dist/services/messages-search.js.map +1 -1
  221. package/dist/services/messages.d.ts +2 -6
  222. package/dist/services/messages.d.ts.map +1 -1
  223. package/dist/services/messages.js +8 -20
  224. package/dist/services/messages.js.map +1 -1
  225. package/dist/services/notes-search.d.ts +1 -1
  226. package/dist/services/notes-search.d.ts.map +1 -1
  227. package/dist/services/notes-search.js +24 -8
  228. package/dist/services/notes-search.js.map +1 -1
  229. package/dist/services/notes-title-tier.d.ts +13 -0
  230. package/dist/services/notes-title-tier.d.ts.map +1 -0
  231. package/dist/services/notes-title-tier.js +41 -0
  232. package/dist/services/notes-title-tier.js.map +1 -0
  233. package/dist/services/pictures.js +1 -1
  234. package/dist/services/pictures.js.map +1 -1
  235. package/dist/services/rankings.d.ts.map +1 -1
  236. package/dist/services/rankings.js +5 -11
  237. package/dist/services/rankings.js.map +1 -1
  238. package/dist/services/retention.d.ts.map +1 -1
  239. package/dist/services/retention.js +1 -4
  240. package/dist/services/retention.js.map +1 -1
  241. package/dist/services/search-all.d.ts +1 -1
  242. package/dist/services/search-all.d.ts.map +1 -1
  243. package/dist/services/search-all.js +0 -1
  244. package/dist/services/search-all.js.map +1 -1
  245. package/dist/services/search-catchup.d.ts.map +1 -1
  246. package/dist/services/search-catchup.js +0 -1
  247. package/dist/services/search-catchup.js.map +1 -1
  248. package/dist/services/search-record.d.ts +0 -4
  249. package/dist/services/search-record.d.ts.map +1 -1
  250. package/dist/services/search-record.js +2 -3
  251. package/dist/services/search-record.js.map +1 -1
  252. package/dist/services/search-refresh.d.ts.map +1 -1
  253. package/dist/services/search-refresh.js +3 -9
  254. package/dist/services/search-refresh.js.map +1 -1
  255. package/dist/services/searches.d.ts +0 -1
  256. package/dist/services/searches.d.ts.map +1 -1
  257. package/dist/services/searches.js +13 -35
  258. package/dist/services/searches.js.map +1 -1
  259. package/dist/services/server-search.d.ts +1 -1
  260. package/dist/services/server-search.d.ts.map +1 -1
  261. package/dist/services/server-search.js +0 -3
  262. package/dist/services/server-search.js.map +1 -1
  263. package/dist/services/tags.d.ts +3 -0
  264. package/dist/services/tags.d.ts.map +1 -1
  265. package/dist/services/tags.js +13 -5
  266. package/dist/services/tags.js.map +1 -1
  267. package/dist/services/task-categories.d.ts +17 -0
  268. package/dist/services/task-categories.d.ts.map +1 -0
  269. package/dist/services/task-categories.js +113 -0
  270. package/dist/services/task-categories.js.map +1 -0
  271. package/dist/services/task-rules.d.ts.map +1 -1
  272. package/dist/services/task-rules.js +3 -0
  273. package/dist/services/task-rules.js.map +1 -1
  274. package/dist/services/tasks.d.ts +14 -3
  275. package/dist/services/tasks.d.ts.map +1 -1
  276. package/dist/services/tasks.js +58 -6
  277. package/dist/services/tasks.js.map +1 -1
  278. package/dist/services/thread-context.d.ts +1 -1
  279. package/dist/services/thread-context.d.ts.map +1 -1
  280. package/dist/services/thread-context.js +3 -9
  281. package/dist/services/thread-context.js.map +1 -1
  282. package/dist/store/index.d.ts +1 -1
  283. package/dist/store/index.d.ts.map +1 -1
  284. package/dist/store/index.js.map +1 -1
  285. package/dist/store/migrations.d.ts +2 -1
  286. package/dist/store/migrations.d.ts.map +1 -1
  287. package/dist/store/migrations.js +5 -2
  288. package/dist/store/migrations.js.map +1 -1
  289. package/dist/store/sqlite/attachment-texts.js +2 -2
  290. package/dist/store/sqlite/attachment-texts.js.map +1 -1
  291. package/dist/store/sqlite/backfill.d.ts.map +1 -1
  292. package/dist/store/sqlite/backfill.js +6 -11
  293. package/dist/store/sqlite/backfill.js.map +1 -1
  294. package/dist/store/sqlite/catalog.d.ts.map +1 -1
  295. package/dist/store/sqlite/catalog.js +3 -3
  296. package/dist/store/sqlite/catalog.js.map +1 -1
  297. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  298. package/dist/store/sqlite/conversations.js +3 -8
  299. package/dist/store/sqlite/conversations.js.map +1 -1
  300. package/dist/store/sqlite/document-pictures.d.ts.map +1 -1
  301. package/dist/store/sqlite/document-pictures.js +3 -3
  302. package/dist/store/sqlite/document-pictures.js.map +1 -1
  303. package/dist/store/sqlite/email-index.js +4 -4
  304. package/dist/store/sqlite/email-index.js.map +1 -1
  305. package/dist/store/sqlite/emails.js +5 -5
  306. package/dist/store/sqlite/emails.js.map +1 -1
  307. package/dist/store/sqlite/facts.d.ts.map +1 -1
  308. package/dist/store/sqlite/facts.js +3 -3
  309. package/dist/store/sqlite/facts.js.map +1 -1
  310. package/dist/store/sqlite/folded.d.ts.map +1 -1
  311. package/dist/store/sqlite/folded.js +7 -12
  312. package/dist/store/sqlite/folded.js.map +1 -1
  313. package/dist/store/sqlite/index-state.d.ts +4 -0
  314. package/dist/store/sqlite/index-state.d.ts.map +1 -0
  315. package/dist/store/sqlite/index-state.js +8 -0
  316. package/dist/store/sqlite/index-state.js.map +1 -0
  317. package/dist/store/sqlite/involvement-queue.d.ts +1 -1
  318. package/dist/store/sqlite/involvement-queue.js +1 -1
  319. package/dist/store/sqlite/involvements.js +3 -3
  320. package/dist/store/sqlite/involvements.js.map +1 -1
  321. package/dist/store/sqlite/knowledge.d.ts.map +1 -1
  322. package/dist/store/sqlite/knowledge.js +15 -10
  323. package/dist/store/sqlite/knowledge.js.map +1 -1
  324. package/dist/store/sqlite/log-pruning.d.ts.map +1 -1
  325. package/dist/store/sqlite/log-pruning.js +3 -8
  326. package/dist/store/sqlite/log-pruning.js.map +1 -1
  327. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  328. package/dist/store/sqlite/lucene.js +3 -8
  329. package/dist/store/sqlite/lucene.js.map +1 -1
  330. package/dist/store/sqlite/mail-rules.js +3 -3
  331. package/dist/store/sqlite/mail-rules.js.map +1 -1
  332. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  333. package/dist/store/sqlite/manifest.js +1 -0
  334. package/dist/store/sqlite/manifest.js.map +1 -1
  335. package/dist/store/sqlite/meeting-context-links.d.ts.map +1 -1
  336. package/dist/store/sqlite/meeting-context-links.js +8 -7
  337. package/dist/store/sqlite/meeting-context-links.js.map +1 -1
  338. package/dist/store/sqlite/meeting-hit-index.d.ts.map +1 -1
  339. package/dist/store/sqlite/meeting-hit-index.js +4 -3
  340. package/dist/store/sqlite/meeting-hit-index.js.map +1 -1
  341. package/dist/store/sqlite/meeting-hit-search.d.ts.map +1 -1
  342. package/dist/store/sqlite/meeting-hit-search.js +3 -2
  343. package/dist/store/sqlite/meeting-hit-search.js.map +1 -1
  344. package/dist/store/sqlite/meeting-operation.d.ts +0 -2
  345. package/dist/store/sqlite/meeting-operation.d.ts.map +1 -1
  346. package/dist/store/sqlite/meeting-operation.js +0 -15
  347. package/dist/store/sqlite/meeting-operation.js.map +1 -1
  348. package/dist/store/sqlite/meeting-participant-search.d.ts.map +1 -1
  349. package/dist/store/sqlite/meeting-participant-search.js +2 -2
  350. package/dist/store/sqlite/meeting-participant-search.js.map +1 -1
  351. package/dist/store/sqlite/meeting-preparation-context.d.ts.map +1 -1
  352. package/dist/store/sqlite/meeting-preparation-context.js +2 -2
  353. package/dist/store/sqlite/meeting-preparation-context.js.map +1 -1
  354. package/dist/store/sqlite/meeting-projects.d.ts.map +1 -1
  355. package/dist/store/sqlite/meeting-projects.js +2 -2
  356. package/dist/store/sqlite/meeting-projects.js.map +1 -1
  357. package/dist/store/sqlite/meeting-reads.d.ts +0 -3
  358. package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
  359. package/dist/store/sqlite/meeting-reads.js +6 -18
  360. package/dist/store/sqlite/meeting-reads.js.map +1 -1
  361. package/dist/store/sqlite/meeting-series-history.d.ts.map +1 -1
  362. package/dist/store/sqlite/meeting-series-history.js +2 -2
  363. package/dist/store/sqlite/meeting-series-history.js.map +1 -1
  364. package/dist/store/sqlite/meeting-vectors.d.ts.map +1 -1
  365. package/dist/store/sqlite/meeting-vectors.js +6 -6
  366. package/dist/store/sqlite/meeting-vectors.js.map +1 -1
  367. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  368. package/dist/store/sqlite/meetings.js +6 -6
  369. package/dist/store/sqlite/meetings.js.map +1 -1
  370. package/dist/store/sqlite/memories.d.ts.map +1 -1
  371. package/dist/store/sqlite/memories.js +2 -2
  372. package/dist/store/sqlite/memories.js.map +1 -1
  373. package/dist/store/sqlite/mention-drain.d.ts +39 -0
  374. package/dist/store/sqlite/mention-drain.d.ts.map +1 -0
  375. package/dist/store/sqlite/mention-drain.js +147 -0
  376. package/dist/store/sqlite/mention-drain.js.map +1 -0
  377. package/dist/store/sqlite/mentions.d.ts +0 -4
  378. package/dist/store/sqlite/mentions.d.ts.map +1 -1
  379. package/dist/store/sqlite/mentions.js +7 -154
  380. package/dist/store/sqlite/mentions.js.map +1 -1
  381. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  382. package/dist/store/sqlite/migrations.generated.js +9 -0
  383. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  384. package/dist/store/sqlite/note-index.d.ts.map +1 -1
  385. package/dist/store/sqlite/note-index.js +5 -4
  386. package/dist/store/sqlite/note-index.js.map +1 -1
  387. package/dist/store/sqlite/note-search.d.ts.map +1 -1
  388. package/dist/store/sqlite/note-search.js +3 -6
  389. package/dist/store/sqlite/note-search.js.map +1 -1
  390. package/dist/store/sqlite/notes.d.ts.map +1 -1
  391. package/dist/store/sqlite/notes.js +13 -14
  392. package/dist/store/sqlite/notes.js.map +1 -1
  393. package/dist/store/sqlite/proposed-actions.d.ts.map +1 -1
  394. package/dist/store/sqlite/proposed-actions.js +3 -3
  395. package/dist/store/sqlite/proposed-actions.js.map +1 -1
  396. package/dist/store/sqlite/schema.d.ts +87 -0
  397. package/dist/store/sqlite/schema.d.ts.map +1 -1
  398. package/dist/store/sqlite/schema.js +7 -0
  399. package/dist/store/sqlite/schema.js.map +1 -1
  400. package/dist/store/sqlite/search-index.d.ts +0 -3
  401. package/dist/store/sqlite/search-index.d.ts.map +1 -1
  402. package/dist/store/sqlite/search-index.js +10 -29
  403. package/dist/store/sqlite/search-index.js.map +1 -1
  404. package/dist/store/sqlite/search.d.ts +1 -1
  405. package/dist/store/sqlite/search.d.ts.map +1 -1
  406. package/dist/store/sqlite/search.js +4 -8
  407. package/dist/store/sqlite/search.js.map +1 -1
  408. package/dist/store/sqlite/searches.d.ts +1 -1
  409. package/dist/store/sqlite/searches.d.ts.map +1 -1
  410. package/dist/store/sqlite/stems-fill.d.ts +30 -0
  411. package/dist/store/sqlite/stems-fill.d.ts.map +1 -0
  412. package/dist/store/sqlite/stems-fill.js +119 -0
  413. package/dist/store/sqlite/stems-fill.js.map +1 -0
  414. package/dist/store/sqlite/stems.d.ts +14 -28
  415. package/dist/store/sqlite/stems.d.ts.map +1 -1
  416. package/dist/store/sqlite/stems.js +8 -123
  417. package/dist/store/sqlite/stems.js.map +1 -1
  418. package/dist/store/sqlite/tags.d.ts +10 -2
  419. package/dist/store/sqlite/tags.d.ts.map +1 -1
  420. package/dist/store/sqlite/tags.js +25 -7
  421. package/dist/store/sqlite/tags.js.map +1 -1
  422. package/dist/store/sqlite/task-keys.d.ts +16 -0
  423. package/dist/store/sqlite/task-keys.d.ts.map +1 -0
  424. package/dist/store/sqlite/task-keys.js +40 -0
  425. package/dist/store/sqlite/task-keys.js.map +1 -0
  426. package/dist/store/sqlite/task-relations.d.ts +1 -1
  427. package/dist/store/sqlite/task-relations.d.ts.map +1 -1
  428. package/dist/store/sqlite/task-relations.js +14 -9
  429. package/dist/store/sqlite/task-relations.js.map +1 -1
  430. package/dist/store/sqlite/tasks.d.ts +1 -7
  431. package/dist/store/sqlite/tasks.d.ts.map +1 -1
  432. package/dist/store/sqlite/tasks.js +23 -28
  433. package/dist/store/sqlite/tasks.js.map +1 -1
  434. package/dist/store/sqlite/transaction.d.ts +19 -0
  435. package/dist/store/sqlite/transaction.d.ts.map +1 -0
  436. package/dist/store/sqlite/transaction.js +77 -0
  437. package/dist/store/sqlite/transaction.js.map +1 -0
  438. package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
  439. package/dist/store/sqlite/vocabulary.js +6 -18
  440. package/dist/store/sqlite/vocabulary.js.map +1 -1
  441. package/dist/store/sqlite/words.d.ts +1 -61
  442. package/dist/store/sqlite/words.d.ts.map +1 -1
  443. package/dist/store/sqlite/words.js +0 -225
  444. package/dist/store/sqlite/words.js.map +1 -1
  445. package/dist/store/sqlite/work-tasks.d.ts +15 -1
  446. package/dist/store/sqlite/work-tasks.d.ts.map +1 -1
  447. package/dist/store/sqlite/work-tasks.js +49 -5
  448. package/dist/store/sqlite/work-tasks.js.map +1 -1
  449. package/dist/store/store.d.ts +21 -41
  450. package/dist/store/store.d.ts.map +1 -1
  451. package/dist/store/store.js +52 -117
  452. package/dist/store/store.js.map +1 -1
  453. package/dist/tasks/model.d.ts +7 -0
  454. package/dist/tasks/model.d.ts.map +1 -1
  455. package/dist/tasks/model.js +2 -1
  456. package/dist/tasks/model.js.map +1 -1
  457. package/dist/tasks/service.d.ts +1 -0
  458. package/dist/tasks/service.d.ts.map +1 -1
  459. package/dist/tasks/service.js.map +1 -1
  460. package/package.json +1 -1
  461. package/parity.json +51 -23
  462. package/skills/follow-ups/SKILL.md +4 -2
  463. package/dist/embeddings/pool.d.ts +0 -17
  464. package/dist/embeddings/pool.d.ts.map +0 -1
  465. package/dist/embeddings/pool.js +0 -22
  466. package/dist/embeddings/pool.js.map +0 -1
  467. package/dist/embeddings/worker.d.ts +0 -2
  468. package/dist/embeddings/worker.d.ts.map +0 -1
  469. package/dist/embeddings/worker.js +0 -22
  470. package/dist/embeddings/worker.js.map +0 -1
  471. package/dist/embeddings/workers.d.ts +0 -8
  472. package/dist/embeddings/workers.d.ts.map +0 -1
  473. package/dist/embeddings/workers.js +0 -51
  474. package/dist/embeddings/workers.js.map +0 -1
  475. package/dist/search/legacy-regex.d.ts +0 -7
  476. package/dist/search/legacy-regex.d.ts.map +0 -1
  477. package/dist/search/legacy-regex.js +0 -48
  478. package/dist/search/legacy-regex.js.map +0 -1
  479. package/dist/search/lucene/migration.d.ts +0 -21
  480. package/dist/search/lucene/migration.d.ts.map +0 -1
  481. package/dist/search/lucene/migration.js +0 -31
  482. package/dist/search/lucene/migration.js.map +0 -1
  483. package/dist/search/search.d.ts +0 -27
  484. package/dist/search/search.d.ts.map +0 -1
  485. package/dist/search/search.js +0 -66
  486. package/dist/search/search.js.map +0 -1
  487. package/dist/services/message-query-validation.d.ts +0 -3
  488. package/dist/services/message-query-validation.d.ts.map +0 -1
  489. package/dist/services/message-query-validation.js +0 -14
  490. package/dist/services/message-query-validation.js.map +0 -1
  491. package/dist/store/sqlite/atomic.d.ts +0 -8
  492. package/dist/store/sqlite/atomic.d.ts.map +0 -1
  493. package/dist/store/sqlite/atomic.js +0 -28
  494. package/dist/store/sqlite/atomic.js.map +0 -1
  495. package/dist/store/sqlite/legacy-regex.d.ts +0 -7
  496. package/dist/store/sqlite/legacy-regex.d.ts.map +0 -1
  497. package/dist/store/sqlite/legacy-regex.js +0 -42
  498. package/dist/store/sqlite/legacy-regex.js.map +0 -1
  499. package/dist/store/sqlite/read-snapshot.d.ts +0 -4
  500. package/dist/store/sqlite/read-snapshot.d.ts.map +0 -1
  501. package/dist/store/sqlite/read-snapshot.js +0 -14
  502. package/dist/store/sqlite/read-snapshot.js.map +0 -1
@@ -30,16 +30,14 @@ import { factsStoreOver } from "./sqlite/facts.js";
30
30
  import { fillFolded } from "./sqlite/folded.js";
31
31
  import * as identities from "./sqlite/identities.js";
32
32
  import * as imageChunks from "./sqlite/image-chunks.js";
33
- import { drainInvolvementQueue } from "./sqlite/involvement-queue.js";
34
33
  import { involvementStoreOver } from "./sqlite/involvements.js";
35
34
  import { knowledgeStoreOver } from "./sqlite/knowledge.js";
36
- import { findRegex } from "./sqlite/legacy-regex.js";
37
35
  import { logPruner } from "./sqlite/log-pruning.js";
38
36
  import * as lucene from "./sqlite/lucene.js";
39
37
  import { meetingVectorsOver } from "./sqlite/meeting-vectors.js";
40
38
  import { meetingStoreOver } from "./sqlite/meetings.js";
41
39
  import { memoriesStoreOver } from "./sqlite/memories.js";
42
- import { confirmMention, drainMentions, listMentions, mentionsState, rebuildMentions, rejectMention, showMention, } from "./sqlite/mentions.js";
40
+ import { confirmMention, listMentions, mentionsState, rebuildMentions, rejectMention, showMention, } from "./sqlite/mentions.js";
43
41
  import * as messageWrites from "./sqlite/messages.js";
44
42
  import { noteSearchOver } from "./sqlite/note-search.js";
45
43
  import { notesStoreOver } from "./sqlite/notes.js";
@@ -58,9 +56,11 @@ import * as search from "./sqlite/search.js";
58
56
  import * as searchIndex from "./sqlite/search-index.js";
59
57
  import * as searchRecords from "./sqlite/searches.js";
60
58
  import * as stems from "./sqlite/stems.js";
59
+ import { fillStems, followDefaultStemmers } from "./sqlite/stems-fill.js";
61
60
  import * as sync from "./sqlite/sync.js";
62
61
  import * as tagQueries from "./sqlite/tags.js";
63
62
  import { linkInbox, taskStoreOver } from "./sqlite/tasks.js";
63
+ import { read, write } from "./sqlite/transaction.js";
64
64
  import * as transcripts from "./sqlite/transcripts.js";
65
65
  import * as vectors from "./sqlite/vectors.js";
66
66
  import * as words from "./sqlite/words.js";
@@ -85,11 +85,11 @@ export const openStore = async ({ path, env, now = Date.now, command } = {}) =>
85
85
  const pending = pendingNormalization(database);
86
86
  if (pending > 0 && pending <= BACKFILL_ON_OPEN)
87
87
  backfillNormalized(database);
88
- stems.followDefaultStemmers(database, now);
88
+ followDefaultStemmers(database, now);
89
89
  const stemming = stems.stemsState(database);
90
90
  if (stemming?.cause === "building" &&
91
91
  stemming.watermark - stemming.filledThrough + stemming.pending <= BACKFILL_ON_OPEN) {
92
- stems.fillStems(database, { now });
92
+ fillStems(database, { now });
93
93
  }
94
94
  logPruner(database, now)();
95
95
  }
@@ -103,20 +103,6 @@ const storeOver = (context) => {
103
103
  const { database } = context;
104
104
  const stemmerFor = stems.stemmerCache();
105
105
  const pruneLogsWhenDue = logPruner(database, context.now);
106
- const inTransaction = (body) => {
107
- database.exec("BEGIN IMMEDIATE");
108
- try {
109
- body();
110
- stems.drainStems(database, stemmerFor);
111
- drainMentions(database, context.now());
112
- drainInvolvementQueue(database);
113
- database.exec("COMMIT");
114
- }
115
- catch (error) {
116
- database.exec("ROLLBACK");
117
- throw error;
118
- }
119
- };
120
106
  const mailIndexed = (execution) => {
121
107
  if (execution.corpus === "mail")
122
108
  drainEmailIndex(database, stemmerFor);
@@ -157,12 +143,12 @@ const storeOver = (context) => {
157
143
  linkInbox(database, `${key.provider}:${key.account}`, pk);
158
144
  return pk;
159
145
  },
160
- saveChats: async (key, list) => inTransaction(() => {
146
+ saveChats: async (key, list) => write(database, () => {
161
147
  const accountKey = accountPk(key);
162
148
  for (const chat of list)
163
149
  chatQueries.upsertChat(context, accountKey, chat);
164
150
  }),
165
- saveMessages: async (key, chatId, messages, { via, seenAt }) => inTransaction(() => {
151
+ saveMessages: async (key, chatId, messages, { via, seenAt }) => write(database, () => {
166
152
  const accountKey = accountPk(key);
167
153
  const chatKey = chatPkFor(accountKey, chatId);
168
154
  for (const message of messages) {
@@ -170,10 +156,10 @@ const storeOver = (context) => {
170
156
  upsertMessage(key, accountKey, chatKey, message, via, seenAt);
171
157
  }
172
158
  }),
173
- saveMembers: async (key, chatId, memberIds) => inTransaction(() => writeMembers(key, accountPk(key), chatId, memberIds)),
159
+ saveMembers: async (key, chatId, memberIds) => write(database, () => writeMembers(key, accountPk(key), chatId, memberIds)),
174
160
  saveRoster: async (key, chatId, read) => {
175
161
  let change = { joined: [], gone: [], changed: [] };
176
- inTransaction(() => {
162
+ write(database, () => {
177
163
  const accountKey = accountPk(key);
178
164
  change = roster.saveRoster(context, accountKey, key.provider, chatPkFor(accountKey, chatId), read);
179
165
  });
@@ -195,7 +181,7 @@ const storeOver = (context) => {
195
181
  ? []
196
182
  : roster.profileRevisionsOf(context, chatKey, since === undefined ? undefined : Date.parse(since));
197
183
  },
198
- trackMembers: async (key, chatId, tracked) => inTransaction(() => roster.setTracked(context, chatPkFor(accountPk(key), chatId), tracked)),
184
+ trackMembers: async (key, chatId, tracked) => write(database, () => roster.setTracked(context, chatPkFor(accountPk(key), chatId), tracked)),
199
185
  trackedChats: async (key) => {
200
186
  const accountKey = findAccountPk(key);
201
187
  return accountKey === undefined ? [] : roster.trackedChats(context, accountKey);
@@ -209,18 +195,10 @@ const storeOver = (context) => {
209
195
  personSeenInAccounts: async (uid, accountIds) => personSeenInAccounts(context, uid, accountIds),
210
196
  personByUid: async (uid) => personLinks.personByUid(context, uid),
211
197
  linkIdentities: async (person, other, options) => {
212
- let linked;
213
- inTransaction(() => {
214
- linked = personLinks.linkIdentities(context, person, other, options);
215
- });
216
- return linked;
198
+ return write(database, () => personLinks.linkIdentities(context, person, other, options));
217
199
  },
218
200
  unlinkIdentity: async (identity, options) => {
219
- let alone;
220
- inTransaction(() => {
221
- alone = personLinks.unlinkIdentity(context, identity, options);
222
- });
223
- return alone;
201
+ return write(database, () => personLinks.unlinkIdentity(context, identity, options));
224
202
  },
225
203
  mentioning: async (key, person, limit) => {
226
204
  const accountKey = findAccountPk(key);
@@ -236,8 +214,8 @@ const storeOver = (context) => {
236
214
  const accountKey = findAccountPk(key);
237
215
  return accountKey === undefined ? undefined : sync.syncStateOf(context, accountKey, name);
238
216
  },
239
- setSyncState: async (key, name, value) => inTransaction(() => writeState(accountPk(key), name, value)),
240
- applyDelta: async (key, { chats = [], people = [], members = new Map(), state = {} }) => inTransaction(() => {
217
+ setSyncState: async (key, name, value) => write(database, () => writeState(accountPk(key), name, value)),
218
+ applyDelta: async (key, { chats = [], people = [], members = new Map(), state = {} }) => write(database, () => {
241
219
  const accountKey = accountPk(key);
242
220
  for (const chat of chats)
243
221
  chatQueries.upsertChat(context, accountKey, chat);
@@ -255,7 +233,7 @@ const storeOver = (context) => {
255
233
  },
256
234
  claim: async (key, chatId, anchor, holder, forMs) => {
257
235
  let taken = false;
258
- inTransaction(() => {
236
+ write(database, () => {
259
237
  taken = sync.claim(context, chatPkFor(accountPk(key), chatId), anchor, holder, forMs);
260
238
  });
261
239
  return taken;
@@ -274,7 +252,7 @@ const storeOver = (context) => {
274
252
  keepTranscript: async (key, chatId, messageId, text, source) => {
275
253
  if (text.trim() === "")
276
254
  return;
277
- inTransaction(() => transcripts.keepTranscript(context, chatPkFor(accountPk(key), chatId), messageId, text, source));
255
+ write(database, () => transcripts.keepTranscript(context, chatPkFor(accountPk(key), chatId), messageId, text, source));
278
256
  },
279
257
  fileAttachments: async (key, { chatId, ...page }) => {
280
258
  const accountKey = findAccountPk(key);
@@ -297,7 +275,7 @@ const storeOver = (context) => {
297
275
  localPathOf: async (attachmentPk) => attachmentTexts.localPathOf(context, attachmentPk),
298
276
  keepAttachmentText: async (attachmentPk, entry) => {
299
277
  let kept = false;
300
- inTransaction(() => {
278
+ write(database, () => {
301
279
  kept = attachmentTexts.keepText(context, attachmentPk, entry);
302
280
  });
303
281
  return kept;
@@ -307,7 +285,7 @@ const storeOver = (context) => {
307
285
  if (chatKey === undefined || files.length === 0)
308
286
  return 0;
309
287
  let kept = 0;
310
- inTransaction(() => {
288
+ write(database, () => {
311
289
  kept = attachmentRows.keepDownloads(context, chatKey, messageId, files);
312
290
  });
313
291
  return kept;
@@ -377,7 +355,7 @@ const storeOver = (context) => {
377
355
  throw new CliError("validation_error", `the answer was not stored: ${batch} is not a batch of this account`);
378
356
  }
379
357
  let stored = 0;
380
- inTransaction(() => {
358
+ write(database, () => {
381
359
  stored = batches.saveAnswers(context, batch, answer);
382
360
  });
383
361
  return { chat, stored };
@@ -387,7 +365,7 @@ const storeOver = (context) => {
387
365
  if (chatKey === undefined)
388
366
  return 0;
389
367
  let cleared = 0;
390
- inTransaction(() => {
368
+ write(database, () => {
391
369
  cleared = batches.clearAnswers(context, chatKey, model);
392
370
  });
393
371
  return cleared;
@@ -418,7 +396,7 @@ const storeOver = (context) => {
418
396
  return chatKey === undefined ? [] : vectors.chunksToEmbed(context, chatKey, model, options);
419
397
  },
420
398
  saveVectors: async (model, dims, rows) => {
421
- inTransaction(() => vectors.saveVectors(context, model, dims, rows));
399
+ write(database, () => vectors.saveVectors(context, model, dims, rows));
422
400
  },
423
401
  imagesToDescribe: async (key, chatId, window) => {
424
402
  const chatKey = chatKeyOf(key, chatId);
@@ -429,7 +407,7 @@ const storeOver = (context) => {
429
407
  const chatKey = chatKeyOf(key, chatId);
430
408
  if (accountPk === undefined || chatKey === undefined)
431
409
  return;
432
- inTransaction(() => imageChunks.saveImageChunks(context, accountPk, chatKey, chunks, keep));
410
+ write(database, () => imageChunks.saveImageChunks(context, accountPk, chatKey, chunks, keep));
433
411
  },
434
412
  embeddedHashes: async (model, hashes) => imageChunks.embeddedHashes(context, model, hashes),
435
413
  nearestImages: async (key, { chatId, model, since, limit, query }) => {
@@ -481,7 +459,7 @@ const storeOver = (context) => {
481
459
  const accountPk = findAccountPk(key);
482
460
  if (accountPk === undefined)
483
461
  return;
484
- inTransaction(() => {
462
+ write(database, () => {
485
463
  vectors.saveVectors(context, model, dims, pictures.map(({ hash, vector }) => ({ hash, vector })));
486
464
  imageChunks.savePictureChunks(context, accountPk, pictures);
487
465
  });
@@ -511,7 +489,7 @@ const storeOver = (context) => {
511
489
  if (chatKey === undefined)
512
490
  return 0;
513
491
  let cleared = 0;
514
- inTransaction(() => {
492
+ write(database, () => {
515
493
  cleared = vectors.clearVectors(context, chatKey, model);
516
494
  });
517
495
  return cleared;
@@ -672,21 +650,13 @@ const storeOver = (context) => {
672
650
  owner = { organization: Number(found.id) };
673
651
  }
674
652
  }
675
- let decision;
676
- inTransaction(() => {
677
- decision = confirmMention(context, accountKey, id, owner, by);
678
- });
679
- return decision;
653
+ return write(database, () => confirmMention(context, accountKey, id, owner, by));
680
654
  },
681
655
  rejectMention: async (key, id, by) => {
682
656
  const accountKey = findAccountPk(key);
683
657
  if (accountKey === undefined)
684
658
  throw new CliError("not_found", `no mention ${id} in this account`);
685
- let decision;
686
- inTransaction(() => {
687
- decision = rejectMention(context, accountKey, id, by);
688
- });
689
- return decision;
659
+ return write(database, () => rejectMention(context, accountKey, id, by));
690
660
  },
691
661
  rebuildMentions: async (options = {}) => rebuildMentions(database, { now: context.now(), ...options }),
692
662
  mentionsState: async () => mentionsState(database),
@@ -714,7 +684,7 @@ const storeOver = (context) => {
714
684
  if (accountKey === undefined || messageIds.length === 0)
715
685
  return 0;
716
686
  let changed = 0;
717
- inTransaction(() => {
687
+ write(database, () => {
718
688
  changed = messageWrites.markDeleted(context, accountKey, messageIds, chatId, among);
719
689
  });
720
690
  return changed;
@@ -723,14 +693,14 @@ const storeOver = (context) => {
723
693
  const accountKey = findAccountPk(key);
724
694
  if (accountKey === undefined)
725
695
  return;
726
- inTransaction(() => accounts.purgeAccount(context, accountKey));
696
+ write(database, () => accounts.purgeAccount(context, accountKey));
727
697
  },
728
698
  markChatsLeft: async (key, present) => {
729
699
  const accountKey = findAccountPk(key);
730
700
  if (accountKey === undefined)
731
701
  return 0;
732
702
  let marked = 0;
733
- inTransaction(() => {
703
+ write(database, () => {
734
704
  marked = chatQueries.markLeft(context, accountKey, present);
735
705
  writeState(accountKey, completeness.CHAT_LIST_KEY, String(present.length));
736
706
  });
@@ -741,7 +711,7 @@ const storeOver = (context) => {
741
711
  if (accountKey === undefined)
742
712
  return { chats: 0, messages: 0 };
743
713
  let found = { pks: [], messages: 0 };
744
- inTransaction(() => {
714
+ write(database, () => {
745
715
  found = chatQueries.leftChats(context, accountKey);
746
716
  if (clear)
747
717
  chatQueries.purgeChats(context, found.pks);
@@ -749,7 +719,7 @@ const storeOver = (context) => {
749
719
  return { chats: found.pks.length, messages: found.messages };
750
720
  },
751
721
  search: async (query, { limit, account }) => search.find(context, { text: query, limit, ...(account ? { account } : {}) }),
752
- find: async (filter) => (filter.pattern ? findRegex(context, filter) : search.find(context, filter)),
722
+ find: async (filter) => search.find(context, filter),
753
723
  rankingDiscussionChats: async (account, chatId) => {
754
724
  const rows = database
755
725
  .prepare("SELECT DISTINCT json_extract(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.discussionChatId') AS id FROM messages m JOIN chats c ON c.id=m.chat_id JOIN accounts ac ON ac.id=m.account_id WHERE ac.provider=? AND ac.external_id=? AND c.external_id=? AND c.kind='channel' AND m.deleted_at IS NULL AND json_extract(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.version')=1 AND json_type(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.discussionChatId')='text' LIMIT 101")
@@ -764,16 +734,7 @@ const storeOver = (context) => {
764
734
  const chatKey = accountKey === undefined ? undefined : findChatPk(accountKey, chatId);
765
735
  if (accountKey === undefined || chatKey === undefined)
766
736
  throw new CliError("validation_error", "retention needs a stored chat and membership observations");
767
- context.database.exec("BEGIN");
768
- try {
769
- const result = retentionQuery(context, accountKey, chatKey, chatId, options, evidence);
770
- context.database.exec("COMMIT");
771
- return result;
772
- }
773
- catch (error) {
774
- context.database.exec("ROLLBACK");
775
- throw error;
776
- }
737
+ return read(database, () => retentionQuery(context, accountKey, chatKey, chatId, options, evidence));
777
738
  },
778
739
  adminStatisticsQuery: async (execution, request) => adminStatisticsQuery(context, execution, request),
779
740
  rankQuery: async (execution, request) => rankQuery(context, execution, request),
@@ -781,13 +742,6 @@ const storeOver = (context) => {
781
742
  matchQuery: async (execution) => lucene.matchQuery(context, mailIndexed(execution)),
782
743
  conversationEligibility: async (execution) => conversationEligibility(context, execution),
783
744
  countQuery: async (execution, by) => lucene.countQuery(context, mailIndexed(execution), by),
784
- matchWords: async (query, scope, options) => words.matchWords(context, query, scope, options),
785
- matchSubstring: async (query, scope, options) => words.matchSubstring(context, query, scope, options),
786
- attachmentKinds: async () => database
787
- .prepare("SELECT DISTINCT kind FROM attachments ORDER BY kind")
788
- .all()
789
- .map((row) => String(row.kind)),
790
- matchFilters: async (scope, options) => words.matchFilters(context, scope, options),
791
745
  accounts: async () => accounts.heldAccounts(context),
792
746
  storedAccounts: async () => accounts.storedAccounts(context),
793
747
  storedAccount: async (key) => accounts.storedAccount(context, key),
@@ -801,13 +755,13 @@ const storeOver = (context) => {
801
755
  searchIndexState: async () => searchIndex.searchIndexState(database),
802
756
  fillSearchIndex: async ({ until } = {}) => searchIndex.fillSearchIndex(database, { now: context.now, ...(until ? { until } : {}) }),
803
757
  stemsState: async () => stems.stemsState(database),
804
- fillStems: async ({ until } = {}) => stems.fillStems(database, { now: context.now, ...(until ? { until } : {}) }),
758
+ fillStems: async ({ until } = {}) => fillStems(database, { now: context.now, ...(until ? { until } : {}) }),
805
759
  stemmers: async () => stems.savedStemmers(database),
806
- saveStemmers: async (stemmers) => inTransaction(() => stems.saveStoreStemmers(database, stemmers, context.now())),
760
+ saveStemmers: async (stemmers) => write(database, () => stems.saveStoreStemmers(database, stemmers, context.now())),
807
761
  accountGroups: async () => accountGroupsOf(database),
808
762
  profiles: async () => profilesOf(database),
809
- saveProfile: async (app, profile, key) => inTransaction(() => saveProfile(database, app, profile, key, context.now())),
810
- saveAccountGroup: async (name, members) => inTransaction(() => {
763
+ saveProfile: async (app, profile, key) => write(database, () => saveProfile(database, app, profile, key, context.now())),
764
+ saveAccountGroup: async (name, members) => write(database, () => {
811
765
  const groups = accountGroupsOf(database);
812
766
  if (members === undefined)
813
767
  delete groups[name];
@@ -832,7 +786,7 @@ const storeOver = (context) => {
832
786
  if (accountKey !== undefined)
833
787
  identities.refreshRecency(context, accountKey);
834
788
  },
835
- savePeople: async (key, people) => inTransaction(() => {
789
+ savePeople: async (key, people) => write(database, () => {
836
790
  const accountKey = accountPk(key);
837
791
  for (const person of people)
838
792
  identityPk(accountKey, key.provider, person.id, person.name, person);
@@ -847,7 +801,7 @@ const storeOver = (context) => {
847
801
  },
848
802
  updateCounterObservations: async (key, chatId, messageId, observations) => {
849
803
  let updated = 0;
850
- inTransaction(() => {
804
+ write(database, () => {
851
805
  const row = database
852
806
  .prepare("SELECT m.id AS pk FROM messages m JOIN chats c ON c.id=m.chat_id JOIN accounts ac ON ac.id=m.account_id WHERE ac.provider=? AND ac.external_id=? AND c.external_id=? AND m.external_id=? AND m.deleted_at IS NULL")
853
807
  .get(key.provider, key.account, chatId, messageId);
@@ -862,7 +816,7 @@ const storeOver = (context) => {
862
816
  if (chatKey === undefined)
863
817
  return false;
864
818
  let saved = false;
865
- inTransaction(() => {
819
+ write(database, () => {
866
820
  saved = messageWrites.saveReactions(context, chatKey, messageId, reactions);
867
821
  const row = database
868
822
  .prepare("SELECT id AS pk FROM messages WHERE chat_id=? AND external_id=? AND deleted_at IS NULL")
@@ -874,7 +828,7 @@ const storeOver = (context) => {
874
828
  },
875
829
  markRange: async (key, chatId, from, to) => {
876
830
  let merged = { from, to };
877
- inTransaction(() => {
831
+ write(database, () => {
878
832
  merged = ranges.markRange(context, chatPkFor(accountPk(key), chatId), from, to);
879
833
  });
880
834
  return merged;
@@ -904,67 +858,47 @@ const storeOver = (context) => {
904
858
  },
905
859
  chatMetadata: async (key, chatId) => metadataQueries.metadata(context, key, chatId),
906
860
  saveChatMetadata: async (key, entry) => metadataQueries.saveMetadata(context, key, entry),
907
- replaceAutoTags: async (key, chatId, algorithm, matches) => inTransaction(() => metadataQueries.replaceAutoTags(context, key, chatId, algorithm, matches)),
861
+ replaceAutoTags: async (key, chatId, algorithm, matches) => write(database, () => metadataQueries.replaceAutoTags(context, key, chatId, algorithm, matches)),
908
862
  privateContact: async (key, person) => privatePeople.privateContact(context, key, person),
909
863
  setContactAlias: async (key, person, alias) => {
910
- let result;
911
- inTransaction(() => {
912
- result = privatePeople.setAlias(context, key, person, alias);
913
- });
914
- return result;
864
+ return write(database, () => privatePeople.setAlias(context, key, person, alias));
915
865
  },
916
866
  addContactNote: async (key, person, text) => {
917
- let added;
918
- inTransaction(() => {
919
- added = privatePeople.addNote(context, key, person, text);
920
- });
921
- return added;
867
+ return write(database, () => privatePeople.addNote(context, key, person, text));
922
868
  },
923
869
  contactNote: async (key, person, id) => privatePeople.note(context, key, person, id),
924
870
  editContactNote: async (key, person, id, text, revision) => {
925
- let edited;
926
- inTransaction(() => {
927
- edited = privatePeople.editNote(context, key, person, id, text, revision);
928
- });
929
- return edited;
871
+ return write(database, () => privatePeople.editNote(context, key, person, id, text, revision));
930
872
  },
931
873
  removeContactNote: async (key, person, id) => privatePeople.removeNote(context, key, person, id),
932
874
  addTags: async (key, target, list) => {
933
875
  let added = [];
934
- inTransaction(() => {
876
+ write(database, () => {
935
877
  added = tagQueries.addTags(context, tagQueries.targetThing(context, key, target), list);
936
878
  });
937
879
  return added;
938
880
  },
939
881
  removeTags: async (key, target, list, source) => {
940
882
  let removed = [];
941
- inTransaction(() => {
883
+ write(database, () => {
942
884
  removed = tagQueries.removeTags(context, tagQueries.targetThing(context, key, target), list, source);
943
885
  });
944
886
  return removed;
945
887
  },
946
888
  tags: async (key, filter = {}) => tagQueries.tagsOf(context, key, filter),
947
- recordSearch: async (run, { saved } = {}) => inTransaction(() => searchRecords.recordRun(context, run, saved)),
889
+ recordSearch: async (run, { saved } = {}) => write(database, () => searchRecords.recordRun(context, run, saved)),
948
890
  saveSearch: async (name, search, { replace = false } = {}) => {
949
- let saved;
950
- inTransaction(() => {
951
- saved = searchRecords.saveSearch(context, name, search, replace);
952
- });
953
- return saved;
891
+ return write(database, () => searchRecords.saveSearch(context, name, search, replace));
954
892
  },
955
893
  storedSearch: async (reference) => searchRecords.findSearch(context, reference),
956
894
  savedSearches: async () => searchRecords.savedSearches(context),
957
895
  searchHistory: async (limit, offset) => searchRecords.searchHistory(context, limit, offset),
958
896
  deleteSearch: async (reference) => {
959
- let deleted;
960
- inTransaction(() => {
961
- deleted = searchRecords.deleteSearch(context, reference);
962
- });
963
- return deleted;
897
+ return write(database, () => searchRecords.deleteSearch(context, reference));
964
898
  },
965
899
  clearSearchHistory: async () => {
966
900
  let cleared = 0;
967
- inTransaction(() => {
901
+ write(database, () => {
968
902
  cleared = searchRecords.clearHistory(context);
969
903
  });
970
904
  return cleared;
@@ -1039,6 +973,7 @@ export { drainNoteIndex, noteIndexState, resetNoteIndex } from "./sqlite/note-in
1039
973
  export { queryFilter } from "./sqlite/query-filter.js";
1040
974
  export { AGENDA_COLUMNS } from "./sqlite/reads.js";
1041
975
  export { fillSearchIndex, resetSearchIndex, searchIndexState } from "./sqlite/search-index.js";
1042
- export { fillStems, resetStems, savedStemmers, stemmerCache, stemmersOrigin, stemsState, } from "./sqlite/stems.js";
976
+ export { savedStemmers, stemmerCache, stemmersOrigin, stemsState, } from "./sqlite/stems.js";
977
+ export { fillStems, resetStems } from "./sqlite/stems-fill.js";
1043
978
  export { inboxKey } from "./sqlite/tasks.js";
1044
979
  //# sourceMappingURL=store.js.map