forked from retoor/devplacepy
feat: add multi-channel Devii sessions with docs search mode and channel-aware conversation persistence
This commit is contained in:
@@ -29,6 +29,7 @@ router = APIRouter()
|
||||
|
||||
GUEST_COOKIE = DEVII_GUEST_COOKIE
|
||||
GUEST_COOKIE_MAX_AGE = 31536000
|
||||
CHANNELS = frozenset({"main", "docs"})
|
||||
|
||||
|
||||
def _service():
|
||||
@@ -208,6 +209,9 @@ async def devii_ws(websocket: WebSocket):
|
||||
if not service_manager.owns_lock():
|
||||
await websocket.close(code=4013)
|
||||
return
|
||||
channel = websocket.query_params.get("channel", "main")
|
||||
if channel not in CHANNELS:
|
||||
channel = "main"
|
||||
owner_kind, owner_id, username, api_key, owner_is_admin = _resolve_ws_owner(
|
||||
websocket
|
||||
)
|
||||
@@ -225,6 +229,7 @@ async def devii_ws(websocket: WebSocket):
|
||||
api_key,
|
||||
svc.instance_base_url(),
|
||||
is_admin=owner_is_admin,
|
||||
channel=channel,
|
||||
)
|
||||
session.attach(websocket)
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user