Skip to content

bump schema, add new verbs, regen sdk - #10

Merged
davehorton merged 1 commit into
mainfrom
schema_0-4-23
Oct 14, 2026
Merged

davehorton merged 1 commit into
mainfrom
schema_0-4-23

Conversation

@sammachin

Copy link
Copy Markdown
Contributor

The SDK was pinned to jambonz schema v0.3.8; upstream is now v0.4.23. I bumped the pin, re-synced all schemas, regenerated the pydantic models and type stubs, and wired up the new verbs.

New features now supported

5 new verbs (registry entries added in verb_registry.py):

transfer — blind/warm transfer with built-in failure handling
room — synonym for conference (Voice-AI-friendly name)
gptlive_s2s, qwen_s2s, voicelive_s2s — three new speech-to-speech vendors

New/updated components (auto-generated): handoff, hangup, transferOptions, 4 new recognizer vendors (xai, zoom, gradium, modulate), plus new fields across existing verbs — notably agent gained handoff, hangup, toolFiller, mcpServers, noiseIsolation, earlyGeneration and a properly-typed inline llm. Removed upstream: cobalt/nuance/verbio recognizers.

Three codegen fixes the version jump required
Conference verb enum — upstream changed verb from a const to enum: ["conference","room"]. The code generator mishandled this, emitting a broken Literal["conference#"] field that silently broke the whole Conference model. Added a VERB_ENUM_FIXUPS post-gen patch in regen_models.py to repair it.
Model registry — taught src/jambonz_sdk/_models/_registry.py to index a model under every literal verb value, so room resolves to the Conference model (validates against the conference shape, serializes verb: "room").
Public re-exports — broadened the export heuristic so Transfer/Handoff (which subclass TransferOptions, not JambonzModel directly) are exported.

Also removed a now-obsolete Agent.llm override and updated README/AGENTS.md verb lists.

Verification
311 tests pass (was 291; +20 for the new verbs), ruff clean on src/+tests/
Confirmed serialization: conference→verb:"conference", room→verb:"room", transfer→verb:"transfer", all with validation (unknown fields rejected)
The public export diff matches the schema changes exactly — no existing exports dropped or renamed

One note: mypy strict reports more errors than before (72 vs a pre-existing baseline of 31), but all new ones are in auto-generated vendor files — the same patterns mypy already flagged at baseline. None are in the hand-written code I edited (those two files are mypy-clean). mypy strict was never green on generated code in this repo.

@sammachin
sammachin requested a review from davehorton October 14, 2026 11:10
@davehorton
davehorton merged commit 861c533 into main Oct 14, 2026
7 checks passed
@davehorton
davehorton deleted the schema_0-4-23 branch October 14, 2026 12:11
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.

2 participants