|
|
@@ -749,7 +749,10 @@ async def get_agent_knowledge(
|
|
|
kb_ids = json.loads(agent.get("kb_ids") or "[]")
|
|
|
kbs = []
|
|
|
for kb_id in kb_ids:
|
|
|
- kb = db.fetchone("SELECT * FROM knowledge_bases WHERE id = ?", (kb_id,))
|
|
|
+ kb = db.fetchone(
|
|
|
+ "SELECT id, name, root_dir, description FROM knowledge_bases WHERE id = ?",
|
|
|
+ (kb_id,)
|
|
|
+ )
|
|
|
if kb:
|
|
|
kbs.append(dict(kb))
|
|
|
return {
|
|
|
@@ -773,10 +776,9 @@ async def update_agent_knowledge(
|
|
|
(agent_id, tenant.tenant_id)
|
|
|
):
|
|
|
api_error(404, "AGENT_NOT_FOUND", f"Agent {agent_id} not found")
|
|
|
- # Validate that all kb_ids exist (for this tenant)
|
|
|
+ # Validate that all kb_ids exist (KB is a shared resource; no tenant restriction)
|
|
|
for kb_id in req.kb_ids:
|
|
|
- if not db.fetchone("SELECT id FROM knowledge_bases WHERE id = ? AND tenant_id = ?",
|
|
|
- (kb_id, tenant.tenant_id)):
|
|
|
+ if not db.fetchone("SELECT id FROM knowledge_bases WHERE id = ?", (kb_id,)):
|
|
|
api_error(404, "KB_NOT_FOUND", f"Knowledge base {kb_id} not found")
|
|
|
db.execute(
|
|
|
"UPDATE agents SET kb_ids = ?, kb_search_mode = ?, updated_at = ? WHERE id = ?",
|