This commit is contained in:
2026-04-21 18:27:46 +08:00
parent 04bff9617d
commit 4372ab5be1
358 changed files with 30788 additions and 14737 deletions

View File

@@ -8,6 +8,13 @@ import { createLogger } from './logging.js';
import { AuthAuditLogRepository } from './repositories/authAuditLogRepository.js';
import { AuthIdentityRepository } from './repositories/authIdentityRepository.js';
import { AuthRiskBlockRepository } from './repositories/authRiskBlockRepository.js';
import { RpgAgentSessionRepository } from './repositories/RpgAgentSessionRepository.js';
import { RpgWorldProfileRepository } from './repositories/RpgWorldProfileRepository.js';
import { RpgSaveArchiveRepository } from './repositories/rpg-entry/RpgSaveArchiveRepository.js';
import { RpgWorldLibraryRepository } from './repositories/rpg-entry/RpgWorldLibraryRepository.js';
import { RpgBrowseHistoryRepository } from './repositories/rpg-profile/RpgBrowseHistoryRepository.js';
import { RpgProfileDashboardRepository } from './repositories/rpg-profile/RpgProfileDashboardRepository.js';
import { RpgRuntimeSnapshotRepository } from './repositories/rpg-runtime/RpgRuntimeSnapshotRepository.js';
import { RuntimeRepository } from './repositories/runtimeRepository.js';
import { SmsAuthEventRepository } from './repositories/smsAuthEventRepository.js';
import { UserRepository } from './repositories/userRepository.js';
@@ -17,6 +24,7 @@ import { CustomWorldAgentAutoAssetService } from './services/customWorldAgentAut
import { CustomWorldAgentOrchestrator } from './services/customWorldAgentOrchestrator.js';
import { CustomWorldAgentSessionStore } from './services/customWorldAgentSessionStore.js';
import { UpstreamLlmClient } from './services/llmClient.js';
import { RpgWorldWorkSummaryService } from './services/RpgWorldWorkSummaryService.js';
import { createSmsVerificationService } from './services/smsVerificationService.js';
import { createWechatAuthService } from './services/wechatAuthService.js';
import { WechatAuthStateStore } from './services/wechatAuthStateStore.js';
@@ -79,10 +87,32 @@ function describeDatabase(databaseUrl: string) {
export async function createAppContext(config: AppConfig = loadConfig()) {
const logger = createLogger(config);
const db = await createDatabase(config);
const rpgAgentSessionRepository = new RpgAgentSessionRepository(db);
const rpgWorldProfileRepository = new RpgWorldProfileRepository(db);
const runtimeRepository = new RuntimeRepository(db);
const customWorldAgentSessions = new CustomWorldAgentSessionStore(
const rpgProfileDashboardRepository = new RpgProfileDashboardRepository(
runtimeRepository,
);
const rpgBrowseHistoryRepository = new RpgBrowseHistoryRepository(
runtimeRepository,
);
const rpgSaveArchiveRepository = new RpgSaveArchiveRepository(
runtimeRepository,
);
const rpgWorldLibraryRepository = new RpgWorldLibraryRepository(
runtimeRepository,
);
const rpgRuntimeSnapshotRepository = new RpgRuntimeSnapshotRepository(
runtimeRepository,
);
const userRepository = new UserRepository(db);
const customWorldAgentSessions = new CustomWorldAgentSessionStore(
rpgAgentSessionRepository,
);
const rpgWorldWorkSummaryService = new RpgWorldWorkSummaryService(
rpgWorldProfileRepository,
customWorldAgentSessions,
);
const autoAssetService = new CustomWorldAgentAutoAssetService(
config,
config.dashScope.apiKey.trim()
@@ -104,12 +134,19 @@ export async function createAppContext(config: AppConfig = loadConfig()) {
config,
logger,
db,
userRepository: new UserRepository(db),
userRepository,
authIdentityRepository: new AuthIdentityRepository(db),
authAuditLogRepository: new AuthAuditLogRepository(db),
authRiskBlockRepository: new AuthRiskBlockRepository(db),
smsAuthEventRepository: new SmsAuthEventRepository(db),
userSessionRepository: new UserSessionRepository(db),
rpgAgentSessionRepository,
rpgWorldProfileRepository,
rpgProfileDashboardRepository,
rpgBrowseHistoryRepository,
rpgSaveArchiveRepository,
rpgWorldLibraryRepository,
rpgRuntimeSnapshotRepository,
runtimeRepository,
llmClient: new UpstreamLlmClient(config, logger),
customWorldAgentSessions,
@@ -120,8 +157,11 @@ export async function createAppContext(config: AppConfig = loadConfig()) {
: null,
{
autoAssetService,
rpgWorldProfileRepository,
userRepository,
},
),
rpgWorldWorkSummaryService,
smsVerificationService: createSmsVerificationService(config, logger),
wechatAuthService: createWechatAuthService(config, logger),
wechatAuthStates: new WechatAuthStateStore(),