libre-webui 0.25.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 (588) hide show
  1. package/README.md +32 -22
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +33 -4
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/middleware/auth.d.ts +7 -0
  6. package/backend/dist/middleware/auth.d.ts.map +1 -1
  7. package/backend/dist/middleware/auth.js +26 -0
  8. package/backend/dist/middleware/auth.js.map +1 -1
  9. package/backend/dist/middleware/index.d.ts +20 -0
  10. package/backend/dist/middleware/index.d.ts.map +1 -1
  11. package/backend/dist/middleware/index.js +105 -2
  12. package/backend/dist/middleware/index.js.map +1 -1
  13. package/backend/dist/models/personaModel.d.ts.map +1 -1
  14. package/backend/dist/models/personaModel.js +2 -0
  15. package/backend/dist/models/personaModel.js.map +1 -1
  16. package/backend/dist/observability/otel.d.ts +40 -0
  17. package/backend/dist/observability/otel.d.ts.map +1 -0
  18. package/backend/dist/observability/otel.js +337 -0
  19. package/backend/dist/observability/otel.js.map +1 -0
  20. package/backend/dist/observability/requestContext.d.ts +14 -0
  21. package/backend/dist/observability/requestContext.d.ts.map +1 -0
  22. package/backend/dist/observability/requestContext.js +21 -0
  23. package/backend/dist/observability/requestContext.js.map +1 -0
  24. package/backend/dist/persistence/chatGenerationTypes.d.ts +9 -0
  25. package/backend/dist/persistence/chatGenerationTypes.d.ts.map +1 -1
  26. package/backend/dist/persistence/extensionTypes.d.ts +13 -0
  27. package/backend/dist/persistence/extensionTypes.d.ts.map +1 -1
  28. package/backend/dist/persistence/extensionTypes.js.map +1 -1
  29. package/backend/dist/persistence/index.d.ts +1 -1
  30. package/backend/dist/persistence/index.d.ts.map +1 -1
  31. package/backend/dist/persistence/index.js.map +1 -1
  32. package/backend/dist/persistence/postgresAgentFoundationMigration.d.ts +9 -0
  33. package/backend/dist/persistence/postgresAgentFoundationMigration.d.ts.map +1 -0
  34. package/backend/dist/persistence/postgresAgentFoundationMigration.js +164 -0
  35. package/backend/dist/persistence/postgresAgentFoundationMigration.js.map +1 -0
  36. package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -1
  37. package/backend/dist/persistence/postgresExtensionRepositories.js +46 -2
  38. package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
  39. package/backend/dist/persistence/postgresMediaEnterpriseOpsMigration.d.ts +10 -0
  40. package/backend/dist/persistence/postgresMediaEnterpriseOpsMigration.d.ts.map +1 -0
  41. package/backend/dist/persistence/postgresMediaEnterpriseOpsMigration.js +148 -0
  42. package/backend/dist/persistence/postgresMediaEnterpriseOpsMigration.js.map +1 -0
  43. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts +9 -0
  44. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -0
  45. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +107 -0
  46. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -0
  47. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  48. package/backend/dist/persistence/postgresMigrationRegistry.js +12 -0
  49. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  50. package/backend/dist/persistence/postgresNotesV2Migration.d.ts +4 -0
  51. package/backend/dist/persistence/postgresNotesV2Migration.d.ts.map +1 -0
  52. package/backend/dist/persistence/postgresNotesV2Migration.js +57 -0
  53. package/backend/dist/persistence/postgresNotesV2Migration.js.map +1 -0
  54. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
  55. package/backend/dist/persistence/postgresResourceRepositories.js +1930 -133
  56. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  57. package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
  58. package/backend/dist/persistence/postgresSecurityRepositories.js +150 -0
  59. package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
  60. package/backend/dist/persistence/postgresSkillFilesMigration.d.ts +9 -0
  61. package/backend/dist/persistence/postgresSkillFilesMigration.d.ts.map +1 -0
  62. package/backend/dist/persistence/postgresSkillFilesMigration.js +50 -0
  63. package/backend/dist/persistence/postgresSkillFilesMigration.js.map +1 -0
  64. package/backend/dist/persistence/postgresTeamCollaborationMigration.d.ts +10 -0
  65. package/backend/dist/persistence/postgresTeamCollaborationMigration.d.ts.map +1 -0
  66. package/backend/dist/persistence/postgresTeamCollaborationMigration.js +161 -0
  67. package/backend/dist/persistence/postgresTeamCollaborationMigration.js.map +1 -0
  68. package/backend/dist/persistence/resourceTypes.d.ts +600 -3
  69. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
  70. package/backend/dist/persistence/resourceTypes.js.map +1 -1
  71. package/backend/dist/persistence/securityTypes.d.ts +59 -0
  72. package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
  73. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
  74. package/backend/dist/persistence/sqliteExtensionRepositories.js +26 -4
  75. package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
  76. package/backend/dist/persistence/sqliteMigrations.d.ts +10 -0
  77. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  78. package/backend/dist/persistence/sqliteMigrations.js +1492 -131
  79. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  80. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
  81. package/backend/dist/persistence/sqliteResourceRepositories.js +1657 -134
  82. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  83. package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
  84. package/backend/dist/persistence/sqliteSecurityRepositories.js +134 -0
  85. package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
  86. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  87. package/backend/dist/persistence/sqliteToPostgresMigration.js +302 -3
  88. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  89. package/backend/dist/platform/jobs/domainJobContracts.d.ts +10 -0
  90. package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
  91. package/backend/dist/platform/jobs/domainJobContracts.js +10 -0
  92. package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
  93. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
  94. package/backend/dist/platform/jobs/domainJobHandlers.js +374 -4
  95. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
  96. package/backend/dist/platform/jobs/embeddedDurableJobWorker.d.ts.map +1 -1
  97. package/backend/dist/platform/jobs/embeddedDurableJobWorker.js +4 -2
  98. package/backend/dist/platform/jobs/embeddedDurableJobWorker.js.map +1 -1
  99. package/backend/dist/platform/jobs/postgresDurableJobWorker.d.ts.map +1 -1
  100. package/backend/dist/platform/jobs/postgresDurableJobWorker.js +4 -2
  101. package/backend/dist/platform/jobs/postgresDurableJobWorker.js.map +1 -1
  102. package/backend/dist/platform/storage/pgVectorStore.d.ts +2 -1
  103. package/backend/dist/platform/storage/pgVectorStore.d.ts.map +1 -1
  104. package/backend/dist/platform/storage/pgVectorStore.js +51 -0
  105. package/backend/dist/platform/storage/pgVectorStore.js.map +1 -1
  106. package/backend/dist/platform/storage/platformDomainRepositories.d.ts +8 -2
  107. package/backend/dist/platform/storage/platformDomainRepositories.d.ts.map +1 -1
  108. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.d.ts.map +1 -1
  109. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js +25 -4
  110. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js.map +1 -1
  111. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts +2 -1
  112. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts.map +1 -1
  113. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js +35 -0
  114. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js.map +1 -1
  115. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.d.ts.map +1 -1
  116. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js +26 -3
  117. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js.map +1 -1
  118. package/backend/dist/platform/storage/vectorStore.d.ts +14 -0
  119. package/backend/dist/platform/storage/vectorStore.d.ts.map +1 -1
  120. package/backend/dist/platform/storage/vectorStore.js.map +1 -1
  121. package/backend/dist/routes/access.d.ts.map +1 -1
  122. package/backend/dist/routes/access.js +84 -3
  123. package/backend/dist/routes/access.js.map +1 -1
  124. package/backend/dist/routes/auth.d.ts.map +1 -1
  125. package/backend/dist/routes/auth.js +419 -1
  126. package/backend/dist/routes/auth.js.map +1 -1
  127. package/backend/dist/routes/calendar.d.ts.map +1 -1
  128. package/backend/dist/routes/calendar.js +125 -22
  129. package/backend/dist/routes/calendar.js.map +1 -1
  130. package/backend/dist/routes/channels.d.ts +3 -0
  131. package/backend/dist/routes/channels.d.ts.map +1 -0
  132. package/backend/dist/routes/channels.js +447 -0
  133. package/backend/dist/routes/channels.js.map +1 -0
  134. package/backend/dist/routes/chat.d.ts.map +1 -1
  135. package/backend/dist/routes/chat.js +195 -7
  136. package/backend/dist/routes/chat.js.map +1 -1
  137. package/backend/dist/routes/costs.d.ts +3 -0
  138. package/backend/dist/routes/costs.d.ts.map +1 -0
  139. package/backend/dist/routes/costs.js +191 -0
  140. package/backend/dist/routes/costs.js.map +1 -0
  141. package/backend/dist/routes/documents.d.ts.map +1 -1
  142. package/backend/dist/routes/documents.js +68 -21
  143. package/backend/dist/routes/documents.js.map +1 -1
  144. package/backend/dist/routes/evaluations.d.ts +3 -0
  145. package/backend/dist/routes/evaluations.d.ts.map +1 -0
  146. package/backend/dist/routes/evaluations.js +352 -0
  147. package/backend/dist/routes/evaluations.js.map +1 -0
  148. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  149. package/backend/dist/routes/imageGen.js +2 -1
  150. package/backend/dist/routes/imageGen.js.map +1 -1
  151. package/backend/dist/routes/media.d.ts.map +1 -1
  152. package/backend/dist/routes/media.js +228 -7
  153. package/backend/dist/routes/media.js.map +1 -1
  154. package/backend/dist/routes/notes.d.ts.map +1 -1
  155. package/backend/dist/routes/notes.js +149 -36
  156. package/backend/dist/routes/notes.js.map +1 -1
  157. package/backend/dist/routes/notifications.d.ts +3 -0
  158. package/backend/dist/routes/notifications.d.ts.map +1 -0
  159. package/backend/dist/routes/notifications.js +213 -0
  160. package/backend/dist/routes/notifications.js.map +1 -0
  161. package/backend/dist/routes/openaiCompat.d.ts +3 -0
  162. package/backend/dist/routes/openaiCompat.d.ts.map +1 -0
  163. package/backend/dist/routes/openaiCompat.js +314 -0
  164. package/backend/dist/routes/openaiCompat.js.map +1 -0
  165. package/backend/dist/routes/personas.js +1 -1
  166. package/backend/dist/routes/personas.js.map +1 -1
  167. package/backend/dist/routes/prompts.d.ts +3 -0
  168. package/backend/dist/routes/prompts.d.ts.map +1 -0
  169. package/backend/dist/routes/prompts.js +173 -0
  170. package/backend/dist/routes/prompts.js.map +1 -0
  171. package/backend/dist/routes/push.d.ts +3 -0
  172. package/backend/dist/routes/push.d.ts.map +1 -0
  173. package/backend/dist/routes/push.js +105 -0
  174. package/backend/dist/routes/push.js.map +1 -0
  175. package/backend/dist/routes/recovery.d.ts +3 -0
  176. package/backend/dist/routes/recovery.d.ts.map +1 -0
  177. package/backend/dist/routes/recovery.js +83 -0
  178. package/backend/dist/routes/recovery.js.map +1 -0
  179. package/backend/dist/routes/search.d.ts.map +1 -1
  180. package/backend/dist/routes/search.js +29 -1
  181. package/backend/dist/routes/search.js.map +1 -1
  182. package/backend/dist/routes/skills.d.ts +3 -0
  183. package/backend/dist/routes/skills.d.ts.map +1 -0
  184. package/backend/dist/routes/skills.js +246 -0
  185. package/backend/dist/routes/skills.js.map +1 -0
  186. package/backend/dist/routes/stt.d.ts.map +1 -1
  187. package/backend/dist/routes/stt.js +2 -1
  188. package/backend/dist/routes/stt.js.map +1 -1
  189. package/backend/dist/routes/tools.d.ts +3 -0
  190. package/backend/dist/routes/tools.d.ts.map +1 -0
  191. package/backend/dist/routes/tools.js +359 -0
  192. package/backend/dist/routes/tools.js.map +1 -0
  193. package/backend/dist/routes/tts.d.ts.map +1 -1
  194. package/backend/dist/routes/tts.js +63 -8
  195. package/backend/dist/routes/tts.js.map +1 -1
  196. package/backend/dist/routes/users.d.ts.map +1 -1
  197. package/backend/dist/routes/users.js +35 -0
  198. package/backend/dist/routes/users.js.map +1 -1
  199. package/backend/dist/routes/voiceAccess.d.ts +3 -0
  200. package/backend/dist/routes/voiceAccess.d.ts.map +1 -0
  201. package/backend/dist/routes/voiceAccess.js +102 -0
  202. package/backend/dist/routes/voiceAccess.js.map +1 -0
  203. package/backend/dist/services/apiTokenService.d.ts +2 -2
  204. package/backend/dist/services/apiTokenService.d.ts.map +1 -1
  205. package/backend/dist/services/apiTokenService.js +7 -0
  206. package/backend/dist/services/apiTokenService.js.map +1 -1
  207. package/backend/dist/services/authService.d.ts +6 -0
  208. package/backend/dist/services/authService.d.ts.map +1 -1
  209. package/backend/dist/services/authService.js +9 -0
  210. package/backend/dist/services/authService.js.map +1 -1
  211. package/backend/dist/services/authorizationService.d.ts +8 -4
  212. package/backend/dist/services/authorizationService.d.ts.map +1 -1
  213. package/backend/dist/services/authorizationService.js +31 -1
  214. package/backend/dist/services/authorizationService.js.map +1 -1
  215. package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
  216. package/backend/dist/services/automationSchedulerService.js +40 -3
  217. package/backend/dist/services/automationSchedulerService.js.map +1 -1
  218. package/backend/dist/services/automationService.d.ts +4 -1
  219. package/backend/dist/services/automationService.d.ts.map +1 -1
  220. package/backend/dist/services/automationService.js +25 -2
  221. package/backend/dist/services/automationService.js.map +1 -1
  222. package/backend/dist/services/builtinToolsService.d.ts +20 -0
  223. package/backend/dist/services/builtinToolsService.d.ts.map +1 -0
  224. package/backend/dist/services/builtinToolsService.js +661 -0
  225. package/backend/dist/services/builtinToolsService.js.map +1 -0
  226. package/backend/dist/services/calendarService.d.ts +74 -0
  227. package/backend/dist/services/calendarService.d.ts.map +1 -0
  228. package/backend/dist/services/calendarService.js +339 -0
  229. package/backend/dist/services/calendarService.js.map +1 -0
  230. package/backend/dist/services/channelService.d.ts +195 -0
  231. package/backend/dist/services/channelService.d.ts.map +1 -0
  232. package/backend/dist/services/channelService.js +1057 -0
  233. package/backend/dist/services/channelService.js.map +1 -0
  234. package/backend/dist/services/chatRequestService.d.ts.map +1 -1
  235. package/backend/dist/services/chatRequestService.js +29 -1
  236. package/backend/dist/services/chatRequestService.js.map +1 -1
  237. package/backend/dist/services/chatService.d.ts +61 -1
  238. package/backend/dist/services/chatService.d.ts.map +1 -1
  239. package/backend/dist/services/chatService.js +218 -1
  240. package/backend/dist/services/chatService.js.map +1 -1
  241. package/backend/dist/services/chatToolRuntimeService.d.ts +55 -0
  242. package/backend/dist/services/chatToolRuntimeService.d.ts.map +1 -0
  243. package/backend/dist/services/chatToolRuntimeService.js +389 -0
  244. package/backend/dist/services/chatToolRuntimeService.js.map +1 -0
  245. package/backend/dist/services/costGovernanceService.d.ts +102 -0
  246. package/backend/dist/services/costGovernanceService.d.ts.map +1 -0
  247. package/backend/dist/services/costGovernanceService.js +463 -0
  248. package/backend/dist/services/costGovernanceService.js.map +1 -0
  249. package/backend/dist/services/dataArchiveService.d.ts +6 -0
  250. package/backend/dist/services/dataArchiveService.d.ts.map +1 -1
  251. package/backend/dist/services/dataArchiveService.js +26 -4
  252. package/backend/dist/services/dataArchiveService.js.map +1 -1
  253. package/backend/dist/services/documentMediaExtractionService.d.ts +40 -0
  254. package/backend/dist/services/documentMediaExtractionService.d.ts.map +1 -0
  255. package/backend/dist/services/documentMediaExtractionService.js +157 -0
  256. package/backend/dist/services/documentMediaExtractionService.js.map +1 -0
  257. package/backend/dist/services/documentService.d.ts +64 -1
  258. package/backend/dist/services/documentService.d.ts.map +1 -1
  259. package/backend/dist/services/documentService.js +342 -83
  260. package/backend/dist/services/documentService.js.map +1 -1
  261. package/backend/dist/services/durableChatGenerationService.d.ts +9 -0
  262. package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
  263. package/backend/dist/services/durableChatGenerationService.js +152 -11
  264. package/backend/dist/services/durableChatGenerationService.js.map +1 -1
  265. package/backend/dist/services/encryptionService.d.ts +6 -0
  266. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  267. package/backend/dist/services/encryptionService.js +12 -0
  268. package/backend/dist/services/encryptionService.js.map +1 -1
  269. package/backend/dist/services/evaluationService.d.ts +111 -0
  270. package/backend/dist/services/evaluationService.d.ts.map +1 -0
  271. package/backend/dist/services/evaluationService.js +403 -0
  272. package/backend/dist/services/evaluationService.js.map +1 -0
  273. package/backend/dist/services/galleryService.d.ts +6 -0
  274. package/backend/dist/services/galleryService.d.ts.map +1 -1
  275. package/backend/dist/services/galleryService.js +26 -0
  276. package/backend/dist/services/galleryService.js.map +1 -1
  277. package/backend/dist/services/mcpClientService.d.ts +29 -0
  278. package/backend/dist/services/mcpClientService.d.ts.map +1 -0
  279. package/backend/dist/services/mcpClientService.js +189 -0
  280. package/backend/dist/services/mcpClientService.js.map +1 -0
  281. package/backend/dist/services/mfaService.d.ts +64 -0
  282. package/backend/dist/services/mfaService.d.ts.map +1 -0
  283. package/backend/dist/services/mfaService.js +263 -0
  284. package/backend/dist/services/mfaService.js.map +1 -0
  285. package/backend/dist/services/noteService.d.ts +71 -0
  286. package/backend/dist/services/noteService.d.ts.map +1 -0
  287. package/backend/dist/services/noteService.js +397 -0
  288. package/backend/dist/services/noteService.js.map +1 -0
  289. package/backend/dist/services/notificationService.d.ts +60 -0
  290. package/backend/dist/services/notificationService.d.ts.map +1 -0
  291. package/backend/dist/services/notificationService.js +340 -0
  292. package/backend/dist/services/notificationService.js.map +1 -0
  293. package/backend/dist/services/openApiToolService.d.ts +38 -0
  294. package/backend/dist/services/openApiToolService.d.ts.map +1 -0
  295. package/backend/dist/services/openApiToolService.js +254 -0
  296. package/backend/dist/services/openApiToolService.js.map +1 -0
  297. package/backend/dist/services/personaService.d.ts +18 -2
  298. package/backend/dist/services/personaService.d.ts.map +1 -1
  299. package/backend/dist/services/personaService.js +113 -4
  300. package/backend/dist/services/personaService.js.map +1 -1
  301. package/backend/dist/services/pluginImageGenerationService.d.ts +19 -0
  302. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  303. package/backend/dist/services/pluginImageGenerationService.js +121 -0
  304. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  305. package/backend/dist/services/pluginService.d.ts +7 -0
  306. package/backend/dist/services/pluginService.d.ts.map +1 -1
  307. package/backend/dist/services/pluginService.js +8 -2
  308. package/backend/dist/services/pluginService.js.map +1 -1
  309. package/backend/dist/services/preferencesService.d.ts +1 -1
  310. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  311. package/backend/dist/services/preferencesService.js +1 -0
  312. package/backend/dist/services/preferencesService.js.map +1 -1
  313. package/backend/dist/services/promptService.d.ts +74 -0
  314. package/backend/dist/services/promptService.d.ts.map +1 -0
  315. package/backend/dist/services/promptService.js +513 -0
  316. package/backend/dist/services/promptService.js.map +1 -0
  317. package/backend/dist/services/recoveryDrillService.d.ts +57 -0
  318. package/backend/dist/services/recoveryDrillService.d.ts.map +1 -0
  319. package/backend/dist/services/recoveryDrillService.js +363 -0
  320. package/backend/dist/services/recoveryDrillService.js.map +1 -0
  321. package/backend/dist/services/resourceGrantService.d.ts.map +1 -1
  322. package/backend/dist/services/resourceGrantService.js +62 -17
  323. package/backend/dist/services/resourceGrantService.js.map +1 -1
  324. package/backend/dist/services/searchService.d.ts +29 -0
  325. package/backend/dist/services/searchService.d.ts.map +1 -0
  326. package/backend/dist/services/searchService.js +0 -0
  327. package/backend/dist/services/searchService.js.map +1 -0
  328. package/backend/dist/services/securityAuditService.d.ts.map +1 -1
  329. package/backend/dist/services/securityAuditService.js +2 -1
  330. package/backend/dist/services/securityAuditService.js.map +1 -1
  331. package/backend/dist/services/sharedResourceAccess.d.ts +25 -0
  332. package/backend/dist/services/sharedResourceAccess.d.ts.map +1 -0
  333. package/backend/dist/services/sharedResourceAccess.js +59 -0
  334. package/backend/dist/services/sharedResourceAccess.js.map +1 -0
  335. package/backend/dist/services/skillService.d.ts +137 -0
  336. package/backend/dist/services/skillService.d.ts.map +1 -0
  337. package/backend/dist/services/skillService.js +852 -0
  338. package/backend/dist/services/skillService.js.map +1 -0
  339. package/backend/dist/services/toolAccessService.d.ts +9 -0
  340. package/backend/dist/services/toolAccessService.d.ts.map +1 -0
  341. package/backend/dist/services/toolAccessService.js +60 -0
  342. package/backend/dist/services/toolAccessService.js.map +1 -0
  343. package/backend/dist/services/toolApprovalService.d.ts +34 -0
  344. package/backend/dist/services/toolApprovalService.d.ts.map +1 -0
  345. package/backend/dist/services/toolApprovalService.js +188 -0
  346. package/backend/dist/services/toolApprovalService.js.map +1 -0
  347. package/backend/dist/services/toolGatewayService.d.ts +53 -0
  348. package/backend/dist/services/toolGatewayService.d.ts.map +1 -0
  349. package/backend/dist/services/toolGatewayService.js +249 -0
  350. package/backend/dist/services/toolGatewayService.js.map +1 -0
  351. package/backend/dist/services/toolServerService.d.ts +57 -0
  352. package/backend/dist/services/toolServerService.d.ts.map +1 -0
  353. package/backend/dist/services/toolServerService.js +521 -0
  354. package/backend/dist/services/toolServerService.js.map +1 -0
  355. package/backend/dist/services/voiceAccessService.d.ts +10 -0
  356. package/backend/dist/services/voiceAccessService.d.ts.map +1 -0
  357. package/backend/dist/services/voiceAccessService.js +74 -0
  358. package/backend/dist/services/voiceAccessService.js.map +1 -0
  359. package/backend/dist/services/voiceProfileService.d.ts +20 -0
  360. package/backend/dist/services/voiceProfileService.d.ts.map +1 -1
  361. package/backend/dist/services/voiceProfileService.js +60 -0
  362. package/backend/dist/services/voiceProfileService.js.map +1 -1
  363. package/backend/dist/services/webPushService.d.ts +71 -0
  364. package/backend/dist/services/webPushService.d.ts.map +1 -0
  365. package/backend/dist/services/webPushService.js +328 -0
  366. package/backend/dist/services/webPushService.js.map +1 -0
  367. package/backend/dist/services/webauthnService.d.ts +58 -0
  368. package/backend/dist/services/webauthnService.d.ts.map +1 -0
  369. package/backend/dist/services/webauthnService.js +300 -0
  370. package/backend/dist/services/webauthnService.js.map +1 -0
  371. package/backend/dist/storage.d.ts +28 -1
  372. package/backend/dist/storage.d.ts.map +1 -1
  373. package/backend/dist/storage.js +100 -1
  374. package/backend/dist/storage.js.map +1 -1
  375. package/backend/dist/storageMappers.d.ts +2 -2
  376. package/backend/dist/storageMappers.d.ts.map +1 -1
  377. package/backend/dist/storageMappers.js.map +1 -1
  378. package/backend/dist/types/index.d.ts +199 -3
  379. package/backend/dist/types/index.d.ts.map +1 -1
  380. package/backend/dist/types/index.js.map +1 -1
  381. package/backend/dist/types/tools.d.ts +137 -0
  382. package/backend/dist/types/tools.d.ts.map +1 -0
  383. package/backend/dist/types/tools.js +25 -0
  384. package/backend/dist/types/tools.js.map +1 -0
  385. package/backend/dist/utils/chatDocumentContext.d.ts +26 -1
  386. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  387. package/backend/dist/utils/chatDocumentContext.js +87 -18
  388. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  389. package/backend/dist/utils/documentExtraction.d.ts +97 -0
  390. package/backend/dist/utils/documentExtraction.d.ts.map +1 -0
  391. package/backend/dist/utils/documentExtraction.js +651 -0
  392. package/backend/dist/utils/documentExtraction.js.map +1 -0
  393. package/backend/dist/utils/hybridRetrieval.d.ts +34 -0
  394. package/backend/dist/utils/hybridRetrieval.d.ts.map +1 -0
  395. package/backend/dist/utils/hybridRetrieval.js +119 -0
  396. package/backend/dist/utils/hybridRetrieval.js.map +1 -0
  397. package/backend/dist/utils/icsCalendar.d.ts +27 -0
  398. package/backend/dist/utils/icsCalendar.d.ts.map +1 -0
  399. package/backend/dist/utils/icsCalendar.js +313 -0
  400. package/backend/dist/utils/icsCalendar.js.map +1 -0
  401. package/backend/dist/utils/imageEditUpload.d.ts +29 -0
  402. package/backend/dist/utils/imageEditUpload.d.ts.map +1 -0
  403. package/backend/dist/utils/imageEditUpload.js +82 -0
  404. package/backend/dist/utils/imageEditUpload.js.map +1 -0
  405. package/backend/dist/utils/logRedaction.d.ts +2 -0
  406. package/backend/dist/utils/logRedaction.d.ts.map +1 -0
  407. package/backend/dist/utils/logRedaction.js +66 -0
  408. package/backend/dist/utils/logRedaction.js.map +1 -0
  409. package/backend/dist/utils/logger.d.ts +3 -0
  410. package/backend/dist/utils/logger.d.ts.map +1 -1
  411. package/backend/dist/utils/logger.js +63 -20
  412. package/backend/dist/utils/logger.js.map +1 -1
  413. package/backend/dist/utils/pluginChatAdapter.d.ts +5 -1
  414. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  415. package/backend/dist/utils/pluginChatAdapter.js +83 -0
  416. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  417. package/backend/dist/utils/pluginDefinitionTrust.js +1 -1
  418. package/backend/dist/utils/resourceLimits.d.ts +61 -2
  419. package/backend/dist/utils/resourceLimits.d.ts.map +1 -1
  420. package/backend/dist/utils/resourceLimits.js +59 -0
  421. package/backend/dist/utils/resourceLimits.js.map +1 -1
  422. package/backend/dist/utils/toolEgress.d.ts +23 -0
  423. package/backend/dist/utils/toolEgress.d.ts.map +1 -0
  424. package/backend/dist/utils/toolEgress.js +169 -0
  425. package/backend/dist/utils/toolEgress.js.map +1 -0
  426. package/backend/dist/utils/totp.d.ts +19 -0
  427. package/backend/dist/utils/totp.d.ts.map +1 -0
  428. package/backend/dist/utils/totp.js +117 -0
  429. package/backend/dist/utils/totp.js.map +1 -0
  430. package/backend/dist/utils/webauthn.d.ts +43 -0
  431. package/backend/dist/utils/webauthn.d.ts.map +1 -0
  432. package/backend/dist/utils/webauthn.js +294 -0
  433. package/backend/dist/utils/webauthn.js.map +1 -0
  434. package/backend/dist/utils/websocketMessages.d.ts +6 -0
  435. package/backend/dist/utils/websocketMessages.d.ts.map +1 -1
  436. package/backend/dist/utils/websocketMessages.js +8 -0
  437. package/backend/dist/utils/websocketMessages.js.map +1 -1
  438. package/backend/dist/utils/zipArchive.d.ts +32 -0
  439. package/backend/dist/utils/zipArchive.d.ts.map +1 -0
  440. package/backend/dist/utils/zipArchive.js +171 -0
  441. package/backend/dist/utils/zipArchive.js.map +1 -0
  442. package/backend/dist/websocketServer.d.ts.map +1 -1
  443. package/backend/dist/websocketServer.js +142 -35
  444. package/backend/dist/websocketServer.js.map +1 -1
  445. package/backend/package.json +1 -1
  446. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  447. package/frontend/dist/assets/index-DBAf_VaS.js +47 -0
  448. package/frontend/dist/assets/index-kn_Axjts.css +1 -0
  449. package/frontend/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  450. package/frontend/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  451. package/frontend/dist/fonts/jetbrains-mono.css +24 -0
  452. package/frontend/dist/index.html +27 -20
  453. package/frontend/dist/js/ArtifactContainer-C9zNtCay.js +1 -0
  454. package/frontend/dist/js/{ArtifactDemoPage-BeNs3gHp.js → ArtifactDemoPage-C-EBFBCt.js} +1 -1
  455. package/frontend/dist/js/ArtifactSandboxFrame-CTA1j_d1.js +111 -0
  456. package/frontend/dist/js/ArtifactSlideOutPanel-BOENbOiv.js +1 -0
  457. package/frontend/dist/js/AutomationsPage-C58MQ4te.js +1 -0
  458. package/frontend/dist/js/{Button-BPf_pOxH.js → Button-C0r3J9G_.js} +1 -1
  459. package/frontend/dist/js/CalendarPage-BcdAZ292.js +1 -0
  460. package/frontend/dist/js/ChannelsPage-DPr9Yajs.js +1 -0
  461. package/frontend/dist/js/ChatPage-DsbB748s.js +14 -0
  462. package/frontend/dist/js/EvaluationsPage-FWIJu2fI.js +2 -0
  463. package/frontend/dist/js/FirstTimeSetup-Cy-w6xko.js +1 -0
  464. package/frontend/dist/js/GalleryPage-DDAtxM-x.js +1 -0
  465. package/frontend/dist/js/HomePage-DLKwmE7n.js +1 -0
  466. package/frontend/dist/js/LibreClawPage-vKOj-9w9.js +1 -0
  467. package/frontend/dist/js/{ModelManagerModals-DcLGYN3l.js → ModelManagerModals-BY5TK38_.js} +1 -1
  468. package/frontend/dist/js/ModelSelector-CoCS6MZ9.js +1 -0
  469. package/frontend/dist/js/NotesPage-BElIpXgA.js +3 -0
  470. package/frontend/dist/js/OptimizedSyntaxHighlighter-xgyE3dRA.js +1 -0
  471. package/frontend/dist/js/PersonasPage-P40jVbfU.js +13 -0
  472. package/frontend/dist/js/PluginUsagePage-CKUEPCJN.js +1 -0
  473. package/frontend/dist/js/RichMessageContent-Bm2WaEGi.js +3 -0
  474. package/frontend/dist/js/SettingsModal-DxSGzx9A.js +19 -0
  475. package/frontend/dist/js/{SettingsToggle-woG_WebF.js → SettingsToggle-BIVyfGjl.js} +1 -1
  476. package/frontend/dist/js/SystemPage-BT07dTMT.js +1 -0
  477. package/frontend/dist/js/UserManagementPage-B9Vz5cm3.js +1 -0
  478. package/frontend/dist/js/WorkPage-qoN_e_jK.js +6 -0
  479. package/frontend/dist/js/api-D7Ff5M2Q.js +14 -0
  480. package/frontend/dist/js/appStore-DmV5wqDz.js +2 -0
  481. package/frontend/dist/js/ar-YHHTVP8f.js +2 -0
  482. package/frontend/dist/js/artifactHtml-DDmfpcB0.js +41 -0
  483. package/frontend/dist/js/{authStore-DbMdvNgJ.js → authStore-BYW8-kP6.js} +3 -3
  484. package/frontend/dist/js/{babel-BsYoxD-7.js → babel-DSqqk5kt.js} +1 -1
  485. package/frontend/dist/js/bn-C8VTxBVl.js +2 -0
  486. package/frontend/dist/js/chatStore-D-NTlArO.js +3 -0
  487. package/frontend/dist/js/{config-DSOYQ9a3.js → config-BqZ5304Q.js} +1 -1
  488. package/frontend/dist/js/cs-CCngB5fC.js +2 -0
  489. package/frontend/dist/js/da-CM2PP2ma.js +2 -0
  490. package/frontend/dist/js/de-BqVkD-dw.js +2 -0
  491. package/frontend/dist/js/es-BtWsWBjZ.js +2 -0
  492. package/frontend/dist/js/{estree-BcnBcOAx.js → estree-DPkpBuOU.js} +3 -3
  493. package/frontend/dist/js/evaluationsApi-Dnf2dTd-.js +1 -0
  494. package/frontend/dist/js/fr-C68w9abT.js +2 -0
  495. package/frontend/dist/js/hi-DtBlcyXZ.js +2 -0
  496. package/frontend/dist/js/{html-DkY55Jys.js → html-BpGUXG8E.js} +2 -2
  497. package/frontend/dist/js/id-BWzIu8tn.js +2 -0
  498. package/frontend/dist/js/is-yeFwu4dJ.js +2 -0
  499. package/frontend/dist/js/it-AxEMG8Jg.js +2 -0
  500. package/frontend/dist/js/ja-B-VyokB8.js +2 -0
  501. package/frontend/dist/js/ko-CvwzYr9k.js +2 -0
  502. package/frontend/dist/js/{markdown-IZSI9DXw.js → markdown-DCBRWJSK.js} +3 -3
  503. package/frontend/dist/js/markdown-core-BK7WVOb7.js +32 -0
  504. package/frontend/dist/js/{markdown-math-DK846gXU.js → markdown-math-e1ByS3KY.js} +5 -5
  505. package/frontend/dist/js/messageCodeStyles-BQwf7sSz.js +2 -0
  506. package/frontend/dist/js/ms-BhEwb4b7.js +2 -0
  507. package/frontend/dist/js/nl-Dq-QRx1L.js +2 -0
  508. package/frontend/dist/js/pl-BNEy8mQm.js +2 -0
  509. package/frontend/dist/js/{postcss-BJ0okz7n.js → postcss-Bg15EcFE.js} +1 -1
  510. package/frontend/dist/js/pt-_3Jl3FdY.js +2 -0
  511. package/frontend/dist/js/{react-vendor-C5yShNlM.js → react-vendor-BG_HPV6X.js} +1 -1
  512. package/frontend/dist/js/router-vendor-CbexJIsv.js +1 -0
  513. package/frontend/dist/js/ru-IhQiJ8ta.js +2 -0
  514. package/frontend/dist/js/{standalone-Csw3jfJ_.js → standalone-BFrK0R2A.js} +3 -3
  515. package/frontend/dist/js/sv-DWunXUNz.js +2 -0
  516. package/frontend/dist/js/{syntax-highlight-3EEX6CGL.js → syntax-highlight-P2zo9o06.js} +4 -4
  517. package/frontend/dist/js/th-DVnW2yyh.js +2 -0
  518. package/frontend/dist/js/tr-Do8CFmhR.js +2 -0
  519. package/frontend/dist/js/{typescript-CnF4UVx7.js → typescript-DYVyvmm_.js} +1 -1
  520. package/frontend/dist/js/ui-db9meqAB.js +2 -0
  521. package/frontend/dist/js/ui-vendor-C0DZ8-Cm.js +177 -0
  522. package/frontend/dist/js/uk-BNPKIZga.js +2 -0
  523. package/frontend/dist/js/{useTranslation-Bho4HCyg.js → useTranslation-5b5UhAc9.js} +1 -1
  524. package/frontend/dist/js/{utils-D9W1Lnkn.js → utils-BGrdX9ie.js} +1 -1
  525. package/frontend/dist/js/{utils-vendor-DWh39_3x.js → utils-vendor-9bQ62WeD.js} +1 -1
  526. package/frontend/dist/js/vi-CZMFo9je.js +2 -0
  527. package/frontend/dist/js/{workApi-C3uy9EDT.js → workApi-CcprMH_1.js} +3 -3
  528. package/frontend/dist/js/{yaml-DzT5hBSH.js → yaml-DUeWcOOH.js} +2 -2
  529. package/frontend/dist/js/zh-Pg0881v0.js +2 -0
  530. package/frontend/dist/manifest.webmanifest +32 -0
  531. package/frontend/dist/sw.js +125 -0
  532. package/package.json +2 -2
  533. package/plugins/openai.json +52 -9
  534. package/frontend/dist/assets/index-6o-Hc2wS.js +0 -41
  535. package/frontend/dist/assets/index-D-pM957b.css +0 -1
  536. package/frontend/dist/js/ArtifactContainer-CpUi6ekF.js +0 -1
  537. package/frontend/dist/js/ArtifactSandboxFrame-qsj_Y3LV.js +0 -151
  538. package/frontend/dist/js/ArtifactSlideOutPanel-CSFRluWA.js +0 -1
  539. package/frontend/dist/js/AutomationsPage-KUeWoZNv.js +0 -1
  540. package/frontend/dist/js/CalendarPage-D9I972w8.js +0 -1
  541. package/frontend/dist/js/ChatPage-CmBx4oAL.js +0 -16
  542. package/frontend/dist/js/FirstTimeSetup-Df0YJni3.js +0 -1
  543. package/frontend/dist/js/GalleryPage-bLCrdJN_.js +0 -1
  544. package/frontend/dist/js/HomePage-Uc6PEg-U.js +0 -1
  545. package/frontend/dist/js/LibreClawPage-CG63DHg1.js +0 -1
  546. package/frontend/dist/js/ModelSelector-yxJC64rM.js +0 -1
  547. package/frontend/dist/js/ModelsPage-1R_TxgmJ.js +0 -2
  548. package/frontend/dist/js/NotesPage-L65j5HoW.js +0 -1
  549. package/frontend/dist/js/OptimizedSyntaxHighlighter-Dz7D1LPB.js +0 -1
  550. package/frontend/dist/js/PersonasPage-CKeBpHIH.js +0 -13
  551. package/frontend/dist/js/PluginUsagePage-BX1SKMbW.js +0 -1
  552. package/frontend/dist/js/RichMessageContent-DiySVYGB.js +0 -3
  553. package/frontend/dist/js/SettingsModal-68SG1uZ2.js +0 -1
  554. package/frontend/dist/js/SystemPage-CytpZiQV.js +0 -1
  555. package/frontend/dist/js/UserManagementPage-BzJBvZiS.js +0 -1
  556. package/frontend/dist/js/WorkPage-C8gr0QJe.js +0 -6
  557. package/frontend/dist/js/api-BDtqBtqw.js +0 -14
  558. package/frontend/dist/js/appStore-0JnCUlEq.js +0 -2
  559. package/frontend/dist/js/ar-CSpi37Gr.js +0 -2
  560. package/frontend/dist/js/bn-CyH1BeDD.js +0 -2
  561. package/frontend/dist/js/chatStore-CHQ2uINS.js +0 -3
  562. package/frontend/dist/js/cs-Cv2NfRK5.js +0 -2
  563. package/frontend/dist/js/da-D6D6IvPK.js +0 -2
  564. package/frontend/dist/js/de-BNoJJTrT.js +0 -2
  565. package/frontend/dist/js/es-kzo9C7q_.js +0 -2
  566. package/frontend/dist/js/fr-CjHYvJRp.js +0 -2
  567. package/frontend/dist/js/hi-BU98AdCQ.js +0 -2
  568. package/frontend/dist/js/id-CpdedejX.js +0 -2
  569. package/frontend/dist/js/is-Cp5dDWBH.js +0 -2
  570. package/frontend/dist/js/it-CuH_cK4U.js +0 -2
  571. package/frontend/dist/js/ja-BWXXXiHn.js +0 -2
  572. package/frontend/dist/js/ko-DQgv2M1t.js +0 -2
  573. package/frontend/dist/js/markdown-core-BmPPZiuD.js +0 -31
  574. package/frontend/dist/js/messageCodeStyles-BFNR9Wv6.js +0 -2
  575. package/frontend/dist/js/ms-DCcRoIcX.js +0 -2
  576. package/frontend/dist/js/nl-CbKR1_EU.js +0 -2
  577. package/frontend/dist/js/pl-CRyJZccn.js +0 -2
  578. package/frontend/dist/js/pt-BXYmHFGH.js +0 -2
  579. package/frontend/dist/js/router-vendor-DGFGM3EP.js +0 -1
  580. package/frontend/dist/js/ru-M9SyZG4b.js +0 -2
  581. package/frontend/dist/js/sv-DJ486LTU.js +0 -2
  582. package/frontend/dist/js/th-Ch7gKtZv.js +0 -2
  583. package/frontend/dist/js/tr-ClehWhSC.js +0 -2
  584. package/frontend/dist/js/ui-CC-K19wO.js +0 -2
  585. package/frontend/dist/js/ui-vendor-B1UgO3vd.js +0 -177
  586. package/frontend/dist/js/uk-BqAd5zHF.js +0 -2
  587. package/frontend/dist/js/vi-D9gjlDVB.js +0 -2
  588. package/frontend/dist/js/zh-DKTyHkiR.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresAgentFoundationMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresAgentFoundationMigration.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AAIH,eAAO,MAAM,6BAA6B,miHAyHvC,CAAC;AAKJ,eAAO,MAAM,mCAAmC,EAAE,iBAe9C,CAAC"}
