Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/server/api/memobase_server/api_layer/blob.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
from ..controllers import full as controllers

from ..env import TelemetryKeyName, TRACE_LOG
from ..models.response import CODE
from ..models.response import CODE, UUID
from ..models.utils import Promise
from ..models import response as res
from ..telemetry.capture_key import capture_int_key


async def insert_blob(
request: Request,
user_id: str = Path(..., description="The ID of the user to insert the blob for"),
user_id: UUID = Path(..., description="The ID of the user to insert the blob for"),
wait_process: bool = Query(
False, description="Whether to wait for the blob to be processed"
),
Expand Down Expand Up @@ -100,8 +100,8 @@ async def insert_blob(

async def get_blob(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
blob_id: str = Path(..., description="The ID of the blob to retrieve"),
user_id: UUID = Path(..., description="The ID of the user"),
blob_id: UUID = Path(..., description="The ID of the blob to retrieve"),
) -> res.BlobDataResponse:
project_id = request.state.memobase_project_id
p = await controllers.blob.get_blob(user_id, project_id, blob_id)
Expand All @@ -110,8 +110,8 @@ async def get_blob(

async def delete_blob(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
blob_id: str = Path(..., description="The ID of the blob to delete"),
user_id: UUID = Path(..., description="The ID of the user"),
blob_id: UUID = Path(..., description="The ID of the blob to delete"),
) -> res.BaseResponse:
project_id = request.state.memobase_project_id
p = await controllers.blob.remove_blob(user_id, project_id, blob_id)
Expand Down
7 changes: 3 additions & 4 deletions src/server/api/memobase_server/api_layer/buffer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from ..env import BufferStatus
from ..controllers import full as controllers
from ..models.response import IdsData, IdsResponse
from ..models.response import UUID, IdsResponse
from ..models.blob import BlobType
from ..models import response as res
from typing import Literal
Expand All @@ -10,7 +9,7 @@

async def flush_buffer(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
buffer_type: BlobType = Path(..., description="The type of buffer to flush"),
wait_process: bool = Query(
False, description="Whether to wait for the buffer to be processed"
Expand Down Expand Up @@ -51,7 +50,7 @@ async def flush_buffer(

async def get_processing_buffer_ids(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
buffer_type: BlobType = Path(..., description="The type of buffer to flush"),
status: Literal["idle", "processing", "failed", "done"] = Query(
"processing", description="The status of the buffer to get"
Expand Down
4 changes: 2 additions & 2 deletions src/server/api/memobase_server/api_layer/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from ..controllers import full as controllers

from ..models.response import CODE
from ..models.response import CODE, UUID
from ..models.utils import Promise
from ..models import response as res
from fastapi import Request
Expand All @@ -11,7 +11,7 @@

async def get_user_context(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
max_token_size: int = Query(
1000,
description="Max token size of returned Context",
Expand Down
15 changes: 8 additions & 7 deletions src/server/api/memobase_server/api_layer/event.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from ..controllers import full as controllers
from ..models import response as res
from ..models.response import UUID
from fastapi import Request
from fastapi import Path, Query, Body


async def get_user_events(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
topk: int = Query(10, description="Number of events to retrieve, default is 10"),
max_token_size: int = Query(
None,
Expand All @@ -29,8 +30,8 @@ async def get_user_events(

async def delete_user_event(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
event_id: str = Path(..., description="The ID of the event"),
user_id: UUID = Path(..., description="The ID of the user"),
event_id: UUID = Path(..., description="The ID of the event"),
) -> res.BaseResponse:
project_id = request.state.memobase_project_id
p = await controllers.event.delete_user_event(user_id, project_id, event_id)
Expand All @@ -39,8 +40,8 @@ async def delete_user_event(

async def update_user_event(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
event_id: str = Path(..., description="The ID of the event"),
user_id: UUID = Path(..., description="The ID of the user"),
event_id: UUID = Path(..., description="The ID of the event"),
event_data: res.EventData = Body(..., description="Event data to update"),
) -> res.BaseResponse:
project_id = request.state.memobase_project_id
Expand All @@ -52,7 +53,7 @@ async def update_user_event(

async def search_user_events(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
query: str = Query(..., description="The query to search for"),
topk: int = Query(10, description="Number of events to retrieve, default is 10"),
similarity_threshold: float = Query(
Expand All @@ -71,7 +72,7 @@ async def search_user_events(

async def search_user_event_gists(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
query: str = Query(..., description="The query to search for"),
topk: int = Query(10, description="Number of events to retrieve, default is 10"),
similarity_threshold: float = Query(
Expand Down
16 changes: 8 additions & 8 deletions src/server/api/memobase_server/api_layer/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
from ..controllers import full as controllers
from ..controllers.post_process.profile import filter_profiles_with_chats

from ..models.response import CODE
from ..models.response import CODE, UUID
from ..models.utils import Promise
from ..models.blob import BlobType
from ..models import response as res


async def get_user_profile(
request: Request,
user_id: str = Path(..., description="The ID of the user to get profiles for"),
user_id: UUID = Path(..., description="The ID of the user to get profiles for"),
topk: int = Query(
None, description="Number of profiles to retrieve, default is all"
),
Expand Down Expand Up @@ -82,8 +82,8 @@ async def get_user_profile(

async def delete_user_profile(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
profile_id: str = Path(..., description="The ID of the profile to delete"),
user_id: UUID = Path(..., description="The ID of the user"),
profile_id: UUID = Path(..., description="The ID of the profile to delete"),
) -> res.BaseResponse:
"""Delete a profile"""
project_id = request.state.memobase_project_id
Expand All @@ -93,8 +93,8 @@ async def delete_user_profile(

async def update_user_profile(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
profile_id: str = Path(..., description="The ID of the profile to update"),
user_id: UUID = Path(..., description="The ID of the user"),
profile_id: UUID = Path(..., description="The ID of the profile to update"),
content: res.ProfileDelta = Body(
..., description="The content of the profile to update"
),
Expand All @@ -111,7 +111,7 @@ async def update_user_profile(

async def add_user_profile(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
content: res.ProfileDelta = Body(
..., description="The content of the profile to add"
),
Expand All @@ -130,7 +130,7 @@ async def add_user_profile(

async def import_user_context(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
content: res.UserContextImport = Body(
..., description="The content of the user context to import"
),
Expand Down
3 changes: 2 additions & 1 deletion src/server/api/memobase_server/api_layer/roleplay.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
from ..controllers.modal.roleplay import proactive_topics
from ..models.blob import BlobType
from ..models.utils import Promise, CODE
from ..models.response import UUID
from ..models import response as res
from fastapi import Request
from fastapi import Body, Path, Query


async def infer_proactive_topics(
request: Request,
user_id: str = Path(..., description="The ID of the user"),
user_id: UUID = Path(..., description="The ID of the user"),
topk: int = Query(
None, description="Number of profiles to retrieve, default is all"
),
Expand Down
10 changes: 5 additions & 5 deletions src/server/api/memobase_server/api_layer/user.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from ..controllers import full as controllers

from ..models.response import BaseResponse
from ..models.response import BaseResponse, UUID
from ..models.blob import BlobType
from ..models import response as res
from fastapi import Request
Expand All @@ -21,7 +21,7 @@ async def create_user(

async def get_user(
request: Request,
user_id: str = Path(..., description="The ID of the user to retrieve"),
user_id: UUID = Path(..., description="The ID of the user to retrieve"),
) -> res.UserDataResponse:
project_id = request.state.memobase_project_id
p = await controllers.user.get_user(user_id, project_id)
Expand All @@ -30,7 +30,7 @@ async def get_user(

async def update_user(
request: Request,
user_id: str = Path(..., description="The ID of the user to update"),
user_id: UUID = Path(..., description="The ID of the user to update"),
user_data: dict = Body(..., description="Updated user data"),
) -> res.IdResponse:
project_id = request.state.memobase_project_id
Expand All @@ -40,7 +40,7 @@ async def update_user(

async def delete_user(
request: Request,
user_id: str = Path(..., description="The ID of the user to delete"),
user_id: UUID = Path(..., description="The ID of the user to delete"),
) -> BaseResponse:
project_id = request.state.memobase_project_id
p = await controllers.user.delete_user(user_id, project_id)
Expand All @@ -49,7 +49,7 @@ async def delete_user(

async def get_user_all_blobs(
request: Request,
user_id: str = Path(..., description="The ID of the user to fetch blobs for"),
user_id: UUID = Path(..., description="The ID of the user to fetch blobs for"),
blob_type: BlobType = Path(..., description="The type of blobs to retrieve"),
page: int = Query(0, description="Page number for pagination, starting from 0"),
page_size: int = Query(10, description="Number of items per page, default is 10"),
Expand Down
1 change: 1 addition & 0 deletions src/server/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
name: memobase-server
services:
memobase-server-db:
image: pgvector/pgvector:pg17
Expand Down