forked from mosaicstack/stack
71 lines
2.7 KiB
TypeScript
71 lines
2.7 KiB
TypeScript
import { Global, Module } from '@nestjs/common';
|
|
import { AgentRuntimeProviderRegistry } from '@mosaicstack/agent';
|
|
import { AgentService } from './agent.service.js';
|
|
import { ProviderService } from './provider.service.js';
|
|
import { ProviderCredentialsService } from './provider-credentials.service.js';
|
|
import { RoutingService } from './routing.service.js';
|
|
import { RoutingEngineService } from './routing/routing-engine.service.js';
|
|
import { SkillLoaderService } from './skill-loader.service.js';
|
|
import { ProvidersController } from './providers.controller.js';
|
|
import { SessionsController } from './sessions.controller.js';
|
|
import { AgentConfigsController } from './agent-configs.controller.js';
|
|
import { RoutingController } from './routing/routing.controller.js';
|
|
import { TessDurableSessionRepository } from './tess-durable-session.repository.js';
|
|
import { TessDurableSessionService } from './tess-durable-session.service.js';
|
|
import { CoordModule } from '../coord/coord.module.js';
|
|
import { McpClientModule } from '../mcp-client/mcp-client.module.js';
|
|
import { SkillsModule } from '../skills/skills.module.js';
|
|
import { GCModule } from '../gc/gc.module.js';
|
|
import { LogModule } from '../log/log.module.js';
|
|
import { CommandsModule } from '../commands/commands.module.js';
|
|
import { CommandRuntimeApprovalVerifier } from '../commands/runtime-approval-verifier.js';
|
|
import {
|
|
AGENT_RUNTIME_PROVIDER_REGISTRY,
|
|
RUNTIME_APPROVAL_VERIFIER,
|
|
RUNTIME_PROVIDER_AUDIT_SINK,
|
|
RuntimeProviderAuditService,
|
|
RuntimeProviderService,
|
|
} from './runtime-provider-registry.service.js';
|
|
|
|
@Global()
|
|
@Module({
|
|
imports: [CoordModule, McpClientModule, SkillsModule, GCModule, LogModule, CommandsModule],
|
|
providers: [
|
|
ProviderService,
|
|
ProviderCredentialsService,
|
|
RoutingService,
|
|
RoutingEngineService,
|
|
SkillLoaderService,
|
|
TessDurableSessionRepository,
|
|
TessDurableSessionService,
|
|
{
|
|
provide: AGENT_RUNTIME_PROVIDER_REGISTRY,
|
|
useFactory: (): AgentRuntimeProviderRegistry => new AgentRuntimeProviderRegistry(),
|
|
},
|
|
RuntimeProviderAuditService,
|
|
{
|
|
provide: RUNTIME_PROVIDER_AUDIT_SINK,
|
|
useExisting: RuntimeProviderAuditService,
|
|
},
|
|
{
|
|
provide: RUNTIME_APPROVAL_VERIFIER,
|
|
useExisting: CommandRuntimeApprovalVerifier,
|
|
},
|
|
RuntimeProviderService,
|
|
AgentService,
|
|
],
|
|
controllers: [ProvidersController, SessionsController, AgentConfigsController, RoutingController],
|
|
exports: [
|
|
AgentService,
|
|
ProviderService,
|
|
ProviderCredentialsService,
|
|
RoutingService,
|
|
RoutingEngineService,
|
|
SkillLoaderService,
|
|
TessDurableSessionService,
|
|
RuntimeProviderService,
|
|
AGENT_RUNTIME_PROVIDER_REGISTRY,
|
|
],
|
|
})
|
|
export class AgentModule {}
|