@@ -0,0 +1,164 @@
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
+ import { createHash } from 'node:crypto';
18
+ /**
19
+ * Agent-foundation schema: admin-registered OpenAPI/MCP tool servers with
20
+ * per-user credentials and approval policy, a versioned prompt library, a
21
+ * versioned skill workspace, and assistant-profile bindings on personas.
22
+ */
23
+ // CHECK expressions use the exact form PostgreSQL reconstructs in
24
+ // pg_get_constraintdef, so the schema inspector's declared and actual
25
+ // constraint texts normalize identically.
26
+ export const POSTGRES_AGENT_FOUNDATION_SQL = `ALTER TABLE personas ADD COLUMN bindings text;
27
+
28
+ CREATE TABLE tool_servers (
29
+ id text PRIMARY KEY,
30
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
31
+ name text NOT NULL,
32
+ description text,
33
+ kind text NOT NULL CHECK (kind IN ('openapi', 'mcp')),
34
+ base_url text NOT NULL,
35
+ spec text,
36
+ spec_digest text,
37
+ spec_revision integer NOT NULL DEFAULT 1,
38
+ auth_mode text NOT NULL CHECK (auth_mode IN ('none', 'bearer', 'header')),
39
+ auth_header text,
40
+ access_mode text NOT NULL
41
+ CHECK (access_mode IN ('admins-only', 'all-users', 'granted')),
42
+ enabled integer NOT NULL DEFAULT 1,
43
+ timeout_ms integer NOT NULL,
44
+ max_response_bytes integer NOT NULL,
45
+ created_at bigint NOT NULL,
46
+ updated_at bigint NOT NULL
47
+ );
48
+
49
+ CREATE INDEX idx_tool_servers_updated
50
+ ON tool_servers(updated_at);
51
+
52
+ CREATE TABLE tool_server_tools (
53
+ id text PRIMARY KEY,
54
+ server_id text NOT NULL REFERENCES tool_servers(id) ON DELETE CASCADE,
55
+ name text NOT NULL,
56
+ description text,
57
+ params_schema text,
58
+ detail text,
59
+ side_effect integer NOT NULL DEFAULT 1,
60
+ enabled integer NOT NULL DEFAULT 1,
61
+ created_at bigint NOT NULL,
62
+ updated_at bigint NOT NULL,
63
+ UNIQUE (server_id, name)
64
+ );
65
+
66
+ CREATE TABLE tool_server_credentials (
67
+ id text PRIMARY KEY,
68
+ server_id text NOT NULL REFERENCES tool_servers(id) ON DELETE CASCADE,
69
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
70
+ secret text NOT NULL,
71
+ created_at bigint NOT NULL,
72
+ updated_at bigint NOT NULL,
73
+ UNIQUE (server_id, user_id)
74
+ );
75
+
76
+ CREATE TABLE tool_approvals (
77
+ id text PRIMARY KEY,
78
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
79
+ session_id text REFERENCES sessions(id) ON DELETE CASCADE,
80
+ server_id text REFERENCES tool_servers(id) ON DELETE CASCADE,
81
+ tool_name text NOT NULL,
82
+ call_id text,
83
+ arguments_digest text,
84
+ scope text NOT NULL CHECK (scope IN ('once', 'session', 'always')),
85
+ status text NOT NULL
86
+ CHECK (status IN ('pending', 'approved', 'denied', 'expired')),
87
+ created_at bigint NOT NULL,
88
+ resolved_at bigint,
89
+ expires_at bigint
90
+ );
91
+
92
+ CREATE INDEX idx_tool_approvals_owner
93
+ ON tool_approvals(user_id, status, created_at);
94
+
95
+ CREATE TABLE prompts (
96
+ id text PRIMARY KEY,
97
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
98
+ slug text NOT NULL,
99
+ title text NOT NULL,
100
+ description text,
101
+ content text NOT NULL,
102
+ variables text,
103
+ tags text,
104
+ version integer NOT NULL DEFAULT 1,
105
+ created_at bigint NOT NULL,
106
+ updated_at bigint NOT NULL,
107
+ UNIQUE (user_id, slug)
108
+ );
109
+
110
+ CREATE INDEX idx_prompts_owner
111
+ ON prompts(user_id, updated_at);
112
+
113
+ CREATE TABLE prompt_versions (
114
+ id text PRIMARY KEY,
115
+ prompt_id text NOT NULL REFERENCES prompts(id) ON DELETE CASCADE,
116
+ version integer NOT NULL,
117
+ content text NOT NULL,
118
+ variables text,
119
+ created_at bigint NOT NULL,
120
+ UNIQUE (prompt_id, version)
121
+ );
122
+
123
+ CREATE TABLE skills (
124
+ id text PRIMARY KEY,
125
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
126
+ slug text NOT NULL,
127
+ name text NOT NULL,
128
+ description text NOT NULL,
129
+ instructions text NOT NULL,
130
+ enabled integer NOT NULL DEFAULT 1,
131
+ version integer NOT NULL DEFAULT 1,
132
+ created_at bigint NOT NULL,
133
+ updated_at bigint NOT NULL,
134
+ UNIQUE (user_id, slug)
135
+ );
136
+
137
+ CREATE INDEX idx_skills_owner
138
+ ON skills(user_id, updated_at);
139
+
140
+ CREATE TABLE skill_versions (
141
+ id text PRIMARY KEY,
142
+ skill_id text NOT NULL REFERENCES skills(id) ON DELETE CASCADE,
143
+ version integer NOT NULL,
144
+ instructions text NOT NULL,
145
+ created_at bigint NOT NULL,
146
+ UNIQUE (skill_id, version)
147
+ );`;
148
+ const version = 15;
149
+ const name = 'agent-foundation';
150
+ export const POSTGRES_AGENT_FOUNDATION_MIGRATION = Object.freeze({
151
+ version,
152
+ name,
153
+ checksum: createHash('sha256')
154
+ .update(`${version}\n${name}\n${POSTGRES_AGENT_FOUNDATION_SQL}`)
155
+ .digest('hex'),
156
+ sql: POSTGRES_AGENT_FOUNDATION_SQL,
157
+ rollbackPlan: 'DROP TABLE skill_versions, skills, prompt_versions, prompts, ' +
158
+ 'tool_approvals, tool_server_credentials, tool_server_tools, ' +
159
+ 'tool_servers; ALTER TABLE personas DROP COLUMN bindings; delete ' +
160
+ 'ledger row 15. Chat tool calls, prompts, and skills stop existing; ' +
161
+ 'persona bindings are additive and no other feature reads them.',
162
+ minimumCompatibleVersion: 15,
163
+ });
164
+ //# sourceMappingURL=postgresAgentFoundationMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresAgentFoundationMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresAgentFoundationMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,kEAAkE;AAClE,sEAAsE;AACtE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyH1C,CAAC;AAEJ,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC,MAAM,CAAC,MAAM,mCAAmC,GAC9C,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO;IACP,IAAI;IACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;SAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,KAAK,6BAA6B,EAAE,CAAC;SAC/D,MAAM,CAAC,KAAK,CAAC;IAChB,GAAG,EAAE,6BAA6B;IAClC,YAAY,EACV,+DAA+D;QAC/D,8DAA8D;QAC9D,kEAAkE;QAClE,qEAAqE;QACrE,gEAAgE;IAClE,wBAAwB,EAAE,EAAE;CAC7B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresExtensionRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresExtensionRepositories.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EAkBtB,MAAM,qBAAqB,CAAC;AAy0B7B,eAAO,MAAM,mCAAmC,aACpC,gBAAgB,KACzB,qBASD,CAAC;AAEH,eAAO,MAAM,gDAAgD,WACnD,UAAU,KACjB,qBAOF,CAAC"}
1
+ {"version":3,"file":"postgresExtensionRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresExtensionRepositories.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EAkBtB,MAAM,qBAAqB,CAAC;AA85B7B,eAAO,MAAM,mCAAmC,aACpC,gBAAgB,KACzB,qBASD,CAAC;AAEH,eAAO,MAAM,gDAAgD,WACnD,UAAU,KACjB,qBAOF,CAAC"}
@@ -35,6 +35,16 @@ const voiceProfile = (row) => ({
35
35
  ...row,
36
36
  audio_size: integer(row.audio_size, 'voice audio_size'),
37
37
  consent_confirmed_at: integer(row.consent_confirmed_at, 'voice consent_confirmed_at'),
38
+ consent_expires_at: row.consent_expires_at === null || row.consent_expires_at === undefined
39
+ ? null
40
+ : integer(row.consent_expires_at, 'voice consent_expires_at'),
41
+ revoked_at: row.revoked_at === null || row.revoked_at === undefined
42
+ ? null
43
+ : integer(row.revoked_at, 'voice revoked_at'),
44
+ transfer_count: integer(row.transfer_count ?? 0, 'voice transfer_count'),
45
+ last_transfer_at: row.last_transfer_at === null || row.last_transfer_at === undefined
46
+ ? null
47
+ : integer(row.last_transfer_at, 'voice last_transfer_at'),
38
48
  created_at: integer(row.created_at, 'voice created_at'),
39
49
  updated_at: integer(row.updated_at, 'voice updated_at'),
40
50
  });
