Commit graph

62 commits

Author SHA1 Message Date
Vishal Dhateria
7ba95c0fbe
feat: add Azure AI multi-provider support (TTS, STT, Embeddings, Realtime) (#381)
* feat: add Azure AI multi-provider support (TTS, STT, Embeddings, Realtime)

Enables Azure AI services across all model layers so users with Azure
credits can consolidate billing on a single provider.

- Voice (TTS): AzureSpeechTTSConfiguration via azure_speech provider
- Transcriber (STT): AzureSpeechSTTConfiguration via azure_speech provider
- Embedding: AzureOpenAIEmbeddingsConfiguration via azure provider
- Realtime: AzureRealtimeLLMConfiguration via azure_realtime provider

New files:
- api/services/pipecat/realtime/azure_realtime.py
- api/services/gen_ai/embedding/azure_openai_service.py
- api/tests/test_azure_speech_service_factory.py

The UI picks up all four providers automatically from the schema —
no frontend changes required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: add validation for URL and params

---------

Co-authored-by: Vishal Dhateria <vishal@finela.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-06-02 12:50:00 +05:30
Abhishek
5ef3be92b5
chore: update pipecat to 1.3.0 (#379)
* chore: rename PipelineTask to PipelineWorker

* fix: fix tests

* chore: update pipecat submodule

* fix: fix anyio same task cancellation scope
2026-05-29 16:19:42 +05:30
Abhishek
d97d1d72cd
feat: add chat based testing for voice agent (#308)
* feat: add backend foundations

* feat: add text chat UI

* chore: simplify the reload behaviour

* fix: fix upgrade banner to be triggered after package upload

* feat: simplify TesterPanel design

* chore: fix formatting and generate client

* chore: fix tracing for text chat mode

* fix: fix revert and edit CTA

* refactor: refactor TesterPanel into smaller components

* feat: enable runtime transition of nodes

* fix: fix review comments
2026-05-21 15:20:02 +05:30
Mohamed-Mamdouh
5f28c1b2a9
feat: add Tuner Integration to Dograh (#311)
* Add tuner integration

* bump pipecat version

* chore: update pipecat submodule to match upstream and use tuner-pipecat-sdk 0.2.0

Update pipecat submodule from 0.0.109.dev23 to 13e98d0d9 (the exact commit
upstream dograh-hq/dograh uses after v1.30.1). This installs pipecat-ai as
1.1.0.post277 via setuptools_scm, satisfying tuner-pipecat-sdk 0.2.0's
pipecat-ai>=1.0.0 requirement.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* wire tuner

* feat: refactor integrations into self contained packages

* chore: simplify ensure_public_access_token

* fix: remove NodeSpec and make DTOs the source of truth

* feat: send relevant signal to mcp using to_mcp_dict

* fix: fix tests

* cleanup: remove nango integrations

* feat: add agents.md for integrations

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-05-20 14:37:33 +05:30
Paulo Busato Favarato
75839f9de5
feat(mcp): generic MCP tool source with per-node function filtering (#301)
* feat(mcp): generic MCP tool source with per-node function filtering

Adds a Model Context Protocol tool category: connect a customer MCP
server and expose its tools to the agent, with optional per-node
allow-listing of individual MCP functions.

- ToolCategory.MCP enum + alembic migration
- MCP definition validator and collision-safe function-name namespacing
- McpToolSession wrapper: graceful-degrade, per-call open/close lifecycle
- CustomToolManager MCP branch (schemas + proxy handlers)
- Per-node mcp_tool_filters threaded through DTO/graph/engine
- Best-effort discovered_tools catalog cache + POST /tools/{uuid}/mcp/refresh
- UI: MCP create/edit config, tabbed ToolSelector with per-node toggles

* feat: refactor for code standardisation and documentation

---------

Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-05-19 16:10:00 +05:30
Abhishek Kumar
5a358d4d29 feat: add workflow graph constraints fixtures 2026-05-08 16:02:51 +05:30
Sabiha Khan
d2a119c38a
feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268)
* feat: add headless widget for deployment

* feat: call callbacks at the right time

* feat: add onCallConnected & onCallDisconnected callback

* feat: add a button with text for floating widget

* feat: add headless widget for deployment

* feat: call callbacks at the right time

* feat: add onCallConnected & onCallDisconnected callback

* feat: add a button with text for floating widget

* docs: web widget

* fix: format issue in pre-pr drift check

* fix: fix CD to rely on pipecat dev dependey

* chore: update message

---------

Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-05-07 12:23:41 +05:30
Abhishek
d4b6afb020
feat: add logs in campaigns for failure or pausing (#265)
* feat: add logs in campaigns on failure

* chore: bump pipecat

* chore: update format.sh

* chore: fix github workflow

* fix: fix formatting errors
2026-05-05 19:23:50 +05:30
Abhishek
0e12c41fc7
chore: bump pipecat version and fix tests (#263)
* chore: bump pipecat version and fix tests

* chore: add github workflow to run tests

* fix: install reqirements.dev.txt in test script

* fix: fix api-test action

* feat: add integration test

* test: add integration tests

* test: add test for function call mute strategy
2026-05-04 21:35:37 +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
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
Abhishek Kumar
7fab959e26 feat: add redial option in campaigns 2026-04-13 23:25:43 +05:30
Abhishek Kumar
74dbafb055 feat: allow recordings in tool transitions 2026-04-10 16:18:01 +05:30
Abhishek Kumar
65c76ca7ff feat: allow uploading recording as part of node transition 2026-04-10 11:54:00 +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
Abhishek Kumar
6a473a9db5 fix: set context before update settings for live 2026-04-07 18:46:17 +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
56763a4527 feat: enable context summarization 2026-04-03 13:39:02 +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
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
Sabiha Khan
2588956c56
chore: increase timeout for pending variable extraction tasks (#208) 2026-03-25 19:51:07 +05:30
Abhishek Kumar
ac0731a374 feat: add support for self hosted llm models 2026-03-24 17:50:45 +05:30
Abhishek Kumar
e859b92be8 Merge branch 'main' of https://github.com/dograh-hq/dograh 2026-03-23 11:36:42 +05:30
Abhishek Kumar
affb39e57f feat: custom telemetry configuration 2026-03-23 11:36:39 +05:30
Sabiha Khan
d42c52dc87
fix: await pending variable extraction tasks before pipeline finishes (#198) 2026-03-23 10:11:17 +05:30
Abhishek Kumar
1967a71935 feat: add rtf log when user speaks when muted 2026-03-21 13:55:34 +05:30
Abhishek Kumar
f6239ca476 chore: dont extract variable on voicemail 2026-03-19 15:58:09 +05:30
Abhishek Kumar
fe84f086ba feat: add AWS Bedrock support 2026-03-19 15:06:59 +05:30
Abhishek
494c60d774
feat: add hybrid text + recording functionality in agents (#191)
* feat: add recording feature in agents

* chore: pin pipecat version

* feat: show usage in UI

* chore: update pipecat
2026-03-16 15:04:08 +05:30
Abhishek
ec58356276
feat: add message before tool calls (#185) 2026-03-09 17:28:13 +05:30
Abhishek Kumar
e34e4f8f3c chore: upgrade pipecat 2026-03-06 16:49:14 +05:30
Abhishek Kumar
dfb741e475 feat: abort call on pipeline error and send rtf event 2026-03-05 14:51:39 +05:30
Abhishek Kumar
7e2de092ae feat: Add end call reason in tool calls. 2026-02-21 14:21:39 +05:30
Abhishek
7552b6c819
feat: add asterisk ARI websocket interface (#159)
* chore: remove old files

* feat: ari outbound dialing

* feat: add websocket configuration for ARI

* feat: handling inbound calls

* delete ext channel from redis on stasis end

* fix: add lock in workflow run update, refactor _handle_stasis_start

* chore: update submodule

---------

Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-02-17 19:32:03 +05:30
Sabiha Khan
c711920165
feat: telephony call transfer (#155)
* transfer call

* fix: ignore completed call status

* chore: refactor telephony

* chore: refactor pipecat engine custom tools and other telephony services

* chore: code refactor

* chore: put back office ambient sound files

* chore: remove transport from engine

* fix: fix alembic revision

* chore: remove set_transferring_call from engine

* fix: send OutputAudio frame and let transport chunk it

* fix: reinstate docker compose

* chore: remove unused transfer-twmil route for caller

* chore: update pipecat submodule

---------

Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-02-16 14:33:33 +05:30
Abhishek Kumar
4c936ae57d feat: add openrouter support 2026-02-09 13:31:32 +05:30
Abhishek Kumar
7e438ad049 fix: allow interruption on start_node 2026-02-02 18:33:05 +05:30
Abhishek
91911769b0
feat: mute on function call (#138) 2026-01-29 14:42:34 +05:30
Abhishek
033fde8946
chore: refactor and add tests (#130)
* chore: add tests for end call

* Update pipecat module

* fix: allow interruptions from deepgram flux

* Add VadUserTurnStrategy

* chore: add test for voicemail detection
2026-01-27 18:20:23 +05:30
Abhishek Kumar
6b408e588c fix: fix variable extraction during pipeline execution flow 2026-01-26 12:13:55 +05:30
Abhishek
911c5ed416
fix: changes to update pipecat version to 0.0.100 (#122)
* feat: add stt evals

* add smart turn as provider

* chore: remove deprecations

* chore: format files

* fix: remove deprecated UserIdleProcessor

* fix: remove deprecated TranscriptProcessor

* chore: update pipecat submodule

* feat: add evals visualisation

* fix: trigger llm generation on client connected and pipeline started

* chore: update pipecat

* chore: update pipecat submodule

* Add tests

* fix: slow loading of workflow page

* chore: update pipecat submodule

* Show version after release

* Fixes #99

* fix: provider check for websocket connection

* Fixes #107

* Fix #96

* chore: fix documentation

* fix: cloudonix campaign call error

---------

Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-01-23 18:53:59 +05:30
Abhishek Kumar
a4367bd83b fix: set_node during node execution 2026-01-22 20:28:13 +05:30
Abhishek Kumar
d35eeb1b7b fix: fix OPENAI_API_KEY bug in retrieval 2026-01-17 18:12:56 +05:30
Abhishek
ef5b9e40a9
feat: knowledge base functionality for the voice agent (#120)
* feat: upload file and store embedding

* feat: add documents in nodes

* feat: add openai embedding service
2026-01-17 14:37:03 +05:30
Abhishek
cac25879bf
feat: add rtf in logs (#119)
* feat: add rtf in logs

* chore: unify the call logs and real time events
2026-01-15 16:17:17 +05:30
Abhishek Kumar
1f3b3e2e3c chore: minor fixes 2026-01-13 14:55:48 +05:30
Abhishek
edf0fa4fbc
fix: migrate from custom audio recorder to native AudioBuffer (#115)
* fix: update to pipecat VM Detector

* fix: refactor to remove audio synchronizer

* feat: add speechmatics as STT
2026-01-08 18:03:26 +05:30