@wirecat/cli-core 0.279.0 → 0.281.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 (502) hide show
  1. package/dist/background/schedules.d.ts +1 -1
  2. package/dist/background/schedules.d.ts.map +1 -1
  3. package/dist/background/schedules.js +3 -1
  4. package/dist/background/schedules.js.map +1 -1
  5. package/dist/cli/app.d.ts +2 -0
  6. package/dist/cli/app.d.ts.map +1 -1
  7. package/dist/cli/app.js +6 -0
  8. package/dist/cli/app.js.map +1 -1
  9. package/dist/cli/author.d.ts +6 -0
  10. package/dist/cli/author.d.ts.map +1 -1
  11. package/dist/cli/author.js +12 -0
  12. package/dist/cli/author.js.map +1 -1
  13. package/dist/cli/bot/command.js +6 -6
  14. package/dist/cli/bot/command.js.map +1 -1
  15. package/dist/cli/bot/moderation.js +3 -3
  16. package/dist/cli/bot/moderation.js.map +1 -1
  17. package/dist/cli/bot/people.d.ts.map +1 -1
  18. package/dist/cli/bot/people.js +6 -8
  19. package/dist/cli/bot/people.js.map +1 -1
  20. package/dist/cli/config-command.d.ts.map +1 -1
  21. package/dist/cli/config-command.js +10 -6
  22. package/dist/cli/config-command.js.map +1 -1
  23. package/dist/cli/effects.d.ts +7 -0
  24. package/dist/cli/effects.d.ts.map +1 -1
  25. package/dist/cli/effects.js +11 -0
  26. package/dist/cli/effects.js.map +1 -1
  27. package/dist/cli/envelope.d.ts +6 -1
  28. package/dist/cli/envelope.d.ts.map +1 -1
  29. package/dist/cli/envelope.js +22 -8
  30. package/dist/cli/envelope.js.map +1 -1
  31. package/dist/cli/index.d.ts +5 -4
  32. package/dist/cli/index.d.ts.map +1 -1
  33. package/dist/cli/index.js +5 -4
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/meeting-preparation-command.d.ts.map +1 -1
  36. package/dist/cli/meeting-preparation-command.js +13 -8
  37. package/dist/cli/meeting-preparation-command.js.map +1 -1
  38. package/dist/cli/messenger/admin-moderation-command.js +3 -3
  39. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  40. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  41. package/dist/cli/messenger/conversations-command.js +0 -3
  42. package/dist/cli/messenger/conversations-command.js.map +1 -1
  43. package/dist/cli/messenger/download-command.d.ts +15 -0
  44. package/dist/cli/messenger/download-command.d.ts.map +1 -1
  45. package/dist/cli/messenger/download-command.js +4 -6
  46. package/dist/cli/messenger/download-command.js.map +1 -1
  47. package/dist/cli/messenger/export-folder.d.ts.map +1 -1
  48. package/dist/cli/messenger/export-folder.js +3 -7
  49. package/dist/cli/messenger/export-folder.js.map +1 -1
  50. package/dist/cli/messenger/flood-command.js +2 -2
  51. package/dist/cli/messenger/flood-command.js.map +1 -1
  52. package/dist/cli/messenger/guard-commands.js +4 -4
  53. package/dist/cli/messenger/guard-commands.js.map +1 -1
  54. package/dist/cli/messenger/mcp-command.js +2 -2
  55. package/dist/cli/messenger/mcp-command.js.map +1 -1
  56. package/dist/cli/messenger/messages-search-command.d.ts +0 -1
  57. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  58. package/dist/cli/messenger/messages-search-command.js +6 -31
  59. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  60. package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
  61. package/dist/cli/messenger/messages-stats-command.js +0 -4
  62. package/dist/cli/messenger/messages-stats-command.js.map +1 -1
  63. package/dist/cli/messenger/models-command.js +3 -3
  64. package/dist/cli/messenger/models-command.js.map +1 -1
  65. package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
  66. package/dist/cli/messenger/rankings-command.js +2 -3
  67. package/dist/cli/messenger/rankings-command.js.map +1 -1
  68. package/dist/cli/messenger/replies-command.js +3 -3
  69. package/dist/cli/messenger/replies-command.js.map +1 -1
  70. package/dist/cli/messenger/replies-consents-command.js +3 -3
  71. package/dist/cli/messenger/replies-consents-command.js.map +1 -1
  72. package/dist/cli/messenger/replies-edit-command.js +5 -5
  73. package/dist/cli/messenger/replies-edit-command.js.map +1 -1
  74. package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
  75. package/dist/cli/messenger/schedule-command.js +8 -4
  76. package/dist/cli/messenger/schedule-command.js.map +1 -1
  77. package/dist/cli/messenger/search-answers.js +1 -1
  78. package/dist/cli/messenger/search-answers.js.map +1 -1
  79. package/dist/cli/messenger/searches-command.d.ts.map +1 -1
  80. package/dist/cli/messenger/searches-command.js +1 -4
  81. package/dist/cli/messenger/searches-command.js.map +1 -1
  82. package/dist/cli/messenger/server-command.js +3 -3
  83. package/dist/cli/messenger/server-command.js.map +1 -1
  84. package/dist/cli/messenger/tags-command.d.ts.map +1 -1
  85. package/dist/cli/messenger/tags-command.js +10 -7
  86. package/dist/cli/messenger/tags-command.js.map +1 -1
  87. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  88. package/dist/cli/messenger/tasks-command.js +56 -10
  89. package/dist/cli/messenger/tasks-command.js.map +1 -1
  90. package/dist/cli/program.d.ts.map +1 -1
  91. package/dist/cli/program.js +6 -2
  92. package/dist/cli/program.js.map +1 -1
  93. package/dist/cli/reasons.d.ts.map +1 -1
  94. package/dist/cli/reasons.js +2 -0
  95. package/dist/cli/reasons.js.map +1 -1
  96. package/dist/cli/settings.d.ts.map +1 -1
  97. package/dist/cli/settings.js +2 -3
  98. package/dist/cli/settings.js.map +1 -1
  99. package/dist/cli/skill-command.d.ts.map +1 -1
  100. package/dist/cli/skill-command.js +8 -3
  101. package/dist/cli/skill-command.js.map +1 -1
  102. package/dist/cli/store-settings.js +4 -4
  103. package/dist/cli/store-settings.js.map +1 -1
  104. package/dist/cli/upgrade-command.js +2 -2
  105. package/dist/cli/upgrade-command.js.map +1 -1
  106. package/dist/domain/tags.d.ts +1 -1
  107. package/dist/domain/tags.d.ts.map +1 -1
  108. package/dist/domain/tags.js +1 -1
  109. package/dist/domain/tags.js.map +1 -1
  110. package/dist/entities/agenda.d.ts +4 -0
  111. package/dist/entities/agenda.d.ts.map +1 -1
  112. package/dist/entities/agenda.js +4 -0
  113. package/dist/entities/agenda.js.map +1 -1
  114. package/dist/entities/hit.d.ts +1 -1
  115. package/dist/entities/hit.js +1 -1
  116. package/dist/entities/hit.js.map +1 -1
  117. package/dist/entities/index.d.ts +55 -15
  118. package/dist/entities/index.d.ts.map +1 -1
  119. package/dist/entities/note.d.ts +17 -1
  120. package/dist/entities/note.d.ts.map +1 -1
  121. package/dist/entities/note.js +19 -8
  122. package/dist/entities/note.js.map +1 -1
  123. package/dist/entities/tagging.d.ts +1 -1
  124. package/dist/entities/task.d.ts +7 -0
  125. package/dist/entities/task.d.ts.map +1 -1
  126. package/dist/entities/task.js +7 -0
  127. package/dist/entities/task.js.map +1 -1
  128. package/dist/mcp/tools/messages-send.d.ts.map +1 -1
  129. package/dist/mcp/tools/messages-send.js +3 -2
  130. package/dist/mcp/tools/messages-send.js.map +1 -1
  131. package/dist/mcp/tools/rankings.d.ts.map +1 -1
  132. package/dist/mcp/tools/rankings.js +2 -3
  133. package/dist/mcp/tools/rankings.js.map +1 -1
  134. package/dist/mcp/tools/search.d.ts +2 -3
  135. package/dist/mcp/tools/search.d.ts.map +1 -1
  136. package/dist/mcp/tools/search.js +4 -11
  137. package/dist/mcp/tools/search.js.map +1 -1
  138. package/dist/mcp/tools/searches.d.ts.map +1 -1
  139. package/dist/mcp/tools/searches.js +1 -3
  140. package/dist/mcp/tools/searches.js.map +1 -1
  141. package/dist/mcp/tools/tags.d.ts.map +1 -1
  142. package/dist/mcp/tools/tags.js +9 -7
  143. package/dist/mcp/tools/tags.js.map +1 -1
  144. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  145. package/dist/mcp/tools/tasks.js +19 -6
  146. package/dist/mcp/tools/tasks.js.map +1 -1
  147. package/dist/search/account-list.d.ts +3 -1
  148. package/dist/search/account-list.d.ts.map +1 -1
  149. package/dist/search/account-list.js +4 -2
  150. package/dist/search/account-list.js.map +1 -1
  151. package/dist/search/lucene/registry.d.ts +1 -1
  152. package/dist/search/lucene/registry.d.ts.map +1 -1
  153. package/dist/search/lucene/registry.js +2 -2
  154. package/dist/search/lucene/registry.js.map +1 -1
  155. package/dist/search/query.d.ts +0 -28
  156. package/dist/search/query.d.ts.map +1 -1
  157. package/dist/search/query.js +0 -100
  158. package/dist/search/query.js.map +1 -1
  159. package/dist/search/task-signature.d.ts +19 -0
  160. package/dist/search/task-signature.d.ts.map +1 -0
  161. package/dist/search/task-signature.js +105 -0
  162. package/dist/search/task-signature.js.map +1 -0
  163. package/dist/search/task-similarity.d.ts +168 -0
  164. package/dist/search/task-similarity.d.ts.map +1 -0
  165. package/dist/search/task-similarity.js +177 -0
  166. package/dist/search/task-similarity.js.map +1 -0
  167. package/dist/sends/index.d.ts +1 -1
  168. package/dist/sends/index.d.ts.map +1 -1
  169. package/dist/sends/index.js +1 -1
  170. package/dist/sends/index.js.map +1 -1
  171. package/dist/sends/permissions.d.ts.map +1 -1
  172. package/dist/sends/permissions.js +2 -0
  173. package/dist/sends/permissions.js.map +1 -1
  174. package/dist/sends/upload.d.ts +1 -1
  175. package/dist/sends/upload.d.ts.map +1 -1
  176. package/dist/sends/upload.js +87 -15
  177. package/dist/sends/upload.js.map +1 -1
  178. package/dist/services/admin-statistics.d.ts.map +1 -1
  179. package/dist/services/admin-statistics.js +5 -12
  180. package/dist/services/admin-statistics.js.map +1 -1
  181. package/dist/services/agenda.d.ts +5 -1
  182. package/dist/services/agenda.d.ts.map +1 -1
  183. package/dist/services/agenda.js +8 -1
  184. package/dist/services/agenda.js.map +1 -1
  185. package/dist/services/attachments.d.ts.map +1 -1
  186. package/dist/services/attachments.js +1 -1
  187. package/dist/services/attachments.js.map +1 -1
  188. package/dist/services/counters.d.ts.map +1 -1
  189. package/dist/services/counters.js +4 -8
  190. package/dist/services/counters.js.map +1 -1
  191. package/dist/services/embeddings-maintenance.d.ts +4 -6
  192. package/dist/services/embeddings-maintenance.d.ts.map +1 -1
  193. package/dist/services/embeddings-maintenance.js +14 -15
  194. package/dist/services/embeddings-maintenance.js.map +1 -1
  195. package/dist/services/embeddings-search.d.ts.map +1 -1
  196. package/dist/services/embeddings-search.js +1 -6
  197. package/dist/services/embeddings-search.js.map +1 -1
  198. package/dist/services/embeddings.d.ts +0 -2
  199. package/dist/services/embeddings.d.ts.map +1 -1
  200. package/dist/services/embeddings.js.map +1 -1
  201. package/dist/services/index.d.ts +0 -1
  202. package/dist/services/index.d.ts.map +1 -1
  203. package/dist/services/index.js +0 -1
  204. package/dist/services/index.js.map +1 -1
  205. package/dist/services/message-resolution.d.ts +1 -10
  206. package/dist/services/message-resolution.d.ts.map +1 -1
  207. package/dist/services/message-resolution.js +0 -59
  208. package/dist/services/message-resolution.js.map +1 -1
  209. package/dist/services/messages-archive-search.d.ts +1 -1
  210. package/dist/services/messages-archive-search.d.ts.map +1 -1
  211. package/dist/services/messages-archive-search.js +4 -50
  212. package/dist/services/messages-archive-search.js.map +1 -1
  213. package/dist/services/messages-combined.d.ts.map +1 -1
  214. package/dist/services/messages-combined.js +1 -5
  215. package/dist/services/messages-combined.js.map +1 -1
  216. package/dist/services/messages-discovery.js +1 -1
  217. package/dist/services/messages-discovery.js.map +1 -1
  218. package/dist/services/messages-search.d.ts.map +1 -1
  219. package/dist/services/messages-search.js +2 -6
  220. package/dist/services/messages-search.js.map +1 -1
  221. package/dist/services/messages.d.ts +2 -6
  222. package/dist/services/messages.d.ts.map +1 -1
  223. package/dist/services/messages.js +8 -20
  224. package/dist/services/messages.js.map +1 -1
  225. package/dist/services/notes-search.d.ts +1 -1
  226. package/dist/services/notes-search.d.ts.map +1 -1
  227. package/dist/services/notes-search.js +24 -8
  228. package/dist/services/notes-search.js.map +1 -1
  229. package/dist/services/notes-title-tier.d.ts +13 -0
  230. package/dist/services/notes-title-tier.d.ts.map +1 -0
  231. package/dist/services/notes-title-tier.js +41 -0
  232. package/dist/services/notes-title-tier.js.map +1 -0
  233. package/dist/services/pictures.js +1 -1
  234. package/dist/services/pictures.js.map +1 -1
  235. package/dist/services/rankings.d.ts.map +1 -1
  236. package/dist/services/rankings.js +5 -11
  237. package/dist/services/rankings.js.map +1 -1
  238. package/dist/services/retention.d.ts.map +1 -1
  239. package/dist/services/retention.js +1 -4
  240. package/dist/services/retention.js.map +1 -1
  241. package/dist/services/search-all.d.ts +1 -1
  242. package/dist/services/search-all.d.ts.map +1 -1
  243. package/dist/services/search-all.js +0 -1
  244. package/dist/services/search-all.js.map +1 -1
  245. package/dist/services/search-catchup.d.ts.map +1 -1
  246. package/dist/services/search-catchup.js +0 -1
  247. package/dist/services/search-catchup.js.map +1 -1
  248. package/dist/services/search-record.d.ts +0 -4
  249. package/dist/services/search-record.d.ts.map +1 -1
  250. package/dist/services/search-record.js +2 -3
  251. package/dist/services/search-record.js.map +1 -1
  252. package/dist/services/search-refresh.d.ts.map +1 -1
  253. package/dist/services/search-refresh.js +3 -9
  254. package/dist/services/search-refresh.js.map +1 -1
  255. package/dist/services/searches.d.ts +0 -1
  256. package/dist/services/searches.d.ts.map +1 -1
  257. package/dist/services/searches.js +13 -35
  258. package/dist/services/searches.js.map +1 -1
  259. package/dist/services/server-search.d.ts +1 -1
  260. package/dist/services/server-search.d.ts.map +1 -1
  261. package/dist/services/server-search.js +0 -3
  262. package/dist/services/server-search.js.map +1 -1
  263. package/dist/services/tags.d.ts +3 -0
  264. package/dist/services/tags.d.ts.map +1 -1
  265. package/dist/services/tags.js +13 -5
  266. package/dist/services/tags.js.map +1 -1
  267. package/dist/services/task-categories.d.ts +17 -0
  268. package/dist/services/task-categories.d.ts.map +1 -0
  269. package/dist/services/task-categories.js +113 -0
  270. package/dist/services/task-categories.js.map +1 -0
  271. package/dist/services/task-rules.d.ts.map +1 -1
  272. package/dist/services/task-rules.js +3 -0
  273. package/dist/services/task-rules.js.map +1 -1
  274. package/dist/services/tasks.d.ts +14 -3
  275. package/dist/services/tasks.d.ts.map +1 -1
  276. package/dist/services/tasks.js +58 -6
  277. package/dist/services/tasks.js.map +1 -1
  278. package/dist/services/thread-context.d.ts +1 -1
  279. package/dist/services/thread-context.d.ts.map +1 -1
  280. package/dist/services/thread-context.js +3 -9
  281. package/dist/services/thread-context.js.map +1 -1
  282. package/dist/store/index.d.ts +1 -1
  283. package/dist/store/index.d.ts.map +1 -1
  284. package/dist/store/index.js.map +1 -1
  285. package/dist/store/migrations.d.ts +2 -1
  286. package/dist/store/migrations.d.ts.map +1 -1
  287. package/dist/store/migrations.js +5 -2
  288. package/dist/store/migrations.js.map +1 -1
  289. package/dist/store/sqlite/attachment-texts.js +2 -2
  290. package/dist/store/sqlite/attachment-texts.js.map +1 -1
  291. package/dist/store/sqlite/backfill.d.ts.map +1 -1
  292. package/dist/store/sqlite/backfill.js +6 -11
  293. package/dist/store/sqlite/backfill.js.map +1 -1
  294. package/dist/store/sqlite/catalog.d.ts.map +1 -1
  295. package/dist/store/sqlite/catalog.js +3 -3
  296. package/dist/store/sqlite/catalog.js.map +1 -1
  297. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  298. package/dist/store/sqlite/conversations.js +3 -8
  299. package/dist/store/sqlite/conversations.js.map +1 -1
  300. package/dist/store/sqlite/document-pictures.d.ts.map +1 -1
  301. package/dist/store/sqlite/document-pictures.js +3 -3
  302. package/dist/store/sqlite/document-pictures.js.map +1 -1
  303. package/dist/store/sqlite/email-index.js +4 -4
  304. package/dist/store/sqlite/email-index.js.map +1 -1
  305. package/dist/store/sqlite/emails.js +5 -5
  306. package/dist/store/sqlite/emails.js.map +1 -1
  307. package/dist/store/sqlite/facts.d.ts.map +1 -1
  308. package/dist/store/sqlite/facts.js +3 -3
  309. package/dist/store/sqlite/facts.js.map +1 -1
  310. package/dist/store/sqlite/folded.d.ts.map +1 -1
  311. package/dist/store/sqlite/folded.js +7 -12
  312. package/dist/store/sqlite/folded.js.map +1 -1
  313. package/dist/store/sqlite/index-state.d.ts +4 -0
  314. package/dist/store/sqlite/index-state.d.ts.map +1 -0
  315. package/dist/store/sqlite/index-state.js +8 -0
  316. package/dist/store/sqlite/index-state.js.map +1 -0
  317. package/dist/store/sqlite/involvement-queue.d.ts +1 -1
  318. package/dist/store/sqlite/involvement-queue.js +1 -1
  319. package/dist/store/sqlite/involvements.js +3 -3
  320. package/dist/store/sqlite/involvements.js.map +1 -1
  321. package/dist/store/sqlite/knowledge.d.ts.map +1 -1
  322. package/dist/store/sqlite/knowledge.js +15 -10
  323. package/dist/store/sqlite/knowledge.js.map +1 -1
  324. package/dist/store/sqlite/log-pruning.d.ts.map +1 -1
  325. package/dist/store/sqlite/log-pruning.js +3 -8
  326. package/dist/store/sqlite/log-pruning.js.map +1 -1
  327. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  328. package/dist/store/sqlite/lucene.js +3 -8
  329. package/dist/store/sqlite/lucene.js.map +1 -1
  330. package/dist/store/sqlite/mail-rules.js +3 -3
  331. package/dist/store/sqlite/mail-rules.js.map +1 -1
  332. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  333. package/dist/store/sqlite/manifest.js +1 -0
  334. package/dist/store/sqlite/manifest.js.map +1 -1
  335. package/dist/store/sqlite/meeting-context-links.d.ts.map +1 -1
  336. package/dist/store/sqlite/meeting-context-links.js +8 -7
  337. package/dist/store/sqlite/meeting-context-links.js.map +1 -1
  338. package/dist/store/sqlite/meeting-hit-index.d.ts.map +1 -1
  339. package/dist/store/sqlite/meeting-hit-index.js +4 -3
  340. package/dist/store/sqlite/meeting-hit-index.js.map +1 -1
  341. package/dist/store/sqlite/meeting-hit-search.d.ts.map +1 -1
  342. package/dist/store/sqlite/meeting-hit-search.js +3 -2
  343. package/dist/store/sqlite/meeting-hit-search.js.map +1 -1
  344. package/dist/store/sqlite/meeting-operation.d.ts +0 -2
  345. package/dist/store/sqlite/meeting-operation.d.ts.map +1 -1
  346. package/dist/store/sqlite/meeting-operation.js +0 -15
  347. package/dist/store/sqlite/meeting-operation.js.map +1 -1
  348. package/dist/store/sqlite/meeting-participant-search.d.ts.map +1 -1
  349. package/dist/store/sqlite/meeting-participant-search.js +2 -2
  350. package/dist/store/sqlite/meeting-participant-search.js.map +1 -1
  351. package/dist/store/sqlite/meeting-preparation-context.d.ts.map +1 -1
  352. package/dist/store/sqlite/meeting-preparation-context.js +2 -2
  353. package/dist/store/sqlite/meeting-preparation-context.js.map +1 -1
  354. package/dist/store/sqlite/meeting-projects.d.ts.map +1 -1
  355. package/dist/store/sqlite/meeting-projects.js +2 -2
  356. package/dist/store/sqlite/meeting-projects.js.map +1 -1
  357. package/dist/store/sqlite/meeting-reads.d.ts +0 -3
  358. package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
  359. package/dist/store/sqlite/meeting-reads.js +6 -18
  360. package/dist/store/sqlite/meeting-reads.js.map +1 -1
  361. package/dist/store/sqlite/meeting-series-history.d.ts.map +1 -1
  362. package/dist/store/sqlite/meeting-series-history.js +2 -2
  363. package/dist/store/sqlite/meeting-series-history.js.map +1 -1
  364. package/dist/store/sqlite/meeting-vectors.d.ts.map +1 -1
  365. package/dist/store/sqlite/meeting-vectors.js +6 -6
  366. package/dist/store/sqlite/meeting-vectors.js.map +1 -1
  367. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  368. package/dist/store/sqlite/meetings.js +6 -6
  369. package/dist/store/sqlite/meetings.js.map +1 -1
  370. package/dist/store/sqlite/memories.d.ts.map +1 -1
  371. package/dist/store/sqlite/memories.js +2 -2
  372. package/dist/store/sqlite/memories.js.map +1 -1
  373. package/dist/store/sqlite/mention-drain.d.ts +39 -0
  374. package/dist/store/sqlite/mention-drain.d.ts.map +1 -0
  375. package/dist/store/sqlite/mention-drain.js +147 -0
  376. package/dist/store/sqlite/mention-drain.js.map +1 -0
  377. package/dist/store/sqlite/mentions.d.ts +0 -4
  378. package/dist/store/sqlite/mentions.d.ts.map +1 -1
  379. package/dist/store/sqlite/mentions.js +7 -154
  380. package/dist/store/sqlite/mentions.js.map +1 -1
  381. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  382. package/dist/store/sqlite/migrations.generated.js +9 -0
  383. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  384. package/dist/store/sqlite/note-index.d.ts.map +1 -1
  385. package/dist/store/sqlite/note-index.js +5 -4
  386. package/dist/store/sqlite/note-index.js.map +1 -1
  387. package/dist/store/sqlite/note-search.d.ts.map +1 -1
  388. package/dist/store/sqlite/note-search.js +3 -6
  389. package/dist/store/sqlite/note-search.js.map +1 -1
  390. package/dist/store/sqlite/notes.d.ts.map +1 -1
  391. package/dist/store/sqlite/notes.js +13 -14
  392. package/dist/store/sqlite/notes.js.map +1 -1
  393. package/dist/store/sqlite/proposed-actions.d.ts.map +1 -1
  394. package/dist/store/sqlite/proposed-actions.js +3 -3
  395. package/dist/store/sqlite/proposed-actions.js.map +1 -1
  396. package/dist/store/sqlite/schema.d.ts +87 -0
  397. package/dist/store/sqlite/schema.d.ts.map +1 -1
  398. package/dist/store/sqlite/schema.js +7 -0
  399. package/dist/store/sqlite/schema.js.map +1 -1
  400. package/dist/store/sqlite/search-index.d.ts +0 -3
  401. package/dist/store/sqlite/search-index.d.ts.map +1 -1
  402. package/dist/store/sqlite/search-index.js +10 -29
  403. package/dist/store/sqlite/search-index.js.map +1 -1
  404. package/dist/store/sqlite/search.d.ts +1 -1
  405. package/dist/store/sqlite/search.d.ts.map +1 -1
  406. package/dist/store/sqlite/search.js +4 -8
  407. package/dist/store/sqlite/search.js.map +1 -1
  408. package/dist/store/sqlite/searches.d.ts +1 -1
  409. package/dist/store/sqlite/searches.d.ts.map +1 -1
  410. package/dist/store/sqlite/stems-fill.d.ts +30 -0
  411. package/dist/store/sqlite/stems-fill.d.ts.map +1 -0
  412. package/dist/store/sqlite/stems-fill.js +119 -0
  413. package/dist/store/sqlite/stems-fill.js.map +1 -0
  414. package/dist/store/sqlite/stems.d.ts +14 -28
  415. package/dist/store/sqlite/stems.d.ts.map +1 -1
  416. package/dist/store/sqlite/stems.js +8 -123
  417. package/dist/store/sqlite/stems.js.map +1 -1
  418. package/dist/store/sqlite/tags.d.ts +10 -2
  419. package/dist/store/sqlite/tags.d.ts.map +1 -1
  420. package/dist/store/sqlite/tags.js +25 -7
  421. package/dist/store/sqlite/tags.js.map +1 -1
  422. package/dist/store/sqlite/task-keys.d.ts +16 -0
  423. package/dist/store/sqlite/task-keys.d.ts.map +1 -0
  424. package/dist/store/sqlite/task-keys.js +40 -0
  425. package/dist/store/sqlite/task-keys.js.map +1 -0
  426. package/dist/store/sqlite/task-relations.d.ts +1 -1
  427. package/dist/store/sqlite/task-relations.d.ts.map +1 -1
  428. package/dist/store/sqlite/task-relations.js +14 -9
  429. package/dist/store/sqlite/task-relations.js.map +1 -1
  430. package/dist/store/sqlite/tasks.d.ts +1 -7
  431. package/dist/store/sqlite/tasks.d.ts.map +1 -1
  432. package/dist/store/sqlite/tasks.js +23 -28
  433. package/dist/store/sqlite/tasks.js.map +1 -1
  434. package/dist/store/sqlite/transaction.d.ts +19 -0
  435. package/dist/store/sqlite/transaction.d.ts.map +1 -0
  436. package/dist/store/sqlite/transaction.js +77 -0
  437. package/dist/store/sqlite/transaction.js.map +1 -0
  438. package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
  439. package/dist/store/sqlite/vocabulary.js +6 -18
  440. package/dist/store/sqlite/vocabulary.js.map +1 -1
  441. package/dist/store/sqlite/words.d.ts +1 -61
  442. package/dist/store/sqlite/words.d.ts.map +1 -1
  443. package/dist/store/sqlite/words.js +0 -225
  444. package/dist/store/sqlite/words.js.map +1 -1
  445. package/dist/store/sqlite/work-tasks.d.ts +15 -1
  446. package/dist/store/sqlite/work-tasks.d.ts.map +1 -1
  447. package/dist/store/sqlite/work-tasks.js +49 -5
  448. package/dist/store/sqlite/work-tasks.js.map +1 -1
  449. package/dist/store/store.d.ts +21 -41
  450. package/dist/store/store.d.ts.map +1 -1
  451. package/dist/store/store.js +52 -117
  452. package/dist/store/store.js.map +1 -1
  453. package/dist/tasks/model.d.ts +7 -0
  454. package/dist/tasks/model.d.ts.map +1 -1
  455. package/dist/tasks/model.js +2 -1
  456. package/dist/tasks/model.js.map +1 -1
  457. package/dist/tasks/service.d.ts +1 -0
  458. package/dist/tasks/service.d.ts.map +1 -1
  459. package/dist/tasks/service.js.map +1 -1
  460. package/package.json +1 -1
  461. package/parity.json +51 -23
  462. package/skills/follow-ups/SKILL.md +4 -2
  463. package/dist/embeddings/pool.d.ts +0 -17
  464. package/dist/embeddings/pool.d.ts.map +0 -1
  465. package/dist/embeddings/pool.js +0 -22
  466. package/dist/embeddings/pool.js.map +0 -1
  467. package/dist/embeddings/worker.d.ts +0 -2
  468. package/dist/embeddings/worker.d.ts.map +0 -1
  469. package/dist/embeddings/worker.js +0 -22
  470. package/dist/embeddings/worker.js.map +0 -1
  471. package/dist/embeddings/workers.d.ts +0 -8
  472. package/dist/embeddings/workers.d.ts.map +0 -1
  473. package/dist/embeddings/workers.js +0 -51
  474. package/dist/embeddings/workers.js.map +0 -1
  475. package/dist/search/legacy-regex.d.ts +0 -7
  476. package/dist/search/legacy-regex.d.ts.map +0 -1
  477. package/dist/search/legacy-regex.js +0 -48
  478. package/dist/search/legacy-regex.js.map +0 -1
  479. package/dist/search/lucene/migration.d.ts +0 -21
  480. package/dist/search/lucene/migration.d.ts.map +0 -1
  481. package/dist/search/lucene/migration.js +0 -31
  482. package/dist/search/lucene/migration.js.map +0 -1
  483. package/dist/search/search.d.ts +0 -27
  484. package/dist/search/search.d.ts.map +0 -1
  485. package/dist/search/search.js +0 -66
  486. package/dist/search/search.js.map +0 -1
  487. package/dist/services/message-query-validation.d.ts +0 -3
  488. package/dist/services/message-query-validation.d.ts.map +0 -1
  489. package/dist/services/message-query-validation.js +0 -14
  490. package/dist/services/message-query-validation.js.map +0 -1
  491. package/dist/store/sqlite/atomic.d.ts +0 -8
  492. package/dist/store/sqlite/atomic.d.ts.map +0 -1
  493. package/dist/store/sqlite/atomic.js +0 -28
  494. package/dist/store/sqlite/atomic.js.map +0 -1
  495. package/dist/store/sqlite/legacy-regex.d.ts +0 -7
  496. package/dist/store/sqlite/legacy-regex.d.ts.map +0 -1
  497. package/dist/store/sqlite/legacy-regex.js +0 -42
  498. package/dist/store/sqlite/legacy-regex.js.map +0 -1
  499. package/dist/store/sqlite/read-snapshot.d.ts +0 -4
  500. package/dist/store/sqlite/read-snapshot.d.ts.map +0 -1
  501. package/dist/store/sqlite/read-snapshot.js +0 -14
  502. package/dist/store/sqlite/read-snapshot.js.map +0 -1
