@leemour/cli-messaging 0.147.0 → 0.148.1
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.
- package/dist/background/index.d.ts +1 -1
- package/dist/background/index.d.ts.map +1 -1
- package/dist/background/index.js +1 -1
- package/dist/background/index.js.map +1 -1
- package/dist/background/lock.d.ts +6 -0
- package/dist/background/lock.d.ts.map +1 -1
- package/dist/background/lock.js +31 -1
- package/dist/background/lock.js.map +1 -1
- package/dist/cli/config-command.d.ts.map +1 -1
- package/dist/cli/config-command.js +17 -3
- package/dist/cli/config-command.js.map +1 -1
- package/dist/cli/index.d.ts +7 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/messenger/chats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-command.js +2 -2
- package/dist/cli/messenger/chats-command.js.map +1 -1
- package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/contacts-command.js +45 -1
- package/dist/cli/messenger/contacts-command.js.map +1 -1
- package/dist/cli/messenger/context.d.ts +8 -1
- package/dist/cli/messenger/context.d.ts.map +1 -1
- package/dist/cli/messenger/context.js +21 -2
- package/dist/cli/messenger/context.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +6 -20
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/doctor-command.d.ts +14 -0
- package/dist/cli/messenger/doctor-command.d.ts.map +1 -1
- package/dist/cli/messenger/doctor-command.js +117 -6
- package/dist/cli/messenger/doctor-command.js.map +1 -1
- package/dist/cli/messenger/flood-command.d.ts +8 -0
- package/dist/cli/messenger/flood-command.d.ts.map +1 -0
- package/dist/cli/messenger/flood-command.js +31 -0
- package/dist/cli/messenger/flood-command.js.map +1 -0
- package/dist/cli/messenger/flooded.d.ts +12 -0
- package/dist/cli/messenger/flooded.d.ts.map +1 -0
- package/dist/cli/messenger/flooded.js +77 -0
- package/dist/cli/messenger/flooded.js.map +1 -0
- package/dist/cli/messenger/inbox.d.ts +1 -0
- package/dist/cli/messenger/inbox.d.ts.map +1 -1
- package/dist/cli/messenger/inbox.js +4 -3
- package/dist/cli/messenger/inbox.js.map +1 -1
- package/dist/cli/messenger/mcp-command.d.ts +12 -0
- package/dist/cli/messenger/mcp-command.d.ts.map +1 -1
- package/dist/cli/messenger/mcp-command.js +49 -3
- package/dist/cli/messenger/mcp-command.js.map +1 -1
- package/dist/cli/messenger/messages-search-command.d.ts +2 -0
- package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-search-command.js +46 -15
- package/dist/cli/messenger/messages-search-command.js.map +1 -1
- package/dist/cli/messenger/messages-stats-command.d.ts +2 -0
- package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-stats-command.js +35 -11
- package/dist/cli/messenger/messages-stats-command.js.map +1 -1
- package/dist/cli/messenger/port.d.ts +25 -1
- package/dist/cli/messenger/port.d.ts.map +1 -1
- package/dist/cli/messenger/port.js.map +1 -1
- package/dist/cli/messenger/private-files.d.ts +25 -0
- package/dist/cli/messenger/private-files.d.ts.map +1 -0
- package/dist/cli/messenger/private-files.js +28 -0
- package/dist/cli/messenger/private-files.js.map +1 -0
- package/dist/cli/messenger/replies-command.d.ts +5 -0
- package/dist/cli/messenger/replies-command.d.ts.map +1 -0
- package/dist/cli/messenger/replies-command.js +78 -0
- package/dist/cli/messenger/replies-command.js.map +1 -0
- package/dist/cli/messenger/report.d.ts +5 -0
- package/dist/cli/messenger/report.d.ts.map +1 -1
- package/dist/cli/messenger/report.js +25 -7
- package/dist/cli/messenger/report.js.map +1 -1
- package/dist/cli/messenger/review.d.ts.map +1 -1
- package/dist/cli/messenger/review.js +5 -3
- package/dist/cli/messenger/review.js.map +1 -1
- package/dist/cli/messenger/searches-command.d.ts +5 -0
- package/dist/cli/messenger/searches-command.d.ts.map +1 -0
- package/dist/cli/messenger/searches-command.js +117 -0
- package/dist/cli/messenger/searches-command.js.map +1 -0
- package/dist/cli/messenger/serve-command.d.ts.map +1 -1
- package/dist/cli/messenger/serve-command.js +87 -8
- package/dist/cli/messenger/serve-command.js.map +1 -1
- package/dist/cli/messenger/server-command.d.ts.map +1 -1
- package/dist/cli/messenger/server-command.js +7 -0
- package/dist/cli/messenger/server-command.js.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.d.ts.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.js +105 -4
- package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
- package/dist/cli/messenger/tags-command.d.ts +5 -0
- package/dist/cli/messenger/tags-command.d.ts.map +1 -0
- package/dist/cli/messenger/tags-command.js +76 -0
- package/dist/cli/messenger/tags-command.js.map +1 -0
- package/dist/cli/messenger/watch-command.d.ts +4 -1
- package/dist/cli/messenger/watch-command.d.ts.map +1 -1
- package/dist/cli/messenger/watch-command.js +2 -1
- package/dist/cli/messenger/watch-command.js.map +1 -1
- package/dist/cli/store-settings.d.ts +26 -0
- package/dist/cli/store-settings.d.ts.map +1 -0
- package/dist/cli/store-settings.js +59 -0
- package/dist/cli/store-settings.js.map +1 -0
- package/dist/domain/models.d.ts +1 -1
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/tags.d.ts +6 -0
- package/dist/domain/tags.d.ts.map +1 -0
- package/dist/domain/tags.js +15 -0
- package/dist/domain/tags.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kit/contract.d.ts.map +1 -1
- package/dist/kit/contract.js +6 -2
- package/dist/kit/contract.js.map +1 -1
- package/dist/mcp/personal.d.ts.map +1 -1
- package/dist/mcp/personal.js +2 -1
- package/dist/mcp/personal.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +8 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool.d.ts +7 -0
- package/dist/mcp/tool.d.ts.map +1 -1
- package/dist/mcp/tool.js +12 -1
- package/dist/mcp/tool.js.map +1 -1
- package/dist/mcp/tools/chats.js +3 -3
- package/dist/mcp/tools/chats.js.map +1 -1
- package/dist/mcp/tools/contacts.d.ts.map +1 -1
- package/dist/mcp/tools/contacts.js +21 -1
- package/dist/mcp/tools/contacts.js.map +1 -1
- package/dist/mcp/tools/conversations.d.ts.map +1 -1
- package/dist/mcp/tools/conversations.js +2 -7
- package/dist/mcp/tools/conversations.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +14 -2
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +6 -3
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/search.js +48 -11
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/mcp/tools/searches.d.ts +4 -0
- package/dist/mcp/tools/searches.d.ts.map +1 -0
- package/dist/mcp/tools/searches.js +77 -0
- package/dist/mcp/tools/searches.js.map +1 -0
- package/dist/mcp/tools/tags.d.ts +4 -0
- package/dist/mcp/tools/tags.d.ts.map +1 -0
- package/dist/mcp/tools/tags.js +57 -0
- package/dist/mcp/tools/tags.js.map +1 -0
- package/dist/mcp/tools.d.ts +2 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +7 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/replies/decide.d.ts +3 -0
- package/dist/replies/decide.d.ts.map +1 -1
- package/dist/replies/decide.js +3 -0
- package/dist/replies/decide.js.map +1 -1
- package/dist/replies/dry-run.d.ts +51 -0
- package/dist/replies/dry-run.d.ts.map +1 -0
- package/dist/replies/dry-run.js +116 -0
- package/dist/replies/dry-run.js.map +1 -0
- package/dist/replies/rules.d.ts +12 -0
- package/dist/replies/rules.d.ts.map +1 -1
- package/dist/replies/rules.js +15 -6
- package/dist/replies/rules.js.map +1 -1
- package/dist/replies/serve.d.ts +44 -0
- package/dist/replies/serve.d.ts.map +1 -0
- package/dist/replies/serve.js +70 -0
- package/dist/replies/serve.js.map +1 -0
- package/dist/search/lucene/automaton.d.ts +5 -0
- package/dist/search/lucene/automaton.d.ts.map +1 -1
- package/dist/search/lucene/automaton.js +116 -0
- package/dist/search/lucene/automaton.js.map +1 -1
- package/dist/search/lucene/parser.d.ts.map +1 -1
- package/dist/search/lucene/parser.js +6 -2
- package/dist/search/lucene/parser.js.map +1 -1
- package/dist/search/lucene/registry.d.ts +5 -5
- package/dist/search/lucene/registry.d.ts.map +1 -1
- package/dist/search/lucene/registry.js +12 -7
- package/dist/search/lucene/registry.js.map +1 -1
- package/dist/sends/flood.d.ts +57 -0
- package/dist/sends/flood.d.ts.map +1 -0
- package/dist/sends/flood.js +90 -0
- package/dist/sends/flood.js.map +1 -0
- package/dist/sends/guard.d.ts +4 -1
- package/dist/sends/guard.d.ts.map +1 -1
- package/dist/sends/guard.js +9 -1
- package/dist/sends/guard.js.map +1 -1
- package/dist/sends/index.d.ts +1 -0
- package/dist/sends/index.d.ts.map +1 -1
- package/dist/sends/index.js +1 -0
- package/dist/sends/index.js.map +1 -1
- package/dist/sends/journal.d.ts +2 -0
- package/dist/sends/journal.d.ts.map +1 -1
- package/dist/sends/journal.js.map +1 -1
- package/dist/sends/permissions.d.ts +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +14 -1
- package/dist/sends/permissions.js.map +1 -1
- package/dist/services/chats.d.ts +3 -3
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +2 -2
- package/dist/services/chats.js.map +1 -1
- package/dist/services/deps.d.ts +2 -0
- package/dist/services/deps.d.ts.map +1 -1
- package/dist/services/deps.js.map +1 -1
- package/dist/services/inbox.d.ts +0 -2
- package/dist/services/inbox.d.ts.map +1 -1
- package/dist/services/inbox.js +13 -8
- package/dist/services/inbox.js.map +1 -1
- package/dist/services/index.d.ts +8 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +6 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/messages-search.d.ts +2 -2
- package/dist/services/messages-search.d.ts.map +1 -1
- package/dist/services/messages-search.js +11 -3
- package/dist/services/messages-search.js.map +1 -1
- package/dist/services/messages.d.ts +10 -3
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js +47 -4
- package/dist/services/messages.js.map +1 -1
- package/dist/services/people.d.ts +7 -0
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +18 -0
- package/dist/services/people.js.map +1 -1
- package/dist/services/person-context.d.ts +69 -0
- package/dist/services/person-context.d.ts.map +1 -0
- package/dist/services/person-context.js +130 -0
- package/dist/services/person-context.js.map +1 -0
- package/dist/services/searches.d.ts +50 -0
- package/dist/services/searches.d.ts.map +1 -0
- package/dist/services/searches.js +127 -0
- package/dist/services/searches.js.map +1 -0
- package/dist/services/tags.d.ts +40 -0
- package/dist/services/tags.d.ts.map +1 -0
- package/dist/services/tags.js +56 -0
- package/dist/services/tags.js.map +1 -0
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/normalize.d.ts +2 -0
- package/dist/store/normalize.d.ts.map +1 -1
- package/dist/store/normalize.js +7 -5
- package/dist/store/normalize.js.map +1 -1
- package/dist/store/repair.d.ts +55 -0
- package/dist/store/repair.d.ts.map +1 -0
- package/dist/store/repair.js +313 -0
- package/dist/store/repair.js.map +1 -0
- package/dist/store/sqlite/accounts.d.ts.map +1 -1
- package/dist/store/sqlite/accounts.js +3 -1
- package/dist/store/sqlite/accounts.js.map +1 -1
- package/dist/store/sqlite/chats.d.ts.map +1 -1
- package/dist/store/sqlite/chats.js +3 -1
- package/dist/store/sqlite/chats.js.map +1 -1
- package/dist/store/sqlite/drizzle/bun.js +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
- package/dist/store/sqlite/drizzle/core.js +3 -1
- package/dist/store/sqlite/drizzle/core.js.map +1 -1
- package/dist/store/sqlite/drizzle/node.js +1 -1
- package/dist/store/sqlite/drizzle/{shared-WZFJ4TMA.js → shared-IZ6QGA7N.js} +2 -1
- package/dist/store/sqlite/lucene.d.ts.map +1 -1
- package/dist/store/sqlite/lucene.js +17 -3
- package/dist/store/sqlite/lucene.js.map +1 -1
- package/dist/store/sqlite/manifest.d.ts.map +1 -1
- package/dist/store/sqlite/manifest.js +6 -0
- package/dist/store/sqlite/manifest.js.map +1 -1
- package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.generated.js +53 -0
- package/dist/store/sqlite/migrations.generated.js.map +1 -1
- package/dist/store/sqlite/person-links.d.ts +18 -0
- package/dist/store/sqlite/person-links.d.ts.map +1 -0
- package/dist/store/sqlite/person-links.js +122 -0
- package/dist/store/sqlite/person-links.js.map +1 -0
- package/dist/store/sqlite/roster.d.ts +57 -0
- package/dist/store/sqlite/roster.d.ts.map +1 -0
- package/dist/store/sqlite/roster.js +179 -0
- package/dist/store/sqlite/roster.js.map +1 -0
- package/dist/store/sqlite/schema.d.ts +753 -0
- package/dist/store/sqlite/schema.d.ts.map +1 -1
- package/dist/store/sqlite/schema.js +99 -0
- package/dist/store/sqlite/schema.js.map +1 -1
- package/dist/store/sqlite/search-index.d.ts +3 -0
- package/dist/store/sqlite/search-index.d.ts.map +1 -1
- package/dist/store/sqlite/search-index.js +8 -6
- package/dist/store/sqlite/search-index.js.map +1 -1
- package/dist/store/sqlite/search.d.ts +2 -0
- package/dist/store/sqlite/search.d.ts.map +1 -1
- package/dist/store/sqlite/search.js +5 -0
- package/dist/store/sqlite/search.js.map +1 -1
- package/dist/store/sqlite/searches.d.ts +35 -0
- package/dist/store/sqlite/searches.d.ts.map +1 -0
- package/dist/store/sqlite/searches.js +77 -0
- package/dist/store/sqlite/searches.js.map +1 -0
- package/dist/store/sqlite/stems.d.ts +61 -0
- package/dist/store/sqlite/stems.d.ts.map +1 -0
- package/dist/store/sqlite/stems.js +215 -0
- package/dist/store/sqlite/stems.js.map +1 -0
- package/dist/store/sqlite/tags.d.ts +38 -0
- package/dist/store/sqlite/tags.d.ts.map +1 -0
- package/dist/store/sqlite/tags.js +85 -0
- package/dist/store/sqlite/tags.js.map +1 -0
- package/dist/store/store.d.ts +97 -0
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +106 -0
- package/dist/store/store.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +238 -30
- /package/dist/store/sqlite/drizzle/{shared-WZFJ4TMA.js.map → shared-IZ6QGA7N.js.map} +0 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { CliError } from "@leemour/cli-core";
|
|
3
|
+
import { MIGRATIONS, migrate } from "./migrations.js";
|
|
4
|
+
export const COPY_MARK = "__repair_";
|
|
5
|
+
const COPY_NAME = /__repair_[0-9a-f]{8}(_\d+)?$/;
|
|
6
|
+
const quote = (name) => `"${name.replaceAll('"', '""')}"`;
|
|
7
|
+
const literal = (text) => `'${text.replaceAll("'", "''")}'`;
|
|
8
|
+
const rowsOf = (database, sql) => database.prepare(sql).all();
|
|
9
|
+
/** Virtual tables, their shadow tables and SQLite's own are the indexes' business, not this check's. */
|
|
10
|
+
const plainTables = (database) => {
|
|
11
|
+
const all = rowsOf(database, "SELECT name, sql FROM sqlite_master WHERE type = 'table'").map((row) => ({
|
|
12
|
+
name: String(row.name),
|
|
13
|
+
sql: String(row.sql ?? ""),
|
|
14
|
+
}));
|
|
15
|
+
const virtual = all.filter((one) => /^CREATE VIRTUAL TABLE/i.test(one.sql)).map((one) => one.name);
|
|
16
|
+
return new Map(all
|
|
17
|
+
.filter(({ name, sql }) => !name.startsWith("sqlite_") && !/^CREATE VIRTUAL TABLE/i.test(sql))
|
|
18
|
+
.filter(({ name }) => !virtual.some((one) => name.startsWith(`${one}_`)))
|
|
19
|
+
.map(({ name, sql }) => [name, sql]));
|
|
20
|
+
};
|
|
21
|
+
const shapeOf = (database, table, sql) => {
|
|
22
|
+
const columns = rowsOf(database, `SELECT * FROM pragma_table_xinfo(${literal(table)})`).map((row) => ({
|
|
23
|
+
name: String(row.name),
|
|
24
|
+
type: String(row.type ?? "").toUpperCase(),
|
|
25
|
+
notNull: Number(row.notnull) === 1,
|
|
26
|
+
defaultValue: row.dflt_value === null ? null : String(row.dflt_value),
|
|
27
|
+
pk: Number(row.pk),
|
|
28
|
+
hidden: Number(row.hidden),
|
|
29
|
+
}));
|
|
30
|
+
const foreignKeys = rowsOf(database, `SELECT * FROM pragma_foreign_key_list(${literal(table)})`)
|
|
31
|
+
.map((row) => `${row.from}→${row.table}.${row.to} on delete ${row.on_delete}`)
|
|
32
|
+
.sort();
|
|
33
|
+
const constraints = rowsOf(database, `SELECT name, "unique", origin FROM pragma_index_list(${literal(table)})`)
|
|
34
|
+
.filter((row) => row.origin !== "c")
|
|
35
|
+
.map((row) => {
|
|
36
|
+
const keys = rowsOf(database, `SELECT name FROM pragma_index_info(${literal(String(row.name))}) ORDER BY seqno`);
|
|
37
|
+
return `${row.origin} (${keys.map((key) => String(key.name)).join(", ")})`;
|
|
38
|
+
})
|
|
39
|
+
.sort();
|
|
40
|
+
const named = (type) => new Map(rowsOf(database, `SELECT name, sql FROM sqlite_master WHERE type = '${type}' AND tbl_name = ${literal(table)}`)
|
|
41
|
+
.filter((row) => row.sql !== null)
|
|
42
|
+
.map((row) => [String(row.name), String(row.sql)]));
|
|
43
|
+
return { sql, columns, foreignKeys, constraints, indexes: named("index"), triggers: named("trigger") };
|
|
44
|
+
};
|
|
45
|
+
const same = (a, b) => a.length === b.length && a.every((one, index) => one === b[index]);
|
|
46
|
+
const columnDiffers = (one, other) => one.type !== other.type ||
|
|
47
|
+
one.notNull !== other.notNull ||
|
|
48
|
+
one.defaultValue !== other.defaultValue ||
|
|
49
|
+
one.pk !== other.pk ||
|
|
50
|
+
one.hidden !== other.hidden;
|
|
51
|
+
/** A column `ALTER TABLE ADD COLUMN` can add as it is: nullable or defaulted, not a key, not generated. */
|
|
52
|
+
const addable = (column, expected) => (!column.notNull || column.defaultValue !== null) &&
|
|
53
|
+
column.pk === 0 &&
|
|
54
|
+
column.hidden === 0 &&
|
|
55
|
+
!expected.foreignKeys.some((key) => key.startsWith(`${column.name}→`));
|
|
56
|
+
const definitionOf = (column) => [
|
|
57
|
+
quote(column.name),
|
|
58
|
+
column.type,
|
|
59
|
+
column.notNull ? "NOT NULL" : "",
|
|
60
|
+
column.defaultValue === null ? "" : `DEFAULT ${column.defaultValue}`,
|
|
61
|
+
]
|
|
62
|
+
.filter((part) => part.length > 0)
|
|
63
|
+
.join(" ");
|
|
64
|
+
const planFor = (expected, actual, table) => {
|
|
65
|
+
if (actual === undefined)
|
|
66
|
+
return { table, kind: "create" };
|
|
67
|
+
const have = new Map(actual.columns.map((column) => [column.name, column]));
|
|
68
|
+
const missing = expected.columns.filter((column) => !have.has(column.name));
|
|
69
|
+
const extra = actual.columns.filter((column) => !expected.columns.some((one) => one.name === column.name));
|
|
70
|
+
const changed = expected.columns.some((column) => {
|
|
71
|
+
const theirs = have.get(column.name);
|
|
72
|
+
return theirs !== undefined && columnDiffers(column, theirs);
|
|
73
|
+
});
|
|
74
|
+
const keysDiffer = !same(expected.foreignKeys, actual.foreignKeys.filter((key) => !missing.some((column) => key.startsWith(`${column.name}→`))));
|
|
75
|
+
if (!changed && extra.length === 0 && !keysDiffer && same(expected.constraints, actual.constraints)) {
|
|
76
|
+
if (missing.length === 0)
|
|
77
|
+
return undefined;
|
|
78
|
+
if (missing.every((column) => addable(column, expected)))
|
|
79
|
+
return { table, kind: "add", columns: missing };
|
|
80
|
+
}
|
|
81
|
+
return { table, kind: "rebuild" };
|
|
82
|
+
};
|
|
83
|
+
/** Parents before children, so a copied child row finds its parent already there. */
|
|
84
|
+
const parentsFirst = (plans, expected) => {
|
|
85
|
+
const order = [];
|
|
86
|
+
const placing = new Set();
|
|
87
|
+
const place = (plan) => {
|
|
88
|
+
if (order.includes(plan) || placing.has(plan.table))
|
|
89
|
+
return;
|
|
90
|
+
placing.add(plan.table);
|
|
91
|
+
for (const key of expected.get(plan.table)?.foreignKeys ?? []) {
|
|
92
|
+
const parent = key.split("→")[1]?.split(".")[0];
|
|
93
|
+
const first = plans.find((one) => one.table === parent);
|
|
94
|
+
if (first)
|
|
95
|
+
place(first);
|
|
96
|
+
}
|
|
97
|
+
order.push(plan);
|
|
98
|
+
};
|
|
99
|
+
for (const plan of plans)
|
|
100
|
+
place(plan);
|
|
101
|
+
return order;
|
|
102
|
+
};
|
|
103
|
+
const copyNameFor = (database, table, sql) => {
|
|
104
|
+
const base = `${table}${COPY_MARK}${createHash("sha256").update(sql).digest("hex").slice(0, 8)}`;
|
|
105
|
+
const taken = (name) => database.prepare("SELECT 1 FROM sqlite_master WHERE name = ?").get(name) !== undefined;
|
|
106
|
+
if (!taken(base))
|
|
107
|
+
return base;
|
|
108
|
+
let n = 2;
|
|
109
|
+
while (taken(`${base}_${n}`))
|
|
110
|
+
n += 1;
|
|
111
|
+
return `${base}_${n}`;
|
|
112
|
+
};
|
|
113
|
+
const count = (database, table) => Number(database.prepare(`SELECT count(*) AS n FROM ${quote(table)}`).get()?.n ?? 0);
|
|
114
|
+
/** The shape this build's migrations give a new file. */
|
|
115
|
+
const expectedShapes = (fresh) => {
|
|
116
|
+
migrate(fresh, { migrations: MIGRATIONS });
|
|
117
|
+
return new Map([...plainTables(fresh)].map(([name, sql]) => [name, shapeOf(fresh, name, sql)]));
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* **Brings each table of the file to the shape this build's migrations give it, deleting nothing**
|
|
121
|
+
* (NEED-626). A table only missing columns it can take gets them added; any other difference keeps
|
|
122
|
+
* the table as a copy named `<table>__repair_<hash>` beside a new one holding every row that fits.
|
|
123
|
+
* `messages` is never renamed — its search index and triggers hang off it — so a difference there
|
|
124
|
+
* is reported, not rebuilt. With `dryRun` the same work runs and is rolled back, so the report is
|
|
125
|
+
* exact.
|
|
126
|
+
*/
|
|
127
|
+
export const repairStore = (database, fresh, { dryRun = false } = {}) => {
|
|
128
|
+
if (dryRun) {
|
|
129
|
+
// A dry run changes nothing, so it cannot migrate first; a file behind would compare as broken.
|
|
130
|
+
const tracked = database.prepare("SELECT 1 FROM sqlite_master WHERE name = 'schema_migrations'").get();
|
|
131
|
+
const version = tracked
|
|
132
|
+
? Number(database.prepare("SELECT max(version) AS version FROM schema_migrations").get()?.version ?? 0)
|
|
133
|
+
: 0;
|
|
134
|
+
if (version < (MIGRATIONS.at(-1)?.version ?? 0)) {
|
|
135
|
+
throw new CliError("validation_error", "the store is behind this build — `store migrate` first, then `store repair --dry-run`");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else
|
|
139
|
+
migrate(database);
|
|
140
|
+
const expected = expectedShapes(fresh);
|
|
141
|
+
const actualSql = plainTables(database);
|
|
142
|
+
const actual = new Map([...actualSql].map(([name, sql]) => [name, shapeOf(database, name, sql)]));
|
|
143
|
+
const mismatches = [];
|
|
144
|
+
const plans = [...expected]
|
|
145
|
+
.map(([table, shape]) => planFor(shape, actual.get(table), table))
|
|
146
|
+
.filter((plan) => plan !== undefined)
|
|
147
|
+
.filter((plan) => {
|
|
148
|
+
if (plan.kind === "rebuild" && plan.table === "messages") {
|
|
149
|
+
mismatches.push({
|
|
150
|
+
table: "messages",
|
|
151
|
+
what: "differs from this build's shape in a way columns alone cannot fix; left as it is",
|
|
152
|
+
});
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
});
|
|
157
|
+
const report = {
|
|
158
|
+
dryRun,
|
|
159
|
+
repaired: [],
|
|
160
|
+
indexesCreated: [],
|
|
161
|
+
triggersCreated: [],
|
|
162
|
+
mismatches,
|
|
163
|
+
foreignKeyViolations: [],
|
|
164
|
+
copies: [],
|
|
165
|
+
};
|
|
166
|
+
// Off outside a transaction, or SQLite ignores it: a copied child may precede what it points at,
|
|
167
|
+
// and a rename must leave other tables' keys pointing at the new table, not the copy.
|
|
168
|
+
database.exec("PRAGMA foreign_keys = OFF");
|
|
169
|
+
database.exec("PRAGMA legacy_alter_table = ON");
|
|
170
|
+
database.exec("BEGIN IMMEDIATE");
|
|
171
|
+
try {
|
|
172
|
+
for (const plan of parentsFirst(plans, expected)) {
|
|
173
|
+
const shape = expected.get(plan.table);
|
|
174
|
+
if (plan.kind === "create") {
|
|
175
|
+
database.exec(shape.sql);
|
|
176
|
+
report.repaired.push({ table: plan.table, action: "created" });
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
if (plan.kind === "add") {
|
|
180
|
+
for (const column of plan.columns)
|
|
181
|
+
database.exec(`ALTER TABLE ${quote(plan.table)} ADD COLUMN ${definitionOf(column)}`);
|
|
182
|
+
report.repaired.push({
|
|
183
|
+
table: plan.table,
|
|
184
|
+
action: "columns-added",
|
|
185
|
+
columnsAdded: plan.columns.map((one) => one.name),
|
|
186
|
+
});
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
const old = actual.get(plan.table);
|
|
190
|
+
const copy = copyNameFor(database, plan.table, old.sql);
|
|
191
|
+
database.exec(`ALTER TABLE ${quote(plan.table)} RENAME TO ${quote(copy)}`);
|
|
192
|
+
const dropped = [];
|
|
193
|
+
for (const [name] of old.indexes) {
|
|
194
|
+
if ([...expected.values()].some((one) => one.indexes.has(name))) {
|
|
195
|
+
database.exec(`DROP INDEX ${quote(name)}`);
|
|
196
|
+
dropped.push(name);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
for (const [name] of old.triggers) {
|
|
200
|
+
if ([...expected.values()].some((one) => one.triggers.has(name))) {
|
|
201
|
+
database.exec(`DROP TRIGGER ${quote(name)}`);
|
|
202
|
+
dropped.push(name);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
database.exec(shape.sql);
|
|
206
|
+
const writable = shape.columns.filter((column) => column.hidden === 0).map((column) => column.name);
|
|
207
|
+
const common = old.columns
|
|
208
|
+
.filter((column) => column.hidden === 0 && writable.includes(column.name))
|
|
209
|
+
.map((column) => quote(column.name))
|
|
210
|
+
.join(", ");
|
|
211
|
+
const rowsInCopy = count(database, copy);
|
|
212
|
+
const rowsCopied = common.length === 0
|
|
213
|
+
? 0
|
|
214
|
+
: database
|
|
215
|
+
.prepare(`INSERT OR IGNORE INTO ${quote(plan.table)} (${common}) SELECT ${common} FROM ${quote(copy)}`)
|
|
216
|
+
.run().changes;
|
|
217
|
+
report.repaired.push({
|
|
218
|
+
table: plan.table,
|
|
219
|
+
action: "rebuilt",
|
|
220
|
+
copy,
|
|
221
|
+
rowsInCopy,
|
|
222
|
+
rowsCopied,
|
|
223
|
+
onlyInCopy: old.columns.filter((column) => !writable.includes(column.name)).map((column) => column.name),
|
|
224
|
+
droppedFromCopy: dropped,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
for (const [table, shape] of expected) {
|
|
228
|
+
for (const [name, sql] of shape.indexes) {
|
|
229
|
+
if (database.prepare("SELECT 1 FROM sqlite_master WHERE type = 'index' AND name = ?").get(name))
|
|
230
|
+
continue;
|
|
231
|
+
try {
|
|
232
|
+
database.exec(sql);
|
|
233
|
+
report.indexesCreated.push(name);
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
mismatches.push({
|
|
237
|
+
table,
|
|
238
|
+
what: `index ${name} could not be created: ${error instanceof Error ? error.message : String(error)}`,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
for (const [name, sql] of shape.triggers) {
|
|
243
|
+
if (database.prepare("SELECT 1 FROM sqlite_master WHERE type = 'trigger' AND name = ?").get(name))
|
|
244
|
+
continue;
|
|
245
|
+
try {
|
|
246
|
+
database.exec(sql);
|
|
247
|
+
report.triggersCreated.push(name);
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
mismatches.push({
|
|
251
|
+
table,
|
|
252
|
+
what: `trigger ${name} could not be created: ${error instanceof Error ? error.message : String(error)}`,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
const now = plainTables(database);
|
|
258
|
+
for (const [table, shape] of expected) {
|
|
259
|
+
const sql = now.get(table);
|
|
260
|
+
if (sql === undefined)
|
|
261
|
+
continue;
|
|
262
|
+
const theirs = shapeOf(database, table, sql);
|
|
263
|
+
for (const [name, indexSql] of theirs.indexes) {
|
|
264
|
+
const wanted = shape.indexes.get(name);
|
|
265
|
+
if (wanted === undefined)
|
|
266
|
+
mismatches.push({ table, what: `index ${name} is not in this build's shape` });
|
|
267
|
+
else if (wanted !== indexSql)
|
|
268
|
+
mismatches.push({ table, what: `index ${name} is defined differently` });
|
|
269
|
+
}
|
|
270
|
+
if (planFor(shape, theirs, table) !== undefined && table !== "messages") {
|
|
271
|
+
mismatches.push({ table, what: "still differs from this build's shape" });
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const violations = new Map();
|
|
275
|
+
for (const row of rowsOf(database, "PRAGMA foreign_key_check")) {
|
|
276
|
+
violations.set(String(row.table), (violations.get(String(row.table)) ?? 0) + 1);
|
|
277
|
+
}
|
|
278
|
+
report.foreignKeyViolations = [...violations].map(([table, rows]) => ({ table, rows }));
|
|
279
|
+
report.copies = copiesIn(database);
|
|
280
|
+
database.exec(dryRun ? "ROLLBACK" : "COMMIT");
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
database.exec("ROLLBACK");
|
|
284
|
+
throw error;
|
|
285
|
+
}
|
|
286
|
+
finally {
|
|
287
|
+
database.exec("PRAGMA legacy_alter_table = OFF");
|
|
288
|
+
database.exec("PRAGMA foreign_keys = ON");
|
|
289
|
+
}
|
|
290
|
+
return report;
|
|
291
|
+
};
|
|
292
|
+
/** Every repair copy in the file, with its rows. */
|
|
293
|
+
export const copiesIn = (database) => rowsOf(database, `SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE '%${COPY_MARK}%'`)
|
|
294
|
+
.map((row) => String(row.name))
|
|
295
|
+
.filter((name) => COPY_NAME.test(name))
|
|
296
|
+
.sort()
|
|
297
|
+
.map((name) => ({ name, rows: count(database, name) }));
|
|
298
|
+
/** Deletes one repair copy, named exactly; refuses anything else. */
|
|
299
|
+
export const deleteCopy = (database, name) => {
|
|
300
|
+
const found = copiesIn(database).find((one) => one.name === name);
|
|
301
|
+
if (found === undefined) {
|
|
302
|
+
throw new CliError("not_found", `"${name}" is not a repair copy in this store — \`store repair --dry-run\` lists the copies`);
|
|
303
|
+
}
|
|
304
|
+
database.exec("PRAGMA foreign_keys = OFF");
|
|
305
|
+
try {
|
|
306
|
+
database.exec(`DROP TABLE ${quote(name)}`);
|
|
307
|
+
}
|
|
308
|
+
finally {
|
|
309
|
+
database.exec("PRAGMA foreign_keys = ON");
|
|
310
|
+
}
|
|
311
|
+
return found;
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/store/repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAiB7C,oGAAoG;AACpG,eAAO,MAAM,SAAS,iBAAkB,YAAY,yBAAyB,UAAU,SAAQ,MAAM,GAAG,IAAI,WAWzG,CAAA;AAEH,eAAO,MAAM,aAAa,YAAa,YAAY,yBAAyB,UAAU,KAAG,MAAM,GAAG,SAKpF,CAAA;AAEd,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,UAAU,EAKrD,CAAA;AAEV,4FAA4F;AAC5F,eAAO,MAAM,YAAY,YAAa,YAAY,cAAc,MAAM,KAAG,IAgBxE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { and, asc, eq, inArray, sql } from "./drizzle/core.js";
|
|
2
|
-
import { accountIdentities, accounts, attachments, chatMembers, chats, fetchLeases, messageRevisions, messages, syncRanges, syncState, transcripts, } from "./schema.js";
|
|
2
|
+
import { accountIdentities, accounts, attachments, chatMembers, chats, fetchLeases, memberCounts, memberStays, messageRevisions, messages, syncRanges, syncState, transcripts, } from "./schema.js";
|
|
3
3
|
/** An account's row, made on first sight; a name only replaces what was known when there is one. */
|
|
4
4
|
export const accountPk = ({ orm, now }, { provider, account }, name = null) => Number(orm
|
|
5
5
|
.insert(accounts)
|
|
@@ -27,6 +27,8 @@ export const purgeAccount = ({ orm }, accountKey) => {
|
|
|
27
27
|
orm.delete(transcripts).where(inArray(transcripts.chatPk, chatsOf)).run();
|
|
28
28
|
orm.delete(fetchLeases).where(inArray(fetchLeases.chatPk, chatsOf)).run();
|
|
29
29
|
orm.delete(chatMembers).where(inArray(chatMembers.chatPk, chatsOf)).run();
|
|
30
|
+
orm.delete(memberStays).where(inArray(memberStays.chatPk, chatsOf)).run();
|
|
31
|
+
orm.delete(memberCounts).where(inArray(memberCounts.chatPk, chatsOf)).run();
|
|
30
32
|
orm.delete(syncRanges).where(inArray(syncRanges.chatPk, chatsOf)).run();
|
|
31
33
|
orm.delete(messageRevisions).where(inArray(messageRevisions.messagePk, messagesOf)).run();
|
|
32
34
|
orm.delete(attachments).where(inArray(attachments.messagePk, messagesOf)).run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/store/sqlite/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgB7C,uEAAuE;AACvE,eAAO,MAAM,MAAM,YAAa,YAAY,cAAc,MAAM,WAAW,MAAM,KAAG,EAAE,GAAG,SAK3E,CAAA;AAEd,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAAM,GAAG,SAK9E,CAAA;AAEd,yEAAyE;AACzE,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,UAAU,EAAE,KAAG,MAQ/E,CAAA;AAEH,eAAO,MAAM,UAAU,iBAAkB,YAAY,cAAc,MAAM,QAAQ,IAAI,KAAG,IA+BvF,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,YACd,YAAY,OAChB,UAAU,cACH,MAAM,UACV,EAAE,aACC,EAAE,EAAE,KACd,IASF,CAAA;AAED,eAAO,MAAM,OAAO,YAAa,YAAY,WAAW,MAAM,KAAG,MAAM,EAO7D,CAAA;AAMV,gGAAgG;AAChG,eAAO,MAAM,QAAQ,YAAa,YAAY,cAAc,MAAM,WAAW,EAAE,EAAE,KAAG,MAYnE,CAAA;AAEjB,8DAA8D;AAC9D,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,KAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAYtG,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,UAAU,YAAa,YAAY,OAAO,MAAM,EAAE,KAAG,IAajE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,YAAY,cAAc,MAAM,OAAO,UAAU,YAAY,EAAE,KAAG,IAAI,EAgBrE,CAAA;AAiBpC,eAAO,MAAM,SAAS,YACX,YAAY,cACT,MAAM,gCACgB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,KACvF,IAAI,CAAC,IAAI,CAUX,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,MAAM,UAAU,gBAAgB,KAAG,MACY,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CliError } from "@leemour/cli-core";
|
|
2
2
|
import { and, eq, gt, inArray, sql } from "./drizzle/core.js";
|
|
3
3
|
import { identityPk } from "./identities.js";
|
|
4
|
-
import { attachments, chatMembers, chats, fetchLeases, identities, messageRevisions, messages, syncRanges, transcripts, } from "./schema.js";
|
|
4
|
+
import { attachments, chatMembers, chats, fetchLeases, identities, memberCounts, memberStays, messageRevisions, messages, syncRanges, transcripts, } from "./schema.js";
|
|
5
5
|
import { json, parsed, present, toIso, toMs } from "./values.js";
|
|
6
6
|
/** The chat's own id, when the store key is a chat of this account. */
|
|
7
7
|
export const chatOf = ({ orm }, accountKey, chatKey) => orm
|
|
@@ -101,6 +101,8 @@ export const purgeChats = ({ orm }, pks) => {
|
|
|
101
101
|
orm.delete(transcripts).where(inArray(transcripts.chatPk, pks)).run();
|
|
102
102
|
orm.delete(fetchLeases).where(inArray(fetchLeases.chatPk, pks)).run();
|
|
103
103
|
orm.delete(chatMembers).where(inArray(chatMembers.chatPk, pks)).run();
|
|
104
|
+
orm.delete(memberStays).where(inArray(memberStays.chatPk, pks)).run();
|
|
105
|
+
orm.delete(memberCounts).where(inArray(memberCounts.chatPk, pks)).run();
|
|
104
106
|
orm.delete(syncRanges).where(inArray(syncRanges.chatPk, pks)).run();
|
|
105
107
|
orm.delete(messageRevisions).where(inArray(messageRevisions.messagePk, messagesOf)).run();
|
|
106
108
|
orm.delete(attachments).where(inArray(attachments.messagePk, messagesOf)).run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/store/sqlite/chats.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
entityKind,
|
|
11
11
|
jitCompatCheck,
|
|
12
12
|
sql
|
|
13
|
-
} from "./shared-
|
|
13
|
+
} from "./shared-IZ6QGA7N.js";
|
|
14
14
|
|
|
15
15
|
// node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/bun-sqlite/session.js
|
|
16
16
|
var SQLiteBunSession = class extends SQLiteAsyncSession {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { and, asc, desc, eq, gt, gte, inArray, isNull, lte, ne, notInArray, or, type Placeholder, type SQL, sql, } from "drizzle-orm";
|
|
1
|
+
export { and, asc, desc, eq, gt, gte, inArray, isNotNull, isNull, lte, ne, notInArray, or, type Placeholder, type SQL, sql, } from "drizzle-orm";
|
|
2
2
|
export { alias, blob, index, integer, primaryKey, real, type SQLiteAsyncDatabase, sqliteTable, text, unique, uniqueIndex, } from "drizzle-orm/sqlite-core";
|
|
3
3
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/store/sqlite/drizzle/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACJ,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,EAAE,EACF,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,GAAG,GACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/store/sqlite/drizzle/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACJ,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,SAAS,EACT,MAAM,EACN,GAAG,EACH,EAAE,EACF,UAAU,EACV,EAAE,EACF,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,GAAG,GACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,mBAAmB,EACxB,WAAW,EACX,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,MAAM,yBAAyB,CAAA"}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
inArray,
|
|
11
11
|
index,
|
|
12
12
|
integer,
|
|
13
|
+
isNotNull,
|
|
13
14
|
isNull,
|
|
14
15
|
lte,
|
|
15
16
|
ne,
|
|
@@ -22,7 +23,7 @@ import {
|
|
|
22
23
|
text,
|
|
23
24
|
unique,
|
|
24
25
|
uniqueIndex
|
|
25
|
-
} from "./shared-
|
|
26
|
+
} from "./shared-IZ6QGA7N.js";
|
|
26
27
|
|
|
27
28
|
// node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/sqlite-core/alias.js
|
|
28
29
|
function alias(table, alias2) {
|
|
@@ -40,6 +41,7 @@ export {
|
|
|
40
41
|
inArray,
|
|
41
42
|
index,
|
|
42
43
|
integer,
|
|
44
|
+
isNotNull,
|
|
43
45
|
isNull,
|
|
44
46
|
lte,
|
|
45
47
|
ne,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/src/sqlite-core/alias.ts"],
|
|
4
4
|
"sourcesContent": ["import { TableAliasProxyHandler } from '~/alias.ts';\nimport type { BuildAliasTable } from './query-builders/select.types.ts';\n\nimport type { SQLiteTable } from './table.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport function alias<TTable extends SQLiteTable | SQLiteViewBase, TAlias extends string>(\n\ttable: TTable,\n\talias: TAlias,\n): BuildAliasTable<TTable, TAlias> {\n\treturn new Proxy(table, new TableAliasProxyHandler(alias, false)) as any;\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAgB,MACf,OACAA,QACkC;AAClC,SAAO,IAAI,MAAM,OAAO,IAAI,uBAAuBA,QAAO,KAAA,CAAM;;",
|
|
6
6
|
"names": ["alias"]
|
|
7
7
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
entityKind,
|
|
11
11
|
jitCompatCheck,
|
|
12
12
|
sql
|
|
13
|
-
} from "./shared-
|
|
13
|
+
} from "./shared-IZ6QGA7N.js";
|
|
14
14
|
|
|
15
15
|
// node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/drizzle-orm/node-sqlite/session.js
|
|
16
16
|
var NodeSQLiteSession = class extends SQLiteAsyncSession {
|
|
@@ -4822,6 +4822,7 @@ export {
|
|
|
4822
4822
|
inArray,
|
|
4823
4823
|
notInArray,
|
|
4824
4824
|
isNull,
|
|
4825
|
+
isNotNull,
|
|
4825
4826
|
asc,
|
|
4826
4827
|
desc,
|
|
4827
4828
|
TableAliasProxyHandler,
|
|
@@ -4843,4 +4844,4 @@ export {
|
|
|
4843
4844
|
SQLiteAsyncSession,
|
|
4844
4845
|
SQLiteAsyncTransaction
|
|
4845
4846
|
};
|
|
4846
|
-
//# sourceMappingURL=shared-
|
|
4847
|
+
//# sourceMappingURL=shared-IZ6QGA7N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucene.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/lucene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"lucene.d.ts","sourceRoot":"","sources":["../../../src/store/sqlite/lucene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAWlD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,iCAAiC,CAAA;AAKtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgD7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AACtD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAcD,eAAO,MAAM,UAAU,YAAa,YAAY,aAAa,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAC3C,CAAA;AAC1D,iGAAiG;AACjG,eAAO,MAAM,UAAU,YACZ,YAAY,aACV,cAAc,MACrB,aAAa,KAChB,OAAO,CAAC,UAAU,EAAE,CAA8D,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliError } from "@leemour/cli-core";
|
|
2
|
-
import {
|
|
2
|
+
import { tagOf } from "../../domain/tags.js";
|
|
3
|
+
import { compileAutomaton, foldRegex, wildcardPattern, } from "../../search/lucene/automaton.js";
|
|
3
4
|
import { PRESETS } from "../../search/lucene/presets.js";
|
|
4
5
|
import { parseBytes } from "../../search/lucene/registry.js";
|
|
5
6
|
import { exhausted, QUERY_LIMITS, queryError } from "../../search/lucene/types.js";
|
|
@@ -32,6 +33,11 @@ const wordMatch = (match) => ({
|
|
|
32
33
|
exact: true,
|
|
33
34
|
fts: match,
|
|
34
35
|
});
|
|
36
|
+
// The vocabulary is the whole store's, so a chat or date filter does not shorten it.
|
|
37
|
+
const tooManyWords = ({ field, operator, value, span }, alone) => {
|
|
38
|
+
const term = `${field}:${operator === "regex" ? `/${value}/` : value}`;
|
|
39
|
+
throw new CliError("validation_error", `search: ${term}${alone ? " matches" : " and the patterns before it match"} more than ${QUERY_LIMITS.expansions} indexed words, the term expansions budget — use a longer prefix, or body:/…/ inside one chat`, { reason: "query_limit", budget: "term expansions", complete: false, term, limit: QUERY_LIMITS.expansions, span });
|
|
40
|
+
};
|
|
35
41
|
const GROUPS = {
|
|
36
42
|
chat: {
|
|
37
43
|
key: "m.chat_pk",
|
|
@@ -88,7 +94,7 @@ const runQuery = async (context, execution, by) => {
|
|
|
88
94
|
fragment = /[\p{L}\p{N}]/u.test(text) ? wordMatch(quoted(text)) : bound("0");
|
|
89
95
|
}
|
|
90
96
|
else {
|
|
91
|
-
const pattern = operator === "wildcard" ? wildcardPattern(normalize(value)) : value;
|
|
97
|
+
const pattern = operator === "wildcard" ? wildcardPattern(normalize(value)) : foldRegex(value, node.span);
|
|
92
98
|
const automaton = patternOf(pattern, node);
|
|
93
99
|
const cached = expanded.get(pattern);
|
|
94
100
|
if (cached)
|
|
@@ -99,7 +105,7 @@ const runQuery = async (context, execution, by) => {
|
|
|
99
105
|
.all(...(prefix ? [prefix, `${prefix}\u{10ffff}`] : []), QUERY_LIMITS.expansions + 1);
|
|
100
106
|
expansions += terms.length;
|
|
101
107
|
if (expansions > QUERY_LIMITS.expansions)
|
|
102
|
-
|
|
108
|
+
tooManyWords(node, terms.length > QUERY_LIMITS.expansions);
|
|
103
109
|
const matches = terms.flatMap(({ term }) => {
|
|
104
110
|
check();
|
|
105
111
|
return automaton.test(String(term), budget) ? [quoted(String(term))] : [];
|
|
@@ -193,6 +199,14 @@ const runQuery = async (context, execution, by) => {
|
|
|
193
199
|
else
|
|
194
200
|
queryError("invalid_ast", node.span);
|
|
195
201
|
}
|
|
202
|
+
else if (field === "tag") {
|
|
203
|
+
const tag = tagOf(value);
|
|
204
|
+
if (tag === undefined)
|
|
205
|
+
queryError("invalid_tag", node.span);
|
|
206
|
+
fragment = bound("m.pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='message') OR " +
|
|
207
|
+
"m.chat_pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='chat') OR " +
|
|
208
|
+
"m.sender_identity_pk IN (SELECT taggable_pk FROM tags WHERE tag=? AND taggable_type='contact')", tag, tag, tag);
|
|
209
|
+
}
|
|
196
210
|
else if (field === "topic")
|
|
197
211
|
fragment = bound("m.thread_native_id = ?", value);
|
|
198
212
|
else if (field === "kind") {
|