@wirecat/cli-core 0.265.0 → 0.267.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 (520) hide show
  1. package/dist/cli/command-contract.d.ts.map +1 -1
  2. package/dist/cli/command-contract.js +0 -126
  3. package/dist/cli/command-contract.js.map +1 -1
  4. package/dist/cli/envelope.d.ts +5 -0
  5. package/dist/cli/envelope.d.ts.map +1 -1
  6. package/dist/cli/envelope.js +12 -0
  7. package/dist/cli/envelope.js.map +1 -1
  8. package/dist/cli/list-query.d.ts +9 -3
  9. package/dist/cli/list-query.d.ts.map +1 -1
  10. package/dist/cli/list-query.js +6 -2
  11. package/dist/cli/list-query.js.map +1 -1
  12. package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
  13. package/dist/cli/messenger/admin-contacts-command.js +1 -2
  14. package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
  15. package/dist/cli/messenger/admin-moderation-command.js +2 -2
  16. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  17. package/dist/cli/messenger/admin-statistics-command.d.ts.map +1 -1
  18. package/dist/cli/messenger/admin-statistics-command.js +5 -5
  19. package/dist/cli/messenger/admin-statistics-command.js.map +1 -1
  20. package/dist/cli/messenger/archive-summary.d.ts +1 -1
  21. package/dist/cli/messenger/archive-summary.d.ts.map +1 -1
  22. package/dist/cli/messenger/archive-summary.js +2 -3
  23. package/dist/cli/messenger/archive-summary.js.map +1 -1
  24. package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
  25. package/dist/cli/messenger/attachments-command.js +10 -16
  26. package/dist/cli/messenger/attachments-command.js.map +1 -1
  27. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  28. package/dist/cli/messenger/backfill-command.js +26 -19
  29. package/dist/cli/messenger/backfill-command.js.map +1 -1
  30. package/dist/cli/messenger/backfill-jobs.d.ts +1 -1
  31. package/dist/cli/messenger/backfill-jobs.d.ts.map +1 -1
  32. package/dist/cli/messenger/backfill-jobs.js +1 -1
  33. package/dist/cli/messenger/backfill-jobs.js.map +1 -1
  34. package/dist/cli/messenger/catch-up-answers.d.ts +94 -0
  35. package/dist/cli/messenger/catch-up-answers.d.ts.map +1 -0
  36. package/dist/cli/messenger/catch-up-answers.js +96 -0
  37. package/dist/cli/messenger/catch-up-answers.js.map +1 -0
  38. package/dist/cli/messenger/chat-answers.d.ts +0 -5
  39. package/dist/cli/messenger/chat-answers.d.ts.map +1 -1
  40. package/dist/cli/messenger/chat-answers.js +1 -13
  41. package/dist/cli/messenger/chat-answers.js.map +1 -1
  42. package/dist/cli/messenger/chat-lists.d.ts +7 -6
  43. package/dist/cli/messenger/chat-lists.d.ts.map +1 -1
  44. package/dist/cli/messenger/chat-lists.js +10 -10
  45. package/dist/cli/messenger/chat-lists.js.map +1 -1
  46. package/dist/cli/messenger/chat-queries.d.ts +5 -2
  47. package/dist/cli/messenger/chat-queries.d.ts.map +1 -1
  48. package/dist/cli/messenger/chat-queries.js +21 -4
  49. package/dist/cli/messenger/chat-queries.js.map +1 -1
  50. package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
  51. package/dist/cli/messenger/chats-bots-command.js +1 -2
  52. package/dist/cli/messenger/chats-bots-command.js.map +1 -1
  53. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  54. package/dist/cli/messenger/chats-command.js +4 -3
  55. package/dist/cli/messenger/chats-command.js.map +1 -1
  56. package/dist/cli/messenger/chats-members-command.js +2 -2
  57. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  58. package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/chats-read-command.js +1 -2
  60. package/dist/cli/messenger/chats-read-command.js.map +1 -1
  61. package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
  62. package/dist/cli/messenger/chats-stats-command.js +1 -2
  63. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  64. package/dist/cli/messenger/chats-tracking-command.js +2 -2
  65. package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
  66. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  67. package/dist/cli/messenger/contacts-command.js +10 -5
  68. package/dist/cli/messenger/contacts-command.js.map +1 -1
  69. package/dist/cli/messenger/counters-command.d.ts.map +1 -1
  70. package/dist/cli/messenger/counters-command.js +9 -7
  71. package/dist/cli/messenger/counters-command.js.map +1 -1
  72. package/dist/cli/messenger/download-command.d.ts.map +1 -1
  73. package/dist/cli/messenger/download-command.js +12 -14
  74. package/dist/cli/messenger/download-command.js.map +1 -1
  75. package/dist/cli/messenger/history-query.d.ts +1 -1
  76. package/dist/cli/messenger/history-query.d.ts.map +1 -1
  77. package/dist/cli/messenger/history-query.js +2 -2
  78. package/dist/cli/messenger/history-query.js.map +1 -1
  79. package/dist/cli/messenger/inbox.d.ts +1 -1
  80. package/dist/cli/messenger/inbox.d.ts.map +1 -1
  81. package/dist/cli/messenger/inbox.js +34 -49
  82. package/dist/cli/messenger/inbox.js.map +1 -1
  83. package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
  84. package/dist/cli/messenger/mentions-command.js +2 -2
  85. package/dist/cli/messenger/mentions-command.js.map +1 -1
  86. package/dist/cli/messenger/message-answers.d.ts +10 -0
  87. package/dist/cli/messenger/message-answers.d.ts.map +1 -0
  88. package/dist/cli/messenger/message-answers.js +22 -0
  89. package/dist/cli/messenger/message-answers.js.map +1 -0
  90. package/dist/cli/messenger/message-writes.d.ts +196 -0
  91. package/dist/cli/messenger/message-writes.d.ts.map +1 -0
  92. package/dist/cli/messenger/message-writes.js +15 -0
  93. package/dist/cli/messenger/message-writes.js.map +1 -0
  94. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  95. package/dist/cli/messenger/messages-command.js +1 -1
  96. package/dist/cli/messenger/messages-command.js.map +1 -1
  97. package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
  98. package/dist/cli/messenger/messages-comments-command.js +1 -1
  99. package/dist/cli/messenger/messages-comments-command.js.map +1 -1
  100. package/dist/cli/messenger/messages-delete-command.d.ts.map +1 -1
  101. package/dist/cli/messenger/messages-delete-command.js +3 -5
  102. package/dist/cli/messenger/messages-delete-command.js.map +1 -1
  103. package/dist/cli/messenger/messages-edit-command.d.ts.map +1 -1
  104. package/dist/cli/messenger/messages-edit-command.js +13 -7
  105. package/dist/cli/messenger/messages-edit-command.js.map +1 -1
  106. package/dist/cli/messenger/messages-evidence-command.d.ts.map +1 -1
  107. package/dist/cli/messenger/messages-evidence-command.js +9 -13
  108. package/dist/cli/messenger/messages-evidence-command.js.map +1 -1
  109. package/dist/cli/messenger/messages-forward-command.d.ts.map +1 -1
  110. package/dist/cli/messenger/messages-forward-command.js +15 -9
  111. package/dist/cli/messenger/messages-forward-command.js.map +1 -1
  112. package/dist/cli/messenger/messages-pin-command.d.ts.map +1 -1
  113. package/dist/cli/messenger/messages-pin-command.js +5 -2
  114. package/dist/cli/messenger/messages-pin-command.js.map +1 -1
  115. package/dist/cli/messenger/messages-press-command.d.ts.map +1 -1
  116. package/dist/cli/messenger/messages-press-command.js +3 -1
  117. package/dist/cli/messenger/messages-press-command.js.map +1 -1
  118. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  119. package/dist/cli/messenger/messages-search-command.js +45 -39
  120. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  121. package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
  122. package/dist/cli/messenger/messages-send-command.js +23 -23
  123. package/dist/cli/messenger/messages-send-command.js.map +1 -1
  124. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  125. package/dist/cli/messenger/messages-stats-command.js +9 -13
  126. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  127. package/dist/cli/messenger/metadata-command.d.ts.map +1 -1
  128. package/dist/cli/messenger/metadata-command.js +3 -2
  129. package/dist/cli/messenger/metadata-command.js.map +1 -1
  130. package/dist/cli/messenger/models-command.d.ts +0 -5
  131. package/dist/cli/messenger/models-command.d.ts.map +1 -1
  132. package/dist/cli/messenger/models-command.js +67 -73
  133. package/dist/cli/messenger/models-command.js.map +1 -1
  134. package/dist/cli/messenger/observed.js +3 -3
  135. package/dist/cli/messenger/observed.js.map +1 -1
  136. package/dist/cli/messenger/official-stats-command.d.ts.map +1 -1
  137. package/dist/cli/messenger/official-stats-command.js +5 -5
  138. package/dist/cli/messenger/official-stats-command.js.map +1 -1
  139. package/dist/cli/messenger/people-queries.d.ts +8 -2
  140. package/dist/cli/messenger/people-queries.d.ts.map +1 -1
  141. package/dist/cli/messenger/people-queries.js +25 -3
  142. package/dist/cli/messenger/people-queries.js.map +1 -1
  143. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  144. package/dist/cli/messenger/polls-command.js +27 -19
  145. package/dist/cli/messenger/polls-command.js.map +1 -1
  146. package/dist/cli/messenger/private-people-command.d.ts.map +1 -1
  147. package/dist/cli/messenger/private-people-command.js +15 -13
  148. package/dist/cli/messenger/private-people-command.js.map +1 -1
  149. package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
  150. package/dist/cli/messenger/rankings-command.js +17 -22
  151. package/dist/cli/messenger/rankings-command.js.map +1 -1
  152. package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
  153. package/dist/cli/messenger/reactions-command.js +1 -2
  154. package/dist/cli/messenger/reactions-command.js.map +1 -1
  155. package/dist/cli/messenger/records-command.d.ts.map +1 -1
  156. package/dist/cli/messenger/records-command.js +26 -13
  157. package/dist/cli/messenger/records-command.js.map +1 -1
  158. package/dist/cli/messenger/retention-command.d.ts.map +1 -1
  159. package/dist/cli/messenger/retention-command.js +7 -12
  160. package/dist/cli/messenger/retention-command.js.map +1 -1
  161. package/dist/cli/messenger/review.d.ts.map +1 -1
  162. package/dist/cli/messenger/review.js +44 -62
  163. package/dist/cli/messenger/review.js.map +1 -1
  164. package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
  165. package/dist/cli/messenger/schedule-command.js +30 -21
  166. package/dist/cli/messenger/schedule-command.js.map +1 -1
  167. package/dist/cli/messenger/search-answers.d.ts +34 -0
  168. package/dist/cli/messenger/search-answers.d.ts.map +1 -0
  169. package/dist/cli/messenger/search-answers.js +220 -0
  170. package/dist/cli/messenger/search-answers.js.map +1 -0
  171. package/dist/cli/messenger/search-command.d.ts.map +1 -1
  172. package/dist/cli/messenger/search-command.js +49 -33
  173. package/dist/cli/messenger/search-command.js.map +1 -1
  174. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  175. package/dist/cli/messenger/searches-command.js +26 -46
  176. package/dist/cli/messenger/searches-command.js.map +1 -1
  177. package/dist/cli/messenger/stats-answers.d.ts +65 -0
  178. package/dist/cli/messenger/stats-answers.d.ts.map +1 -0
  179. package/dist/cli/messenger/stats-answers.js +326 -0
  180. package/dist/cli/messenger/stats-answers.js.map +1 -0
  181. package/dist/cli/messenger/stats-command.d.ts.map +1 -1
  182. package/dist/cli/messenger/stats-command.js +5 -3
  183. package/dist/cli/messenger/stats-command.js.map +1 -1
  184. package/dist/cli/messenger/store-maintenance-command.d.ts +1 -1
  185. package/dist/cli/messenger/tags-command.d.ts.map +1 -1
  186. package/dist/cli/messenger/tags-command.js +7 -12
  187. package/dist/cli/messenger/tags-command.js.map +1 -1
  188. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  189. package/dist/cli/messenger/tasks-command.js +15 -34
  190. package/dist/cli/messenger/tasks-command.js.map +1 -1
  191. package/dist/cli/messenger/topics-command.js +2 -2
  192. package/dist/cli/messenger/topics-command.js.map +1 -1
  193. package/dist/cli/messenger/transcribe-command.d.ts.map +1 -1
  194. package/dist/cli/messenger/transcribe-command.js +4 -7
  195. package/dist/cli/messenger/transcribe-command.js.map +1 -1
  196. package/dist/cli/steps.d.ts.map +1 -1
  197. package/dist/cli/steps.js +81 -0
  198. package/dist/cli/steps.js.map +1 -1
  199. package/dist/domain/meeting-reference.d.ts +1 -11
  200. package/dist/domain/meeting-reference.d.ts.map +1 -1
  201. package/dist/domain/meeting-reference.js +1 -36
  202. package/dist/domain/meeting-reference.js.map +1 -1
  203. package/dist/entities/admin-report.d.ts +94 -0
  204. package/dist/entities/admin-report.d.ts.map +1 -0
  205. package/dist/entities/admin-report.js +57 -0
  206. package/dist/entities/admin-report.js.map +1 -0
  207. package/dist/entities/agenda.d.ts +61 -0
  208. package/dist/entities/agenda.d.ts.map +1 -0
  209. package/dist/entities/agenda.js +42 -0
  210. package/dist/entities/agenda.js.map +1 -0
  211. package/dist/entities/attachment.d.ts +3 -1
  212. package/dist/entities/attachment.d.ts.map +1 -1
  213. package/dist/entities/attachment.js +4 -2
  214. package/dist/entities/attachment.js.map +1 -1
  215. package/dist/entities/chart.d.ts +27 -0
  216. package/dist/entities/chart.d.ts.map +1 -0
  217. package/dist/entities/chart.js +17 -0
  218. package/dist/entities/chart.js.map +1 -0
  219. package/dist/entities/contact-note.d.ts +13 -0
  220. package/dist/entities/contact-note.d.ts.map +1 -0
  221. package/dist/entities/contact-note.js +14 -0
  222. package/dist/entities/contact-note.js.map +1 -0
  223. package/dist/entities/counter-reading.d.ts +14 -0
  224. package/dist/entities/counter-reading.d.ts.map +1 -0
  225. package/dist/entities/counter-reading.js +15 -0
  226. package/dist/entities/counter-reading.js.map +1 -0
  227. package/dist/entities/counters.d.ts +42 -0
  228. package/dist/entities/counters.d.ts.map +1 -0
  229. package/dist/entities/counters.js +34 -0
  230. package/dist/entities/counters.js.map +1 -0
  231. package/dist/entities/evidence.d.ts +1617 -0
  232. package/dist/entities/evidence.d.ts.map +1 -0
  233. package/dist/entities/evidence.js +35 -0
  234. package/dist/entities/evidence.js.map +1 -0
  235. package/dist/entities/hit.d.ts +21 -0
  236. package/dist/entities/hit.d.ts.map +1 -0
  237. package/dist/entities/hit.js +22 -0
  238. package/dist/entities/hit.js.map +1 -0
  239. package/dist/entities/index.d.ts +1827 -17
  240. package/dist/entities/index.d.ts.map +1 -1
  241. package/dist/entities/index.js +65 -3
  242. package/dist/entities/index.js.map +1 -1
  243. package/dist/entities/job.d.ts +28 -0
  244. package/dist/entities/job.d.ts.map +1 -0
  245. package/dist/entities/job.js +25 -0
  246. package/dist/entities/job.js.map +1 -0
  247. package/dist/entities/meeting.d.ts +1 -19
  248. package/dist/entities/meeting.d.ts.map +1 -1
  249. package/dist/entities/meeting.js +1 -20
  250. package/dist/entities/meeting.js.map +1 -1
  251. package/dist/entities/message-counts.d.ts +14 -0
  252. package/dist/entities/message-counts.d.ts.map +1 -0
  253. package/dist/entities/message-counts.js +15 -0
  254. package/dist/entities/message-counts.js.map +1 -0
  255. package/dist/entities/message.d.ts +21 -1
  256. package/dist/entities/message.d.ts.map +1 -1
  257. package/dist/entities/message.js +13 -1
  258. package/dist/entities/message.js.map +1 -1
  259. package/dist/entities/model.d.ts +18 -0
  260. package/dist/entities/model.d.ts.map +1 -0
  261. package/dist/entities/model.js +19 -0
  262. package/dist/entities/model.js.map +1 -0
  263. package/dist/entities/note.d.ts +11 -0
  264. package/dist/entities/note.d.ts.map +1 -1
  265. package/dist/entities/note.js +11 -0
  266. package/dist/entities/note.js.map +1 -1
  267. package/dist/entities/official-stats.d.ts +63 -0
  268. package/dist/entities/official-stats.d.ts.map +1 -0
  269. package/dist/entities/official-stats.js +36 -0
  270. package/dist/entities/official-stats.js.map +1 -0
  271. package/dist/entities/ranking.d.ts +95 -0
  272. package/dist/entities/ranking.d.ts.map +1 -0
  273. package/dist/entities/ranking.js +49 -0
  274. package/dist/entities/ranking.js.map +1 -0
  275. package/dist/entities/retention.d.ts +86 -0
  276. package/dist/entities/retention.d.ts.map +1 -0
  277. package/dist/entities/retention.js +51 -0
  278. package/dist/entities/retention.js.map +1 -0
  279. package/dist/entities/saved-search.d.ts +17 -0
  280. package/dist/entities/saved-search.d.ts.map +1 -0
  281. package/dist/entities/saved-search.js +18 -0
  282. package/dist/entities/saved-search.js.map +1 -0
  283. package/dist/mcp/prompts.js +1 -1
  284. package/dist/mcp/prompts.js.map +1 -1
  285. package/dist/mcp/tools/admin-statistics.d.ts.map +1 -1
  286. package/dist/mcp/tools/admin-statistics.js +17 -8
  287. package/dist/mcp/tools/admin-statistics.js.map +1 -1
  288. package/dist/mcp/tools/admin.d.ts.map +1 -1
  289. package/dist/mcp/tools/admin.js +1 -2
  290. package/dist/mcp/tools/admin.js.map +1 -1
  291. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  292. package/dist/mcp/tools/attachments.js +15 -18
  293. package/dist/mcp/tools/attachments.js.map +1 -1
  294. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  295. package/dist/mcp/tools/chats-read.js +1 -2
  296. package/dist/mcp/tools/chats-read.js.map +1 -1
  297. package/dist/mcp/tools/chats.d.ts.map +1 -1
  298. package/dist/mcp/tools/chats.js +4 -3
  299. package/dist/mcp/tools/chats.js.map +1 -1
  300. package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
  301. package/dist/mcp/tools/contacts-write.js +1 -2
  302. package/dist/mcp/tools/contacts-write.js.map +1 -1
  303. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  304. package/dist/mcp/tools/contacts.js +15 -6
  305. package/dist/mcp/tools/contacts.js.map +1 -1
  306. package/dist/mcp/tools/folders.js +2 -2
  307. package/dist/mcp/tools/folders.js.map +1 -1
  308. package/dist/mcp/tools/inbox.d.ts.map +1 -1
  309. package/dist/mcp/tools/inbox.js +15 -17
  310. package/dist/mcp/tools/inbox.js.map +1 -1
  311. package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
  312. package/dist/mcp/tools/messages-actions.js +31 -18
  313. package/dist/mcp/tools/messages-actions.js.map +1 -1
  314. package/dist/mcp/tools/messages-delete.d.ts.map +1 -1
  315. package/dist/mcp/tools/messages-delete.js +3 -2
  316. package/dist/mcp/tools/messages-delete.js.map +1 -1
  317. package/dist/mcp/tools/messages-photo.js +1 -1
  318. package/dist/mcp/tools/messages-photo.js.map +1 -1
  319. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  320. package/dist/mcp/tools/messages-send.js +5 -7
  321. package/dist/mcp/tools/messages-send.js.map +1 -1
  322. package/dist/mcp/tools/messages-transcribe.d.ts.map +1 -1
  323. package/dist/mcp/tools/messages-transcribe.js +4 -3
  324. package/dist/mcp/tools/messages-transcribe.js.map +1 -1
  325. package/dist/mcp/tools/messages.d.ts.map +1 -1
  326. package/dist/mcp/tools/messages.js +11 -9
  327. package/dist/mcp/tools/messages.js.map +1 -1
  328. package/dist/mcp/tools/moderation.d.ts.map +1 -1
  329. package/dist/mcp/tools/moderation.js +1 -2
  330. package/dist/mcp/tools/moderation.js.map +1 -1
  331. package/dist/mcp/tools/polls.d.ts.map +1 -1
  332. package/dist/mcp/tools/polls.js +6 -3
  333. package/dist/mcp/tools/polls.js.map +1 -1
  334. package/dist/mcp/tools/private-people.d.ts.map +1 -1
  335. package/dist/mcp/tools/private-people.js +19 -13
  336. package/dist/mcp/tools/private-people.js.map +1 -1
  337. package/dist/mcp/tools/rankings.d.ts.map +1 -1
  338. package/dist/mcp/tools/rankings.js +13 -7
  339. package/dist/mcp/tools/rankings.js.map +1 -1
  340. package/dist/mcp/tools/reactions.d.ts.map +1 -1
  341. package/dist/mcp/tools/reactions.js +1 -2
  342. package/dist/mcp/tools/reactions.js.map +1 -1
  343. package/dist/mcp/tools/review.d.ts.map +1 -1
  344. package/dist/mcp/tools/review.js +15 -18
  345. package/dist/mcp/tools/review.js.map +1 -1
  346. package/dist/mcp/tools/search-tools.d.ts.map +1 -1
  347. package/dist/mcp/tools/search-tools.js +63 -42
  348. package/dist/mcp/tools/search-tools.js.map +1 -1
  349. package/dist/mcp/tools/search.d.ts +69 -48
  350. package/dist/mcp/tools/search.d.ts.map +1 -1
  351. package/dist/mcp/tools/search.js +30 -27
  352. package/dist/mcp/tools/search.js.map +1 -1
  353. package/dist/mcp/tools/searches.d.ts.map +1 -1
  354. package/dist/mcp/tools/searches.js +33 -17
  355. package/dist/mcp/tools/searches.js.map +1 -1
  356. package/dist/mcp/tools/stats.d.ts.map +1 -1
  357. package/dist/mcp/tools/stats.js +6 -6
  358. package/dist/mcp/tools/stats.js.map +1 -1
  359. package/dist/mcp/tools/store.d.ts.map +1 -1
  360. package/dist/mcp/tools/store.js +14 -9
  361. package/dist/mcp/tools/store.js.map +1 -1
  362. package/dist/mcp/tools/tags.d.ts.map +1 -1
  363. package/dist/mcp/tools/tags.js +5 -5
  364. package/dist/mcp/tools/tags.js.map +1 -1
  365. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  366. package/dist/mcp/tools/tasks.js +23 -20
  367. package/dist/mcp/tools/tasks.js.map +1 -1
  368. package/dist/mcp/tools/topics.js +2 -2
  369. package/dist/mcp/tools/topics.js.map +1 -1
  370. package/dist/meetings/cli/index.d.ts.map +1 -1
  371. package/dist/meetings/cli/index.js +27 -8
  372. package/dist/meetings/cli/index.js.map +1 -1
  373. package/dist/meetings/index.d.ts +5 -1
  374. package/dist/meetings/index.d.ts.map +1 -1
  375. package/dist/meetings/index.js +4 -1
  376. package/dist/meetings/index.js.map +1 -1
  377. package/dist/meetings/item.d.ts +35 -0
  378. package/dist/meetings/item.d.ts.map +1 -0
  379. package/dist/meetings/item.js +59 -0
  380. package/dist/meetings/item.js.map +1 -0
  381. package/dist/meetings/mcp/index.d.ts +240 -25
  382. package/dist/meetings/mcp/index.d.ts.map +1 -1
  383. package/dist/meetings/mcp/index.js +44 -18
  384. package/dist/meetings/mcp/index.js.map +1 -1
  385. package/dist/meetings/participant-search.d.ts +50 -0
  386. package/dist/meetings/participant-search.d.ts.map +1 -0
  387. package/dist/meetings/participant-search.js +24 -0
  388. package/dist/meetings/participant-search.js.map +1 -0
  389. package/dist/meetings/read-store.d.ts +54 -0
  390. package/dist/meetings/read-store.d.ts.map +1 -0
  391. package/dist/meetings/read-store.js +2 -0
  392. package/dist/meetings/read-store.js.map +1 -0
  393. package/dist/meetings/reads.d.ts +43 -2
  394. package/dist/meetings/reads.d.ts.map +1 -1
  395. package/dist/meetings/reads.js +76 -1
  396. package/dist/meetings/reads.js.map +1 -1
  397. package/dist/meetings/reference.d.ts +12 -0
  398. package/dist/meetings/reference.d.ts.map +1 -0
  399. package/dist/meetings/reference.js +37 -0
  400. package/dist/meetings/reference.js.map +1 -0
  401. package/dist/meetings/store.d.ts +6 -0
  402. package/dist/meetings/store.d.ts.map +1 -1
  403. package/dist/meetings/testing/contract.d.ts.map +1 -1
  404. package/dist/meetings/testing/contract.js +14 -0
  405. package/dist/meetings/testing/contract.js.map +1 -1
  406. package/dist/meetings/testing/memory.d.ts.map +1 -1
  407. package/dist/meetings/testing/memory.js +10 -1
  408. package/dist/meetings/testing/memory.js.map +1 -1
  409. package/dist/render/markdown.d.ts.map +1 -1
  410. package/dist/render/markdown.js +4 -2
  411. package/dist/render/markdown.js.map +1 -1
  412. package/dist/render/messages.js +4 -2
  413. package/dist/render/messages.js.map +1 -1
  414. package/dist/sends/upload.d.ts.map +1 -1
  415. package/dist/sends/upload.js +7 -1
  416. package/dist/sends/upload.js.map +1 -1
  417. package/dist/services/agenda.d.ts +14 -2
  418. package/dist/services/agenda.d.ts.map +1 -1
  419. package/dist/services/agenda.js +59 -7
  420. package/dist/services/agenda.js.map +1 -1
  421. package/dist/services/attachments.d.ts +18 -21
  422. package/dist/services/attachments.d.ts.map +1 -1
  423. package/dist/services/attachments.js +45 -14
  424. package/dist/services/attachments.js.map +1 -1
  425. package/dist/services/backfill-jobs.d.ts +22 -0
  426. package/dist/services/backfill-jobs.d.ts.map +1 -1
  427. package/dist/services/backfill-jobs.js +19 -0
  428. package/dist/services/backfill-jobs.js.map +1 -1
  429. package/dist/services/chats.d.ts +4 -3
  430. package/dist/services/chats.d.ts.map +1 -1
  431. package/dist/services/chats.js +12 -4
  432. package/dist/services/chats.js.map +1 -1
  433. package/dist/services/inbox.d.ts.map +1 -1
  434. package/dist/services/inbox.js +5 -5
  435. package/dist/services/inbox.js.map +1 -1
  436. package/dist/services/job-query.d.ts +30 -0
  437. package/dist/services/job-query.d.ts.map +1 -0
  438. package/dist/services/job-query.js +18 -0
  439. package/dist/services/job-query.js.map +1 -0
  440. package/dist/services/messages-search.js +3 -2
  441. package/dist/services/messages-search.js.map +1 -1
  442. package/dist/services/messages.d.ts +2 -0
  443. package/dist/services/messages.d.ts.map +1 -1
  444. package/dist/services/messages.js.map +1 -1
  445. package/dist/services/people.d.ts +6 -1
  446. package/dist/services/people.d.ts.map +1 -1
  447. package/dist/services/people.js +10 -3
  448. package/dist/services/people.js.map +1 -1
  449. package/dist/services/pictures.d.ts +4 -0
  450. package/dist/services/pictures.d.ts.map +1 -1
  451. package/dist/services/pictures.js +26 -17
  452. package/dist/services/pictures.js.map +1 -1
  453. package/dist/services/private-people.d.ts +35 -4
  454. package/dist/services/private-people.d.ts.map +1 -1
  455. package/dist/services/private-people.js +14 -5
  456. package/dist/services/private-people.js.map +1 -1
  457. package/dist/services/retention.d.ts +1 -0
  458. package/dist/services/retention.d.ts.map +1 -1
  459. package/dist/services/retention.js +1 -0
  460. package/dist/services/retention.js.map +1 -1
  461. package/dist/services/search-refresh.d.ts.map +1 -1
  462. package/dist/services/search-refresh.js +7 -6
  463. package/dist/services/search-refresh.js.map +1 -1
  464. package/dist/services/searches.d.ts +7 -2
  465. package/dist/services/searches.d.ts.map +1 -1
  466. package/dist/services/searches.js +16 -3
  467. package/dist/services/searches.js.map +1 -1
  468. package/dist/services/server-search.js +1 -1
  469. package/dist/services/server-search.js.map +1 -1
  470. package/dist/store/sqlite/attachment-texts.d.ts +10 -2
  471. package/dist/store/sqlite/attachment-texts.d.ts.map +1 -1
  472. package/dist/store/sqlite/attachment-texts.js +27 -10
  473. package/dist/store/sqlite/attachment-texts.js.map +1 -1
  474. package/dist/store/sqlite/chats.d.ts +34 -0
  475. package/dist/store/sqlite/chats.d.ts.map +1 -1
  476. package/dist/store/sqlite/chats.js +23 -8
  477. package/dist/store/sqlite/chats.js.map +1 -1
  478. package/dist/store/sqlite/completeness.js +2 -2
  479. package/dist/store/sqlite/completeness.js.map +1 -1
  480. package/dist/store/sqlite/conversations.d.ts +1 -1
  481. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  482. package/dist/store/sqlite/conversations.js +1 -2
  483. package/dist/store/sqlite/conversations.js.map +1 -1
  484. package/dist/store/sqlite/identities.d.ts +10 -4
  485. package/dist/store/sqlite/identities.d.ts.map +1 -1
  486. package/dist/store/sqlite/identities.js +8 -7
  487. package/dist/store/sqlite/identities.js.map +1 -1
  488. package/dist/store/sqlite/meeting-participant-search.d.ts +4 -0
  489. package/dist/store/sqlite/meeting-participant-search.d.ts.map +1 -0
  490. package/dist/store/sqlite/meeting-participant-search.js +105 -0
  491. package/dist/store/sqlite/meeting-participant-search.js.map +1 -0
  492. package/dist/store/sqlite/meeting-reads.d.ts +2 -54
  493. package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
  494. package/dist/store/sqlite/meeting-reads.js.map +1 -1
  495. package/dist/store/sqlite/meetings.d.ts +2 -2
  496. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  497. package/dist/store/sqlite/meetings.js +22 -0
  498. package/dist/store/sqlite/meetings.js.map +1 -1
  499. package/dist/store/sqlite/query-filter.d.ts +3 -0
  500. package/dist/store/sqlite/query-filter.d.ts.map +1 -1
  501. package/dist/store/sqlite/query-filter.js +3 -0
  502. package/dist/store/sqlite/query-filter.js.map +1 -1
  503. package/dist/store/sqlite/reads.d.ts +9 -1
  504. package/dist/store/sqlite/reads.d.ts.map +1 -1
  505. package/dist/store/sqlite/reads.js +6 -3
  506. package/dist/store/sqlite/reads.js.map +1 -1
  507. package/dist/store/sqlite/searches.d.ts +1 -1
  508. package/dist/store/sqlite/searches.d.ts.map +1 -1
  509. package/dist/store/sqlite/searches.js +3 -3
  510. package/dist/store/sqlite/searches.js.map +1 -1
  511. package/dist/store/store.d.ts +20 -17
  512. package/dist/store/store.d.ts.map +1 -1
  513. package/dist/store/store.js +10 -6
  514. package/dist/store/store.js.map +1 -1
  515. package/package.json +2 -2
  516. package/parity.json +32 -61
  517. package/dist/cli/messenger/list-query.d.ts +0 -13
  518. package/dist/cli/messenger/list-query.d.ts.map +0 -1
  519. package/dist/cli/messenger/list-query.js +0 -23
  520. package/dist/cli/messenger/list-query.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import * as v from "valibot";
