@adminiumjs/meta 0.1.0-rc.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.
Files changed (194) hide show
  1. package/LICENSE +661 -0
  2. package/dist/bootstrap.d.ts +103 -0
  3. package/dist/bootstrap.d.ts.map +1 -0
  4. package/dist/bootstrap.js +225 -0
  5. package/dist/bootstrap.js.map +1 -0
  6. package/dist/columns.d.ts +44 -0
  7. package/dist/columns.d.ts.map +1 -0
  8. package/dist/columns.js +57 -0
  9. package/dist/columns.js.map +1 -0
  10. package/dist/connect.d.ts +38 -0
  11. package/dist/connect.d.ts.map +1 -0
  12. package/dist/connect.js +57 -0
  13. package/dist/connect.js.map +1 -0
  14. package/dist/ids.d.ts +79 -0
  15. package/dist/ids.d.ts.map +1 -0
  16. package/dist/ids.js +165 -0
  17. package/dist/ids.js.map +1 -0
  18. package/dist/index.d.ts +21 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +21 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/migrations/0001_core_auth.d.ts +9 -0
  23. package/dist/migrations/0001_core_auth.d.ts.map +1 -0
  24. package/dist/migrations/0001_core_auth.js +102 -0
  25. package/dist/migrations/0001_core_auth.js.map +1 -0
  26. package/dist/migrations/0002_rbac.d.ts +8 -0
  27. package/dist/migrations/0002_rbac.d.ts.map +1 -0
  28. package/dist/migrations/0002_rbac.js +75 -0
  29. package/dist/migrations/0002_rbac.js.map +1 -0
  30. package/dist/migrations/0003_connections_schema.d.ts +9 -0
  31. package/dist/migrations/0003_connections_schema.d.ts.map +1 -0
  32. package/dist/migrations/0003_connections_schema.js +100 -0
  33. package/dist/migrations/0003_connections_schema.js.map +1 -0
  34. package/dist/migrations/0004_pages_views.d.ts +8 -0
  35. package/dist/migrations/0004_pages_views.d.ts.map +1 -0
  36. package/dist/migrations/0004_pages_views.js +59 -0
  37. package/dist/migrations/0004_pages_views.js.map +1 -0
  38. package/dist/migrations/0005_ops.d.ts +9 -0
  39. package/dist/migrations/0005_ops.d.ts.map +1 -0
  40. package/dist/migrations/0005_ops.js +104 -0
  41. package/dist/migrations/0005_ops.js.map +1 -0
  42. package/dist/migrations/0006_platform.d.ts +11 -0
  43. package/dist/migrations/0006_platform.d.ts.map +1 -0
  44. package/dist/migrations/0006_platform.js +259 -0
  45. package/dist/migrations/0006_platform.js.map +1 -0
  46. package/dist/migrations/0007_llm_runs.d.ts +33 -0
  47. package/dist/migrations/0007_llm_runs.d.ts.map +1 -0
  48. package/dist/migrations/0007_llm_runs.js +62 -0
  49. package/dist/migrations/0007_llm_runs.js.map +1 -0
  50. package/dist/migrations/0008_llm_overrides.d.ts +18 -0
  51. package/dist/migrations/0008_llm_overrides.d.ts.map +1 -0
  52. package/dist/migrations/0008_llm_overrides.js +24 -0
  53. package/dist/migrations/0008_llm_overrides.js.map +1 -0
  54. package/dist/migrations/0009_views_kind.d.ts +20 -0
  55. package/dist/migrations/0009_views_kind.d.ts.map +1 -0
  56. package/dist/migrations/0009_views_kind.js +24 -0
  57. package/dist/migrations/0009_views_kind.js.map +1 -0
  58. package/dist/migrations/0010_llm_prompt_version_width.d.ts +19 -0
  59. package/dist/migrations/0010_llm_prompt_version_width.d.ts.map +1 -0
  60. package/dist/migrations/0010_llm_prompt_version_width.js +28 -0
  61. package/dist/migrations/0010_llm_prompt_version_width.js.map +1 -0
  62. package/dist/migrations/index.d.ts +29 -0
  63. package/dist/migrations/index.d.ts.map +1 -0
  64. package/dist/migrations/index.js +43 -0
  65. package/dist/migrations/index.js.map +1 -0
  66. package/dist/migrator.d.ts +83 -0
  67. package/dist/migrator.d.ts.map +1 -0
  68. package/dist/migrator.js +173 -0
  69. package/dist/migrator.js.map +1 -0
  70. package/dist/prefix.d.ts +19 -0
  71. package/dist/prefix.d.ts.map +1 -0
  72. package/dist/prefix.js +33 -0
  73. package/dist/prefix.js.map +1 -0
  74. package/dist/repos/api-keys.d.ts +31 -0
  75. package/dist/repos/api-keys.d.ts.map +1 -0
  76. package/dist/repos/api-keys.js +62 -0
  77. package/dist/repos/api-keys.js.map +1 -0
  78. package/dist/repos/audit.d.ts +51 -0
  79. package/dist/repos/audit.d.ts.map +1 -0
  80. package/dist/repos/audit.js +78 -0
  81. package/dist/repos/audit.js.map +1 -0
  82. package/dist/repos/connections.d.ts +90 -0
  83. package/dist/repos/connections.d.ts.map +1 -0
  84. package/dist/repos/connections.js +191 -0
  85. package/dist/repos/connections.js.map +1 -0
  86. package/dist/repos/email-templates.d.ts +47 -0
  87. package/dist/repos/email-templates.d.ts.map +1 -0
  88. package/dist/repos/email-templates.js +93 -0
  89. package/dist/repos/email-templates.js.map +1 -0
  90. package/dist/repos/exports.d.ts +67 -0
  91. package/dist/repos/exports.d.ts.map +1 -0
  92. package/dist/repos/exports.js +132 -0
  93. package/dist/repos/exports.js.map +1 -0
  94. package/dist/repos/files.d.ts +52 -0
  95. package/dist/repos/files.d.ts.map +1 -0
  96. package/dist/repos/files.js +86 -0
  97. package/dist/repos/files.js.map +1 -0
  98. package/dist/repos/imports.d.ts +71 -0
  99. package/dist/repos/imports.d.ts.map +1 -0
  100. package/dist/repos/imports.js +111 -0
  101. package/dist/repos/imports.js.map +1 -0
  102. package/dist/repos/index.d.ts +26 -0
  103. package/dist/repos/index.d.ts.map +1 -0
  104. package/dist/repos/index.js +26 -0
  105. package/dist/repos/index.js.map +1 -0
  106. package/dist/repos/jobs.d.ts +71 -0
  107. package/dist/repos/jobs.d.ts.map +1 -0
  108. package/dist/repos/jobs.js +187 -0
  109. package/dist/repos/jobs.js.map +1 -0
  110. package/dist/repos/llm-overrides.d.ts +89 -0
  111. package/dist/repos/llm-overrides.d.ts.map +1 -0
  112. package/dist/repos/llm-overrides.js +205 -0
  113. package/dist/repos/llm-overrides.js.map +1 -0
  114. package/dist/repos/llm-runs.d.ts +114 -0
  115. package/dist/repos/llm-runs.d.ts.map +1 -0
  116. package/dist/repos/llm-runs.js +214 -0
  117. package/dist/repos/llm-runs.js.map +1 -0
  118. package/dist/repos/notification-prefs.d.ts +34 -0
  119. package/dist/repos/notification-prefs.d.ts.map +1 -0
  120. package/dist/repos/notification-prefs.js +80 -0
  121. package/dist/repos/notification-prefs.js.map +1 -0
  122. package/dist/repos/notifications.d.ts +60 -0
  123. package/dist/repos/notifications.d.ts.map +1 -0
  124. package/dist/repos/notifications.js +107 -0
  125. package/dist/repos/notifications.js.map +1 -0
  126. package/dist/repos/overrides.d.ts +59 -0
  127. package/dist/repos/overrides.d.ts.map +1 -0
  128. package/dist/repos/overrides.js +143 -0
  129. package/dist/repos/overrides.js.map +1 -0
  130. package/dist/repos/pages.d.ts +192 -0
  131. package/dist/repos/pages.d.ts.map +1 -0
  132. package/dist/repos/pages.js +374 -0
  133. package/dist/repos/pages.js.map +1 -0
  134. package/dist/repos/password-resets.d.ts +32 -0
  135. package/dist/repos/password-resets.d.ts.map +1 -0
  136. package/dist/repos/password-resets.js +56 -0
  137. package/dist/repos/password-resets.js.map +1 -0
  138. package/dist/repos/permissions.d.ts +28 -0
  139. package/dist/repos/permissions.d.ts.map +1 -0
  140. package/dist/repos/permissions.js +100 -0
  141. package/dist/repos/permissions.js.map +1 -0
  142. package/dist/repos/roles.d.ts +33 -0
  143. package/dist/repos/roles.d.ts.map +1 -0
  144. package/dist/repos/roles.js +89 -0
  145. package/dist/repos/roles.js.map +1 -0
  146. package/dist/repos/scheduled-reports.d.ts +73 -0
  147. package/dist/repos/scheduled-reports.d.ts.map +1 -0
  148. package/dist/repos/scheduled-reports.js +132 -0
  149. package/dist/repos/scheduled-reports.js.map +1 -0
  150. package/dist/repos/sessions.d.ts +33 -0
  151. package/dist/repos/sessions.d.ts.map +1 -0
  152. package/dist/repos/sessions.js +79 -0
  153. package/dist/repos/sessions.js.map +1 -0
  154. package/dist/repos/settings.d.ts +25 -0
  155. package/dist/repos/settings.d.ts.map +1 -0
  156. package/dist/repos/settings.js +73 -0
  157. package/dist/repos/settings.js.map +1 -0
  158. package/dist/repos/snapshots.d.ts +79 -0
  159. package/dist/repos/snapshots.d.ts.map +1 -0
  160. package/dist/repos/snapshots.js +191 -0
  161. package/dist/repos/snapshots.js.map +1 -0
  162. package/dist/repos/user-prefs.d.ts +56 -0
  163. package/dist/repos/user-prefs.d.ts.map +1 -0
  164. package/dist/repos/user-prefs.js +147 -0
  165. package/dist/repos/user-prefs.js.map +1 -0
  166. package/dist/repos/users.d.ts +38 -0
  167. package/dist/repos/users.d.ts.map +1 -0
  168. package/dist/repos/users.js +103 -0
  169. package/dist/repos/users.js.map +1 -0
  170. package/dist/repos/util.d.ts +45 -0
  171. package/dist/repos/util.d.ts.map +1 -0
  172. package/dist/repos/util.js +81 -0
  173. package/dist/repos/util.js.map +1 -0
  174. package/dist/repos/views.d.ts +75 -0
  175. package/dist/repos/views.d.ts.map +1 -0
  176. package/dist/repos/views.js +180 -0
  177. package/dist/repos/views.js.map +1 -0
  178. package/dist/schema/index.d.ts +4 -0
  179. package/dist/schema/index.d.ts.map +1 -0
  180. package/dist/schema/index.js +4 -0
  181. package/dist/schema/index.js.map +1 -0
  182. package/dist/schema/json-payloads.d.ts +479 -0
  183. package/dist/schema/json-payloads.d.ts.map +1 -0
  184. package/dist/schema/json-payloads.js +340 -0
  185. package/dist/schema/json-payloads.js.map +1 -0
  186. package/dist/schema/settings-registry.d.ts +187 -0
  187. package/dist/schema/settings-registry.d.ts.map +1 -0
  188. package/dist/schema/settings-registry.js +183 -0
  189. package/dist/schema/settings-registry.js.map +1 -0
  190. package/dist/schema/tables.d.ts +568 -0
  191. package/dist/schema/tables.d.ts.map +1 -0
  192. package/dist/schema/tables.js +51 -0
  193. package/dist/schema/tables.js.map +1 -0
  194. package/package.json +33 -0
