@wirecat/cli-core 0.276.0 → 0.278.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 (86) hide show
  1. package/dist/cli/index.d.ts +1 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +1 -0
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/cli/json-fields.d.ts +5 -3
  6. package/dist/cli/json-fields.d.ts.map +1 -1
  7. package/dist/cli/json-fields.js +8 -5
  8. package/dist/cli/json-fields.js.map +1 -1
  9. package/dist/meetings/index.d.ts +2 -0
  10. package/dist/meetings/index.d.ts.map +1 -1
  11. package/dist/meetings/index.js +2 -0
  12. package/dist/meetings/index.js.map +1 -1
  13. package/dist/meetings/preparation-context.d.ts +55 -0
  14. package/dist/meetings/preparation-context.d.ts.map +1 -0
  15. package/dist/meetings/preparation-context.js +25 -0
  16. package/dist/meetings/preparation-context.js.map +1 -0
  17. package/dist/meetings/series-history.d.ts +33 -0
  18. package/dist/meetings/series-history.d.ts.map +1 -0
  19. package/dist/meetings/series-history.js +24 -0
  20. package/dist/meetings/series-history.js.map +1 -0
  21. package/dist/services/index.d.ts +2 -0
  22. package/dist/services/index.d.ts.map +1 -1
  23. package/dist/services/index.js +1 -0
  24. package/dist/services/index.js.map +1 -1
  25. package/dist/services/meeting-preparation-types.d.ts +53 -0
  26. package/dist/services/meeting-preparation-types.d.ts.map +1 -0
  27. package/dist/services/meeting-preparation-types.js +2 -0
  28. package/dist/services/meeting-preparation-types.js.map +1 -0
  29. package/dist/services/meeting-preparation-validation.d.ts +23 -0
  30. package/dist/services/meeting-preparation-validation.d.ts.map +1 -0
  31. package/dist/services/meeting-preparation-validation.js +56 -0
  32. package/dist/services/meeting-preparation-validation.js.map +1 -0
  33. package/dist/services/meeting-preparation.d.ts +7 -0
  34. package/dist/services/meeting-preparation.d.ts.map +1 -0
  35. package/dist/services/meeting-preparation.js +125 -0
  36. package/dist/services/meeting-preparation.js.map +1 -0
  37. package/dist/store/index.d.ts +1 -0
  38. package/dist/store/index.d.ts.map +1 -1
  39. package/dist/store/index.js.map +1 -1
  40. package/dist/store/sqlite/email-index.d.ts +23 -0
  41. package/dist/store/sqlite/email-index.d.ts.map +1 -0
  42. package/dist/store/sqlite/email-index.js +160 -0
  43. package/dist/store/sqlite/email-index.js.map +1 -0
  44. package/dist/store/sqlite/emails.d.ts +10 -1
  45. package/dist/store/sqlite/emails.d.ts.map +1 -1
  46. package/dist/store/sqlite/emails.js +5 -157
  47. package/dist/store/sqlite/emails.js.map +1 -1
  48. package/dist/store/sqlite/mail-rules.d.ts +53 -0
  49. package/dist/store/sqlite/mail-rules.d.ts.map +1 -0
  50. package/dist/store/sqlite/mail-rules.js +80 -0
  51. package/dist/store/sqlite/mail-rules.js.map +1 -0
  52. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  53. package/dist/store/sqlite/manifest.js +1 -0
  54. package/dist/store/sqlite/manifest.js.map +1 -1
  55. package/dist/store/sqlite/meeting-preparation-context.d.ts +4 -0
  56. package/dist/store/sqlite/meeting-preparation-context.d.ts.map +1 -0
  57. package/dist/store/sqlite/meeting-preparation-context.js +50 -0
  58. package/dist/store/sqlite/meeting-preparation-context.js.map +1 -0
  59. package/dist/store/sqlite/meeting-series-history.d.ts +4 -0
  60. package/dist/store/sqlite/meeting-series-history.d.ts.map +1 -0
  61. package/dist/store/sqlite/meeting-series-history.js +67 -0
  62. package/dist/store/sqlite/meeting-series-history.js.map +1 -0
  63. package/dist/store/sqlite/meetings.d.ts +3 -2
  64. package/dist/store/sqlite/meetings.d.ts.map +1 -1
  65. package/dist/store/sqlite/meetings.js +4 -0
  66. package/dist/store/sqlite/meetings.js.map +1 -1
  67. package/dist/store/sqlite/mentions.d.ts.map +1 -1
  68. package/dist/store/sqlite/mentions.js +4 -2
  69. package/dist/store/sqlite/mentions.js.map +1 -1
  70. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  71. package/dist/store/sqlite/migrations.generated.js +8 -0
  72. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  73. package/dist/store/sqlite/preparation-context-queries.d.ts +51 -0
  74. package/dist/store/sqlite/preparation-context-queries.d.ts.map +1 -0
  75. package/dist/store/sqlite/preparation-context-queries.js +51 -0
  76. package/dist/store/sqlite/preparation-context-queries.js.map +1 -0
  77. package/dist/store/sqlite/schema.d.ts +183 -0
  78. package/dist/store/sqlite/schema.d.ts.map +1 -1
  79. package/dist/store/sqlite/schema.js +17 -0
  80. package/dist/store/sqlite/schema.js.map +1 -1
  81. package/dist/store/store.d.ts +2 -3
  82. package/dist/store/store.d.ts.map +1 -1
  83. package/dist/store/store.js +2 -1
  84. package/dist/store/store.js.map +1 -1
  85. package/package.json +1 -1
  86. package/parity.json +8 -24
