|
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> |
|---|
|
|
| README.md |
|---|
| examples/plain/smoke.py |
|---|
| pyproject.toml |
|---|
| src/gnexus_synapse/__init__.py |
|---|
| src/gnexus_synapse/_async.py |
|---|
| src/gnexus_synapse/client.py |
|---|
| src/gnexus_synapse/exceptions.py |
|---|
| src/gnexus_synapse/webhook.py |
|---|
| tests/unit/test_client.py |
|---|
| tests/unit/test_webhook.py |
|---|