feat: surface L2 agent pool and escalations on supervisor screen
- routing-service: GET /escalations (list recent escalation attempts) - supervisor UI: new panel showing the real agent pool (status, level, tenant, skills, calls handled) fed by GET /agents, with a form to add operators to the pool - supervisor UI: new live escalation feed (AI->L2 handoffs, status, assigned operator), auto-refreshed every 5s alongside live calls
This commit is contained in:
@@ -35,6 +35,8 @@
|
||||
<a class="nav-link" href="#realtime"><span class="nav-bullet"></span>Оперативный срез</a>
|
||||
<a class="nav-link" href="#liveCalls"><span class="nav-bullet"></span>Живые звонки</a>
|
||||
<a class="nav-link" href="#agents"><span class="nav-bullet"></span>Агенты</a>
|
||||
<a class="nav-link" href="#callRoutingAgents"><span class="nav-bullet"></span>Пул L2 (звонки)</a>
|
||||
<a class="nav-link" href="#escalations"><span class="nav-bullet"></span>Эскалации</a>
|
||||
<a class="nav-link" href="#queues"><span class="nav-bullet"></span>Очереди</a>
|
||||
<a class="nav-link" href="#knowledge"><span class="nav-bullet"></span>База знаний</a>
|
||||
</div>
|
||||
@@ -153,6 +155,45 @@
|
||||
<ul id="agentsList" class="list"></ul>
|
||||
</article>
|
||||
|
||||
<article class="panel reveal" id="callRoutingAgents">
|
||||
<h2>Пул операторов L2 (звонки)</h2>
|
||||
<p class="hint">Реальный пул для эскалации звонков с Voice AI (L1) на живых операторов +7 747 645 6048. Отдельно от демо-статусов в блоке «Агенты» выше — здесь показан фактический пул Routing Engine.</p>
|
||||
<div class="actions compact-actions">
|
||||
<button id="loadCallAgentsBtn" class="btn ghost">Обновить пул</button>
|
||||
</div>
|
||||
<div id="callAgentsSummary" class="summary-grid"></div>
|
||||
<ul id="callAgentsList" class="list"></ul>
|
||||
|
||||
<details class="details-block">
|
||||
<summary>Добавить оператора в пул</summary>
|
||||
<div class="inline-form split-two">
|
||||
<input id="newAgentExtension" placeholder="Внутренний номер (напр. 2001)" />
|
||||
<input id="newAgentDisplayName" placeholder="Имя оператора" />
|
||||
</div>
|
||||
<div class="inline-form split-two">
|
||||
<select id="newAgentLevel">
|
||||
<option value="L2" selected>L2 — оператор</option>
|
||||
<option value="L3">L3 — технический специалист</option>
|
||||
</select>
|
||||
<input id="newAgentTenant" placeholder="Tenant ID" value="konturai" />
|
||||
</div>
|
||||
<div class="inline-form compact">
|
||||
<input id="newAgentSkills" placeholder="Навыки через запятую (необязательно)" />
|
||||
<button id="createCallAgentBtn" class="btn">Добавить в пул</button>
|
||||
</div>
|
||||
</details>
|
||||
</article>
|
||||
|
||||
<article class="panel reveal" id="escalations">
|
||||
<h2>Эскалации AI → оператор</h2>
|
||||
<p class="hint">Живая лента: какие звонки Voice AI передал(-ает) на L2 и кто из операторов их принял.</p>
|
||||
<div class="actions compact-actions">
|
||||
<button id="loadEscalationsBtn" class="btn ghost">Обновить эскалации</button>
|
||||
</div>
|
||||
<div id="escalationsSummary" class="summary-grid"></div>
|
||||
<ul id="escalationsList" class="list"></ul>
|
||||
</article>
|
||||
|
||||
<article class="panel reveal" id="queues">
|
||||
<h2>Очередь</h2>
|
||||
<div class="inline-form split-two">
|
||||
|
||||
Reference in New Issue
Block a user