@wirecat/cli-core 0.270.0 → 0.272.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 (668) hide show
  1. package/dist/cli/bot/admins.d.ts.map +1 -1
  2. package/dist/cli/bot/admins.js +5 -5
  3. package/dist/cli/bot/admins.js.map +1 -1
  4. package/dist/cli/bot/api.d.ts.map +1 -1
  5. package/dist/cli/bot/api.js +5 -1
  6. package/dist/cli/bot/api.js.map +1 -1
  7. package/dist/cli/bot/command.d.ts.map +1 -1
  8. package/dist/cli/bot/command.js +15 -18
  9. package/dist/cli/bot/command.js.map +1 -1
  10. package/dist/cli/bot/mcp.d.ts.map +1 -1
  11. package/dist/cli/bot/mcp.js +4 -2
  12. package/dist/cli/bot/mcp.js.map +1 -1
  13. package/dist/cli/bot/messages.d.ts.map +1 -1
  14. package/dist/cli/bot/messages.js +7 -6
  15. package/dist/cli/bot/messages.js.map +1 -1
  16. package/dist/cli/bot/moderation.d.ts.map +1 -1
  17. package/dist/cli/bot/moderation.js +5 -5
  18. package/dist/cli/bot/moderation.js.map +1 -1
  19. package/dist/cli/bot/people.d.ts.map +1 -1
  20. package/dist/cli/bot/people.js +6 -4
  21. package/dist/cli/bot/people.js.map +1 -1
  22. package/dist/cli/bot/port.d.ts +1 -1
  23. package/dist/cli/bot/port.d.ts.map +1 -1
  24. package/dist/cli/bot/setup.d.ts.map +1 -1
  25. package/dist/cli/bot/setup.js +8 -9
  26. package/dist/cli/bot/setup.js.map +1 -1
  27. package/dist/cli/bot/store.d.ts.map +1 -1
  28. package/dist/cli/bot/store.js +3 -2
  29. package/dist/cli/bot/store.js.map +1 -1
  30. package/dist/cli/bot/watch.d.ts.map +1 -1
  31. package/dist/cli/bot/watch.js +3 -1
  32. package/dist/cli/bot/watch.js.map +1 -1
  33. package/dist/cli/command-contract.d.ts +2 -2
  34. package/dist/cli/command-contract.d.ts.map +1 -1
  35. package/dist/cli/command-contract.js +2 -4
  36. package/dist/cli/command-contract.js.map +1 -1
  37. package/dist/cli/commands-command.d.ts +1 -1
  38. package/dist/cli/commands-command.d.ts.map +1 -1
  39. package/dist/cli/commands-command.js +8 -7
  40. package/dist/cli/commands-command.js.map +1 -1
  41. package/dist/cli/config-command.d.ts.map +1 -1
  42. package/dist/cli/config-command.js +4 -4
  43. package/dist/cli/config-command.js.map +1 -1
  44. package/dist/cli/effects.d.ts +20 -0
  45. package/dist/cli/effects.d.ts.map +1 -0
  46. package/dist/cli/effects.js +28 -0
  47. package/dist/cli/effects.js.map +1 -0
  48. package/dist/cli/envelope.d.ts +68 -23
  49. package/dist/cli/envelope.d.ts.map +1 -1
  50. package/dist/cli/envelope.js +36 -10
  51. package/dist/cli/envelope.js.map +1 -1
  52. package/dist/cli/index.d.ts +7 -4
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +6 -3
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/messenger/account-command.d.ts.map +1 -1
  57. package/dist/cli/messenger/account-command.js +4 -3
  58. package/dist/cli/messenger/account-command.js.map +1 -1
  59. package/dist/cli/messenger/account-sessions-command.d.ts.map +1 -1
  60. package/dist/cli/messenger/account-sessions-command.js +4 -3
  61. package/dist/cli/messenger/account-sessions-command.js.map +1 -1
  62. package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
  63. package/dist/cli/messenger/admin-commands.js +15 -15
  64. package/dist/cli/messenger/admin-commands.js.map +1 -1
  65. package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
  66. package/dist/cli/messenger/admin-contacts-command.js +4 -3
  67. package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
  68. package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
  69. package/dist/cli/messenger/admin-folders-command.js +8 -7
  70. package/dist/cli/messenger/admin-folders-command.js.map +1 -1
  71. package/dist/cli/messenger/admin-moderation-command.d.ts.map +1 -1
  72. package/dist/cli/messenger/admin-moderation-command.js +5 -5
  73. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  74. package/dist/cli/messenger/admin-statistics-command.d.ts.map +1 -1
  75. package/dist/cli/messenger/admin-statistics-command.js +5 -1
  76. package/dist/cli/messenger/admin-statistics-command.js.map +1 -1
  77. package/dist/cli/messenger/archive-commands.d.ts.map +1 -1
  78. package/dist/cli/messenger/archive-commands.js +5 -3
  79. package/dist/cli/messenger/archive-commands.js.map +1 -1
  80. package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
  81. package/dist/cli/messenger/attachments-command.js +6 -5
  82. package/dist/cli/messenger/attachments-command.js.map +1 -1
  83. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  84. package/dist/cli/messenger/backfill-command.js +7 -9
  85. package/dist/cli/messenger/backfill-command.js.map +1 -1
  86. package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
  87. package/dist/cli/messenger/chats-bots-command.js +3 -2
  88. package/dist/cli/messenger/chats-bots-command.js.map +1 -1
  89. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  90. package/dist/cli/messenger/chats-command.js +6 -7
  91. package/dist/cli/messenger/chats-command.js.map +1 -1
  92. package/dist/cli/messenger/chats-documents-command.d.ts.map +1 -1
  93. package/dist/cli/messenger/chats-documents-command.js +3 -1
  94. package/dist/cli/messenger/chats-documents-command.js.map +1 -1
  95. package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
  96. package/dist/cli/messenger/chats-members-command.js +7 -6
  97. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  98. package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
  99. package/dist/cli/messenger/chats-read-command.js +2 -1
  100. package/dist/cli/messenger/chats-read-command.js.map +1 -1
  101. package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
  102. package/dist/cli/messenger/chats-stats-command.js +2 -1
  103. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  104. package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -1
  105. package/dist/cli/messenger/chats-tracking-command.js +5 -6
  106. package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
  107. package/dist/cli/messenger/complete-command.d.ts.map +1 -1
  108. package/dist/cli/messenger/complete-command.js +3 -2
  109. package/dist/cli/messenger/complete-command.js.map +1 -1
  110. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  111. package/dist/cli/messenger/contacts-command.js +12 -18
  112. package/dist/cli/messenger/contacts-command.js.map +1 -1
  113. package/dist/cli/messenger/context.d.ts +1 -1
  114. package/dist/cli/messenger/context.d.ts.map +1 -1
  115. package/dist/cli/messenger/context.js.map +1 -1
  116. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  117. package/dist/cli/messenger/conversations-command.js +19 -29
  118. package/dist/cli/messenger/conversations-command.js.map +1 -1
  119. package/dist/cli/messenger/counters-command.d.ts.map +1 -1
  120. package/dist/cli/messenger/counters-command.js +3 -2
  121. package/dist/cli/messenger/counters-command.js.map +1 -1
  122. package/dist/cli/messenger/doctor-command.d.ts.map +1 -1
  123. package/dist/cli/messenger/doctor-command.js +7 -4
  124. package/dist/cli/messenger/doctor-command.js.map +1 -1
  125. package/dist/cli/messenger/download-command.d.ts.map +1 -1
  126. package/dist/cli/messenger/download-command.js +3 -2
  127. package/dist/cli/messenger/download-command.js.map +1 -1
  128. package/dist/cli/messenger/flood-command.d.ts.map +1 -1
  129. package/dist/cli/messenger/flood-command.js +3 -1
  130. package/dist/cli/messenger/flood-command.js.map +1 -1
  131. package/dist/cli/messenger/flooded.d.ts +1 -1
  132. package/dist/cli/messenger/flooded.d.ts.map +1 -1
  133. package/dist/cli/messenger/flooded.js +1 -1
  134. package/dist/cli/messenger/flooded.js.map +1 -1
  135. package/dist/cli/messenger/gaps-command.d.ts.map +1 -1
  136. package/dist/cli/messenger/gaps-command.js +4 -4
  137. package/dist/cli/messenger/gaps-command.js.map +1 -1
  138. package/dist/cli/messenger/guard-commands.d.ts.map +1 -1
  139. package/dist/cli/messenger/guard-commands.js +6 -6
  140. package/dist/cli/messenger/guard-commands.js.map +1 -1
  141. package/dist/cli/messenger/images-command.d.ts.map +1 -1
  142. package/dist/cli/messenger/images-command.js +3 -2
  143. package/dist/cli/messenger/images-command.js.map +1 -1
  144. package/dist/cli/messenger/inbox.d.ts.map +1 -1
  145. package/dist/cli/messenger/inbox.js +6 -1
  146. package/dist/cli/messenger/inbox.js.map +1 -1
  147. package/dist/cli/messenger/mcp-command.d.ts.map +1 -1
  148. package/dist/cli/messenger/mcp-command.js +5 -4
  149. package/dist/cli/messenger/mcp-command.js.map +1 -1
  150. package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
  151. package/dist/cli/messenger/mentions-command.js +23 -12
  152. package/dist/cli/messenger/mentions-command.js.map +1 -1
  153. package/dist/cli/messenger/message-items.d.ts +1 -1
  154. package/dist/cli/messenger/message-items.d.ts.map +1 -1
  155. package/dist/cli/messenger/message-writes.d.ts +5 -6
  156. package/dist/cli/messenger/message-writes.d.ts.map +1 -1
  157. package/dist/cli/messenger/message-writes.js +7 -8
  158. package/dist/cli/messenger/message-writes.js.map +1 -1
  159. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  160. package/dist/cli/messenger/messages-command.js +5 -5
  161. package/dist/cli/messenger/messages-command.js.map +1 -1
  162. package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
  163. package/dist/cli/messenger/messages-comments-command.js +3 -1
  164. package/dist/cli/messenger/messages-comments-command.js.map +1 -1
  165. package/dist/cli/messenger/messages-delete-command.d.ts.map +1 -1
  166. package/dist/cli/messenger/messages-delete-command.js +2 -1
  167. package/dist/cli/messenger/messages-delete-command.js.map +1 -1
  168. package/dist/cli/messenger/messages-edit-command.d.ts.map +1 -1
  169. package/dist/cli/messenger/messages-edit-command.js +2 -1
  170. package/dist/cli/messenger/messages-edit-command.js.map +1 -1
  171. package/dist/cli/messenger/messages-evidence-command.d.ts.map +1 -1
  172. package/dist/cli/messenger/messages-evidence-command.js +3 -1
  173. package/dist/cli/messenger/messages-evidence-command.js.map +1 -1
  174. package/dist/cli/messenger/messages-forward-command.d.ts.map +1 -1
  175. package/dist/cli/messenger/messages-forward-command.js +4 -3
  176. package/dist/cli/messenger/messages-forward-command.js.map +1 -1
  177. package/dist/cli/messenger/messages-link-command.d.ts.map +1 -1
  178. package/dist/cli/messenger/messages-link-command.js +2 -1
  179. package/dist/cli/messenger/messages-link-command.js.map +1 -1
  180. package/dist/cli/messenger/messages-pin-command.d.ts.map +1 -1
  181. package/dist/cli/messenger/messages-pin-command.js +3 -2
  182. package/dist/cli/messenger/messages-pin-command.js.map +1 -1
  183. package/dist/cli/messenger/messages-press-command.d.ts.map +1 -1
  184. package/dist/cli/messenger/messages-press-command.js +2 -1
  185. package/dist/cli/messenger/messages-press-command.js.map +1 -1
  186. package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
  187. package/dist/cli/messenger/messages-scheduled-command.js +3 -2
  188. package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
  189. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  190. package/dist/cli/messenger/messages-search-command.js +3 -0
  191. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  192. package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
  193. package/dist/cli/messenger/messages-send-command.js +4 -3
  194. package/dist/cli/messenger/messages-send-command.js.map +1 -1
  195. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  196. package/dist/cli/messenger/messages-stats-command.js +2 -1
  197. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  198. package/dist/cli/messenger/metadata-command.d.ts.map +1 -1
  199. package/dist/cli/messenger/metadata-command.js +3 -3
  200. package/dist/cli/messenger/metadata-command.js.map +1 -1
  201. package/dist/cli/messenger/models-command.d.ts.map +1 -1
  202. package/dist/cli/messenger/models-command.js +9 -9
  203. package/dist/cli/messenger/models-command.js.map +1 -1
  204. package/dist/cli/messenger/observed.d.ts +1 -1
  205. package/dist/cli/messenger/observed.d.ts.map +1 -1
  206. package/dist/cli/messenger/observed.js +1 -1
  207. package/dist/cli/messenger/observed.js.map +1 -1
  208. package/dist/cli/messenger/official-stats-command.d.ts.map +1 -1
  209. package/dist/cli/messenger/official-stats-command.js +3 -2
  210. package/dist/cli/messenger/official-stats-command.js.map +1 -1
  211. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  212. package/dist/cli/messenger/polls-command.js +9 -9
  213. package/dist/cli/messenger/polls-command.js.map +1 -1
  214. package/dist/cli/messenger/private-people-command.d.ts.map +1 -1
  215. package/dist/cli/messenger/private-people-command.js +10 -6
  216. package/dist/cli/messenger/private-people-command.js.map +1 -1
  217. package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
  218. package/dist/cli/messenger/rankings-command.js +3 -2
  219. package/dist/cli/messenger/rankings-command.js.map +1 -1
  220. package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
  221. package/dist/cli/messenger/reactions-command.js +3 -2
  222. package/dist/cli/messenger/reactions-command.js.map +1 -1
  223. package/dist/cli/messenger/records-command.d.ts.map +1 -1
  224. package/dist/cli/messenger/records-command.js +12 -13
  225. package/dist/cli/messenger/records-command.js.map +1 -1
  226. package/dist/cli/messenger/replies-command.d.ts.map +1 -1
  227. package/dist/cli/messenger/replies-command.js +8 -7
  228. package/dist/cli/messenger/replies-command.js.map +1 -1
  229. package/dist/cli/messenger/replies-consents-command.d.ts.map +1 -1
  230. package/dist/cli/messenger/replies-consents-command.js +4 -4
  231. package/dist/cli/messenger/replies-consents-command.js.map +1 -1
  232. package/dist/cli/messenger/replies-edit-command.d.ts.map +1 -1
  233. package/dist/cli/messenger/replies-edit-command.js +5 -4
  234. package/dist/cli/messenger/replies-edit-command.js.map +1 -1
  235. package/dist/cli/messenger/retention-command.d.ts.map +1 -1
  236. package/dist/cli/messenger/retention-command.js +2 -1
  237. package/dist/cli/messenger/retention-command.js.map +1 -1
  238. package/dist/cli/messenger/review.d.ts.map +1 -1
  239. package/dist/cli/messenger/review.js +6 -1
  240. package/dist/cli/messenger/review.js.map +1 -1
  241. package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
  242. package/dist/cli/messenger/schedule-command.js +8 -12
  243. package/dist/cli/messenger/schedule-command.js.map +1 -1
  244. package/dist/cli/messenger/search-answers.d.ts +1 -1
  245. package/dist/cli/messenger/search-answers.d.ts.map +1 -1
  246. package/dist/cli/messenger/search-answers.js +5 -3
  247. package/dist/cli/messenger/search-answers.js.map +1 -1
  248. package/dist/cli/messenger/search-command.d.ts.map +1 -1
  249. package/dist/cli/messenger/search-command.js +3 -2
  250. package/dist/cli/messenger/search-command.js.map +1 -1
  251. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  252. package/dist/cli/messenger/searches-command.js +9 -7
  253. package/dist/cli/messenger/searches-command.js.map +1 -1
  254. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  255. package/dist/cli/messenger/serve-command.js +3 -1
  256. package/dist/cli/messenger/serve-command.js.map +1 -1
  257. package/dist/cli/messenger/serve-notice.js +5 -5
  258. package/dist/cli/messenger/serve-notice.js.map +1 -1
  259. package/dist/cli/messenger/server-command.d.ts.map +1 -1
  260. package/dist/cli/messenger/server-command.js +9 -14
  261. package/dist/cli/messenger/server-command.js.map +1 -1
  262. package/dist/cli/messenger/stats-answers.d.ts.map +1 -1
  263. package/dist/cli/messenger/stats-answers.js +1 -0
  264. package/dist/cli/messenger/stats-answers.js.map +1 -1
  265. package/dist/cli/messenger/stats-command.d.ts.map +1 -1
  266. package/dist/cli/messenger/stats-command.js +2 -1
  267. package/dist/cli/messenger/stats-command.js.map +1 -1
  268. package/dist/cli/messenger/store-maintenance-command.d.ts.map +1 -1
  269. package/dist/cli/messenger/store-maintenance-command.js +12 -10
  270. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  271. package/dist/cli/messenger/stored.d.ts +1 -1
  272. package/dist/cli/messenger/stored.d.ts.map +1 -1
  273. package/dist/cli/messenger/stored.js +1 -1
  274. package/dist/cli/messenger/stored.js.map +1 -1
  275. package/dist/cli/messenger/tags-command.d.ts.map +1 -1
  276. package/dist/cli/messenger/tags-command.js +5 -6
  277. package/dist/cli/messenger/tags-command.js.map +1 -1
  278. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  279. package/dist/cli/messenger/tasks-command.js +9 -15
  280. package/dist/cli/messenger/tasks-command.js.map +1 -1
  281. package/dist/cli/messenger/topics-command.d.ts.map +1 -1
  282. package/dist/cli/messenger/topics-command.js +12 -12
  283. package/dist/cli/messenger/topics-command.js.map +1 -1
  284. package/dist/cli/messenger/transcribe-command.d.ts.map +1 -1
  285. package/dist/cli/messenger/transcribe-command.js +3 -2
  286. package/dist/cli/messenger/transcribe-command.js.map +1 -1
  287. package/dist/cli/messenger/watch-command.d.ts +1 -1
  288. package/dist/cli/messenger/watch-command.d.ts.map +1 -1
  289. package/dist/cli/messenger/watch-command.js +3 -1
  290. package/dist/cli/messenger/watch-command.js.map +1 -1
  291. package/dist/cli/preview.d.ts.map +1 -1
  292. package/dist/cli/preview.js +3 -1
  293. package/dist/cli/preview.js.map +1 -1
  294. package/dist/cli/program.d.ts.map +1 -1
  295. package/dist/cli/program.js +10 -2
  296. package/dist/cli/program.js.map +1 -1
  297. package/dist/cli/reasons.d.ts +1 -1
  298. package/dist/cli/reasons.d.ts.map +1 -1
  299. package/dist/cli/reasons.js +2 -1
  300. package/dist/cli/reasons.js.map +1 -1
  301. package/dist/cli/runs/command.d.ts.map +1 -1
  302. package/dist/cli/runs/command.js +7 -9
  303. package/dist/cli/runs/command.js.map +1 -1
  304. package/dist/cli/runs/log-events.d.ts +10 -0
  305. package/dist/cli/runs/log-events.d.ts.map +1 -0
  306. package/dist/cli/runs/log-events.js +31 -0
  307. package/dist/cli/runs/log-events.js.map +1 -0
  308. package/dist/cli/runs/recording.d.ts +1 -1
  309. package/dist/cli/runs/recording.d.ts.map +1 -1
  310. package/dist/cli/runs/recording.js +6 -4
  311. package/dist/cli/runs/recording.js.map +1 -1
  312. package/dist/cli/runs/scope.d.ts +5 -0
  313. package/dist/cli/runs/scope.d.ts.map +1 -1
  314. package/dist/cli/runs/scope.js +7 -0
  315. package/dist/cli/runs/scope.js.map +1 -1
  316. package/dist/cli/skill-command.d.ts.map +1 -1
  317. package/dist/cli/skill-command.js +12 -4
  318. package/dist/cli/skill-command.js.map +1 -1
  319. package/dist/cli/steps.d.ts +21 -4
  320. package/dist/cli/steps.d.ts.map +1 -1
  321. package/dist/cli/steps.js +20 -4
  322. package/dist/cli/steps.js.map +1 -1
  323. package/dist/cli/upgrade-command.d.ts.map +1 -1
  324. package/dist/cli/upgrade-command.js +3 -1
  325. package/dist/cli/upgrade-command.js.map +1 -1
  326. package/dist/domain/calendar.d.ts +2 -0
  327. package/dist/domain/calendar.d.ts.map +1 -0
  328. package/dist/domain/calendar.js +14 -0
  329. package/dist/domain/calendar.js.map +1 -0
  330. package/dist/domain/mentions.d.ts +1 -1
  331. package/dist/domain/mentions.d.ts.map +1 -1
  332. package/dist/domain/mentions.js +8 -2
  333. package/dist/domain/mentions.js.map +1 -1
  334. package/dist/domain/person-names.d.ts +30 -0
  335. package/dist/domain/person-names.d.ts.map +1 -0
  336. package/dist/domain/person-names.js +120 -0
  337. package/dist/domain/person-names.js.map +1 -0
  338. package/dist/embeddings/models.d.ts +2 -0
  339. package/dist/embeddings/models.d.ts.map +1 -1
  340. package/dist/embeddings/models.js +2 -0
  341. package/dist/embeddings/models.js.map +1 -1
  342. package/dist/entities/index.d.ts +9 -3
  343. package/dist/entities/index.d.ts.map +1 -1
  344. package/dist/kit/contract.d.ts +1 -1
  345. package/dist/kit/contract.d.ts.map +1 -1
  346. package/dist/kit/contract.js +1 -1
  347. package/dist/kit/contract.js.map +1 -1
  348. package/dist/kit/fake.d.ts +1 -1
  349. package/dist/kit/fake.d.ts.map +1 -1
  350. package/dist/kit/fake.js +3 -2
  351. package/dist/kit/fake.js.map +1 -1
  352. package/dist/mcp/instructions.js +1 -1
  353. package/dist/mcp/instructions.js.map +1 -1
  354. package/dist/mcp/resources.js +1 -1
  355. package/dist/mcp/resources.js.map +1 -1
  356. package/dist/mcp/server.d.ts.map +1 -1
  357. package/dist/mcp/server.js +3 -0
  358. package/dist/mcp/server.js.map +1 -1
  359. package/dist/mcp/session.d.ts +1 -1
  360. package/dist/mcp/session.d.ts.map +1 -1
  361. package/dist/mcp/tool.d.ts +10 -3
  362. package/dist/mcp/tool.d.ts.map +1 -1
  363. package/dist/mcp/tool.js +24 -10
  364. package/dist/mcp/tool.js.map +1 -1
  365. package/dist/mcp/tools/account.js +1 -1
  366. package/dist/mcp/tools/account.js.map +1 -1
  367. package/dist/mcp/tools/admin.js.map +1 -1
  368. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  369. package/dist/mcp/tools/attachments.js +2 -0
  370. package/dist/mcp/tools/attachments.js.map +1 -1
  371. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  372. package/dist/mcp/tools/contacts.js +3 -2
  373. package/dist/mcp/tools/contacts.js.map +1 -1
  374. package/dist/mcp/tools/folders.js.map +1 -1
  375. package/dist/mcp/tools/messages-actions.js +3 -3
  376. package/dist/mcp/tools/messages-actions.js.map +1 -1
  377. package/dist/mcp/tools/messages-photo.js +1 -1
  378. package/dist/mcp/tools/messages-photo.js.map +1 -1
  379. package/dist/mcp/tools/messages-send.js +3 -3
  380. package/dist/mcp/tools/messages-send.js.map +1 -1
  381. package/dist/mcp/tools/messages.d.ts.map +1 -1
  382. package/dist/mcp/tools/messages.js +3 -1
  383. package/dist/mcp/tools/messages.js.map +1 -1
  384. package/dist/mcp/tools/polls.js +4 -4
  385. package/dist/mcp/tools/polls.js.map +1 -1
  386. package/dist/mcp/tools/rankings.js +1 -1
  387. package/dist/mcp/tools/rankings.js.map +1 -1
  388. package/dist/mcp/tools/search-tools.js +5 -5
  389. package/dist/mcp/tools/search-tools.js.map +1 -1
  390. package/dist/mcp/tools/search.d.ts.map +1 -1
  391. package/dist/mcp/tools/search.js +1 -1
  392. package/dist/mcp/tools/search.js.map +1 -1
  393. package/dist/mcp/tools/store.d.ts.map +1 -1
  394. package/dist/mcp/tools/store.js +2 -0
  395. package/dist/mcp/tools/store.js.map +1 -1
  396. package/dist/mcp/tools/topics.js +4 -4
  397. package/dist/mcp/tools/topics.js.map +1 -1
  398. package/dist/meetings/answers.d.ts +7 -2
  399. package/dist/meetings/answers.d.ts.map +1 -1
  400. package/dist/meetings/answers.js +7 -2
  401. package/dist/meetings/answers.js.map +1 -1
  402. package/dist/meetings/cli/passage.js +1 -1
  403. package/dist/meetings/cli/passage.js.map +1 -1
  404. package/dist/meetings/cli/project-evidence.js +1 -1
  405. package/dist/meetings/cli/project-evidence.js.map +1 -1
  406. package/dist/meetings/cli/search.d.ts.map +1 -1
  407. package/dist/meetings/cli/search.js +6 -2
  408. package/dist/meetings/cli/search.js.map +1 -1
  409. package/dist/meetings/index.d.ts +2 -0
  410. package/dist/meetings/index.d.ts.map +1 -1
  411. package/dist/meetings/index.js +1 -0
  412. package/dist/meetings/index.js.map +1 -1
  413. package/dist/meetings/mcp/index.d.ts +13 -2
  414. package/dist/meetings/mcp/index.d.ts.map +1 -1
  415. package/dist/meetings/mcp/index.js +1 -1
  416. package/dist/meetings/mcp/index.js.map +1 -1
  417. package/dist/meetings/mcp/passage.d.ts +13 -2
  418. package/dist/meetings/mcp/passage.d.ts.map +1 -1
  419. package/dist/meetings/mcp/passage.js +1 -1
  420. package/dist/meetings/mcp/passage.js.map +1 -1
  421. package/dist/meetings/mcp/project-evidence.d.ts +13 -2
  422. package/dist/meetings/mcp/project-evidence.d.ts.map +1 -1
  423. package/dist/meetings/mcp/project-evidence.js +1 -1
  424. package/dist/meetings/mcp/project-evidence.js.map +1 -1
  425. package/dist/meetings/mcp/search.d.ts +13 -2
  426. package/dist/meetings/mcp/search.d.ts.map +1 -1
  427. package/dist/meetings/mcp/search.js +1 -1
  428. package/dist/meetings/mcp/search.js.map +1 -1
  429. package/dist/meetings/project-evidence-answer.d.ts +9 -3
  430. package/dist/meetings/project-evidence-answer.d.ts.map +1 -1
  431. package/dist/meetings/project-evidence-answer.js +6 -1
  432. package/dist/meetings/project-evidence-answer.js.map +1 -1
  433. package/dist/meetings/reads.d.ts +11 -3
  434. package/dist/meetings/reads.d.ts.map +1 -1
  435. package/dist/meetings/reads.js +2 -2
  436. package/dist/meetings/reads.js.map +1 -1
  437. package/dist/meetings/upcoming-types.d.ts +55 -0
  438. package/dist/meetings/upcoming-types.d.ts.map +1 -0
  439. package/dist/meetings/upcoming-types.js +2 -0
  440. package/dist/meetings/upcoming-types.js.map +1 -0
  441. package/dist/meetings/upcoming-validation.d.ts +5 -0
  442. package/dist/meetings/upcoming-validation.d.ts.map +1 -0
  443. package/dist/meetings/upcoming-validation.js +78 -0
  444. package/dist/meetings/upcoming-validation.js.map +1 -0
  445. package/dist/meetings/upcoming.d.ts +7 -0
  446. package/dist/meetings/upcoming.d.ts.map +1 -0
  447. package/dist/meetings/upcoming.js +72 -0
  448. package/dist/meetings/upcoming.js.map +1 -0
  449. package/dist/moderation/check.d.ts +1 -1
  450. package/dist/moderation/check.d.ts.map +1 -1
  451. package/dist/parity/deep.js +1 -1
  452. package/dist/parity/manifest.js +1 -1
  453. package/dist/parity/manifest.js.map +1 -1
  454. package/dist/{cli/messenger/port.d.ts → ports/messenger.d.ts} +7 -7
  455. package/dist/ports/messenger.d.ts.map +1 -0
  456. package/dist/{cli/messenger/port.js → ports/messenger.js} +1 -1
  457. package/dist/ports/messenger.js.map +1 -0
  458. package/dist/search/account-list.d.ts +3 -0
  459. package/dist/search/account-list.d.ts.map +1 -1
  460. package/dist/search/account-list.js +3 -1
  461. package/dist/search/account-list.js.map +1 -1
  462. package/dist/search/lucene/registry.d.ts.map +1 -1
  463. package/dist/search/lucene/registry.js +15 -0
  464. package/dist/search/lucene/registry.js.map +1 -1
  465. package/dist/sends/buttons.d.ts +1 -1
  466. package/dist/sends/buttons.d.ts.map +1 -1
  467. package/dist/sends/buttons.js +1 -1
  468. package/dist/sends/buttons.js.map +1 -1
  469. package/dist/sends/guard.js +2 -2
  470. package/dist/sends/guard.js.map +1 -1
  471. package/dist/sends/guarded.d.ts.map +1 -1
  472. package/dist/sends/guarded.js +5 -2
  473. package/dist/sends/guarded.js.map +1 -1
  474. package/dist/sends/index.d.ts +1 -1
  475. package/dist/sends/index.d.ts.map +1 -1
  476. package/dist/sends/index.js +1 -1
  477. package/dist/sends/index.js.map +1 -1
  478. package/dist/sends/journal.d.ts.map +1 -1
  479. package/dist/sends/journal.js +7 -3
  480. package/dist/sends/journal.js.map +1 -1
  481. package/dist/sends/permissions.d.ts.map +1 -1
  482. package/dist/sends/permissions.js +3 -0
  483. package/dist/sends/permissions.js.map +1 -1
  484. package/dist/sends/polls.d.ts +1 -1
  485. package/dist/sends/polls.d.ts.map +1 -1
  486. package/dist/sends/polls.js +1 -1
  487. package/dist/sends/polls.js.map +1 -1
  488. package/dist/sends/send-as.d.ts +1 -1
  489. package/dist/sends/send-as.d.ts.map +1 -1
  490. package/dist/sends/send-as.js +1 -1
  491. package/dist/sends/send-as.js.map +1 -1
  492. package/dist/sends/upload.d.ts +18 -2
  493. package/dist/sends/upload.d.ts.map +1 -1
  494. package/dist/sends/upload.js +32 -10
  495. package/dist/sends/upload.js.map +1 -1
  496. package/dist/services/account.d.ts +1 -1
  497. package/dist/services/account.d.ts.map +1 -1
  498. package/dist/services/account.js +1 -1
  499. package/dist/services/account.js.map +1 -1
  500. package/dist/services/admin-statistics.js +1 -1
  501. package/dist/services/admin-statistics.js.map +1 -1
  502. package/dist/services/admin.d.ts.map +1 -1
  503. package/dist/services/admin.js +1 -1
  504. package/dist/services/admin.js.map +1 -1
  505. package/dist/services/archive-gaps.js +1 -1
  506. package/dist/services/archive-gaps.js.map +1 -1
  507. package/dist/services/archive.d.ts.map +1 -1
  508. package/dist/services/archive.js +2 -2
  509. package/dist/services/archive.js.map +1 -1
  510. package/dist/services/attachments.js +1 -1
  511. package/dist/services/attachments.js.map +1 -1
  512. package/dist/services/chat-documents.js +1 -1
  513. package/dist/services/chat-documents.js.map +1 -1
  514. package/dist/services/chat-stats.d.ts.map +1 -1
  515. package/dist/services/chat-stats.js +2 -2
  516. package/dist/services/chat-stats.js.map +1 -1
  517. package/dist/services/chats.d.ts.map +1 -1
  518. package/dist/services/chats.js +2 -2
  519. package/dist/services/chats.js.map +1 -1
  520. package/dist/services/conversations.js +1 -1
  521. package/dist/services/conversations.js.map +1 -1
  522. package/dist/services/deps.d.ts +1 -1
  523. package/dist/services/deps.d.ts.map +1 -1
  524. package/dist/services/embeddings-maintenance.d.ts +51 -0
  525. package/dist/services/embeddings-maintenance.d.ts.map +1 -0
  526. package/dist/services/embeddings-maintenance.js +309 -0
  527. package/dist/services/embeddings-maintenance.js.map +1 -0
  528. package/dist/services/embeddings-search.d.ts +4 -0
  529. package/dist/services/embeddings-search.d.ts.map +1 -0
  530. package/dist/services/embeddings-search.js +329 -0
  531. package/dist/services/embeddings-search.js.map +1 -0
  532. package/dist/services/embeddings.d.ts +5 -12
  533. package/dist/services/embeddings.d.ts.map +1 -1
  534. package/dist/services/embeddings.js +7 -630
  535. package/dist/services/embeddings.js.map +1 -1
  536. package/dist/services/evidence-read.js +1 -1
  537. package/dist/services/evidence-read.js.map +1 -1
  538. package/dist/services/file-download.d.ts +1 -1
  539. package/dist/services/file-download.d.ts.map +1 -1
  540. package/dist/services/folders.d.ts.map +1 -1
  541. package/dist/services/folders.js +1 -1
  542. package/dist/services/folders.js.map +1 -1
  543. package/dist/services/inbox.d.ts +1 -2
  544. package/dist/services/inbox.d.ts.map +1 -1
  545. package/dist/services/inbox.js +2 -3
  546. package/dist/services/inbox.js.map +1 -1
  547. package/dist/services/index.d.ts +7 -3
  548. package/dist/services/index.d.ts.map +1 -1
  549. package/dist/services/index.js +5 -2
  550. package/dist/services/index.js.map +1 -1
  551. package/dist/services/meeting-model.d.ts +1 -1
  552. package/dist/services/meeting-model.d.ts.map +1 -1
  553. package/dist/services/meeting-model.js +1 -2
  554. package/dist/services/meeting-model.js.map +1 -1
  555. package/dist/services/mentions.d.ts +4 -0
  556. package/dist/services/mentions.d.ts.map +1 -1
  557. package/dist/services/mentions.js +2 -2
  558. package/dist/services/mentions.js.map +1 -1
  559. package/dist/services/message-query-validation.d.ts +3 -0
  560. package/dist/services/message-query-validation.d.ts.map +1 -0
  561. package/dist/services/message-query-validation.js +14 -0
  562. package/dist/services/message-query-validation.js.map +1 -0
  563. package/dist/services/message-resolution.d.ts +36 -0
  564. package/dist/services/message-resolution.d.ts.map +1 -0
  565. package/dist/services/message-resolution.js +171 -0
  566. package/dist/services/message-resolution.js.map +1 -0
  567. package/dist/services/messages-archive-search.d.ts +24 -0
  568. package/dist/services/messages-archive-search.d.ts.map +1 -0
  569. package/dist/services/messages-archive-search.js +123 -0
  570. package/dist/services/messages-archive-search.js.map +1 -0
  571. package/dist/services/messages-search.d.ts +1 -2
  572. package/dist/services/messages-search.d.ts.map +1 -1
  573. package/dist/services/messages-search.js +2 -14
  574. package/dist/services/messages-search.js.map +1 -1
  575. package/dist/services/messages.d.ts +6 -51
  576. package/dist/services/messages.d.ts.map +1 -1
  577. package/dist/services/messages.js +10 -303
  578. package/dist/services/messages.js.map +1 -1
  579. package/dist/services/metadata.js +2 -2
  580. package/dist/services/metadata.js.map +1 -1
  581. package/dist/services/moderation.d.ts.map +1 -1
  582. package/dist/services/moderation.js +1 -1
  583. package/dist/services/moderation.js.map +1 -1
  584. package/dist/services/notes-search.d.ts.map +1 -1
  585. package/dist/services/notes-search.js +1 -2
  586. package/dist/services/notes-search.js.map +1 -1
  587. package/dist/services/people.d.ts.map +1 -1
  588. package/dist/services/people.js +3 -3
  589. package/dist/services/people.js.map +1 -1
  590. package/dist/services/pictures.d.ts +1 -1
  591. package/dist/services/pictures.d.ts.map +1 -1
  592. package/dist/services/pictures.js +2 -2
  593. package/dist/services/pictures.js.map +1 -1
  594. package/dist/services/rankings.d.ts.map +1 -1
  595. package/dist/services/rankings.js +1 -1
  596. package/dist/services/rankings.js.map +1 -1
  597. package/dist/services/retention.d.ts +26 -26
  598. package/dist/services/retention.d.ts.map +1 -1
  599. package/dist/services/retention.js +1 -1
  600. package/dist/services/retention.js.map +1 -1
  601. package/dist/services/search-all-meetings.d.ts.map +1 -1
  602. package/dist/services/search-all-meetings.js +18 -5
  603. package/dist/services/search-all-meetings.js.map +1 -1
  604. package/dist/services/search-all.d.ts +6 -4
  605. package/dist/services/search-all.d.ts.map +1 -1
  606. package/dist/services/search-all.js +2 -2
  607. package/dist/services/search-all.js.map +1 -1
  608. package/dist/services/search-catchup.d.ts +1 -1
  609. package/dist/services/search-catchup.d.ts.map +1 -1
  610. package/dist/services/search-catchup.js +2 -2
  611. package/dist/services/search-catchup.js.map +1 -1
  612. package/dist/services/search-record.d.ts +29 -0
  613. package/dist/services/search-record.d.ts.map +1 -0
  614. package/dist/services/search-record.js +20 -0
  615. package/dist/services/search-record.js.map +1 -0
  616. package/dist/services/search-refresh.d.ts +1 -1
  617. package/dist/services/search-refresh.d.ts.map +1 -1
  618. package/dist/services/search-refresh.js +2 -1
  619. package/dist/services/search-refresh.js.map +1 -1
  620. package/dist/services/searches.d.ts +2 -27
  621. package/dist/services/searches.d.ts.map +1 -1
  622. package/dist/services/searches.js +3 -19
  623. package/dist/services/searches.js.map +1 -1
  624. package/dist/services/server-search.d.ts.map +1 -1
  625. package/dist/services/server-search.js +1 -1
  626. package/dist/services/server-search.js.map +1 -1
  627. package/dist/services/tags.js +1 -1
  628. package/dist/services/tags.js.map +1 -1
  629. package/dist/services/tasks.js +1 -1
  630. package/dist/services/tasks.js.map +1 -1
  631. package/dist/services/topics.d.ts +0 -1
  632. package/dist/services/topics.d.ts.map +1 -1
  633. package/dist/services/topics.js +2 -2
  634. package/dist/services/topics.js.map +1 -1
  635. package/dist/speech/hearing.d.ts +1 -1
  636. package/dist/speech/hearing.d.ts.map +1 -1
  637. package/dist/speech/transcribe.d.ts +1 -1
  638. package/dist/speech/transcribe.d.ts.map +1 -1
  639. package/dist/speech/transcribe.js +1 -1
  640. package/dist/speech/transcribe.js.map +1 -1
  641. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  642. package/dist/store/sqlite/lucene.js +29 -0
  643. package/dist/store/sqlite/lucene.js.map +1 -1
  644. package/dist/store/sqlite/meeting-hit-index.js +1 -1
  645. package/dist/store/sqlite/meeting-hit-index.js.map +1 -1
  646. package/dist/store/sqlite/meeting-hit-search.js +1 -1
  647. package/dist/store/sqlite/meeting-hit-search.js.map +1 -1
  648. package/dist/store/sqlite/meeting-index-values.d.ts +19 -0
  649. package/dist/store/sqlite/meeting-index-values.d.ts.map +1 -0
  650. package/dist/store/sqlite/meeting-index-values.js +37 -0
  651. package/dist/store/sqlite/meeting-index-values.js.map +1 -0
  652. package/dist/store/sqlite/meetings.d.ts +0 -12
  653. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  654. package/dist/store/sqlite/meetings.js +1 -35
  655. package/dist/store/sqlite/meetings.js.map +1 -1
  656. package/dist/store/sqlite/mentions.d.ts +3 -0
  657. package/dist/store/sqlite/mentions.d.ts.map +1 -1
  658. package/dist/store/sqlite/mentions.js +99 -22
  659. package/dist/store/sqlite/mentions.js.map +1 -1
  660. package/dist/store/sqlite/retention.d.ts.map +1 -1
  661. package/dist/store/sqlite/retention.js +1 -1
  662. package/dist/store/sqlite/retention.js.map +1 -1
  663. package/dist/store/store.d.ts +1 -0
  664. package/dist/store/store.d.ts.map +1 -1
  665. package/package.json +3 -3
  666. package/parity.json +8 -8
  667. package/dist/cli/messenger/port.d.ts.map +0 -1
  668. package/dist/cli/messenger/port.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ export const validateSearchDialect = (request) => {
3
+ const { pattern } = request;
4
+ if (request.language !== undefined && !["lucene", "legacy"].includes(request.language))
5
+ throw new CliError("validation_error", "--language takes lucene or legacy");
6
+ if (pattern && (request.language === "lucene" || request.ast !== undefined || request.timezone !== undefined))
7
+ throw new CliError("validation_error", "--regex is legacy JavaScript mode; not with Lucene, AST or timezone");
8
+ if (request.language === "legacy" && (request.ast !== undefined || request.timezone !== undefined))
9
+ throw new CliError("validation_error", "AST and timezone require the Lucene language");
10
+ if (pattern && (request.source !== undefined || request.accounts !== undefined || request.senders !== undefined)) {
11
+ throw new CliError("validation_error", "--regex reads the account it runs as — not with --source, other accounts or senders");
12
+ }
13
+ };
14
+ //# sourceMappingURL=message-query-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-query-validation.js","sourceRoot":"","sources":["../../src/services/message-query-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAoB,EAAQ,EAAE;IAClE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpF,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;IAC7E,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;QAC3G,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qEAAqE,CAAC,CAAA;IAC/G,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;QAChG,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAA;IACxF,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QACjH,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,qFAAqF,CACtF,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { Messenger } from "../cli/messenger/context.js";
2
+ import type { Id } from "../domain/models.js";
3
+ import type { AccountStore } from "../store/account-store.js";
4
+ import type { AccountKey, MessageStore, SearchScope, WordQuery } from "../store/store.js";
5
+ import { type ServiceDeps } from "./deps.js";
6
+ import type { SearchQuery } from "./messages.js";
7
+ /** What a store search reads of the messenger: its saved-messages chat, and its command for a hint. */
8
+ export type Saved = Partial<Pick<Messenger, "savedChatId" | "app">>;
9
+ /**
10
+ * The chat a store read is about. Offline, a chat with nothing kept answers empty, as it always has;
11
+ * in store mode the store is the only source, so an empty answer would pass for "nothing was said".
12
+ */
13
+ export declare const readChatId: (deps: ServiceDeps, reference: string, store: MessageStore, account: AccountKey) => Promise<string>;
14
+ /** A chat as typed, found among the stored chats the way an adapter finds it among its own. */
15
+ export declare const storedChatId: (messenger: Saved, reference: string, store: MessageStore, account: AccountKey) => Promise<string>;
16
+ /** `storedChatId`, among the chats of the account the store is bound to. */
17
+ export declare const chatIdIn: (messenger: Saved, reference: string, store: AccountStore) => Promise<string>;
18
+ /** A chat as `--chat` names it, in whichever of the accounts holds it — one of them, or it is an error. */
19
+ export declare const chatAmong: (messenger: Saved, store: MessageStore, accounts: AccountKey[], reference: string) => Promise<{
20
+ account: AccountKey;
21
+ chatId: Id;
22
+ }>;
23
+ /** A sender, through the names each messenger's accounts have seen; `from:` names one person. */
24
+ export declare const senderAmong: (store: MessageStore, accounts: AccountKey[], reference: string) => Promise<{
25
+ provider: string;
26
+ id: string;
27
+ }>;
28
+ /**
29
+ * The parsed query and the scope it names: the account the command runs as, or every account of the
30
+ * messenger `in:` or `--source` names. `chat:` resolves as `--chat` does, `from:` through the names
31
+ * `contacts search` uses, `from:me` as what the accounts sent — all inside the accounts chosen.
32
+ */
33
+ export declare const scopeOf: (messenger: Saved, store: MessageStore, account: AccountKey, { text, chat, source, accounts: given, senders, kind, }: Pick<SearchQuery, "chat" | "source" | "accounts" | "senders" | "kind"> & {
34
+ text: string;
35
+ }) => Promise<[WordQuery, SearchScope]>;
36
+ //# sourceMappingURL=message-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-resolution.d.ts","sourceRoot":"","sources":["../../src/services/message-resolution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAQ,EAAE,EAAkB,MAAM,qBAAqB,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,uGAAuG;AACvG,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,UAAU,SACf,WAAW,aACN,MAAM,SACV,YAAY,WACV,UAAU,KAClB,OAAO,CAAC,MAAM,CAUhB,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,YAAY,cACZ,KAAK,aACL,MAAM,SACV,YAAY,WACV,UAAU,KAClB,OAAO,CAAC,MAAM,CAA+E,CAAA;AAEhG,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,cAAe,KAAK,aAAa,MAAM,SAAS,YAAY,KAAG,OAAO,CAAC,MAAM,CACzB,CAAA;AA8CzE,2GAA2G;AAC3G,eAAO,MAAM,SAAS,cACT,KAAK,SACT,YAAY,YACT,UAAU,EAAE,aACX,MAAM,KAChB,OAAO,CAAC;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,CA0B7C,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,WAAW,UAAiB,YAAY,YAAY,UAAU,EAAE,aAAa,MAAM;;;EAuC/F,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,cACP,KAAK,SACT,YAAY,WACV,UAAU,2DAQhB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG;IAC1E,IAAI,EAAE,MAAM,CAAA;CACb,KACA,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAuDlC,CAAA"}
@@ -0,0 +1,171 @@
1
+ import { CliError, singleLine } from "@wirecat/cli-base";
2
+ import { isId, pickChat, pickPerson } from "../resolve.js";
3
+ import { inSource, parseQuery, sourceOf } from "../search/query.js";
4
+ import { codeOf } from "../sends/guarded.js";
5
+ import { nothingStored } from "./deps.js";
6
+ import { accountsOfKind, listedAccounts } from "./search-kind.js";
7
+ /**
8
+ * The chat a store read is about. Offline, a chat with nothing kept answers empty, as it always has;
9
+ * in store mode the store is the only source, so an empty answer would pass for "nothing was said".
10
+ */
11
+ export const readChatId = async (deps, reference, store, account) => {
12
+ if (deps.reads !== "store")
13
+ return storedChatId(deps.messenger, reference, store, account);
14
+ const chatId = await storedChatId(deps.messenger, reference, store, account).catch((error) => {
15
+ if (codeOf(error) === "not_found")
16
+ throw new CliError("not_found", nothingStored(deps.messenger));
17
+ throw error;
18
+ });
19
+ if ((await store.countMessages(account, chatId)) === 0) {
20
+ throw new CliError("not_found", nothingStored(deps.messenger), { chat: chatId });
21
+ }
22
+ return chatId;
23
+ };
24
+ /** A chat as typed, found among the stored chats the way an adapter finds it among its own. */
25
+ export const storedChatId = async (messenger, reference, store, account) => chatIdAmong(messenger, reference, account, () => store.chats(account, {}));
26
+ /** `storedChatId`, among the chats of the account the store is bound to. */
27
+ export const chatIdIn = (messenger, reference, store) => chatIdAmong(messenger, reference, store.account, () => store.chats({}));
28
+ const chatIdAmong = async (messenger, reference, account, held) => {
29
+ const trimmed = reference.trim();
30
+ if (messenger.savedChatId && ["me", "self", "saved"].includes(trimmed.toLowerCase())) {
31
+ return messenger.savedChatId(account);
32
+ }
33
+ if (/^-?\d+$/.test(trimmed))
34
+ return trimmed;
35
+ const chats = (await held()).items;
36
+ const exact = chats.find((one) => one.id === trimmed);
37
+ if (exact)
38
+ return exact.id;
39
+ if (trimmed.startsWith("@")) {
40
+ const username = trimmed.slice(1).toLowerCase();
41
+ const found = chats.find((one) => String(one.providerMetadata?.username ?? "").toLowerCase() === username);
42
+ if (!found)
43
+ throw new CliError("not_found", `no stored chat is ${trimmed}`);
44
+ return found.id;
45
+ }
46
+ return pickChat(trimmed, chats).id;
47
+ };
48
+ /** Several candidates in different accounts: which messenger each is in says which one was meant. */
49
+ const ambiguousAcross = (reference, what, candidates) => {
50
+ const width = Math.max(...candidates.map(({ provider, id }) => `${provider} ${id}`.length));
51
+ const lines = candidates.map(({ provider, id, label }) => ` ${`${provider} ${id}`.padEnd(width)} ${label}`);
52
+ return new CliError("validation_error", `"${singleLine(reference)}" matches ${candidates.length} ${what} in different accounts — ` +
53
+ `name one by its id, or narrow the search with in:<messenger>:\n${lines.join("\n")}`, { candidates: candidates.map(({ provider, id }) => ({ provider, id })) });
54
+ };
55
+ const missing = (error) => {
56
+ if (codeOf(error) === "not_found")
57
+ return undefined;
58
+ throw error;
59
+ };
60
+ /** A chat as `--chat` names it, in whichever of the accounts holds it — one of them, or it is an error. */
61
+ export const chatAmong = async (messenger, store, accounts, reference) => {
62
+ const [only] = accounts;
63
+ if (accounts.length === 1 && only)
64
+ return { account: only, chatId: await storedChatId(messenger, reference, store, only) };
65
+ const found = (await Promise.all(accounts.map(async (account) => {
66
+ const held = (await store.chats(account, {})).items;
67
+ const chatId = await storedChatId(messenger, reference, store, account).catch(missing);
68
+ const chat = held.find((one) => one.id === chatId);
69
+ return chat ? [{ account, chat }] : [];
70
+ }))).flat();
71
+ const [one] = found;
72
+ if (found.length === 1 && one)
73
+ return { account: one.account, chatId: one.chat.id };
74
+ if (found.length === 0)
75
+ throw new CliError("not_found", `no stored chat matches "${singleLine(reference)}"`);
76
+ throw ambiguousAcross(reference, "chats", found.map(({ account, chat }) => ({
77
+ provider: account.provider,
78
+ id: chat.id,
79
+ label: singleLine(chat.title ?? ""),
80
+ })));
81
+ };
82
+ /** A sender, through the names each messenger's accounts have seen; `from:` names one person. */
83
+ export const senderAmong = async (store, accounts, reference) => {
84
+ const providers = [...new Set(accounts.map(({ provider }) => provider))];
85
+ const [only] = accounts;
86
+ try {
87
+ if (accounts.length === 1 && only) {
88
+ const person = pickPerson(reference, await store.people(only.provider, { account: only.account }));
89
+ return { provider: only.provider, id: person.id };
90
+ }
91
+ const found = (await Promise.all(providers.map(async (provider) => {
92
+ const ids = accounts.filter((one) => one.provider === provider).map(({ account }) => account);
93
+ const person = await store
94
+ .people(provider, { accounts: ids })
95
+ .then((people) => pickPerson(reference, people))
96
+ .catch(missing);
97
+ return person ? [{ provider, person }] : [];
98
+ }))).flat();
99
+ const [one] = found;
100
+ if (found.length === 1 && one)
101
+ return { provider: one.provider, id: one.person.id };
102
+ if (found.length === 0) {
103
+ throw new CliError("not_found", isId(reference) ? `no person ${reference} in what these accounts have seen` : `nobody matches "${reference}"`);
104
+ }
105
+ throw ambiguousAcross(reference, "people", found.map(({ provider, person }) => ({ provider, id: person.id, label: singleLine(person.name ?? "") })));
106
+ }
107
+ catch (error) {
108
+ if (error instanceof CliError && error.code === "not_found") {
109
+ throw new CliError("not_found", `from:${reference} — ${error.message}`);
110
+ }
111
+ throw error;
112
+ }
113
+ };
114
+ /**
115
+ * The parsed query and the scope it names: the account the command runs as, or every account of the
116
+ * messenger `in:` or `--source` names. `chat:` resolves as `--chat` does, `from:` through the names
117
+ * `contacts search` uses, `from:me` as what the accounts sent — all inside the accounts chosen.
118
+ */
119
+ export const scopeOf = async (messenger, store, account, { text, chat, source, accounts: given, senders, kind, }) => {
120
+ const held = await store.accounts();
121
+ const providers = [...new Set(held.map(({ provider }) => provider))];
122
+ const parsed = parseQuery(text, { providers });
123
+ if (chat !== undefined && parsed.chat !== undefined && parsed.chat !== chat) {
124
+ throw new CliError("validation_error", `--chat and chat: name different chats: "${chat}" and "${parsed.chat}"`);
125
+ }
126
+ const listed = await listedAccounts(store, account, source, messenger.app, kind);
127
+ if (listed && parsed.in !== undefined)
128
+ throw new CliError("validation_error", "--source names the accounts — leave in: out, or put it in the list");
129
+ const sourced = source === undefined || listed ? undefined : sourceOf("--source", source, providers);
130
+ if (sourced !== undefined && parsed.in !== undefined && sourced !== parsed.in) {
131
+ throw new CliError("validation_error", `--source and in: name different messengers: ${sourced} and ${parsed.in}`);
132
+ }
133
+ const wanted = parsed.in ?? sourced;
134
+ if (given !== undefined && (wanted !== undefined || listed)) {
135
+ throw new CliError("validation_error", "this search reads the accounts it was given — not with in: or --source");
136
+ }
137
+ if (given?.length === 0)
138
+ throw new CliError("validation_error", "a search names at least one account");
139
+ if (senders !== undefined && parsed.from !== undefined) {
140
+ throw new CliError("validation_error", "--from and from: together — name the people once");
141
+ }
142
+ const accounts = accountsOfKind(kind, given ??
143
+ listed?.accounts ??
144
+ (wanted === undefined || held.length === 0
145
+ ? [account]
146
+ : held.filter(({ provider }) => inSource(wanted, provider))), held, wanted, messenger.app?.command, undefined, listed !== undefined || given !== undefined);
147
+ const named = parsed.chat ?? chat;
148
+ const scope = { accounts };
149
+ if (named !== undefined)
150
+ scope.chat = await chatAmong(messenger, store, accounts, named);
151
+ if (senders !== undefined)
152
+ scope.senders = senders;
153
+ if (parsed.from?.toLowerCase() === "me")
154
+ scope.outgoing = true;
155
+ else if (parsed.from !== undefined)
156
+ scope.sender = await senderAmong(store, accounts, parsed.from);
157
+ if (parsed.after !== undefined)
158
+ scope.after = parsed.after;
159
+ if (parsed.before !== undefined)
160
+ scope.before = parsed.before;
161
+ if (parsed.has.length > 0) {
162
+ const held = await store.attachmentKinds();
163
+ const unknown = parsed.has.find((kind) => !["attachment", "link", ...held].includes(kind));
164
+ if (unknown !== undefined) {
165
+ throw new CliError("validation_error", `has:${unknown} — the store holds no ${unknown}; it holds ${["attachment", "link", ...held].join(", ")}`);
166
+ }
167
+ scope.has = parsed.has;
168
+ }
169
+ return [{ required: parsed.required, excluded: parsed.excluded }, scope];
170
+ };
171
+ //# sourceMappingURL=message-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-resolution.js","sourceRoot":"","sources":["../../src/services/message-resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { AccountKey, MessageStore, StoredHit } from "../store/store.js";
2
+ import { type Saved } from "./message-resolution.js";
3
+ import type { SearchFound, SearchQuery } from "./messages.js";
4
+ import { type MessageStats, type StatsGrouping } from "./messages-search.js";
5
+ /** How long a search may spend building the word index, then the stems, first (phase 2 plan S3: about 200 ms). */
6
+ export declare const SEARCH_FILL_MS = 200;
7
+ export declare const statsStore: (store: MessageStore, account: AccountKey, request: SearchQuery & {
8
+ by: StatsGrouping;
9
+ }, messenger?: Saved) => Promise<MessageStats>;
10
+ /**
11
+ * `search messages` over a store, from the account given — or from `query.accounts`, which a caller such
12
+ * as a bot's search passes after checking it may read them.
13
+ */
14
+ export declare const topUp: (store: MessageStore) => Promise<void>;
15
+ /** How deep a search pages: each page reads every hit before it again. */
16
+ export declare const MAX_SEARCH_OFFSET = 1000;
17
+ /**
18
+ * Search the store, one page at a time: `offset` skips the hits a page before held, and `nextOffset` says where
19
+ * the next page starts. A page is the hits up to `offset + limit` read again and cut, so deep pages cost more.
20
+ */
21
+ export declare const searchStore: (store: MessageStore, account: AccountKey, request: SearchQuery, messenger?: Saved) => Promise<SearchFound>;
22
+ export declare const accountOf: (hit: StoredHit) => AccountKey;
23
+ export declare const keyOf: ({ provider, account }: AccountKey) => string;
24
+ //# sourceMappingURL=messages-archive-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-archive-search.d.ts","sourceRoot":"","sources":["../../src/services/messages-archive-search.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAoB,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE9F,OAAO,EAAE,KAAK,KAAK,EAAyB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,EAAgB,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAA6B,MAAM,sBAAsB,CAAA;AAGvG,kHAAkH;AAClH,eAAO,MAAM,cAAc,MAAM,CAAA;AAEjC,eAAO,MAAM,UAAU,UACd,YAAY,WACV,UAAU,WACV,WAAW,GAAG;IAAE,EAAE,EAAE,aAAa,CAAA;CAAE,cACjC,KAAK,KACf,OAAO,CAAC,YAAY,CAKtB,CAAA;AAkBD;;;GAGG;AAEH,eAAO,MAAM,KAAK,UAAiB,YAAY,kBAI9C,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,OAAO,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,WAAW,UACf,YAAY,WACV,UAAU,WACV,WAAW,cACT,KAAK,KACf,OAAO,CAAC,WAAW,CAUrB,CAAA;AA4DD,eAAO,MAAM,SAAS,QAAS,SAAS,KAAG,UAG1C,CAAA;AAED,eAAO,MAAM,KAAK,0BAA2B,UAAU,WAA6B,CAAA"}
@@ -0,0 +1,123 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { parseLocator } from "../domain/locator.js";
3
+ import { search } from "../search/search.js";
4
+ import { validateSearchDialect } from "./message-query-validation.js";
5
+ import { scopeOf, storedChatId } from "./message-resolution.js";
6
+ import { searchDiscovery } from "./messages-discovery.js";
7
+ import { searchLucene, statsLucene } from "./messages-search.js";
8
+ import { readThreadContext, threadBounds } from "./thread-context.js";
9
+ /** How long a search may spend building the word index, then the stems, first (phase 2 plan S3: about 200 ms). */
10
+ export const SEARCH_FILL_MS = 200;
11
+ export const statsStore = async (store, account, request, messenger = {}) => {
12
+ const stop = Date.now() + SEARCH_FILL_MS;
13
+ await store.fillSearchIndex({ until: () => Date.now() >= stop });
14
+ await store.fillStems({ until: () => Date.now() >= stop });
15
+ return statsLucene(store, account, request, messenger);
16
+ };
17
+ const withThreads = async (store, found, request) => {
18
+ if (!request.thread)
19
+ return found;
20
+ const items = [];
21
+ for (const hit of found.items)
22
+ items.push({
23
+ ...hit,
24
+ thread: await readThreadContext(store, accountOf(hit), hit.chatId, hit.id, {
25
+ before: request.context ?? 0,
26
+ after: request.context ?? 0,
27
+ ...request.thread,
28
+ signal: request.signal,
29
+ }),
30
+ });
31
+ return { ...found, items };
32
+ };
33
+ /**
34
+ * `search messages` over a store, from the account given — or from `query.accounts`, which a caller such
35
+ * as a bot's search passes after checking it may read them.
36
+ */
37
+ // A large file builds its word index a slice per search as well as in `store migrate` (NEED-453 A).
38
+ export const topUp = async (store) => {
39
+ const stop = Date.now() + SEARCH_FILL_MS;
40
+ await store.fillSearchIndex({ until: () => Date.now() >= stop });
41
+ await store.fillStems({ until: () => Date.now() >= stop });
42
+ };
43
+ /** How deep a search pages: each page reads every hit before it again. */
44
+ export const MAX_SEARCH_OFFSET = 1000;
45
+ /**
46
+ * Search the store, one page at a time: `offset` skips the hits a page before held, and `nextOffset` says where
47
+ * the next page starts. A page is the hits up to `offset + limit` read again and cut, so deep pages cost more.
48
+ */
49
+ export const searchStore = async (store, account, request, messenger = {}) => {
50
+ const offset = request.offset ?? 0;
51
+ if (!Number.isInteger(offset) || offset < 0 || offset > MAX_SEARCH_OFFSET)
52
+ throw new CliError("validation_error", `offset takes a whole number from 0 to ${MAX_SEARCH_OFFSET}`);
53
+ const found = await searchPage(store, account, { ...request, limit: request.limit + offset }, messenger);
54
+ return {
55
+ ...found,
56
+ items: found.items.slice(offset),
57
+ ...(found.hasMore && offset + request.limit <= MAX_SEARCH_OFFSET ? { nextOffset: offset + request.limit } : {}),
58
+ };
59
+ };
60
+ const searchPage = async (store, account, request, messenger) => {
61
+ const { text, pattern, chat, source, accounts, senders, limit, newest = false, context = 0 } = request;
62
+ if (request.signal?.aborted)
63
+ throw new CliError("validation_error", "search was aborted", { reason: "query.aborted", complete: false });
64
+ validateSearchDialect(request);
65
+ if (request.thread)
66
+ threadBounds(request.thread);
67
+ if (request.discover !== undefined && typeof request.discover !== "boolean")
68
+ throw new CliError("validation_error", "discover takes a boolean");
69
+ if (request.discover && (pattern || request.language === "legacy"))
70
+ throw new CliError("validation_error", "discovery requires Lucene text, without legacy or regex");
71
+ if (request.discover && request.backend === "server")
72
+ throw new CliError("validation_error", "discovery searches the local archive; use backend archive");
73
+ await topUp(store);
74
+ if (request.discover)
75
+ return withThreads(store, await searchDiscovery(store, account, request, messenger), request);
76
+ if (!pattern && (request.language === "lucene" || request.ast !== undefined))
77
+ return withThreads(store, await searchLucene(store, account, request, messenger), request);
78
+ const found = pattern
79
+ ? {
80
+ ...(await store.find({
81
+ pattern,
82
+ signal: request.signal,
83
+ account,
84
+ limit,
85
+ ...(chat === undefined ? {} : { chatId: await storedChatId(messenger, chat, store, account) }),
86
+ })),
87
+ corrections: [],
88
+ wordsReady: (await store.searchIndexState())?.ready === true,
89
+ }
90
+ : await search(store, ...(await scopeOf(messenger, store, account, {
91
+ text: text ?? "",
92
+ chat,
93
+ source,
94
+ accounts,
95
+ senders,
96
+ kind: request.kind,
97
+ })), { limit, newest });
98
+ const items = await Promise.all(found.items.map(async (hit) => context > 0
99
+ ? {
100
+ ...hit,
101
+ context: await store.around(accountOf(hit), hit.chatId, hit.id, { before: context, after: context }),
102
+ }
103
+ : hit));
104
+ return withThreads(store, { ...found, items, completeness: await completenessOf(store, found.items) }, request);
105
+ };
106
+ export const accountOf = (hit) => {
107
+ const { provider, account } = parseLocator(hit.locator);
108
+ return { provider, account };
109
+ };
110
+ export const keyOf = ({ provider, account }) => `${provider}/${account}`;
111
+ /** Each chat's completeness from the account that holds it: a search may span several. */
112
+ const completenessOf = async (store, hits) => {
113
+ const chats = new Map();
114
+ for (const hit of hits) {
115
+ const account = accountOf(hit);
116
+ const held = chats.get(keyOf(account)) ?? { account, chatIds: new Set() };
117
+ held.chatIds.add(hit.chatId);
118
+ chats.set(keyOf(account), held);
119
+ }
120
+ const found = await Promise.all([...chats.values()].map(async ({ account, chatIds }) => (await store.chatCompleteness(account, [...chatIds])).map((one) => ({ ...one, ...account }))));
121
+ return found.flat();
122
+ };
123
+ //# sourceMappingURL=messages-archive-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-archive-search.js","sourceRoot":"","sources":["../../src/services/messages-archive-search.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { SkippedSource } from "../search/account-list.js";
3
3
  import { type QueryExecution } from "../search/lucene/resolved.js";
