feat: add git-consistent memory gateway architecture
This commit is contained in:
73
gateway/app/models.py
Normal file
73
gateway/app/models.py
Normal file
@@ -0,0 +1,73 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class QueryType(str, Enum):
|
||||
search = "search"
|
||||
vsearch = "vsearch"
|
||||
query = "query"
|
||||
deep_search = "deep_search"
|
||||
|
||||
|
||||
class QueryRequest(BaseModel):
|
||||
branch: str | None = None
|
||||
memory_profile: str | None = None
|
||||
query_type: QueryType = QueryType.query
|
||||
query: str = Field(min_length=1)
|
||||
require_latest: bool = True
|
||||
n: int = Field(default=5, ge=1, le=50)
|
||||
debug: bool = False
|
||||
|
||||
|
||||
class SyncRequest(BaseModel):
|
||||
branch: str | None = None
|
||||
memory_profile: str | None = None
|
||||
require_latest: bool = True
|
||||
|
||||
|
||||
class QueryResponse(BaseModel):
|
||||
ok: bool
|
||||
branch: str
|
||||
resolved_workspace: str
|
||||
commit_hash: str
|
||||
synced_at: datetime
|
||||
query_type: QueryType
|
||||
results: Any
|
||||
qmd_collection: str
|
||||
debug: dict[str, Any] | None = None
|
||||
|
||||
|
||||
class SyncResponse(BaseModel):
|
||||
ok: bool
|
||||
branch: str
|
||||
resolved_workspace: str
|
||||
commit_hash: str
|
||||
synced_at: datetime
|
||||
qmd_collection: str
|
||||
debug: dict[str, Any] | None = None
|
||||
|
||||
|
||||
class HealthResponse(BaseModel):
|
||||
ok: bool
|
||||
service: str
|
||||
timestamp: datetime
|
||||
|
||||
|
||||
class WorkspaceStatusItem(BaseModel):
|
||||
branch: str
|
||||
workspace: str
|
||||
commit_hash: str
|
||||
synced_at: datetime
|
||||
qmd_collection: str
|
||||
|
||||
|
||||
class StatusResponse(BaseModel):
|
||||
ok: bool
|
||||
default_branch: str
|
||||
mirror_path: str
|
||||
workspaces: list[WorkspaceStatusItem]
|
||||
Reference in New Issue
Block a user