ttp-agent-sdk 2.48.0 → 2.48.1

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.
@@ -335,6 +335,16 @@
335
335
  <span>Use Shadow DOM</span>
336
336
  </label>
337
337
  </div>
338
+
339
+ <div class="config-group">
340
+ <label style="display: flex; align-items: center; gap: 8px;">
341
+ <input type="checkbox" id="flavorCallViewMinimized">
342
+ <span>Flavor: callView minimized</span>
343
+ </label>
344
+ <p style="font-size: 12px; color: #6b7280; margin-top: 6px;">
345
+ When checked, initializes with <code>flavor: { callView: "minimized" }</code>
346
+ </p>
347
+ </div>
338
348
  </div>
339
349
 
340
350
  <div class="info-box" style="margin-top: 24px;">
@@ -501,6 +511,11 @@
501
511
  console.log('👁️ Visual Assistant enabled:', config.visualAssistant);
502
512
  }
503
513
 
514
+ if (document.getElementById('flavorCallViewMinimized').checked) {
515
+ config.flavor = { callView: 'minimized' };
516
+ console.log('Flavor callView:', config.flavor);
517
+ }
518
+
504
519
  console.log('Initializing widget with config:', config);
505
520
  console.log('TTPChatWidget constructor:', window.TTPChatWidget);
506
521
  window.widgetInstance = new window.TTPChatWidget(config);
@@ -552,6 +567,7 @@
552
567
  document.getElementById('mode').value = 'unified';
553
568
  document.getElementById('primaryColor').value = '#7C3AED';
554
569
  document.getElementById('useShadowDOM').checked = true;
570
+ document.getElementById('flavorCallViewMinimized').checked = false;
555
571
  // Reset Visual Assistant settings
556
572
  document.getElementById('visualAssistantEnabled').checked = true;
557
573
  document.getElementById('allowHighlight').checked = true;
