feat: DX v0.1.2 — user_id kwarg, wait_for_status, parse_event_type/ack
...
- send/emit: первый класс user_id (сливается с payload, параметр сильнее payload["user_id"]) — sync и async близнецы
- wait_for_status(): поллинг статуса события до целевого
(дефолт done/failed, timeout 30 c); морг транспорта не прерывает
ожидание, не дождались — SynapseStatusTimeoutError с последним статусом
- webhook: parse_event_type() — тройка из X-Gnexus-Event-Type,
ack(event_id) — тело ответа 2xx приёмника
- smoke: источник из SYNAPSE_DEFAULT_SOURCE (как в реальном сервисе),
user_id в обоих send; прогнан против живого стека — ALL OK
- README: пин @v0.1.2, сигнатуры, новые строки таблиц
Тесты: 37 passed, ruff + mypy strict чисто.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
13 hours ago