3
- import { listed } from "../../cli/paging.js";
3
+ import { itemOf, listOf, snakeKeys } from "../../cli/envelope.js";
4
4
  import { servicesFor, storedDeps } from "../../services/index.js";
5
5
  import { READ, tool } from "../tool.js";
6
6
  const person = v.pipe(v.string(), v.minLength(1));
@@ -13,57 +13,63 @@ export const privatePeopleTools = (messenger) => ({
13
13
  description: "Set a display name only in this account's local store; never rename a messenger contact.",
14
14
  input: v.object({ person, alias: v.pipe(v.string(), v.minLength(1), v.maxLength(200)) }),
15
15
  annotations: { ...LOCAL, idempotentHint: true, destructiveHint: false },
16
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, args.alias),
16
+ stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, args.alias))),
17
17
  }),
18
18
  contacts_alias_rm: tool({
19
19
  title: "Remove a private contact alias",
20
20
  description: "Remove only this account's local alias.",
21
21
  input: v.object({ person }),
22
22
  annotations: { ...LOCAL, idempotentHint: true, destructiveHint: true },
23
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, null),
23
+ stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, null))),
24
24
  }),
25
25
  contacts_notes_list: tool({
26
26
  title: "Private notes on a contact",
27
27
  description: "User-authored notes stored locally for this account; they are separate from the person's public bio.",
28
28
  input: v.object({ person }),
29
29
  annotations: { ...READ, openWorldHint: false },
30
- stored: async (store, account, args, defaults) => listed((await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.show(args.person))
31
- .notes),
30
+ output: { entity: "contact_note", list: true },
31
+ stored: async (store, account, args, defaults) => {
32
+ const items = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.notes(args.person);
33
+ return listOf("contacts notes list", { items, limit: Math.max(1, items.length), has_more: false });
34
+ },
32
35
  }),
