libre-webui 0.21.3 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +308 -328
- package/backend/dist/cli/migrateSqliteToPostgres.d.ts +2 -0
- package/backend/dist/cli/migrateSqliteToPostgres.d.ts.map +1 -0
- package/backend/dist/cli/migrateSqliteToPostgres.js +113 -0
- package/backend/dist/cli/migrateSqliteToPostgres.js.map +1 -0
- package/backend/dist/cli/recoveryBackup.d.ts +3 -0
- package/backend/dist/cli/recoveryBackup.d.ts.map +1 -0
- package/backend/dist/cli/recoveryBackup.js +251 -0
- package/backend/dist/cli/recoveryBackup.js.map +1 -0
- package/backend/dist/cli/recoveryInventory.d.ts +2 -0
- package/backend/dist/cli/recoveryInventory.d.ts.map +1 -0
- package/backend/dist/cli/recoveryInventory.js +109 -0
- package/backend/dist/cli/recoveryInventory.js.map +1 -0
- package/backend/dist/db.d.ts +27 -0
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +333 -16
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/env.d.ts.map +1 -1
- package/backend/dist/env.js +12 -2
- package/backend/dist/env.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +235 -47
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/main.d.ts +2 -0
- package/backend/dist/main.d.ts.map +1 -0
- package/backend/dist/main.js +137 -0
- package/backend/dist/main.js.map +1 -0
- package/backend/dist/middleware/auth.d.ts.map +1 -1
- package/backend/dist/middleware/auth.js +7 -3
- package/backend/dist/middleware/auth.js.map +1 -1
- package/backend/dist/middleware/chatCancellationAdmission.d.ts +7 -0
- package/backend/dist/middleware/chatCancellationAdmission.d.ts.map +1 -0
- package/backend/dist/middleware/chatCancellationAdmission.js +17 -0
- package/backend/dist/middleware/chatCancellationAdmission.js.map +1 -0
- package/backend/dist/middleware/coordinatedRateLimit.d.ts +18 -0
- package/backend/dist/middleware/coordinatedRateLimit.d.ts.map +1 -0
- package/backend/dist/middleware/coordinatedRateLimit.js +52 -0
- package/backend/dist/middleware/coordinatedRateLimit.js.map +1 -0
- package/backend/dist/middleware/sharedRateLimit.d.ts +26 -0
- package/backend/dist/middleware/sharedRateLimit.d.ts.map +1 -0
- package/backend/dist/middleware/sharedRateLimit.js +99 -0
- package/backend/dist/middleware/sharedRateLimit.js.map +1 -0
- package/backend/dist/models/personaModel.d.ts +1 -26
- package/backend/dist/models/personaModel.d.ts.map +1 -1
- package/backend/dist/models/personaModel.js +54 -247
- package/backend/dist/models/personaModel.js.map +1 -1
- package/backend/dist/models/userModel.d.ts +23 -66
- package/backend/dist/models/userModel.d.ts.map +1 -1
- package/backend/dist/models/userModel.js +110 -187
- package/backend/dist/models/userModel.js.map +1 -1
- package/backend/dist/persistence/chatGenerationTypes.d.ts +24 -0
- package/backend/dist/persistence/chatGenerationTypes.d.ts.map +1 -0
- package/backend/dist/persistence/chatGenerationTypes.js +7 -0
- package/backend/dist/persistence/chatGenerationTypes.js.map +1 -0
- package/backend/dist/persistence/extensionTypes.d.ts +185 -0
- package/backend/dist/persistence/extensionTypes.d.ts.map +1 -0
- package/backend/dist/persistence/extensionTypes.js +13 -0
- package/backend/dist/persistence/extensionTypes.js.map +1 -0
- package/backend/dist/persistence/identityDeletionTypes.d.ts +16 -0
- package/backend/dist/persistence/identityDeletionTypes.d.ts.map +1 -0
- package/backend/dist/persistence/identityDeletionTypes.js +7 -0
- package/backend/dist/persistence/identityDeletionTypes.js.map +1 -0
- package/backend/dist/persistence/index.d.ts +48 -0
- package/backend/dist/persistence/index.d.ts.map +1 -0
- package/backend/dist/persistence/index.js +159 -0
- package/backend/dist/persistence/index.js.map +1 -0
- package/backend/dist/persistence/postgresConfig.d.ts +32 -0
- package/backend/dist/persistence/postgresConfig.d.ts.map +1 -0
- package/backend/dist/persistence/postgresConfig.js +91 -0
- package/backend/dist/persistence/postgresConfig.js.map +1 -0
- package/backend/dist/persistence/postgresCoreMigration.d.ts +8 -0
- package/backend/dist/persistence/postgresCoreMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresCoreMigration.js +179 -0
- package/backend/dist/persistence/postgresCoreMigration.js.map +1 -0
- package/backend/dist/persistence/postgresDatabase.d.ts +40 -0
- package/backend/dist/persistence/postgresDatabase.d.ts.map +1 -0
- package/backend/dist/persistence/postgresDatabase.js +148 -0
- package/backend/dist/persistence/postgresDatabase.js.map +1 -0
- package/backend/dist/persistence/postgresExtensionMigration.d.ts +4 -0
- package/backend/dist/persistence/postgresExtensionMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresExtensionMigration.js +143 -0
- package/backend/dist/persistence/postgresExtensionMigration.js.map +1 -0
- package/backend/dist/persistence/postgresExtensionRepositories.d.ts +6 -0
- package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -0
- package/backend/dist/persistence/postgresExtensionRepositories.js +550 -0
- package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -0
- package/backend/dist/persistence/postgresImportState.d.ts +9 -0
- package/backend/dist/persistence/postgresImportState.d.ts.map +1 -0
- package/backend/dist/persistence/postgresImportState.js +64 -0
- package/backend/dist/persistence/postgresImportState.js.map +1 -0
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts +4 -0
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js +33 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -0
- package/backend/dist/persistence/postgresMigrationTypes.d.ts +24 -0
- package/backend/dist/persistence/postgresMigrationTypes.d.ts.map +1 -0
- package/backend/dist/persistence/postgresMigrationTypes.js +7 -0
- package/backend/dist/persistence/postgresMigrationTypes.js.map +1 -0
- package/backend/dist/persistence/postgresMigrations.d.ts +15 -0
- package/backend/dist/persistence/postgresMigrations.d.ts.map +1 -0
- package/backend/dist/persistence/postgresMigrations.js +333 -0
- package/backend/dist/persistence/postgresMigrations.js.map +1 -0
- package/backend/dist/persistence/postgresPersistence.d.ts +17 -0
- package/backend/dist/persistence/postgresPersistence.d.ts.map +1 -0
- package/backend/dist/persistence/postgresPersistence.js +332 -0
- package/backend/dist/persistence/postgresPersistence.js.map +1 -0
- package/backend/dist/persistence/postgresPluginDefinitionMigration.d.ts +4 -0
- package/backend/dist/persistence/postgresPluginDefinitionMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresPluginDefinitionMigration.js +40 -0
- package/backend/dist/persistence/postgresPluginDefinitionMigration.js.map +1 -0
- package/backend/dist/persistence/postgresResourceRepositories.d.ts +7 -0
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -0
- package/backend/dist/persistence/postgresResourceRepositories.js +776 -0
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -0
- package/backend/dist/persistence/postgresSchemaInspector.d.ts +14 -0
- package/backend/dist/persistence/postgresSchemaInspector.d.ts.map +1 -0
- package/backend/dist/persistence/postgresSchemaInspector.js +817 -0
- package/backend/dist/persistence/postgresSchemaInspector.js.map +1 -0
- package/backend/dist/persistence/resourceTypes.d.ts +207 -0
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -0
- package/backend/dist/persistence/resourceTypes.js +38 -0
- package/backend/dist/persistence/resourceTypes.js.map +1 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.d.ts +4 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.js +494 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts +93 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -0
- package/backend/dist/persistence/sqliteMigrations.js +2232 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -0
- package/backend/dist/persistence/sqlitePersistence.d.ts +23 -0
- package/backend/dist/persistence/sqlitePersistence.d.ts.map +1 -0
- package/backend/dist/persistence/sqlitePersistence.js +596 -0
- package/backend/dist/persistence/sqlitePersistence.js.map +1 -0
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts +4 -0
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -0
- package/backend/dist/persistence/sqliteResourceRepositories.js +663 -0
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -0
- package/backend/dist/persistence/sqliteSyncExecutor.d.ts +5 -0
- package/backend/dist/persistence/sqliteSyncExecutor.d.ts.map +1 -0
- package/backend/dist/persistence/sqliteSyncExecutor.js +19 -0
- package/backend/dist/persistence/sqliteSyncExecutor.js.map +1 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts +80 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js +1543 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -0
- package/backend/dist/persistence/types.d.ts +131 -0
- package/backend/dist/persistence/types.d.ts.map +1 -0
- package/backend/dist/persistence/types.js +18 -0
- package/backend/dist/persistence/types.js.map +1 -0
- package/backend/dist/persistence/voiceProfileNameLookup.d.ts +9 -0
- package/backend/dist/persistence/voiceProfileNameLookup.d.ts.map +1 -0
- package/backend/dist/persistence/voiceProfileNameLookup.js +15 -0
- package/backend/dist/persistence/voiceProfileNameLookup.js.map +1 -0
- package/backend/dist/platform/coordination/index.d.ts +7 -0
- package/backend/dist/platform/coordination/index.d.ts.map +1 -0
- package/backend/dist/platform/coordination/index.js +24 -0
- package/backend/dist/platform/coordination/index.js.map +1 -0
- package/backend/dist/platform/coordination/localCoordinator.d.ts +49 -0
- package/backend/dist/platform/coordination/localCoordinator.d.ts.map +1 -0
- package/backend/dist/platform/coordination/localCoordinator.js +380 -0
- package/backend/dist/platform/coordination/localCoordinator.js.map +1 -0
- package/backend/dist/platform/coordination/redisCoordinator.d.ts +83 -0
- package/backend/dist/platform/coordination/redisCoordinator.d.ts.map +1 -0
- package/backend/dist/platform/coordination/redisCoordinator.js +726 -0
- package/backend/dist/platform/coordination/redisCoordinator.js.map +1 -0
- package/backend/dist/platform/coordination/service.d.ts +11 -0
- package/backend/dist/platform/coordination/service.d.ts.map +1 -0
- package/backend/dist/platform/coordination/service.js +55 -0
- package/backend/dist/platform/coordination/service.js.map +1 -0
- package/backend/dist/platform/coordination/sharedAdmission.d.ts +53 -0
- package/backend/dist/platform/coordination/sharedAdmission.d.ts.map +1 -0
- package/backend/dist/platform/coordination/sharedAdmission.js +194 -0
- package/backend/dist/platform/coordination/sharedAdmission.js.map +1 -0
- package/backend/dist/platform/coordination/types.d.ts +76 -0
- package/backend/dist/platform/coordination/types.d.ts.map +1 -0
- package/backend/dist/platform/coordination/types.js +32 -0
- package/backend/dist/platform/coordination/types.js.map +1 -0
- package/backend/dist/platform/events/durableEventGateway.d.ts +54 -0
- package/backend/dist/platform/events/durableEventGateway.d.ts.map +1 -0
- package/backend/dist/platform/events/durableEventGateway.js +262 -0
- package/backend/dist/platform/events/durableEventGateway.js.map +1 -0
- package/backend/dist/platform/events/index.d.ts +3 -0
- package/backend/dist/platform/events/index.d.ts.map +1 -0
- package/backend/dist/platform/events/index.js +8 -0
- package/backend/dist/platform/events/index.js.map +1 -0
- package/backend/dist/platform/events/service.d.ts +8 -0
- package/backend/dist/platform/events/service.d.ts.map +1 -0
- package/backend/dist/platform/events/service.js +25 -0
- package/backend/dist/platform/events/service.js.map +1 -0
- package/backend/dist/platform/jobs/chatGenerationEnqueuer.d.ts +3 -0
- package/backend/dist/platform/jobs/chatGenerationEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/chatGenerationEnqueuer.js +55 -0
- package/backend/dist/platform/jobs/chatGenerationEnqueuer.js.map +1 -0
- package/backend/dist/platform/jobs/documentIngestionEnqueuer.d.ts +3 -0
- package/backend/dist/platform/jobs/documentIngestionEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/documentIngestionEnqueuer.js +38 -0
- package/backend/dist/platform/jobs/documentIngestionEnqueuer.js.map +1 -0
- package/backend/dist/platform/jobs/domainJobContracts.d.ts +30 -0
- package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -0
- package/backend/dist/platform/jobs/domainJobContracts.js +53 -0
- package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -0
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts +11 -0
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -0
- package/backend/dist/platform/jobs/domainJobHandlers.js +612 -0
- package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -0
- package/backend/dist/platform/jobs/durableEventIdentity.d.ts +8 -0
- package/backend/dist/platform/jobs/durableEventIdentity.d.ts.map +1 -0
- package/backend/dist/platform/jobs/durableEventIdentity.js +33 -0
- package/backend/dist/platform/jobs/durableEventIdentity.js.map +1 -0
- package/backend/dist/platform/jobs/durableJobRuntime.d.ts +57 -0
- package/backend/dist/platform/jobs/durableJobRuntime.d.ts.map +1 -0
- package/backend/dist/platform/jobs/durableJobRuntime.js +131 -0
- package/backend/dist/platform/jobs/durableJobRuntime.js.map +1 -0
- package/backend/dist/platform/jobs/durableJobRuntimeBackend.d.ts +28 -0
- package/backend/dist/platform/jobs/durableJobRuntimeBackend.d.ts.map +1 -0
- package/backend/dist/platform/jobs/durableJobRuntimeBackend.js +62 -0
- package/backend/dist/platform/jobs/durableJobRuntimeBackend.js.map +1 -0
- package/backend/dist/platform/jobs/durableJobService.d.ts +85 -0
- package/backend/dist/platform/jobs/durableJobService.d.ts.map +1 -0
- package/backend/dist/platform/jobs/durableJobService.js +726 -0
- package/backend/dist/platform/jobs/durableJobService.js.map +1 -0
- package/backend/dist/platform/jobs/durableJobTypes.d.ts +195 -0
- package/backend/dist/platform/jobs/durableJobTypes.d.ts.map +1 -0
- package/backend/dist/platform/jobs/durableJobTypes.js +72 -0
- package/backend/dist/platform/jobs/durableJobTypes.js.map +1 -0
- package/backend/dist/platform/jobs/embeddedDurableJobWorker.d.ts +87 -0
- package/backend/dist/platform/jobs/embeddedDurableJobWorker.d.ts.map +1 -0
- package/backend/dist/platform/jobs/embeddedDurableJobWorker.js +429 -0
- package/backend/dist/platform/jobs/embeddedDurableJobWorker.js.map +1 -0
- package/backend/dist/platform/jobs/identityDeletionEnqueuer.d.ts +3 -0
- package/backend/dist/platform/jobs/identityDeletionEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/identityDeletionEnqueuer.js +36 -0
- package/backend/dist/platform/jobs/identityDeletionEnqueuer.js.map +1 -0
- package/backend/dist/platform/jobs/index.d.ts +18 -0
- package/backend/dist/platform/jobs/index.d.ts.map +1 -0
- package/backend/dist/platform/jobs/index.js +34 -0
- package/backend/dist/platform/jobs/index.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.d.ts +4 -0
- package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.js +25 -0
- package/backend/dist/platform/jobs/postgresDurableEventIdempotencyMigration.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.d.ts +4 -0
- package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.js +23 -0
- package/backend/dist/platform/jobs/postgresDurableEventReplayIndexMigration.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobMigration.d.ts +11 -0
- package/backend/dist/platform/jobs/postgresDurableJobMigration.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobMigration.js +106 -0
- package/backend/dist/platform/jobs/postgresDurableJobMigration.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobRepository.d.ts +88 -0
- package/backend/dist/platform/jobs/postgresDurableJobRepository.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobRepository.js +1185 -0
- package/backend/dist/platform/jobs/postgresDurableJobRepository.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobService.d.ts +86 -0
- package/backend/dist/platform/jobs/postgresDurableJobService.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobService.js +696 -0
- package/backend/dist/platform/jobs/postgresDurableJobService.js.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobWorker.d.ts +53 -0
- package/backend/dist/platform/jobs/postgresDurableJobWorker.d.ts.map +1 -0
- package/backend/dist/platform/jobs/postgresDurableJobWorker.js +393 -0
- package/backend/dist/platform/jobs/postgresDurableJobWorker.js.map +1 -0
- package/backend/dist/platform/jobs/resourceDeletionEnqueuer.d.ts +3 -0
- package/backend/dist/platform/jobs/resourceDeletionEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/resourceDeletionEnqueuer.js +43 -0
- package/backend/dist/platform/jobs/resourceDeletionEnqueuer.js.map +1 -0
- package/backend/dist/platform/jobs/sqliteDurableJobRepository.d.ts +166 -0
- package/backend/dist/platform/jobs/sqliteDurableJobRepository.d.ts.map +1 -0
- package/backend/dist/platform/jobs/sqliteDurableJobRepository.js +1008 -0
- package/backend/dist/platform/jobs/sqliteDurableJobRepository.js.map +1 -0
- package/backend/dist/platform/jobs/videoGenerationEnqueuer.d.ts +4 -0
- package/backend/dist/platform/jobs/videoGenerationEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/videoGenerationEnqueuer.js +46 -0
- package/backend/dist/platform/jobs/videoGenerationEnqueuer.js.map +1 -0
- package/backend/dist/platform/jobs/workExecutionEnqueuer.d.ts +3 -0
- package/backend/dist/platform/jobs/workExecutionEnqueuer.d.ts.map +1 -0
- package/backend/dist/platform/jobs/workExecutionEnqueuer.js +38 -0
- package/backend/dist/platform/jobs/workExecutionEnqueuer.js.map +1 -0
- package/backend/dist/platform/ollamaRuntimeConfig.d.ts +40 -0
- package/backend/dist/platform/ollamaRuntimeConfig.d.ts.map +1 -0
- package/backend/dist/platform/ollamaRuntimeConfig.js +72 -0
- package/backend/dist/platform/ollamaRuntimeConfig.js.map +1 -0
- package/backend/dist/platform/recovery/backupArchive.d.ts +120 -0
- package/backend/dist/platform/recovery/backupArchive.d.ts.map +1 -0
- package/backend/dist/platform/recovery/backupArchive.js +842 -0
- package/backend/dist/platform/recovery/backupArchive.js.map +1 -0
- package/backend/dist/platform/recovery/index.d.ts +3 -0
- package/backend/dist/platform/recovery/index.d.ts.map +1 -0
- package/backend/dist/platform/recovery/index.js +8 -0
- package/backend/dist/platform/recovery/index.js.map +1 -0
- package/backend/dist/platform/recovery/teamBackupArchive.d.ts +98 -0
- package/backend/dist/platform/recovery/teamBackupArchive.d.ts.map +1 -0
- package/backend/dist/platform/recovery/teamBackupArchive.js +1203 -0
- package/backend/dist/platform/recovery/teamBackupArchive.js.map +1 -0
- package/backend/dist/platform/runtimeConfig.d.ts +70 -0
- package/backend/dist/platform/runtimeConfig.d.ts.map +1 -0
- package/backend/dist/platform/runtimeConfig.js +205 -0
- package/backend/dist/platform/runtimeConfig.js.map +1 -0
- package/backend/dist/platform/storage/aesGcmKeyring.d.ts +26 -0
- package/backend/dist/platform/storage/aesGcmKeyring.d.ts.map +1 -0
- package/backend/dist/platform/storage/aesGcmKeyring.js +135 -0
- package/backend/dist/platform/storage/aesGcmKeyring.js.map +1 -0
- package/backend/dist/platform/storage/blobReferenceRepository.d.ts +36 -0
- package/backend/dist/platform/storage/blobReferenceRepository.d.ts.map +1 -0
- package/backend/dist/platform/storage/blobReferenceRepository.js +117 -0
- package/backend/dist/platform/storage/blobReferenceRepository.js.map +1 -0
- package/backend/dist/platform/storage/blobStore.d.ts +111 -0
- package/backend/dist/platform/storage/blobStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/blobStore.js +46 -0
- package/backend/dist/platform/storage/blobStore.js.map +1 -0
- package/backend/dist/platform/storage/documentVectorIndex.d.ts +44 -0
- package/backend/dist/platform/storage/documentVectorIndex.d.ts.map +1 -0
- package/backend/dist/platform/storage/documentVectorIndex.js +110 -0
- package/backend/dist/platform/storage/documentVectorIndex.js.map +1 -0
- package/backend/dist/platform/storage/durableBlobQuotaPolicy.d.ts +82 -0
- package/backend/dist/platform/storage/durableBlobQuotaPolicy.d.ts.map +1 -0
- package/backend/dist/platform/storage/durableBlobQuotaPolicy.js +583 -0
- package/backend/dist/platform/storage/durableBlobQuotaPolicy.js.map +1 -0
- package/backend/dist/platform/storage/index.d.ts +19 -0
- package/backend/dist/platform/storage/index.d.ts.map +1 -0
- package/backend/dist/platform/storage/index.js +35 -0
- package/backend/dist/platform/storage/index.js.map +1 -0
- package/backend/dist/platform/storage/localEncryptedBlobStore.d.ts +120 -0
- package/backend/dist/platform/storage/localEncryptedBlobStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/localEncryptedBlobStore.js +1205 -0
- package/backend/dist/platform/storage/localEncryptedBlobStore.js.map +1 -0
- package/backend/dist/platform/storage/personaMemoryIndexing.d.ts +12 -0
- package/backend/dist/platform/storage/personaMemoryIndexing.d.ts.map +1 -0
- package/backend/dist/platform/storage/personaMemoryIndexing.js +25 -0
- package/backend/dist/platform/storage/personaMemoryIndexing.js.map +1 -0
- package/backend/dist/platform/storage/pgVectorStore.d.ts +37 -0
- package/backend/dist/platform/storage/pgVectorStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/pgVectorStore.js +493 -0
- package/backend/dist/platform/storage/pgVectorStore.js.map +1 -0
- package/backend/dist/platform/storage/platformDomainRepositories.d.ts +244 -0
- package/backend/dist/platform/storage/platformDomainRepositories.d.ts.map +1 -0
- package/backend/dist/platform/storage/platformDomainRepositories.js +7 -0
- package/backend/dist/platform/storage/platformDomainRepositories.js.map +1 -0
- package/backend/dist/platform/storage/platformStorageRuntime.d.ts +35 -0
- package/backend/dist/platform/storage/platformStorageRuntime.d.ts.map +1 -0
- package/backend/dist/platform/storage/platformStorageRuntime.js +299 -0
- package/backend/dist/platform/storage/platformStorageRuntime.js.map +1 -0
- package/backend/dist/platform/storage/postgresPlatformDomainRepositories.d.ts +4 -0
- package/backend/dist/platform/storage/postgresPlatformDomainRepositories.d.ts.map +1 -0
- package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js +1017 -0
- package/backend/dist/platform/storage/postgresPlatformDomainRepositories.js.map +1 -0
- package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.d.ts +4 -0
- package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.d.ts.map +1 -0
- package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.js +40 -0
- package/backend/dist/platform/storage/postgresResourceDeletionLifecycleMigration.js.map +1 -0
- package/backend/dist/platform/storage/resourceContentCleanup.d.ts +29 -0
- package/backend/dist/platform/storage/resourceContentCleanup.d.ts.map +1 -0
- package/backend/dist/platform/storage/resourceContentCleanup.js +100 -0
- package/backend/dist/platform/storage/resourceContentCleanup.js.map +1 -0
- package/backend/dist/platform/storage/resourceDeletionLifecycle.d.ts +14 -0
- package/backend/dist/platform/storage/resourceDeletionLifecycle.d.ts.map +1 -0
- package/backend/dist/platform/storage/resourceDeletionLifecycle.js +31 -0
- package/backend/dist/platform/storage/resourceDeletionLifecycle.js.map +1 -0
- package/backend/dist/platform/storage/s3EncryptedBlobStore.d.ts +140 -0
- package/backend/dist/platform/storage/s3EncryptedBlobStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/s3EncryptedBlobStore.js +1309 -0
- package/backend/dist/platform/storage/s3EncryptedBlobStore.js.map +1 -0
- package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts +71 -0
- package/backend/dist/platform/storage/sqliteEncryptedVectorStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js +766 -0
- package/backend/dist/platform/storage/sqliteEncryptedVectorStore.js.map +1 -0
- package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.d.ts +4 -0
- package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.d.ts.map +1 -0
- package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js +1037 -0
- package/backend/dist/platform/storage/sqlitePlatformDomainRepositories.js.map +1 -0
- package/backend/dist/platform/storage/sqliteToTeamStorageMigration.d.ts +25 -0
- package/backend/dist/platform/storage/sqliteToTeamStorageMigration.d.ts.map +1 -0
- package/backend/dist/platform/storage/sqliteToTeamStorageMigration.js +1292 -0
- package/backend/dist/platform/storage/sqliteToTeamStorageMigration.js.map +1 -0
- package/backend/dist/platform/storage/storageFactory.d.ts +81 -0
- package/backend/dist/platform/storage/storageFactory.d.ts.map +1 -0
- package/backend/dist/platform/storage/storageFactory.js +518 -0
- package/backend/dist/platform/storage/storageFactory.js.map +1 -0
- package/backend/dist/platform/storage/storageSchemaContracts.d.ts +22 -0
- package/backend/dist/platform/storage/storageSchemaContracts.d.ts.map +1 -0
- package/backend/dist/platform/storage/storageSchemaContracts.js +299 -0
- package/backend/dist/platform/storage/storageSchemaContracts.js.map +1 -0
- package/backend/dist/platform/storage/vectorStore.d.ts +117 -0
- package/backend/dist/platform/storage/vectorStore.d.ts.map +1 -0
- package/backend/dist/platform/storage/vectorStore.js +40 -0
- package/backend/dist/platform/storage/vectorStore.js.map +1 -0
- package/backend/dist/platform/workPersistence/index.d.ts +9 -0
- package/backend/dist/platform/workPersistence/index.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/index.js +14 -0
- package/backend/dist/platform/workPersistence/index.js.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.d.ts +9 -0
- package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.js +47 -0
- package/backend/dist/platform/workPersistence/postgresWorkLifecycleMigration.js.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.d.ts +3 -0
- package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.js +28 -0
- package/backend/dist/platform/workPersistence/postgresWorkMessageContentMigration.js.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkMigration.d.ts +3 -0
- package/backend/dist/platform/workPersistence/postgresWorkMigration.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkMigration.js +101 -0
- package/backend/dist/platform/workPersistence/postgresWorkMigration.js.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts +79 -0
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +521 -0
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -0
- package/backend/dist/platform/workPersistence/service.d.ts +6 -0
- package/backend/dist/platform/workPersistence/service.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/service.js +27 -0
- package/backend/dist/platform/workPersistence/service.js.map +1 -0
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts +77 -0
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +463 -0
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -0
- package/backend/dist/platform/workPersistence/types.d.ts +159 -0
- package/backend/dist/platform/workPersistence/types.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/types.js +13 -0
- package/backend/dist/platform/workPersistence/types.js.map +1 -0
- package/backend/dist/platform/workPersistence/workExecutionTypes.d.ts +13 -0
- package/backend/dist/platform/workPersistence/workExecutionTypes.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/workExecutionTypes.js +7 -0
- package/backend/dist/platform/workPersistence/workExecutionTypes.js.map +1 -0
- package/backend/dist/platform/workPersistence/workMessageContentCodec.d.ts +8 -0
- package/backend/dist/platform/workPersistence/workMessageContentCodec.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/workMessageContentCodec.js +25 -0
- package/backend/dist/platform/workPersistence/workMessageContentCodec.js.map +1 -0
- package/backend/dist/platform/workPersistence/workTextSafety.d.ts +3 -0
- package/backend/dist/platform/workPersistence/workTextSafety.d.ts.map +1 -0
- package/backend/dist/platform/workPersistence/workTextSafety.js +8 -0
- package/backend/dist/platform/workPersistence/workTextSafety.js.map +1 -0
- package/backend/dist/routes/agentCli.js +1 -1
- package/backend/dist/routes/agentCli.js.map +1 -1
- package/backend/dist/routes/artifacts.d.ts.map +1 -1
- package/backend/dist/routes/artifacts.js +2 -1
- package/backend/dist/routes/artifacts.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +64 -18
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +519 -85
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/documents.d.ts.map +1 -1
- package/backend/dist/routes/documents.js +134 -28
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/embeddings.d.ts.map +1 -1
- package/backend/dist/routes/embeddings.js +2 -1
- package/backend/dist/routes/embeddings.js.map +1 -1
- package/backend/dist/routes/health.d.ts +3 -0
- package/backend/dist/routes/health.d.ts.map +1 -0
- package/backend/dist/routes/health.js +52 -0
- package/backend/dist/routes/health.js.map +1 -0
- package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
- package/backend/dist/routes/huggingfaceHub.js +2 -1
- package/backend/dist/routes/huggingfaceHub.js.map +1 -1
- package/backend/dist/routes/imageGen.d.ts.map +1 -1
- package/backend/dist/routes/imageGen.js +42 -10
- package/backend/dist/routes/imageGen.js.map +1 -1
- package/backend/dist/routes/jobs.d.ts +3 -0
- package/backend/dist/routes/jobs.d.ts.map +1 -0
- package/backend/dist/routes/jobs.js +117 -0
- package/backend/dist/routes/jobs.js.map +1 -0
- package/backend/dist/routes/libreClaw.d.ts.map +1 -1
- package/backend/dist/routes/libreClaw.js +10 -7
- package/backend/dist/routes/libreClaw.js.map +1 -1
- package/backend/dist/routes/media.d.ts.map +1 -1
- package/backend/dist/routes/media.js +523 -77
- package/backend/dist/routes/media.js.map +1 -1
- package/backend/dist/routes/notes.d.ts.map +1 -1
- package/backend/dist/routes/notes.js +21 -21
- package/backend/dist/routes/notes.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +40 -12
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/routes/personas.d.ts.map +1 -1
- package/backend/dist/routes/personas.js +4 -2
- package/backend/dist/routes/personas.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +79 -51
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/routes/preferences.d.ts.map +1 -1
- package/backend/dist/routes/preferences.js +290 -25
- package/backend/dist/routes/preferences.js.map +1 -1
- package/backend/dist/routes/search.d.ts.map +1 -1
- package/backend/dist/routes/search.js +23 -14
- package/backend/dist/routes/search.js.map +1 -1
- package/backend/dist/routes/stt.d.ts +9 -0
- package/backend/dist/routes/stt.d.ts.map +1 -0
- package/backend/dist/routes/stt.js +217 -0
- package/backend/dist/routes/stt.js.map +1 -0
- package/backend/dist/routes/systemDiagnostics.d.ts.map +1 -1
- package/backend/dist/routes/systemDiagnostics.js +2 -1
- package/backend/dist/routes/systemDiagnostics.js.map +1 -1
- package/backend/dist/routes/tts.d.ts.map +1 -1
- package/backend/dist/routes/tts.js +577 -28
- package/backend/dist/routes/tts.js.map +1 -1
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +16 -25
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +167 -113
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/agentAccessService.d.ts +2 -2
- package/backend/dist/services/agentAccessService.d.ts.map +1 -1
- package/backend/dist/services/agentAccessService.js +5 -14
- package/backend/dist/services/agentAccessService.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts +3 -2
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +44 -16
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/assistantCompletionService.d.ts +2 -1
- package/backend/dist/services/assistantCompletionService.d.ts.map +1 -1
- package/backend/dist/services/assistantCompletionService.js +7 -3
- package/backend/dist/services/assistantCompletionService.js.map +1 -1
- package/backend/dist/services/authService.d.ts +7 -2
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +23 -10
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +5 -4
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +23 -17
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/chatRequestService.d.ts +4 -3
- package/backend/dist/services/chatRequestService.d.ts.map +1 -1
- package/backend/dist/services/chatRequestService.js +3 -3
- package/backend/dist/services/chatRequestService.js.map +1 -1
- package/backend/dist/services/chatService.d.ts +66 -16
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +402 -111
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/codexOAuthService.d.ts +2 -2
- package/backend/dist/services/codexOAuthService.d.ts.map +1 -1
- package/backend/dist/services/codexOAuthService.js +63 -7
- package/backend/dist/services/codexOAuthService.js.map +1 -1
- package/backend/dist/services/dataArchiveService.d.ts +88 -0
- package/backend/dist/services/dataArchiveService.d.ts.map +1 -0
- package/backend/dist/services/dataArchiveService.js +1027 -0
- package/backend/dist/services/dataArchiveService.js.map +1 -0
- package/backend/dist/services/documentService.d.ts +67 -14
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +938 -193
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/durableChatCompletion.d.ts +16 -0
- package/backend/dist/services/durableChatCompletion.d.ts.map +1 -0
- package/backend/dist/services/durableChatCompletion.js +34 -0
- package/backend/dist/services/durableChatCompletion.js.map +1 -0
- package/backend/dist/services/durableChatGenerationService.d.ts +19 -0
- package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -0
- package/backend/dist/services/durableChatGenerationService.js +341 -0
- package/backend/dist/services/durableChatGenerationService.js.map +1 -0
- package/backend/dist/services/embeddingService.d.ts +1 -1
- package/backend/dist/services/embeddingService.d.ts.map +1 -1
- package/backend/dist/services/embeddingService.js +16 -13
- package/backend/dist/services/embeddingService.js.map +1 -1
- package/backend/dist/services/encryptionService.d.ts +28 -1
- package/backend/dist/services/encryptionService.d.ts.map +1 -1
- package/backend/dist/services/encryptionService.js +131 -51
- package/backend/dist/services/encryptionService.js.map +1 -1
- package/backend/dist/services/followUpService.d.ts +1 -1
- package/backend/dist/services/followUpService.d.ts.map +1 -1
- package/backend/dist/services/followUpService.js +1 -1
- package/backend/dist/services/followUpService.js.map +1 -1
- package/backend/dist/services/galleryService.d.ts +38 -37
- package/backend/dist/services/galleryService.d.ts.map +1 -1
- package/backend/dist/services/galleryService.js +356 -251
- package/backend/dist/services/galleryService.js.map +1 -1
- package/backend/dist/services/healthService.d.ts +65 -0
- package/backend/dist/services/healthService.d.ts.map +1 -0
- package/backend/dist/services/healthService.js +379 -0
- package/backend/dist/services/healthService.js.map +1 -0
- package/backend/dist/services/legacyCiphertextIntegrity.d.ts +40 -0
- package/backend/dist/services/legacyCiphertextIntegrity.d.ts.map +1 -0
- package/backend/dist/services/legacyCiphertextIntegrity.js +406 -0
- package/backend/dist/services/legacyCiphertextIntegrity.js.map +1 -0
- package/backend/dist/services/mediaGenerationJobService.d.ts +27 -5
- package/backend/dist/services/mediaGenerationJobService.d.ts.map +1 -1
- package/backend/dist/services/mediaGenerationJobService.js +185 -55
- package/backend/dist/services/mediaGenerationJobService.js.map +1 -1
- package/backend/dist/services/memoryService.d.ts +7 -83
- package/backend/dist/services/memoryService.d.ts.map +1 -1
- package/backend/dist/services/memoryService.js +428 -573
- package/backend/dist/services/memoryService.js.map +1 -1
- package/backend/dist/services/memoryUtils.d.ts.map +1 -1
- package/backend/dist/services/memoryUtils.js +8 -1
- package/backend/dist/services/memoryUtils.js.map +1 -1
- package/backend/dist/services/modelAccessService.d.ts +3 -3
- package/backend/dist/services/modelAccessService.d.ts.map +1 -1
- package/backend/dist/services/modelAccessService.js +8 -16
- package/backend/dist/services/modelAccessService.js.map +1 -1
- package/backend/dist/services/mutationEngineService.d.ts +0 -7
- package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
- package/backend/dist/services/mutationEngineService.js +7 -78
- package/backend/dist/services/mutationEngineService.js.map +1 -1
- package/backend/dist/services/ollamaService.d.ts +4 -4
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +62 -31
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/personaService.d.ts.map +1 -1
- package/backend/dist/services/personaService.js +19 -54
- package/backend/dist/services/personaService.js.map +1 -1
- package/backend/dist/services/pluginActivationService.d.ts +6 -5
- package/backend/dist/services/pluginActivationService.d.ts.map +1 -1
- package/backend/dist/services/pluginActivationService.js +36 -76
- package/backend/dist/services/pluginActivationService.js.map +1 -1
- package/backend/dist/services/pluginAudioGenerationService.d.ts +11 -6
- package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginAudioGenerationService.js +74 -16
- package/backend/dist/services/pluginAudioGenerationService.js.map +1 -1
- package/backend/dist/services/pluginCacheInvalidation.d.ts +38 -0
- package/backend/dist/services/pluginCacheInvalidation.d.ts.map +1 -0
- package/backend/dist/services/pluginCacheInvalidation.js +198 -0
- package/backend/dist/services/pluginCacheInvalidation.js.map +1 -0
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts +3 -3
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
- package/backend/dist/services/pluginCapabilityRegistryService.js +11 -7
- package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
- package/backend/dist/services/pluginCredentialsService.d.ts +9 -8
- package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
- package/backend/dist/services/pluginCredentialsService.js +48 -89
- package/backend/dist/services/pluginCredentialsService.js.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.d.ts +8 -7
- package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.js +13 -11
- package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
- package/backend/dist/services/pluginImageGenerationService.d.ts +10 -8
- package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginImageGenerationService.js +119 -14
- package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
- package/backend/dist/services/pluginSTTService.d.ts +47 -0
- package/backend/dist/services/pluginSTTService.d.ts.map +1 -0
- package/backend/dist/services/pluginSTTService.js +199 -0
- package/backend/dist/services/pluginSTTService.js.map +1 -0
- package/backend/dist/services/pluginService.d.ts +94 -40
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +799 -274
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginTTSService.d.ts +26 -8
- package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
- package/backend/dist/services/pluginTTSService.js +277 -25
- package/backend/dist/services/pluginTTSService.js.map +1 -1
- package/backend/dist/services/pluginUsageService.d.ts +4 -4
- package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
- package/backend/dist/services/pluginUsageService.js +44 -93
- package/backend/dist/services/pluginUsageService.js.map +1 -1
- package/backend/dist/services/pluginVariablesService.d.ts +14 -7
- package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
- package/backend/dist/services/pluginVariablesService.js +116 -81
- package/backend/dist/services/pluginVariablesService.js.map +1 -1
- package/backend/dist/services/pluginVideoGenerationService.d.ts +19 -8
- package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginVideoGenerationService.js +116 -20
- package/backend/dist/services/pluginVideoGenerationService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +31 -21
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +104 -102
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/recoveryInventoryService.d.ts +244 -0
- package/backend/dist/services/recoveryInventoryService.d.ts.map +1 -0
- package/backend/dist/services/recoveryInventoryService.js +1436 -0
- package/backend/dist/services/recoveryInventoryService.js.map +1 -0
- package/backend/dist/services/simpleGitHubOAuth.js +3 -3
- package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.js +3 -3
- package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
- package/backend/dist/services/systemDiagnosticsService.d.ts.map +1 -1
- package/backend/dist/services/systemDiagnosticsService.js +2 -2
- package/backend/dist/services/systemDiagnosticsService.js.map +1 -1
- package/backend/dist/services/systemSettingsService.d.ts +5 -0
- package/backend/dist/services/systemSettingsService.d.ts.map +1 -0
- package/backend/dist/services/systemSettingsService.js +24 -0
- package/backend/dist/services/systemSettingsService.js.map +1 -0
- package/backend/dist/services/titleGenerationService.d.ts +1 -1
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
- package/backend/dist/services/titleGenerationService.js +1 -1
- package/backend/dist/services/titleGenerationService.js.map +1 -1
- package/backend/dist/services/voiceProfileService.d.ts +44 -0
- package/backend/dist/services/voiceProfileService.d.ts.map +1 -0
- package/backend/dist/services/voiceProfileService.js +195 -0
- package/backend/dist/services/voiceProfileService.js.map +1 -0
- package/backend/dist/services/webSearchService.d.ts +7 -7
- package/backend/dist/services/webSearchService.d.ts.map +1 -1
- package/backend/dist/services/webSearchService.js +40 -35
- package/backend/dist/services/webSearchService.js.map +1 -1
- package/backend/dist/services/websocketTicketService.d.ts +39 -0
- package/backend/dist/services/websocketTicketService.d.ts.map +1 -0
- package/backend/dist/services/websocketTicketService.js +183 -0
- package/backend/dist/services/websocketTicketService.js.map +1 -0
- package/backend/dist/services/workAccessService.d.ts +3 -3
- package/backend/dist/services/workAccessService.d.ts.map +1 -1
- package/backend/dist/services/workAccessService.js +8 -16
- package/backend/dist/services/workAccessService.js.map +1 -1
- package/backend/dist/services/workAdminService.d.ts +3 -3
- package/backend/dist/services/workAdminService.d.ts.map +1 -1
- package/backend/dist/services/workAdminService.js +4 -4
- package/backend/dist/services/workAdminService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts +25 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +294 -126
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workEventService.d.ts +15 -2
- package/backend/dist/services/workEventService.d.ts.map +1 -1
- package/backend/dist/services/workEventService.js +201 -3
- package/backend/dist/services/workEventService.js.map +1 -1
- package/backend/dist/services/workKubernetesDriver.d.ts +8 -7
- package/backend/dist/services/workKubernetesDriver.d.ts.map +1 -1
- package/backend/dist/services/workKubernetesDriver.js +65 -21
- package/backend/dist/services/workKubernetesDriver.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts +2 -2
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +38 -34
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workPolicyService.d.ts +7 -7
- package/backend/dist/services/workPolicyService.d.ts.map +1 -1
- package/backend/dist/services/workPolicyService.js +50 -51
- package/backend/dist/services/workPolicyService.js.map +1 -1
- package/backend/dist/services/workPreviewProxyService.d.ts +8 -8
- package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -1
- package/backend/dist/services/workPreviewProxyService.js +47 -44
- package/backend/dist/services/workPreviewProxyService.js.map +1 -1
- package/backend/dist/services/workRuntimeDriver.d.ts +21 -18
- package/backend/dist/services/workRuntimeDriver.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeDriver.js +69 -20
- package/backend/dist/services/workRuntimeDriver.js.map +1 -1
- package/backend/dist/services/workRuntimeService.d.ts +18 -13
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +438 -194
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workRuntimeShared.d.ts +2 -0
- package/backend/dist/services/workRuntimeShared.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeShared.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts +42 -36
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +445 -350
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/services/workTerminalService.d.ts +1 -1
- package/backend/dist/services/workTerminalService.d.ts.map +1 -1
- package/backend/dist/services/workTerminalService.js +33 -6
- package/backend/dist/services/workTerminalService.js.map +1 -1
- package/backend/dist/storage.d.ts +72 -40
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +312 -660
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/types/index.d.ts +28 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/types/work.d.ts +7 -2
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/utils/chatCancellation.d.ts +48 -0
- package/backend/dist/utils/chatCancellation.d.ts.map +1 -0
- package/backend/dist/utils/chatCancellation.js +152 -0
- package/backend/dist/utils/chatCancellation.js.map +1 -0
- package/backend/dist/utils/chatDocumentContext.d.ts +1 -1
- package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
- package/backend/dist/utils/chatDocumentContext.js +11 -5
- package/backend/dist/utils/chatDocumentContext.js.map +1 -1
- package/backend/dist/utils/chatStreamCoalescer.d.ts +15 -0
- package/backend/dist/utils/chatStreamCoalescer.d.ts.map +1 -0
- package/backend/dist/utils/chatStreamCoalescer.js +59 -0
- package/backend/dist/utils/chatStreamCoalescer.js.map +1 -0
- package/backend/dist/utils/dataDirectory.d.ts +49 -0
- package/backend/dist/utils/dataDirectory.d.ts.map +1 -0
- package/backend/dist/utils/dataDirectory.js +291 -0
- package/backend/dist/utils/dataDirectory.js.map +1 -0
- package/backend/dist/utils/generationUtils.d.ts.map +1 -1
- package/backend/dist/utils/generationUtils.js +18 -6
- package/backend/dist/utils/generationUtils.js.map +1 -1
- package/backend/dist/utils/jwt.d.ts.map +1 -1
- package/backend/dist/utils/jwt.js +2 -3
- package/backend/dist/utils/jwt.js.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.d.ts.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.js +2 -7
- package/backend/dist/utils/ollamaModelDefaults.js.map +1 -1
- package/backend/dist/utils/ollamaStreaming.d.ts +2 -1
- package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -1
- package/backend/dist/utils/ollamaStreaming.js +49 -11
- package/backend/dist/utils/ollamaStreaming.js.map +1 -1
- package/backend/dist/utils/pluginConnectionVariables.d.ts.map +1 -1
- package/backend/dist/utils/pluginConnectionVariables.js +11 -3
- package/backend/dist/utils/pluginConnectionVariables.js.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.js +4 -3
- package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
- package/backend/dist/utils/pluginStreaming.d.ts +2 -1
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreaming.js +5 -1
- package/backend/dist/utils/pluginStreaming.js.map +1 -1
- package/backend/dist/utils/pluginUpload.d.ts +1 -0
- package/backend/dist/utils/pluginUpload.d.ts.map +1 -1
- package/backend/dist/utils/pluginUpload.js +9 -2
- package/backend/dist/utils/pluginUpload.js.map +1 -1
- package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
- package/backend/dist/utils/pluginValidation.js +29 -1
- package/backend/dist/utils/pluginValidation.js.map +1 -1
- package/backend/dist/utils/sttAudioUpload.d.ts +24 -0
- package/backend/dist/utils/sttAudioUpload.d.ts.map +1 -0
- package/backend/dist/utils/sttAudioUpload.js +500 -0
- package/backend/dist/utils/sttAudioUpload.js.map +1 -0
- package/backend/dist/utils/ttsVoiceCloneUpload.d.ts +34 -0
- package/backend/dist/utils/ttsVoiceCloneUpload.d.ts.map +1 -0
- package/backend/dist/utils/ttsVoiceCloneUpload.js +224 -0
- package/backend/dist/utils/ttsVoiceCloneUpload.js.map +1 -0
- package/backend/dist/utils/websocketMessages.d.ts +2 -1
- package/backend/dist/utils/websocketMessages.d.ts.map +1 -1
- package/backend/dist/utils/websocketMessages.js +16 -2
- package/backend/dist/utils/websocketMessages.js.map +1 -1
- package/backend/dist/websocketServer.d.ts +4 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +290 -44
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/dist/workTerminalServer.d.ts +9 -0
- package/backend/dist/workTerminalServer.d.ts.map +1 -1
- package/backend/dist/workTerminalServer.js +221 -52
- package/backend/dist/workTerminalServer.js.map +1 -1
- package/backend/dist/worker.d.ts +2 -0
- package/backend/dist/worker.d.ts.map +1 -0
- package/backend/dist/worker.js +250 -0
- package/backend/dist/worker.js.map +1 -0
- package/backend/package.json +19 -9
- package/bin/cli.js +126 -99
- package/bin/runtime-paths.js +108 -0
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/framer-motion.js +5 -5
- package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
- package/frontend/dist/assets/index-CUhEG7E2.js +33 -0
- package/frontend/dist/assets/index-kxtZQLV6.css +1 -0
- package/frontend/dist/assets/{markdown-math-ClQbWekD.css → markdown-math-ClTedVi7.css} +1 -1
- package/frontend/dist/index.html +18 -18
- package/frontend/dist/js/{ArtifactContainer-Dy2Q0iIL.js → ArtifactContainer-BTEDhBnv.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-K79dWshB.js → ArtifactDemoPage-B0gN3YTl.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DhqLNUtY.js → ArtifactSandboxFrame-CLBXQkZs.js} +3 -3
- package/frontend/dist/js/{ArtifactSlideOutPanel-Cl8JG7bz.js → ArtifactSlideOutPanel-CfqHPFdE.js} +1 -1
- package/frontend/dist/js/{Button-CTXHujOd.js → Button-BV44cTnj.js} +1 -1
- package/frontend/dist/js/ChatPage-DIkAXZWA.js +23 -0
- package/frontend/dist/js/{FirstTimeSetup-kHhRzGJ8.js → FirstTimeSetup-B8phXGNA.js} +1 -1
- package/frontend/dist/js/GalleryPage-W4uI043I.js +1 -0
- package/frontend/dist/js/{HomePage-C1L8WAXL.js → HomePage-DlxehbyO.js} +1 -1
- package/frontend/dist/js/{LibreClawPage-Dyua8IUu.js → LibreClawPage-CgD0_G_F.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-CuMRGUd-.js → ModelManagerModals-D7jIT3v1.js} +1 -1
- package/frontend/dist/js/{ModelSelector-CqHc-Ln4.js → ModelSelector-BYxJU1UV.js} +1 -1
- package/frontend/dist/js/ModelsPage-C4XdCKP5.js +2 -0
- package/frontend/dist/js/NotesPage-CDECOl4V.js +1 -0
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-CWYUn9Oe.js → OptimizedSyntaxHighlighter-XwqZEoTf.js} +1 -1
- package/frontend/dist/js/{PersonasPage-D_6WBCH5.js → PersonasPage-CjSLPrgS.js} +2 -2
- package/frontend/dist/js/PluginUsagePage-DJOXJuH4.js +1 -0
- package/frontend/dist/js/RichMessageContent-Debeh6bi.js +3 -0
- package/frontend/dist/js/SettingsModal-cUqAeYUP.js +1 -0
- package/frontend/dist/js/{SettingsToggle-DLHlCDBl.js → SettingsToggle-WTa0rgvY.js} +1 -1
- package/frontend/dist/js/{SystemPage-BMWEet9e.js → SystemPage-DxPw0GS7.js} +1 -1
- package/frontend/dist/js/UserManagementPage-CEdYFe_Z.js +1 -0
- package/frontend/dist/js/WorkPage-DDVeuG_9.js +6 -0
- package/frontend/dist/js/api-IzobHGND.js +14 -0
- package/frontend/dist/js/appStore-DKwC2vgn.js +2 -0
- package/frontend/dist/js/ar-xTSvTq05.js +2 -0
- package/frontend/dist/js/authStore-OaTuapL7.js +4 -0
- package/frontend/dist/js/{babel-CmENXdZw.js → babel-D24oDI9y.js} +1 -1
- package/frontend/dist/js/bn-iYAsohEA.js +2 -0
- package/frontend/dist/js/chatStore-DXGUVLXD.js +3 -0
- package/frontend/dist/js/{config-DkV1ka7I.js → config-DPEEuTAe.js} +1 -1
- package/frontend/dist/js/cs-YBHN88Hb.js +2 -0
- package/frontend/dist/js/da-D7qlLy_k.js +2 -0
- package/frontend/dist/js/de-DV671k2c.js +2 -0
- package/frontend/dist/js/es-kyBgzNq-.js +2 -0
- package/frontend/dist/js/{estree-D5KP-qbw.js → estree-ChwJsD2w.js} +1 -1
- package/frontend/dist/js/fr-Cw1vut7I.js +2 -0
- package/frontend/dist/js/hi-DWEFC024.js +2 -0
- package/frontend/dist/js/{html-Cm9c2akd.js → html-DFrVjciF.js} +1 -1
- package/frontend/dist/js/id-DlMHjjy0.js +2 -0
- package/frontend/dist/js/is-B9E_a7dG.js +2 -0
- package/frontend/dist/js/it-DawmVbLC.js +2 -0
- package/frontend/dist/js/ja-DmVvwY3W.js +2 -0
- package/frontend/dist/js/ko-DzOPpkVs.js +2 -0
- package/frontend/dist/js/{markdown-B2u7CnKN.js → markdown-FLLx7b67.js} +1 -1
- package/frontend/dist/js/markdown-core-BmPPZiuD.js +31 -0
- package/frontend/dist/js/{markdown-math-B7FlYsmr.js → markdown-math-mH7AZ_mb.js} +6 -6
- package/frontend/dist/js/{messageCodeStyles-DalG2j6U.js → messageCodeStyles-CBkkZY4n.js} +1 -1
- package/frontend/dist/js/ms-DpsaOPht.js +2 -0
- package/frontend/dist/js/nl-B1d8W22n.js +2 -0
- package/frontend/dist/js/pl-nCncRVgt.js +2 -0
- package/frontend/dist/js/{postcss-B5WIGhAY.js → postcss-Bx9CTcIc.js} +1 -1
- package/frontend/dist/js/pt-DHw8fGuu.js +2 -0
- package/frontend/dist/js/{react-vendor-DPNXrO-8.js → react-vendor-C5yShNlM.js} +1 -1
- package/frontend/dist/js/{router-vendor-Ca9zqOqT.js → router-vendor-CbPDks39.js} +1 -1
- package/frontend/dist/js/ru-Derl_YP_.js +2 -0
- package/frontend/dist/js/{standalone-Dwm1daef.js → standalone-i8-5bg5p.js} +1 -1
- package/frontend/dist/js/sv-pJAfBVo0.js +2 -0
- package/frontend/dist/js/{syntax-highlight-Ca9bHsaz.js → syntax-highlight-3EEX6CGL.js} +3 -3
- package/frontend/dist/js/th-C_7fIGnk.js +2 -0
- package/frontend/dist/js/tr-CPqsJvaP.js +2 -0
- package/frontend/dist/js/{typescript-CwieSptM.js → typescript-CQ3x-Uni.js} +1 -1
- package/frontend/dist/js/{ui-BnDZpjfc.js → ui-BHhR3Vok.js} +2 -2
- package/frontend/dist/js/ui-vendor-D3Ahl1x5.js +177 -0
- package/frontend/dist/js/uk-3o8P_kFi.js +2 -0
- package/frontend/dist/js/{useTranslation-CXY69qNk.js → useTranslation-C3ei3mJq.js} +1 -1
- package/frontend/dist/js/{utils-BM0_0iFj.js → utils-CuC1beTY.js} +1 -1
- package/frontend/dist/js/{utils-vendor-1zob7nK9.js → utils-vendor-BBa8OxtB.js} +1 -1
- package/frontend/dist/js/vi-Dv6N7OVD.js +2 -0
- package/frontend/dist/js/{workApi-BOS7crs9.js → workApi-Czu69yWS.js} +2 -2
- package/frontend/dist/js/{yaml-QD4znPfZ.js → yaml-DioTxVLA.js} +1 -1
- package/frontend/dist/js/zh-qg5iqtPi.js +2 -0
- package/package.json +16 -5
- package/plugins/huggingface.json +12 -3
- package/plugins/llama-cpp.json +18 -6
- package/plugins/longcat-audiodit.json +114 -0
- package/plugins/openai.json +18 -0
- package/frontend/dist/assets/index-BBpNbfKW.js +0 -16
- package/frontend/dist/assets/index-BLATyFmD.css +0 -1
- package/frontend/dist/js/ChatPage-BBayfMLS.js +0 -16
- package/frontend/dist/js/GalleryPage-By8VI39Q.js +0 -1
- package/frontend/dist/js/ModelsPage-ODeXhDDk.js +0 -2
- package/frontend/dist/js/NotesPage-CApzDjOq.js +0 -1
- package/frontend/dist/js/PluginUsagePage-kutS6SOd.js +0 -1
- package/frontend/dist/js/RichMessageContent-g6WT75Te.js +0 -3
- package/frontend/dist/js/SettingsModal-B7z51BCx.js +0 -1
- package/frontend/dist/js/UserManagementPage-D08lM51c.js +0 -1
- package/frontend/dist/js/WorkPage-DdVLefsK.js +0 -6
- package/frontend/dist/js/api-CLEmGcEh.js +0 -14
- package/frontend/dist/js/appStore-CGdhvp9P.js +0 -2
- package/frontend/dist/js/ar-BTmB2WVm.js +0 -2
- package/frontend/dist/js/authStore-Dh3beEOq.js +0 -4
- package/frontend/dist/js/bn-CQnH7YVT.js +0 -2
- package/frontend/dist/js/chatStore-CDeYWL_q.js +0 -3
- package/frontend/dist/js/cs-oTTZkQXr.js +0 -2
- package/frontend/dist/js/da-Br0gB6J6.js +0 -2
- package/frontend/dist/js/de-DE2iztTF.js +0 -2
- package/frontend/dist/js/es-DgthfVtl.js +0 -2
- package/frontend/dist/js/fr-BjxjFwPh.js +0 -2
- package/frontend/dist/js/hi-D1q7E-9N.js +0 -2
- package/frontend/dist/js/id-CDJZqLTF.js +0 -2
- package/frontend/dist/js/is-BU7Um_Tq.js +0 -2
- package/frontend/dist/js/it-CdAxr8P_.js +0 -2
- package/frontend/dist/js/ja-BLbQwz9u.js +0 -2
- package/frontend/dist/js/ko-CY5lpkAe.js +0 -2
- package/frontend/dist/js/markdown-core-DHnR5Hw8.js +0 -16
- package/frontend/dist/js/ms-tQ8AYXEQ.js +0 -2
- package/frontend/dist/js/nl-CRNi2oWT.js +0 -2
- package/frontend/dist/js/pl-CWtFRS_W.js +0 -2
- package/frontend/dist/js/pt-C7SPoLF8.js +0 -2
- package/frontend/dist/js/ru-Dz4AX8xc.js +0 -2
- package/frontend/dist/js/sv-ETy5-boa.js +0 -2
- package/frontend/dist/js/th-DpuMqvxU.js +0 -2
- package/frontend/dist/js/tr-C-1AYAqg.js +0 -2
- package/frontend/dist/js/ui-vendor-xUzKqAXI.js +0 -177
- package/frontend/dist/js/uk-CyS680gr.js +0 -2
- package/frontend/dist/js/vi-BG8HuiTz.js +0 -2
- package/frontend/dist/js/zh-NCs2mkHj.js +0 -2
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
export type PluginCapability = 'chat' | 'embedding' | 'image' | 'stt' | 'tts' | 'audio' | 'video';
|
|
2
|
+
export type PluginUsageStatus = 'success' | 'error' | 'cancelled';
|
|
3
|
+
export type PluginMediaCapability = 'image' | 'stt' | 'tts' | 'audio' | 'video';
|
|
4
|
+
export interface StoredPluginCredential {
|
|
5
|
+
id: string;
|
|
6
|
+
user_id: string;
|
|
7
|
+
plugin_id: string;
|
|
8
|
+
api_key: string;
|
|
9
|
+
routing_auth_fingerprint: string | null;
|
|
10
|
+
created_at: number;
|
|
11
|
+
updated_at: number;
|
|
12
|
+
}
|
|
13
|
+
export interface PluginCredentialRepository {
|
|
14
|
+
find(pluginId: string, userId: string): Promise<StoredPluginCredential | null>;
|
|
15
|
+
bindLegacy(id: string, fingerprint: string): Promise<boolean>;
|
|
16
|
+
listByUser(userId: string): Promise<StoredPluginCredential[]>;
|
|
17
|
+
upsert(record: StoredPluginCredential): Promise<void>;
|
|
18
|
+
delete(pluginId: string, userId: string): Promise<boolean>;
|
|
19
|
+
deleteByUser(userId: string): Promise<number>;
|
|
20
|
+
deleteByPlugin(pluginId: string): Promise<number>;
|
|
21
|
+
}
|
|
22
|
+
export interface StoredPluginVariable {
|
|
23
|
+
id: string;
|
|
24
|
+
user_id: string;
|
|
25
|
+
plugin_id: string;
|
|
26
|
+
variable_name: string;
|
|
27
|
+
variable_value: string;
|
|
28
|
+
is_encrypted: number;
|
|
29
|
+
created_at: number;
|
|
30
|
+
updated_at: number;
|
|
31
|
+
}
|
|
32
|
+
export interface PluginVariableMutation {
|
|
33
|
+
unsetNames: readonly string[];
|
|
34
|
+
upserts: readonly StoredPluginVariable[];
|
|
35
|
+
}
|
|
36
|
+
export interface PluginVariableRepository {
|
|
37
|
+
list(pluginId: string, userId: string): Promise<StoredPluginVariable[]>;
|
|
38
|
+
apply(pluginId: string, userId: string, mutation: PluginVariableMutation): Promise<void>;
|
|
39
|
+
delete(pluginId: string, userId?: string): Promise<number>;
|
|
40
|
+
deleteByUser(userId: string): Promise<number>;
|
|
41
|
+
}
|
|
42
|
+
export interface PluginActivationRepository {
|
|
43
|
+
listUserIds(): Promise<string[]>;
|
|
44
|
+
list(userId: string): Promise<string[]>;
|
|
45
|
+
activate(pluginId: string, userId: string, activatedAt: number): Promise<void>;
|
|
46
|
+
deactivate(pluginId: string | undefined, userId: string): Promise<number>;
|
|
47
|
+
deleteByPlugin(pluginId: string): Promise<number>;
|
|
48
|
+
migrateLegacy(activations: ReadonlyMap<string, readonly string[]>, migratedAt: number, markerKey: string): Promise<boolean>;
|
|
49
|
+
}
|
|
50
|
+
export interface StoredPluginApproval {
|
|
51
|
+
plugin_id: string;
|
|
52
|
+
definition_fingerprint: string;
|
|
53
|
+
source_path: string;
|
|
54
|
+
approved_by_user_id: string;
|
|
55
|
+
approved_at: number;
|
|
56
|
+
}
|
|
57
|
+
export interface PluginApprovalRepository {
|
|
58
|
+
find(pluginId: string): Promise<StoredPluginApproval | null>;
|
|
59
|
+
upsert(approval: StoredPluginApproval): Promise<void>;
|
|
60
|
+
delete(pluginId: string): Promise<boolean>;
|
|
61
|
+
revokeConsent(pluginId: string): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Canonical custom plugin definition stored in the selected database. Bundled
|
|
65
|
+
* definitions are release assets and intentionally never copied into this
|
|
66
|
+
* table. An unapproved row remains a durable quarantine shadow for the same
|
|
67
|
+
* bundled ID instead of silently falling back to a different provider route.
|
|
68
|
+
*/
|
|
69
|
+
export interface StoredPluginDefinition {
|
|
70
|
+
plugin_id: string;
|
|
71
|
+
definition_json: string;
|
|
72
|
+
definition_fingerprint: string;
|
|
73
|
+
approved_by_user_id: string | null;
|
|
74
|
+
approved_at: number | null;
|
|
75
|
+
created_at: number;
|
|
76
|
+
updated_at: number;
|
|
77
|
+
}
|
|
78
|
+
export interface PluginDefinitionRepository {
|
|
79
|
+
list(): Promise<StoredPluginDefinition[]>;
|
|
80
|
+
find(pluginId: string): Promise<StoredPluginDefinition | null>;
|
|
81
|
+
/** Replace a definition and atomically revoke its previous runtime consent. */
|
|
82
|
+
replaceApproved(definition: StoredPluginDefinition): Promise<void>;
|
|
83
|
+
/** Delete a custom definition and every plugin-scoped mutable record. */
|
|
84
|
+
deleteWithState(pluginId: string): Promise<boolean>;
|
|
85
|
+
}
|
|
86
|
+
export interface StoredDiscoveredModels {
|
|
87
|
+
user_id: string;
|
|
88
|
+
plugin_id: string;
|
|
89
|
+
models_json: string;
|
|
90
|
+
updated_at: number;
|
|
91
|
+
}
|
|
92
|
+
export interface StoredDiscoveredCapabilityModels extends StoredDiscoveredModels {
|
|
93
|
+
capability: PluginMediaCapability;
|
|
94
|
+
}
|
|
95
|
+
export interface PluginDiscoveryRepository {
|
|
96
|
+
get(pluginId: string, userId: string): Promise<StoredDiscoveredModels | null>;
|
|
97
|
+
upsert(record: StoredDiscoveredModels): Promise<void>;
|
|
98
|
+
getCapability(pluginId: string, capability: PluginMediaCapability, userId: string): Promise<StoredDiscoveredCapabilityModels | null>;
|
|
99
|
+
upsertCapability(record: StoredDiscoveredCapabilityModels): Promise<void>;
|
|
100
|
+
delete(pluginId: string, userId?: string): Promise<void>;
|
|
101
|
+
}
|
|
102
|
+
export interface StoredPluginUsageEvent {
|
|
103
|
+
id: string;
|
|
104
|
+
user_id: string;
|
|
105
|
+
plugin_id: string;
|
|
106
|
+
plugin_name: string;
|
|
107
|
+
capability: PluginCapability;
|
|
108
|
+
model: string;
|
|
109
|
+
status: PluginUsageStatus;
|
|
110
|
+
prompt_tokens: number | null;
|
|
111
|
+
completion_tokens: number | null;
|
|
112
|
+
total_tokens: number | null;
|
|
113
|
+
input_units: number;
|
|
114
|
+
output_units: number;
|
|
115
|
+
unit_kind: string | null;
|
|
116
|
+
duration_ms: number;
|
|
117
|
+
created_at: number;
|
|
118
|
+
}
|
|
119
|
+
export interface PluginUsageAggregate {
|
|
120
|
+
calls: number;
|
|
121
|
+
successful_calls: number;
|
|
122
|
+
failed_calls: number;
|
|
123
|
+
cancelled_calls: number;
|
|
124
|
+
metered_calls: number;
|
|
125
|
+
prompt_tokens: number;
|
|
126
|
+
completion_tokens: number;
|
|
127
|
+
reported_tokens: number;
|
|
128
|
+
average_latency_ms: number;
|
|
129
|
+
unique_users: number;
|
|
130
|
+
}
|
|
131
|
+
export interface PluginUsageRepository {
|
|
132
|
+
recordAndPrune(event: StoredPluginUsageEvent, retainFrom: number): Promise<void>;
|
|
133
|
+
totals(from: number, to: number): Promise<PluginUsageAggregate>;
|
|
134
|
+
series(from: number, to: number, bucketMs: number): Promise<Array<Record<string, unknown>>>;
|
|
135
|
+
plugins(from: number, to: number): Promise<Array<Record<string, unknown>>>;
|
|
136
|
+
models(from: number, to: number): Promise<Array<Record<string, unknown>>>;
|
|
137
|
+
heatmap(from: number, to: number, bucketMs: number): Promise<Array<Record<string, unknown>>>;
|
|
138
|
+
capabilities(from: number, to: number): Promise<Array<Record<string, unknown>>>;
|
|
139
|
+
}
|
|
140
|
+
export interface StoredVoiceProfile {
|
|
141
|
+
id: string;
|
|
142
|
+
user_id: string;
|
|
143
|
+
name: Buffer;
|
|
144
|
+
plugin_id: string;
|
|
145
|
+
model: string;
|
|
146
|
+
routing_fingerprint: string;
|
|
147
|
+
reference_audio: Buffer;
|
|
148
|
+
reference_text: Buffer | null;
|
|
149
|
+
audio_mime_type: string;
|
|
150
|
+
audio_format: 'wav' | 'mp3' | 'flac' | 'ogg' | 'm4a';
|
|
151
|
+
audio_size: number;
|
|
152
|
+
consent_confirmed_at: number;
|
|
153
|
+
created_at: number;
|
|
154
|
+
updated_at: number;
|
|
155
|
+
name_lookup: string;
|
|
156
|
+
}
|
|
157
|
+
export interface VoiceProfileCreateLimits {
|
|
158
|
+
maximumProfiles: number;
|
|
159
|
+
maximumTotalAudioBytes: number;
|
|
160
|
+
additionalAudioBytes: number;
|
|
161
|
+
}
|
|
162
|
+
export interface VoiceProfileRepository {
|
|
163
|
+
list(userId: string, filters: {
|
|
164
|
+
pluginId?: string;
|
|
165
|
+
model?: string;
|
|
166
|
+
}, maximum: number): Promise<StoredVoiceProfile[]>;
|
|
167
|
+
find(id: string, userId: string): Promise<StoredVoiceProfile | null>;
|
|
168
|
+
insertWithLimits(profile: StoredVoiceProfile, limits: VoiceProfileCreateLimits): Promise<void>;
|
|
169
|
+
delete(id: string, userId: string): Promise<boolean>;
|
|
170
|
+
}
|
|
171
|
+
export declare class VoiceProfileLimitError extends Error {
|
|
172
|
+
readonly kind: 'count' | 'bytes' | 'duplicate';
|
|
173
|
+
constructor(kind: 'count' | 'bytes' | 'duplicate');
|
|
174
|
+
}
|
|
175
|
+
export interface ExtensionRepositories {
|
|
176
|
+
pluginDefinitions: PluginDefinitionRepository;
|
|
177
|
+
pluginCredentials: PluginCredentialRepository;
|
|
178
|
+
pluginVariables: PluginVariableRepository;
|
|
179
|
+
pluginActivations: PluginActivationRepository;
|
|
180
|
+
pluginApprovals: PluginApprovalRepository;
|
|
181
|
+
pluginDiscovery: PluginDiscoveryRepository;
|
|
182
|
+
pluginUsage: PluginUsageRepository;
|
|
183
|
+
voiceProfiles: VoiceProfileRepository;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=extensionTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionTypes.d.ts","sourceRoot":"","sources":["../../src/persistence/extensionTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
*/
|
|
6
|
+
export class VoiceProfileLimitError extends Error {
|
|
7
|
+
constructor(kind) {
|
|
8
|
+
super(`Voice profile ${kind} limit failed`);
|
|
9
|
+
this.kind = kind;
|
|
10
|
+
this.name = 'VoiceProfileLimitError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=extensionTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionTypes.js","sourceRoot":"","sources":["../../src/persistence/extensionTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsOH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAqB,IAAqC;QACxD,KAAK,CAAC,iBAAiB,IAAI,eAAe,CAAC,CAAC;oBADzB,IAAI;QAEvB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PostgresQueryExecutor } from './postgresDatabase.js';
|
|
2
|
+
import type { PersistenceSyncExecutor } from './types.js';
|
|
3
|
+
export interface IdentityDeletionInput {
|
|
4
|
+
targetUserId: string;
|
|
5
|
+
actorUserId: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Transactional durable-cleanup seam used by identity repositories. The
|
|
9
|
+
* target user may be deleted in the same transaction because the durable job
|
|
10
|
+
* is authorized as the administrator who requested deletion.
|
|
11
|
+
*/
|
|
12
|
+
export interface IdentityDeletionEnqueuer {
|
|
13
|
+
enqueueSQLite(executor: PersistenceSyncExecutor, input: IdentityDeletionInput): void;
|
|
14
|
+
enqueuePostgres(executor: PostgresQueryExecutor, input: IdentityDeletionInput): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=identityDeletionTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityDeletionTypes.d.ts","sourceRoot":"","sources":["../../src/persistence/identityDeletionTypes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CACX,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,qBAAqB,GAC3B,IAAI,CAAC;IACR,eAAe,CACb,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityDeletionTypes.js","sourceRoot":"","sources":["../../src/persistence/identityDeletionTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import { preflightExistingSQLiteDatabase, preflightIdentityMatchesMarker, readPreflightVerificationMarker, readSQLitePreflightIdentity, writePreflightVerificationMarker } from '../db.js';
|
|
3
|
+
import type { PostgresDatabase } from './postgresDatabase.js';
|
|
4
|
+
import type { IdentityEmailCodec, Persistence, PersistenceDialect } from './types.js';
|
|
5
|
+
export interface PersistenceInitializationOptions {
|
|
6
|
+
dialect: PersistenceDialect;
|
|
7
|
+
emailCodec: IdentityEmailCodec;
|
|
8
|
+
env?: NodeJS.ProcessEnv;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Initialize exactly one process-wide persistence backend. Application
|
|
12
|
+
* entrypoints call this before importing routes or stateful service singletons,
|
|
13
|
+
* so PostgreSQL mode can never fall through to a local SQLite sidecar.
|
|
14
|
+
*/
|
|
15
|
+
export declare const initializePersistence: (options: PersistenceInitializationOptions) => Promise<Persistence>;
|
|
16
|
+
/**
|
|
17
|
+
* Return the initialized persistence kernel. The lazy path exists only for
|
|
18
|
+
* backwards-compatible SQLite tests and maintenance scripts. PostgreSQL must
|
|
19
|
+
* always be initialized explicitly so a missing bootstrap cannot create a
|
|
20
|
+
* misleading SQLite database.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPersistence(emailCodec?: IdentityEmailCodec): Persistence;
|
|
23
|
+
export declare const getInitializedPersistence: () => Persistence | undefined;
|
|
24
|
+
/** Native handles are restricted to backend adapter composition. */
|
|
25
|
+
export declare const getSQLiteAdapterDatabase: () => Database.Database;
|
|
26
|
+
/**
|
|
27
|
+
* Assert that a SQLite domain repository is currently inside the selected
|
|
28
|
+
* process-wide owning transaction. Transactional outbox publishers use this
|
|
29
|
+
* opaque guard instead of receiving or rediscovering a native driver handle.
|
|
30
|
+
*/
|
|
31
|
+
export declare const assertSelectedSQLiteTransaction: () => void;
|
|
32
|
+
/** Native handles are restricted to backend adapter composition. */
|
|
33
|
+
export declare const getPostgresAdapterDatabase: () => PostgresDatabase;
|
|
34
|
+
export declare const closePersistence: () => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Health checks may inspect the configured adapter without making the raw
|
|
37
|
+
* driver a general application dependency. Domain code should use repositories.
|
|
38
|
+
*/
|
|
39
|
+
export declare const getSQLiteHealthDatabase: () => Database.Database | null;
|
|
40
|
+
export { preflightExistingSQLiteDatabase, preflightIdentityMatchesMarker, readPreflightVerificationMarker, readSQLitePreflightIdentity, writePreflightVerificationMarker, };
|
|
41
|
+
export type { IdentityAccountStatus, IdentityEmailCodec, IdentityPublicUserRecord, IdentityRepository, IdentitySyncRepository, IdentityRole, IdentityUserRecord, IdentityUserUpdate, PendingApprovalRecord, Persistence, PersistenceHealth, PersistenceRepositories, PersistenceSyncExecutor, PersistenceSyncUnitOfWork, PersistenceUnitOfWork, SynchronousTransactionResult, } from './types.js';
|
|
42
|
+
export type { ApplicationResourceRepositories, ArchiveNestedOwner, ArchiveNestedResource, ArchiveOwnedResource, ChatSessionRepository, DataArchiveRepository, KnowledgeCollectionRepository, NoteRepository, PreferenceRepository, SessionFolderRepository, StoredChatMessageRecord, StoredChatSessionAggregate, StoredChatSessionRecord, StoredNamedResourceRecord, StoredNoteRecord, StoredPreferenceRecord, SystemSettingRepository, } from './resourceTypes.js';
|
|
43
|
+
export { PersistenceResourceConflictError, PersistenceResourceLimitError, } from './resourceTypes.js';
|
|
44
|
+
export { createSQLitePersistence, SQLitePersistence, } from './sqlitePersistence.js';
|
|
45
|
+
export type { PostgresPoolLike, PostgresQueryExecutor, PostgresTransactionOptions, } from './postgresDatabase.js';
|
|
46
|
+
export type { PostgresRuntimeConfig, PostgresSslMode, } from './postgresConfig.js';
|
|
47
|
+
export type { PostgresMigration, PostgresMigrationMode, PostgresSchemaCompatibility, PostgresSchemaCompatibilityStatus, } from './postgresMigrationTypes.js';
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAIL,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAeD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,YACvB,gCAAgC,KACxC,OAAO,CAAC,WAAW,CA6CrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,kBAAkB,GAAG,WAAW,CA8B3E;AAED,eAAO,MAAM,yBAAyB,QAAO,WAAW,GAAG,SACrC,CAAC;AAEvB,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,QAAO,QAAQ,CAAC,QAKpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAO,IAUlD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,0BAA0B,QAAO,gBAK7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAWrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,QAAQ,CAAC,QAAQ,GAAG,IAGX,CAAC;AAErD,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,gCAAgC,GACjC,CAAC;AAEF,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,+BAA+B,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gCAAgC,EAChC,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
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 { closeDatabase, getDatabase, getDatabaseSafe, preflightExistingSQLiteDatabase, preflightIdentityMatchesMarker, readPreflightVerificationMarker, readSQLitePreflightIdentity, writePreflightVerificationMarker, } from '../db.js';
|
|
18
|
+
import { createSQLitePersistence } from './sqlitePersistence.js';
|
|
19
|
+
let current;
|
|
20
|
+
let initialization;
|
|
21
|
+
const assertSelectedDialect = (dialect) => {
|
|
22
|
+
if (current && current.dialect !== dialect) {
|
|
23
|
+
throw new Error(`Persistence is already initialized for ${current.dialect}; refusing to open ${dialect}.`);
|
|
24
|
+
}
|
|
25
|
+
if (initialization && initialization.dialect !== dialect) {
|
|
26
|
+
throw new Error(`Persistence initialization for ${initialization.dialect} is already in progress.`);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Initialize exactly one process-wide persistence backend. Application
|
|
31
|
+
* entrypoints call this before importing routes or stateful service singletons,
|
|
32
|
+
* so PostgreSQL mode can never fall through to a local SQLite sidecar.
|
|
33
|
+
*/
|
|
34
|
+
export const initializePersistence = (options) => {
|
|
35
|
+
assertSelectedDialect(options.dialect);
|
|
36
|
+
if (current)
|
|
37
|
+
return Promise.resolve(current.persistence);
|
|
38
|
+
if (initialization)
|
|
39
|
+
return initialization.promise;
|
|
40
|
+
const promise = (async () => {
|
|
41
|
+
if (options.dialect === 'sqlite') {
|
|
42
|
+
const database = getDatabase();
|
|
43
|
+
const persistence = createSQLitePersistence(database, options.emailCodec);
|
|
44
|
+
current = {
|
|
45
|
+
dialect: 'sqlite',
|
|
46
|
+
persistence,
|
|
47
|
+
sqliteDatabase: database,
|
|
48
|
+
};
|
|
49
|
+
return persistence;
|
|
50
|
+
}
|
|
51
|
+
const [{ resolvePostgresRuntimeConfig }, { initializePostgresPersistence },] = await Promise.all([
|
|
52
|
+
import('./postgresConfig.js'),
|
|
53
|
+
import('./postgresPersistence.js'),
|
|
54
|
+
]);
|
|
55
|
+
const persistence = await initializePostgresPersistence(resolvePostgresRuntimeConfig(options.env ?? process.env), options.emailCodec);
|
|
56
|
+
current = {
|
|
57
|
+
dialect: 'postgres',
|
|
58
|
+
persistence,
|
|
59
|
+
postgresDatabase: persistence.database,
|
|
60
|
+
};
|
|
61
|
+
return persistence;
|
|
62
|
+
})();
|
|
63
|
+
initialization = { dialect: options.dialect, promise };
|
|
64
|
+
void promise.then(() => {
|
|
65
|
+
if (initialization?.promise === promise)
|
|
66
|
+
initialization = undefined;
|
|
67
|
+
}, () => {
|
|
68
|
+
if (initialization?.promise === promise)
|
|
69
|
+
initialization = undefined;
|
|
70
|
+
});
|
|
71
|
+
return promise;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Return the initialized persistence kernel. The lazy path exists only for
|
|
75
|
+
* backwards-compatible SQLite tests and maintenance scripts. PostgreSQL must
|
|
76
|
+
* always be initialized explicitly so a missing bootstrap cannot create a
|
|
77
|
+
* misleading SQLite database.
|
|
78
|
+
*/
|
|
79
|
+
export function getPersistence(emailCodec) {
|
|
80
|
+
if (current) {
|
|
81
|
+
if (current.dialect === 'sqlite' && emailCodec) {
|
|
82
|
+
const database = getDatabase();
|
|
83
|
+
if (database !== current.sqliteDatabase) {
|
|
84
|
+
current = {
|
|
85
|
+
dialect: 'sqlite',
|
|
86
|
+
sqliteDatabase: database,
|
|
87
|
+
persistence: createSQLitePersistence(database, emailCodec),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return current.persistence;
|
|
92
|
+
}
|
|
93
|
+
const selected = process.env.DATABASE_BACKEND?.trim().toLowerCase();
|
|
94
|
+
if (selected === 'postgres') {
|
|
95
|
+
throw new Error('PostgreSQL persistence has not been initialized by the application bootstrap.');
|
|
96
|
+
}
|
|
97
|
+
if (!emailCodec) {
|
|
98
|
+
throw new Error('SQLite persistence requires an identity email codec.');
|
|
99
|
+
}
|
|
100
|
+
const database = getDatabase();
|
|
101
|
+
current = {
|
|
102
|
+
dialect: 'sqlite',
|
|
103
|
+
sqliteDatabase: database,
|
|
104
|
+
persistence: createSQLitePersistence(database, emailCodec),
|
|
105
|
+
};
|
|
106
|
+
return current.persistence;
|
|
107
|
+
}
|
|
108
|
+
export const getInitializedPersistence = () => current?.persistence;
|
|
109
|
+
/** Native handles are restricted to backend adapter composition. */
|
|
110
|
+
export const getSQLiteAdapterDatabase = () => {
|
|
111
|
+
if (current?.dialect !== 'sqlite' || !current.sqliteDatabase) {
|
|
112
|
+
throw new Error('The selected persistence backend is not SQLite.');
|
|
113
|
+
}
|
|
114
|
+
return current.sqliteDatabase;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Assert that a SQLite domain repository is currently inside the selected
|
|
118
|
+
* process-wide owning transaction. Transactional outbox publishers use this
|
|
119
|
+
* opaque guard instead of receiving or rediscovering a native driver handle.
|
|
120
|
+
*/
|
|
121
|
+
export const assertSelectedSQLiteTransaction = () => {
|
|
122
|
+
if (current?.dialect !== 'sqlite' ||
|
|
123
|
+
!current.sqliteDatabase ||
|
|
124
|
+
!current.sqliteDatabase.inTransaction) {
|
|
125
|
+
throw new Error('SQLite durable enqueue requires the selected owning transaction.');
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
/** Native handles are restricted to backend adapter composition. */
|
|
129
|
+
export const getPostgresAdapterDatabase = () => {
|
|
130
|
+
if (current?.dialect !== 'postgres' || !current.postgresDatabase) {
|
|
131
|
+
throw new Error('The selected persistence backend is not PostgreSQL.');
|
|
132
|
+
}
|
|
133
|
+
return current.postgresDatabase;
|
|
134
|
+
};
|
|
135
|
+
export const closePersistence = async () => {
|
|
136
|
+
const pending = initialization?.promise;
|
|
137
|
+
if (pending) {
|
|
138
|
+
await pending.catch(() => undefined);
|
|
139
|
+
}
|
|
140
|
+
const selected = current;
|
|
141
|
+
current = undefined;
|
|
142
|
+
initialization = undefined;
|
|
143
|
+
if (!selected)
|
|
144
|
+
return;
|
|
145
|
+
await selected.persistence.close();
|
|
146
|
+
if (selected.dialect === 'sqlite')
|
|
147
|
+
closeDatabase();
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Health checks may inspect the configured adapter without making the raw
|
|
151
|
+
* driver a general application dependency. Domain code should use repositories.
|
|
152
|
+
*/
|
|
153
|
+
export const getSQLiteHealthDatabase = () => current?.dialect === 'postgres'
|
|
154
|
+
? null
|
|
155
|
+
: (current?.sqliteDatabase ?? getDatabaseSafe());
|
|
156
|
+
export { preflightExistingSQLiteDatabase, preflightIdentityMatchesMarker, readPreflightVerificationMarker, readSQLitePreflightIdentity, writePreflightVerificationMarker, };
|
|
157
|
+
export { PersistenceResourceConflictError, PersistenceResourceLimitError, } from './resourceTypes.js';
|
|
158
|
+
export { createSQLitePersistence, SQLitePersistence, } from './sqlitePersistence.js';
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { PostgresMigrationMode } from './postgresMigrationTypes.js';
|
|
2
|
+
export type PostgresSslMode = 'disable' | 'require' | 'verify-full';
|
|
3
|
+
export interface PostgresRuntimeConfig {
|
|
4
|
+
connectionString: string;
|
|
5
|
+
applicationName: string;
|
|
6
|
+
poolMaximum: number;
|
|
7
|
+
connectionTimeoutMs: number;
|
|
8
|
+
idleTimeoutMs: number;
|
|
9
|
+
statementTimeoutMs: number;
|
|
10
|
+
migrationLockTimeoutMs: number;
|
|
11
|
+
migrationMode: PostgresMigrationMode;
|
|
12
|
+
sslMode: PostgresSslMode;
|
|
13
|
+
}
|
|
14
|
+
export declare class PostgresConfigurationError extends Error {
|
|
15
|
+
readonly problems: readonly string[];
|
|
16
|
+
constructor(problems: readonly string[]);
|
|
17
|
+
}
|
|
18
|
+
/** Parse PostgreSQL-only settings without opening a socket or exposing URLs. */
|
|
19
|
+
export declare const resolvePostgresRuntimeConfig: (env?: NodeJS.ProcessEnv) => PostgresRuntimeConfig;
|
|
20
|
+
/** Redacted support data; connection strings and credentials never leave config. */
|
|
21
|
+
export declare const summarizePostgresRuntimeConfig: (config: PostgresRuntimeConfig) => {
|
|
22
|
+
applicationName: string;
|
|
23
|
+
poolMaximum: number;
|
|
24
|
+
connectionTimeoutMs: number;
|
|
25
|
+
idleTimeoutMs: number;
|
|
26
|
+
statementTimeoutMs: number;
|
|
27
|
+
migrationLockTimeoutMs: number;
|
|
28
|
+
migrationMode: PostgresMigrationMode;
|
|
29
|
+
sslMode: PostgresSslMode;
|
|
30
|
+
configured: boolean;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=postgresConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresConfig.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,qBAAqB,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAAhD,YAAqB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAG/C;CACF;AAgCD,gFAAgF;AAChF,eAAO,MAAM,4BAA4B,SAClC,MAAM,CAAC,UAAU,KACrB,qBA2FF,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,WACjC,qBAAqB;IAE7B,eAAe;IACf,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,kBAAkB;IAClB,sBAAsB;IACtB,aAAa;IACb,OAAO;IACP,UAAU;CACV,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
*/
|
|
6
|
+
export class PostgresConfigurationError extends Error {
|
|
7
|
+
constructor(problems) {
|
|
8
|
+
super(`Invalid PostgreSQL configuration:\n- ${problems.join('\n- ')}`);
|
|
9
|
+
this.problems = problems;
|
|
10
|
+
this.name = 'PostgresConfigurationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const integer = (env, name, fallback, maximum, problems) => {
|
|
14
|
+
const value = env[name]?.trim();
|
|
15
|
+
if (!value)
|
|
16
|
+
return fallback;
|
|
17
|
+
const parsed = Number(value);
|
|
18
|
+
if (!Number.isSafeInteger(parsed) || parsed < 1 || parsed > maximum) {
|
|
19
|
+
problems.push(`${name} must be an integer between 1 and ${maximum}.`);
|
|
20
|
+
return fallback;
|
|
21
|
+
}
|
|
22
|
+
return parsed;
|
|
23
|
+
};
|
|
24
|
+
const selection = (value, fallback, allowed, name, problems) => {
|
|
25
|
+
const normalized = value?.trim().toLowerCase() || fallback;
|
|
26
|
+
if (allowed.includes(normalized))
|
|
27
|
+
return normalized;
|
|
28
|
+
problems.push(`${name} must be one of: ${allowed.join(', ')}.`);
|
|
29
|
+
return fallback;
|
|
30
|
+
};
|
|
31
|
+
/** Parse PostgreSQL-only settings without opening a socket or exposing URLs. */
|
|
32
|
+
export const resolvePostgresRuntimeConfig = (env = process.env) => {
|
|
33
|
+
const problems = [];
|
|
34
|
+
const rawUrl = env.DATABASE_URL?.trim();
|
|
35
|
+
let connectionString = '';
|
|
36
|
+
if (!rawUrl) {
|
|
37
|
+
problems.push('DATABASE_URL is required for PostgreSQL.');
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
try {
|
|
41
|
+
const parsed = new URL(rawUrl);
|
|
42
|
+
if (!['postgres:', 'postgresql:'].includes(parsed.protocol)) {
|
|
43
|
+
problems.push('DATABASE_URL must use postgres: or postgresql:.');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (!parsed.hostname)
|
|
47
|
+
problems.push('DATABASE_URL must include a host.');
|
|
48
|
+
connectionString = rawUrl;
|
|
49
|
+
}
|
|
50
|
+
if (['ssl', 'sslmode', 'sslcert', 'sslkey', 'sslrootcert'].some(parameter => parsed.searchParams.has(parameter))) {
|
|
51
|
+
problems.push('Configure PostgreSQL TLS only with DATABASE_SSL_MODE; TLS URL parameters are rejected to prevent driver precedence from weakening verification.');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
problems.push('DATABASE_URL must be a valid PostgreSQL URL.');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const applicationName = env.POSTGRES_APPLICATION_NAME?.trim() || 'libre-webui';
|
|
59
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,62}$/.test(applicationName)) {
|
|
60
|
+
problems.push('POSTGRES_APPLICATION_NAME must contain 1-63 safe identifier characters.');
|
|
61
|
+
}
|
|
62
|
+
const sslMode = selection(env.DATABASE_SSL_MODE, 'verify-full', ['disable', 'require', 'verify-full'], 'DATABASE_SSL_MODE', problems);
|
|
63
|
+
const migrationMode = selection(env.POSTGRES_MIGRATION_MODE, 'apply', ['apply', 'validate'], 'POSTGRES_MIGRATION_MODE', problems);
|
|
64
|
+
const config = {
|
|
65
|
+
connectionString,
|
|
66
|
+
applicationName,
|
|
67
|
+
poolMaximum: integer(env, 'POSTGRES_POOL_MAX', 10, 100, problems),
|
|
68
|
+
connectionTimeoutMs: integer(env, 'POSTGRES_CONNECT_TIMEOUT_MS', 5000, 60000, problems),
|
|
69
|
+
idleTimeoutMs: integer(env, 'POSTGRES_IDLE_TIMEOUT_MS', 30000, 600000, problems),
|
|
70
|
+
statementTimeoutMs: integer(env, 'POSTGRES_STATEMENT_TIMEOUT_MS', 30000, 600000, problems),
|
|
71
|
+
migrationLockTimeoutMs: integer(env, 'POSTGRES_MIGRATION_LOCK_TIMEOUT_MS', 60000, 600000, problems),
|
|
72
|
+
migrationMode,
|
|
73
|
+
sslMode,
|
|
74
|
+
};
|
|
75
|
+
if (problems.length > 0)
|
|
76
|
+
throw new PostgresConfigurationError(problems);
|
|
77
|
+
return config;
|
|
78
|
+
};
|
|
79
|
+
/** Redacted support data; connection strings and credentials never leave config. */
|
|
80
|
+
export const summarizePostgresRuntimeConfig = (config) => ({
|
|
81
|
+
applicationName: config.applicationName,
|
|
82
|
+
poolMaximum: config.poolMaximum,
|
|
83
|
+
connectionTimeoutMs: config.connectionTimeoutMs,
|
|
84
|
+
idleTimeoutMs: config.idleTimeoutMs,
|
|
85
|
+
statementTimeoutMs: config.statementTimeoutMs,
|
|
86
|
+
migrationLockTimeoutMs: config.migrationLockTimeoutMs,
|
|
87
|
+
migrationMode: config.migrationMode,
|
|
88
|
+
sslMode: config.sslMode,
|
|
89
|
+
configured: Boolean(config.connectionString),
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=postgresConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresConfig.js","sourceRoot":"","sources":["../../src/persistence/postgresConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PostgresMigration } from './postgresMigrationTypes.js';
|
|
2
|
+
/**
|
|
3
|
+
* PostgreSQL schema for the domains that have crossed the repository boundary:
|
|
4
|
+
* identity, chats/messages, notes, folders, collections, and preferences.
|
|
5
|
+
*/
|
|
6
|
+
export declare const POSTGRES_CORE_PERSISTENCE_SQL = "\nCREATE TABLE users (\n id text PRIMARY KEY,\n username text NOT NULL UNIQUE,\n email text UNIQUE,\n email_lookup text UNIQUE,\n password_hash text NOT NULL,\n role text NOT NULL DEFAULT 'user' CHECK (role IN ('admin', 'user')),\n account_status text NOT NULL DEFAULT 'active'\n CHECK (account_status IN ('pending', 'active')),\n approved_at bigint,\n approved_by text,\n avatar text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE personas (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n name text NOT NULL,\n description text,\n model text NOT NULL,\n parameters text NOT NULL,\n avatar text,\n background text,\n embedding_model text,\n memory_settings text,\n mutation_settings text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE session_folders (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n name text NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE knowledge_collections (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n name text NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE sessions (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n title text NOT NULL,\n model text NOT NULL,\n persona_id text REFERENCES personas(id) ON DELETE SET NULL,\n provider_type text,\n provider_id text,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL,\n archived smallint NOT NULL DEFAULT 0 CHECK (archived IN (0, 1)),\n settings text,\n folder_id text REFERENCES session_folders(id) ON DELETE SET NULL,\n pinned smallint NOT NULL DEFAULT 0 CHECK (pinned IN (0, 1))\n);\n\nCREATE TABLE session_messages (\n id text PRIMARY KEY,\n session_id text NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,\n role text NOT NULL,\n content text NOT NULL,\n thinking text,\n timestamp bigint NOT NULL,\n message_index integer NOT NULL,\n model text,\n provider_metadata text,\n images text,\n statistics text,\n artifacts text,\n parent_id text REFERENCES session_messages(id) ON DELETE SET NULL,\n branch_index integer NOT NULL DEFAULT 0,\n is_active smallint NOT NULL DEFAULT 1 CHECK (is_active IN (0, 1)),\n rating integer\n);\n\nCREATE TABLE notes (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n title text NOT NULL,\n content text NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE documents (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n filename text NOT NULL,\n title text,\n content text,\n file_type text,\n size bigint,\n session_id text REFERENCES sessions(id) ON DELETE SET NULL,\n collection_id text REFERENCES knowledge_collections(id) ON DELETE SET NULL,\n metadata text,\n uploaded_at bigint NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE TABLE document_chunks (\n id text PRIMARY KEY,\n document_id text NOT NULL REFERENCES documents(id) ON DELETE CASCADE,\n chunk_index integer NOT NULL,\n content text NOT NULL,\n start_char integer,\n end_char integer,\n embedding text,\n created_at bigint NOT NULL,\n UNIQUE (document_id, chunk_index)\n);\n\nCREATE TABLE user_preferences (\n id text PRIMARY KEY,\n user_id text NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n key text NOT NULL,\n value text NOT NULL,\n created_at bigint NOT NULL,\n updated_at bigint NOT NULL,\n UNIQUE (user_id, key)\n);\n\nCREATE TABLE system_settings (\n key text PRIMARY KEY,\n value text NOT NULL,\n updated_at bigint NOT NULL\n);\n\nCREATE INDEX idx_personas_user_id ON personas(user_id);\nCREATE INDEX idx_sessions_user_updated ON sessions(user_id, updated_at DESC);\nCREATE INDEX idx_sessions_folder ON sessions(user_id, folder_id);\nCREATE INDEX idx_session_messages_order\n ON session_messages(session_id, message_index, branch_index);\nCREATE INDEX idx_session_messages_parent ON session_messages(parent_id);\nCREATE INDEX idx_notes_user_updated ON notes(user_id, updated_at DESC);\nCREATE INDEX idx_session_folders_user_name\n ON session_folders(user_id, lower(name));\nCREATE INDEX idx_knowledge_collections_user_name\n ON knowledge_collections(user_id, lower(name));\nCREATE INDEX idx_documents_user_updated ON documents(user_id, updated_at DESC);\nCREATE INDEX idx_documents_collection\n ON documents(user_id, collection_id);\nCREATE INDEX idx_document_chunks_document\n ON document_chunks(document_id, chunk_index);\nCREATE INDEX idx_user_preferences_user_key\n ON user_preferences(user_id, key);\n";
|
|
7
|
+
export declare const POSTGRES_CORE_MIGRATION: PostgresMigration;
|
|
8
|
+
//# sourceMappingURL=postgresCoreMigration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresCoreMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresCoreMigration.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,6BAA6B,urJA2JzC,CAAC;AAKF,eAAO,MAAM,uBAAuB,EAAE,iBAUpC,CAAC"}
|