You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**HTTP mocking**: use `respx` (not `unittest.mock` for HTTP). Fixture `mock_api` provides a router scoped to `https://api.plivo.com`
@@ -64,6 +140,7 @@ ruff check src/ tests/ # lint
64
140
- VoiceApp auto-detects sync vs async handlers — sync runs in thread pool via `asyncio.to_thread()`
65
141
- Unknown WebSocket events parse to raw `dict` (forward-compatible)
66
142
- HttpTransport retries on 429 (respects `Retry-After`) and 5xx with exponential backoff
143
+
- Agent REST client auto-expands `semantic_vad` presets to full config dicts
67
144
68
145
## Git & commit rules
69
146
@@ -78,5 +155,6 @@ ruff check src/ tests/ # lint
78
155
79
156
- New REST resources: add to the appropriate sub-client (`agent/client.py`, `messaging/client.py`, `numbers/client.py`), wire into the parent client, add tests with `respx` mocks
80
157
- New WebSocket events: add a `@dataclass` to `agent/events.py`, register in `_EVENT_REGISTRY`, add parse test in `test_events.py`
158
+
- New prebuilt tools: add to `agent/tools.py`, export in `agent/__init__.py`
81
159
- New examples: add to `examples/`, use `from plivo_agentstack import AsyncClient` and `from plivo_agentstack.agent import VoiceApp, ...` pattern. Update README Quick start section
82
160
- Keep dependencies minimal — core deps are `httpx`, `websockets`, `starlette` only
-**Per-session state** - `session.data` dict persists across events within a call
65
71
-**Messaging** - SMS, MMS, WhatsApp with template and interactive message builders
66
72
-**Numbers** - search, buy, manage, and carrier lookup
@@ -80,14 +86,17 @@ Requires Python 3.10+.
80
86
81
87
Sign up at [cx.plivo.com/signup](https://cx.plivo.com/signup) to get your `PLIVO_AUTH_ID` and `PLIVO_AUTH_TOKEN`, set them as environment variables, then see the [`examples/`](examples/) directory for runnable scripts:
82
88
83
-
-[**Full AI pipeline**](examples/full_pipeline.py) - tool calls, model switching, voicemail detection, transfers
89
+
-[**Full AI pipeline**](examples/full_pipeline.py) - tool calls, agent tools, model switching, voicemail detection, transfers, handoff, metrics
0 commit comments