libre-webui 0.21.2 → 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 +136 -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 +97 -34
- 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 +15 -4
- 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 +36 -18
- package/frontend/dist/js/{ArtifactContainer-C_UdeK4k.js → ArtifactContainer-BTEDhBnv.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-D3AuvuR5.js → ArtifactDemoPage-B0gN3YTl.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-BiXl9iGD.js → ArtifactSandboxFrame-CLBXQkZs.js} +3 -3
- package/frontend/dist/js/{ArtifactSlideOutPanel-CvgS3sfQ.js → ArtifactSlideOutPanel-CfqHPFdE.js} +1 -1
- package/frontend/dist/js/{Button-DcBM7gdH.js → Button-BV44cTnj.js} +1 -1
- package/frontend/dist/js/ChatPage-DIkAXZWA.js +23 -0
- package/frontend/dist/js/{FirstTimeSetup-B9742i3H.js → FirstTimeSetup-B8phXGNA.js} +1 -1
- package/frontend/dist/js/GalleryPage-W4uI043I.js +1 -0
- package/frontend/dist/js/HomePage-DlxehbyO.js +1 -0
- package/frontend/dist/js/{LibreClawPage-Ds6pqEyk.js → LibreClawPage-CgD0_G_F.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-BBNg2fxs.js → ModelManagerModals-D7jIT3v1.js} +1 -1
- package/frontend/dist/js/{ModelSelector-CJfJYwxh.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-CbQVv9OM.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-Uz2jvV64.js → SettingsToggle-WTa0rgvY.js} +1 -1
- package/frontend/dist/js/{SystemPage-CIBDZTWB.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-CV8L89A5.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-Lx6fK8Ug.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-Dx5reqmV.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-Bd5G8zQB.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-CUWSpffv.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-DLNXiOUi.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-YKxslwSt.js → typescript-CQ3x-Uni.js} +1 -1
- package/frontend/dist/js/{ui-Dw6jDKxN.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-t1quV8ce.js → useTranslation-C3ei3mJq.js} +1 -1
- package/frontend/dist/js/{utils-iKndEgla.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-LrQmhNxb.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-CN7wpzUO.js +0 -26
- package/frontend/dist/assets/index-Dqkx5o2y.css +0 -1
- package/frontend/dist/js/ChatPage-DBEi-FSO.js +0 -16
- package/frontend/dist/js/GalleryPage-BL0x_xl7.js +0 -1
- package/frontend/dist/js/HomePage-Ukn2Y-BG.js +0 -1
- package/frontend/dist/js/ModelsPage-CDPJM-LA.js +0 -2
- package/frontend/dist/js/NotesPage-DJ-_MSI1.js +0 -1
- package/frontend/dist/js/PluginUsagePage-D69rQvFl.js +0 -1
- package/frontend/dist/js/RichMessageContent-DfuCu6PB.js +0 -3
- package/frontend/dist/js/SettingsModal-D87lWSx4.js +0 -1
- package/frontend/dist/js/UserManagementPage-DzMnFKDG.js +0 -1
- package/frontend/dist/js/WorkPage-D84JNdjS.js +0 -6
- package/frontend/dist/js/api-DhmVEJr2.js +0 -14
- package/frontend/dist/js/appStore-BsqeY2tS.js +0 -2
- package/frontend/dist/js/ar-BgCHB9_9.js +0 -2
- package/frontend/dist/js/authStore-DanfaPdm.js +0 -4
- package/frontend/dist/js/bn-Cr8_opuR.js +0 -2
- package/frontend/dist/js/chatStore-C25ywAXQ.js +0 -3
- package/frontend/dist/js/cs-Bb9gXpfH.js +0 -2
- package/frontend/dist/js/da-JfdGHjAw.js +0 -2
- package/frontend/dist/js/de-CczkCOVx.js +0 -2
- package/frontend/dist/js/es-n_0cjhn7.js +0 -2
- package/frontend/dist/js/fr-Pno128cn.js +0 -2
- package/frontend/dist/js/hi-DBCdcL4p.js +0 -2
- package/frontend/dist/js/id-85QDk-wA.js +0 -2
- package/frontend/dist/js/is-9MuKmBft.js +0 -2
- package/frontend/dist/js/it-C5mz9I3H.js +0 -2
- package/frontend/dist/js/ja-Cu90QTBd.js +0 -2
- package/frontend/dist/js/ko-CSdgcMgq.js +0 -2
- package/frontend/dist/js/markdown-core-DHnR5Hw8.js +0 -16
- package/frontend/dist/js/ms-IQMi6HBU.js +0 -2
- package/frontend/dist/js/nl-BwpdTgvn.js +0 -2
- package/frontend/dist/js/pl-zq8ctKrQ.js +0 -2
- package/frontend/dist/js/pt-BIQu7dBu.js +0 -2
- package/frontend/dist/js/ru-BT5-Z0F9.js +0 -2
- package/frontend/dist/js/sv-B1_q6-Uj.js +0 -2
- package/frontend/dist/js/th-BiLLwq0A.js +0 -2
- package/frontend/dist/js/tr-NZbkkeKs.js +0 -2
- package/frontend/dist/js/ui-vendor-xUzKqAXI.js +0 -177
- package/frontend/dist/js/uk-CGu1pg-F.js +0 -2
- package/frontend/dist/js/vi-ClvH5JZg.js +0 -2
- package/frontend/dist/js/zh-Jgjy3uAG.js +0 -2
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
*/
|
|
6
|
+
import { VoiceProfileLimitError } from './extensionTypes.js';
|
|
7
|
+
class SQLitePluginDefinitionRepository {
|
|
8
|
+
constructor(database) {
|
|
9
|
+
this.database = database;
|
|
10
|
+
}
|
|
11
|
+
async list() {
|
|
12
|
+
return this.database
|
|
13
|
+
.prepare('SELECT * FROM plugin_definitions ORDER BY plugin_id ASC')
|
|
14
|
+
.all();
|
|
15
|
+
}
|
|
16
|
+
async find(pluginId) {
|
|
17
|
+
return (this.database
|
|
18
|
+
.prepare('SELECT * FROM plugin_definitions WHERE plugin_id = ?')
|
|
19
|
+
.get(pluginId) ?? null);
|
|
20
|
+
}
|
|
21
|
+
async replaceApproved(definition) {
|
|
22
|
+
if (definition.approved_by_user_id === null ||
|
|
23
|
+
definition.approved_at === null) {
|
|
24
|
+
throw new Error('Shared plugin definition approval is required');
|
|
25
|
+
}
|
|
26
|
+
const replace = this.database.transaction(() => {
|
|
27
|
+
this.database
|
|
28
|
+
.prepare('DELETE FROM plugin_activations WHERE plugin_id = ?')
|
|
29
|
+
.run(definition.plugin_id);
|
|
30
|
+
this.database
|
|
31
|
+
.prepare('DELETE FROM plugin_definition_approvals WHERE plugin_id = ?')
|
|
32
|
+
.run(definition.plugin_id);
|
|
33
|
+
this.database
|
|
34
|
+
.prepare('DELETE FROM plugin_discovered_models WHERE plugin_id = ?')
|
|
35
|
+
.run(definition.plugin_id);
|
|
36
|
+
this.database
|
|
37
|
+
.prepare('DELETE FROM plugin_discovered_capability_models WHERE plugin_id = ?')
|
|
38
|
+
.run(definition.plugin_id);
|
|
39
|
+
this.database
|
|
40
|
+
.prepare(`INSERT INTO plugin_definitions
|
|
41
|
+
(plugin_id, definition_json, definition_fingerprint,
|
|
42
|
+
approved_by_user_id, approved_at, created_at, updated_at)
|
|
43
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
44
|
+
ON CONFLICT(plugin_id) DO UPDATE SET
|
|
45
|
+
definition_json = excluded.definition_json,
|
|
46
|
+
definition_fingerprint = excluded.definition_fingerprint,
|
|
47
|
+
approved_by_user_id = excluded.approved_by_user_id,
|
|
48
|
+
approved_at = excluded.approved_at,
|
|
49
|
+
updated_at = excluded.updated_at`)
|
|
50
|
+
.run(definition.plugin_id, definition.definition_json, definition.definition_fingerprint, definition.approved_by_user_id, definition.approved_at, definition.created_at, definition.updated_at);
|
|
51
|
+
});
|
|
52
|
+
replace();
|
|
53
|
+
}
|
|
54
|
+
async deleteWithState(pluginId) {
|
|
55
|
+
const remove = this.database.transaction(() => {
|
|
56
|
+
const existed = Boolean(this.database
|
|
57
|
+
.prepare('SELECT 1 FROM plugin_definitions WHERE plugin_id = ?')
|
|
58
|
+
.get(pluginId));
|
|
59
|
+
for (const table of [
|
|
60
|
+
'plugin_activations',
|
|
61
|
+
'plugin_definition_approvals',
|
|
62
|
+
'plugin_variables',
|
|
63
|
+
'plugin_credentials',
|
|
64
|
+
'plugin_discovered_models',
|
|
65
|
+
'plugin_discovered_capability_models',
|
|
66
|
+
]) {
|
|
67
|
+
this.database
|
|
68
|
+
.prepare(`DELETE FROM ${table} WHERE plugin_id = ?`)
|
|
69
|
+
.run(pluginId);
|
|
70
|
+
}
|
|
71
|
+
this.database
|
|
72
|
+
.prepare('DELETE FROM plugin_definitions WHERE plugin_id = ?')
|
|
73
|
+
.run(pluginId);
|
|
74
|
+
return existed;
|
|
75
|
+
});
|
|
76
|
+
return remove();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
class SQLitePluginCredentialRepository {
|
|
80
|
+
constructor(database) {
|
|
81
|
+
this.database = database;
|
|
82
|
+
}
|
|
83
|
+
async find(pluginId, userId) {
|
|
84
|
+
return (this.database
|
|
85
|
+
.prepare('SELECT * FROM plugin_credentials WHERE plugin_id = ? AND user_id = ?')
|
|
86
|
+
.get(pluginId, userId) ?? null);
|
|
87
|
+
}
|
|
88
|
+
async bindLegacy(id, fingerprint) {
|
|
89
|
+
return (this.database
|
|
90
|
+
.prepare(`UPDATE plugin_credentials
|
|
91
|
+
SET routing_auth_fingerprint = ?
|
|
92
|
+
WHERE id = ? AND routing_auth_fingerprint IS NULL`)
|
|
93
|
+
.run(fingerprint, id).changes === 1);
|
|
94
|
+
}
|
|
95
|
+
async listByUser(userId) {
|
|
96
|
+
return this.database
|
|
97
|
+
.prepare('SELECT * FROM plugin_credentials WHERE user_id = ?')
|
|
98
|
+
.all(userId);
|
|
99
|
+
}
|
|
100
|
+
async upsert(record) {
|
|
101
|
+
this.database
|
|
102
|
+
.prepare(`INSERT INTO plugin_credentials
|
|
103
|
+
(id, user_id, plugin_id, api_key, routing_auth_fingerprint,
|
|
104
|
+
created_at, updated_at)
|
|
105
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
106
|
+
ON CONFLICT(user_id, plugin_id) DO UPDATE SET
|
|
107
|
+
api_key = excluded.api_key,
|
|
108
|
+
routing_auth_fingerprint = excluded.routing_auth_fingerprint,
|
|
109
|
+
updated_at = excluded.updated_at`)
|
|
110
|
+
.run(record.id, record.user_id, record.plugin_id, record.api_key, record.routing_auth_fingerprint, record.created_at, record.updated_at);
|
|
111
|
+
}
|
|
112
|
+
async delete(pluginId, userId) {
|
|
113
|
+
return (this.database
|
|
114
|
+
.prepare('DELETE FROM plugin_credentials WHERE plugin_id = ? AND user_id = ?')
|
|
115
|
+
.run(pluginId, userId).changes > 0);
|
|
116
|
+
}
|
|
117
|
+
async deleteByUser(userId) {
|
|
118
|
+
return this.database
|
|
119
|
+
.prepare('DELETE FROM plugin_credentials WHERE user_id = ?')
|
|
120
|
+
.run(userId).changes;
|
|
121
|
+
}
|
|
122
|
+
async deleteByPlugin(pluginId) {
|
|
123
|
+
return this.database
|
|
124
|
+
.prepare('DELETE FROM plugin_credentials WHERE plugin_id = ?')
|
|
125
|
+
.run(pluginId).changes;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
class SQLitePluginVariableRepository {
|
|
129
|
+
constructor(database) {
|
|
130
|
+
this.database = database;
|
|
131
|
+
}
|
|
132
|
+
async list(pluginId, userId) {
|
|
133
|
+
return this.database
|
|
134
|
+
.prepare('SELECT * FROM plugin_variables WHERE plugin_id = ? AND user_id = ?')
|
|
135
|
+
.all(pluginId, userId);
|
|
136
|
+
}
|
|
137
|
+
async apply(pluginId, userId, mutation) {
|
|
138
|
+
const apply = this.database.transaction(() => {
|
|
139
|
+
const remove = this.database.prepare(`DELETE FROM plugin_variables
|
|
140
|
+
WHERE plugin_id = ? AND user_id = ? AND variable_name = ?`);
|
|
141
|
+
for (const name of mutation.unsetNames) {
|
|
142
|
+
remove.run(pluginId, userId, name);
|
|
143
|
+
}
|
|
144
|
+
const upsert = this.database.prepare(`INSERT INTO plugin_variables
|
|
145
|
+
(id, user_id, plugin_id, variable_name, variable_value,
|
|
146
|
+
is_encrypted, created_at, updated_at)
|
|
147
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
148
|
+
ON CONFLICT(user_id, plugin_id, variable_name) DO UPDATE SET
|
|
149
|
+
variable_value = excluded.variable_value,
|
|
150
|
+
is_encrypted = excluded.is_encrypted,
|
|
151
|
+
updated_at = excluded.updated_at`);
|
|
152
|
+
for (const record of mutation.upserts) {
|
|
153
|
+
if (record.plugin_id !== pluginId || record.user_id !== userId) {
|
|
154
|
+
throw new Error('Plugin variable mutation scope mismatch');
|
|
155
|
+
}
|
|
156
|
+
upsert.run(record.id, record.user_id, record.plugin_id, record.variable_name, record.variable_value, record.is_encrypted, record.created_at, record.updated_at);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
apply();
|
|
160
|
+
}
|
|
161
|
+
async delete(pluginId, userId) {
|
|
162
|
+
return userId
|
|
163
|
+
? this.database
|
|
164
|
+
.prepare('DELETE FROM plugin_variables WHERE plugin_id = ? AND user_id = ?')
|
|
165
|
+
.run(pluginId, userId).changes
|
|
166
|
+
: this.database
|
|
167
|
+
.prepare('DELETE FROM plugin_variables WHERE plugin_id = ?')
|
|
168
|
+
.run(pluginId).changes;
|
|
169
|
+
}
|
|
170
|
+
async deleteByUser(userId) {
|
|
171
|
+
return this.database
|
|
172
|
+
.prepare('DELETE FROM plugin_variables WHERE user_id = ?')
|
|
173
|
+
.run(userId).changes;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
class SQLitePluginActivationRepository {
|
|
177
|
+
constructor(database) {
|
|
178
|
+
this.database = database;
|
|
179
|
+
}
|
|
180
|
+
async listUserIds() {
|
|
181
|
+
return this.database.prepare('SELECT id FROM users').all().map(row => row.id);
|
|
182
|
+
}
|
|
183
|
+
async list(userId) {
|
|
184
|
+
return this.database
|
|
185
|
+
.prepare('SELECT plugin_id FROM plugin_activations WHERE user_id = ?')
|
|
186
|
+
.all(userId).map(row => row.plugin_id);
|
|
187
|
+
}
|
|
188
|
+
async activate(pluginId, userId, activatedAt) {
|
|
189
|
+
this.database
|
|
190
|
+
.prepare(`INSERT INTO plugin_activations (user_id, plugin_id, activated_at)
|
|
191
|
+
VALUES (?, ?, ?)
|
|
192
|
+
ON CONFLICT(user_id, plugin_id) DO UPDATE SET
|
|
193
|
+
activated_at = excluded.activated_at`)
|
|
194
|
+
.run(userId, pluginId, activatedAt);
|
|
195
|
+
}
|
|
196
|
+
async deactivate(pluginId, userId) {
|
|
197
|
+
return pluginId
|
|
198
|
+
? this.database
|
|
199
|
+
.prepare('DELETE FROM plugin_activations WHERE user_id = ? AND plugin_id = ?')
|
|
200
|
+
.run(userId, pluginId).changes
|
|
201
|
+
: this.database
|
|
202
|
+
.prepare('DELETE FROM plugin_activations WHERE user_id = ?')
|
|
203
|
+
.run(userId).changes;
|
|
204
|
+
}
|
|
205
|
+
async deleteByPlugin(pluginId) {
|
|
206
|
+
return this.database
|
|
207
|
+
.prepare('DELETE FROM plugin_activations WHERE plugin_id = ?')
|
|
208
|
+
.run(pluginId).changes;
|
|
209
|
+
}
|
|
210
|
+
async migrateLegacy(activations, migratedAt, markerKey) {
|
|
211
|
+
const migrate = this.database.transaction(() => {
|
|
212
|
+
const marker = this.database
|
|
213
|
+
.prepare('SELECT value FROM system_settings WHERE key = ?')
|
|
214
|
+
.get(markerKey);
|
|
215
|
+
if (marker?.value === 'true')
|
|
216
|
+
return false;
|
|
217
|
+
const users = new Set(this.database.prepare('SELECT id FROM users').all().map(row => row.id));
|
|
218
|
+
const insert = this.database.prepare(`INSERT OR IGNORE INTO plugin_activations
|
|
219
|
+
(user_id, plugin_id, activated_at)
|
|
220
|
+
VALUES (?, ?, ?)`);
|
|
221
|
+
for (const [userId, pluginIds] of activations) {
|
|
222
|
+
if (!users.has(userId))
|
|
223
|
+
continue;
|
|
224
|
+
for (const pluginId of pluginIds)
|
|
225
|
+
insert.run(userId, pluginId, migratedAt);
|
|
226
|
+
}
|
|
227
|
+
this.database
|
|
228
|
+
.prepare(`INSERT INTO system_settings (key, value, updated_at)
|
|
229
|
+
VALUES (?, 'true', ?)
|
|
230
|
+
ON CONFLICT(key) DO UPDATE SET
|
|
231
|
+
value = excluded.value,
|
|
232
|
+
updated_at = excluded.updated_at`)
|
|
233
|
+
.run(markerKey, migratedAt);
|
|
234
|
+
return true;
|
|
235
|
+
});
|
|
236
|
+
return migrate();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
class SQLitePluginApprovalRepository {
|
|
240
|
+
constructor(database) {
|
|
241
|
+
this.database = database;
|
|
242
|
+
}
|
|
243
|
+
async find(pluginId) {
|
|
244
|
+
return (this.database
|
|
245
|
+
.prepare('SELECT * FROM plugin_definition_approvals WHERE plugin_id = ?')
|
|
246
|
+
.get(pluginId) ?? null);
|
|
247
|
+
}
|
|
248
|
+
async upsert(approval) {
|
|
249
|
+
this.database
|
|
250
|
+
.prepare(`INSERT INTO plugin_definition_approvals
|
|
251
|
+
(plugin_id, definition_fingerprint, source_path,
|
|
252
|
+
approved_by_user_id, approved_at)
|
|
253
|
+
VALUES (?, ?, ?, ?, ?)
|
|
254
|
+
ON CONFLICT(plugin_id) DO UPDATE SET
|
|
255
|
+
definition_fingerprint = excluded.definition_fingerprint,
|
|
256
|
+
source_path = excluded.source_path,
|
|
257
|
+
approved_by_user_id = excluded.approved_by_user_id,
|
|
258
|
+
approved_at = excluded.approved_at`)
|
|
259
|
+
.run(approval.plugin_id, approval.definition_fingerprint, approval.source_path, approval.approved_by_user_id, approval.approved_at);
|
|
260
|
+
}
|
|
261
|
+
async delete(pluginId) {
|
|
262
|
+
return (this.database
|
|
263
|
+
.prepare('DELETE FROM plugin_definition_approvals WHERE plugin_id = ?')
|
|
264
|
+
.run(pluginId).changes > 0);
|
|
265
|
+
}
|
|
266
|
+
async revokeConsent(pluginId) {
|
|
267
|
+
const revoke = this.database.transaction(() => {
|
|
268
|
+
this.database
|
|
269
|
+
.prepare('DELETE FROM plugin_activations WHERE plugin_id = ?')
|
|
270
|
+
.run(pluginId);
|
|
271
|
+
this.database
|
|
272
|
+
.prepare('DELETE FROM plugin_definition_approvals WHERE plugin_id = ?')
|
|
273
|
+
.run(pluginId);
|
|
274
|
+
});
|
|
275
|
+
revoke();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
class SQLitePluginDiscoveryRepository {
|
|
279
|
+
constructor(database) {
|
|
280
|
+
this.database = database;
|
|
281
|
+
}
|
|
282
|
+
async get(pluginId, userId) {
|
|
283
|
+
return (this.database
|
|
284
|
+
.prepare('SELECT * FROM plugin_discovered_models WHERE user_id = ? AND plugin_id = ?')
|
|
285
|
+
.get(userId, pluginId) ?? null);
|
|
286
|
+
}
|
|
287
|
+
async upsert(record) {
|
|
288
|
+
this.database
|
|
289
|
+
.prepare(`INSERT INTO plugin_discovered_models
|
|
290
|
+
(user_id, plugin_id, models_json, updated_at)
|
|
291
|
+
VALUES (?, ?, ?, ?)
|
|
292
|
+
ON CONFLICT(user_id, plugin_id) DO UPDATE SET
|
|
293
|
+
models_json = excluded.models_json,
|
|
294
|
+
updated_at = excluded.updated_at`)
|
|
295
|
+
.run(record.user_id, record.plugin_id, record.models_json, record.updated_at);
|
|
296
|
+
}
|
|
297
|
+
async getCapability(pluginId, capability, userId) {
|
|
298
|
+
return (this.database
|
|
299
|
+
.prepare(`SELECT * FROM plugin_discovered_capability_models
|
|
300
|
+
WHERE user_id = ? AND plugin_id = ? AND capability = ?`)
|
|
301
|
+
.get(userId, pluginId, capability) ?? null);
|
|
302
|
+
}
|
|
303
|
+
async upsertCapability(record) {
|
|
304
|
+
this.database
|
|
305
|
+
.prepare(`INSERT INTO plugin_discovered_capability_models
|
|
306
|
+
(user_id, plugin_id, capability, models_json, updated_at)
|
|
307
|
+
VALUES (?, ?, ?, ?, ?)
|
|
308
|
+
ON CONFLICT(user_id, plugin_id, capability) DO UPDATE SET
|
|
309
|
+
models_json = excluded.models_json,
|
|
310
|
+
updated_at = excluded.updated_at`)
|
|
311
|
+
.run(record.user_id, record.plugin_id, record.capability, record.models_json, record.updated_at);
|
|
312
|
+
}
|
|
313
|
+
async delete(pluginId, userId) {
|
|
314
|
+
const remove = this.database.transaction(() => {
|
|
315
|
+
for (const table of [
|
|
316
|
+
'plugin_discovered_models',
|
|
317
|
+
'plugin_discovered_capability_models',
|
|
318
|
+
]) {
|
|
319
|
+
if (userId) {
|
|
320
|
+
this.database
|
|
321
|
+
.prepare(`DELETE FROM ${table} WHERE plugin_id = ? AND user_id = ?`)
|
|
322
|
+
.run(pluginId, userId);
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
this.database
|
|
326
|
+
.prepare(`DELETE FROM ${table} WHERE plugin_id = ?`)
|
|
327
|
+
.run(pluginId);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
remove();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
const totalsSql = `SELECT
|
|
335
|
+
COUNT(*) AS calls,
|
|
336
|
+
SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) AS successful_calls,
|
|
337
|
+
SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END) AS failed_calls,
|
|
338
|
+
SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END) AS cancelled_calls,
|
|
339
|
+
SUM(CASE WHEN total_tokens IS NOT NULL THEN 1 ELSE 0 END) AS metered_calls,
|
|
340
|
+
SUM(COALESCE(prompt_tokens, 0)) AS prompt_tokens,
|
|
341
|
+
SUM(COALESCE(completion_tokens, 0)) AS completion_tokens,
|
|
342
|
+
SUM(COALESCE(total_tokens, 0)) AS reported_tokens,
|
|
343
|
+
ROUND(AVG(duration_ms)) AS average_latency_ms,
|
|
344
|
+
COUNT(DISTINCT user_id) AS unique_users
|
|
345
|
+
FROM plugin_usage_events WHERE created_at >= ? AND created_at <= ?`;
|
|
346
|
+
class SQLitePluginUsageRepository {
|
|
347
|
+
constructor(database) {
|
|
348
|
+
this.database = database;
|
|
349
|
+
}
|
|
350
|
+
async recordAndPrune(event, retainFrom) {
|
|
351
|
+
const record = this.database.transaction(() => {
|
|
352
|
+
this.database
|
|
353
|
+
.prepare('DELETE FROM plugin_usage_events WHERE created_at < ?')
|
|
354
|
+
.run(retainFrom);
|
|
355
|
+
this.database
|
|
356
|
+
.prepare(`INSERT INTO plugin_usage_events
|
|
357
|
+
(id, user_id, plugin_id, plugin_name, capability, model, status,
|
|
358
|
+
prompt_tokens, completion_tokens, total_tokens, input_units,
|
|
359
|
+
output_units, unit_kind, duration_ms, created_at)
|
|
360
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
361
|
+
.run(event.id, event.user_id, event.plugin_id, event.plugin_name, event.capability, event.model, event.status, event.prompt_tokens, event.completion_tokens, event.total_tokens, event.input_units, event.output_units, event.unit_kind, event.duration_ms, event.created_at);
|
|
362
|
+
});
|
|
363
|
+
record();
|
|
364
|
+
}
|
|
365
|
+
async totals(from, to) {
|
|
366
|
+
return this.database.prepare(totalsSql).get(from, to);
|
|
367
|
+
}
|
|
368
|
+
async series(from, to, bucketMs) {
|
|
369
|
+
return this.database
|
|
370
|
+
.prepare(`SELECT CAST((created_at - ?) / ? AS INTEGER) AS bucket,
|
|
371
|
+
COUNT(*) AS calls, SUM(COALESCE(total_tokens, 0)) AS tokens,
|
|
372
|
+
SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END) AS errors
|
|
373
|
+
FROM plugin_usage_events
|
|
374
|
+
WHERE created_at >= ? AND created_at <= ?
|
|
375
|
+
GROUP BY bucket ORDER BY bucket ASC`)
|
|
376
|
+
.all(from, bucketMs, from, to);
|
|
377
|
+
}
|
|
378
|
+
async plugins(from, to) {
|
|
379
|
+
return this.database
|
|
380
|
+
.prepare(`SELECT plugin_id, plugin_name, COUNT(*) AS calls,
|
|
381
|
+
SUM(COALESCE(total_tokens, 0)) AS tokens,
|
|
382
|
+
SUM(CASE WHEN status != 'success' THEN 1 ELSE 0 END) AS errors,
|
|
383
|
+
ROUND(AVG(duration_ms)) AS average_latency_ms
|
|
384
|
+
FROM plugin_usage_events WHERE created_at >= ? AND created_at <= ?
|
|
385
|
+
GROUP BY plugin_id, plugin_name
|
|
386
|
+
ORDER BY calls DESC, tokens DESC LIMIT 50`)
|
|
387
|
+
.all(from, to);
|
|
388
|
+
}
|
|
389
|
+
async models(from, to) {
|
|
390
|
+
return this.database
|
|
391
|
+
.prepare(`SELECT model, plugin_id, plugin_name, COUNT(*) AS calls,
|
|
392
|
+
SUM(COALESCE(total_tokens, 0)) AS tokens,
|
|
393
|
+
SUM(CASE WHEN status != 'success' THEN 1 ELSE 0 END) AS errors,
|
|
394
|
+
ROUND(AVG(duration_ms)) AS average_latency_ms
|
|
395
|
+
FROM plugin_usage_events WHERE created_at >= ? AND created_at <= ?
|
|
396
|
+
GROUP BY model, plugin_id, plugin_name
|
|
397
|
+
ORDER BY calls DESC, tokens DESC LIMIT 100`)
|
|
398
|
+
.all(from, to);
|
|
399
|
+
}
|
|
400
|
+
async heatmap(from, to, bucketMs) {
|
|
401
|
+
return this.database
|
|
402
|
+
.prepare(`SELECT CAST((created_at - ?) / ? AS INTEGER) AS bucket,
|
|
403
|
+
model, COUNT(*) AS calls
|
|
404
|
+
FROM plugin_usage_events WHERE created_at >= ? AND created_at <= ?
|
|
405
|
+
GROUP BY bucket, model ORDER BY bucket ASC, calls DESC`)
|
|
406
|
+
.all(from, bucketMs, from, to);
|
|
407
|
+
}
|
|
408
|
+
async capabilities(from, to) {
|
|
409
|
+
return this.database
|
|
410
|
+
.prepare(`SELECT capability, COUNT(*) AS calls,
|
|
411
|
+
SUM(COALESCE(total_tokens, 0)) AS tokens,
|
|
412
|
+
SUM(input_units) AS input_units, SUM(output_units) AS output_units
|
|
413
|
+
FROM plugin_usage_events WHERE created_at >= ? AND created_at <= ?
|
|
414
|
+
GROUP BY capability ORDER BY calls DESC`)
|
|
415
|
+
.all(from, to);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
class SQLiteVoiceProfileRepository {
|
|
419
|
+
constructor(database) {
|
|
420
|
+
this.database = database;
|
|
421
|
+
}
|
|
422
|
+
async list(userId, filters, maximum) {
|
|
423
|
+
const conditions = ['user_id = ?'];
|
|
424
|
+
const values = [userId];
|
|
425
|
+
if (filters.pluginId) {
|
|
426
|
+
conditions.push('plugin_id = ?');
|
|
427
|
+
values.push(filters.pluginId);
|
|
428
|
+
}
|
|
429
|
+
if (filters.model) {
|
|
430
|
+
conditions.push('model = ?');
|
|
431
|
+
values.push(filters.model);
|
|
432
|
+
}
|
|
433
|
+
values.push(maximum);
|
|
434
|
+
return this.database
|
|
435
|
+
.prepare(`SELECT * FROM voice_profiles WHERE ${conditions.join(' AND ')}
|
|
436
|
+
ORDER BY updated_at DESC, id ASC LIMIT ?`)
|
|
437
|
+
.all(...values);
|
|
438
|
+
}
|
|
439
|
+
async find(id, userId) {
|
|
440
|
+
return (this.database
|
|
441
|
+
.prepare('SELECT * FROM voice_profiles WHERE id = ? AND user_id = ?')
|
|
442
|
+
.get(id, userId) ?? null);
|
|
443
|
+
}
|
|
444
|
+
async insertWithLimits(profile, limits) {
|
|
445
|
+
const insert = this.database.transaction(() => {
|
|
446
|
+
const count = this.database
|
|
447
|
+
.prepare('SELECT COUNT(*) AS count FROM voice_profiles WHERE user_id = ?')
|
|
448
|
+
.get(profile.user_id);
|
|
449
|
+
if (count.count >= limits.maximumProfiles) {
|
|
450
|
+
throw new VoiceProfileLimitError('count');
|
|
451
|
+
}
|
|
452
|
+
const bytes = this.database
|
|
453
|
+
.prepare('SELECT COALESCE(SUM(audio_size), 0) AS total FROM voice_profiles WHERE user_id = ?')
|
|
454
|
+
.get(profile.user_id);
|
|
455
|
+
if (bytes.total + limits.additionalAudioBytes >
|
|
456
|
+
limits.maximumTotalAudioBytes) {
|
|
457
|
+
throw new VoiceProfileLimitError('bytes');
|
|
458
|
+
}
|
|
459
|
+
const existing = this.database
|
|
460
|
+
.prepare(`SELECT 1 FROM voice_profiles
|
|
461
|
+
WHERE user_id = ? AND plugin_id = ? AND model = ?
|
|
462
|
+
AND name_lookup = ?`)
|
|
463
|
+
.get(profile.user_id, profile.plugin_id, profile.model, profile.name_lookup);
|
|
464
|
+
if (existing) {
|
|
465
|
+
throw new VoiceProfileLimitError('duplicate');
|
|
466
|
+
}
|
|
467
|
+
this.database
|
|
468
|
+
.prepare(`INSERT INTO voice_profiles
|
|
469
|
+
(id, user_id, name, name_lookup, plugin_id, model, reference_audio,
|
|
470
|
+
reference_text, routing_fingerprint, audio_mime_type,
|
|
471
|
+
audio_format, audio_size, consent_confirmed_at, created_at,
|
|
472
|
+
updated_at)
|
|
473
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
474
|
+
.run(profile.id, profile.user_id, profile.name, profile.name_lookup, profile.plugin_id, profile.model, profile.reference_audio, profile.reference_text, profile.routing_fingerprint, profile.audio_mime_type, profile.audio_format, profile.audio_size, profile.consent_confirmed_at, profile.created_at, profile.updated_at);
|
|
475
|
+
});
|
|
476
|
+
insert();
|
|
477
|
+
}
|
|
478
|
+
async delete(id, userId) {
|
|
479
|
+
return (this.database
|
|
480
|
+
.prepare('DELETE FROM voice_profiles WHERE id = ? AND user_id = ?')
|
|
481
|
+
.run(id, userId).changes > 0);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
export const createSQLiteExtensionRepositories = (database) => ({
|
|
485
|
+
pluginDefinitions: new SQLitePluginDefinitionRepository(database),
|
|
486
|
+
pluginCredentials: new SQLitePluginCredentialRepository(database),
|
|
487
|
+
pluginVariables: new SQLitePluginVariableRepository(database),
|
|
488
|
+
pluginActivations: new SQLitePluginActivationRepository(database),
|
|
489
|
+
pluginApprovals: new SQLitePluginApprovalRepository(database),
|
|
490
|
+
pluginDiscovery: new SQLitePluginDiscoveryRepository(database),
|
|
491
|
+
pluginUsage: new SQLitePluginUsageRepository(database),
|
|
492
|
+
voiceProfiles: new SQLiteVoiceProfileRepository(database),
|
|
493
|
+
});
|
|
494
|
+
//# sourceMappingURL=sqliteExtensionRepositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteExtensionRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteExtensionRepositories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
export { SQLITE_BLOB_QUOTA_SCHEMA_SQL, SQLITE_BLOB_REFERENCE_SCHEMA_SQL, } from '../platform/storage/storageSchemaContracts.js';
|
|
3
|
+
/**
|
|
4
|
+
* SQLite vector storage is application schema, not adapter-owned scratch
|
|
5
|
+
* state. Keep this statement immutable after release and add a new migration
|
|
6
|
+
* for every later schema change.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PLATFORM_VECTOR_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS platform_vector_entries (\n namespace TEXT NOT NULL,\n id TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n resource_id TEXT NOT NULL,\n model TEXT NOT NULL,\n dimensions INTEGER NOT NULL CHECK(dimensions > 0),\n embedding_version TEXT NOT NULL,\n source_revision TEXT NOT NULL,\n embedding BLOB NOT NULL,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n PRIMARY KEY (namespace, owner_user_id, id)\n );\n\n CREATE TABLE IF NOT EXISTS platform_vector_acl (\n namespace TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n vector_id TEXT NOT NULL,\n principal_type TEXT NOT NULL CHECK(principal_type IN ('user', 'group')),\n principal_id TEXT NOT NULL,\n PRIMARY KEY (\n namespace,\n owner_user_id,\n vector_id,\n principal_type,\n principal_id\n ),\n FOREIGN KEY (namespace, owner_user_id, vector_id)\n REFERENCES platform_vector_entries(namespace, owner_user_id, id)\n ON DELETE CASCADE\n );\n\n CREATE TABLE IF NOT EXISTS platform_vector_attributes (\n namespace TEXT NOT NULL,\n owner_user_id TEXT NOT NULL,\n vector_id TEXT NOT NULL,\n attribute_key TEXT NOT NULL,\n attribute_value TEXT NOT NULL,\n PRIMARY KEY (namespace, owner_user_id, vector_id, attribute_key),\n FOREIGN KEY (namespace, owner_user_id, vector_id)\n REFERENCES platform_vector_entries(namespace, owner_user_id, id)\n ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_vectors_scope\n ON platform_vector_entries(\n namespace,\n model,\n dimensions,\n embedding_version,\n owner_user_id\n );\n CREATE INDEX IF NOT EXISTS idx_platform_vectors_resource\n ON platform_vector_entries(namespace, resource_id, owner_user_id);\n CREATE INDEX IF NOT EXISTS idx_platform_vector_acl_principal\n ON platform_vector_acl(\n principal_type,\n principal_id,\n namespace,\n owner_user_id,\n vector_id\n );\n CREATE INDEX IF NOT EXISTS idx_platform_vector_attributes_lookup\n ON platform_vector_attributes(\n attribute_key,\n attribute_value,\n namespace,\n owner_user_id,\n vector_id\n );\n";
|
|
9
|
+
/**
|
|
10
|
+
* Solo-mode durable jobs and the transactional event log. The event table is
|
|
11
|
+
* also the local outbox: every job transition appends to it in the same
|
|
12
|
+
* transaction, and consumers replay its monotonic global cursor.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DURABLE_JOBS_EVENTS_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS platform_jobs (\n id TEXT PRIMARY KEY,\n job_type TEXT NOT NULL,\n actor_user_id TEXT NOT NULL,\n state TEXT NOT NULL CHECK(\n state IN ('queued', 'running', 'succeeded', 'cancelled', 'dead_letter')\n ),\n payload_format TEXT NOT NULL CHECK(\n payload_format IN ('encrypted', 'reference')\n ),\n payload TEXT NOT NULL,\n idempotency_scope TEXT NOT NULL,\n idempotency_key_hash TEXT NOT NULL,\n request_fingerprint TEXT NOT NULL,\n priority INTEGER NOT NULL DEFAULT 0 CHECK(priority BETWEEN -100 AND 100),\n attempt_count INTEGER NOT NULL DEFAULT 0 CHECK(attempt_count >= 0),\n max_attempts INTEGER NOT NULL CHECK(max_attempts BETWEEN 1 AND 10),\n available_at INTEGER NOT NULL,\n lease_owner TEXT,\n lease_token INTEGER NOT NULL DEFAULT 0 CHECK(lease_token >= 0),\n lease_expires_at INTEGER,\n cancellation_requested_at INTEGER,\n cancellation_reason TEXT,\n progress_current INTEGER NOT NULL DEFAULT 0 CHECK(progress_current >= 0),\n progress_total INTEGER NOT NULL DEFAULT 100 CHECK(progress_total > 0),\n progress_message TEXT,\n result_reference TEXT,\n error_code TEXT,\n error_summary TEXT,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n started_at INTEGER,\n finished_at INTEGER,\n UNIQUE (actor_user_id, idempotency_scope, idempotency_key_hash),\n CHECK(progress_current <= progress_total),\n CHECK(\n (state = 'running' AND lease_owner IS NOT NULL AND lease_expires_at IS NOT NULL)\n OR\n (state != 'running' AND lease_owner IS NULL AND lease_expires_at IS NULL)\n )\n );\n\n CREATE TABLE IF NOT EXISTS platform_job_attempts (\n job_id TEXT NOT NULL,\n attempt_number INTEGER NOT NULL CHECK(attempt_number > 0),\n lease_token INTEGER NOT NULL CHECK(lease_token > 0),\n worker_id TEXT NOT NULL,\n started_at INTEGER NOT NULL,\n last_heartbeat_at INTEGER NOT NULL,\n finished_at INTEGER,\n outcome TEXT NOT NULL CHECK(\n outcome IN (\n 'running',\n 'succeeded',\n 'retry_scheduled',\n 'cancelled',\n 'dead_letter',\n 'abandoned'\n )\n ),\n error_code TEXT,\n error_summary TEXT,\n PRIMARY KEY (job_id, attempt_number),\n UNIQUE (job_id, lease_token),\n FOREIGN KEY (job_id) REFERENCES platform_jobs(id) ON DELETE CASCADE\n );\n\n CREATE TABLE IF NOT EXISTS platform_event_stream_heads (\n stream_id TEXT PRIMARY KEY,\n last_sequence INTEGER NOT NULL CHECK(last_sequence >= 0)\n );\n\n CREATE TABLE IF NOT EXISTS platform_events (\n global_cursor INTEGER PRIMARY KEY AUTOINCREMENT,\n event_id TEXT NOT NULL UNIQUE,\n stream_id TEXT NOT NULL,\n stream_sequence INTEGER NOT NULL CHECK(stream_sequence > 0),\n event_type TEXT NOT NULL,\n subject_id TEXT NOT NULL,\n actor_user_id TEXT,\n payload_format TEXT NOT NULL CHECK(\n payload_format IN ('encrypted', 'reference')\n ),\n payload TEXT NOT NULL,\n occurred_at INTEGER NOT NULL,\n UNIQUE (stream_id, stream_sequence),\n FOREIGN KEY (stream_id) REFERENCES platform_event_stream_heads(stream_id)\n ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_jobs_claim\n ON platform_jobs(state, available_at, lease_expires_at, priority, created_at);\n CREATE INDEX IF NOT EXISTS idx_platform_jobs_actor_created\n ON platform_jobs(actor_user_id, created_at DESC);\n CREATE INDEX IF NOT EXISTS idx_platform_job_attempts_worker\n ON platform_job_attempts(worker_id, outcome, last_heartbeat_at);\n CREATE INDEX IF NOT EXISTS idx_platform_events_stream_cursor\n ON platform_events(stream_id, global_cursor);\n CREATE INDEX IF NOT EXISTS idx_platform_events_occurred\n ON platform_events(occurred_at, global_cursor);\n";
|
|
15
|
+
export declare const IDENTITY_EMAIL_LOOKUP_SCHEMA_SQL = "\n ALTER TABLE users ADD COLUMN email_lookup TEXT;\n CREATE UNIQUE INDEX idx_users_email_lookup\n ON users(email_lookup)\n WHERE email_lookup IS NOT NULL;\n";
|
|
16
|
+
export declare const VOICE_PROFILE_NAME_LOOKUP_SCHEMA_SQL = "\n ALTER TABLE voice_profiles ADD COLUMN name_lookup TEXT;\n CREATE UNIQUE INDEX idx_voice_profiles_name_lookup\n ON voice_profiles(user_id, plugin_id, model, name_lookup)\n WHERE name_lookup IS NOT NULL;\n";
|
|
17
|
+
export declare const PLUGIN_DEFINITION_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS plugin_definitions (\n plugin_id TEXT PRIMARY KEY,\n definition_json TEXT NOT NULL,\n definition_fingerprint TEXT NOT NULL,\n approved_by_user_id TEXT,\n approved_at INTEGER,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n CHECK (\n (approved_by_user_id IS NULL AND approved_at IS NULL)\n OR\n (approved_by_user_id IS NOT NULL AND approved_at IS NOT NULL)\n )\n );\n\n CREATE INDEX IF NOT EXISTS idx_plugin_definitions_updated\n ON plugin_definitions(updated_at DESC, plugin_id);\n";
|
|
18
|
+
export declare const IDENTITY_ACCOUNT_RETIREMENT_SCHEMA_SQL = "\n CREATE TABLE users__retiring_v9 (\n id TEXT PRIMARY KEY,\n username TEXT UNIQUE NOT NULL,\n email TEXT UNIQUE,\n email_lookup TEXT,\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', 'retiring')),\n approved_at INTEGER,\n approved_by TEXT,\n avatar TEXT,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n );\n";
|
|
19
|
+
export declare const WORK_PREVIEW_UPSTREAM_SCHEMA_SQL = "\n ALTER TABLE work_tasks ADD COLUMN preview_upstream_host TEXT\n CHECK (\n preview_upstream_host IS NULL\n OR length(preview_upstream_host) BETWEEN 1 AND 253\n );\n ALTER TABLE work_tasks ADD COLUMN preview_upstream_port INTEGER\n CHECK (\n preview_upstream_port IS NULL\n OR preview_upstream_port BETWEEN 1 AND 65535\n );\n";
|
|
20
|
+
export declare const DURABLE_EVENT_IDEMPOTENCY_SCHEMA_SQL = "\n ALTER TABLE platform_events ADD COLUMN request_fingerprint TEXT NOT NULL\n DEFAULT '0000000000000000000000000000000000000000000000000000000000000000'\n CHECK (\n length(request_fingerprint) = 64\n AND request_fingerprint NOT GLOB '*[^0-9a-f]*'\n );\n";
|
|
21
|
+
export declare const DURABLE_EVENT_REPLAY_INDEX_SCHEMA_SQL = "\n CREATE INDEX IF NOT EXISTS idx_platform_events_stream_subject_cursor\n ON platform_events(stream_id, subject_id, global_cursor);\n";
|
|
22
|
+
export declare const RESOURCE_DELETION_LIFECYCLE_SCHEMA_SQL = "\n CREATE TABLE IF NOT EXISTS platform_resource_deletion_tombstones (\n resource_type TEXT NOT NULL\n CHECK (resource_type IN ('document', 'generated-media', 'persona')),\n resource_id TEXT NOT NULL CHECK (length(resource_id) BETWEEN 1 AND 256),\n owner_user_id TEXT NOT NULL CHECK (length(owner_user_id) BETWEEN 1 AND 256),\n deletion_incarnation INTEGER NOT NULL CHECK (deletion_incarnation > 0),\n deletion_token TEXT NOT NULL UNIQUE\n CHECK (\n length(deletion_token) = 64\n AND deletion_token NOT GLOB '*[^0-9a-f]*'\n ),\n deleted_at INTEGER NOT NULL CHECK (deleted_at >= 0),\n completed_at INTEGER CHECK (\n completed_at IS NULL OR completed_at >= deleted_at\n ),\n PRIMARY KEY (resource_type, resource_id)\n );\n\n CREATE INDEX IF NOT EXISTS idx_platform_resource_tombstones_owner\n ON platform_resource_deletion_tombstones(\n owner_user_id,\n deleted_at,\n resource_type,\n resource_id\n );\n";
|
|
23
|
+
export type SchemaCompatibilityStatus = 'uninitialized' | 'migrating' | 'compatible' | 'incompatible';
|
|
24
|
+
export interface SchemaCompatibilityState {
|
|
25
|
+
dialect: 'sqlite';
|
|
26
|
+
status: SchemaCompatibilityStatus;
|
|
27
|
+
currentVersion: number;
|
|
28
|
+
targetVersion: number;
|
|
29
|
+
minimumSupportedVersion: number;
|
|
30
|
+
reason?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SQLiteSchemaInspection {
|
|
33
|
+
dialect: 'sqlite';
|
|
34
|
+
status: SchemaCompatibilityStatus;
|
|
35
|
+
compatible: boolean;
|
|
36
|
+
ledgerPresent: boolean;
|
|
37
|
+
currentVersion: number;
|
|
38
|
+
targetVersion: number;
|
|
39
|
+
minimumSupportedVersion: number;
|
|
40
|
+
missing: string[];
|
|
41
|
+
appliedMigrations: Array<{
|
|
42
|
+
version: number;
|
|
43
|
+
name: string;
|
|
44
|
+
checksum: string;
|
|
45
|
+
checksumMatches: boolean;
|
|
46
|
+
}>;
|
|
47
|
+
reason?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether a pending migration needs foreign-key enforcement suspended before
|
|
51
|
+
* its surrounding transaction begins. SQLite ignores `PRAGMA foreign_keys`
|
|
52
|
+
* changes while a transaction is active, so bootstrap must establish this
|
|
53
|
+
* connection state before opening its atomic schema transaction.
|
|
54
|
+
*/
|
|
55
|
+
export declare const sqliteMigrationsRequireForeignKeysDisabledAfter: (currentVersion: number) => boolean;
|
|
56
|
+
/** Public, read-only migration identities for adapters and conformance tests. */
|
|
57
|
+
export declare const SQLITE_MIGRATION_CONTRACT: readonly Readonly<{
|
|
58
|
+
version: number;
|
|
59
|
+
name: string;
|
|
60
|
+
checksum: string;
|
|
61
|
+
}>[];
|
|
62
|
+
/**
|
|
63
|
+
* Fail closed unless checksummed migration v2 installed the complete vector
|
|
64
|
+
* schema. Storage adapters must never create application tables themselves.
|
|
65
|
+
*/
|
|
66
|
+
export declare function assertPlatformVectorMigrationReady(database: Database.Database): void;
|
|
67
|
+
/** Fail closed unless checksummed migration v3 installed durable job state. */
|
|
68
|
+
export declare function assertDurableJobMigrationReady(database: Database.Database): void;
|
|
69
|
+
/**
|
|
70
|
+
* Inspect an open SQLite database without changing it. Recovery and health
|
|
71
|
+
* checks use the same contract and checksums as the startup coordinator.
|
|
72
|
+
*/
|
|
73
|
+
export declare function inspectSQLiteSchema(database: Database.Database): SQLiteSchemaInspection;
|
|
74
|
+
export declare const getSchemaCompatibilityState: () => SchemaCompatibilityState;
|
|
75
|
+
export declare const recordSQLiteSchemaFailure: (error: unknown) => SchemaCompatibilityState;
|
|
76
|
+
/**
|
|
77
|
+
* Validate an existing migration ledger without changing the database. This
|
|
78
|
+
* must run before historical inline initialization so an unsupported or
|
|
79
|
+
* tampered database cannot be partially upgraded before startup fails.
|
|
80
|
+
*/
|
|
81
|
+
export declare function preflightSQLiteMigrationLedger(database: Database.Database): SchemaCompatibilityState;
|
|
82
|
+
/**
|
|
83
|
+
* Read-only compatibility check for the pre-ledger bootstrap boundary. It
|
|
84
|
+
* accepts a fresh database and supported additive legacy shapes, but rejects
|
|
85
|
+
* structural damage that the atomic inline migration cannot safely repair.
|
|
86
|
+
*/
|
|
87
|
+
export declare function preflightSQLiteBootstrapSchema(database: Database.Database): SchemaCompatibilityState;
|
|
88
|
+
/**
|
|
89
|
+
* Adopt the legacy inline schema into a numbered, checksummed migration ledger.
|
|
90
|
+
* Every subsequent startup verifies both the ledger and the required schema.
|
|
91
|
+
*/
|
|
92
|
+
export declare function runSQLiteMigrationCoordinator(database: Database.Database): SchemaCompatibilityState;
|
|
93
|
+
//# sourceMappingURL=sqliteMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteMigrations.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteMigrations.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,+CAA+C,CAAC;AA2RvD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,4rEAwEtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,svHAqG1C,CAAC;AAuKF,eAAO,MAAM,gCAAgC,yKAK5C,CAAC;AAEF,eAAO,MAAM,oCAAoC,2NAKhD,CAAC;AAEF,eAAO,MAAM,4BAA4B,okBAkBxC,CAAC;AAEF,eAAO,MAAM,sCAAsC,ugBAgBlD,CAAC;AAEF,eAAO,MAAM,gCAAgC,4WAW5C,CAAC;AAEF,eAAO,MAAM,oCAAoC,sRAOhD,CAAC;AAEF,eAAO,MAAM,qCAAqC,8IAGjD,CAAC;AAEF,eAAO,MAAM,sCAAsC,m+BA0BlD,CAAC;AAqEF,MAAM,MAAM,yBAAyB,GACnC,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;AAEhE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,yBAAyB,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,EAAE,KAAK,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4wCD;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,mBAC1C,MAAM,KACrB,OAKA,CAAC;AAEJ,iFAAiF;AACjF,eAAO,MAAM,yBAAyB;;;;IAQrC,CAAC;AA4GF;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,IAAI,CAkBN;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,sBAAsB,CAuIxB;AAUD,eAAO,MAAM,2BAA2B,QAAO,wBAE7C,CAAC;AAkBH,eAAO,MAAM,yBAAyB,UAC7B,OAAO,KACb,wBAC2D,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,wBAAwB,CAsD1B;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,wBAAwB,CA0B1B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,wBAAwB,CAgN1B"}
|