v0.22.1: dockerize defaults, harden error handling, fix test discovery
- config.py: defaults to localhost/localhost, AMQP to rabbitmq, secret path to /run/secrets, RAG_MAX_VECTORS from env - rag.py: EMBED_URL default to localhost - app.py: syslog handler wrapped in try/except - routers/completions.py: db.close() in try/finally - db.py: PRAGMA journal_mode = WAL - amqp.py: subscription append before try for reconnect safety - tests/conftest.py: add project root to sys.path for test discovery
This commit is contained in:
+21
-19
@@ -120,26 +120,28 @@ async def chat_completions(request: Request):
|
||||
|
||||
# --- Persist conversation ---
|
||||
db = get_db()
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
conv_id = str(uuid.uuid4())
|
||||
title = f"[IDE] {user_message[:72]}{'...' if len(user_message) > 72 else ''}"
|
||||
db.execute(
|
||||
"INSERT INTO conversations (id, title, model, created_at, updated_at) VALUES (?, ?, ?, ?, ?)",
|
||||
(conv_id, encrypt_text(title), model, now, now),
|
||||
)
|
||||
for msg in messages:
|
||||
role = msg.get("role")
|
||||
content = msg.get("content", "")
|
||||
if role in ("user", "assistant"):
|
||||
db.execute(
|
||||
"INSERT INTO messages (conversation_id, role, content, created_at, perplexity) VALUES (?, ?, ?, ?, ?)",
|
||||
(conv_id, role, encrypt_text(content), now, None),
|
||||
)
|
||||
db.commit()
|
||||
try:
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
conv_id = str(uuid.uuid4())
|
||||
title = f"[IDE] {user_message[:72]}{'...' if len(user_message) > 72 else ''}"
|
||||
db.execute(
|
||||
"INSERT INTO conversations (id, title, model, created_at, updated_at) VALUES (?, ?, ?, ?, ?)",
|
||||
(conv_id, encrypt_text(title), model, now, now),
|
||||
)
|
||||
for msg in messages:
|
||||
role = msg.get("role")
|
||||
content = msg.get("content", "")
|
||||
if role in ("user", "assistant"):
|
||||
db.execute(
|
||||
"INSERT INTO messages (conversation_id, role, content, created_at, perplexity) VALUES (?, ?, ?, ?, ?)",
|
||||
(conv_id, role, encrypt_text(content), now, None),
|
||||
)
|
||||
db.commit()
|
||||
|
||||
# --- Build system prompt through full jC pipeline ---
|
||||
system_prompt = await build_system_prompt(db, "", user_message)
|
||||
db.close()
|
||||
# --- Build system prompt through full jC pipeline ---
|
||||
system_prompt = await build_system_prompt(db, "", user_message)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
# Assemble messages for upstream: inject jC system prompt, preserve history
|
||||
upstream_messages = []
|
||||
|
||||
Reference in New Issue
Block a user