feat(delegation): structured stall metadata + live per-child status in /agents
Completes #51690 on top of the salvaged #60378 timeout metadata: - async_delegation: terminal 'stalled' events now carry structured stall context (stalled_after_quiet_seconds, stall_threshold_seconds, stall_phase idle|in_tool, stall_grace_seconds) on both single and batch paths, persisted in the durable row so restart-restored events keep it. Mirrors the sync path's timeout_seconds/timed_out_after_ seconds/timeout_phase from #60378. - list_async_delegations(): exposes seconds_since_progress and live children_activity (per-child api_calls, current_tool, seconds_since_activity) sampled from the dispatch's progress_fn outside the records lock; private monitor bookkeeping and callables never leak. - /agents (CLI + gateway): background delegations render per-child activity rows, quiet-time hints, and the stalling state; gateway section is new (previously async delegations were invisible there). New locale key gateway.agents.background_delegations in all 17 catalogs. Tests: stall-metadata event shape, live-listing projection, gateway /agents rendering (real registry dispatch, sabotage-verified), sync timeout metadata fields, non-timeout None contract.
This commit is contained in:
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... en nog {count}"
|
||||
running_processes: "**Lopende agtergrondprosesse:** {count}"
|
||||
async_jobs: "**Asinchrone werke van die gateway:** {count}"
|
||||
background_delegations: "**Agtergrond-delegasies:** {count}"
|
||||
none: "Geen aktiewe agente of lopende take nie."
|
||||
state_starting: "begin"
|
||||
state_running: "loop"
|
||||
|
||||
@@ -58,6 +58,7 @@ gateway:
|
||||
more: "... و{count} آخر"
|
||||
running_processes: "**العمليات الخلفية الجارية:** {count}"
|
||||
async_jobs: "**مهام البوابة غير المتزامنة:** {count}"
|
||||
background_delegations: "**التفويضات في الخلفية:** {count}"
|
||||
none: "لا يوجد وكلاء نشطون أو مهام جارية."
|
||||
state_starting: "قيد البدء"
|
||||
state_running: "قيد التشغيل"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... und {count} weitere"
|
||||
running_processes: "**Laufende Hintergrundprozesse:** {count}"
|
||||
async_jobs: "**Gateway-Async-Jobs:** {count}"
|
||||
background_delegations: "**Hintergrund-Delegationen:** {count}"
|
||||
none: "Keine aktiven Agenten oder laufenden Aufgaben."
|
||||
state_starting: "startet"
|
||||
state_running: "läuft"
|
||||
|
||||
@@ -68,6 +68,7 @@ gateway:
|
||||
more: "... and {count} more"
|
||||
running_processes: "**Running background processes:** {count}"
|
||||
async_jobs: "**Gateway async jobs:** {count}"
|
||||
background_delegations: "**Background delegations:** {count}"
|
||||
none: "No active agents or running tasks."
|
||||
state_starting: "starting"
|
||||
state_running: "running"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... y {count} más"
|
||||
running_processes: "**Procesos en segundo plano en ejecución:** {count}"
|
||||
async_jobs: "**Tareas asíncronas del gateway:** {count}"
|
||||
background_delegations: "**Delegaciones en segundo plano:** {count}"
|
||||
none: "No hay agentes activos ni tareas en ejecución."
|
||||
state_starting: "iniciando"
|
||||
state_running: "en ejecución"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... et {count} de plus"
|
||||
running_processes: "**Processus d'arrière-plan en cours :** {count}"
|
||||
async_jobs: "**Tâches asynchrones du gateway :** {count}"
|
||||
background_delegations: "**Délégations en arrière-plan :** {count}"
|
||||
none: "Aucun agent actif ni tâche en cours."
|
||||
state_starting: "démarrage"
|
||||
state_running: "en cours"
|
||||
|
||||
@@ -57,6 +57,7 @@ gateway:
|
||||
more: "... agus {count} eile"
|
||||
running_processes: "**Próisis chúlra ag rith:** {count}"
|
||||
async_jobs: "**Tascanna asincrónacha gateway:** {count}"
|
||||
background_delegations: "**Tarmligin sa chúlra:** {count}"
|
||||
none: "Níl aon ghníomhairí gníomhacha ná tascanna ag rith."
|
||||
state_starting: "ag tosú"
|
||||
state_running: "ag rith"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... és még {count}"
|
||||
running_processes: "**Futó háttérfolyamatok:** {count}"
|
||||
async_jobs: "**Átjáró aszinkron feladatai:** {count}"
|
||||
background_delegations: "**Háttérdelegálások:** {count}"
|
||||
none: "Nincsenek aktív ügynökök vagy futó feladatok."
|
||||
state_starting: "indul"
|
||||
state_running: "fut"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... e {count} altri"
|
||||
running_processes: "**Processi in background in esecuzione:** {count}"
|
||||
async_jobs: "**Job asincroni del gateway:** {count}"
|
||||
background_delegations: "**Delegazioni in background:** {count}"
|
||||
none: "Nessun agente attivo o attività in esecuzione."
|
||||
state_starting: "in avvio"
|
||||
state_running: "in esecuzione"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... 他に {count} 件"
|
||||
running_processes: "**実行中のバックグラウンドプロセス:** {count}"
|
||||
async_jobs: "**ゲートウェイ非同期ジョブ:** {count}"
|
||||
background_delegations: "**バックグラウンド委任:** {count}"
|
||||
none: "アクティブなエージェントや実行中のタスクはありません。"
|
||||
state_starting: "起動中"
|
||||
state_running: "実行中"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... 외 {count}개 더"
|
||||
running_processes: "**실행 중인 백그라운드 프로세스:** {count}"
|
||||
async_jobs: "**게이트웨이 비동기 작업:** {count}"
|
||||
background_delegations: "**백그라운드 위임:** {count}"
|
||||
none: "활성 에이전트나 실행 중인 작업이 없습니다."
|
||||
state_starting: "시작 중"
|
||||
state_running: "실행 중"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... e mais {count}"
|
||||
running_processes: "**Processos em segundo plano em execução:** {count}"
|
||||
async_jobs: "**Tarefas assíncronas do gateway:** {count}"
|
||||
background_delegations: "**Delegações em segundo plano:** {count}"
|
||||
none: "Não há agentes ativos nem tarefas em execução."
|
||||
state_starting: "a iniciar"
|
||||
state_running: "em execução"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... и ещё {count}"
|
||||
running_processes: "**Выполняющиеся фоновые процессы:** {count}"
|
||||
async_jobs: "**Асинхронные задачи шлюза:** {count}"
|
||||
background_delegations: "**Фоновые делегирования:** {count}"
|
||||
none: "Нет активных агентов или выполняющихся задач."
|
||||
state_starting: "запускается"
|
||||
state_running: "выполняется"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... ve {count} tane daha"
|
||||
running_processes: "**Çalışan arka plan süreçleri:** {count}"
|
||||
async_jobs: "**Gateway asenkron işleri:** {count}"
|
||||
background_delegations: "**Arka plan delegasyonları:** {count}"
|
||||
none: "Aktif ajan veya çalışan görev yok."
|
||||
state_starting: "başlatılıyor"
|
||||
state_running: "çalışıyor"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... і ще {count}"
|
||||
running_processes: "**Фонові процеси, що виконуються:** {count}"
|
||||
async_jobs: "**Асинхронні задачі гейтвея:** {count}"
|
||||
background_delegations: "**Фонові делегування:** {count}"
|
||||
none: "Немає активних агентів або задач."
|
||||
state_starting: "запускається"
|
||||
state_running: "виконується"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... 還有 {count} 個"
|
||||
running_processes: "**執行中的背景程序:** {count}"
|
||||
async_jobs: "**閘道非同步任務:** {count}"
|
||||
background_delegations: "**背景委派:** {count}"
|
||||
none: "沒有作用中的代理或執行中的任務。"
|
||||
state_starting: "啟動中"
|
||||
state_running: "執行中"
|
||||
|
||||
@@ -53,6 +53,7 @@ gateway:
|
||||
more: "... 还有 {count} 个"
|
||||
running_processes: "**运行中的后台进程:** {count}"
|
||||
async_jobs: "**网关异步任务:** {count}"
|
||||
background_delegations: "**后台委派:** {count}"
|
||||
none: "没有活跃的代理或运行中的任务。"
|
||||
state_starting: "启动中"
|
||||
state_running: "运行中"
|
||||
|
||||
Reference in New Issue
Block a user