82 lines
3.6 KiB
TypeScript
82 lines
3.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { HttpAdapterHost } from '@nestjs/core';
|
|
import { EventEmitterModule } from '@nestjs/event-emitter';
|
|
|
|
import { CacheStorageModule } from 'src/engine/integrations/cache-storage/cache-storage.module';
|
|
import { CaptchaModule } from 'src/engine/integrations/captcha/captcha.module';
|
|
import { captchaModuleFactory } from 'src/engine/integrations/captcha/captcha.module-factory';
|
|
import { EmailModule } from 'src/engine/integrations/email/email.module';
|
|
import { emailModuleFactory } from 'src/engine/integrations/email/email.module-factory';
|
|
import { ExceptionHandlerModule } from 'src/engine/integrations/exception-handler/exception-handler.module';
|
|
import { exceptionHandlerModuleFactory } from 'src/engine/integrations/exception-handler/exception-handler.module-factory';
|
|
import { fileStorageModuleFactory } from 'src/engine/integrations/file-storage/file-storage.module-factory';
|
|
import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service';
|
|
import { LLMChatModelModule } from 'src/engine/integrations/llm-chat-model/llm-chat-model.module';
|
|
import { llmChatModelModuleFactory } from 'src/engine/integrations/llm-chat-model/llm-chat-model.module-factory';
|
|
import { LLMTracingModule } from 'src/engine/integrations/llm-tracing/llm-tracing.module';
|
|
import { llmTracingModuleFactory } from 'src/engine/integrations/llm-tracing/llm-tracing.module-factory';
|
|
import { loggerModuleFactory } from 'src/engine/integrations/logger/logger.module-factory';
|
|
import { messageQueueModuleFactory } from 'src/engine/integrations/message-queue/message-queue.module-factory';
|
|
import { BuildDirectoryManagerService } from 'src/engine/integrations/serverless/drivers/services/build-directory-manager.service';
|
|
import { serverlessModuleFactory } from 'src/engine/integrations/serverless/serverless-module.factory';
|
|
import { ServerlessModule } from 'src/engine/integrations/serverless/serverless.module';
|
|
|
|
import { EnvironmentModule } from './environment/environment.module';
|
|
import { EnvironmentService } from './environment/environment.service';
|
|
import { FileStorageModule } from './file-storage/file-storage.module';
|
|
import { LoggerModule } from './logger/logger.module';
|
|
import { MessageQueueModule } from './message-queue/message-queue.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
EnvironmentModule.forRoot({}),
|
|
FileStorageModule.forRootAsync({
|
|
useFactory: fileStorageModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
LoggerModule.forRootAsync({
|
|
useFactory: loggerModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
MessageQueueModule.registerAsync({
|
|
useFactory: messageQueueModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
ExceptionHandlerModule.forRootAsync({
|
|
useFactory: exceptionHandlerModuleFactory,
|
|
inject: [EnvironmentService, HttpAdapterHost],
|
|
}),
|
|
EmailModule.forRoot({
|
|
useFactory: emailModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
CaptchaModule.forRoot({
|
|
useFactory: captchaModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
EventEmitterModule.forRoot({
|
|
wildcard: true,
|
|
}),
|
|
CacheStorageModule,
|
|
LLMChatModelModule.forRoot({
|
|
useFactory: llmChatModelModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
LLMTracingModule.forRoot({
|
|
useFactory: llmTracingModuleFactory,
|
|
inject: [EnvironmentService],
|
|
}),
|
|
ServerlessModule.forRootAsync({
|
|
useFactory: serverlessModuleFactory,
|
|
inject: [
|
|
EnvironmentService,
|
|
FileStorageService,
|
|
BuildDirectoryManagerService,
|
|
],
|
|
}),
|
|
],
|
|
exports: [],
|
|
providers: [],
|
|
})
|
|
export class IntegrationsModule {}
|