feat(agent): add redis short-term user context cache and align tests
This commit is contained in:
@@ -58,7 +58,6 @@ class AgentChatMessage(TimestampMixin, SoftDeleteMixin, Base):
|
||||
input_tokens: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
|
||||
output_tokens: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
|
||||
cost: Mapped[Decimal] = mapped_column(Numeric(12, 6), nullable=False, default=0)
|
||||
currency: Mapped[str] = mapped_column(String(3), nullable=False, default="USD")
|
||||
latency_ms: Mapped[int | None] = mapped_column(Integer, nullable=True)
|
||||
metadata_json: Mapped[dict[str, object] | None] = mapped_column(
|
||||
"metadata", JSON().with_variant(JSONB, "postgresql"), nullable=True
|
||||
|
||||
@@ -5,10 +5,11 @@ from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import CheckConstraint, DateTime, ForeignKey, Integer, String
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
|
||||
|
||||
class InviteCodeStatus(str, Enum):
|
||||
@@ -73,7 +74,7 @@ class InviteCode(TimestampMixin, Base):
|
||||
nullable=True,
|
||||
)
|
||||
reward_config: Mapped[dict] = mapped_column(
|
||||
JSONB,
|
||||
json_jsonb,
|
||||
nullable=False,
|
||||
server_default="{}",
|
||||
)
|
||||
|
||||
@@ -4,10 +4,11 @@ import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import String
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
|
||||
|
||||
class MemoryType(str, Enum):
|
||||
@@ -47,7 +48,7 @@ class Memory(TimestampMixin, Base):
|
||||
)
|
||||
title: Mapped[str | None] = mapped_column(String(255), nullable=True)
|
||||
content: Mapped[dict] = mapped_column(
|
||||
JSONB,
|
||||
json_jsonb,
|
||||
nullable=False,
|
||||
)
|
||||
source: Mapped[MemorySource] = mapped_column(
|
||||
|
||||
@@ -3,10 +3,11 @@ from __future__ import annotations
|
||||
import uuid
|
||||
|
||||
from sqlalchemy import ForeignKey, String, Text
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
|
||||
|
||||
class Profile(TimestampMixin, SoftDeleteMixin, Base):
|
||||
@@ -38,7 +39,7 @@ class Profile(TimestampMixin, SoftDeleteMixin, Base):
|
||||
nullable=True,
|
||||
)
|
||||
settings: Mapped[dict] = mapped_column(
|
||||
JSONB,
|
||||
json_jsonb,
|
||||
nullable=False,
|
||||
server_default="{}",
|
||||
)
|
||||
|
||||
@@ -5,10 +5,11 @@ from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import DateTime, String, Text
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
|
||||
|
||||
class ScheduleItemStatus(str, Enum):
|
||||
@@ -58,7 +59,7 @@ class ScheduleItem(TimestampMixin, SoftDeleteMixin, Base):
|
||||
)
|
||||
extra_metadata: Mapped[dict] = mapped_column(
|
||||
"metadata",
|
||||
JSONB,
|
||||
json_jsonb,
|
||||
nullable=False,
|
||||
server_default="{}",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user