@@ -1,12 +1,11 @@
1
- import { CHUNK_CHARS, chunkHash, cutChunks, splitText } from "../../conversations/chunks.js";
2
- import { mailCore } from "../../conversations/mail-text.js";
3
1
  import { formatLocator } from "../../domain/locator.js";
4
2
  import { formatReference } from "../../domain/references.js";
5
3
  import { normalize } from "../normalize.js";
4
+ import { chunkAttachments, drainEmailIndex, dropAttachmentChunks, MAIL_PIECES, purgeUnused, queueThreads, threadPieces, titleOf, } from "./email-index.js";
6
5
  import { bool, flag, fromJson, int, page, str, toJson } from "./events.js";
7
6
  import { ensurePerson } from "./identities.js";
7
+ import { mailRulesOver } from "./mail-rules.js";
8
8
  import { attachmentOf, saveAttachment, wordsQuery } from "./meetings.js";
9
- import { CORPORA, drainCorpus } from "./note-index.js";
10
9
  import { inBatch } from "./search-index.js";
11
10
  import { stemmerCache } from "./stems.js";
12
11
  import { dot } from "./vectors.js";
@@ -85,6 +84,7 @@ const emailOf = (database, row) => ({
85
84
  size: int(row.size),
86
85
  headers: fromJson(row.headers),
87
86
  metadata: fromJson(row.metadata),
87
+ mailRuleId: int(row.mail_rule_id),
88
88
  recipients: database
89
89
  .prepare("SELECT * FROM email_recipients WHERE email_id = ? ORDER BY position")
90
90
  .all(Number(row.id))
@@ -125,7 +125,6 @@ const threadDetails = (database, id) => {
125
125
  .map((e) => emailOf(database, e)),
126
126
  };
127
127
  };
128
- const titleOf = (subject) => subject?.replace(/^\s*((re|fwd?|aw|wg)\s*:\s*)+/i, "").trim() || null;
129
128
  /** An address is an identity of provider `email`; a display name fills only a nameless one. */
130
129
  const addressIdentity = (database, orm, accountId, { address, name }, now) => {
131
130
  const id = identityOf(database, { address, name }, now);
@@ -175,101 +174,6 @@ const mailboxPk = (database, accountId, box, now) => {
175
174
  const join = (database, emailId, mailboxId, now) => database
176
175
  .prepare("INSERT OR IGNORE INTO email_mailboxes (email_id, mailbox_id, created_at) VALUES (?, ?, ?)")
177
176
  .run(emailId, mailboxId, now);
178
- /**
179
- * Every piece of mail: a stretch of a thread, or of one email's attachment. A thread piece holds no email of its
180
- * own; `threadPieces` cuts the thread again to find which emails it spans.
181
- */
182
- const MAIL_PIECES = `(SELECT k.id, k.content_hash, k.chunkable_type AS type, k.chunkable_id AS owner, k.position,
183
- k.start_offset, k.end_offset, k.account_id, k.occurred_at, a.attachable_id AS email_id,
184
- CASE k.chunkable_type WHEN 'email_thread' THEN k.chunkable_id
185
- ELSE (SELECT email_thread_id FROM emails WHERE id = a.attachable_id) END AS thread_id
186
- FROM chunks k LEFT JOIN attachments a ON k.chunkable_type = 'attachment' AND a.id = k.chunkable_id
187
- AND a.attachable_type = 'email'
188
- WHERE k.chunkable_type = 'email_thread' OR a.id IS NOT NULL) p`;
189
- /** A thread's live emails, oldest first, each as what it adds: its subject, then its own text. */
190
- const threadText = (database, threadId) => {
191
- const rows = database
192
- .prepare(`SELECT id, subject, coalesce(body_text, '') AS body, coalesce(from_name, from_address) AS sender,
193
- coalesce(received_at, sent_at) AS at
194
- FROM emails WHERE email_thread_id = ? AND deleted_at IS NULL ORDER BY coalesce(sent_at, received_at), id`)
195
- .all(threadId);
196
- const earlier = [];
197
- const at = new Map();
198
- const lines = rows.map((row) => {
199
- const body = String(row.body);
200
- const core = mailCore(body, earlier);
201
- earlier.push(body);
202
- const subject = titleOf(str(row.subject));
203
- const text = subject ? `${subject}\n\n${core}` : core;
204
- at.set(String(row.id), int(row.at) ?? null);
205
- return { id: String(row.id), sender: str(row.sender), text };
206
- });
207
- return { lines, at };
208
- };
209
- /**
210
- * A thread's pieces, email by email: a piece never spans two emails, so a hit names the email that holds it
211
- * (bench/mail-quality). A new reply adds its own pieces; every earlier one keeps its hash and so its vector.
212
- */
213
- const threadPieces = (database, threadId) => cutThread(threadText(database, threadId).lines);
214
- /** The one cut of a thread: what is stored, what is embedded and what a hit is read back from must agree. */
215
- const cutThread = (lines) => lines.flatMap((line) => cutChunks([line], CHUNK_CHARS));
216
- const chunkThread = (database, threadId, now) => {
217
- const before = database
218
- .prepare("SELECT content_hash AS hash FROM chunks WHERE chunkable_type = 'email_thread' AND chunkable_id = ?")
219
- .all(threadId)
220
- .map(({ hash }) => String(hash));
221
- database.prepare("DELETE FROM chunks WHERE chunkable_type = 'email_thread' AND chunkable_id = ?").run(threadId);
222
- const thread = database
223
- .prepare("SELECT t.account_id, a.scope FROM email_threads t JOIN accounts a ON a.id = t.account_id WHERE t.id = ?")
224
- .get(threadId);
225
- if (thread) {
226
- const { lines, at } = threadText(database, threadId);
227
- const insert = database.prepare(`INSERT INTO chunks (chunkable_type, chunkable_id, position, start_offset, end_offset, content_hash, scope, account_id,
228
- occurred_at, created_at, updated_at) VALUES ('email_thread', ?, ?, 0, ?, ?, ?, ?, ?, ?, ?)`);
229
- for (const [position, piece] of cutThread(lines).entries())
230
- insert.run(threadId, position, piece.text.length, piece.hash, str(thread.scope), Number(thread.account_id), at.get(piece.lastId) ?? null, now, now);
231
- }
232
- purgeUnused(database, before);
233
- };
234
- const queueThreads = (database, ids) => {
235
- const queue = database.prepare("INSERT OR IGNORE INTO email_index_pending (indexable_type, id) VALUES ('email_thread', ?)");
236
- for (const id of ids)
237
- queue.run(id);
238
- };
239
- const ATTACHMENTS_OF_EMAIL = "SELECT id FROM attachments WHERE attachable_type = 'email' AND attachable_id = ?";
240
- /** Drops the pieces of an email's attachment texts; answers their hashes, for `purgeUnused` once new ones are in. */
241
- const dropAttachmentChunks = (database, emailId) => {
242
- const hashes = database
243
- .prepare(`SELECT content_hash AS hash FROM chunks WHERE chunkable_type = 'attachment' AND chunkable_id IN (${ATTACHMENTS_OF_EMAIL})`)
244
- .all(emailId)
245
- .map(({ hash }) => String(hash));
246
- database
247
- .prepare(`DELETE FROM chunks WHERE chunkable_type = 'attachment' AND chunkable_id IN (${ATTACHMENTS_OF_EMAIL})`)
248
- .run(emailId);
249
- return hashes;
250
- };
251
- /** Vectors are keyed by text alone, so one goes only when no piece of anything holds that text any more. */
252
- const purgeUnused = (database, hashes) => {
253
- const purge = database.prepare("DELETE FROM embeddings WHERE content_hash = ? AND NOT EXISTS (SELECT 1 FROM chunks WHERE content_hash = ?)");
254
- for (const hash of new Set(hashes))
255
- purge.run(hash, hash);
256
- };
257
- /** Each attachment's extracted text, in pieces for search by meaning, as an email's own text is. */
258
- const chunkAttachments = (database, accountId, emailId, now) => {
259
- const email = database
260
- .prepare("SELECT a.scope, coalesce(e.received_at, e.sent_at) AS at FROM emails e JOIN accounts a ON a.id = e.account_id WHERE e.id = ?")
261
- .get(emailId);
262
- const insert = database.prepare(`INSERT INTO chunks (chunkable_type, chunkable_id, position, start_offset, end_offset, content_hash, scope, account_id,
263
- occurred_at, created_at, updated_at) VALUES ('attachment', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
264
- const files = database
265
- .prepare("SELECT id, text FROM attachments WHERE attachable_type = 'email' AND attachable_id = ? AND text <> ''")
266
- .all(emailId);
267
- for (const file of files) {
268
- const text = String(file.text);
269
- for (const [position, { start, end }] of splitText(text, CHUNK_CHARS).entries())
270
- insert.run(Number(file.id), position, start, end, chunkHash(text.slice(start, end)), str(email?.scope), accountId, int(email?.at), now, now);
271
- }
272
- };
273
177
  const saveEmail = (database, orm, accountId, threadId, mail, now) => {
274
178
  if (!mail.externalId)
275
179
  throw new Error("Invalid email key");
@@ -296,6 +200,7 @@ const saveEmail = (database, orm, accountId, threadId, mail, now) => {
296
200
  ["size", "size", (v) => v],
297
201
  ["headers", "headers", toJson],
298
202
  ["metadata", "metadata", toJson],
203
+ ["mailRuleId", "mail_rule_id", (v) => v],
299
204
  ];
300
205
  for (const [field, column, encode] of optional)
301
206
  if (mail[field] !== undefined)
@@ -489,65 +394,8 @@ export const emailHitsByPk = (database, pks) => {
489
394
  * Indexes the queued emails as the notes are indexed, words and stems of the subject, then the body; then cuts
490
395
  * the threads they belong to into pieces for search by meaning.
491
396
  */
492
- const MAIL_CUT = "mail_pieces_cut";
493
- const CUT = "email";
494
- export const drainEmailIndex = (database, stemmerFor) => {
495
- // Mail was once cut without cleaning, then across the emails of a thread; a store cut either way is cut again.
496
- if (database.prepare("SELECT value FROM store_settings WHERE key = ?").get(MAIL_CUT)?.value !== CUT)
497
- inBatch(database, () => {
498
- const single = database
499
- .prepare("SELECT DISTINCT content_hash AS hash FROM chunks WHERE chunkable_type = 'email'")
500
- .all()
501
- .map(({ hash }) => String(hash));
502
- database.prepare("DELETE FROM chunks WHERE chunkable_type = 'email'").run();
503
- queueThreads(database, database
504
- .prepare("SELECT id FROM email_threads")
505
- .all()
506
- .map(({ id }) => Number(id)));
507
- purgeUnused(database, single);
508
- database
509
- .prepare("INSERT OR REPLACE INTO store_settings (key, value, at) VALUES (?, ?, ?)")
510
- .run(MAIL_CUT, CUT, Date.now());
511
- });
512
- database
513
- .prepare(`INSERT OR IGNORE INTO email_index_pending (indexable_type, id)
514
- SELECT DISTINCT 'email_thread', e.email_thread_id FROM email_index_pending q JOIN emails e ON e.id = q.id
515
- WHERE q.indexable_type = 'email' AND e.email_thread_id IS NOT NULL`)
516
- .run();
517
- // Attachments saved before their text was cut into pieces get them here, once.
518
- const unchunked = database
519
- .prepare(`SELECT DISTINCT e.id, e.account_id FROM attachments a JOIN emails e ON a.attachable_type = 'email' AND e.id = a.attachable_id
520
- WHERE a.text <> '' AND e.deleted_at IS NULL
521
- AND NOT EXISTS (SELECT 1 FROM chunks k WHERE k.chunkable_type = 'attachment' AND k.chunkable_id = a.id)`)
522
- .all();
523
- if (unchunked.length)
524
- inBatch(database, () => {
525
- for (const row of unchunked) {
526
- const before = dropAttachmentChunks(database, Number(row.id));
527
- chunkAttachments(database, Number(row.account_id), Number(row.id), Date.now());
528
- purgeUnused(database, before);
529
- }
530
- });
531
- const emails = drainCorpus(database, CORPORA.email, stemmerFor);
532
- const next = database.prepare("SELECT id FROM email_index_pending WHERE indexable_type = 'email_thread' ORDER BY id LIMIT 50");
533
- const done = database.prepare("DELETE FROM email_index_pending WHERE indexable_type = 'email_thread' AND id = ?");
534
- let threads = 0;
535
- for (;;) {
536
- const count = inBatch(database, () => {
537
- const ids = next.all().map(({ id }) => Number(id));
538
- for (const id of ids) {
539
- chunkThread(database, id, Date.now());
540
- done.run(id);
541
- }
542
- return ids.length;
543
- });
544
- if (count === 0)
545
- break;
546
- threads += count;
547
- }
548
- return emails + threads;
549
- };
550
397
  export const mailStoreOver = ({ database, orm }, stemmerFor = stemmerCache()) => ({
398
+ rules: mailRulesOver(database),
551
399
  async saveThread(input) {
552
400
  const id = inBatch(database, () => saveThread(database, orm, input));
553
401
  return threadDetails(database, id);
@@ -1 +1 @@
1
- {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/store/sqlite/emails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/store/sqlite/emails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { JsonValue } from "../../meetings/index.js";
2
+ import type { CacheDatabase } from "../driver.js";
3
+ type JsonObject = {
4
+ [key: string]: JsonValue;
5
+ };
6
+ /** A rule to save. The store keeps `conditions` and `actions` as they are given; the caller decides their shape. */
7
+ export interface MailRuleInput {
8
+ /** All must match. Two rules with the same conditions, in any key order, are the same rule. */
9
+ conditions: JsonObject;
10
+ /** What to do with a match: `store` (`full`, `envelope`, `skip`), `tags`. */
11
+ actions: JsonObject;
12
+ /** No cleanup may cut, archive or trash what a protected rule matches. */
13
+ protected?: boolean;
14
+ /** `owner`, `preset:<name>`, `probe`, `gmail-filter`. */
15
+ source: string;
16
+ reason?: string | null;
17
+ decidedAt: number;
18
+ }
19
+ export interface MailRule {
20
+ id: number;
21
+ accountId: number;
22
+ conditions: JsonObject;
23
+ actions: JsonObject;
24
+ protected: boolean;
25
+ source: string;
26
+ reason: string | null;
27
+ decidedAt: number;
28
+ createdAt: number;
29
+ updatedAt: number;
30
+ }
31
+ /** The live emails one rule decided, and their size at the source. */
32
+ export interface MailRuleCount {
33
+ ruleId: number;
34
+ emails: number;
35
+ bytes: number;
36
+ }
37
+ export interface MailRulesStore {
38
+ /** Oldest first. */
39
+ list(accountId: number): Promise<MailRule[]>;
40
+ /** A rule with the same conditions is replaced, and keeps its id and the emails it decided. */
41
+ upsert(accountId: number, rule: MailRuleInput, now: number): Promise<MailRule>;
42
+ /** Clears the rule from the emails it decided. Answers false when no rule has these conditions. */
43
+ remove(accountId: number, conditions: JsonObject): Promise<boolean>;
44
+ /** Every rule's live emails and bytes in one query; a rule that decided none is left out. */
45
+ counts(accountId: number): Promise<MailRuleCount[]>;
46
+ /** Records which rule decided these emails, by Message-ID; `null` clears it. Answers how many changed. */
47
+ assign(accountId: number, ruleId: number | null, externalIds: string[], now: number): Promise<number>;
48
+ }
49
+ /** The conditions as stored: keys sorted, so the unique key does not depend on the order they were written in. */
50
+ export declare const conditionsKey: (conditions: JsonObject) => string;
51
+ export declare const mailRulesOver: (database: CacheDatabase) => MailRulesStore;
52
+ export {};
53
+ //# sourceMappingURL=mail-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-rules.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/mail-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,cAAc,CAAA;AAI3D,KAAK,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAE9C,oHAAoH;AACpH,MAAM,WAAW,aAAa;IAC5B,+FAA+F;IAC/F,UAAU,EAAE,UAAU,CAAA;IACtB,6EAA6E;IAC7E,OAAO,EAAE,UAAU,CAAA;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC5C,+FAA+F;IAC/F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9E,mGAAmG;IACnG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,6FAA6F;IAC7F,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACnD,0GAA0G;IAC1G,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACtG;AAaD,kHAAkH;AAClH,eAAO,MAAM,aAAa,eAAgB,UAAU,KAAG,MAA4C,CAAA;AAkBnG,eAAO,MAAM,aAAa,aAAc,aAAa,KAAG,cAuEtD,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { atomic } from "./atomic.js";
2
+ const sorted = (value) => Array.isArray(value)
3
+ ? value.map(sorted)
4
+ : value !== null && typeof value === "object"
5
+ ? Object.fromEntries(Object.keys(value)
6
+ .sort()
7
+ .map((key) => [key, sorted(value[key])]))
8
+ : value;
9
+ /** The conditions as stored: keys sorted, so the unique key does not depend on the order they were written in. */
10
+ export const conditionsKey = (conditions) => JSON.stringify(sorted(conditions));
11
+ const ruleOf = (row) => ({
12
+ id: Number(row.id),
13
+ accountId: Number(row.account_id),
14
+ conditions: JSON.parse(String(row.conditions)),
15
+ actions: JSON.parse(String(row.actions)),
16
+ protected: Number(row.protected) === 1,
17
+ source: String(row.source),
18
+ reason: row.reason === null ? null : String(row.reason),
19
+ decidedAt: Number(row.decided_at),
20
+ createdAt: Number(row.created_at),
21
+ updatedAt: Number(row.updated_at),
22
+ });
23
+ // SQLite allows 32766 parameters; two are taken by the account and the rule.
24
+ const CHUNK = 30_000;
25
+ export const mailRulesOver = (database) => ({
26
+ async list(accountId) {
27
+ return database.prepare("SELECT * FROM mail_rules WHERE account_id = ? ORDER BY id").all(accountId).map(ruleOf);
28
+ },
29
+ async upsert(accountId, rule, now) {
30
+ const row = database
31
+ .prepare(`INSERT INTO mail_rules
32
+ (account_id, conditions, actions, protected, source, reason, decided_at, created_at, updated_at)
33
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
34
+ ON CONFLICT (account_id, conditions) DO UPDATE SET actions = excluded.actions,
35
+ protected = excluded.protected, source = excluded.source, reason = excluded.reason,
36
+ decided_at = excluded.decided_at, updated_at = excluded.updated_at
37
+ RETURNING *`)
38
+ .get(accountId, conditionsKey(rule.conditions), JSON.stringify(sorted(rule.actions)), rule.protected ? 1 : 0, rule.source, rule.reason ?? null, rule.decidedAt, now, now);
39
+ return ruleOf(row);
40
+ },
41
+ async remove(accountId, conditions) {
42
+ return atomic(database, () => {
43
+ const found = database
44
+ .prepare("SELECT id FROM mail_rules WHERE account_id = ? AND conditions = ?")
45
+ .get(accountId, conditionsKey(conditions));
46
+ if (!found)
47
+ return false;
48
+ database.prepare("UPDATE emails SET mail_rule_id = NULL WHERE mail_rule_id = ?").run(Number(found.id));
49
+ database.prepare("DELETE FROM mail_rules WHERE id = ?").run(Number(found.id));
50
+ return true;
51
+ });
52
+ },
53
+ async counts(accountId) {
54
+ return database
55
+ .prepare(`SELECT e.mail_rule_id AS rule, count(*) AS emails, coalesce(sum(e.size), 0) AS bytes
56
+ FROM emails e JOIN mail_rules r ON r.id = e.mail_rule_id
57
+ WHERE r.account_id = ? AND e.mail_rule_id IS NOT NULL AND e.deleted_at IS NULL
58
+ GROUP BY e.mail_rule_id ORDER BY e.mail_rule_id`)
59
+ .all(accountId)
60
+ .map((row) => ({ ruleId: Number(row.rule), emails: Number(row.emails), bytes: Number(row.bytes) }));
61
+ },
62
+ async assign(accountId, ruleId, externalIds, now) {
63
+ return atomic(database, () => {
64
+ if (ruleId !== null &&
65
+ !database.prepare("SELECT 1 FROM mail_rules WHERE id = ? AND account_id = ?").get(ruleId, accountId))
66
+ throw new Error(`Mail rule ${ruleId} is not a rule of account ${accountId}`);
67
+ let changed = 0;
68
+ for (let start = 0; start < externalIds.length; start += CHUNK) {
69
+ const ids = externalIds.slice(start, start + CHUNK);
70
+ const params = [ruleId, now, accountId, ...ids];
71
+ changed += database
72
+ .prepare(`UPDATE emails SET mail_rule_id = ?, updated_at = ?
73
+ WHERE account_id = ? AND external_id IN (${ids.map(() => "?").join(", ")})`)
74
+ .run(...params).changes;
75
+ }
76
+ return changed;
77
+ });
78
+ },
79
+ });
80
+ //# sourceMappingURL=mail-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-rules.js","sourceRoot":"","sources":["../../../src/store/sqlite/mail-rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,4FAA4F;AAC5F,eAAO,MAAM,QAAQ,EAAE,aAAa,EAcnC,CAAA;AAED,eAAO,MAAM,mBAAmB,cACpB,aAAa,EAAE,cACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,KAClD,SAAS,EAeX,CAAA"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,4FAA4F;AAC5F,eAAO,MAAM,QAAQ,EAAE,aAAa,EAenC,CAAA;AAED,eAAO,MAAM,mBAAmB,cACpB,aAAa,EAAE,cACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,KAClD,SAAS,EAeX,CAAA"}
@@ -14,6 +14,7 @@ export const MANIFEST = [
14
14
  { name: "20261014105203_version-9-folded-fill", version: 9, minCompatible: 1 },
15
15
  { name: "20261014123446_version-10-mentions-in-attachments", version: 10, minCompatible: 1 },
16
16
  { name: "20261014125554_version-11-organization-identities", version: 11, minCompatible: 1 },
17
+ { name: "20261014195259_version-12-mail-rules", version: 12, minCompatible: 1 },
17
18
  ];
18
19
  export const generatedMigrations = (manifest = MANIFEST, generated = GENERATED) => {
19
20
  const migrations = [];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAgBrD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAChE,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACxE,EAAE,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACtF,EAAE,IAAI,EAAE,qCAAqC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7E,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC3E,EAAE,IAAI,EAAE,4CAA4C,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACpF,EAAE,IAAI,EAAE,uCAAuC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC/E,EAAE,IAAI,EAAE,sCAAsC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC9E,EAAE,IAAI,EAAE,mDAAmD,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC5F,EAAE,IAAI,EAAE,mDAAmD,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;CAC7F,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAQ,GAAoB,QAAQ,EACpC,SAAS,GAA6C,SAAS,EAClD,EAAE;IACf,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,gEAAgE,CAAC,CAAA;QACpH,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACpH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/store/sqlite/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type MeetingPreparationContextStore } from "../../meetings/index.js";
2
+ import type { StoreContext } from "./open.js";
3
+ export declare const meetingPreparationContextOver: ({ database, }: Pick<StoreContext, "database">) => MeetingPreparationContextStore;
4
+ //# sourceMappingURL=meeting-preparation-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-preparation-context.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/meeting-preparation-context.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,8BAA8B,EAEpC,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,eAAO,MAAM,6BAA6B,kBAEvC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,KAAG,8BAgDlC,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { formatMeetingReference, validateMeetingPreparationContext, } from "../../meetings/index.js";
3
+ import { meetingReadSnapshot } from "./meeting-reads.js";
4
+ import { preparationQueries } from "./preparation-context-queries.js";
5
+ export const meetingPreparationContextOver = ({ database, }) => ({
6
+ async preparationContext(original) {
7
+ const input = validateMeetingPreparationContext(original);
8
+ const { accountId, meetingId, seriesId, updatedAt, limit, maxReadBytes, signal } = input;
9
+ return meetingReadSnapshot(database, () => {
10
+ const live = database
11
+ .prepare("SELECT 1 FROM meetings m JOIN meeting_series s ON s.id=m.meeting_series_id WHERE m.id=? AND m.account_id=? AND s.account_id=? AND s.id=? AND m.updated_at=? AND m.deleted_at IS NULL AND s.deleted_at IS NULL")
12
+ .get(meetingId, accountId, accountId, seriesId, updatedAt);
13
+ if (!live)
14
+ throw new CliError("not_found", "The selected meeting history changed or is unavailable");
15
+ const keys = ["participants", "projects", "facts", "tasks"];
16
+ const params = (key) => key === "tasks"
17
+ ? [formatMeetingReference({ type: "meeting", accountId, meetingId }), accountId, limit + 1]
18
+ : [meetingId, limit + 1];
19
+ let total = 0;
20
+ for (const key of keys) {
21
+ const query = preparationQueries[key];
22
+ const bytes = query.text.map((field) => `coalesce(length(CAST(${field} AS BLOB)),0)`).join("+");
23
+ const probe = database
24
+ .prepare(`SELECT coalesce(sum(read_bytes),0) AS read_bytes FROM (SELECT ${bytes} AS read_bytes ${query.from})`)
25
+ .get(...params(key));
26
+ total += Number(probe?.read_bytes);
27
+ if (!Number.isSafeInteger(total) || total < 0 || total > maxReadBytes)
28
+ throw new CliError("validation_error", "Preparation context exceeds the stored text byte budget");
29
+ }
30
+ signal?.throwIfAborted();
31
+ const read = (key) => {
32
+ const query = preparationQueries[key];
33
+ const rows = database.prepare(`SELECT ${query.fields} ${query.from}`).all(...params(key));
34
+ return {
35
+ items: rows.slice(0, limit).map((row) => query.map(row)),
36
+ hasMore: rows.length > limit,
37
+ };
38
+ };
39
+ const result = {
40
+ participants: read("participants"),
41
+ projects: read("projects"),
42
+ facts: read("facts"),
43
+ tasks: read("tasks"),
44
+ };
45
+ signal?.throwIfAborted();
46
+ return result;
47
+ });
48
+ },
49
+ });
50
+ //# sourceMappingURL=meeting-preparation-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-preparation-context.js","sourceRoot":"","sources":["../../../src/store/sqlite/meeting-preparation-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type MeetingSeriesHistoryStore } from "../../meetings/index.js";
2
+ import type { StoreContext } from "./open.js";
3
+ export declare const meetingSeriesHistoryOver: ({ database }: Pick<StoreContext, "database">) => MeetingSeriesHistoryStore;
4
+ //# sourceMappingURL=meeting-series-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-series-history.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/meeting-series-history.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,yBAAyB,EAAgC,MAAM,yBAAyB,CAAA;AAGtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAQ7C,eAAO,MAAM,wBAAwB,iBAAkB,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,KAAG,yBA6DtF,CAAA"}