mirror of
https://github.com/cpacker/MemGPT.git
synced 2025-06-03 04:30:22 +00:00

Co-authored-by: Andy Li <55300002+cliandy@users.noreply.github.com> Co-authored-by: Kevin Lin <klin5061@gmail.com> Co-authored-by: Sarah Wooders <sarahwooders@gmail.com> Co-authored-by: jnjpng <jin@letta.com> Co-authored-by: Matthew Zhou <mattzh1314@gmail.com>
44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
from typing import Any, Dict, Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from letta.helpers.datetime_helpers import get_utc_time
|
|
from letta.schemas.letta_base import OrmMetadataBase
|
|
|
|
|
|
class BaseProviderTrace(OrmMetadataBase):
|
|
__id_prefix__ = "provider_trace"
|
|
|
|
|
|
class ProviderTraceCreate(BaseModel):
|
|
"""Request to create a provider trace"""
|
|
|
|
request_json: dict[str, Any] = Field(..., description="JSON content of the provider request")
|
|
response_json: dict[str, Any] = Field(..., description="JSON content of the provider response")
|
|
step_id: str = Field(None, description="ID of the step that this trace is associated with")
|
|
organization_id: str = Field(..., description="The unique identifier of the organization.")
|
|
|
|
|
|
class ProviderTrace(BaseProviderTrace):
|
|
"""
|
|
Letta's internal representation of a provider trace.
|
|
|
|
Attributes:
|
|
id (str): The unique identifier of the provider trace.
|
|
request_json (Dict[str, Any]): JSON content of the provider request.
|
|
response_json (Dict[str, Any]): JSON content of the provider response.
|
|
step_id (str): ID of the step that this trace is associated with.
|
|
organization_id (str): The unique identifier of the organization.
|
|
created_at (datetime): The timestamp when the object was created.
|
|
"""
|
|
|
|
id: str = BaseProviderTrace.generate_id_field()
|
|
request_json: Dict[str, Any] = Field(..., description="JSON content of the provider request")
|
|
response_json: Dict[str, Any] = Field(..., description="JSON content of the provider response")
|
|
step_id: Optional[str] = Field(None, description="ID of the step that this trace is associated with")
|
|
organization_id: str = Field(..., description="The unique identifier of the organization.")
|
|
created_at: datetime = Field(default_factory=get_utc_time, description="The timestamp when the object was created.")
|