@wirecat/cli-core 0.265.0 → 0.266.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 (469) 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 +11 -9
  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/models-command.d.ts +0 -5
  128. package/dist/cli/messenger/models-command.d.ts.map +1 -1
  129. package/dist/cli/messenger/models-command.js +27 -39
  130. package/dist/cli/messenger/models-command.js.map +1 -1
  131. package/dist/cli/messenger/observed.js +3 -3
  132. package/dist/cli/messenger/observed.js.map +1 -1
  133. package/dist/cli/messenger/official-stats-command.d.ts.map +1 -1
  134. package/dist/cli/messenger/official-stats-command.js +5 -5
  135. package/dist/cli/messenger/official-stats-command.js.map +1 -1
  136. package/dist/cli/messenger/people-queries.d.ts +8 -2
  137. package/dist/cli/messenger/people-queries.d.ts.map +1 -1
  138. package/dist/cli/messenger/people-queries.js +25 -3
  139. package/dist/cli/messenger/people-queries.js.map +1 -1
  140. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  141. package/dist/cli/messenger/polls-command.js +27 -19
  142. package/dist/cli/messenger/polls-command.js.map +1 -1
  143. package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
  144. package/dist/cli/messenger/rankings-command.js +17 -22
  145. package/dist/cli/messenger/rankings-command.js.map +1 -1
  146. package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
  147. package/dist/cli/messenger/reactions-command.js +1 -2
  148. package/dist/cli/messenger/reactions-command.js.map +1 -1
  149. package/dist/cli/messenger/retention-command.d.ts.map +1 -1
  150. package/dist/cli/messenger/retention-command.js +7 -12
  151. package/dist/cli/messenger/retention-command.js.map +1 -1
  152. package/dist/cli/messenger/review.d.ts.map +1 -1
  153. package/dist/cli/messenger/review.js +44 -62
  154. package/dist/cli/messenger/review.js.map +1 -1
  155. package/dist/cli/messenger/search-answers.d.ts +34 -0
  156. package/dist/cli/messenger/search-answers.d.ts.map +1 -0
  157. package/dist/cli/messenger/search-answers.js +220 -0
  158. package/dist/cli/messenger/search-answers.js.map +1 -0
  159. package/dist/cli/messenger/search-command.d.ts.map +1 -1
  160. package/dist/cli/messenger/search-command.js +49 -33
  161. package/dist/cli/messenger/search-command.js.map +1 -1
  162. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  163. package/dist/cli/messenger/searches-command.js +25 -42
  164. package/dist/cli/messenger/searches-command.js.map +1 -1
  165. package/dist/cli/messenger/stats-answers.d.ts +65 -0
  166. package/dist/cli/messenger/stats-answers.d.ts.map +1 -0
  167. package/dist/cli/messenger/stats-answers.js +326 -0
  168. package/dist/cli/messenger/stats-answers.js.map +1 -0
  169. package/dist/cli/messenger/stats-command.d.ts.map +1 -1
  170. package/dist/cli/messenger/stats-command.js +5 -3
  171. package/dist/cli/messenger/stats-command.js.map +1 -1
  172. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  173. package/dist/cli/messenger/tasks-command.js +8 -11
  174. package/dist/cli/messenger/tasks-command.js.map +1 -1
  175. package/dist/cli/messenger/topics-command.js +2 -2
  176. package/dist/cli/messenger/topics-command.js.map +1 -1
  177. package/dist/cli/messenger/transcribe-command.d.ts.map +1 -1
  178. package/dist/cli/messenger/transcribe-command.js +4 -7
  179. package/dist/cli/messenger/transcribe-command.js.map +1 -1
  180. package/dist/cli/steps.d.ts.map +1 -1
  181. package/dist/cli/steps.js +81 -0
  182. package/dist/cli/steps.js.map +1 -1
  183. package/dist/domain/meeting-reference.d.ts +1 -11
  184. package/dist/domain/meeting-reference.d.ts.map +1 -1
  185. package/dist/domain/meeting-reference.js +1 -36
  186. package/dist/domain/meeting-reference.js.map +1 -1
  187. package/dist/entities/admin-report.d.ts +94 -0
  188. package/dist/entities/admin-report.d.ts.map +1 -0
  189. package/dist/entities/admin-report.js +57 -0
  190. package/dist/entities/admin-report.js.map +1 -0
  191. package/dist/entities/agenda.d.ts +61 -0
  192. package/dist/entities/agenda.d.ts.map +1 -0
  193. package/dist/entities/agenda.js +42 -0
  194. package/dist/entities/agenda.js.map +1 -0
  195. package/dist/entities/attachment.d.ts +3 -1
  196. package/dist/entities/attachment.d.ts.map +1 -1
  197. package/dist/entities/attachment.js +4 -2
  198. package/dist/entities/attachment.js.map +1 -1
  199. package/dist/entities/chart.d.ts +27 -0
  200. package/dist/entities/chart.d.ts.map +1 -0
  201. package/dist/entities/chart.js +17 -0
  202. package/dist/entities/chart.js.map +1 -0
  203. package/dist/entities/counter-reading.d.ts +14 -0
  204. package/dist/entities/counter-reading.d.ts.map +1 -0
  205. package/dist/entities/counter-reading.js +15 -0
  206. package/dist/entities/counter-reading.js.map +1 -0
  207. package/dist/entities/counters.d.ts +42 -0
  208. package/dist/entities/counters.d.ts.map +1 -0
  209. package/dist/entities/counters.js +34 -0
  210. package/dist/entities/counters.js.map +1 -0
  211. package/dist/entities/evidence.d.ts +1617 -0
  212. package/dist/entities/evidence.d.ts.map +1 -0
  213. package/dist/entities/evidence.js +35 -0
  214. package/dist/entities/evidence.js.map +1 -0
  215. package/dist/entities/hit.d.ts +21 -0
  216. package/dist/entities/hit.d.ts.map +1 -0
  217. package/dist/entities/hit.js +22 -0
  218. package/dist/entities/hit.js.map +1 -0
  219. package/dist/entities/index.d.ts +1817 -17
  220. package/dist/entities/index.d.ts.map +1 -1
  221. package/dist/entities/index.js +63 -3
  222. package/dist/entities/index.js.map +1 -1
  223. package/dist/entities/job.d.ts +28 -0
  224. package/dist/entities/job.d.ts.map +1 -0
  225. package/dist/entities/job.js +25 -0
  226. package/dist/entities/job.js.map +1 -0
  227. package/dist/entities/meeting.d.ts +1 -19
  228. package/dist/entities/meeting.d.ts.map +1 -1
  229. package/dist/entities/meeting.js +1 -20
  230. package/dist/entities/meeting.js.map +1 -1
  231. package/dist/entities/message-counts.d.ts +14 -0
  232. package/dist/entities/message-counts.d.ts.map +1 -0
  233. package/dist/entities/message-counts.js +15 -0
  234. package/dist/entities/message-counts.js.map +1 -0
  235. package/dist/entities/message.d.ts +21 -1
  236. package/dist/entities/message.d.ts.map +1 -1
  237. package/dist/entities/message.js +13 -1
  238. package/dist/entities/message.js.map +1 -1
  239. package/dist/entities/model.d.ts +16 -0
  240. package/dist/entities/model.d.ts.map +1 -0
  241. package/dist/entities/model.js +17 -0
  242. package/dist/entities/model.js.map +1 -0
  243. package/dist/entities/note.d.ts +11 -0
  244. package/dist/entities/note.d.ts.map +1 -1
  245. package/dist/entities/note.js +11 -0
  246. package/dist/entities/note.js.map +1 -1
  247. package/dist/entities/official-stats.d.ts +63 -0
  248. package/dist/entities/official-stats.d.ts.map +1 -0
  249. package/dist/entities/official-stats.js +36 -0
  250. package/dist/entities/official-stats.js.map +1 -0
  251. package/dist/entities/ranking.d.ts +95 -0
  252. package/dist/entities/ranking.d.ts.map +1 -0
  253. package/dist/entities/ranking.js +49 -0
  254. package/dist/entities/ranking.js.map +1 -0
  255. package/dist/entities/retention.d.ts +86 -0
  256. package/dist/entities/retention.d.ts.map +1 -0
  257. package/dist/entities/retention.js +51 -0
  258. package/dist/entities/retention.js.map +1 -0
  259. package/dist/entities/saved-search.d.ts +17 -0
  260. package/dist/entities/saved-search.d.ts.map +1 -0
  261. package/dist/entities/saved-search.js +18 -0
  262. package/dist/entities/saved-search.js.map +1 -0
  263. package/dist/mcp/prompts.js +1 -1
  264. package/dist/mcp/prompts.js.map +1 -1
  265. package/dist/mcp/tools/admin-statistics.d.ts.map +1 -1
  266. package/dist/mcp/tools/admin-statistics.js +17 -8
  267. package/dist/mcp/tools/admin-statistics.js.map +1 -1
  268. package/dist/mcp/tools/admin.d.ts.map +1 -1
  269. package/dist/mcp/tools/admin.js +1 -2
  270. package/dist/mcp/tools/admin.js.map +1 -1
  271. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  272. package/dist/mcp/tools/attachments.js +15 -18
  273. package/dist/mcp/tools/attachments.js.map +1 -1
  274. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  275. package/dist/mcp/tools/chats-read.js +1 -2
  276. package/dist/mcp/tools/chats-read.js.map +1 -1
  277. package/dist/mcp/tools/chats.d.ts.map +1 -1
  278. package/dist/mcp/tools/chats.js +4 -3
  279. package/dist/mcp/tools/chats.js.map +1 -1
  280. package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
  281. package/dist/mcp/tools/contacts-write.js +1 -2
  282. package/dist/mcp/tools/contacts-write.js.map +1 -1
  283. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  284. package/dist/mcp/tools/contacts.js +15 -6
  285. package/dist/mcp/tools/contacts.js.map +1 -1
  286. package/dist/mcp/tools/folders.js +2 -2
  287. package/dist/mcp/tools/folders.js.map +1 -1
  288. package/dist/mcp/tools/inbox.d.ts.map +1 -1
  289. package/dist/mcp/tools/inbox.js +15 -17
  290. package/dist/mcp/tools/inbox.js.map +1 -1
  291. package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
  292. package/dist/mcp/tools/messages-actions.js +31 -18
  293. package/dist/mcp/tools/messages-actions.js.map +1 -1
  294. package/dist/mcp/tools/messages-delete.d.ts.map +1 -1
  295. package/dist/mcp/tools/messages-delete.js +3 -2
  296. package/dist/mcp/tools/messages-delete.js.map +1 -1
  297. package/dist/mcp/tools/messages-photo.js +1 -1
  298. package/dist/mcp/tools/messages-photo.js.map +1 -1
  299. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  300. package/dist/mcp/tools/messages-send.js +5 -7
  301. package/dist/mcp/tools/messages-send.js.map +1 -1
  302. package/dist/mcp/tools/messages-transcribe.d.ts.map +1 -1
  303. package/dist/mcp/tools/messages-transcribe.js +4 -3
  304. package/dist/mcp/tools/messages-transcribe.js.map +1 -1
  305. package/dist/mcp/tools/messages.d.ts.map +1 -1
  306. package/dist/mcp/tools/messages.js +11 -9
  307. package/dist/mcp/tools/messages.js.map +1 -1
  308. package/dist/mcp/tools/moderation.d.ts.map +1 -1
  309. package/dist/mcp/tools/moderation.js +1 -2
  310. package/dist/mcp/tools/moderation.js.map +1 -1
  311. package/dist/mcp/tools/polls.d.ts.map +1 -1
  312. package/dist/mcp/tools/polls.js +6 -3
  313. package/dist/mcp/tools/polls.js.map +1 -1
  314. package/dist/mcp/tools/rankings.d.ts.map +1 -1
  315. package/dist/mcp/tools/rankings.js +13 -7
  316. package/dist/mcp/tools/rankings.js.map +1 -1
  317. package/dist/mcp/tools/reactions.d.ts.map +1 -1
  318. package/dist/mcp/tools/reactions.js +1 -2
  319. package/dist/mcp/tools/reactions.js.map +1 -1
  320. package/dist/mcp/tools/review.d.ts.map +1 -1
  321. package/dist/mcp/tools/review.js +15 -18
  322. package/dist/mcp/tools/review.js.map +1 -1
  323. package/dist/mcp/tools/search-tools.d.ts.map +1 -1
  324. package/dist/mcp/tools/search-tools.js +63 -42
  325. package/dist/mcp/tools/search-tools.js.map +1 -1
  326. package/dist/mcp/tools/search.d.ts +69 -48
  327. package/dist/mcp/tools/search.d.ts.map +1 -1
  328. package/dist/mcp/tools/search.js +30 -27
  329. package/dist/mcp/tools/search.js.map +1 -1
  330. package/dist/mcp/tools/searches.d.ts.map +1 -1
  331. package/dist/mcp/tools/searches.js +31 -15
  332. package/dist/mcp/tools/searches.js.map +1 -1
  333. package/dist/mcp/tools/stats.d.ts.map +1 -1
  334. package/dist/mcp/tools/stats.js +6 -6
  335. package/dist/mcp/tools/stats.js.map +1 -1
  336. package/dist/mcp/tools/store.d.ts.map +1 -1
  337. package/dist/mcp/tools/store.js +8 -6
  338. package/dist/mcp/tools/store.js.map +1 -1
  339. package/dist/mcp/tools/tasks.js +12 -10
  340. package/dist/mcp/tools/tasks.js.map +1 -1
  341. package/dist/mcp/tools/topics.js +2 -2
  342. package/dist/mcp/tools/topics.js.map +1 -1
  343. package/dist/meetings/cli/index.d.ts.map +1 -1
  344. package/dist/meetings/cli/index.js +15 -6
  345. package/dist/meetings/cli/index.js.map +1 -1
  346. package/dist/meetings/index.d.ts +2 -0
  347. package/dist/meetings/index.d.ts.map +1 -1
  348. package/dist/meetings/index.js +2 -0
  349. package/dist/meetings/index.js.map +1 -1
  350. package/dist/meetings/item.d.ts +35 -0
  351. package/dist/meetings/item.d.ts.map +1 -0
  352. package/dist/meetings/item.js +59 -0
  353. package/dist/meetings/item.js.map +1 -0
  354. package/dist/meetings/mcp/index.d.ts +90 -25
  355. package/dist/meetings/mcp/index.d.ts.map +1 -1
  356. package/dist/meetings/mcp/index.js +17 -15
  357. package/dist/meetings/mcp/index.js.map +1 -1
  358. package/dist/meetings/reads.d.ts +10 -6
  359. package/dist/meetings/reads.d.ts.map +1 -1
  360. package/dist/meetings/reads.js +37 -1
  361. package/dist/meetings/reads.js.map +1 -1
  362. package/dist/meetings/reference.d.ts +12 -0
  363. package/dist/meetings/reference.d.ts.map +1 -0
  364. package/dist/meetings/reference.js +37 -0
  365. package/dist/meetings/reference.js.map +1 -0
  366. package/dist/meetings/store.d.ts +6 -0
  367. package/dist/meetings/store.d.ts.map +1 -1
  368. package/dist/meetings/testing/contract.d.ts.map +1 -1
  369. package/dist/meetings/testing/contract.js +14 -0
  370. package/dist/meetings/testing/contract.js.map +1 -1
  371. package/dist/meetings/testing/memory.d.ts.map +1 -1
  372. package/dist/meetings/testing/memory.js +10 -1
  373. package/dist/meetings/testing/memory.js.map +1 -1
  374. package/dist/render/markdown.d.ts.map +1 -1
  375. package/dist/render/markdown.js +4 -2
  376. package/dist/render/markdown.js.map +1 -1
  377. package/dist/render/messages.js +4 -2
  378. package/dist/render/messages.js.map +1 -1
  379. package/dist/sends/upload.d.ts.map +1 -1
  380. package/dist/sends/upload.js +7 -1
  381. package/dist/sends/upload.js.map +1 -1
  382. package/dist/services/agenda.d.ts +14 -2
  383. package/dist/services/agenda.d.ts.map +1 -1
  384. package/dist/services/agenda.js +59 -7
  385. package/dist/services/agenda.js.map +1 -1
  386. package/dist/services/attachments.d.ts +18 -21
  387. package/dist/services/attachments.d.ts.map +1 -1
  388. package/dist/services/attachments.js +45 -14
  389. package/dist/services/attachments.js.map +1 -1
  390. package/dist/services/backfill-jobs.d.ts +22 -0
  391. package/dist/services/backfill-jobs.d.ts.map +1 -1
  392. package/dist/services/backfill-jobs.js +19 -0
  393. package/dist/services/backfill-jobs.js.map +1 -1
  394. package/dist/services/chats.d.ts +4 -3
  395. package/dist/services/chats.d.ts.map +1 -1
  396. package/dist/services/chats.js +12 -4
  397. package/dist/services/chats.js.map +1 -1
  398. package/dist/services/inbox.d.ts.map +1 -1
  399. package/dist/services/inbox.js +5 -5
  400. package/dist/services/inbox.js.map +1 -1
  401. package/dist/services/messages-search.js +3 -2
  402. package/dist/services/messages-search.js.map +1 -1
  403. package/dist/services/messages.d.ts +2 -0
  404. package/dist/services/messages.d.ts.map +1 -1
  405. package/dist/services/messages.js.map +1 -1
  406. package/dist/services/people.d.ts +6 -1
  407. package/dist/services/people.d.ts.map +1 -1
  408. package/dist/services/people.js +10 -3
  409. package/dist/services/people.js.map +1 -1
  410. package/dist/services/pictures.d.ts +4 -0
  411. package/dist/services/pictures.d.ts.map +1 -1
  412. package/dist/services/pictures.js +26 -17
  413. package/dist/services/pictures.js.map +1 -1
  414. package/dist/services/retention.d.ts +1 -0
  415. package/dist/services/retention.d.ts.map +1 -1
  416. package/dist/services/retention.js +1 -0
  417. package/dist/services/retention.js.map +1 -1
  418. package/dist/services/search-refresh.d.ts.map +1 -1
  419. package/dist/services/search-refresh.js +7 -6
  420. package/dist/services/search-refresh.js.map +1 -1
  421. package/dist/services/searches.d.ts +7 -2
  422. package/dist/services/searches.d.ts.map +1 -1
  423. package/dist/services/searches.js +16 -3
  424. package/dist/services/searches.js.map +1 -1
  425. package/dist/services/server-search.js +1 -1
  426. package/dist/services/server-search.js.map +1 -1
  427. package/dist/store/sqlite/attachment-texts.d.ts +10 -2
  428. package/dist/store/sqlite/attachment-texts.d.ts.map +1 -1
  429. package/dist/store/sqlite/attachment-texts.js +27 -10
  430. package/dist/store/sqlite/attachment-texts.js.map +1 -1
  431. package/dist/store/sqlite/chats.d.ts +34 -0
  432. package/dist/store/sqlite/chats.d.ts.map +1 -1
  433. package/dist/store/sqlite/chats.js +23 -8
  434. package/dist/store/sqlite/chats.js.map +1 -1
  435. package/dist/store/sqlite/completeness.js +2 -2
  436. package/dist/store/sqlite/completeness.js.map +1 -1
  437. package/dist/store/sqlite/conversations.d.ts +1 -1
  438. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  439. package/dist/store/sqlite/conversations.js +1 -2
  440. package/dist/store/sqlite/conversations.js.map +1 -1
  441. package/dist/store/sqlite/identities.d.ts +10 -4
  442. package/dist/store/sqlite/identities.d.ts.map +1 -1
  443. package/dist/store/sqlite/identities.js +8 -7
  444. package/dist/store/sqlite/identities.js.map +1 -1
  445. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  446. package/dist/store/sqlite/meetings.js +20 -0
  447. package/dist/store/sqlite/meetings.js.map +1 -1
  448. package/dist/store/sqlite/query-filter.d.ts +3 -0
  449. package/dist/store/sqlite/query-filter.d.ts.map +1 -1
  450. package/dist/store/sqlite/query-filter.js +3 -0
  451. package/dist/store/sqlite/query-filter.js.map +1 -1
  452. package/dist/store/sqlite/reads.d.ts +9 -1
  453. package/dist/store/sqlite/reads.d.ts.map +1 -1
  454. package/dist/store/sqlite/reads.js +6 -3
  455. package/dist/store/sqlite/reads.js.map +1 -1
  456. package/dist/store/sqlite/searches.d.ts +1 -1
  457. package/dist/store/sqlite/searches.d.ts.map +1 -1
  458. package/dist/store/sqlite/searches.js +3 -3
  459. package/dist/store/sqlite/searches.js.map +1 -1
  460. package/dist/store/store.d.ts +17 -15
  461. package/dist/store/store.d.ts.map +1 -1
  462. package/dist/store/store.js +10 -6
  463. package/dist/store/store.js.map +1 -1
  464. package/package.json +1 -1
  465. package/parity.json +31 -51
  466. package/dist/cli/messenger/list-query.d.ts +0 -13
  467. package/dist/cli/messenger/list-query.d.ts.map +0 -1
  468. package/dist/cli/messenger/list-query.js +0 -23
  469. package/dist/cli/messenger/list-query.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"messages-search-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-search-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAIxE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAe/D,oHAAoH;AACpH,eAAO,MAAM,qBAAqB,cAAe,SAAS,SAAQ,UAAU,KAAgB,OA+E3F,CAAA;AA0MD,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MAK1C,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,QAAQ,GAAG,QAIrD,CAAA"}
