mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-25 08:26:22 +02:00
update py sdk - add stateless and stateful calls
This commit is contained in:
parent
2aba775bcb
commit
a22d54fd3c
7 changed files with 247 additions and 119 deletions
54
apps/python-sdk/schema.py
Normal file
54
apps/python-sdk/schema.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
from typing import List, Optional, Union, Any, Literal
|
||||
from pydantic import BaseModel
|
||||
|
||||
class SystemMessage(BaseModel):
|
||||
role: Literal['system']
|
||||
content: str
|
||||
|
||||
class UserMessage(BaseModel):
|
||||
role: Literal['user']
|
||||
content: str
|
||||
|
||||
class AssistantMessage(BaseModel):
|
||||
role: Literal['assistant']
|
||||
content: str
|
||||
agenticSender: Optional[str] = None
|
||||
agenticResponseType: Literal['internal', 'external']
|
||||
|
||||
class FunctionCall(BaseModel):
|
||||
name: str
|
||||
arguments: str
|
||||
|
||||
class ToolCall(BaseModel):
|
||||
id: str
|
||||
type: Literal['function']
|
||||
function: FunctionCall
|
||||
|
||||
class AssistantMessageWithToolCalls(BaseModel):
|
||||
role: Literal['assistant']
|
||||
content: Optional[str] = None
|
||||
tool_calls: List[ToolCall]
|
||||
agenticSender: Optional[str] = None
|
||||
agenticResponseType: Literal['internal', 'external']
|
||||
|
||||
class ToolMessage(BaseModel):
|
||||
role: Literal['tool']
|
||||
content: str
|
||||
tool_call_id: str
|
||||
tool_name: str
|
||||
|
||||
ApiMessage = Union[
|
||||
SystemMessage,
|
||||
UserMessage,
|
||||
AssistantMessage,
|
||||
AssistantMessageWithToolCalls,
|
||||
ToolMessage
|
||||
]
|
||||
|
||||
class ApiRequest(BaseModel):
|
||||
messages: List[ApiMessage]
|
||||
state: Any
|
||||
|
||||
class ApiResponse(BaseModel):
|
||||
messages: List[ApiMessage]
|
||||
state: Any
|
||||
Loading…
Add table
Add a link
Reference in a new issue