Skip to content

Conversation

@Devon-White
Copy link
Contributor

@Devon-White Devon-White commented Dec 11, 2025

Updates live_transcribe and live_translate documentation, OpenAPI specs, and SWML schema with improved parameter descriptions, new features, and REST API support.

Changes

New Features

  • Added calling.live_transcribe and calling.live_translate commands to the Calling REST API
  • Added translation filters (filter_from, filter_to) with preset values (polite, rude, professional, shakespeare, gen-z) and custom prompt support

Schema Improvements

  • Moved SpeechEngine enum to shared types for reuse across modules
  • Renamed summary_promptai_summary_prompt for consistency
  • Added default values: speech_timeout (60000ms), vad_thresh (400), debug_level (0), speech_engine (deepgram)
  • Changed speech_engine from required to optional with default

Documentation Updates

  • Improved parameter descriptions with valid ranges (e.g., vad_thresh (0-1800), debug_level (0-2))
  • Added engine-dependent default documentation for vad_silence_ms (300 for Deepgram, 500 for Google)
  • Added action usage context table showing which actions work at call start vs. during live calls
  • Added contextual notes for stop, summarize, and inject actions explaining REST API and SWML usage
  • Fixed InjectAction.direction type from array to single value

Files Modified

  • specs/signalwire-rest/calling-api/ - New REST API models and examples
  • specs/swml/Methods/live_transcribe/ - Updated TypeSpec definitions
  • specs/swml/Methods/live_translate/ - Updated TypeSpec definitions
  • specs/swml/Shared/Types/ - Added shared SpeechEngine enum
  • website/docs/.../live_transcribe/ - Updated MDX documentation (Preview)
  • website/docs/.../live_translate/ - Updated MDX documentation (Preview)

Breaking Changes

  • summary_prompt renamed to ai_summary_prompt
  • speech_engine no longer required (has default)
  • InjectAction.direction changed from TranslateDirection[] to TranslateDirection

@netlify
Copy link

netlify bot commented Dec 11, 2025

Deploy Preview for signalwire-docs ready!

Name Link
🔨 Latest commit e133c6d
🔍 Latest deploy log https://app.netlify.com/projects/signalwire-docs/deploys/695d49cda6e4e00008d709c8
😎 Deploy Preview https://deploy-preview-741--signalwire-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 29 (🔴 down 11 from production)
Accessibility: 92 (no change from production)
Best Practices: 92 (no change from production)
SEO: 89 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link

github-actions bot commented Dec 11, 2025

yarn run v1.22.22
$ /home/runner/work/docs/docs/node_modules/.bin/ts-node tools/scripts/generate-matrix.ts

OpenAPI Specification Analysis

Changes are compared to the main branch:

  • 🟢 Improvements (higher scores or fewer issues)
  • 🔴 Regressions (lower scores or more issues)
  • ⚪ No changes
Spec Docs Completeness SDK Gen Security Overall Warnings Errors Report
specs/compatibility-api/_spec_.yaml 72/100
(=) ⚪
69/100
(=) ⚪
79/100
(=) ⚪
39/100
(=) ⚪
65/100
(=) ⚪
476
(=) ⚪
373
(=) ⚪
View
specs/signalwire-rest/calling-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
83/100
(=) ⚪
95/100
(=) ⚪
6
(=) ⚪
1
(=) ⚪
View
specs/signalwire-rest/chat-api/tsp-output/@typespec/openapi3/openapi.yaml 98/100
(=) ⚪
95/100
(=) ⚪
100/100
(=) ⚪
52/100
(=) ⚪
86/100
(=) ⚪
10
(=) ⚪
3
(=) ⚪
View
specs/signalwire-rest/datasphere-api/tsp-output/@typespec/openapi3/openapi.yaml 97/100
(=) ⚪
94/100
(=) ⚪
100/100
(=) ⚪
52/100
(=) ⚪
86/100
(=) ⚪
49
(=) ⚪
17
(=) ⚪
View
specs/signalwire-rest/fabric-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
84/100
(=) ⚪
95/100
(=) ⚪
557
(=) ⚪
2
(=) ⚪
View
specs/signalwire-rest/fax-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
84/100
(=) ⚪
95/100
(=) ⚪
10
(=) ⚪
1
(=) ⚪
View
specs/signalwire-rest/logs-api/tsp-output/@typespec/openapi3/openapi.yaml 98/100
(=) ⚪
95/100
(=) ⚪
100/100
(=) ⚪
52/100
(=) ⚪
86/100
(=) ⚪
9
(=) ⚪
4
(=) ⚪
View
specs/signalwire-rest/message-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
84/100
(=) ⚪
95/100
(=) ⚪
10
(=) ⚪
1
(=) ⚪
View
specs/signalwire-rest/project-api/_spec_.yaml 76/100
(=) ⚪
73/100
(=) ⚪
69/100
(=) ⚪
36/100
(=) ⚪
64/100
(=) ⚪
21
(=) ⚪
14
(=) ⚪
View
specs/signalwire-rest/pubsub-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
84/100
(=) ⚪
95/100
(=) ⚪
5
(=) ⚪
1
(=) ⚪
View
specs/signalwire-rest/space-api/_spec_.yaml 76/100
(=) ⚪
73/100
(=) ⚪
88/100
(=) ⚪
40/100
(=) ⚪
69/100
(=) ⚪
380
(=) ⚪
275
(=) ⚪
View
specs/signalwire-rest/video-api/_spec_.yaml 86/100
(=) ⚪
85/100
(=) ⚪
86/100
(=) ⚪
39/100
(=) ⚪
74/100
(=) ⚪
179
(=) ⚪
131
(=) ⚪
View
specs/signalwire-rest/voice-api/tsp-output/@typespec/openapi3/openapi.yaml 99/100
(=) ⚪
99/100
(=) ⚪
100/100
(=) ⚪
84/100
(=) ⚪
95/100
(=) ⚪
15
(=) ⚪
1
(=) ⚪
View

