@wirecat/cli-core 0.283.0 → 0.285.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 (305) hide show
  1. package/dist/attachments/markup.d.ts.map +1 -1
  2. package/dist/attachments/markup.js +54 -19
  3. package/dist/attachments/markup.js.map +1 -1
  4. package/dist/background/units.d.ts.map +1 -1
  5. package/dist/background/units.js +1 -0
  6. package/dist/background/units.js.map +1 -1
  7. package/dist/cli/config-command.d.ts.map +1 -1
  8. package/dist/cli/config-command.js +7 -1
  9. package/dist/cli/config-command.js.map +1 -1
  10. package/dist/cli/index.d.ts +3 -1
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js +3 -1
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/list-query.d.ts +9 -2
  15. package/dist/cli/list-query.d.ts.map +1 -1
  16. package/dist/cli/list-query.js +39 -13
  17. package/dist/cli/list-query.js.map +1 -1
  18. package/dist/cli/meeting-preparation-answer.d.ts +61 -1
  19. package/dist/cli/meeting-preparation-answer.d.ts.map +1 -1
  20. package/dist/cli/meeting-preparation-answer.js +39 -20
  21. package/dist/cli/meeting-preparation-answer.js.map +1 -1
  22. package/dist/cli/meeting-preparation-command.js +1 -1
  23. package/dist/cli/meeting-preparation-command.js.map +1 -1
  24. package/dist/cli/meeting-preparation-read.d.ts +61 -1
  25. package/dist/cli/meeting-preparation-read.d.ts.map +1 -1
  26. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  27. package/dist/cli/messenger/backfill-command.js +17 -6
  28. package/dist/cli/messenger/backfill-command.js.map +1 -1
  29. package/dist/cli/messenger/mention-points.d.ts +13 -0
  30. package/dist/cli/messenger/mention-points.d.ts.map +1 -0
  31. package/dist/cli/messenger/mention-points.js +31 -0
  32. package/dist/cli/messenger/mention-points.js.map +1 -0
  33. package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
  34. package/dist/cli/messenger/mentions-command.js +54 -6
  35. package/dist/cli/messenger/mentions-command.js.map +1 -1
  36. package/dist/cli/messenger/messages-search-command.d.ts +2 -3
  37. package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
  38. package/dist/cli/messenger/messages-search-command.js +24 -54
  39. package/dist/cli/messenger/messages-search-command.js.map +1 -1
  40. package/dist/cli/messenger/review.js +2 -1
  41. package/dist/cli/messenger/review.js.map +1 -1
  42. package/dist/cli/messenger/search-answers.d.ts +3 -0
  43. package/dist/cli/messenger/search-answers.d.ts.map +1 -1
  44. package/dist/cli/messenger/search-answers.js +2 -0
  45. package/dist/cli/messenger/search-answers.js.map +1 -1
  46. package/dist/cli/messenger/search-command.d.ts.map +1 -1
  47. package/dist/cli/messenger/search-command.js +15 -15
  48. package/dist/cli/messenger/search-command.js.map +1 -1
  49. package/dist/cli/messenger/serve-command.js +3 -2
  50. package/dist/cli/messenger/serve-command.js.map +1 -1
  51. package/dist/cli/messenger/store-maintenance-command.d.ts +1 -1
  52. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  53. package/dist/cli/messenger/tasks-command.js +107 -9
  54. package/dist/cli/messenger/tasks-command.js.map +1 -1
  55. package/dist/cli/moved.d.ts +13 -0
  56. package/dist/cli/moved.d.ts.map +1 -0
  57. package/dist/cli/moved.js +18 -0
  58. package/dist/cli/moved.js.map +1 -0
  59. package/dist/cli/program.d.ts.map +1 -1
  60. package/dist/cli/program.js +16 -0
  61. package/dist/cli/program.js.map +1 -1
  62. package/dist/cli/reasons.d.ts.map +1 -1
  63. package/dist/cli/reasons.js +3 -0
  64. package/dist/cli/reasons.js.map +1 -1
  65. package/dist/cli/steps.d.ts.map +1 -1
  66. package/dist/cli/steps.js +12 -0
  67. package/dist/cli/steps.js.map +1 -1
  68. package/dist/cli/store-settings.d.ts +8 -0
  69. package/dist/cli/store-settings.d.ts.map +1 -1
  70. package/dist/cli/store-settings.js +91 -4
  71. package/dist/cli/store-settings.js.map +1 -1
  72. package/dist/domain/mentions.d.ts +28 -2
  73. package/dist/domain/mentions.d.ts.map +1 -1
  74. package/dist/domain/mentions.js +79 -26
  75. package/dist/domain/mentions.js.map +1 -1
  76. package/dist/domain/models.d.ts +1 -0
  77. package/dist/domain/models.d.ts.map +1 -1
  78. package/dist/domain/phone-plans.generated.d.ts +331 -0
  79. package/dist/domain/phone-plans.generated.d.ts.map +1 -0
  80. package/dist/domain/phone-plans.generated.js +381 -0
  81. package/dist/domain/phone-plans.generated.js.map +1 -0
  82. package/dist/domain/phones.d.ts +23 -0
  83. package/dist/domain/phones.d.ts.map +1 -0
  84. package/dist/domain/phones.js +53 -0
  85. package/dist/domain/phones.js.map +1 -0
  86. package/dist/domain/task-categories.d.ts +25 -0
  87. package/dist/domain/task-categories.d.ts.map +1 -0
  88. package/dist/domain/task-categories.js +155 -0
  89. package/dist/domain/task-categories.js.map +1 -0
  90. package/dist/entities/fact.d.ts +5 -0
  91. package/dist/entities/fact.d.ts.map +1 -1
  92. package/dist/entities/fact.js +2 -0
  93. package/dist/entities/fact.js.map +1 -1
  94. package/dist/entities/index.d.ts +79 -2
  95. package/dist/entities/index.d.ts.map +1 -1
  96. package/dist/entities/index.js +3 -1
  97. package/dist/entities/index.js.map +1 -1
  98. package/dist/entities/meeting-preparation-parts.d.ts +9 -0
  99. package/dist/entities/meeting-preparation-parts.d.ts.map +1 -1
  100. package/dist/entities/meeting-preparation-parts.js +9 -0
  101. package/dist/entities/meeting-preparation-parts.js.map +1 -1
  102. package/dist/entities/meeting-preparation.d.ts +61 -1
  103. package/dist/entities/meeting-preparation.d.ts.map +1 -1
  104. package/dist/entities/meeting-preparation.js +22 -15
  105. package/dist/entities/meeting-preparation.js.map +1 -1
  106. package/dist/entities/relationship.d.ts +16 -0
  107. package/dist/entities/relationship.d.ts.map +1 -0
  108. package/dist/entities/relationship.js +18 -0
  109. package/dist/entities/relationship.js.map +1 -0
  110. package/dist/mcp/http/oauth.d.ts.map +1 -1
  111. package/dist/mcp/http/oauth.js +1 -0
  112. package/dist/mcp/http/oauth.js.map +1 -1
  113. package/dist/mcp/instructions.d.ts.map +1 -1
  114. package/dist/mcp/instructions.js +3 -2
  115. package/dist/mcp/instructions.js.map +1 -1
  116. package/dist/mcp/meeting-preparation.d.ts +68 -4
  117. package/dist/mcp/meeting-preparation.d.ts.map +1 -1
  118. package/dist/mcp/meeting-preparation.js +7 -3
  119. package/dist/mcp/meeting-preparation.js.map +1 -1
  120. package/dist/mcp/surface.d.ts.map +1 -1
  121. package/dist/mcp/surface.js +4 -0
  122. package/dist/mcp/surface.js.map +1 -1
  123. package/dist/mcp/text.d.ts +1 -2
  124. package/dist/mcp/text.d.ts.map +1 -1
  125. package/dist/mcp/text.js +2 -9
  126. package/dist/mcp/text.js.map +1 -1
  127. package/dist/mcp/tool.d.ts +1 -3
  128. package/dist/mcp/tool.d.ts.map +1 -1
  129. package/dist/mcp/tool.js +2 -3
  130. package/dist/mcp/tool.js.map +1 -1
  131. package/dist/mcp/tools/search-tools.d.ts.map +1 -1
  132. package/dist/mcp/tools/search-tools.js +21 -36
  133. package/dist/mcp/tools/search-tools.js.map +1 -1
  134. package/dist/mcp/tools/search.d.ts +0 -12
  135. package/dist/mcp/tools/search.d.ts.map +1 -1
  136. package/dist/mcp/tools/search.js +0 -12
  137. package/dist/mcp/tools/search.js.map +1 -1
  138. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  139. package/dist/mcp/tools/tasks.js +138 -7
  140. package/dist/mcp/tools/tasks.js.map +1 -1
  141. package/dist/meetings/index.d.ts +1 -0
  142. package/dist/meetings/index.d.ts.map +1 -1
  143. package/dist/meetings/index.js +1 -0
  144. package/dist/meetings/index.js.map +1 -1
  145. package/dist/meetings/mcp/agent-text.d.ts +23 -0
  146. package/dist/meetings/mcp/agent-text.d.ts.map +1 -0
  147. package/dist/meetings/mcp/agent-text.js +43 -0
  148. package/dist/meetings/mcp/agent-text.js.map +1 -0
  149. package/dist/meetings/mcp/index.d.ts +3 -38
  150. package/dist/meetings/mcp/index.d.ts.map +1 -1
  151. package/dist/meetings/mcp/index.js +9 -3
  152. package/dist/meetings/mcp/index.js.map +1 -1
  153. package/dist/meetings/mcp/passage.d.ts +7 -3
  154. package/dist/meetings/mcp/passage.d.ts.map +1 -1
  155. package/dist/meetings/mcp/passage.js +4 -3
  156. package/dist/meetings/mcp/passage.js.map +1 -1
  157. package/dist/meetings/mcp/project-evidence.d.ts +7 -3
  158. package/dist/meetings/mcp/project-evidence.d.ts.map +1 -1
  159. package/dist/meetings/mcp/project-evidence.js +7 -3
  160. package/dist/meetings/mcp/project-evidence.js.map +1 -1
  161. package/dist/meetings/mcp/search.d.ts +7 -3
  162. package/dist/meetings/mcp/search.d.ts.map +1 -1
  163. package/dist/meetings/mcp/search.js +7 -3
  164. package/dist/meetings/mcp/search.js.map +1 -1
  165. package/dist/meetings/related-history.d.ts +34 -0
  166. package/dist/meetings/related-history.d.ts.map +1 -0
  167. package/dist/meetings/related-history.js +30 -0
  168. package/dist/meetings/related-history.js.map +1 -0
  169. package/dist/parity/manifest.d.ts.map +1 -1
  170. package/dist/parity/manifest.js +4 -0
  171. package/dist/parity/manifest.js.map +1 -1
  172. package/dist/readers/doc/index.d.ts.map +1 -1
  173. package/dist/readers/doc/index.js +1 -0
  174. package/dist/readers/doc/index.js.map +1 -1
  175. package/dist/readers/html/index.d.ts.map +1 -1
  176. package/dist/readers/html/index.js +16 -1
  177. package/dist/readers/html/index.js.map +1 -1
  178. package/dist/search/account-list.js +1 -1
  179. package/dist/search/account-list.js.map +1 -1
  180. package/dist/search/lucene/registry.js +1 -1
  181. package/dist/search/lucene/registry.js.map +1 -1
  182. package/dist/search/task-similarity.d.ts +4 -0
  183. package/dist/search/task-similarity.d.ts.map +1 -1
  184. package/dist/search/task-similarity.js +5 -2
  185. package/dist/search/task-similarity.js.map +1 -1
  186. package/dist/sends/permissions.d.ts.map +1 -1
  187. package/dist/sends/permissions.js +4 -0
  188. package/dist/sends/permissions.js.map +1 -1
  189. package/dist/services/agenda.d.ts +4 -0
  190. package/dist/services/agenda.d.ts.map +1 -1
  191. package/dist/services/agenda.js +6 -1
  192. package/dist/services/agenda.js.map +1 -1
  193. package/dist/services/inbox.d.ts.map +1 -1
  194. package/dist/services/inbox.js +5 -1
  195. package/dist/services/inbox.js.map +1 -1
  196. package/dist/services/meeting-preparation-types.d.ts +13 -3
  197. package/dist/services/meeting-preparation-types.d.ts.map +1 -1
  198. package/dist/services/meeting-preparation.d.ts.map +1 -1
  199. package/dist/services/meeting-preparation.js +10 -0
  200. package/dist/services/meeting-preparation.js.map +1 -1
  201. package/dist/services/meeting-related-preparation.d.ts +5 -0
  202. package/dist/services/meeting-related-preparation.d.ts.map +1 -0
  203. package/dist/services/meeting-related-preparation.js +85 -0
  204. package/dist/services/meeting-related-preparation.js.map +1 -0
  205. package/dist/services/mentions.d.ts +24 -2
  206. package/dist/services/mentions.d.ts.map +1 -1
  207. package/dist/services/mentions.js +41 -3
  208. package/dist/services/mentions.js.map +1 -1
  209. package/dist/services/messages-search.d.ts.map +1 -1
  210. package/dist/services/messages-search.js +1 -1
  211. package/dist/services/messages-search.js.map +1 -1
  212. package/dist/services/search-kind.js +2 -2
  213. package/dist/services/search-kind.js.map +1 -1
  214. package/dist/services/task-categories.d.ts +2 -12
  215. package/dist/services/task-categories.d.ts.map +1 -1
  216. package/dist/services/task-categories.js +2 -74
  217. package/dist/services/task-categories.js.map +1 -1
  218. package/dist/services/task-rules.d.ts +5 -1
  219. package/dist/services/task-rules.d.ts.map +1 -1
  220. package/dist/services/task-rules.js +13 -13
  221. package/dist/services/task-rules.js.map +1 -1
  222. package/dist/services/tasks.d.ts +45 -3
  223. package/dist/services/tasks.d.ts.map +1 -1
  224. package/dist/services/tasks.js +91 -9
  225. package/dist/services/tasks.js.map +1 -1
  226. package/dist/store/index.d.ts +3 -0
  227. package/dist/store/index.d.ts.map +1 -1
  228. package/dist/store/index.js +1 -0
  229. package/dist/store/index.js.map +1 -1
  230. package/dist/store/sqlite/lucene.d.ts.map +1 -1
  231. package/dist/store/sqlite/lucene.js +15 -22
  232. package/dist/store/sqlite/lucene.js.map +1 -1
  233. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  234. package/dist/store/sqlite/manifest.js +4 -0
  235. package/dist/store/sqlite/manifest.js.map +1 -1
  236. package/dist/store/sqlite/meeting-related-history.d.ts +4 -0
  237. package/dist/store/sqlite/meeting-related-history.d.ts.map +1 -0
  238. package/dist/store/sqlite/meeting-related-history.js +77 -0
  239. package/dist/store/sqlite/meeting-related-history.js.map +1 -0
  240. package/dist/store/sqlite/meetings.d.ts +2 -2
  241. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  242. package/dist/store/sqlite/meetings.js +2 -0
  243. package/dist/store/sqlite/meetings.js.map +1 -1
  244. package/dist/store/sqlite/mention-drain.d.ts +24 -1
  245. package/dist/store/sqlite/mention-drain.d.ts.map +1 -1
  246. package/dist/store/sqlite/mention-drain.js +64 -9
  247. package/dist/store/sqlite/mention-drain.js.map +1 -1
  248. package/dist/store/sqlite/mentions.d.ts +10 -4
  249. package/dist/store/sqlite/mentions.d.ts.map +1 -1
  250. package/dist/store/sqlite/mentions.js +42 -19
  251. package/dist/store/sqlite/mentions.js.map +1 -1
  252. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  253. package/dist/store/sqlite/migrations.generated.js +42 -0
  254. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  255. package/dist/store/sqlite/note-index.d.ts +17 -1
  256. package/dist/store/sqlite/note-index.d.ts.map +1 -1
  257. package/dist/store/sqlite/note-index.js +14 -2
  258. package/dist/store/sqlite/note-index.js.map +1 -1
  259. package/dist/store/sqlite/note-search.d.ts.map +1 -1
  260. package/dist/store/sqlite/note-search.js +11 -2
  261. package/dist/store/sqlite/note-search.js.map +1 -1
  262. package/dist/store/sqlite/phone-countries.d.ts +16 -0
  263. package/dist/store/sqlite/phone-countries.d.ts.map +1 -0
  264. package/dist/store/sqlite/phone-countries.js +42 -0
  265. package/dist/store/sqlite/phone-countries.js.map +1 -0
  266. package/dist/store/sqlite/schema.d.ts +270 -0
  267. package/dist/store/sqlite/schema.d.ts.map +1 -1
  268. package/dist/store/sqlite/schema.js +27 -0
  269. package/dist/store/sqlite/schema.js.map +1 -1
  270. package/dist/store/sqlite/task-candidates.d.ts +47 -0
  271. package/dist/store/sqlite/task-candidates.d.ts.map +1 -0
  272. package/dist/store/sqlite/task-candidates.js +193 -0
  273. package/dist/store/sqlite/task-candidates.js.map +1 -0
  274. package/dist/store/sqlite/task-category-settings.d.ts +9 -0
  275. package/dist/store/sqlite/task-category-settings.d.ts.map +1 -0
  276. package/dist/store/sqlite/task-category-settings.js +21 -0
  277. package/dist/store/sqlite/task-category-settings.js.map +1 -0
  278. package/dist/store/sqlite/task-pairs.d.ts +69 -0
  279. package/dist/store/sqlite/task-pairs.d.ts.map +1 -0
  280. package/dist/store/sqlite/task-pairs.js +262 -0
  281. package/dist/store/sqlite/task-pairs.js.map +1 -0
  282. package/dist/store/sqlite/task-relations.d.ts.map +1 -1
  283. package/dist/store/sqlite/task-relations.js +20 -8
  284. package/dist/store/sqlite/task-relations.js.map +1 -1
  285. package/dist/store/sqlite/tasks.d.ts +8 -1
  286. package/dist/store/sqlite/tasks.d.ts.map +1 -1
  287. package/dist/store/sqlite/tasks.js +24 -2
  288. package/dist/store/sqlite/tasks.js.map +1 -1
  289. package/dist/store/store.d.ts +6 -3
  290. package/dist/store/store.d.ts.map +1 -1
  291. package/dist/store/store.js +2 -0
  292. package/dist/store/store.js.map +1 -1
  293. package/dist/store/ulid.d.ts.map +1 -1
  294. package/dist/store/ulid.js +1 -0
  295. package/dist/store/ulid.js.map +1 -1
  296. package/dist/tasks/service.d.ts +3 -1
  297. package/dist/tasks/service.d.ts.map +1 -1
  298. package/dist/tasks/service.js +8 -4
  299. package/dist/tasks/service.js.map +1 -1
  300. package/dist/tasks/store.d.ts +9 -1
  301. package/dist/tasks/store.d.ts.map +1 -1
  302. package/dist/tasks/store.js.map +1 -1
  303. package/package.json +2 -1
  304. package/parity.json +97 -20
  305. package/skills/follow-ups/SKILL.md +2 -0
