Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
aeec354
feat: Implement TTS Streaming Latency Analysis and Optimization Plan
JinLee794 Dec 14, 2025
dca9e0a
feat: Add Scenario Builder component and integrate with RealTimeVoiceApp
JinLee794 Dec 14, 2025
ab64c70
Refactor code structure for improved readability and maintainability
JinLee794 Dec 14, 2025
1017542
Merge pull request #6 from AIappsGBBFactory/hotfix/agent-context-and-…
JinLee794 Dec 14, 2025
0825aa7
Add comprehensive tests for VoiceLive handler and orchestrator memory…
JinLee794 Dec 15, 2025
055374d
feat: Enhance AgentBuilder with consistent field names and improved U…
JinLee794 Dec 15, 2025
6ef620b
Refactor logging levels from info to debug in connection manager, war…
Dec 16, 2025
2c67532
feat: Add predefined handoff condition patterns to enhance scenario o…
Dec 16, 2025
5a6078b
feat(metrics): Introduce shared metrics factory for lazy initialization
Dec 16, 2025
26bff43
feat: Consolidate handoff logic into a unified HandoffService for con…
Dec 16, 2025
718e5ff
Merge branch 'staging' into feat/scenario-orch
Dec 16, 2025
ace89cf
fix: Simplify environment determination logic in deployment workflow
Dec 16, 2025
956da4f
Merge pull request #7 from AIappsGBBFactory/feat/scenario-orch
pablosalvador10 Dec 16, 2025
c577619
feat: Add user flow screenshots and enhance documentation for guided …
Dec 16, 2025
23600f4
feat: Enhance scenario testing instructions for clarity and user guid…
Dec 16, 2025
d02b935
fix: Correct image paths in quickstart guide for accurate rendering
Dec 16, 2025
7d4a16d
feat: Add initial agent builder and template selection screenshots to…
Dec 16, 2025
aa4faa6
feat: Add demo profile creation steps and related images to quickstar…
Dec 16, 2025
84fbb8d
feat: Implement EasyAuth configuration script and integrate into post…
Dec 16, 2025
18fc95f
refactor: Remove backend IP restrictions configuration and related ou…
Dec 17, 2025
f3b9561
chore: Remove unused workflow images for demo profiles
Dec 18, 2025
1c1f7ae
fix: Update demo profile creation images in quickstart guide
Dec 18, 2025
83f1e8e
fix: Update home screen image in quickstart guide
Dec 18, 2025
e5c592d
fix: Update home screen and scenario images in quickstart guide
Dec 18, 2025
48f8991
Merge pull request #8 from AIappsGBBFactory/docs/user-flows
pablosalvador10 Dec 18, 2025
221a9e4
Merge branch 'staging' into staging
JinLee794 Dec 18, 2025
bb177b4
add opentelemetry import for tracing support in TTS module
Dec 18, 2025
f66516b
refactor: update LiveOrchestrator to enhance user message history man…
Dec 18, 2025
2e94c17
Refactor TTS Playback and Voice Handling
Dec 19, 2025
8cb8d0c
refactor: streamline EasyAuth enabling process in CI mode and improve…
Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
"python.testing.pytestEnabled": true,
"python-envs.defaultEnvManager": "ms-python.python:venv",
"python-envs.defaultPackageManager": "ms-python.python:pip",
"python-envs.pythonProjects": []
"python-envs.pythonProjects": [],
"azureTerraform.checkTerraformCmd": false
}
5 changes: 3 additions & 2 deletions apps/artagent/backend/api/v1/endpoints/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@
- browser.py: Web browser - receives raw PCM audio from mic
- Both use the same MediaHandler with different transport modes
- agent_builder.py: REST API for creating dynamic agents at runtime
- scenario_builder.py: REST API for creating dynamic scenarios at runtime
"""

from . import agent_builder, browser, calls, health, media
from . import agent_builder, browser, calls, health, media, scenario_builder

__all__ = ["health", "calls", "media", "browser", "agent_builder"]
__all__ = ["health", "calls", "media", "browser", "agent_builder", "scenario_builder"]
264 changes: 245 additions & 19 deletions apps/artagent/backend/api/v1/endpoints/agent_builder.py

Large diffs are not rendered by default.

14 changes: 0 additions & 14 deletions apps/artagent/backend/api/v1/endpoints/browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,21 +295,16 @@ async def browser_conversation_endpoint(
# Start speech cascade and run message loop
await handler.start()
await handler.run()
logger.debug("[%s] run() completed normally", session_id)

except WebSocketDisconnect as e:
logger.debug("[%s] WebSocketDisconnect caught", session_id)
_log_disconnect("conversation", session_id, e)
except Exception as e:
logger.debug("[%s] Exception caught: %s", session_id, type(e).__name__)
_log_error("conversation", session_id, e)
raise
finally:
logger.debug("[%s] finally block starting cleanup", session_id)
await _cleanup_conversation(
websocket, session_id, handler, memory_manager, conn_id, stream_mode
)
logger.debug("[%s] finally block cleanup complete", session_id)


# =============================================================================
Expand Down Expand Up @@ -647,15 +642,6 @@ def _log_disconnect(endpoint: str, identifier: str | None, e: WebSocketDisconnec

def _log_error(endpoint: str, identifier: str | None, e: Exception) -> None:
"""Log WebSocket error."""
# Log the actual exception for debugging
logger.error(
"[%s] %s error: %s (%s)",
identifier,
endpoint.capitalize(),
str(e),
type(e).__name__,
exc_info=True, # Include traceback
)
log_with_context(
logger,
"error",
Expand Down
Loading
Loading