Skip to content

feat(init): Telnyx STT/TTS parity in patter init wizard + README + .env.example - #225

Open
a692570 wants to merge 1 commit into
PatterAI:mainfrom
a692570:feat/telnyx-stt-tts-wizard-parity
Open

a692570 wants to merge 1 commit into
PatterAI:mainfrom
a692570:feat/telnyx-stt-tts-wizard-parity

Conversation

@a692570

@a692570 a692570 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

The patter init setup wizard lists Telnyx as a carrier but not as a pipeline STT or TTS provider, even though TelnyxSTT and TelnyxTTS ship in both SDKs, are exported from the package root, and have full docs pages (docs/{python,typescript}-sdk/providers/telnyx-{stt,tts}.mdx). Picking Telnyx as the carrier silently hides on-network speech as a pipeline option — a builder who chooses Telnyx for telephony has no idea they can also use Telnyx for STT/TTS on the same key, on the same bill, with no extra provider signup.

This PR closes that discoverability gap. It does not add new providers, new env vars, or new dependencies — TelnyxSTT and TelnyxTTS are already wired and exported. It only surfaces them in the wizard catalog, the README table, and .env.example.

Changes

  • libraries/python/getpatter/init/cli.py — add telnyx to PIPELINE_STT (class TelnyxSTT, env TELNYX_API_KEY, extra telnyx-ai) and PIPELINE_TTS (class TelnyxTTS, same env + extra).
  • libraries/typescript/src/init/cli.ts — same two entries in the TS wizard's PIPELINE_STT and PIPELINE_TTS records (parity).
  • README.md — add Telnyx to the STT provider row (was already in the TTS and Telephony rows).
  • .env.example — two comment lines under the Telnyx block noting that the same TELNYX_API_KEY powers TelnyxSTT and TelnyxTTS in pipeline mode.
  • CHANGELOG.md — entry under Unreleased.

Why no new env vars or deps

Both providers reuse TELNYX_API_KEY (the same key the Telnyx() carrier already reads) and the existing telnyx-ai pip extra (aiohttp>=3.10). Verified against libraries/python/getpatter/providers/telnyx_stt.py:102 and telnyx_tts.py:67 (both take api_key as the first constructor arg) and libraries/python/pyproject.toml (telnyx-ai = ["aiohttp>=3.10"]).

Pre-merge checklist

  • Both SDKs updated — matching Python and TypeScript wizard entries.
  • CHANGELOG.md updated — entry under Unreleased.
  • No secrets, credentials, or real phone numbers / PII — only placeholder values (KEY..., +1xxxxxxxxxx) and env var names.
  • No external license headers or "ported from " provenance comments in source files.
  • Local validation is green — pre-commit and test suite not run locally (no pre-commit installed in this environment); Python syntax verified via ast.parse, no whitespace errors via git diff --check, no real secrets via grep scan. CI will run the full gate.

Breaking change?

No. Adding entries to the wizard provider dicts only surfaces new choices in patter init; it does not change defaults (DEFAULT_STT = "deepgram", DEFAULT_TTS = "elevenlabs" unchanged) or runtime behavior for existing users.

Context

Follow-up to #103 (docs: Telnyx quickstart parity, merged May 25) and #106 (feat: Telnyx recording parity, merged May 25). The patter init wizard shipped in #191 (June 24, v0.6.9), after those PRs, so Telnyx STT/TTS was never wired into the wizard catalog.

…nv.example

The setup wizard listed Telnyx as a carrier but not as a pipeline STT or
TTS provider, even though TelnyxSTT and TelnyxTTS ship in both SDKs and
are exported from the package root. Picking Telnyx as the carrier hid
on-network speech as a pipeline option.

- Add telnyx to PIPELINE_STT and PIPELINE_TTS in both the Python and
  TypeScript init CLIs (class, label, env, pip extra).
- Add Telnyx to the README STT provider row (was already in TTS and
  Telephony rows).
- Note in .env.example that the same TELNYX_API_KEY powers TelnyxSTT
  and TelnyxTTS in pipeline mode.
- CHANGELOG entry under Unreleased.

Both providers reuse TELNYX_API_KEY (the same key the carrier already
reads) and the existing telnyx-ai pip extra. No new env vars, no new
deps, no behavior change for existing users.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant