libre-webui 0.21.3 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (945) hide show
  1. package/README.md +308 -328
  2. package/backend/dist/cli/migrateSqliteToPostgres.d.ts +2 -0
  3. package/backend/dist/cli/migrateSqliteToPostgres.d.ts.map +1 -0
  4. package/backend/dist/cli/migrateSqliteToPostgres.js +113 -0
  5. package/backend/dist/cli/migrateSqliteToPostgres.js.map +1 -0
  6. package/backend/dist/cli/recoveryBackup.d.ts +3 -0
  7. package/backend/dist/cli/recoveryBackup.d.ts.map +1 -0
  8. package/backend/dist/cli/recoveryBackup.js +251 -0
  9. package/backend/dist/cli/recoveryBackup.js.map +1 -0
  10. package/backend/dist/cli/recoveryInventory.d.ts +2 -0
  11. package/backend/dist/cli/recoveryInventory.d.ts.map +1 -0
  12. package/backend/dist/cli/recoveryInventory.js +109 -0
  13. package/backend/dist/cli/recoveryInventory.js.map +1 -0
  14. package/backend/dist/db.d.ts +27 -0
  15. package/backend/dist/db.d.ts.map +1 -1
  16. package/backend/dist/db.js +333 -16
  17. package/backend/dist/db.js.map +1 -1
  18. package/backend/dist/env.d.ts.map +1 -1
  19. package/backend/dist/env.js +12 -2
  20. package/backend/dist/env.js.map +1 -1
  21. package/backend/dist/index.d.ts.map +1 -1
  22. package/backend/dist/index.js +235 -47
  23. package/backend/dist/index.js.map +1 -1
  24. package/backend/dist/main.d.ts +2 -0
  25. package/backend/dist/main.d.ts.map +1 -0
  26. package/backend/dist/main.js +137 -0
  27. package/backend/dist/main.js.map +1 -0
  28. package/backend/dist/middleware/auth.d.ts.map +1 -1
  29. package/backend/dist/middleware/auth.js +7 -3
  30. package/backend/dist/middleware/auth.js.map +1 -1
  31. package/backend/dist/middleware/chatCancellationAdmission.d.ts +7 -0
  32. package/backend/dist/middleware/chatCancellationAdmission.d.ts.map +1 -0
  33. package/backend/dist/middleware/chatCancellationAdmission.js +17 -0
  34. package/backend/dist/middleware/chatCancellationAdmission.js.map +1 -0
  35. package/backend/dist/middleware/coordinatedRateLimit.d.ts +18 -0
  36. package/backend/dist/middleware/coordinatedRateLimit.d.ts.map +1 -0
  37. package/backend/dist/middleware/coordinatedRateLimit.js +52 -0
  38. package/backend/dist/middleware/coordinatedRateLimit.js.map +1 -0
  39. package/backend/dist/middleware/sharedRateLimit.d.ts +26 -0
  40. package/backend/dist/middleware/sharedRateLimit.d.ts.map +1 -0
  41. package/backend/dist/middleware/sharedRateLimit.js +99 -0
  42. package/backend/dist/middleware/sharedRateLimit.js.map +1 -0
  43. package/backend/dist/models/personaModel.d.ts +1 -26
  44. package/backend/dist/models/personaModel.d.ts.map +1 -1
  45. package/backend/dist/models/personaModel.js +54 -247
  46. package/backend/dist/models/personaModel.js.map +1 -1
  47. package/backend/dist/models/userModel.d.ts +23 -66
  48. package/backend/dist/models/userModel.d.ts.map +1 -1
  49. package/backend/dist/models/userModel.js +110 -187
  50. package/backend/dist/models/userModel.js.map +1 -1
  51. package/backend/dist/persistence/chatGenerationTypes.d.ts +24 -0
  52. package/backend/dist/persistence/chatGenerationTypes.d.ts.map +1 -0
  53. package/backend/dist/persistence/chatGenerationTypes.js +7 -0
  54. package/backend/dist/persistence/chatGenerationTypes.js.map +1 -0
  55. package/backend/dist/persistence/extensionTypes.d.ts +185 -0
  56. package/backend/dist/persistence/extensionTypes.d.ts.map +1 -0
  57. package/backend/dist/persistence/extensionTypes.js +13 -0
  58. package/backend/dist/persistence/extensionTypes.js.map +1 -0
  59. package/backend/dist/persistence/identityDeletionTypes.d.ts +16 -0
  60. package/backend/dist/persistence/identityDeletionTypes.d.ts.map +1 -0
  61. package/backend/dist/persistence/identityDeletionTypes.js +7 -0
  62. package/backend/dist/persistence/identityDeletionTypes.js.map +1 -0
  63. package/backend/dist/persistence/index.d.ts +48 -0
  64. package/backend/dist/persistence/index.d.ts.map +1 -0
  65. package/backend/dist/persistence/index.js +159 -0
  66. package/backend/dist/persistence/index.js.map +1 -0
  67. package/backend/dist/persistence/postgresConfig.d.ts +32 -0
  68. package/backend/dist/persistence/postgresConfig.d.ts.map +1 -0
  69. package/backend/dist/persistence/postgresConfig.js +91 -0
  70. package/backend/dist/persistence/postgresConfig.js.map +1 -0
  71. package/backend/dist/persistence/postgresCoreMigration.d.ts +8 -0
  72. package/backend/dist/persistence/postgresCoreMigration.d.ts.map +1 -0
  73. package/backend/dist/persistence/postgresCoreMigration.js +179 -0
  74. package/backend/dist/persistence/postgresCoreMigration.js.map +1 -0
  75. package/backend/dist/persistence/postgresDatabase.d.ts +40 -0
  76. package/backend/dist/persistence/postgresDatabase.d.ts.map +1 -0
  77. package/backend/dist/persistence/postgresDatabase.js +148 -0
  78. package/backend/dist/persistence/postgresDatabase.js.map +1 -0
  79. package/backend/dist/persistence/postgresExtensionMigration.d.ts +4 -0
  80. package/backend/dist/persistence/postgresExtensionMigration.d.ts.map +1 -0
  81. package/backend/dist/persistence/postgresExtensionMigration.js +143 -0
  82. package/backend/dist/persistence/postgresExtensionMigration.js.map +1 -0
  83. package/backend/dist/persistence/postgresExtensionRepositories.d.ts +6 -0
  84. package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -0
  85. package/backend/dist/persistence/postgresExtensionRepositories.js +550 -0
  86. package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -0
  87. package/backend/dist/persistence/postgresImportState.d.ts +9 -0
  88. package/backend/dist/persistence/postgresImportState.d.ts.map +1 -0
  89. package/backend/dist/persistence/postgresImportState.js +64 -0
  90. package/backend/dist/persistence/postgresImportState.js.map +1 -0
  91. package/backend/dist/persistence/postgresMigrationRegistry.d.ts +4 -0
  92. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -0
  93. package/backend/dist/persistence/postgresMigrationRegistry.js +33 -0
  94. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -0
  95. package/backend/dist/persistence/postgresMigrationTypes.d.ts +24 -0
  96. package/backend/dist/persistence/postgresMigrationTypes.d.ts.map +1 -0
  97. package/backend/dist/persistence/postgresMigrationTypes.js +7 -0
  98. package/backend/dist/persistence/postgresMigrationTypes.js.map +1 -0
  99. package/backend/dist/persistence/postgresMigrations.d.ts +15 -0
  100. package/backend/dist/persistence/postgresMigrations.d.ts.map +1 -0
  101. package/backend/dist/persistence/postgresMigrations.js +333 -0
  102. package/backend/dist/persistence/postgresMigrations.js.map +1 -0
  103. package/backend/dist/persistence/postgresPersistence.d.ts +17 -0
  104. package/backend/dist/persistence/postgresPersistence.d.ts.map +1 -0
  105. package/backend/dist/persistence/postgresPersistence.js +332 -0
  106. package/backend/dist/persistence/postgresPersistence.js.map +1 -0
  107. package/backend/dist/persistence/postgresPluginDefinitionMigration.d.ts +4 -0
  108. package/backend/dist/persistence/postgresPluginDefinitionMigration.d.ts.map +1 -0
  109. package/backend/dist/persistence/postgresPluginDefinitionMigration.js +40 -0
  110. package/backend/dist/persistence/postgresPluginDefinitionMigration.js.map +1 -0
  111. package/backend/dist/persistence/postgresResourceRepositories.d.ts +7 -0
  112. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -0
  113. package/backend/dist/persistence/postgresResourceRepositories.js +776 -0
  114. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -0
  115. package/backend/dist/persistence/postgresSchemaInspector.d.ts +14 -0
  116. package/backend/dist/persistence/postgresSchemaInspector.d.ts.map +1 -0
  117. package/backend/dist/persistence/postgresSchemaInspector.js +817 -0
  118. package/backend/dist/persistence/postgresSchemaInspector.js.map +1 -0
  119. package/backend/dist/persistence/resourceTypes.d.ts +207 -0
  120. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -0
  121. package/backend/dist/persistence/resourceTypes.js +38 -0
  122. package/backend/dist/persistence/resourceTypes.js.map +1 -0
  123. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts +4 -0
  124. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -0
  125. package/backend/dist/persistence/sqliteExtensionRepositories.js +494 -0
  126. package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -0
  127. package/backend/dist/persistence/sqliteMigrations.d.ts +93 -0
  128. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -0
  129. package/backend/dist/persistence/sqliteMigrations.js +2232 -0
  130. package/backend/dist/persistence/sqliteMigrations.js.map +1 -0
  131. package/backend/dist/persistence/sqlitePersistence.d.ts +23 -0
  132. package/backend/dist/persistence/sqlitePersistence.d.ts.map +1 -0
  133. package/backend/dist/persistence/sqlitePersistence.js +596 -0
  134. package/backend/dist/persistence/sqlitePersistence.js.map +1 -0
  135. package/backend/dist/persistence/sqliteResourceRepositories.d.ts +4 -0
  136. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -0
  137. package/backend/dist/persistence/sqliteResourceRepositories.js +663 -0
  138. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -0
  139. package/backend/dist/persistence/sqliteSyncExecutor.d.ts +5 -0
  140. package/backend/dist/persistence/sqliteSyncExecutor.d.ts.map +1 -0
  141. package/backend/dist/persistence/sqliteSyncExecutor.js +19 -0
  142. package/backend/dist/persistence/sqliteSyncExecutor.js.map +1 -0
  143. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts +80 -0
  144. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -0
  145. package/backend/dist/persistence/sqliteToPostgresMigration.js +1543 -0
  146. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -0
  147. package/backend/dist/persistence/types.d.ts +131 -0
  148. package/backend/dist/persistence/types.d.ts.map +1 -0
  149. package/backend/dist/persistence/types.js +18 -0
  150. package/backend/dist/persistence/types.js.map +1 -0
  151. package/backend/dist/persistence/voiceProfileNameLookup.d.ts +9 -0
  152. package/backend/dist/persistence/voiceProfileNameLookup.d.ts.map +1 -0
  153. package/backend/dist/persistence/voiceProfileNameLookup.js +15 -0
  154. package/backend/dist/persistence/voiceProfileNameLookup.js.map +1 -0
  155. package/backend/dist/platform/coordination/index.d.ts +7 -0
  156. package/backend/dist/platform/coordination/index.d.ts.map +1 -0
  157. package/backend/dist/platform/coordination/index.js +24 -0
  158. package/backend/dist/platform/coordination/index.js.map +1 -0
  159. package/backend/dist/platform/coordination/localCoordinator.d.ts +49 -0
  160. package/backend/dist/platform/coordination/localCoordinator.d.ts.map +1 -0
  161. package/backend/dist/platform/coordination/localCoordinator.js +380 -0
  162. package/backend/dist/platform/coordination/localCoordinator.js.map +1 -0
  163. package/backend/dist/platform/coordination/redisCoordinator.d.ts +83 -0
  164. package/backend/dist/platform/coordination/redisCoordinator.d.ts.map +1 -0
  165. package/backend/dist/platform/coordination/redisCoordinator.js +726 -0
  166. package/backend/dist/platform/coordination/redisCoordinator.js.map +1 -0
  167. package/backend/dist/platform/coordination/service.d.ts +11 -0
  168. package/backend/dist/platform/coordination/service.d.ts.map +1 -0
  169. package/backend/dist/platform/coordination/service.js +55 -0
  170. package/backend/dist/platform/coordination/service.js.map +1 -0
  171. package/backend/dist/platform/coordination/sharedAdmission.d.ts +53 -0
  172. package/backend/dist/platform/coordination/sharedAdmission.d.ts.map +1 -0
  173. package/backend/dist/platform/coordination/sharedAdmission.js +194 -0
  174. package/backend/dist/platform/coordination/sharedAdmission.js.map +1 -0
  175. package/backend/dist/platform/coordination/types.d.ts +76 -0
  176. package/backend/dist/platform/coordination/types.d.ts.map +1 -0
  177. package/backend/dist/platform/coordination/types.js +32 -0
  178. package/backend/dist/platform/coordination/types.js.map +1 -0
  179. package/backend/dist/platform/events/durableEventGateway.d.ts +54 -0
  180. package/backend/dist/platform/events/durableEventGateway.d.ts.map +1 -0
  181. package/backend/dist/platform/events/durableEventGateway.js +262 -0
  182. package/backend/dist/platform/events/durableEventGateway.js.map +1 -0
  183. package/backend/dist/platform/events/index.d.ts +3 -0
  184. package/backend/dist/platform/events/index.d.ts.map +1 -0
  185. package/backend/dist/platform/events/index.js +8 -0
  186. package/backend/dist/platform/events/index.js.map +1 -0
  187. package/backend/dist/platform/events/service.d.ts +8 -0
  188. package/backend/dist/platform/events/service.d.ts.map +1 -0
  189. package/backend/dist/platform/events/service.js +25 -0
  190. package/backend/dist/platform/events/service.js.map +1 -0
  191. package/backend/dist/platform/jobs/chatGenerationEnqueuer.d.ts +3 -0
  192. package/backend/dist/platform/jobs/chatGenerationEnqueuer.d.ts.map +1 -0
  193. package/backend/dist/platform/jobs/chatGenerationEnqueuer.js +55 -0
  194. package/backend/dist/platform/jobs/chatGenerationEnqueuer.js.map +1 -0
  195. package/backend/dist/platform/jobs/documentIngestionEnqueuer.d.ts +3 -0
  196. package/backend/dist/platform/jobs/documentIngestionEnqueuer.d.ts.map +1 -0
  197. package/backend/dist/platform/jobs/documentIngestionEnqueuer.js +38 -0
  198. package/backend/dist/platform/jobs/documentIngestionEnqueuer.js.map +1 -0
  199. package/backend/dist/platform/jobs/domainJobContracts.d.ts +30 -0
  200. package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -0
  201. package/backend/dist/platform/jobs/domainJobContracts.js +53 -0
  202. package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -0
  203. package/backend/dist/platform/jobs/domainJobHandlers.d.ts +11 -0
  204. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -0
  205. package/backend/dist/platform/jobs/domainJobHandlers.js +617 -0
  206. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -0
  207. package/backend/dist/platform/jobs/durableEventIdentity.d.ts +8 -0
  208. package/backend/dist/platform/jobs/durableEventIdentity.d.ts.map +1 -0
  209. package/backend/dist/platform/jobs/durableEventIdentity.js +33 -0
  210. package/backend/dist/platform/jobs/durableEventIdentity.js.map +1 -0
  211. package/backend/dist/platform/jobs/durableJobRuntime.d.ts +57 -0
  212. package/backend/dist/platform/jobs/durableJobRuntime.d.ts.map +1 -0
  213. package/backend/dist/platform/jobs/durableJobRuntime.js +131 -0
  214. package/backend/dist/platform/jobs/durableJobRuntime.js.map +1 -0
  215. package/backend/dist/platform/jobs/durableJobRuntimeBackend.d.ts +28 -0
  216. package/backend/dist/platform/jobs/durableJobRuntimeBackend.d.ts.map +1 -0
  217. package/backend/dist/platform/jobs/durableJobRuntimeBackend.js +62 -0
  218. package/backend/dist/platform/jobs/durableJobRuntimeBackend.js.map +1 -0
  219. package/backend/dist/platform/jobs/durableJobService.d.ts +85 -0
  220. package/backend/dist/platform/jobs/durableJobService.d.ts.map +1 -0
  221. package/backend/dist/platform/jobs/durableJobService.js +726 -0
  222. package/backend/dist/platform/jobs/durableJobService.js.map +1 -0
  223. package/backend/dist/platform/jobs/durableJobTypes.d.ts +195 -0
  224. package/backend/dist/platform/jobs/durableJobTypes.d.ts.map +1 -0
  225. package/backend/dist/platform/jobs/durableJobTypes.js +72 -0
  226. package/backend/dist/platform/jobs/durableJobTypes.js.map +1 -0
  227. package/backend/dist/platform/jobs/embeddedDurableJobWorker.d.ts +87 -0
  228. package/backend/dist/platform/jobs/embeddedDurableJobWorker.d.ts.map +1 -0
  229. package/backend/dist/platform/jobs/embeddedDurableJobWorker.js +429 -0
  230. package/backend/dist/platform/jobs/embeddedDurableJobWorker.js.map +1 -0
  231. package/backend/dist/platform/jobs/identityDeletionEnqueuer.d.ts +3 -0
  232. package/backend/dist/platform/jobs/identityDeletionEnqueuer.d.ts.map +1 -0
  233. package/backend/dist/platform/jobs/identityDeletionEnqueuer.js +36 -0
  234. package/backend/dist/platform/jobs/identityDeletionEnqueuer.js.map +1 -0
  235. package/backend/dist/platform/jobs/index.d.ts +18 -0
  236. package/backend/dist/platform/jobs/index.d.ts.map +1 -0
  237. package/backend/dist/platform/jobs/index.js +34 -0
  238. package/backend/dist/platform/jobs/index.js.map +1 -0
  239. package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.d.ts +4 -0
  240. package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.d.ts.map +1 -0
  241. package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.js +25 -0
  242. package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.js.map +1 -0
  243. package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.d.ts +4 -0
  244. package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.d.ts.map +1 -0
  245. package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.js +23 -0
  246. package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.js.map +1 -0
  247. package/backend/dist/platform/jobs/postgresDurableJobMigration.d.ts +11 -0
  248. package/backend/dist/platform/jobs/postgresDurableJobMigration.d.ts.map +1 -0
  249. package/backend/dist/platform/jobs/postgresDurableJobMigration.js +106 -0
  250. package/backend/dist/platform/jobs/postgresDurableJobMigration.js.map +1 -0
  251. package/backend/dist/platform/jobs/postgresDurableJobRepository.d.ts +88 -0
  252. package/backend/dist/platform/jobs/postgresDurableJobRepository.d.ts.map +1 -0
  253. package/backend/dist/platform/jobs/postgresDurableJobRepository.js +1185 -0
  254. package/backend/dist/platform/jobs/postgresDurableJobRepository.js.map +1 -0
  255. package/backend/dist/platform/jobs/postgresDurableJobService.d.ts +86 -0
  256. package/backend/dist/platform/jobs/postgresDurableJobService.d.ts.map +1 -0
  257. package/backend/dist/platform/jobs/postgresDurableJobService.js +696 -0
  258. package/backend/dist/platform/jobs/postgresDurableJobService.js.map +1 -0
  259. package/backend/dist/platform/jobs/postgresDurableJobWorker.d.ts +53 -0
  260. package/backend/dist/platform/jobs/postgresDurableJobWorker.d.ts.map +1 -0
  261. package/backend/dist/platform/jobs/postgresDurableJobWorker.js +393 -0
  262. package/backend/dist/platform/jobs/postgresDurableJobWorker.js.map +1 -0
  263. package/backend/dist/platform/jobs/resourceDeletionEnqueuer.d.ts +3 -0
  264. package/backend/dist/platform/jobs/resourceDeletionEnqueuer.d.ts.map +1 -0
  265. package/backend/dist/platform/jobs/resourceDeletionEnqueuer.js +43 -0
  266. package/backend/dist/platform/jobs/resourceDeletionEnqueuer.js.map +1 -0
  267. package/backend/dist/platform/jobs/sqliteDurableJobRepository.d.ts +166 -0
  268. package/backend/dist/platform/jobs/sqliteDurableJobRepository.d.ts.map +1 -0
  269. package/backend/dist/platform/jobs/sqliteDurableJobRepository.js +1008 -0
  270. package/backend/dist/platform/jobs/sqliteDurableJobRepository.js.map +1 -0
  271. package/backend/dist/platform/jobs/videoGenerationEnqueuer.d.ts +4 -0
  272. package/backend/dist/platform/jobs/videoGenerationEnqueuer.d.ts.map +1 -0
  273. package/backend/dist/platform/jobs/videoGenerationEnqueuer.js +46 -0
  274. package/backend/dist/platform/jobs/videoGenerationEnqueuer.js.map +1 -0
  275. package/backend/dist/platform/jobs/workExecutionEnqueuer.d.ts +3 -0
  276. package/backend/dist/platform/jobs/workExecutionEnqueuer.d.ts.map +1 -0
  277. package/backend/dist/platform/jobs/workExecutionEnqueuer.js +38 -0
  278. package/backend/dist/platform/jobs/workExecutionEnqueuer.js.map +1 -0
  279. package/backend/dist/platform/ollamaRuntimeConfig.d.ts +40 -0
  280. package/backend/dist/platform/ollamaRuntimeConfig.d.ts.map +1 -0
  281. package/backend/dist/platform/ollamaRuntimeConfig.js +72 -0
  282. package/backend/dist/platform/ollamaRuntimeConfig.js.map +1 -0
  283. package/backend/dist/platform/recovery/backupArchive.d.ts +120 -0
  284. package/backend/dist/platform/recovery/backupArchive.d.ts.map +1 -0
  285. package/backend/dist/platform/recovery/backupArchive.js +842 -0
  286. package/backend/dist/platform/recovery/backupArchive.js.map +1 -0
  287. package/backend/dist/platform/recovery/index.d.ts +3 -0
  288. package/backend/dist/platform/recovery/index.d.ts.map +1 -0
  289. package/backend/dist/platform/recovery/index.js +8 -0
  290. package/backend/dist/platform/recovery/index.js.map +1 -0
  291. package/backend/dist/platform/recovery/teamBackupArchive.d.ts +98 -0
  292. package/backend/dist/platform/recovery/teamBackupArchive.d.ts.map +1 -0
  293. package/backend/dist/platform/recovery/teamBackupArchive.js +1203 -0
  294. package/backend/dist/platform/recovery/teamBackupArchive.js.map +1 -0
  295. package/backend/dist/platform/runtimeConfig.d.ts +70 -0
  296. package/backend/dist/platform/runtimeConfig.d.ts.map +1 -0
  297. package/backend/dist/platform/runtimeConfig.js +205 -0
  298. package/backend/dist/platform/runtimeConfig.js.map +1 -0
  299. package/backend/dist/platform/storage/aesGcmKeyring.d.ts +26 -0
  300. package/backend/dist/platform/storage/aesGcmKeyring.d.ts.map +1 -0
  301. package/backend/dist/platform/storage/aesGcmKeyring.js +135 -0
  302. package/backend/dist/platform/storage/aesGcmKeyring.js.map +1 -0
  303. package/backend/dist/platform/storage/blobReferenceRepository.d.ts +36 -0
  304. package/backend/dist/platform/storage/blobReferenceRepository.d.ts.map +1 -0
  305. package/backend/dist/platform/storage/blobReferenceRepository.js +117 -0
  306. package/backend/dist/platform/storage/blobReferenceRepository.js.map +1 -0
  307. package/backend/dist/platform/storage/blobStore.d.ts +111 -0
  308. package/backend/dist/platform/storage/blobStore.d.ts.map +1 -0
  309. package/backend/dist/platform/storage/blobStore.js +46 -0
  310. package/backend/dist/platform/storage/blobStore.js.map +1 -0
  311. package/backend/dist/platform/storage/documentVectorIndex.d.ts +44 -0
  312. package/backend/dist/platform/storage/documentVectorIndex.d.ts.map +1 -0
  313. package/backend/dist/platform/storage/documentVectorIndex.js +110 -0
  314. package/backend/dist/platform/storage/documentVectorIndex.js.map +1 -0
  315. package/backend/dist/platform/storage/durableBlobQuotaPolicy.d.ts +82 -0
  316. package/backend/dist/platform/storage/durableBlobQuotaPolicy.d.ts.map +1 -0
  317. package/backend/dist/platform/storage/durableBlobQuotaPolicy.js +583 -0
  318. package/backend/dist/platform/storage/durableBlobQuotaPolicy.js.map +1 -0
  319. package/backend/dist/platform/storage/index.d.ts +19 -0
  320. package/backend/dist/platform/storage/index.d.ts.map +1 -0
  321. package/backend/dist/platform/storage/index.js +35 -0
  322. package/backend/dist/platform/storage/index.js.map +1 -0
  323. package/backend/dist/platform/storage/localEncryptedBlobStore.d.ts +120 -0
  324. package/backend/dist/platform/storage/localEncryptedBlobStore.d.ts.map +1 -0
  325. package/backend/dist/platform/storage/localEncryptedBlobStore.js +1205 -0
  326. package/backend/dist/platform/storage/localEncryptedBlobStore.js.map +1 -0
  327. package/backend/dist/platform/storage/personaMemoryIndexing.d.ts +12 -0
  328. package/backend/dist/platform/storage/personaMemoryIndexing.d.ts.map +1 -0
  329. package/backend/dist/platform/storage/personaMemoryIndexing.js +25 -0
  330. package/backend/dist/platform/storage/personaMemoryIndexing.js.map +1 -0
  331. package/backend/dist/platform/storage/pgVectorStore.d.ts +37 -0
  332. package/backend/dist/platform/storage/pgVectorStore.d.ts.map +1 -0
  333. package/backend/dist/platform/storage/pgVectorStore.js +493 -0
  334. package/backend/dist/platform/storage/pgVectorStore.js.map +1 -0
  335. package/backend/dist/platform/storage/platformDomainRepositories.d.ts +244 -0
  336. package/backend/dist/platform/storage/platformDomainRepositories.d.ts.map +1 -0
  337. package/backend/dist/platform/storage/platformDomainRepositories.js +7 -0
  338. package/backend/dist/platform/storage/platformDomainRepositories.js.map +1 -0
  339. package/backend/dist/platform/storage/platformStorageRuntime.d.ts +35 -0
  340. package/backend/dist/platform/storage/platformStorageRuntime.d.ts.map +1 -0
  341. package/backend/dist/platform/storage/platformStorageRuntime.js +299 -0
  342. package/backend/dist/platform/storage/platformStorageRuntime.js.map +1 -0
  343. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.d.ts +4 -0
  344. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.d.ts.map +1 -0
  345. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js +1017 -0
  346. package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js.map +1 -0
  347. package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.d.ts +4 -0
  348. package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.d.ts.map +1 -0
  349. package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.js +40 -0
  350. package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.js.map +1 -0
  351. package/backend/dist/platform/storage/resourceContentCleanup.d.ts +29 -0
  352. package/backend/dist/platform/storage/resourceContentCleanup.d.ts.map +1 -0
  353. package/backend/dist/platform/storage/resourceContentCleanup.js +100 -0
  354. package/backend/dist/platform/storage/resourceContentCleanup.js.map +1 -0
  355. package/backend/dist/platform/storage/resourceDeletionLifecycle.d.ts +14 -0
  356. package/backend/dist/platform/storage/resourceDeletionLifecycle.d.ts.map +1 -0
  357. package/backend/dist/platform/storage/resourceDeletionLifecycle.js +31 -0
  358. package/backend/dist/platform/storage/resourceDeletionLifecycle.js.map +1 -0
  359. package/backend/dist/platform/storage/s3EncryptedBlobStore.d.ts +140 -0
  360. package/backend/dist/platform/storage/s3EncryptedBlobStore.d.ts.map +1 -0
  361. package/backend/dist/platform/storage/s3EncryptedBlobStore.js +1309 -0
  362. package/backend/dist/platform/storage/s3EncryptedBlobStore.js.map +1 -0
  363. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts +71 -0
  364. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts.map +1 -0
  365. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js +766 -0
  366. package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js.map +1 -0
  367. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.d.ts +4 -0
  368. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.d.ts.map +1 -0
  369. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js +1037 -0
  370. package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js.map +1 -0
  371. package/backend/dist/platform/storage/sqliteToTeamStorageMigration.d.ts +25 -0
  372. package/backend/dist/platform/storage/sqliteToTeamStorageMigration.d.ts.map +1 -0
  373. package/backend/dist/platform/storage/sqliteToTeamStorageMigration.js +1292 -0
  374. package/backend/dist/platform/storage/sqliteToTeamStorageMigration.js.map +1 -0
  375. package/backend/dist/platform/storage/storageFactory.d.ts +83 -0
  376. package/backend/dist/platform/storage/storageFactory.d.ts.map +1 -0
  377. package/backend/dist/platform/storage/storageFactory.js +530 -0
  378. package/backend/dist/platform/storage/storageFactory.js.map +1 -0
  379. package/backend/dist/platform/storage/storageSchemaContracts.d.ts +22 -0
  380. package/backend/dist/platform/storage/storageSchemaContracts.d.ts.map +1 -0
  381. package/backend/dist/platform/storage/storageSchemaContracts.js +299 -0
  382. package/backend/dist/platform/storage/storageSchemaContracts.js.map +1 -0
  383. package/backend/dist/platform/storage/vectorStore.d.ts +117 -0
  384. package/backend/dist/platform/storage/vectorStore.d.ts.map +1 -0
  385. package/backend/dist/platform/storage/vectorStore.js +40 -0
  386. package/backend/dist/platform/storage/vectorStore.js.map +1 -0
  387. package/backend/dist/platform/workPersistence/index.d.ts +9 -0
  388. package/backend/dist/platform/workPersistence/index.d.ts.map +1 -0
  389. package/backend/dist/platform/workPersistence/index.js +14 -0
  390. package/backend/dist/platform/workPersistence/index.js.map +1 -0
  391. package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.d.ts +9 -0
  392. package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.d.ts.map +1 -0
  393. package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.js +47 -0
  394. package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.js.map +1 -0
  395. package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.d.ts +3 -0
  396. package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.d.ts.map +1 -0
  397. package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.js +28 -0
  398. package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.js.map +1 -0
  399. package/backend/dist/platform/workPersistence/postgresWorkMigration.d.ts +3 -0
  400. package/backend/dist/platform/workPersistence/postgresWorkMigration.d.ts.map +1 -0
  401. package/backend/dist/platform/workPersistence/postgresWorkMigration.js +101 -0
  402. package/backend/dist/platform/workPersistence/postgresWorkMigration.js.map +1 -0
  403. package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts +79 -0
  404. package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -0
  405. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +521 -0
  406. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -0
  407. package/backend/dist/platform/workPersistence/service.d.ts +6 -0
  408. package/backend/dist/platform/workPersistence/service.d.ts.map +1 -0
  409. package/backend/dist/platform/workPersistence/service.js +27 -0
  410. package/backend/dist/platform/workPersistence/service.js.map +1 -0
  411. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts +77 -0
  412. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -0
  413. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +463 -0
  414. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -0
  415. package/backend/dist/platform/workPersistence/types.d.ts +159 -0
  416. package/backend/dist/platform/workPersistence/types.d.ts.map +1 -0
  417. package/backend/dist/platform/workPersistence/types.js +13 -0
  418. package/backend/dist/platform/workPersistence/types.js.map +1 -0
  419. package/backend/dist/platform/workPersistence/workExecutionTypes.d.ts +13 -0
  420. package/backend/dist/platform/workPersistence/workExecutionTypes.d.ts.map +1 -0
  421. package/backend/dist/platform/workPersistence/workExecutionTypes.js +7 -0
  422. package/backend/dist/platform/workPersistence/workExecutionTypes.js.map +1 -0
  423. package/backend/dist/platform/workPersistence/workMessageContentCodec.d.ts +8 -0
  424. package/backend/dist/platform/workPersistence/workMessageContentCodec.d.ts.map +1 -0
  425. package/backend/dist/platform/workPersistence/workMessageContentCodec.js +25 -0
  426. package/backend/dist/platform/workPersistence/workMessageContentCodec.js.map +1 -0
  427. package/backend/dist/platform/workPersistence/workTextSafety.d.ts +3 -0
  428. package/backend/dist/platform/workPersistence/workTextSafety.d.ts.map +1 -0
  429. package/backend/dist/platform/workPersistence/workTextSafety.js +8 -0
  430. package/backend/dist/platform/workPersistence/workTextSafety.js.map +1 -0
  431. package/backend/dist/routes/agentCli.js +1 -1
  432. package/backend/dist/routes/agentCli.js.map +1 -1
  433. package/backend/dist/routes/artifacts.d.ts.map +1 -1
  434. package/backend/dist/routes/artifacts.js +2 -1
  435. package/backend/dist/routes/artifacts.js.map +1 -1
  436. package/backend/dist/routes/auth.d.ts.map +1 -1
  437. package/backend/dist/routes/auth.js +64 -18
  438. package/backend/dist/routes/auth.js.map +1 -1
  439. package/backend/dist/routes/chat.d.ts.map +1 -1
  440. package/backend/dist/routes/chat.js +519 -85
  441. package/backend/dist/routes/chat.js.map +1 -1
  442. package/backend/dist/routes/documents.d.ts.map +1 -1
  443. package/backend/dist/routes/documents.js +134 -28
  444. package/backend/dist/routes/documents.js.map +1 -1
  445. package/backend/dist/routes/embeddings.d.ts.map +1 -1
  446. package/backend/dist/routes/embeddings.js +2 -1
  447. package/backend/dist/routes/embeddings.js.map +1 -1
  448. package/backend/dist/routes/health.d.ts +3 -0
  449. package/backend/dist/routes/health.d.ts.map +1 -0
  450. package/backend/dist/routes/health.js +52 -0
  451. package/backend/dist/routes/health.js.map +1 -0
  452. package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
  453. package/backend/dist/routes/huggingfaceHub.js +2 -1
  454. package/backend/dist/routes/huggingfaceHub.js.map +1 -1
  455. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  456. package/backend/dist/routes/imageGen.js +42 -10
  457. package/backend/dist/routes/imageGen.js.map +1 -1
  458. package/backend/dist/routes/jobs.d.ts +3 -0
  459. package/backend/dist/routes/jobs.d.ts.map +1 -0
  460. package/backend/dist/routes/jobs.js +126 -0
  461. package/backend/dist/routes/jobs.js.map +1 -0
  462. package/backend/dist/routes/libreClaw.d.ts.map +1 -1
  463. package/backend/dist/routes/libreClaw.js +10 -7
  464. package/backend/dist/routes/libreClaw.js.map +1 -1
  465. package/backend/dist/routes/media.d.ts.map +1 -1
  466. package/backend/dist/routes/media.js +523 -77
  467. package/backend/dist/routes/media.js.map +1 -1
  468. package/backend/dist/routes/notes.d.ts.map +1 -1
  469. package/backend/dist/routes/notes.js +21 -21
  470. package/backend/dist/routes/notes.js.map +1 -1
  471. package/backend/dist/routes/ollama.d.ts.map +1 -1
  472. package/backend/dist/routes/ollama.js +40 -12
  473. package/backend/dist/routes/ollama.js.map +1 -1
  474. package/backend/dist/routes/personas.d.ts.map +1 -1
  475. package/backend/dist/routes/personas.js +4 -2
  476. package/backend/dist/routes/personas.js.map +1 -1
  477. package/backend/dist/routes/plugins.d.ts.map +1 -1
  478. package/backend/dist/routes/plugins.js +79 -51
  479. package/backend/dist/routes/plugins.js.map +1 -1
  480. package/backend/dist/routes/preferences.d.ts.map +1 -1
  481. package/backend/dist/routes/preferences.js +290 -25
  482. package/backend/dist/routes/preferences.js.map +1 -1
  483. package/backend/dist/routes/search.d.ts.map +1 -1
  484. package/backend/dist/routes/search.js +23 -14
  485. package/backend/dist/routes/search.js.map +1 -1
  486. package/backend/dist/routes/stt.d.ts +9 -0
  487. package/backend/dist/routes/stt.d.ts.map +1 -0
  488. package/backend/dist/routes/stt.js +217 -0
  489. package/backend/dist/routes/stt.js.map +1 -0
  490. package/backend/dist/routes/systemDiagnostics.d.ts.map +1 -1
  491. package/backend/dist/routes/systemDiagnostics.js +2 -1
  492. package/backend/dist/routes/systemDiagnostics.js.map +1 -1
  493. package/backend/dist/routes/tts.d.ts.map +1 -1
  494. package/backend/dist/routes/tts.js +577 -28
  495. package/backend/dist/routes/tts.js.map +1 -1
  496. package/backend/dist/routes/users.d.ts.map +1 -1
  497. package/backend/dist/routes/users.js +16 -25
  498. package/backend/dist/routes/users.js.map +1 -1
  499. package/backend/dist/routes/work.d.ts.map +1 -1
  500. package/backend/dist/routes/work.js +167 -113
  501. package/backend/dist/routes/work.js.map +1 -1
  502. package/backend/dist/services/agentAccessService.d.ts +2 -2
  503. package/backend/dist/services/agentAccessService.d.ts.map +1 -1
  504. package/backend/dist/services/agentAccessService.js +5 -14
  505. package/backend/dist/services/agentAccessService.js.map +1 -1
  506. package/backend/dist/services/agentCliService.d.ts +3 -2
  507. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  508. package/backend/dist/services/agentCliService.js +44 -16
  509. package/backend/dist/services/agentCliService.js.map +1 -1
  510. package/backend/dist/services/assistantCompletionService.d.ts +2 -1
  511. package/backend/dist/services/assistantCompletionService.d.ts.map +1 -1
  512. package/backend/dist/services/assistantCompletionService.js +7 -3
  513. package/backend/dist/services/assistantCompletionService.js.map +1 -1
  514. package/backend/dist/services/authService.d.ts +7 -2
  515. package/backend/dist/services/authService.d.ts.map +1 -1
  516. package/backend/dist/services/authService.js +23 -10
  517. package/backend/dist/services/authService.js.map +1 -1
  518. package/backend/dist/services/chatGenerationService.d.ts +5 -4
  519. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  520. package/backend/dist/services/chatGenerationService.js +23 -17
  521. package/backend/dist/services/chatGenerationService.js.map +1 -1
  522. package/backend/dist/services/chatRequestService.d.ts +4 -3
  523. package/backend/dist/services/chatRequestService.d.ts.map +1 -1
  524. package/backend/dist/services/chatRequestService.js +3 -3
  525. package/backend/dist/services/chatRequestService.js.map +1 -1
  526. package/backend/dist/services/chatService.d.ts +66 -16
  527. package/backend/dist/services/chatService.d.ts.map +1 -1
  528. package/backend/dist/services/chatService.js +402 -111
  529. package/backend/dist/services/chatService.js.map +1 -1
  530. package/backend/dist/services/codexOAuthService.d.ts +2 -2
  531. package/backend/dist/services/codexOAuthService.d.ts.map +1 -1
  532. package/backend/dist/services/codexOAuthService.js +63 -7
  533. package/backend/dist/services/codexOAuthService.js.map +1 -1
  534. package/backend/dist/services/dataArchiveService.d.ts +88 -0
  535. package/backend/dist/services/dataArchiveService.d.ts.map +1 -0
  536. package/backend/dist/services/dataArchiveService.js +1027 -0
  537. package/backend/dist/services/dataArchiveService.js.map +1 -0
  538. package/backend/dist/services/documentService.d.ts +67 -14
  539. package/backend/dist/services/documentService.d.ts.map +1 -1
  540. package/backend/dist/services/documentService.js +938 -193
  541. package/backend/dist/services/documentService.js.map +1 -1
  542. package/backend/dist/services/durableChatCompletion.d.ts +16 -0
  543. package/backend/dist/services/durableChatCompletion.d.ts.map +1 -0
  544. package/backend/dist/services/durableChatCompletion.js +34 -0
  545. package/backend/dist/services/durableChatCompletion.js.map +1 -0
  546. package/backend/dist/services/durableChatGenerationService.d.ts +19 -0
  547. package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -0
  548. package/backend/dist/services/durableChatGenerationService.js +341 -0
  549. package/backend/dist/services/durableChatGenerationService.js.map +1 -0
  550. package/backend/dist/services/embeddingService.d.ts +1 -1
  551. package/backend/dist/services/embeddingService.d.ts.map +1 -1
  552. package/backend/dist/services/embeddingService.js +16 -13
  553. package/backend/dist/services/embeddingService.js.map +1 -1
  554. package/backend/dist/services/encryptionService.d.ts +28 -1
  555. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  556. package/backend/dist/services/encryptionService.js +131 -51
  557. package/backend/dist/services/encryptionService.js.map +1 -1
  558. package/backend/dist/services/followUpService.d.ts +1 -1
  559. package/backend/dist/services/followUpService.d.ts.map +1 -1
  560. package/backend/dist/services/followUpService.js +1 -1
  561. package/backend/dist/services/followUpService.js.map +1 -1
  562. package/backend/dist/services/galleryService.d.ts +38 -37
  563. package/backend/dist/services/galleryService.d.ts.map +1 -1
  564. package/backend/dist/services/galleryService.js +356 -251
  565. package/backend/dist/services/galleryService.js.map +1 -1
  566. package/backend/dist/services/healthService.d.ts +65 -0
  567. package/backend/dist/services/healthService.d.ts.map +1 -0
  568. package/backend/dist/services/healthService.js +379 -0
  569. package/backend/dist/services/healthService.js.map +1 -0
  570. package/backend/dist/services/legacyCiphertextIntegrity.d.ts +40 -0
  571. package/backend/dist/services/legacyCiphertextIntegrity.d.ts.map +1 -0
  572. package/backend/dist/services/legacyCiphertextIntegrity.js +406 -0
  573. package/backend/dist/services/legacyCiphertextIntegrity.js.map +1 -0
  574. package/backend/dist/services/mediaGenerationJobService.d.ts +27 -5
  575. package/backend/dist/services/mediaGenerationJobService.d.ts.map +1 -1
  576. package/backend/dist/services/mediaGenerationJobService.js +185 -55
  577. package/backend/dist/services/mediaGenerationJobService.js.map +1 -1
  578. package/backend/dist/services/memoryService.d.ts +7 -83
  579. package/backend/dist/services/memoryService.d.ts.map +1 -1
  580. package/backend/dist/services/memoryService.js +428 -573
  581. package/backend/dist/services/memoryService.js.map +1 -1
  582. package/backend/dist/services/memoryUtils.d.ts.map +1 -1
  583. package/backend/dist/services/memoryUtils.js +8 -1
  584. package/backend/dist/services/memoryUtils.js.map +1 -1
  585. package/backend/dist/services/modelAccessService.d.ts +3 -3
  586. package/backend/dist/services/modelAccessService.d.ts.map +1 -1
  587. package/backend/dist/services/modelAccessService.js +8 -16
  588. package/backend/dist/services/modelAccessService.js.map +1 -1
  589. package/backend/dist/services/mutationEngineService.d.ts +0 -7
  590. package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
  591. package/backend/dist/services/mutationEngineService.js +7 -78
  592. package/backend/dist/services/mutationEngineService.js.map +1 -1
  593. package/backend/dist/services/ollamaService.d.ts +4 -4
  594. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  595. package/backend/dist/services/ollamaService.js +62 -31
  596. package/backend/dist/services/ollamaService.js.map +1 -1
  597. package/backend/dist/services/personaService.d.ts.map +1 -1
  598. package/backend/dist/services/personaService.js +19 -54
  599. package/backend/dist/services/personaService.js.map +1 -1
  600. package/backend/dist/services/pluginActivationService.d.ts +6 -5
  601. package/backend/dist/services/pluginActivationService.d.ts.map +1 -1
  602. package/backend/dist/services/pluginActivationService.js +36 -76
  603. package/backend/dist/services/pluginActivationService.js.map +1 -1
  604. package/backend/dist/services/pluginAudioGenerationService.d.ts +11 -6
  605. package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -1
  606. package/backend/dist/services/pluginAudioGenerationService.js +74 -16
  607. package/backend/dist/services/pluginAudioGenerationService.js.map +1 -1
  608. package/backend/dist/services/pluginCacheInvalidation.d.ts +38 -0
  609. package/backend/dist/services/pluginCacheInvalidation.d.ts.map +1 -0
  610. package/backend/dist/services/pluginCacheInvalidation.js +198 -0
  611. package/backend/dist/services/pluginCacheInvalidation.js.map +1 -0
  612. package/backend/dist/services/pluginCapabilityRegistryService.d.ts +3 -3
  613. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  614. package/backend/dist/services/pluginCapabilityRegistryService.js +11 -7
  615. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  616. package/backend/dist/services/pluginCredentialsService.d.ts +9 -8
  617. package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
  618. package/backend/dist/services/pluginCredentialsService.js +48 -89
  619. package/backend/dist/services/pluginCredentialsService.js.map +1 -1
  620. package/backend/dist/services/pluginEmbeddingService.d.ts +8 -7
  621. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
  622. package/backend/dist/services/pluginEmbeddingService.js +13 -11
  623. package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
  624. package/backend/dist/services/pluginImageGenerationService.d.ts +10 -8
  625. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  626. package/backend/dist/services/pluginImageGenerationService.js +119 -14
  627. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  628. package/backend/dist/services/pluginSTTService.d.ts +47 -0
  629. package/backend/dist/services/pluginSTTService.d.ts.map +1 -0
  630. package/backend/dist/services/pluginSTTService.js +199 -0
  631. package/backend/dist/services/pluginSTTService.js.map +1 -0
  632. package/backend/dist/services/pluginService.d.ts +94 -40
  633. package/backend/dist/services/pluginService.d.ts.map +1 -1
  634. package/backend/dist/services/pluginService.js +833 -275
  635. package/backend/dist/services/pluginService.js.map +1 -1
  636. package/backend/dist/services/pluginTTSService.d.ts +26 -8
  637. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  638. package/backend/dist/services/pluginTTSService.js +277 -25
  639. package/backend/dist/services/pluginTTSService.js.map +1 -1
  640. package/backend/dist/services/pluginUsageService.d.ts +4 -4
  641. package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
  642. package/backend/dist/services/pluginUsageService.js +44 -93
  643. package/backend/dist/services/pluginUsageService.js.map +1 -1
  644. package/backend/dist/services/pluginVariablesService.d.ts +14 -7
  645. package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
  646. package/backend/dist/services/pluginVariablesService.js +116 -81
  647. package/backend/dist/services/pluginVariablesService.js.map +1 -1
  648. package/backend/dist/services/pluginVideoGenerationService.d.ts +19 -8
  649. package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -1
  650. package/backend/dist/services/pluginVideoGenerationService.js +116 -20
  651. package/backend/dist/services/pluginVideoGenerationService.js.map +1 -1
  652. package/backend/dist/services/preferencesService.d.ts +31 -21
  653. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  654. package/backend/dist/services/preferencesService.js +104 -102
  655. package/backend/dist/services/preferencesService.js.map +1 -1
  656. package/backend/dist/services/recoveryInventoryService.d.ts +244 -0
  657. package/backend/dist/services/recoveryInventoryService.d.ts.map +1 -0
  658. package/backend/dist/services/recoveryInventoryService.js +1436 -0
  659. package/backend/dist/services/recoveryInventoryService.js.map +1 -0
  660. package/backend/dist/services/simpleGitHubOAuth.js +3 -3
  661. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  662. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  663. package/backend/dist/services/simpleHuggingFaceOAuth.js +3 -3
  664. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  665. package/backend/dist/services/systemDiagnosticsService.d.ts.map +1 -1
  666. package/backend/dist/services/systemDiagnosticsService.js +2 -2
  667. package/backend/dist/services/systemDiagnosticsService.js.map +1 -1
  668. package/backend/dist/services/systemSettingsService.d.ts +5 -0
  669. package/backend/dist/services/systemSettingsService.d.ts.map +1 -0
  670. package/backend/dist/services/systemSettingsService.js +24 -0
  671. package/backend/dist/services/systemSettingsService.js.map +1 -0
  672. package/backend/dist/services/titleGenerationService.d.ts +1 -1
  673. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  674. package/backend/dist/services/titleGenerationService.js +1 -1
  675. package/backend/dist/services/titleGenerationService.js.map +1 -1
  676. package/backend/dist/services/voiceProfileService.d.ts +44 -0
  677. package/backend/dist/services/voiceProfileService.d.ts.map +1 -0
  678. package/backend/dist/services/voiceProfileService.js +195 -0
  679. package/backend/dist/services/voiceProfileService.js.map +1 -0
  680. package/backend/dist/services/webSearchService.d.ts +7 -7
  681. package/backend/dist/services/webSearchService.d.ts.map +1 -1
  682. package/backend/dist/services/webSearchService.js +40 -35
  683. package/backend/dist/services/webSearchService.js.map +1 -1
  684. package/backend/dist/services/websocketTicketService.d.ts +39 -0
  685. package/backend/dist/services/websocketTicketService.d.ts.map +1 -0
  686. package/backend/dist/services/websocketTicketService.js +183 -0
  687. package/backend/dist/services/websocketTicketService.js.map +1 -0
  688. package/backend/dist/services/workAccessService.d.ts +3 -3
  689. package/backend/dist/services/workAccessService.d.ts.map +1 -1
  690. package/backend/dist/services/workAccessService.js +8 -16
  691. package/backend/dist/services/workAccessService.js.map +1 -1
  692. package/backend/dist/services/workAdminService.d.ts +3 -3
  693. package/backend/dist/services/workAdminService.d.ts.map +1 -1
  694. package/backend/dist/services/workAdminService.js +4 -4
  695. package/backend/dist/services/workAdminService.js.map +1 -1
  696. package/backend/dist/services/workAgentService.d.ts +25 -1
  697. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  698. package/backend/dist/services/workAgentService.js +294 -126
  699. package/backend/dist/services/workAgentService.js.map +1 -1
  700. package/backend/dist/services/workEventService.d.ts +15 -2
  701. package/backend/dist/services/workEventService.d.ts.map +1 -1
  702. package/backend/dist/services/workEventService.js +201 -3
  703. package/backend/dist/services/workEventService.js.map +1 -1
  704. package/backend/dist/services/workKubernetesDriver.d.ts +8 -7
  705. package/backend/dist/services/workKubernetesDriver.d.ts.map +1 -1
  706. package/backend/dist/services/workKubernetesDriver.js +65 -21
  707. package/backend/dist/services/workKubernetesDriver.js.map +1 -1
  708. package/backend/dist/services/workModelProviderService.d.ts +2 -2
  709. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  710. package/backend/dist/services/workModelProviderService.js +38 -34
  711. package/backend/dist/services/workModelProviderService.js.map +1 -1
  712. package/backend/dist/services/workPolicyService.d.ts +7 -7
  713. package/backend/dist/services/workPolicyService.d.ts.map +1 -1
  714. package/backend/dist/services/workPolicyService.js +50 -51
  715. package/backend/dist/services/workPolicyService.js.map +1 -1
  716. package/backend/dist/services/workPreviewProxyService.d.ts +8 -8
  717. package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -1
  718. package/backend/dist/services/workPreviewProxyService.js +47 -44
  719. package/backend/dist/services/workPreviewProxyService.js.map +1 -1
  720. package/backend/dist/services/workRuntimeDriver.d.ts +21 -18
  721. package/backend/dist/services/workRuntimeDriver.d.ts.map +1 -1
  722. package/backend/dist/services/workRuntimeDriver.js +69 -20
  723. package/backend/dist/services/workRuntimeDriver.js.map +1 -1
  724. package/backend/dist/services/workRuntimeService.d.ts +18 -13
  725. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  726. package/backend/dist/services/workRuntimeService.js +438 -194
  727. package/backend/dist/services/workRuntimeService.js.map +1 -1
  728. package/backend/dist/services/workRuntimeShared.d.ts +2 -0
  729. package/backend/dist/services/workRuntimeShared.d.ts.map +1 -1
  730. package/backend/dist/services/workRuntimeShared.js.map +1 -1
  731. package/backend/dist/services/workTaskService.d.ts +42 -36
  732. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  733. package/backend/dist/services/workTaskService.js +445 -350
  734. package/backend/dist/services/workTaskService.js.map +1 -1
  735. package/backend/dist/services/workTerminalService.d.ts +1 -1
  736. package/backend/dist/services/workTerminalService.d.ts.map +1 -1
  737. package/backend/dist/services/workTerminalService.js +33 -6
  738. package/backend/dist/services/workTerminalService.js.map +1 -1
  739. package/backend/dist/storage.d.ts +72 -40
  740. package/backend/dist/storage.d.ts.map +1 -1
  741. package/backend/dist/storage.js +312 -660
  742. package/backend/dist/storage.js.map +1 -1
  743. package/backend/dist/types/index.d.ts +28 -0
  744. package/backend/dist/types/index.d.ts.map +1 -1
  745. package/backend/dist/types/index.js.map +1 -1
  746. package/backend/dist/types/work.d.ts +7 -2
  747. package/backend/dist/types/work.d.ts.map +1 -1
  748. package/backend/dist/utils/chatCancellation.d.ts +48 -0
  749. package/backend/dist/utils/chatCancellation.d.ts.map +1 -0
  750. package/backend/dist/utils/chatCancellation.js +152 -0
  751. package/backend/dist/utils/chatCancellation.js.map +1 -0
  752. package/backend/dist/utils/chatDocumentContext.d.ts +1 -1
  753. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  754. package/backend/dist/utils/chatDocumentContext.js +11 -5
  755. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  756. package/backend/dist/utils/chatStreamCoalescer.d.ts +15 -0
  757. package/backend/dist/utils/chatStreamCoalescer.d.ts.map +1 -0
  758. package/backend/dist/utils/chatStreamCoalescer.js +59 -0
  759. package/backend/dist/utils/chatStreamCoalescer.js.map +1 -0
  760. package/backend/dist/utils/dataDirectory.d.ts +49 -0
  761. package/backend/dist/utils/dataDirectory.d.ts.map +1 -0
  762. package/backend/dist/utils/dataDirectory.js +291 -0
  763. package/backend/dist/utils/dataDirectory.js.map +1 -0
  764. package/backend/dist/utils/generationUtils.d.ts.map +1 -1
  765. package/backend/dist/utils/generationUtils.js +18 -6
  766. package/backend/dist/utils/generationUtils.js.map +1 -1
  767. package/backend/dist/utils/jwt.d.ts.map +1 -1
  768. package/backend/dist/utils/jwt.js +2 -3
  769. package/backend/dist/utils/jwt.js.map +1 -1
  770. package/backend/dist/utils/ollamaModelDefaults.d.ts.map +1 -1
  771. package/backend/dist/utils/ollamaModelDefaults.js +2 -7
  772. package/backend/dist/utils/ollamaModelDefaults.js.map +1 -1
  773. package/backend/dist/utils/ollamaStreaming.d.ts +2 -1
  774. package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -1
  775. package/backend/dist/utils/ollamaStreaming.js +49 -11
  776. package/backend/dist/utils/ollamaStreaming.js.map +1 -1
  777. package/backend/dist/utils/pluginConnectionVariables.d.ts.map +1 -1
  778. package/backend/dist/utils/pluginConnectionVariables.js +11 -3
  779. package/backend/dist/utils/pluginConnectionVariables.js.map +1 -1
  780. package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
  781. package/backend/dist/utils/pluginDefinitionTrust.js +4 -3
  782. package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
  783. package/backend/dist/utils/pluginStreaming.d.ts +2 -1
  784. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
  785. package/backend/dist/utils/pluginStreaming.js +5 -1
  786. package/backend/dist/utils/pluginStreaming.js.map +1 -1
  787. package/backend/dist/utils/pluginUpload.d.ts +1 -0
  788. package/backend/dist/utils/pluginUpload.d.ts.map +1 -1
  789. package/backend/dist/utils/pluginUpload.js +14 -4
  790. package/backend/dist/utils/pluginUpload.js.map +1 -1
  791. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  792. package/backend/dist/utils/pluginValidation.js +29 -1
  793. package/backend/dist/utils/pluginValidation.js.map +1 -1
  794. package/backend/dist/utils/sttAudioUpload.d.ts +24 -0
  795. package/backend/dist/utils/sttAudioUpload.d.ts.map +1 -0
  796. package/backend/dist/utils/sttAudioUpload.js +500 -0
  797. package/backend/dist/utils/sttAudioUpload.js.map +1 -0
  798. package/backend/dist/utils/ttsVoiceCloneUpload.d.ts +34 -0
  799. package/backend/dist/utils/ttsVoiceCloneUpload.d.ts.map +1 -0
  800. package/backend/dist/utils/ttsVoiceCloneUpload.js +224 -0
  801. package/backend/dist/utils/ttsVoiceCloneUpload.js.map +1 -0
  802. package/backend/dist/utils/websocketMessages.d.ts +2 -1
  803. package/backend/dist/utils/websocketMessages.d.ts.map +1 -1
  804. package/backend/dist/utils/websocketMessages.js +16 -2
  805. package/backend/dist/utils/websocketMessages.js.map +1 -1
  806. package/backend/dist/websocketServer.d.ts +4 -1
  807. package/backend/dist/websocketServer.d.ts.map +1 -1
  808. package/backend/dist/websocketServer.js +290 -44
  809. package/backend/dist/websocketServer.js.map +1 -1
  810. package/backend/dist/workTerminalServer.d.ts +9 -0
  811. package/backend/dist/workTerminalServer.d.ts.map +1 -1
  812. package/backend/dist/workTerminalServer.js +221 -52
  813. package/backend/dist/workTerminalServer.js.map +1 -1
  814. package/backend/dist/worker.d.ts +2 -0
  815. package/backend/dist/worker.d.ts.map +1 -0
  816. package/backend/dist/worker.js +250 -0
  817. package/backend/dist/worker.js.map +1 -0
  818. package/backend/package.json +19 -9
  819. package/bin/cli.js +126 -99
  820. package/bin/runtime-paths.js +108 -0
  821. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  822. package/frontend/dist/artifact-runtime/framer-motion.js +5 -5
  823. package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
  824. package/frontend/dist/assets/index-Jtx9Amhz.js +16 -0
  825. package/frontend/dist/assets/index-kxtZQLV6.css +1 -0
  826. package/frontend/dist/assets/{markdown-math-ClQbWekD.css → markdown-math-ClTedVi7.css} +1 -1
  827. package/frontend/dist/index.html +18 -18
  828. package/frontend/dist/js/{ArtifactContainer-Dy2Q0iIL.js → ArtifactContainer-fZegtmva.js} +1 -1
  829. package/frontend/dist/js/{ArtifactDemoPage-K79dWshB.js → ArtifactDemoPage-BDBXYv9l.js} +1 -1
  830. package/frontend/dist/js/{ArtifactSandboxFrame-DhqLNUtY.js → ArtifactSandboxFrame-BN16NtKe.js} +3 -3
  831. package/frontend/dist/js/{ArtifactSlideOutPanel-Cl8JG7bz.js → ArtifactSlideOutPanel-x1fS85Ww.js} +1 -1
  832. package/frontend/dist/js/{Button-CTXHujOd.js → Button-BV44cTnj.js} +1 -1
  833. package/frontend/dist/js/ChatPage-C_pXh7WN.js +23 -0
  834. package/frontend/dist/js/{FirstTimeSetup-kHhRzGJ8.js → FirstTimeSetup-oRrlZnBm.js} +1 -1
  835. package/frontend/dist/js/GalleryPage-CV_vbE7X.js +1 -0
  836. package/frontend/dist/js/{HomePage-C1L8WAXL.js → HomePage-P-e7Huco.js} +1 -1
  837. package/frontend/dist/js/{LibreClawPage-Dyua8IUu.js → LibreClawPage-Cee06SUM.js} +1 -1
  838. package/frontend/dist/js/{ModelManagerModals-CuMRGUd-.js → ModelManagerModals-D7jIT3v1.js} +1 -1
  839. package/frontend/dist/js/{ModelSelector-CqHc-Ln4.js → ModelSelector-DXucbvrz.js} +1 -1
  840. package/frontend/dist/js/ModelsPage-C3_fZpMM.js +2 -0
  841. package/frontend/dist/js/NotesPage-rEIPWGIb.js +1 -0
  842. package/frontend/dist/js/{OptimizedSyntaxHighlighter-CWYUn9Oe.js → OptimizedSyntaxHighlighter-XwqZEoTf.js} +1 -1
  843. package/frontend/dist/js/{PersonasPage-D_6WBCH5.js → PersonasPage-BXtepFuD.js} +2 -2
  844. package/frontend/dist/js/PluginUsagePage-hhu8cxsu.js +1 -0
  845. package/frontend/dist/js/RichMessageContent-DkiEvdSg.js +3 -0
  846. package/frontend/dist/js/SettingsModal-BNxCtJ51.js +1 -0
  847. package/frontend/dist/js/{SettingsToggle-DLHlCDBl.js → SettingsToggle-WTa0rgvY.js} +1 -1
  848. package/frontend/dist/js/{SystemPage-BMWEet9e.js → SystemPage-BvvKFuoG.js} +1 -1
  849. package/frontend/dist/js/UserManagementPage-BccyR7si.js +1 -0
  850. package/frontend/dist/js/WorkPage-BgxrvY3I.js +6 -0
  851. package/frontend/dist/js/api-BvPDxsUQ.js +14 -0
  852. package/frontend/dist/js/appStore-DRSSjaHn.js +2 -0
  853. package/frontend/dist/js/ar-xTSvTq05.js +2 -0
  854. package/frontend/dist/js/authStore-BVykIRec.js +4 -0
  855. package/frontend/dist/js/{babel-CmENXdZw.js → babel-D24oDI9y.js} +1 -1
  856. package/frontend/dist/js/bn-iYAsohEA.js +2 -0
  857. package/frontend/dist/js/chatStore-UPp5TV_t.js +3 -0
  858. package/frontend/dist/js/{config-DkV1ka7I.js → config-BTlPm-cZ.js} +1 -1
  859. package/frontend/dist/js/cs-YBHN88Hb.js +2 -0
  860. package/frontend/dist/js/da-D7qlLy_k.js +2 -0
  861. package/frontend/dist/js/de-DV671k2c.js +2 -0
  862. package/frontend/dist/js/es-kyBgzNq-.js +2 -0
  863. package/frontend/dist/js/{estree-D5KP-qbw.js → estree-CfYahF_d.js} +1 -1
  864. package/frontend/dist/js/fr-Cw1vut7I.js +2 -0
  865. package/frontend/dist/js/hi-DWEFC024.js +2 -0
  866. package/frontend/dist/js/{html-Cm9c2akd.js → html-BJsDX1UZ.js} +1 -1
  867. package/frontend/dist/js/id-DlMHjjy0.js +2 -0
  868. package/frontend/dist/js/is-B9E_a7dG.js +2 -0
  869. package/frontend/dist/js/it-DawmVbLC.js +2 -0
  870. package/frontend/dist/js/ja-DmVvwY3W.js +2 -0
  871. package/frontend/dist/js/ko-DzOPpkVs.js +2 -0
  872. package/frontend/dist/js/{markdown-B2u7CnKN.js → markdown-GLyuUNig.js} +1 -1
  873. package/frontend/dist/js/markdown-core-BmPPZiuD.js +31 -0
  874. package/frontend/dist/js/{markdown-math-B7FlYsmr.js → markdown-math-mH7AZ_mb.js} +6 -6
  875. package/frontend/dist/js/{messageCodeStyles-DalG2j6U.js → messageCodeStyles-BHddEFP1.js} +1 -1
  876. package/frontend/dist/js/ms-DpsaOPht.js +2 -0
  877. package/frontend/dist/js/nl-B1d8W22n.js +2 -0
  878. package/frontend/dist/js/pl-nCncRVgt.js +2 -0
  879. package/frontend/dist/js/{postcss-B5WIGhAY.js → postcss-Bx9CTcIc.js} +1 -1
  880. package/frontend/dist/js/pt-DHw8fGuu.js +2 -0
  881. package/frontend/dist/js/{react-vendor-DPNXrO-8.js → react-vendor-C5yShNlM.js} +1 -1
  882. package/frontend/dist/js/{router-vendor-Ca9zqOqT.js → router-vendor-CbPDks39.js} +1 -1
  883. package/frontend/dist/js/ru-Derl_YP_.js +2 -0
  884. package/frontend/dist/js/{standalone-Dwm1daef.js → standalone-Dh56V0YW.js} +1 -1
  885. package/frontend/dist/js/sv-pJAfBVo0.js +2 -0
  886. package/frontend/dist/js/{syntax-highlight-Ca9bHsaz.js → syntax-highlight-3EEX6CGL.js} +3 -3
  887. package/frontend/dist/js/th-C_7fIGnk.js +2 -0
  888. package/frontend/dist/js/tr-CPqsJvaP.js +2 -0
  889. package/frontend/dist/js/{typescript-CwieSptM.js → typescript-DRy7A9w4.js} +1 -1
  890. package/frontend/dist/js/{ui-BnDZpjfc.js → ui-CuY4IifA.js} +2 -2
  891. package/frontend/dist/js/ui-vendor-D3Ahl1x5.js +177 -0
  892. package/frontend/dist/js/uk-3o8P_kFi.js +2 -0
  893. package/frontend/dist/js/{useTranslation-CXY69qNk.js → useTranslation-C3ei3mJq.js} +1 -1
  894. package/frontend/dist/js/{utils-BM0_0iFj.js → utils-CuC1beTY.js} +1 -1
  895. package/frontend/dist/js/{utils-vendor-1zob7nK9.js → utils-vendor-BBa8OxtB.js} +1 -1
  896. package/frontend/dist/js/vi-Dv6N7OVD.js +2 -0
  897. package/frontend/dist/js/{workApi-BOS7crs9.js → workApi-DHuYNHLf.js} +2 -2
  898. package/frontend/dist/js/{yaml-QD4znPfZ.js → yaml-DioTxVLA.js} +1 -1
  899. package/frontend/dist/js/zh-qg5iqtPi.js +2 -0
  900. package/package.json +16 -5
  901. package/plugins/huggingface.json +12 -3
  902. package/plugins/llama-cpp.json +18 -6
  903. package/plugins/longcat-audiodit.json +114 -0
  904. package/plugins/openai.json +18 -0
  905. package/frontend/dist/assets/index-BBpNbfKW.js +0 -16
  906. package/frontend/dist/assets/index-BLATyFmD.css +0 -1
  907. package/frontend/dist/js/ChatPage-BBayfMLS.js +0 -16
  908. package/frontend/dist/js/GalleryPage-By8VI39Q.js +0 -1
  909. package/frontend/dist/js/ModelsPage-ODeXhDDk.js +0 -2
  910. package/frontend/dist/js/NotesPage-CApzDjOq.js +0 -1
  911. package/frontend/dist/js/PluginUsagePage-kutS6SOd.js +0 -1
  912. package/frontend/dist/js/RichMessageContent-g6WT75Te.js +0 -3
  913. package/frontend/dist/js/SettingsModal-B7z51BCx.js +0 -1
  914. package/frontend/dist/js/UserManagementPage-D08lM51c.js +0 -1
  915. package/frontend/dist/js/WorkPage-DdVLefsK.js +0 -6
  916. package/frontend/dist/js/api-CLEmGcEh.js +0 -14
  917. package/frontend/dist/js/appStore-CGdhvp9P.js +0 -2
  918. package/frontend/dist/js/ar-BTmB2WVm.js +0 -2
  919. package/frontend/dist/js/authStore-Dh3beEOq.js +0 -4
  920. package/frontend/dist/js/bn-CQnH7YVT.js +0 -2
  921. package/frontend/dist/js/chatStore-CDeYWL_q.js +0 -3
  922. package/frontend/dist/js/cs-oTTZkQXr.js +0 -2
  923. package/frontend/dist/js/da-Br0gB6J6.js +0 -2
  924. package/frontend/dist/js/de-DE2iztTF.js +0 -2
  925. package/frontend/dist/js/es-DgthfVtl.js +0 -2
  926. package/frontend/dist/js/fr-BjxjFwPh.js +0 -2
  927. package/frontend/dist/js/hi-D1q7E-9N.js +0 -2
  928. package/frontend/dist/js/id-CDJZqLTF.js +0 -2
  929. package/frontend/dist/js/is-BU7Um_Tq.js +0 -2
  930. package/frontend/dist/js/it-CdAxr8P_.js +0 -2
  931. package/frontend/dist/js/ja-BLbQwz9u.js +0 -2
  932. package/frontend/dist/js/ko-CY5lpkAe.js +0 -2
  933. package/frontend/dist/js/markdown-core-DHnR5Hw8.js +0 -16
  934. package/frontend/dist/js/ms-tQ8AYXEQ.js +0 -2
  935. package/frontend/dist/js/nl-CRNi2oWT.js +0 -2
  936. package/frontend/dist/js/pl-CWtFRS_W.js +0 -2
  937. package/frontend/dist/js/pt-C7SPoLF8.js +0 -2
  938. package/frontend/dist/js/ru-Dz4AX8xc.js +0 -2
  939. package/frontend/dist/js/sv-ETy5-boa.js +0 -2
  940. package/frontend/dist/js/th-DpuMqvxU.js +0 -2
  941. package/frontend/dist/js/tr-C-1AYAqg.js +0 -2
  942. package/frontend/dist/js/ui-vendor-xUzKqAXI.js +0 -177
  943. package/frontend/dist/js/uk-CyS680gr.js +0 -2
  944. package/frontend/dist/js/vi-BG8HuiTz.js +0 -2
  945. package/frontend/dist/js/zh-NCs2mkHj.js +0 -2
@@ -0,0 +1,530 @@
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 crypto from 'node:crypto';
18
+ import fs from 'node:fs';
19
+ import path from 'node:path';
20
+ import { hasKeyDependentApplicationState } from '../../utils/dataDirectory.js';
21
+ import { Aes256GcmKeyring, StorageEncryptionError } from './aesGcmKeyring.js';
22
+ import { BlobStoreError, } from './blobStore.js';
23
+ import { LocalEncryptedBlobStore, } from './localEncryptedBlobStore.js';
24
+ import { SqliteEncryptedVectorStore } from './sqliteEncryptedVectorStore.js';
25
+ import { createS3EncryptedBlobStore, } from './s3EncryptedBlobStore.js';
26
+ import { PgVectorStore } from './pgVectorStore.js';
27
+ import { VectorStoreError, } from './vectorStore.js';
28
+ const MAX_PERSISTENT_KEY_FILE_BYTES = 256;
29
+ const STORAGE_KEY_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
30
+ const parseHexKey = (value, description) => {
31
+ if (typeof value !== 'string' || !/^[a-fA-F0-9]{64}$/.test(value)) {
32
+ throw new StorageEncryptionError(`${description} must be exactly 64 hexadecimal characters`);
33
+ }
34
+ return Buffer.from(value, 'hex');
35
+ };
36
+ const parseKeyMap = (rawValue) => {
37
+ let value;
38
+ try {
39
+ value = JSON.parse(rawValue);
40
+ }
41
+ catch {
42
+ throw new StorageEncryptionError('STORAGE_ENCRYPTION_KEYS must be a valid JSON object');
43
+ }
44
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
45
+ throw new StorageEncryptionError('STORAGE_ENCRYPTION_KEYS must be a JSON object');
46
+ }
47
+ const entries = Object.entries(value);
48
+ if (entries.length === 0 || entries.length > 32) {
49
+ throw new StorageEncryptionError('STORAGE_ENCRYPTION_KEYS must contain 1-32 keys');
50
+ }
51
+ const keys = Object.create(null);
52
+ try {
53
+ for (const [keyId, key] of entries) {
54
+ if (!STORAGE_KEY_ID_PATTERN.test(keyId)) {
55
+ throw new StorageEncryptionError('STORAGE_ENCRYPTION_KEYS contains an invalid key ID');
56
+ }
57
+ keys[keyId] = parseHexKey(key, 'Storage key material');
58
+ }
59
+ return keys;
60
+ }
61
+ catch (error) {
62
+ for (const key of Object.values(keys))
63
+ key.fill(0);
64
+ throw error;
65
+ }
66
+ };
67
+ const sameKey = (left, right) => left.length === right.length && crypto.timingSafeEqual(left, right);
68
+ const clearKeys = (keys) => {
69
+ for (const key of Object.values(keys))
70
+ key.fill(0);
71
+ };
72
+ const persistentKeyPath = (env) => {
73
+ const rawDataDirectory = env.DATA_DIR;
74
+ if (rawDataDirectory === undefined || rawDataDirectory === '')
75
+ return undefined;
76
+ if (rawDataDirectory.trim() !== rawDataDirectory ||
77
+ !path.isAbsolute(rawDataDirectory)) {
78
+ throw new StorageEncryptionError('DATA_DIR must be an absolute path before storage initialization');
79
+ }
80
+ return path.join(path.normalize(rawDataDirectory), '.encryption_key');
81
+ };
82
+ /**
83
+ * Reads the legacy persistent key without following a final-component symlink
84
+ * or mutating/generating key material. A changing or loosely permissioned file
85
+ * fails closed so a privileged path cannot silently select attacker input.
86
+ */
87
+ const readPersistentStorageKey = (env) => {
88
+ const keyPath = persistentKeyPath(env);
89
+ if (!keyPath)
90
+ return undefined;
91
+ const noFollow = fs.constants.O_NOFOLLOW ?? 0;
92
+ let descriptor;
93
+ let content;
94
+ try {
95
+ descriptor = fs.openSync(keyPath, fs.constants.O_RDONLY | noFollow);
96
+ }
97
+ catch (error) {
98
+ if (error &&
99
+ typeof error === 'object' &&
100
+ 'code' in error &&
101
+ error.code === 'ENOENT') {
102
+ return undefined;
103
+ }
104
+ throw new StorageEncryptionError('Unable to safely open the persistent storage encryption key');
105
+ }
106
+ try {
107
+ let before = fs.fstatSync(descriptor);
108
+ const named = fs.lstatSync(keyPath);
109
+ if (!before.isFile() ||
110
+ !named.isFile() ||
111
+ before.dev !== named.dev ||
112
+ before.ino !== named.ino ||
113
+ before.nlink !== 1 ||
114
+ before.size <= 0 ||
115
+ before.size > MAX_PERSISTENT_KEY_FILE_BYTES) {
116
+ throw new StorageEncryptionError('Persistent storage encryption key must be a small, single-link regular file');
117
+ }
118
+ if (process.platform !== 'win32' && (before.mode & 0o077) !== 0) {
119
+ // Releases before the 0600 write published this file with default
120
+ // permissions. A verified regular single-link file owned by this
121
+ // process is tightened in place; any other loose file fails closed.
122
+ if (before.uid !== process.getuid?.()) {
123
+ throw new StorageEncryptionError('Persistent storage encryption key permissions must be 0600 or stricter');
124
+ }
125
+ fs.fchmodSync(descriptor, 0o600);
126
+ before = fs.fstatSync(descriptor);
127
+ }
128
+ content = Buffer.alloc(MAX_PERSISTENT_KEY_FILE_BYTES + 1);
129
+ const bytesRead = fs.readSync(descriptor, content, 0, content.length, 0);
130
+ const after = fs.fstatSync(descriptor);
131
+ const namedAfter = fs.lstatSync(keyPath);
132
+ if (bytesRead > MAX_PERSISTENT_KEY_FILE_BYTES ||
133
+ before.dev !== after.dev ||
134
+ before.ino !== after.ino ||
135
+ before.size !== after.size ||
136
+ before.mtimeMs !== after.mtimeMs ||
137
+ before.ctimeMs !== after.ctimeMs ||
138
+ after.dev !== namedAfter.dev ||
139
+ after.ino !== namedAfter.ino) {
140
+ throw new StorageEncryptionError('Persistent storage encryption key changed while being read');
141
+ }
142
+ return parseHexKey(content.subarray(0, bytesRead).toString('utf8').trim(), 'Persistent storage encryption key');
143
+ }
144
+ catch (error) {
145
+ if (error instanceof StorageEncryptionError)
146
+ throw error;
147
+ throw new StorageEncryptionError('Unable to safely read the persistent storage encryption key');
148
+ }
149
+ finally {
150
+ content?.fill(0);
151
+ fs.closeSync(descriptor);
152
+ }
153
+ };
154
+ const syncDirectory = (directory) => {
155
+ // Windows does not expose a portable directory-fsync operation through
156
+ // Node. The key file itself is still fsynced before atomic publication.
157
+ if (process.platform === 'win32')
158
+ return;
159
+ let descriptor;
160
+ try {
161
+ descriptor = fs.openSync(directory, fs.constants.O_RDONLY);
162
+ fs.fsyncSync(descriptor);
163
+ }
164
+ finally {
165
+ if (descriptor !== undefined)
166
+ fs.closeSync(descriptor);
167
+ }
168
+ };
169
+ /**
170
+ * Select the legacy application encryption key before stateful modules load.
171
+ * A fresh installation receives one durably published key; an existing store
172
+ * without its original key always fails closed. The returned value is suitable
173
+ * for assigning to ENCRYPTION_KEY and is never logged by this helper.
174
+ */
175
+ export const provisionLegacyEncryptionKey = (env = process.env) => {
176
+ const environmentValue = env.ENCRYPTION_KEY;
177
+ if (environmentValue !== undefined && environmentValue !== '') {
178
+ if (environmentValue.trim() !== environmentValue) {
179
+ throw new StorageEncryptionError('ENCRYPTION_KEY must not contain leading or trailing whitespace');
180
+ }
181
+ }
182
+ // Resolve and validate every configured key source before creating a data
183
+ // directory or publishing a key. In particular, malformed versioned-key
184
+ // settings must fail without leaving behind state from a rejected launch.
185
+ const resolvedKeys = resolveStorageKeys(env);
186
+ if (resolvedKeys) {
187
+ const legacyKey = resolvedKeys.keys.legacy;
188
+ if (!legacyKey) {
189
+ clearKeys(resolvedKeys.keys);
190
+ throw new StorageEncryptionError('Storage encryption configuration must retain the legacy key');
191
+ }
192
+ try {
193
+ return legacyKey.toString('hex');
194
+ }
195
+ finally {
196
+ clearKeys(resolvedKeys.keys);
197
+ }
198
+ }
199
+ const keyPath = persistentKeyPath(env);
200
+ if (!keyPath) {
201
+ throw new StorageEncryptionError('DATA_DIR must be selected before provisioning the encryption key');
202
+ }
203
+ const dataDirectory = path.dirname(keyPath);
204
+ if (hasKeyDependentApplicationState(dataDirectory)) {
205
+ throw new StorageEncryptionError('Existing encrypted application state requires its original encryption key');
206
+ }
207
+ const dataDirectoryExisted = fs.existsSync(dataDirectory);
208
+ let temporaryPath;
209
+ let published = false;
210
+ const generatedKey = crypto.randomBytes(32);
211
+ try {
212
+ fs.mkdirSync(dataDirectory, { recursive: true, mode: 0o700 });
213
+ const directoryStat = fs.lstatSync(dataDirectory);
214
+ if (!directoryStat.isDirectory() || directoryStat.isSymbolicLink()) {
215
+ throw new StorageEncryptionError('DATA_DIR must be a physical directory before key provisioning');
216
+ }
217
+ if (process.platform !== 'win32')
218
+ fs.chmodSync(dataDirectory, 0o700);
219
+ temporaryPath = path.join(dataDirectory, `.encryption_key.${process.pid}.${crypto.randomUUID()}.tmp`);
220
+ const descriptor = fs.openSync(temporaryPath, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL, 0o600);
221
+ try {
222
+ if (process.platform !== 'win32')
223
+ fs.fchmodSync(descriptor, 0o600);
224
+ const serialized = Buffer.from(generatedKey.toString('hex'), 'utf8');
225
+ try {
226
+ let offset = 0;
227
+ while (offset < serialized.length) {
228
+ const bytesWritten = fs.writeSync(descriptor, serialized, offset, serialized.length - offset);
229
+ if (bytesWritten <= 0) {
230
+ throw new StorageEncryptionError('Unable to completely write the persistent encryption key');
231
+ }
232
+ offset += bytesWritten;
233
+ }
234
+ fs.fsyncSync(descriptor);
235
+ }
236
+ finally {
237
+ serialized.fill(0);
238
+ }
239
+ }
240
+ finally {
241
+ fs.closeSync(descriptor);
242
+ }
243
+ // Hard-link publication is an atomic no-overwrite operation. Renaming a
244
+ // staging file could silently replace a key created by another process.
245
+ fs.linkSync(temporaryPath, keyPath);
246
+ published = true;
247
+ fs.unlinkSync(temporaryPath);
248
+ temporaryPath = undefined;
249
+ syncDirectory(dataDirectory);
250
+ const verified = readPersistentStorageKey(env);
251
+ if (!verified || !sameKey(generatedKey, verified)) {
252
+ verified?.fill(0);
253
+ throw new StorageEncryptionError('The persistent encryption key could not be verified after publication');
254
+ }
255
+ verified.fill(0);
256
+ return generatedKey.toString('hex');
257
+ }
258
+ catch (error) {
259
+ if (temporaryPath) {
260
+ try {
261
+ fs.unlinkSync(temporaryPath);
262
+ }
263
+ catch {
264
+ // Preserve the original failure; a private orphan is safer than
265
+ // continuing with an unpersisted key.
266
+ }
267
+ }
268
+ // Once the canonical name has been published, never remove it during
269
+ // rollback. Another process may already have selected that exact key; its
270
+ // removal could make subsequently encrypted state unrecoverable. Startup
271
+ // still fails closed, and the next launch revalidates the published file.
272
+ if (!dataDirectoryExisted && !published) {
273
+ try {
274
+ fs.rmdirSync(dataDirectory);
275
+ }
276
+ catch {
277
+ // Parent cleanup is best effort and never permits startup to continue.
278
+ }
279
+ }
280
+ if (error instanceof StorageEncryptionError)
281
+ throw error;
282
+ throw new StorageEncryptionError('Unable to durably provision the application encryption key');
283
+ }
284
+ finally {
285
+ generatedKey.fill(0);
286
+ }
287
+ };
288
+ const resolveStorageKeys = (env) => {
289
+ const rawKeyMap = env.STORAGE_ENCRYPTION_KEYS?.trim();
290
+ const requestedActiveKeyId = env.STORAGE_ENCRYPTION_ACTIVE_KEY_ID?.trim();
291
+ const rawEnvironmentKey = env.ENCRYPTION_KEY?.trim();
292
+ let environmentKey = rawEnvironmentKey
293
+ ? parseHexKey(rawEnvironmentKey, 'ENCRYPTION_KEY')
294
+ : undefined;
295
+ let persistentKey;
296
+ let versionedKeys;
297
+ try {
298
+ persistentKey = readPersistentStorageKey(env);
299
+ if (environmentKey &&
300
+ persistentKey &&
301
+ !sameKey(environmentKey, persistentKey)) {
302
+ throw new StorageEncryptionError('ENCRYPTION_KEY differs from the persistent storage encryption key');
303
+ }
304
+ const legacyKey = environmentKey ?? persistentKey;
305
+ if (rawKeyMap || requestedActiveKeyId) {
306
+ if (!rawKeyMap || !requestedActiveKeyId) {
307
+ throw new StorageEncryptionError('Versioned storage keys require a key map and active key ID');
308
+ }
309
+ versionedKeys = parseKeyMap(rawKeyMap);
310
+ if (!STORAGE_KEY_ID_PATTERN.test(requestedActiveKeyId) ||
311
+ !Object.prototype.hasOwnProperty.call(versionedKeys, requestedActiveKeyId)) {
312
+ throw new StorageEncryptionError('The active storage key ID is invalid or unavailable');
313
+ }
314
+ if (!legacyKey) {
315
+ throw new StorageEncryptionError('Versioned storage keys currently require a stable ENCRYPTION_KEY or DATA_DIR/.encryption_key legacy key');
316
+ }
317
+ if (!versionedKeys.legacy || !sameKey(versionedKeys.legacy, legacyKey)) {
318
+ throw new StorageEncryptionError('Versioned storage keys must retain the configured legacy key as key ID legacy');
319
+ }
320
+ environmentKey?.fill(0);
321
+ environmentKey = undefined;
322
+ persistentKey?.fill(0);
323
+ persistentKey = undefined;
324
+ const keys = versionedKeys;
325
+ versionedKeys = undefined;
326
+ return {
327
+ source: 'versioned-keyring',
328
+ activeKeyId: requestedActiveKeyId,
329
+ keys,
330
+ };
331
+ }
332
+ if (environmentKey) {
333
+ persistentKey?.fill(0);
334
+ persistentKey = undefined;
335
+ const key = environmentKey;
336
+ environmentKey = undefined;
337
+ return {
338
+ source: 'legacy-encryption-key',
339
+ activeKeyId: 'legacy',
340
+ keys: { legacy: key },
341
+ };
342
+ }
343
+ if (persistentKey) {
344
+ const key = persistentKey;
345
+ persistentKey = undefined;
346
+ return {
347
+ source: 'persistent-key-file',
348
+ activeKeyId: 'legacy',
349
+ keys: { legacy: key },
350
+ };
351
+ }
352
+ return undefined;
353
+ }
354
+ catch (error) {
355
+ environmentKey?.fill(0);
356
+ persistentKey?.fill(0);
357
+ if (versionedKeys)
358
+ clearKeys(versionedKeys);
359
+ throw error;
360
+ }
361
+ };
362
+ const fingerprintKeys = (keys) => Object.entries(keys)
363
+ .sort(([left], [right]) => left.localeCompare(right))
364
+ .map(([keyId, key]) => ({
365
+ keyId,
366
+ sha256Prefix: crypto
367
+ .createHash('sha256')
368
+ .update(key)
369
+ .digest('hex')
370
+ .slice(0, 16),
371
+ }));
372
+ /**
373
+ * Returns only non-secret key-set identity for recovery diagnostics. Invalid
374
+ * input is never reflected into the result and key bytes are never returned.
375
+ */
376
+ export const inspectStorageKeyConfiguration = (env = process.env) => {
377
+ try {
378
+ const resolved = resolveStorageKeys(env);
379
+ if (!resolved) {
380
+ return {
381
+ status: 'missing',
382
+ source: 'none',
383
+ activeKeyId: null,
384
+ keyFingerprints: [],
385
+ };
386
+ }
387
+ try {
388
+ return {
389
+ status: 'configured',
390
+ source: resolved.source,
391
+ activeKeyId: resolved.activeKeyId,
392
+ keyFingerprints: fingerprintKeys(resolved.keys),
393
+ };
394
+ }
395
+ finally {
396
+ clearKeys(resolved.keys);
397
+ }
398
+ }
399
+ catch (error) {
400
+ const source = env.STORAGE_ENCRYPTION_KEYS?.trim() ||
401
+ env.STORAGE_ENCRYPTION_ACTIVE_KEY_ID?.trim()
402
+ ? 'versioned-keyring'
403
+ : env.ENCRYPTION_KEY?.trim()
404
+ ? 'legacy-encryption-key'
405
+ : env.DATA_DIR?.trim()
406
+ ? 'persistent-key-file'
407
+ : 'none';
408
+ return {
409
+ status: 'invalid',
410
+ source,
411
+ activeKeyId: null,
412
+ keyFingerprints: [],
413
+ // StorageEncryptionError messages are static descriptions and never
414
+ // carry key material; anything else stays unreflected.
415
+ ...(error instanceof StorageEncryptionError
416
+ ? { reason: error.message }
417
+ : {}),
418
+ };
419
+ }
420
+ };
421
+ /**
422
+ * Builds a fail-closed storage keyring. Existing ENCRYPTION_KEY and
423
+ * DATA_DIR/.encryption_key deployments remain usable, while a JSON key map
424
+ * enables rotation without losing reads. This factory never writes key data.
425
+ */
426
+ export const createStorageKeyringFromEnvironment = (env = process.env) => {
427
+ const resolved = resolveStorageKeys(env);
428
+ if (!resolved) {
429
+ throw new StorageEncryptionError('Storage encryption requires STORAGE_ENCRYPTION_KEYS, ENCRYPTION_KEY, or DATA_DIR/.encryption_key');
430
+ }
431
+ try {
432
+ return new Aes256GcmKeyring(resolved.activeKeyId, resolved.keys);
433
+ }
434
+ finally {
435
+ clearKeys(resolved.keys);
436
+ }
437
+ };
438
+ /**
439
+ * Read the legacy application key for the offline SQLite migration command.
440
+ * This is deliberately read-only: it never provisions state, and callers
441
+ * must keep the returned secret out of logs and reports.
442
+ */
443
+ export const resolveLegacyEncryptionKeyForMigration = (env) => {
444
+ const resolved = resolveStorageKeys(env);
445
+ if (!resolved?.keys.legacy) {
446
+ if (resolved)
447
+ clearKeys(resolved.keys);
448
+ throw new StorageEncryptionError('SQLite migration requires the source legacy encryption key');
449
+ }
450
+ try {
451
+ return resolved.keys.legacy.toString('hex');
452
+ }
453
+ finally {
454
+ clearKeys(resolved.keys);
455
+ }
456
+ };
457
+ export const createBlobStore = (options) => {
458
+ const env = options.env ?? process.env;
459
+ const backend = env.BLOB_STORE_BACKEND?.trim().toLowerCase() || 'local';
460
+ if (backend === 's3') {
461
+ if (!options.postgresDatabase) {
462
+ throw new BlobStoreError('invalid-input', 'BLOB_STORE_BACKEND=s3 requires the shared PostgreSQL database');
463
+ }
464
+ return createS3EncryptedBlobStore({
465
+ database: options.postgresDatabase,
466
+ keyring: createStorageKeyringFromEnvironment(env),
467
+ env: env,
468
+ ...(options.quotaPolicy ? { quotaPolicy: options.quotaPolicy } : {}),
469
+ ...(options.chunkBytes !== undefined
470
+ ? { chunkBytes: options.chunkBytes }
471
+ : {}),
472
+ ...(options.maxObjectBytes !== undefined
473
+ ? { maxObjectBytes: options.maxObjectBytes }
474
+ : {}),
475
+ });
476
+ }
477
+ if (backend !== 'local') {
478
+ throw new BlobStoreError('invalid-input', 'BLOB_STORE_BACKEND must be local or s3');
479
+ }
480
+ const localOptions = {
481
+ rootDirectory: options.rootDirectory,
482
+ keyring: createStorageKeyringFromEnvironment(env),
483
+ ...(options.quotaPolicy ? { quotaPolicy: options.quotaPolicy } : {}),
484
+ ...(options.chunkBytes !== undefined
485
+ ? { chunkBytes: options.chunkBytes }
486
+ : {}),
487
+ ...(options.maxObjectBytes !== undefined
488
+ ? { maxObjectBytes: options.maxObjectBytes }
489
+ : {}),
490
+ };
491
+ return new LocalEncryptedBlobStore(localOptions);
492
+ };
493
+ export const createVectorStore = (options) => {
494
+ const env = options.env ?? process.env;
495
+ const backend = env.VECTOR_STORE_BACKEND?.trim().toLowerCase() || 'embedded';
496
+ if (backend === 'pgvector') {
497
+ if (!options.postgresDatabase) {
498
+ throw new VectorStoreError('invalid-input', 'VECTOR_STORE_BACKEND=pgvector requires the shared PostgreSQL database');
499
+ }
500
+ return new PgVectorStore({
501
+ database: options.postgresDatabase,
502
+ ...(options.principalResolver
503
+ ? { principalResolver: options.principalResolver }
504
+ : {}),
505
+ });
506
+ }
507
+ if (backend !== 'embedded') {
508
+ throw new VectorStoreError('invalid-input', 'VECTOR_STORE_BACKEND must be embedded or pgvector');
509
+ }
510
+ if (!options.database) {
511
+ throw new VectorStoreError('invalid-input', 'VECTOR_STORE_BACKEND=embedded requires the selected SQLite database');
512
+ }
513
+ return new SqliteEncryptedVectorStore({
514
+ database: options.database,
515
+ keyring: createStorageKeyringFromEnvironment(env),
516
+ ...(options.principalResolver
517
+ ? { principalResolver: options.principalResolver }
518
+ : {}),
519
+ ...(options.maxCandidates !== undefined
520
+ ? { maxCandidates: options.maxCandidates }
521
+ : {}),
522
+ ...(options.maxCandidateBytes !== undefined
523
+ ? { maxCandidateBytes: options.maxCandidateBytes }
524
+ : {}),
525
+ ...(options.maxScoringComponents !== undefined
526
+ ? { maxScoringComponents: options.maxScoringComponents }
527
+ : {}),
528
+ });
529
+ };
530
+ //# sourceMappingURL=storageFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageFactory.js","sourceRoot":"","sources":["../../../src/platform/storage/storageFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This table is deliberately backend-neutral. It is the durable link between
3
+ * an application resource and a private blob; physical S3 keys and local paths
4
+ * never cross this boundary.
5
+ */
6
+ export declare const SQLITE_BLOB_REFERENCE_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS platform_blob_references (\n blob_id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n resource_type TEXT NOT NULL,\n resource_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n UNIQUE(resource_type, resource_id, purpose)\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_blob_references_owner\n ON platform_blob_references(owner_user_id, purpose, created_at);\n CREATE INDEX IF NOT EXISTS idx_platform_blob_references_resource\n ON platform_blob_references(resource_type, resource_id);\n";
7
+ /** Added after the immutable v5 blob-reference protocol. */
8
+ export declare const SQLITE_BLOB_QUOTA_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS platform_blob_quota_usage (\n owner_user_id TEXT PRIMARY KEY,\n stored_bytes INTEGER NOT NULL DEFAULT 0 CHECK(stored_bytes >= 0),\n reserved_bytes INTEGER NOT NULL DEFAULT 0 CHECK(reserved_bytes >= 0),\n updated_at INTEGER NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS platform_blob_quota_reservations (\n id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n reserved_bytes INTEGER NOT NULL CHECK(reserved_bytes >= 0),\n consumed_bytes INTEGER NOT NULL CHECK(consumed_bytes >= 0),\n expires_at INTEGER NOT NULL,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_blob_quota_reservations_expiry\n ON platform_blob_quota_reservations(expires_at, id);\n CREATE INDEX IF NOT EXISTS idx_platform_blob_quota_reservations_owner\n ON platform_blob_quota_reservations(owner_user_id, expires_at);\n\n CREATE TABLE IF NOT EXISTS platform_blob_quota_objects (\n blob_id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n stored_bytes INTEGER NOT NULL CHECK(stored_bytes >= 0),\n created_at INTEGER NOT NULL\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_blob_quota_objects_owner\n ON platform_blob_quota_objects(owner_user_id, purpose, created_at);\n";
9
+ export declare const POSTGRES_BLOB_SCHEMA_SQL = "\n CREATE TABLE platform_blob_objects (\n id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n object_key TEXT NOT NULL UNIQUE,\n encrypted_bytes BIGINT NOT NULL CHECK (encrypted_bytes >= 0),\n plaintext_bytes BIGINT NOT NULL CHECK (plaintext_bytes >= 0),\n plaintext_sha256 TEXT NOT NULL CHECK (plaintext_sha256 ~ '^[0-9a-f]{64}$'),\n ciphertext_sha256 TEXT NOT NULL CHECK (ciphertext_sha256 ~ '^[0-9a-f]{64}$'),\n wrapped_data_key JSONB NOT NULL,\n metadata_iv BYTEA NOT NULL,\n metadata_tag BYTEA NOT NULL,\n encrypted_metadata BYTEA NOT NULL,\n state TEXT NOT NULL CHECK (state IN ('ready', 'deleting')),\n created_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL\n );\n\n CREATE INDEX idx_platform_blob_objects_owner\n ON platform_blob_objects(owner_user_id, purpose, created_at);\n CREATE INDEX idx_platform_blob_objects_state\n ON platform_blob_objects(state, updated_at);\n\n CREATE TABLE platform_generated_media (\n id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n kind TEXT NOT NULL CHECK (kind IN ('image', 'audio', 'video')),\n encrypted_prompt TEXT NOT NULL,\n model TEXT NOT NULL,\n plugin_id TEXT,\n blob_id TEXT NOT NULL REFERENCES platform_blob_objects(id) ON DELETE RESTRICT,\n mime_type TEXT NOT NULL,\n size_label TEXT,\n quality TEXT,\n encrypted_metadata TEXT,\n created_at BIGINT NOT NULL\n );\n\n CREATE INDEX idx_platform_generated_media_user\n ON platform_generated_media(user_id, kind, created_at DESC);\n CREATE INDEX idx_platform_generated_media_blob\n ON platform_generated_media(blob_id);\n\n CREATE TABLE platform_blob_references (\n blob_id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n resource_type TEXT NOT NULL,\n resource_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n created_at BIGINT NOT NULL,\n UNIQUE(resource_type, resource_id, purpose)\n );\n\n CREATE INDEX idx_platform_blob_references_owner\n ON platform_blob_references(owner_user_id, purpose, created_at);\n CREATE INDEX idx_platform_blob_references_resource\n ON platform_blob_references(resource_type, resource_id);\n\n CREATE TABLE platform_blob_quota_usage (\n owner_user_id TEXT PRIMARY KEY,\n stored_bytes BIGINT NOT NULL DEFAULT 0 CHECK(stored_bytes >= 0),\n reserved_bytes BIGINT NOT NULL DEFAULT 0 CHECK(reserved_bytes >= 0),\n updated_at BIGINT NOT NULL\n );\n\n CREATE TABLE platform_blob_quota_reservations (\n id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n reserved_bytes BIGINT NOT NULL CHECK(reserved_bytes >= 0),\n consumed_bytes BIGINT NOT NULL CHECK(consumed_bytes >= 0),\n expires_at BIGINT NOT NULL,\n created_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL\n );\n\n CREATE INDEX idx_platform_blob_quota_reservations_expiry\n ON platform_blob_quota_reservations(expires_at, id);\n CREATE INDEX idx_platform_blob_quota_reservations_owner\n ON platform_blob_quota_reservations(owner_user_id, expires_at);\n\n CREATE TABLE platform_blob_quota_objects (\n blob_id TEXT PRIMARY KEY,\n owner_user_id TEXT NOT NULL,\n purpose TEXT NOT NULL,\n stored_bytes BIGINT NOT NULL CHECK(stored_bytes >= 0),\n created_at BIGINT NOT NULL\n );\n\n CREATE INDEX idx_platform_blob_quota_objects_owner\n ON platform_blob_quota_objects(owner_user_id, purpose, created_at);\n\n CREATE TABLE platform_media_generation_jobs (\n id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n provider_job_id TEXT NOT NULL,\n plugin_id TEXT NOT NULL,\n model TEXT NOT NULL,\n encrypted_prompt TEXT NOT NULL,\n status TEXT NOT NULL CHECK(status IN ('pending', 'in_progress', 'completed', 'failed')),\n encrypted_options TEXT,\n gallery_id TEXT REFERENCES platform_generated_media(id) ON DELETE SET NULL,\n encrypted_error TEXT,\n created_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL\n );\n\n CREATE UNIQUE INDEX idx_platform_media_jobs_provider\n ON platform_media_generation_jobs(user_id, plugin_id, provider_job_id);\n CREATE INDEX idx_platform_media_jobs_user_status\n ON platform_media_generation_jobs(user_id, status, updated_at DESC);\n";
10
+ export declare const POSTGRES_VECTOR_SCHEMA_SQL = "\n CREATE EXTENSION IF NOT EXISTS vector;\n\n CREATE TABLE platform_vector_entries (\n namespace TEXT NOT NULL,\n id TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n resource_id TEXT NOT NULL,\n model TEXT NOT NULL,\n dimensions INTEGER NOT NULL CHECK (dimensions > 0 AND dimensions <= 16000),\n embedding_version TEXT NOT NULL,\n source_revision TEXT NOT NULL,\n embedding vector NOT NULL,\n attributes JSONB NOT NULL DEFAULT '{}'::jsonb,\n created_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL,\n PRIMARY KEY (namespace, owner_user_id, id),\n CHECK (vector_dims(embedding) = dimensions),\n CHECK (jsonb_typeof(attributes) = 'object')\n );\n\n CREATE TABLE platform_vector_acl (\n namespace TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n vector_id TEXT NOT NULL,\n principal_type TEXT NOT NULL CHECK (principal_type IN ('user', 'group')),\n principal_id TEXT NOT NULL,\n PRIMARY KEY (\n namespace,\n owner_user_id,\n vector_id,\n principal_type,\n principal_id\n ),\n FOREIGN KEY (namespace, owner_user_id, vector_id)\n REFERENCES platform_vector_entries(namespace, owner_user_id, id)\n ON DELETE CASCADE\n );\n\n CREATE INDEX idx_platform_vectors_scope\n ON platform_vector_entries(\n namespace,\n model,\n dimensions,\n embedding_version,\n owner_user_id\n );\n CREATE INDEX idx_platform_vectors_resource\n ON platform_vector_entries(namespace, resource_id, owner_user_id);\n CREATE INDEX idx_platform_vectors_attributes\n ON platform_vector_entries USING GIN(attributes jsonb_path_ops);\n CREATE INDEX idx_platform_vector_acl_principal\n ON platform_vector_acl(\n principal_type,\n principal_id,\n namespace,\n owner_user_id,\n vector_id\n );\n\n CREATE TABLE platform_persona_memories (\n id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n persona_id TEXT NOT NULL REFERENCES personas(id) ON DELETE CASCADE,\n encrypted_content TEXT NOT NULL,\n timestamp BIGINT NOT NULL,\n encrypted_context TEXT,\n importance_score DOUBLE PRECISION NOT NULL DEFAULT 0.5\n CHECK(importance_score >= 0 AND importance_score <= 1),\n memory_type TEXT NOT NULL DEFAULT 'general'\n CHECK(memory_type IN ('fact', 'preference', 'experience', 'emotional', 'context', 'instruction', 'general')),\n access_count BIGINT NOT NULL DEFAULT 0 CHECK(access_count >= 0),\n last_accessed BIGINT,\n decay_factor DOUBLE PRECISION NOT NULL DEFAULT 1.0\n CHECK(decay_factor >= 0 AND decay_factor <= 1),\n encrypted_consolidated_from TEXT\n );\n\n CREATE INDEX idx_platform_persona_memories_owner\n ON platform_persona_memories(user_id, persona_id, timestamp DESC);\n CREATE INDEX idx_platform_persona_memories_core\n ON platform_persona_memories(user_id, persona_id, memory_type, importance_score DESC);\n\n CREATE TABLE platform_persona_states (\n persona_id TEXT PRIMARY KEY REFERENCES personas(id) ON DELETE CASCADE,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n encrypted_runtime_state TEXT NOT NULL,\n encrypted_mutation_log TEXT NOT NULL,\n last_updated BIGINT NOT NULL,\n version INTEGER NOT NULL DEFAULT 1 CHECK(version >= 1)\n );\n\n CREATE INDEX idx_platform_persona_states_user\n ON platform_persona_states(user_id, last_updated DESC);\n";
11
+ export interface StoragePostgresMigration {
12
+ version: number;
13
+ name: string;
14
+ checksum: string;
15
+ sql: string;
16
+ rollbackPlan: string;
17
+ minimumCompatibleVersion: number;
18
+ }
19
+ /** Checksums are immutable release artifacts: SHA-256(version\nname\nsql). */
20
+ export declare const POSTGRES_BLOB_MIGRATION: StoragePostgresMigration;
21
+ export declare const POSTGRES_VECTOR_MIGRATION: StoragePostgresMigration;
22
+ //# sourceMappingURL=storageSchemaContracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageSchemaContracts.d.ts","sourceRoot":"","sources":["../../../src/platform/storage/storageSchemaContracts.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,mkBAe5C,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,y0CAkCxC,CAAC;AAEF,eAAO,MAAM,wBAAwB,ytIAgHpC,CAAC;AAEF,eAAO,MAAM,0BAA0B,q3GA8FtC,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,wBAQrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,wBAQvC,CAAC"}