@@ -51,7 +51,7 @@ export const QUERY_FIELDS = [
51
51
  aliases: [],
52
52
  type: "txt",
53
53
  operators: ["term", "phrase", "wildcard", "regex"],
54
- normalization: "Snowball 3.1.1 by script (Cyrillic, Latin; the store's searchStemmers), then v1",
54
+ normalization: "Snowball 3.1.1 by script (Cyrillic, Latin; the store's search_stemmers), then v1",
55
55
  support: "A1",
56
56
  },
57
57
  {
@@ -485,7 +485,7 @@ export const QUERY_OPERATORS = [
485
485
  {
486
486
  name: "fuzzy / proximity",
487
487
  example: "invoice~1",
488
- semantics: "unsupported_operator; опечатки исправляет `--language legacy`, формы слова ловит prefix `word*`",
488
+ semantics: "unsupported_operator; формы слова ловит prefix `word*`",
489
489
  },
490
490
  { name: "boost / minimum / intervals", example: "invoice^2", semantics: "query.unsupported-operator" },
491
491
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/search/lucene/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/search/lucene/registry.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,13 @@
1
1
  import type { Provider } from "../domain/models.js";
2
- export type Term = {
3
- kind: "word";
4
- text: string;
5
- } | {
6
- kind: "phrase";
7
- words: string[];
8
- };
9
2
  /** `personal` and `bots` split `all`: a bot's account is one whose provider ends in `-bot` (`isBotProvider`). */
10
3
  export type Source = Provider | "personal" | "bots" | "all";
11
4
  /** How the store tells a bot's copy from a personal account: `max-bot`, `telegram-bot`. */
12
5
  export declare const isBotProvider: (provider: Provider) => boolean;
13
6
  /** Whether an account of `provider` is inside `source`: also a kind (`messages`, `mail`) or a provider's alias (`tg`). */
14
7
  export declare const inSource: (source: Source, provider: Provider) => boolean;
15
- /**
16
- * A parsed search (phase 2 plan §4). `required` is AND of groups, each group OR of terms — OR binds
17
- * tighter than the implied AND. Words are as typed; normalizing them is the search's job.
18
- */
19
- export interface SearchQuery {
20
- required: Term[][];
21
- excluded: Term[];
22
- from?: string;
23
- chat?: string;
24
- /** Epoch ms, inclusive. */
25
- after?: number;
26
- /** Epoch ms, exclusive. */
27
- before?: number;
28
- has: string[];
29
- in?: Source;
30
- }
31
8
  /**
32
9
  * `in:` and `--source` take a messenger the store holds, `personal`, `bots` or `all`, a held provider's alias
33
10
  * (`tg`), or the kind `messages` or `mail`; an alias and `mail` come back as the provider they stand for.
34
11
  */
35
12
  export declare const sourceOf: (name: string, value: string, providers: readonly Provider[]) => Source;
36
- /** `providers` are the messengers the store holds; `in:` takes one of them, or `all`. */
37
- export declare const parseQuery: (query: string, { now, providers }?: {
38
- now?: number;
39
- providers?: readonly Provider[];
40
- }) => SearchQuery;
41
13
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,MAAM,MAAM,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEvF,iHAAiH;AACjH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,2FAA2F;AAC3F,eAAO,MAAM,aAAa,aAAc,QAAQ,KAAG,OAAoC,CAAA;AAEvF,0HAA0H;AAC1H,eAAO,MAAM,QAAQ,WAAY,MAAM,YAAY,QAAQ,KAAG,OAMb,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;IAClB,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAqED;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,SAAS,MAAM,aAAa,SAAS,QAAQ,EAAE,KAAG,MActF,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,UAAU,UACd,MAAM,uBACyB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE,KACtF,WAoCF,CAAA"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,iHAAiH;AACjH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,2FAA2F;AAC3F,eAAO,MAAM,aAAa,aAAc,QAAQ,KAAG,OAAoC,CAAA;AAEvF,0HAA0H;AAC1H,eAAO,MAAM,QAAQ,WAAY,MAAM,YAAY,QAAQ,KAAG,OAMb,CAAA;AAMjD;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,SAAS,MAAM,aAAa,SAAS,QAAQ,EAAE,KAAG,MActF,CAAA"}
@@ -9,61 +9,9 @@ export const inSource = (source, provider) => source === "all" ||
9
9
  source === provider ||
10
10
  providerNamed(source)?.name === provider ||
11
11
  (isKind(source) && kindOf(provider) === source);
12
- const FILTERS = ["from", "chat", "after", "before", "has", "in"];
13
- const DAY = 24 * 60 * 60 * 1000;
14
12
  const fail = (message) => {
15
13
  throw new CliError("validation_error", message);
16
14
  };
17
- const tokenize = (query) => {
18
- const tokens = [];
19
- let at = 0;
20
- while (at < query.length) {
21
- if (/\s/.test(query[at] ?? "")) {
22
- at++;
23
- continue;
24
- }
25
- let negated = false;
26
- let filter;
27
- const rest = query.slice(at);
28
- const named = /^([a-z]+):(?=\S)/i.exec(rest);
29
- const name = named?.[1]?.toLowerCase();
30
- if (named && FILTERS.includes(name)) {
31
- filter = name;
32
- at += named[0].length;
33
- }
34
- else if (query[at] === "-" && query[at + 1] !== undefined && /\S/.test(query[at + 1] ?? "")) {
35
- negated = true;
36
- at++;
37
- }
38
- if (query[at] === '"') {
39
- const end = query.indexOf('"', at + 1);
40
- const close = end === -1 ? query.length : end;
41
- tokens.push({ negated, ...(filter ? { filter } : {}), quoted: true, text: query.slice(at + 1, close).trim() });
42
- at = close + 1;
43
- continue;
44
- }
45
- const end = query.slice(at).search(/\s/);
46
- const close = end === -1 ? query.length : at + end;
47
- tokens.push({ negated, ...(filter ? { filter } : {}), quoted: false, text: query.slice(at, close) });
48
- at = close;
49
- }
50
- return tokens;
51
- };
52
- const termOf = (token) => {
53
- const words = token.text.split(/\s+/).filter(Boolean);
54
- return token.quoted && words.length > 1 ? { kind: "phrase", words } : { kind: "word", text: words.join(" ") };
55
- };
56
- const day = (name, value, now) => {
57
- const back = /^(\d+)d$/.exec(value);
58
- if (back)
59
- return now - Number(back[1]) * DAY;
60
- const date = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value);
61
- const at = date ? new Date(Number(date[1]), Number(date[2]) - 1, Number(date[3])) : undefined;
62
- if (!at || at.getMonth() !== Number(date?.[2]) - 1 || at.getDate() !== Number(date?.[3])) {
63
- return fail(`${name}: takes a day, 2026-01-31, or a count of days back, 7d — not "${value}"`);
64
- }
65
- return at.getTime();
66
- };
67
15
  /**
68
16
  * `in:` and `--source` take a messenger the store holds, `personal`, `bots` or `all`, a held provider's alias
69
17
  * (`tg`), or the kind `messages` or `mail`; an alias and `mail` come back as the provider they stand for.
@@ -85,52 +33,4 @@ export const sourceOf = (name, value, providers) => {
85
33
  return named.name;
86
34
  return fail(`${name} takes ${[...sources, "messages", "mail"].join(", ")} — not "${value}"`);
87
35
  };
88
- /** `providers` are the messengers the store holds; `in:` takes one of them, or `all`. */
89
- export const parseQuery = (query, { now = Date.now(), providers = [] } = {}) => {
90
- const parsed = { required: [], excluded: [], has: [] };
91
- const tokens = tokenize(query);
92
- for (let index = 0; index < tokens.length; index++) {
93
- const token = tokens[index];
94
- if (token.filter) {
95
- const { filter, text } = token;
96
- if (text === "")
97
- fail(`${filter}: needs a value`);
98
- if (filter === "has") {
99
- parsed.has.push(text.toLowerCase());
100
- continue;
101
- }
102
- if (parsed[filter] !== undefined)
103
- fail(`${filter}: is given twice`);
104
- if (filter === "after" || filter === "before")
105
- parsed[filter] = day(filter, text, now);
106
- else if (filter === "in")
107
- parsed.in = sourceOf("in:", text, providers);
108
- else
109
- parsed[filter] = text;
110
- continue;
111
- }
112
- if (token.text === "")
113
- continue;
114
- if (!token.quoted && token.text === "OR") {
115
- const previous = tokens[index - 1];
116
- const next = tokens[index + 1];
117
- if (previous?.negated || next?.negated)
118
- fail("a word left out cannot be one side of OR");
119
- const word = (side) => side && !side.filter && side.text !== "" && (side.quoted || side.text !== "OR");
120
- if (!word(previous) || !word(next))
121
- fail("OR needs a word on each side");
122
- parsed.required.at(-1)?.push(termOf(next));
123
- index++;
124
- continue;
125
- }
126
- if (token.negated)
127
- parsed.excluded.push(termOf(token));
128
- else
129
- parsed.required.push([termOf(token)]);
130
- }
131
- if (parsed.required.length === 0 && parsed.excluded.length > 0) {
132
- fail("say what to find, not only what to leave out");
133
- }
134
- return parsed;
135
- };
136
36
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAKtE,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAEvF,0HAA0H;AAC1H,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,QAAkB,EAAW,EAAE,CACtE,MAAM,KAAK,KAAK;IAChB,CAAC,MAAM,KAAK,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,KAAK,QAAQ;IACnB,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,QAAQ;IACxC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAA;AAEjD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE;IACtC,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,SAA8B,EAAU,EAAE;IAC9F,MAAM,OAAO,GAAa,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAClC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IAC3C,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,OAAO,CAAA;IACrC,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAA;IACxC,IAAI,MAAM,CAAC,MAAM,CAAC;QAChB,IAAI,CACF,GAAG,IAAI,GAAG,MAAM,UAAU,MAAM,2CAA2C;YACzE,UAAU,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,OAAO,CAC7E,CAAA;IACH,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,IAAI,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAA;IAC9D,OAAO,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,CAAA;AAC9F,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The amount and due date a task's text names, by patterns. Ported from the duplicate test set's scorer
3
+ * (WireCatLabs/cli-testing `performance/tasks/duplicates/evaluate.mjs`); the patterns were written with
4
+ * that set's messages, so they are known to work on those phrasings only.
5
+ */
6
+ export type TaskAmount = {
7
+ value: number;
8
+ currency: string | null;
9
+ };
10
+ /** A bare number is not an amount: `верни 3000 за бензин` has none, so a reminder about it compares as missing. */
11
+ export declare const amountOf: (text: string) => TaskAmount | null;
12
+ /** The creator's calendar date in the machine's time zone, as a day count: "tomorrow" late at night is local. */
13
+ export declare const dayOf: (ms: number) => number;
14
+ /**
15
+ * The due day (a local calendar date, as `dayOf` counts it) the earliest date phrase names, read relative to when
16
+ * the task was created; `null` when the text names none. The text is expected normalized (lower case, no diacritics).
17
+ */
18
+ export declare const dueDayOf: (text: string, createdMs: number) => number | null;
19
+ //# sourceMappingURL=task-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-signature.d.ts","sourceRoot":"","sources":["../../src/search/task-signature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAanE,mHAAmH;AACnH,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,UAAU,GAAG,IAQpD,CAAA;AAwBD,iHAAiH;AACjH,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,MAGlC,CAAA;AA8CD;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,aAAa,MAAM,KAAG,MAAM,GAAG,IAYnE,CAAA"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * The amount and due date a task's text names, by patterns. Ported from the duplicate test set's scorer
3
+ * (WireCatLabs/cli-testing `performance/tasks/duplicates/evaluate.mjs`); the patterns were written with
4
+ * that set's messages, so they are known to work on those phrasings only.
5
+ */
6
+ const DAY = 86_400_000;
7
+ const CURRENCY = [
8
+ [/^(₽|руб.*|р\.?|rub)$/u, "RUB"],
9
+ [/^(€|eur|евро|euros?)$/u, "EUR"],
10
+ [/^(\$|usd|долл.*|dollars?)$/u, "USD"],
11
+ ];
12
+ const currencyOf = (word) => word ? (CURRENCY.find(([pattern]) => pattern.test(word))?.[1] ?? null) : null;
13
+ const AMOUNT = /(?<![\p{L}\p{N}])([$€₽])?\s?(\d+(?:[.,]\d+)?)(?:([кk])(?![\p{L}])|\s?(тыс\.?|тысяч\p{L}*))?(?![\p{N}])\s?(₽|руб\p{L}*\.?|р\.|р(?![\p{L}])|rub|eur|евро|€|\$|usd|долл\p{L}*|dollars?|euros?)?(?![\p{L}])/gu;
14
+ /** A bare number is not an amount: `верни 3000 за бензин` has none, so a reminder about it compares as missing. */
15
+ export const amountOf = (text) => {
16
+ for (const [, before, number = "", short, long, after] of text.matchAll(AMOUNT)) {
17
+ const multiplier = short ?? long;
18
+ if (!before && !after && !multiplier)
19
+ continue;
20
+ const value = Math.round(Number(number.replace(",", ".")) * (multiplier ? 1000 : 1));
21
+ return { value, currency: currencyOf(before ?? after?.replace(/\.$/u, "")) };
22
+ }
23
+ return null;
24
+ };
25
+ const RU_WEEKDAYS = ["воскресен", "понедельник", "вторник", "сред", "четверг", "пятниц", "суббот"];
26
+ const EN_WEEKDAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
27
+ const WEEKDAY_WORDS = "понедельник[аеу]?|вторник[аеу]?|сред[аеуы]|четверг[аеу]?|пятниц[аеуы]|суббот[аеуы]|воскресень[еяю]|" +
28
+ EN_WEEKDAYS.join("|");
29
+ const MONTHS = [
30
+ /^(январ[ьяею]|jan(uary)?)$/u,
31
+ /^(феврал[ьяею]|feb(ruary)?)$/u,
32
+ /^(март[ауе]?|mar(ch)?)$/u,
33
+ /^(апрел[ьяею]|apr(il)?)$/u,
34
+ /^(ма[яеию]|may)$/u,
35
+ /^(июн[ьяею]|june?)$/u,
36
+ /^(июл[ьяею]|july?)$/u,
37
+ /^(август[ауе]?|aug(ust)?)$/u,
38
+ /^(сентябр[ьяею]|sept?(ember)?)$/u,
39
+ /^(октябр[ьяею]|oct(ober)?)$/u,
40
+ /^(ноябр[ьяею]|nov(ember)?)$/u,
41
+ /^(декабр[ьяею]|dec(ember)?)$/u,
42
+ ];
43
+ const monthIndex = (word) => MONTHS.findIndex((month) => month.test(word));
44
+ /** The creator's calendar date in the machine's time zone, as a day count: "tomorrow" late at night is local. */
45
+ export const dayOf = (ms) => {
46
+ const date = new Date(ms);
47
+ return Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) / DAY);
48
+ };
49
+ const dateDay = (year, month, day) => Math.floor(Date.UTC(year, month, day) / DAY);
50
+ const monthDate = (year, word = "", day = "") => {
51
+ const month = monthIndex(word);
52
+ return month < 0 || Number(day) > 31 ? undefined : dateDay(year, month, Number(day));
53
+ };
54
+ const nthDay = (day, now) => {
55
+ const date = new Date(now * DAY);
56
+ const sameMonth = dateDay(date.getUTCFullYear(), date.getUTCMonth(), day);
57
+ return sameMonth >= now ? sameMonth : dateDay(date.getUTCFullYear(), date.getUTCMonth() + 1, day);
58
+ };
59
+ const monthEnd = (now) => {
60
+ const date = new Date(now * DAY);
61
+ return dateDay(date.getUTCFullYear(), date.getUTCMonth() + 1, 0);
62
+ };
63
+ const nextWeekday = (word, now) => {
64
+ const target = Math.max(RU_WEEKDAYS.findIndex((stem) => word.startsWith(stem)), EN_WEEKDAYS.indexOf(word));
65
+ let day = now + 1;
66
+ while (new Date(day * DAY).getUTCDay() !== target)
67
+ day++;
68
+ return day;
69
+ };
70
+ /** JavaScript's `\b` knows only ASCII letters, so a Cyrillic word needs its edges spelt out. */
71
+ const words = (source) => new RegExp(`(?<![\\p{L}\\p{N}])(?:${source})(?![\\p{L}\\p{N}])`, "gu");
72
+ const DUE_PATTERNS = [
73
+ [words("послезавтра"), (_, now) => now + 2],
74
+ [words("завтра|tomorrow"), (_, now) => now + 1],
75
+ [words("сегодня|today"), (_, now) => now],
76
+ [words("(\\d{1,2})\\.(\\d{2})"), (m, _, year) => dateDay(year, Number(m[2]) - 1, Number(m[1]))],
77
+ [words("(\\d{1,2})(?:st|nd|rd|th)?\\s+(\\p{L}+)"), (m, _, year) => monthDate(year, m[2], m[1])],
78
+ [words("(\\p{L}+)\\.?\\s+(\\d{1,2})"), (m, _, year) => monthDate(year, m[1], m[2])],
79
+ [
80
+ words("(?:до|к|by|until|before|on|deadline)\\s+(?:the\\s+)?(\\d{1,2})(?:-?(?:го|е|числа)|\\s+числа|st|nd|rd|th)"),
81
+ (m, now) => nthDay(Number(m[1]), now),
82
+ ],
83
+ [words("конца месяца|end of (?:the )?month"), (_, now) => monthEnd(now)],
84
+ [words(`(${WEEKDAY_WORDS})`), (m, now) => nextWeekday(m[1] ?? "", now)],
85
+ ];
86
+ /**
87
+ * The due day (a local calendar date, as `dayOf` counts it) the earliest date phrase names, read relative to when
88
+ * the task was created; `null` when the text names none. The text is expected normalized (lower case, no diacritics).
89
+ */
90
+ export const dueDayOf = (text, createdMs) => {
91
+ const now = dayOf(createdMs);
92
+ const year = new Date(createdMs).getFullYear();
93
+ let best;
94
+ for (const [pattern, resolve] of DUE_PATTERNS)
95
+ for (const match of text.matchAll(pattern)) {
96
+ const day = resolve(match, now, year);
97
+ if (day === undefined || Number.isNaN(day))
98
+ continue;
99
+ if (!best || (match.index ?? 0) < best.index)
100
+ best = { index: match.index ?? 0, day };
101
+ break;
102
+ }
103
+ return best?.day ?? null;
104
+ };
105
+ //# sourceMappingURL=task-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-signature.js","sourceRoot":"","sources":["../../src/search/task-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import { type Stemmer } from "./stem.js";
2
+ import { type TaskAmount } from "./task-signature.js";
3
+ export type TaskSide = {
4
+ title: string;
5
+ description?: string;
6
+ /** `person:<id>` of whoever the task is from; the caller resolves it through identities. */
7
+ person?: string;
8
+ category?: string;
9
+ /** Given by an agent (`--amount`); when absent the text is read for one. `null` says there is none. */
10
+ amount?: TaskAmount | null;
11
+ /** Given by an agent (`--due`); when absent the text is read for one. `null` says there is none. */
12
+ due?: Date | null;
13
+ createdAt: Date;
14
+ };
15
+ export type PreparedTask = {
16
+ stems: ReadonlySet<string>;
17
+ trigrams: ReadonlySet<string>;
18
+ person?: string;
19
+ category?: string;
20
+ amount: TaskAmount | null;
21
+ dueDay: number | null;
22
+ createdMs: number;
23
+ };
24
+ /** `stemmer` is the store's configured one; the default stems Latin words with both English and Spanish. */
25
+ export declare const prepareTask: (task: TaskSide, stemmer?: Stemmer) => PreparedTask;
26
+ /**
27
+ * The only place the weights live. Levels no duplicate in the set showed keep the plan's first-draft value:
28
+ * an estimate from a zero count reflects how the set was written, not evidence.
29
+ */
30
+ export declare const TASK_SIMILARITY_WEIGHTS: {
31
+ readonly text: {
32
+ readonly high: {
33
+ readonly weight: 5;
34
+ readonly why: "Jaccard ≥ 0.6: 11 / 18; +5 estimated on both halves";
35
+ };
36
+ readonly middle: {
37
+ readonly weight: 5;
38
+ readonly why: "Jaccard 0.3–0.6: 54 / 102; reminders are short, so worth as much as ≥ 0.6";
39
+ };
40
+ readonly low: {
41
+ readonly weight: -2;
42
+ readonly why: "Jaccard < 0.3: 15 / 4493";
43
+ };
44
+ };
45
+ readonly person: {
46
+ readonly same: {
47
+ readonly weight: 1;
48
+ readonly why: "80 / 2149; candidates come mostly from the same-person lookup, so most share it";
49
+ };
50
+ readonly different: {
51
+ readonly weight: -3;
52
+ readonly why: "0 / 2293; no duplicate showed it, first-draft value kept";
53
+ };
54
+ readonly unknown: {
55
+ readonly weight: 0;
56
+ readonly why: "0 / 171; no duplicate showed it, first-draft value kept";
57
+ };
58
+ };
59
+ readonly amount: {
60
+ readonly equal: {
61
+ readonly weight: 6;
62
+ readonly why: "20 / 13; the least stable weight: +10 on half A, +6 on half B";
63
+ };
64
+ readonly different: {
65
+ readonly weight: -4;
66
+ readonly why: "0 / 849; no duplicate showed it, first-draft value kept";
67
+ };
68
+ readonly missing: {
69
+ readonly weight: 0;
70
+ readonly why: "60 / 3751";
71
+ };
72
+ };
73
+ readonly category: {
74
+ readonly same: {
75
+ readonly weight: 1;
76
+ readonly why: "80 / 2667";
77
+ };
78
+ readonly different: {
79
+ readonly weight: -1;
80
+ readonly why: "0 / 1946; no duplicate showed it, first-draft value kept";
81
+ };
82
+ readonly unknown: {
83
+ readonly weight: 0;
84
+ readonly why: "not in the set: every task there had a category";
85
+ };
86
+ };
87
+ readonly due: {
88
+ readonly near: {
89
+ readonly weight: 4;
90
+ readonly why: "≤ 2 days apart: 26 / 126";
91
+ };
92
+ readonly far: {
93
+ readonly weight: -1;
94
+ readonly why: "more than 2 days apart: 4 / 707";
95
+ };
96
+ readonly missing: {
97
+ readonly weight: 0;
98
+ readonly why: "50 / 3780";
99
+ };
100
+ };
101
+ readonly reply: {
102
+ readonly yes: {
103
+ readonly weight: 6;
104
+ readonly why: "6 / 5; scored, not certain: as a certain rule it was wrong 4 times in 9";
105
+ };
106
+ readonly no: {
107
+ readonly weight: 0;
108
+ readonly why: "74 / 4608";
109
+ };
110
+ };
111
+ readonly time: {
112
+ readonly near: {
113
+ readonly weight: 2;
114
+ readonly why: "≤ 3 days apart: 69 / 888";
115
+ };
116
+ readonly weeks: {
117
+ readonly weight: -2;
118
+ readonly why: "4–14 days apart: 8 / 2456";
119
+ };
120
+ readonly far: {
121
+ readonly weight: -3;
122
+ readonly why: "more than 14 days apart: 3 / 1269";
123
+ };
124
+ };
125
+ };
126
+ /**
127
+ * Likely only orders a list; nothing merges on a score. On the set, ≥ 10 is 85% precise at 43% recall, and
128
+ * the first threshold with no wrong pair (≥ 16) finds 4% of duplicates. ≥ 5 puts 90% of duplicates in maybe or
129
+ * likely at 58% precision, refusing 21% of new tasks.
130
+ */
131
+ export declare const TASK_SIMILARITY_BANDS: {
132
+ readonly likely: 10;
133
+ readonly maybe: 5;
134
+ };
135
+ type Weights = typeof TASK_SIMILARITY_WEIGHTS;
136
+ export type SimilarityLevels = {
137
+ [Field in keyof Weights]: keyof Weights[Field];
138
+ };
139
+ export type SimilarityBand = "likely" | "maybe" | "different";
140
+ export type Similarity = {
141
+ score: number;
142
+ band: SimilarityBand;
143
+ levels: SimilarityLevels;
144
+ /** What says the two are one job, as a candidate list shows it; category and age stay in `levels`. */
145
+ reasons: string[];
146
+ text: {
147
+ sharedStems: number;
148
+ allStems: number;
149
+ stems: number;
150
+ trigrams: number;
151
+ };
152
+ };
153
+ export declare const bandOf: (score: number) => SimilarityBand;
154
+ /** `replyChain`: the source messages reply to one another — the caller knows the messages, this module does not. */
155
+ export declare const compareTasks: (a: PreparedTask, b: PreparedTask, { replyChain }?: {
156
+ replyChain?: boolean;
157
+ }) => Similarity;
158
+ export type TaskCandidate<Id> = {
159
+ id: Id;
160
+ task: PreparedTask;
161
+ replyChain?: boolean;
162
+ };
163
+ /** Every candidate scored against the new task, best first; ties keep the order they came in. */
164
+ export declare const rankCandidates: <Id>(task: PreparedTask, candidates: readonly TaskCandidate<Id>[]) => (Similarity & {
165
+ id: Id;
166
+ })[];
167
+ export {};
168
+ //# sourceMappingURL=task-similarity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-similarity.d.ts","sourceRoot":"","sources":["../../src/search/task-similarity.ts"],"names":[],"mappings":"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"}