feat: remove OpenCode assistant mode
This commit is contained in:
@@ -17,6 +17,7 @@ from fastapi import APIRouter, Depends, HTTPException
|
||||
from schemas import (
|
||||
AssistantOut,
|
||||
AssistantUpsert,
|
||||
SUPPORTED_ASSISTANT_TYPES,
|
||||
)
|
||||
from services.auth import require_admin
|
||||
from services.masking import mask, resolve_incoming_key
|
||||
@@ -607,6 +608,8 @@ async def _tool_bindings(session: AsyncSession, assistant_id: str) -> list[dict]
|
||||
|
||||
|
||||
async def _to_out(session: AsyncSession, assistant: Assistant) -> AssistantOut:
|
||||
if assistant.type not in SUPPORTED_ASSISTANT_TYPES:
|
||||
raise HTTPException(410, "该助手类型已下线")
|
||||
return AssistantOut(
|
||||
id=assistant.id,
|
||||
name=assistant.name,
|
||||
@@ -647,7 +650,11 @@ async def _to_out(session: AsyncSession, assistant: Assistant) -> AssistantOut:
|
||||
@router.get("", response_model=list[AssistantOut])
|
||||
async def list_assistants(session: AsyncSession = Depends(get_session)):
|
||||
rows = (
|
||||
await session.execute(select(Assistant).order_by(Assistant.updated_at.desc()))
|
||||
await session.execute(
|
||||
select(Assistant)
|
||||
.where(Assistant.type.in_(SUPPORTED_ASSISTANT_TYPES))
|
||||
.order_by(Assistant.updated_at.desc())
|
||||
)
|
||||
).scalars().all()
|
||||
return [await _to_out(session, assistant) for assistant in rows]
|
||||
|
||||
@@ -703,6 +710,8 @@ async def duplicate_assistant(
|
||||
source = await session.get(Assistant, assistant_id)
|
||||
if not source:
|
||||
raise HTTPException(404, "助手不存在")
|
||||
if source.type not in SUPPORTED_ASSISTANT_TYPES:
|
||||
raise HTTPException(410, "该助手类型已下线")
|
||||
assistant = Assistant(
|
||||
id=f"asst_{uuid.uuid4().hex[:12]}",
|
||||
name=f"{source.name} 副本",
|
||||
|
||||
Reference in New Issue
Block a user