28 lines
709 B
Python
28 lines
709 B
Python
from pydantic import BaseModel, Field
|
|
from typing import List, Literal, Optional
|
|
from datetime import datetime
|
|
|
|
PromptKind = Literal["core", "safety", "governance", "tools"]
|
|
|
|
class AgentPrompt(BaseModel):
|
|
id: Optional[str] = None
|
|
kind: PromptKind
|
|
content: str
|
|
version: int
|
|
updated_at: Optional[datetime] = None
|
|
created_by: Optional[str] = None
|
|
note: Optional[str] = None
|
|
|
|
class AgentPromptList(BaseModel):
|
|
agent_id: str
|
|
prompts: List[AgentPrompt]
|
|
|
|
class AgentPromptUpsertItem(BaseModel):
|
|
kind: PromptKind
|
|
content: str
|
|
note: Optional[str] = None
|
|
|
|
class AgentPromptUpsertRequest(BaseModel):
|
|
prompts: List[AgentPromptUpsertItem] = Field(default_factory=list)
|
|
|