Add durable candidate funnel
This commit is contained in:
1 parent
5abac31c28
commit
df35648920
20 files changed
+1128
-142
No files matched your search
@@ -51,6 +51,7 @@ import { AiUsageRepository } from './database/ai-usage-repository.js';
|
||||
import { importLegacyAccountContent } from './database/legacy-content-import.js';
|
||||
import { RecipientDeduplicator } from './services/recipient-deduplicator.js';
|
||||
import { createConfigBackedSubredditPollingControl } from './services/subreddit-polling-control.js';
|
||||
import { CandidateQueueRepository, RuntimeStateRepository } from './database/candidate-queue-repository.js';
|
||||
|
||||
export interface AppContainer {
|
||||
config: Config;
|
||||
@@ -69,6 +70,8 @@ export interface AppContainer {
|
||||
conversationStateRepo: ConversationStateRepository;
|
||||
conversationOutcomesRepo: ConversationOutcomesRepository;
|
||||
recipientDeduplicator: RecipientDeduplicator;
|
||||
candidateQueueRepo: CandidateQueueRepository;
|
||||
runtimeStateRepo: RuntimeStateRepository;
|
||||
|
||||
redditApi: RedditApiClient;
|
||||
aiClient: OpenRouterClient;
|
||||
@@ -126,6 +129,8 @@ export async function bootstrap(
|
||||
const conversationStateRepo = new ConversationStateRepository(db, bootstrapAccountId);
|
||||
const conversationOutcomesRepo = new ConversationOutcomesRepository(db, bootstrapAccountId);
|
||||
const recipientDeduplicator = new RecipientDeduplicator(new RecipientHistoryRepository(db));
|
||||
const candidateQueueRepo = new CandidateQueueRepository(db);
|
||||
const runtimeStateRepo = new RuntimeStateRepository(db);
|
||||
const redditAccountsRepo = bootstrapAccountsRepo;
|
||||
const accountContentRepo = new AccountContentRepository(db);
|
||||
const aiUsageRepo = new AiUsageRepository(db);
|
||||
@@ -360,6 +365,8 @@ export async function bootstrap(
|
||||
broadcaster,
|
||||
process.cwd(),
|
||||
aiUsageRepo,
|
||||
runtimeStateRepo.isBotRunning(),
|
||||
(running) => runtimeStateRepo.setBotRunning(running),
|
||||
);
|
||||
|
||||
webServer.setChatService(chatService);
|
||||
@@ -429,6 +436,7 @@ export async function bootstrap(
|
||||
webServer.setRedditAccountsService(redditAccounts);
|
||||
webServer.setAccountRuntimeManager(accountRuntimeManager);
|
||||
webServer.setConversationStateRepository(conversationStateRepo);
|
||||
webServer.setCandidateQueueRepository(candidateQueueRepo);
|
||||
webServer.setConfigStore(new ConfigStore(db));
|
||||
webServer.setOnConfigChange(() => logger.info('Runtime config updated via dashboard'));
|
||||
}
|
||||
@@ -463,6 +471,8 @@ export async function bootstrap(
|
||||
conversationStateRepo,
|
||||
conversationOutcomesRepo,
|
||||
recipientDeduplicator,
|
||||
candidateQueueRepo,
|
||||
runtimeStateRepo,
|
||||
redditApi,
|
||||
aiClient,
|
||||
monitorService,
|
||||
|
||||
Reference in new issue
Block a user