@wirecat/cli-core 0.263.0 → 0.265.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 (473) hide show
  1. package/README.md +226 -486
  2. package/dist/background/schedules.d.ts +2 -0
  3. package/dist/background/schedules.d.ts.map +1 -1
  4. package/dist/background/schedules.js +26 -8
  5. package/dist/background/schedules.js.map +1 -1
  6. package/dist/cli/envelope.d.ts +2 -0
  7. package/dist/cli/envelope.d.ts.map +1 -1
  8. package/dist/cli/envelope.js +2 -2
  9. package/dist/cli/envelope.js.map +1 -1
  10. package/dist/cli/index.d.ts +2 -0
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js +2 -0
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/list-query.d.ts +42 -0
  15. package/dist/cli/list-query.d.ts.map +1 -0
  16. package/dist/cli/list-query.js +121 -0
  17. package/dist/cli/list-query.js.map +1 -0
  18. package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
  19. package/dist/cli/messenger/admin-commands.js +34 -46
  20. package/dist/cli/messenger/admin-commands.js.map +1 -1
  21. package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
  22. package/dist/cli/messenger/admin-contacts-command.js +7 -3
  23. package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
  24. package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
  25. package/dist/cli/messenger/admin-folders-command.js +21 -21
  26. package/dist/cli/messenger/admin-folders-command.js.map +1 -1
  27. package/dist/cli/messenger/admin-moderation-command.d.ts.map +1 -1
  28. package/dist/cli/messenger/admin-moderation-command.js +11 -13
  29. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  30. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  31. package/dist/cli/messenger/backfill-command.js +10 -6
  32. package/dist/cli/messenger/backfill-command.js.map +1 -1
  33. package/dist/cli/messenger/backfill-jobs.d.ts +1 -1
  34. package/dist/cli/messenger/backfill-jobs.d.ts.map +1 -1
  35. package/dist/cli/messenger/backfill-jobs.js +1 -1
  36. package/dist/cli/messenger/backfill-jobs.js.map +1 -1
  37. package/dist/cli/messenger/chat-answers.d.ts +155 -0
  38. package/dist/cli/messenger/chat-answers.d.ts.map +1 -0
  39. package/dist/cli/messenger/chat-answers.js +243 -0
  40. package/dist/cli/messenger/chat-answers.js.map +1 -0
  41. package/dist/cli/messenger/chat-lists.d.ts +161 -0
  42. package/dist/cli/messenger/chat-lists.d.ts.map +1 -0
  43. package/dist/cli/messenger/chat-lists.js +82 -0
  44. package/dist/cli/messenger/chat-lists.js.map +1 -0
  45. package/dist/cli/messenger/chat-queries.d.ts +14 -0
  46. package/dist/cli/messenger/chat-queries.d.ts.map +1 -0
  47. package/dist/cli/messenger/chat-queries.js +48 -0
  48. package/dist/cli/messenger/chat-queries.js.map +1 -0
  49. package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
  50. package/dist/cli/messenger/chats-bots-command.js +7 -2
  51. package/dist/cli/messenger/chats-bots-command.js.map +1 -1
  52. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  53. package/dist/cli/messenger/chats-command.js +33 -71
  54. package/dist/cli/messenger/chats-command.js.map +1 -1
  55. package/dist/cli/messenger/chats-documents-command.d.ts.map +1 -1
  56. package/dist/cli/messenger/chats-documents-command.js +10 -5
  57. package/dist/cli/messenger/chats-documents-command.js.map +1 -1
  58. package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/chats-members-command.js +38 -64
  60. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  61. package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
  62. package/dist/cli/messenger/chats-read-command.js +4 -2
  63. package/dist/cli/messenger/chats-read-command.js.map +1 -1
  64. package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
  65. package/dist/cli/messenger/chats-stats-command.js +24 -17
  66. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  67. package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -1
  68. package/dist/cli/messenger/chats-tracking-command.js +11 -17
  69. package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
  70. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  71. package/dist/cli/messenger/contacts-command.js +61 -43
  72. package/dist/cli/messenger/contacts-command.js.map +1 -1
  73. package/dist/cli/messenger/context.d.ts.map +1 -1
  74. package/dist/cli/messenger/context.js +5 -2
  75. package/dist/cli/messenger/context.js.map +1 -1
  76. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  77. package/dist/cli/messenger/conversations-command.js +13 -20
  78. package/dist/cli/messenger/conversations-command.js.map +1 -1
  79. package/dist/cli/messenger/gaps-command.js +3 -3
  80. package/dist/cli/messenger/gaps-command.js.map +1 -1
  81. package/dist/cli/messenger/hearing-command.d.ts +1 -1
  82. package/dist/cli/messenger/hearing-command.d.ts.map +1 -1
  83. package/dist/cli/messenger/hearing-command.js +1 -1
  84. package/dist/cli/messenger/hearing-command.js.map +1 -1
  85. package/dist/cli/messenger/history-query.d.ts +18 -0
  86. package/dist/cli/messenger/history-query.d.ts.map +1 -0
  87. package/dist/cli/messenger/history-query.js +63 -0
  88. package/dist/cli/messenger/history-query.js.map +1 -0
  89. package/dist/cli/messenger/images-command.d.ts +8 -0
  90. package/dist/cli/messenger/images-command.d.ts.map +1 -0
  91. package/dist/cli/messenger/images-command.js +36 -0
  92. package/dist/cli/messenger/images-command.js.map +1 -0
  93. package/dist/cli/messenger/list-query.d.ts +13 -0
  94. package/dist/cli/messenger/list-query.d.ts.map +1 -0
  95. package/dist/cli/messenger/list-query.js +23 -0
  96. package/dist/cli/messenger/list-query.js.map +1 -0
  97. package/dist/cli/messenger/mentions-command.d.ts +5 -0
  98. package/dist/cli/messenger/mentions-command.d.ts.map +1 -0
  99. package/dist/cli/messenger/mentions-command.js +51 -0
  100. package/dist/cli/messenger/mentions-command.js.map +1 -0
  101. package/dist/cli/messenger/message-items.d.ts +31 -0
  102. package/dist/cli/messenger/message-items.d.ts.map +1 -0
  103. package/dist/cli/messenger/message-items.js +95 -0
  104. package/dist/cli/messenger/message-items.js.map +1 -0
  105. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  106. package/dist/cli/messenger/messages-command.js +52 -77
  107. package/dist/cli/messenger/messages-command.js.map +1 -1
  108. package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
  109. package/dist/cli/messenger/messages-comments-command.js +39 -28
  110. package/dist/cli/messenger/messages-comments-command.js.map +1 -1
  111. package/dist/cli/messenger/messages-link-command.d.ts.map +1 -1
  112. package/dist/cli/messenger/messages-link-command.js +16 -14
  113. package/dist/cli/messenger/messages-link-command.js.map +1 -1
  114. package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
  115. package/dist/cli/messenger/messages-scheduled-command.js +23 -26
  116. package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
  117. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  118. package/dist/cli/messenger/messages-search-command.js +6 -0
  119. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  120. package/dist/cli/messenger/models-command.d.ts.map +1 -1
  121. package/dist/cli/messenger/models-command.js +57 -0
  122. package/dist/cli/messenger/models-command.js.map +1 -1
  123. package/dist/cli/messenger/people-queries.d.ts +6 -0
  124. package/dist/cli/messenger/people-queries.d.ts.map +1 -0
  125. package/dist/cli/messenger/people-queries.js +15 -0
  126. package/dist/cli/messenger/people-queries.js.map +1 -0
  127. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  128. package/dist/cli/messenger/polls-command.js +29 -23
  129. package/dist/cli/messenger/polls-command.js.map +1 -1
  130. package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
  131. package/dist/cli/messenger/reactions-command.js +6 -2
  132. package/dist/cli/messenger/reactions-command.js.map +1 -1
  133. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  134. package/dist/cli/messenger/serve-command.js +21 -33
  135. package/dist/cli/messenger/serve-command.js.map +1 -1
  136. package/dist/cli/messenger/serve-members.d.ts +2 -1
  137. package/dist/cli/messenger/serve-members.d.ts.map +1 -1
  138. package/dist/cli/messenger/serve-members.js +11 -2
  139. package/dist/cli/messenger/serve-members.js.map +1 -1
  140. package/dist/cli/messenger/serve-notice.d.ts +21 -0
  141. package/dist/cli/messenger/serve-notice.d.ts.map +1 -0
  142. package/dist/cli/messenger/serve-notice.js +40 -0
  143. package/dist/cli/messenger/serve-notice.js.map +1 -0
  144. package/dist/cli/messenger/serve-stems.d.ts +2 -1
  145. package/dist/cli/messenger/serve-stems.d.ts.map +1 -1
  146. package/dist/cli/messenger/serve-stems.js +2 -1
  147. package/dist/cli/messenger/serve-stems.js.map +1 -1
  148. package/dist/cli/messenger/tags-command.d.ts.map +1 -1
  149. package/dist/cli/messenger/tags-command.js +11 -30
  150. package/dist/cli/messenger/tags-command.js.map +1 -1
  151. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  152. package/dist/cli/messenger/tasks-command.js +13 -22
  153. package/dist/cli/messenger/tasks-command.js.map +1 -1
  154. package/dist/cli/messenger/topics-command.d.ts.map +1 -1
  155. package/dist/cli/messenger/topics-command.js +21 -9
  156. package/dist/cli/messenger/topics-command.js.map +1 -1
  157. package/dist/cli/runs/log-attributes.d.ts +5 -0
  158. package/dist/cli/runs/log-attributes.d.ts.map +1 -0
  159. package/dist/cli/runs/log-attributes.js +67 -0
  160. package/dist/cli/runs/log-attributes.js.map +1 -0
  161. package/dist/cli/runs/record-log.d.ts +8 -0
  162. package/dist/cli/runs/record-log.d.ts.map +1 -0
  163. package/dist/cli/runs/record-log.js +17 -0
  164. package/dist/cli/runs/record-log.js.map +1 -0
  165. package/dist/cli/runs/recording.d.ts +4 -1
  166. package/dist/cli/runs/recording.d.ts.map +1 -1
  167. package/dist/cli/runs/recording.js +11 -3
  168. package/dist/cli/runs/recording.js.map +1 -1
  169. package/dist/cli/runs/run.d.ts +4 -0
  170. package/dist/cli/runs/run.d.ts.map +1 -1
  171. package/dist/cli/runs/run.js +4 -0
  172. package/dist/cli/runs/run.js.map +1 -1
  173. package/dist/cli/runs/scope.d.ts +17 -0
  174. package/dist/cli/runs/scope.d.ts.map +1 -1
  175. package/dist/cli/runs/scope.js +25 -1
  176. package/dist/cli/runs/scope.js.map +1 -1
  177. package/dist/cli/settings.d.ts +4 -0
  178. package/dist/cli/settings.d.ts.map +1 -1
  179. package/dist/cli/settings.js +4 -0
  180. package/dist/cli/settings.js.map +1 -1
  181. package/dist/cli/steps.d.ts.map +1 -1
  182. package/dist/cli/steps.js +24 -0
  183. package/dist/cli/steps.js.map +1 -1
  184. package/dist/domain/google-documents.d.ts +4 -0
  185. package/dist/domain/google-documents.d.ts.map +1 -1
  186. package/dist/domain/google-documents.js +7 -6
  187. package/dist/domain/google-documents.js.map +1 -1
  188. package/dist/domain/mentions.d.ts +22 -0
  189. package/dist/domain/mentions.d.ts.map +1 -0
  190. package/dist/domain/mentions.js +139 -0
  191. package/dist/domain/mentions.js.map +1 -0
  192. package/dist/embeddings/embed.d.ts.map +1 -1
  193. package/dist/embeddings/embed.js +1 -4
  194. package/dist/embeddings/embed.js.map +1 -1
  195. package/dist/embeddings/models.d.ts +1 -1
  196. package/dist/entities/attachment.d.ts +6 -0
  197. package/dist/entities/attachment.d.ts.map +1 -1
  198. package/dist/entities/attachment.js +6 -0
  199. package/dist/entities/attachment.js.map +1 -1
  200. package/dist/entities/chat-event.d.ts +28 -0
  201. package/dist/entities/chat-event.d.ts.map +1 -0
  202. package/dist/entities/chat-event.js +19 -0
  203. package/dist/entities/chat-event.js.map +1 -0
  204. package/dist/entities/chat.d.ts +29 -0
  205. package/dist/entities/chat.d.ts.map +1 -1
  206. package/dist/entities/chat.js +15 -0
  207. package/dist/entities/chat.js.map +1 -1
  208. package/dist/entities/contact.d.ts +137 -0
  209. package/dist/entities/contact.d.ts.map +1 -1
  210. package/dist/entities/contact.js +6 -1
  211. package/dist/entities/contact.js.map +1 -1
  212. package/dist/entities/conversation.d.ts +16 -0
  213. package/dist/entities/conversation.d.ts.map +1 -0
  214. package/dist/entities/conversation.js +17 -0
  215. package/dist/entities/conversation.js.map +1 -0
  216. package/dist/entities/folder.d.ts +31 -0
  217. package/dist/entities/folder.d.ts.map +1 -0
  218. package/dist/entities/folder.js +25 -0
  219. package/dist/entities/folder.js.map +1 -0
  220. package/dist/entities/index.d.ts +385 -1
  221. package/dist/entities/index.d.ts.map +1 -1
  222. package/dist/entities/index.js +21 -1
  223. package/dist/entities/index.js.map +1 -1
  224. package/dist/entities/invite-link.d.ts +17 -0
  225. package/dist/entities/invite-link.d.ts.map +1 -0
  226. package/dist/entities/invite-link.js +18 -0
  227. package/dist/entities/invite-link.js.map +1 -0
  228. package/dist/entities/join-request.d.ts +12 -0
  229. package/dist/entities/join-request.d.ts.map +1 -0
  230. package/dist/entities/join-request.js +13 -0
  231. package/dist/entities/join-request.js.map +1 -0
  232. package/dist/entities/member.d.ts +24 -0
  233. package/dist/entities/member.d.ts.map +1 -0
  234. package/dist/entities/member.js +25 -0
  235. package/dist/entities/member.js.map +1 -0
  236. package/dist/entities/message-link.d.ts +10 -0
  237. package/dist/entities/message-link.d.ts.map +1 -0
  238. package/dist/entities/message-link.js +11 -0
  239. package/dist/entities/message-link.js.map +1 -0
  240. package/dist/entities/message.d.ts +19 -0
  241. package/dist/entities/message.d.ts.map +1 -1
  242. package/dist/entities/message.js +4 -0
  243. package/dist/entities/message.js.map +1 -1
  244. package/dist/entities/poll-vote.d.ts +11 -0
  245. package/dist/entities/poll-vote.d.ts.map +1 -0
  246. package/dist/entities/poll-vote.js +12 -0
  247. package/dist/entities/poll-vote.js.map +1 -0
  248. package/dist/entities/tagging.d.ts +14 -0
  249. package/dist/entities/tagging.d.ts.map +1 -0
  250. package/dist/entities/tagging.js +16 -0
  251. package/dist/entities/tagging.js.map +1 -0
  252. package/dist/entities/topic.d.ts +14 -0
  253. package/dist/entities/topic.d.ts.map +1 -0
  254. package/dist/entities/topic.js +15 -0
  255. package/dist/entities/topic.js.map +1 -0
  256. package/dist/images/picture/embedder.d.ts +15 -0
  257. package/dist/images/picture/embedder.d.ts.map +1 -0
  258. package/dist/images/picture/embedder.js +48 -0
  259. package/dist/images/picture/embedder.js.map +1 -0
  260. package/dist/images/picture/models.d.ts +27 -0
  261. package/dist/images/picture/models.d.ts.map +1 -0
  262. package/dist/images/picture/models.js +55 -0
  263. package/dist/images/picture/models.js.map +1 -0
  264. package/dist/images/picture/preprocess.d.ts +28 -0
  265. package/dist/images/picture/preprocess.d.ts.map +1 -0
  266. package/dist/images/picture/preprocess.js +48 -0
  267. package/dist/images/picture/preprocess.js.map +1 -0
  268. package/dist/mcp/agent-log.d.ts +7 -0
  269. package/dist/mcp/agent-log.d.ts.map +1 -1
  270. package/dist/mcp/agent-log.js +32 -0
  271. package/dist/mcp/agent-log.js.map +1 -1
  272. package/dist/mcp/instructions.d.ts.map +1 -1
  273. package/dist/mcp/instructions.js +3 -2
  274. package/dist/mcp/instructions.js.map +1 -1
  275. package/dist/mcp/prompts.js +3 -3
  276. package/dist/mcp/prompts.js.map +1 -1
  277. package/dist/mcp/tool.d.ts +1 -1
  278. package/dist/mcp/tool.d.ts.map +1 -1
  279. package/dist/mcp/tool.js +23 -11
  280. package/dist/mcp/tool.js.map +1 -1
  281. package/dist/mcp/tools/admin.d.ts.map +1 -1
  282. package/dist/mcp/tools/admin.js +41 -39
  283. package/dist/mcp/tools/admin.js.map +1 -1
  284. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  285. package/dist/mcp/tools/chats-read.js +4 -2
  286. package/dist/mcp/tools/chats-read.js.map +1 -1
  287. package/dist/mcp/tools/chats.d.ts.map +1 -1
  288. package/dist/mcp/tools/chats.js +77 -84
  289. package/dist/mcp/tools/chats.js.map +1 -1
  290. package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
  291. package/dist/mcp/tools/contacts-write.js +4 -2
  292. package/dist/mcp/tools/contacts-write.js.map +1 -1
  293. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  294. package/dist/mcp/tools/contacts.js +55 -30
  295. package/dist/mcp/tools/contacts.js.map +1 -1
  296. package/dist/mcp/tools/conversations.d.ts.map +1 -1
  297. package/dist/mcp/tools/conversations.js +12 -15
  298. package/dist/mcp/tools/conversations.js.map +1 -1
  299. package/dist/mcp/tools/folders.d.ts.map +1 -1
  300. package/dist/mcp/tools/folders.js +12 -11
  301. package/dist/mcp/tools/folders.js.map +1 -1
  302. package/dist/mcp/tools/messages.d.ts.map +1 -1
  303. package/dist/mcp/tools/messages.js +74 -59
  304. package/dist/mcp/tools/messages.js.map +1 -1
  305. package/dist/mcp/tools/moderation.d.ts.map +1 -1
  306. package/dist/mcp/tools/moderation.js +5 -3
  307. package/dist/mcp/tools/moderation.js.map +1 -1
  308. package/dist/mcp/tools/polls.d.ts.map +1 -1
  309. package/dist/mcp/tools/polls.js +31 -14
  310. package/dist/mcp/tools/polls.js.map +1 -1
  311. package/dist/mcp/tools/reactions.d.ts.map +1 -1
  312. package/dist/mcp/tools/reactions.js +4 -2
  313. package/dist/mcp/tools/reactions.js.map +1 -1
  314. package/dist/mcp/tools/search.d.ts +2 -0
  315. package/dist/mcp/tools/search.d.ts.map +1 -1
  316. package/dist/mcp/tools/tags.d.ts.map +1 -1
  317. package/dist/mcp/tools/tags.js +16 -11
  318. package/dist/mcp/tools/tags.js.map +1 -1
  319. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  320. package/dist/mcp/tools/tasks.js +15 -20
  321. package/dist/mcp/tools/tasks.js.map +1 -1
  322. package/dist/mcp/tools/topics.d.ts.map +1 -1
  323. package/dist/mcp/tools/topics.js +30 -20
  324. package/dist/mcp/tools/topics.js.map +1 -1
  325. package/dist/meetings/cli/passage.d.ts.map +1 -1
  326. package/dist/meetings/cli/passage.js +6 -2
  327. package/dist/meetings/cli/passage.js.map +1 -1
  328. package/dist/sends/guard.js +3 -1
  329. package/dist/sends/guard.js.map +1 -1
  330. package/dist/sends/journal.d.ts.map +1 -1
  331. package/dist/sends/journal.js +11 -8
  332. package/dist/sends/journal.js.map +1 -1
  333. package/dist/sends/permissions.d.ts +1 -1
  334. package/dist/sends/permissions.d.ts.map +1 -1
  335. package/dist/sends/permissions.js +6 -1
  336. package/dist/sends/permissions.js.map +1 -1
  337. package/dist/services/admin.js +2 -2
  338. package/dist/services/admin.js.map +1 -1
  339. package/dist/services/backfill-jobs.d.ts +11 -1
  340. package/dist/services/backfill-jobs.d.ts.map +1 -1
  341. package/dist/services/backfill-jobs.js +36 -4
  342. package/dist/services/backfill-jobs.js.map +1 -1
  343. package/dist/services/chats.d.ts +6 -20
  344. package/dist/services/chats.d.ts.map +1 -1
  345. package/dist/services/chats.js +6 -43
  346. package/dist/services/chats.js.map +1 -1
  347. package/dist/services/conversations.d.ts +18 -4
  348. package/dist/services/conversations.d.ts.map +1 -1
  349. package/dist/services/conversations.js +29 -2
  350. package/dist/services/conversations.js.map +1 -1
  351. package/dist/services/deps.d.ts +5 -0
  352. package/dist/services/deps.d.ts.map +1 -1
  353. package/dist/services/deps.js.map +1 -1
  354. package/dist/services/document-pictures.d.ts +26 -0
  355. package/dist/services/document-pictures.d.ts.map +1 -0
  356. package/dist/services/document-pictures.js +37 -0
  357. package/dist/services/document-pictures.js.map +1 -0
  358. package/dist/services/index.d.ts +8 -3
  359. package/dist/services/index.d.ts.map +1 -1
  360. package/dist/services/index.js +8 -2
  361. package/dist/services/index.js.map +1 -1
  362. package/dist/services/meeting-hit-context.d.ts.map +1 -1
  363. package/dist/services/meeting-hit-context.js +5 -2
  364. package/dist/services/meeting-hit-context.js.map +1 -1
  365. package/dist/services/mentions.d.ts +30 -0
  366. package/dist/services/mentions.d.ts.map +1 -0
  367. package/dist/services/mentions.js +38 -0
  368. package/dist/services/mentions.js.map +1 -0
  369. package/dist/services/messages.d.ts +10 -0
  370. package/dist/services/messages.d.ts.map +1 -1
  371. package/dist/services/messages.js +1 -0
  372. package/dist/services/messages.js.map +1 -1
  373. package/dist/services/notes-search.d.ts +14 -1
  374. package/dist/services/notes-search.d.ts.map +1 -1
  375. package/dist/services/notes-search.js +46 -1
  376. package/dist/services/notes-search.js.map +1 -1
  377. package/dist/services/people.d.ts +1 -1
  378. package/dist/services/people.d.ts.map +1 -1
  379. package/dist/services/people.js +0 -18
  380. package/dist/services/people.js.map +1 -1
  381. package/dist/services/pictures.d.ts +56 -0
  382. package/dist/services/pictures.d.ts.map +1 -0
  383. package/dist/services/pictures.js +226 -0
  384. package/dist/services/pictures.js.map +1 -0
  385. package/dist/services/tags.d.ts +17 -6
  386. package/dist/services/tags.d.ts.map +1 -1
  387. package/dist/services/tags.js +42 -5
  388. package/dist/services/tags.js.map +1 -1
  389. package/dist/services/tasks.d.ts +28 -9
  390. package/dist/services/tasks.d.ts.map +1 -1
  391. package/dist/services/tasks.js +69 -11
  392. package/dist/services/tasks.js.map +1 -1
  393. package/dist/speech/hearing.d.ts +3 -0
  394. package/dist/speech/hearing.d.ts.map +1 -1
  395. package/dist/speech/hearing.js +16 -0
  396. package/dist/speech/hearing.js.map +1 -1
  397. package/dist/speech/install.d.ts +1 -1
  398. package/dist/speech/install.d.ts.map +1 -1
  399. package/dist/speech/install.js.map +1 -1
  400. package/dist/sqlite-runtime.d.ts +1 -1
  401. package/dist/sqlite-runtime.js +2 -2
  402. package/dist/sqlite-runtime.js.map +1 -1
  403. package/dist/store/account-store.d.ts +1 -1
  404. package/dist/store/account-store.d.ts.map +1 -1
  405. package/dist/store/account-store.js +5 -0
  406. package/dist/store/account-store.js.map +1 -1
  407. package/dist/store/drivers/bun-sqlite.js +1 -1
  408. package/dist/store/drivers/bun-sqlite.js.map +1 -1
  409. package/dist/store/index.d.ts +1 -1
  410. package/dist/store/index.d.ts.map +1 -1
  411. package/dist/store/index.js.map +1 -1
  412. package/dist/store/sqlite/conversations.d.ts +36 -4
  413. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  414. package/dist/store/sqlite/conversations.js +20 -3
  415. package/dist/store/sqlite/conversations.js.map +1 -1
  416. package/dist/store/sqlite/document-pictures.d.ts +29 -0
  417. package/dist/store/sqlite/document-pictures.d.ts.map +1 -0
  418. package/dist/store/sqlite/document-pictures.js +81 -0
  419. package/dist/store/sqlite/document-pictures.js.map +1 -0
  420. package/dist/store/sqlite/emails.d.ts +10 -0
  421. package/dist/store/sqlite/emails.d.ts.map +1 -1
  422. package/dist/store/sqlite/emails.js +14 -0
  423. package/dist/store/sqlite/emails.js.map +1 -1
  424. package/dist/store/sqlite/entity-types.d.ts +1 -0
  425. package/dist/store/sqlite/entity-types.d.ts.map +1 -1
  426. package/dist/store/sqlite/entity-types.js +1 -0
  427. package/dist/store/sqlite/entity-types.js.map +1 -1
  428. package/dist/store/sqlite/image-chunks.d.ts +33 -2
  429. package/dist/store/sqlite/image-chunks.d.ts.map +1 -1
  430. package/dist/store/sqlite/image-chunks.js +45 -6
  431. package/dist/store/sqlite/image-chunks.js.map +1 -1
  432. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  433. package/dist/store/sqlite/manifest.js +2 -0
  434. package/dist/store/sqlite/manifest.js.map +1 -1
  435. package/dist/store/sqlite/mentions.d.ts +61 -0
  436. package/dist/store/sqlite/mentions.d.ts.map +1 -0
  437. package/dist/store/sqlite/mentions.js +186 -0
  438. package/dist/store/sqlite/mentions.js.map +1 -0
  439. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  440. package/dist/store/sqlite/migrations.generated.js +19 -0
  441. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  442. package/dist/store/sqlite/note-index.d.ts.map +1 -1
  443. package/dist/store/sqlite/note-index.js +3 -0
  444. package/dist/store/sqlite/note-index.js.map +1 -1
  445. package/dist/store/sqlite/note-search.d.ts +2 -1
  446. package/dist/store/sqlite/note-search.d.ts.map +1 -1
  447. package/dist/store/sqlite/note-search.js +4 -1
  448. package/dist/store/sqlite/note-search.js.map +1 -1
  449. package/dist/store/sqlite/notes.js +1 -1
  450. package/dist/store/sqlite/notes.js.map +1 -1
  451. package/dist/store/sqlite/schema.d.ts +339 -0
  452. package/dist/store/sqlite/schema.d.ts.map +1 -1
  453. package/dist/store/sqlite/schema.js +35 -0
  454. package/dist/store/sqlite/schema.js.map +1 -1
  455. package/dist/store/sqlite/tags.d.ts +7 -0
  456. package/dist/store/sqlite/tags.d.ts.map +1 -1
  457. package/dist/store/sqlite/tags.js +16 -9
  458. package/dist/store/sqlite/tags.js.map +1 -1
  459. package/dist/store/sqlite/tasks.d.ts +11 -1
  460. package/dist/store/sqlite/tasks.d.ts.map +1 -1
  461. package/dist/store/sqlite/tasks.js +11 -0
  462. package/dist/store/sqlite/tasks.js.map +1 -1
  463. package/dist/store/store.d.ts +57 -3
  464. package/dist/store/store.d.ts.map +1 -1
  465. package/dist/store/store.js +57 -7
  466. package/dist/store/store.js.map +1 -1
  467. package/package.json +6 -5
  468. package/parity.json +65 -104
  469. package/skills/follow-ups/SKILL.md +1 -1
  470. package/dist/cli/messenger/after.d.ts +0 -20
  471. package/dist/cli/messenger/after.d.ts.map +0 -1
  472. package/dist/cli/messenger/after.js +0 -27
  473. package/dist/cli/messenger/after.js.map +0 -1
