@leemour/cli-messaging 0.148.2 → 0.150.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 (372) hide show
  1. package/README.md +19 -0
  2. package/THIRD_PARTY_NOTICES +8 -0
  3. package/dist/analysis/anthropic.d.ts +3 -0
  4. package/dist/analysis/anthropic.d.ts.map +1 -0
  5. package/dist/analysis/anthropic.js +28 -0
  6. package/dist/analysis/anthropic.js.map +1 -0
  7. package/dist/analysis/consents.d.ts +13 -0
  8. package/dist/analysis/consents.d.ts.map +1 -0
  9. package/dist/analysis/consents.js +36 -0
  10. package/dist/analysis/consents.js.map +1 -0
  11. package/dist/analysis/provider.d.ts +14 -0
  12. package/dist/analysis/provider.d.ts.map +1 -0
  13. package/dist/analysis/provider.js +46 -0
  14. package/dist/analysis/provider.js.map +1 -0
  15. package/dist/analysis/runner.d.ts +23 -0
  16. package/dist/analysis/runner.d.ts.map +1 -0
  17. package/dist/analysis/runner.js +84 -0
  18. package/dist/analysis/runner.js.map +1 -0
  19. package/dist/analysis/settings.d.ts +19 -0
  20. package/dist/analysis/settings.d.ts.map +1 -0
  21. package/dist/analysis/settings.js +47 -0
  22. package/dist/analysis/settings.js.map +1 -0
  23. package/dist/attachments/extract.d.ts +48 -0
  24. package/dist/attachments/extract.d.ts.map +1 -0
  25. package/dist/attachments/extract.js +119 -0
  26. package/dist/attachments/extract.js.map +1 -0
  27. package/dist/botcheck/check.d.ts +64 -0
  28. package/dist/botcheck/check.d.ts.map +1 -0
  29. package/dist/botcheck/check.js +84 -0
  30. package/dist/botcheck/check.js.map +1 -0
  31. package/dist/botcheck/reasons.d.ts +15 -0
  32. package/dist/botcheck/reasons.d.ts.map +1 -0
  33. package/dist/botcheck/reasons.js +29 -0
  34. package/dist/botcheck/reasons.js.map +1 -0
  35. package/dist/botcheck/registries.d.ts +38 -0
  36. package/dist/botcheck/registries.d.ts.map +1 -0
  37. package/dist/botcheck/registries.js +98 -0
  38. package/dist/botcheck/registries.js.map +1 -0
  39. package/dist/botcheck/service.d.ts +16 -0
  40. package/dist/botcheck/service.d.ts.map +1 -0
  41. package/dist/botcheck/service.js +94 -0
  42. package/dist/botcheck/service.js.map +1 -0
  43. package/dist/charts/chat.d.ts +10 -0
  44. package/dist/charts/chat.d.ts.map +1 -0
  45. package/dist/charts/chat.js +72 -0
  46. package/dist/charts/chat.js.map +1 -0
  47. package/dist/charts/echarts-option.d.ts +4 -0
  48. package/dist/charts/echarts-option.d.ts.map +1 -0
  49. package/dist/charts/echarts-option.js +51 -0
  50. package/dist/charts/echarts-option.js.map +1 -0
  51. package/dist/charts/echarts.d.ts +3 -0
  52. package/dist/charts/echarts.d.ts.map +1 -0
  53. package/dist/charts/echarts.js +26 -0
  54. package/dist/charts/echarts.js.map +1 -0
  55. package/dist/charts/index.d.ts +4 -0
  56. package/dist/charts/index.d.ts.map +1 -0
  57. package/dist/charts/index.js +4 -0
  58. package/dist/charts/index.js.map +1 -0
  59. package/dist/charts/model.d.ts +34 -0
  60. package/dist/charts/model.d.ts.map +1 -0
  61. package/dist/charts/model.js +3 -0
  62. package/dist/charts/model.js.map +1 -0
  63. package/dist/charts/render.d.ts +3 -0
  64. package/dist/charts/render.d.ts.map +1 -0
  65. package/dist/charts/render.js +2 -0
  66. package/dist/charts/render.js.map +1 -0
  67. package/dist/cli/analysis-choice.d.ts +10 -0
  68. package/dist/cli/analysis-choice.d.ts.map +1 -0
  69. package/dist/cli/analysis-choice.js +31 -0
  70. package/dist/cli/analysis-choice.js.map +1 -0
  71. package/dist/cli/embedding-choice.d.ts +15 -0
  72. package/dist/cli/embedding-choice.d.ts.map +1 -0
  73. package/dist/cli/embedding-choice.js +36 -0
  74. package/dist/cli/embedding-choice.js.map +1 -0
  75. package/dist/cli/embedding-keys.d.ts +2 -2
  76. package/dist/cli/embedding-keys.d.ts.map +1 -1
  77. package/dist/cli/embedding-keys.js +8 -4
  78. package/dist/cli/embedding-keys.js.map +1 -1
  79. package/dist/cli/index.d.ts +9 -1
  80. package/dist/cli/index.d.ts.map +1 -1
  81. package/dist/cli/index.js +8 -0
  82. package/dist/cli/index.js.map +1 -1
  83. package/dist/cli/messenger/attachments-command.d.ts +5 -0
  84. package/dist/cli/messenger/attachments-command.d.ts.map +1 -0
  85. package/dist/cli/messenger/attachments-command.js +122 -0
  86. package/dist/cli/messenger/attachments-command.js.map +1 -0
  87. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  88. package/dist/cli/messenger/chats-command.js +2 -0
  89. package/dist/cli/messenger/chats-command.js.map +1 -1
  90. package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
  91. package/dist/cli/messenger/chats-members-command.js +67 -3
  92. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  93. package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
  94. package/dist/cli/messenger/chats-read-command.js +7 -2
  95. package/dist/cli/messenger/chats-read-command.js.map +1 -1
  96. package/dist/cli/messenger/chats-tracking-command.d.ts +5 -0
  97. package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -0
  98. package/dist/cli/messenger/chats-tracking-command.js +53 -0
  99. package/dist/cli/messenger/chats-tracking-command.js.map +1 -0
  100. package/dist/cli/messenger/contacts-command.d.ts +0 -1
  101. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  102. package/dist/cli/messenger/contacts-command.js +68 -2
  103. package/dist/cli/messenger/contacts-command.js.map +1 -1
  104. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  105. package/dist/cli/messenger/conversations-command.js +129 -41
  106. package/dist/cli/messenger/conversations-command.js.map +1 -1
  107. package/dist/cli/messenger/download-command.d.ts +8 -1
  108. package/dist/cli/messenger/download-command.d.ts.map +1 -1
  109. package/dist/cli/messenger/download-command.js +41 -6
  110. package/dist/cli/messenger/download-command.js.map +1 -1
  111. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  112. package/dist/cli/messenger/messages-command.js +38 -3
  113. package/dist/cli/messenger/messages-command.js.map +1 -1
  114. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  115. package/dist/cli/messenger/messages-search-command.js +19 -3
  116. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  117. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  118. package/dist/cli/messenger/messages-stats-command.js +6 -2
  119. package/dist/cli/messenger/messages-stats-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 +3 -5
  122. package/dist/cli/messenger/models-command.js.map +1 -1
  123. package/dist/cli/messenger/port.d.ts +26 -2
  124. package/dist/cli/messenger/port.d.ts.map +1 -1
  125. package/dist/cli/messenger/port.js.map +1 -1
  126. package/dist/cli/messenger/review.d.ts +2 -1
  127. package/dist/cli/messenger/review.d.ts.map +1 -1
  128. package/dist/cli/messenger/review.js +4 -1
  129. package/dist/cli/messenger/review.js.map +1 -1
  130. package/dist/cli/messenger/search-sync-options.d.ts +9 -0
  131. package/dist/cli/messenger/search-sync-options.d.ts.map +1 -0
  132. package/dist/cli/messenger/search-sync-options.js +34 -0
  133. package/dist/cli/messenger/search-sync-options.js.map +1 -0
  134. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  135. package/dist/cli/messenger/serve-command.js +47 -3
  136. package/dist/cli/messenger/serve-command.js.map +1 -1
  137. package/dist/cli/messenger/serve-members.d.ts +26 -0
  138. package/dist/cli/messenger/serve-members.d.ts.map +1 -0
  139. package/dist/cli/messenger/serve-members.js +47 -0
  140. package/dist/cli/messenger/serve-members.js.map +1 -0
  141. package/dist/cli/messenger/stats-command.d.ts +5 -0
  142. package/dist/cli/messenger/stats-command.d.ts.map +1 -0
  143. package/dist/cli/messenger/stats-command.js +59 -0
  144. package/dist/cli/messenger/stats-command.js.map +1 -0
  145. package/dist/cli/messenger/store-maintenance-command.d.ts.map +1 -1
  146. package/dist/cli/messenger/store-maintenance-command.js +11 -2
  147. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  148. package/dist/cli/messenger/thread-options.d.ts +7 -0
  149. package/dist/cli/messenger/thread-options.d.ts.map +1 -0
  150. package/dist/cli/messenger/thread-options.js +31 -0
  151. package/dist/cli/messenger/thread-options.js.map +1 -0
  152. package/dist/cli/registry-keys.d.ts +8 -0
  153. package/dist/cli/registry-keys.d.ts.map +1 -0
  154. package/dist/cli/registry-keys.js +19 -0
  155. package/dist/cli/registry-keys.js.map +1 -0
  156. package/dist/cli/settings.d.ts +16 -1
  157. package/dist/cli/settings.d.ts.map +1 -1
  158. package/dist/cli/settings.js +5 -0
  159. package/dist/cli/settings.js.map +1 -1
  160. package/dist/domain/attachments.d.ts +23 -0
  161. package/dist/domain/attachments.d.ts.map +1 -0
  162. package/dist/domain/attachments.js +28 -0
  163. package/dist/domain/attachments.js.map +1 -0
  164. package/dist/domain/models.d.ts +65 -0
  165. package/dist/domain/models.d.ts.map +1 -1
  166. package/dist/kit/fake.d.ts.map +1 -1
  167. package/dist/kit/fake.js +3 -0
  168. package/dist/kit/fake.js.map +1 -1
  169. package/dist/kit/index.d.ts +1 -0
  170. package/dist/kit/index.d.ts.map +1 -1
  171. package/dist/kit/index.js +1 -0
  172. package/dist/kit/index.js.map +1 -1
  173. package/dist/kit/search-recipes.d.ts +40 -0
  174. package/dist/kit/search-recipes.d.ts.map +1 -0
  175. package/dist/kit/search-recipes.js +33 -0
  176. package/dist/kit/search-recipes.js.map +1 -0
  177. package/dist/mcp/prompts.d.ts +4 -0
  178. package/dist/mcp/prompts.d.ts.map +1 -1
  179. package/dist/mcp/prompts.js +10 -0
  180. package/dist/mcp/prompts.js.map +1 -1
  181. package/dist/mcp/search-sync.d.ts +12 -0
  182. package/dist/mcp/search-sync.d.ts.map +1 -0
  183. package/dist/mcp/search-sync.js +18 -0
  184. package/dist/mcp/search-sync.js.map +1 -0
  185. package/dist/mcp/server.d.ts.map +1 -1
  186. package/dist/mcp/server.js +2 -0
  187. package/dist/mcp/server.js.map +1 -1
  188. package/dist/mcp/thread-options.d.ts +19 -0
  189. package/dist/mcp/thread-options.d.ts.map +1 -0
  190. package/dist/mcp/thread-options.js +20 -0
  191. package/dist/mcp/thread-options.js.map +1 -0
  192. package/dist/mcp/tool.d.ts +7 -4
  193. package/dist/mcp/tool.d.ts.map +1 -1
  194. package/dist/mcp/tool.js +13 -4
  195. package/dist/mcp/tool.js.map +1 -1
  196. package/dist/mcp/tools/attachments.d.ts +4 -0
  197. package/dist/mcp/tools/attachments.d.ts.map +1 -0
  198. package/dist/mcp/tools/attachments.js +60 -0
  199. package/dist/mcp/tools/attachments.js.map +1 -0
  200. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  201. package/dist/mcp/tools/chats-read.js +8 -2
  202. package/dist/mcp/tools/chats-read.js.map +1 -1
  203. package/dist/mcp/tools/chats.d.ts.map +1 -1
  204. package/dist/mcp/tools/chats.js +47 -4
  205. package/dist/mcp/tools/chats.js.map +1 -1
  206. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  207. package/dist/mcp/tools/contacts.js +58 -5
  208. package/dist/mcp/tools/contacts.js.map +1 -1
  209. package/dist/mcp/tools/conversations.d.ts.map +1 -1
  210. package/dist/mcp/tools/conversations.js +95 -12
  211. package/dist/mcp/tools/conversations.js.map +1 -1
  212. package/dist/mcp/tools/messages.d.ts.map +1 -1
  213. package/dist/mcp/tools/messages.js +45 -17
  214. package/dist/mcp/tools/messages.js.map +1 -1
  215. package/dist/mcp/tools/search.d.ts +32 -3
  216. package/dist/mcp/tools/search.d.ts.map +1 -1
  217. package/dist/mcp/tools/search.js +23 -3
  218. package/dist/mcp/tools/search.js.map +1 -1
  219. package/dist/mcp/tools/stats.d.ts +4 -0
  220. package/dist/mcp/tools/stats.d.ts.map +1 -0
  221. package/dist/mcp/tools/stats.js +34 -0
  222. package/dist/mcp/tools/stats.js.map +1 -0
  223. package/dist/mcp/tools.d.ts +1 -1
  224. package/dist/mcp/tools.d.ts.map +1 -1
  225. package/dist/mcp/tools.js +5 -1
  226. package/dist/mcp/tools.js.map +1 -1
  227. package/dist/render/thread-context.d.ts +3 -0
  228. package/dist/render/thread-context.d.ts.map +1 -0
  229. package/dist/render/thread-context.js +4 -0
  230. package/dist/render/thread-context.js.map +1 -0
  231. package/dist/search/lucene/registry.d.ts +9 -0
  232. package/dist/search/lucene/registry.d.ts.map +1 -1
  233. package/dist/search/lucene/registry.js +10 -0
  234. package/dist/search/lucene/registry.js.map +1 -1
  235. package/dist/search/lucene/resolved.d.ts +3 -0
  236. package/dist/search/lucene/resolved.d.ts.map +1 -1
  237. package/dist/search/lucene/resolved.js.map +1 -1
  238. package/dist/sends/permissions.d.ts +1 -1
  239. package/dist/sends/permissions.d.ts.map +1 -1
  240. package/dist/sends/permissions.js +8 -1
  241. package/dist/sends/permissions.js.map +1 -1
  242. package/dist/services/archive.d.ts.map +1 -1
  243. package/dist/services/archive.js +7 -0
  244. package/dist/services/archive.js.map +1 -1
  245. package/dist/services/attachments.d.ts +85 -0
  246. package/dist/services/attachments.d.ts.map +1 -0
  247. package/dist/services/attachments.js +194 -0
  248. package/dist/services/attachments.js.map +1 -0
  249. package/dist/services/chat-stats.d.ts +3 -1
  250. package/dist/services/chat-stats.d.ts.map +1 -1
  251. package/dist/services/chat-stats.js.map +1 -1
  252. package/dist/services/chats.d.ts +50 -0
  253. package/dist/services/chats.d.ts.map +1 -1
  254. package/dist/services/chats.js +122 -22
  255. package/dist/services/chats.js.map +1 -1
  256. package/dist/services/deps.d.ts +12 -0
  257. package/dist/services/deps.d.ts.map +1 -1
  258. package/dist/services/deps.js +20 -0
  259. package/dist/services/deps.js.map +1 -1
  260. package/dist/services/embeddings.d.ts +21 -1
  261. package/dist/services/embeddings.d.ts.map +1 -1
  262. package/dist/services/embeddings.js +153 -41
  263. package/dist/services/embeddings.js.map +1 -1
  264. package/dist/services/inbox.d.ts +6 -20
  265. package/dist/services/inbox.d.ts.map +1 -1
  266. package/dist/services/inbox.js +16 -40
  267. package/dist/services/inbox.js.map +1 -1
  268. package/dist/services/index.d.ts +13 -1
  269. package/dist/services/index.d.ts.map +1 -1
  270. package/dist/services/index.js +9 -1
  271. package/dist/services/index.js.map +1 -1
  272. package/dist/services/member-history.d.ts +23 -0
  273. package/dist/services/member-history.d.ts.map +1 -0
  274. package/dist/services/member-history.js +37 -0
  275. package/dist/services/member-history.js.map +1 -0
  276. package/dist/services/members-audit.d.ts +5 -1
  277. package/dist/services/members-audit.d.ts.map +1 -1
  278. package/dist/services/members-audit.js +1 -16
  279. package/dist/services/members-audit.js.map +1 -1
  280. package/dist/services/messages-search.d.ts +15 -1
  281. package/dist/services/messages-search.d.ts.map +1 -1
  282. package/dist/services/messages-search.js +1 -1
  283. package/dist/services/messages-search.js.map +1 -1
  284. package/dist/services/messages.d.ts +25 -3
  285. package/dist/services/messages.d.ts.map +1 -1
  286. package/dist/services/messages.js +79 -24
  287. package/dist/services/messages.js.map +1 -1
  288. package/dist/services/patience.d.ts.map +1 -1
  289. package/dist/services/patience.js +1 -0
  290. package/dist/services/patience.js.map +1 -1
  291. package/dist/services/people.d.ts +17 -3
  292. package/dist/services/people.d.ts.map +1 -1
  293. package/dist/services/people.js +35 -1
  294. package/dist/services/people.js.map +1 -1
  295. package/dist/services/person-context.d.ts +42 -0
  296. package/dist/services/person-context.d.ts.map +1 -1
  297. package/dist/services/person-context.js +48 -0
  298. package/dist/services/person-context.js.map +1 -1
  299. package/dist/services/person-profile.d.ts +10 -0
  300. package/dist/services/person-profile.d.ts.map +1 -0
  301. package/dist/services/person-profile.js +64 -0
  302. package/dist/services/person-profile.js.map +1 -0
  303. package/dist/services/questions.d.ts +19 -0
  304. package/dist/services/questions.d.ts.map +1 -0
  305. package/dist/services/questions.js +39 -0
  306. package/dist/services/questions.js.map +1 -0
  307. package/dist/services/search-refresh.d.ts +37 -0
  308. package/dist/services/search-refresh.d.ts.map +1 -0
  309. package/dist/services/search-refresh.js +140 -0
  310. package/dist/services/search-refresh.js.map +1 -0
  311. package/dist/services/task-rules.d.ts +27 -0
  312. package/dist/services/task-rules.d.ts.map +1 -0
  313. package/dist/services/task-rules.js +79 -0
  314. package/dist/services/task-rules.js.map +1 -0
  315. package/dist/services/thread-context.d.ts +37 -0
  316. package/dist/services/thread-context.d.ts.map +1 -0
  317. package/dist/services/thread-context.js +227 -0
  318. package/dist/services/thread-context.js.map +1 -0
  319. package/dist/store/index.d.ts +2 -1
  320. package/dist/store/index.d.ts.map +1 -1
  321. package/dist/store/index.js +1 -0
  322. package/dist/store/index.js.map +1 -1
  323. package/dist/store/sqlite/attachment-texts.d.ts +77 -0
  324. package/dist/store/sqlite/attachment-texts.d.ts.map +1 -0
  325. package/dist/store/sqlite/attachment-texts.js +130 -0
  326. package/dist/store/sqlite/attachment-texts.js.map +1 -0
  327. package/dist/store/sqlite/attachments.d.ts +6 -0
  328. package/dist/store/sqlite/attachments.d.ts.map +1 -0
  329. package/dist/store/sqlite/attachments.js +33 -0
  330. package/dist/store/sqlite/attachments.js.map +1 -0
  331. package/dist/store/sqlite/conversation-eligibility.d.ts +12 -0
  332. package/dist/store/sqlite/conversation-eligibility.d.ts.map +1 -0
  333. package/dist/store/sqlite/conversation-eligibility.js +24 -0
  334. package/dist/store/sqlite/conversation-eligibility.js.map +1 -0
  335. package/dist/store/sqlite/conversations.d.ts +6 -2
  336. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  337. package/dist/store/sqlite/conversations.js +33 -8
  338. package/dist/store/sqlite/conversations.js.map +1 -1
  339. package/dist/store/sqlite/lucene.d.ts +2 -0
  340. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  341. package/dist/store/sqlite/lucene.js +32 -1
  342. package/dist/store/sqlite/lucene.js.map +1 -1
  343. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  344. package/dist/store/sqlite/manifest.js +3 -0
  345. package/dist/store/sqlite/manifest.js.map +1 -1
  346. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  347. package/dist/store/sqlite/migrations.generated.js +26 -0
  348. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  349. package/dist/store/sqlite/reads.d.ts +3 -1
  350. package/dist/store/sqlite/reads.d.ts.map +1 -1
  351. package/dist/store/sqlite/reads.js +28 -0
  352. package/dist/store/sqlite/reads.js.map +1 -1
  353. package/dist/store/sqlite/schema.d.ts +375 -0
  354. package/dist/store/sqlite/schema.d.ts.map +1 -1
  355. package/dist/store/sqlite/schema.js +42 -0
  356. package/dist/store/sqlite/schema.js.map +1 -1
  357. package/dist/store/sqlite/tasks.d.ts +8 -0
  358. package/dist/store/sqlite/tasks.d.ts.map +1 -0
  359. package/dist/store/sqlite/tasks.js +101 -0
  360. package/dist/store/sqlite/tasks.js.map +1 -0
  361. package/dist/store/sqlite/vectors.d.ts +2 -1
  362. package/dist/store/sqlite/vectors.d.ts.map +1 -1
  363. package/dist/store/sqlite/vectors.js +2 -1
  364. package/dist/store/sqlite/vectors.js.map +1 -1
  365. package/dist/store/store.d.ts +51 -2
  366. package/dist/store/store.d.ts.map +1 -1
  367. package/dist/store/store.js +56 -3
  368. package/dist/store/store.js.map +1 -1
  369. package/docs/search/recipes.json +119 -0
  370. package/package.json +24 -4
  371. package/parity.json +627 -232
  372. package/skills/link-conversations/SKILL.md +21 -1
