ttp-agent-sdk 2.4.24 → 2.5.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.
- package/dist/agent-widget.js +1 -1
- package/dist/agent-widget.js.map +1 -1
- package/dist/demos/index.html +273 -0
- package/dist/examples/test-index.html +273 -0
- package/dist/examples/test-widget.html +477 -0
- package/dist/shared/mic-permission-assets/address-bar-hint.svg +41 -0
- package/dist/shared/mic-permission-assets/android-chrome.svg +72 -0
- package/dist/shared/mic-permission-assets/desktop-chrome.svg +77 -0
- package/dist/shared/mic-permission-assets/desktop-edge.svg +65 -0
- package/dist/shared/mic-permission-assets/desktop-firefox.svg +60 -0
- package/dist/shared/mic-permission-assets/desktop-safari.svg +64 -0
- package/dist/shared/mic-permission-assets/ios-settings.svg +71 -0
- package/examples/test-index.html +273 -0
- package/examples/test-widget.html +477 -0
- package/package.json +1 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>TTP Agent SDK - Test Pages</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
|
|
16
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
17
|
+
min-height: 100vh;
|
|
18
|
+
padding: 40px 20px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.container {
|
|
22
|
+
max-width: 1200px;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.header {
|
|
27
|
+
text-align: center;
|
|
28
|
+
color: white;
|
|
29
|
+
margin-bottom: 50px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.header h1 {
|
|
33
|
+
font-size: 48px;
|
|
34
|
+
font-weight: 700;
|
|
35
|
+
margin-bottom: 10px;
|
|
36
|
+
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.header p {
|
|
40
|
+
font-size: 20px;
|
|
41
|
+
opacity: 0.9;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.test-grid {
|
|
45
|
+
display: grid;
|
|
46
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
47
|
+
gap: 24px;
|
|
48
|
+
margin-bottom: 40px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.test-card {
|
|
52
|
+
background: white;
|
|
53
|
+
border-radius: 16px;
|
|
54
|
+
padding: 32px;
|
|
55
|
+
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
|
|
56
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
text-decoration: none;
|
|
59
|
+
color: inherit;
|
|
60
|
+
display: block;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.test-card:hover {
|
|
64
|
+
transform: translateY(-4px);
|
|
65
|
+
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.test-card__icon {
|
|
69
|
+
font-size: 48px;
|
|
70
|
+
margin-bottom: 16px;
|
|
71
|
+
display: block;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.test-card__title {
|
|
75
|
+
font-size: 24px;
|
|
76
|
+
font-weight: 700;
|
|
77
|
+
color: #111827;
|
|
78
|
+
margin-bottom: 12px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.test-card__description {
|
|
82
|
+
font-size: 16px;
|
|
83
|
+
color: #6b7280;
|
|
84
|
+
line-height: 1.6;
|
|
85
|
+
margin-bottom: 16px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.test-card__badges {
|
|
89
|
+
display: flex;
|
|
90
|
+
flex-wrap: wrap;
|
|
91
|
+
gap: 8px;
|
|
92
|
+
margin-top: 16px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.badge {
|
|
96
|
+
display: inline-block;
|
|
97
|
+
padding: 4px 12px;
|
|
98
|
+
border-radius: 12px;
|
|
99
|
+
font-size: 12px;
|
|
100
|
+
font-weight: 600;
|
|
101
|
+
text-transform: uppercase;
|
|
102
|
+
letter-spacing: 0.5px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.badge--voice {
|
|
106
|
+
background: #dbeafe;
|
|
107
|
+
color: #1e40af;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.badge--text {
|
|
111
|
+
background: #dcfce7;
|
|
112
|
+
color: #166534;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.badge--widget {
|
|
116
|
+
background: #fef3c7;
|
|
117
|
+
color: #92400e;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.badge--sdk {
|
|
121
|
+
background: #ede9fe;
|
|
122
|
+
color: #5b21b6;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.badge--new {
|
|
126
|
+
background: #fee2e2;
|
|
127
|
+
color: #991b1b;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.section {
|
|
131
|
+
margin-bottom: 50px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.section__title {
|
|
135
|
+
font-size: 32px;
|
|
136
|
+
font-weight: 700;
|
|
137
|
+
color: white;
|
|
138
|
+
margin-bottom: 24px;
|
|
139
|
+
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.footer {
|
|
143
|
+
text-align: center;
|
|
144
|
+
color: white;
|
|
145
|
+
opacity: 0.8;
|
|
146
|
+
margin-top: 60px;
|
|
147
|
+
padding-top: 40px;
|
|
148
|
+
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.footer a {
|
|
152
|
+
color: white;
|
|
153
|
+
text-decoration: underline;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@media (max-width: 768px) {
|
|
157
|
+
.header h1 {
|
|
158
|
+
font-size: 36px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.header p {
|
|
162
|
+
font-size: 18px;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.test-grid {
|
|
166
|
+
grid-template-columns: 1fr;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
</style>
|
|
170
|
+
</head>
|
|
171
|
+
<body>
|
|
172
|
+
<div class="container">
|
|
173
|
+
<div class="header">
|
|
174
|
+
<h1>🎯 TTP Agent SDK</h1>
|
|
175
|
+
<p>Test Pages & Examples</p>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div class="section">
|
|
179
|
+
<h2 class="section__title">Voice SDK Tests</h2>
|
|
180
|
+
<div class="test-grid">
|
|
181
|
+
<a href="demo-v2.html" class="test-card">
|
|
182
|
+
<span class="test-card__icon">🎤</span>
|
|
183
|
+
<h3 class="test-card__title">Voice SDK Demo (v2)</h3>
|
|
184
|
+
<p class="test-card__description">
|
|
185
|
+
Comprehensive demo for VoiceSDK v2 with multi-codec support. Test voice recording,
|
|
186
|
+
playback, and WebSocket communication. Includes configuration options for different
|
|
187
|
+
audio formats and sample rates.
|
|
188
|
+
</p>
|
|
189
|
+
<div class="test-card__badges">
|
|
190
|
+
<span class="badge badge--voice">Voice</span>
|
|
191
|
+
<span class="badge badge--sdk">SDK v2</span>
|
|
192
|
+
</div>
|
|
193
|
+
</a>
|
|
194
|
+
|
|
195
|
+
<a href="test-signed-link.html" class="test-card">
|
|
196
|
+
<span class="test-card__icon">🔐</span>
|
|
197
|
+
<h3 class="test-card__title">Signed Link Test</h3>
|
|
198
|
+
<p class="test-card__description">
|
|
199
|
+
Test secure authentication using signed links. Demonstrates how to use signed URLs
|
|
200
|
+
for production-ready voice agent integration without exposing agent IDs.
|
|
201
|
+
</p>
|
|
202
|
+
<div class="test-card__badges">
|
|
203
|
+
<span class="badge badge--voice">Voice</span>
|
|
204
|
+
<span class="badge badge--sdk">Security</span>
|
|
205
|
+
</div>
|
|
206
|
+
</a>
|
|
207
|
+
|
|
208
|
+
<a href="test.html" class="test-card">
|
|
209
|
+
<span class="test-card__icon">⚡</span>
|
|
210
|
+
<h3 class="test-card__title">Basic Voice Test</h3>
|
|
211
|
+
<p class="test-card__description">
|
|
212
|
+
Simple voice SDK test page. Quick test for basic voice functionality and
|
|
213
|
+
WebSocket connection.
|
|
214
|
+
</p>
|
|
215
|
+
<div class="test-card__badges">
|
|
216
|
+
<span class="badge badge--voice">Voice</span>
|
|
217
|
+
<span class="badge badge--sdk">Basic</span>
|
|
218
|
+
</div>
|
|
219
|
+
</a>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<div class="section">
|
|
224
|
+
<h2 class="section__title">Text Chat Tests</h2>
|
|
225
|
+
<div class="test-grid">
|
|
226
|
+
<a href="test-text-chat.html" class="test-card">
|
|
227
|
+
<span class="test-card__icon">💬</span>
|
|
228
|
+
<h3 class="test-card__title">Text Chat SDK Test</h3>
|
|
229
|
+
<p class="test-card__description">
|
|
230
|
+
Test the TextChatSDK for text-based conversations. Includes message streaming,
|
|
231
|
+
conversation management, and WebSocket text communication.
|
|
232
|
+
</p>
|
|
233
|
+
<div class="test-card__badges">
|
|
234
|
+
<span class="badge badge--text">Text Chat</span>
|
|
235
|
+
<span class="badge badge--sdk">SDK</span>
|
|
236
|
+
</div>
|
|
237
|
+
</a>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div class="section">
|
|
242
|
+
<h2 class="section__title">Widget Tests</h2>
|
|
243
|
+
<div class="test-grid">
|
|
244
|
+
<a href="test-widget.html" class="test-card">
|
|
245
|
+
<span class="test-card__icon">🎨</span>
|
|
246
|
+
<h3 class="test-card__title">Chat Widget Test</h3>
|
|
247
|
+
<p class="test-card__description">
|
|
248
|
+
Test the TTPChatWidget with unified voice and text chat interface. Includes
|
|
249
|
+
microphone permission handling, voice call functionality, and text messaging.
|
|
250
|
+
Perfect for testing the complete widget experience.
|
|
251
|
+
</p>
|
|
252
|
+
<div class="test-card__badges">
|
|
253
|
+
<span class="badge badge--widget">Widget</span>
|
|
254
|
+
<span class="badge badge--voice">Voice</span>
|
|
255
|
+
<span class="badge badge--text">Text</span>
|
|
256
|
+
<span class="badge badge--new">New</span>
|
|
257
|
+
</div>
|
|
258
|
+
</a>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
|
|
262
|
+
<div class="footer">
|
|
263
|
+
<p>
|
|
264
|
+
<strong>TTP Agent SDK</strong> - Voice & Text AI Agent Integration
|
|
265
|
+
</p>
|
|
266
|
+
<p style="margin-top: 8px; font-size: 14px;">
|
|
267
|
+
For documentation, visit <a href="../docs/index.html">docs/index.html</a>
|
|
268
|
+
</p>
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
</body>
|
|
272
|
+
</html>
|
|
273
|
+
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>TTP Agent SDK - Test Pages</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
|
|
16
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
17
|
+
min-height: 100vh;
|
|
18
|
+
padding: 40px 20px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.container {
|
|
22
|
+
max-width: 1200px;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.header {
|
|
27
|
+
text-align: center;
|
|
28
|
+
color: white;
|
|
29
|
+
margin-bottom: 50px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.header h1 {
|
|
33
|
+
font-size: 48px;
|
|
34
|
+
font-weight: 700;
|
|
35
|
+
margin-bottom: 10px;
|
|
36
|
+
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.header p {
|
|
40
|
+
font-size: 20px;
|
|
41
|
+
opacity: 0.9;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.test-grid {
|
|
45
|
+
display: grid;
|
|
46
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
47
|
+
gap: 24px;
|
|
48
|
+
margin-bottom: 40px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.test-card {
|
|
52
|
+
background: white;
|
|
53
|
+
border-radius: 16px;
|
|
54
|
+
padding: 32px;
|
|
55
|
+
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
|
|
56
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
text-decoration: none;
|
|
59
|
+
color: inherit;
|
|
60
|
+
display: block;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.test-card:hover {
|
|
64
|
+
transform: translateY(-4px);
|
|
65
|
+
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.test-card__icon {
|
|
69
|
+
font-size: 48px;
|
|
70
|
+
margin-bottom: 16px;
|
|
71
|
+
display: block;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.test-card__title {
|
|
75
|
+
font-size: 24px;
|
|
76
|
+
font-weight: 700;
|
|
77
|
+
color: #111827;
|
|
78
|
+
margin-bottom: 12px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.test-card__description {
|
|
82
|
+
font-size: 16px;
|
|
83
|
+
color: #6b7280;
|
|
84
|
+
line-height: 1.6;
|
|
85
|
+
margin-bottom: 16px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.test-card__badges {
|
|
89
|
+
display: flex;
|
|
90
|
+
flex-wrap: wrap;
|
|
91
|
+
gap: 8px;
|
|
92
|
+
margin-top: 16px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.badge {
|
|
96
|
+
display: inline-block;
|
|
97
|
+
padding: 4px 12px;
|
|
98
|
+
border-radius: 12px;
|
|
99
|
+
font-size: 12px;
|
|
100
|
+
font-weight: 600;
|
|
101
|
+
text-transform: uppercase;
|
|
102
|
+
letter-spacing: 0.5px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.badge--voice {
|
|
106
|
+
background: #dbeafe;
|
|
107
|
+
color: #1e40af;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.badge--text {
|
|
111
|
+
background: #dcfce7;
|
|
112
|
+
color: #166534;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.badge--widget {
|
|
116
|
+
background: #fef3c7;
|
|
117
|
+
color: #92400e;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.badge--sdk {
|
|
121
|
+
background: #ede9fe;
|
|
122
|
+
color: #5b21b6;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.badge--new {
|
|
126
|
+
background: #fee2e2;
|
|
127
|
+
color: #991b1b;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.section {
|
|
131
|
+
margin-bottom: 50px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.section__title {
|
|
135
|
+
font-size: 32px;
|
|
136
|
+
font-weight: 700;
|
|
137
|
+
color: white;
|
|
138
|
+
margin-bottom: 24px;
|
|
139
|
+
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.footer {
|
|
143
|
+
text-align: center;
|
|
144
|
+
color: white;
|
|
145
|
+
opacity: 0.8;
|
|
146
|
+
margin-top: 60px;
|
|
147
|
+
padding-top: 40px;
|
|
148
|
+
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.footer a {
|
|
152
|
+
color: white;
|
|
153
|
+
text-decoration: underline;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@media (max-width: 768px) {
|
|
157
|
+
.header h1 {
|
|
158
|
+
font-size: 36px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.header p {
|
|
162
|
+
font-size: 18px;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.test-grid {
|
|
166
|
+
grid-template-columns: 1fr;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
</style>
|
|
170
|
+
</head>
|
|
171
|
+
<body>
|
|
172
|
+
<div class="container">
|
|
173
|
+
<div class="header">
|
|
174
|
+
<h1>🎯 TTP Agent SDK</h1>
|
|
175
|
+
<p>Test Pages & Examples</p>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div class="section">
|
|
179
|
+
<h2 class="section__title">Voice SDK Tests</h2>
|
|
180
|
+
<div class="test-grid">
|
|
181
|
+
<a href="demo-v2.html" class="test-card">
|
|
182
|
+
<span class="test-card__icon">🎤</span>
|
|
183
|
+
<h3 class="test-card__title">Voice SDK Demo (v2)</h3>
|
|
184
|
+
<p class="test-card__description">
|
|
185
|
+
Comprehensive demo for VoiceSDK v2 with multi-codec support. Test voice recording,
|
|
186
|
+
playback, and WebSocket communication. Includes configuration options for different
|
|
187
|
+
audio formats and sample rates.
|
|
188
|
+
</p>
|
|
189
|
+
<div class="test-card__badges">
|
|
190
|
+
<span class="badge badge--voice">Voice</span>
|
|
191
|
+
<span class="badge badge--sdk">SDK v2</span>
|
|
192
|
+
</div>
|
|
193
|
+
</a>
|
|
194
|
+
|
|
195
|
+
<a href="test-signed-link.html" class="test-card">
|
|
196
|
+
<span class="test-card__icon">🔐</span>
|
|
197
|
+
<h3 class="test-card__title">Signed Link Test</h3>
|
|
198
|
+
<p class="test-card__description">
|
|
199
|
+
Test secure authentication using signed links. Demonstrates how to use signed URLs
|
|
200
|
+
for production-ready voice agent integration without exposing agent IDs.
|
|
201
|
+
</p>
|
|
202
|
+
<div class="test-card__badges">
|
|
203
|
+
<span class="badge badge--voice">Voice</span>
|
|
204
|
+
<span class="badge badge--sdk">Security</span>
|
|
205
|
+
</div>
|
|
206
|
+
</a>
|
|
207
|
+
|
|
208
|
+
<a href="test.html" class="test-card">
|
|
209
|
+
<span class="test-card__icon">⚡</span>
|
|
210
|
+
<h3 class="test-card__title">Basic Voice Test</h3>
|
|
211
|
+
<p class="test-card__description">
|
|
212
|
+
Simple voice SDK test page. Quick test for basic voice functionality and
|
|
213
|
+
WebSocket connection.
|
|
214
|
+
</p>
|
|
215
|
+
<div class="test-card__badges">
|
|
216
|
+
<span class="badge badge--voice">Voice</span>
|
|
217
|
+
<span class="badge badge--sdk">Basic</span>
|
|
218
|
+
</div>
|
|
219
|
+
</a>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<div class="section">
|
|
224
|
+
<h2 class="section__title">Text Chat Tests</h2>
|
|
225
|
+
<div class="test-grid">
|
|
226
|
+
<a href="test-text-chat.html" class="test-card">
|
|
227
|
+
<span class="test-card__icon">💬</span>
|
|
228
|
+
<h3 class="test-card__title">Text Chat SDK Test</h3>
|
|
229
|
+
<p class="test-card__description">
|
|
230
|
+
Test the TextChatSDK for text-based conversations. Includes message streaming,
|
|
231
|
+
conversation management, and WebSocket text communication.
|
|
232
|
+
</p>
|
|
233
|
+
<div class="test-card__badges">
|
|
234
|
+
<span class="badge badge--text">Text Chat</span>
|
|
235
|
+
<span class="badge badge--sdk">SDK</span>
|
|
236
|
+
</div>
|
|
237
|
+
</a>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div class="section">
|
|
242
|
+
<h2 class="section__title">Widget Tests</h2>
|
|
243
|
+
<div class="test-grid">
|
|
244
|
+
<a href="test-widget.html" class="test-card">
|
|
245
|
+
<span class="test-card__icon">🎨</span>
|
|
246
|
+
<h3 class="test-card__title">Chat Widget Test</h3>
|
|
247
|
+
<p class="test-card__description">
|
|
248
|
+
Test the TTPChatWidget with unified voice and text chat interface. Includes
|
|
249
|
+
microphone permission handling, voice call functionality, and text messaging.
|
|
250
|
+
Perfect for testing the complete widget experience.
|
|
251
|
+
</p>
|
|
252
|
+
<div class="test-card__badges">
|
|
253
|
+
<span class="badge badge--widget">Widget</span>
|
|
254
|
+
<span class="badge badge--voice">Voice</span>
|
|
255
|
+
<span class="badge badge--text">Text</span>
|
|
256
|
+
<span class="badge badge--new">New</span>
|
|
257
|
+
</div>
|
|
258
|
+
</a>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
|
|
262
|
+
<div class="footer">
|
|
263
|
+
<p>
|
|
264
|
+
<strong>TTP Agent SDK</strong> - Voice & Text AI Agent Integration
|
|
265
|
+
</p>
|
|
266
|
+
<p style="margin-top: 8px; font-size: 14px;">
|
|
267
|
+
For documentation, visit <a href="../docs/index.html">docs/index.html</a>
|
|
268
|
+
</p>
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
</body>
|
|
272
|
+
</html>
|
|
273
|
+
|