feat: workflows & plugins (#26727)

feat: plugins

chore: better types

feat: plugins
This commit is contained in:
Jason Rasmussen 2026-05-18 11:09:33 -04:00 committed by GitHub
parent 7384799f19
commit 3d075f2bf8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
144 changed files with 6099 additions and 7419 deletions

View file

@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-unsafe-function-type */
import { Insertable, Kysely } from 'kysely';
import { DateTime } from 'luxon';
import { createHash, randomBytes } from 'node:crypto';
@ -75,7 +74,7 @@ import { UserTable } from 'src/schema/tables/user.table';
import { BASE_SERVICE_DEPENDENCIES, BaseService } from 'src/services/base.service';
import { MetadataService } from 'src/services/metadata.service';
import { SyncService } from 'src/services/sync.service';
import { UploadFile } from 'src/types';
import { ClassConstructor, UploadFile } from 'src/types';
import { mockEnvData } from 'test/repositories/config.repository.mock';
import { newTelemetryRepositoryMock } from 'test/repositories/telemetry.repository.mock';
import { factory, newDate, newEmbedding, newUuid } from 'test/small.factory';
@ -85,10 +84,6 @@ import { Mocked } from 'vitest';
// eslint-disable-next-line unicorn/prefer-module
export const testAssetsDir = resolve(__dirname, '../../e2e/test-assets');
interface ClassConstructor<T = any> extends Function {
new (...args: any[]): T;
}
type MediumTestOptions = {
mock: ClassConstructor<any>[];
real: ClassConstructor<any>[];
@ -425,7 +420,6 @@ const newRealRepository = <T>(key: ClassConstructor<T>, db: Kysely<DB>): T => {
case OcrRepository:
case PartnerRepository:
case PersonRepository:
case PluginRepository:
case SearchRepository:
case SessionRepository:
case SharedLinkRepository:
@ -458,6 +452,10 @@ const newRealRepository = <T>(key: ClassConstructor<T>, db: Kysely<DB>): T => {
return new key(LoggingRepository.create());
}
case PluginRepository: {
return new key(db, LoggingRepository.create());
}
case StorageRepository: {
return new key(LoggingRepository.create());
}
@ -489,7 +487,6 @@ const newMockRepository = <T>(key: ClassConstructor<T>) => {
case OcrRepository:
case PartnerRepository:
case PersonRepository:
case PluginRepository:
case SessionRepository:
case SyncRepository:
case SyncCheckpointRepository: