@convai/web-sdk 0.1.1-beta.4 → 0.2.0

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.
Files changed (202) hide show
  1. package/README.md +735 -189
  2. package/dist/core/AudioManager.d.ts +8 -0
  3. package/dist/core/AudioManager.d.ts.map +1 -1
  4. package/dist/core/AudioManager.js +45 -5
  5. package/dist/core/AudioManager.js.map +1 -1
  6. package/dist/core/ConvaiClient.d.ts +22 -9
  7. package/dist/core/ConvaiClient.d.ts.map +1 -1
  8. package/dist/core/ConvaiClient.js +92 -41
  9. package/dist/core/ConvaiClient.js.map +1 -1
  10. package/dist/core/MessageHandler.d.ts.map +1 -1
  11. package/dist/core/MessageHandler.js +27 -24
  12. package/dist/core/MessageHandler.js.map +1 -1
  13. package/dist/core/ScreenShareManager.d.ts.map +1 -1
  14. package/dist/core/ScreenShareManager.js +4 -0
  15. package/dist/core/ScreenShareManager.js.map +1 -1
  16. package/dist/core/VideoManager.d.ts.map +1 -1
  17. package/dist/core/VideoManager.js +2 -0
  18. package/dist/core/VideoManager.js.map +1 -1
  19. package/dist/core/types.d.ts +13 -1
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/react/components/ConvaiWidget.d.ts +3 -0
  22. package/dist/react/components/ConvaiWidget.d.ts.map +1 -1
  23. package/dist/react/components/ConvaiWidget.js +25 -22
  24. package/dist/react/components/ConvaiWidget.js.map +1 -1
  25. package/dist/react/components/index.d.ts +0 -1
  26. package/dist/react/components/index.d.ts.map +1 -1
  27. package/dist/react/components/index.js +0 -2
  28. package/dist/react/components/index.js.map +1 -1
  29. package/dist/react/hooks/useConvaiClient.d.ts +3 -0
  30. package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
  31. package/dist/react/hooks/useConvaiClient.js +46 -9
  32. package/dist/react/hooks/useConvaiClient.js.map +1 -1
  33. package/dist/types/index.d.ts +1 -3
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/vanilla/AudioRenderer.d.ts +45 -0
  36. package/dist/vanilla/AudioRenderer.d.ts.map +1 -0
  37. package/dist/vanilla/AudioRenderer.js +126 -0
  38. package/dist/vanilla/AudioRenderer.js.map +1 -0
  39. package/dist/vanilla/ConvaiWidget.d.ts +39 -0
  40. package/dist/vanilla/ConvaiWidget.d.ts.map +1 -0
  41. package/dist/vanilla/ConvaiWidget.js +1835 -0
  42. package/dist/vanilla/ConvaiWidget.js.map +1 -0
  43. package/dist/vanilla/icons.d.ts +34 -0
  44. package/dist/vanilla/icons.d.ts.map +1 -0
  45. package/dist/vanilla/icons.js +215 -0
  46. package/dist/vanilla/icons.js.map +1 -0
  47. package/dist/vanilla/index.d.ts +35 -0
  48. package/dist/vanilla/index.d.ts.map +1 -0
  49. package/dist/vanilla/index.js +37 -0
  50. package/dist/vanilla/index.js.map +1 -0
  51. package/dist/{components/rtc-widget/styles/theme.d.ts → vanilla/styles.d.ts} +14 -50
  52. package/dist/vanilla/styles.d.ts.map +1 -0
  53. package/dist/vanilla/styles.js +287 -0
  54. package/dist/vanilla/styles.js.map +1 -0
  55. package/dist/vanilla/types.d.ts +38 -0
  56. package/dist/vanilla/types.d.ts.map +1 -0
  57. package/dist/vanilla/types.js +2 -0
  58. package/dist/vanilla/types.js.map +1 -0
  59. package/package.json +12 -5
  60. package/dist/components/ConvaiWidget.d.ts +0 -59
  61. package/dist/components/ConvaiWidget.d.ts.map +0 -1
  62. package/dist/components/ConvaiWidget.js +0 -421
  63. package/dist/components/ConvaiWidget.js.map +0 -1
  64. package/dist/components/index.d.ts +0 -3
  65. package/dist/components/index.d.ts.map +0 -1
  66. package/dist/components/index.js +0 -5
  67. package/dist/components/index.js.map +0 -1
  68. package/dist/components/rtc-widget/components/AudioSettingsPanel.d.ts +0 -10
  69. package/dist/components/rtc-widget/components/AudioSettingsPanel.d.ts.map +0 -1
  70. package/dist/components/rtc-widget/components/AudioSettingsPanel.js +0 -316
  71. package/dist/components/rtc-widget/components/AudioSettingsPanel.js.map +0 -1
  72. package/dist/components/rtc-widget/components/ConviMessage.d.ts +0 -10
  73. package/dist/components/rtc-widget/components/ConviMessage.d.ts.map +0 -1
  74. package/dist/components/rtc-widget/components/ConviMessage.js +0 -14
  75. package/dist/components/rtc-widget/components/ConviMessage.js.map +0 -1
  76. package/dist/components/rtc-widget/components/FloatingVideo.d.ts +0 -9
  77. package/dist/components/rtc-widget/components/FloatingVideo.d.ts.map +0 -1
  78. package/dist/components/rtc-widget/components/FloatingVideo.js +0 -122
  79. package/dist/components/rtc-widget/components/FloatingVideo.js.map +0 -1
  80. package/dist/components/rtc-widget/components/MarkdownRenderer.d.ts +0 -7
  81. package/dist/components/rtc-widget/components/MarkdownRenderer.d.ts.map +0 -1
  82. package/dist/components/rtc-widget/components/MarkdownRenderer.js +0 -68
  83. package/dist/components/rtc-widget/components/MarkdownRenderer.js.map +0 -1
  84. package/dist/components/rtc-widget/components/MessageBubble.d.ts +0 -10
  85. package/dist/components/rtc-widget/components/MessageBubble.d.ts.map +0 -1
  86. package/dist/components/rtc-widget/components/MessageBubble.js +0 -23
  87. package/dist/components/rtc-widget/components/MessageBubble.js.map +0 -1
  88. package/dist/components/rtc-widget/components/MessageList.d.ts +0 -11
  89. package/dist/components/rtc-widget/components/MessageList.d.ts.map +0 -1
  90. package/dist/components/rtc-widget/components/MessageList.js +0 -89
  91. package/dist/components/rtc-widget/components/MessageList.js.map +0 -1
  92. package/dist/components/rtc-widget/components/UserMessage.d.ts +0 -9
  93. package/dist/components/rtc-widget/components/UserMessage.d.ts.map +0 -1
  94. package/dist/components/rtc-widget/components/UserMessage.js +0 -15
  95. package/dist/components/rtc-widget/components/UserMessage.js.map +0 -1
  96. package/dist/components/rtc-widget/components/conviComponents/ConviButton.d.ts +0 -6
  97. package/dist/components/rtc-widget/components/conviComponents/ConviButton.d.ts.map +0 -1
  98. package/dist/components/rtc-widget/components/conviComponents/ConviButton.js +0 -15
  99. package/dist/components/rtc-widget/components/conviComponents/ConviButton.js.map +0 -1
  100. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.d.ts +0 -25
  101. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.d.ts.map +0 -1
  102. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.js +0 -172
  103. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.js.map +0 -1
  104. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.d.ts +0 -17
  105. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.d.ts.map +0 -1
  106. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.js +0 -66
  107. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.js.map +0 -1
  108. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.d.ts +0 -12
  109. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.d.ts.map +0 -1
  110. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.js +0 -68
  111. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.js.map +0 -1
  112. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts +0 -8
  113. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts.map +0 -1
  114. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js +0 -199
  115. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js.map +0 -1
  116. package/dist/components/rtc-widget/components/conviComponents/index.d.ts +0 -6
  117. package/dist/components/rtc-widget/components/conviComponents/index.d.ts.map +0 -1
  118. package/dist/components/rtc-widget/components/conviComponents/index.js +0 -6
  119. package/dist/components/rtc-widget/components/conviComponents/index.js.map +0 -1
  120. package/dist/components/rtc-widget/components/index.d.ts +0 -8
  121. package/dist/components/rtc-widget/components/index.d.ts.map +0 -1
  122. package/dist/components/rtc-widget/components/index.js +0 -13
  123. package/dist/components/rtc-widget/components/index.js.map +0 -1
  124. package/dist/components/rtc-widget/index.d.ts +0 -6
  125. package/dist/components/rtc-widget/index.d.ts.map +0 -1
  126. package/dist/components/rtc-widget/index.js +0 -9
  127. package/dist/components/rtc-widget/index.js.map +0 -1
  128. package/dist/components/rtc-widget/styles/framerConfig.d.ts +0 -116
  129. package/dist/components/rtc-widget/styles/framerConfig.d.ts.map +0 -1
  130. package/dist/components/rtc-widget/styles/framerConfig.js +0 -73
  131. package/dist/components/rtc-widget/styles/framerConfig.js.map +0 -1
  132. package/dist/components/rtc-widget/styles/icons.d.ts +0 -28
  133. package/dist/components/rtc-widget/styles/icons.d.ts.map +0 -1
  134. package/dist/components/rtc-widget/styles/icons.js +0 -257
  135. package/dist/components/rtc-widget/styles/icons.js.map +0 -1
  136. package/dist/components/rtc-widget/styles/index.d.ts +0 -6
  137. package/dist/components/rtc-widget/styles/index.d.ts.map +0 -1
  138. package/dist/components/rtc-widget/styles/index.js +0 -9
  139. package/dist/components/rtc-widget/styles/index.js.map +0 -1
  140. package/dist/components/rtc-widget/styles/styledComponents.d.ts +0 -90
  141. package/dist/components/rtc-widget/styles/styledComponents.d.ts.map +0 -1
  142. package/dist/components/rtc-widget/styles/styledComponents.js +0 -661
  143. package/dist/components/rtc-widget/styles/styledComponents.js.map +0 -1
  144. package/dist/components/rtc-widget/styles/theme.d.ts.map +0 -1
  145. package/dist/components/rtc-widget/styles/theme.js +0 -290
  146. package/dist/components/rtc-widget/styles/theme.js.map +0 -1
  147. package/dist/components/rtc-widget/types/index.d.ts +0 -60
  148. package/dist/components/rtc-widget/types/index.d.ts.map +0 -1
  149. package/dist/components/rtc-widget/types/index.js +0 -2
  150. package/dist/components/rtc-widget/types/index.js.map +0 -1
  151. package/dist/hooks/index.d.ts +0 -13
  152. package/dist/hooks/index.d.ts.map +0 -1
  153. package/dist/hooks/index.js +0 -14
  154. package/dist/hooks/index.js.map +0 -1
  155. package/dist/hooks/useAudioControls.d.ts +0 -41
  156. package/dist/hooks/useAudioControls.d.ts.map +0 -1
  157. package/dist/hooks/useAudioControls.js +0 -208
  158. package/dist/hooks/useAudioControls.js.map +0 -1
  159. package/dist/hooks/useCharacterInfo.d.ts +0 -17
  160. package/dist/hooks/useCharacterInfo.d.ts.map +0 -1
  161. package/dist/hooks/useCharacterInfo.js +0 -60
  162. package/dist/hooks/useCharacterInfo.js.map +0 -1
  163. package/dist/hooks/useConvaiClient.d.ts +0 -30
  164. package/dist/hooks/useConvaiClient.d.ts.map +0 -1
  165. package/dist/hooks/useConvaiClient.js +0 -349
  166. package/dist/hooks/useConvaiClient.js.map +0 -1
  167. package/dist/hooks/useDynamicInfoUpdater.d.ts +0 -33
  168. package/dist/hooks/useDynamicInfoUpdater.d.ts.map +0 -1
  169. package/dist/hooks/useDynamicInfoUpdater.js +0 -49
  170. package/dist/hooks/useDynamicInfoUpdater.js.map +0 -1
  171. package/dist/hooks/useLocalCameraTrack.d.ts +0 -22
  172. package/dist/hooks/useLocalCameraTrack.d.ts.map +0 -1
  173. package/dist/hooks/useLocalCameraTrack.js +0 -34
  174. package/dist/hooks/useLocalCameraTrack.js.map +0 -1
  175. package/dist/hooks/useMessageHandler.d.ts +0 -28
  176. package/dist/hooks/useMessageHandler.d.ts.map +0 -1
  177. package/dist/hooks/useMessageHandler.js +0 -267
  178. package/dist/hooks/useMessageHandler.js.map +0 -1
  179. package/dist/hooks/useScreenShare.d.ts +0 -45
  180. package/dist/hooks/useScreenShare.d.ts.map +0 -1
  181. package/dist/hooks/useScreenShare.js +0 -186
  182. package/dist/hooks/useScreenShare.js.map +0 -1
  183. package/dist/hooks/useTemplateKeysUpdater.d.ts +0 -35
  184. package/dist/hooks/useTemplateKeysUpdater.d.ts.map +0 -1
  185. package/dist/hooks/useTemplateKeysUpdater.js +0 -51
  186. package/dist/hooks/useTemplateKeysUpdater.js.map +0 -1
  187. package/dist/hooks/useTriggerMessageSender.d.ts +0 -28
  188. package/dist/hooks/useTriggerMessageSender.d.ts.map +0 -1
  189. package/dist/hooks/useTriggerMessageSender.js +0 -46
  190. package/dist/hooks/useTriggerMessageSender.js.map +0 -1
  191. package/dist/hooks/useTtsToggle.d.ts +0 -37
  192. package/dist/hooks/useTtsToggle.d.ts.map +0 -1
  193. package/dist/hooks/useTtsToggle.js +0 -63
  194. package/dist/hooks/useTtsToggle.js.map +0 -1
  195. package/dist/hooks/useUserTextMessageSender.d.ts +0 -28
  196. package/dist/hooks/useUserTextMessageSender.d.ts.map +0 -1
  197. package/dist/hooks/useUserTextMessageSender.js +0 -58
  198. package/dist/hooks/useUserTextMessageSender.js.map +0 -1
  199. package/dist/hooks/useVideoControls.d.ts +0 -39
  200. package/dist/hooks/useVideoControls.d.ts.map +0 -1
  201. package/dist/hooks/useVideoControls.js +0 -193
  202. package/dist/hooks/useVideoControls.js.map +0 -1
