feat(agent): complete closed-loop runtime and pricing fallback
This commit is contained in:
@@ -45,7 +45,10 @@ class AgentChatMessage(TimestampMixin, SoftDeleteMixin, Base):
|
||||
seq: Mapped[int] = mapped_column(Integer, nullable=False)
|
||||
role: Mapped[AgentChatMessageRole] = mapped_column(
|
||||
SqlEnum(
|
||||
AgentChatMessageRole, name="agent_chat_message_role", native_enum=False
|
||||
AgentChatMessageRole,
|
||||
name="agent_chat_message_role",
|
||||
native_enum=False,
|
||||
values_callable=lambda enum_cls: [item.value for item in enum_cls],
|
||||
),
|
||||
nullable=False,
|
||||
)
|
||||
|
||||
@@ -7,6 +7,7 @@ from enum import Enum
|
||||
|
||||
from sqlalchemy import (
|
||||
DateTime,
|
||||
JSON,
|
||||
Enum as SqlEnum,
|
||||
Integer,
|
||||
Numeric,
|
||||
@@ -56,7 +57,10 @@ class AgentChatSession(TimestampMixin, SoftDeleteMixin, Base):
|
||||
title: Mapped[str | None] = mapped_column(String(255), nullable=True)
|
||||
status: Mapped[AgentChatSessionStatus] = mapped_column(
|
||||
SqlEnum(
|
||||
AgentChatSessionStatus, name="agent_chat_session_status", native_enum=False
|
||||
AgentChatSessionStatus,
|
||||
name="agent_chat_session_status",
|
||||
native_enum=False,
|
||||
values_callable=lambda enum_cls: [item.value for item in enum_cls],
|
||||
),
|
||||
nullable=False,
|
||||
default=AgentChatSessionStatus.PENDING,
|
||||
@@ -76,6 +80,6 @@ class AgentChatSession(TimestampMixin, SoftDeleteMixin, Base):
|
||||
Numeric(12, 6), nullable=False, server_default=text("0")
|
||||
)
|
||||
state_snapshot: Mapped[dict | None] = mapped_column(
|
||||
JSONB,
|
||||
JSON().with_variant(JSONB, "postgresql"),
|
||||
nullable=True,
|
||||
)
|
||||
|
||||
@@ -2,7 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
|
||||
from sqlalchemy import ForeignKey, String
|
||||
from sqlalchemy import JSON, ForeignKey, String
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
@@ -26,7 +26,7 @@ class SystemAgents(TimestampMixin, Base):
|
||||
nullable=False,
|
||||
)
|
||||
config: Mapped[dict] = mapped_column(
|
||||
JSONB,
|
||||
JSON().with_variant(JSONB, "postgresql"),
|
||||
nullable=False,
|
||||
server_default="{}",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user