Files
openswarm/backend/apps/modes/models.py
T

39 lines
1.0 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional
from uuid import uuid4
class Mode(BaseModel):
id: str = Field(default_factory=lambda: uuid4().hex)
name: str
description: str = ""
system_prompt: Optional[str] = None
tools: Optional[list[str]] = None
default_next_mode: Optional[str] = None
is_builtin: bool = False
icon: str = "smart_toy"
color: str = "#818cf8"
default_folder: Optional[str] = None
class ModeCreate(BaseModel):
name: str
description: str = ""
system_prompt: Optional[str] = None
tools: Optional[list[str]] = None
default_next_mode: Optional[str] = None
icon: str = "smart_toy"
color: str = "#818cf8"
default_folder: Optional[str] = None
class ModeUpdate(BaseModel):
name: Optional[str] = None
description: Optional[str] = None
system_prompt: Optional[str] = None
tools: Optional[list[str]] = None
default_next_mode: Optional[str] = None
icon: Optional[str] = None
color: Optional[str] = None
default_folder: Optional[str] = None