Adding Voice Agent support to installation scripts#5
Conversation
EntelligenceAI PR SummaryIntroduces full Voice Agent (
Confidence Score: 3/5 - Review RecommendedLikely safe but review recommended — this PR introduces solid Voice Agent deployment support with a three-tier LLM API key resolution mechanism, but two medium-impact gaps deserve attention before merging. Specifically, Key Findings:
Files requiring special attention
|
| elif path == ["deployment", "type"]: | ||
| parent[leaf] = _annotated_select( | ||
| label, DEPLOYMENT_TYPES, str(current or "STT") | ||
| ) |
There was a problem hiding this comment.
wizard.py:run_eks_wizard (lines 143-172) calls _apply_voice_agent_defaults, _ask_aura2, _ask_engine_agent_replicas, and _ask_third_party_credentials when deployment type is VOICE_AGENT. wizard.py:edit_field (lines 455-458) only calls _annotated_select when the user changes deployment.type to VOICE_AGENT through the summary-screen edit menu — none of the Voice Agent helpers are invoked. Control returns to kubernetes_aws.py:_summary_loop, which immediately calls render_summary → summary.py:_other_table (line 85), which detects VOICE_AGENT and displays Agent replica, Aura-2, and LLM-provider rows with silent defaults. If the user then deploys, kubernetes_aws_workflow.py:render_values emits agent.enabled: True with 1-replica defaults, no aura2 block, and no thirdPartyCredentials, resulting in an incomplete, possibly broken Voice Agent Helm release with no user warning.
🤖 AI Agent Prompt for Cursor/Windsurf
📋 Copy this prompt to your AI coding assistant (Cursor, Windsurf, etc.) to get help fixing this issue
In `wizard.py:edit_field`, after updating `deployment.type` to VOICE_AGENT (lines 455-458), call `_apply_voice_agent_defaults(config)`, `_ask_aura2(config)`, `_ask_engine_agent_replicas(config)`, and `_ask_third_party_credentials(config)` to mirror the main wizard flow. Alternatively, when changing away from VOICE_AGENT, reset `aura2.enabled` and `third_party_credentials`.
| llm_api_keys_in_memory = ( | ||
| extract_llm_provider_api_keys(config) if secrets_mode == "create" else None | ||
| ) | ||
| config_to_save = ( | ||
| strip_secrets(config) if secrets_in_memory or llm_api_keys_in_memory else config | ||
| ) |
There was a problem hiding this comment.
🔧 Nit: Add in-memory notification for LLM API keys parallel to standard secrets notice — setup() prints a warning (lines 100–105) telling users which env vars to set for non-interactive re-runs when standard secrets are held in memory, but no equivalent message is printed when llm_api_keys_in_memory is non-empty. Users who complete the Voice Agent wizard with mode=create won't know to set DG_OPENAI_API_KEY etc. until they hit the deploy-time ValueError on a re-run.
🤖 AI Agent Prompt for Cursor/Windsurf
📋 Copy this prompt to your AI coding assistant (Cursor, Windsurf, etc.) to get help fixing this issue
In `src/deepgram_self_hosted/providers/kubernetes_aws.py`, after line 105 (the closing of the `if secrets_in_memory:` block), add a parallel notification for LLM API keys:
```python
if llm_api_keys_in_memory:
console.print(
"[yellow]LLM provider API keys kept in memory only; not written to disk.[/yellow] "
"For non-interactive re-runs, set "
f"{', '.join(LLM_PROVIDER_ENV_VARS[p] for p in llm_api_keys_in_memory if p in LLM_PROVIDER_ENV_VARS)}."
)
This mirrors the existing block at lines 100–105 that warns about standard secrets.
</details>
<!-- ai_prompt_end -->
|
File:
Note: This comment was posted as a general PR comment because the specific line could not be resolved in the diff. |
No description provided.