[2026-06-19] zulip-router.md: forward_trigger, sender_email, data, stream_id — полный payload

This commit is contained in:
Alexey Martemyanov
2026-06-19 13:57:18 +06:00
parent 78145b0e9a
commit ab6d1ba5c3
5 changed files with 252 additions and 118 deletions
@@ -97,3 +97,53 @@
3. После включения `display.platforms.webhook.streaming: true` — стриминг пошёл
4. Тест с `rm -rf` подтвердил: текст до аппрува **не появляется** у юзера
5. Логи подтвердили: `got_done` не вызывается → `_send_fallback_final` не срабатывает
---
## Tool progress для webhook
**Статус:** Исправлено ✅
### Проблема
Tool progress (уведомления о tool calls) не работали для вебхука — сообщения о ходе выполнения тулов не доходили до юзера.
### Почему
Два гарда в `gateway/run.py`:
1. **Первый гард** (`run.py:16992`) — условие включения прогресса:
```python
tool_progress_enabled = progress_mode != "off" and (
source.platform != Platform.WEBHOOK
or cfg.display.platforms.get("webhook", {}).get("tool_progress", "off") != "off"
)
```
По умолчанию `display.platforms.webhook.tool_progress` не было в конфиге → `"off"` → прогресс выключен.
2. **Второй гард** (`run.py:17184-17191`) — проверка что у адаптера есть свой `edit_message`:
```python
if type(adapter).edit_message is BasePlatformAdapter.edit_message
and source.platform != Platform.WEBHOOK:
# очистить очередь и выйти
```
У `WebhookAdapter` нет своего `edit_message` (наследует базовый) → прогресс скипается даже если включён.
### Что сделано
1. **Конфиг** — добавлено `display.platforms.webhook.tool_progress: all`
2. **`run.py:16992`** — изменён первый гард: разрешает tool progress для вебхука если в конфиге не `"off"`
3. **`run.py:17215-17217`** — добавлен форс `can_edit=False` для `Platform.WEBHOOK`:
```python
if source.platform == Platform.WEBHOOK:
can_edit = False
```
Прогресс-сообщения для вебхука шлются новыми сообщениями через `adapter.send()`, не `edit_message()`.
### Коммиты
| Дата | Коммит | Описание |
|------|--------|----------|
| 2026-06-18 | `714026a6e` | Исправлен первый гард — разрешён tool progress для webhook |
| 2026-06-18 | (config) | Добавлен `display.platforms.webhook.tool_progress: all` |
| 2026-06-18 | `a92840dcd` | force `can_edit=False` для webhook — прогресс через `send()`, не `edit_message()` |
### Проверка
Tool progress ходит через вебхук — юзер видит уведомления о tool calls (подтверждено).