libre-webui 0.26.0 → 0.27.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 (249) hide show
  1. package/backend/dist/index.d.ts.map +1 -1
  2. package/backend/dist/index.js +7 -0
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts +9 -0
  5. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -0
  6. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +107 -0
  7. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -0
  8. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  9. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  10. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  11. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
  12. package/backend/dist/persistence/postgresResourceRepositories.js +162 -0
  13. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  14. package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
  15. package/backend/dist/persistence/postgresSecurityRepositories.js +150 -0
  16. package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
  17. package/backend/dist/persistence/resourceTypes.d.ts +59 -0
  18. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
  19. package/backend/dist/persistence/resourceTypes.js.map +1 -1
  20. package/backend/dist/persistence/securityTypes.d.ts +59 -0
  21. package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
  22. package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
  23. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  24. package/backend/dist/persistence/sqliteMigrations.js +194 -0
  25. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  26. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
  27. package/backend/dist/persistence/sqliteResourceRepositories.js +134 -0
  28. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  29. package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
  30. package/backend/dist/persistence/sqliteSecurityRepositories.js +134 -0
  31. package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
  32. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  33. package/backend/dist/persistence/sqliteToPostgresMigration.js +45 -0
  34. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  35. package/backend/dist/platform/jobs/domainJobContracts.d.ts +2 -0
  36. package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
  37. package/backend/dist/platform/jobs/domainJobContracts.js +2 -0
  38. package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
  39. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
  40. package/backend/dist/platform/jobs/domainJobHandlers.js +65 -2
  41. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
  42. package/backend/dist/routes/auth.d.ts.map +1 -1
  43. package/backend/dist/routes/auth.js +419 -1
  44. package/backend/dist/routes/auth.js.map +1 -1
  45. package/backend/dist/routes/documents.d.ts.map +1 -1
  46. package/backend/dist/routes/documents.js +4 -0
  47. package/backend/dist/routes/documents.js.map +1 -1
  48. package/backend/dist/routes/push.d.ts +3 -0
  49. package/backend/dist/routes/push.d.ts.map +1 -0
  50. package/backend/dist/routes/push.js +105 -0
  51. package/backend/dist/routes/push.js.map +1 -0
  52. package/backend/dist/routes/recovery.d.ts +3 -0
  53. package/backend/dist/routes/recovery.d.ts.map +1 -0
  54. package/backend/dist/routes/recovery.js +83 -0
  55. package/backend/dist/routes/recovery.js.map +1 -0
  56. package/backend/dist/routes/users.d.ts.map +1 -1
  57. package/backend/dist/routes/users.js +35 -0
  58. package/backend/dist/routes/users.js.map +1 -1
  59. package/backend/dist/services/authService.d.ts +6 -0
  60. package/backend/dist/services/authService.d.ts.map +1 -1
  61. package/backend/dist/services/authService.js +9 -0
  62. package/backend/dist/services/authService.js.map +1 -1
  63. package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
  64. package/backend/dist/services/automationSchedulerService.js +7 -0
  65. package/backend/dist/services/automationSchedulerService.js.map +1 -1
  66. package/backend/dist/services/dataArchiveService.d.ts.map +1 -1
  67. package/backend/dist/services/dataArchiveService.js +3 -0
  68. package/backend/dist/services/dataArchiveService.js.map +1 -1
  69. package/backend/dist/services/documentMediaExtractionService.d.ts +40 -0
  70. package/backend/dist/services/documentMediaExtractionService.d.ts.map +1 -0
  71. package/backend/dist/services/documentMediaExtractionService.js +157 -0
  72. package/backend/dist/services/documentMediaExtractionService.js.map +1 -0
  73. package/backend/dist/services/documentService.d.ts +6 -0
  74. package/backend/dist/services/documentService.d.ts.map +1 -1
  75. package/backend/dist/services/documentService.js +58 -4
  76. package/backend/dist/services/documentService.js.map +1 -1
  77. package/backend/dist/services/encryptionService.d.ts +6 -0
  78. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  79. package/backend/dist/services/encryptionService.js +12 -0
  80. package/backend/dist/services/encryptionService.js.map +1 -1
  81. package/backend/dist/services/mfaService.d.ts +64 -0
  82. package/backend/dist/services/mfaService.d.ts.map +1 -0
  83. package/backend/dist/services/mfaService.js +263 -0
  84. package/backend/dist/services/mfaService.js.map +1 -0
  85. package/backend/dist/services/notificationService.d.ts +5 -0
  86. package/backend/dist/services/notificationService.d.ts.map +1 -1
  87. package/backend/dist/services/notificationService.js +33 -1
  88. package/backend/dist/services/notificationService.js.map +1 -1
  89. package/backend/dist/services/preferencesService.d.ts +1 -1
  90. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  91. package/backend/dist/services/preferencesService.js +1 -0
  92. package/backend/dist/services/preferencesService.js.map +1 -1
  93. package/backend/dist/services/recoveryDrillService.d.ts +57 -0
  94. package/backend/dist/services/recoveryDrillService.d.ts.map +1 -0
  95. package/backend/dist/services/recoveryDrillService.js +363 -0
  96. package/backend/dist/services/recoveryDrillService.js.map +1 -0
  97. package/backend/dist/services/webPushService.d.ts +71 -0
  98. package/backend/dist/services/webPushService.d.ts.map +1 -0
  99. package/backend/dist/services/webPushService.js +328 -0
  100. package/backend/dist/services/webPushService.js.map +1 -0
  101. package/backend/dist/services/webauthnService.d.ts +58 -0
  102. package/backend/dist/services/webauthnService.d.ts.map +1 -0
  103. package/backend/dist/services/webauthnService.js +300 -0
  104. package/backend/dist/services/webauthnService.js.map +1 -0
  105. package/backend/dist/types/index.d.ts +3 -2
  106. package/backend/dist/types/index.d.ts.map +1 -1
  107. package/backend/dist/types/index.js.map +1 -1
  108. package/backend/dist/utils/documentExtraction.d.ts +31 -3
  109. package/backend/dist/utils/documentExtraction.d.ts.map +1 -1
  110. package/backend/dist/utils/documentExtraction.js +106 -0
  111. package/backend/dist/utils/documentExtraction.js.map +1 -1
  112. package/backend/dist/utils/toolEgress.d.ts +2 -1
  113. package/backend/dist/utils/toolEgress.d.ts.map +1 -1
  114. package/backend/dist/utils/toolEgress.js +14 -2
  115. package/backend/dist/utils/toolEgress.js.map +1 -1
  116. package/backend/dist/utils/totp.d.ts +19 -0
  117. package/backend/dist/utils/totp.d.ts.map +1 -0
  118. package/backend/dist/utils/totp.js +117 -0
  119. package/backend/dist/utils/totp.js.map +1 -0
  120. package/backend/dist/utils/webauthn.d.ts +43 -0
  121. package/backend/dist/utils/webauthn.d.ts.map +1 -0
  122. package/backend/dist/utils/webauthn.js +294 -0
  123. package/backend/dist/utils/webauthn.js.map +1 -0
  124. package/backend/package.json +1 -1
  125. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  126. package/frontend/dist/assets/index-DBAf_VaS.js +47 -0
  127. package/frontend/dist/assets/index-kn_Axjts.css +1 -0
  128. package/frontend/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  129. package/frontend/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  130. package/frontend/dist/fonts/jetbrains-mono.css +24 -0
  131. package/frontend/dist/index.html +20 -13
  132. package/frontend/dist/js/ArtifactContainer-C9zNtCay.js +1 -0
  133. package/frontend/dist/js/{ArtifactDemoPage-D0JEIAbZ.js → ArtifactDemoPage-C-EBFBCt.js} +1 -1
  134. package/frontend/dist/js/ArtifactSandboxFrame-CTA1j_d1.js +111 -0
  135. package/frontend/dist/js/ArtifactSlideOutPanel-BOENbOiv.js +1 -0
  136. package/frontend/dist/js/AutomationsPage-C58MQ4te.js +1 -0
  137. package/frontend/dist/js/CalendarPage-BcdAZ292.js +1 -0
  138. package/frontend/dist/js/ChannelsPage-DPr9Yajs.js +1 -0
  139. package/frontend/dist/js/ChatPage-DsbB748s.js +14 -0
  140. package/frontend/dist/js/{EvaluationsPage-Bm8FRoeX.js → EvaluationsPage-FWIJu2fI.js} +1 -1
  141. package/frontend/dist/js/FirstTimeSetup-Cy-w6xko.js +1 -0
  142. package/frontend/dist/js/GalleryPage-DDAtxM-x.js +1 -0
  143. package/frontend/dist/js/{HomePage-BqNy-FWX.js → HomePage-DLKwmE7n.js} +1 -1
  144. package/frontend/dist/js/LibreClawPage-vKOj-9w9.js +1 -0
  145. package/frontend/dist/js/{ModelManagerModals-DX9eT5r2.js → ModelManagerModals-BY5TK38_.js} +1 -1
  146. package/frontend/dist/js/ModelSelector-CoCS6MZ9.js +1 -0
  147. package/frontend/dist/js/NotesPage-BElIpXgA.js +3 -0
  148. package/frontend/dist/js/OptimizedSyntaxHighlighter-xgyE3dRA.js +1 -0
  149. package/frontend/dist/js/PersonasPage-P40jVbfU.js +13 -0
  150. package/frontend/dist/js/{PluginUsagePage-Ctoka6JZ.js → PluginUsagePage-CKUEPCJN.js} +1 -1
  151. package/frontend/dist/js/RichMessageContent-Bm2WaEGi.js +3 -0
  152. package/frontend/dist/js/SettingsModal-DxSGzx9A.js +19 -0
  153. package/frontend/dist/js/SystemPage-BT07dTMT.js +1 -0
  154. package/frontend/dist/js/UserManagementPage-B9Vz5cm3.js +1 -0
  155. package/frontend/dist/js/WorkPage-qoN_e_jK.js +6 -0
  156. package/frontend/dist/js/api-D7Ff5M2Q.js +14 -0
  157. package/frontend/dist/js/appStore-DmV5wqDz.js +2 -0
  158. package/frontend/dist/js/ar-YHHTVP8f.js +2 -0
  159. package/frontend/dist/js/artifactHtml-DDmfpcB0.js +41 -0
  160. package/frontend/dist/js/{authStore-DbqqrfZv.js → authStore-BYW8-kP6.js} +3 -3
  161. package/frontend/dist/js/bn-C8VTxBVl.js +2 -0
  162. package/frontend/dist/js/chatStore-D-NTlArO.js +3 -0
  163. package/frontend/dist/js/{config-8KdgjtEx.js → config-BqZ5304Q.js} +1 -1
  164. package/frontend/dist/js/cs-CCngB5fC.js +2 -0
  165. package/frontend/dist/js/da-CM2PP2ma.js +2 -0
  166. package/frontend/dist/js/de-BqVkD-dw.js +2 -0
  167. package/frontend/dist/js/es-BtWsWBjZ.js +2 -0
  168. package/frontend/dist/js/{estree-BU5-LV_1.js → estree-DPkpBuOU.js} +1 -1
  169. package/frontend/dist/js/{evaluationsApi-CwZJsgeG.js → evaluationsApi-Dnf2dTd-.js} +1 -1
  170. package/frontend/dist/js/fr-C68w9abT.js +2 -0
  171. package/frontend/dist/js/hi-DtBlcyXZ.js +2 -0
  172. package/frontend/dist/js/{html-DeoAy2bo.js → html-BpGUXG8E.js} +1 -1
  173. package/frontend/dist/js/id-BWzIu8tn.js +2 -0
  174. package/frontend/dist/js/is-yeFwu4dJ.js +2 -0
  175. package/frontend/dist/js/it-AxEMG8Jg.js +2 -0
  176. package/frontend/dist/js/ja-B-VyokB8.js +2 -0
  177. package/frontend/dist/js/ko-CvwzYr9k.js +2 -0
  178. package/frontend/dist/js/{markdown-DOLsYkBY.js → markdown-DCBRWJSK.js} +1 -1
  179. package/frontend/dist/js/{messageCodeStyles-DhVgizF-.js → messageCodeStyles-BQwf7sSz.js} +2 -2
  180. package/frontend/dist/js/ms-BhEwb4b7.js +2 -0
  181. package/frontend/dist/js/nl-Dq-QRx1L.js +2 -0
  182. package/frontend/dist/js/pl-BNEy8mQm.js +2 -0
  183. package/frontend/dist/js/pt-_3Jl3FdY.js +2 -0
  184. package/frontend/dist/js/ru-IhQiJ8ta.js +2 -0
  185. package/frontend/dist/js/{standalone-BO5pzI8_.js → standalone-BFrK0R2A.js} +1 -1
  186. package/frontend/dist/js/sv-DWunXUNz.js +2 -0
  187. package/frontend/dist/js/{syntax-highlight-DcR9Vhb7.js → syntax-highlight-P2zo9o06.js} +1 -1
  188. package/frontend/dist/js/th-DVnW2yyh.js +2 -0
  189. package/frontend/dist/js/tr-Do8CFmhR.js +2 -0
  190. package/frontend/dist/js/{typescript-6GJ8APmn.js → typescript-DYVyvmm_.js} +1 -1
  191. package/frontend/dist/js/ui-db9meqAB.js +2 -0
  192. package/frontend/dist/js/ui-vendor-C0DZ8-Cm.js +177 -0
  193. package/frontend/dist/js/uk-BNPKIZga.js +2 -0
  194. package/frontend/dist/js/vi-CZMFo9je.js +2 -0
  195. package/frontend/dist/js/{workApi-BruWTlHM.js → workApi-CcprMH_1.js} +2 -2
  196. package/frontend/dist/js/zh-Pg0881v0.js +2 -0
  197. package/frontend/dist/manifest.webmanifest +32 -0
  198. package/frontend/dist/sw.js +125 -0
  199. package/package.json +2 -2
  200. package/frontend/dist/assets/index-BPsH9FII.js +0 -80
  201. package/frontend/dist/assets/index-BtXF0Oxa.css +0 -1
  202. package/frontend/dist/js/ArtifactContainer-CIoFoMv8.js +0 -1
  203. package/frontend/dist/js/ArtifactSandboxFrame-REazyIrx.js +0 -151
  204. package/frontend/dist/js/ArtifactSlideOutPanel-A-i94ghF.js +0 -1
  205. package/frontend/dist/js/AutomationsPage-Dow_lbIf.js +0 -1
  206. package/frontend/dist/js/CalendarPage-DLjasZOd.js +0 -1
  207. package/frontend/dist/js/ChannelsPage-C8hvTD7J.js +0 -1
  208. package/frontend/dist/js/ChatPage-BAgBHUES.js +0 -16
  209. package/frontend/dist/js/FirstTimeSetup-BxJapNul.js +0 -1
  210. package/frontend/dist/js/GalleryPage-DHz9DkK7.js +0 -1
  211. package/frontend/dist/js/LibreClawPage-BDzDILjY.js +0 -1
  212. package/frontend/dist/js/ModelSelector-ol8mK2ja.js +0 -1
  213. package/frontend/dist/js/NotesPage-DzHEx2O4.js +0 -3
  214. package/frontend/dist/js/OptimizedSyntaxHighlighter-CZNPwN0i.js +0 -1
  215. package/frontend/dist/js/PersonasPage-M_WKH2a9.js +0 -13
  216. package/frontend/dist/js/RichMessageContent-BqgafH4p.js +0 -3
  217. package/frontend/dist/js/SettingsModal-R9EDadAV.js +0 -19
  218. package/frontend/dist/js/SystemPage-aOkrSuY7.js +0 -1
  219. package/frontend/dist/js/UserManagementPage-BOuaX3ay.js +0 -1
  220. package/frontend/dist/js/WorkPage-DxZISerQ.js +0 -6
  221. package/frontend/dist/js/api-6bSMtSNh.js +0 -14
  222. package/frontend/dist/js/appStore-CdObhQBb.js +0 -2
  223. package/frontend/dist/js/ar-DT_VLBO3.js +0 -2
  224. package/frontend/dist/js/bn-BrvEqhGA.js +0 -2
  225. package/frontend/dist/js/chatStore-DbZPJNsu.js +0 -3
  226. package/frontend/dist/js/cs-BthnM_YI.js +0 -2
  227. package/frontend/dist/js/da-DCth-6_j.js +0 -2
  228. package/frontend/dist/js/de-BBWt0gJ_.js +0 -2
  229. package/frontend/dist/js/es-DuslOPqM.js +0 -2
  230. package/frontend/dist/js/fr-DZAeg46S.js +0 -2
  231. package/frontend/dist/js/hi-ijDSiY77.js +0 -2
  232. package/frontend/dist/js/id-BS6qS0oq.js +0 -2
  233. package/frontend/dist/js/is-CO2PMDte.js +0 -2
  234. package/frontend/dist/js/it-ChhxT4hs.js +0 -2
  235. package/frontend/dist/js/ja-cyeqUeJN.js +0 -2
  236. package/frontend/dist/js/ko-CfqHTLXj.js +0 -2
  237. package/frontend/dist/js/ms-DZ5pACe1.js +0 -2
  238. package/frontend/dist/js/nl-BsRsnOVp.js +0 -2
  239. package/frontend/dist/js/pl-DXSTAW4M.js +0 -2
  240. package/frontend/dist/js/pt-DmDx0JxB.js +0 -2
  241. package/frontend/dist/js/ru-d2g8EWfY.js +0 -2
  242. package/frontend/dist/js/sv-CIhYUTVQ.js +0 -2
  243. package/frontend/dist/js/th-B3wSxanB.js +0 -2
  244. package/frontend/dist/js/tr-R4UGgPOY.js +0 -2
  245. package/frontend/dist/js/ui-CV0LYmkM.js +0 -2
  246. package/frontend/dist/js/ui-vendor-CWjIBW-z.js +0 -177
  247. package/frontend/dist/js/uk-BzUF4Vkt.js +0 -2
  248. package/frontend/dist/js/vi-CKc6Fg4h.js +0 -2
  249. package/frontend/dist/js/zh-CXL-kDe8.js +0 -2
