feat(agent): complete closed-loop runtime and pricing fallback

This commit is contained in:
qzl
2026-03-05 15:34:37 +08:00
parent b02a322bf3
commit b486e78ff3
67 changed files with 3832 additions and 7 deletions
+4 -1
View File
@@ -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,
)
+6 -2
View File
@@ -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 -2
View File
@@ -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="{}",
)