From dd770cf1b9089ca08790806aea482bc9c1f135c0 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Tue, 8 Oct 2024 22:07:23 -0700 Subject: [PATCH] Start chat with public and protected agents when shared via link --- src/interface/web/app/agents/page.tsx | 4 +++- src/khoj/database/adapters/__init__.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/interface/web/app/agents/page.tsx b/src/interface/web/app/agents/page.tsx index 06639e21..30d360e3 100644 --- a/src/interface/web/app/agents/page.tsx +++ b/src/interface/web/app/agents/page.tsx @@ -137,7 +137,9 @@ async function openChat(slug: string, userData: UserProfile | null) { return; } - const response = await fetch(`/api/chat/sessions?agent_slug=${slug}`, { method: "POST" }); + const response = await fetch(`/api/chat/sessions?agent_slug=${encodeURIComponent(slug)}`, { + method: "POST", + }); const data = await response.json(); if (response.status == 200) { window.location.href = `/chat?conversationId=${data.conversation_id}`; diff --git a/src/khoj/database/adapters/__init__.py b/src/khoj/database/adapters/__init__.py index 67d2bee8..9687ec01 100644 --- a/src/khoj/database/adapters/__init__.py +++ b/src/khoj/database/adapters/__init__.py @@ -826,7 +826,7 @@ class ConversationAdapters: user: KhojUser, client_application: ClientApplication = None, agent_slug: str = None, title: str = None ): if agent_slug: - agent = await AgentAdapters.aget_agent_by_slug(agent_slug, user) + agent = await AgentAdapters.aget_readonly_agent_by_slug(agent_slug, user) if agent is None: raise HTTPException(status_code=400, detail="No such agent currently exists.") return await Conversation.objects.acreate(user=user, client=client_application, agent=agent, title=title) @@ -838,7 +838,7 @@ class ConversationAdapters: user: KhojUser, client_application: ClientApplication = None, agent_slug: str = None, title: str = None ): if agent_slug: - agent = AgentAdapters.get_agent_by_slug(agent_slug, user) + agent = AgentAdapters.aget_readonly_agent_by_slug(agent_slug, user) if agent is None: raise HTTPException(status_code=400, detail="No such agent currently exists.") return Conversation.objects.create(user=user, client=client_application, agent=agent, title=title)