33
36
  contacts_notes_show: tool({
34
37
  title: "Read a private contact note",
35
38
  description: "Read one account-scoped note and its revision.",
36
39
  input: v.object({ person, id }),
37
40
  annotations: { ...READ, openWorldHint: false },
38
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.note(args.person, args.id),
41
+ output: { entity: "contact_note", list: false },
42
+ stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.note(args.person, args.id)),
39
43
  }),
40
44
  contacts_notes_add: tool({
41
45
  title: "Add a private contact note",
42
46
  description: "Save the user's note locally with a stable id; nothing is sent to the person.",
43
47
  input: v.object({ person, text }),
44
48
  annotations: { ...LOCAL, idempotentHint: false, destructiveHint: false },
45
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.add(args.person, args.text),
49
+ output: { entity: "contact_note", list: false },
50
+ stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.add(args.person, args.text)),
46
51
  }),
47
52
  contacts_notes_edit: tool({
48
53
  title: "Edit a private contact note",
49
54
  description: "Replace note text only if its revision still matches the one read.",
50
55
  input: v.object({ person, id, text, revision: v.pipe(v.number(), v.integer(), v.minValue(1)) }),
51
56
  annotations: { ...LOCAL, idempotentHint: false, destructiveHint: true },
52
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.edit(args.person, args.id, args.text, args.revision),
57
+ output: { entity: "contact_note", list: false },
58
+ stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.edit(args.person, args.id, args.text, args.revision)),
53
59
  }),
