feat: NanoClaude Phase 1 — 비동기 job 기반 AI Gateway 코어 구현
POST /chat → job_id ACK, GET /chat/{job_id}/stream → SSE 스트리밍,
EXAONE Ollama adapter, JobManager, StateStream, Worker 구조
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
32
nanoclaude/models/schemas.py
Normal file
32
nanoclaude/models/schemas.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""Pydantic models for NanoClaude API."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from enum import Enum
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class JobStatus(str, Enum):
|
||||
queued = "queued"
|
||||
processing = "processing"
|
||||
completed = "completed"
|
||||
failed = "failed"
|
||||
cancelled = "cancelled"
|
||||
|
||||
|
||||
class ChatRequest(BaseModel):
|
||||
message: str
|
||||
|
||||
|
||||
class ChatResponse(BaseModel):
|
||||
job_id: str
|
||||
|
||||
|
||||
class CancelResponse(BaseModel):
|
||||
status: str
|
||||
|
||||
|
||||
class SSEEvent(BaseModel):
|
||||
event: str # ack | processing | result | error | done
|
||||
data: dict
|
||||
Reference in New Issue
Block a user