Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x | import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import {
Project,
Session,
ContextTemplate,
SessionInput,
AIAction,
ExecutionLog,
SystemPrompt,
CustomSnippet,
ApplicationState,
ContextSnippet,
McpConfig,
McpTool,
CustomVariable,
ToolHook,
LlmCallLog,
} from './core-entities';
import { SubAgent } from './sub-agents/sub-agent.entity';
import { SubAgentRun } from './sub-agents/sub-agent-run.entity';
import { ProjectsModule } from './projects/projects.module';
import { SessionsModule } from './sessions/sessions.module';
import { SessionInputsModule } from './session-inputs/session-inputs.module';
import { AIActionsModule } from './ai-actions/ai-actions.module';
import { ExecutionLogsModule } from './execution-logs/execution-logs.module';
import { ContextTemplatesModule } from './context-templates/context-templates.module';
import { ContextGenerationModule } from './context-generation/context-generation.module';
import { SystemPromptsModule } from './system-prompts/system-prompts.module';
import { SeedingModule } from './seeding/seeding.module';
import { WorkspaceModule } from './workspace/workspace.module';
import { CustomSnippetsModule } from './custom-snippets/custom-snippets.module';
import * as path from 'path';
import * as fs from 'fs';
import { SessionTransferModule } from './session-transfer/session-transfer.module';
import { SessionFollowupModule } from './session-followup/session-followup.module';
import { ApplicationStateModule } from './application-state/application-state.module';
import { LlmResponsesModule } from './llm-responses/llm-responses.module';
import { EventsModule } from './events/events.module';
import { ContextSnippetsModule } from './context-snippets/context-snippets.module';
import { InteractiveChatModule } from './interactive-chat/chat.module';
import { McpModule } from './mcp/mcp.module';
import { VisualEditorModule } from './visual-editor/visual-editor.module';
import { CustomVariablesModule } from './custom-variables/custom-variables.module';
import { ToolHooksModule } from './tool-hooks/tool-hooks.module';
import { MessageBusModule } from './message-bus/message-bus.module';
import { SessionInputSubscriber } from './session-inputs/session-input.subscriber';
import { LlmCallLogsModule } from './llm-call-logs/llm-call-logs.module';
import { GlobalConfigModule } from './global-config/global-config.module';
let dbPath = ':memory:';
Iif (process.env.NODE_ENV === 'production') {
const projectPath = process.env.REPOBURG_PROJECT_PATH || process.cwd();
const dbDir = path.join(projectPath, '.repoburg');
Iif (!fs.existsSync(dbDir)) {
fs.mkdirSync(dbDir, { recursive: true });
}
dbPath = path.join(dbDir, 'data.sqlite');
console.log(`Using production database at: ${dbPath}`);
}
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'sqlite',
database: dbPath,
entities: [
Project,
Session,
ContextTemplate,
SessionInput,
AIAction,
ExecutionLog,
SystemPrompt,
CustomSnippet,
ApplicationState,
ContextSnippet,
McpConfig,
McpTool,
CustomVariable,
ToolHook,
LlmCallLog,
SubAgent,
SubAgentRun,
],
subscribers: [SessionInputSubscriber],
synchronize: true, // Auto-create database schema (dev only)
autoLoadEntities: true, // Automatically load entities defined via forFeature()
}),
ProjectsModule,
SessionsModule,
SessionInputsModule,
AIActionsModule,
ExecutionLogsModule,
ContextTemplatesModule,
ContextGenerationModule,
SystemPromptsModule,
SeedingModule,
WorkspaceModule,
CustomSnippetsModule,
SessionTransferModule,
SessionFollowupModule,
GlobalConfigModule,
ApplicationStateModule,
LlmResponsesModule,
EventsModule,
ContextSnippetsModule,
InteractiveChatModule,
McpModule,
VisualEditorModule,
CustomVariablesModule,
ToolHooksModule,
MessageBusModule,
LlmCallLogsModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
|