1
+ {"version":3,"file":"messages-search-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-search-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAKxE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAQ/D,oHAAoH;AACpH,eAAO,MAAM,qBAAqB,cAAe,SAAS,SAAQ,UAAU,KAAgB,OA0E3F,CAAA;AAuND,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MAK1C,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,QAAQ,GAAG,QAIrD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { annotate } from "@wirecat/cli-base/commands";
2
3
  import { Command } from "commander";
3
4
  import { parseLocator } from "../../domain/locator.js";
4
5
  import { SAVE_HELP } from "../../meetings/index.js";
@@ -6,24 +7,22 @@ import { renderMessages } from "../../render/messages.js";
6
7
  import { renderThreadLinks } from "../../render/thread-context.js";
7
8
  import { NO_MAIL } from "../../services/search-kind.js";
8
9
  import { environmentOf } from "../context.js";
10
+ import { renderAnswer } from "../envelope.js";
9
11
  import { positiveCount } from "../paging.js";
10
12
  import { archiveSummary } from "./archive-summary.js";
11
13
  import { messengerContext } from "./context.js";
14
+ import { messagesAnswer, offsetOf } from "./search-answers.js";
12
15
  import { backendOptions, backendRequest, noteServer } from "./search-backend-options.js";
13
16
  import { syncOptions, syncRequest } from "./search-sync-options.js";
14
17
  import { threadOptions, threadRequest } from "./thread-options.js";
15
18
  const PLACES = { transcript: "transcript", filename: "file name", file: "file text" };
16
- const TYPES = { text: "NOT has:attachment", voice: "has:voice", file: "has:file" };
17
- const typeOf = (value) => {
18
- if (!Object.hasOwn(TYPES, value))
19
- throw new CliError("validation_error", "--type takes text, voice or file");
20
- return value;
21
- };
22
19
  /** `search messages`, or with `mail` the same leaf over the mailboxes only — never both, so they do not overlap. */
23
20
  export const messagesSearchCommand = (messenger, kind = "messages") => {
24
21
  const mail = kind === "mail";
25
22
  const base = new Command(kind);
26
- const command = mail ? base : backendOptions(threadOptions(syncOptions(base)), messenger);
23
+ const command = annotate(mail ? base : backendOptions(threadOptions(syncOptions(base)), messenger), {
24
+ output: { entity: "message", view: "hit" },
25
+ });
27
26
  command
28
27
  .description(mail
29
28
  ? "search the mail imported into the local store — memo sync --mail brings it in"
@@ -32,21 +31,16 @@ export const messagesSearchCommand = (messenger, kind = "messages") => {
32
31
  : "search messenger messages in the local store — what was read, fetched or kept by serve; optionally fetches new messages with --sync-first; --discover searches the archive only")
33
32
  .argument("[query...]", mail
34
33
  ? 'strict Lucene query: words, "phrases", AND/OR/NOT, field groups and date ranges'
35
- : 'strict Lucene query: words, "phrases", AND/OR/NOT, field groups and date ranges; --language legacy keeps discovery; with --saved, more words AND-ed to it')
36
- .option("--chat <chat>", mail
37
- ? "only this mail thread, by id or subject"
38
- : `only this chat — the same as chat: in the query; ${messenger.chatArgument}`);
34
+ : 'strict Lucene query: words, "phrases", AND/OR/NOT, field groups and date ranges; --language legacy keeps discovery; with --saved, more words AND-ed to it');
39
35
  if (mail)
40
36
  command.option("--source <accounts>", "only these mail accounts, separated by commas: email:<address> as a hit shows it, email, mail or " +
41
37
  "group:<name>; every mail account when unset");
42
38
  else
43
- command
44
- .option("--source <accounts>", "every account of this messenger held in the store; personal, bots or all — the same as in: in the query; " +
45
- "or a list: group:work,telegram:Alice,email:me@example.com")
46
- .option("--type <text|voice|file>", "only messages of this type: text alone, a voice message, or a file", typeOf);
39
+ command.option("--source <accounts>", "every account of this messenger held in the store; personal, bots or all — the same as in: in the query; " +
40
+ "or a list: group:work,telegram:Alice,email:me@example.com");
47
41
  command
48
42
  .option("--limit <n>", "how many", positiveCount("--limit"))
49
- .option("--offset <n>", "skip this many, for the next page", wholeCount)
43
+ .option("--page <n>", "which page, starting at 1", positiveCount("--page"))
50
44
  .option("--newest", "newest first instead of best first")
51
45
  .option("--exact", "bare words and quotes match their exact form only, as exact:word does; text: still matches every form")
52
46
  .option("--context <n>", "messages before and after each hit; 2 in the terminal, 0 otherwise", wholeCount);
@@ -58,8 +52,8 @@ export const messagesSearchCommand = (messenger, kind = "messages") => {
58
52
  command.addHelpText("after", SAVE_HELP);
59
53
  if (mail)
60
54
  return command
61
- .addHelpText("after", `content: narrows a search to the text of attachments, filename: to their names —
62
- \`${messenger.app.command} search mail 'content:invoice'\`. --json: the list is items; each email's reference is locator.`)
55
+ .addHelpText("after", `chat: narrows it to one mail thread, by id or subject; content: to the text of attachments, filename: to their
56
+ names — \`${messenger.app.command} search mail 'content:invoice'\`. --json: the list is items; each email's reference is ref.`)
63
57
  .action(searchAction(messenger, kind));
64
58
  return command
65
59
  .addHelpText("after", `Search reads the local archive: a chat never fetched is not searched. Prepare it once with
@@ -68,7 +62,8 @@ coverage says what was searched and coverage.next what would improve it. Mail is
68
62
  everything at once is \`${messenger.app.command} search all\`.
69
63
  A bare word looks in message text, voice transcripts, file names and file text. text:, transcript:,
70
64
  content: (the text of files) and filename: (their names) narrow it to one —
71
- \`${messenger.app.command} search messages 'content:invoice'\`. --json: the list is items; each hit's reference is locator.
65
+ \`${messenger.app.command} search messages 'content:invoice'\`. chat: narrows it to one chat; has:voice, has:file and
66
+ NOT has:attachment to voice messages, files or text alone. --json: the list is items; each hit's reference is ref.
72
67
  Search guide: https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md`)
73
68
  .option("--regex", "the words are one regular expression, case-insensitive, tested against every stored text")
74
69
  .option("--saved <name|id>", "run a saved search or an earlier run; options typed here replace its own")
@@ -76,9 +71,8 @@ Search guide: https://github.com/WireCatLabs/cli-core/blob/main/docs/search/quer
76
71
  };
77
72
  const searchAction = (messenger, kind) => async function (given) {
78
73
  const context = messengerContext(this, messenger);
79
- const type = this.opts().type;
80
- const words = type === undefined ? given : given.length === 0 ? [TYPES[type]] : [`(${given.join(" ")}) AND ${TYPES[type]}`];
81
- const { chat, source, regex, language, discover, timezone, newest, exact, context: around, limit: typedLimit, offset, saved, } = this.opts();
74
+ const words = given;
75
+ const { source, regex, language, discover, timezone, newest, exact, context: around, limit: typedLimit, page, saved, } = this.opts();
82
76
  if (saved === undefined && words.length === 0)
83
77
  throw new CliError("validation_error", "give a query, or --saved <name> to run a saved search");
84
78
  if (saved !== undefined && regex)
@@ -88,7 +82,6 @@ const searchAction = (messenger, kind) => async function (given) {
88
82
  const external = environmentOf(this).signal;
89
83
  const signal = external ? AbortSignal.any([external, controller.signal]) : controller.signal;
90
84
  const typed = {
91
- ...(chat === undefined ? {} : { chat }),
92
85
  ...(source === undefined ? {} : { source }),
93
86
  ...(discover === undefined ? {} : { discover }),
94
87
  ...(language === undefined ? {} : { language }),
@@ -111,7 +104,7 @@ const searchAction = (messenger, kind) => async function (given) {
111
104
  ...typed,
112
105
  ...(pattern ? { pattern } : { text: words.join(" ") }),
113
106
  limit,
114
- ...(offset === undefined ? {} : { offset }),
107
+ ...withOffset(page, limit),
115
108
  signal,
116
109
  language: language ?? (pattern ? "legacy" : "lucene"),
117
110
  newest: newest === true,
@@ -131,7 +124,7 @@ const searchAction = (messenger, kind) => async function (given) {
131
124
  ...(params.source === undefined ? {} : { source: params.source }),
132
125
  ...(params.timezone === undefined ? {} : { timezone: params.timezone }),
133
126
  limit,
134
- ...(offset === undefined ? {} : { offset }),
127
+ ...withOffset(page, limit),
135
128
  signal,
136
129
  language: params.language ?? (pattern ? "legacy" : "lucene"),
137
130
  newest: params.newest === true,
@@ -162,7 +155,7 @@ const searchAction = (messenger, kind) => async function (given) {
162
155
  context.renderer.note(`${from} → ${to.join(", ")}`);
163
156
  for (const { source, reason } of found.skipped ?? [])
164
157
  context.renderer.note(`${source} not searched: ${reason}`);
165
- if (found.picturesSkipped)
158
+ if (found.picturesSkipped && found.picturesModel === undefined)
166
159
  context.renderer.note(`pictures not searched: ${found.picturesSkipped}`);
167
160
  const stemming = found.query?.stemming;
168
161
  const forms = (stemming?.applied ? stemming.terms : []).filter(({ stemmer }) => stemmer !== "none");
@@ -188,7 +181,7 @@ const searchAction = (messenger, kind) => async function (given) {
188
181
  if (kind === "mail" || incomplete.some((chat) => chat.provider === "email")) {
189
182
  context.renderer.note("mail search covers imported messages only; older or unimported mail may be missing — `memo sync --mail --since-time <time>` imports more");
190
183
  }
191
- if (context.format === "pretty") {
184
+ const view = () => {
192
185
  const options = {
193
186
  color: context.color,
194
187
  verbosity: context.settings.detail,
@@ -199,7 +192,7 @@ const searchAction = (messenger, kind) => async function (given) {
199
192
  };
200
193
  const hits = found.items.map((hit) => ({ hit, at: parseLocator(hit.locator) }));
201
194
  const spans = new Set(hits.map(({ at }) => `${at.provider}/${at.account}`)).size > 1;
202
- context.streams.data(hits
195
+ const lines = hits
203
196
  .map(({ hit, at }) => {
204
197
  const title = hit.chatTitle ?? hit.chatId;
205
198
  const links = hit.thread ? renderThreadLinks(hit.thread) : "";
@@ -208,25 +201,38 @@ const searchAction = (messenger, kind) => async function (given) {
208
201
  : "";
209
202
  return `${spans ? `${at.provider} · ${title}` : title} ${hit.locator}\n${renderMessages(hit.thread?.items ?? hit.context ?? [hit], options)}${place}${links ? `\n${links}` : ""}`;
210
203
  })
211
- .join("\n\n"));
204
+ .join("\n\n");
212
205
  const elsewhere = [...new Set(hits.map(({ at }) => at.provider))].filter((one) => one !== messenger.provider);
213
206
  if (elsewhere.length > 0) {
214
207
  context.renderer.note(`hits in ${elsewhere.join(", ")} open in that messenger's own CLI, by the locator: messages context msg:…`);
215
208
  }
216
- if (found.pictures?.length)
217
- context.streams.data(`\n\nPictures, by what they show (an English query matches best):\n${found.pictures
218
- .map(({ locator, score }) => ` ${locator} ${score.toFixed(2)}`)
219
- .join("\n")}\n`);
220
209
  if (found.items.length === 0)
221
210
  context.renderer.note(found.server && !found.server.skipped
222
211
  ? "nothing found in the local store or on the messenger's server"
223
212
  : "nothing found — only what is in the local store is searched");
224
- return;
225
- }
226
- if (context.format === "jsonl")
227
- context.renderer.stream(found.items);
228
- else
229
- context.renderer.result({ ...found, page: 1, limit });
213
+ const pictures = found.pictures?.length
214
+ ? `\n\nPictures, by what they show (an English query matches best):\n${found.pictures
215
+ .map(({ locator, score }) => ` ${locator} ${score.toFixed(2)}`)
216
+ .join("\n")}\n`
217
+ : "";
218
+ return `${lines}${pictures}`;
219
+ };
220
+ const again = {
221
+ ...(given.length ? { query: given.join(" ") } : {}),
222
+ ...(saved === undefined ? {} : { saved }),
223
+ ...(source === undefined ? {} : { source }),
224
+ ...(regex ? { regex: true } : {}),
225
+ ...(discover ? { discover: true } : {}),
226
+ ...(language === undefined ? {} : { language }),
227
+ ...(exact ? { exact: true } : {}),
228
+ ...(newest ? { newest: true } : {}),
229
+ ...(timezone === undefined ? {} : { timezone }),
230
+ };
231
+ renderAnswer(this, context, messagesAnswer(`search ${kind}`, found, { limit, page: page ?? 1, again }, given.join(" ")), view);
232
+ };
233
+ const withOffset = (page, limit) => {
234
+ const offset = offsetOf(page, limit);
235
+ return offset === undefined ? {} : { offset };
230
236
  };
231
237
  const patternOf = (source) => {
232
238
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"messages-search-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-search-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-search-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-search-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,OAAO,EAAE,OAAO,EAAmB,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAW,CAAA;AAE9F,oHAAoH;AACpH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAoB,EAAE,IAAI,GAAe,UAAU,EAAW,EAAE;IACpG,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAA;IAC5B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE;QAClG,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;KAC3C,CAAC,CAAA;IACF,OAAO;SACJ,WAAW,CACV,IAAI;QACF,CAAC,CAAC,+EAA+E;QACjF,CAAC,CAAC,SAAS,CAAC,YAAY;YACtB,CAAC,CAAC,iLAAiL;YACnL,CAAC,CAAC,iLAAiL,CACxL;SACA,QAAQ,CACP,YAAY,EACZ,IAAI;QACF,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,2JAA2J,CAChK,CAAA;IACH,IAAI,IAAI;QACN,OAAO,CAAC,MAAM,CACZ,qBAAqB,EACrB,mGAAmG;YACjG,6CAA6C,CAChD,CAAA;;QAED,OAAO,CAAC,MAAM,CACZ,qBAAqB,EACrB,2GAA2G;YACzG,2DAA2D,CAC9D,CAAA;IACH,OAAO;SACJ,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;SAC3D,MAAM,CAAC,YAAY,EAAE,2BAA2B,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;SAC1E,MAAM,CAAC,UAAU,EAAE,oCAAoC,CAAC;SACxD,MAAM,CACL,SAAS,EACT,uGAAuG,CACxG;SACA,MAAM,CAAC,eAAe,EAAE,oEAAoE,EAAE,UAAU,CAAC,CAAA;IAC5G,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CACZ,YAAY,EACZ,qHAAqH,CACtH,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,uDAAuD,EAAE,UAAU,CAAC,CAAA;IACnH,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,CAAC,CAAA;IACrF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACvC,IAAI,IAAI;QACN,OAAO,OAAO;aACX,WAAW,CACV,OAAO,EACP;YACI,SAAS,CAAC,GAAG,CAAC,OAAO,6FAA6F,CACvH;aACA,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,OAAO,OAAO;SACX,WAAW,CACV,OAAO,EACP;IACF,SAAS,CAAC,GAAG,CAAC,OAAO;qFAC4D,SAAS,CAAC,GAAG,CAAC,OAAO;0BAChF,SAAS,CAAC,GAAG,CAAC,OAAO;;;IAG3C,SAAS,CAAC,GAAG,CAAC,OAAO;;8FAEqE,CACzF;SACA,MAAM,CAAC,SAAS,EAAE,0FAA0F,CAAC;SAC7G,MAAM,CAAC,mBAAmB,EAAE,0EAA0E,CAAC;SACvG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,SAAoB,EAAE,IAAgB,EAAE,EAAE,CAC9D,KAAK,WAA0B,KAAe;IAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,KAAK,CAAA;IACnB,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,EACJ,KAAK,GACN,GAAG,IAAI,CAAC,IAAI,EAYT,CAAA;IACJ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAC3C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uDAAuD,CAAC,CAAA;IACjG,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK;QAC9B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yDAAyD,CAAC,CAAA;IACnG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAA;IAC5F,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACpD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;KAC3D,CAAA;IACD,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAA;IAClC,MAAM,KAAK,GAAgB,MAAM,OAAO;SACrC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC9D,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9B,IAAI;gBACJ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC7B,GAAG,cAAc,CAAC,IAAI,CAAC;gBACvB,GAAG,aAAa,CAAC,IAAI,CAAC;gBACtB,GAAG,KAAK;gBACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,KAAK;gBACL,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC1B,MAAM;gBACN,QAAQ,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrD,MAAM,EAAE,MAAM,KAAK,IAAI;gBACvB,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3G,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;QAC7B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI;YACJ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;YAC7B,GAAG,cAAc,CAAC,IAAI,CAAC;YACvB,GAAG,aAAa,CAAC,IAAI,CAAC;YACtB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,KAAK;YACL,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;YAC9B,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,EAAE,EAAE;SACV,CAAC,CAAA;IACJ,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,kFAAkF;QAClF,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC;YAAE,MAAM,KAAK,CAAA;QACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IAC3F,CAAC,CAAC,CAAA;IACJ,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,wCAAwC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9G,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QACxG,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnH,CAAC;IACD,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,CAAA;IACjC,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjG,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,MAAM,EAAE,CAAC,CAAA;IAChH,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAA;IACnG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,2BAA2B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,CACrJ,CAAA;IACH,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,QAAQ,CAAC,MAAM,KAAK,UAAU;YAC5B,CAAC,CAAC,4DAA4D,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,eAAe,OAAO,gCAAgC;YACnL,CAAC,CAAC,gHAAgH,CACrH,CAAA;IACH,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,KAAK,CAAC,KAAK;YACT,CAAC,CAAC,2EAA2E,OAAO,8BAA8B;YAClH,CAAC,CAAC,2FAA2F,OAAO,8BAA8B,CACrI,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAA;IACjF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/F,IAAI,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,GAAG,KAAK,mDAAmD,OAAO,mCAAmC,CACtG,CAAA;IACH,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,0IAA0I,CAC3I,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;SAC7B,CAAA;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QACpF,MAAM,KAAK,GAAG,IAAI;aACf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAA;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7D,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,IAAI,GAAG;gBAC3D,CAAC,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACrE,CAAC,CAAC,EAAE,CAAA;YACR,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,OAAO,KAAK,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpL,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAA;QACf,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC7G,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAC3G,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;gBACnC,CAAC,CAAC,+DAA+D;gBACjE,CAAC,CAAC,6DAA6D,CAClE,CAAA;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM;YACrC,CAAC,CAAC,qEAAqE,KAAK,CAAC,QAAQ;iBAChF,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,IAAI;YACnB,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAA;IAC9B,CAAC,CAAA;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAA;IACD,YAAY,CACV,IAAI,EACJ,OAAO,EACP,cAAc,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC3F,IAAI,CACL,CAAA;AACH,CAAC,CAAA;AAEH,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,KAAa,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACpC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wEAAwE,CAAC,CAAA;IAClH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE;IAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uDAAuD,KAAK,GAAG,CAAC,CAAA;IACzG,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAuB,EAAE;IAC/D,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;QAC1C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-send-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-send-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D;;;GAGG;AACH,eAAO,MAAM,SAAS,iDAAiD,CAAA;AAEvE,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,OAuClD,CAAA"}
1
+ {"version":3,"file":"messages-send-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-send-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAK/D;;;GAGG;AACH,eAAO,MAAM,SAAS,iDAAiD,CAAA;AAEvE,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,OAuClD,CAAA"}
@@ -4,7 +4,9 @@ import { Command } from "commander";
4
4
  import { sendTime } from "../../domain/send-time.js";
5
5
  import { typedSendAs } from "../../sends/send-as.js";
6
6
  import { readAttachments } from "../../sends/upload.js";
7
+ import { renderAnswer } from "../envelope.js";
7
8
  import { messengerContext } from "./context.js";
9
+ import { writtenAnswer } from "./message-writes.js";
8
10
  import { readAll } from "./stdin.js";
9
11
  import { threadIdOf } from "./thread.js";
10
12
  /**
@@ -72,29 +74,27 @@ const sendText = async (command, messenger, chat, text) => {
72
74
  if (body.trim() === "" && attachments.length === 0 && sticker === undefined) {
73
75
  throw new CliError("validation_error", "nothing to send — give the text or pipe it in");
74
76
  }
75
- const sent = await context.withServices((services) => services.messages.send({
76
- chat,
77
- text: body,
78
- ...(sendId === undefined ? {} : { sendId }),
79
- ...(replyTo === undefined ? {} : { replyTo }),
80
- ...(commentTo === undefined ? {} : { commentTo }),
81
- ...(threadId === undefined ? {} : { threadId }),
82
- ...(sendAs === undefined ? {} : { sendAs }),
83
- ...(silent === true ? { silent } : {}),
84
- ...(preview === false ? { noPreview: true } : {}),
85
- ...(markdown === true ? { markdown } : {}),
86
- ...(html === true ? { html } : {}),
87
- ...(scheduledFor === undefined ? {} : { at: scheduledFor }),
88
- ...(attachments.length > 0 ? { attachments } : {}),
89
- ...(spoiler === true ? { spoiler } : {}),
90
- ...(captionAbove === true ? { captionAbove } : {}),
91
- ...(sticker === undefined ? {} : { sticker }),
77
+ const { sent, reader } = await context.withServices(async (services) => ({
78
+ sent: await services.messages.send({
79
+ chat,
80
+ text: body,
81
+ ...(sendId === undefined ? {} : { sendId }),
82
+ ...(replyTo === undefined ? {} : { replyTo }),
83
+ ...(commentTo === undefined ? {} : { commentTo }),
84
+ ...(threadId === undefined ? {} : { threadId }),
85
+ ...(sendAs === undefined ? {} : { sendAs }),
86
+ ...(silent === true ? { silent } : {}),
87
+ ...(preview === false ? { noPreview: true } : {}),
88
+ ...(markdown === true ? { markdown } : {}),
89
+ ...(html === true ? { html } : {}),
90
+ ...(scheduledFor === undefined ? {} : { at: scheduledFor }),
91
+ ...(attachments.length > 0 ? { attachments } : {}),
92
+ ...(spoiler === true ? { spoiler } : {}),
93
+ ...(captionAbove === true ? { captionAbove } : {}),
94
+ ...(sticker === undefined ? {} : { sticker }),
95
+ }),
96
+ reader: await services.messages.reader(),
92
97
  }));
93
- if (scheduledFor !== undefined) {
94
- context.renderer.note(`scheduled for ${scheduledFor} — it gets a new id when it is sent`);
95
- context.renderer.result({ sendId: sent.sendId, operationId: sent.operationId, message: sent.message, scheduledFor });
96
- }
97
- else
98
- context.renderer.result({ sendId: sent.sendId, operationId: sent.operationId, message: sent.message });
98
+ renderAnswer(command, context, writtenAnswer({ ...sent, ...(scheduledFor === undefined ? {} : { scheduledFor }) }, reader));
99
99
  };
100
100
  //# sourceMappingURL=messages-send-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-send-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-send-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-send-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-send-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-stats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-stats-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEtE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAK/D,eAAO,MAAM,oBAAoB,cAAe,SAAS,KAAG,OA0GtD,CAAA;AAEN,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,aAI1C,CAAA"}
1
+ {"version":3,"file":"messages-stats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-stats-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGtE,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAM/D,eAAO,MAAM,oBAAoB,cAAe,SAAS,KAAG,OAiGtD,CAAA;AAEN,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,aAI1C,CAAA"}
@@ -1,10 +1,13 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { annotate } from "@wirecat/cli-base/commands";
2
3
  import { Command } from "commander";
4
+ import { renderAnswer } from "../envelope.js";
3
5
  import { positiveCount } from "../paging.js";
4
6
  import { messengerContext } from "./context.js";
5
7
  import { syncOptions, syncRequest } from "./search-sync-options.js";
8
+ import { countsAnswer } from "./stats-answers.js";
6
9
  const GROUPINGS = ["chat", "sender", "day", "hour"];
7
- export const messagesStatsCommand = (messenger) => syncOptions(new Command("show"))
10
+ export const messagesStatsCommand = (messenger) => syncOptions(annotate(new Command("show"), { output: { entity: "message_counts" } }))
8
11
  .description("how many stored messages match, by chat, sender, day or hour — the local store only; optionally fetches new messages with --sync-first")
9
12
  .argument("[query...]", "a strict Lucene query, as for search messages; none counts every stored message; with --saved, more words AND-ed to it")
10
13
  .option("--by <chat|sender|day|hour>", "what to count by (default: chat)", groupingOf)
@@ -56,21 +59,14 @@ export const messagesStatsCommand = (messenger) => syncOptions(new Command("show
56
59
  saved: id,
57
60
  });
58
61
  });
59
- const incomplete = stats.completeness.filter((one) => one.state !== "complete").length;
60
- if (incomplete > 0)
61
- context.renderer.note(`${incomplete} of the chats counted are not held in full, so these are lower bounds — \`${messenger.app.command} messages sync <chat>\` syncs one`);
62
- if (context.format === "pretty") {
62
+ renderAnswer(this, context, countsAnswer(stats), () => {
63
63
  const width = String(Math.max(0, ...stats.items.map(({ count }) => count))).length;
64
- context.streams.data(stats.items
64
+ return `${stats.items
65
65
  .map(({ key, name, count }) => `${String(count).padStart(width)} ${name ? `${name} (${key})` : key}`)
66
- .join("\n"));
66
+ .join("\n")}\n`;
67
+ });
68
+ if (context.format === "pretty")
67
69
  context.renderer.note(`${stats.total} messages${stats.hasMore ? `; more rows than --limit ${limit}` : ""}`);
68
- return;
69
- }
70
- if (context.format === "jsonl")
71
- context.renderer.stream(stats.items);
72
- else
73
- context.renderer.result({ ...stats, page: 1, limit });
74
70
  });
75
71
  export const groupingOf = (value) => {
76
72
  if (!GROUPINGS.includes(value))
@@ -1 +1 @@
1
- {"version":3,"file":"messages-stats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-stats-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-stats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-stats-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,SAAS,GAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAoB,EAAW,EAAE,CACpE,WAAW,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;KACjF,WAAW,CACV,wIAAwI,CACzI;KACA,QAAQ,CACP,YAAY,EACZ,wHAAwH,CACzH;KACA,MAAM,CAAC,6BAA6B,EAAE,kCAAkC,EAAE,UAAU,CAAC;KACrF,MAAM,CAAC,eAAe,EAAE,oDAAoD,SAAS,CAAC,YAAY,EAAE,CAAC;KACrG,MAAM,CACL,qBAAqB,EACrB,yGAAyG,CAC1G;KACA,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,CAAC;KAC5E,MAAM,CACL,SAAS,EACT,uGAAuG,CACxG;KACA,MAAM,CACL,mBAAmB,EACnB,yFAAyF,CAC1F;KACA,WAAW,CACV,OAAO,EACP,+FAA+F,CAChG;KACA,MAAM,CAAC,KAAK,WAA0B,KAAe;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,EAAE,UAAU,EACjB,KAAK,GACN,GAAG,IAAI,CAAC,IAAI,EAQT,CAAA;IACJ,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;KAC3D,CAAA;IACD,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC1D,IAAI,KAAK,KAAK,SAAS;YACrB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC7B,GAAG,OAAO;gBACV,GAAG,KAAK;gBACR,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,EAAE,EAAE,EAAE,IAAI,MAAM;gBAChB,KAAK;gBACL,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;QACJ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClG,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAC9C,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,+EAA+E,CAChF,CAAA;QACH,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;QAC7B,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,GAAG,OAAO;YACV,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM;YACvB,KAAK;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,EAAE;SACV,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAClF,OAAO,GAAG,KAAK,CAAC,KAAK;aAClB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACrG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC/G,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAiB,EAAE;IACzD,IAAI,CAAE,SAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9E,OAAO,KAAsB,CAAA;AAC/B,CAAC,CAAA"}
@@ -1,9 +1,4 @@
1
1
  import { Command } from "commander";
2
2
  import type { Messenger } from "./context.js";
3
- /**
4
- * Models that run on this machine, by what they work on; `audio` is the speech models behind
5
- * `messages transcribe --local`, `text` the embedding models behind `conversations embed`. Nothing here talks to the messenger. The folder is shared by every
6
- * messenger CLI, so a model downloaded once serves them all.
7
- */
8
3
  export declare const modelsCommand: (messenger: Messenger) => Command;
9
4
  //# sourceMappingURL=models-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/models-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA2B3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,OAyNpD,CAAA"}
1
+ {"version":3,"file":"models-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/models-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA8B3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAiB7C,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,OAmOpD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { annotate } from "@wirecat/cli-base/commands";
2
3
  import { Command, Option } from "commander";
3
4
  import { isTextModelInstalled, placedText, textModelsDirectory } from "../../embeddings/embed.js";
4
5
  import { DEFAULT_TEXT_MODEL, TEXT_MODELS, textModel } from "../../embeddings/models.js";
@@ -9,17 +10,16 @@ import { choose } from "../../speech/transcribe.js";
9
10
  import { readSecret } from "../../terminal/prompt.js";
10
11
  import { baseContext, environmentOf } from "../context.js";
11
12
  import { embeddingKeys } from "../embedding-keys.js";
12
- import { listed } from "../paging.js";
13
- /**
14
- * Models that run on this machine, by what they work on; `audio` is the speech models behind
15
- * `messages transcribe --local`, `text` the embedding models behind `conversations embed`. Nothing here talks to the messenger. The folder is shared by every
16
- * messenger CLI, so a model downloaded once serves them all.
17
- */
13
+ import { listOf, renderAnswer } from "../envelope.js";
14
+ import { nextStep } from "../steps.js";
15
+ /** Every model this version knows: a short, fixed list, never paged. */
16
+ const everyModel = (command, items, next = []) => listOf(command, { items, limit: Math.max(1, items.length), has_more: false, next });
17
+ const modelLine = (item, width) => `${item.default ? "*" : " "} ${item.id.padEnd(width)} ${megabytes(item.size_bytes).padStart(7)} ` +
18
+ (item.downloaded ? "downloaded" : "—".padEnd(10));
18
19
  export const modelsCommand = (messenger) => {
19
20
  const models = new Command("models").description("models that run on this machine");
20
21
  const audio = models.command("audio").description("speech models for transcribing voice messages");
21
- audio
22
- .command("list")
22
+ annotate(audio.command("list"), { output: { entity: "model" } })
23
23
  .description("the speech models, most suitable first, which are downloaded, and which one is the default")
24
24
  .action(async function () {
25
25
  const context = baseContext(this, messenger.resolveSettings);
@@ -28,20 +28,16 @@ export const modelsCommand = (messenger) => {
28
28
  const chosen = choose(messenger, context.settings, {}, context.env).model.id;
29
29
  const items = orderedModels(messenger.speechModels).map((model) => ({
30
30
  id: model.id,
31
+ kind: "audio",
31
32
  title: model.title,
32
33
  languages: model.languages,
33
- size: megabytes(installedBytes(model)),
34
+ size_bytes: installedBytes(model),
34
35
  downloaded: isInstalled(model, directory),
35
36
  default: model.id === chosen,
36
37
  }));
37
- if (context.format === "pretty") {
38
- const line = (item) => `${item.default ? "*" : " "} ${item.id.padEnd(14)} ${item.size.padStart(7)} ${item.downloaded ? "downloaded" : "—".padEnd(10)} ${item.languages}`;
39
- context.streams.data(`${items.map(line).join("\n")}\n`);
40
- }
41
- else if (context.format === "jsonl")
42
- context.renderer.stream(items);
43
- else
44
- context.renderer.result({ ...listed(items), directory });
38
+ renderAnswer(this, context, everyModel("models audio list", items), () => items.map((item) => `${modelLine(item, 14)} ${item.languages}\n`).join(""));
39
+ if (context.format === "pretty")
40
+ context.renderer.note(`kept in ${directory}`);
45
41
  });
46
42
  });
47
43
  audio
@@ -72,8 +68,7 @@ export const modelsCommand = (messenger) => {
72
68
  }, { unbounded: true });
73
69
  });
74
70
  const text = models.command("text").description("embedding models for searching conversations by meaning");
75
- text
76
- .command("list")
71
+ annotate(text.command("list"), { output: { entity: "model" } })
77
72
  .description("the embedding models, most suitable first, which are downloaded, and which one is the default")
78
73
  .action(async function () {
79
74
  const context = baseContext(this, messenger.resolveSettings);
@@ -81,21 +76,18 @@ export const modelsCommand = (messenger) => {
81
76
  const directory = textModelsDirectory(context.env);
82
77
  const items = TEXT_MODELS.map((model) => ({
83
78
  id: model.id,
79
+ kind: "text",
84
80
  title: model.title,
85
81
  languages: model.languages,
86
82
  licence: model.licence,
87
- size: megabytes(model.files.reduce((sum, file) => sum + file.bytes, 0)),
83
+ size_bytes: model.files.reduce((sum, file) => sum + file.bytes, 0),
88
84
  downloaded: isTextModelInstalled(model, directory),
89
85
  default: model.id === DEFAULT_TEXT_MODEL,
90
86
  }));
91
- if (context.format === "pretty") {
92
- const line = (item) => `${item.default ? "*" : " "} ${item.id.padEnd(16)} ${item.size.padStart(7)} ${item.downloaded ? "downloaded" : "—".padEnd(10)} ${item.licence}`;
93
- context.streams.data(`${items.map(line).join("\n")}\n`);
94
- }
95
- else if (context.format === "jsonl")
96
- context.renderer.stream(items);
97
- else
98
- context.renderer.result({ ...listed(items), directory });
87
+ const missing = items.find((item) => item.default && !item.downloaded);
88
+ renderAnswer(this, context, everyModel("models text list", items, missing ? [nextStep("models.download", { args: { model: missing.id } })] : []), () => items.map((item) => `${modelLine(item, 16)} ${item.licence}\n`).join(""));
89
+ if (context.format === "pretty")
90
+ context.renderer.note(`kept in ${directory}`);
99
91
  });
100
92
  });
101
93
  text
@@ -132,8 +124,7 @@ export const modelsCommand = (messenger) => {
132
124
  const image = models
133
125
  .command("image")
134
126
  .description("models that read pictures, for `images embed` and search by what a picture shows");
135
- image
136
- .command("list")
127
+ annotate(image.command("list"), { output: { entity: "model" } })
137
128
  .description("the picture models, which are downloaded, and which one is the default")
138
129
  .action(async function () {
139
130
  const context = baseContext(this, messenger.resolveSettings);
@@ -141,21 +132,18 @@ export const modelsCommand = (messenger) => {
141
132
  const directory = imageModelsDirectory(context.env);
142
133
  const items = IMAGE_MODELS.map((model) => ({
143
134
  id: model.id,
135
+ kind: "image",
144
136
  title: model.title,
145
137
  languages: model.languages,
146
138
  licence: model.licence,
147
- size: megabytes(model.files.reduce((sum, file) => sum + file.bytes, 0)),
139
+ size_bytes: model.files.reduce((sum, file) => sum + file.bytes, 0),
148
140
  downloaded: isImageModelInstalled(model, directory),
149
141
  default: model.id === DEFAULT_IMAGE_MODEL,
150
142
  }));
151
- if (context.format === "pretty") {
152
- const line = (item) => `${item.default ? "*" : " "} ${item.id.padEnd(16)} ${item.size.padStart(7)} ${item.downloaded ? "downloaded" : "—".padEnd(10)} ${item.licence} ${item.languages}`;
153
- context.streams.data(`${items.map(line).join("\n")}\n`);
154
- }
155
- else if (context.format === "jsonl")
156
- context.renderer.stream(items);
157
- else
158
- context.renderer.result({ ...listed(items), directory });
143
+ const missing = items.find((item) => item.default && !item.downloaded);
144
+ renderAnswer(this, context, everyModel("models image list", items, missing ? [nextStep("models.download-image", { args: { model: missing.id } })] : []), () => items.map((item) => `${modelLine(item, 16)} ${item.licence} ${item.languages}\n`).join(""));
145
+ if (context.format === "pretty")
146
+ context.renderer.note(`kept in ${directory}`);
159
147
  });
160
148
  });
161
149
  image