Show runtime guidance in transcript

This commit is contained in:
wuyang6
2026-06-12 18:37:04 +08:00
parent 5bcc22622e
commit cdf27e5bd2
3 changed files with 124 additions and 1 deletions
+73
View File
@@ -213,6 +213,79 @@ def agent_session_delta(
}
def append_agent_display_message(
session_id: str,
message: JSONDict,
directory: Path | None = None,
) -> dict[str, Any] | None:
target_dir = directory or DEFAULT_AGENT_SESSION_DIR
if not isinstance(message, dict):
return None
message_key = _display_message_key(message)
message_json = json.dumps(message, ensure_ascii=False, sort_keys=True)
now = time.time()
with _connect_agent_session_db(target_dir) as conn:
existing = conn.execute(
"""
select seq, message_json
from agent_display_messages
where session_id = ? and message_key = ?
order by seq asc
limit 1
""",
(session_id, message_key),
).fetchone()
if existing is not None:
if existing['message_json'] != message_json:
conn.execute(
"""
update agent_display_messages
set role = ?,
updated_at = ?,
message_json = ?
where session_id = ? and seq = ?
""",
(
str(message.get('role') or ''),
now,
message_json,
session_id,
int(existing['seq']),
),
)
return {
'seq': int(existing['seq']),
'updated_at': now,
'message': message,
}
latest = conn.execute(
"""
select max(seq) as latest_seq
from agent_display_messages
where session_id = ?
""",
(session_id,),
).fetchone()
seq = int(latest['latest_seq'] or 0) + 1 if latest is not None else 1
conn.execute(
"""
insert into agent_display_messages (
session_id, seq, message_key, role, updated_at, message_json
)
values (?, ?, ?, ?, ?, ?)
""",
(
session_id,
seq,
message_key,
str(message.get('role') or ''),
now,
message_json,
),
)
return {'seq': seq, 'updated_at': now, 'message': message}
def enqueue_session_input(
session_id: str,
*,