@@ -33,18 +33,19 @@ export const saveImageChunks = ({ orm, now }, accountPk, chatKey, chunks, keep)
33
33
  const inChat = sql `chunkable_id IN (SELECT a.id FROM attachments a JOIN messages m
34
34
  ON a.attachable_type = 'message' AND m.id = a.attachable_id WHERE m.chat_id = ${chatKey})`;
35
35
  const gone = sql `chunkable_type = 'image' AND (
36
- (${inChat} AND chunkable_id NOT IN (SELECT value FROM json_each(${JSON.stringify(keep)})))
36
+ (${inChat} AND position = 0 AND chunkable_id NOT IN (SELECT value FROM json_each(${JSON.stringify(keep)})))
37
37
  OR (account_id = ${accountPk} AND NOT EXISTS (SELECT 1 FROM attachments a WHERE a.id = chunkable_id)))`;
38
38
  for (const { hash } of orm.all(sql `SELECT content_hash AS hash FROM chunks WHERE ${gone}`))
39
39
  old.add(hash);
40
40
  orm.run(sql `DELETE FROM chunks WHERE ${gone}`);
41
41
  for (const { attachmentPk, hash, length, occurredAt } of chunks) {
42
- const held = orm.get(sql `SELECT content_hash AS hash FROM chunks WHERE chunkable_type = 'image' AND chunkable_id = ${attachmentPk}`);
42
+ const held = orm.get(sql `SELECT content_hash AS hash FROM chunks
43
+ WHERE chunkable_type = 'image' AND chunkable_id = ${attachmentPk} AND position = 0`);
43
44
  if (held?.hash === hash)
44
45
  continue;
45
46
  if (held)
46
47
  old.add(held.hash);
47
- orm.run(sql `DELETE FROM chunks WHERE chunkable_type = 'image' AND chunkable_id = ${attachmentPk}`);
48
+ orm.run(sql `DELETE FROM chunks WHERE chunkable_type = 'image' AND chunkable_id = ${attachmentPk} AND position = 0`);
48
49
  orm.run(sql `INSERT INTO chunks (chunkable_type, chunkable_id, position, start_offset, end_offset, content_hash, scope,
49
50
  account_id, occurred_at, created_at, updated_at)
50
51
  VALUES ('image', ${attachmentPk}, 0, 0, ${length}, ${hash}, ${scope}, ${accountPk}, ${occurredAt}, ${at}, ${at})`);
@@ -61,8 +62,11 @@ export const embeddedHashes = ({ orm }, model, hashes) => new Set(hashes.length
61
62
  WHERE model = ${model} AND content_hash IN (SELECT value FROM json_each(${JSON.stringify(hashes)}))`)
62
63
  .map(({ hash }) => hash));
63
64
  const SCAN_PAGE = 5_000;
64
- /** The images of the account nearest to `query` by the vector of their context, best first. */
65
- export const nearestImages = ({ orm }, accountPk, { chatKey, model, since, limit, query, }) => {
65
+ /**
66
+ * The images of the account nearest to `query` by the vector of `model`, best first. Position 0 of an image is
67
+ * its context text, position 1 its picture (`PICTURE_POSITION`): a model's vectors only ever sit at one.
68
+ */
69
+ export const nearestImages = ({ orm }, accountPk, { chatKey, model, since, limit, query, position = 0, }) => {
66
70
  const found = [];
67
71
  let after = 0;
68
72
  for (;;) {
@@ -71,7 +75,8 @@ export const nearestImages = ({ orm }, accountPk, { chatKey, model, since, limit
71
75
  JOIN messages m ON m.id = a.attachable_id AND m.deleted_at IS NULL
72
76
  JOIN chats ch ON ch.id = m.chat_id
73
77
  JOIN embeddings v ON v.model = ${model} AND v.content_hash = k.content_hash
74
- WHERE k.chunkable_type = 'image' AND ch.account_id = ${accountPk} AND k.id > ${after}
78
+ WHERE k.chunkable_type = 'image' AND k.position = ${position} AND ch.account_id = ${accountPk}
79
+ AND k.id > ${after}
75
80
  ${chatKey === undefined ? sql `` : sql `AND m.chat_id = ${chatKey}`}
76
81
  ${since === undefined ? sql `` : sql `AND k.occurred_at >= ${since}`}
77
82
  ORDER BY k.id LIMIT ${SCAN_PAGE}`);
@@ -84,4 +89,38 @@ export const nearestImages = ({ orm }, accountPk, { chatKey, model, since, limit
84
89
  }
85
90
  return found.sort((a, b) => b.score - a.score).slice(0, limit);
86
91
  };
92
+ /** An image's own vector is its chunk at this position; position 0 is the text around it. */
93
+ export const PICTURE_POSITION = 1;
94
+ /** Live image attachments of the account that have no picture chunk yet, oldest id first, from `after`. */
95
+ export const picturesToEmbed = ({ orm }, accountPk, { chatKey, after, limit }) => orm.all(sql `SELECT a.id AS attachmentPk, ch.external_id AS chatId, m.external_id AS messageId, a.position,
96
+ a.name, a.mime, a.kind, a.local_path AS localPath, m.sent_at AS sentAt
97
+ FROM attachments a JOIN messages m ON a.attachable_type = 'message' AND m.id = a.attachable_id
98
+ JOIN chats ch ON ch.id = m.chat_id
99
+ WHERE ch.account_id = ${accountPk} AND m.deleted_at IS NULL AND ${IS_IMAGE} AND a.id > ${after ?? 0}
100
+ ${chatKey === undefined ? sql `` : sql `AND m.chat_id = ${chatKey}`}
101
+ AND NOT EXISTS (SELECT 1 FROM chunks k WHERE k.chunkable_type = 'image' AND k.chunkable_id = a.id
102
+ AND k.position = ${PICTURE_POSITION})
103
+ ORDER BY a.id LIMIT ${limit}`);
104
+ /** Makes each hash the picture chunk of its image; the vectors are saved apart, by `saveVectors`. */
105
+ export const savePictureChunks = ({ orm, now }, accountPk, pictures) => {
106
+ const at = now();
107
+ const scope = orm.get(sql `SELECT scope FROM accounts WHERE id = ${accountPk}`)?.scope ?? null;
108
+ // A deleted message keeps no trace of its picture, as it keeps none of its text.
109
+ const gone = sql `chunkable_type = 'image' AND position = ${PICTURE_POSITION} AND account_id = ${accountPk}
110
+ AND NOT EXISTS (SELECT 1 FROM attachments a JOIN messages m ON a.attachable_type = 'message'
111
+ AND m.id = a.attachable_id WHERE a.id = chunkable_id AND m.deleted_at IS NULL)`;
112
+ const dropped = orm.all(sql `SELECT content_hash AS hash FROM chunks WHERE ${gone}`);
113
+ orm.run(sql `DELETE FROM chunks WHERE ${gone}`);
114
+ for (const { hash } of dropped)
115
+ orm.run(sql `DELETE FROM embeddings WHERE content_hash = ${hash}
116
+ AND NOT EXISTS (SELECT 1 FROM chunks WHERE content_hash = ${hash})`);
117
+ for (const { attachmentPk, hash, bytes, occurredAt } of pictures) {
118
+ orm.run(sql `DELETE FROM chunks WHERE chunkable_type = 'image' AND chunkable_id = ${attachmentPk}
119
+ AND position = ${PICTURE_POSITION}`);
120
+ orm.run(sql `INSERT INTO chunks (chunkable_type, chunkable_id, position, start_offset, end_offset, content_hash, scope,
121
+ account_id, occurred_at, created_at, updated_at)
122
+ VALUES ('image', ${attachmentPk}, ${PICTURE_POSITION}, 0, ${bytes}, ${hash}, ${scope}, ${accountPk},
123
+ ${occurredAt}, ${at}, ${at})`);
124
+ }
125
+ };
87
126
  //# sourceMappingURL=image-chunks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-chunks.js","sourceRoot":"","sources":["../../../src/store/sqlite/image-chunks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-chunks.js","sourceRoot":"","sources":["../../../src/store/sqlite/image-chunks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,4FAA4F;AAC5F,eAAO,MAAM,QAAQ,EAAE,aAAa,EAQnC,CAAA;AAED,eAAO,MAAM,mBAAmB,cACpB,aAAa,EAAE,cACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,KAClD,SAAS,EAeX,CAAA"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,4FAA4F;AAC5F,eAAO,MAAM,QAAQ,EAAE,aAAa,EAUnC,CAAA;AAED,eAAO,MAAM,mBAAmB,cACpB,aAAa,EAAE,cACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,KAClD,SAAS,EAeX,CAAA"}
@@ -8,6 +8,8 @@ export const MANIFEST = [
8
8
  { name: "20261011172120_version-4-task-next-check", version: 4, minCompatible: 1 },
9
9
  { name: "20261013090001_version-5-file-name-words", version: 5, minCompatible: 1 },
10
10
  { name: "20261013201057_version-6-query-tree-keys", version: 6, minCompatible: 1 },
11
+ { name: "20261013215247_version-7-mentions", version: 7, minCompatible: 1 },
12
+ { name: "20261013215251_version-7-mentions-triggers", version: 7, minCompatible: 1 },
11
13
  ];
12
14
  export const generatedMigrations = (manifest = MANIFEST, generated = GENERATED) => {
13
15
  const migrations = [];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAgBrD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAChE,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACxE,EAAE,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACtF,EAAE,IAAI,EAAE,qCAAqC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7E,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;CACnF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAQ,GAAoB,QAAQ,EACpC,SAAS,GAA6C,SAAS,EAClD,EAAE;IACf,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,gEAAgE,CAAC,CAAA;QACpH,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACpH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAgBrD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAChE,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACxE,EAAE,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACtF,EAAE,IAAI,EAAE,qCAAqC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7E,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC3E,EAAE,IAAI,EAAE,4CAA4C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;CACrF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAQ,GAAoB,QAAQ,EACpC,SAAS,GAA6C,SAAS,EAClD,EAAE;IACf,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,gEAAgE,CAAC,CAAA;QACpH,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACpH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { type QueryAst } from "@wirecat/cli-base/query";
2
+ import { type MentionKind } from "../../domain/mentions.js";
3
+ import type { CacheDatabase } from "../driver.js";
4
+ /** A stored mention of a message's text, with what `mentions list` and `show` need to point at it. */
5
+ export interface StoredMention {
6
+ id: number;
7
+ kind: MentionKind;
8
+ value: string;
9
+ domain: string | null;
10
+ confidence: number;
11
+ status: MentionStatus;
12
+ /** The message it was found in: its chat's and its own id in the messenger. */
13
+ chatId: string;
14
+ messageId: string;
15
+ sentAt: string;
16
+ /** What was written, read back from the message: never copied into the mention. */
17
+ written: string;
18
+ }
19
+ export declare const MENTION_STATUSES: readonly ["found", "linked", "dismissed"];
20
+ export type MentionStatus = (typeof MENTION_STATUSES)[number];
21
+ /** The fields of `mentions list`; a bare word is a `value`. */
22
+ export declare const MENTION_QUERY: import("@wirecat/cli-base/query").QueryRegistry;
23
+ export interface MentionsState {
24
+ /** Messages written or edited since their mentions were found. */
25
+ pending: number;
26
+ /** When `mentions rebuild` last read every stored message; `null` before the first. */
27
+ rebuiltAt: string | null;
28
+ }
29
+ export interface MentionsRebuild {
30
+ messages: number;
31
+ mentions: number;
32
+ }
33
+ /** Mentions a store write finds before it commits: an older binary may have queued thousands. */
34
+ export declare const DRAIN_ON_WRITE = 500;
35
+ /** Finds the mentions of the messages a store write queued, inside that write's transaction. */
36
+ export declare const drainMentions: (database: CacheDatabase, now: number, limit?: number) => number;
37
+ /**
38
+ * Finds the mentions of every stored message again, in short write transactions. Decisions stay: a linked or
39
+ * dismissed mention's status moves to the new row with the same kind and value. `kinds` redoes only those.
40
+ */
41
+ export declare const rebuildMentions: (database: CacheDatabase, { now, kinds, onBatch, }: {
42
+ now: number;
43
+ kinds?: readonly MentionKind[];
44
+ onBatch?: (done: number, total: number) => void;
45
+ }) => MentionsRebuild;
46
+ export declare const mentionsState: (database: CacheDatabase) => MentionsState;
47
+ /** One account's mentions that match the query, newest message first. `limit` absent is every row. */
48
+ export declare const listMentions: (database: CacheDatabase, accountPk: number, query: QueryAst | undefined, { limit, offset }: {
49
+ limit?: number;
50
+ offset: number;
51
+ }) => {
52
+ items: StoredMention[];
53
+ hasMore: boolean;
54
+ };
55
+ /** One mention of the account, with the text around it and how many other places hold the same value. */
56
+ export declare const showMention: (database: CacheDatabase, accountPk: number, id: number, around?: number) => (StoredMention & {
57
+ before: string;
58
+ after: string;
59
+ sameValue: number;
60
+ }) | undefined;
61
+ //# sourceMappingURL=mentions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAIL,KAAK,WAAW,EAGjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,cAAc,CAAA;AAG3D,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,aAAa,CAAA;IACrB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,gBAAgB,YAAI,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAA;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,+DAA+D;AAC/D,eAAO,MAAM,aAAa,iDAqBxB,CAAA;AASF,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,iGAAiG;AACjG,eAAO,MAAM,cAAc,MAAM,CAAA;AA0DjC,gGAAgG;AAChG,eAAO,MAAM,aAAa,aAAc,aAAa,OAAO,MAAM,qBAA2B,MAc5F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,aAChB,aAAa,4BAKpB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAClG,eAqCF,CAAA;AAED,eAAO,MAAM,aAAa,aAAc,aAAa,KAAG,aAIvD,CAAA;AAqBD,sGAAsG;AACtG,eAAO,MAAM,YAAY,aACb,aAAa,aACZ,MAAM,SACV,QAAQ,GAAG,SAAS,qBACR;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACpD;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAkB5C,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,WAAW,aACZ,aAAa,aACZ,MAAM,MACb,MAAM,sBAET,CAAC,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAiB3E,CAAA"}
@@ -0,0 +1,186 @@
1
+ import { defineQuery } from "@wirecat/cli-base/query";
2
+ import { findMentions, MENTION_KINDS, MENTION_VERSIONS, normalizedValue, siteOf, } from "../../domain/mentions.js";
3
+ import { queryFilter } from "./query-filter.js";
4
+ export const MENTION_STATUSES = ["found", "linked", "dismissed"];
5
+ /** The fields of `mentions list`; a bare word is a `value`. */
6
+ export const MENTION_QUERY = defineQuery({
7
+ entity: "mention",
8
+ backend: "sql",
9
+ fields: [
10
+ { name: "kind", type: "enum", values: [...MENTION_KINDS], operators: ["term"], example: "kind:phone" },
11
+ { name: "status", type: "enum", values: [...MENTION_STATUSES], operators: ["term"], example: "status:found" },
12
+ {
13
+ name: "domain",
14
+ type: "kw",
15
+ operators: ["term", "phrase"],
16
+ example: "domain:google.com",
17
+ relation: "the site of a link or an address; docs.google.com means google.com",
18
+ },
19
+ {
20
+ name: "value",
21
+ type: "kw",
22
+ operators: ["term", "phrase"],
23
+ example: 'value:"8 900 000-00-01"',
24
+ relation: "the value in the form it is stored: a phone as +7…, a lower-case address, a link without tracking",
25
+ },
26
+ ],
27
+ });
28
+ const COLUMNS = {
29
+ kind: { type: "enum", sql: "mn.kind" },
30
+ status: { type: "enum", sql: "mn.status" },
31
+ domain: { where: (node) => ({ sql: "mn.domain = ?", params: [siteOf(node.value.toLowerCase())] }) },
32
+ value: { where: (node) => ({ sql: "mn.value = ?", params: [normalizedValue(node.value)] }) },
33
+ };
34
+ /** Mentions a store write finds before it commits: an older binary may have queued thousands. */
35
+ export const DRAIN_ON_WRITE = 500;
36
+ const REBUILD_BATCH = 1000;
37
+ const REBUILT_AT = "mentionsRebuiltAt";
38
+ const METHOD = "rules";
39
+ const writer = (database, now, kinds) => {
40
+ const only = kinds ? ` AND kind IN (${kinds.map(() => "?").join(", ")})` : "";
41
+ const decided = database.prepare("SELECT kind, value, status, target_type, target_id, author FROM mentions " +
42
+ `WHERE source_type = 'message' AND source_id = ? AND status <> 'found'${only}`);
43
+ const remove = database.prepare(`DELETE FROM mentions WHERE source_type = 'message' AND source_id = ?${only}`);
44
+ const insert = database.prepare("INSERT OR IGNORE INTO mentions (kind, source_type, source_id, source_field, start_offset, end_offset, value, " +
45
+ "domain, method, version, confidence, status, target_type, target_id, author, created_at, updated_at) " +
46
+ "VALUES (?, 'message', ?, 'text', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
47
+ const scope = kinds ?? [];
48
+ return (messagePk, text) => {
49
+ const kept = new Map(decided.all(messagePk, ...scope).map((row) => [`${row.kind}\u0000${row.value}`, row]));
50
+ remove.run(messagePk, ...scope);
51
+ if (text === null)
52
+ return 0;
53
+ let written = 0;
54
+ for (const found of findMentions(text)) {
55
+ if (kinds && !kinds.includes(found.kind))
56
+ continue;
57
+ const decision = kept.get(`${found.kind}\u0000${found.value}`);
58
+ written += Number(insert.run(found.kind, messagePk, found.start, found.end, found.value, found.domain, METHOD, MENTION_VERSIONS[found.kind], found.confidence, decision ? String(decision.status) : "found", decision?.target_type == null ? null : String(decision.target_type), decision?.target_id == null ? null : Number(decision.target_id), decision?.author == null ? null : String(decision.author), now, now).changes);
59
+ }
60
+ return written;
61
+ };
62
+ };
63
+ const liveText = (database) => {
64
+ const read = database.prepare("SELECT text FROM messages WHERE id = ? AND deleted_at IS NULL");
65
+ return (pk) => {
66
+ const row = read.get(pk);
67
+ return row ? String(row.text) : null;
68
+ };
69
+ };
70
+ /** Finds the mentions of the messages a store write queued, inside that write's transaction. */
71
+ export const drainMentions = (database, now, limit = DRAIN_ON_WRITE) => {
72
+ const queued = database
73
+ .prepare("SELECT source_id FROM mention_pending WHERE source_type = 'message' ORDER BY source_id LIMIT ?")
74
+ .all(limit)
75
+ .map((row) => Number(row.source_id));
76
+ if (queued.length === 0)
77
+ return 0;
78
+ const write = writer(database, now, undefined);
79
+ const text = liveText(database);
80
+ const dequeue = database.prepare("DELETE FROM mention_pending WHERE source_type = 'message' AND source_id = ?");
81
+ for (const pk of queued) {
82
+ write(pk, text(pk));
83
+ dequeue.run(pk);
84
+ }
85
+ return queued.length;
86
+ };
87
+ /**
88
+ * Finds the mentions of every stored message again, in short write transactions. Decisions stay: a linked or
89
+ * dismissed mention's status moves to the new row with the same kind and value. `kinds` redoes only those.
90
+ */
91
+ export const rebuildMentions = (database, { now, kinds, onBatch, }) => {
92
+ const total = Number(database.prepare("SELECT count(*) AS n FROM messages WHERE deleted_at IS NULL").get()?.n);
93
+ const batch = database.prepare("SELECT id, text FROM messages WHERE id > ? AND deleted_at IS NULL ORDER BY id LIMIT ?");
94
+ let after = 0;
95
+ let messages = 0;
96
+ let mentions = 0;
97
+ for (;;) {
98
+ const rows = batch.all(after, REBUILD_BATCH);
99
+ if (rows.length === 0)
100
+ break;
101
+ database.exec("BEGIN IMMEDIATE");
102
+ try {
103
+ const write = writer(database, now, kinds);
104
+ const dequeue = database.prepare("DELETE FROM mention_pending WHERE source_type = 'message' AND source_id = ?");
105
+ for (const row of rows) {
106
+ mentions += write(Number(row.id), String(row.text));
107
+ if (!kinds)
108
+ dequeue.run(Number(row.id));
109
+ }
110
+ database.exec("COMMIT");
111
+ }
112
+ catch (error) {
113
+ database.exec("ROLLBACK");
114
+ throw error;
115
+ }
116
+ messages += rows.length;
117
+ after = Number(rows.at(-1)?.id);
118
+ onBatch?.(messages, total);
119
+ }
120
+ if (!kinds) {
121
+ database
122
+ .prepare("INSERT INTO store_settings (key, value, at) VALUES (?, ?, ?) " +
123
+ "ON CONFLICT (key) DO UPDATE SET value = excluded.value, at = excluded.at")
124
+ .run(REBUILT_AT, JSON.stringify(new Date(now).toISOString()), now);
125
+ }
126
+ return { messages, mentions };
127
+ };
128
+ export const mentionsState = (database) => {
129
+ const pending = Number(database.prepare("SELECT count(*) AS n FROM mention_pending").get()?.n);
130
+ const row = database.prepare("SELECT value FROM store_settings WHERE key = ?").get(REBUILT_AT);
131
+ return { pending, rebuiltAt: row ? JSON.parse(String(row.value)) : null };
132
+ };
133
+ const SELECT = "SELECT mn.id, mn.kind, mn.value, mn.domain, mn.confidence, mn.status, mn.start_offset, mn.end_offset, " +
134
+ "m.text, m.external_id AS message_id, m.sent_at, c.external_id AS chat_id " +
135
+ "FROM mentions mn JOIN messages m ON mn.source_type = 'message' AND m.id = mn.source_id AND m.deleted_at IS NULL " +
136
+ "JOIN chats c ON c.id = m.chat_id ";
137
+ const stored = (row) => ({
138
+ id: Number(row.id),
139
+ kind: String(row.kind),
140
+ value: String(row.value),
141
+ domain: row.domain == null ? null : String(row.domain),
142
+ confidence: Number(row.confidence),
143
+ status: String(row.status),
144
+ chatId: String(row.chat_id),
145
+ messageId: String(row.message_id),
146
+ sentAt: new Date(Number(row.sent_at)).toISOString(),
147
+ written: String(row.text).slice(Number(row.start_offset), Number(row.end_offset)),
148
+ });
149
+ /** One account's mentions that match the query, newest message first. `limit` absent is every row. */
150
+ export const listMentions = (database, accountPk, query, { limit, offset }) => {
151
+ const where = ["m.account_id = ?"];
152
+ const params = [accountPk];
153
+ if (query) {
154
+ const compiled = queryFilter(query, COLUMNS);
155
+ if (compiled.sql) {
156
+ where.push(`(${compiled.sql})`);
157
+ params.push(...compiled.params);
158
+ }
159
+ }
160
+ const rows = database
161
+ .prepare(`${SELECT}WHERE ${where.join(" AND ")} ORDER BY m.sent_at DESC, m.id DESC, mn.start_offset, mn.id LIMIT ? OFFSET ?`)
162
+ .all(...params, limit === undefined ? -1 : limit + 1, offset);
163
+ const items = rows.map(stored);
164
+ if (limit === undefined || items.length <= limit)
165
+ return { items, hasMore: false };
166
+ return { items: items.slice(0, limit), hasMore: true };
167
+ };
168
+ /** One mention of the account, with the text around it and how many other places hold the same value. */
169
+ export const showMention = (database, accountPk, id, around = 80) => {
170
+ const row = database.prepare(`${SELECT}WHERE mn.id = ? AND m.account_id = ?`).get(id, accountPk);
171
+ if (!row)
172
+ return undefined;
173
+ const text = String(row.text);
174
+ const start = Number(row.start_offset);
175
+ const end = Number(row.end_offset);
176
+ const sameValue = Number(database
177
+ .prepare("SELECT count(*) AS n FROM mentions WHERE kind = ? AND value = ? AND id <> ?")
178
+ .get(String(row.kind), String(row.value), id)?.n);
179
+ return {
180
+ ...stored(row),
181
+ before: text.slice(Math.max(0, start - around), start),
182
+ after: text.slice(end, end + around),
183
+ sameValue,
184
+ };
185
+ };
186
+ //# sourceMappingURL=mentions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.generated.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAsW7D,CAAA"}
1
+ {"version":3,"file":"migrations.generated.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAyX7D,CAAA"}
@@ -356,6 +356,25 @@ export const GENERATED = [
356
356
  "-- A query tree kept in a search — `params.ast` and a ranking's `params.selection` — takes cli-base 0.26's keys:\n-- `lower_inclusive`, `upper_inclusive` and the occur `must_not`. A text replace keeps every key in place, so\n-- `params` stays the canonical text that history matches on; inside a JSON string these quotes are escaped, so a\n-- message's words never match.\nUPDATE searches SET params = json_set(params, '$.ast', json(\n replace(replace(replace(json_extract(params, '$.ast'),\n '\"lowerInclusive\":', '\"lower_inclusive\":'),\n '\"upperInclusive\":', '\"upper_inclusive\":'),\n '\"occur\":\"mustNot\"', '\"occur\":\"must_not\"')))\nWHERE json_type(params, '$.ast') = 'object';",
357
357
  "UPDATE searches SET params = json_set(params, '$.selection', json(\n replace(replace(replace(json_extract(params, '$.selection'),\n '\"lowerInclusive\":', '\"lower_inclusive\":'),\n '\"upperInclusive\":', '\"upper_inclusive\":'),\n '\"occur\":\"mustNot\"', '\"occur\":\"must_not\"')))\nWHERE json_type(params, '$.selection') = 'object';"
358
358
  ]
359
+ },
360
+ {
361
+ "name": "20261013215247_version-7-mentions",
362
+ "statements": [
363
+ "CREATE TABLE `mention_pending` (\n\t`source_type` text NOT NULL,\n\t`source_id` integer NOT NULL,\n\tCONSTRAINT `mention_pending_pk` PRIMARY KEY(`source_type`, `source_id`)\n);",
364
+ "CREATE TABLE `mentions` (\n\t`id` integer PRIMARY KEY,\n\t`kind` text NOT NULL,\n\t`source_type` text NOT NULL,\n\t`source_id` integer NOT NULL,\n\t`source_field` text NOT NULL,\n\t`start_offset` integer NOT NULL,\n\t`end_offset` integer NOT NULL,\n\t`value` text NOT NULL,\n\t`domain` text,\n\t`method` text NOT NULL,\n\t`version` integer NOT NULL,\n\t`confidence` real NOT NULL,\n\t`status` text NOT NULL,\n\t`target_type` text,\n\t`target_id` integer,\n\t`author` text,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\tCONSTRAINT `mentions_source_type_source_id_source_field_start_offset_kind_unique` UNIQUE(`source_type`,`source_id`,`source_field`,`start_offset`,`kind`)\n);",
365
+ "CREATE INDEX `mentions_by_kind_value` ON `mentions` (`kind`,`value`);",
366
+ "CREATE INDEX `mentions_by_domain` ON `mentions` (`domain`) WHERE domain IS NOT NULL;",
367
+ "CREATE INDEX `mentions_by_status_kind` ON `mentions` (`status`,`kind`);",
368
+ "CREATE INDEX `mentions_by_target_type_target_id` ON `mentions` (`target_type`,`target_id`) WHERE target_id IS NOT NULL;"
369
+ ]
370
+ },
371
+ {
372
+ "name": "20261013215251_version-7-mentions-triggers",
373
+ "statements": [
374
+ "-- Finding mentions needs JS, so the triggers only queue the message and the store's next write finds them.\n-- Messages stored before version 7 are not queued here: `mentions rebuild` reads them in batches.\nCREATE TRIGGER mention_pending_message_ai AFTER INSERT ON messages WHEN new.text <> '' BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('message', new.id);\nEND;",
375
+ "CREATE TRIGGER mention_pending_message_au AFTER UPDATE OF text ON messages WHEN old.text IS NOT new.text BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('message', new.id);\nEND;",
376
+ "CREATE TRIGGER mentions_message_ad AFTER DELETE ON messages BEGIN\n DELETE FROM mentions WHERE source_type = 'message' AND source_id = old.id;\n DELETE FROM mention_pending WHERE source_type = 'message' AND source_id = old.id;\nEND;"
377
+ ]
359
378
  }
360
379
  ];
361
380
  //# sourceMappingURL=migrations.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.generated.js","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.generated.js","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"note-index.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAMjD,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAA;CACf;AAED,eAAO,MAAM,OAAO;;iBAEhB,IAAI,EAAE,UAAU;iBAChB,KAAK,EAAE,gBAAgB;iBACvB,KAAK,EAAE,WAAW;iBAClB,IAAI;;;iBAKJ,IAAI,EAAE,MAAM;iBACZ,KAAK,EAAE,YAAY;iBACnB,KAAK,EAAE,OAAO;iBACd,IAAI,EAAE,6FAA6F;;;iBAGnG,IAAI,EAAE,QAAQ;iBACd,KAAK,EAAE,cAAc;iBACrB,KAAK,EAAE,UAAU;iBACjB,IAAI,EAAE,8FAA8F;;;iBAGpG,IAAI,EAAE,OAAO;iBACb,KAAK,EAAE,aAAa;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI;iBAGJ,MAAM;;CAEiC,CAAA;AAE3C,yFAAyF;AACzF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,IAAI,QAAQ,MAAM,KAAG,MAAgD,CAAA;AAEnH,eAAO,MAAM,gBAAgB,aAAc,aAAa,UAAU,MAAM,KAAG,cAU1E,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,cASxD,CAAA;AA+DD;;;GAGG;AACH,eAAO,MAAM,WAAW,aACZ,aAAa,UACf,MAAM,cACF,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,qBACL;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KAC9E,MA2CF,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,aACf,aAAa,cACX,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,YAClC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KACjD,MAEuD,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,OAUxD,CAAA"}
1
+ {"version":3,"file":"note-index.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAOjD,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAA;CACf;AAED,eAAO,MAAM,OAAO;;iBAEhB,IAAI,EAAE,UAAU;iBAChB,KAAK,EAAE,gBAAgB;iBACvB,KAAK,EAAE,WAAW;iBAClB,IAAI;;;iBAKJ,IAAI,EAAE,MAAM;iBACZ,KAAK,EAAE,YAAY;iBACnB,KAAK,EAAE,OAAO;iBACd,IAAI,EAAE,6FAA6F;;;iBAGnG,IAAI,EAAE,QAAQ;iBACd,KAAK,EAAE,cAAc;iBACrB,KAAK,EAAE,UAAU;iBACjB,IAAI,EAAE,8FAA8F;;;iBAGpG,IAAI,EAAE,OAAO;iBACb,KAAK,EAAE,aAAa;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI;iBAGJ,MAAM;;CAEiC,CAAA;AAE3C,yFAAyF;AACzF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,IAAI,QAAQ,MAAM,KAAG,MAAgD,CAAA;AAEnH,eAAO,MAAM,gBAAgB,aAAc,aAAa,UAAU,MAAM,KAAG,cAU1E,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,cASxD,CAAA;AAgED;;;GAGG;AACH,eAAO,MAAM,WAAW,aACZ,aAAa,UACf,MAAM,cACF,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,qBACL;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KAC9E,MA2CF,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,aACf,aAAa,cACX,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,YAClC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KACjD,MAEuD,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,OAUxD,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { CHUNK_CHARS, chunkHash, splitSections, splitText } from "../../conversations/chunks.js";
2
2
  import { analyzerIdentity, DEFAULT_STEMMERS } from "../../search/stem.js";
3
3
  import { normalize } from "../normalize.js";
4
+ import { dropDocumentPicture } from "./document-pictures.js";
4
5
  import { int } from "./events.js";
5
6
  import { inBatch, indexRow } from "./search-index.js";
6
7
  import { savedStemmers } from "./stems.js";
@@ -110,6 +111,8 @@ const writer = (database, corpus, stemmer) => {
110
111
  for (const hash of before)
111
112
  if (!after.has(hash))
112
113
  statements.purge.run(hash, hash);
114
+ if (!live && corpus.type === "document")
115
+ dropDocumentPicture(database, id);
113
116
  statements.dequeue.run(corpus.type, id);
114
117
  };
115
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"note-index.js","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"note-index.js","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ResolvedNode } from "../../search/lucene/resolved.js";
2
2
  import type { Stemmer } from "../../search/stem.js";
3
+ import { type DocumentPictureStore } from "./document-pictures.js";
3
4
  import { type NoteIndexState } from "./note-index.js";
4
5
  import { type Note } from "./notes.js";
5
6
  import type { StoreContext } from "./open.js";
@@ -47,7 +48,7 @@ export interface NearestNote {
47
48
  end: number;
48
49
  };
49
50
  }
