Fix compression endpoint request validation and message schema

This commit is contained in:
Lukas Parsons 2026-03-22 22:47:07 -04:00
parent 6853999534
commit 9ad11f5be4
2 changed files with 15 additions and 4 deletions

View file

@ -422,7 +422,7 @@ async def get_context_rag(
@app.post("/compress", dependencies=[Depends(verify_api_key)])
async def compress_messages_endpoint(
messages: List[dict],
request: CompressionRequest,
keep_last_n: Optional[int] = None,
max_tokens: Optional[int] = None
):
@ -435,9 +435,9 @@ async def compress_messages_endpoint(
max_tokens = max_tokens or config.compression.max_tokens
compressed = await compress_conversation(
messages,
max_tokens=max_tokens,
keep_last_n=keep_last_n,
request.messages,
max_tokens=max_tokens or config.compression.max_tokens,
keep_last_n=keep_last_n or config.compression.keep_last_n,
strategy=config.compression.strategy,
ollama_model=config.compression.ollama_model,
ollama_url=config.compression.ollama_url

View file

@ -67,6 +67,17 @@ class Memory(MemoryBase):
from_attributes = True
class Message(BaseModel):
role: str
content: str
class CompressionRequest(BaseModel):
messages: List[Message]
keep_last_n: Optional[int] = None
max_tokens: Optional[int] = None
class ContextBundle(BaseModel):
skills: List[Skill]
snippets: List[Snippet]