@@ -657,6 +673,11 @@
657
673
  window.TTPDemoSdkLoader.waitForReady().then(() => {
658
674
  updateWsUrlDisplay();
659
675
  initSDK();
676
+ // Auto-init on load so you don't have to click "Initialize Widget" every refresh
677
+ if (typeof window.initializeWidget === 'function'
678
+ && document.getElementById('widgetStatus')?.textContent !== 'Yes') {
679
+ window.initializeWidget();
680
+ }
660
681
  }).catch((e) => {
661
682
  console.error('❌ SDK load failed:', e);
662
683
  alert('SDK load failed. Check Network for agent-widget*.js');
@@ -335,6 +335,16 @@
335
335
  <span>Use Shadow DOM</span>
336
336
  </label>
337
337
  </div>
338
+
339
+ <div class="config-group">
340
+ <label style="display: flex; align-items: center; gap: 8px;">
341
+ <input type="checkbox" id="flavorCallViewMinimized">
342
+ <span>Flavor: callView minimized</span>
343
+ </label>
344
+ <p style="font-size: 12px; color: #6b7280; margin-top: 6px;">
345
+ When checked, initializes with <code>flavor: { callView: "minimized" }</code>
346
+ </p>
347
+ </div>
338
348
  </div>
339
349
 
340
350
  <div class="info-box" style="margin-top: 24px;">
@@ -501,6 +511,11 @@
501
511
  console.log('👁️ Visual Assistant enabled:', config.visualAssistant);
502
512
  }
503
513
 
514
+ if (document.getElementById('flavorCallViewMinimized').checked) {
515
+ config.flavor = { callView: 'minimized' };
516
+ console.log('Flavor callView:', config.flavor);
517
+ }
518
+
504
519
  console.log('Initializing widget with config:', config);
505
520
  console.log('TTPChatWidget constructor:', window.TTPChatWidget);
506
521
  window.widgetInstance = new window.TTPChatWidget(config);
@@ -552,6 +567,7 @@
552
567
  document.getElementById('mode').value = 'unified';
553
568
  document.getElementById('primaryColor').value = '#7C3AED';
554
569
  document.getElementById('useShadowDOM').checked = true;
570
+ document.getElementById('flavorCallViewMinimized').checked = false;
555
571
  // Reset Visual Assistant settings
556
572
  document.getElementById('visualAssistantEnabled').checked = true;
557
573
  document.getElementById('allowHighlight').checked = true;
package/dist/index.html CHANGED
@@ -1656,6 +1656,12 @@ document.getElementById('myButton').onclick = () => {
1656
1656
  <td>auto</td>
1657
1657
  <td><strong>Root-level override.</strong> Force mobile-style voice call UI (bottom bar + overlay) or desktop hero. Takes precedence over <code>behavior.mobileVoiceUI</code> when both are set. Omit for auto: native iOS/Android, or viewport ≤768px with touch/coarse pointer.</td>
1658
1658
  </tr>
1659
+ <tr>
1660
+ <td><code>flavor</code></td>
1661
+ <td>object</td>
1662
+ <td>null</td>
1663
+ <td>Optional flavor object. Verticals use <code>type</code> + <code>partnerId</code> (see <a href="#widget-flavors">Widget Flavors</a>). <code>callView: 'minimized'</code> is a <strong>widget-only</strong> UI flag (desktop &gt;768px bottom voice strip). It is not sent on the hello wire and is ignored by the backend Flavor DTO. Standalone example: <code>flavor: { callView: 'minimized' }</code>. On phones the strip does not apply — mobile uses the normal panel / text chat.</td>
1664
+ </tr>
1659
1665
  <tr>
1660
1666
  <td><code>inputFormat</code></td>
1661
1667
  <td>object</td>
@@ -3519,9 +3525,14 @@ flyToCart.triggerFly(cardElement, product, () => {
3519
3525
  appId: 'app_...',
3520
3526
  flavor: {
3521
3527
  type: 'pharma', // 'ecommerce' | 'hotels' | 'pharma' | 'restaurants' | 'tours'
3522
- partnerId: 'mock-pharm' // partner-specific data source
3528
+ partnerId: 'mock-pharm', // partner-specific data source
3529
+ callView: 'minimized' // optional — desktop bottom voice strip during a call
3523
3530
  }
3524
3531
  });</code></pre>
3532
+ <p><code>callView: 'minimized'</code> also works with no vertical <code>type</code>:</p>
3533
+ <pre><code>flavor: {
3534
+ callView: "minimized"
3535
+ }</code></pre>
3525
3536
 
3526
3537
  <h2>Pharma Flavor</h2>
3527
3538
  <p>The pharmacy flavor provides a medication search and prescription management experience.</p>
@@ -335,6 +335,16 @@
335
335
  <span>Use Shadow DOM</span>
336
336
  </label>
337
337
  </div>
338
+
339
+ <div class="config-group">
340
+ <label style="display: flex; align-items: center; gap: 8px;">
341
+ <input type="checkbox" id="flavorCallViewMinimized">
342
+ <span>Flavor: callView minimized</span>
343
+ </label>
344
+ <p style="font-size: 12px; color: #6b7280; margin-top: 6px;">
345
+ When checked, initializes with <code>flavor: { callView: "minimized" }</code>
346
+ </p>
347
+ </div>
338
348
  </div>
339
349
 
340
350
  <div class="info-box" style="margin-top: 24px;">
@@ -501,6 +511,11 @@
501
511
  console.log('👁️ Visual Assistant enabled:', config.visualAssistant);
502
512
  }
503
513
 
514
+ if (document.getElementById('flavorCallViewMinimized').checked) {
515
+ config.flavor = { callView: 'minimized' };
516
+ console.log('Flavor callView:', config.flavor);
517
+ }
518
+
504
519
  console.log('Initializing widget with config:', config);
505
520
  console.log('TTPChatWidget constructor:', window.TTPChatWidget);
506
521
  window.widgetInstance = new window.TTPChatWidget(config);
@@ -552,6 +567,7 @@
552
567
  document.getElementById('mode').value = 'unified';
553
568
  document.getElementById('primaryColor').value = '#7C3AED';
554
569
  document.getElementById('useShadowDOM').checked = true;
570
+ document.getElementById('flavorCallViewMinimized').checked = false;
555
571
  // Reset Visual Assistant settings
556
572
  document.getElementById('visualAssistantEnabled').checked = true;
557
573
  document.getElementById('allowHighlight').checked = true;
@@ -657,6 +673,11 @@
657
673
  window.TTPDemoSdkLoader.waitForReady().then(() => {
658
674
  updateWsUrlDisplay();
659
675
  initSDK();
676
+ // Auto-init on load so you don't have to click "Initialize Widget" every refresh
677
+ if (typeof window.initializeWidget === 'function'
678
+ && document.getElementById('widgetStatus')?.textContent !== 'Yes') {
679
+ window.initializeWidget();
680
+ }
660
681
  }).catch((e) => {
661
682
  console.error('❌ SDK load failed:', e);
662
683
  alert('SDK load failed. Check Network for agent-widget*.js');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ttp-agent-sdk",
3
- "version": "2.48.0",
3
+ "version": "2.48.1",
4
4
  "description": "Comprehensive Voice Agent SDK with Customizable Widget - Real-time audio, WebSocket communication, React components, and extensive customization options",
5
5
  "main": "dist/agent-widget.js",
6
6
  "module": "dist/agent-widget.esm.js",
@@ -39,6 +39,7 @@
39
39
  "test:verify-adapter": "node scripts/verify-adapter.test.mjs",
40
40
  "test:compile-adapter": "node scripts/compile-adapter.test.mjs",
41
41
  "test:adapters": "npm run test:compile-adapter && npm run test:verify-adapter",
42
+ "test:client-tools": "node --test test/client-tools-registry.test.mjs",
42
43
  "clean": "rm -rf dist/",
43
44
  "prebuild": "npm run clean"
44
45
  },