@convai/web-sdk 1.8.0-beta.2 → 1.8.0-beta.4

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 (99) hide show
  1. package/README.md +30 -0
  2. package/dist/core/AudioManager.d.ts +3 -3
  3. package/dist/core/AudioManager.js +1 -1
  4. package/dist/core/ConnectionStateHandler.d.ts +1 -1
  5. package/dist/core/ConvaiClient.d.ts +6 -5
  6. package/dist/core/ConvaiClient.d.ts.map +1 -1
  7. package/dist/core/ConvaiClient.js +126 -43
  8. package/dist/core/ConvaiClient.js.map +1 -1
  9. package/dist/core/MemoryManager.d.ts +1 -1
  10. package/dist/core/MessageHandler.d.ts +4 -3
  11. package/dist/core/MessageHandler.d.ts.map +1 -1
  12. package/dist/core/MessageHandler.js +28 -11
  13. package/dist/core/MessageHandler.js.map +1 -1
  14. package/dist/core/SSESession.d.ts +44 -0
  15. package/dist/core/SSESession.d.ts.map +1 -0
  16. package/dist/core/SSESession.js +200 -0
  17. package/dist/core/SSESession.js.map +1 -0
  18. package/dist/core/ScreenShareManager.d.ts +2 -2
  19. package/dist/core/ScreenShareManager.js +2 -2
  20. package/dist/core/VideoManager.d.ts +2 -2
  21. package/dist/core/VideoManager.js +3 -3
  22. package/dist/core/connectRequest.d.ts +3 -1
  23. package/dist/core/connectRequest.d.ts.map +1 -1
  24. package/dist/core/connectRequest.js +27 -0
  25. package/dist/core/connectRequest.js.map +1 -1
  26. package/dist/core/contextUpdateRequest.d.ts +1 -1
  27. package/dist/core/index.d.ts +12 -12
  28. package/dist/core/index.js +10 -10
  29. package/dist/core/logicalTurn.d.ts +5 -0
  30. package/dist/core/logicalTurn.d.ts.map +1 -0
  31. package/dist/core/logicalTurn.js +10 -0
  32. package/dist/core/logicalTurn.js.map +1 -0
  33. package/dist/core/types.d.ts +14 -5
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/core/types.js.map +1 -1
  36. package/dist/core/videoSourceState.d.ts +1 -1
  37. package/dist/core/visionRequest.d.ts +1 -1
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.js +2 -2
  40. package/dist/lipsync-helpers/createBlendshapeQueue.d.ts +2 -2
  41. package/dist/lipsync-helpers/createBlendshapeQueue.js +2 -2
  42. package/dist/lipsync-helpers/declarativeMapping.d.ts +1 -1
  43. package/dist/lipsync-helpers/declarativeMapping.js +2 -2
  44. package/dist/lipsync-helpers/index.d.ts +12 -12
  45. package/dist/lipsync-helpers/index.js +9 -9
  46. package/dist/lipsync-helpers/mhaLimitDrivers.js +2 -2
  47. package/dist/lipsync-helpers/naturalness/processor.d.ts +1 -1
  48. package/dist/lipsync-helpers/naturalness/processor.js +1 -1
  49. package/dist/lipsync-helpers/naturalness/profiles/mha.d.ts +1 -1
  50. package/dist/lipsync-helpers/naturalness/profiles/mha.js +1 -1
  51. package/dist/lipsync-helpers/presetMappers.d.ts +1 -1
  52. package/dist/react/components/ConvaiWidget.d.ts +1 -1
  53. package/dist/react/components/ConvaiWidget.js +4 -4
  54. package/dist/react/components/index.d.ts +1 -1
  55. package/dist/react/components/index.js +1 -1
  56. package/dist/react/components/rtc-widget/components/AudioSettingsPanel.d.ts +1 -1
  57. package/dist/react/components/rtc-widget/components/ConviMessage.js +3 -3
  58. package/dist/react/components/rtc-widget/components/FloatingVideo.js +3 -3
  59. package/dist/react/components/rtc-widget/components/MessageBubble.js +1 -1
  60. package/dist/react/components/rtc-widget/components/MessageList.d.ts +1 -1
  61. package/dist/react/components/rtc-widget/components/MessageList.js +4 -4
  62. package/dist/react/components/rtc-widget/components/UserMessage.js +3 -3
  63. package/dist/react/components/rtc-widget/components/conviComponents/ConviButton.js +4 -4
  64. package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js +3 -3
  65. package/dist/react/components/rtc-widget/components/conviComponents/ConviHeader.js +4 -4
  66. package/dist/react/components/rtc-widget/components/conviComponents/SettingsTray.js +3 -3
  67. package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js +3 -3
  68. package/dist/react/components/rtc-widget/components/conviComponents/index.d.ts +5 -5
  69. package/dist/react/components/rtc-widget/components/conviComponents/index.js +5 -5
  70. package/dist/react/components/rtc-widget/components/index.d.ts +8 -8
  71. package/dist/react/components/rtc-widget/components/index.js +9 -9
  72. package/dist/react/components/rtc-widget/index.d.ts +5 -5
  73. package/dist/react/components/rtc-widget/index.js +3 -3
  74. package/dist/react/components/rtc-widget/styles/icons.d.ts +1 -1
  75. package/dist/react/components/rtc-widget/styles/icons.js +1 -1
  76. package/dist/react/components/rtc-widget/styles/index.d.ts +5 -5
  77. package/dist/react/components/rtc-widget/styles/index.js +4 -4
  78. package/dist/react/components/rtc-widget/styles/styledComponents.js +1 -1
  79. package/dist/react/hooks/index.d.ts +3 -3
  80. package/dist/react/hooks/index.js +3 -3
  81. package/dist/react/hooks/useCharacterInfo.js +1 -1
  82. package/dist/react/hooks/useConvaiClient.d.ts +1 -1
  83. package/dist/react/hooks/useConvaiClient.js +1 -1
  84. package/dist/react/index.d.ts +6 -6
  85. package/dist/react/index.js +6 -6
  86. package/dist/vanilla/AudioRenderer.js +1 -1
  87. package/dist/vanilla/ConvaiWidget.d.ts +1 -1
  88. package/dist/vanilla/ConvaiWidget.js +4 -4
  89. package/dist/vanilla/WebSocketSession.d.ts +1 -1
  90. package/dist/vanilla/WebSocketSession.js +1 -1
  91. package/dist/vanilla/index.d.ts +5 -5
  92. package/dist/vanilla/index.js +4 -4
  93. package/dist/vanilla/types.d.ts +1 -1
  94. package/dist/vanilla/websocket.d.ts +1 -1
  95. package/dist/vanilla/websocket.js +2 -2
  96. package/dist/version.d.ts +1 -1
  97. package/dist/version.js +1 -1
  98. package/dist/version.js.map +1 -1
  99. package/package.json +5 -4
@@ -6,8 +6,8 @@
6
6
  * - MetaHuman passthrough
7
7
  * - Custom mapper
8
8
  */
9
- import { BlendshapeQueue } from '../core/BlendshapeQueue';
10
- import { BlendshapeMappingConfig, BlendshapeMapper } from './mappingTypes';
9
+ import { BlendshapeQueue } from '../core/BlendshapeQueue.js';
10
+ import { BlendshapeMappingConfig, BlendshapeMapper } from './mappingTypes.js';
11
11
  /**
12
12
  * Create a BlendshapeQueue with the specified mapping configuration
13
13
  *
@@ -6,8 +6,8 @@
6
6
  * - MetaHuman passthrough
7
7
  * - Custom mapper
8
8
  */
9
- import { BlendshapeQueue } from '../core/BlendshapeQueue';
10
- import { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper } from './presetMappers';
9
+ import { BlendshapeQueue } from '../core/BlendshapeQueue.js';
10
+ import { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper } from './presetMappers.js';
11
11
  /**
12
12
  * Create a BlendshapeQueue with the specified mapping configuration
13
13
  *
@@ -15,7 +15,7 @@
15
15
  * };
16
16
  * ```
17
17
  */
18
- import type { BlendshapeMapper } from './mappingTypes';
18
+ import type { BlendshapeMapper } from './mappingTypes.js';
19
19
  /**
20
20
  * Declarative mapping configuration
21
21
  * Maps source blendshape names to target blendshape names
@@ -15,8 +15,8 @@
15
15
  * };
16
16
  * ```
17
17
  */
18
- import { ARKIT_ORDER_61 } from './arkitOrder61';
19
- import { METAHUMAN_ORDER_251 } from './metahumanOrder251';
18
+ import { ARKIT_ORDER_61 } from './arkitOrder61.js';
19
+ import { METAHUMAN_ORDER_251 } from './metahumanOrder251.js';
20
20
  /**
21
21
  * Create a mapper from ARKit format using declarative name mapping
22
22
  *
@@ -4,16 +4,16 @@
4
4
  * Essential blendshape order arrays for ARKit and MetaHuman formats.
5
5
  * These define the order in which blendshape values are received from Convai's server.
6
6
  */
7
- export { ARKIT_ORDER_61, STANDARD_ARKIT_ORDER, convertOrder61ToStandard, mapOrder61ToNames, getBlendshapeValueFromOrder61, getHeadRotation, getEyeRotations, getLipSyncValuesFromOrder61, getActiveBlendshapesFromOrder61, formatOrder61ForLogging, } from "./arkitOrder61";
8
- export { METAHUMAN_ORDER_251, METAHUMAN_CATEGORIES, KEY_METAHUMAN_LIPSYNC, getMetaHumanBlendshapeName, getMetaHumanBlendshapeIndex, getMetaHumanBlendshapesByCategory, formatMetaHumanBlendshapesForLogging, } from "./metahumanOrder251";
9
- export type { BlendshapeMapper, BlendshapeFormat, BlendshapeMappingConfig, } from "./mappingTypes";
10
- export { PRESET_MAPPINGS, } from "./mappingTypes";
11
- export { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper, } from "./presetMappers";
12
- export { createBlendshapeQueue, createARKitBlendshapeQueue, createMetaHumanBlendshapeQueue, createCustomBlendshapeQueue, createPassthroughBlendshapeQueue, inferMappingFromConfig, } from "./createBlendshapeQueue";
13
- export type { BlendshapeNameMapping, OptimizedBlendshapeOutput, } from "./declarativeMapping";
14
- export { createARKitNameMapper, createMetaHumanNameMapper, getBlendshapeObject, } from "./declarativeMapping";
15
- export { createLipsyncProcessor, getLipsyncProfile, } from "./naturalness/processor";
16
- export type { LipsyncFormat, LipsyncFormatProfile, LipsyncProcessorOptions, LipsyncEnvelopeOptions, LipsyncMeshBinding, } from "./naturalness/types";
17
- export { MHA_PROFILE, mhaChannelIndex } from "./naturalness/profiles/mha";
18
- export { MHA_LIMIT_DRIVERS, applyMhaLimits, MHA_RECOMMENDED_GAINS, createMhaGainMask, MHA_EYE_CHANNEL_INDICES, symmetrizeMhaMouth, } from "./mhaLimitDrivers";
7
+ export { ARKIT_ORDER_61, STANDARD_ARKIT_ORDER, convertOrder61ToStandard, mapOrder61ToNames, getBlendshapeValueFromOrder61, getHeadRotation, getEyeRotations, getLipSyncValuesFromOrder61, getActiveBlendshapesFromOrder61, formatOrder61ForLogging, } from "./arkitOrder61.js";
8
+ export { METAHUMAN_ORDER_251, METAHUMAN_CATEGORIES, KEY_METAHUMAN_LIPSYNC, getMetaHumanBlendshapeName, getMetaHumanBlendshapeIndex, getMetaHumanBlendshapesByCategory, formatMetaHumanBlendshapesForLogging, } from "./metahumanOrder251.js";
9
+ export type { BlendshapeMapper, BlendshapeFormat, BlendshapeMappingConfig, } from "./mappingTypes.js";
10
+ export { PRESET_MAPPINGS, } from "./mappingTypes.js";
11
+ export { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper, } from "./presetMappers.js";
12
+ export { createBlendshapeQueue, createARKitBlendshapeQueue, createMetaHumanBlendshapeQueue, createCustomBlendshapeQueue, createPassthroughBlendshapeQueue, inferMappingFromConfig, } from "./createBlendshapeQueue.js";
13
+ export type { BlendshapeNameMapping, OptimizedBlendshapeOutput, } from "./declarativeMapping.js";
14
+ export { createARKitNameMapper, createMetaHumanNameMapper, getBlendshapeObject, } from "./declarativeMapping.js";
15
+ export { createLipsyncProcessor, getLipsyncProfile, } from "./naturalness/processor.js";
16
+ export type { LipsyncFormat, LipsyncFormatProfile, LipsyncProcessorOptions, LipsyncEnvelopeOptions, LipsyncMeshBinding, } from "./naturalness/types.js";
17
+ export { MHA_PROFILE, mhaChannelIndex } from "./naturalness/profiles/mha.js";
18
+ export { MHA_LIMIT_DRIVERS, applyMhaLimits, MHA_RECOMMENDED_GAINS, createMhaGainMask, MHA_EYE_CHANNEL_INDICES, symmetrizeMhaMouth, } from "./mhaLimitDrivers.js";
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -13,7 +13,7 @@ ARKIT_ORDER_61,
13
13
  // Standard ARKit 52-element order
