mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
"""Add ``turns`` + ``tool_calls`` to agent_spawn_sessions.
|
|||
|
|
|
||
|
|
Per-stint LLM iterations (unique assistant messages) and tool invocations,
|
||
|
|
captured at session finalize from the SDK ``/usage/status`` (``turns`` also has
|
||
|
|
a Claude-transcript fallback). They power the granular per-member performance
|
||
|
|
metrics — distinguishing real effort/iterations from wall-clock. ``DEFAULT 0``
|
||
|
|
so historical rows (and Grok agents, which have no Claude transcript) read 0,
|
||
|
|
surfaced as "n/a" in the UI rather than a misleading "0 iterations".
|
||
|
|
|
||
|
|
Revision ID: 055_spawn_session_turns
|
||
|
|
Revises: 054_a2a_message_skill
|
||
|
|
Create Date: 2026-07-01
|
||
|
|
"""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
import sqlalchemy as sa
|
||
|
|
from alembic import op
|
||
|
|
|
||
|
|
revision = "055_spawn_session_turns"
|
||
|
|
down_revision = "054_a2a_message_skill"
|
||
|
|
branch_labels: dict[str, str] | None = None
|
||
|
|
depends_on: dict[str, str] | None = None
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
op.add_column(
|
||
|
|
"agent_spawn_sessions",
|
||
|
|
sa.Column("turns", sa.BigInteger(), nullable=False, server_default="0"),
|
||
|
|
)
|
||
|
|
op.add_column(
|
||
|
|
"agent_spawn_sessions",
|
||
|
|
sa.Column("tool_calls", sa.BigInteger(), nullable=False, server_default="0"),
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
op.drop_column("agent_spawn_sessions", "tool_calls")
|
||
|
|
op.drop_column("agent_spawn_sessions", "turns")
|