50
- export interface NoteSearch {
51
+ export interface NoteSearch extends DocumentPictureStore {
51
52
  /** Indexes what was written since, then searches; a note written a moment ago is found. */
52
53
  search(query: NoteQuery): Promise<{
53
54
  items: NoteHit[];
@@ -1 +1 @@
1
- {"version":3,"file":"note-search.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"note-search.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-search.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { compileAutomaton, foldRegex, wildcardPattern, } from "../../search/luce
4
4
  import { isStemmed } from "../../search/lucene/resolved.js";
5
5
  import { exhausted, QUERY_LIMITS, searchError } from "../../search/lucene/types.js";
6
6
  import { normalize } from "../normalize.js";
7
+ import { documentPicturesOver } from "./document-pictures.js";
7
8
  import { linkKind } from "./link-kinds.js";
8
9
  import { prefixOf } from "./lucene.js";
9
10
  import { drainNoteIndex, noteIndexState, noteIndexText } from "./note-index.js";
@@ -228,6 +229,7 @@ const searchCorpus = (context, query, corpus) => {
228
229
  const stemmed = [...fragments.keys()].some(isStemmed);
229
230
  const scope = combine([
230
231
  bound("n.deleted_at IS NULL"),
232
+ ...(corpus.type === "document" ? [bound("coalesce(json_extract(n.metadata, '$.catalog.active'), 1)=1")] : []),
231
233
  ...(query.folderIds?.length && corpus.type === "document"
232
234
  ? [bound("n.folder_id IN (SELECT CAST(value AS INTEGER) FROM json_each(?))", JSON.stringify(query.folderIds))]
233
235
  : []),
@@ -299,7 +301,7 @@ const searchCorpus = (context, query, corpus) => {
299
301
  };
300
302
  const SCAN_PAGE = 5_000;
301
303
  /** The live documents and notes of a chunk scan, narrowed by folder and source. */
302
- const LIVE = "((k.chunkable_type = 'document' AND EXISTS (SELECT 1 FROM documents d WHERE d.id = k.chunkable_id AND d.deleted_at IS NULL " +
304
+ const LIVE = "((k.chunkable_type = 'document' AND EXISTS (SELECT 1 FROM documents d WHERE d.id = k.chunkable_id AND d.deleted_at IS NULL AND coalesce(json_extract(d.metadata, '$.catalog.active'), 1)=1 " +
303
305
  "AND (? IS NULL OR d.account_id IN (SELECT CAST(value AS INTEGER) FROM json_each(?))))) " +
304
306
  "OR (k.chunkable_type = 'note' AND ? IS NULL AND EXISTS (SELECT 1 FROM notes n WHERE n.id = k.chunkable_id AND n.deleted_at IS NULL)))";
305
307
  export const noteSearchOver = (context) => {
@@ -319,6 +321,7 @@ export const noteSearchOver = (context) => {
319
321
  };
320
322
  };
321
323
  return {
324
+ ...documentPicturesOver(context),
322
325
  search: async (query) => {
323
326
  drain();
324
327
  return searchNotes(context, query);