feat: add git-consistent memory gateway architecture

This commit is contained in:
lingyuzeng
2026-03-07 22:33:41 +08:00
commit d4cd81f498
40 changed files with 2114 additions and 0 deletions

73
gateway/app/models.py Normal file
View 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]