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)]) @app.post("/compress", dependencies=[Depends(verify_api_key)])
async def compress_messages_endpoint( async def compress_messages_endpoint(
messages: List[dict], request: CompressionRequest,
keep_last_n: Optional[int] = None, keep_last_n: Optional[int] = None,
max_tokens: 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 max_tokens = max_tokens or config.compression.max_tokens
compressed = await compress_conversation( compressed = await compress_conversation(
messages, request.messages,
max_tokens=max_tokens, max_tokens=max_tokens or config.compression.max_tokens,
keep_last_n=keep_last_n, keep_last_n=keep_last_n or config.compression.keep_last_n,
strategy=config.compression.strategy, strategy=config.compression.strategy,
ollama_model=config.compression.ollama_model, ollama_model=config.compression.ollama_model,
ollama_url=config.compression.ollama_url ollama_url=config.compression.ollama_url

View file

@ -67,6 +67,17 @@ class Memory(MemoryBase):
from_attributes = True 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): class ContextBundle(BaseModel):
skills: List[Skill] skills: List[Skill]
snippets: List[Snippet] snippets: List[Snippet]