14
14
  STANDARD_ARKIT_ORDER,
15
15
  // Helper functions
16
- convertOrder61ToStandard, mapOrder61ToNames, getBlendshapeValueFromOrder61, getHeadRotation, getEyeRotations, getLipSyncValuesFromOrder61, getActiveBlendshapesFromOrder61, formatOrder61ForLogging, } from "./arkitOrder61";
16
+ convertOrder61ToStandard, mapOrder61ToNames, getBlendshapeValueFromOrder61, getHeadRotation, getEyeRotations, getLipSyncValuesFromOrder61, getActiveBlendshapesFromOrder61, formatOrder61ForLogging, } from "./arkitOrder61.js";
17
17
  // ============================================================================
18
18
  // METAHUMAN FORMAT (251 CTRL_expressions_* blendshapes)
19
19
  // ============================================================================
@@ -25,16 +25,16 @@ METAHUMAN_CATEGORIES,
25
25
  // Key lipsync blendshapes
26
26
  KEY_METAHUMAN_LIPSYNC,
27
27
  // Helper functions
28
- getMetaHumanBlendshapeName, getMetaHumanBlendshapeIndex, getMetaHumanBlendshapesByCategory, formatMetaHumanBlendshapesForLogging, } from "./metahumanOrder251";
29
- export { PRESET_MAPPINGS, } from "./mappingTypes";
30
- export { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper, } from "./presetMappers";
31
- export { createBlendshapeQueue, createARKitBlendshapeQueue, createMetaHumanBlendshapeQueue, createCustomBlendshapeQueue, createPassthroughBlendshapeQueue, inferMappingFromConfig, } from "./createBlendshapeQueue";
32
- export { createARKitNameMapper, createMetaHumanNameMapper, getBlendshapeObject, } from "./declarativeMapping";
28
+ getMetaHumanBlendshapeName, getMetaHumanBlendshapeIndex, getMetaHumanBlendshapesByCategory, formatMetaHumanBlendshapesForLogging, } from "./metahumanOrder251.js";
29
+ export { PRESET_MAPPINGS, } from "./mappingTypes.js";
30
+ export { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper, } from "./presetMappers.js";
31
+ export { createBlendshapeQueue, createARKitBlendshapeQueue, createMetaHumanBlendshapeQueue, createCustomBlendshapeQueue, createPassthroughBlendshapeQueue, inferMappingFromConfig, } from "./createBlendshapeQueue.js";
32
+ export { createARKitNameMapper, createMetaHumanNameMapper, getBlendshapeObject, } from "./declarativeMapping.js";
33
33
  // Modular naturalness pipeline: format profiles + one-call processor.
34
34
  // createLipsyncProcessor('mha') wraps symmetrize → limits → gains →
35
35
  // envelope → mesh application; new formats plug in as profiles.
36
- export { createLipsyncProcessor, getLipsyncProfile, } from "./naturalness/processor";
37
- export { MHA_PROFILE, mhaChannelIndex } from "./naturalness/profiles/mha";
36
+ export { createLipsyncProcessor, getLipsyncProfile, } from "./naturalness/processor.js";
37
+ export { MHA_PROFILE, mhaChannelIndex } from "./naturalness/profiles/mha.js";
38
38
  // Flat MHA convenience wrappers over the profile (piecemeal use)