@@ -1,290 +0,0 @@
1
- // Aero AI Module Theme - Translucent Glass Design System
2
- export const aeroTheme = {
3
- // Color Palette
4
- colors: {
5
- // Primary colors
6
- primary: {
7
- 50: "#f0f9ff",
8
- 100: "#e0f2fe",
9
- 200: "#bae6fd",
10
- 300: "#7dd3fc",
11
- 400: "#38bdf8",
12
- 500: "#0ea5e9",
13
- 600: "#0284c7",
14
- 700: "#0369a1",
15
- 800: "#075985",
16
- 900: "#0c4a6e",
17
- },
18
- convai: {
19
- light: "#1EB453",
20
- medium: "#0b6049",
21
- dark: "#084c3a",
22
- },
23
- // Neutral colors for glass effects
24
- neutral: {
25
- 50: "#fafafa",
26
- 100: "#f5f5f5",
27
- 200: "#e5e5e5",
28
- 300: "#d4d4d4",
29
- 400: "#a3a3a3",
30
- 500: "#737373",
31
- 600: "#525252",
32
- 700: "#404040",
33
- 800: "#262626",
34
- 900: "#171717",
35
- },
36
- // Glass overlay colors
37
- glass: {
38
- light: "rgba(255, 255, 255, 0.1)",
39
- medium: "rgba(255, 255, 255, 0.15)",
40
- dark: "rgba(0, 0, 0, 0.1)",
41
- backdrop: "rgba(255, 255, 255, 0.8)",
42
- card: "rgba(255, 255, 255, 0.9)",
43
- backdropLight: "blur(20px)",
44
- borderLight: "1px solid rgba(255, 255, 255, 0.2)",
45
- },
46
- // Accent colors
47
- accent: {
48
- purple: "#8b5cf6",
49
- green: "#10b981",
50
- blue: "#3b82f6",
51
- orange: "#f59e0b",
52
- red: "#ef4444",
53
- },
54
- // Error colors
55
- error: {
56
- 50: "#fef2f2",
57
- 100: "#fee2e2",
58
- 200: "#fecaca",
59
- 300: "#fca5a5",
60
- 400: "#f87171",
61
- 500: "#ef4444",
62
- 600: "#dc2626",
63
- 700: "#b91c1c",
64
- 800: "#991b1b",
65
- 900: "#7f1d1d",
66
- },
67
- // Text colors
68
- text: {
69
- primary: "#1f2937",
70
- secondary: "#6b7280",
71
- tertiary: "#9ca3af",
72
- inverse: "#ffffff",
73
- },
74
- },
75
- // Typography
76
- typography: {
77
- fontFamily: {
78
- primary: '"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
79
- title: '"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
80
- header: '"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
81
- body: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
82
- mono: 'SF Mono, Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace',
83
- },
84
- fontSize: {
85
- xs: "0.75rem",
86
- sm: "0.875rem",
87
- base: "1rem",
88
- lg: "1.125rem",
89
- xl: "1.25rem",
90
- "2xl": "1.5rem",
91
- "3xl": "1.875rem",
92
- "4xl": "2.25rem",
93
- },
94
- sizes: {
95
- xs: "0.75rem",
96
- sm: "0.875rem",
97
- body: "1rem",
98
- lg: "1.125rem",
99
- xl: "1.25rem",
100
- "2xl": "1.5rem",
101
- "3xl": "1.875rem",
102
- "4xl": "2.25rem",
103
- caption: "0.75rem",
104
- },
105
- fontWeight: {
106
- normal: 400,
107
- medium: 500,
108
- semibold: 600,
109
- bold: 700,
110
- },
111
- lineHeight: {
112
- tight: 1.25,
113
- normal: 1.5,
114
- relaxed: 1.75,
115
- },
116
- },
117
- // Spacing
118
- spacing: {
119
- xs: "0.25rem",
120
- sm: "0.5rem",
121
- md: "1rem",
122
- lg: "1.5rem",
123
- xl: "2rem",
124
- "2xl": "3rem",
125
- "3xl": "4rem",
126
- },
127
- // Border Radius
128
- borderRadius: {
129
- none: "0",
130
- sm: "0.25rem",
131
- md: "0.5rem",
132
- lg: "0.75rem",
133
- xl: "1rem",
134
- "2xl": "1.5rem",
135
- full: "9999px",
136
- },
137
- // Shadows
138
- shadows: {
139
- sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
140
- md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
141
- lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
142
- xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
143
- glass: "0 8px 32px rgba(0, 0, 0, 0.1)",
144
- },
145
- // Glass Effects
146
- glass: {
147
- backdrop: "blur(20px)",
148
- backdropLight: "blur(10px)",
149
- backdropHeavy: "blur(40px)",
150
- border: "1px solid rgba(255, 255, 255, 0.2)",
151
- borderLight: "1px solid rgba(255, 255, 255, 0.1)",
152
- },
153
- // Transitions
154
- transitions: {
155
- fast: "0.15s ease-in-out",
156
- normal: "0.2s ease-in-out",
157
- slow: "0.3s ease-in-out",
158
- spring: "0.4s cubic-bezier(0.4, 0, 0.2, 1)",
159
- snappy: "all 0.1s ease-out",
160
- },
161
- // Z-index scale
162
- zIndex: {
163
- base: 1,
164
- dropdown: 1000,
165
- sticky: 1020,
166
- fixed: 1030,
167
- modal: 1040,
168
- popover: 1050,
169
- tooltip: 1060,
170
- },
171
- };
172
- // Common glass component styles
173
- export const glassStyles = {
174
- // Primary glass container
175
- container: `
176
- background: ${aeroTheme.colors.glass.backdrop};
177
- backdrop-filter: ${aeroTheme.glass.backdrop};
178
- border: ${aeroTheme.glass.border};
179
- border-radius: ${aeroTheme.borderRadius.xl};
180
- box-shadow: ${aeroTheme.shadows.glass};
181
- `,
182
- // Light glass overlay
183
- overlay: `
184
- background: ${aeroTheme.colors.glass.light};
185
- backdrop-filter: ${aeroTheme.glass.backdropLight};
186
- border: ${aeroTheme.glass.borderLight};
187
- border-radius: ${aeroTheme.borderRadius.lg};
188
- `,
189
- // Card glass effect
190
- card: `
191
- background: ${aeroTheme.colors.glass.card};
192
- backdrop-filter: ${aeroTheme.glass.backdrop};
193
- border: ${aeroTheme.glass.borderLight};
194
- border-radius: ${aeroTheme.borderRadius.lg};
195
- box-shadow: ${aeroTheme.shadows.md};
196
- `,
197
- // Input glass effect
198
- input: `
199
- background: ${aeroTheme.colors.glass.medium};
200
- backdrop-filter: ${aeroTheme.glass.backdropLight};
201
- border: ${aeroTheme.glass.borderLight};
202
- border-radius: ${aeroTheme.borderRadius.full};
203
- transition: ${aeroTheme.transitions.normal};
204
-
205
- &:focus {
206
- background: ${aeroTheme.colors.glass.card};
207
- border-color: ${aeroTheme.colors.primary[400]};
208
- box-shadow: 0 0 0 3px ${aeroTheme.colors.primary[100]};
209
- }
210
- `,
211
- // Button glass effect
212
- button: `
213
- background: ${aeroTheme.colors.glass.medium};
214
- backdrop-filter: ${aeroTheme.glass.backdropLight};
215
- border: ${aeroTheme.glass.borderLight};
216
- border-radius: ${aeroTheme.borderRadius.lg};
217
- transition: ${aeroTheme.transitions.normal};
218
-
219
- &:hover {
220
- background: ${aeroTheme.colors.glass.card};
221
- transform: translateY(-1px);
222
- box-shadow: ${aeroTheme.shadows.lg};
223
- }
224
-
225
- &:active {
226
- transform: translateY(0);
227
- }
228
- `,
229
- };
230
- // Icon sizes for consistency
231
- export const iconSizes = {
232
- xs: "12px",
233
- sm: "16px",
234
- md: "20px",
235
- lg: "24px",
236
- xl: "32px",
237
- "2xl": "40px",
238
- };
239
- // Common component variants
240
- export const variants = {
241
- // Button variants
242
- button: {
243
- primary: `
244
- background: linear-gradient(135deg, ${aeroTheme.colors.primary[500]}, ${aeroTheme.colors.primary[600]});
245
- color: ${aeroTheme.colors.text.inverse};
246
- box-shadow: 0 4px 12px ${aeroTheme.colors.primary[200]};
247
- `,
248
- secondary: `
249
- background: ${aeroTheme.colors.glass.medium};
250
- color: ${aeroTheme.colors.text.primary};
251
- border: ${aeroTheme.glass.borderLight};
252
- `,
253
- ghost: `
254
- background: transparent;
255
- color: ${aeroTheme.colors.text.secondary};
256
-
257
- &:hover {
258
- background: ${aeroTheme.colors.glass.light};
259
- color: ${aeroTheme.colors.text.primary};
260
- }
261
- `,
262
- },
263
- // Input variants
264
- input: {
265
- default: glassStyles.input,
266
- search: `
267
- ${glassStyles.input}
268
- padding-left: 2.5rem;
269
- `,
270
- },
271
- // Card variants
272
- card: {
273
- default: glassStyles.card,
274
- elevated: `
275
- ${glassStyles.card}
276
- box-shadow: ${aeroTheme.shadows.xl};
277
- `,
278
- interactive: `
279
- ${glassStyles.card}
280
- cursor: pointer;
281
- transition: ${aeroTheme.transitions.normal};
282
-
283
- &:hover {
284
- transform: translateY(-2px);
285
- box-shadow: ${aeroTheme.shadows.xl};
286
- }
287
- `,
288
- },
289
- };
290
- //# sourceMappingURL=theme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../src/components/rtc-widget/styles/theme.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- export interface RTCChatMessage {
2
- id: string;
3
- text: string;
4
- isUser: boolean;
5
- timestamp: string;
6
- sender: string;
7
- showLogo?: boolean;
8
- }
9
- export interface CharacterVerbosityConfig {
10
- characterId: string;
11
- label?: string;
12
- }
13
- export interface ConviUIProps {
14
- isOpen: boolean;
15
- backgroundOpacity?: number;
16
- alwaysExpanded?: boolean;
17
- characterName?: string;
18
- characterImage?: string;
19
- verbosityLevels?: Array<{
20
- index: number;
21
- characterId: string;
22
- label?: string;
23
- }>;
24
- currentVerbosityIndex?: number;
25
- onVerbosityChange?: (index: number, characterId: string) => void;
26
- verbosityChanged?: boolean;
27
- messages: RTCChatMessage[];
28
- isStreaming?: boolean;
29
- inputMode?: "conversation" | "speaker" | "voice" | "verbosity";
30
- inputValue: string;
31
- liveUserText?: string;
32
- localIsTyping: boolean;
33
- convaiIsTyping: boolean;
34
- chatbotMic: boolean;
35
- isPressingMic: boolean;
36
- isTalking: boolean;
37
- isMuted: boolean;
38
- isVoiceMode: boolean;
39
- isSettingsOpen: boolean;
40
- isSpeakerEditMode: boolean;
41
- isVerbosityMode: boolean;
42
- isCreatingSpeaker?: boolean;
43
- onToggle: () => void;
44
- onClose: () => void;
45
- onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
46
- onKeyPress: (e: React.KeyboardEvent) => void;
47
- onSend: () => void;
48
- onMicPress: () => void;
49
- onMicRelease: () => void;
50
- setIsPressingMic: (value: boolean) => void;
51
- onToggleMute: () => void;
52
- onToggleVoiceMode: () => void;
53
- onSettingsToggle: () => void;
54
- onReset: () => void;
55
- onToggleVerbosityMode: () => void;
56
- onContinue?: () => void;
57
- settingsButtonRef?: React.RefObject<HTMLButtonElement>;
58
- convaiClient?: any;
59
- }
60
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/rtc-widget/types/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IAGxB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IAGrB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAGxB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/rtc-widget/types/index.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- export * from './useConvaiClient';
2
- export * from './useLocalCameraTrack';
3
- export * from './useUserTextMessageSender';
4
- export * from './useTriggerMessageSender';
5
- export * from './useTemplateKeysUpdater';
6
- export * from './useDynamicInfoUpdater';
7
- export * from './useMessageHandler';
8
- export * from './useAudioControls';
9
- export * from './useVideoControls';
10
- export * from './useScreenShare';
11
- export * from './useTtsToggle';
12
- export * from './useCharacterInfo';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,14 +0,0 @@
1
- // Export hooks here
2
- export * from './useConvaiClient';
3
- export * from './useLocalCameraTrack';
4
- export * from './useUserTextMessageSender';
5
- export * from './useTriggerMessageSender';
6
- export * from './useTemplateKeysUpdater';
7
- export * from './useDynamicInfoUpdater';
8
- export * from './useMessageHandler';
9
- export * from './useAudioControls';
10
- export * from './useVideoControls';
11
- export * from './useScreenShare';
12
- export * from './useTtsToggle';
13
- export * from './useCharacterInfo';
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,41 +0,0 @@
1
- import { Room } from "livekit-client";
2
- export interface AudioControls {
3
- isAudioEnabled: boolean;
4
- isAudioMuted: boolean;
5
- audioLevel: number;
6
- enableAudio: () => Promise<void>;
7
- disableAudio: () => Promise<void>;
8
- muteAudio: () => Promise<void>;
9
- unmuteAudio: () => Promise<void>;
10
- toggleAudio: () => Promise<void>;
11
- setAudioDevice: (deviceId: string) => Promise<void>;
12
- getAudioDevices: () => Promise<MediaDeviceInfo[]>;
13
- startAudioLevelMonitoring: () => void;
14
- stopAudioLevelMonitoring: () => void;
15
- }
16
- /**
17
- * Hook for managing audio controls in LiveKit.
18
- *
19
- * Provides methods to enable/disable microphone, manage audio devices,
20
- * and control audio visibility state.
21
- *
22
- * @param {Room | null} room - LiveKit room instance
23
- * @returns {AudioControls} Object containing audio control methods and state
24
- *
25
- * @example
26
- * ```tsx
27
- * function AudioControls() {
28
- * const audioControls = useAudioControls(room);
29
- *
30
- * return (
31
- * <div>
32
- * <button onClick={audioControls.toggleAudio}>
33
- * {audioControls.isAudioEnabled ? 'Mute' : 'Unmute'}
34
- * </button>
35
- * </div>
36
- * );
37
- * }
38
- * ```
39
- */
40
- export declare const useAudioControls: (room: Room | null) => AudioControls;
41
- //# sourceMappingURL=useAudioControls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAudioControls.d.ts","sourceRoot":"","sources":["../../src/hooks/useAudioControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAClD,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,wBAAwB,EAAE,MAAM,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,GAAG,IAAI,KAAG,aA8MpD,CAAC"}
@@ -1,208 +0,0 @@
1
- import { useCallback, useState, useEffect } from "react";
2
- import { logger } from "../utils/logger";
3
- /**
4
- * Hook for managing audio controls in LiveKit.
5
- *
6
- * Provides methods to enable/disable microphone, manage audio devices,
7
- * and control audio visibility state.
8
- *
9
- * @param {Room | null} room - LiveKit room instance
10
- * @returns {AudioControls} Object containing audio control methods and state
11
- *
12
- * @example
13
- * ```tsx
14
- * function AudioControls() {
15
- * const audioControls = useAudioControls(room);
16
- *
17
- * return (
18
- * <div>
19
- * <button onClick={audioControls.toggleAudio}>
20
- * {audioControls.isAudioEnabled ? 'Mute' : 'Unmute'}
21
- * </button>
22
- * </div>
23
- * );
24
- * }
25
- * ```
26
- */
27
- export const useAudioControls = (room) => {
28
- const [isAudioEnabled, setIsAudioEnabled] = useState(false);
29
- const [isAudioMuted, setIsAudioMuted] = useState(false);
30
- const [audioLevel, setAudioLevel] = useState(0);
31
- // Update audio state when room changes
32
- useEffect(() => {
33
- if (!room || room.state === 'disconnected') {
34
- setIsAudioEnabled(false);
35
- setIsAudioMuted(false);
36
- setAudioLevel(0);
37
- return;
38
- }
39
- const localParticipant = room.localParticipant;
40
- // Set initial state
41
- setIsAudioEnabled(localParticipant.isMicrophoneEnabled);
42
- setIsAudioMuted(false); // LiveKit doesn't have a direct muted state
43
- // Listen for audio state changes
44
- const handleTrackMuted = (track) => {
45
- if (track.source === 'microphone') {
46
- setIsAudioMuted(true);
47
- setIsAudioEnabled(false);
48
- }
49
- };
50
- const handleTrackUnmuted = (track) => {
51
- if (track.source === 'microphone') {
52
- setIsAudioMuted(false);
53
- setIsAudioEnabled(true);
54
- }
55
- };
56
- const handleTrackPublished = (track) => {
57
- if (track.source === 'microphone') {
58
- setIsAudioEnabled(true);
59
- setIsAudioMuted(false);
60
- }
61
- };
62
- const handleTrackUnpublished = (track) => {
63
- if (track.source === 'microphone') {
64
- setIsAudioEnabled(false);
65
- setIsAudioMuted(true);
66
- }
67
- };
68
- // Subscribe to events
69
- localParticipant.on('trackMuted', handleTrackMuted);
70
- localParticipant.on('trackUnmuted', handleTrackUnmuted);
71
- localParticipant.on('trackPublished', handleTrackPublished);
72
- localParticipant.on('trackUnpublished', handleTrackUnpublished);
73
- return () => {
74
- localParticipant.off('trackMuted', handleTrackMuted);
75
- localParticipant.off('trackUnmuted', handleTrackUnmuted);
76
- localParticipant.off('trackPublished', handleTrackPublished);
77
- localParticipant.off('trackUnpublished', handleTrackUnpublished);
78
- };
79
- }, [room, room?.state]);
80
- // Enable audio
81
- const enableAudio = useCallback(async () => {
82
- if (!room) {
83
- return;
84
- }
85
- try {
86
- await room.localParticipant.setMicrophoneEnabled(true);
87
- }
88
- catch (error) {
89
- logger.error("Failed to enable audio:", error);
90
- throw error;
91
- }
92
- }, [room]);
93
- // Disable audio and completely release microphone
94
- const disableAudio = useCallback(async () => {
95
- if (!room) {
96
- return;
97
- }
98
- try {
99
- // Get the microphone track before disabling
100
- const micTrack = Array.from(room.localParticipant.audioTrackPublications.values()).find((publication) => publication.source === 'microphone' && publication.track)?.track;
101
- // Disable microphone (unpublishes the track)
102
- await room.localParticipant.setMicrophoneEnabled(false);
103
- // Explicitly stop the underlying MediaStreamTrack to release hardware
104
- // This removes the browser recording indicator
105
- if (micTrack) {
106
- micTrack.stop();
107
- }
108
- }
109
- catch (error) {
110
- logger.error("Failed to disable audio:", error);
111
- throw error;
112
- }
113
- }, [room]);
114
- // Mute audio
115
- const muteAudio = useCallback(async () => {
116
- if (!room) {
117
- return;
118
- }
119
- try {
120
- // For now, we'll just disable the microphone as LiveKit doesn't have a direct mute method
121
- await room.localParticipant.setMicrophoneEnabled(false);
122
- }
123
- catch (error) {
124
- logger.error("Failed to mute audio:", error);
125
- throw error;
126
- }
127
- }, [room]);
128
- // Unmute audio
129
- const unmuteAudio = useCallback(async () => {
130
- if (!room) {
131
- return;
132
- }
133
- try {
134
- await room.localParticipant.setMicrophoneEnabled(true);
135
- }
136
- catch (error) {
137
- logger.error("Failed to unmute audio:", error);
138
- throw error;
139
- }
140
- }, [room]);
141
- // Toggle audio
142
- const toggleAudio = useCallback(async () => {
143
- if (isAudioMuted) {
144
- await unmuteAudio();
145
- }
146
- else {
147
- await muteAudio();
148
- }
149
- }, [isAudioMuted, muteAudio, unmuteAudio]);
150
- // Set audio device
151
- const setAudioDevice = useCallback(async (deviceId) => {
152
- if (!room) {
153
- return;
154
- }
155
- try {
156
- await room.localParticipant.setMicrophoneEnabled(true, { deviceId });
157
- }
158
- catch (error) {
159
- logger.error("Failed to set audio device:", error);
160
- throw error;
161
- }
162
- }, [room]);
163
- // Get available audio devices
164
- const getAudioDevices = useCallback(async () => {
165
- try {
166
- const devices = await navigator.mediaDevices.enumerateDevices();
167
- const audioDevices = devices.filter(device => device.kind === 'audioinput');
168
- return audioDevices;
169
- }
170
- catch (error) {
171
- logger.error("Failed to get audio devices:", error);
172
- throw error;
173
- }
174
- }, []);
175
- // Start audio level monitoring
176
- const startAudioLevelMonitoring = useCallback(() => {
177
- if (!room) {
178
- return;
179
- }
180
- // TODO: Implement audio level monitoring when LiveKit provides the API
181
- }, [room]);
182
- // Stop audio level monitoring
183
- const stopAudioLevelMonitoring = useCallback(() => {
184
- if (!room) {
185
- return;
186
- }
187
- setAudioLevel(0);
188
- }, [room]);
189
- return {
190
- // Audio state
191
- isAudioEnabled,
192
- isAudioMuted,
193
- audioLevel,
194
- // Audio controls
195
- enableAudio,
196
- disableAudio,
197
- muteAudio,
198
- unmuteAudio,
199
- toggleAudio,
200
- // Audio settings
201
- setAudioDevice,
202
- getAudioDevices,
203
- // Audio monitoring
204
- startAudioLevelMonitoring,
205
- stopAudioLevelMonitoring,
206
- };
207
- };
208
- //# sourceMappingURL=useAudioControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAudioControls.js","sourceRoot":"","sources":["../../src/hooks/useAudioControls.ts"],"names":[],"mappings":"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"}