29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
import { classifyHandle } from '@/features/prospect-classifier';
|
|
import { createModelBossClient } from '@/processors/pii-extractor/llm-tier';
|
|
import { openDb, openIcloudDb, getDb, getIcloudDb } from '@/shared/db';
|
|
|
|
const handle = process.argv[2] ?? '+16314172002';
|
|
const out = (s: string): void => void process.stdout.write(s + '\n');
|
|
|
|
async function main(): Promise<void> {
|
|
openDb(process.env['DATABASE_URL'] ?? process.env['QUINN_DB_URL'] ?? '');
|
|
const macsync = process.env['QUINN_MACSYNC_DB_URL'];
|
|
if (macsync) openIcloudDb(macsync);
|
|
|
|
const modelBoss = createModelBossClient({
|
|
MODEL_BOSS_URL: process.env['MODEL_BOSS_URL'] ?? 'http://localhost:8210',
|
|
MODEL_BOSS_API_KEY: process.env['MODEL_BOSS_API_KEY'] ?? null,
|
|
MODEL_BOSS_MODEL: process.env['MODEL_BOSS_MODEL'] ?? 'auto',
|
|
});
|
|
|
|
try {
|
|
const result = await classifyHandle(getDb(), getIcloudDb(), modelBoss, handle, 'imessage', 'on_demand', new Date());
|
|
out('RESULT: ' + JSON.stringify(result).slice(0, 1500));
|
|
} catch (err) {
|
|
out('THREW: ' + (err instanceof Error ? err.stack ?? err.message : String(err)));
|
|
if (err instanceof Error && err.cause) out('CAUSE: ' + String(err.cause));
|
|
}
|
|
process.exit(0);
|
|
}
|
|
|
|
void main();
|