libre-webui 0.22.1 → 0.23.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 (237) hide show
  1. package/backend/dist/index.d.ts.map +1 -1
  2. package/backend/dist/index.js +8 -0
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/middleware/auth.d.ts +15 -1
  5. package/backend/dist/middleware/auth.d.ts.map +1 -1
  6. package/backend/dist/middleware/auth.js +153 -33
  7. package/backend/dist/middleware/auth.js.map +1 -1
  8. package/backend/dist/persistence/index.d.ts +1 -0
  9. package/backend/dist/persistence/index.d.ts.map +1 -1
  10. package/backend/dist/persistence/index.js.map +1 -1
  11. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  12. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  13. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  14. package/backend/dist/persistence/postgresPersistence.d.ts.map +1 -1
  15. package/backend/dist/persistence/postgresPersistence.js +4 -0
  16. package/backend/dist/persistence/postgresPersistence.js.map +1 -1
  17. package/backend/dist/persistence/postgresSecurityRepositories.d.ts +7 -0
  18. package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -0
  19. package/backend/dist/persistence/postgresSecurityRepositories.js +435 -0
  20. package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -0
  21. package/backend/dist/persistence/postgresTrustFoundationMigration.d.ts +8 -0
  22. package/backend/dist/persistence/postgresTrustFoundationMigration.d.ts.map +1 -0
  23. package/backend/dist/persistence/postgresTrustFoundationMigration.js +151 -0
  24. package/backend/dist/persistence/postgresTrustFoundationMigration.js.map +1 -0
  25. package/backend/dist/persistence/securityTypes.d.ts +196 -0
  26. package/backend/dist/persistence/securityTypes.d.ts.map +1 -0
  27. package/backend/dist/persistence/securityTypes.js +18 -0
  28. package/backend/dist/persistence/securityTypes.js.map +1 -0
  29. package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
  30. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  31. package/backend/dist/persistence/sqliteMigrations.js +311 -0
  32. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  33. package/backend/dist/persistence/sqlitePersistence.d.ts.map +1 -1
  34. package/backend/dist/persistence/sqlitePersistence.js +3 -0
  35. package/backend/dist/persistence/sqlitePersistence.js.map +1 -1
  36. package/backend/dist/persistence/sqliteSecurityRepositories.d.ts +6 -0
  37. package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -0
  38. package/backend/dist/persistence/sqliteSecurityRepositories.js +497 -0
  39. package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -0
  40. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  41. package/backend/dist/persistence/sqliteToPostgresMigration.js +55 -0
  42. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  43. package/backend/dist/persistence/types.d.ts +4 -0
  44. package/backend/dist/persistence/types.d.ts.map +1 -1
  45. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
  46. package/backend/dist/platform/jobs/domainJobHandlers.js +7 -0
  47. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
  48. package/backend/dist/routes/access.d.ts +3 -0
  49. package/backend/dist/routes/access.d.ts.map +1 -0
  50. package/backend/dist/routes/access.js +134 -0
  51. package/backend/dist/routes/access.js.map +1 -0
  52. package/backend/dist/routes/audit.d.ts +3 -0
  53. package/backend/dist/routes/audit.d.ts.map +1 -0
  54. package/backend/dist/routes/audit.js +82 -0
  55. package/backend/dist/routes/audit.js.map +1 -0
  56. package/backend/dist/routes/auth.d.ts.map +1 -1
  57. package/backend/dist/routes/auth.js +342 -14
  58. package/backend/dist/routes/auth.js.map +1 -1
  59. package/backend/dist/routes/groups.d.ts +3 -0
  60. package/backend/dist/routes/groups.d.ts.map +1 -0
  61. package/backend/dist/routes/groups.js +161 -0
  62. package/backend/dist/routes/groups.js.map +1 -0
  63. package/backend/dist/services/apiTokenService.d.ts +51 -0
  64. package/backend/dist/services/apiTokenService.d.ts.map +1 -0
  65. package/backend/dist/services/apiTokenService.js +220 -0
  66. package/backend/dist/services/apiTokenService.js.map +1 -0
  67. package/backend/dist/services/authService.d.ts +20 -4
  68. package/backend/dist/services/authService.d.ts.map +1 -1
  69. package/backend/dist/services/authService.js +44 -6
  70. package/backend/dist/services/authService.js.map +1 -1
  71. package/backend/dist/services/authSessionService.d.ts +34 -0
  72. package/backend/dist/services/authSessionService.d.ts.map +1 -0
  73. package/backend/dist/services/authSessionService.js +205 -0
  74. package/backend/dist/services/authSessionService.js.map +1 -0
  75. package/backend/dist/services/authorizationService.d.ts +64 -0
  76. package/backend/dist/services/authorizationService.d.ts.map +1 -0
  77. package/backend/dist/services/authorizationService.js +176 -0
  78. package/backend/dist/services/authorizationService.js.map +1 -0
  79. package/backend/dist/services/groupService.d.ts +27 -0
  80. package/backend/dist/services/groupService.d.ts.map +1 -0
  81. package/backend/dist/services/groupService.js +245 -0
  82. package/backend/dist/services/groupService.js.map +1 -0
  83. package/backend/dist/services/groupVectorPrincipalResolver.d.ts +12 -0
  84. package/backend/dist/services/groupVectorPrincipalResolver.d.ts.map +1 -0
  85. package/backend/dist/services/groupVectorPrincipalResolver.js +33 -0
  86. package/backend/dist/services/groupVectorPrincipalResolver.js.map +1 -0
  87. package/backend/dist/services/modelAccessService.d.ts +1 -0
  88. package/backend/dist/services/modelAccessService.d.ts.map +1 -1
  89. package/backend/dist/services/modelAccessService.js +3 -5
  90. package/backend/dist/services/modelAccessService.js.map +1 -1
  91. package/backend/dist/services/oauthSecurity.d.ts +12 -1
  92. package/backend/dist/services/oauthSecurity.d.ts.map +1 -1
  93. package/backend/dist/services/oauthSecurity.js +41 -0
  94. package/backend/dist/services/oauthSecurity.js.map +1 -1
  95. package/backend/dist/services/resourceGrantService.d.ts +28 -0
  96. package/backend/dist/services/resourceGrantService.d.ts.map +1 -0
  97. package/backend/dist/services/resourceGrantService.js +192 -0
  98. package/backend/dist/services/resourceGrantService.js.map +1 -0
  99. package/backend/dist/services/securityAuditService.d.ts +35 -0
  100. package/backend/dist/services/securityAuditService.d.ts.map +1 -0
  101. package/backend/dist/services/securityAuditService.js +159 -0
  102. package/backend/dist/services/securityAuditService.js.map +1 -0
  103. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  104. package/backend/dist/services/simpleGitHubOAuth.js +4 -2
  105. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  106. package/backend/dist/services/simpleOidcOAuth.d.ts +62 -0
  107. package/backend/dist/services/simpleOidcOAuth.d.ts.map +1 -0
  108. package/backend/dist/services/simpleOidcOAuth.js +397 -0
  109. package/backend/dist/services/simpleOidcOAuth.js.map +1 -0
  110. package/backend/dist/services/webSearchService.d.ts +1 -0
  111. package/backend/dist/services/webSearchService.d.ts.map +1 -1
  112. package/backend/dist/services/webSearchService.js +3 -5
  113. package/backend/dist/services/webSearchService.js.map +1 -1
  114. package/backend/dist/services/websocketTicketService.d.ts +3 -1
  115. package/backend/dist/services/websocketTicketService.d.ts.map +1 -1
  116. package/backend/dist/services/websocketTicketService.js +4 -1
  117. package/backend/dist/services/websocketTicketService.js.map +1 -1
  118. package/backend/dist/services/workAccessService.d.ts +1 -0
  119. package/backend/dist/services/workAccessService.d.ts.map +1 -1
  120. package/backend/dist/services/workAccessService.js +3 -5
  121. package/backend/dist/services/workAccessService.js.map +1 -1
  122. package/backend/dist/services/workEventService.d.ts.map +1 -1
  123. package/backend/dist/services/workEventService.js +74 -18
  124. package/backend/dist/services/workEventService.js.map +1 -1
  125. package/backend/dist/services/workRuntimeService.d.ts +11 -0
  126. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  127. package/backend/dist/services/workRuntimeService.js +78 -23
  128. package/backend/dist/services/workRuntimeService.js.map +1 -1
  129. package/backend/dist/websocketServer.d.ts.map +1 -1
  130. package/backend/dist/websocketServer.js +25 -1
  131. package/backend/dist/websocketServer.js.map +1 -1
  132. package/backend/dist/workTerminalServer.d.ts.map +1 -1
  133. package/backend/dist/workTerminalServer.js +19 -1
  134. package/backend/dist/workTerminalServer.js.map +1 -1
  135. package/backend/dist/worker.js +2 -0
  136. package/backend/dist/worker.js.map +1 -1
  137. package/backend/package.json +1 -1
  138. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  139. package/frontend/dist/assets/index-BXMQqOXF.js +11 -0
  140. package/frontend/dist/assets/index-DBaj1DRj.css +1 -0
  141. package/frontend/dist/index.html +11 -11
  142. package/frontend/dist/js/ArtifactContainer-BUjOZ5M5.js +1 -0
  143. package/frontend/dist/js/{ArtifactDemoPage-BDBXYv9l.js → ArtifactDemoPage-QRve-734.js} +1 -1
  144. package/frontend/dist/js/{ArtifactSandboxFrame-BN16NtKe.js → ArtifactSandboxFrame-DhvA-t-7.js} +2 -2
  145. package/frontend/dist/js/ArtifactSlideOutPanel-B8w1Orr1.js +1 -0
  146. package/frontend/dist/js/ChatPage-DKVwaYxn.js +23 -0
  147. package/frontend/dist/js/FirstTimeSetup-DaQveC0v.js +1 -0
  148. package/frontend/dist/js/{GalleryPage-CV_vbE7X.js → GalleryPage-Cz-VvarV.js} +1 -1
  149. package/frontend/dist/js/{HomePage-P-e7Huco.js → HomePage-DF9pZ5V5.js} +1 -1
  150. package/frontend/dist/js/{LibreClawPage-Cee06SUM.js → LibreClawPage-Dw8YQyFj.js} +1 -1
  151. package/frontend/dist/js/{ModelManagerModals-D7jIT3v1.js → ModelManagerModals-CZAWUxjI.js} +1 -1
  152. package/frontend/dist/js/{ModelSelector-DXucbvrz.js → ModelSelector-Cc91MEm4.js} +1 -1
  153. package/frontend/dist/js/ModelsPage-BgaQuCry.js +2 -0
  154. package/frontend/dist/js/{NotesPage-rEIPWGIb.js → NotesPage-CRAo-TFI.js} +1 -1
  155. package/frontend/dist/js/{PersonasPage-BXtepFuD.js → PersonasPage-DpN8DQkY.js} +2 -2
  156. package/frontend/dist/js/{PluginUsagePage-hhu8cxsu.js → PluginUsagePage-5PXXZXle.js} +1 -1
  157. package/frontend/dist/js/{RichMessageContent-DkiEvdSg.js → RichMessageContent-C67tFlr1.js} +1 -1
  158. package/frontend/dist/js/SettingsModal-BEzMSDlp.js +1 -0
  159. package/frontend/dist/js/SystemPage-FUnoW7Er.js +1 -0
  160. package/frontend/dist/js/UserManagementPage-SBsRbt0H.js +1 -0
  161. package/frontend/dist/js/WorkPage-D3ChSFo-.js +6 -0
  162. package/frontend/dist/js/api-Dw_IuHaz.js +14 -0
  163. package/frontend/dist/js/{appStore-DRSSjaHn.js → appStore-DAT2R-5p.js} +2 -2
  164. package/frontend/dist/js/ar-D0z0P4rC.js +2 -0
  165. package/frontend/dist/js/{authStore-BVykIRec.js → authStore-CwSMGkEM.js} +3 -3
  166. package/frontend/dist/js/bn-BYYU41A7.js +2 -0
  167. package/frontend/dist/js/chatStore-BK6YcouV.js +3 -0
  168. package/frontend/dist/js/{config-BTlPm-cZ.js → config-0eBxRk6E.js} +1 -1
  169. package/frontend/dist/js/cs-BFx6KNZe.js +2 -0
  170. package/frontend/dist/js/da-DSDuY5Du.js +2 -0
  171. package/frontend/dist/js/de-YqhP0FmX.js +2 -0
  172. package/frontend/dist/js/es-Dpr_y1cN.js +2 -0
  173. package/frontend/dist/js/{estree-CfYahF_d.js → estree-Db_NKIE7.js} +1 -1
  174. package/frontend/dist/js/fr-nVg_iAEC.js +2 -0
  175. package/frontend/dist/js/hi-gHKYCgkP.js +2 -0
  176. package/frontend/dist/js/{html-BJsDX1UZ.js → html-INl_p8N8.js} +1 -1
  177. package/frontend/dist/js/id-C_yID1Zk.js +2 -0
  178. package/frontend/dist/js/is-MoRPLbOM.js +2 -0
  179. package/frontend/dist/js/it-BZTscLxR.js +2 -0
  180. package/frontend/dist/js/ja-DpIbtmZq.js +2 -0
  181. package/frontend/dist/js/ko-LkWggmjU.js +2 -0
  182. package/frontend/dist/js/{markdown-GLyuUNig.js → markdown-DQbfLH11.js} +1 -1
  183. package/frontend/dist/js/{messageCodeStyles-BHddEFP1.js → messageCodeStyles-D7zXzjgH.js} +2 -2
  184. package/frontend/dist/js/ms-p3XiQSAo.js +2 -0
  185. package/frontend/dist/js/nl-sEHHO2Kb.js +2 -0
  186. package/frontend/dist/js/pl-D2GD6PDW.js +2 -0
  187. package/frontend/dist/js/pt-DPkn3GUn.js +2 -0
  188. package/frontend/dist/js/ru-C42iHrEd.js +2 -0
  189. package/frontend/dist/js/{standalone-Dh56V0YW.js → standalone-CFSd7xCM.js} +1 -1
  190. package/frontend/dist/js/sv-CGvHo4os.js +2 -0
  191. package/frontend/dist/js/th-BaDNpCdY.js +2 -0
  192. package/frontend/dist/js/tr-BHQvi1cN.js +2 -0
  193. package/frontend/dist/js/{typescript-DRy7A9w4.js → typescript-BIFKSiW0.js} +1 -1
  194. package/frontend/dist/js/{ui-CuY4IifA.js → ui-CS8EAgvS.js} +2 -2
  195. package/frontend/dist/js/{ui-vendor-D3Ahl1x5.js → ui-vendor-54SgntkX.js} +1 -1
  196. package/frontend/dist/js/uk-7pNGS1b2.js +2 -0
  197. package/frontend/dist/js/vi-DgAfh6mo.js +2 -0
  198. package/frontend/dist/js/{workApi-DHuYNHLf.js → workApi-DlmJ72dN.js} +2 -2
  199. package/frontend/dist/js/zh-FRTz6ZqA.js +2 -0
  200. package/package.json +2 -2
  201. package/frontend/dist/assets/index-Jtx9Amhz.js +0 -16
  202. package/frontend/dist/assets/index-kxtZQLV6.css +0 -1
  203. package/frontend/dist/js/ArtifactContainer-fZegtmva.js +0 -1
  204. package/frontend/dist/js/ArtifactSlideOutPanel-x1fS85Ww.js +0 -1
  205. package/frontend/dist/js/ChatPage-C_pXh7WN.js +0 -23
  206. package/frontend/dist/js/FirstTimeSetup-oRrlZnBm.js +0 -1
  207. package/frontend/dist/js/ModelsPage-C3_fZpMM.js +0 -2
  208. package/frontend/dist/js/SettingsModal-BNxCtJ51.js +0 -1
  209. package/frontend/dist/js/SystemPage-BvvKFuoG.js +0 -1
  210. package/frontend/dist/js/UserManagementPage-BccyR7si.js +0 -1
  211. package/frontend/dist/js/WorkPage-BgxrvY3I.js +0 -6
  212. package/frontend/dist/js/api-BvPDxsUQ.js +0 -14
  213. package/frontend/dist/js/ar-xTSvTq05.js +0 -2
  214. package/frontend/dist/js/bn-iYAsohEA.js +0 -2
  215. package/frontend/dist/js/chatStore-UPp5TV_t.js +0 -3
  216. package/frontend/dist/js/cs-YBHN88Hb.js +0 -2
  217. package/frontend/dist/js/da-D7qlLy_k.js +0 -2
  218. package/frontend/dist/js/de-DV671k2c.js +0 -2
  219. package/frontend/dist/js/es-kyBgzNq-.js +0 -2
  220. package/frontend/dist/js/fr-Cw1vut7I.js +0 -2
  221. package/frontend/dist/js/hi-DWEFC024.js +0 -2
  222. package/frontend/dist/js/id-DlMHjjy0.js +0 -2
  223. package/frontend/dist/js/is-B9E_a7dG.js +0 -2
  224. package/frontend/dist/js/it-DawmVbLC.js +0 -2
  225. package/frontend/dist/js/ja-DmVvwY3W.js +0 -2
  226. package/frontend/dist/js/ko-DzOPpkVs.js +0 -2
  227. package/frontend/dist/js/ms-DpsaOPht.js +0 -2
  228. package/frontend/dist/js/nl-B1d8W22n.js +0 -2
  229. package/frontend/dist/js/pl-nCncRVgt.js +0 -2
  230. package/frontend/dist/js/pt-DHw8fGuu.js +0 -2
  231. package/frontend/dist/js/ru-Derl_YP_.js +0 -2
  232. package/frontend/dist/js/sv-pJAfBVo0.js +0 -2
  233. package/frontend/dist/js/th-C_7fIGnk.js +0 -2
  234. package/frontend/dist/js/tr-CPqsJvaP.js +0 -2
  235. package/frontend/dist/js/uk-3o8P_kFi.js +0 -2
  236. package/frontend/dist/js/vi-Dv6N7OVD.js +0 -2
  237. package/frontend/dist/js/zh-qg5iqtPi.js +0 -2
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import { createSQLiteResourceRepositories } from './sqliteResourceRepositories.js';
18
18
  import { createSQLiteExtensionRepositories } from './sqliteExtensionRepositories.js';
