ba4be087d5
Create PR to main with cherry-pick from release / cherry-pick (push) Failing after 0s
CICD NeMo / pre-flight (push) Failing after 0s
CICD NeMo / configure (push) Has been skipped
Build, validate, and release Neural Modules / pre-flight (push) Failing after 1s
CICD NeMo / code-linting (push) Has been skipped
Build, validate, and release Neural Modules / release (push) Has been skipped
Build, validate, and release Neural Modules / release-summary (push) Has been cancelled
CICD NeMo / cicd-test-container-build (push) Has been cancelled
CICD NeMo / cicd-import-tests (push) Has been cancelled
CICD NeMo / L0_Setup_Test_Data_And_Models (push) Has been cancelled
CICD NeMo / cicd-main-unit-tests (push) Has been cancelled
CICD NeMo / cicd-main-speech (push) Has been cancelled
CICD NeMo / Nemo_CICD_Test (push) Has been cancelled
CICD NeMo / Coverage (e2e) (push) Has been cancelled
CICD NeMo / Coverage (unit-test) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
CICD NeMo / cicd-wait-in-queue (push) Has been cancelled
86 lines
2.1 KiB
HTML
86 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>NeMo Voice Agent</title>
|
|
<style>
|
|
.server-selection {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.server-selection label {
|
|
font-weight: bold;
|
|
color: #333;
|
|
}
|
|
|
|
.server-selection select {
|
|
padding: 6px 12px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 4px;
|
|
background-color: white;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.server-selection select:focus {
|
|
outline: none;
|
|
border-color: #2196F3;
|
|
box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);
|
|
}
|
|
|
|
.server-selection select:disabled {
|
|
background-color: #f5f5f5;
|
|
cursor: not-allowed;
|
|
opacity: 0.6;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<div class="status-bar">
|
|
<div class="status">
|
|
Transport: <span id="connection-status">Disconnected</span>
|
|
</div>
|
|
<div class="server-selection">
|
|
<label for="server-select">Server:</label>
|
|
<select id="server-select">
|
|
<option value="websocket">WebSocket Server (Port 8765)</option>
|
|
<option value="fastapi">FastAPI Server (Port 8000)</option>
|
|
</select>
|
|
</div>
|
|
<div class="controls">
|
|
<button id="connect-btn">Connect</button>
|
|
<button id="disconnect-btn" disabled>Disconnect</button>
|
|
<button id="mute-btn" disabled>Mute</button>
|
|
<button id="reset-btn" disabled>Reset</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="volume-indicator">
|
|
<div class="volume-label">Microphone Volume:</div>
|
|
<div class="volume-bar-container">
|
|
<div class="volume-bar" id="volume-bar"></div>
|
|
</div>
|
|
<div class="volume-text" id="volume-text">0%</div>
|
|
</div>
|
|
|
|
<audio id="bot-audio" autoplay></audio>
|
|
|
|
<div class="debug-panel">
|
|
<h3>Debug Info</h3>
|
|
<div id="debug-log"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="module" src="/src/app.ts"></script>
|
|
<link rel="stylesheet" href="/src/style.css">
|
|
</body>
|
|
|
|
</html>
|