Spaces:
Build error
Build error
File size: 1,177 Bytes
1645ff3 | 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 | import sqlite3 from 'sqlite3';
import { open, Database } from 'sqlite';
let db: Database | null = null;
export async function getDbConnection() {
if (!db) {
db = await open({
filename: './data/factory.db',
driver: sqlite3.Database
});
await initDb();
}
return db;
}
async function initDb() {
if (!db) return;
// جدول المشاريع والأسلحة
await db.exec(`
CREATE TABLE IF NOT EXISTS projects (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
type TEXT,
current_code TEXT,
last_score INTEGER,
status TEXT DEFAULT 'dev'
);
`);
// جدول المراجع (Knowledge Base)
await db.exec(`
CREATE TABLE IF NOT EXISTS malware_refs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
family_name TEXT,
technique TEXT,
detection_rules TEXT
);
`);
// سجل الحلقة (Feedback Loop)
await db.exec(`
CREATE TABLE IF NOT EXISTS loop_logs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
project_id INTEGER,
iteration INTEGER,
criticism TEXT,
score INTEGER,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);
`);
}
|