@@ -456,6 +466,28 @@ class PostgresPluginUsageRepository {
456
466
  FROM plugin_usage_events WHERE created_at >= $1 AND created_at <= $2
457
467
  GROUP BY capability ORDER BY COUNT(*) DESC`, [from, to]);
458
468
  }
469
+ async listSince(from, maximum) {
470
+ const result = await this.database.query(`SELECT * FROM plugin_usage_events
471
+ WHERE created_at >= $1
472
+ ORDER BY created_at ASC, id ASC
473
+ LIMIT $2`, [from, maximum]);
474
+ return result.rows.map(row => ({
475
+ ...row,
476
+ prompt_tokens: row.prompt_tokens === null
477
+ ? null
478
+ : integer(row.prompt_tokens, 'usage prompt_tokens'),
479
+ completion_tokens: row.completion_tokens === null
480
+ ? null
481
+ : integer(row.completion_tokens, 'usage completion_tokens'),
482
+ total_tokens: row.total_tokens === null
483
+ ? null
484
+ : integer(row.total_tokens, 'usage total_tokens'),
485
+ input_units: integer(row.input_units ?? 0, 'usage input_units'),
486
+ output_units: integer(row.output_units ?? 0, 'usage output_units'),
487
+ duration_ms: integer(row.duration_ms ?? 0, 'usage duration_ms'),
488
+ created_at: integer(row.created_at, 'usage created_at'),
489
+ }));
490
+ }
459
491
  }
460
492
  class PostgresVoiceProfileRepository {
461
493
  constructor(database) {
@@ -505,9 +537,10 @@ class PostgresVoiceProfileRepository {
505
537
  await client.query(`INSERT INTO voice_profiles
506
538
  (id, user_id, name, name_lookup, plugin_id, model, reference_audio,
507
539
  reference_text, routing_fingerprint, audio_mime_type, audio_format,
508
- audio_size, consent_confirmed_at, created_at, updated_at)
540
+ audio_size, consent_confirmed_at, consent_expires_at, created_at,
541
+ updated_at)
509
542
  VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12,