@@ -1,14 +1,19 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
+ import { botCheckService } from "../botcheck/service.js";
2
3
  import { capability } from "../cli/messenger/port.js";
4
+ import { threadIdOf } from "../cli/messenger/thread.js";
3
5
  import { timezoneOf } from "../search/lucene/dates.js";
4
6
  import { codeOf, guardedWrite } from "../sends/guarded.js";
5
7
  import { newOperationId } from "../sends/send-id.js";
6
8
  import { chatStats } from "./chat-stats.js";
7
9
  import { fromStore, nothingStored, storeIfOpen } from "./deps.js";
10
+ import { memberEvents } from "./member-history.js";
8
11
  import { AUDIT_BUDGET, AUDIT_MIN_SCORE, AUDIT_PAGE, AUDIT_PAUSE_MS, auditMembers, } from "./members-audit.js";
9
12
  import { storedChatId } from "./messages.js";
10
13
  /** How far back `events` looks without `since`, as in max-cli. */
11
14
  export const EVENTS_DAYS = 7;
15
+ /** How far back `chats tracking show` lists daily counts. */
16
+ export const TRACKED_DAYS = 30;
12
17
  /** How many stored messages one read of the store takes while `stats` walks the period. */
13
18
  const STATS_PAGE = 1000;
14
19
  /** @deprecated A filtered list now searches every chat; kept because `./services` exports it. */