39
- export { MHA_LIMIT_DRIVERS, applyMhaLimits, MHA_RECOMMENDED_GAINS, createMhaGainMask, MHA_EYE_CHANNEL_INDICES, symmetrizeMhaMouth, } from "./mhaLimitDrivers";
39
+ export { MHA_LIMIT_DRIVERS, applyMhaLimits, MHA_RECOMMENDED_GAINS, createMhaGainMask, MHA_EYE_CHANNEL_INDICES, symmetrizeMhaMouth, } from "./mhaLimitDrivers.js";
40
40
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { METAHUMAN_ORDER_251 } from "./metahumanOrder251";
2
- import { MHA_PROFILE, MHA_RECOMMENDED_GAIN_TABLE, mhaChannelIndex, } from "./naturalness/profiles/mha";
1
+ import { METAHUMAN_ORDER_251 } from "./metahumanOrder251.js";
2
+ import { MHA_PROFILE, MHA_RECOMMENDED_GAIN_TABLE, mhaChannelIndex, } from "./naturalness/profiles/mha.js";
3
3
  /**
4
4
  * Flat MHA convenience helpers — thin wrappers over the modular
5
5
  * naturalness profile (see `naturalness/`). Prefer
@@ -1,4 +1,4 @@
1
- import type { LipsyncFormat, LipsyncFormatProfile, LipsyncMeshBinding, LipsyncProcessorOptions } from "./types";
1
+ import type { LipsyncFormat, LipsyncFormatProfile, LipsyncMeshBinding, LipsyncProcessorOptions } from "./types.js";
2
2
  /** Resolve a registered format profile; throws a helpful error otherwise. */
3
3
  export declare function getLipsyncProfile(format: LipsyncFormat): LipsyncFormatProfile;
