dograh/api/tests
Abhishek 00b35d6963
feat: UI refresh and user onboarding (#430)
* docs: design spec for lead-gen surfaces (Credits & Billing, Hire-an-Expert, Top-up, Enterprise)

Add brainstorming spec for: sidebar OBSERVE→MANAGE rename + Credits & Billing
link + Hire-an-Expert footer button; new /billing page with extracted Dograh
Model Credits card + CTAs; Top-up / Hire-an-Expert / Enterprise intake modals
with inline math captcha; and a workflow-builder Hire-an-Expert nudge. Frontend
only; submissions fire PostHog events via a submitLead() seam for a future
MongoDB endpoint. Also gitignore .superpowers/ brainstorm mockups.

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

* docs: implementation plan for user-onboarding lead-gen surfaces

14 bite-sized tasks: PostHog events, shared helpers (field options,
work-email blocklist, submitLead seam, math captcha), three intake modals
(enterprise/hire/top-up), LeadFormsProvider context, AppLayout mount, sidebar
MANAGE rename + Credits & Billing link + footer Hire button, extracted
DograhCreditsCard, /billing page, credits removal from Agent Runs, builder
nudge, and a full verification/dogfood pass.

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

* feat(lead-gen): register PostHog events for lead-gen surfaces

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

* feat(lead-gen): shared field options, work-email validation, and submit seam

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

* feat(lead-gen): inline math captcha field

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

* feat(lead-gen): enterprise intake modal

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

* feat(lead-gen): hire-an-expert modal with enterprise link

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

* feat(lead-gen): top-up modal with >20k volume-pricing gate

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

* feat(lead-gen): shared lead-forms context provider

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

* feat(lead-gen): mount LeadFormsProvider in app layout

Wrap the sidebar branch of AppLayout with LeadFormsProvider so the shared
lead modals are available to the sidebar, billing card, and builder nudge.
Includes eslint import-order auto-fixes in TopUpModal and LeadFormsContext.

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

* feat(lead-gen): rename OBSERVE to MANAGE, add Credits & Billing link and Hire-an-Expert footer button

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

* feat(lead-gen): extract DograhCreditsCard with top-up + hire CTAs

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

* feat(lead-gen): add Credits & Billing page

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

* refactor(lead-gen): move Dograh Model Credits card out of Agent Runs to /billing

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

* feat(lead-gen): delayed Hire-an-Expert nudge on the workflow builder

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

* ci(ui): add lint:lead-flow guard script

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

* feat(ui): restructure lead forms, self-serve Buy Credits, dialog blur

Revised lead-capture surfaces and credits bar:

- Dialog overlay gains backdrop blur (bg-black/60 backdrop-blur-sm).
- Shared primitives: LeadModalShell (icon/eyebrow header, scrollable body,
  sticky footer, trust-line slot), PhoneField (react-international-phone,
  dark, E.164 out), FormTrustLine ("Average response: under 10 minutes...").
- HireExpertModal: Name, Company, Job title, agent goal, Phone (required),
  monthly volume. EnterpriseModal: + work email (required logged-out),
  conditional deployment (yes/no/maybe, source-gated), agent goal.
  OnboardingModal: drop useCase. Phone mandatory except onboarding.
- Volume buckets match the backend qualifier (0-5k/5k-100k/100k+/not-sure).
- Delete TopUpModal; DograhCreditsCard now self-serve Buy Credits (amount
  chips $5/$10/$25/$50/$100 + custom min $5 → startTopUp seam) + Hire an
  Expert + dashed custom-pricing link opening Enterprise (billing_custom_pricing).
- PostHog events: drop topup_*, add buy_credits_clicked,
  buy_credits_amount_selected, custom_pricing_clicked. LeadFormsContext
  drops topup; LeadKind/LeadSource updated.
- Introduce a single --cta warm accent token (CTAs + focus rings only).

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

* feat(ui): split-screen auth + enterprise CTA + dark theme default

- AuthShell: dark two-column auth layout (brand/value panel with CSS-only
  waveform motif + proof points + Bland-style enterprise CTA block on the
  left, zinc-900 form card on the right; single-column on mobile).
- AuthEnterpriseCTA: "Talk to our team" → dograh.com/contact?intent=enterprise.
- stack-theme: dark StackTheme token overrides synced to globals.css.
- page.tsx: wrap StackHandler (non-fullPage) in AuthShell + StackTheme;
  local-auth fallback preserved inside the shell. BackButton slimmed for the card.
- Dark locked as default: <html className="dark">, next-themes ThemeProvider
  (defaultTheme="dark", enableSystem=false); inline no-FOUC script defaults dark.

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

* ui rezig, onboarding, billing, hire us & on prem cues

* ui changes

* chore: update comment

* chore: untrack docs/superpowers and gitignore it

* feat: refactor user configuration table

* feat(ui): 'check your email' confirmation on lead forms

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

* added email and country in form submissions

* chore: update leads api

* fix: wrap dograh model config in card

---------

Co-authored-by: Pritesh <pritesh@dograh.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 19:49:33 +05:30
..
dto_fixtures feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
integrations feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
support feat(mcp): generic MCP tool source with per-node function filtering (#301) 2026-05-19 16:10:00 +05:30
telephony fix(telephony): handle Cloudonix CDR webhooks missing session/disposition (#407) 2026-06-10 17:49:36 +05:30
__init__.py Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
conftest.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
test_add_call_disposition_code.py fix: add disposition codes in workflows 2026-03-27 19:20:05 +05:30
test_aggregation_fix.py Fix/multiple generation (#104) 2026-01-03 12:59:18 +05:30
test_ai_model_configuration_v2.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_auth_depends.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_azure_speech_service_factory.py feat: add Azure AI multi-provider support (TTS, STT, Embeddings, Realtime) (#381) 2026-06-02 12:50:00 +05:30
test_camb_tts_integration.py feat: add support for self hosted llm models 2026-03-24 17:50:45 +05:30
test_campaign_call_dispatcher.py chore: return formatted transcript url 2026-05-26 13:24:12 +05:30
test_campaign_tasks.py chore: return formatted transcript url 2026-05-26 13:24:12 +05:30
test_cartesia_tts_service_factory.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_circuit_breaker.py feat: add logs in campaigns for failure or pausing (#265) 2026-05-05 19:23:50 +05:30
test_custom_tools.py fix: support object and array parameters in custom HTTP tools (#373) 2026-06-02 11:35:38 +05:30
test_custom_tools_context_integration.py feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268) 2026-05-07 12:23:41 +05:30
test_display_options_evaluator.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
test_dograh_managed_correlation.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_dograh_sdk.py feat: add test mode for API trigger 2026-04-25 16:30:26 +05:30
test_dograh_sdk_typed.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
test_dto.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
test_from_number_pool_isolation.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_gemini_live_reconnect_tool_results.py fix: fix rtf logs and gemini live turn taking 2026-05-31 16:05:03 +05:30
test_get_backend_endpoints.py fix: BACKEND_API_ENDPOINT resolution from env and cloudflared tunnel (#135) 2026-01-29 14:06:08 +05:30
test_google_stt_service_factory.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_google_tts_service_factory.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_google_vertex_llm_service_factory.py feat: add ultravox realtime and fix signature issue in telephony (#345) 2026-05-23 12:51:55 +05:30
test_grok_realtime_wrapper.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_huggingface_stt_service_factory.py feat: add huggingface inferece provider endpoint 2026-06-15 22:56:01 +05:30
test_is_private_ip_candidate.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
test_json_parser.py fix: fix OPENAI_API_KEY bug in retrieval 2026-01-17 18:12:56 +05:30
test_layout.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
test_masked_key_rejection.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_mcp_auth.py feat(mcp): generic MCP tool source with per-node function filtering (#301) 2026-05-19 16:10:00 +05:30
test_mcp_custom_tool_manager.py feat(mcp): generic MCP tool source with per-node function filtering (#301) 2026-05-19 16:10:00 +05:30
test_mcp_docs_search.py feat(mcp): add search_docs tool over docs corpus (closes #295) (#316) 2026-05-20 18:20:35 +05:30
test_mcp_get_workflow.py fix: fix projection to TS when fetching agnet in MCP 2026-05-23 14:45:50 +05:30
test_mcp_instructions_drift.py test(mcp): guard instructions.py against tool drift 2026-05-20 18:44:18 +05:30
test_mcp_integration.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_mcp_save_workflow.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_mcp_tool_creation.py feat: create tools using MCP 2026-05-31 16:50:44 +05:30
test_mcp_tool_definition.py feat(mcp): generic MCP tool source with per-node function filtering (#301) 2026-05-19 16:10:00 +05:30
test_mcp_tool_route.py fix: support object and array parameters in custom HTTP tools (#373) 2026-06-02 11:35:38 +05:30
test_mcp_tool_session.py feat(mcp): generic MCP tool source with per-node function filtering (#301) 2026-05-19 16:10:00 +05:30
test_message_sanitization.py fix timestamps in tuner accumelator (#335) 2026-05-21 07:43:50 +05:30
test_minimax_service_factory.py feat: add xai grok as realtime model 2026-05-22 18:04:59 +05:30
test_mps_service_key_client.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_node_specs.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
test_onboarding_state.py feat: UI refresh and user onboarding (#430) 2026-06-17 19:49:33 +05:30
test_openai_realtime_initial_context.py feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
test_openai_tts_service_factory.py feat: add huggingface inferece provider endpoint 2026-06-15 22:56:01 +05:30
test_organization_usage_billing.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_pipecat_engine_callbacks.py feat: abort immediately on max call duration exceed 2026-05-31 13:21:37 +05:30
test_pipecat_engine_context_update.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipecat_engine_end_call.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipecat_engine_node_switch_with_user_speech.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipecat_engine_tool_calls.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipecat_engine_transition_mute.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipecat_engine_variable_extraction.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pipeline_cancellation.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_pre_call_fetch.py chore: update docs for pre-call data fetch 2026-06-05 14:16:56 +05:30
test_public_agent_routes.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_public_embed_cors.py fix: add CORS preflight handler and ACAO header for embed config endpoint (#403) 2026-06-03 21:27:44 +05:30
test_public_signaling_origin.py chore: format release please changelogs 2026-06-02 13:42:55 +05:30
test_quota_service.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_realtime_feedback_events.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
test_realtime_feedback_observer.py fix: fix rtf logs and gemini live turn taking 2026-05-31 16:05:03 +05:30
test_realtime_message_append.py feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
test_recording_router_processor.py feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268) 2026-05-07 12:23:41 +05:30
test_resolve_effective_config.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_run_pipeline_realtime_turn_config.py feat: add xai grok as realtime model 2026-05-22 18:04:59 +05:30
test_run_usage_response.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_s3_signed_url.py feat: persist split user and bot audio 2026-06-16 15:19:49 +05:30
test_sarvam_service_factory.py fix: add pace option in sarvam tts config (#447) 2026-06-17 14:45:09 +05:30
test_sdk_sync.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
test_smallest_service_factory.py feat: add Smallest AI TTS and STT provider integration (#444) 2026-06-17 12:55:53 +05:30
test_speaches_service_factory.py feat: add Rime TTS 2026-04-07 14:05:47 +05:30
test_telephony_factory.py fix: force FORCE_TURN_RELAY for local IPs in setup 2026-05-16 18:37:38 +05:30
test_telephony_routes.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_text_and_audio_playback.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_text_chat_logs.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
test_text_chat_session_service.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
test_trigger_path_validation.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_ts_bridge.py fix: fix projection to TS when fetching agnet in MCP 2026-05-23 14:45:50 +05:30
test_tts_endframe_with_audio_write_failure.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_ultravox_realtime_wrapper.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_unregistered_function_call.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_user_configured_service_url_security.py feat: allow overriding base URL of OpenAI STT and TTS (#377) 2026-06-02 12:06:58 +05:30
test_user_email_case_insensitive.py fix: make email lookup case-insensitive in get_user_by_email (#397) 2026-06-02 13:43:20 +05:30
test_user_idle_handler.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_user_muting_during_bot_speech.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_voicemail_detector.py chore: update pipecat to 1.3.0 (#379) 2026-05-29 16:19:42 +05:30
test_workflow_create_route.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_workflow_graph_constraints.py chore: fix tests 2026-05-11 17:21:02 +05:30
test_workflow_list_route.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30
test_workflow_qa_masking.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
test_workflow_run_billing.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
test_workflow_text_chat.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
test_workflow_versioning.py feat: add google stt and tts. add folders to organize agents 2026-05-22 14:36:50 +05:30