@@ -1,9 +1,25 @@
1
- import { findMentions, MENTION_KINDS, MENTION_VERSIONS } from "../../domain/mentions.js";
1
+ import { findMentions, MENTION_KINDS, MENTION_VERSIONS, telegramTarget, } from "../../domain/mentions.js";
2
2
  import { findNames, nameIndex } from "../../domain/person-names.js";
3
3
  import { createStemmer } from "../../search/stem.js";
4
+ import { storePhoneCountries } from "./phone-countries.js";
4
5
  /** Mentions a store write finds before it commits: an older binary may have queued thousands. */
5
6
  export const DRAIN_ON_WRITE = 500;
6
7
  const METHOD = "rules";
8
+ /** The stored chat or Telegram account a `t.me` link names, as a rules decision; nothing for any other link. */
9
+ export const telegramLink = (database) => {
10
+ const chat = database.prepare("SELECT 'linked' AS status, 'chat' AS target_type, id AS target_id, 'rules' AS author FROM chats " +
11
+ "WHERE (? IS NOT NULL AND lower(username) = lower(?)) OR external_id = ? ORDER BY id LIMIT 1");
12
+ const account = database.prepare("SELECT 'linked' AS status, 'identity' AS target_type, id AS target_id, 'rules' AS author FROM identities " +
13
+ "WHERE provider = 'telegram' AND lower(username) = lower(?) ORDER BY id LIMIT 1");
14
+ return (value) => {
15
+ const target = telegramTarget(value);
16
+ if (!target)
17
+ return undefined;
18
+ const username = "username" in target ? target.username : null;
19
+ return (chat.get(username, username, "chatId" in target ? target.chatId : null) ??
20
+ (username ? account.get(username) : undefined));
21
+ };
22
+ };
7
23
  /**
8
24
  * What a new mention starts as when nothing was decided where it was written: dismissed if its value was
9
25
  * dismissed anywhere, linked when the value already has an original — an identity a person or an organization owns for a phone
@@ -15,6 +31,7 @@ const originalOf = (database) => {
15
31
  const identity = database.prepare("SELECT 'linked' AS status, 'identity' AS target_type, i.id AS target_id, 'rules' AS author FROM identities i " +
16
32
  "WHERE i.provider = ? AND i.external_id = ? AND (EXISTS (SELECT 1 FROM identity_links l WHERE l.identity_id = i.id) " +
17
33
  "OR EXISTS (SELECT 1 FROM organization_identities o WHERE o.identity_id = i.id))");
34
+ const telegram = telegramLink(database);
18
35
  const document = database.prepare("SELECT 'linked' AS status, 'document' AS target_type, id AS target_id, 'rules' AS author FROM documents " +
19
36
  "WHERE json_extract(front_matter, '$.fileId') = ? AND deleted_at IS NULL ORDER BY id LIMIT 1");
20
37
  return (kind, value) => dismissed.get(kind, value) ??
@@ -22,7 +39,9 @@ const originalOf = (database) => {
22
39
  ? identity.get(kind, value)
23
40
  : kind === "document"
24
41
  ? document.get(value)
25
- : undefined);
42
+ : kind === "url"
43
+ ? telegram(value)
44
+ : undefined);
26
45
  };
27
46
  /**
28
47
  * People whose names are looked for: not the owner, and only people met in a messenger, a meeting or a confirmed
@@ -57,7 +76,7 @@ export const participants = (database) => {
57
76
  return known;
58
77
  };
59
78
  };
60
- /** Where mentions are read from: a message's own text, and the text of its files and voice notes. */
79
+ /** Where mentions are read from: a message's own text, its files and voice notes, documents, notes and mail. */
61
80
  export const SOURCES = {
62
81
  message: {
63
82
  count: "SELECT count(*) AS n FROM messages WHERE deleted_at IS NULL",
@@ -74,23 +93,50 @@ export const SOURCES = {
74
93
  "m.chat_id FROM attachments a JOIN messages m ON m.id = a.attachable_id WHERE a.id = ? AND a.attachable_type = 'message' " +
75
94
  "AND a.text IS NOT NULL AND m.deleted_at IS NULL",
76
95
  },
96
+ // Texts outside a chat: no one wrote them in a chat, so a name in them is never linked by rule.
97
+ document: {
98
+ count: "SELECT count(*) AS n FROM documents WHERE deleted_at IS NULL AND coalesce(body, '') <> ''",
99
+ page: "SELECT id, body AS text, 'text' AS field, NULL AS chat_id FROM documents WHERE id > ? AND deleted_at IS NULL " +
100
+ "AND coalesce(body, '') <> '' ORDER BY id LIMIT ?",
101
+ one: "SELECT body AS text, 'text' AS field, NULL AS chat_id FROM documents WHERE id = ? AND deleted_at IS NULL",
102
+ },
103
+ note: {
104
+ count: "SELECT count(*) AS n FROM notes WHERE deleted_at IS NULL AND coalesce(body, '') <> ''",
105
+ page: "SELECT id, body AS text, 'text' AS field, NULL AS chat_id FROM notes WHERE id > ? AND deleted_at IS NULL " +
106
+ "AND coalesce(body, '') <> '' ORDER BY id LIMIT ?",
107
+ one: "SELECT body AS text, 'text' AS field, NULL AS chat_id FROM notes WHERE id = ? AND deleted_at IS NULL",
108
+ },
109
+ email: {
110
+ count: "SELECT count(*) AS n FROM emails WHERE deleted_at IS NULL AND coalesce(body_text, '') <> ''",
111
+ page: "SELECT id, body_text AS text, 'text' AS field, NULL AS chat_id FROM emails WHERE id > ? AND deleted_at IS NULL " +
112
+ "AND coalesce(body_text, '') <> '' ORDER BY id LIMIT ?",
113
+ one: "SELECT body_text AS text, 'text' AS field, NULL AS chat_id FROM emails WHERE id = ? AND deleted_at IS NULL",
114
+ },
77
115
  };
78
116
  export const SOURCE_TYPES = Object.keys(SOURCES);
79
117
  export const writer = (database, now, kinds) => {
80
118
  // Only the kinds this build finds: a later build's kinds stay when this one reads the text again.
81
119
  const scope = kinds ?? MENTION_KINDS;
82
120
  const only = ` AND kind IN (${scope.map(() => "?").join(", ")})`;
83
- const decided = database.prepare("SELECT kind, value, status, target_type, target_id, author FROM mentions " +
84
- `WHERE source_type = ? AND source_id = ? AND status <> 'found' AND author IS NOT '${METHOD}'${only}`);
121
+ const existing = database.prepare("SELECT kind, value, start_offset, status, target_type, target_id, author, created_at FROM mentions " +
122
+ `WHERE source_type = ? AND source_id = ?${only}`);
123
+ // A decision on a number written without `+` was keyed on its old value; once `phone_countries` reads it as
124
+ // +34…, its identity moves to the new value with it.
125
+ const rekey = database.prepare("UPDATE identities SET external_id = ? WHERE id = ? AND provider = 'phone' AND external_id = ? " +
126
+ "AND NOT EXISTS (SELECT 1 FROM identities WHERE provider = 'phone' AND external_id = ?)");
85
127
  const remove = database.prepare(`DELETE FROM mentions WHERE source_type = ? AND source_id = ?${only}`);
86
128
  const insert = database.prepare("INSERT OR IGNORE INTO mentions (kind, source_type, source_id, source_field, start_offset, end_offset, value, " +
87
129
  "domain, method, version, confidence, status, target_type, target_id, author, created_at, updated_at) " +
88
130
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
89
131
  const original = originalOf(database);
132
+ const phoneCountries = storePhoneCountries(database);
90
133
  const names = !kinds || kinds.includes("person-name") ? nameIndex(knownPeople(database), createStemmer()) : undefined;
91
134
  const chatPeople = participants(database);
92
135
  const found = (source) => [
93
- ...findMentions(source.text).map((one) => ({ ...one, decision: undefined })),
136
+ ...findMentions(source.text, { phoneCountries }).map((one) => ({
137
+ ...one,
138
+ decision: undefined,
139
+ })),
94
140
  ...(names
95
141
  ? findNames(source.text, names).map(({ people, ...one }) => {
96
142
  // One person can be a row per messenger until merged, so a name often fits several: the one who wrote
@@ -110,7 +156,12 @@ export const writer = (database, now, kinds) => {
110
156
  : []),
111
157
  ];
112
158
  return (type, pk, source) => {
113
- const kept = new Map(decided.all(type, pk, ...scope).map((row) => [`${row.kind}\u0000${row.value}`, row]));
159
+ const rows = existing.all(type, pk, ...scope);
160
+ const decided = rows.filter((row) => row.status !== "found" && row.author !== METHOD);
161
+ const kept = new Map(decided.map((row) => [`${row.kind}\u0000${row.value}`, row]));
162
+ const keptHere = new Map(decided.map((row) => [`${row.kind}\u0000${row.start_offset}`, row]));
163
+ // A row found again keeps when it was first found, so a rebuild does not make it new for `mentions list --new`.
164
+ const firstFound = new Map(rows.map((row) => [`${row.kind}\u0000${row.start_offset}`, Number(row.created_at)]));
114
165
  remove.run(type, pk, ...scope);
115
166
  if (source === null)
116
167
  return 0;
@@ -118,8 +169,12 @@ export const writer = (database, now, kinds) => {
118
169
  for (const one of found(source)) {
119
170
  if (kinds && !kinds.includes(one.kind))
120
171
  continue;
121
- const decision = kept.get(`${one.kind}\u0000${one.value}`) ?? one.decision ?? original(one.kind, one.value);
122
- written += Number(insert.run(one.kind, type, pk, source.field, one.start, one.end, one.value, one.domain, METHOD, MENTION_VERSIONS[one.kind], one.confidence, decision ? String(decision.status) : "found", decision?.target_type == null ? null : String(decision.target_type), decision?.target_id == null ? null : Number(decision.target_id), decision?.author == null ? null : String(decision.author), now, now).changes);
172
+ const here = `${one.kind}\u0000${one.start}`;
173
+ const moved = one.kind === "phone" && !kept.has(`${one.kind}\u0000${one.value}`) ? keptHere.get(here) : undefined;
174
+ if (moved?.target_type === "identity")
175
+ rekey.run(one.value, Number(moved.target_id), String(moved.value), one.value);
176
+ const decision = kept.get(`${one.kind}\u0000${one.value}`) ?? moved ?? one.decision ?? original(one.kind, one.value);
177
+ written += Number(insert.run(one.kind, type, pk, source.field, one.start, one.end, one.value, one.domain, METHOD, MENTION_VERSIONS[one.kind], one.confidence, decision ? String(decision.status) : "found", decision?.target_type == null ? null : String(decision.target_type), decision?.target_id == null ? null : Number(decision.target_id), decision?.author == null ? null : String(decision.author), firstFound.get(here) ?? now, now).changes);
123
178
  }
124
179
  return written;
125
180
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mention-drain.js","sourceRoot":"","sources":["../../../src/store/sqlite/mention-drain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mention-drain.js","sourceRoot":"","sources":["../../../src/store/sqlite/mention-drain.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type QueryAst } from "@wirecat/cli-base/query";
2
- import { type MentionKind } from "../../domain/mentions.js";
2
+ import { type Decider, type MentionKind } from "../../domain/mentions.js";
3
3
  import type { CacheDatabase } from "../driver.js";
4
4
  import type { StoreContext } from "./open.js";
5
5
  /** A stored mention of a message's text, with what `mentions list` and `show` need to point at it. */
@@ -20,6 +20,8 @@ export interface StoredMention {
20
20
  chatId: string;
21
21
  messageId: string;
22
22
  sentAt: string;
23
+ /** When the rules first found it here; a rebuild keeps it. `mentions list --new` starts after the last one shown. */
24
+ foundAt: string;
23
25
  /** What was written, read back from the message: never copied into the mention. */
24
26
  written: string;
25
27
  }
@@ -37,6 +39,9 @@ export interface MentionsRebuild {
37
39
  messages: number;
38
40
  /** Files and voice notes of messages whose text was read. */
39
41
  attachments: number;
42
+ documents: number;
43
+ notes: number;
44
+ emails: number;
40
45
  mentions: number;
41
46
  }
42
47
  /**
@@ -51,9 +56,10 @@ export declare const rebuildMentions: (database: CacheDatabase, { now, kinds, on
51
56
  }) => MentionsRebuild;
52
57
  export declare const mentionsState: (database: CacheDatabase) => MentionsState;
53
58
  /** One account's mentions that match the query, newest message first. `limit` absent is every row. */
54
- export declare const listMentions: (database: CacheDatabase, accountPk: number, query: QueryAst | undefined, { limit, offset }: {
59
+ export declare const listMentions: (database: CacheDatabase, accountPk: number, query: QueryAst | undefined, { limit, offset, foundAfter }: {
55
60
  limit?: number;
56
61
  offset: number;
62
+ foundAfter?: number;
57
63
  }) => {
58
64
  items: StoredMention[];
59
65
  hasMore: boolean;
@@ -84,7 +90,7 @@ export declare const confirmMention: (context: StoreContext, accountPk: number,
84
90
  person: number;
85
91
  } | {
86
92
  organization: number;
87
- } | undefined, by: string) => MentionDecision;
93
+ } | undefined, by: Decider) => MentionDecision;
88
94
  /** Not a real mention, or not worth keeping: every place the value is written, now and on later syncs. */
89
- export declare const rejectMention: (context: StoreContext, accountPk: number, id: number, by: string) => MentionDecision;
95
+ export declare const rejectMention: (context: StoreContext, accountPk: number, id: number, by: Decider) => MentionDecision;
90
96
  //# sourceMappingURL=mentions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { defineQuery } from "@wirecat/cli-base/query";
3
- import { MENTION_KINDS, normalizedValue, siteOf } from "../../domain/mentions.js";
3
+ import { MENTION_KINDS, siteOf } from "../../domain/mentions.js";
4
4
  import { findNames, nameIndex } from "../../domain/person-names.js";
5
5
  import { createStemmer } from "../../search/stem.js";
6
- import { knownPeople, participants, SOURCE_TYPES, SOURCES, sourceOf, writer } from "./mention-drain.js";
6
+ import { knownPeople, participants, SOURCE_TYPES, SOURCES, sourceOf, telegramLink, writer, } from "./mention-drain.js";
7
7
  import { linkIdentityToPerson } from "./person-links.js";
8
+ import { valueMatch } from "./phone-countries.js";
8
9
  import { queryFilter } from "./query-filter.js";
9
10
  import { writeBatch } from "./transaction.js";
10
11
  export const MENTION_STATUSES = ["found", "linked", "dismissed"];
@@ -31,12 +32,12 @@ export const MENTION_QUERY = defineQuery({
31
32
  },
32
33
  ],
33
34
  });
34
- const COLUMNS = {
35
+ const columnsOf = (database) => ({
35
36
  kind: { type: "enum", sql: "mn.kind" },
36
37
  status: { type: "enum", sql: "mn.status" },
37
38
  domain: { where: (node) => ({ sql: "mn.domain = ?", params: [siteOf(node.value.toLowerCase())] }) },
38
- value: { where: (node) => ({ sql: "mn.value = ?", params: [normalizedValue(node.value)] }) },
39
- };
39
+ value: { where: (node) => valueMatch(database, node.value) },
40
+ });
40
41
  const REBUILD_BATCH = 1000;
41
42
  const REBUILT_AT = "mentionsRebuiltAt";
42
43
  /**
@@ -46,7 +47,7 @@ const REBUILT_AT = "mentionsRebuiltAt";
46
47
  */
47
48
  export const rebuildMentions = (database, { now, kinds, onBatch, }) => {
48
49
  const total = SOURCE_TYPES.reduce((sum, type) => sum + Number(database.prepare(SOURCES[type].count).get()?.n), 0);
49
- const read = { message: 0, attachment: 0 };
50
+ const read = { message: 0, attachment: 0, document: 0, note: 0, email: 0 };
50
51
  let mentions = 0;
51
52
  for (const type of SOURCE_TYPES) {
52
53
  const batch = database.prepare(SOURCES[type].page);
@@ -66,7 +67,7 @@ export const rebuildMentions = (database, { now, kinds, onBatch, }) => {
66
67
  });
67
68
  read[type] += rows.length;
68
69
  after = Number(rows.at(-1)?.id);
69
- onBatch?.(read.message + read.attachment, total);
70
+ onBatch?.(Object.values(read).reduce((sum, one) => sum + one, 0), total);
70
71
  }
71
72
  }
72
73
  if (!kinds) {
@@ -75,7 +76,14 @@ export const rebuildMentions = (database, { now, kinds, onBatch, }) => {
75
76
  "ON CONFLICT (key) DO UPDATE SET value = excluded.value, at = excluded.at")
76
77
  .run(REBUILT_AT, JSON.stringify(new Date(now).toISOString()), now);
77
78
  }
78
- return { messages: read.message, attachments: read.attachment, mentions };
79
+ return {
80
+ messages: read.message,
81
+ attachments: read.attachment,
82
+ documents: read.document,
83
+ notes: read.note,
84
+ emails: read.email,
85
+ mentions,
86
+ };
79
87
  };
80
88
  export const mentionsState = (database) => {
81
89
  const pending = Number(database.prepare("SELECT count(*) AS n FROM mention_pending").get()?.n);
@@ -84,7 +92,7 @@ export const mentionsState = (database) => {
84
92
  };
85
93
  // A mention in a file or a voice note belongs to that attachment's message, and is listed with it.
86
94
  const SELECT = "SELECT mn.id, mn.kind, mn.value, mn.domain, mn.confidence, mn.status, mn.author, mn.source_field, " +
87
- "mn.target_type, mn.target_id, " +
95
+ "mn.target_type, mn.target_id, mn.created_at, " +
88
96
  "mn.start_offset, mn.end_offset, CASE WHEN mn.source_type = 'attachment' THEN att.text ELSE m.text END AS text, " +
89
97
  "m.external_id AS message_id, m.sent_at, m.chat_id AS chat_pk, c.external_id AS chat_id FROM mentions mn " +
90
98
  "LEFT JOIN attachments att ON mn.source_type = 'attachment' AND att.id = mn.source_id AND att.attachable_type = 'message' " +
@@ -103,14 +111,19 @@ const stored = (row) => ({
103
111
  chatId: String(row.chat_id),
104
112
  messageId: String(row.message_id),
105
113
  sentAt: new Date(Number(row.sent_at)).toISOString(),
114
+ foundAt: new Date(Number(row.created_at)).toISOString(),
106
115
  written: String(row.text).slice(Number(row.start_offset), Number(row.end_offset)),
107
116
  });
108
117
  /** One account's mentions that match the query, newest message first. `limit` absent is every row. */
109
- export const listMentions = (database, accountPk, query, { limit, offset }) => {
118
+ export const listMentions = (database, accountPk, query, { limit, offset, foundAfter }) => {
110
119
  const where = ["m.account_id = ?"];
111
120
  const params = [accountPk];
121
+ if (foundAfter !== undefined) {
122
+ where.push("mn.created_at > ?");
123
+ params.push(foundAfter);
124
+ }
112
125
  if (query) {
113
- const compiled = queryFilter(query, COLUMNS);
126
+ const compiled = queryFilter(query, columnsOf(database));
114
127
  if (compiled.sql) {
115
128
  where.push(`(${compiled.sql})`);
116
129
  params.push(...compiled.params);
@@ -156,18 +169,25 @@ const mentionOfAccount = (database, accountPk, id) => {
156
169
  const row = database.prepare(`${SELECT}WHERE mn.id = ? AND m.account_id = ?`).get(id, accountPk);
157
170
  if (!row)
158
171
  throw new CliError("not_found", `no mention ${id} in this account`);
159
- return { id, kind: String(row.kind), value: String(row.value) };
172
+ return { id, kind: String(row.kind), value: String(row.value), chat: Number(row.chat_pk) };
160
173
  };
161
174
  /**
162
175
  * A phone, an address, a link or a document is decided once for its value, everywhere it is written. A name is
163
176
  * decided where it is written: «Ольга» in two chats can be two people.
164
177
  */
165
- const decide = (database, { id, kind, value }, status, target, by, now) => {
178
+ const decide = (database, { id, kind, value, chat }, status, target, { by, inChat }, now) => {
166
179
  const set = "UPDATE mentions SET status = ?, target_type = ?, target_id = ?, author = ?, updated_at = ? ";
167
180
  const decision = [status, target?.type ?? null, target?.id ?? null, by, now];
168
- const changed = (kind === "person-name"
169
- ? database.prepare(`${set}WHERE id = ?`).run(...decision, id)
170
- : database.prepare(`${set}WHERE kind = ? AND value = ?`).run(...decision, kind, value)).changes;
181
+ // The same name in one chat, still undecided or decided only by the rules: what someone decided stays.
182
+ const sameChat = "WHERE id = ? OR id IN (SELECT mn.id FROM mentions mn LEFT JOIN attachments att ON mn.source_type = 'attachment' " +
183
+ "AND att.id = mn.source_id AND att.attachable_type = 'message' JOIN messages m ON m.id = CASE WHEN " +
184
+ "mn.source_type = 'attachment' THEN att.attachable_id ELSE mn.source_id END WHERE m.chat_id = ? " +
185
+ "AND mn.kind = 'person-name' AND mn.value = ? AND (mn.status = 'found' OR mn.author = 'rules'))";
186
+ const changed = (kind !== "person-name"
187
+ ? database.prepare(`${set}WHERE kind = ? AND value = ?`).run(...decision, kind, value)
188
+ : inChat
189
+ ? database.prepare(`${set}${sameChat}`).run(...decision, id, chat, value)
190
+ : database.prepare(`${set}WHERE id = ?`).run(...decision, id)).changes;
171
191
  return { kind, value, status, target: target ? `${target.type}:${target.id}` : null, mentions: Number(changed) };
172
192
  };
173
193
  /**
@@ -191,12 +211,12 @@ export const confirmMention = (context, accountPk, id, owner, by) => {
191
211
  .prepare("SELECT id FROM identities WHERE provider = ? AND external_id = ?")
192
212
  .get(mention.kind, mention.value)?.id);
193
213
  if ("person" in owner)
194
- linkIdentityToPerson(context, identity, owner.person, { method: "mention", by });
214
+ linkIdentityToPerson(context, identity, owner.person, { method: "mention", by: by.by });
195
215
  else
196
216
  database
197
217
  .prepare("INSERT INTO organization_identities (identity_id, organization_id, method, author, created_at, updated_at) " +
198
218
  "VALUES (?, ?, 'mention', ?, ?, ?) ON CONFLICT (identity_id, organization_id) DO NOTHING")
199
- .run(identity, owner.organization, by, now, now);
219
+ .run(identity, owner.organization, by.by, now, now);
200
220
  return decide(database, mention, "linked", { type: "identity", id: identity }, by, now);
201
221
  }
202
222
  if (mention.kind === "document") {
@@ -213,7 +233,10 @@ export const confirmMention = (context, accountPk, id, owner, by) => {
213
233
  throw new CliError("validation_error", "a name is confirmed to the person it means — person:<uid>");
214
234
  return decide(database, mention, "linked", { type: "person", id: owner.person }, by, now);
215
235
  }
216
- throw new CliError("validation_error", "a link has nothing to be linked to yet; reject it if it is not worth keeping");
236
+ const named = mention.kind === "url" ? telegramLink(database)(mention.value) : undefined;
237
+ if (named)
238
+ return decide(database, mention, "linked", { type: String(named.target_type), id: Number(named.target_id) }, by, now);
239
+ throw new CliError("validation_error", "a link is linked only to a stored Telegram chat or account it names (t.me/…); reject it if it is not worth keeping");
217
240
  };
218
241
  /** Not a real mention, or not worth keeping: every place the value is written, now and on later syncs. */
219
242
  export const rejectMention = (context, accountPk, id, by) => decide(context.database, mentionOfAccount(context.database, accountPk, id), "dismissed", null, by, context.now());
@@ -1 +1 @@
1
- {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../../src/store/sqlite/mentions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.generated.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EA8a7D,CAAA"}
1
+ {"version":3,"file":"migrations.generated.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAwd7D,CAAA"}
@@ -428,6 +428,48 @@ export const GENERATED = [
428
428
  "ALTER TABLE `tasks` ADD `claimed_by` text;",
429
429
  "ALTER TABLE `tasks` ADD `claimed_until` integer;"
430
430
  ]
431
+ },
432
+ {
433
+ "name": "20261014222837_version-14-task-words",
434
+ "statements": [
435
+ "CREATE TABLE `task_index_pending` (\n\t`id` integer NOT NULL,\n\t`indexable_type` text NOT NULL,\n\tCONSTRAINT `task_index_pending_pk` PRIMARY KEY(`indexable_type`, `id`)\n);"
436
+ ]
437
+ },
438
+ {
439
+ "name": "20261014222841_version-14-task-words-triggers",
440
+ "statements": [
441
+ "-- Words and stems of a task's title and description, rowid = task id, for the duplicate check's candidate lookup.\n-- Stemming needs JS, so the triggers only queue the task and the next lookup indexes it, as notes do.\nCREATE VIRTUAL TABLE task_words USING fts5(\n normalized_text, scope,\n content = '', contentless_delete = 1,\n tokenize = 'unicode61 remove_diacritics 2', prefix = '3');",
442
+ "CREATE VIRTUAL TABLE task_words_vocab USING fts5vocab(task_words, 'col');",
443
+ "CREATE VIRTUAL TABLE task_stems USING fts5(\n stems, scope,\n content = '', contentless_delete = 1,\n tokenize = 'unicode61 remove_diacritics 2');",
444
+ "CREATE TRIGGER task_index_ai AFTER INSERT ON tasks BEGIN\n INSERT OR IGNORE INTO task_index_pending (indexable_type, id) VALUES ('task', new.id);\nEND;",
445
+ "CREATE TRIGGER task_index_au AFTER UPDATE OF title, description, deleted_at ON tasks\n WHEN old.title IS NOT new.title OR old.description IS NOT new.description OR old.deleted_at IS NOT new.deleted_at BEGIN\n INSERT OR IGNORE INTO task_index_pending (indexable_type, id) VALUES ('task', new.id);\nEND;",
446
+ "CREATE TRIGGER task_index_ad AFTER DELETE ON tasks BEGIN\n DELETE FROM task_words WHERE rowid = old.id;\n DELETE FROM task_stems WHERE rowid = old.id;\n DELETE FROM task_index_pending WHERE indexable_type = 'task' AND id = old.id;\nEND;",
447
+ "INSERT OR IGNORE INTO search_index_state (name, watermark, filled_through, terms_through, normalizer_version, built_at, analyzer)\n VALUES ('task_index', 0, 0, 0, 1, NULL, NULL);",
448
+ "INSERT OR IGNORE INTO task_index_pending (indexable_type, id) SELECT 'task', id FROM tasks;"
449
+ ]
450
+ },
451
+ {
452
+ "name": "20261015010543_version-15-task-pairs",
453
+ "statements": [
454
+ "CREATE TABLE `task_pairs` (\n\t`id` integer PRIMARY KEY,\n\t`task_id` integer,\n\t`source_locator` text,\n\t`other_id` integer NOT NULL,\n\t`score` integer NOT NULL,\n\t`band` text NOT NULL,\n\t`levels` text NOT NULL,\n\t`reasons` text NOT NULL,\n\t`decision` text NOT NULL,\n\t`decided_by_type` text,\n\t`decided_by_id` integer,\n\t`decided_at` integer,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\tCONSTRAINT `fk_task_pairs_task_id_tasks_id_fk` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`),\n\tCONSTRAINT `fk_task_pairs_other_id_tasks_id_fk` FOREIGN KEY (`other_id`) REFERENCES `tasks`(`id`),\n\tCONSTRAINT `task_pairs_task_id_other_id_unique` UNIQUE(`task_id`,`other_id`)\n);",
455
+ "CREATE INDEX `task_pairs_by_decision_created_at` ON `task_pairs` (`decision`,`created_at`);",
456
+ "CREATE INDEX `task_pairs_by_other_id` ON `task_pairs` (`other_id`);",
457
+ "CREATE INDEX `task_pairs_by_decided_by_type_decided_by_id` ON `task_pairs` (`decided_by_type`,`decided_by_id`);"
458
+ ]
459
+ },
460
+ {
461
+ "name": "20261015014428_version-16-mentions-in-other-texts",
462
+ "statements": [
463
+ "-- Documents, notes and mail have text of their own: queue it for mentions as a message's text is, again when it\n-- changes or is deleted (a soft delete too, so its mentions go), and drop its mentions with the row. Rows stored\n-- before version 16 wait for `mentions rebuild`, as messages stored before version 7 do.\nCREATE TRIGGER mention_pending_document_ai AFTER INSERT ON documents WHEN coalesce(new.body, '') <> '' BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('document', new.id);\nEND;",
464
+ "CREATE TRIGGER mention_pending_document_au AFTER UPDATE OF body, deleted_at ON documents\n WHEN old.body IS NOT new.body OR old.deleted_at IS NOT new.deleted_at BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('document', new.id);\nEND;",
465
+ "CREATE TRIGGER mentions_document_ad AFTER DELETE ON documents BEGIN\n DELETE FROM mentions WHERE source_type = 'document' AND source_id = old.id;\n DELETE FROM mention_pending WHERE source_type = 'document' AND source_id = old.id;\nEND;",
466
+ "CREATE TRIGGER mention_pending_note_ai AFTER INSERT ON notes WHEN coalesce(new.body, '') <> '' BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('note', new.id);\nEND;",
467
+ "CREATE TRIGGER mention_pending_note_au AFTER UPDATE OF body, deleted_at ON notes\n WHEN old.body IS NOT new.body OR old.deleted_at IS NOT new.deleted_at BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('note', new.id);\nEND;",
468
+ "CREATE TRIGGER mentions_note_ad AFTER DELETE ON notes BEGIN\n DELETE FROM mentions WHERE source_type = 'note' AND source_id = old.id;\n DELETE FROM mention_pending WHERE source_type = 'note' AND source_id = old.id;\nEND;",
469
+ "CREATE TRIGGER mention_pending_email_ai AFTER INSERT ON emails WHEN coalesce(new.body_text, '') <> '' BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('email', new.id);\nEND;",
470
+ "CREATE TRIGGER mention_pending_email_au AFTER UPDATE OF body_text, deleted_at ON emails\n WHEN old.body_text IS NOT new.body_text OR old.deleted_at IS NOT new.deleted_at BEGIN\n INSERT OR IGNORE INTO mention_pending (source_type, source_id) VALUES ('email', new.id);\nEND;",
471
+ "CREATE TRIGGER mentions_email_ad AFTER DELETE ON emails BEGIN\n DELETE FROM mentions WHERE source_type = 'email' AND source_id = old.id;\n DELETE FROM mention_pending WHERE source_type = 'email' AND source_id = old.id;\nEND;"
472
+ ]
431
473
  }
432
474
  ];
433
475
  //# sourceMappingURL=migrations.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.generated.js","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.generated.js","sourceRoot":"","sources":["../../../src/store/sqlite/migrations.generated.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export interface NoteIndexState {
15
15
  */
16
16
  export interface Corpus {
17
17
  /** The singular table name: `indexable_type` in the queue, `chunkable_type` in chunks. */
18
- type: "document" | "note" | "memory" | "email";
18
+ type: "document" | "note" | "memory" | "email" | "task";
19
19
  /** Its row in `search_index_state`. */
20
20
  index: string;
21
21
  table: string;
@@ -23,6 +23,11 @@ export interface Corpus {
23
23
  read: string;
24
24
  /** False when the corpus cuts its own pieces for search by meaning, as mail does by thread. */
25
25
  pieces?: false;
26
+ /** The words and stems rows, when the corpus cleans its text its own way; `normalize` and `indexText` otherwise. */
27
+ terms?: (text: string, stemmer: Stemmer) => {
28
+ words: string;
29
+ stems: string;
30
+ };
26
31
  }
27
32
  export declare const CORPORA: {
28
33
  readonly document: {
@@ -50,6 +55,17 @@ export declare const CORPORA: {
50
55
  readonly read: string;
51
56
  readonly pieces: false;
52
57
  };
58
+ readonly task: {
59
+ readonly type: "task";
60
+ readonly index: "task_index";
61
+ readonly table: "tasks";
62
+ readonly read: string;
63
+ readonly pieces: false;
64
+ readonly terms: (text: string, stemmer: Stemmer) => {
65
+ words: string;
66
+ stems: string;
67
+ };
68
+ };
53
69
  };
54
70
  /** What a row is indexed as: its title, then its text. Chunk offsets point into this. */
55
71
  export declare const noteIndexText: (title: string | null, text: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"note-index.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAQjD,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAA;CACf;AAED,eAAO,MAAM,OAAO;;iBAEhB,IAAI,EAAE,UAAU;iBAChB,KAAK,EAAE,gBAAgB;iBACvB,KAAK,EAAE,WAAW;iBAClB,IAAI;;;iBAKJ,IAAI,EAAE,MAAM;iBACZ,KAAK,EAAE,YAAY;iBACnB,KAAK,EAAE,OAAO;iBACd,IAAI,EAAE,6FAA6F;;;iBAGnG,IAAI,EAAE,QAAQ;iBACd,KAAK,EAAE,cAAc;iBACrB,KAAK,EAAE,UAAU;iBACjB,IAAI,EAAE,8FAA8F;;;iBAGpG,IAAI,EAAE,OAAO;iBACb,KAAK,EAAE,aAAa;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI;iBAGJ,MAAM;;CAEiC,CAAA;AAE3C,yFAAyF;AACzF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,IAAI,QAAQ,MAAM,KAAG,MAAgD,CAAA;AAEnH,eAAO,MAAM,gBAAgB,aAAc,aAAa,UAAU,MAAM,KAAG,cAU1E,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,cASxD,CAAA;AAgED;;;GAGG;AACH,eAAO,MAAM,WAAW,aACZ,aAAa,UACf,MAAM,cACF,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,qBACL;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KAC9E,MA2CF,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,aACf,aAAa,cACX,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,YAClC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KACjD,MAEuD,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,OAUxD,CAAA"}
1
+ {"version":3,"file":"note-index.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/note-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEtG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAQjD,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IACvD,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,oHAAoH;IACpH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7E;AAED,eAAO,MAAM,OAAO;;iBAEhB,IAAI,EAAE,UAAU;iBAChB,KAAK,EAAE,gBAAgB;iBACvB,KAAK,EAAE,WAAW;iBAClB,IAAI;;;iBAKJ,IAAI,EAAE,MAAM;iBACZ,KAAK,EAAE,YAAY;iBACnB,KAAK,EAAE,OAAO;iBACd,IAAI,EAAE,6FAA6F;;;iBAGnG,IAAI,EAAE,QAAQ;iBACd,KAAK,EAAE,cAAc;iBACrB,KAAK,EAAE,UAAU;iBACjB,IAAI,EAAE,8FAA8F;;;iBAGpG,IAAI,EAAE,OAAO;iBACb,KAAK,EAAE,aAAa;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI;iBAGJ,MAAM;;;uBAGA,MAAM;wBACL,YAAY;wBACZ,OAAO;;;;;;;;CAQyB,CAAA;AAE3C,yFAAyF;AACzF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,IAAI,QAAQ,MAAM,KAAG,MAAgD,CAAA;AAEnH,eAAO,MAAM,gBAAgB,aAAc,aAAa,UAAU,MAAM,KAAG,cAU1E,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,cASxD,CAAA;AAiED;;;GAGG;AACH,eAAO,MAAM,WAAW,aACZ,aAAa,UACf,MAAM,cACF,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,qBACL;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KAC9E,MA2CF,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,aACf,aAAa,cACX,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,YAClC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KACjD,MAEuD,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,aAAc,aAAa,KAAG,OAUxD,CAAA"}