54
60
  contacts_notes_remove: tool({
55
61
  title: "Delete a private contact note",
56
62
  description: "Delete this local note's text; the contact and source messages remain.",
57
63
  input: v.object({ person, id }),
58
64
  annotations: { ...LOCAL, idempotentHint: false, destructiveHint: true },
59
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.remove(args.person, args.id),
65
+ stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.remove(args.person, args.id))),
60
66
  }),
61
67
  metadata_get: tool({
62
68
  title: "Cached channel metadata",
63
69
  description: "Read locally stored group/channel title, username, description and refresh time.",
64
70
  input: v.object({ chat: person }),
65
71
  annotations: { ...READ, openWorldHint: false },
66
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).metadata.get(args.chat),
72
+ stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).metadata.get(args.chat))),
67
73
  }),
68
74
  metadata_refresh: tool({
69
75
  title: "Refresh channel metadata",
@@ -78,7 +84,7 @@ export const privatePeopleTools = (messenger) => ({
78
84
  offline: defaults.settings.offline ?? false,
79
85
  withConnection: connect,
80
86
  };
81
- return { items: [await servicesFor(deps).metadata.refresh(args.chat)], hasMore: false };
87
+ return itemOf(snakeKeys({ chats: [await servicesFor(deps).metadata.refresh(args.chat)], has_more: false }));
82
88
  },
83
89
  }),
