feat: 重构MCP功能和AI服务提供者架构
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
"""职业相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
@@ -63,8 +63,7 @@ class CareerResponse(BaseModel):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class CareerListResponse(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""章节相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
@@ -58,8 +58,7 @@ class ChapterResponse(BaseModel):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class ChapterListResponse(BaseModel):
|
||||
@@ -142,8 +141,7 @@ class ExpansionPlanUpdate(BaseModel):
|
||||
estimated_words: Optional[int] = Field(None, description="预估字数", ge=500, le=10000)
|
||||
scenes: Optional[List[SceneData]] = Field(None, description="场景列表")
|
||||
|
||||
class Config:
|
||||
json_schema_extra = {
|
||||
model_config = ConfigDict(json_schema_extra={
|
||||
"example": {
|
||||
"key_events": ["主角遇到挑战", "关键决策时刻"],
|
||||
"character_focus": ["张三", "李四"],
|
||||
@@ -159,7 +157,7 @@ class ExpansionPlanUpdate(BaseModel):
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
class ExpansionPlanResponse(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""角色相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
@@ -98,8 +98,7 @@ class CharacterResponse(CharacterBase):
|
||||
main_career_stage: Optional[int] = Field(None, description="主职业阶段")
|
||||
sub_careers: Optional[List[Dict[str, Any]]] = Field(None, description="副职业列表")
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class CharacterGenerateRequest(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""MCP插件Pydantic模式"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, Dict, Any, List
|
||||
from datetime import datetime
|
||||
|
||||
@@ -82,8 +82,7 @@ class MCPPluginResponse(BaseModel):
|
||||
# 时间戳
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class MCPToolCall(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""大纲相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
@@ -103,8 +103,7 @@ class OutlineResponse(BaseModel):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OutlineGenerateRequest(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""项目相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, Literal
|
||||
from datetime import datetime
|
||||
|
||||
@@ -59,8 +59,7 @@ class ProjectResponse(ProjectBase):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class ProjectListResponse(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""关系管理相关的Pydantic模型"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional, List
|
||||
from datetime import datetime
|
||||
|
||||
@@ -17,8 +17,7 @@ class RelationshipTypeResponse(BaseModel):
|
||||
description: Optional[str] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
# ============ 角色关系相关 ============
|
||||
@@ -62,8 +61,7 @@ class CharacterRelationshipResponse(CharacterRelationshipBase):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class RelationshipGraphNode(BaseModel):
|
||||
@@ -127,8 +125,7 @@ class OrganizationResponse(OrganizationBase):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OrganizationDetailResponse(BaseModel):
|
||||
@@ -185,8 +182,7 @@ class OrganizationMemberResponse(OrganizationMemberBase):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OrganizationMemberDetailResponse(BaseModel):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""写作风格 Schema"""
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
|
||||
@@ -48,8 +48,7 @@ class WritingStyleResponse(BaseModel):
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class WritingStyleListResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user