Done in 153.83s.

briankwest
briankwest previously approved these changes Dec 11, 2025
@hey-august
Copy link
Contributor

Reviewing

Resolved conflicts in live_transcribe, live_translate specs and docs.
See PR for conflict resolution details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@hey-august
Copy link
Contributor

Merge Conflict Resolution: main → Devon/live_methods-update

specs/swml/Methods/live_transcribe/main.tsp

Conflict HEAD (branch) main Resolution
L14-21: SpeechEngine enum Not present Defined locally Removed - Already exists in Shared/Types/main.tsp; avoid duplication
L43-49: speech_timeout @doc "Speech timeout in milliseconds." "The timeout for speech recognition in milliseconds." main - More explicit description
L43-49: speech_timeout @example 30 30000 main - 30ms is unrealistic; 30000ms matches 60000ms default
L56-68: vad_thresh @doc "...threshold (0-1800)." "...threshold." branch - Includes valid range for users
L56-68: vad_thresh @example 3 400 main - 3 is unrealistic; 400 matches default
L60-68: debug_level @doc "...logging (0-2)." "...logging." branch - Includes valid range for users
L75-86: speech_engine @example SpeechEngine.google Not present branch - Provides example value
L80-86: ai_summary_prompt @doc "...instructs how to summarize...when ai_summary is enabled." "The prompt for summarization." branch - More descriptive, explains relationship to ai_summary

specs/swml/Methods/live_translate/main.tsp

Conflict HEAD (branch) main Resolution
L14-50: Enum definitions TranslationFilterPreset + CustomTranslationFilter SpeechEngine branch - TranslationFilterPreset is new feature; SpeechEngine already in shared types
L89-95: speech_timeout @doc "Speech timeout in milliseconds." "The timeout for speech recognition in milliseconds." main - More explicit description
L89-95: speech_timeout @example 30 30000 main - Realistic value
L102-114: vad_thresh @doc "...threshold (0-1800)." "...threshold." branch - Includes valid range
L102-114: vad_thresh @example 3 400 main - Matches default
L107-114: debug_level @doc "...logging (0-2)." "...logging." branch - Includes valid range
L121-132: speech_engine @example SpeechEngine.google Not present branch - Provides example
L126-132: ai_summary_prompt @doc "...instructs how to summarize...when ai_summary is enabled." "The prompt for summarization." branch - More descriptive
L156-161: prompt @doc (SummarizeAction) "The AI prompt that instructs how to summarize the conversation." "The prompt for summarization." branch - Clearer description

website/docs/.../live_transcribe/action/start.mdx

Conflict HEAD (branch) main Resolution
L68-72: vad_silence_ms default "300 | 500" "300" branch - Accurately documents engine-dependent default (300 for Deepgram, 500 for Google)
L107-119: speech_engine description "The speech recognition engine to use." "The speech engine to use for transcription." branch - Slightly more descriptive
L111-118: Field name start.ai_summary_prompt start.summary_prompt branch - Matches renamed field in TypeSpec

website/docs/.../live_translate/action/start.mdx

Conflict HEAD (branch) main Resolution
L128-132: vad_silence_ms default "300 | 500" "300" branch - Documents engine-dependent default
L173-187: speech_engine description "The speech recognition engine to use." "The speech engine to use for transcription." branch - More appropriate (this is translation, not transcription)
L179-186: Field name start.ai_summary_prompt start.summary_prompt branch - Matches renamed field

specs/swml/Methods/ai/ai_params.tsp (from stash)

Conflict Stashed (our fix) main Resolution
L393: openai_asr_engine type "deepgram:nova-2" | "deepgram:nova-3" string = "gcloud_speech_v2_async" main - Doc says "and other supported ASR engines" implying more values exist; string type is more flexible

@Devon-White Devon-White merged commit 17cfa5d into main Jan 6, 2026
6 checks passed
@Devon-White Devon-White deleted the Devon/live_methods-update branch January 6, 2026 18:41
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.

[DOC] - Add missing properties to SWML schema for live_translate and live_transcribe

4 participants