feat(ui,api,admin): sveltekit admin spa, usage by day/agent/conversation/model, rate limits, memory tree, turn snapshot
This commit is contained in:
1 parent
aaaf459e6d
commit
00618ab7ad
158 files changed
+8459
-2531
No files matched your search
@@ -319,6 +319,39 @@ class Usage(SQLModel, table=True):
|
||||
cost_usd: float | None = Field(default=None)
|
||||
duration_ms: int | None = Field(default=None)
|
||||
num_turns: int | None = Field(default=None)
|
||||
model_usage: dict[str, Any] | None = Field(
|
||||
default=None,
|
||||
sa_column=Column(JSON().with_variant(JSONB(), "postgresql"), nullable=True),
|
||||
)
|
||||
|
||||
|
||||
class RateLimit(SQLModel, table=True):
|
||||
"""One ``RateLimitEvent`` from the SDK; the newest row per ``window`` is the state.
|
||||
|
||||
The quota is per subscription, not per agent or conversation - the row
|
||||
only remembers which session reported it.
|
||||
"""
|
||||
|
||||
__tablename__ = "rate_limits"
|
||||
|
||||
id: int | None = Field(default=None, primary_key=True)
|
||||
ts: datetime = Field(default_factory=_utcnow, index=True)
|
||||
window: str = Field(index=True)
|
||||
status: str
|
||||
utilization: float | None = Field(default=None)
|
||||
resets_at: datetime | None = Field(default=None)
|
||||
overage_status: str | None = Field(default=None)
|
||||
overage_resets_at: datetime | None = Field(default=None)
|
||||
agent_name: str | None = Field(default=None)
|
||||
session_id: str | None = Field(default=None)
|
||||
raw: dict[str, Any] = Field(
|
||||
default_factory=dict,
|
||||
sa_column=Column(
|
||||
JSON().with_variant(JSONB(), "postgresql"),
|
||||
nullable=False,
|
||||
server_default=text("'{}'"),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
__all__ = [
|
||||
@@ -328,6 +361,7 @@ __all__ = [
|
||||
"ConversationMessage",
|
||||
"Delivery",
|
||||
"InjectQueueItem",
|
||||
"RateLimit",
|
||||
"Schedule",
|
||||
"TelegramUpdate",
|
||||
"Token",
|
||||
|
||||
Reference in new issue
Block a user