agentgui 1.0.312 → 1.0.314

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.312",
3
+ "version": "1.0.314",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "server.js",
7
7
  "bin": {
8
- "agentgui": "./bin/gmgui.cjs",
9
- "gmgui": "./bin/gmgui.cjs"
8
+ "agentgui": "./bin/gmgui.cjs"
10
9
  },
11
10
  "repository": {
12
11
  "type": "git",
@@ -35,6 +34,7 @@
35
34
  },
36
35
  "overrides": {
37
36
  "onnxruntime-web": "npm:empty-npm-package@1.0.0",
38
- "sharp": "npm:empty-npm-package@1.0.0"
37
+ "sharp": "npm:empty-npm-package@1.0.0",
38
+ "onnxruntime-common": "1.24.1"
39
39
  }
40
40
  }
package/static/index.html CHANGED
@@ -3023,7 +3023,7 @@
3023
3023
  <div class="view-toggle-bar" id="viewToggleBar" style="display:none;">
3024
3024
  <button class="view-toggle-btn active" data-view="chat">Chat</button>
3025
3025
  <button class="view-toggle-btn" data-view="files">Files</button>
3026
- <button class="view-toggle-btn" data-view="voice">Voice</button>
3026
+ <button class="view-toggle-btn" data-view="voice" style="display:none;">Voice</button>
3027
3027
  <button class="view-toggle-btn" data-view="terminal" id="terminalTabBtn" style="display:none;">Terminal</button>
3028
3028
  </div>
3029
3029
 
@@ -2625,6 +2625,101 @@ class AgentGUIClient {
2625
2625
  };
2626
2626
  }
2627
2627
 
2628
+ _handleModelDownloadProgress(data) {
2629
+ if (!data) return;
2630
+ this._modelDownloadProgress = data;
2631
+ if (data.done && data.complete) {
2632
+ this._modelDownloadInProgress = false;
2633
+ this._hideModelDownloadProgress();
2634
+ } else if (data.downloading || data.done === false) {
2635
+ this._modelDownloadInProgress = true;
2636
+ this._showModelDownloadProgress(data);
2637
+ }
2638
+ this._updateVoiceTabState();
2639
+ }
2640
+
2641
+ _handleSTTProgress(data) {
2642
+ if (!data) return;
2643
+ const transcriptEl = document.getElementById('voiceTranscript');
2644
+ if (!transcriptEl) return;
2645
+
2646
+ if (data.status === 'transcribing') {
2647
+ transcriptEl.textContent = 'Transcribing...';
2648
+ transcriptEl.style.color = 'var(--color-text-secondary)';
2649
+ } else if (data.status === 'completed' && data.transcript) {
2650
+ transcriptEl.textContent = data.transcript;
2651
+ transcriptEl.style.color = 'var(--color-text-primary)';
2652
+ } else if (data.status === 'failed') {
2653
+ transcriptEl.textContent = 'Transcription failed: ' + (data.error || 'Unknown error');
2654
+ transcriptEl.style.color = 'var(--color-error)';
2655
+ }
2656
+ }
2657
+
2658
+ _handleTTSSetupProgress(data) {
2659
+ if (!data) return;
2660
+ this._showModelDownloadProgress({
2661
+ downloading: true,
2662
+ message: data.message || 'Setting up TTS...'
2663
+ });
2664
+ }
2665
+
2666
+ _showModelDownloadProgress(progress) {
2667
+ let indicator = document.getElementById('modelDownloadIndicator');
2668
+ if (!indicator) {
2669
+ const header = document.querySelector('.main-header');
2670
+ if (!header) return;
2671
+
2672
+ indicator = document.createElement('div');
2673
+ indicator.id = 'modelDownloadIndicator';
2674
+ indicator.style = `
2675
+ display: flex;
2676
+ align-items: center;
2677
+ gap: 0.5rem;
2678
+ padding: 0.375rem 0.75rem;
2679
+ background: var(--color-bg-secondary);
2680
+ border-radius: 0.375rem;
2681
+ font-size: 0.875rem;
2682
+ color: var(--color-text-secondary);
2683
+ `;
2684
+
2685
+ const controls = header.querySelector('.header-controls');
2686
+ if (controls) {
2687
+ controls.insertBefore(indicator, controls.firstChild);
2688
+ }
2689
+ }
2690
+
2691
+ indicator.style.display = 'flex';
2692
+ indicator.innerHTML = `
2693
+ <span style="display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;"></span>
2694
+ <span>${progress.message || 'Loading models...'}</span>
2695
+ `;
2696
+ }
2697
+
2698
+ _hideModelDownloadProgress() {
2699
+ const indicator = document.getElementById('modelDownloadIndicator');
2700
+ if (indicator) {
2701
+ indicator.style.display = 'none';
2702
+ }
2703
+ }
2704
+
2705
+ _updateVoiceTabState() {
2706
+ const voiceBtn = document.querySelector('[data-view="voice"]');
2707
+ const voiceContainer = document.getElementById('voiceContainer');
2708
+ if (!voiceBtn || !voiceContainer) return;
2709
+
2710
+ const isReady = this._modelDownloadProgress?.done === true &&
2711
+ this._modelDownloadProgress?.complete === true;
2712
+
2713
+ if (isReady) {
2714
+ voiceBtn.style.display = 'flex';
2715
+ voiceBtn.style.opacity = '1';
2716
+ voiceBtn.style.pointerEvents = 'auto';
2717
+ } else {
2718
+ voiceBtn.style.display = 'none';
2719
+ voiceContainer.style.display = 'none';
2720
+ }
2721
+ }
2722
+
2628
2723
  /**
2629
2724
  * Cleanup resources
2630
2725
  */