84
90
  tags_auto: tool({
@@ -97,12 +103,12 @@ export const privatePeopleTools = (messenger) => ({
97
103
  offline: args.refresh_metadata ? (defaults.settings.offline ?? false) : true,
98
104
  withConnection: connect,
99
105
  };
100
- return servicesFor(deps).metadata.auto({
106
+ return itemOf(snakeKeys(await servicesFor(deps).metadata.auto({
101
107
  chats: args.chats,
102
108
  limit: args.limit,
103
109
  refresh: args.refresh_metadata,
104
110
  dryRun: args.dry_run,
105
- });
111
+ })));
106
112
  },
107
113
  }),
108
114
  });
@@ -1 +1 @@
1
- {"version":3,"file":"private-people.js","sourceRoot":"","sources":["../../../src/mcp/tools/private-people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private-people.js","sourceRoot":"","sources":["../../../src/mcp/tools/private-people.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAO/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAwCrD,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6EzE,CAAA"}
1
+ {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAwCrD,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwFzE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import * as v from "valibot";
3
+ import { evidenceAnswer, rankingAnswer } from "../../cli/messenger/stats-answers.js";
3
4
  import { AUTHOR_MEASURES, MESSAGE_MEASURES } from "../../domain/rankings-options.js";
4
5
  import { assertRetentionEvidenceRead } from "../../sends/permissions.js";
5
6
  import { isAdminSelection } from "../../services/admin-statistics.js";
@@ -46,9 +47,10 @@ export const rankingTools = (messenger) => {
46
47
  for (const target of ["messages", "contacts"]) {
47
48
  definitions[`stats_${target}_top`] = tool({
48
49
  title: `Rank ${target === "messages" ? "messages" : "authors"}`,
49
- description: "Rank the local matching population by a measure or explainable score; limit is applied after normalization. Unknown counters are not zero. Per-counter observation freshness is disclosed and counts are cumulative snapshots; graph counts describe stored events in the query period. Returns coverage, exclusions, score components and a resolved drilldown selection. No sends or mark-read; optional sync_first has separate write permissions.",
50
+ description: "Rank the local matching population by a measure or explainable score; limit is applied after normalization. Unknown counters are not zero. Per-counter observation freshness is disclosed and counts are cumulative snapshots; graph counts describe stored events in the query period. Returns { item: { population, eligible, excluded, rows } }: each row has its score components and the selection its evidence takes; next names the top row's evidence; missing names what the store does not hold. No sends or mark-read; optional sync_first has separate write permissions.",
50
51
  input: topInput(target),
51
52
  annotations: { ...READ, openWorldHint: false },
53
+ output: { entity: "ranking", list: false },
52
54
  stored: async (store, account, args, defaults, connect) => {
53
55
  const services = searchServices(messenger, store, account, defaults, args.sync_first ? connect : undefined);
54
56
  const min_messages = "min_messages" in args && typeof args.min_messages === "number" ? args.min_messages : undefined;
@@ -67,38 +69,42 @@ export const rankingTools = (messenger) => {
67
69
  throw new CliError("validation_error", "saved ranking belongs to a different target");
68
70
  if (params.regex || params.language === "legacy" || params.newest || params.context)
69
71
  throw new CliError("validation_error", "saved ranking must use strict Lucene without regex/newest/context modes");
70
- return services.rankings.top(target, {
72
+ return rankingAnswer(await services.rankings.top(target, {
71
73
  ...params,
72
74
  ...syncArgs(args),
73
75
  language: "lucene",
74
76
  limit: params.limit ?? defaults.limit,
75
77
  signal: defaults.signal,
76
78
  ...(saved ? { saved } : {}),
77
- });
79
+ }));
78
80
  },
79
81
  });
80
82
  definitions[`stats_${target}_evidence`] = tool({
81
83
  title: `Inspect ${target} ranking evidence`,
82
- description: "Page through contributing messages, question/answer pairs or retention cohort members from a resolved drilldown selection. Never fetches, sends, marks read or records evidence bodies. A cursor binds the component, selection and contributing stored rows; changed evidence requires a restart. JSON items are bounded to 64 KiB; total, included and nextCursor describe continuation.",
84
+ description: "Page through contributing messages, question/answer pairs or retention cohort members from a row's selection. Never fetches, sends, marks read or records evidence bodies. A cursor binds the component, selection and contributing stored rows; changed evidence requires a restart. JSON items are bounded to 64 KiB; page.cursor continues, and next has the call for the next page.",
83
85
  input: evidenceInput(target),
84
86
  annotations: { ...READ, openWorldHint: false },
85
- stored: (store, account, args, defaults) => {
87
+ output: { entity: "evidence", list: true },
88
+ stored: async (store, account, args, defaults) => {
86
89
  const services = searchServices(messenger, store, account, defaults);
87
90
  if (isRetentionSelection(args.selection))
88
91
  assertRetentionEvidenceRead(defaults.settings.permissions ?? {});
89
92
  const reference = "message" in args ? args.message : args.person;
90
93
  if (reference === undefined)
91
94
  throw new CliError("validation_error", "ranking evidence needs its exact message or person reference");
92
- return (isRetentionSelection(args.selection)
95
+ const limit = args.limit ?? 20;
96
+ const found = await (isRetentionSelection(args.selection)
93
97
  ? services.retention
94
98
  : isAdminSelection(args.selection)
95
99
  ? services.adminStatistics
96
100
  : services.rankings).evidence(target, reference, args.selection, {
97
101
  component: args.component,
98
- limit: args.limit ?? 20,
102
+ limit,
99
103
  ...(args.cursor ? { cursor: args.cursor } : {}),
100
104
  signal: defaults.signal,
101
105
  });
106
+ const selection = typeof args.selection === "string" ? args.selection : JSON.stringify(args.selection);
107
+ return evidenceAnswer(`stats ${target} evidence`, found, { [target === "messages" ? "message" : "person"]: reference, selection, component: args.component }, limit);
102
108
  },
103
109
  });
104
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,YAAY,CAAA;AAEvE,oEAAoE;AACpE,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoC1E,CAAA"}
1
+ {"version":3,"file":"reactions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,YAAY,CAAA;AAEvE,oEAAoE;AACpE,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoC1E,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import * as v from "valibot";
2
- import { itemOf } from "../../cli/envelope.js";
3
- import { snakeKeys } from "../../cli/messenger/chat-answers.js";
2
+ import { itemOf, snakeKeys } from "../../cli/envelope.js";
4
3
  import { onlineDeps, servicesFor } from "../../services/index.js";
5
4
  import { chatOf, message, tool, WRITE } from "../tool.js";
6
5
  /** Offered with `--allow-send`, under the `reaction` permission. */
@@ -1 +1 @@
1
- {"version":3,"file":"reactions.js","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAI/D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,OAAyB,EAAE,KAAgB,EAAE,EAAE,CAC/D,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC;YAClB,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,8FAA8F;gBAC9F,8DAA8D;YAChE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI;gBACJ,OAAO;gBACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;aACtF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACpG,CACF;SACJ,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,8EAA8E;YAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAClC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACzG;SACJ,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"reactions.js","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,OAAyB,EAAE,KAAgB,EAAE,EAAE,CAC/D,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC;YAClB,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,8FAA8F;gBAC9F,8DAA8D;YAChE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI;gBACJ,OAAO;gBACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;aACtF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACpG,CACF;SACJ,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,8EAA8E;YAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAClC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACzG;SACJ,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/review.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAA;AAG7D,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoFvE,CAAA"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/review.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAGrD,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwFvE,CAAA"}
@@ -1,23 +1,23 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import * as v from "valibot";
3
+ import { catchUpQuery, REVIEW_QUERY, reviewAnswer } from "../../cli/messenger/catch-up-answers.js";
3
4
  import { checkPoints } from "../../cli/messenger/points.js";
4
5
  import { REVIEW_DAYS, reviewStart, UNANSWERED_HOURS } from "../../services/inbox.js";
5
- import { momentOf } from "../../services/moment.js";
6
6
  import { heard, hearForTool, modelWith } from "../../speech/hearing.js";
7
- import { chatOf, READ, tool } from "../tool.js";
7
+ import { READ, tool } from "../tool.js";
8
8
  import { kindsInput } from "./inbox.js";
9
9
  export const reviewTools = (messenger) => ({
10
10
  review: tool({
11
11
  title: "Review who owes what",
12
12
  description: "Every message, the owner's too (outgoing: true), in each chat that changed since a point — for sorting out " +
13
- `what the owner owes and what others owe. Without \`since_time\`, the last ${REVIEW_DAYS} days; with \`new\`, ` +
13
+ `what the owner owes and what others owe. Without a date in \`query\`, the last ${REVIEW_DAYS} days; with \`new\`, ` +
14
14
  "what changed since the last call with new, from points this tool keeps apart from the owner's own. Muted and archived " +
15
- "chats are left out unless they mention the owner, or `all` is set. Returns { since, until, complete, chats: " +
16
- "[{ id, title, messages, more }], skipped, partial, quiet }; when complete, the next review starts at until.",
15
+ "chats are left out unless they mention the owner, or `all` is set. Items are messages, oldest first, each " +
16
+ "naming its chat. The first next step, review.next, is the query the next review starts from; chats cut short, " +
17
+ "skipped or left out are `missing` entries.",
17
18
  input: v.object({
18
- since_time: v.optional(v.pipe(v.string(), v.description("where the last review ended: ISO 8601, or 2h / 1d ago"))),
19
+ query: v.optional(v.pipe(v.string(), v.description('where the last review ended and which chat: date>"2026-10-01T09:00:00Z", chat:"Book club"'))),
19
20
  new: v.optional(v.pipe(v.boolean(), v.description("what changed since the last call with new"))),
20
- chat: v.optional(chatOf(messenger)),
21
21
  kinds: kindsInput,
22
22
  unanswered: v.optional(v.pipe(v.number(), v.minValue(0), v.description(`only questions nobody answered, asked at least this many hours ago (${UNANSWERED_HOURS} is usual)`))),
23
23
  all: v.optional(v.pipe(v.boolean(), v.description("muted and archived chats too"))),
@@ -25,10 +25,12 @@ export const reviewTools = (messenger) => ({
25
25
  model: v.optional(v.pipe(v.string(), v.minLength(1), v.description("which downloaded speech model hears them, with transcribe"))),
26
26
  }),
27
27
  annotations: READ,
28
+ output: { entity: "message.summary", list: true },
28
29
  served: async (services, args, defaults, connect) => {
29
- if (args.new && (args.since_time !== undefined || args.unanswered !== undefined)) {
30
+ const { since: from, chat } = catchUpQuery(args.query, REVIEW_QUERY, "review");
31
+ if (args.new && (from !== undefined || args.unanswered !== undefined)) {
30
32
  // An open question stays open: moving past it would drop it from the next review.
31
- throw new CliError("validation_error", "new keeps its own point — not with since_time or unanswered");
33
+ throw new CliError("validation_error", "new keeps its own point — not with a date or unanswered");
32
34
  }
33
35
  const saved = args.new
34
36
  ? checkPoints(messenger.app, {
@@ -42,9 +44,9 @@ export const reviewTools = (messenger) => ({
42
44
  let hearing;
43
45
  const transcribe = args.transcribe === true;
44
46
  const found = await services.inbox.review({
45
- since: args.since_time === undefined ? (saved?.first ?? reviewStart()) : momentOf(args.since_time, "since_time"),
47
+ since: from ?? saved?.first ?? reviewStart(),
46
48
  ...(saved === undefined ? {} : { points: saved.chats }),
47
- ...(args.chat === undefined ? {} : { chat: args.chat }),
49
+ ...(chat === undefined ? {} : { chat }),
48
50
  ...(args.kinds === undefined ? {} : { kinds: args.kinds }),
49
51
  ...(args.all ? { all: true } : {}),
50
52
  ...(args.unanswered === undefined ? {} : { unansweredAfterHours: args.unanswered }),
@@ -57,14 +59,9 @@ export const reviewTools = (messenger) => ({
57
59
  };
58
60
  },
59
61
  });
62
+ const answer = reviewAnswer({ ...found, complete: found.complete && (hearing?.unheard.length ?? 0) === 0 }, hearing, await services.messages.reader(), { transcribe, fresh: saved !== undefined, ...(chat === undefined ? {} : { chat }) });
60
63
  saved?.save(found.checked ?? {});
61
- return {
62
- ...found,
63
- complete: found.complete && (hearing?.unheard.length ?? 0) === 0,
64
- chats: found.chats.map((chat) => ({ ...chat, messages: heard(chat.messages, hearing) })),
65
- unheard: hearing?.unheard ?? [],
66
- ...(hearing?.problem === undefined ? {} : { transcribeProblem: hearing.problem }),
67
- };
64
+ return answer;
68
65
  },
69
66
  }),
70
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/mcp/tools/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/mcp/tools/review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM/D,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,YAAY,CAAA;AAkB5D,sFAAsF;AACtF,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA4JvE,CAAA"}
1
+ {"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,YAAY,CAAA;AAkB5D,sFAAsF;AACtF,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6KvE,CAAA"}
@@ -1,18 +1,16 @@
1
1
  import * as v from "valibot";
2
- import { SAVE_NEXT_STEPS } from "../../meetings/index.js";
3
- import { atDetail } from "../../output-detail.js";
2
+ import { allAnswer, notesAnswer, offsetOf } from "../../cli/messenger/search-answers.js";
4
3
  import { searchNotesOf } from "../../services/notes-search.js";
5
4
  import { RESOURCES_SEARCHED_WITH_MEETINGS } from "../../services/search-all-meetings.js";
6
5
  import { searchServices } from "../search-sync.js";
7
6
  import { limit, READ, tool } from "../tool.js";
8
- import { answerMessagesSearch, backendArgs, backendInputs, MESSAGES_SEARCH_DESCRIPTION, mailSearchInput, messagesSearchInput, offset, } from "./search.js";
7
+ import { answerMessagesSearch, backendArgs, backendInputs, MESSAGES_SEARCH_DESCRIPTION, mailSearchInput, messagesSearchInput, page, } from "./search.js";
9
8
  const text = v.pipe(v.string(), v.minLength(1), v.description("the query, in the strict Lucene language"));
10
9
  const exact = v.optional(v.pipe(v.boolean(), v.description("bare words and quotes match their exact form only; meaning is not searched")));
11
10
  const timezone = v.optional(v.pipe(v.string(), v.description("the IANA timezone for calendar date boundaries")));
12
11
  /** One tool per `search` leaf; `search_all` is the one an agent reaches for first. */
13
12
  export const searchTools = (messenger) => ({
14
13
  search_all: tool({
15
- nextSteps: SAVE_NEXT_STEPS,
16
14
  title: "Search messages, mail and notes",
17
15
  description: "Messenger messages, mail and notes held in the local store, merged best first — only these three kinds, and " +
18
16
  "one meeting account when `source` names it; tasks, people, memories, projects, organizations and decisions are not " +
@@ -22,19 +20,19 @@ export const searchTools = (messenger) => ({
22
20
  "tool, looser words or search by meaning before you conclude it was never written. Where the messenger's server can search, it is asked for messages too, as search_messages asks it " +
23
21
  "(backend=both by default; archive for the local store only; server for the server's hits only) — mail and " +
24
22
  "notes are local only. Each item says its kind (message, mail, note), ref (msg:… or note:…), provider and account. A query " +
25
- "field one kind lacks skips that kind and `skipped` says why; `only` narrows the kinds. `source` names the " +
23
+ "field one kind lacks skips that kind and meta.skipped says why; `only` narrows the kinds. `source` names the " +
26
24
  "accounts: provider:account as an item shows it, a provider, a kind or group:<name>; each kind reads its own of " +
27
- "them, and `skipped` names an entry no kind reads. Meetings are read only when `source` names one meeting " +
25
+ "them, and meta.skipped names an entry no kind reads. Meetings are read only when `source` names one meeting " +
28
26
  "account (zoom:<account>, zoom, meetings, or all when one account holds meetings): its transcripts, chat and " +
29
- "summaries join in as kind meeting, with meetingId, scope, id and startMs instead of a ref, and a null timestamp " +
30
- "when the start is unknown; otherwise `skipped` says meetings were not searched. Returns { query, items, hasMore, searched, accounts, skipped, notes?, " +
31
- "meetings?, server? }; accounts lists every account read as { resource, provider, account }; " +
32
- "hasMore is null when a bounded meeting scan could not tell.",
27
+ "summaries join in as kind meeting, with offset_ms into the meeting, and a null timestamp " +
28
+ "when the start is unknown; otherwise meta.skipped says meetings were not searched. Returns { items, page, next?, " +
29
+ "missing?, meta }; meta.accounts lists every account read as provider:account; a missing entry says when a " +
30
+ "bounded meeting scan stopped before it could tell whether more match.",
33
31
  input: v.object({
34
32
  // Typed as present so the answer code reads them; offered only where the server can search.
35
33
  ...(messenger.serverSearch ? backendInputs : {}),
36
34
  text,
37
- offset,
35
+ page,
38
36
  only: v.optional(v.pipe(v.array(v.picklist(RESOURCES_SEARCHED_WITH_MEETINGS)), v.minLength(1), v.description("only these kinds: messages, mail, notes; meetings when `source` names a meeting account"))),
39
37
  source: v.optional(v.pipe(v.string(), v.minLength(1), v.description("only these accounts, comma-separated: provider:account as an item shows it, a provider, a kind or group:<name>"))),
40
38
  max_meetings: v.optional(v.pipe(v.union([v.pipe(v.number(), v.integer(), v.minValue(1)), v.literal("all")]), v.description("how many of the meeting account's meetings to look through, newest first, or all (default 100)"))),
@@ -43,86 +41,109 @@ export const searchTools = (messenger) => ({
43
41
  limit,
44
42
  }),
45
43
  annotations: { ...READ, openWorldHint: Boolean(messenger.serverSearch) },
46
- stored: (store, account, args, defaults, connect) => {
44
+ output: { entity: "hit", list: true },
45
+ stored: async (store, account, args, defaults, connect) => {
47
46
  const network = Boolean(messenger.serverSearch) && args.backend !== "archive";
48
47
  const services = searchServices(messenger, store, account, defaults, network ? connect : undefined);
48
+ const size = args.limit ?? defaults.limit;
49
+ const offset = offsetOf(args.page, size);
49
50
  const request = {
50
51
  text: args.text,
51
- limit: args.limit ?? defaults.limit,
52
- ...(args.offset === undefined ? {} : { offset: args.offset }),
52
+ limit: size,
53
+ ...(offset === undefined ? {} : { offset }),
53
54
  ...(args.exact ? { exact: true } : {}),
54
55
  ...(args.timezone === undefined ? {} : { timezone: args.timezone }),
55
56
  ...backendArgs(args),
56
57
  env: defaults.env,
57
58
  ...(defaults.signal === undefined ? {} : { signal: defaults.signal }),
58
59
  };
59
- return services.messages.searchAllWithMeetings({
60
+ const found = await services.messages.searchAllWithMeetings({
60
61
  ...request,
61
62
  ...(args.only === undefined ? {} : { only: args.only }),
62
63
  ...(args.source === undefined ? {} : { source: args.source }),
63
64
  ...(args.max_meetings === undefined ? {} : { maxMeetings: args.max_meetings }),
64
65
  });
66
+ const again = {
67
+ query: args.text,
68
+ ...(args.only === undefined ? {} : { only: args.only.join(",") }),
69
+ ...(args.source === undefined ? {} : { source: args.source }),
70
+ ...(args.max_meetings === undefined ? {} : { max_meetings: args.max_meetings }),
71
+ ...(args.exact ? { exact: true } : {}),
72
+ ...(args.timezone === undefined ? {} : { timezone: args.timezone }),
73
+ };
74
+ return allAnswer("search all", found, { limit: size, page: args.page ?? 1, again }, args.exact === true);
65
75
  },
66
76
  }),
67
77
  search_messages: tool({
68
- nextSteps: SAVE_NEXT_STEPS,
69
78
  title: "Search messenger messages",
70
79
  description: MESSAGES_SEARCH_DESCRIPTION,
71
80
  input: messagesSearchInput(messenger),
72
81
  annotations: { ...READ, openWorldHint: Boolean(messenger.serverSearch) },
82
+ output: { entity: "message.hit", list: true },
73
83
  stored: (store, account, args, defaults, connect) => {
74
84
  const network = args.sync_first || (Boolean(messenger.serverSearch) && args.backend !== "archive");
75
85
  const services = searchServices(messenger, store, account, defaults, network ? connect : undefined);
76
- return answerMessagesSearch(services.messages, args, defaults, services.searches).then((found) => atDetail(found, args.detail));
86
+ return answerMessagesSearch(services.messages, args, defaults, services.searches);
77
87
  },
78
88
  }),
79
89
  search_mail: tool({
80
- nextSteps: SAVE_NEXT_STEPS,
81
90
  title: "Search mail",
82
91
  description: "Search the mail imported into the local store (memo sync --mail), in the same query language as " +
83
92
  "search_messages; one mail thread is one chat. It reads every mail account; `source` narrows it: email:<address>, " +
84
- "or a list with group:<name>; an entry naming no mailbox is in `skipped`. Returns { items, page, limit, hasMore, " +
85
- "completeness, query, accounts, skipped? }; accounts lists the mailboxes read as { resource, provider, account }.",
86
- input: mailSearchInput(messenger),
93
+ "or a list with group:<name>; an entry naming no mailbox is in meta.skipped. chat: narrows to one thread, by id or " +
94
+ "subject. Returns { items, page, next?, missing?, meta }; meta.accounts lists the mailboxes read.",
95
+ input: mailSearchInput(),
87
96
  annotations: { ...READ, openWorldHint: false },
97
+ output: { entity: "message.hit", list: true },
88
98
  stored: (store, account, args, defaults) => {
89
99
  const services = searchServices(messenger, store, account, defaults);
90
- return answerMessagesSearch(services.messages, args, defaults, undefined, "mail").then((found) => atDetail(found, args.detail));
100
+ return answerMessagesSearch(services.messages, args, defaults, undefined, "mail");
91
101
  },
92
102
  }),
93
103
  search_notes: tool({
94
- nextSteps: SAVE_NEXT_STEPS,
95
104
  title: "Search notes",
96
105
  description: "Search the notes — written in memo, or imported from a notes folder — by words and, with the local text " +
97
- "model, by meaning. Each hit says which found it (foundBy) and what it links to; `linked` lists the people, " +
98
- "entities and notes the hits link most. `source` narrows which: notes:internal for notes written in memo, " +
99
- "notes:<folder id> as a hit's folderId shows it, or a list with group:<name>; an entry naming none is in " +
100
- "`skipped`. Returns { query, by, meaningSkipped?, hits, hasMore, nextOffset?, linked, accounts, skipped }.",
106
+ "model, by meaning. Each item says which found it (found_by) and what it links to (links). `source` narrows " +
107
+ "which: notes:internal for notes written in memo, notes:<folder id> as an item's folder_id shows it, or a list " +
108
+ "with group:<name>; an entry naming none is in meta.skipped. `filter` is a query every item must also match, " +
109
+ "tag:work among them, and leaves the search by meaning as it is. Returns { items, page, next?, missing?, meta }.",
101
110
  input: v.object({
102
111
  text,
103
112
  type: v.optional(v.pipe(v.picklist(["internal", "file"]), v.description("internal: written in memo; file: from a notes folder"))),
104
113
  source: v.optional(v.pipe(v.string(), v.minLength(1), v.description("only these notes accounts, comma-separated: notes:internal, notes:<folder id>, or group:<name>"))),
105
- tag: v.optional(v.pipe(v.string(), v.description("only notes with this tag"))),
106
114
  filter: v.optional(v.pipe(v.string(), v.description("a query every hit must also match"))),
107
- offset: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(1000))),
115
+ page,
108
116
  exact,
109
117
  timezone,
110
118
  limit,
111
119
  }),
112
120
  annotations: { ...READ, openWorldHint: false },
113
- stored: (store, account, args, defaults) => searchNotesOf(store, account, args.text, {
114
- limit: args.limit ?? defaults.limit,
115
- command: messenger.app.command,
116
- env: defaults.env,
117
- ...(args.offset === undefined ? {} : { offset: args.offset }),
118
- ...(args.type === undefined ? {} : { source: args.type }),
119
- ...(args.source === undefined ? {} : { accounts: args.source }),
120
- app: messenger.app,
121
- ...(args.tag === undefined ? {} : { tag: args.tag }),
122
- ...(args.filter === undefined ? {} : { filter: args.filter }),
123
- ...(args.exact ? { exact: true } : {}),
124
- ...(args.timezone === undefined ? {} : { timezone: args.timezone }),
125
- }),
121
+ output: { entity: "note.hit", list: true },
122
+ stored: async (store, account, args, defaults) => {
123
+ const size = args.limit ?? defaults.limit;
124
+ const offset = offsetOf(args.page, size);
125
+ const found = await searchNotesOf(store, account, args.text, {
126
+ limit: size,
127
+ command: messenger.app.command,
128
+ env: defaults.env,
129
+ ...(offset === undefined ? {} : { offset }),
130
+ ...(args.type === undefined ? {} : { source: args.type }),
131
+ ...(args.source === undefined ? {} : { accounts: args.source }),
132
+ app: messenger.app,
133
+ ...(args.filter === undefined ? {} : { filter: args.filter }),
134
+ ...(args.exact ? { exact: true } : {}),
135
+ ...(args.timezone === undefined ? {} : { timezone: args.timezone }),
136
+ });
137
+ const again = {
138
+ query: args.text,
139
+ ...(args.type === undefined ? {} : { type: args.type }),
140
+ ...(args.source === undefined ? {} : { source: args.source }),
141
+ ...(args.filter === undefined ? {} : { filter: args.filter }),
142
+ ...(args.exact ? { exact: true } : {}),
143
+ ...(args.timezone === undefined ? {} : { timezone: args.timezone }),
144
+ };
145
+ return notesAnswer("search notes", found, { limit: size, page: args.page ?? 1, again }, args.exact === true);
146
+ },
126
147
  }),
127
148
  });
128
149
  //# sourceMappingURL=search-tools.js.map