From f5f92dea6309ca20591e9dfb115ec50602d5fc38 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Thu, 16 Apr 2026 22:55:50 -0400 Subject: [PATCH] Add changelog entries and restore multi-line WhatsApp error log Add changelog entries for the pyright introduction and the LiveKitRunnerArguments.token signature tightening. Restore the indented multi-line format for the WhatsApp missing-env error, now listing only the vars that are actually missing. --- changelog/4324.added.md | 1 + changelog/4324.changed.md | 1 + src/pipecat/runner/run.py | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changelog/4324.added.md create mode 100644 changelog/4324.changed.md diff --git a/changelog/4324.added.md b/changelog/4324.added.md new file mode 100644 index 000000000..d38887585 --- /dev/null +++ b/changelog/4324.added.md @@ -0,0 +1 @@ +- Added incremental `pyright` type checking. A `pyrightconfig.json` at the repo root uses `typeCheckingMode: "basic"` with an explicit `include` list of modules that pass cleanly (`clocks`, `metrics`, `transcriptions`, `frames`, `observers`, `extensions`, `turns`, `pipeline`, `runner`). Remaining modules will be added in subsequent PRs. CI enforces the checked set via `uv run pyright` in the format workflow. diff --git a/changelog/4324.changed.md b/changelog/4324.changed.md new file mode 100644 index 000000000..672c60b62 --- /dev/null +++ b/changelog/4324.changed.md @@ -0,0 +1 @@ +- `LiveKitRunnerArguments.token` is now a required `str` (previously `str | None` with a default of `None`). LiveKit requires a token to join a room, so the type now reflects reality. This only affects custom runners that construct `LiveKitRunnerArguments` directly; code consuming the argument from the standard runner is unaffected. diff --git a/src/pipecat/runner/run.py b/src/pipecat/runner/run.py index ca296bd78..a53dea519 100644 --- a/src/pipecat/runner/run.py +++ b/src/pipecat/runner/run.py @@ -396,8 +396,11 @@ def _setup_whatsapp_routes(app: FastAPI, args: argparse.Namespace): ] missing = [v for v in required_vars if not os.getenv(v)] if missing: + missing_list = "\n ".join(missing) logger.error( - f"Missing required environment variables for WhatsApp transport: {', '.join(missing)}" + f"""Missing required environment variables for WhatsApp transport: + {missing_list} + """ ) return