510
- $13, $14, $15)`, [
543
+ $13, $14, $15, $16)`, [
511
544
  profile.id,
512
545
  profile.user_id,
513
546
  profile.name,
@@ -521,6 +554,7 @@ class PostgresVoiceProfileRepository {
521
554
  profile.audio_format,
522
555
  profile.audio_size,
523
556
  profile.consent_confirmed_at,
557
+ profile.consent_expires_at,
524
558
  profile.created_at,
525
559
  profile.updated_at,
526
560
  ]);
@@ -529,6 +563,16 @@ class PostgresVoiceProfileRepository {
529
563
  async delete(id, userId) {
530
564
  return (rowCount((await this.database.query('DELETE FROM voice_profiles WHERE id = $1 AND user_id = $2', [id, userId])).rowCount) > 0);
531
565
  }
566
+ async revoke(id, userId, revokedAt) {
567
+ return (rowCount((await this.database.query(`UPDATE voice_profiles
568
+ SET revoked_at = $1, updated_at = $2
569
+ WHERE id = $3 AND user_id = $4 AND revoked_at IS NULL`, [revokedAt, revokedAt, id, userId])).rowCount) > 0);
570
+ }
571
+ async recordTransfer(id, userId, transferredAt) {
572
+ return (rowCount((await this.database.query(`UPDATE voice_profiles
573
+ SET transfer_count = transfer_count + 1, last_transfer_at = $1
574
+ WHERE id = $2 AND user_id = $3`, [transferredAt, id, userId])).rowCount) > 0);
575
+ }
532
576
  }
533
577
  export const createPostgresExtensionRepositories = (database) => ({
534
578
  pluginDefinitions: new PostgresPluginDefinitionRepository(database),
@@ -1 +1 @@
1
- {"version":3,"file":"postgresExtensionRepositories.js","sourceRoot":"","sources":["../../src/persistence/postgresExtensionRepositories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresExtensionRepositories.js","sourceRoot":"","sources":["../../src/persistence/postgresExtensionRepositories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { PostgresMigration } from './postgresMigrationTypes.js';
2
+ /**
3
+ * Media and enterprise-operations schema: voice-profile consent lifecycle
4
+ * (expiry, revocation, provider-transfer receipts), versioned provider
5
+ * tariffs, usage budgets, message feedback with topic tags, blind arena
6
+ * votes, and reusable evaluation sets with reproducible runs.
7
+ */
8
+ export declare const POSTGRES_MEDIA_ENTERPRISE_OPS_SQL = "ALTER TABLE voice_profiles ADD COLUMN consent_expires_at bigint;\nALTER TABLE voice_profiles ADD COLUMN revoked_at bigint;\nALTER TABLE voice_profiles ADD COLUMN transfer_count bigint NOT NULL DEFAULT 0;\nALTER TABLE voice_profiles ADD COLUMN last_transfer_at bigint;\n\nCREATE TABLE model_tariffs (\n id text PRIMARY KEY,\n plugin_id text NOT NULL,\n model text,\n input_per_million double precision,\n output_per_million double precision,\n unit_price double precision,\n currency text NOT NULL DEFAULT 'USD',\n effective_from bigint NOT NULL,\n created_by text,\n created_at bigint NOT NULL\n);\n\nCREATE INDEX idx_model_tariffs_lookup\n ON model_tariffs(plugin_id, model, effective_from);\n\nCREATE TABLE usage_budgets (\n id text PRIMARY KEY,\n name text NOT NULL,\n principal_type text NOT NULL CHECK (principal_type IN ('instance', 'user', 'group')),\n principal_id text,\n period text NOT NULL CHECK (period IN ('daily', 'weekly', 'monthly')),\n amount_usd double precision NOT NULL,\n mode text NOT NULL CHECK (mode IN ('observe', 'soft', 'hard')),\n created_by text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE INDEX idx_usage_budgets_principal\n ON usage_budgets(principal_type, principal_id);\n\nCREATE TABLE message_feedback (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n session_id text NOT NULL,\n message_id text NOT NULL,\n rating bigint NOT NULL CHECK (rating IN (-1, 1)),\n tags text,\n comment text,\n model text,\n plugin_id text,\n snapshot text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL,\n UNIQUE (user_id, message_id)\n);\n\nCREATE INDEX idx_message_feedback_owner\n ON message_feedback(user_id, created_at);\n\nCREATE TABLE arena_votes (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n compare_group text NOT NULL,\n model_a text NOT NULL,\n model_b text NOT NULL,\n winner text NOT NULL CHECK (winner IN ('a', 'b', 'tie', 'both-bad')),\n created_at bigint NOT NULL,\n UNIQUE (user_id, compare_group)\n);\n\nCREATE INDEX idx_arena_votes_order\n ON arena_votes(created_at, id);\n\nCREATE TABLE eval_sets (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n name text NOT NULL,\n description text,\n items text NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE INDEX idx_eval_sets_owner\n ON eval_sets(user_id, updated_at);\n\nCREATE TABLE eval_runs (\n id text PRIMARY KEY,\n set_id text NOT NULL REFERENCES eval_sets(id) ON DELETE CASCADE,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n label text,\n plugin_id text,\n model text NOT NULL,\n status text NOT NULL CHECK (status IN ('queued', 'running', 'completed', 'failed', 'cancelled')),\n results text,\n error text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL,\n completed_at bigint\n);\n\nCREATE INDEX idx_eval_runs_owner\n ON eval_runs(user_id, created_at);\n\nCREATE INDEX idx_eval_runs_parent\n ON eval_runs(set_id);";
9
+ export declare const POSTGRES_MEDIA_ENTERPRISE_OPS_MIGRATION: PostgresMigration;
10
+ //# sourceMappingURL=postgresMediaEnterpriseOpsMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresMediaEnterpriseOpsMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMediaEnterpriseOpsMigration.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;GAKG;AAIH,eAAO,MAAM,iCAAiC,oiGAsGtB,CAAC;AAKzB,eAAO,MAAM,uCAAuC,EAAE,iBAiBlD,CAAC"}
@@ -0,0 +1,148 @@
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
+ import { createHash } from 'node:crypto';
18
+ /**
19
+ * Media and enterprise-operations schema: voice-profile consent lifecycle
20
+ * (expiry, revocation, provider-transfer receipts), versioned provider
21
+ * tariffs, usage budgets, message feedback with topic tags, blind arena
22
+ * votes, and reusable evaluation sets with reproducible runs.
23
+ */
24
+ // CHECK expressions use the exact form PostgreSQL reconstructs in
25
+ // pg_get_constraintdef, so the schema inspector's declared and actual
26
+ // constraint texts normalize identically.
27
+ export const POSTGRES_MEDIA_ENTERPRISE_OPS_SQL = `ALTER TABLE voice_profiles ADD COLUMN consent_expires_at bigint;
28
+ ALTER TABLE voice_profiles ADD COLUMN revoked_at bigint;
29
+ ALTER TABLE voice_profiles ADD COLUMN transfer_count bigint NOT NULL DEFAULT 0;
30
+ ALTER TABLE voice_profiles ADD COLUMN last_transfer_at bigint;
31
+
32
+ CREATE TABLE model_tariffs (
33
+ id text PRIMARY KEY,
34
+ plugin_id text NOT NULL,
35
+ model text,
36
+ input_per_million double precision,
37
+ output_per_million double precision,
38
+ unit_price double precision,
39
+ currency text NOT NULL DEFAULT 'USD',
40
+ effective_from bigint NOT NULL,
41
+ created_by text,
42
+ created_at bigint NOT NULL
43
+ );
44
+
45
+ CREATE INDEX idx_model_tariffs_lookup
46
+ ON model_tariffs(plugin_id, model, effective_from);
47
+
48
+ CREATE TABLE usage_budgets (
49
+ id text PRIMARY KEY,
50
+ name text NOT NULL,
51
+ principal_type text NOT NULL CHECK (principal_type IN ('instance', 'user', 'group')),
52
+ principal_id text,
53
+ period text NOT NULL CHECK (period IN ('daily', 'weekly', 'monthly')),
54
+ amount_usd double precision NOT NULL,
55
+ mode text NOT NULL CHECK (mode IN ('observe', 'soft', 'hard')),
56
+ created_by text,
57
+ created_at bigint NOT NULL,
58
+ updated_at bigint NOT NULL
59
+ );
60
+
61
+ CREATE INDEX idx_usage_budgets_principal
62
+ ON usage_budgets(principal_type, principal_id);
63
+
64
+ CREATE TABLE message_feedback (
65
+ id text PRIMARY KEY,
66
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
67
+ session_id text NOT NULL,
68
+ message_id text NOT NULL,
69
+ rating bigint NOT NULL CHECK (rating IN (-1, 1)),
70
+ tags text,
71
+ comment text,
72
+ model text,
73
+ plugin_id text,
74
+ snapshot text,
75
+ created_at bigint NOT NULL,
76
+ updated_at bigint NOT NULL,
77
+ UNIQUE (user_id, message_id)
78
+ );
79
+
80
+ CREATE INDEX idx_message_feedback_owner
81
+ ON message_feedback(user_id, created_at);
82
+
83
+ CREATE TABLE arena_votes (
84
+ id text PRIMARY KEY,
85
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
86
+ compare_group text NOT NULL,
87
+ model_a text NOT NULL,
88
+ model_b text NOT NULL,
89
+ winner text NOT NULL CHECK (winner IN ('a', 'b', 'tie', 'both-bad')),
90
+ created_at bigint NOT NULL,
91
+ UNIQUE (user_id, compare_group)
92
+ );
93
+
94
+ CREATE INDEX idx_arena_votes_order
95
+ ON arena_votes(created_at, id);
96
+
97
+ CREATE TABLE eval_sets (
98
+ id text PRIMARY KEY,
99
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
100
+ name text NOT NULL,
101
+ description text,
102
+ items text NOT NULL,
103
+ created_at bigint NOT NULL,
104
+ updated_at bigint NOT NULL
105
+ );
106
+
107
+ CREATE INDEX idx_eval_sets_owner
108
+ ON eval_sets(user_id, updated_at);
109
+
110
+ CREATE TABLE eval_runs (
111
+ id text PRIMARY KEY,
112
+ set_id text NOT NULL REFERENCES eval_sets(id) ON DELETE CASCADE,
113
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
114
+ label text,
115
+ plugin_id text,
116
+ model text NOT NULL,
117
+ status text NOT NULL CHECK (status IN ('queued', 'running', 'completed', 'failed', 'cancelled')),
118
+ results text,
119
+ error text,
120
+ created_at bigint NOT NULL,
121
+ updated_at bigint NOT NULL,
122
+ completed_at bigint
123
+ );
124
+
125
+ CREATE INDEX idx_eval_runs_owner
126
+ ON eval_runs(user_id, created_at);
127
+
128
+ CREATE INDEX idx_eval_runs_parent
129
+ ON eval_runs(set_id);`;
130
+ const version = 19;
131
+ const name = 'media-enterprise-ops';
132
+ export const POSTGRES_MEDIA_ENTERPRISE_OPS_MIGRATION = Object.freeze({
133
+ version,
134
+ name,
135
+ checksum: createHash('sha256')
136
+ .update(`${version}\n${name}\n${POSTGRES_MEDIA_ENTERPRISE_OPS_SQL}`)
137
+ .digest('hex'),
138
+ sql: POSTGRES_MEDIA_ENTERPRISE_OPS_SQL,
139
+ rollbackPlan: 'DROP TABLE eval_runs, eval_sets, arena_votes, message_feedback, ' +
140
+ 'usage_budgets, model_tariffs; ALTER TABLE voice_profiles ' +
141
+ 'DROP COLUMN consent_expires_at, DROP COLUMN revoked_at, ' +
142
+ 'DROP COLUMN transfer_count, DROP COLUMN last_transfer_at; ' +
143
+ 'delete ledger row 19. Voice profiles fall back to permanent consent, ' +
144
+ 'and tariffs, budgets, feedback, arena votes, and evaluations stop ' +
145
+ 'existing.',
146
+ minimumCompatibleVersion: 19,
147
+ });
148
+ //# sourceMappingURL=postgresMediaEnterpriseOpsMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresMediaEnterpriseOpsMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresMediaEnterpriseOpsMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;GAKG;AACH,kEAAkE;AAClE,sEAAsE;AACtE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsGzB,CAAC;AAEzB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,IAAI,GAAG,sBAAsB,CAAC;AAEpC,MAAM,CAAC,MAAM,uCAAuC,GAClD,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO;IACP,IAAI;IACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;SAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,KAAK,iCAAiC,EAAE,CAAC;SACnE,MAAM,CAAC,KAAK,CAAC;IAChB,GAAG,EAAE,iCAAiC;IACtC,YAAY,EACV,kEAAkE;QAClE,2DAA2D;QAC3D,0DAA0D;QAC1D,4DAA4D;QAC5D,uEAAuE;QACvE,oEAAoE;QACpE,WAAW;IACb,wBAAwB,EAAE,EAAE;CAC7B,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PostgresMigration } from './postgresMigrationTypes.js';
2
+ /**
3
+ * Account-security and client-delivery schema: TOTP multi-factor state with
4
+ * one-time recovery codes, WebAuthn passkey credentials, browser Web Push
5
+ * subscriptions, and the verified recovery-drill history.
6
+ */
7
+ export declare const POSTGRES_MFA_PUSH_RECOVERY_SQL = "CREATE TABLE user_mfa (\n user_id text PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,\n totp_secret text NOT NULL,\n activated_at bigint,\n last_used_step bigint,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE mfa_recovery_codes (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n code_lookup text NOT NULL UNIQUE,\n created_at bigint NOT NULL,\n used_at bigint\n);\n\nCREATE INDEX idx_mfa_recovery_codes_user\n ON mfa_recovery_codes(user_id);\n\nCREATE TABLE webauthn_credentials (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n credential_lookup text NOT NULL UNIQUE,\n credential_data text NOT NULL,\n name text,\n sign_count bigint NOT NULL DEFAULT 0,\n created_at bigint NOT NULL,\n last_used_at bigint\n);\n\nCREATE INDEX idx_webauthn_credentials_user\n ON webauthn_credentials(user_id);\n\nCREATE TABLE push_subscriptions (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n session_id text,\n endpoint_lookup text NOT NULL UNIQUE,\n subscription text NOT NULL,\n user_agent text,\n created_at bigint NOT NULL,\n last_used_at bigint\n);\n\nCREATE INDEX idx_push_subscriptions_user\n ON push_subscriptions(user_id);\n\nCREATE TABLE recovery_drills (\n id text PRIMARY KEY,\n status text NOT NULL CHECK (status IN ('running', 'passed', 'failed')),\n origin text NOT NULL CHECK (origin IN ('scheduled', 'manual')),\n started_at bigint NOT NULL,\n finished_at bigint,\n snapshot_bytes bigint,\n rpo_seconds bigint,\n restore_ms bigint,\n error text,\n report text,\n created_by text,\n created_at bigint NOT NULL\n);\n\nCREATE INDEX idx_recovery_drills_started\n ON recovery_drills(started_at);";
8
+ export declare const POSTGRES_MFA_PUSH_RECOVERY_MIGRATION: PostgresMigration;
9
+ //# sourceMappingURL=postgresMfaPushRecoveryMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresMfaPushRecoveryMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AAIH,eAAO,MAAM,8BAA8B,ywDAgET,CAAC;AAKnC,eAAO,MAAM,oCAAoC,EAAE,iBAe/C,CAAC"}
@@ -0,0 +1,107 @@
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
+ import { createHash } from 'node:crypto';
18
+ /**
19
+ * Account-security and client-delivery schema: TOTP multi-factor state with
20
+ * one-time recovery codes, WebAuthn passkey credentials, browser Web Push
21
+ * subscriptions, and the verified recovery-drill history.
22
+ */
23
+ // CHECK expressions use the exact form PostgreSQL reconstructs in
24
+ // pg_get_constraintdef, so the schema inspector's declared and actual
25
+ // constraint texts normalize identically.
26
+ export const POSTGRES_MFA_PUSH_RECOVERY_SQL = `CREATE TABLE user_mfa (
27
+ user_id text PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
28
+ totp_secret text NOT NULL,
29
+ activated_at bigint,
30
+ last_used_step bigint,
31
+ created_at bigint NOT NULL,
32
+ updated_at bigint NOT NULL
33
+ );
34
+
35
+ CREATE TABLE mfa_recovery_codes (
36
+ id text PRIMARY KEY,
37
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
38
+ code_lookup text NOT NULL UNIQUE,
39
+ created_at bigint NOT NULL,
40
+ used_at bigint
41
+ );
42
+
43
+ CREATE INDEX idx_mfa_recovery_codes_user
44
+ ON mfa_recovery_codes(user_id);
45
+
46
+ CREATE TABLE webauthn_credentials (
47
+ id text PRIMARY KEY,
48
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
49
+ credential_lookup text NOT NULL UNIQUE,
50
+ credential_data text NOT NULL,
51
+ name text,
52
+ sign_count bigint NOT NULL DEFAULT 0,
53
+ created_at bigint NOT NULL,
54
+ last_used_at bigint
55
+ );
56
+
57
+ CREATE INDEX idx_webauthn_credentials_user
58
+ ON webauthn_credentials(user_id);
59
+
60
+ CREATE TABLE push_subscriptions (
61
+ id text PRIMARY KEY,
62
+ user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,
63
+ session_id text,
64
+ endpoint_lookup text NOT NULL UNIQUE,
65
+ subscription text NOT NULL,
66
+ user_agent text,
67
+ created_at bigint NOT NULL,
68
+ last_used_at bigint
69
+ );
70
+
71
+ CREATE INDEX idx_push_subscriptions_user
72
+ ON push_subscriptions(user_id);
73
+
74
+ CREATE TABLE recovery_drills (
75
+ id text PRIMARY KEY,
76
+ status text NOT NULL CHECK (status IN ('running', 'passed', 'failed')),
77
+ origin text NOT NULL CHECK (origin IN ('scheduled', 'manual')),
78
+ started_at bigint NOT NULL,
79
+ finished_at bigint,
80
+ snapshot_bytes bigint,
81
+ rpo_seconds bigint,
82
+ restore_ms bigint,
83
+ error text,
84
+ report text,
85
+ created_by text,
86
+ created_at bigint NOT NULL
87
+ );
88
+
89
+ CREATE INDEX idx_recovery_drills_started
90
+ ON recovery_drills(started_at);`;
91
+ const version = 20;
92
+ const name = 'mfa-push-recovery';
93
+ export const POSTGRES_MFA_PUSH_RECOVERY_MIGRATION = Object.freeze({
94
+ version,
95
+ name,
96
+ checksum: createHash('sha256')
97
+ .update(`${version}\n${name}\n${POSTGRES_MFA_PUSH_RECOVERY_SQL}`)
98
+ .digest('hex'),
99
+ sql: POSTGRES_MFA_PUSH_RECOVERY_SQL,
100
+ rollbackPlan: 'DROP TABLE recovery_drills, push_subscriptions, ' +
101
+ 'webauthn_credentials, mfa_recovery_codes, user_mfa; delete ledger ' +
102
+ 'row 20. Accounts fall back to password-only sign-in, browser push ' +
103
+ 'subscriptions are forgotten, and the recovery-drill history stops ' +
104
+ 'existing.',
105
+ minimumCompatibleVersion: 20,
106
+ });
107
+ //# sourceMappingURL=postgresMfaPushRecoveryMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresMfaPushRecoveryMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,kEAAkE;AAClE,sEAAsE;AACtE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgEZ,CAAC;AAEnC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC,MAAM,CAAC,MAAM,oCAAoC,GAC/C,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO;IACP,IAAI;IACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;SAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,KAAK,8BAA8B,EAAE,CAAC;SAChE,MAAM,CAAC,KAAK,CAAC;IAChB,GAAG,EAAE,8BAA8B;IACnC,YAAY,EACV,kDAAkD;QAClD,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,WAAW;IACb,wBAAwB,EAAE,EAAE;CAC7B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresMigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAoBzD,CAAC"}
1
+ {"version":3,"file":"postgresMigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EA0BzD,CAAC"}