dograh/api
Mubashir Rahim e3c08209bb fix(workflow): detect duplicate trigger paths when first node has no id
validate_trigger_paths used seen_paths.get(trigger_path) and treated a None
result as "path not seen yet". But None is also what node.get("id") returns
for a node without an id, so when the first trigger node sharing a path had no
id, it was stored as None and every later node with the same path was silently
accepted as unique — duplicate trigger paths slipped through validation.

Use a membership test (trigger_path not in seen_paths) so "first occurrence"
and "node_id happens to be None" are no longer conflated. Behavior is
unchanged for nodes that have ids.

Adds a regression test that fails before and passes after.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 14:26:26 +05:00
..
alembic fix: make email lookup case-insensitive in get_user_by_email (#397) 2026-06-02 13:43:20 +05:30
assets feat: telephony call transfer (#155) 2026-02-16 14:33:33 +05:30
db fix: make email lookup case-insensitive in get_user_by_email (#397) 2026-06-02 13:43:20 +05:30
errors Feat/inbound telephony (#113) 2026-01-12 10:10:30 +05:30
mcp_server feat: create tools using MCP 2026-05-31 16:50:44 +05:30
native/rnnoise Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
routes fix(webrtc): enforce embed allowed-domain policy on public signaling websocket (#388) 2026-06-02 13:10:30 +05:30
schemas fix: support object and array parameters in custom HTTP tools (#373) 2026-06-02 11:35:38 +05:30
services fix(workflow): detect duplicate trigger paths when first node has no id 2026-06-03 14:26:26 +05:00
tasks feat: add Azure AI multi-provider support (TTS, STT, Embeddings, Realtime) (#381) 2026-06-02 12:50:00 +05:30
tests fix(workflow): detect duplicate trigger paths when first node has no id 2026-06-03 14:26:26 +05:00
utils feat: allow overriding base URL of OpenAI models (#368) 2026-05-27 13:07:45 +05:30
.cursorignore Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
.dockerignore Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
.env.example fix: number pool initialization in multi telephony setup 2026-05-08 14:48:53 +05:30
.env.test.example feat: add devcontainer based setup (#352) 2026-05-25 20:44:22 +05:30
.gitignore Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
__init__.py Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
AGENTS.md feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
alembic.ini chore: bump pipecat version and fix tests (#263) 2026-05-04 21:35:37 +05:30
app.py fix: harden CORS origin allow list 2026-05-27 15:36:48 +05:30
CLAUDE.md Chore/add setup and contributing docs (#90) 2025-12-27 09:25:20 +05:30
conftest.py feat: add devcontainer based setup (#352) 2026-05-25 20:44:22 +05:30
constants.py fix: harden CORS origin allow list 2026-05-27 15:36:48 +05:30
Dockerfile fix: retry for ffmpeg during github action 2026-05-31 16:05:24 +05:30
enums.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
logging_config.py feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268) 2026-05-07 12:23:41 +05:30
pyproject.toml chore(main): release dograh 1.33.0 (#376) 2026-05-31 13:22:18 +05:30
pytest.ini feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
requirements.dev.txt feat: add devcontainer based setup (#352) 2026-05-25 20:44:22 +05:30
requirements.txt fix(security): bump python-multipart 0.0.20 -> 0.0.27 (#332) 2026-05-21 15:29:27 +05:30
sdk_expose.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30