@absolutejs/voice 0.0.22-beta.121 → 0.0.22-beta.122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +42 -3
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -224,9 +224,9 @@ app.use(
224
224
 
225
225
  The suite rolls up session quality, scenario evals, fixture simulations, tool contracts, and outcome contracts into one pass/fail report. It is the code-owned equivalent of "test this voice flow before production" without requiring a hosted voice-agent dashboard.
226
226
 
227
- ## Phone Voice Agent Path
227
+ ## Phone Voice Agent In 20 Minutes
228
228
 
229
- Use the telephony primitives when the agent needs to answer or place calls through your own carrier account:
229
+ Use `createVoicePhoneAgent(...)` when the agent needs to answer or place calls through your own Twilio, Telnyx, or Plivo account. This is the self-hosted alternative to a hosted phone-agent dashboard: your app owns the carrier routes, stream URLs, webhooks, traces, readiness checks, and lifecycle outcomes.
230
230
 
231
231
  ```ts
232
232
  import {
@@ -242,6 +242,10 @@ const outcomePolicy = createVoiceTelephonyOutcomePolicy({
242
242
  app
243
243
  .use(
244
244
  createVoicePhoneAgent({
245
+ setup: {
246
+ path: '/api/voice/phone/setup',
247
+ title: 'Support Phone Agent'
248
+ },
245
249
  matrix: {
246
250
  path: '/api/carriers',
247
251
  title: 'AbsoluteJS Voice Carrier Matrix'
@@ -274,7 +278,42 @@ app
274
278
  );
275
279
  ```
276
280
 
277
- The wrapper mounts selected carrier routes and a readiness matrix. Telnyx and Plivo use the same wrapper with `{ provider: 'telnyx', options: ... }` or `{ provider: 'plivo', options: ... }`. The lower-level `createTwilioVoiceRoutes(...)`, `createTelnyxVoiceRoutes(...)`, and `createPlivoVoiceRoutes(...)` helpers remain available when you need carrier-specific control.
281
+ The wrapper mounts selected carrier routes plus two proof surfaces:
282
+
283
+ - `/api/voice/phone/setup`: one setup report with carrier URLs, smoke links, lifecycle stages, and readiness.
284
+ - `/api/voice/phone/setup?format=html`: copy/paste setup page for carrier dashboards.
285
+ - `/api/carriers`: carrier matrix JSON for Twilio, Telnyx, and Plivo.
286
+ - `/api/carriers?format=html`: side-by-side carrier readiness matrix.
287
+
288
+ The setup page tells you exactly what to copy into the carrier dashboard:
289
+
290
+ - Twilio: set the phone number voice webhook/TwiML URL to the reported TwiML URL, set the status callback to the reported webhook URL, and allow the reported `wss://` media stream.
291
+ - Telnyx: set the connection TeXML URL to the reported TeXML URL, set the status webhook to the reported webhook URL, and allow the reported `wss://` media stream.
292
+ - Plivo: set the answer URL to the reported answer URL, set the status callback to the reported webhook URL, and allow the reported `wss://` media stream.
293
+
294
+ Each configured carrier can also expose its own setup and smoke pages, for example:
295
+
296
+ - `/api/voice/twilio/setup?format=html`
297
+ - `/api/voice/twilio/smoke?format=html`
298
+ - `/api/voice/telnyx/setup?format=html`
299
+ - `/api/voice/telnyx/smoke?format=html`
300
+ - `/api/voice/plivo/setup?format=html`
301
+ - `/api/voice/plivo/smoke?format=html`
302
+
303
+ The phone-agent report normalizes the lifecycle schema across carriers:
304
+
305
+ - `ringing`
306
+ - `answered`
307
+ - `media-started`
308
+ - `transcript`
309
+ - `assistant-response`
310
+ - `transfer`
311
+ - `voicemail`
312
+ - `no-answer`
313
+ - `completed`
314
+ - `failed`
315
+
316
+ That is the important Vapi/Retell/Bland gap this primitive closes: a team can mount one phone-agent entrypoint, bring its own carrier account, verify readiness before live calls, and keep call traces and lifecycle outcomes inside its own AbsoluteJS app. Telnyx and Plivo use the same wrapper with `{ provider: 'telnyx', options: ... }` or `{ provider: 'plivo', options: ... }`. The lower-level `createTwilioVoiceRoutes(...)`, `createTelnyxVoiceRoutes(...)`, and `createPlivoVoiceRoutes(...)` helpers remain available when you need carrier-specific control.
278
317
 
279
318
  ## App Kit And Status Widgets
280
319
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.22-beta.121",
3
+ "version": "0.0.22-beta.122",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",