Simplify to memory system api
This commit is contained in:
64
memory_system_api/schemas.py
Normal file
64
memory_system_api/schemas.py
Normal file
@ -0,0 +1,64 @@
|
||||
"""Schemas for the lightweight Memory System API."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Literal
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
OperationStatus = Literal["success", "partial_success", "failed"]
|
||||
|
||||
|
||||
class MessageIngestRequest(BaseModel):
|
||||
user_id: str = Field(min_length=1)
|
||||
session_id: str = Field(min_length=1)
|
||||
user_message: str | None = None
|
||||
assistant_message: str | None = None
|
||||
timestamp: int | None = None
|
||||
metadata: dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class SessionUserRequest(BaseModel):
|
||||
user_id: str = Field(min_length=1)
|
||||
|
||||
|
||||
class SearchRequest(BaseModel):
|
||||
user_id: str = Field(min_length=1)
|
||||
session_id: str | None = None
|
||||
query: str = Field(min_length=1)
|
||||
use_llm: bool = False
|
||||
limit: int = Field(default=10, ge=1, le=100)
|
||||
|
||||
|
||||
class BackendStatus(BaseModel):
|
||||
status: OperationStatus
|
||||
result: Any = None
|
||||
error: str | None = None
|
||||
|
||||
|
||||
class MessageIngestResponse(BaseModel):
|
||||
status: OperationStatus
|
||||
message_count: int
|
||||
backends: dict[str, BackendStatus]
|
||||
|
||||
|
||||
class CommitResponse(BaseModel):
|
||||
status: OperationStatus
|
||||
backends: dict[str, BackendStatus]
|
||||
|
||||
|
||||
class ExtractResponse(BaseModel):
|
||||
status: OperationStatus
|
||||
backends: dict[str, BackendStatus]
|
||||
|
||||
|
||||
class SearchResponse(BaseModel):
|
||||
status: OperationStatus
|
||||
items: list[dict[str, Any]] = Field(default_factory=list)
|
||||
backends: dict[str, BackendStatus]
|
||||
|
||||
|
||||
class ProfileResponse(BaseModel):
|
||||
status: OperationStatus
|
||||
profile: Any = None
|
||||
backends: dict[str, BackendStatus]
|
||||
Reference in New Issue
Block a user