Commit graph

243 commits

Author SHA1 Message Date
Sabiha Khan
5ee68f58bb fix: honor telnyxs per-call codec in bidirectional stream
Telnyx's bidirectional stream uses different codecs per direction:
  - Dograh → Telnyx: what we declare via `stream_bidirectional_codec`
  - Telnyx → Dograh: whatever the PSTN leg negotiated (PCMA for UK,
    Europe, India termination; PCMU for US), announced as
    `media_format.encoding` on the WebSocket start message.

We hardcoded both directions on the serializer to PCMU, so any call
whose PSTN leg used PCMA arrived as A-law bytes that we decoded
through a μ-law table → static for the entire call.

`handle_websocket` now extracts `media_format.encoding` from the
start message and threads it through `transport_kwargs`. The
serializer uses it for the Telnyx → Dograh direction; the
Dograh → Telnyx direction stays pinned to PCMU to match the
unchanged `stream_bidirectional_codec` in the dial/answer payloads.

Note: pipecat's `TelnyxFrameSerializer` names its params from the
call's POV, not Dograh's — `inbound_encoding` is what we send into
the call, `outbound_encoding` is what we receive. Easy to mix up.
2026-04-29 19:12:06 +05:30
Abhishek
e16f6438bd
feat: refactor telephony to support multiple telephony configurations (#251)
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-04-29 11:39:57 +05:30
Abhishek Kumar
2f860e7f6d Merge branch 'main' of https://github.com/dograh-hq/dograh 2026-04-25 20:43:41 +05:30
dilipevents2007-cpu
2218ba8ad9
feat: add Plivo telephony provider support (#245)
* Add Plivo telephony provider support

* add Plivo telephony UI, fix audio config, and improve inbound call handling

---------

Co-authored-by: Dilip Tiwari <digitalapache20@gmail.com>
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
Co-authored-by: Abhishek <abhishek@a6k.me>
2026-04-25 20:41:46 +05:30
Abhishek Kumar
a1d4a1fab2 fix: make trigger paths globally unique 2026-04-25 19:44:44 +05:30
Abhishek Kumar
3e3773f400 feat: add create workflow tool in MCP 2026-04-25 17:38:38 +05:30
Abhishek Kumar
d6567eef28 chore: regenerate sdk 2026-04-25 16:34:19 +05:30
Abhishek Kumar
4171ad7a54 feat: add test mode for API trigger 2026-04-25 16:30:26 +05:30
Abhishek Kumar
f041e6030d feat: add examples to create workflow and use sdk 2026-04-24 14:09:24 +05:30
Abhishek Kumar
16587fd7e1 chore: fix duplicate workflow issue 2026-04-24 13:17:04 +05:30
Sabiha Khan
f7c1f63e1b
feat: add posthog signup and signin events, enable backend posthog events for oss version (#249) 2026-04-24 12:02:52 +05:30
Sabiha Khan
e556a60ab0
chore(main): release dograh 1.26.0 (#246) 2026-04-21 18:17:02 +05:30
Abhishek
00a1a22b74
feat: refactor node spec and add mcp tools (#244)
* refactor: carve out extraction panel

* refactor: create spec versions for node types

* refactor: create a GenericNode and remove custom nodes

* feat: add python and typescript sdk

* add dograh sdk

* fix: fetch draft workflow definition over published one

* fix: fix routes of SDKs to use code gen

* chore: remove doclink dependency to reduce image size

* chore: format files

* chore: bump pipecat

* feat: let mcp fetch archived workflows on demand

* chore: fix tests

* feat: add sdk documentation

* chore: change banner and add badge
2026-04-21 07:56:16 +05:30
Sabiha Khan
5c124ade93
chore(main): release dograh 1.25.0 (#239) 2026-04-17 12:05:41 +05:30
Abhishek Kumar
599dae87a9 chore: add mcp documentation 2026-04-17 12:01:57 +05:30
Sabiha Khan
5ecc0d4da9
fix: allow cross subdomain cookies at posthog (#243) 2026-04-17 11:47:20 +05:30
Zakir Jiwani
1d0a7cd2d8
Fix inbound call phone numbers not shown in usage logs (#241)
For outbound calls, the caller phone is stored as "phone_number" in
initial_context. For inbound calls, it is stored as "caller_number".
The usage log extraction only checked "phone_number", so inbound
caller numbers were never surfaced.

Add a fallback to also check "caller_number" when "phone_number" is absent.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 11:42:57 +05:30
Abhishek
79bc91b1e0
feat: add mcp server to Dograh OSS (#240)
* feat: add mcp server

* update mcp endpoint
2026-04-16 13:03:29 +05:30
Abhishek Kumar
e31b38122e fix: fix interruption handling for Gemini Live
1. Fixes #236
2. Fix run_inference for variable extraction for Gemini Live
2026-04-15 19:29:07 +05:30
Sabiha Khan
14e6f29f2f
chore(main): release dograh 1.24.0 (#237) 2026-04-14 19:00:12 +05:30
Abhishek Kumar
7fab959e26 feat: add redial option in campaigns 2026-04-13 23:25:43 +05:30
Sabiha Khan
10412e31db
chore(main): release dograh 1.23.1 (#235) 2026-04-11 21:51:41 +05:30
Sabiha Khan
faff468db8
chore(main): release dograh 1.23.0 (#233) 2026-04-11 18:29:55 +05:30
Sabiha Khan
ebde28d19d
fix: bake punkt_tab file into docker images (#234) 2026-04-11 18:29:19 +05:30
Sabiha Khan
0bdb65f197
chore(main): release dograh 1.22.0 (#228) 2026-04-10 21:55:48 +05:30
Abhishek
7c245051d2
feat: add recording audio option in tool and node transitions (#232)
* feat: allow uploading recording as part of node transition

* feat: allow recordings in tool transitions

* chore: fix tests
2026-04-10 17:53:42 +05:30
Sabiha Khan
3f19a16e7f
feat: add posthog events (#231)
* feat: add posthog events

* fix: workflow_duplicated event

* chore: add events to enum
2026-04-10 17:52:21 +05:30
Abhishek Kumar
8b3dc02722 fix: render prompt template for variable extraction 2026-04-09 15:20:56 +05:30
Abhishek Kumar
87c8c5e2c8 feat: add full document mode in knowledge base 2026-04-09 13:49:20 +05:30
Sabiha Khan
c085398933
chore(main): release dograh 1.21.0 (#221) 2026-04-09 12:40:10 +05:30
Abhishek Kumar
9decdb2f4b fix: send volume in cartesia 2026-04-08 23:20:14 +05:30
Abhishek Kumar
1f5229e2df chore: update prompt for pre-recorded audio generation 2026-04-08 22:23:14 +05:30
Abhishek
38d1d928b7
feat: agent versioning and model configurations override (#227)
* feat: add tests and migrations

* feat: workflow versioning among published and draft

* feat: add a new settings page to simplify workflow detail page

* fix: fix tsclient generation
2026-04-08 19:20:31 +05:30
Abhishek Kumar
6a473a9db5 fix: set context before update settings for live 2026-04-07 18:46:17 +05:30
Abhishek Kumar
e04ce4e852 chore: add language option for Rime 2026-04-07 18:32:09 +05:30
Abhishek Kumar
e255b33813 feat: add Rime TTS 2026-04-07 14:05:47 +05:30
Abhishek Kumar
6792ecd301 feat: allow multiple recording file upload 2026-04-06 16:50:24 +05:30
drascom
95d6dd44ff
fix: Speaches STT service wiring
* Fix Speaches STT service wiring

* chore: bump pipecat submodule

---------

Co-authored-by: drascom <drascom@drascoms-MacBook-Pro.local>
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-04-06 14:11:58 +05:30
Abhishek
ec2f322486
feat: add pre call fetch configuration (#222)
* feat: add pre call fetch configuration

* docs: add NEW tags for pages about new features

---------

Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-04-06 12:30:37 +05:30
Abhishek Kumar
c4c4b591db feat: add gladia stt support 2026-04-04 14:47:48 +05:30
Abhishek Kumar
03df5595c3 feat: add worker sync events
Add a worker sync event so that runtime updates on one worker can propagate across other workers using pubsub for multi worker deployments
2026-04-04 14:26:47 +05:30
Abhishek Kumar
56763a4527 feat: enable context summarization 2026-04-03 13:39:02 +05:30
Abhishek Kumar
501d06c00d feat: add Assembly AI STT 2026-04-03 07:10:37 +05:30
Abhishek Kumar
e7adbc7bad feat: add default telephony variables 2026-04-02 14:48:13 +05:30
Abhishek Kumar
96c90376c3 feat: add default initial context variables 2026-04-02 14:32:43 +05:30
Abhishek Kumar
f368fe5134 feat: set calculator as custom tool on demand 2026-04-02 14:07:03 +05:30
Sabiha Khan
71136452db
chore(main): release dograh 1.20.0 (#212) 2026-03-31 22:57:30 +05:30
Abhishek
87e72d5f6f
feat: add gemini live and speaches integration (#220)
* feat: add speaches models

* feat: add gemini realtime and speaches integration

- Add gemini realtime support
- Add speaches support for locally hosted LLMs

* chore: bump pipecat

* feat: add language option

* fix: add skip aggregator types to tts settings

* fix: make API key optional for realtime
2026-03-31 21:42:03 +05:30
Sabiha Khan
e0c3d6c3bf
fix: skip updating gathered_context when the extracted variables is not a dict (#219) 2026-03-31 21:41:49 +05:30
Abhishek Kumar
9bc2ffc193 fix: add disposition codes in workflows 2026-03-27 19:20:05 +05:30