@@ -1033,6 +1033,138 @@ class SQLiteWebhookTargetRepository {
1033
1033
  .run(targetId).changes > 0);
1034
1034
  }
1035
1035
  }
1036
+ class SQLitePushSubscriptionRepository {
1037
+ constructor(database) {
1038
+ this.database = database;
1039
+ }
1040
+ async upsertByEndpoint(record) {
1041
+ this.database
1042
+ .prepare(`INSERT INTO push_subscriptions
1043
+ (id, user_id, session_id, endpoint_lookup, subscription,
1044
+ user_agent, created_at, last_used_at)
1045
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
1046
+ ON CONFLICT(endpoint_lookup) DO UPDATE SET
1047
+ user_id = excluded.user_id,
1048
+ session_id = excluded.session_id,
1049
+ subscription = excluded.subscription,
1050
+ user_agent = excluded.user_agent,
1051
+ last_used_at = excluded.last_used_at`)
1052
+ .run(record.id, record.user_id, record.session_id, record.endpoint_lookup, record.subscription, record.user_agent, record.created_at, record.last_used_at);
1053
+ }
1054
+ async listByUser(userId) {
1055
+ return this.database
1056
+ .prepare(`SELECT * FROM push_subscriptions
1057
+ WHERE user_id = ?
1058
+ ORDER BY created_at ASC`)
1059
+ .all(userId);
1060
+ }
1061
+ async findByLookup(endpointLookup) {
1062
+ return (this.database
1063
+ .prepare('SELECT * FROM push_subscriptions WHERE endpoint_lookup = ?')
1064
+ .get(endpointLookup) ??
1065
+ null);
1066
+ }
1067
+ async findById(id) {
1068
+ return (this.database
1069
+ .prepare('SELECT * FROM push_subscriptions WHERE id = ?')
1070
+ .get(id) ?? null);
1071
+ }
1072
+ async touch(id, lastUsedAt) {
1073
+ return (this.database
1074
+ .prepare('UPDATE push_subscriptions SET last_used_at = ? WHERE id = ?')
1075
+ .run(lastUsedAt, id).changes > 0);
1076
+ }
1077
+ async delete(id) {
1078
+ return (this.database
1079
+ .prepare('DELETE FROM push_subscriptions WHERE id = ?')
1080
+ .run(id).changes > 0);
1081
+ }
1082
+ async deleteByLookup(userId, endpointLookup) {
1083
+ return (this.database
1084
+ .prepare(`DELETE FROM push_subscriptions
1085
+ WHERE user_id = ? AND endpoint_lookup = ?`)
1086
+ .run(userId, endpointLookup).changes > 0);
1087
+ }
1088
+ async deleteForSession(sessionId) {
1089
+ return this.database
1090
+ .prepare('DELETE FROM push_subscriptions WHERE session_id = ?')
1091
+ .run(sessionId).changes;
1092
+ }
1093
+ async deleteForUser(userId) {
1094
+ return this.database
1095
+ .prepare('DELETE FROM push_subscriptions WHERE user_id = ?')
1096
+ .run(userId).changes;
1097
+ }
1098
+ }
1099
+ class SQLiteRecoveryDrillRepository {
1100
+ constructor(database) {
1101
+ this.database = database;
1102
+ }
1103
+ async insert(record) {
1104
+ this.database
1105
+ .prepare(`INSERT INTO recovery_drills
1106
+ (id, status, origin, started_at, finished_at, snapshot_bytes,
1107
+ rpo_seconds, restore_ms, error, report, created_by, created_at)
1108
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
1109
+ .run(record.id, record.status, record.origin, record.started_at, record.finished_at, record.snapshot_bytes, record.rpo_seconds, record.restore_ms, record.error, record.report, record.created_by, record.created_at);
1110
+ }
1111
+ async update(id, patch) {
1112
+ const assignments = [];
1113
+ const parameters = [];
1114
+ for (const [column, value] of Object.entries(patch)) {
1115
+ if (value === undefined)
1116
+ continue;
1117
+ assignments.push(`${column} = ?`);
1118
+ parameters.push(value);
1119
+ }
1120
+ if (assignments.length === 0)
1121
+ return false;
1122
+ parameters.push(id);
1123
+ return (this.database
1124
+ .prepare(`UPDATE recovery_drills SET ${assignments.join(', ')} WHERE id = ?`)
1125
+ .run(...parameters).changes > 0);
1126
+ }
1127
+ async findById(id) {
1128
+ return (this.database
1129
+ .prepare('SELECT * FROM recovery_drills WHERE id = ?')
1130
+ .get(id) ?? null);
1131
+ }
1132
+ async list(limit) {
1133
+ return this.database
1134
+ .prepare(`SELECT * FROM recovery_drills
1135
+ ORDER BY started_at DESC, id DESC
1136
+ LIMIT ?`)
1137
+ .all(limit);
1138
+ }
1139
+ async findLatestFinished() {
1140
+ return (this.database
1141
+ .prepare(`SELECT * FROM recovery_drills
1142
+ WHERE status != 'running'
1143
+ ORDER BY started_at DESC, id DESC
1144
+ LIMIT 1`)
1145
+ .get() ?? null);
1146
+ }
1147
+ async findRunning() {
1148
+ return (this.database
1149
+ .prepare(`SELECT * FROM recovery_drills
1150
+ WHERE status = 'running'
1151
+ ORDER BY started_at DESC, id DESC
1152
+ LIMIT 1`)
1153
+ .get() ?? null);
1154
+ }
1155
+ async pruneToLimit(limit) {
1156
+ return this.database
1157
+ .prepare(`DELETE FROM recovery_drills
1158
+ WHERE status != 'running'
1159
+ AND id NOT IN (
1160
+ SELECT id FROM recovery_drills
1161
+ WHERE status != 'running'
1162
+ ORDER BY started_at DESC, id DESC
1163
+ LIMIT ?
1164
+ )`)
1165
+ .run(limit).changes;
1166
+ }
1167
+ }
1036
1168
  class SQLiteAutomationRepository {
1037
1169
  constructor(database) {
1038
1170
  this.database = database;
@@ -2262,6 +2394,8 @@ export const createSQLiteResourceRepositories = (database) => ({
2262
2394
  channelMessages: new SQLiteChannelMessageRepository(database),
2263
2395
  notifications: new SQLiteNotificationRepository(database),
2264
2396
  webhookTargets: new SQLiteWebhookTargetRepository(database),
2397
+ pushSubscriptions: new SQLitePushSubscriptionRepository(database),
2398
+ recoveryDrills: new SQLiteRecoveryDrillRepository(database),
2265
2399
  automations: new SQLiteAutomationRepository(database),
2266
2400
  automationRuns: new SQLiteAutomationRunRepository(database),
2267
2401
  toolServers: new SQLiteToolServerRepository(database),
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteResourceRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteResourceRepositories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqliteResourceRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteResourceRepositories.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,EAYV,oBAAoB,EACpB,wBAAwB,EAazB,MAAM,oBAAoB,CAAC;AA08B5B,eAAO,MAAM,gCAAgC,aACjC,QAAQ,CAAC,QAAQ,KAC1B,oBASD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aACrC,uBAAuB,KAChC,wBAID,CAAC"}
@@ -481,6 +481,138 @@ class SQLiteSecurityAuditSyncRepository {
481
481
  ]);
482
482
  }
483
483
  }
484
+ class SQLiteMfaRepository {
485
+ constructor(database) {
486
+ this.database = database;
487
+ }
488
+ async find(userId) {
489
+ return (this.database
490
+ .prepare('SELECT * FROM user_mfa WHERE user_id = ?')
491
+ .get(userId) ?? null);
492
+ }
493
+ async upsert(record) {
494
+ this.database
495
+ .prepare(`INSERT INTO user_mfa
496
+ (user_id, totp_secret, activated_at, last_used_step,
497
+ created_at, updated_at)
498
+ VALUES (?, ?, ?, ?, ?, ?)
499
+ ON CONFLICT(user_id) DO UPDATE SET
500
+ totp_secret = excluded.totp_secret,
501
+ activated_at = excluded.activated_at,
502
+ last_used_step = excluded.last_used_step,
503
+ updated_at = excluded.updated_at`)
504
+ .run(record.user_id, record.totp_secret, record.activated_at, record.last_used_step, record.created_at, record.updated_at);
505
+ }
506
+ async activate(userId, activatedAt, updatedAt) {
507
+ return (this.database
508
+ .prepare(`UPDATE user_mfa SET activated_at = ?, updated_at = ?
509
+ WHERE user_id = ? AND activated_at IS NULL`)
510
+ .run(activatedAt, updatedAt, userId).changes > 0);
511
+ }
512
+ async markStepUsed(userId, step, updatedAt) {
513
+ return (this.database
514
+ .prepare(`UPDATE user_mfa SET last_used_step = ?, updated_at = ?
515
+ WHERE user_id = ?
516
+ AND (last_used_step IS NULL OR last_used_step < ?)`)
517
+ .run(step, updatedAt, userId, step).changes > 0);
518
+ }
519
+ async delete(userId) {
520
+ const remove = this.database.transaction(() => {
521
+ this.database
522
+ .prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
523
+ .run(userId);
524
+ return (this.database
525
+ .prepare('DELETE FROM user_mfa WHERE user_id = ?')
526
+ .run(userId).changes > 0);
527
+ });
528
+ return remove.immediate();
529
+ }
530
+ async replaceRecoveryCodes(userId, records) {
531
+ const replace = this.database.transaction(() => {
532
+ this.database
533
+ .prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
534
+ .run(userId);
535
+ const insert = this.database.prepare(`INSERT INTO mfa_recovery_codes
536
+ (id, user_id, code_lookup, created_at, used_at)
537
+ VALUES (?, ?, ?, ?, ?)`);
538
+ for (const record of records) {
539
+ insert.run(record.id, record.user_id, record.code_lookup, record.created_at, record.used_at);
540
+ }
541
+ });
542
+ replace.immediate();
543
+ }
544
+ async findRecoveryCode(codeLookup) {
545
+ return (this.database
546
+ .prepare('SELECT * FROM mfa_recovery_codes WHERE code_lookup = ?')
547
+ .get(codeLookup) ?? null);
548
+ }
549
+ async consumeRecoveryCode(id, usedAt) {
550
+ return (this.database
551
+ .prepare(`UPDATE mfa_recovery_codes SET used_at = ?
552
+ WHERE id = ? AND used_at IS NULL`)
553
+ .run(usedAt, id).changes > 0);
554
+ }
555
+ async countUnusedRecoveryCodes(userId) {
556
+ const row = this.database
557
+ .prepare(`SELECT COUNT(*) AS count FROM mfa_recovery_codes
558
+ WHERE user_id = ? AND used_at IS NULL`)
559
+ .get(userId);
560
+ return row.count;
561
+ }
562
+ async deleteRecoveryCodes(userId) {
563
+ return this.database
564
+ .prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
565
+ .run(userId).changes;
566
+ }
567
+ }
568
+ class SQLiteWebAuthnCredentialRepository {
569
+ constructor(database) {
570
+ this.database = database;
571
+ }
572
+ async insert(record) {
573
+ this.database
574
+ .prepare(`INSERT INTO webauthn_credentials
575
+ (id, user_id, credential_lookup, credential_data, name,
576
+ sign_count, created_at, last_used_at)
577
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
578
+ .run(record.id, record.user_id, record.credential_lookup, record.credential_data, record.name, record.sign_count, record.created_at, record.last_used_at);
579
+ }
580
+ async findByLookup(credentialLookup) {
581
+ return (this.database
582
+ .prepare('SELECT * FROM webauthn_credentials WHERE credential_lookup = ?')
583
+ .get(credentialLookup) ??
584
+ null);
585
+ }
586
+ async listByUser(userId) {
587
+ return this.database
588
+ .prepare(`SELECT * FROM webauthn_credentials
589
+ WHERE user_id = ?
590
+ ORDER BY created_at ASC`)
591
+ .all(userId);
592
+ }
593
+ async updateSignCount(id, signCount, lastUsedAt) {
594
+ return (this.database
595
+ .prepare(`UPDATE webauthn_credentials SET sign_count = ?, last_used_at = ?
596
+ WHERE id = ?`)
597
+ .run(signCount, lastUsedAt, id).changes > 0);
598
+ }
599
+ async delete(id, userId) {
600
+ return (this.database
601
+ .prepare('DELETE FROM webauthn_credentials WHERE id = ? AND user_id = ?')
602
+ .run(id, userId).changes > 0);
603
+ }
604
+ async deleteForUser(userId) {
605
+ return this.database
606
+ .prepare('DELETE FROM webauthn_credentials WHERE user_id = ?')
607
+ .run(userId).changes;
608
+ }
609
+ async countForUser(userId) {
610
+ const row = this.database
611
+ .prepare('SELECT COUNT(*) AS count FROM webauthn_credentials WHERE user_id = ?')
612
+ .get(userId);
613
+ return row.count;
614
+ }
615
+ }
484
616
  export const createSQLiteSecurityRepositories = (database) => ({
485
617
  groups: new SQLiteGroupRepository(database),
486
618
  grants: new SQLiteResourceGrantRepository(database),
@@ -488,6 +620,8 @@ export const createSQLiteSecurityRepositories = (database) => ({
488
620
  apiTokens: new SQLiteApiTokenRepository(database),
489
621
  oauthIdentities: new SQLiteOAuthIdentityRepository(database),
490
622
  audit: new SQLiteSecurityAuditRepository(database),
623
+ mfa: new SQLiteMfaRepository(database),
624
+ webauthnCredentials: new SQLiteWebAuthnCredentialRepository(database),
491
625
  });
492
626
  export const createSQLiteSecuritySyncRepositories = (executor) => ({
493
627
  groups: new SQLiteGroupSyncRepository(executor),