@@ -0,0 +1,568 @@
1
+ /**
2
+ * Kysely `MetaDB` interface — one table interface per adminium_* table
3
+ * (BRIEF §6 / 07-meta-store.md §3: 32 names, 31 physical tables +
4
+ * the `adminium_migrations` ledger; `adminium_dashboards` is NOT a physical
5
+ * table — dashboards are `adminium_pages` rows with `type='page-dashboard'`).
6
+ *
7
+ * The meta Kysely instance runs with `CamelCasePlugin`, so properties here are
8
+ * camelCase while physical columns are snake_case.
9
+ *
10
+ * Column-type conventions (07-meta-store.md §2.1):
11
+ * - ids: type-prefixed ULIDs in char(36) → `string`
12
+ * - ts: epoch milliseconds UTC → `number`
13
+ * - json: stored serialized; repos write strings and parse reads → {@link JsonColumn}
14
+ * - bool: PG boolean / MySQL tinyint / SQLite integer → {@link BoolColumn}
15
+ */
16
+ import type { ColumnType } from 'kysely';
17
+ /** Type-prefixed ULID (`usr_01J…`) in a char(36) column. */
18
+ export type Id = string;
19
+ /** Epoch milliseconds UTC. PG pools must parse int8 to number (values < 2^53). */
20
+ export type Ts = number;
21
+ /**
22
+ * Opaque JSON payload. Writes are always `JSON.stringify(...)` strings
23
+ * (portable across jsonb/json/text); reads may come back parsed (PG jsonb)
24
+ * or as a string (SQLite) — repos normalize via `readJson()`.
25
+ */
26
+ export type JsonColumn = ColumnType<unknown, string, string>;
27
+ /** Boolean column; SQLite/MySQL round-trip as 0/1 — repos coerce via `readBool()`. */
28
+ export type BoolColumn = ColumnType<boolean | 0 | 1, boolean | 0 | 1, boolean | 0 | 1>;
29
+ /** §3.1 migration ledger — owned exclusively by the runner. */
30
+ export interface AdminiumMigrationsTable {
31
+ /** PK; migration basename, e.g. `0001_core_auth`. */
32
+ name: string;
33
+ /** SHA-256 of the migration contents at apply time. */
34
+ checksum: string;
35
+ appliedAt: Ts;
36
+ durationMs: number;
37
+ adminiumVersion: string;
38
+ }
39
+ /** §3.2 global defaults — explicit super-admin overrides only. */
40
+ export interface AdminiumSettingsTable {
41
+ /** PK; namespaced key, e.g. `appearance.accent`. */
42
+ key: string;
43
+ value: JsonColumn;
44
+ updatedAt: Ts;
45
+ updatedBy: Id | null;
46
+ }
47
+ /** §3.3 */
48
+ export interface AdminiumUsersTable {
49
+ id: Id;
50
+ /** Lowercased; unique. */
51
+ email: string;
52
+ name: string;
53
+ /** argon2id; NULL while status='invited'. Hashing happens in the server. */
54
+ passwordHash: string | null;
55
+ /** active | invited | suspended */
56
+ status: string;
57
+ totpSecretEncrypted: string | null;
58
+ totpEnabled: BoolColumn;
59
+ /** JSON array of argon2id hashes. */
60
+ recoveryCodes: JsonColumn | null;
61
+ /** Soft ref → adminium_files (created in a later wave; no FK). */
62
+ avatarFileId: Id | null;
63
+ lastLoginAt: Ts | null;
64
+ createdAt: Ts;
65
+ updatedAt: Ts;
66
+ }
67
+ /** §3.4 one row per user; NULL axis = inherit. */
68
+ export interface AdminiumUserPrefsTable {
69
+ /** PK; FK → adminium_users CASCADE. */
70
+ userId: Id;
71
+ theme: string | null;
72
+ accent: string | null;
73
+ density: string | null;
74
+ locale: string | null;
75
+ /** ltr | rtl; NULL = derived from locale. */
76
+ dir: string | null;
77
+ uiState: JsonColumn | null;
78
+ updatedAt: Ts;
79
+ }
80
+ /** §3.5 opaque session tokens — only the SHA-256 of the cookie value is stored. */
81
+ export interface AdminiumSessionsTable {
82
+ id: Id;
83
+ tokenHash: string;
84
+ userId: Id;
85
+ createdAt: Ts;
86
+ expiresAt: Ts;
87
+ lastSeenAt: Ts;
88
+ ip: string | null;
89
+ userAgent: string | null;
90
+ revokedAt: Ts | null;
91
+ }
92
+ /** §3.6 password-reset + invite-activation tokens. */
93
+ export interface AdminiumPasswordResetsTable {
94
+ id: Id;
95
+ userId: Id;
96
+ /** reset | invite */
97
+ kind: string;
98
+ tokenHash: string;
99
+ expiresAt: Ts;
100
+ usedAt: Ts | null;
101
+ createdAt: Ts;
102
+ }
103
+ /** §3.8 */
104
+ export interface AdminiumRolesTable {
105
+ id: Id;
106
+ /** unique; built-ins: super-admin, admin, editor, viewer. */
107
+ slug: string;
108
+ name: string;
109
+ description: string | null;
110
+ isBuiltin: BoolColumn;
111
+ createdAt: Ts;
112
+ updatedAt: Ts;
113
+ }
114
+ /** §3.9 per-table / per-page / system permission matrix. */
115
+ export interface AdminiumRolePermissionsTable {
116
+ id: Id;
117
+ roleId: Id;
118
+ /** table | page | system */
119
+ resourceKind: string;
120
+ /** table: `<connectionId>/<schema.table>` · page: page id · system: action key. */
121
+ resourceRef: string;
122
+ actions: JsonColumn;
123
+ }
124
+ /** §3.10 composite PK (user_id, role_id). */
125
+ export interface AdminiumUserRolesTable {
126
+ userId: Id;
127
+ roleId: Id;
128
+ grantedBy: Id | null;
129
+ createdAt: Ts;
130
+ }
131
+ /** §3.7 Stripe-style keys; secret shown once, only hash stored. */
132
+ export interface AdminiumApiKeysTable {
133
+ id: Id;
134
+ name: string;
135
+ /** Display fragment, e.g. `adm_live_4f2…`. */
136
+ prefix: string;
137
+ tokenHash: string;
138
+ /** The key acts with this role's permissions. */
139
+ roleId: Id;
140
+ createdBy: Id | null;
141
+ lastUsedAt: Ts | null;
142
+ expiresAt: Ts | null;
143
+ revokedAt: Ts | null;
144
+ createdAt: Ts;
145
+ }
146
+ /** §3.27 metadata for binaries Adminium itself stores. */
147
+ export interface AdminiumFilesTable {
148
+ id: Id;
149
+ /** v1: local only. */
150
+ storage: string;
151
+ storageKey: string;
152
+ filename: string;
153
+ mime: string;
154
+ sizeBytes: number;
155
+ sha256: string;
156
+ /** upload | export | import | branding | schema | archive */
157
+ kind: string;
158
+ /** RecordRef soft reference. */
159
+ entity: JsonColumn | null;
160
+ uploadedBy: Id | null;
161
+ createdAt: Ts;
162
+ deletedAt: Ts | null;
163
+ }
164
+ /** §3.13 one row per configured source database. */
165
+ export interface AdminiumConnectionsTable {
166
+ id: Id;
167
+ name: string;
168
+ /** postgres | mysql | sqlite */
169
+ engine: string;
170
+ /** dsn | schema-file */
171
+ sourceKind: string;
172
+ introspectDsnEncrypted: string | null;
173
+ dataDsnEncrypted: string | null;
174
+ schemaFileId: Id | null;
175
+ readOnly: BoolColumn;
176
+ ssl: JsonColumn | null;
177
+ settings: JsonColumn;
178
+ /** unconfigured | connected | error */
179
+ status: string;
180
+ lastTestedAt: Ts | null;
181
+ lastLatencyMs: number | null;
182
+ lastError: string | null;
183
+ createdBy: Id | null;
184
+ createdAt: Ts;
185
+ updatedAt: Ts;
186
+ }
187
+ /** §3.14 immutable record of one introspection / schema-import run. */
188
+ export interface AdminiumSchemaSnapshotsTable {
189
+ id: Id;
190
+ connectionId: Id;
191
+ /** introspection | schema-import */
192
+ source: string;
193
+ importFormat: string | null;
194
+ engineVersion: string | null;
195
+ /** Normalized schema model (05-introspection-engine.md) — opaque here. */
196
+ schema: JsonColumn;
197
+ stats: JsonColumn | null;
198
+ checksum: string;
199
+ /** Exactly one active per connection (app-enforced in a transaction). */
200
+ isActive: BoolColumn;
201
+ createdBy: Id | null;
202
+ createdAt: Ts;
203
+ }
204
+ /** §3.15 one row = one correction op layered over the active snapshot. */
205
+ export interface AdminiumSchemaOverridesTable {
206
+ id: Id;
207
+ connectionId: Id;
208
+ op: string;
209
+ tableName: string;
210
+ columnName: string | null;
211
+ value: JsonColumn;
212
+ /** user | llm */
213
+ origin: string;
214
+ /** Soft ref → adminium_llm_runs (created in a later wave; no FK). */
215
+ llmRunId: Id | null;
216
+ /** active | disabled */
217
+ status: string;
218
+ /**
219
+ * Per-suggestion model confidence for `origin: 'llm'` rows (0008, §8.3); NULL
220
+ * for user-remap rows. Insert-optional so `overridesRepo` need not set it.
221
+ */
222
+ confidence: ColumnType<number | null, number | null | undefined, number | null>;
223
+ createdBy: Id | null;
224
+ createdAt: Ts;
225
+ updatedAt: Ts;
226
+ }
227
+ /** §3.16 every navigable page of the Generated App, dashboards included. */
228
+ export interface AdminiumPagesTable {
229
+ id: Id;
230
+ /** NULL for connection-independent pages. */
231
+ connectionId: Id | null;
232
+ slug: string;
233
+ /** Page-template id, e.g. page-dashboard, page-crud, … */
234
+ type: string;
235
+ title: string;
236
+ icon: string | null;
237
+ navGroup: string | null;
238
+ navOrder: number;
239
+ /** Opaque validated envelope (§3.17) — validation lives at the server route layer. */
240
+ config: JsonColumn;
241
+ /** generated | user | manifest | system */
242
+ origin: string;
243
+ /** Soft ref → adminium_manifests (created in a later wave; no FK). */
244
+ manifestId: Id | null;
245
+ generatedFromSnapshotId: Id | null;
246
+ /** Optimistic concurrency: writes send expected revision. */
247
+ revision: number;
248
+ isEnabled: BoolColumn;
249
+ createdBy: Id | null;
250
+ createdAt: Ts;
251
+ updatedAt: Ts;
252
+ }
253
+ /** §3.18 saved filters/layouts. NULL user_id = shared workspace view. */
254
+ export interface AdminiumViewsTable {
255
+ id: Id;
256
+ pageId: Id;
257
+ userId: Id | null;
258
+ /** `'filters'` (saved page-crud grid state) | `'layout'` (per-user dashboard override). */
259
+ kind: string;
260
+ name: string;
261
+ config: JsonColumn;
262
+ isDefault: BoolColumn;
263
+ createdAt: Ts;
264
+ updatedAt: Ts;
265
+ }
266
+ /** §3.12 table-backed job queue (no Redis). */
267
+ export interface AdminiumJobsTable {
268
+ id: Id;
269
+ kind: string;
270
+ payload: JsonColumn;
271
+ /** pending | running | succeeded | failed | cancelled */
272
+ status: string;
273
+ priority: number;
274
+ runAt: Ts;
275
+ attempts: number;
276
+ maxAttempts: number;
277
+ /** Worker id `<hostname>:<pid>`. */
278
+ lockedBy: string | null;
279
+ /** Stale after 5 min ⇒ reclaimable. */
280
+ lockedAt: Ts | null;
281
+ /** Unique (NULLs exempt); cleared on completion. */
282
+ dedupeKey: string | null;
283
+ lastError: string | null;
284
+ createdAt: Ts;
285
+ startedAt: Ts | null;
286
+ finishedAt: Ts | null;
287
+ }
288
+ /** §3.11 append-only audit trail; actor label denormalized. */
289
+ export interface AdminiumAuditLogTable {
290
+ id: Id;
291
+ createdAt: Ts;
292
+ /** user | api-key | system | automation */
293
+ actorKind: string;
294
+ /** No FK — retention outlives principals. */
295
+ actorId: string | null;
296
+ actorLabel: string;
297
+ category: string;
298
+ /** Dotted verb, e.g. `record.update`. */
299
+ action: string;
300
+ connectionId: string | null;
301
+ /** RecordRef. */
302
+ entity: JsonColumn | null;
303
+ /** { before, after }; capped at 16 KB serialized. */
304
+ changes: JsonColumn | null;
305
+ ip: string | null;
306
+ userAgent: string | null;
307
+ requestId: string | null;
308
+ }
309
+ /** §3.20 */
310
+ export interface AdminiumNotificationsTable {
311
+ id: Id;
312
+ userId: Id;
313
+ kind: string;
314
+ actorLabel: string;
315
+ title: string;
316
+ body: string | null;
317
+ entity: JsonColumn | null;
318
+ actionUrl: string | null;
319
+ readAt: Ts | null;
320
+ createdAt: Ts;
321
+ }
322
+ /** §3.21 composite PK (user_id, event_key). */
323
+ export interface AdminiumNotificationPrefsTable {
324
+ userId: Id;
325
+ eventKey: string;
326
+ channels: JsonColumn;
327
+ updatedAt: Ts;
328
+ }
329
+ /**
330
+ * §3.19 / 06-llm-assist.md §7.4 — one enrichment attempt (provider API or BYO
331
+ * paste). Columns through `duration_ms` ship in 0006; 0007_llm_runs adds the
332
+ * §7.4 run-lifecycle machine (`status`), the builder inputs (`sections`,
333
+ * `locales`, `sampling`), chunk progress, the flattened `prompt_text`, and the
334
+ * `review` id-lists. `mode` ('provider' | 'byo') is the path discriminator the
335
+ * doc calls `path`; `validation_status` is kept as a secondary validation-outcome
336
+ * signal (see json-payloads.ts).
337
+ */
338
+ export interface AdminiumLlmRunsTable {
339
+ id: Id;
340
+ connectionId: Id;
341
+ snapshotId: Id;
342
+ /** provider | byo — the §7.4 `path` discriminator. */
343
+ mode: string;
344
+ /** NULL for BYO runs — never recorded (§9 telemetry-free guarantee). */
345
+ provider: string | null;
346
+ model: string | null;
347
+ promptVersion: string;
348
+ promptHash: string;
349
+ /** Full flattened prompt(s); enables re-download of BYO prompts (0007). */
350
+ promptText: string | null;
351
+ /** Requested decision groups (§4.4) — json string array (0007). */
352
+ sections: JsonColumn | null;
353
+ /** Requested output locales (§4.1) — json string array (0007). */
354
+ locales: JsonColumn | null;
355
+ /** Sampling opt-in (§4.2): null = sample-free; else `{ maxValuesPerColumn }` (0007). */
356
+ sampling: JsonColumn | null;
357
+ /** 1/1 when unchunked (0007). */
358
+ chunksTotal: number;
359
+ chunksReceived: number;
360
+ responseRaw: string | null;
361
+ responseJson: JsonColumn | null;
362
+ /**
363
+ * draft | running | awaiting_response | validated | applied |
364
+ * partially_applied | failed | discarded — the §7.4 machine (0007).
365
+ */
366
+ status: string;
367
+ /** pending | valid | partial | invalid — last-validation outcome (0006). */
368
+ validationStatus: string;
369
+ validationErrors: JsonColumn | null;
370
+ /** Accepted/rejected suggestion-id lists (§8.3) — json (0007). */
371
+ review: JsonColumn | null;
372
+ appliedAt: Ts | null;
373
+ appliedBy: Id | null;
374
+ tokensIn: number | null;
375
+ tokensOut: number | null;
376
+ durationMs: number | null;
377
+ createdBy: Id | null;
378
+ createdAt: Ts;
379
+ }
380
+ /** §3.22 trigger→condition→action rules. */
381
+ export interface AdminiumAutomationsTable {
382
+ id: Id;
383
+ /** NULL = meta-level automation. */
384
+ connectionId: Id | null;
385
+ name: string;
386
+ description: string | null;
387
+ enabled: BoolColumn;
388
+ trigger: JsonColumn;
389
+ graph: JsonColumn;
390
+ lastRunAt: Ts | null;
391
+ createdBy: Id | null;
392
+ createdAt: Ts;
393
+ updatedAt: Ts;
394
+ }
395
+ /** §3.23 */
396
+ export interface AdminiumAutomationRunsTable {
397
+ id: Id;
398
+ automationId: Id;
399
+ /** Soft ref — job rows are GC'd sooner. */
400
+ jobId: string | null;
401
+ /** running | succeeded | failed | skipped */
402
+ status: string;
403
+ triggerEvent: JsonColumn;
404
+ trace: JsonColumn | null;
405
+ error: string | null;
406
+ startedAt: Ts;
407
+ finishedAt: Ts | null;
408
+ }
409
+ /** §3.24 */
410
+ export interface AdminiumScheduledReportsTable {
411
+ id: Id;
412
+ pageId: Id;
413
+ name: string;
414
+ schedule: JsonColumn;
415
+ recipients: JsonColumn;
416
+ /** pdf | png */
417
+ format: string;
418
+ enabled: BoolColumn;
419
+ lastRunAt: Ts | null;
420
+ nextRunAt: Ts | null;
421
+ createdBy: Id | null;
422
+ createdAt: Ts;
423
+ updatedAt: Ts;
424
+ }
425
+ /** §3.25 */
426
+ export interface AdminiumExportsTable {
427
+ id: Id;
428
+ connectionId: Id | null;
429
+ requestedBy: Id;
430
+ source: JsonColumn;
431
+ /** csv | json | xlsx */
432
+ format: string;
433
+ /** processing | ready | failed | cancelled | expired */
434
+ status: string;
435
+ fileId: Id | null;
436
+ rowCount: number | null;
437
+ error: string | null;
438
+ createdAt: Ts;
439
+ completedAt: Ts | null;
440
+ expiresAt: Ts | null;
441
+ }
442
+ /** §3.26 import wizard state. */
443
+ export interface AdminiumImportsTable {
444
+ id: Id;
445
+ connectionId: Id;
446
+ tableName: string;
447
+ requestedBy: Id;
448
+ fileId: Id;
449
+ mapping: JsonColumn;
450
+ options: JsonColumn;
451
+ /** validating | ready | running | succeeded | failed | cancelled */
452
+ status: string;
453
+ stats: JsonColumn | null;
454
+ errorReportFileId: Id | null;
455
+ createdAt: Ts;
456
+ startedAt: Ts | null;
457
+ finishedAt: Ts | null;
458
+ }
459
+ /** §3.28 overrides of built-in email templates; unique (key, locale). */
460
+ export interface AdminiumEmailTemplatesTable {
461
+ id: Id;
462
+ key: string;
463
+ locale: string;
464
+ name: string;
465
+ subject: string;
466
+ blocks: JsonColumn;
467
+ enabled: BoolColumn;
468
+ isBuiltinCopy: BoolColumn;
469
+ updatedBy: Id | null;
470
+ createdAt: Ts;
471
+ updatedAt: Ts;
472
+ }
473
+ /** §3.29 */
474
+ export interface AdminiumWebhooksTable {
475
+ id: Id;
476
+ name: string;
477
+ url: string;
478
+ secretEncrypted: string;
479
+ events: JsonColumn;
480
+ enabled: BoolColumn;
481
+ createdBy: Id | null;
482
+ createdAt: Ts;
483
+ updatedAt: Ts;
484
+ }
485
+ /** §3.30 */
486
+ export interface AdminiumWebhookDeliveriesTable {
487
+ id: Id;
488
+ webhookId: Id;
489
+ event: string;
490
+ payload: JsonColumn;
491
+ attempt: number;
492
+ success: BoolColumn;
493
+ statusCode: number | null;
494
+ responseMs: number | null;
495
+ error: string | null;
496
+ createdAt: Ts;
497
+ }
498
+ /** §3.31 */
499
+ export interface AdminiumFeatureFlagsTable {
500
+ id: Id;
501
+ key: string;
502
+ name: string;
503
+ description: string | null;
504
+ environments: JsonColumn;
505
+ createdBy: Id | null;
506
+ createdAt: Ts;
507
+ updatedAt: Ts;
508
+ }
509
+ /** §3.32 installed micro-SaaS modules. */
510
+ export interface AdminiumManifestsTable {
511
+ id: Id;
512
+ manifestKey: string;
513
+ version: string;
514
+ /** marketplace | file */
515
+ source: string;
516
+ manifest: JsonColumn;
517
+ licenseKeyEncrypted: string | null;
518
+ connectionId: Id | null;
519
+ /** installed | disabled | error */
520
+ status: string;
521
+ installedBy: Id | null;
522
+ installedAt: Ts;
523
+ updatedAt: Ts;
524
+ }
525
+ /** §3.33 drives the sidebar "what's new" badge. PK user_id. */
526
+ export interface AdminiumChangelogSeenTable {
527
+ userId: Id;
528
+ version: string;
529
+ seenAt: Ts;
530
+ }
531
+ /** The full meta-store database — every adminium_* table (BRIEF §6). */
532
+ export interface MetaDB {
533
+ adminium_migrations: AdminiumMigrationsTable;
534
+ adminium_settings: AdminiumSettingsTable;
535
+ adminium_users: AdminiumUsersTable;
536
+ adminium_user_prefs: AdminiumUserPrefsTable;
537
+ adminium_sessions: AdminiumSessionsTable;
538
+ adminium_password_resets: AdminiumPasswordResetsTable;
539
+ adminium_roles: AdminiumRolesTable;
540
+ adminium_role_permissions: AdminiumRolePermissionsTable;
541
+ adminium_user_roles: AdminiumUserRolesTable;
542
+ adminium_api_keys: AdminiumApiKeysTable;
543
+ adminium_files: AdminiumFilesTable;
544
+ adminium_connections: AdminiumConnectionsTable;
545
+ adminium_schema_snapshots: AdminiumSchemaSnapshotsTable;
546
+ adminium_schema_overrides: AdminiumSchemaOverridesTable;
547
+ adminium_pages: AdminiumPagesTable;
548
+ adminium_views: AdminiumViewsTable;
549
+ adminium_jobs: AdminiumJobsTable;
550
+ adminium_audit_log: AdminiumAuditLogTable;
551
+ adminium_notifications: AdminiumNotificationsTable;
552
+ adminium_notification_prefs: AdminiumNotificationPrefsTable;
553
+ adminium_llm_runs: AdminiumLlmRunsTable;
554
+ adminium_automations: AdminiumAutomationsTable;
555
+ adminium_automation_runs: AdminiumAutomationRunsTable;
556
+ adminium_scheduled_reports: AdminiumScheduledReportsTable;
557
+ adminium_exports: AdminiumExportsTable;
558
+ adminium_imports: AdminiumImportsTable;
559
+ adminium_email_templates: AdminiumEmailTemplatesTable;
560
+ adminium_webhooks: AdminiumWebhooksTable;
561
+ adminium_webhook_deliveries: AdminiumWebhookDeliveriesTable;
562
+ adminium_feature_flags: AdminiumFeatureFlagsTable;
563
+ adminium_manifests: AdminiumManifestsTable;
564
+ adminium_changelog_seen: AdminiumChangelogSeenTable;
565
+ }
566
+ /** Every physical table name, in dependency-safe creation order. */
567
+ export declare const META_TABLE_NAMES: readonly ["adminium_migrations", "adminium_users", "adminium_user_prefs", "adminium_sessions", "adminium_password_resets", "adminium_settings", "adminium_roles", "adminium_role_permissions", "adminium_user_roles", "adminium_api_keys", "adminium_files", "adminium_connections", "adminium_schema_snapshots", "adminium_schema_overrides", "adminium_pages", "adminium_views", "adminium_jobs", "adminium_audit_log", "adminium_notifications", "adminium_notification_prefs", "adminium_llm_runs", "adminium_automations", "adminium_automation_runs", "adminium_scheduled_reports", "adminium_exports", "adminium_imports", "adminium_email_templates", "adminium_webhooks", "adminium_webhook_deliveries", "adminium_feature_flags", "adminium_manifests", "adminium_changelog_seen"];
568
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Kysely `MetaDB` interface — one table interface per adminium_* table
3
+ * (BRIEF §6 / 07-meta-store.md §3: 32 names, 31 physical tables +
4
+ * the `adminium_migrations` ledger; `adminium_dashboards` is NOT a physical
5
+ * table — dashboards are `adminium_pages` rows with `type='page-dashboard'`).
6
+ *
7
+ * The meta Kysely instance runs with `CamelCasePlugin`, so properties here are
8
+ * camelCase while physical columns are snake_case.
9
+ *
10
+ * Column-type conventions (07-meta-store.md §2.1):
11
+ * - ids: type-prefixed ULIDs in char(36) → `string`
12
+ * - ts: epoch milliseconds UTC → `number`
13
+ * - json: stored serialized; repos write strings and parse reads → {@link JsonColumn}
14
+ * - bool: PG boolean / MySQL tinyint / SQLite integer → {@link BoolColumn}
15
+ */
16
+ /** Every physical table name, in dependency-safe creation order. */
17
+ export const META_TABLE_NAMES = [
18
+ 'adminium_migrations',
19
+ 'adminium_users',
20
+ 'adminium_user_prefs',
21
+ 'adminium_sessions',
22
+ 'adminium_password_resets',
23
+ 'adminium_settings',
24
+ 'adminium_roles',
25
+ 'adminium_role_permissions',
26
+ 'adminium_user_roles',
27
+ 'adminium_api_keys',
28
+ 'adminium_files',
29
+ 'adminium_connections',
30
+ 'adminium_schema_snapshots',
31
+ 'adminium_schema_overrides',
32
+ 'adminium_pages',
33
+ 'adminium_views',
34
+ 'adminium_jobs',
35
+ 'adminium_audit_log',
36
+ 'adminium_notifications',
37
+ 'adminium_notification_prefs',
38
+ 'adminium_llm_runs',
39
+ 'adminium_automations',
40
+ 'adminium_automation_runs',
41
+ 'adminium_scheduled_reports',
42
+ 'adminium_exports',
43
+ 'adminium_imports',
44
+ 'adminium_email_templates',
45
+ 'adminium_webhooks',
46
+ 'adminium_webhook_deliveries',
47
+ 'adminium_feature_flags',
48
+ 'adminium_manifests',
49
+ 'adminium_changelog_seen',
50
+ ];
51
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwmBH,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,qBAAqB;IACrB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,6BAA6B;IAC7B,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,6BAA6B;IAC7B,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;CACmB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@adminiumjs/meta",
3
+ "version": "0.1.0-rc.1",
4
+ "license": "AGPL-3.0-only",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/MoSofi/Adminium.git",
8
+ "directory": "packages/meta"
9
+ },
10
+ "homepage": "https://adminium.dev",
11
+ "bugs": "https://github.com/MoSofi/Adminium/issues",
12
+ "type": "module",
13
+ "description": "adminium_* meta-store: Kysely models, migrations, repos, bootstrap",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ },
21
+ "./migrations": {
22
+ "types": "./dist/migrations/index.d.ts",
23
+ "default": "./dist/migrations/index.js"
24
+ }
25
+ },
26
+ "dependencies": {
27
+ "kysely": "^0.28.2",
28
+ "zod": "^4.4.3"
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ]
33
+ }