@adminiumjs/meta 0.1.2 → 0.2.2-rc.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 (193) hide show
  1. package/dist/bootstrap.d.ts +10 -2
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +12 -3
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/columns.d.ts.map +1 -1
  6. package/dist/columns.js +1 -0
  7. package/dist/columns.js.map +1 -1
  8. package/dist/connect.d.ts +26 -1
  9. package/dist/connect.d.ts.map +1 -1
  10. package/dist/connect.js +33 -1
  11. package/dist/connect.js.map +1 -1
  12. package/dist/ids.d.ts +2 -0
  13. package/dist/ids.d.ts.map +1 -1
  14. package/dist/ids.js +3 -0
  15. package/dist/ids.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/migrate-lock.d.ts +104 -0
  21. package/dist/migrate-lock.d.ts.map +1 -0
  22. package/dist/migrate-lock.js +197 -0
  23. package/dist/migrate-lock.js.map +1 -0
  24. package/dist/migrations/0001_core_auth.d.ts.map +1 -1
  25. package/dist/migrations/0001_core_auth.js +1 -0
  26. package/dist/migrations/0001_core_auth.js.map +1 -1
  27. package/dist/migrations/0002_rbac.d.ts.map +1 -1
  28. package/dist/migrations/0002_rbac.js +1 -0
  29. package/dist/migrations/0002_rbac.js.map +1 -1
  30. package/dist/migrations/0003_connections_schema.d.ts.map +1 -1
  31. package/dist/migrations/0003_connections_schema.js +1 -0
  32. package/dist/migrations/0003_connections_schema.js.map +1 -1
  33. package/dist/migrations/0004_pages_views.d.ts.map +1 -1
  34. package/dist/migrations/0004_pages_views.js +1 -0
  35. package/dist/migrations/0004_pages_views.js.map +1 -1
  36. package/dist/migrations/0005_ops.d.ts.map +1 -1
  37. package/dist/migrations/0005_ops.js +1 -0
  38. package/dist/migrations/0005_ops.js.map +1 -1
  39. package/dist/migrations/0006_platform.d.ts.map +1 -1
  40. package/dist/migrations/0006_platform.js +1 -0
  41. package/dist/migrations/0006_platform.js.map +1 -1
  42. package/dist/migrations/0007_llm_runs.d.ts.map +1 -1
  43. package/dist/migrations/0007_llm_runs.js +1 -0
  44. package/dist/migrations/0007_llm_runs.js.map +1 -1
  45. package/dist/migrations/0008_llm_overrides.d.ts.map +1 -1
  46. package/dist/migrations/0008_llm_overrides.js +1 -0
  47. package/dist/migrations/0008_llm_overrides.js.map +1 -1
  48. package/dist/migrations/0009_views_kind.d.ts.map +1 -1
  49. package/dist/migrations/0009_views_kind.js +1 -0
  50. package/dist/migrations/0009_views_kind.js.map +1 -1
  51. package/dist/migrations/0010_llm_prompt_version_width.d.ts.map +1 -1
  52. package/dist/migrations/0010_llm_prompt_version_width.js +1 -0
  53. package/dist/migrations/0010_llm_prompt_version_width.js.map +1 -1
  54. package/dist/migrations/0011_i18n_runtime.d.ts +42 -0
  55. package/dist/migrations/0011_i18n_runtime.d.ts.map +1 -0
  56. package/dist/migrations/0011_i18n_runtime.js +102 -0
  57. package/dist/migrations/0011_i18n_runtime.js.map +1 -0
  58. package/dist/migrations/0012_locale_width.d.ts +29 -0
  59. package/dist/migrations/0012_locale_width.d.ts.map +1 -0
  60. package/dist/migrations/0012_locale_width.js +43 -0
  61. package/dist/migrations/0012_locale_width.js.map +1 -0
  62. package/dist/migrations/0013_connection_last_error_hint.d.ts +17 -0
  63. package/dist/migrations/0013_connection_last_error_hint.d.ts.map +1 -0
  64. package/dist/migrations/0013_connection_last_error_hint.js +22 -0
  65. package/dist/migrations/0013_connection_last_error_hint.js.map +1 -0
  66. package/dist/migrations/index.d.ts.map +1 -1
  67. package/dist/migrations/index.js +7 -0
  68. package/dist/migrations/index.js.map +1 -1
  69. package/dist/migrator.d.ts +22 -3
  70. package/dist/migrator.d.ts.map +1 -1
  71. package/dist/migrator.js +27 -6
  72. package/dist/migrator.js.map +1 -1
  73. package/dist/prefix.d.ts.map +1 -1
  74. package/dist/prefix.js +1 -0
  75. package/dist/prefix.js.map +1 -1
  76. package/dist/relocate.d.ts +118 -0
  77. package/dist/relocate.d.ts.map +1 -0
  78. package/dist/relocate.js +376 -0
  79. package/dist/relocate.js.map +1 -0
  80. package/dist/repos/api-keys.d.ts.map +1 -1
  81. package/dist/repos/api-keys.js +1 -0
  82. package/dist/repos/api-keys.js.map +1 -1
  83. package/dist/repos/audit.d.ts.map +1 -1
  84. package/dist/repos/audit.js +1 -0
  85. package/dist/repos/audit.js.map +1 -1
  86. package/dist/repos/connections.d.ts +5 -0
  87. package/dist/repos/connections.d.ts.map +1 -1
  88. package/dist/repos/connections.js +8 -0
  89. package/dist/repos/connections.js.map +1 -1
  90. package/dist/repos/email-templates.d.ts.map +1 -1
  91. package/dist/repos/email-templates.js +1 -0
  92. package/dist/repos/email-templates.js.map +1 -1
  93. package/dist/repos/exports.d.ts.map +1 -1
  94. package/dist/repos/exports.js +1 -0
  95. package/dist/repos/exports.js.map +1 -1
  96. package/dist/repos/files.d.ts.map +1 -1
  97. package/dist/repos/files.js +1 -0
  98. package/dist/repos/files.js.map +1 -1
  99. package/dist/repos/i18n-version.d.ts +32 -0
  100. package/dist/repos/i18n-version.d.ts.map +1 -0
  101. package/dist/repos/i18n-version.js +57 -0
  102. package/dist/repos/i18n-version.js.map +1 -0
  103. package/dist/repos/imports.d.ts.map +1 -1
  104. package/dist/repos/imports.js +1 -0
  105. package/dist/repos/imports.js.map +1 -1
  106. package/dist/repos/index.d.ts +3 -0
  107. package/dist/repos/index.d.ts.map +1 -1
  108. package/dist/repos/index.js +4 -0
  109. package/dist/repos/index.js.map +1 -1
  110. package/dist/repos/jobs.d.ts.map +1 -1
  111. package/dist/repos/jobs.js +1 -0
  112. package/dist/repos/jobs.js.map +1 -1
  113. package/dist/repos/llm-overrides.d.ts.map +1 -1
  114. package/dist/repos/llm-overrides.js +1 -0
  115. package/dist/repos/llm-overrides.js.map +1 -1
  116. package/dist/repos/llm-runs.d.ts.map +1 -1
  117. package/dist/repos/llm-runs.js +1 -0
  118. package/dist/repos/llm-runs.js.map +1 -1
  119. package/dist/repos/locales.d.ts +85 -0
  120. package/dist/repos/locales.d.ts.map +1 -0
  121. package/dist/repos/locales.js +190 -0
  122. package/dist/repos/locales.js.map +1 -0
  123. package/dist/repos/notification-prefs.d.ts.map +1 -1
  124. package/dist/repos/notification-prefs.js +1 -0
  125. package/dist/repos/notification-prefs.js.map +1 -1
  126. package/dist/repos/notifications.d.ts.map +1 -1
  127. package/dist/repos/notifications.js +1 -0
  128. package/dist/repos/notifications.js.map +1 -1
  129. package/dist/repos/overrides.d.ts +2 -2
  130. package/dist/repos/overrides.d.ts.map +1 -1
  131. package/dist/repos/overrides.js +1 -0
  132. package/dist/repos/overrides.js.map +1 -1
  133. package/dist/repos/pages.d.ts +147 -1
  134. package/dist/repos/pages.d.ts.map +1 -1
  135. package/dist/repos/pages.js +318 -23
  136. package/dist/repos/pages.js.map +1 -1
  137. package/dist/repos/password-resets.d.ts.map +1 -1
  138. package/dist/repos/password-resets.js +1 -0
  139. package/dist/repos/password-resets.js.map +1 -1
  140. package/dist/repos/permissions.d.ts +15 -0
  141. package/dist/repos/permissions.d.ts.map +1 -1
  142. package/dist/repos/permissions.js +39 -0
  143. package/dist/repos/permissions.js.map +1 -1
  144. package/dist/repos/roles.d.ts.map +1 -1
  145. package/dist/repos/roles.js +1 -0
  146. package/dist/repos/roles.js.map +1 -1
  147. package/dist/repos/scheduled-reports.d.ts.map +1 -1
  148. package/dist/repos/scheduled-reports.js +1 -0
  149. package/dist/repos/scheduled-reports.js.map +1 -1
  150. package/dist/repos/sessions.d.ts +9 -0
  151. package/dist/repos/sessions.d.ts.map +1 -1
  152. package/dist/repos/sessions.js +26 -0
  153. package/dist/repos/sessions.js.map +1 -1
  154. package/dist/repos/settings.d.ts.map +1 -1
  155. package/dist/repos/settings.js +1 -0
  156. package/dist/repos/settings.js.map +1 -1
  157. package/dist/repos/snapshots.d.ts.map +1 -1
  158. package/dist/repos/snapshots.js +1 -0
  159. package/dist/repos/snapshots.js.map +1 -1
  160. package/dist/repos/translations.d.ts +107 -0
  161. package/dist/repos/translations.d.ts.map +1 -0
  162. package/dist/repos/translations.js +232 -0
  163. package/dist/repos/translations.js.map +1 -0
  164. package/dist/repos/user-prefs.d.ts +8 -1
  165. package/dist/repos/user-prefs.d.ts.map +1 -1
  166. package/dist/repos/user-prefs.js +27 -3
  167. package/dist/repos/user-prefs.js.map +1 -1
  168. package/dist/repos/users.d.ts +31 -0
  169. package/dist/repos/users.d.ts.map +1 -1
  170. package/dist/repos/users.js +80 -4
  171. package/dist/repos/users.js.map +1 -1
  172. package/dist/repos/util.d.ts.map +1 -1
  173. package/dist/repos/util.js +1 -0
  174. package/dist/repos/util.js.map +1 -1
  175. package/dist/repos/views.d.ts.map +1 -1
  176. package/dist/repos/views.js +1 -0
  177. package/dist/repos/views.js.map +1 -1
  178. package/dist/schema/index.d.ts.map +1 -1
  179. package/dist/schema/index.js +1 -0
  180. package/dist/schema/index.js.map +1 -1
  181. package/dist/schema/json-payloads.d.ts +32 -2
  182. package/dist/schema/json-payloads.d.ts.map +1 -1
  183. package/dist/schema/json-payloads.js +36 -2
  184. package/dist/schema/json-payloads.js.map +1 -1
  185. package/dist/schema/settings-registry.d.ts +22 -1
  186. package/dist/schema/settings-registry.d.ts.map +1 -1
  187. package/dist/schema/settings-registry.js +22 -0
  188. package/dist/schema/settings-registry.js.map +1 -1
  189. package/dist/schema/tables.d.ts +49 -1
  190. package/dist/schema/tables.d.ts.map +1 -1
  191. package/dist/schema/tables.js +3 -0
  192. package/dist/schema/tables.js.map +1 -1
  193. package/package.json +2 -2