4
4
  import { type Stemmer } from "../search/stem.js";
5
5
  import { type AccountKey, type ChatCompleteness, type MessageStore } from "../store/store.js";
6
- import { type SearchFound, type SearchQuery } from "./messages.js";
6
+ import type { SearchFound, SearchQuery } from "./messages.js";
7
7
  import type { SearchRefreshed } from "./search-refresh.js";
8
8
  export interface QueryMetadata {
9
9
  language: "lucene-v1";
@@ -121,7 +121,6 @@ export interface MessageStats {
121
121
  coverage: SearchCoverage;
122
122
  completeness: (ChatCompleteness & AccountKey)[];
123
123
  }
124
- export declare const calendarKey: (zone: string, by: "day" | "hour") => (time: number) => string;
125
124
  /** Distinct matching messages counted by chat, sender, or calendar day/hour in the query's timezone. */
126
125
  export declare const statsLucene: (store: MessageStore, account: AccountKey, request: SearchQuery & {
127
126
  by: StatsGrouping;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-search.d.ts","sourceRoot":"","sources":["../../src/services/messages-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-search.d.ts","sourceRoot":"","sources":["../../src/services/messages-search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { calendarKey } from "../domain/calendar.js";
2
3
  import { parseLocator } from "../domain/locator.js";
3
4
  import { PRESET_VERSION } from "../search/lucene/presets.js";
4
5
  import { FIELD_VERSION, validateAst, validateFields } from "../search/lucene/registry.js";
@@ -8,7 +9,7 @@ import { createStemmer, DEFAULT_STEMMERS } from "../search/stem.js";
8
9
  import { CHAT_LIST_KEY, } from "../store/store.js";
9
10
  import { withExcerpt } from "./excerpt.js";
10
11
  import { mailAround, mergeMail, withMailThreads } from "./mail-search.js";
11
- import { chatAmong, senderAmong } from "./messages.js";
12
+ import { chatAmong, senderAmong } from "./message-resolution.js";
12
13
  import { accountsOfKind, listedAccounts, MAIL } from "./search-kind.js";
13
14
  const MAIL_FIELDS = new Set(["to", "cc", "bcc", "subject", "mailbox", "label", "is"]);
14
15
  import { dateRange, parseLucene, timezoneOf, walkQuery } from "@wirecat/cli-base/query";
@@ -364,19 +365,6 @@ const oldestFetch = (chats) => chats.length === 0 || chats.some(({ fetchedAt })
364
365
  : chats.map(({ fetchedAt }) => fetchedAt).sort()[0];
365
366
  const requiresChat = (node, chat) => node === chat ||
366
367
  (node.kind === "boolean" && node.clauses.some((clause) => clause.occur === "must" && requiresChat(clause.node, chat)));
367
- export const calendarKey = (zone, by) => {
368
- const format = new Intl.DateTimeFormat("en-CA", {
369
- timeZone: zone,
370
- year: "numeric",
371
- month: "2-digit",
372
- day: "2-digit",
373
- ...(by === "hour" ? { hour: "2-digit", hourCycle: "h23" } : {}),
374
- });
375
- return (time) => {
376
- const part = Object.fromEntries(format.formatToParts(time).map(({ type, value }) => [type, value]));
377
- return `${part.year}-${part.month}-${part.day}${by === "hour" ? `T${part.hour}` : ""}`;
378
- };
379
- };
380
368
  /** Distinct matching messages counted by chat, sender, or calendar day/hour in the query's timezone. */
381
369
  export const statsLucene = async (store, account, request, messenger = {}) => {
382
370
  const prepared = await prepareLucene(store, account, request, messenger);
@@ -1 +1 @@
1
- {"version":3,"file":"messages-search.js","sourceRoot":"","sources":["../../src/services/messages-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-search.js","sourceRoot":"","sources":["../../src/services/messages-search.ts"],"names":[],"mappings":"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"}