Commit graph

61 commits

Author SHA1 Message Date
developer603
acc2ef9e96
fix: make email lookup case-insensitive in get_user_by_email (#397)
* fix: make email lookup case-insensitive in get_user_by_email

Email addresses are case-insensitive in practice, but get_user_by_email
compared with an exact `UserModel.email == email` predicate. A user who
signed up as "User@example.com" could not be found when logging in as
"user@example.com" (and vice-versa), so the same person could fail to log
in — or be treated as a brand-new account — depending only on how their
client capitalized the address.

Compare on `func.lower(UserModel.email) == func.lower(email)` so lookups
are robust to capitalization. Minimal and backwards-compatible: it works
with existing mixed-case rows immediately, with no migration required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix: enforce case-insensitive user emails

---------

Co-authored-by: developer603 <vrramsolutions@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-06-02 13:43:20 +05:30
Abhishek Kumar
7810923bca chore: return formatted transcript url
- Return formatted transcript and recording URL
- Harden campaign dispatcher logic
2026-05-26 13:24:12 +05:30
Abhishek Kumar
ad2fa07058 feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +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
Abhishek
151bf77e40
feat: add agent skills to review PR (#320) 2026-05-19 17:02:26 +05:30
Abhishek
45b00cd5d0
chore: remove looptalk (#299)
* chore: remove looptalk

Remove looptalk in the current version. We will be rethinking looptalk in a fresh way.

* chore: formatting fix
2026-05-16 17:45:12 +05:30
Sabiha Khan
01c201bf09
feat: add telnyx webhook api key in telephony config (#270) 2026-05-09 18:03:42 +05:30
Abhishek Kumar
6d93be3ef6 fix: number pool initialization in multi telephony setup
If there are multiple telephony configurations, the form number should be initialized from the campaigns given telephonic configuration rather than the organization default telephonic configuration.
2026-05-08 14:48:53 +05:30
Abhishek Kumar
0282eb3225 chore: load paginated versions of workflow 2026-05-07 13:43:59 +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
7fd3b96470
feat: agent stream for cloudonix OPBX (#261)
* feat: agent stream for cloudonix OPBX

* feat: make cloudonix app name optional

* feat: create application while configuring telephony config

* fix: get telephony configuration from stamped workflow run

* fix: fix vobiz hangup URL
2026-05-02 15:53:58 +05:30
Abhishek
5cfdbeff02
chore: new telephony config as default (#260)
- Mark first new telephony config as default
- Show telephony config in campaign details
2026-04-30 17:33:16 +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
a1d4a1fab2 fix: make trigger paths globally unique 2026-04-25 19:44:44 +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
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 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
87c8c5e2c8 feat: add full document mode in knowledge base 2026-04-09 13:49:20 +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
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
9bc2ffc193 fix: add disposition codes in workflows 2026-03-27 19:20:05 +05:30
Abhishek Kumar
0b5fd107fa feat: date range in download report 2026-03-27 17:31:17 +05:30
Abhishek Kumar
ac0731a374 feat: add support for self hosted llm models 2026-03-24 17:50:45 +05:30
Abhishek Kumar
affb39e57f feat: custom telemetry configuration 2026-03-23 11:36:39 +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 Kumar
4d807266a7 feat: download campaign report 2026-03-11 17:57:04 +05:30
Abhishek Kumar
3ea235a666 fix: fix circuit breaker failure recording
fix: fix circuit breaker failure recording
chore: provide advanced configuration option in UI for campaigns
2026-03-05 13:43:13 +05:30
Abhishek Kumar
c8742dbdc0 feat: run per node QA 2026-02-25 17:17:48 +05:30
Abhishek
a836825b83
feat: add qa node in workflow builder (#172)
* feat: add qa node in workflow builder

* feat: add qa analysis token usage in usage_info

* fix: mask the API key in QA node

* feat: add advanced configuration in QA node
2026-02-25 13:53:30 +05:30
Abhishek
642cc34e8c
feat: add authentication for OSS (#167)
* feat: add authentication for OSS

Fixes #157 and #156

* fix: fix token generation

* fix: limit fastapi workers to 1
2026-02-20 18:21:24 +05:30
Abhishek Kumar
0791975864 chore: optimise query and script 2026-02-19 18:30:04 +05:30
Sabiha Khan
13b41437e8
fix: missing call_id in gathered_context (#165) 2026-02-18 21:13:28 +05:30
Abhishek
fe4ea648e4
Feat/campaign enhancements (#163)
* feat: add circuit breaker to safeguard

* feat: Add Circuit breaker in campaigns to safeguard against telephony failures

* feat: add schedules in campaigns
2026-02-17 21:04:15 +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
Abhishek
5fe1c8ce2f
chore: UI enhancements for workflow runs view (#142)
* add local state in filters

* feat: add sorting feature by duration

* chore: refactor workfow run view
2026-01-30 17:08:15 +05:30
Abhishek
6827744327
fix: make campaign process batch thread safe (#141)
* fix: dont schedule new batch on resume

* fix: make process_batch thread safe
2026-01-30 14:48:00 +05:30
Abhishek Kumar
e9c5da16c5 fix: add error in cloudonix cdr report 2026-01-29 20:43:53 +05:30
Abhishek
b1c982a52e
fix: add cloudonix CDR handling (#140)
* feat: add cloudonix cdr

* fix: remove org check

---------

Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-01-29 19:06:52 +05:30
Abhishek Kumar
6f41e91f67 feat: add retry config during campaign creation 2026-01-29 11:57:57 +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
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
a172db8022
feat: add end_call tool (#118)
* feat: add end_call tool

* chore: remove run_llm=True from properties
2026-01-14 16:40:40 +05:30
Sabiha Khan
97fbd9b37b
Feat/inbound telephony (#113)
* feat: inbound telephony (twilio & vobiz)

* chore: add ruff and lint formatting

* fix: add missing cloudonix interface compliance implementation
2026-01-12 10:10:30 +05:30
Abhishek
56953bbd09
Fix/multiple generation (#104)
* fixes #100

* Fix test

* fix: fix bad configuration issue
2026-01-03 12:59:18 +05:30