Add attention inbox and AI usage observability
This commit is contained in:
1 parent
ca59ba0f1f
commit
83b5f1f5b6
30 files changed
+702
-28
No files matched your search
+7
-1
@@ -47,6 +47,7 @@ import type { Cookie } from 'playwright';
|
||||
import { ChatCache } from './services/chat/cache.js';
|
||||
import { RedditAccountRuntimeManager } from './services/reddit-account-runtime.js';
|
||||
import { createConcreteRedditAccountRuntimeFactory } from './services/reddit-account-runtime-builder.js';
|
||||
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';
|
||||
@@ -127,6 +128,7 @@ export async function bootstrap(
|
||||
const recipientDeduplicator = new RecipientDeduplicator(new RecipientHistoryRepository(db));
|
||||
const redditAccountsRepo = bootstrapAccountsRepo;
|
||||
const accountContentRepo = new AccountContentRepository(db);
|
||||
const aiUsageRepo = new AiUsageRepository(db);
|
||||
const legacyImport = importLegacyAccountContent(db);
|
||||
if (legacyImport.conversations > 0 || legacyImport.media > 0) {
|
||||
logger.info(`Imported legacy unassigned content into SQLite (${legacyImport.conversations} conversations, ${legacyImport.media} media items)`);
|
||||
@@ -168,7 +170,9 @@ export async function bootstrap(
|
||||
const chatPage = await browserClient.getContext()!.newPage();
|
||||
|
||||
// AI + services
|
||||
const aiClient = new OpenRouterClient(config, logger);
|
||||
const aiClient = new OpenRouterClient(config, logger, undefined, (usage) => {
|
||||
aiUsageRepo.record({ ...usage, accountId: accountAuth.getSnapshot().accountId });
|
||||
});
|
||||
const monitorService = new MonitorService(
|
||||
redditApi, postsRepo, recipientDeduplicator, config, logger, 1000,
|
||||
createConfigBackedSubredditPollingControl(config, new ConfigStore(db), logger),
|
||||
@@ -344,6 +348,8 @@ export async function bootstrap(
|
||||
activityLogRepo,
|
||||
logger,
|
||||
broadcaster,
|
||||
process.cwd(),
|
||||
aiUsageRepo,
|
||||
);
|
||||
|
||||
webServer.setChatService(chatService);
|
||||
|
||||
Reference in new issue
Block a user