4
4
  export interface LipsyncProcessor {
@@ -1,4 +1,4 @@
1
- import { MHA_PROFILE } from "./profiles/mha";
1
+ import { MHA_PROFILE } from "./profiles/mha.js";
2
2
  /**
3
3
  * createLipsyncProcessor — the one-call naturalness pipeline for a stream
4
4
  * format. Wraps every per-frame pattern from the lipsync docs:
@@ -1,4 +1,4 @@
1
- import type { LipsyncFormatProfile } from "../types";
1
+ import type { LipsyncFormatProfile } from "../types.js";
2
2
  /** Production-tuned per-channel gains (short name → gain). */
3
3
  export declare const MHA_RECOMMENDED_GAIN_TABLE: Record<string, number>;
4
4
  export declare const MHA_PROFILE: LipsyncFormatProfile;
@@ -1,4 +1,4 @@
1
- import { METAHUMAN_ORDER_251 } from "../../metahumanOrder251";
1
+ import { METAHUMAN_ORDER_251 } from "../../metahumanOrder251.js";
2
2
  /**
3
3
  * MetaHuman (`mha`, 251-channel) format profile.
4
4
  *
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Simple passthrough mappers for ARKit and MetaHuman formats
5
5
  */
6
- import { BlendshapeMapper } from './mappingTypes';
6
+ import { BlendshapeMapper } from './mappingTypes.js';
7
7
  /**
8
8
  * ARKit Passthrough Mapper
9
9
  * Input: 61-element ARKit array from server
@@ -1,4 +1,4 @@
1
- import type { IConvaiClient } from "../../core/types";
1
+ import type { IConvaiClient } from "../../core/types.js";
2
2
  interface ConvaiWidgetProps {
3
3
  /** Convai client instance (required) */
4
4
  convaiClient: IConvaiClient & {
@@ -5,12 +5,12 @@ import { FiMoreVertical, FiSend, FiPhoneOff } from "react-icons/fi";
5
5
  import { IoVolumeMute, IoVolumeHigh } from "react-icons/io5";
6
6
  import { PiWaveform } from "react-icons/pi";
7
7
  import { RoomContext } from "@livekit/components-react";
8
- import { useCharacterInfo } from "../hooks/useCharacterInfo";
9
- import { AudioRenderer } from "../../vanilla/AudioRenderer";
8
+ import { useCharacterInfo } from "../hooks/useCharacterInfo.js";
9
+ import { AudioRenderer } from "../../vanilla/AudioRenderer.js";
10
10
  // Import styled components and theme from rtc-widget
11
- import { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, aeroTheme, iosTransitions, ConvaiLogo, ChevronDown, } from "./rtc-widget";
11
+ import { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, aeroTheme, iosTransitions, ConvaiLogo, ChevronDown, } from "./rtc-widget/index.js";
12
12
  // Import message components
13
- import { MessageList, SettingsTray, VoiceModeOverlay, FloatingVideo, } from "./rtc-widget";
13
+ import { MessageList, SettingsTray, VoiceModeOverlay, FloatingVideo, } from "./rtc-widget/index.js";
14
14
  /**
15
15
  * ConvaiWidget - A consolidated chat widget component for real-time conversations
16
16
  *
@@ -1,2 +1,2 @@
1
- export { ConvaiWidget } from './ConvaiWidget';
1
+ export { ConvaiWidget } from './ConvaiWidget.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Main widget component
2
- export { ConvaiWidget } from './ConvaiWidget';
2
+ export { ConvaiWidget } from './ConvaiWidget.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { AudioSettings } from "../../../../core/types";
2
+ import { AudioSettings } from "../../../../core/types.js";
3
3
  interface AudioSettingsPanelProps {
4
4
  currentSettings: AudioSettings;
5
5
  onUpdateSettings: (settings: Partial<AudioSettings>) => Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { aeroTheme } from "../styles";
3
- import { ConvaiLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, } from "../styles";
4
- import { MarkdownRenderer } from "./MarkdownRenderer";
2
+ import { aeroTheme } from "../styles/index.js";
3
+ import { ConvaiLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, } from "../styles/index.js";
4
+ import { MarkdownRenderer } from "./MarkdownRenderer.js";
5
5
  export const ConviMessage = ({ message, timestamp, className, showLogo = true, sender, }) => {
6
6
  return (_jsxs(ConviMessageContainer, { className: className, children: [_jsxs(ConviBubble, { children: [showLogo && (_jsxs(MessageHeader, { children: [_jsx(LogoWrapper, { children: _jsx(ConvaiLogo, { size: "sm", color: "#10b981", animate: false, state: "connected" }) }), _jsx(ConviLabel, { children: sender })] })), _jsx(MarkdownRenderer, { text: message })] }), timestamp && (_jsx("span", { style: {
7
7
  fontSize: aeroTheme.typography.sizes.caption,
@@ -4,9 +4,9 @@ import { motion } from "framer-motion";
4
4
  import { VideoTrack, RoomContext, useRoomContext } from "@livekit/components-react";
5
5
  import { IoClose, IoVideocamOff } from "react-icons/io5";
6
6
  import { MdDragIndicator } from "react-icons/md";
7
- import { aeroTheme } from "../styles/theme";
8
- import { iosTransitions } from "../styles/framerConfig";
9
- import { useLocalCameraTrack } from "../../../hooks/useLocalCameraTrack";
7
+ import { aeroTheme } from "../styles/theme.js";
8
+ import { iosTransitions } from "../styles/framerConfig.js";
9
+ import { useLocalCameraTrack } from "../../../hooks/useLocalCameraTrack.js";
10
10
  /**
11
11
  * LocalVideoDisplay component for rendering local camera feed inside FloatingVideo.
12
12
  */
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { BubbleContainer, Bubble, Timestamp } from "../styles";
2
+ import { BubbleContainer, Bubble, Timestamp } from "../styles/index.js";
3
3
  const bubbleVariants = {
4
4
  initial: {
5
5
  opacity: 0,
@@ -1,4 +1,4 @@
1
- import { RTCChatMessage } from "../types";
1
+ import { RTCChatMessage } from "../types/index.js";
2
2
  type Message = RTCChatMessage;
3
3
  interface MessageListProps {
4
4
  messages: Message[];
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useRef, useEffect, useCallback } from "react";
3
- import { UserMessage } from "./UserMessage";
4
- import { ConviMessage } from "./ConviMessage";
5
- import { aeroTheme } from "../styles";
6
- import { MessageListContainer, MessageWrapper, EmptyState } from "../styles";
3
+ import { UserMessage } from "./UserMessage.js";
4
+ import { ConviMessage } from "./ConviMessage.js";
5
+ import { aeroTheme } from "../styles/index.js";
6
+ import { MessageListContainer, MessageWrapper, EmptyState } from "../styles/index.js";
7
7
  export const MessageList = ({ messages, className, isStreaming = false, forceToBottomToken, }) => {
8
8
  const containerRef = useRef(null);
9
9
  const [shouldAutoScroll, setShouldAutoScroll] = React.useState(true);
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { aeroTheme } from "../styles";
3
- import { UserBubble, UserMessageContainer, MessageHeader, UserLabel, LogoWrapper, } from "../styles";
2
+ import { aeroTheme } from "../styles/index.js";
3
+ import { UserBubble, UserMessageContainer, MessageHeader, UserLabel, LogoWrapper, } from "../styles/index.js";
4
4
  import { FaUser } from "react-icons/fa";
5
- import { MarkdownRenderer } from "./MarkdownRenderer";
5
+ import { MarkdownRenderer } from "./MarkdownRenderer.js";
6
6
  export const UserMessage = ({ message, timestamp, className, sender, }) => {
7
7
  return (_jsxs(UserMessageContainer, { className: className, children: [_jsxs(UserBubble, { children: [sender && (_jsxs(MessageHeader, { children: [_jsx(LogoWrapper, { children: _jsx(FaUser, { size: 16, color: aeroTheme.colors.convai.dark }) }), _jsx(UserLabel, { children: sender === "User" ? "You" : sender })] })), _jsx(MarkdownRenderer, { text: message })] }), timestamp && (_jsx("span", { style: {
8
8
  fontSize: aeroTheme.typography.sizes.caption,
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ConvaiLogo } from "../../styles/icons";
3
- import { aeroTheme } from "../../styles/theme";
4
- import { iosTransitions } from "../../styles/framerConfig";
5
- import { ButtonContent, Logo } from "../../styles/styledComponents";
2
+ import { ConvaiLogo } from "../../styles/icons.js";
3
+ import { aeroTheme } from "../../styles/theme.js";
4
+ import { iosTransitions } from "../../styles/framerConfig.js";
5
+ import { ButtonContent, Logo } from "../../styles/styledComponents.js";
6
6
  export const ConviButton = ({ isOpen }) => {
7
7
  return (_jsx(ButtonContent, { animate: {
8
8
  opacity: isOpen ? 0 : 1,
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { AnimatePresence, motion } from "framer-motion";
3
3
  import { FiSend, FiMic } from "react-icons/fi";
4
4
  import { PiWaveform } from "react-icons/pi";
5
- import { aeroTheme } from "../../styles/theme";
6
- import { iosTransitions } from "../../styles/framerConfig";
7
- import { Footer, InputContainer, Input, ActionButton, } from "../../styles/styledComponents";
5
+ import { aeroTheme } from "../../styles/theme.js";
6
+ import { iosTransitions } from "../../styles/framerConfig.js";
7
+ import { Footer, InputContainer, Input, ActionButton, } from "../../styles/styledComponents.js";
8
8
  export const ConviFooter = ({ inputMode, inputValue, liveUserText, chatbotMic, localIsTyping, convaiIsTyping, isCreatingSpeaker, isPressingMic, isSettingsOpen, isVoiceMode, onInputChange, onKeyPress, onSend, onMicPress, onMicRelease, setIsPressingMic, onToggleVoiceMode, verbosityChanged = false, onContinue, }) => {
9
9
  // Show Continue button in verbosity mode
10
10
  if (inputMode === "verbosity") {
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { motion } from "framer-motion";
3
3
  import { FiMoreVertical } from "react-icons/fi";
4
4
  import { IoVolumeMute, IoVolumeHigh } from "react-icons/io5";
5
- import { ChevronDown } from "../../styles/icons";
6
- import { aeroTheme } from "../../styles/theme";
7
- import { iosTransitions } from "../../styles/framerConfig";
8
- import { Header, Title, CloseButton, SettingsButton, } from "../../styles/styledComponents";
5
+ import { ChevronDown } from "../../styles/icons.js";
6
+ import { aeroTheme } from "../../styles/theme.js";
7
+ import { iosTransitions } from "../../styles/framerConfig.js";
8
+ import { Header, Title, CloseButton, SettingsButton, } from "../../styles/styledComponents.js";
9
9
  export const ConviHeader = ({ isOpen, isSpeakerEditMode, isVoiceMode, isVerbosityMode, isMuted, characterImage, characterName = "Character", onClose, onSettingsToggle, onToggleMute, settingsButtonRef, }) => {
10
10
  return (_jsxs(Header, { initial: { opacity: 0, y: -20 }, animate: {
11
11
  opacity: isOpen ? 1 : 0,
@@ -3,9 +3,9 @@ import { AnimatePresence } from "framer-motion";
3
3
  import { LiaRedoAltSolid } from "react-icons/lia";
4
4
  import { IoVideocam, IoVideocamOff } from "react-icons/io5";
5
5
  import { MdScreenShare, MdStopScreenShare } from "react-icons/md";
6
- import { aeroTheme } from "../../styles/theme";
7
- import { iosTransitions } from "../../styles/framerConfig";
8
- import { SettingsTray as StyledSettingsTray, SettingsOption, } from "../../styles/styledComponents";
6
+ import { aeroTheme } from "../../styles/theme.js";
7
+ import { iosTransitions } from "../../styles/framerConfig.js";
8
+ import { SettingsTray as StyledSettingsTray, SettingsOption, } from "../../styles/styledComponents.js";
9
9
  export const SettingsTray = ({ isOpen, isVideoVisible, isScreenShareActive, onReset, onDisconnect, onToggleVideo, onToggleScreenShare, }) => {
10
10
  if (!isOpen)
11
11
  return null;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { motion, AnimatePresence } from "framer-motion";
4
- import { aeroTheme } from "../../styles/theme";
5
- import { iosTransitions } from "../../styles/framerConfig";
6
- import { AudioVisualizer } from "../AudioVisualizer";
4
+ import { aeroTheme } from "../../styles/theme.js";
5
+ import { iosTransitions } from "../../styles/framerConfig.js";
6
+ import { AudioVisualizer } from "../AudioVisualizer.js";
7
7
  export const VoiceModeOverlay = ({ isActive, isTalking, isListening = false, convaiClient, characterImage, characterName = "Character", room, }) => {
8
8
  const barsCount = 40; // Number of bars for user microphone waveform
9
9
  // PERF: the waveform is driven OUTSIDE React. A setState per animation
@@ -1,6 +1,6 @@
1
- export { ConviButton } from "./ConviButton";
2
- export { ConviHeader } from "./ConviHeader";
3
- export { ConviFooter } from "./ConviFooter";
4
- export { SettingsTray } from "./SettingsTray";
5
- export { VoiceModeOverlay } from "./VoiceModeOverlay";
1
+ export { ConviButton } from "./ConviButton.js";
2
+ export { ConviHeader } from "./ConviHeader.js";
3
+ export { ConviFooter } from "./ConviFooter.js";
4
+ export { SettingsTray } from "./SettingsTray.js";
5
+ export { VoiceModeOverlay } from "./VoiceModeOverlay.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
- export { ConviButton } from "./ConviButton";
2
- export { ConviHeader } from "./ConviHeader";
3
- export { ConviFooter } from "./ConviFooter";
4
- export { SettingsTray } from "./SettingsTray";
5
- export { VoiceModeOverlay } from "./VoiceModeOverlay";
1
+ export { ConviButton } from "./ConviButton.js";
2
+ export { ConviHeader } from "./ConviHeader.js";
3
+ export { ConviFooter } from "./ConviFooter.js";
4
+ export { SettingsTray } from "./SettingsTray.js";
5
+ export { VoiceModeOverlay } from "./VoiceModeOverlay.js";
6
6
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- export { MessageBubble } from "./MessageBubble";
2
- export { MessageList } from "./MessageList";
3
- export { UserMessage } from "./UserMessage";
4
- export { ConviMessage } from "./ConviMessage";
5
- export { MarkdownRenderer } from "./MarkdownRenderer";
6
- export { FloatingVideo } from "./FloatingVideo";
7
- export { AudioVisualizer } from "./AudioVisualizer";
8
- export { ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./conviComponents";
1
+ export { MessageBubble } from "./MessageBubble.js";
2
+ export { MessageList } from "./MessageList.js";
3
+ export { UserMessage } from "./UserMessage.js";
4
+ export { ConviMessage } from "./ConviMessage.js";
5
+ export { MarkdownRenderer } from "./MarkdownRenderer.js";
6
+ export { FloatingVideo } from "./FloatingVideo.js";
7
+ export { AudioVisualizer } from "./AudioVisualizer.js";
8
+ export { ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./conviComponents/index.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1,15 +1,15 @@
1
1
  // Export message components
2
- export { MessageBubble } from "./MessageBubble";
3
- export { MessageList } from "./MessageList";
4
- export { UserMessage } from "./UserMessage";
5
- export { ConviMessage } from "./ConviMessage";
6
- export { MarkdownRenderer } from "./MarkdownRenderer";
2
+ export { MessageBubble } from "./MessageBubble.js";
3
+ export { MessageList } from "./MessageList.js";
4
+ export { UserMessage } from "./UserMessage.js";
5
+ export { ConviMessage } from "./ConviMessage.js";
6
+ export { MarkdownRenderer } from "./MarkdownRenderer.js";
7
7
  // Export floating video component
8
- export { FloatingVideo } from "./FloatingVideo";
8
+ export { FloatingVideo } from "./FloatingVideo.js";
9
9
  // Export audio visualizer
10
- export { AudioVisualizer } from "./AudioVisualizer";
10
+ export { AudioVisualizer } from "./AudioVisualizer.js";
11
11
  // Note: AudioSettingsPanel is internal only - audio settings are fixed
12
- // export { AudioSettingsPanel } from "./AudioSettingsPanel";
12
+ // export { AudioSettingsPanel } from "./AudioSettingsPanel.js";
13
13
  // Export convi sub-components
14
- export { ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./conviComponents";
14
+ export { ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./conviComponents/index.js";
15
15
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
- export { MessageBubble, MessageList, UserMessage, ConviMessage, FloatingVideo, ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./components";
2
- export { aeroTheme, glassStyles, iconSizes, variants, iosTransitions, animationVariants, ConvaiLogo, ChevronDown, } from "./styles";
3
- export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, } from "./styles";
4
- export type { RTCChatMessage, CharacterVerbosityConfig, ConviUIProps, } from "./types";
5
- export type { LogoState } from "./styles";
1
+ export { MessageBubble, MessageList, UserMessage, ConviMessage, FloatingVideo, ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./components/index.js";
2
+ export { aeroTheme, glassStyles, iconSizes, variants, iosTransitions, animationVariants, ConvaiLogo, ChevronDown, } from "./styles/index.js";
3
+ export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, } from "./styles/index.js";
4
+ export type { RTCChatMessage, CharacterVerbosityConfig, ConviUIProps, } from "./types/index.js";
5
+ export type { LogoState } from "./styles/index.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,9 +1,9 @@
1
1
  // Export all components
2
2
  export { MessageBubble, MessageList, UserMessage, ConviMessage, FloatingVideo,
3
3
  // AudioSettingsPanel, // Internal only - audio settings are fixed
4
- ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./components";
4
+ ConviButton, ConviHeader, ConviFooter, SettingsTray, VoiceModeOverlay, } from "./components/index.js";
5
5
  // Export styles and theme
6
- export { aeroTheme, glassStyles, iconSizes, variants, iosTransitions, animationVariants, ConvaiLogo, ChevronDown, } from "./styles";
6
+ export { aeroTheme, glassStyles, iconSizes, variants, iosTransitions, animationVariants, ConvaiLogo, ChevronDown, } from "./styles/index.js";
7
7
  // Export styled components for custom layouts
8
- export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, } from "./styles";
8
+ export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, Content, Footer, InputContainer, Input, ActionButton, } from "./styles/index.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { iconSizes } from "./theme";
1
+ import { iconSizes } from "./theme.js";
2
2
  export type LogoState = "idle" | "connecting" | "connected" | "disconnected" | "typing" | "listening" | "processing";
3
3
  export declare const AeroIcons: {
4
4
  ChevronDown: ({ size, color, }: {
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { motion } from "framer-motion";
4
4
  import styled from "styled-components";
5
- import { aeroTheme, iconSizes } from "./theme";
5
+ import { aeroTheme, iconSizes } from "./theme.js";
6
6
  const LogoSVG = styled(motion.svg) `
7
7
  width: ${(props) => props.$size || "100%"};
8
8
  height: ${(props) => props.$size || "100%"};
@@ -1,6 +1,6 @@
1
- export { aeroTheme, glassStyles, iconSizes, variants } from "./theme";
2
- export { iosTransitions, animationVariants } from "./framerConfig";
3
- export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, SettingsTray, SettingsOption, Content, Footer, InputContainer, Input, ActionButton, MessageList, Message, MessageBubble, MessageTime, ButtonContainer, ButtonLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, UserBubble, UserMessageContainer, UserLabel, BubbleContainer, Bubble, Timestamp, MessageListContainer, MessageWrapper, EmptyState, } from "./styledComponents";
4
- export { ConvaiLogo, ChevronDown, AeroIcons, IconButton } from "./icons";
5
- export type { LogoState } from "./icons";
1
+ export { aeroTheme, glassStyles, iconSizes, variants } from "./theme.js";
2
+ export { iosTransitions, animationVariants } from "./framerConfig.js";
3
+ export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, SettingsTray, SettingsOption, Content, Footer, InputContainer, Input, ActionButton, MessageList, Message, MessageBubble, MessageTime, ButtonContainer, ButtonLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, UserBubble, UserMessageContainer, UserLabel, BubbleContainer, Bubble, Timestamp, MessageListContainer, MessageWrapper, EmptyState, } from "./styledComponents.js";
4
+ export { ConvaiLogo, ChevronDown, AeroIcons, IconButton } from "./icons.js";
5
+ export type { LogoState } from "./icons.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,9 +1,9 @@
1
1
  // Export theme
2
- export { aeroTheme, glassStyles, iconSizes, variants } from "./theme";
2
+ export { aeroTheme, glassStyles, iconSizes, variants } from "./theme.js";
3
3
  // Export framer configs
4
- export { iosTransitions, animationVariants } from "./framerConfig";
4
+ export { iosTransitions, animationVariants } from "./framerConfig.js";
5
5
  // Export styled components
6
- export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, SettingsTray, SettingsOption, Content, Footer, InputContainer, Input, ActionButton, MessageList, Message, MessageBubble, MessageTime, ButtonContainer, ButtonLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, UserBubble, UserMessageContainer, UserLabel, BubbleContainer, Bubble, Timestamp, MessageListContainer, MessageWrapper, EmptyState, } from "./styledComponents";
6
+ export { ConvaiContainer, MorphingContainer, ButtonContent, Logo, ChatContent, Header, Title, HeaderLogo, CloseButton, SettingsButton, SettingsTray, SettingsOption, Content, Footer, InputContainer, Input, ActionButton, MessageList, Message, MessageBubble, MessageTime, ButtonContainer, ButtonLogo, ConviBubble, ConviMessageContainer, MessageHeader, ConviLabel, LogoWrapper, UserBubble, UserMessageContainer, UserLabel, BubbleContainer, Bubble, Timestamp, MessageListContainer, MessageWrapper, EmptyState, } from "./styledComponents.js";
7
7
  // Export icons
8
- export { ConvaiLogo, ChevronDown, AeroIcons, IconButton } from "./icons";
8
+ export { ConvaiLogo, ChevronDown, AeroIcons, IconButton } from "./icons.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import styled from "styled-components";
2
2
  import { motion } from "framer-motion";
3
- import { aeroTheme } from "./theme";
3
+ import { aeroTheme } from "./theme.js";
4
4
  // Styled Components matching the original webChat exactly
5
5
  export const ConvaiContainer = styled(motion.div) `
6
6
  position: fixed !important;
@@ -1,4 +1,4 @@
1
- export { useConvaiClient } from './useConvaiClient';
2
- export { useCharacterInfo } from './useCharacterInfo';
3
- export { useLocalCameraTrack } from './useLocalCameraTrack';
1
+ export { useConvaiClient } from './useConvaiClient.js';
2
+ export { useCharacterInfo } from './useCharacterInfo.js';
3
+ export { useLocalCameraTrack } from './useLocalCameraTrack.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  // Main hook
2
- export { useConvaiClient } from './useConvaiClient';
2
+ export { useConvaiClient } from './useConvaiClient.js';
3
3
  // Additional hooks
4
- export { useCharacterInfo } from './useCharacterInfo';
5
- export { useLocalCameraTrack } from './useLocalCameraTrack';
4
+ export { useCharacterInfo } from './useCharacterInfo.js';
5
+ export { useLocalCameraTrack } from './useLocalCameraTrack.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { useState, useEffect } from "react";
2
- import { logger } from "../../utils/logger";
2
+ import { logger } from "../../utils/logger.js";
3
3
  /**
4
4
  * Hook to fetch character information from Convai API
5
5
  *
@@ -1,4 +1,4 @@
1
- import type { ConvaiConfig, IConvaiClient, ChatMessage } from "../../core/types";
1
+ import type { ConvaiConfig, IConvaiClient, ChatMessage } from "../../core/types.js";
2
2
  /**
3
3
  * React hook wrapper for ConvaiClient
4
4
  * Main hook for managing Convai client connection and functionality.
@@ -1,5 +1,5 @@
1
1
  import { useState, useEffect, useCallback } from "react";
2
- import { ConvaiClient as CoreConvaiClient } from "../../core";
2
+ import { ConvaiClient as CoreConvaiClient } from "../../core/index.js";
3
3
  /**
4
4
  * React hook wrapper for ConvaiClient
5
5
  * Main hook for managing Convai client connection and functionality.
@@ -1,8 +1,8 @@
1
- export { useConvaiClient } from './hooks/useConvaiClient';
2
- export { ConvaiWidget } from './components/ConvaiWidget';
3
- export * from './hooks';
4
- export * from '../core/types';
5
- export { getDisconnectReasonMessage } from '../core/types';
6
- export { ConvaiClient } from '../core';
1
+ export { useConvaiClient } from './hooks/useConvaiClient.js';
2
+ export { ConvaiWidget } from './components/ConvaiWidget.js';
3
+ export * from './hooks/index.js';
4
+ export * from '../core/types.js';
5
+ export { getDisconnectReasonMessage } from '../core/types.js';
6
+ export { ConvaiClient } from '../core/index.js';
7
7
  export { RoomAudioRenderer as AudioRenderer, RoomContext as AudioContext } from '@livekit/components-react';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,15 +1,15 @@
1
1
  // Main hook (backward compatible)
2
- export { useConvaiClient } from './hooks/useConvaiClient';
2
+ export { useConvaiClient } from './hooks/useConvaiClient.js';
3
3
  // Components
4
- export { ConvaiWidget } from './components/ConvaiWidget';
4
+ export { ConvaiWidget } from './components/ConvaiWidget.js';
5
5
  // Additional hooks (for advanced usage)
6
- export * from './hooks';
6
+ export * from './hooks/index.js';
7
7
  // Re-export core types for convenience
8
- export * from '../core/types';
8
+ export * from '../core/types.js';
9
9
  // Re-export helper functions explicitly
10
- export { getDisconnectReasonMessage } from '../core/types';
10
+ export { getDisconnectReasonMessage } from '../core/types.js';
11
11
  // Re-export core client for advanced usage
12
- export { ConvaiClient } from '../core';
12
+ export { ConvaiClient } from '../core/index.js';
13
13
  // Re-export LiveKit components for convenience (backward compatible)
14
14
  export { RoomAudioRenderer as AudioRenderer, RoomContext as AudioContext } from '@livekit/components-react';
15
15
  //# sourceMappingURL=index.js.map