@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
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-reports.js","sourceRoot":"","sources":["../../src/repos/scheduled-reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduled-reports.js","sourceRoot":"","sources":["../../src/repos/scheduled-reports.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,15 @@ export interface CreateSessionInput {
17
17
  }
18
18
  export declare function sessionsRepo(meta: MetaDb): {
19
19
  create(input: CreateSessionInput, at?: number): Promise<Session>;
20
+ /** One row by id, in whatever state it is — revoked and expired included. */
21
+ findById(sessionId: string): Promise<Session | null>;
22
+ /**
23
+ * A user's live rows (un-revoked, unexpired at `at`), most recently active
24
+ * first — the "where am I signed in" list. Absolute expiry only: the
25
+ * sliding idle window and the 2FA-challenge rows that share this table are
26
+ * the server's vocabulary, so it filters those on top (auth/sessions.ts).
27
+ */
28
+ listForUser(userId: string, at?: number): Promise<Session[]>;
20
29
  /** A session is valid when un-revoked and unexpired at `at`. */
21
30
  findValidByTokenHash(tokenHash: string, at?: number): Promise<Session | null>;
22
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/repos/sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;kBAGjB,kBAAkB,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAgBlF,gEAAgE;oCAC1B,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW/F;;;OAGG;qBACoB,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;sBAUjD,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;6BAU3C,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;IAUhF,sEAAsE;YACzD,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;EAQrD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/repos/sessions.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;kBAGjB,kBAAkB,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;IAgBlF,6EAA6E;wBACnD,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAS1D;;;;;OAKG;wBACuB,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9E,gEAAgE;oCAC1B,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW/F;;;OAGG;qBACoB,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;sBAUjD,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,OAAO,CAAC;6BAU3C,MAAM,OAAM,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;IAUhF,sEAAsE;YACzD,MAAM,GAAgB,OAAO,CAAC,MAAM,CAAC;EAQrD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * sessionsRepo — adminium_sessions (07-meta-store.md §3.5).
3
4
  * Cookie tokens are opaque; only their SHA-256 hex is stored (hashing in server).
@@ -24,6 +25,31 @@ export function sessionsRepo(meta) {
24
25
  await db.insertInto('adminium_sessions').values(row).execute();
25
26
  return row;
26
27
  },
28
+ /** One row by id, in whatever state it is — revoked and expired included. */
29
+ async findById(sessionId) {
30
+ const row = await db
31
+ .selectFrom('adminium_sessions')
32
+ .selectAll()
33
+ .where('id', '=', sessionId)
34
+ .executeTakeFirst();
35
+ return row ?? null;
36
+ },
37
+ /**
38
+ * A user's live rows (un-revoked, unexpired at `at`), most recently active
39
+ * first — the "where am I signed in" list. Absolute expiry only: the
40
+ * sliding idle window and the 2FA-challenge rows that share this table are
41
+ * the server's vocabulary, so it filters those on top (auth/sessions.ts).
42
+ */
43
+ async listForUser(userId, at = Date.now()) {
44
+ return db
45
+ .selectFrom('adminium_sessions')
46
+ .selectAll()
47
+ .where('userId', '=', userId)
48
+ .where('revokedAt', 'is', null)
49
+ .where('expiresAt', '>', at)
50
+ .orderBy('lastSeenAt', 'desc')
51
+ .execute();
52
+ },
27
53
  /** A session is valid when un-revoked and unexpired at `at`. */
28
54
  async findValidByTokenHash(tokenHash, at = Date.now()) {
29
55
  const row = await db
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/repos/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/repos/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/repos/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAGxC,qBAAa,mBAAoB,SAAQ,KAAK;IACnC,IAAI,SAAyB;gBAC1B,GAAG,EAAE,MAAM;CAGxB;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;IAGrC,kFAAkF;QACxE,CAAC,SAAS,UAAU,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAQjE,gDAAgD;QACtC,CAAC,SAAS,UAAU,OACvB,CAAC,SACC,YAAY,CAAC,CAAC,CAAC,SAChB;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAuBhB,uEAAuE;eACtD,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,2EAA2E;iBACxD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;EAWnE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/repos/settings.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAGxC,qBAAa,mBAAoB,SAAQ,KAAK;IACnC,IAAI,SAAyB;gBAC1B,GAAG,EAAE,MAAM;CAGxB;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;IAGrC,kFAAkF;QACxE,CAAC,SAAS,UAAU,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAQjE,gDAAgD;QACtC,CAAC,SAAS,UAAU,OACvB,CAAC,SACC,YAAY,CAAC,CAAC,CAAC,SAChB;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAuBhB,uEAAuE;eACtD,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,2EAA2E;iBACxD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;EAWnE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * settingsRepo — adminium_settings (07-meta-store.md §3.2, §7.1).
3
4
  * Stores explicit overrides only; reads resolve `stored ?? registry default`.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/repos/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/repos/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/repos/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACpD,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;CACf;AA4CD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM;IAItC;;;;OAIG;kBACiB,mBAAmB,OAAM,MAAM,GAAgB,OAAO,CAAC,oBAAoB,CAAC;iBA6C7E,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS1D,sEAAsE;yBAC3C,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBlE,wFAAwF;2BAC3D,MAAM,oBAAoB,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB9F,sDAAsD;oCAChB,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAW5E,iDAAiD;iBAC9B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAsB/C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/repos/snapshots.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACpD,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;CACf;AA4CD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM;IAItC;;;;OAIG;kBACiB,mBAAmB,OAAM,MAAM,GAAgB,OAAO,CAAC,oBAAoB,CAAC;iBA6C7E,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS1D,sEAAsE;yBAC3C,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBlE,wFAAwF;2BAC3D,MAAM,oBAAoB,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB9F,sDAAsD;oCAChB,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAW5E,iDAAiD;iBAC9B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAsB/C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * snapshotsRepo — adminium_schema_snapshots (07-meta-store.md §3.14).
3
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/repos/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,eAAe,CAAU,CAAC;AAmD5E,SAAS,MAAM,CAAC,GAA6C;IAC3D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAuE;IACzF,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,IAAI;IACJ,cAAc;IACd,QAAQ;IACR,cAAc;IACd,eAAe;IACf,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;CACH,CAAC;AAEX,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpB,OAAO;QACL;;;;WAIG;QACH,KAAK,CAAC,MAAM,CAAC,KAA0B,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YAC9D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,GAAG;qBACrB,UAAU,CAAC,2BAA2B,CAAC;qBACvC,SAAS,EAAE;qBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC;qBAC9C,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;qBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrB,KAAK,CAAC,CAAC,CAAC;qBACR,gBAAgB,EAAE,CAAC;gBACtB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAClD,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;gBACxC,MAAM,GAAG,GAAG;oBACV,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;oBACjB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;oBACxC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;oBAC1C,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;oBACvF,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;oBACnC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,SAAS,EAAE,EAAE;iBACd,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG;yBACN,WAAW,CAAC,2BAA2B,CAAC;yBACxC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;yBACzC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC;yBAC9C,OAAO,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,GAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACtF,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,EAAU;YACvB,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,2BAA2B,CAAC;iBACvC,SAAS,EAAE;iBACX,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;iBACpB,gBAAgB,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAED,sEAAsE;QACtE,KAAK,CAAC,MAAM,CAAC,YAAoB;YAC/B,MAAM,MAAM,GAAG,MAAM,EAAE;iBACpB,UAAU,CAAC,2BAA2B,CAAC;iBACvC,SAAS,EAAE;iBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;iBACxC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7C,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,CAAC,CAAC;iBACR,gBAAgB,EAAE,CAAC;YACtB,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,EAAE;iBACpB,UAAU,CAAC,2BAA2B,CAAC;iBACvC,SAAS,EAAE;iBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;iBACxC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,CAAC,CAAC;iBACR,gBAAgB,EAAE,CAAC;YACtB,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,wFAAwF;QACxF,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,gBAAwB;YAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACrD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,2BAA2B,CAAC;iBACvC,SAAS,EAAE;iBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;iBACxC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;iBAC5B,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;iBAC1C,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,CAAC,CAAC;iBACR,gBAAgB,EAAE,CAAC;YACtB,kEAAkE;YAClE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC/F,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAED,sDAAsD;QACtD,KAAK,CAAC,iBAAiB,CAAC,YAAoB;YAC1C,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,2BAA2B,CAAC;iBACvC,MAAM,CAAC,YAAY,CAAC;iBACpB,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;iBACxC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,KAAK,CAAC,QAAQ,CAAC,EAAU;YACvB,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,MAAM,GAAG;qBAClB,UAAU,CAAC,2BAA2B,CAAC;qBACvC,MAAM,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;qBAC9B,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;qBACpB,gBAAgB,EAAE,CAAC;gBACtB,IAAI,GAAG,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACpC,MAAM,GAAG;qBACN,WAAW,CAAC,2BAA2B,CAAC;qBACxC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;qBACzC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC;qBAC5C,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG;qBACN,WAAW,CAAC,2BAA2B,CAAC;qBACxC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;qBACxC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;qBACpB,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/repos/snapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * translationsRepo — adminium_translations (23-runtime-translations.md §3.2).
3
+ *
4
+ * A sparse overlay: one row per OVERRIDDEN message. Three states, and the
5
+ * repo preserves all three faithfully (§3.3):
6
+ *
7
+ * no row → the compiled built-in renders
8
+ * row, value != '' → the override renders
9
+ * row, value == '' → nothing renders (a deliberate blank)
10
+ *
11
+ * So `remove()` is a real DELETE (that is what "reset to built-in" means) and
12
+ * is NOT the same operation as upserting `''`. Callers must not conflate them.
13
+ *
14
+ * ICU validity, placeholder parity against the en-US source and the
15
+ * a11y-critical empty-value rule are the CALLER's job (23 §6.3): they need
16
+ * the compiled bundles and the locale's plural categories, neither of which
17
+ * the meta store may import (01-architecture.md §2.3).
18
+ *
19
+ * Every mutating method bumps `settings['i18n.version']` in the same
20
+ * transaction — see i18n-version.ts for why that lives here and not in the
21
+ * route layer.
22
+ */
23
+ import type { MetaDb } from '../connect.js';
24
+ /** Reserved scope axis; always this value in v1 (§3.2). */
25
+ export declare const DEFAULT_TRANSLATION_SCOPE = "workspace";
26
+ export interface TranslationRow {
27
+ id: string;
28
+ scope: string;
29
+ locale: string;
30
+ namespace: string;
31
+ key: string;
32
+ value: string;
33
+ sourceText: string | null;
34
+ updatedBy: string | null;
35
+ createdAt: number;
36
+ updatedAt: number;
37
+ }
38
+ export interface TranslationKeyRef {
39
+ locale: string;
40
+ namespace: string;
41
+ key: string;
42
+ scope?: string | undefined;
43
+ }
44
+ export interface UpsertTranslationInput extends TranslationKeyRef {
45
+ value: string;
46
+ /** The en-US text this override was authored against (staleness badge). */
47
+ sourceText?: string | null | undefined;
48
+ }
49
+ export declare function translationsRepo(meta: MetaDb): {
50
+ /**
51
+ * Every override for one (locale, namespace) — the bundle read path.
52
+ * Served by `ix_adminium_translations_scope_locale_ns`.
53
+ */
54
+ listBundle(locale: string, namespace: string, opts?: {
55
+ scope?: string | undefined;
56
+ }): Promise<TranslationRow[]>;
57
+ /** Every override for one locale, across namespaces. */
58
+ listLocale(locale: string, opts?: {
59
+ scope?: string | undefined;
60
+ }): Promise<TranslationRow[]>;
61
+ /**
62
+ * Rows for an explicit key slice — the editor's page fetch. The key set
63
+ * comes from an in-process search over the compiled bundles (§6.1), so
64
+ * this stays an `IN (…)` lookup and never a portable `LIKE '%q%'` scan
65
+ * over a growing table.
66
+ */
67
+ listKeys(locale: string, namespace: string, keys: readonly string[], opts?: {
68
+ scope?: string | undefined;
69
+ }): Promise<TranslationRow[]>;
70
+ get(ref: TranslationKeyRef): Promise<TranslationRow | null>;
71
+ /** Total override bytes for one locale over the given namespaces (§6.4 budget). */
72
+ byteSize(locale: string, namespaces: readonly string[], opts?: {
73
+ scope?: string | undefined;
74
+ }): Promise<number>;
75
+ upsert(input: UpsertTranslationInput, opts?: {
76
+ updatedBy?: string | null;
77
+ at?: number;
78
+ }): Promise<TranslationRow>;
79
+ /**
80
+ * Bulk upsert in ONE transaction with ONE version bump. Chunking is the
81
+ * caller's concern (23 §7 uses 100 per transaction for the copy-from job);
82
+ * this method writes whatever it is handed atomically.
83
+ */
84
+ upsertMany(inputs: readonly UpsertTranslationInput[], opts?: {
85
+ updatedBy?: string | null;
86
+ at?: number;
87
+ }): Promise<TranslationRow[]>;
88
+ /**
89
+ * Reset to built-in — a hard DELETE, never an empty-string write. An
90
+ * empty string is the third state ("render nothing"), which is a
91
+ * different intent entirely.
92
+ */
93
+ remove(ref: TranslationKeyRef, opts?: {
94
+ updatedBy?: string | null;
95
+ at?: number;
96
+ }): Promise<boolean>;
97
+ /** Drop every override for a locale — used when a locale is deleted (§5.7). */
98
+ removeLocale(locale: string, opts?: {
99
+ updatedBy?: string | null;
100
+ at?: number;
101
+ }): Promise<number>;
102
+ /** Override counts per locale — the manifest's `overrideCount` (§6.1). */
103
+ countsByLocale(opts?: {
104
+ scope?: string | undefined;
105
+ }): Promise<Map<string, number>>;
106
+ };
107
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/repos/translations.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAiBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAKzC;;;OAGG;uBAEO,MAAM,aACH,MAAM,SACX;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACnC,OAAO,CAAC,cAAc,EAAE,CAAC;IAY5B,wDAAwD;uBAE9C,MAAM,SACR;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACnC,OAAO,CAAC,cAAc,EAAE,CAAC;IAY5B;;;;;OAKG;qBAEO,MAAM,aACH,MAAM,QACX,SAAS,MAAM,EAAE,SACjB;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACnC,OAAO,CAAC,cAAc,EAAE,CAAC;aAab,iBAAiB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAYjE,mFAAmF;qBAEzE,MAAM,cACF,SAAS,MAAM,EAAE,SACvB;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACnC,OAAO,CAAC,MAAM,CAAC;kBAeT,sBAAsB,SACvB;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;OAIG;uBAEO,SAAS,sBAAsB,EAAE,SACnC;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,cAAc,EAAE,CAAC;IAiD5B;;;;OAIG;gBAEI,iBAAiB,SAChB;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,OAAO,CAAC;IAiBnB,+EAA+E;yBAErE,MAAM,SACR;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,MAAM,CAAC;IAclB,0EAA0E;0BAC/C;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EAWhG"}
@@ -0,0 +1,232 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * translationsRepo — adminium_translations (23-runtime-translations.md §3.2).
4
+ *
5
+ * A sparse overlay: one row per OVERRIDDEN message. Three states, and the
6
+ * repo preserves all three faithfully (§3.3):
7
+ *
8
+ * no row → the compiled built-in renders
9
+ * row, value != '' → the override renders
10
+ * row, value == '' → nothing renders (a deliberate blank)
11
+ *
12
+ * So `remove()` is a real DELETE (that is what "reset to built-in" means) and
13
+ * is NOT the same operation as upserting `''`. Callers must not conflate them.
14
+ *
15
+ * ICU validity, placeholder parity against the en-US source and the
16
+ * a11y-critical empty-value rule are the CALLER's job (23 §6.3): they need
17
+ * the compiled bundles and the locale's plural categories, neither of which
18
+ * the meta store may import (01-architecture.md §2.3).
19
+ *
20
+ * Every mutating method bumps `settings['i18n.version']` in the same
21
+ * transaction — see i18n-version.ts for why that lives here and not in the
22
+ * route layer.
23
+ */
24
+ import { newId } from '../ids.js';
25
+ import { bumpI18nVersion } from './i18n-version.js';
26
+ import { affected } from './util.js';
27
+ /** Reserved scope axis; always this value in v1 (§3.2). */
28
+ export const DEFAULT_TRANSLATION_SCOPE = 'workspace';
29
+ function decode(row) {
30
+ return {
31
+ id: row.id,
32
+ scope: row.scope,
33
+ locale: row.locale,
34
+ namespace: row.namespace,
35
+ key: row.key,
36
+ value: row.value,
37
+ sourceText: row.sourceText,
38
+ updatedBy: row.updatedBy,
39
+ createdAt: row.createdAt,
40
+ updatedAt: row.updatedAt,
41
+ };
42
+ }
43
+ export function translationsRepo(meta) {
44
+ const { db } = meta;
45
+ const scoped = (scope) => scope ?? DEFAULT_TRANSLATION_SCOPE;
46
+ return {
47
+ /**
48
+ * Every override for one (locale, namespace) — the bundle read path.
49
+ * Served by `ix_adminium_translations_scope_locale_ns`.
50
+ */
51
+ async listBundle(locale, namespace, opts = {}) {
52
+ const rows = await db
53
+ .selectFrom('adminium_translations')
54
+ .selectAll()
55
+ .where('scope', '=', scoped(opts.scope))
56
+ .where('locale', '=', locale)
57
+ .where('namespace', '=', namespace)
58
+ .orderBy('key', 'asc')
59
+ .execute();
60
+ return rows.map(decode);
61
+ },
62
+ /** Every override for one locale, across namespaces. */
63
+ async listLocale(locale, opts = {}) {
64
+ const rows = await db
65
+ .selectFrom('adminium_translations')
66
+ .selectAll()
67
+ .where('scope', '=', scoped(opts.scope))
68
+ .where('locale', '=', locale)
69
+ .orderBy('namespace', 'asc')
70
+ .orderBy('key', 'asc')
71
+ .execute();
72
+ return rows.map(decode);
73
+ },
74
+ /**
75
+ * Rows for an explicit key slice — the editor's page fetch. The key set
76
+ * comes from an in-process search over the compiled bundles (§6.1), so
77
+ * this stays an `IN (…)` lookup and never a portable `LIKE '%q%'` scan
78
+ * over a growing table.
79
+ */
80
+ async listKeys(locale, namespace, keys, opts = {}) {
81
+ if (keys.length === 0)
82
+ return [];
83
+ const rows = await db
84
+ .selectFrom('adminium_translations')
85
+ .selectAll()
86
+ .where('scope', '=', scoped(opts.scope))
87
+ .where('locale', '=', locale)
88
+ .where('namespace', '=', namespace)
89
+ .where('key', 'in', [...keys])
90
+ .execute();
91
+ return rows.map(decode);
92
+ },
93
+ async get(ref) {
94
+ const row = await db
95
+ .selectFrom('adminium_translations')
96
+ .selectAll()
97
+ .where('scope', '=', scoped(ref.scope))
98
+ .where('locale', '=', ref.locale)
99
+ .where('namespace', '=', ref.namespace)
100
+ .where('key', '=', ref.key)
101
+ .executeTakeFirst();
102
+ return row === undefined ? null : decode(row);
103
+ },
104
+ /** Total override bytes for one locale over the given namespaces (§6.4 budget). */
105
+ async byteSize(locale, namespaces, opts = {}) {
106
+ if (namespaces.length === 0)
107
+ return 0;
108
+ const rows = await db
109
+ .selectFrom('adminium_translations')
110
+ .select(['value'])
111
+ .where('scope', '=', scoped(opts.scope))
112
+ .where('locale', '=', locale)
113
+ .where('namespace', 'in', [...namespaces])
114
+ .execute();
115
+ let total = 0;
116
+ for (const row of rows)
117
+ total += Buffer.byteLength(row.value, 'utf8');
118
+ return total;
119
+ },
120
+ async upsert(input, opts = {}) {
121
+ const rows = await this.upsertMany([input], opts);
122
+ const row = rows[0];
123
+ if (row === undefined)
124
+ throw new Error('upsert produced no row');
125
+ return row;
126
+ },
127
+ /**
128
+ * Bulk upsert in ONE transaction with ONE version bump. Chunking is the
129
+ * caller's concern (23 §7 uses 100 per transaction for the copy-from job);
130
+ * this method writes whatever it is handed atomically.
131
+ */
132
+ async upsertMany(inputs, opts = {}) {
133
+ if (inputs.length === 0)
134
+ return [];
135
+ const at = opts.at ?? Date.now();
136
+ const updatedBy = opts.updatedBy ?? null;
137
+ await meta.db.transaction().execute(async (trx) => {
138
+ for (const input of inputs) {
139
+ const scope = scoped(input.scope);
140
+ const res = await trx
141
+ .updateTable('adminium_translations')
142
+ .set({
143
+ value: input.value,
144
+ sourceText: input.sourceText ?? null,
145
+ updatedBy,
146
+ updatedAt: at,
147
+ })
148
+ .where('scope', '=', scope)
149
+ .where('locale', '=', input.locale)
150
+ .where('namespace', '=', input.namespace)
151
+ .where('key', '=', input.key)
152
+ .executeTakeFirst();
153
+ if (affected(res.numUpdatedRows) === 0) {
154
+ await trx
155
+ .insertInto('adminium_translations')
156
+ .values({
157
+ id: newId('trn'),
158
+ scope,
159
+ locale: input.locale,
160
+ namespace: input.namespace,
161
+ key: input.key,
162
+ value: input.value,
163
+ sourceText: input.sourceText ?? null,
164
+ updatedBy,
165
+ createdAt: at,
166
+ updatedAt: at,
167
+ })
168
+ .execute();
169
+ }
170
+ }
171
+ await bumpI18nVersion(trx, at, updatedBy);
172
+ });
173
+ const out = [];
174
+ for (const input of inputs) {
175
+ const row = await this.get(input);
176
+ if (row !== null)
177
+ out.push(row);
178
+ }
179
+ return out;
180
+ },
181
+ /**
182
+ * Reset to built-in — a hard DELETE, never an empty-string write. An
183
+ * empty string is the third state ("render nothing"), which is a
184
+ * different intent entirely.
185
+ */
186
+ async remove(ref, opts = {}) {
187
+ const at = opts.at ?? Date.now();
188
+ let deleted = 0;
189
+ await meta.db.transaction().execute(async (trx) => {
190
+ const res = await trx
191
+ .deleteFrom('adminium_translations')
192
+ .where('scope', '=', scoped(ref.scope))
193
+ .where('locale', '=', ref.locale)
194
+ .where('namespace', '=', ref.namespace)
195
+ .where('key', '=', ref.key)
196
+ .executeTakeFirst();
197
+ deleted = affected(res.numDeletedRows);
198
+ if (deleted > 0)
199
+ await bumpI18nVersion(trx, at, opts.updatedBy ?? null);
200
+ });
201
+ return deleted > 0;
202
+ },
203
+ /** Drop every override for a locale — used when a locale is deleted (§5.7). */
204
+ async removeLocale(locale, opts = {}) {
205
+ const at = opts.at ?? Date.now();
206
+ let deleted = 0;
207
+ await meta.db.transaction().execute(async (trx) => {
208
+ const res = await trx
209
+ .deleteFrom('adminium_translations')
210
+ .where('locale', '=', locale)
211
+ .executeTakeFirst();
212
+ deleted = affected(res.numDeletedRows);
213
+ if (deleted > 0)
214
+ await bumpI18nVersion(trx, at, opts.updatedBy ?? null);
215
+ });
216
+ return deleted;
217
+ },
218
+ /** Override counts per locale — the manifest's `overrideCount` (§6.1). */
219
+ async countsByLocale(opts = {}) {
220
+ const rows = await db
221
+ .selectFrom('adminium_translations')
222
+ .select(['locale'])
223
+ .where('scope', '=', scoped(opts.scope))
224
+ .execute();
225
+ const counts = new Map();
226
+ for (const row of rows)
227
+ counts.set(row.locale, (counts.get(row.locale) ?? 0) + 1);
228
+ return counts;
229
+ },
230
+ };
231
+ }
232
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/repos/translations.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,14 @@ export declare const SYSTEM_PREF_DEFAULTS: {
41
41
  readonly density: "comfortable";
42
42
  readonly locale: "en_US";
43
43
  };
44
- export declare function dirForLocale(locale: string): 'ltr' | 'rtl';
44
+ /**
45
+ * Direction for a locale (23 §5.4). A bare `locale === 'ar_EG'` test cannot
46
+ * answer for an admin-created RTL locale, so callers that may see one pass
47
+ * the `dir` from its `adminium_locales` row. Built-ins always win, which is
48
+ * the same field lock the registry enforces: a row can never make `ar_EG`
49
+ * render `ltr`.
50
+ */
51
+ export declare function dirForLocale(locale: string, customDir?: 'ltr' | 'rtl' | null): 'ltr' | 'rtl';
45
52
  export declare function userPrefsRepo(meta: MetaDb): {
46
53
  get: (userId: string) => Promise<UserPrefs | null>;
47
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"user-prefs.d.ts","sourceRoot":"","sources":["../../src/repos/user-prefs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EAEZ,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;IAC/B,yEAAyE;IACzE,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CAC7G;AAUD,yEAAyE;AACzE,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAEX,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAE1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM;kBAIb,MAAM,KAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAsB3D;;;OAGG;gBACe,MAAM,SAAS,cAAc,OAAM,MAAM,GAAgB,OAAO,CAAC,SAAS,CAAC;IAiD7F,yDAAyD;oBACnC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;EAqD/D;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"user-prefs.d.ts","sourceRoot":"","sources":["../../src/repos/user-prefs.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EAEZ,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;IAC/B,yEAAyE;IACzE,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CAC7G;AAUD,yEAAyE;AACzE,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAKX;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAG5F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM;kBAIb,MAAM,KAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAsB3D;;;OAGG;gBACe,MAAM,SAAS,cAAc,OAAM,MAAM,GAAgB,OAAO,CAAC,SAAS,CAAC;IAiD7F,yDAAyD;oBACnC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;EAmE/D;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
1
2
  /**
2
3
  * userPrefsRepo — adminium_user_prefs (07-meta-store.md §3.4) plus the
3
4
  * BRIEF §7 preference resolution (§7.2): system default → global settings
@@ -22,8 +23,19 @@ export const SYSTEM_PREF_DEFAULTS = {
22
23
  density: 'comfortable',
23
24
  locale: 'en_US',
24
25
  };
25
- export function dirForLocale(locale) {
26
- return locale === 'ar_EG' ? 'rtl' : 'ltr';
26
+ /** The compiled RTL locales — the only ones knowable without a DB read. */
27
+ const BUILTIN_RTL = new Set(['ar_EG']);
28
+ /**
29
+ * Direction for a locale (23 §5.4). A bare `locale === 'ar_EG'` test cannot
30
+ * answer for an admin-created RTL locale, so callers that may see one pass
31
+ * the `dir` from its `adminium_locales` row. Built-ins always win, which is
32
+ * the same field lock the registry enforces: a row can never make `ar_EG`
33
+ * render `ltr`.
34
+ */
35
+ export function dirForLocale(locale, customDir) {
36
+ if (BUILTIN_RTL.has(locale))
37
+ return 'rtl';
38
+ return customDir ?? 'ltr';
27
39
  }
28
40
  export function userPrefsRepo(meta) {
29
41
  const { db } = meta;
@@ -124,9 +136,21 @@ export function userPrefsRepo(meta) {
124
136
  const accent = pick('accent');
125
137
  const density = pick('density');
126
138
  const locale = pick('locale');
139
+ // A custom locale's direction lives in its registry row; built-ins never
140
+ // read it (the field lock in 23 §3.1), so this is skipped for them.
141
+ const customDir = BUILTIN_RTL.has(locale.value)
142
+ ? null
143
+ : ((await db
144
+ .selectFrom('adminium_locales')
145
+ .select(['dir'])
146
+ .where('locale', '=', locale.value)
147
+ .executeTakeFirst())?.dir ?? null);
127
148
  const dir = user?.dir !== null && user?.dir !== undefined
128
149
  ? { value: user.dir, source: 'user' }
129
- : { value: dirForLocale(locale.value), source: locale.source };
150
+ : {
151
+ value: dirForLocale(locale.value, customDir === 'rtl' ? 'rtl' : 'ltr'),
152
+ source: locale.source,
153
+ };
130
154
  return {
131
155
  theme: theme.value,
132
156
  accent: accent.value,