[31388f42] Implement Expert Response Generator with Gemini & CE integration

This commit is contained in:
2026-03-02 08:46:22 +00:00
parent adce4773da
commit 7b979652f4
5 changed files with 293 additions and 14 deletions

View File

@@ -27,12 +27,21 @@ def init_db():
email TEXT,
phone TEXT,
raw_body TEXT,
lead_metadata TEXT,
enrichment_data TEXT,
status TEXT DEFAULT 'new',
response_draft TEXT,
sent_at TIMESTAMP
)
''')
# Simple migration check: check if lead_metadata column exists
try:
c.execute('SELECT lead_metadata FROM leads LIMIT 1')
except sqlite3.OperationalError:
print("Migrating DB: Adding lead_metadata column...")
c.execute('ALTER TABLE leads ADD COLUMN lead_metadata TEXT')
conn.commit()
conn.close()
@@ -41,12 +50,20 @@ def insert_lead(lead_data):
if not os.path.exists(DB_PATH):
init_db()
# Extract metadata fields
meta = {
'area': lead_data.get('area'),
'purpose': lead_data.get('purpose'),
'zip': lead_data.get('zip'),
'city': lead_data.get('city')
}
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
try:
c.execute('''
INSERT INTO leads (source_id, received_at, company_name, contact_name, email, phone, raw_body, status)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
INSERT INTO leads (source_id, received_at, company_name, contact_name, email, phone, raw_body, lead_metadata, status)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
''', (
lead_data.get('id'),
datetime.now(),
@@ -55,6 +72,7 @@ def insert_lead(lead_data):
lead_data.get('email'),
lead_data.get('phone'),
lead_data.get('raw_body'),
json.dumps(meta),
'new'
))
conn.commit()
@@ -64,6 +82,14 @@ def insert_lead(lead_data):
finally:
conn.close()
def update_lead_metadata(lead_id, meta_data):
"""Helper to update metadata for existing leads (repair)"""
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('UPDATE leads SET lead_metadata = ? WHERE id = ?', (json.dumps(meta_data), lead_id))
conn.commit()
conn.close()
def get_leads():
if not os.path.exists(DB_PATH):
init_db()