@@ -28,6 +33,25 @@ export const checkedFilter = ({ search, kind, unread }) => {
28
33
  ...(unread ? { unread } : {}),
29
34
  };
30
35
  };
36
+ /** One person a second: a whole group at once would be many requests, and some go to the ban lists. */
37
+ const deepChecks = async (deps, items, deep, pauseMs, registry) => {
38
+ const checks = botCheckService(deps);
39
+ const checked = [];
40
+ for (const [index, item] of items.entries()) {
41
+ if (index >= deep) {
42
+ checked.push(item);
43
+ continue;
44
+ }
45
+ if (index > 0)
46
+ await new Promise((resolve) => setTimeout(resolve, pauseMs));
47
+ const { score, reasons, registries, unknown } = await checks.person(item.id, {
48
+ registries: true,
49
+ ...(registry ? { registry } : {}),
50
+ });
51
+ checked.push({ ...item, check: { score, reasons, registries, unknown } });
52
+ }
53
+ return checked;
54
+ };
31
55
  export const chatsService = (deps) => ({
32
56
  list: async (filter, window) => {
33
57
  const filtering = filter.search !== undefined || filter.kind !== undefined || filter.unread === true;
@@ -68,7 +92,16 @@ export const chatsService = (deps) => ({
68
92
  const held = await storeIfOpen(deps);
69
93
  return held ? { ...card, members: await storedMembers(held.store, held.account, card.id) } : card;
70
94
  },
71
- members: async (chat, window) => capability(await deps.connection(), "members", "list a group's members")(chat, window),
95
+ members: async (chat, window) => {
96
+ if (!fromStore(deps))
97
+ return capability(await deps.connection(), "members", "list a group's members")(chat, window);
98
+ const store = await deps.store();
99
+ const account = await deps.account();
100
+ const chatId = await storedChatId(deps.messenger, chat, store, account);
101
+ const everyone = await store.members(account, chatId);
102
+ const end = window.limit === undefined ? everyone.length : window.offset + window.limit;
103
+ return { chatId, items: everyone.slice(window.offset, end), hasMore: everyone.length > end };
104
+ },
72
105
  events: async (chat, { since, only }) => {
73
106
  if (deps.offline) {
74
107
  throw new CliError("validation_error", "`chats events` reads the chat's history; with `--offline` there is none");
@@ -109,35 +142,26 @@ export const chatsService = (deps) => ({
109
142
  ...(by ? { by } : {}),
110
143
  timezone: timezoneOf(timezone),
111
144
  });
145
+ const counts = await store.memberCounts(account, chatId, { since: new Date(from).toISOString().slice(0, 10) });
146
+ const counted = counts.length > 0 ? { ...stats, memberCounts: counts } : stats;
112
147
  return completeness.state === "complete"
113
- ? stats
114
- : { ...stats, fetch: `${deps.messenger.app.command} store fetch ${chatId}` };
148
+ ? counted
149
+ : { ...counted, fetch: `${deps.messenger.app.command} store fetch ${chatId}` };
115
150
  },
116
- audit: async (chat, { budget = AUDIT_BUDGET, minScore = AUDIT_MIN_SCORE, pauseMs = AUDIT_PAUSE_MS }) => {
151
+ audit: async (chat, { budget = AUDIT_BUDGET, minScore = AUDIT_MIN_SCORE, pauseMs = AUDIT_PAUSE_MS, deep = 0, registry }) => {
117
152
  if (fromStore(deps)) {
118
153
  throw new CliError("validation_error", "`chats members audit` reads the member list from the messenger; not offline");
119
154
  }
120
155
  const connection = await deps.connection();
121
- const members = capability(connection, "members", "list a group's members");
122
- const read = [];
123
- let chatId;
124
- let more = true;
125
- for (let page = 0; page < budget && more; page++) {
126
- if (page > 0)
127
- await new Promise((resolve) => setTimeout(resolve, pauseMs));
128
- const found = await members(chatId ?? chat, { limit: AUDIT_PAGE, offset: read.length });
129
- chatId = found.chatId;
130
- read.push(...found.items);
131
- more = found.hasMore && found.items.length > 0;
132
- }
133
- const id = chatId ?? chat;
156
+ const { chatId: id, members: read, more } = await readMembers(connection, chat, budget, pauseMs);
134
157
  const held = await storeIfOpen(deps);
135
158
  const stored = held ? await storedFacts(held.store, held.account, id) : undefined;
136
- const { items, unknown } = auditMembers(read, {
159
+ const { items: judged, unknown } = auditMembers(read, {
137
160
  firstMessages: stored?.firstMessages,
138
161
  self: connection.self(),
139
162
  minScore,
140
163
  });
164
+ const items = deep > 0 ? await deepChecks(deps, judged, deep, pauseMs, registry) : judged;
141
165
  return {
142
166
  chatId: id,
143
167
  read: read.length,
@@ -151,13 +175,73 @@ export const chatsService = (deps) => ({
151
175
  items,
152
176
  };
153
177
  },
154
- markRead: async ({ chat, until }) => {
178
+ fetchMembers: async (chat, { budget = AUDIT_BUDGET, pauseMs = AUDIT_PAUSE_MS, track = false }) => {
179
+ if (fromStore(deps)) {
180
+ throw new CliError("validation_error", "`chats members fetch` reads the member list from the messenger; not offline");
181
+ }
182
+ const { chatId, members, more } = await readMembers(await deps.connection(), chat, budget, pauseMs);
183
+ const store = await deps.store();
184
+ const account = await deps.account();
185
+ const participants = (await store.chats(account, {})).items.find(({ id }) => id === chatId)?.participantsCount ?? null;
186
+ const complete = !more && participants !== null && members.length >= participants;
187
+ const change = await store.saveRoster(account, chatId, { members, complete, participants });
188
+ if (track)
189
+ await store.trackMembers(account, chatId, true);
190
+ const tracked = (await store.trackedChats(account)).some((one) => one.chatId === chatId);
191
+ return { chatId, read: members.length, participants, complete, more, ...change, tracked };
192
+ },
193
+ tracked: async () => (await deps.store()).trackedChats(await deps.account()),
194
+ memberHistory: async (chat, { since }) => {
195
+ const store = await deps.store();
196
+ const account = await deps.account();
197
+ const chatId = await storedChatId(deps.messenger, chat, store, account);
198
+ const [stays, revisions] = await Promise.all([
199
+ store.memberStays(account, chatId),
200
+ store.profileRevisions(account, chatId),
201
+ ]);
202
+ return { chatId, events: memberEvents(stays, revisions, since) };
203
+ },
204
+ trackedChat: async (chat) => {
205
+ const store = await deps.store();
206
+ const account = await deps.account();
207
+ const chatId = await storedChatId(deps.messenger, chat, store, account);
208
+ const entry = (await store.trackedChats(account)).find((one) => one.chatId === chatId);
209
+ const since = new Date(Date.now() - TRACKED_DAYS * 86_400_000).toISOString().slice(0, 10);
210
+ return {
211
+ chatId,
212
+ trackedAt: entry?.trackedAt ?? null,
213
+ counts: await store.memberCounts(account, chatId, { since }),
214
+ };
215
+ },
216
+ track: async (chat, tracked) => {
217
+ const store = await deps.store();
218
+ const account = await deps.account();
219
+ const chatId = await storedChatId(deps.messenger, chat, store, account);
220
+ await store.trackMembers(account, chatId, tracked);
221
+ return { chatId, tracked };
222
+ },
223
+ markRead: async ({ chat, until, threadId: typedThread }) => {
224
+ const threadId = threadIdOf(typedThread);
155
225
  const connection = await deps.connection();
156
- const markRead = capability(connection, "markRead", "mark a chat read");
226
+ let act;
227
+ if (threadId === undefined) {
228
+ const markRead = capability(connection, "markRead", "mark a chat read");
229
+ act = (chatId) => markRead(chatId, until);
230
+ }
231
+ else {
232
+ const markTopicRead = capability(connection, "markTopicRead", "mark a forum topic read");
233
+ act = (chatId) => markTopicRead(chatId, threadId, until);
234
+ }
157
235
  const { id: chatId } = await connection.resolve(chat);
158
236
  const operationId = newOperationId();
159
- await guardedWrite(deps.guard, { operationId, chatId, kind: "read", ...(until === undefined ? {} : { messageId: until }) }, () => markRead(chatId, until));
160
- return { operationId, chatId, until: until ?? null };
237
+ await guardedWrite(deps.guard, {
238
+ operationId,
239
+ chatId,
240
+ kind: "read",
241
+ ...(until === undefined ? {} : { messageId: until }),
242
+ ...(threadId === undefined ? {} : { threadId }),
243
+ }, () => act(chatId));
244
+ return { operationId, chatId, until: until ?? null, ...(threadId === undefined ? {} : { threadId }) };
161
245
  },
162
246
  });
163
247
  /** Each sender's first stored message in the chat; `undefined` when the store holds none of it. */
@@ -195,6 +279,22 @@ const storedSince = async (store, account, chatId, since) => {
195
279
  before = oldest.id;
196
280
  }
197
281
  };
282
+ /** Pages of `AUDIT_PAGE`, at most `budget`, a pause between them; never one request per person. */
283
+ const readMembers = async (connection, chat, budget, pauseMs) => {
284
+ const members = capability(connection, "members", "list a group's members");
285
+ const read = [];
286
+ let chatId;
287
+ let more = true;
288
+ for (let page = 0; page < budget && more; page++) {
289
+ if (page > 0)
290
+ await new Promise((resolve) => setTimeout(resolve, pauseMs));
291
+ const found = await members(chatId ?? chat, { limit: AUDIT_PAGE, offset: read.length });
292
+ chatId = found.chatId;
293
+ read.push(...found.items);
294
+ more = found.hasMore && found.items.length > 0;
295
+ }
296
+ return { chatId: chatId ?? chat, members: read, more };
297
+ };
198
298
  /** `null` when no member list was ever saved: not knowing who is there is not nobody being there. */
199
299
  const storedMembers = async (store, account, chatId) => {
200
300
  const members = (await store.members(account, chatId)).filter((one) => one.id !== account.account);
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AppIdentity } from "../cli/app.js";
1
2
  import type { Messenger } from "../cli/messenger/context.js";
2
3
  import type { MessengerAdapter } from "../cli/messenger/port.js";
3
4
  import type { WarmEmbedders } from "../embeddings/embed.js";
@@ -16,6 +17,8 @@ export interface ServiceDeps {
16
17
  account: () => Promise<AccountKey>;
17
18
  /** Already saving what its reads answer, and recording each call as a run event. */
18
19
  connection: () => Promise<MessengerAdapter>;
20
+ /** A retained session serializes the whole fetch, including ingestion. */
21
+ withConnection?: <T>(work: (adapter: MessengerAdapter) => Promise<T>) => Promise<T>;
19
22
  store: () => Promise<MessageStore>;
20
23
  guard: SendGuard;
21
24
  /** For the profile's own files — a group's moderation rules. `default` and `process.env` when unset. */
@@ -53,4 +56,13 @@ export declare const storedDeps: (messenger: Messenger, store: MessageStore, acc
53
56
  * `--offline`, so `inbox` and `review` answer too. Nothing here connects.
54
57
  */
55
58
  export declare const storeModeDeps: (messenger: Messenger, store: MessageStore, account: AccountKey, guard: SendGuard) => ServiceDeps;
59
+ /**
60
+ * For a program that is not a messenger but keeps its own sources in the store — `cli-memo`'s notes and
61
+ * mail: the services that read and build from the store alone (conversations, embeddings, person
62
+ * context). It has no connection and no settings to resolve, and its guard refuses every write.
63
+ */
64
+ export declare const storeOnlyDeps: (store: MessageStore, account: AccountKey, { app, env }: {
65
+ app: AppIdentity;
66
+ env?: NodeJS.ProcessEnv;
67
+ }) => ServiceDeps;
56
68
  //# sourceMappingURL=deps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,gHAAgH;IAChH,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,oFAAoF;IACpF,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,qFAAqF;IACrF,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAMlE,CAAA;AAED,8GAA8G;AAC9G,eAAO,MAAM,SAAS,SAAU,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,KAAG,OACjC,CAAA;AAExC,4EAA4E;AAC5E,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MACiC,CAAA;AAEtF,gFAAgF;AAChF,eAAO,MAAM,MAAM,0DAA0D,CAAA;AAE7E,eAAO,MAAM,OAAO,+HAC0G,CAAA;AAE9H,qFAAqF;AACrF,eAAO,MAAM,UAAU,cACV,SAAS,WACX,gBAAgB,SAClB,SAAS,UACT;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KACnD,WAcD,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,cACV,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WAUD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,cACb,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WAAoG,CAAA"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,gHAAgH;IAChH,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,oFAAoF;IACpF,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3C,0EAA0E;IAC1E,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnF,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,qFAAqF;IACrF,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAMlE,CAAA;AAED,8GAA8G;AAC9G,eAAO,MAAM,SAAS,SAAU,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,KAAG,OACjC,CAAA;AAExC,4EAA4E;AAC5E,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MACiC,CAAA;AAEtF,gFAAgF;AAChF,eAAO,MAAM,MAAM,0DAA0D,CAAA;AAE7E,eAAO,MAAM,OAAO,+HAC0G,CAAA;AAE9H,qFAAqF;AACrF,eAAO,MAAM,UAAU,cACV,SAAS,WACX,gBAAgB,SAClB,SAAS,UACT;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KACnD,WAcD,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,cACV,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WAUD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,cACb,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WAAoG,CAAA;AAIvG;;;;GAIG;AACH,eAAO,MAAM,aAAa,UACjB,YAAY,WACV,UAAU,gBACL;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAC1D,WAaF,CAAA"}
@@ -52,4 +52,24 @@ export const storedDeps = (messenger, store, account, guard) => ({
52
52
  * `--offline`, so `inbox` and `review` answer too. Nothing here connects.
53
53
  */
54
54
  export const storeModeDeps = (messenger, store, account, guard) => ({ ...storedDeps(messenger, store, account, guard), offline: false, reads: "store" });
55
+ const NOT_A_MESSENGER = "this program keeps its sources in the store and has no messenger to connect to";
56
+ /**
57
+ * For a program that is not a messenger but keeps its own sources in the store — `cli-memo`'s notes and
58
+ * mail: the services that read and build from the store alone (conversations, embeddings, person
59
+ * context). It has no connection and no settings to resolve, and its guard refuses every write.
60
+ */
61
+ export const storeOnlyDeps = (store, account, { app, env }) => {
62
+ const refuse = () => {
63
+ throw new CliError("validation_error", NOT_A_MESSENGER);
64
+ };
65
+ const messenger = {
66
+ app,
67
+ provider: account.provider,
68
+ chatArgument: "a stored chat, by its id or title",
69
+ resolveSettings: refuse,
70
+ connect: async () => refuse(),
71
+ };
72
+ const guard = { check: refuse, record: () => { } };
73
+ return { ...storedDeps(messenger, store, account, guard), ...(env === undefined ? {} : { env }) };
74
+ };
55
75
  //# sourceMappingURL=deps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AA+B5C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAiB,EACkD,EAAE;IACrE,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAA4C,EAAW,EAAE,CACjF,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAA;AAExC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAU,EAAE,CAC5D,6CAA6C,SAAS,CAAC,GAAG,CAAC,OAAO,kBAAkB,CAAA;AAEtF,gFAAgF;AAChF,MAAM,CAAC,MAAM,MAAM,GAAG,uDAAuD,CAAA;AAE7E,MAAM,CAAC,MAAM,OAAO,GAClB,4HAA4H,CAAA;AAE9H,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAoB,EACpB,OAAyB,EACzB,KAAgB,EAChB,KAAK,GAAkD,EAAE,EAC5C,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,GAAG,KAAK;IACR,OAAO,EAAE,KAAK;IACd,KAAK;IACL,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,kDAAkD,CAAC,CAAA;QACjH,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxD,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,gEAAgE,CAAC,CAAA;IAC1G,CAAC;CACF,CAAC,CAAA;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAoB,EACpB,KAAmB,EACnB,OAAmB,EACnB,KAAgB,EACH,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS,CAAC,OAAO,IAAI,QAAQ;IACpC,KAAK;IACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC5B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAAoB,EACpB,KAAmB,EACnB,OAAmB,EACnB,KAAgB,EACH,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { Id } from "../domain/models.js";
2
2
  import { type TextModel } from "../embeddings/models.js";
3
3
  import { type RemoteModel } from "../embeddings/remote.js";
4
- import type { ConversationSummary } from "../store/store.js";
4
+ import type { AccountKey, ConversationSummary } from "../store/store.js";
5
5
  import { type Built } from "./conversations.js";
6
6
  import type { ServiceDeps } from "./deps.js";
7
+ import { type SearchRefreshed, type SyncOptions } from "./search-refresh.js";
7
8
  /** A local model by id (the default when nothing is given), or a remote one with the user's key (E11). */
8
9
  export type ModelChoice = string | {
9
10
  remote: RemoteModel;
@@ -59,6 +60,13 @@ export interface EmbeddingsService {
59
60
  model?: ModelChoice;
60
61
  since?: string;
61
62
  limit: number;
63
+ filter?: string;
64
+ source?: string;
65
+ timezone?: string;
66
+ syncFirst?: SyncOptions;
67
+ signal?: AbortSignal;
68
+ /** Local graph catch-up after any network refresh and before searching. */
69
+ refresh?: RefreshOptions;
62
70
  }): Promise<FoundConversations>;
63
71
  /**
64
72
  * The conversations of every built chat nearest in meaning to the one `message` is in, best first, never that
@@ -116,6 +124,12 @@ export declare const REFRESH_BOUNDS: {
116
124
  maxChunks: number;
117
125
  };
118
126
  export interface FoundConversations {
127
+ accounts?: AccountKey[];
128
+ prepared?: Refreshed;
129
+ refreshed?: SearchRefreshed;
130
+ coverage?: {
131
+ state: "partial" | "stale";
132
+ };
119
133
  model: string;
120
134
  /** `unavailable`: the local model is not downloaded, and only words were searched. */
121
135
  meaning: "searched" | "unavailable";
@@ -133,6 +147,10 @@ export interface RelatedConversations {
133
147
  }
134
148
  /** Chat ids by how the search could see them; a chat can be in more than one list. */
135
149
  export interface SearchReadiness {
150
+ scopes?: {
151
+ source: AccountKey;
152
+ readiness: SearchReadiness;
153
+ }[];
136
154
  /** Built chats with vectors of the model. */
137
155
  searchedByMeaning: Id[];
138
156
  /** Built chats with no vector of the model, or every built chat when the model is unavailable. */
@@ -168,6 +186,8 @@ export interface ChatReadiness {
168
186
  }
169
187
  /** A conversation found by meaning, by words, or both (E9). */
170
188
  export interface FoundConversation {
189
+ source?: AccountKey;
190
+ locator?: string;
171
191
  summary: ConversationSummary;
172
192
  /** The chunk nearest in meaning; the best message found by words when only words found it. */
173
193
  chunk: {
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"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"}