@@ -0,0 +1,376 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * Whole-store copy, for moving a meta store from one database to another
4
+ * (07-meta-store.md §1; 01-architecture.md §3.1 meta placement).
5
+ *
6
+ * ── WHY THIS IS NOT `export-zip` / `import-zip` ─────────────────────────────
7
+ * The export bundle carries CONFIGURATION — settings, roles, rolePermissions,
8
+ * connections, snapshots, overrides, pages, views. Eight resources out of the
9
+ * thirty-four tables in {@link META_TABLE_NAMES}. That is the right content for
10
+ * "replay this instance's setup somewhere else", and exactly the wrong content
11
+ * for "this instance is now living in a different database": it carries no
12
+ * users, no sessions and no user_roles, so a relocation built on it would log
13
+ * the operator out of the wizard they are standing in and strand the instance
14
+ * with no accounts at all. Relocation is a MOVE, not a replay, and a move has
15
+ * to be total.
16
+ *
17
+ * ── DIALECT PORTABILITY, AND WHY COERCION IS DRIVEN BY THE TARGET ───────────
18
+ * `columns.ts` maps one logical type onto three physical ones — `bool` is a
19
+ * postgres `boolean`, a mysql `tinyint(1)` and a sqlite `integer`; `json` is
20
+ * `jsonb`, `json` and `text`. So a value read from one dialect is not always a
21
+ * value the next dialect's driver will accept. SQLite hands back `0`/`1` where
22
+ * postgres wants a boolean, and `pg` hands back a parsed object where
23
+ * better-sqlite3 accepts only numbers, strings, bigints, buffers and null.
24
+ *
25
+ * Some of those mismatches happen to survive on their own — postgres will cast
26
+ * the text `'1'` to `boolean`, so sqlite → postgres appears to work untouched.
27
+ * Relying on that is how a copy engine ends up correct in exactly the direction
28
+ * it was first tested in. The coercion below is therefore driven by what the
29
+ * TARGET's columns actually are, read back with Kysely's introspection, so
30
+ * every direction is handled by the same rule rather than by luck.
31
+ *
32
+ * `ts` columns need no handling at all, which removes the worst class of
33
+ * cross-dialect bug before it starts: §2.1 pins every timestamp to epoch
34
+ * milliseconds in an integer column, so nothing here ever touches a native
35
+ * date.
36
+ *
37
+ * ── ATOMICITY ───────────────────────────────────────────────────────────────
38
+ * The whole copy runs in ONE transaction on the target. A relocation that
39
+ * failed halfway would otherwise leave a half-populated store that the next
40
+ * boot cannot tell from a real one; rolling back means the target is either
41
+ * fully written or untouched, and the caller can keep pointing at the source.
42
+ */
43
+ import { sql } from 'kysely';
44
+ import { assertMetaTable } from './prefix.js';
45
+ import { writeBool } from './repos/util.js';
46
+ import { META_TABLE_NAMES } from './schema/tables.js';
47
+ /**
48
+ * The migration ledger is never copied. The target builds its own by running
49
+ * the migrations, and that ledger — not the source's — is the honest record of
50
+ * what has been applied to THIS database. Copying the source's on top would at
51
+ * best be a no-op and at worst re-assert checksums for DDL the target reached
52
+ * by a different route.
53
+ */
54
+ export const RELOCATE_SKIP_TABLES = ['adminium_migrations'];
55
+ /**
56
+ * Parameters per INSERT. PostgreSQL's wire protocol caps a statement at 65535
57
+ * bound parameters; MySQL's practical limit is `max_allowed_packet` rather than
58
+ * a count. 20000 clears both with room to spare and still keeps the number of
59
+ * round-trips low.
60
+ */
61
+ const MAX_BOUND_PARAMETERS = 20_000;
62
+ /**
63
+ * Rows in a single table beyond which this refuses to run. Each table is read
64
+ * whole — bounded by the LARGEST table, not by the store — which is right for
65
+ * the wizard-time relocation this exists to serve, where the store is minutes
66
+ * old. An instance with a year of `adminium_audit_log` behind it is a different
67
+ * problem, and it deserves an error that says so rather than an OOM.
68
+ */
69
+ const MAX_ROWS_PER_TABLE = 500_000;
70
+ /**
71
+ * `name` is typed `string`, not narrowed to the literal, precisely so the
72
+ * subclasses below (and the server's, which extend this across the package
73
+ * boundary) can each declare their own — a literal here makes every `override
74
+ * readonly name` in a subclass a type error.
75
+ */
76
+ export class MetaRelocateError extends Error {
77
+ name = 'MetaRelocateError';
78
+ }
79
+ /** The target already holds Adminium data — refuse rather than merge into it. */
80
+ export class MetaStoreNotEmptyError extends MetaRelocateError {
81
+ tables;
82
+ name = 'MetaStoreNotEmptyError';
83
+ constructor(tables) {
84
+ super(`The target database already contains Adminium data (${tables.join(', ')}). ` +
85
+ 'Relocation copies a whole store and will not merge into an existing one — ' +
86
+ 'point it at a database with no adminium_ tables, or drop them first.');
87
+ this.tables = tables;
88
+ }
89
+ }
90
+ /** A table came out the other side with a different number of rows. */
91
+ export class MetaCopyVerificationError extends MetaRelocateError {
92
+ table;
93
+ expected;
94
+ actual;
95
+ name = 'MetaCopyVerificationError';
96
+ constructor(table, expected, actual) {
97
+ super(`Copy verification failed for ${table}: expected ${String(expected)} row(s), ` +
98
+ `found ${String(actual)}. The target was rolled back and the source is unchanged.`);
99
+ this.table = table;
100
+ this.expected = expected;
101
+ this.actual = actual;
102
+ }
103
+ }
104
+ /** The tables this copies, in FK-safe insert order. */
105
+ export function relocatableTables() {
106
+ return META_TABLE_NAMES.filter((name) => !RELOCATE_SKIP_TABLES.includes(name));
107
+ }
108
+ /**
109
+ * Kysely's `CamelCasePlugin` maps COLUMN names, so every row this module reads
110
+ * and writes is camelCase — but `introspection.getTables()` reports the
111
+ * PHYSICAL names, which are snake_case. This is that bridge, and it matches the
112
+ * plugin's own default transform: split on underscores, capitalize each
113
+ * subsequent segment.
114
+ */
115
+ export function snakeToCamel(name) {
116
+ return name.replace(/_([a-z0-9])/g, (_, char) => char.toUpperCase());
117
+ }
118
+ /**
119
+ * Classify one physical column. Matched on the data type introspection reports
120
+ * rather than on a dialect check, so a type this does not recognise falls
121
+ * through untouched instead of being mangled.
122
+ *
123
+ * SQLite is invisible here by design: `columns.ts` stores its `bool` as
124
+ * `integer` and its `json` as `text`, neither of which is distinguishable from
125
+ * a genuine int or a genuine string. That is exactly why {@link planColumns}
126
+ * merges BOTH sides — sqlite's shape is recovered from whatever the other end
127
+ * declares.
128
+ */
129
+ function kindOf(dataType) {
130
+ const type = dataType.toLowerCase();
131
+ if (type === 'json' || type === 'jsonb')
132
+ return 'json';
133
+ // postgres `bool`/`boolean`; mysql `tinyint`/`tinyint(1)`.
134
+ if (type === 'bool' || type === 'boolean')
135
+ return 'boolean';
136
+ if (type.startsWith('tinyint'))
137
+ return 'boolean';
138
+ return 'other';
139
+ }
140
+ /**
141
+ * One value, made acceptable to `to`'s driver.
142
+ *
143
+ * ── JSON IS CHECKED FIRST, AND THAT ORDER IS THE WHOLE BUG ──────────────────
144
+ * A JSON column can legitimately hold a bare `false` — `settings.value` for
145
+ * `telemetry.enabled` is exactly that. Postgres and MySQL decode it to a JS
146
+ * boolean, so a boolean branch that ran first would hand it to `writeBool` and
147
+ * insert `false`/`0` into a `jsonb` column, which postgres rejects outright
148
+ * ("invalid input syntax for type json"). Payload shape wins over value shape.
149
+ *
150
+ * ── THE BOOLEAN BRANCH NEEDS BOTH ITS HALVES ────────────────────────────────
151
+ * The two dialects fail in opposite directions and neither failure is
152
+ * theoretical (`repos/util.ts`: "better-sqlite3 refuses to bind booleans; PG
153
+ * refuses numbers for boolean columns"):
154
+ *
155
+ * - sqlite → postgres. SQLite stores `bool` as `integer`, so the value is
156
+ * `0`/`1` and the target column is `bool`. Caught by the column kind.
157
+ * - postgres → sqlite. `pg` decodes `bool` to a JS boolean, and the target
158
+ * column is a plain `integer` indistinguishable from a real int column.
159
+ * Caught only by the value's own type.
160
+ *
161
+ * `writeBool` is reused rather than restated so the dialect rule has exactly
162
+ * one definition in this package.
163
+ */
164
+ function coerce(value, coercion, to) {
165
+ if (value === null || value === undefined)
166
+ return null;
167
+ if (coercion === 'jsonEncode') {
168
+ // The source column was json-NATIVE, so the driver already decoded it and
169
+ // the characters have to be put back — including for strings, which is the
170
+ // case that looks safe and is not. `repos/util.ts` spells out why: a stored
171
+ // `"violet"` arrives as the JS string `violet`, which is not parseable
172
+ // JSON. Passing it straight to a jsonb column is "invalid input syntax for
173
+ // type json"; re-encoding it yields `"violet"` again.
174
+ return JSON.stringify(value);
175
+ }
176
+ if (coercion === 'boolean' || typeof value === 'boolean') {
177
+ return writeBool(to, truthy(value));
178
+ }
179
+ if (typeof value === 'object' && !isBinary(value)) {
180
+ // An object reaching a non-json column means the two sides disagree about
181
+ // that column's shape. Serializing is the only lossless option — buffers
182
+ // are left alone, being the one non-plain object a driver legitimately
183
+ // produces.
184
+ return JSON.stringify(value);
185
+ }
186
+ return value;
187
+ }
188
+ /** Every shape the three drivers hand back for a boolean column. */
189
+ function truthy(value) {
190
+ if (typeof value === 'boolean')
191
+ return value;
192
+ if (typeof value === 'number')
193
+ return value !== 0;
194
+ if (typeof value === 'string')
195
+ return value !== '' && value !== '0' && value !== 'false';
196
+ return Boolean(value);
197
+ }
198
+ function isBinary(value) {
199
+ return value instanceof Uint8Array || ArrayBuffer.isView(value);
200
+ }
201
+ async function introspectKinds(meta) {
202
+ const tables = await meta.db.introspection.getTables();
203
+ const kinds = new Map();
204
+ for (const table of tables) {
205
+ if (!table.name.startsWith('adminium_'))
206
+ continue;
207
+ const columns = new Map();
208
+ for (const column of table.columns) {
209
+ columns.set(snakeToCamel(column.name), kindOf(column.dataType));
210
+ }
211
+ kinds.set(table.name, columns);
212
+ }
213
+ return kinds;
214
+ }
215
+ /**
216
+ * Merge what each end declares into one coercion per column.
217
+ *
218
+ * BOTH ends are read because SQLite cannot describe itself: its `bool` is an
219
+ * `integer` and its `json` is `text`, so a sqlite→sqlite copy learns nothing
220
+ * from introspection (correctly — passthrough is right when both ends store the
221
+ * same physical shape), while sqlite↔postgres recovers the logical type from
222
+ * whichever end is not sqlite. A column is treated as JSON if EITHER side calls
223
+ * it JSON, which is what stops a decoded payload being re-encoded as SQL.
224
+ *
225
+ * The target's column set is authoritative: a column the target does not have
226
+ * is absent from the plan, and {@link writeTable} drops it.
227
+ */
228
+ function planColumns(source, target) {
229
+ const plan = new Map();
230
+ for (const [table, targetColumns] of target) {
231
+ const sourceColumns = source.get(table);
232
+ const columns = new Map();
233
+ for (const [column, targetKind] of targetColumns) {
234
+ const sourceKind = sourceColumns?.get(column) ?? 'other';
235
+ if (targetKind === 'json' || sourceKind === 'json') {
236
+ // For a JSON column the SOURCE decides the work, not the target: a
237
+ // json-native source hands back a decoded value that must be re-encoded,
238
+ // while a sqlite `text` source hands back serialized characters that
239
+ // every target accepts as-is (postgres and mysql both cast JSON text
240
+ // into the column). What the target is only matters for spotting that
241
+ // the column is JSON at all.
242
+ columns.set(column, sourceKind === 'json' ? 'jsonEncode' : 'passthrough');
243
+ }
244
+ else if (targetKind === 'boolean')
245
+ columns.set(column, 'boolean');
246
+ // Not `sourceKind === 'boolean'`: a boolean arriving at a sqlite integer
247
+ // column is caught by value in `coerce`, and asserting it here would also
248
+ // catch the genuine ints that share that physical type.
249
+ else
250
+ columns.set(column, 'passthrough');
251
+ }
252
+ plan.set(table, columns);
253
+ }
254
+ return plan;
255
+ }
256
+ /** `count(*)` for one table, as a number on every dialect. */
257
+ async function countRows(db, table) {
258
+ assertMetaTable(table);
259
+ const row = await db
260
+ .selectFrom(table)
261
+ .select(sql `count(*)`.as('count'))
262
+ .executeTakeFirst();
263
+ return Number(row?.count ?? 0);
264
+ }
265
+ /**
266
+ * Row counts for every relocatable table. Used both to size the copy up front
267
+ * and to verify it afterwards.
268
+ */
269
+ export async function countMetaRows(meta) {
270
+ const counts = new Map();
271
+ for (const table of relocatableTables()) {
272
+ counts.set(table, await countRows(meta.db, table));
273
+ }
274
+ return counts;
275
+ }
276
+ /**
277
+ * Throw unless the store holds no Adminium data. Called against the TARGET
278
+ * before anything is written, so "already in use" is a refusal rather than a
279
+ * primary-key collision halfway through the copy.
280
+ */
281
+ export async function assertMetaStoreEmpty(meta) {
282
+ const counts = await countMetaRows(meta);
283
+ const occupied = [...counts.entries()].filter(([, count]) => count > 0).map(([table]) => table);
284
+ if (occupied.length > 0)
285
+ throw new MetaStoreNotEmptyError(occupied);
286
+ }
287
+ /**
288
+ * Copy every `adminium_*` table from `from` to `to`, in one transaction.
289
+ *
290
+ * The target must be migrated and empty ({@link assertMetaStoreEmpty}). Insert
291
+ * order is {@link META_TABLE_NAMES}, which is declared in dependency-safe
292
+ * creation order and is therefore also FK-safe for inserts — so this needs no
293
+ * constraint juggling on any of the three dialects.
294
+ */
295
+ export async function copyMetaStore(opts) {
296
+ const { from, to } = opts;
297
+ const sourceCounts = await countMetaRows(from);
298
+ for (const [table, count] of sourceCounts) {
299
+ if (count > MAX_ROWS_PER_TABLE) {
300
+ throw new MetaRelocateError(`${table} holds ${String(count)} rows, more than this can move in one pass ` +
301
+ `(${String(MAX_ROWS_PER_TABLE)}). Relocate with the database's own dump/restore tools instead.`);
302
+ }
303
+ }
304
+ const plan = planColumns(await introspectKinds(from), await introspectKinds(to));
305
+ const tables = [];
306
+ await to.db.transaction().execute(async (trx) => {
307
+ for (const table of relocatableTables()) {
308
+ const expected = sourceCounts.get(table) ?? 0;
309
+ if (expected === 0) {
310
+ tables.push({ table, rows: 0 });
311
+ opts.onProgress?.(table, 0);
312
+ continue;
313
+ }
314
+ const rows = await readTable(from, table);
315
+ const written = await writeTable(trx, to, table, rows, plan.get(table));
316
+ if (written !== expected)
317
+ throw new MetaCopyVerificationError(table, expected, written);
318
+ tables.push({ table, rows: written });
319
+ opts.onProgress?.(table, written);
320
+ }
321
+ });
322
+ // Verified OUTSIDE the transaction, against committed state: a count taken
323
+ // inside it would be reading back this transaction's own uncommitted writes,
324
+ // which proves nothing about what survived the commit.
325
+ for (const { table, rows } of tables) {
326
+ const actual = await countRows(to.db, table);
327
+ if (actual !== rows)
328
+ throw new MetaCopyVerificationError(table, rows, actual);
329
+ }
330
+ return { tables, totalRows: tables.reduce((sum, entry) => sum + entry.rows, 0) };
331
+ }
332
+ async function readTable(from, table) {
333
+ assertMetaTable(table);
334
+ const rows = await from.db
335
+ .selectFrom(table)
336
+ .selectAll()
337
+ .execute();
338
+ return rows;
339
+ }
340
+ /**
341
+ * Insert `rows` into `table`, chunked so no single statement outruns the
342
+ * driver's bound-parameter ceiling. Columns the TARGET does not have are
343
+ * dropped rather than sent — a source one migration ahead of the target would
344
+ * otherwise fail on an unknown column instead of copying what does line up.
345
+ */
346
+ async function writeTable(trx, to, table, rows, columnPlan) {
347
+ assertMetaTable(table);
348
+ if (rows.length === 0)
349
+ return 0;
350
+ const columns = Object.keys(rows[0]).filter((column) => columnPlan === undefined || columnPlan.has(column));
351
+ if (columns.length === 0) {
352
+ throw new MetaRelocateError(`No columns in common for ${table} — source and target disagree.`);
353
+ }
354
+ const perChunk = Math.max(1, Math.floor(MAX_BOUND_PARAMETERS / columns.length));
355
+ let written = 0;
356
+ for (let offset = 0; offset < rows.length; offset += perChunk) {
357
+ const chunk = rows.slice(offset, offset + perChunk).map((row) => {
358
+ const out = {};
359
+ for (const column of columns) {
360
+ out[column] = coerce(row[column], columnPlan?.get(column) ?? 'passthrough', to);
361
+ }
362
+ return out;
363
+ });
364
+ await trx
365
+ // The table name is a runtime value from META_TABLE_NAMES and the rows are
366
+ // shaped by the target's own columns, so neither can be expressed in
367
+ // Kysely's per-table row types. `assertMetaTable` above is the guard that
368
+ // matters: nothing outside the adminium_ namespace is reachable from here.
369
+ .insertInto(table)
370
+ .values(chunk)
371
+ .execute();
372
+ written += chunk.length;
373
+ }
374
+ return written;
375
+ }
376
+ //# sourceMappingURL=relocate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relocate.js","sourceRoot":"","sources":["../src/relocate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/repos/api-keys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;kBAGhB,iBAAiB,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;yBAiBrD,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;iBAIlC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,qDAAqD;oCACf,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAWhF,OAAO,CAAC,MAAM,EAAE,CAAC;eAId,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAUnE,6DAA6D;sBACrC,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,IAAI,CAAC;EAI1E;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/repos/api-keys.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;kBAGhB,iBAAiB,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;yBAiBrD,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;iBAIlC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,qDAAqD;oCACf,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAWhF,OAAO,CAAC,MAAM,EAAE,CAAC;eAId,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAUnE,6DAA6D;sBACrC,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,IAAI,CAAC;EAI1E;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * apiKeysRepo — adminium_api_keys (07-meta-store.md §3.7).
3
4
  * Stripe-style `adm_live_…`: the secret is shown once by the server; only the
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/repos/api-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/repos/api-keys.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM;kBAGd,eAAe,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;kBAqBxE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,UAAU,EAAE,CAAC;IAYxB,qFAAqF;WACxE,MAAM,iBAAiB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAM/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM;kBAGd,eAAe,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;kBAqBxE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,UAAU,EAAE,CAAC;IAYxB,qFAAqF;WACxE,MAAM,iBAAiB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAM/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * auditRepo — adminium_audit_log (07-meta-store.md §3.11). Append-only;
3
4
  * actor label denormalized so entries survive principal deletion; `changes`
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,eAAe,GAIhB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiCrD,SAAS,QAAQ,CAAC,GAAsC;IACtD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,cAAc,CAAY,GAAG,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,cAAc,CAA0B,GAAG,CAAC,OAAO,CAAC;QAC7D,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,SAAS,WAAW,CAAC,OAAmC;IACtD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,uBAAuB;QAAE,OAAO,UAAU,CAAC;IACxF,OAAO,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,GAAG,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;gBAChB,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBACxC,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClH,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACnC,CAAC;YACF,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,QAAQ,CAAC,GAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,IAAI,CACR,SAAyE,EAAE;YAE3E,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC;iBACjB,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;iBAC1B,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,qFAAqF;QACrF,KAAK,CAAC,EAAE,CAAC,EAAU,EAAE,aAAqB;YACxC,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,GAAG,UAAU,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzG,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -33,6 +33,8 @@ export interface Connection {
33
33
  lastTestedAt: number | null;
34
34
  lastLatencyMs: number | null;
35
35
  lastError: string | null;
36
+ /** Remediation copy for {@link lastError}, from the adapter (05 §3). */
37
+ lastErrorHint: string | null;
36
38
  createdBy: string | null;
37
39
  createdAt: number;
38
40
  updatedAt: number;
@@ -66,11 +68,14 @@ export interface UpdateConnectionInput {
66
68
  settings?: ConnectionSettings;
67
69
  status?: string;
68
70
  lastError?: string | null;
71
+ lastErrorHint?: string | null;
69
72
  }
70
73
  export interface ConnectionTestOutcome {
71
74
  ok: boolean;
72
75
  latencyMs?: number | null;
73
76
  error?: string | null;
77
+ /** The failure's remediation hint, when the adapter supplied one. */
78
+ errorHint?: string | null;
74
79
  /** Probe result — a read-only data role flips the app read-only (§3.13). */
75
80
  readOnly?: boolean;
76
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * connectionsRepo — adminium_connections (07-meta-store.md §3.13).
3
4
  *
@@ -25,6 +26,7 @@ function decode(row) {
25
26
  lastTestedAt: row.lastTestedAt,
26
27
  lastLatencyMs: row.lastLatencyMs,
27
28
  lastError: row.lastError,
29
+ lastErrorHint: row.lastErrorHint,
28
30
  createdBy: row.createdBy,
29
31
  createdAt: row.createdAt,
30
32
  updatedAt: row.updatedAt,
@@ -90,6 +92,7 @@ export function connectionsRepo(meta, crypto) {
90
92
  lastTestedAt: null,
91
93
  lastLatencyMs: null,
92
94
  lastError: null,
95
+ lastErrorHint: null,
93
96
  createdBy: input.createdBy ?? null,
94
97
  createdAt: at,
95
98
  updatedAt: at,
@@ -133,6 +136,8 @@ export function connectionsRepo(meta, crypto) {
133
136
  set.readOnly = writeBool(meta, patch.readOnly);
134
137
  if (patch.lastError !== undefined)
135
138
  set.lastError = patch.lastError;
139
+ if (patch.lastErrorHint !== undefined)
140
+ set.lastErrorHint = patch.lastErrorHint;
136
141
  if (patch.ssl !== undefined) {
137
142
  if (patch.ssl === null) {
138
143
  set.ssl = null;
@@ -170,6 +175,9 @@ export function connectionsRepo(meta, crypto) {
170
175
  lastTestedAt: at,
171
176
  lastLatencyMs: outcome.latencyMs ?? null,
172
177
  lastError: outcome.ok ? null : (outcome.error ?? 'connection test failed'),
178
+ // Cleared on success alongside lastError — a stale hint next to a
179
+ // healthy connection reads as an unresolved problem.
180
+ lastErrorHint: outcome.ok ? null : (outcome.errorHint ?? null),
173
181
  status: outcome.ok ? 'connected' : 'error',
174
182
  updatedAt: at,
175
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-templates.d.ts","sourceRoot":"","sources":["../../src/repos/email-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM;2BAGT,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAa1E,OAAO,CAAC,aAAa,EAAE,CAAC;IAUtC;;;OAGG;gBAEI,MAAM,UACH,MAAM,SACP,wBAAwB,OAC3B,MAAM,GACT,OAAO,CAAC,aAAa,CAAC;gBA2BP,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAS9D;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"email-templates.d.ts","sourceRoot":"","sources":["../../src/repos/email-templates.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM;2BAGT,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAa1E,OAAO,CAAC,aAAa,EAAE,CAAC;IAUtC;;;OAGG;gBAEI,MAAM,UACH,MAAM,SACP,wBAAwB,OAC3B,MAAM,GACT,OAAO,CAAC,aAAa,CAAC;gBA2BP,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAS9D;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * emailTemplatesRepo — adminium_email_templates (07-meta-store.md §3.28):
3
4
  * overrides of built-in email templates, unique on `(key, locale)`. The row
@@ -1 +1 @@
1
- {"version":3,"file":"email-templates.js","sourceRoot":"","sources":["../../src/repos/email-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-templates.js","sourceRoot":"","sources":["../../src/repos/email-templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/repos/exports.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAU5C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAmBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;mBAGV,MAAM,KAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;kBAQzC,iBAAiB,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;IAmBpF,wEAAwE;gBAEhE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,UAAU,EAAE,CAAC;IAWxB,oEAAoE;kBAE9D,MAAM,UACF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,OAClE,MAAM,GACT,OAAO,CAAC,OAAO,CAAC;mBAgBE,MAAM,SAAS,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;sBAU9D,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAU1E,uEAAuE;mBACnD,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;IAWzD;;;;;OAKG;0CAGA,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;EAgBnE;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/repos/exports.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAU5C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAmBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;mBAGV,MAAM,KAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;kBAQzC,iBAAiB,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;IAmBpF,wEAAwE;gBAEhE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,UAAU,EAAE,CAAC;IAWxB,oEAAoE;kBAE9D,MAAM,UACF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,OAClE,MAAM,GACT,OAAO,CAAC,OAAO,CAAC;mBAgBE,MAAM,SAAS,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;sBAU9D,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAU1E,uEAAuE;mBACnD,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;IAWzD;;;;;OAKG;0CAGA,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;EAgBnE;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * exportsRepo — adminium_exports (07-meta-store.md §3.25): one row per data
3
4
  * export request. The row is the export's public state machine