feat: DeepSeek Web Adapter - Array platform integration with browser control panel
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
"""SDK 数据模型 - 与服务端响应对应的 Pydantic 模型"""
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class Worker(BaseModel):
|
||||
"""Worker 模型"""
|
||||
id: str
|
||||
name: str
|
||||
type: str
|
||||
description: str | None = None
|
||||
capabilities: dict | None = None
|
||||
status: str
|
||||
created_at: datetime
|
||||
last_seen_at: datetime | None = None
|
||||
organization: str | None = None
|
||||
location: str | None = None
|
||||
timezone: str | None = None
|
||||
avatar_url: str | None = None
|
||||
tags: list | None = None
|
||||
max_concurrent_tasks: int | None = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class TaskParticipant(BaseModel):
|
||||
"""任务参与者模型"""
|
||||
id: str
|
||||
task_id: str
|
||||
worker_id: str
|
||||
is_creator: bool
|
||||
joined_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class Task(BaseModel):
|
||||
"""任务模型"""
|
||||
id: str
|
||||
title: str
|
||||
description: str | None = None
|
||||
status: str
|
||||
priority: str
|
||||
creator_id: str
|
||||
parent_id: str | None = None
|
||||
tags: list[str] | None = None
|
||||
deadline: datetime | None = None
|
||||
result: str | None = None
|
||||
metadata: dict | None = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
last_message_at: datetime | None = None
|
||||
participants: list[TaskParticipant] | None = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class Message(BaseModel):
|
||||
"""消息模型"""
|
||||
id: str
|
||||
task_id: str
|
||||
sender_id: str
|
||||
content: str
|
||||
type: str
|
||||
reply_to_id: str | None = None
|
||||
created_at: datetime
|
||||
mention_type: str = "none"
|
||||
mention_ids: list[str] | None = None
|
||||
scope: str = "chat"
|
||||
private_to_id: str | None = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class Notification(BaseModel):
|
||||
"""通知模型"""
|
||||
id: str
|
||||
worker_id: str
|
||||
event_type: str
|
||||
payload: dict | None = None
|
||||
is_read: bool
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class Event(BaseModel):
|
||||
"""WebSocket 推送的实时事件"""
|
||||
event_type: str
|
||||
payload: dict
|
||||
timestamp: str
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class Organization(BaseModel):
|
||||
"""组织模型"""
|
||||
id: str
|
||||
name: str
|
||||
description: str | None
|
||||
created_by: str
|
||||
created_at: datetime
|
||||
member_count: int = 0
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OrgMember(BaseModel):
|
||||
"""组织成员模型"""
|
||||
worker_id: str
|
||||
worker_name: str
|
||||
worker_type: str
|
||||
role: str # "admin" | "member"
|
||||
joined_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OrgInvite(BaseModel):
|
||||
"""组织邀请码模型"""
|
||||
id: str
|
||||
org_id: str
|
||||
code: str
|
||||
created_by: str
|
||||
expires_at: datetime | None
|
||||
max_uses: int | None
|
||||
used_count: int
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user