19
+ import { createSQLiteSecurityRepositories, createSQLiteSecuritySyncRepositories, } from './sqliteSecurityRepositories.js';
19
20
  import { createVoiceProfileNameLookup } from './voiceProfileNameLookup.js';
20
21
  const isPlausibleLegacyPlaintextEmail = (value) => value.length <= 320 && /^[^\s@]+@[^\s@]+$/.test(value);
21
22
  const resemblesEncryptedEmailEnvelope = (value) => {
@@ -515,9 +516,11 @@ const repositoriesFor = (executor, emailCodec, database) => ({
515
516
  identity: new SQLiteIdentityRepository(executor, emailCodec, database),
516
517
  resources: createSQLiteResourceRepositories(database),
517
518
  extensions: createSQLiteExtensionRepositories(database),
519
+ security: createSQLiteSecurityRepositories(database),
518
520
  });
519
521
  const unitOfWorkFor = (executor, emailCodec) => ({
520
522
  identity: new SQLiteIdentitySyncRepository(executor, emailCodec),
523
+ security: createSQLiteSecuritySyncRepositories(executor),
521
524
  });
522
525
  export class SQLitePersistence {
523
526
  constructor(database, emailCodec) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlitePersistence.js","sourceRoot":"","sources":["../../src/persistence/sqlitePersistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlitePersistence.js","sourceRoot":"","sources":["../../src/persistence/sqlitePersistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type Database from 'better-sqlite3';
2
+ import type { PersistenceSyncExecutor } from './types.js';
3
+ import type { SecurityRepositories, SecuritySyncRepositories } from './securityTypes.js';
4
+ export declare const createSQLiteSecurityRepositories: (database: Database.Database) => SecurityRepositories;
5
+ export declare const createSQLiteSecuritySyncRepositories: (executor: PersistenceSyncExecutor) => SecuritySyncRepositories;
6
+ //# sourceMappingURL=sqliteSecurityRepositories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqliteSecurityRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteSecurityRepositories.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAWV,oBAAoB,EACpB,wBAAwB,EASzB,MAAM,oBAAoB,CAAC;AAouB5B,eAAO,MAAM,gCAAgC,aACjC,QAAQ,CAAC,QAAQ,KAC1B,oBAOD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aACrC,uBAAuB,KAChC,wBAID,CAAC"}
@@ -0,0 +1,497 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at:
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ const insertGroupSql = `INSERT INTO user_groups
18
+ (id, name, description, created_by, created_at, updated_at)
19
+ VALUES (?, ?, ?, ?, ?, ?)`;
20
+ const insertMemberSql = `INSERT OR IGNORE INTO user_group_members
21
+ (group_id, user_id, added_by, added_at)
22
+ VALUES (?, ?, ?, ?)`;
23
+ const upsertGrantSql = `INSERT INTO resource_grants
24
+ (id, resource_type, resource_id, owner_user_id,
25
+ principal_type, principal_id, permission, created_by, created_at)
26
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
27
+ ON CONFLICT(resource_type, resource_id, principal_type, principal_id)
28
+ DO UPDATE SET permission = excluded.permission,
29
+ created_by = excluded.created_by,
30
+ created_at = excluded.created_at`;
31
+ const insertAuditSql = `INSERT INTO security_audit_events
32
+ (id, occurred_at, actor_user_id, actor_kind, action,
33
+ target_type, target_id, result, request_id, ip_hash, details)
34
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`;
35
+ const applyGroupUpdate = (database, groupId, patch) => {
36
+ const assignments = [];
37
+ const values = [];
38
+ if (patch.name !== undefined) {
39
+ assignments.push('name = ?');
40
+ values.push(patch.name);
41
+ }
42
+ if (patch.description !== undefined) {
43
+ assignments.push('description = ?');
44
+ values.push(patch.description);
45
+ }
46
+ assignments.push('updated_at = ?');
47
+ values.push(patch.updated_at);
48
+ return (database
49
+ .prepare(`UPDATE user_groups SET ${assignments.join(', ')} WHERE id = ?`)
50
+ .run(...values, groupId).changes > 0);
51
+ };
52
+ class SQLiteGroupRepository {
53
+ constructor(database) {
54
+ this.database = database;
55
+ }
56
+ async list() {
57
+ return this.database
58
+ .prepare('SELECT * FROM user_groups ORDER BY name')
59
+ .all();
60
+ }
61
+ async findById(groupId) {
62
+ return (this.database
63
+ .prepare('SELECT * FROM user_groups WHERE id = ?')
64
+ .get(groupId) ?? null);
65
+ }
66
+ async findByName(name) {
67
+ return (this.database
68
+ .prepare('SELECT * FROM user_groups WHERE name = ?')
69
+ .get(name) ?? null);
70
+ }
71
+ async insert(group) {
72
+ this.database
73
+ .prepare(insertGroupSql)
74
+ .run(group.id, group.name, group.description, group.created_by, group.created_at, group.updated_at);
75
+ }
76
+ async update(groupId, patch) {
77
+ return applyGroupUpdate(this.database, groupId, patch);
78
+ }
79
+ async delete(groupId) {
80
+ return (this.database.prepare('DELETE FROM user_groups WHERE id = ?').run(groupId)
81
+ .changes > 0);
82
+ }
83
+ async listMembers(groupId) {
84
+ return this.database
85
+ .prepare('SELECT * FROM user_group_members WHERE group_id = ? ORDER BY added_at')
86
+ .all(groupId);
87
+ }
88
+ async listGroupIdsForUser(userId) {
89
+ const rows = this.database
90
+ .prepare('SELECT group_id FROM user_group_members WHERE user_id = ?')
91
+ .all(userId);
92
+ return rows.map(row => row.group_id);
93
+ }
94
+ async listGroupsForUser(userId) {
95
+ return this.database
96
+ .prepare(`SELECT g.* FROM user_groups g
97
+ JOIN user_group_members m ON m.group_id = g.id
98
+ WHERE m.user_id = ?
99
+ ORDER BY g.name`)
100
+ .all(userId);
101
+ }
102
+ async addMember(member) {
103
+ return (this.database
104
+ .prepare(insertMemberSql)
105
+ .run(member.group_id, member.user_id, member.added_by, member.added_at)
106
+ .changes > 0);
107
+ }
108
+ async removeMember(groupId, userId) {
109
+ return (this.database
110
+ .prepare('DELETE FROM user_group_members WHERE group_id = ? AND user_id = ?')
111
+ .run(groupId, userId).changes > 0);
112
+ }
113
+ async removeUserFromAllGroups(userId) {
114
+ return this.database
115
+ .prepare('DELETE FROM user_group_members WHERE user_id = ?')
116
+ .run(userId).changes;
117
+ }
118
+ }
119
+ class SQLiteResourceGrantRepository {
120
+ constructor(database) {
121
+ this.database = database;
122
+ }
123
+ async listForResource(resourceType, resourceId) {
124
+ return this.database
125
+ .prepare(`SELECT * FROM resource_grants
126
+ WHERE resource_type = ? AND resource_id = ?
127
+ ORDER BY created_at`)
128
+ .all(resourceType, resourceId);
129
+ }
130
+ async listForPrincipal(principalType, principalId) {
131
+ return this.database
132
+ .prepare(`SELECT * FROM resource_grants
133
+ WHERE principal_type = ? AND principal_id = ?
134
+ ORDER BY created_at`)
135
+ .all(principalType, principalId);
136
+ }
137
+ async findById(grantId) {
138
+ return (this.database
139
+ .prepare('SELECT * FROM resource_grants WHERE id = ?')
140
+ .get(grantId) ?? null);
141
+ }
142
+ async listEffective(resourceType, resourceId, userId, groupIds) {
143
+ const groupPredicate = groupIds.length
144
+ ? ` OR (principal_type = 'group' AND principal_id IN (${groupIds
145
+ .map(() => '?')
146
+ .join(', ')}))`
147
+ : '';
148
+ return this.database
149
+ .prepare(`SELECT * FROM resource_grants
150
+ WHERE resource_type = ? AND resource_id = ?
151
+ AND ((principal_type = 'user' AND principal_id = ?)${groupPredicate})`)
152
+ .all(resourceType, resourceId, userId, ...groupIds);
153
+ }
154
+ async upsert(grant) {
155
+ this.database
156
+ .prepare(upsertGrantSql)
157
+ .run(grant.id, grant.resource_type, grant.resource_id, grant.owner_user_id, grant.principal_type, grant.principal_id, grant.permission, grant.created_by, grant.created_at);
158
+ }
159
+ async delete(grantId) {
160
+ return (this.database
161
+ .prepare('DELETE FROM resource_grants WHERE id = ?')
162
+ .run(grantId).changes > 0);
163
+ }
164
+ async deleteForResource(resourceType, resourceId) {
165
+ return this.database
166
+ .prepare('DELETE FROM resource_grants WHERE resource_type = ? AND resource_id = ?')
167
+ .run(resourceType, resourceId).changes;
168
+ }
169
+ async deleteForPrincipal(principalType, principalId) {
170
+ return this.database
171
+ .prepare('DELETE FROM resource_grants WHERE principal_type = ? AND principal_id = ?')
172
+ .run(principalType, principalId).changes;
173
+ }
174
+ async deleteForOwner(ownerUserId) {
175
+ return this.database
176
+ .prepare('DELETE FROM resource_grants WHERE owner_user_id = ?')
177
+ .run(ownerUserId).changes;
178
+ }
179
+ }
180
+ class SQLiteAuthSessionRepository {
181
+ constructor(database) {
182
+ this.database = database;
183
+ }
184
+ async insert(session) {
185
+ this.database
186
+ .prepare(`INSERT INTO auth_sessions
187
+ (id, user_id, kind, ip_hash, user_agent,
188
+ created_at, last_seen_at, expires_at, revoked_at, revoked_by)
189
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
190
+ .run(session.id, session.user_id, session.kind, session.ip_hash, session.user_agent, session.created_at, session.last_seen_at, session.expires_at, session.revoked_at, session.revoked_by);
191
+ }
192
+ async findById(sessionId) {
193
+ return (this.database
194
+ .prepare('SELECT * FROM auth_sessions WHERE id = ?')
195
+ .get(sessionId) ?? null);
196
+ }
197
+ async listByUser(userId) {
198
+ return this.database
199
+ .prepare(`SELECT * FROM auth_sessions
200
+ WHERE user_id = ?
201
+ ORDER BY last_seen_at DESC`)
202
+ .all(userId);
203
+ }
204
+ async touch(sessionId, lastSeenAt) {
205
+ return (this.database
206
+ .prepare(`UPDATE auth_sessions SET last_seen_at = ?
207
+ WHERE id = ? AND revoked_at IS NULL`)
208
+ .run(lastSeenAt, sessionId).changes > 0);
209
+ }
210
+ async revoke(sessionId, revokedAt, revokedBy) {
211
+ return (this.database
212
+ .prepare(`UPDATE auth_sessions SET revoked_at = ?, revoked_by = ?
213
+ WHERE id = ? AND revoked_at IS NULL`)
214
+ .run(revokedAt, revokedBy, sessionId).changes > 0);
215
+ }
216
+ async revokeAllForUser(userId, revokedAt, revokedBy, exceptSessionId) {
217
+ const revokeAll = this.database.transaction(() => {
218
+ const exceptPredicate = exceptSessionId ? ' AND id != ?' : '';
219
+ const parameters = [userId];
220
+ if (exceptSessionId)
221
+ parameters.push(exceptSessionId);
222
+ const rows = this.database
223
+ .prepare(`SELECT id FROM auth_sessions
224
+ WHERE user_id = ? AND revoked_at IS NULL${exceptPredicate}`)
225
+ .all(...parameters);
226
+ this.database
227
+ .prepare(`UPDATE auth_sessions SET revoked_at = ?, revoked_by = ?
228
+ WHERE user_id = ? AND revoked_at IS NULL${exceptPredicate}`)
229
+ .run(revokedAt, revokedBy, ...parameters);
230
+ return rows.map(row => row.id);
231
+ });
232
+ return revokeAll.immediate();
233
+ }
234
+ async deleteExpired(before) {
235
+ return this.database
236
+ .prepare('DELETE FROM auth_sessions WHERE expires_at < ?')
237
+ .run(before).changes;
238
+ }
239
+ async deleteForUser(userId) {
240
+ return this.database
241
+ .prepare('DELETE FROM auth_sessions WHERE user_id = ?')
242
+ .run(userId).changes;
243
+ }
244
+ }
245
+ class SQLiteApiTokenRepository {
246
+ constructor(database) {
247
+ this.database = database;
248
+ }
249
+ async insert(token) {
250
+ this.database
251
+ .prepare(`INSERT INTO api_tokens
252
+ (id, user_id, name, token_hash, token_prefix, scopes,
253
+ created_at, expires_at, last_used_at, revoked_at)
254
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
255
+ .run(token.id, token.user_id, token.name, token.token_hash, token.token_prefix, token.scopes, token.created_at, token.expires_at, token.last_used_at, token.revoked_at);
256
+ }
257
+ async findByHash(tokenHash) {
258
+ return (this.database
259
+ .prepare('SELECT * FROM api_tokens WHERE token_hash = ?')
260
+ .get(tokenHash) ?? null);
261
+ }
262
+ async findById(tokenId) {
263
+ return (this.database
264
+ .prepare('SELECT * FROM api_tokens WHERE id = ?')
265
+ .get(tokenId) ?? null);
266
+ }
267
+ async listByUser(userId) {
268
+ return this.database
269
+ .prepare('SELECT * FROM api_tokens WHERE user_id = ? ORDER BY created_at DESC')
270
+ .all(userId);
271
+ }
272
+ async listAll() {
273
+ return this.database
274
+ .prepare('SELECT * FROM api_tokens ORDER BY created_at DESC')
275
+ .all();
276
+ }
277
+ async touchLastUsed(tokenId, lastUsedAt) {
278
+ return (this.database
279
+ .prepare('UPDATE api_tokens SET last_used_at = ? WHERE id = ?')
280
+ .run(lastUsedAt, tokenId).changes > 0);
281
+ }
282
+ async revoke(tokenId, revokedAt) {
283
+ return (this.database
284
+ .prepare('UPDATE api_tokens SET revoked_at = ? WHERE id = ? AND revoked_at IS NULL')
285
+ .run(revokedAt, tokenId).changes > 0);
286
+ }
287
+ async deleteForUser(userId) {
288
+ return this.database
289
+ .prepare('DELETE FROM api_tokens WHERE user_id = ?')
290
+ .run(userId).changes;
291
+ }
292
+ }
293
+ class SQLiteOAuthIdentityRepository {
294
+ constructor(database) {
295
+ this.database = database;
296
+ }
297
+ async find(provider, subject) {
298
+ return (this.database
299
+ .prepare('SELECT * FROM oauth_identities WHERE provider = ? AND subject = ?')
300
+ .get(provider, subject) ??
301
+ null);
302
+ }
303
+ async listByUser(userId) {
304
+ return this.database
305
+ .prepare('SELECT * FROM oauth_identities WHERE user_id = ? ORDER BY created_at')
306
+ .all(userId);
307
+ }
308
+ async upsert(identity) {
309
+ this.database
310
+ .prepare(`INSERT INTO oauth_identities
311
+ (provider, subject, user_id, email, created_at, updated_at)
312
+ VALUES (?, ?, ?, ?, ?, ?)
313
+ ON CONFLICT(provider, subject) DO UPDATE SET
314
+ user_id = excluded.user_id,
315
+ email = excluded.email,
316
+ updated_at = excluded.updated_at`)
317
+ .run(identity.provider, identity.subject, identity.user_id, identity.email, identity.created_at, identity.updated_at);
318
+ }
319
+ async deleteForUser(userId) {
320
+ return this.database
321
+ .prepare('DELETE FROM oauth_identities WHERE user_id = ?')
322
+ .run(userId).changes;
323
+ }
324
+ }
325
+ const buildAuditQuery = (query) => {
326
+ const conditions = [];
327
+ const parameters = [];
328
+ if (query.action) {
329
+ conditions.push('action = ?');
330
+ parameters.push(query.action);
331
+ }
332
+ if (query.actorUserId) {
333
+ conditions.push('actor_user_id = ?');
334
+ parameters.push(query.actorUserId);
335
+ }
336
+ if (query.result) {
337
+ conditions.push('result = ?');
338
+ parameters.push(query.result);
339
+ }
340
+ if (query.targetType) {
341
+ conditions.push('target_type = ?');
342
+ parameters.push(query.targetType);
343
+ }
344
+ if (query.before !== undefined) {
345
+ conditions.push('occurred_at < ?');
346
+ parameters.push(query.before);
347
+ }
348
+ if (query.after !== undefined) {
349
+ conditions.push('occurred_at > ?');
350
+ parameters.push(query.after);
351
+ }
352
+ const where = conditions.length ? ` WHERE ${conditions.join(' AND ')}` : '';
353
+ parameters.push(query.limit);
354
+ return {
355
+ sql: `SELECT * FROM security_audit_events${where}
356
+ ORDER BY occurred_at DESC, id DESC
357
+ LIMIT ?`,
358
+ parameters,
359
+ };
360
+ };
361
+ class SQLiteSecurityAuditRepository {
362
+ constructor(database) {
363
+ this.database = database;
364
+ }
365
+ async insert(event) {
366
+ this.database
367
+ .prepare(insertAuditSql)
368
+ .run(event.id, event.occurred_at, event.actor_user_id, event.actor_kind, event.action, event.target_type, event.target_id, event.result, event.request_id, event.ip_hash, event.details);
369
+ }
370
+ async query(query) {
371
+ const built = buildAuditQuery(query);
372
+ return this.database
373
+ .prepare(built.sql)
374
+ .all(...built.parameters);
375
+ }
376
+ async deleteBefore(before) {
377
+ return this.database
378
+ .prepare('DELETE FROM security_audit_events WHERE occurred_at < ?')
379
+ .run(before).changes;
380
+ }
381
+ }
382
+ class SQLiteGroupSyncRepository {
383
+ constructor(executor) {
384
+ this.executor = executor;
385
+ }
386
+ findById(groupId) {
387
+ return (this.executor.get('SELECT * FROM user_groups WHERE id = ?', [groupId]) ?? null);
388
+ }
389
+ findByName(name) {
390
+ return (this.executor.get('SELECT * FROM user_groups WHERE name = ?', [name]) ?? null);
391
+ }
392
+ insert(group) {
393
+ this.executor.run(insertGroupSql, [
394
+ group.id,
395
+ group.name,
396
+ group.description,
397
+ group.created_by,
398
+ group.created_at,
399
+ group.updated_at,
400
+ ]);
401
+ }
402
+ update(groupId, patch) {
403
+ const assignments = [];
404
+ const values = [];
405
+ if (patch.name !== undefined) {
406
+ assignments.push('name = ?');
407
+ values.push(patch.name);
408
+ }
409
+ if (patch.description !== undefined) {
410
+ assignments.push('description = ?');
411
+ values.push(patch.description);
412
+ }
413
+ assignments.push('updated_at = ?');
414
+ values.push(patch.updated_at);
415
+ return (this.executor.run(`UPDATE user_groups SET ${assignments.join(', ')} WHERE id = ?`, [...values, groupId]).changes > 0);
416
+ }
417
+ delete(groupId) {
418
+ return (this.executor.run('DELETE FROM user_groups WHERE id = ?', [groupId])
419
+ .changes > 0);
420
+ }
421
+ addMember(member) {
422
+ return (this.executor.run(insertMemberSql, [
423
+ member.group_id,
424
+ member.user_id,
425
+ member.added_by,
426
+ member.added_at,
427
+ ]).changes > 0);
428
+ }
429
+ removeMember(groupId, userId) {
430
+ return (this.executor.run('DELETE FROM user_group_members WHERE group_id = ? AND user_id = ?', [groupId, userId]).changes > 0);
431
+ }
432
+ }
433
+ class SQLiteResourceGrantSyncRepository {
434
+ constructor(executor) {
435
+ this.executor = executor;
436
+ }
437
+ findById(grantId) {
438
+ return (this.executor.get('SELECT * FROM resource_grants WHERE id = ?', [grantId]) ?? null);
439
+ }
440
+ upsert(grant) {
441
+ this.executor.run(upsertGrantSql, [
442
+ grant.id,
443
+ grant.resource_type,
444
+ grant.resource_id,
445
+ grant.owner_user_id,
446
+ grant.principal_type,
447
+ grant.principal_id,
448
+ grant.permission,
449
+ grant.created_by,
450
+ grant.created_at,
451
+ ]);
452
+ }
453
+ delete(grantId) {
454
+ return (this.executor.run('DELETE FROM resource_grants WHERE id = ?', [grantId])
455
+ .changes > 0);
456
+ }
457
+ deleteForResource(resourceType, resourceId) {
458
+ return this.executor.run('DELETE FROM resource_grants WHERE resource_type = ? AND resource_id = ?', [resourceType, resourceId]).changes;
459
+ }
460
+ deleteForPrincipal(principalType, principalId) {
461
+ return this.executor.run('DELETE FROM resource_grants WHERE principal_type = ? AND principal_id = ?', [principalType, principalId]).changes;
462
+ }
463
+ }
464
+ class SQLiteSecurityAuditSyncRepository {
465
+ constructor(executor) {
466
+ this.executor = executor;
467
+ }
468
+ insert(event) {
469
+ this.executor.run(insertAuditSql, [
470
+ event.id,
471
+ event.occurred_at,
472
+ event.actor_user_id,
473
+ event.actor_kind,
474
+ event.action,
475
+ event.target_type,
476
+ event.target_id,
477
+ event.result,
478
+ event.request_id,
479
+ event.ip_hash,
480
+ event.details,
481
+ ]);
482
+ }
483
+ }
484
+ export const createSQLiteSecurityRepositories = (database) => ({
485
+ groups: new SQLiteGroupRepository(database),
486
+ grants: new SQLiteResourceGrantRepository(database),
487
+ authSessions: new SQLiteAuthSessionRepository(database),
488
+ apiTokens: new SQLiteApiTokenRepository(database),
489
+ oauthIdentities: new SQLiteOAuthIdentityRepository(database),
490
+ audit: new SQLiteSecurityAuditRepository(database),
491
+ });
492
+ export const createSQLiteSecuritySyncRepositories = (executor) => ({
493
+ groups: new SQLiteGroupSyncRepository(executor),
494
+ grants: new SQLiteResourceGrantSyncRepository(executor),
495
+ audit: new SQLiteSecurityAuditSyncRepository(executor),
496
+ });
497
+ //# sourceMappingURL=sqliteSecurityRepositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqliteSecurityRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteSecurityRepositories.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteToPostgresMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteToPostgresMigration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqliteToPostgresMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteToPostgresMigration.ts"],"names":[],"mappings":"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"}