refactor: 重构 Agent 模块为 AgentScope,删除旧版 CrewAI/LiteLLM 实现

This commit is contained in:
qzl
2026-03-11 20:51:56 +08:00
parent 177ed616bf
commit 145e3dc615
149 changed files with 5120 additions and 11356 deletions
+52 -2
View File
@@ -1,9 +1,9 @@
from __future__ import annotations
import json
from datetime import datetime
from enum import Enum
from typing import Literal
from typing import ClassVar
from typing import Literal, ClassVar, Union
from uuid import UUID
from pydantic import BaseModel, ConfigDict, EmailStr, Field
@@ -76,6 +76,7 @@ class ScheduleItemResponse(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(from_attributes=True)
id: UUID
owner_id: UUID
title: str
description: str | None = None
start_at: datetime
@@ -86,6 +87,8 @@ class ScheduleItemResponse(BaseModel):
source_type: ScheduleItemSourceType
created_at: datetime
updated_at: datetime
permission: int = 1
is_owner: bool = False
class ScheduleItemListItem(BaseModel):
@@ -131,3 +134,50 @@ class ScheduleItemShareRequest(BaseModel):
class ScheduleItemShareResponse(BaseModel):
message: str
class CalendarInviteContent(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(extra="forbid")
type: Literal["invite"]
permission: int = Field(..., description="权限: 1=view, 4=edit, 8=invite")
action: Literal["pending"] = "pending"
class CalendarUpdateContent(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(extra="forbid")
type: Literal["update"]
title: str = Field(..., description="事件标题")
action: Literal["updated"] = "updated"
class CalendarDeleteContent(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(extra="forbid")
type: Literal["delete"]
title: str = Field(..., description="事件标题")
action: Literal["deleted"] = "deleted"
CalendarContent = Union[
CalendarInviteContent, CalendarUpdateContent, CalendarDeleteContent
]
def parse_calendar_content(content: str | None) -> CalendarContent | None:
if not content:
return None
try:
data = json.loads(content)
content_type = data.get("type")
if content_type == "invite":
return CalendarInviteContent(**data)
elif content_type == "update":
return CalendarUpdateContent(**data)
elif content_type == "delete":
return CalendarDeleteContent(**data)
else:
raise ValueError(f"Unknown calendar content type: {content_type}")
except Exception:
return None