@rqmii_immersive/agent-react-sdk 5.2.0 → 5.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"use-rqmii-connection.d.ts","sourceRoot":"","sources":["../../src/hooks/use-rqmii-connection.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCu8b,CAAC;cAAgB,CAAC;gBAAkB,CAAC;eAAiB,CAAC;;;;EAD/hc"}
1
+ {"version":3,"file":"use-rqmii-connection.d.ts","sourceRoot":"","sources":["../../src/hooks/use-rqmii-connection.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC2ld,CAAC;cAAgB,CAAC;gBAAkB,CAAC;eAAiB,CAAC;;;;EADnrd"}
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./RqmiiCloudAvatarPlayer-Dc1h266_.cjs"),g=require("react/jsx-runtime"),r=require("react");function M(){return i.useRqmiiAgentContext()}function D(){const s=i.useRqmiiAgentContext();return{sessionState:s.sessionState,isSessionTerminated:s.isSessionTerminated,isSessionTerminating:s.isSessionTerminating,isAgentThinking:s.isAgentThinking,isAgentSpeaking:s.isAgentSpeaking,isToolExecuting:s.isToolExecuting}}function O(s){const{attachAudioElement:t,resumeAudioPlayback:e}=i.useRqmiiAgentContext();r.useEffect(()=>{if(!s?.current)return;t(s.current);const o=()=>{e()},a=s.current;return a.addEventListener("click",o),a.addEventListener("touchstart",o),()=>{a.removeEventListener("click",o),a.removeEventListener("touchstart",o),t(null)}},[t,s,e])}class L{listeners=new Map;on(t,e){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(e),()=>this.off(t,e)}off(t,e){this.listeners.get(t)?.delete(e)}emit(t,e){const o=this.listeners.get(t);if(o)for(const a of o)try{a(e)}catch{}}removeAllListeners(){this.listeners.clear()}}const N={inputSampleRate:48e3,frameSizeMs:20},j=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./RqmiiCloudAvatarPlayer-DDtkCYFJ.cjs"),g=require("react/jsx-runtime"),r=require("react");function M(){return i.useRqmiiAgentContext()}function D(){const s=i.useRqmiiAgentContext();return{sessionState:s.sessionState,isSessionTerminated:s.isSessionTerminated,isSessionTerminating:s.isSessionTerminating,isAgentThinking:s.isAgentThinking,isAgentSpeaking:s.isAgentSpeaking,isToolExecuting:s.isToolExecuting}}function O(s){const{attachAudioElement:t,resumeAudioPlayback:e}=i.useRqmiiAgentContext();r.useEffect(()=>{if(!s?.current)return;t(s.current);const o=()=>{e()},a=s.current;return a.addEventListener("click",o),a.addEventListener("touchstart",o),()=>{a.removeEventListener("click",o),a.removeEventListener("touchstart",o),t(null)}},[t,s,e])}class L{listeners=new Map;on(t,e){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(e),()=>this.off(t,e)}off(t,e){this.listeners.get(t)?.delete(e)}emit(t,e){const o=this.listeners.get(t);if(o)for(const a of o)try{a(e)}catch{}}removeAllListeners(){this.listeners.clear()}}const N={inputSampleRate:48e3,frameSizeMs:20},j=`
2
2
  class PcmCaptureProcessor extends AudioWorkletProcessor {
3
3
  constructor(options) {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/hooks/use-rqmii-agent.ts","../src/hooks/use-rqmii-session.ts","../src/hooks/use-rqmii-audio-element.ts","../src/capture/capture.ts","../src/hooks/use-rqmii-press-to-talk.ts","../src/hooks/use-rqmii-sdk.ts","../src/components/RqmiiErrorBoundary.tsx","../src/index.ts"],"sourcesContent":["import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAgent() {\n return useRqmiiAgentContext();\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiSession() {\n const ctx = useRqmiiAgentContext();\n return {\n sessionState: ctx.sessionState,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n };\n}\n","import { useEffect } from 'react';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAudioElement(audioRef: React.RefObject<HTMLAudioElement | null>) {\n const { attachAudioElement, resumeAudioPlayback } = useRqmiiAgentContext();\n\n useEffect(() => {\n if (!audioRef?.current) return undefined;\n\n attachAudioElement(audioRef.current);\n const unlock = () => {\n void resumeAudioPlayback();\n };\n\n const node = audioRef.current;\n node.addEventListener('click', unlock);\n node.addEventListener('touchstart', unlock);\n\n return () => {\n node.removeEventListener('click', unlock);\n node.removeEventListener('touchstart', unlock);\n attachAudioElement(null);\n };\n }, [attachAudioElement, audioRef, resumeAudioPlayback]);\n}\n","export type AudioCaptureState = 'idle' | 'requesting-mic' | 'capturing' | 'unsupported' | 'suspended' | 'error';\n\nexport interface CaptureOptions {\n inputSampleRate?: number;\n frameSizeMs?: number;\n}\n\ntype CaptureHandler = (...args: unknown[]) => void;\n\nclass CaptureEventEmitter {\n private listeners = new Map<string, Set<CaptureHandler>>();\n\n on(event: string, handler: CaptureHandler): () => void {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event)!.add(handler);\n return () => this.off(event, handler);\n }\n\n off(event: string, handler: CaptureHandler): void {\n this.listeners.get(event)?.delete(handler);\n }\n\n emit(event: string, payload?: unknown): void {\n const handlers = this.listeners.get(event);\n if (!handlers) return;\n for (const handler of handlers) {\n try { handler(payload); } catch { /* silence */ }\n }\n }\n\n removeAllListeners(): void {\n this.listeners.clear();\n }\n}\n\nconst DEFAULT_OPTIONS: Required<CaptureOptions> = {\n inputSampleRate: 48000,\n frameSizeMs: 20,\n};\n\nconst PCM_PROCESSOR_CODE = `\nclass PcmCaptureProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super();\n this._downsampleFactor = Math.round((options.processorOptions?.inputSampleRate || 48000) / 16000);\n this._buffer = [];\n this._frameSize = 128;\n }\n\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n\n const channelData = input[0];\n\n for (let i = 0; i < channelData.length; i++) {\n this._buffer.push(channelData[i]);\n }\n\n while (this._buffer.length >= this._frameSize * this._downsampleFactor) {\n let outIdx = 0;\n const downsampled = new Float32Array(this._frameSize);\n\n for (let i = 0; i < this._frameSize; i++) {\n const base = i * this._downsampleFactor;\n let sum = 0;\n for (let j = 0; j < this._downsampleFactor; j++) {\n sum += this._buffer[base + j];\n }\n downsampled[outIdx++] = sum / this._downsampleFactor;\n }\n\n this._buffer.splice(0, this._frameSize * this._downsampleFactor);\n\n const pcm = new Int16Array(this._frameSize);\n for (let i = 0; i < this._frameSize; i++) {\n const s = Math.max(-1, Math.min(1, downsampled[i]));\n pcm[i] = s < 0 ? s * 0x8000 : s * 0x7fff;\n }\n\n this.port.postMessage(pcm.buffer, [pcm.buffer]);\n }\n\n return true;\n }\n}\n\nregisterProcessor('pcm-capture-processor', PcmCaptureProcessor);\n`;\n\nexport class AudioCapture {\n private _state: AudioCaptureState = 'idle';\n private _ctx: AudioContext | null = null;\n private _node: AudioWorkletNode | null = null;\n private _stream: MediaStream | null = null;\n private _events = new CaptureEventEmitter();\n private _options: Required<CaptureOptions>;\n\n readonly supported: boolean;\n\n constructor(options?: CaptureOptions) {\n this._options = { ...DEFAULT_OPTIONS, ...options };\n this.supported = typeof AudioWorkletNode !== 'undefined';\n if (!this.supported) {\n this._state = 'unsupported';\n }\n }\n\n get state(): AudioCaptureState {\n return this._state;\n }\n\n get events(): CaptureEventEmitter {\n return this._events;\n }\n\n async start(): Promise<boolean> {\n if (!this.supported) {\n this._state = 'unsupported';\n return false;\n }\n\n if (this._state === 'capturing') return true;\n\n this._state = 'requesting-mic';\n\n try {\n this._stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n return false;\n }\n\n try {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n }\n\n this._ctx = new AudioContext({ sampleRate: this._options.inputSampleRate });\n\n const blob = new Blob([PCM_PROCESSOR_CODE], { type: 'application/javascript' });\n const processorUrl = URL.createObjectURL(blob);\n await this._ctx.audioWorklet.addModule(processorUrl);\n URL.revokeObjectURL(processorUrl);\n\n const source = this._ctx.createMediaStreamSource(this._stream);\n\n this._node = new AudioWorkletNode(this._ctx, 'pcm-capture-processor', {\n processorOptions: {\n inputSampleRate: this._options.inputSampleRate,\n frameSize: (this._options.inputSampleRate * this._options.frameSizeMs) / 1000,\n },\n });\n\n this._node.port.onmessage = (ev: MessageEvent<ArrayBuffer>) => {\n this._events.emit('audio_chunk', new Uint8Array(ev.data));\n };\n\n source.connect(this._node);\n\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n\n if (this._ctx.state === 'suspended') {\n await this._ctx.resume();\n }\n\n return true;\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n return false;\n }\n }\n\n stop(): void {\n if (this._node) {\n this._node.disconnect();\n this._node = null;\n }\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n if (this._ctx && this._ctx.state !== 'closed') {\n this._ctx.close();\n this._ctx = null;\n }\n\n this._state = 'idle';\n this._events.emit('state_changed', this._state);\n }\n\n async resume(): Promise<void> {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n }\n }\n\n async pause(): Promise<void> {\n if (this._ctx?.state === 'running') {\n await this._ctx.suspend();\n this._state = 'suspended';\n this._events.emit('state_changed', this._state);\n }\n }\n\n destroy(): void {\n this.events.removeAllListeners();\n this.stop();\n }\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AudioCapture } from '../capture/capture';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { UseRqmiiPressToTalkOptions, UseRqmiiPressToTalkReturn } from '../types';\n\nconst DEFAULT_AUDIO_CONSTRAINTS: MediaTrackConstraints = {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 16000,\n};\n\nexport function useRqmiiPressToTalk(options: UseRqmiiPressToTalkOptions = {}): UseRqmiiPressToTalkReturn {\n const {\n onAudioChunk,\n onAudioEnd,\n onError,\n holdDelayMs = 220,\n interruptOnHoldStart = true,\n } = options;\n\n const { sendAudioChunk, endAudioStream, interrupt } = useRqmiiAgentContext();\n\n const captureRef = useRef<AudioCapture | null>(null);\n const holdTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isPressing, setIsPressing] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [micError, setMicError] = useState<string | null>(null);\n\n const startPcmCapture = useCallback(async (): Promise<boolean> => {\n if (captureRef.current) return true;\n\n const capture = new AudioCapture();\n captureRef.current = capture;\n\n if (!capture.supported) {\n const err = new Error('AudioWorklet not supported in this browser');\n setMicError(err.message);\n onError?.(err);\n return false;\n }\n\n capture.events.on('audio_chunk', (chunk: unknown) => {\n if (onAudioChunk) onAudioChunk(chunk as Uint8Array);\n else sendAudioChunk(chunk);\n });\n\n capture.events.on('error', (err: unknown) => {\n onError?.(err);\n });\n\n const ok = await capture.start();\n if (!ok) {\n setMicError('Failed to start capture');\n captureRef.current = null;\n return false;\n }\n\n setIsRecording(true);\n setMicError(null);\n return true;\n }, [onAudioChunk, onError, sendAudioChunk]);\n\n const stopPcmCapture = useCallback((): boolean => {\n const capture = captureRef.current;\n if (!capture) return false;\n\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n return true;\n }, []);\n\n const cleanup = useCallback(() => {\n const capture = captureRef.current;\n if (!capture) return;\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n }, []);\n\n const startRecording = useCallback(async (): Promise<boolean> => {\n return startPcmCapture();\n }, [startPcmCapture]);\n\n const stopRecording = useCallback(\n ({ discard = false }: { discard?: boolean } = {}): boolean => {\n const ok = stopPcmCapture();\n if (!discard && ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n return ok;\n },\n [endAudioStream, onAudioEnd, stopPcmCapture],\n );\n\n const startPress = useCallback(() => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n setIsPressing(true);\n\n holdTimerRef.current = setTimeout(() => {\n if (interruptOnHoldStart) {\n interrupt();\n }\n void startPcmCapture();\n }, holdDelayMs);\n }, [holdDelayMs, interrupt, interruptOnHoldStart, startPcmCapture]);\n\n const stopPress = useCallback(() => {\n setIsPressing(false);\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n const ok = stopPcmCapture();\n if (ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n }, [endAudioStream, onAudioEnd, stopPcmCapture]);\n\n useEffect(() => {\n return () => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n cleanup();\n };\n }, [cleanup]);\n\n const eventHandlers = useMemo(\n () => ({\n onPointerDown: (e: React.PointerEvent) => {\n e.preventDefault();\n startPress();\n },\n onPointerUp: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerCancel: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n }),\n [startPress, stopPress],\n );\n\n return {\n isPressing,\n isRecording,\n micError,\n startRecording,\n stopRecording,\n startPress,\n stopPress,\n eventHandlers,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { EventHandlerMap, RqmiiMessage, RqmiiState, TranscriptPayload, PartialTranscriptPayload, SessionData } from '../types';\n\ntype Listener<T> = (handler: T) => () => void;\n\nexport interface RqmiiEventListeners {\n onSessionReady: Listener<EventHandlerMap['session:ready']>;\n onSessionJoined: Listener<EventHandlerMap['session:joined']>;\n onSessionTerminated: Listener<EventHandlerMap['session:terminated']>;\n onSessionExpired: Listener<EventHandlerMap['session:expired']>;\n onMessageReceived: Listener<EventHandlerMap['message:received']>;\n onMessageSent: Listener<EventHandlerMap['message:sent']>;\n onAudioPlaying: Listener<EventHandlerMap['audio:playing']>;\n onAudioStopped: Listener<EventHandlerMap['audio:stopped']>;\n onAvatarSpeaking: Listener<EventHandlerMap['avatar:speaking']>;\n onAvatarSpeakingDone: Listener<EventHandlerMap['avatar:speaking_done']>;\n onStateChanged: Listener<EventHandlerMap['state:changed']>;\n onConnected: Listener<EventHandlerMap['connection:connected']>;\n onDisconnected: Listener<EventHandlerMap['connection:disconnected']>;\n onConnectionFailed: Listener<EventHandlerMap['connection:failed']>;\n onError: Listener<EventHandlerMap['error']>;\n onCreditsExhausted: Listener<EventHandlerMap['credits:exhausted']>;\n onTranscript: Listener<EventHandlerMap['transcript']>;\n onPartialTranscript: Listener<EventHandlerMap['partial_transcript']>;\n onInterrupted: Listener<EventHandlerMap['interrupted']>;\n}\n\nexport interface RqmiiSDKHandle {\n state: {\n messages: RqmiiMessage[];\n connectionState: RqmiiState['connectionState'];\n isConnected: boolean;\n isSessionReady: boolean;\n isAudioPlaying: boolean;\n isAgentThinking: boolean;\n isAgentSpeaking: boolean;\n isToolExecuting: boolean;\n isSessionTerminated: boolean;\n isSessionTerminating: boolean;\n creditExhausted: boolean;\n creditError: string | null;\n error: string | null;\n transcript: TranscriptPayload | null;\n partialTranscript: PartialTranscriptPayload | null;\n session: RqmiiState['session'];\n sessionState: RqmiiState['sessionState'];\n };\n actions: {\n sendTextMessage: (text: string) => boolean;\n sendAudioChunk: (audio: unknown) => boolean;\n endAudioStream: () => boolean;\n interrupt: () => boolean;\n clearSessionHistory: () => boolean;\n clearMessages: () => void;\n changeSessionLanguage: (language: string) => boolean;\n signalClientReady: (payload?: Record<string, unknown>) => boolean;\n initializeSession: (opts?: { apiKey?: string; agentId?: string; language?: string }) => Promise<SessionData>;\n joinDesktopSession: (opts: { uniqueId: string; language?: string }) => Promise<SessionData>;\n disconnect: () => void;\n terminateSession: () => Promise<{ success: boolean }>;\n resumeAudioPlayback: () => void;\n pauseAudioPlayback: () => void;\n attachAudioElement: (el: HTMLAudioElement | null) => void;\n };\n events: RqmiiEventListeners;\n raw: {\n socket: ReturnType<typeof import('socket.io-client').io> | null;\n audioElement: HTMLAudioElement | null;\n };\n}\n\nexport function useRqmiiSDK(): RqmiiSDKHandle {\n const ctx = useRqmiiAgentContext();\n const ev = ctx.events;\n\n return {\n state: {\n messages: ctx.messages,\n connectionState: ctx.connectionState,\n isConnected: ctx.isConnected,\n isSessionReady: ctx.isSessionReady,\n isAudioPlaying: ctx.isAudioPlaying,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n creditExhausted: ctx.creditExhausted,\n creditError: ctx.creditError,\n error: ctx.error,\n transcript: ctx.transcript,\n partialTranscript: ctx.partialTranscript,\n session: ctx.session,\n sessionState: ctx.sessionState,\n },\n actions: {\n sendTextMessage: ctx.sendTextMessage,\n sendAudioChunk: ctx.sendAudioChunk,\n endAudioStream: ctx.endAudioStream,\n interrupt: ctx.interrupt,\n clearSessionHistory: ctx.clearSessionHistory,\n clearMessages: ctx.clearMessages,\n changeSessionLanguage: ctx.changeSessionLanguage,\n signalClientReady: ctx.signalClientReady,\n initializeSession: ctx.initializeSession,\n joinDesktopSession: ctx.joinDesktopSession,\n disconnect: ctx.disconnect,\n terminateSession: ctx.terminateSession,\n resumeAudioPlayback: ctx.resumeAudioPlayback,\n pauseAudioPlayback: ctx.pauseAudioPlayback,\n attachAudioElement: ctx.attachAudioElement,\n },\n events: {\n onSessionReady: (h) => ev.on('session:ready', h),\n onSessionJoined: (h) => ev.on('session:joined', h),\n onSessionTerminated: (h) => ev.on('session:terminated', h),\n onSessionExpired: (h) => ev.on('session:expired', h),\n onMessageReceived: (h) => ev.on('message:received', h),\n onMessageSent: (h) => ev.on('message:sent', h),\n onAudioPlaying: (h) => ev.on('audio:playing', h),\n onAudioStopped: (h) => ev.on('audio:stopped', h),\n onAvatarSpeaking: (h) => ev.on('avatar:speaking', h),\n onAvatarSpeakingDone: (h) => ev.on('avatar:speaking_done', h),\n onStateChanged: (h) => ev.on('state:changed', h),\n onConnected: (h) => ev.on('connection:connected', h),\n onDisconnected: (h) => ev.on('connection:disconnected', h),\n onConnectionFailed: (h) => ev.on('connection:failed', h),\n onError: (h) => ev.on('error', h),\n onCreditsExhausted: (h) => ev.on('credits:exhausted', h),\n onTranscript: (h) => ev.on('transcript', h),\n onPartialTranscript: (h) => ev.on('partial_transcript', h),\n onInterrupted: (h) => ev.on('interrupted', h),\n },\n raw: {\n socket: ctx.socket,\n audioElement: ctx.audioElement,\n },\n };\n}\n","import React, { Component, type ErrorInfo, type ReactNode } from 'react';\n\ninterface RqmiiErrorBoundaryProps {\n children: ReactNode;\n fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);\n onError?: (error: Error, info: ErrorInfo) => void;\n}\n\ninterface RqmiiErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nexport class RqmiiErrorBoundary extends Component<RqmiiErrorBoundaryProps, RqmiiErrorBoundaryState> {\n constructor(props: RqmiiErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): RqmiiErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, info: ErrorInfo) {\n this.props.onError?.(error, info);\n }\n\n reset = () => {\n this.setState({ hasError: false, error: null });\n };\n\n render(): ReactNode {\n if (this.state.hasError) {\n const { fallback } = this.props;\n if (fallback) {\n if (typeof fallback === 'function') {\n return this.state.error ? fallback(this.state.error, this.reset) : null;\n }\n return fallback;\n }\n return (\n <div style={{ padding: '24px', textAlign: 'center', color: '#ef4444' }}>\n <h3>Something went wrong</h3>\n <p>{this.state.error?.message || 'An unexpected error occurred'}</p>\n <button onClick={this.reset} style={{ marginTop: '12px', padding: '8px 16px', cursor: 'pointer' }}>\n Try again\n </button>\n </div>\n );\n }\n return this.props.children;\n }\n}\n","import { suppressNoisyLogs } from './core/utils/suppress-logs';\nsuppressNoisyLogs();\nexport { RqmiiAgentProvider, useRqmiiAgentContext } from './provider/RqmiiAgentProvider';\n\nexport {\n useRqmiiAgent,\n useRqmiiConnection,\n useRqmiiSession,\n useRqmiiMessages,\n useRqmiiVoice,\n useRqmiiAvatar,\n useRqmiiAudioElement,\n useRqmiiPressToTalk,\n useRqmiiVAD,\n useRqmiiEvents,\n useRqmiiSDK,\n} from './hooks';\n\nexport type { RqmiiSDKHandle, RqmiiEventListeners } from './hooks';\n\nexport { RqmiiAgentRoom } from './components/RqmiiAgentRoom';\nexport { RqmiiCloudAvatarPlayer } from './components/RqmiiCloudAvatarPlayer';\nexport { RqmiiErrorBoundary } from './components/RqmiiErrorBoundary';\n\nexport { AGENT_TYPES, SOCKET_EVENTS, CONNECTION_STATE, CLOUD_STREAM_STATE, SESSION_STATE, DEFAULT_PCM_OPTIONS } from './core/constants';\n\nexport type {\n AgentType,\n ConnectionState,\n SessionState,\n CloudStreamState,\n RqmiiSessionInfo,\n RqmiiMessage,\n PublicAgent,\n RqmiiPCMOptions,\n InitializeSessionArgs,\n JoinDesktopSessionArgs,\n RqmiiAgentProviderProps,\n RqmiiAgentContextValue,\n RqmiiState,\n EventType,\n EventHandlerMap,\n SessionData,\n TranscriptPayload,\n PartialTranscriptPayload,\n RqmiiAgentChatProps,\n RqmiiAgentChatPreviewProps,\n RqmiiAgentRoomProps,\n RqmiiCloudAvatarPlayerProps,\n UseRqmiiConnectionReturn,\n UseRqmiiMessagesReturn,\n UseRqmiiVoiceReturn,\n UseRqmiiAvatarReturn,\n UseRqmiiPressToTalkReturn,\n UseRqmiiVADReturn,\n UseRqmiiSessionStateReturn,\n AudioCaptureState,\n ClientToolHandler,\n} from './types';\n\nexport { AudioCapture } from './capture/capture';\n\nexport { EventEmitter } from './core/events/emitter';\n"],"names":["useRqmiiAgent","useRqmiiAgentContext","useRqmiiSession","ctx","useRqmiiAudioElement","audioRef","attachAudioElement","resumeAudioPlayback","useEffect","unlock","node","CaptureEventEmitter","event","handler","payload","handlers","DEFAULT_OPTIONS","PCM_PROCESSOR_CODE","AudioCapture","options","err","blob","processorUrl","source","ev","t","useRqmiiPressToTalk","onAudioChunk","onAudioEnd","onError","holdDelayMs","interruptOnHoldStart","sendAudioChunk","endAudioStream","interrupt","captureRef","useRef","holdTimerRef","isPressing","setIsPressing","useState","isRecording","setIsRecording","micError","setMicError","startPcmCapture","useCallback","capture","chunk","stopPcmCapture","cleanup","startRecording","stopRecording","discard","ok","startPress","stopPress","eventHandlers","useMemo","e","useRqmiiSDK","h","RqmiiErrorBoundary","Component","props","error","info","fallback","jsxs","jsx","suppressNoisyLogs"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/hooks/use-rqmii-agent.ts","../src/hooks/use-rqmii-session.ts","../src/hooks/use-rqmii-audio-element.ts","../src/capture/capture.ts","../src/hooks/use-rqmii-press-to-talk.ts","../src/hooks/use-rqmii-sdk.ts","../src/components/RqmiiErrorBoundary.tsx","../src/index.ts"],"sourcesContent":["import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAgent() {\n return useRqmiiAgentContext();\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiSession() {\n const ctx = useRqmiiAgentContext();\n return {\n sessionState: ctx.sessionState,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n };\n}\n","import { useEffect } from 'react';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAudioElement(audioRef: React.RefObject<HTMLAudioElement | null>) {\n const { attachAudioElement, resumeAudioPlayback } = useRqmiiAgentContext();\n\n useEffect(() => {\n if (!audioRef?.current) return undefined;\n\n attachAudioElement(audioRef.current);\n const unlock = () => {\n void resumeAudioPlayback();\n };\n\n const node = audioRef.current;\n node.addEventListener('click', unlock);\n node.addEventListener('touchstart', unlock);\n\n return () => {\n node.removeEventListener('click', unlock);\n node.removeEventListener('touchstart', unlock);\n attachAudioElement(null);\n };\n }, [attachAudioElement, audioRef, resumeAudioPlayback]);\n}\n","export type AudioCaptureState = 'idle' | 'requesting-mic' | 'capturing' | 'unsupported' | 'suspended' | 'error';\n\nexport interface CaptureOptions {\n inputSampleRate?: number;\n frameSizeMs?: number;\n}\n\ntype CaptureHandler = (...args: unknown[]) => void;\n\nclass CaptureEventEmitter {\n private listeners = new Map<string, Set<CaptureHandler>>();\n\n on(event: string, handler: CaptureHandler): () => void {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event)!.add(handler);\n return () => this.off(event, handler);\n }\n\n off(event: string, handler: CaptureHandler): void {\n this.listeners.get(event)?.delete(handler);\n }\n\n emit(event: string, payload?: unknown): void {\n const handlers = this.listeners.get(event);\n if (!handlers) return;\n for (const handler of handlers) {\n try { handler(payload); } catch { /* silence */ }\n }\n }\n\n removeAllListeners(): void {\n this.listeners.clear();\n }\n}\n\nconst DEFAULT_OPTIONS: Required<CaptureOptions> = {\n inputSampleRate: 48000,\n frameSizeMs: 20,\n};\n\nconst PCM_PROCESSOR_CODE = `\nclass PcmCaptureProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super();\n this._downsampleFactor = Math.round((options.processorOptions?.inputSampleRate || 48000) / 16000);\n this._buffer = [];\n this._frameSize = 128;\n }\n\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n\n const channelData = input[0];\n\n for (let i = 0; i < channelData.length; i++) {\n this._buffer.push(channelData[i]);\n }\n\n while (this._buffer.length >= this._frameSize * this._downsampleFactor) {\n let outIdx = 0;\n const downsampled = new Float32Array(this._frameSize);\n\n for (let i = 0; i < this._frameSize; i++) {\n const base = i * this._downsampleFactor;\n let sum = 0;\n for (let j = 0; j < this._downsampleFactor; j++) {\n sum += this._buffer[base + j];\n }\n downsampled[outIdx++] = sum / this._downsampleFactor;\n }\n\n this._buffer.splice(0, this._frameSize * this._downsampleFactor);\n\n const pcm = new Int16Array(this._frameSize);\n for (let i = 0; i < this._frameSize; i++) {\n const s = Math.max(-1, Math.min(1, downsampled[i]));\n pcm[i] = s < 0 ? s * 0x8000 : s * 0x7fff;\n }\n\n this.port.postMessage(pcm.buffer, [pcm.buffer]);\n }\n\n return true;\n }\n}\n\nregisterProcessor('pcm-capture-processor', PcmCaptureProcessor);\n`;\n\nexport class AudioCapture {\n private _state: AudioCaptureState = 'idle';\n private _ctx: AudioContext | null = null;\n private _node: AudioWorkletNode | null = null;\n private _stream: MediaStream | null = null;\n private _events = new CaptureEventEmitter();\n private _options: Required<CaptureOptions>;\n\n readonly supported: boolean;\n\n constructor(options?: CaptureOptions) {\n this._options = { ...DEFAULT_OPTIONS, ...options };\n this.supported = typeof AudioWorkletNode !== 'undefined';\n if (!this.supported) {\n this._state = 'unsupported';\n }\n }\n\n get state(): AudioCaptureState {\n return this._state;\n }\n\n get events(): CaptureEventEmitter {\n return this._events;\n }\n\n async start(): Promise<boolean> {\n if (!this.supported) {\n this._state = 'unsupported';\n return false;\n }\n\n if (this._state === 'capturing') return true;\n\n this._state = 'requesting-mic';\n\n try {\n this._stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n return false;\n }\n\n try {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n }\n\n this._ctx = new AudioContext({ sampleRate: this._options.inputSampleRate });\n\n const blob = new Blob([PCM_PROCESSOR_CODE], { type: 'application/javascript' });\n const processorUrl = URL.createObjectURL(blob);\n await this._ctx.audioWorklet.addModule(processorUrl);\n URL.revokeObjectURL(processorUrl);\n\n const source = this._ctx.createMediaStreamSource(this._stream);\n\n this._node = new AudioWorkletNode(this._ctx, 'pcm-capture-processor', {\n processorOptions: {\n inputSampleRate: this._options.inputSampleRate,\n frameSize: (this._options.inputSampleRate * this._options.frameSizeMs) / 1000,\n },\n });\n\n this._node.port.onmessage = (ev: MessageEvent<ArrayBuffer>) => {\n this._events.emit('audio_chunk', new Uint8Array(ev.data));\n };\n\n source.connect(this._node);\n\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n\n if (this._ctx.state === 'suspended') {\n await this._ctx.resume();\n }\n\n return true;\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n return false;\n }\n }\n\n stop(): void {\n if (this._node) {\n this._node.disconnect();\n this._node = null;\n }\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n if (this._ctx && this._ctx.state !== 'closed') {\n this._ctx.close();\n this._ctx = null;\n }\n\n this._state = 'idle';\n this._events.emit('state_changed', this._state);\n }\n\n async resume(): Promise<void> {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n }\n }\n\n async pause(): Promise<void> {\n if (this._ctx?.state === 'running') {\n await this._ctx.suspend();\n this._state = 'suspended';\n this._events.emit('state_changed', this._state);\n }\n }\n\n destroy(): void {\n this.events.removeAllListeners();\n this.stop();\n }\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AudioCapture } from '../capture/capture';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { UseRqmiiPressToTalkOptions, UseRqmiiPressToTalkReturn } from '../types';\n\nconst DEFAULT_AUDIO_CONSTRAINTS: MediaTrackConstraints = {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 16000,\n};\n\nexport function useRqmiiPressToTalk(options: UseRqmiiPressToTalkOptions = {}): UseRqmiiPressToTalkReturn {\n const {\n onAudioChunk,\n onAudioEnd,\n onError,\n holdDelayMs = 220,\n interruptOnHoldStart = true,\n } = options;\n\n const { sendAudioChunk, endAudioStream, interrupt } = useRqmiiAgentContext();\n\n const captureRef = useRef<AudioCapture | null>(null);\n const holdTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isPressing, setIsPressing] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [micError, setMicError] = useState<string | null>(null);\n\n const startPcmCapture = useCallback(async (): Promise<boolean> => {\n if (captureRef.current) return true;\n\n const capture = new AudioCapture();\n captureRef.current = capture;\n\n if (!capture.supported) {\n const err = new Error('AudioWorklet not supported in this browser');\n setMicError(err.message);\n onError?.(err);\n return false;\n }\n\n capture.events.on('audio_chunk', (chunk: unknown) => {\n if (onAudioChunk) onAudioChunk(chunk as Uint8Array);\n else sendAudioChunk(chunk);\n });\n\n capture.events.on('error', (err: unknown) => {\n onError?.(err);\n });\n\n const ok = await capture.start();\n if (!ok) {\n setMicError('Failed to start capture');\n captureRef.current = null;\n return false;\n }\n\n setIsRecording(true);\n setMicError(null);\n return true;\n }, [onAudioChunk, onError, sendAudioChunk]);\n\n const stopPcmCapture = useCallback((): boolean => {\n const capture = captureRef.current;\n if (!capture) return false;\n\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n return true;\n }, []);\n\n const cleanup = useCallback(() => {\n const capture = captureRef.current;\n if (!capture) return;\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n }, []);\n\n const startRecording = useCallback(async (): Promise<boolean> => {\n return startPcmCapture();\n }, [startPcmCapture]);\n\n const stopRecording = useCallback(\n ({ discard = false }: { discard?: boolean } = {}): boolean => {\n const ok = stopPcmCapture();\n if (!discard && ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n return ok;\n },\n [endAudioStream, onAudioEnd, stopPcmCapture],\n );\n\n const startPress = useCallback(() => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n setIsPressing(true);\n\n holdTimerRef.current = setTimeout(() => {\n if (interruptOnHoldStart) {\n interrupt();\n }\n void startPcmCapture();\n }, holdDelayMs);\n }, [holdDelayMs, interrupt, interruptOnHoldStart, startPcmCapture]);\n\n const stopPress = useCallback(() => {\n setIsPressing(false);\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n const ok = stopPcmCapture();\n if (ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n }, [endAudioStream, onAudioEnd, stopPcmCapture]);\n\n useEffect(() => {\n return () => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n cleanup();\n };\n }, [cleanup]);\n\n const eventHandlers = useMemo(\n () => ({\n onPointerDown: (e: React.PointerEvent) => {\n e.preventDefault();\n startPress();\n },\n onPointerUp: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerCancel: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n }),\n [startPress, stopPress],\n );\n\n return {\n isPressing,\n isRecording,\n micError,\n startRecording,\n stopRecording,\n startPress,\n stopPress,\n eventHandlers,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { EventHandlerMap, RqmiiMessage, RqmiiState, TranscriptPayload, PartialTranscriptPayload, SessionData } from '../types';\n\ntype Listener<T> = (handler: T) => () => void;\n\nexport interface RqmiiEventListeners {\n onSessionReady: Listener<EventHandlerMap['session:ready']>;\n onSessionJoined: Listener<EventHandlerMap['session:joined']>;\n onSessionTerminated: Listener<EventHandlerMap['session:terminated']>;\n onSessionExpired: Listener<EventHandlerMap['session:expired']>;\n onMessageReceived: Listener<EventHandlerMap['message:received']>;\n onMessageSent: Listener<EventHandlerMap['message:sent']>;\n onAudioPlaying: Listener<EventHandlerMap['audio:playing']>;\n onAudioStopped: Listener<EventHandlerMap['audio:stopped']>;\n onAvatarSpeaking: Listener<EventHandlerMap['avatar:speaking']>;\n onAvatarSpeakingDone: Listener<EventHandlerMap['avatar:speaking_done']>;\n onStateChanged: Listener<EventHandlerMap['state:changed']>;\n onConnected: Listener<EventHandlerMap['connection:connected']>;\n onDisconnected: Listener<EventHandlerMap['connection:disconnected']>;\n onConnectionFailed: Listener<EventHandlerMap['connection:failed']>;\n onError: Listener<EventHandlerMap['error']>;\n onCreditsExhausted: Listener<EventHandlerMap['credits:exhausted']>;\n onTranscript: Listener<EventHandlerMap['transcript']>;\n onPartialTranscript: Listener<EventHandlerMap['partial_transcript']>;\n onInterrupted: Listener<EventHandlerMap['interrupted']>;\n}\n\nexport interface RqmiiSDKHandle {\n state: {\n messages: RqmiiMessage[];\n connectionState: RqmiiState['connectionState'];\n isConnected: boolean;\n isSessionReady: boolean;\n isAudioPlaying: boolean;\n isAgentThinking: boolean;\n isAgentSpeaking: boolean;\n isToolExecuting: boolean;\n isSessionTerminated: boolean;\n isSessionTerminating: boolean;\n creditExhausted: boolean;\n creditError: string | null;\n error: string | null;\n transcript: TranscriptPayload | null;\n partialTranscript: PartialTranscriptPayload | null;\n session: RqmiiState['session'];\n sessionState: RqmiiState['sessionState'];\n };\n actions: {\n sendTextMessage: (text: string) => boolean;\n sendAudioChunk: (audio: unknown) => boolean;\n endAudioStream: () => boolean;\n interrupt: () => boolean;\n clearSessionHistory: () => boolean;\n clearMessages: () => void;\n changeSessionLanguage: (language: string) => boolean;\n signalClientReady: (payload?: Record<string, unknown>) => boolean;\n initializeSession: (opts?: { apiKey?: string; agentId?: string; language?: string }) => Promise<SessionData>;\n joinDesktopSession: (opts: { uniqueId: string; language?: string }) => Promise<SessionData>;\n disconnect: () => void;\n terminateSession: () => Promise<{ success: boolean }>;\n resumeAudioPlayback: () => void;\n pauseAudioPlayback: () => void;\n attachAudioElement: (el: HTMLAudioElement | null) => void;\n };\n events: RqmiiEventListeners;\n raw: {\n socket: ReturnType<typeof import('socket.io-client').io> | null;\n audioElement: HTMLAudioElement | null;\n };\n}\n\nexport function useRqmiiSDK(): RqmiiSDKHandle {\n const ctx = useRqmiiAgentContext();\n const ev = ctx.events;\n\n return {\n state: {\n messages: ctx.messages,\n connectionState: ctx.connectionState,\n isConnected: ctx.isConnected,\n isSessionReady: ctx.isSessionReady,\n isAudioPlaying: ctx.isAudioPlaying,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n creditExhausted: ctx.creditExhausted,\n creditError: ctx.creditError,\n error: ctx.error,\n transcript: ctx.transcript,\n partialTranscript: ctx.partialTranscript,\n session: ctx.session,\n sessionState: ctx.sessionState,\n },\n actions: {\n sendTextMessage: ctx.sendTextMessage,\n sendAudioChunk: ctx.sendAudioChunk,\n endAudioStream: ctx.endAudioStream,\n interrupt: ctx.interrupt,\n clearSessionHistory: ctx.clearSessionHistory,\n clearMessages: ctx.clearMessages,\n changeSessionLanguage: ctx.changeSessionLanguage,\n signalClientReady: ctx.signalClientReady,\n initializeSession: ctx.initializeSession,\n joinDesktopSession: ctx.joinDesktopSession,\n disconnect: ctx.disconnect,\n terminateSession: ctx.terminateSession,\n resumeAudioPlayback: ctx.resumeAudioPlayback,\n pauseAudioPlayback: ctx.pauseAudioPlayback,\n attachAudioElement: ctx.attachAudioElement,\n },\n events: {\n onSessionReady: (h) => ev.on('session:ready', h),\n onSessionJoined: (h) => ev.on('session:joined', h),\n onSessionTerminated: (h) => ev.on('session:terminated', h),\n onSessionExpired: (h) => ev.on('session:expired', h),\n onMessageReceived: (h) => ev.on('message:received', h),\n onMessageSent: (h) => ev.on('message:sent', h),\n onAudioPlaying: (h) => ev.on('audio:playing', h),\n onAudioStopped: (h) => ev.on('audio:stopped', h),\n onAvatarSpeaking: (h) => ev.on('avatar:speaking', h),\n onAvatarSpeakingDone: (h) => ev.on('avatar:speaking_done', h),\n onStateChanged: (h) => ev.on('state:changed', h),\n onConnected: (h) => ev.on('connection:connected', h),\n onDisconnected: (h) => ev.on('connection:disconnected', h),\n onConnectionFailed: (h) => ev.on('connection:failed', h),\n onError: (h) => ev.on('error', h),\n onCreditsExhausted: (h) => ev.on('credits:exhausted', h),\n onTranscript: (h) => ev.on('transcript', h),\n onPartialTranscript: (h) => ev.on('partial_transcript', h),\n onInterrupted: (h) => ev.on('interrupted', h),\n },\n raw: {\n socket: ctx.socket,\n audioElement: ctx.audioElement,\n },\n };\n}\n","import React, { Component, type ErrorInfo, type ReactNode } from 'react';\n\ninterface RqmiiErrorBoundaryProps {\n children: ReactNode;\n fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);\n onError?: (error: Error, info: ErrorInfo) => void;\n}\n\ninterface RqmiiErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nexport class RqmiiErrorBoundary extends Component<RqmiiErrorBoundaryProps, RqmiiErrorBoundaryState> {\n constructor(props: RqmiiErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): RqmiiErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, info: ErrorInfo) {\n this.props.onError?.(error, info);\n }\n\n reset = () => {\n this.setState({ hasError: false, error: null });\n };\n\n render(): ReactNode {\n if (this.state.hasError) {\n const { fallback } = this.props;\n if (fallback) {\n if (typeof fallback === 'function') {\n return this.state.error ? fallback(this.state.error, this.reset) : null;\n }\n return fallback;\n }\n return (\n <div style={{ padding: '24px', textAlign: 'center', color: '#ef4444' }}>\n <h3>Something went wrong</h3>\n <p>{this.state.error?.message || 'An unexpected error occurred'}</p>\n <button onClick={this.reset} style={{ marginTop: '12px', padding: '8px 16px', cursor: 'pointer' }}>\n Try again\n </button>\n </div>\n );\n }\n return this.props.children;\n }\n}\n","import { suppressNoisyLogs } from './core/utils/suppress-logs';\nsuppressNoisyLogs();\nexport { RqmiiAgentProvider, useRqmiiAgentContext } from './provider/RqmiiAgentProvider';\n\nexport {\n useRqmiiAgent,\n useRqmiiConnection,\n useRqmiiSession,\n useRqmiiMessages,\n useRqmiiVoice,\n useRqmiiAvatar,\n useRqmiiAudioElement,\n useRqmiiPressToTalk,\n useRqmiiVAD,\n useRqmiiEvents,\n useRqmiiSDK,\n} from './hooks';\n\nexport type { RqmiiSDKHandle, RqmiiEventListeners } from './hooks';\n\nexport { RqmiiAgentRoom } from './components/RqmiiAgentRoom';\nexport { RqmiiCloudAvatarPlayer } from './components/RqmiiCloudAvatarPlayer';\nexport { RqmiiErrorBoundary } from './components/RqmiiErrorBoundary';\n\nexport { AGENT_TYPES, SOCKET_EVENTS, CONNECTION_STATE, CLOUD_STREAM_STATE, SESSION_STATE, DEFAULT_PCM_OPTIONS } from './core/constants';\n\nexport type {\n AgentType,\n ConnectionState,\n SessionState,\n CloudStreamState,\n RqmiiSessionInfo,\n RqmiiMessage,\n PublicAgent,\n RqmiiPCMOptions,\n InitializeSessionArgs,\n JoinDesktopSessionArgs,\n RqmiiAgentProviderProps,\n RqmiiAgentContextValue,\n RqmiiState,\n EventType,\n EventHandlerMap,\n SessionData,\n TranscriptPayload,\n PartialTranscriptPayload,\n RqmiiAgentChatProps,\n RqmiiAgentChatPreviewProps,\n RqmiiAgentRoomProps,\n RqmiiCloudAvatarPlayerProps,\n UseRqmiiConnectionReturn,\n UseRqmiiMessagesReturn,\n UseRqmiiVoiceReturn,\n UseRqmiiAvatarReturn,\n UseRqmiiPressToTalkReturn,\n UseRqmiiVADReturn,\n UseRqmiiSessionStateReturn,\n AudioCaptureState,\n ClientToolHandler,\n RqmiiPromptOverrides,\n RqmiiPromptOverrideGuardrail,\n RqmiiPromptOverrideSection,\n} from './types';\n\nexport { AudioCapture } from './capture/capture';\n\nexport { EventEmitter } from './core/events/emitter';\n"],"names":["useRqmiiAgent","useRqmiiAgentContext","useRqmiiSession","ctx","useRqmiiAudioElement","audioRef","attachAudioElement","resumeAudioPlayback","useEffect","unlock","node","CaptureEventEmitter","event","handler","payload","handlers","DEFAULT_OPTIONS","PCM_PROCESSOR_CODE","AudioCapture","options","err","blob","processorUrl","source","ev","t","useRqmiiPressToTalk","onAudioChunk","onAudioEnd","onError","holdDelayMs","interruptOnHoldStart","sendAudioChunk","endAudioStream","interrupt","captureRef","useRef","holdTimerRef","isPressing","setIsPressing","useState","isRecording","setIsRecording","micError","setMicError","startPcmCapture","useCallback","capture","chunk","stopPcmCapture","cleanup","startRecording","stopRecording","discard","ok","startPress","stopPress","eventHandlers","useMemo","e","useRqmiiSDK","h","RqmiiErrorBoundary","Component","props","error","info","fallback","jsxs","jsx","suppressNoisyLogs"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { RqmiiAgentRoom } from './components/RqmiiAgentRoom';
5
5
  export { RqmiiCloudAvatarPlayer } from './components/RqmiiCloudAvatarPlayer';
6
6
  export { RqmiiErrorBoundary } from './components/RqmiiErrorBoundary';
7
7
  export { AGENT_TYPES, SOCKET_EVENTS, CONNECTION_STATE, CLOUD_STREAM_STATE, SESSION_STATE, DEFAULT_PCM_OPTIONS } from './core/constants';
8
- export type { AgentType, ConnectionState, SessionState, CloudStreamState, RqmiiSessionInfo, RqmiiMessage, PublicAgent, RqmiiPCMOptions, InitializeSessionArgs, JoinDesktopSessionArgs, RqmiiAgentProviderProps, RqmiiAgentContextValue, RqmiiState, EventType, EventHandlerMap, SessionData, TranscriptPayload, PartialTranscriptPayload, RqmiiAgentChatProps, RqmiiAgentChatPreviewProps, RqmiiAgentRoomProps, RqmiiCloudAvatarPlayerProps, UseRqmiiConnectionReturn, UseRqmiiMessagesReturn, UseRqmiiVoiceReturn, UseRqmiiAvatarReturn, UseRqmiiPressToTalkReturn, UseRqmiiVADReturn, UseRqmiiSessionStateReturn, AudioCaptureState, ClientToolHandler, } from './types';
8
+ export type { AgentType, ConnectionState, SessionState, CloudStreamState, RqmiiSessionInfo, RqmiiMessage, PublicAgent, RqmiiPCMOptions, InitializeSessionArgs, JoinDesktopSessionArgs, RqmiiAgentProviderProps, RqmiiAgentContextValue, RqmiiState, EventType, EventHandlerMap, SessionData, TranscriptPayload, PartialTranscriptPayload, RqmiiAgentChatProps, RqmiiAgentChatPreviewProps, RqmiiAgentRoomProps, RqmiiCloudAvatarPlayerProps, UseRqmiiConnectionReturn, UseRqmiiMessagesReturn, UseRqmiiVoiceReturn, UseRqmiiAvatarReturn, UseRqmiiPressToTalkReturn, UseRqmiiVADReturn, UseRqmiiSessionStateReturn, AudioCaptureState, ClientToolHandler, RqmiiPromptOverrides, RqmiiPromptOverrideGuardrail, RqmiiPromptOverrideSection, } from './types';
9
9
  export { AudioCapture } from './capture/capture';
10
10
  export { EventEmitter } from './core/events/emitter';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAExI,YAAY,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAExI,YAAY,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { u as d, s as L } from "./RqmiiCloudAvatarPlayer-BL7GVcr_.js";
2
- import { A as $, C as ee, a as te, D as se, b as ne, R as ie, c as re, d as oe, S as ae, f as ce, g as ue, h as le, i as de, j as pe, k as he, l as me } from "./RqmiiCloudAvatarPlayer-BL7GVcr_.js";
1
+ import { u as d, s as L } from "./RqmiiCloudAvatarPlayer-Bi44g7bl.js";
2
+ import { A as $, C as ee, a as te, D as se, b as ne, R as ie, c as re, d as oe, S as ae, f as ce, g as ue, h as le, i as de, j as pe, k as he, l as me } from "./RqmiiCloudAvatarPlayer-Bi44g7bl.js";
3
3
  import { jsxs as O, jsx as A } from "react/jsx-runtime";
4
4
  import { useEffect as C, useRef as y, useState as E, useCallback as u, useMemo as j, Component as z } from "react";
5
5
  function B() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/hooks/use-rqmii-agent.ts","../src/hooks/use-rqmii-session.ts","../src/hooks/use-rqmii-audio-element.ts","../src/capture/capture.ts","../src/hooks/use-rqmii-press-to-talk.ts","../src/hooks/use-rqmii-sdk.ts","../src/components/RqmiiErrorBoundary.tsx","../src/index.ts"],"sourcesContent":["import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAgent() {\n return useRqmiiAgentContext();\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiSession() {\n const ctx = useRqmiiAgentContext();\n return {\n sessionState: ctx.sessionState,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n };\n}\n","import { useEffect } from 'react';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAudioElement(audioRef: React.RefObject<HTMLAudioElement | null>) {\n const { attachAudioElement, resumeAudioPlayback } = useRqmiiAgentContext();\n\n useEffect(() => {\n if (!audioRef?.current) return undefined;\n\n attachAudioElement(audioRef.current);\n const unlock = () => {\n void resumeAudioPlayback();\n };\n\n const node = audioRef.current;\n node.addEventListener('click', unlock);\n node.addEventListener('touchstart', unlock);\n\n return () => {\n node.removeEventListener('click', unlock);\n node.removeEventListener('touchstart', unlock);\n attachAudioElement(null);\n };\n }, [attachAudioElement, audioRef, resumeAudioPlayback]);\n}\n","export type AudioCaptureState = 'idle' | 'requesting-mic' | 'capturing' | 'unsupported' | 'suspended' | 'error';\n\nexport interface CaptureOptions {\n inputSampleRate?: number;\n frameSizeMs?: number;\n}\n\ntype CaptureHandler = (...args: unknown[]) => void;\n\nclass CaptureEventEmitter {\n private listeners = new Map<string, Set<CaptureHandler>>();\n\n on(event: string, handler: CaptureHandler): () => void {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event)!.add(handler);\n return () => this.off(event, handler);\n }\n\n off(event: string, handler: CaptureHandler): void {\n this.listeners.get(event)?.delete(handler);\n }\n\n emit(event: string, payload?: unknown): void {\n const handlers = this.listeners.get(event);\n if (!handlers) return;\n for (const handler of handlers) {\n try { handler(payload); } catch { /* silence */ }\n }\n }\n\n removeAllListeners(): void {\n this.listeners.clear();\n }\n}\n\nconst DEFAULT_OPTIONS: Required<CaptureOptions> = {\n inputSampleRate: 48000,\n frameSizeMs: 20,\n};\n\nconst PCM_PROCESSOR_CODE = `\nclass PcmCaptureProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super();\n this._downsampleFactor = Math.round((options.processorOptions?.inputSampleRate || 48000) / 16000);\n this._buffer = [];\n this._frameSize = 128;\n }\n\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n\n const channelData = input[0];\n\n for (let i = 0; i < channelData.length; i++) {\n this._buffer.push(channelData[i]);\n }\n\n while (this._buffer.length >= this._frameSize * this._downsampleFactor) {\n let outIdx = 0;\n const downsampled = new Float32Array(this._frameSize);\n\n for (let i = 0; i < this._frameSize; i++) {\n const base = i * this._downsampleFactor;\n let sum = 0;\n for (let j = 0; j < this._downsampleFactor; j++) {\n sum += this._buffer[base + j];\n }\n downsampled[outIdx++] = sum / this._downsampleFactor;\n }\n\n this._buffer.splice(0, this._frameSize * this._downsampleFactor);\n\n const pcm = new Int16Array(this._frameSize);\n for (let i = 0; i < this._frameSize; i++) {\n const s = Math.max(-1, Math.min(1, downsampled[i]));\n pcm[i] = s < 0 ? s * 0x8000 : s * 0x7fff;\n }\n\n this.port.postMessage(pcm.buffer, [pcm.buffer]);\n }\n\n return true;\n }\n}\n\nregisterProcessor('pcm-capture-processor', PcmCaptureProcessor);\n`;\n\nexport class AudioCapture {\n private _state: AudioCaptureState = 'idle';\n private _ctx: AudioContext | null = null;\n private _node: AudioWorkletNode | null = null;\n private _stream: MediaStream | null = null;\n private _events = new CaptureEventEmitter();\n private _options: Required<CaptureOptions>;\n\n readonly supported: boolean;\n\n constructor(options?: CaptureOptions) {\n this._options = { ...DEFAULT_OPTIONS, ...options };\n this.supported = typeof AudioWorkletNode !== 'undefined';\n if (!this.supported) {\n this._state = 'unsupported';\n }\n }\n\n get state(): AudioCaptureState {\n return this._state;\n }\n\n get events(): CaptureEventEmitter {\n return this._events;\n }\n\n async start(): Promise<boolean> {\n if (!this.supported) {\n this._state = 'unsupported';\n return false;\n }\n\n if (this._state === 'capturing') return true;\n\n this._state = 'requesting-mic';\n\n try {\n this._stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n return false;\n }\n\n try {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n }\n\n this._ctx = new AudioContext({ sampleRate: this._options.inputSampleRate });\n\n const blob = new Blob([PCM_PROCESSOR_CODE], { type: 'application/javascript' });\n const processorUrl = URL.createObjectURL(blob);\n await this._ctx.audioWorklet.addModule(processorUrl);\n URL.revokeObjectURL(processorUrl);\n\n const source = this._ctx.createMediaStreamSource(this._stream);\n\n this._node = new AudioWorkletNode(this._ctx, 'pcm-capture-processor', {\n processorOptions: {\n inputSampleRate: this._options.inputSampleRate,\n frameSize: (this._options.inputSampleRate * this._options.frameSizeMs) / 1000,\n },\n });\n\n this._node.port.onmessage = (ev: MessageEvent<ArrayBuffer>) => {\n this._events.emit('audio_chunk', new Uint8Array(ev.data));\n };\n\n source.connect(this._node);\n\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n\n if (this._ctx.state === 'suspended') {\n await this._ctx.resume();\n }\n\n return true;\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n return false;\n }\n }\n\n stop(): void {\n if (this._node) {\n this._node.disconnect();\n this._node = null;\n }\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n if (this._ctx && this._ctx.state !== 'closed') {\n this._ctx.close();\n this._ctx = null;\n }\n\n this._state = 'idle';\n this._events.emit('state_changed', this._state);\n }\n\n async resume(): Promise<void> {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n }\n }\n\n async pause(): Promise<void> {\n if (this._ctx?.state === 'running') {\n await this._ctx.suspend();\n this._state = 'suspended';\n this._events.emit('state_changed', this._state);\n }\n }\n\n destroy(): void {\n this.events.removeAllListeners();\n this.stop();\n }\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AudioCapture } from '../capture/capture';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { UseRqmiiPressToTalkOptions, UseRqmiiPressToTalkReturn } from '../types';\n\nconst DEFAULT_AUDIO_CONSTRAINTS: MediaTrackConstraints = {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 16000,\n};\n\nexport function useRqmiiPressToTalk(options: UseRqmiiPressToTalkOptions = {}): UseRqmiiPressToTalkReturn {\n const {\n onAudioChunk,\n onAudioEnd,\n onError,\n holdDelayMs = 220,\n interruptOnHoldStart = true,\n } = options;\n\n const { sendAudioChunk, endAudioStream, interrupt } = useRqmiiAgentContext();\n\n const captureRef = useRef<AudioCapture | null>(null);\n const holdTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isPressing, setIsPressing] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [micError, setMicError] = useState<string | null>(null);\n\n const startPcmCapture = useCallback(async (): Promise<boolean> => {\n if (captureRef.current) return true;\n\n const capture = new AudioCapture();\n captureRef.current = capture;\n\n if (!capture.supported) {\n const err = new Error('AudioWorklet not supported in this browser');\n setMicError(err.message);\n onError?.(err);\n return false;\n }\n\n capture.events.on('audio_chunk', (chunk: unknown) => {\n if (onAudioChunk) onAudioChunk(chunk as Uint8Array);\n else sendAudioChunk(chunk);\n });\n\n capture.events.on('error', (err: unknown) => {\n onError?.(err);\n });\n\n const ok = await capture.start();\n if (!ok) {\n setMicError('Failed to start capture');\n captureRef.current = null;\n return false;\n }\n\n setIsRecording(true);\n setMicError(null);\n return true;\n }, [onAudioChunk, onError, sendAudioChunk]);\n\n const stopPcmCapture = useCallback((): boolean => {\n const capture = captureRef.current;\n if (!capture) return false;\n\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n return true;\n }, []);\n\n const cleanup = useCallback(() => {\n const capture = captureRef.current;\n if (!capture) return;\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n }, []);\n\n const startRecording = useCallback(async (): Promise<boolean> => {\n return startPcmCapture();\n }, [startPcmCapture]);\n\n const stopRecording = useCallback(\n ({ discard = false }: { discard?: boolean } = {}): boolean => {\n const ok = stopPcmCapture();\n if (!discard && ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n return ok;\n },\n [endAudioStream, onAudioEnd, stopPcmCapture],\n );\n\n const startPress = useCallback(() => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n setIsPressing(true);\n\n holdTimerRef.current = setTimeout(() => {\n if (interruptOnHoldStart) {\n interrupt();\n }\n void startPcmCapture();\n }, holdDelayMs);\n }, [holdDelayMs, interrupt, interruptOnHoldStart, startPcmCapture]);\n\n const stopPress = useCallback(() => {\n setIsPressing(false);\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n const ok = stopPcmCapture();\n if (ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n }, [endAudioStream, onAudioEnd, stopPcmCapture]);\n\n useEffect(() => {\n return () => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n cleanup();\n };\n }, [cleanup]);\n\n const eventHandlers = useMemo(\n () => ({\n onPointerDown: (e: React.PointerEvent) => {\n e.preventDefault();\n startPress();\n },\n onPointerUp: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerCancel: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n }),\n [startPress, stopPress],\n );\n\n return {\n isPressing,\n isRecording,\n micError,\n startRecording,\n stopRecording,\n startPress,\n stopPress,\n eventHandlers,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { EventHandlerMap, RqmiiMessage, RqmiiState, TranscriptPayload, PartialTranscriptPayload, SessionData } from '../types';\n\ntype Listener<T> = (handler: T) => () => void;\n\nexport interface RqmiiEventListeners {\n onSessionReady: Listener<EventHandlerMap['session:ready']>;\n onSessionJoined: Listener<EventHandlerMap['session:joined']>;\n onSessionTerminated: Listener<EventHandlerMap['session:terminated']>;\n onSessionExpired: Listener<EventHandlerMap['session:expired']>;\n onMessageReceived: Listener<EventHandlerMap['message:received']>;\n onMessageSent: Listener<EventHandlerMap['message:sent']>;\n onAudioPlaying: Listener<EventHandlerMap['audio:playing']>;\n onAudioStopped: Listener<EventHandlerMap['audio:stopped']>;\n onAvatarSpeaking: Listener<EventHandlerMap['avatar:speaking']>;\n onAvatarSpeakingDone: Listener<EventHandlerMap['avatar:speaking_done']>;\n onStateChanged: Listener<EventHandlerMap['state:changed']>;\n onConnected: Listener<EventHandlerMap['connection:connected']>;\n onDisconnected: Listener<EventHandlerMap['connection:disconnected']>;\n onConnectionFailed: Listener<EventHandlerMap['connection:failed']>;\n onError: Listener<EventHandlerMap['error']>;\n onCreditsExhausted: Listener<EventHandlerMap['credits:exhausted']>;\n onTranscript: Listener<EventHandlerMap['transcript']>;\n onPartialTranscript: Listener<EventHandlerMap['partial_transcript']>;\n onInterrupted: Listener<EventHandlerMap['interrupted']>;\n}\n\nexport interface RqmiiSDKHandle {\n state: {\n messages: RqmiiMessage[];\n connectionState: RqmiiState['connectionState'];\n isConnected: boolean;\n isSessionReady: boolean;\n isAudioPlaying: boolean;\n isAgentThinking: boolean;\n isAgentSpeaking: boolean;\n isToolExecuting: boolean;\n isSessionTerminated: boolean;\n isSessionTerminating: boolean;\n creditExhausted: boolean;\n creditError: string | null;\n error: string | null;\n transcript: TranscriptPayload | null;\n partialTranscript: PartialTranscriptPayload | null;\n session: RqmiiState['session'];\n sessionState: RqmiiState['sessionState'];\n };\n actions: {\n sendTextMessage: (text: string) => boolean;\n sendAudioChunk: (audio: unknown) => boolean;\n endAudioStream: () => boolean;\n interrupt: () => boolean;\n clearSessionHistory: () => boolean;\n clearMessages: () => void;\n changeSessionLanguage: (language: string) => boolean;\n signalClientReady: (payload?: Record<string, unknown>) => boolean;\n initializeSession: (opts?: { apiKey?: string; agentId?: string; language?: string }) => Promise<SessionData>;\n joinDesktopSession: (opts: { uniqueId: string; language?: string }) => Promise<SessionData>;\n disconnect: () => void;\n terminateSession: () => Promise<{ success: boolean }>;\n resumeAudioPlayback: () => void;\n pauseAudioPlayback: () => void;\n attachAudioElement: (el: HTMLAudioElement | null) => void;\n };\n events: RqmiiEventListeners;\n raw: {\n socket: ReturnType<typeof import('socket.io-client').io> | null;\n audioElement: HTMLAudioElement | null;\n };\n}\n\nexport function useRqmiiSDK(): RqmiiSDKHandle {\n const ctx = useRqmiiAgentContext();\n const ev = ctx.events;\n\n return {\n state: {\n messages: ctx.messages,\n connectionState: ctx.connectionState,\n isConnected: ctx.isConnected,\n isSessionReady: ctx.isSessionReady,\n isAudioPlaying: ctx.isAudioPlaying,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n creditExhausted: ctx.creditExhausted,\n creditError: ctx.creditError,\n error: ctx.error,\n transcript: ctx.transcript,\n partialTranscript: ctx.partialTranscript,\n session: ctx.session,\n sessionState: ctx.sessionState,\n },\n actions: {\n sendTextMessage: ctx.sendTextMessage,\n sendAudioChunk: ctx.sendAudioChunk,\n endAudioStream: ctx.endAudioStream,\n interrupt: ctx.interrupt,\n clearSessionHistory: ctx.clearSessionHistory,\n clearMessages: ctx.clearMessages,\n changeSessionLanguage: ctx.changeSessionLanguage,\n signalClientReady: ctx.signalClientReady,\n initializeSession: ctx.initializeSession,\n joinDesktopSession: ctx.joinDesktopSession,\n disconnect: ctx.disconnect,\n terminateSession: ctx.terminateSession,\n resumeAudioPlayback: ctx.resumeAudioPlayback,\n pauseAudioPlayback: ctx.pauseAudioPlayback,\n attachAudioElement: ctx.attachAudioElement,\n },\n events: {\n onSessionReady: (h) => ev.on('session:ready', h),\n onSessionJoined: (h) => ev.on('session:joined', h),\n onSessionTerminated: (h) => ev.on('session:terminated', h),\n onSessionExpired: (h) => ev.on('session:expired', h),\n onMessageReceived: (h) => ev.on('message:received', h),\n onMessageSent: (h) => ev.on('message:sent', h),\n onAudioPlaying: (h) => ev.on('audio:playing', h),\n onAudioStopped: (h) => ev.on('audio:stopped', h),\n onAvatarSpeaking: (h) => ev.on('avatar:speaking', h),\n onAvatarSpeakingDone: (h) => ev.on('avatar:speaking_done', h),\n onStateChanged: (h) => ev.on('state:changed', h),\n onConnected: (h) => ev.on('connection:connected', h),\n onDisconnected: (h) => ev.on('connection:disconnected', h),\n onConnectionFailed: (h) => ev.on('connection:failed', h),\n onError: (h) => ev.on('error', h),\n onCreditsExhausted: (h) => ev.on('credits:exhausted', h),\n onTranscript: (h) => ev.on('transcript', h),\n onPartialTranscript: (h) => ev.on('partial_transcript', h),\n onInterrupted: (h) => ev.on('interrupted', h),\n },\n raw: {\n socket: ctx.socket,\n audioElement: ctx.audioElement,\n },\n };\n}\n","import React, { Component, type ErrorInfo, type ReactNode } from 'react';\n\ninterface RqmiiErrorBoundaryProps {\n children: ReactNode;\n fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);\n onError?: (error: Error, info: ErrorInfo) => void;\n}\n\ninterface RqmiiErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nexport class RqmiiErrorBoundary extends Component<RqmiiErrorBoundaryProps, RqmiiErrorBoundaryState> {\n constructor(props: RqmiiErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): RqmiiErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, info: ErrorInfo) {\n this.props.onError?.(error, info);\n }\n\n reset = () => {\n this.setState({ hasError: false, error: null });\n };\n\n render(): ReactNode {\n if (this.state.hasError) {\n const { fallback } = this.props;\n if (fallback) {\n if (typeof fallback === 'function') {\n return this.state.error ? fallback(this.state.error, this.reset) : null;\n }\n return fallback;\n }\n return (\n <div style={{ padding: '24px', textAlign: 'center', color: '#ef4444' }}>\n <h3>Something went wrong</h3>\n <p>{this.state.error?.message || 'An unexpected error occurred'}</p>\n <button onClick={this.reset} style={{ marginTop: '12px', padding: '8px 16px', cursor: 'pointer' }}>\n Try again\n </button>\n </div>\n );\n }\n return this.props.children;\n }\n}\n","import { suppressNoisyLogs } from './core/utils/suppress-logs';\nsuppressNoisyLogs();\nexport { RqmiiAgentProvider, useRqmiiAgentContext } from './provider/RqmiiAgentProvider';\n\nexport {\n useRqmiiAgent,\n useRqmiiConnection,\n useRqmiiSession,\n useRqmiiMessages,\n useRqmiiVoice,\n useRqmiiAvatar,\n useRqmiiAudioElement,\n useRqmiiPressToTalk,\n useRqmiiVAD,\n useRqmiiEvents,\n useRqmiiSDK,\n} from './hooks';\n\nexport type { RqmiiSDKHandle, RqmiiEventListeners } from './hooks';\n\nexport { RqmiiAgentRoom } from './components/RqmiiAgentRoom';\nexport { RqmiiCloudAvatarPlayer } from './components/RqmiiCloudAvatarPlayer';\nexport { RqmiiErrorBoundary } from './components/RqmiiErrorBoundary';\n\nexport { AGENT_TYPES, SOCKET_EVENTS, CONNECTION_STATE, CLOUD_STREAM_STATE, SESSION_STATE, DEFAULT_PCM_OPTIONS } from './core/constants';\n\nexport type {\n AgentType,\n ConnectionState,\n SessionState,\n CloudStreamState,\n RqmiiSessionInfo,\n RqmiiMessage,\n PublicAgent,\n RqmiiPCMOptions,\n InitializeSessionArgs,\n JoinDesktopSessionArgs,\n RqmiiAgentProviderProps,\n RqmiiAgentContextValue,\n RqmiiState,\n EventType,\n EventHandlerMap,\n SessionData,\n TranscriptPayload,\n PartialTranscriptPayload,\n RqmiiAgentChatProps,\n RqmiiAgentChatPreviewProps,\n RqmiiAgentRoomProps,\n RqmiiCloudAvatarPlayerProps,\n UseRqmiiConnectionReturn,\n UseRqmiiMessagesReturn,\n UseRqmiiVoiceReturn,\n UseRqmiiAvatarReturn,\n UseRqmiiPressToTalkReturn,\n UseRqmiiVADReturn,\n UseRqmiiSessionStateReturn,\n AudioCaptureState,\n ClientToolHandler,\n} from './types';\n\nexport { AudioCapture } from './capture/capture';\n\nexport { EventEmitter } from './core/events/emitter';\n"],"names":["useRqmiiAgent","useRqmiiAgentContext","useRqmiiSession","ctx","useRqmiiAudioElement","audioRef","attachAudioElement","resumeAudioPlayback","useEffect","unlock","node","CaptureEventEmitter","event","handler","payload","handlers","DEFAULT_OPTIONS","PCM_PROCESSOR_CODE","AudioCapture","options","err","blob","processorUrl","source","ev","t","useRqmiiPressToTalk","onAudioChunk","onAudioEnd","onError","holdDelayMs","interruptOnHoldStart","sendAudioChunk","endAudioStream","interrupt","captureRef","useRef","holdTimerRef","isPressing","setIsPressing","useState","isRecording","setIsRecording","micError","setMicError","startPcmCapture","useCallback","capture","chunk","stopPcmCapture","cleanup","startRecording","stopRecording","discard","ok","startPress","stopPress","eventHandlers","useMemo","e","useRqmiiSDK","h","RqmiiErrorBoundary","Component","props","error","info","fallback","jsxs","jsx","suppressNoisyLogs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/hooks/use-rqmii-agent.ts","../src/hooks/use-rqmii-session.ts","../src/hooks/use-rqmii-audio-element.ts","../src/capture/capture.ts","../src/hooks/use-rqmii-press-to-talk.ts","../src/hooks/use-rqmii-sdk.ts","../src/components/RqmiiErrorBoundary.tsx","../src/index.ts"],"sourcesContent":["import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAgent() {\n return useRqmiiAgentContext();\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiSession() {\n const ctx = useRqmiiAgentContext();\n return {\n sessionState: ctx.sessionState,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n };\n}\n","import { useEffect } from 'react';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiAudioElement(audioRef: React.RefObject<HTMLAudioElement | null>) {\n const { attachAudioElement, resumeAudioPlayback } = useRqmiiAgentContext();\n\n useEffect(() => {\n if (!audioRef?.current) return undefined;\n\n attachAudioElement(audioRef.current);\n const unlock = () => {\n void resumeAudioPlayback();\n };\n\n const node = audioRef.current;\n node.addEventListener('click', unlock);\n node.addEventListener('touchstart', unlock);\n\n return () => {\n node.removeEventListener('click', unlock);\n node.removeEventListener('touchstart', unlock);\n attachAudioElement(null);\n };\n }, [attachAudioElement, audioRef, resumeAudioPlayback]);\n}\n","export type AudioCaptureState = 'idle' | 'requesting-mic' | 'capturing' | 'unsupported' | 'suspended' | 'error';\n\nexport interface CaptureOptions {\n inputSampleRate?: number;\n frameSizeMs?: number;\n}\n\ntype CaptureHandler = (...args: unknown[]) => void;\n\nclass CaptureEventEmitter {\n private listeners = new Map<string, Set<CaptureHandler>>();\n\n on(event: string, handler: CaptureHandler): () => void {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event)!.add(handler);\n return () => this.off(event, handler);\n }\n\n off(event: string, handler: CaptureHandler): void {\n this.listeners.get(event)?.delete(handler);\n }\n\n emit(event: string, payload?: unknown): void {\n const handlers = this.listeners.get(event);\n if (!handlers) return;\n for (const handler of handlers) {\n try { handler(payload); } catch { /* silence */ }\n }\n }\n\n removeAllListeners(): void {\n this.listeners.clear();\n }\n}\n\nconst DEFAULT_OPTIONS: Required<CaptureOptions> = {\n inputSampleRate: 48000,\n frameSizeMs: 20,\n};\n\nconst PCM_PROCESSOR_CODE = `\nclass PcmCaptureProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super();\n this._downsampleFactor = Math.round((options.processorOptions?.inputSampleRate || 48000) / 16000);\n this._buffer = [];\n this._frameSize = 128;\n }\n\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n\n const channelData = input[0];\n\n for (let i = 0; i < channelData.length; i++) {\n this._buffer.push(channelData[i]);\n }\n\n while (this._buffer.length >= this._frameSize * this._downsampleFactor) {\n let outIdx = 0;\n const downsampled = new Float32Array(this._frameSize);\n\n for (let i = 0; i < this._frameSize; i++) {\n const base = i * this._downsampleFactor;\n let sum = 0;\n for (let j = 0; j < this._downsampleFactor; j++) {\n sum += this._buffer[base + j];\n }\n downsampled[outIdx++] = sum / this._downsampleFactor;\n }\n\n this._buffer.splice(0, this._frameSize * this._downsampleFactor);\n\n const pcm = new Int16Array(this._frameSize);\n for (let i = 0; i < this._frameSize; i++) {\n const s = Math.max(-1, Math.min(1, downsampled[i]));\n pcm[i] = s < 0 ? s * 0x8000 : s * 0x7fff;\n }\n\n this.port.postMessage(pcm.buffer, [pcm.buffer]);\n }\n\n return true;\n }\n}\n\nregisterProcessor('pcm-capture-processor', PcmCaptureProcessor);\n`;\n\nexport class AudioCapture {\n private _state: AudioCaptureState = 'idle';\n private _ctx: AudioContext | null = null;\n private _node: AudioWorkletNode | null = null;\n private _stream: MediaStream | null = null;\n private _events = new CaptureEventEmitter();\n private _options: Required<CaptureOptions>;\n\n readonly supported: boolean;\n\n constructor(options?: CaptureOptions) {\n this._options = { ...DEFAULT_OPTIONS, ...options };\n this.supported = typeof AudioWorkletNode !== 'undefined';\n if (!this.supported) {\n this._state = 'unsupported';\n }\n }\n\n get state(): AudioCaptureState {\n return this._state;\n }\n\n get events(): CaptureEventEmitter {\n return this._events;\n }\n\n async start(): Promise<boolean> {\n if (!this.supported) {\n this._state = 'unsupported';\n return false;\n }\n\n if (this._state === 'capturing') return true;\n\n this._state = 'requesting-mic';\n\n try {\n this._stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n return false;\n }\n\n try {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n }\n\n this._ctx = new AudioContext({ sampleRate: this._options.inputSampleRate });\n\n const blob = new Blob([PCM_PROCESSOR_CODE], { type: 'application/javascript' });\n const processorUrl = URL.createObjectURL(blob);\n await this._ctx.audioWorklet.addModule(processorUrl);\n URL.revokeObjectURL(processorUrl);\n\n const source = this._ctx.createMediaStreamSource(this._stream);\n\n this._node = new AudioWorkletNode(this._ctx, 'pcm-capture-processor', {\n processorOptions: {\n inputSampleRate: this._options.inputSampleRate,\n frameSize: (this._options.inputSampleRate * this._options.frameSizeMs) / 1000,\n },\n });\n\n this._node.port.onmessage = (ev: MessageEvent<ArrayBuffer>) => {\n this._events.emit('audio_chunk', new Uint8Array(ev.data));\n };\n\n source.connect(this._node);\n\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n\n if (this._ctx.state === 'suspended') {\n await this._ctx.resume();\n }\n\n return true;\n } catch (err) {\n this._state = 'error';\n this._events.emit('error', err);\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n return false;\n }\n }\n\n stop(): void {\n if (this._node) {\n this._node.disconnect();\n this._node = null;\n }\n\n if (this._stream) {\n this._stream.getTracks().forEach((t) => t.stop());\n this._stream = null;\n }\n\n if (this._ctx && this._ctx.state !== 'closed') {\n this._ctx.close();\n this._ctx = null;\n }\n\n this._state = 'idle';\n this._events.emit('state_changed', this._state);\n }\n\n async resume(): Promise<void> {\n if (this._ctx?.state === 'suspended') {\n await this._ctx.resume();\n this._state = 'capturing';\n this._events.emit('state_changed', this._state);\n }\n }\n\n async pause(): Promise<void> {\n if (this._ctx?.state === 'running') {\n await this._ctx.suspend();\n this._state = 'suspended';\n this._events.emit('state_changed', this._state);\n }\n }\n\n destroy(): void {\n this.events.removeAllListeners();\n this.stop();\n }\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AudioCapture } from '../capture/capture';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { UseRqmiiPressToTalkOptions, UseRqmiiPressToTalkReturn } from '../types';\n\nconst DEFAULT_AUDIO_CONSTRAINTS: MediaTrackConstraints = {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 16000,\n};\n\nexport function useRqmiiPressToTalk(options: UseRqmiiPressToTalkOptions = {}): UseRqmiiPressToTalkReturn {\n const {\n onAudioChunk,\n onAudioEnd,\n onError,\n holdDelayMs = 220,\n interruptOnHoldStart = true,\n } = options;\n\n const { sendAudioChunk, endAudioStream, interrupt } = useRqmiiAgentContext();\n\n const captureRef = useRef<AudioCapture | null>(null);\n const holdTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isPressing, setIsPressing] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [micError, setMicError] = useState<string | null>(null);\n\n const startPcmCapture = useCallback(async (): Promise<boolean> => {\n if (captureRef.current) return true;\n\n const capture = new AudioCapture();\n captureRef.current = capture;\n\n if (!capture.supported) {\n const err = new Error('AudioWorklet not supported in this browser');\n setMicError(err.message);\n onError?.(err);\n return false;\n }\n\n capture.events.on('audio_chunk', (chunk: unknown) => {\n if (onAudioChunk) onAudioChunk(chunk as Uint8Array);\n else sendAudioChunk(chunk);\n });\n\n capture.events.on('error', (err: unknown) => {\n onError?.(err);\n });\n\n const ok = await capture.start();\n if (!ok) {\n setMicError('Failed to start capture');\n captureRef.current = null;\n return false;\n }\n\n setIsRecording(true);\n setMicError(null);\n return true;\n }, [onAudioChunk, onError, sendAudioChunk]);\n\n const stopPcmCapture = useCallback((): boolean => {\n const capture = captureRef.current;\n if (!capture) return false;\n\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n return true;\n }, []);\n\n const cleanup = useCallback(() => {\n const capture = captureRef.current;\n if (!capture) return;\n captureRef.current = null;\n capture.stop();\n capture.destroy();\n setIsRecording(false);\n }, []);\n\n const startRecording = useCallback(async (): Promise<boolean> => {\n return startPcmCapture();\n }, [startPcmCapture]);\n\n const stopRecording = useCallback(\n ({ discard = false }: { discard?: boolean } = {}): boolean => {\n const ok = stopPcmCapture();\n if (!discard && ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n return ok;\n },\n [endAudioStream, onAudioEnd, stopPcmCapture],\n );\n\n const startPress = useCallback(() => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n setIsPressing(true);\n\n holdTimerRef.current = setTimeout(() => {\n if (interruptOnHoldStart) {\n interrupt();\n }\n void startPcmCapture();\n }, holdDelayMs);\n }, [holdDelayMs, interrupt, interruptOnHoldStart, startPcmCapture]);\n\n const stopPress = useCallback(() => {\n setIsPressing(false);\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n\n const ok = stopPcmCapture();\n if (ok) {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n }\n }, [endAudioStream, onAudioEnd, stopPcmCapture]);\n\n useEffect(() => {\n return () => {\n if (holdTimerRef.current) {\n clearTimeout(holdTimerRef.current);\n holdTimerRef.current = null;\n }\n cleanup();\n };\n }, [cleanup]);\n\n const eventHandlers = useMemo(\n () => ({\n onPointerDown: (e: React.PointerEvent) => {\n e.preventDefault();\n startPress();\n },\n onPointerUp: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerCancel: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n e.preventDefault();\n stopPress();\n },\n }),\n [startPress, stopPress],\n );\n\n return {\n isPressing,\n isRecording,\n micError,\n startRecording,\n stopRecording,\n startPress,\n stopPress,\n eventHandlers,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { EventHandlerMap, RqmiiMessage, RqmiiState, TranscriptPayload, PartialTranscriptPayload, SessionData } from '../types';\n\ntype Listener<T> = (handler: T) => () => void;\n\nexport interface RqmiiEventListeners {\n onSessionReady: Listener<EventHandlerMap['session:ready']>;\n onSessionJoined: Listener<EventHandlerMap['session:joined']>;\n onSessionTerminated: Listener<EventHandlerMap['session:terminated']>;\n onSessionExpired: Listener<EventHandlerMap['session:expired']>;\n onMessageReceived: Listener<EventHandlerMap['message:received']>;\n onMessageSent: Listener<EventHandlerMap['message:sent']>;\n onAudioPlaying: Listener<EventHandlerMap['audio:playing']>;\n onAudioStopped: Listener<EventHandlerMap['audio:stopped']>;\n onAvatarSpeaking: Listener<EventHandlerMap['avatar:speaking']>;\n onAvatarSpeakingDone: Listener<EventHandlerMap['avatar:speaking_done']>;\n onStateChanged: Listener<EventHandlerMap['state:changed']>;\n onConnected: Listener<EventHandlerMap['connection:connected']>;\n onDisconnected: Listener<EventHandlerMap['connection:disconnected']>;\n onConnectionFailed: Listener<EventHandlerMap['connection:failed']>;\n onError: Listener<EventHandlerMap['error']>;\n onCreditsExhausted: Listener<EventHandlerMap['credits:exhausted']>;\n onTranscript: Listener<EventHandlerMap['transcript']>;\n onPartialTranscript: Listener<EventHandlerMap['partial_transcript']>;\n onInterrupted: Listener<EventHandlerMap['interrupted']>;\n}\n\nexport interface RqmiiSDKHandle {\n state: {\n messages: RqmiiMessage[];\n connectionState: RqmiiState['connectionState'];\n isConnected: boolean;\n isSessionReady: boolean;\n isAudioPlaying: boolean;\n isAgentThinking: boolean;\n isAgentSpeaking: boolean;\n isToolExecuting: boolean;\n isSessionTerminated: boolean;\n isSessionTerminating: boolean;\n creditExhausted: boolean;\n creditError: string | null;\n error: string | null;\n transcript: TranscriptPayload | null;\n partialTranscript: PartialTranscriptPayload | null;\n session: RqmiiState['session'];\n sessionState: RqmiiState['sessionState'];\n };\n actions: {\n sendTextMessage: (text: string) => boolean;\n sendAudioChunk: (audio: unknown) => boolean;\n endAudioStream: () => boolean;\n interrupt: () => boolean;\n clearSessionHistory: () => boolean;\n clearMessages: () => void;\n changeSessionLanguage: (language: string) => boolean;\n signalClientReady: (payload?: Record<string, unknown>) => boolean;\n initializeSession: (opts?: { apiKey?: string; agentId?: string; language?: string }) => Promise<SessionData>;\n joinDesktopSession: (opts: { uniqueId: string; language?: string }) => Promise<SessionData>;\n disconnect: () => void;\n terminateSession: () => Promise<{ success: boolean }>;\n resumeAudioPlayback: () => void;\n pauseAudioPlayback: () => void;\n attachAudioElement: (el: HTMLAudioElement | null) => void;\n };\n events: RqmiiEventListeners;\n raw: {\n socket: ReturnType<typeof import('socket.io-client').io> | null;\n audioElement: HTMLAudioElement | null;\n };\n}\n\nexport function useRqmiiSDK(): RqmiiSDKHandle {\n const ctx = useRqmiiAgentContext();\n const ev = ctx.events;\n\n return {\n state: {\n messages: ctx.messages,\n connectionState: ctx.connectionState,\n isConnected: ctx.isConnected,\n isSessionReady: ctx.isSessionReady,\n isAudioPlaying: ctx.isAudioPlaying,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n creditExhausted: ctx.creditExhausted,\n creditError: ctx.creditError,\n error: ctx.error,\n transcript: ctx.transcript,\n partialTranscript: ctx.partialTranscript,\n session: ctx.session,\n sessionState: ctx.sessionState,\n },\n actions: {\n sendTextMessage: ctx.sendTextMessage,\n sendAudioChunk: ctx.sendAudioChunk,\n endAudioStream: ctx.endAudioStream,\n interrupt: ctx.interrupt,\n clearSessionHistory: ctx.clearSessionHistory,\n clearMessages: ctx.clearMessages,\n changeSessionLanguage: ctx.changeSessionLanguage,\n signalClientReady: ctx.signalClientReady,\n initializeSession: ctx.initializeSession,\n joinDesktopSession: ctx.joinDesktopSession,\n disconnect: ctx.disconnect,\n terminateSession: ctx.terminateSession,\n resumeAudioPlayback: ctx.resumeAudioPlayback,\n pauseAudioPlayback: ctx.pauseAudioPlayback,\n attachAudioElement: ctx.attachAudioElement,\n },\n events: {\n onSessionReady: (h) => ev.on('session:ready', h),\n onSessionJoined: (h) => ev.on('session:joined', h),\n onSessionTerminated: (h) => ev.on('session:terminated', h),\n onSessionExpired: (h) => ev.on('session:expired', h),\n onMessageReceived: (h) => ev.on('message:received', h),\n onMessageSent: (h) => ev.on('message:sent', h),\n onAudioPlaying: (h) => ev.on('audio:playing', h),\n onAudioStopped: (h) => ev.on('audio:stopped', h),\n onAvatarSpeaking: (h) => ev.on('avatar:speaking', h),\n onAvatarSpeakingDone: (h) => ev.on('avatar:speaking_done', h),\n onStateChanged: (h) => ev.on('state:changed', h),\n onConnected: (h) => ev.on('connection:connected', h),\n onDisconnected: (h) => ev.on('connection:disconnected', h),\n onConnectionFailed: (h) => ev.on('connection:failed', h),\n onError: (h) => ev.on('error', h),\n onCreditsExhausted: (h) => ev.on('credits:exhausted', h),\n onTranscript: (h) => ev.on('transcript', h),\n onPartialTranscript: (h) => ev.on('partial_transcript', h),\n onInterrupted: (h) => ev.on('interrupted', h),\n },\n raw: {\n socket: ctx.socket,\n audioElement: ctx.audioElement,\n },\n };\n}\n","import React, { Component, type ErrorInfo, type ReactNode } from 'react';\n\ninterface RqmiiErrorBoundaryProps {\n children: ReactNode;\n fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);\n onError?: (error: Error, info: ErrorInfo) => void;\n}\n\ninterface RqmiiErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nexport class RqmiiErrorBoundary extends Component<RqmiiErrorBoundaryProps, RqmiiErrorBoundaryState> {\n constructor(props: RqmiiErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): RqmiiErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, info: ErrorInfo) {\n this.props.onError?.(error, info);\n }\n\n reset = () => {\n this.setState({ hasError: false, error: null });\n };\n\n render(): ReactNode {\n if (this.state.hasError) {\n const { fallback } = this.props;\n if (fallback) {\n if (typeof fallback === 'function') {\n return this.state.error ? fallback(this.state.error, this.reset) : null;\n }\n return fallback;\n }\n return (\n <div style={{ padding: '24px', textAlign: 'center', color: '#ef4444' }}>\n <h3>Something went wrong</h3>\n <p>{this.state.error?.message || 'An unexpected error occurred'}</p>\n <button onClick={this.reset} style={{ marginTop: '12px', padding: '8px 16px', cursor: 'pointer' }}>\n Try again\n </button>\n </div>\n );\n }\n return this.props.children;\n }\n}\n","import { suppressNoisyLogs } from './core/utils/suppress-logs';\nsuppressNoisyLogs();\nexport { RqmiiAgentProvider, useRqmiiAgentContext } from './provider/RqmiiAgentProvider';\n\nexport {\n useRqmiiAgent,\n useRqmiiConnection,\n useRqmiiSession,\n useRqmiiMessages,\n useRqmiiVoice,\n useRqmiiAvatar,\n useRqmiiAudioElement,\n useRqmiiPressToTalk,\n useRqmiiVAD,\n useRqmiiEvents,\n useRqmiiSDK,\n} from './hooks';\n\nexport type { RqmiiSDKHandle, RqmiiEventListeners } from './hooks';\n\nexport { RqmiiAgentRoom } from './components/RqmiiAgentRoom';\nexport { RqmiiCloudAvatarPlayer } from './components/RqmiiCloudAvatarPlayer';\nexport { RqmiiErrorBoundary } from './components/RqmiiErrorBoundary';\n\nexport { AGENT_TYPES, SOCKET_EVENTS, CONNECTION_STATE, CLOUD_STREAM_STATE, SESSION_STATE, DEFAULT_PCM_OPTIONS } from './core/constants';\n\nexport type {\n AgentType,\n ConnectionState,\n SessionState,\n CloudStreamState,\n RqmiiSessionInfo,\n RqmiiMessage,\n PublicAgent,\n RqmiiPCMOptions,\n InitializeSessionArgs,\n JoinDesktopSessionArgs,\n RqmiiAgentProviderProps,\n RqmiiAgentContextValue,\n RqmiiState,\n EventType,\n EventHandlerMap,\n SessionData,\n TranscriptPayload,\n PartialTranscriptPayload,\n RqmiiAgentChatProps,\n RqmiiAgentChatPreviewProps,\n RqmiiAgentRoomProps,\n RqmiiCloudAvatarPlayerProps,\n UseRqmiiConnectionReturn,\n UseRqmiiMessagesReturn,\n UseRqmiiVoiceReturn,\n UseRqmiiAvatarReturn,\n UseRqmiiPressToTalkReturn,\n UseRqmiiVADReturn,\n UseRqmiiSessionStateReturn,\n AudioCaptureState,\n ClientToolHandler,\n RqmiiPromptOverrides,\n RqmiiPromptOverrideGuardrail,\n RqmiiPromptOverrideSection,\n} from './types';\n\nexport { AudioCapture } from './capture/capture';\n\nexport { EventEmitter } from './core/events/emitter';\n"],"names":["useRqmiiAgent","useRqmiiAgentContext","useRqmiiSession","ctx","useRqmiiAudioElement","audioRef","attachAudioElement","resumeAudioPlayback","useEffect","unlock","node","CaptureEventEmitter","event","handler","payload","handlers","DEFAULT_OPTIONS","PCM_PROCESSOR_CODE","AudioCapture","options","err","blob","processorUrl","source","ev","t","useRqmiiPressToTalk","onAudioChunk","onAudioEnd","onError","holdDelayMs","interruptOnHoldStart","sendAudioChunk","endAudioStream","interrupt","captureRef","useRef","holdTimerRef","isPressing","setIsPressing","useState","isRecording","setIsRecording","micError","setMicError","startPcmCapture","useCallback","capture","chunk","stopPcmCapture","cleanup","startRecording","stopRecording","discard","ok","startPress","stopPress","eventHandlers","useMemo","e","useRqmiiSDK","h","RqmiiErrorBoundary","Component","props","error","info","fallback","jsxs","jsx","suppressNoisyLogs"],"mappings":"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"}
@@ -34,13 +34,14 @@ export declare function useManagerLifecycle(options: ManagerLifecycleOptions): {
34
34
  isDestroyed: () => boolean;
35
35
  } | null>;
36
36
  sessionMgrRef: import("react").MutableRefObject<{
37
- initializeSession: ({ apiKey, agentId, userId, language, timezone, config, }?: {
37
+ initializeSession: ({ apiKey, agentId, userId, language, timezone, config, promptOverrides, }?: {
38
38
  apiKey?: string;
39
39
  agentId?: string;
40
40
  userId?: string;
41
41
  language?: string;
42
42
  timezone?: string;
43
43
  config?: Record<string, unknown>;
44
+ promptOverrides?: import("..").RqmiiPromptOverrides;
44
45
  }) => Promise<Record<string, unknown>>;
45
46
  joinDesktopSession: ({ uniqueId, }: {
46
47
  uniqueId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"use-manager-lifecycle.d.ts","sourceRoot":"","sources":["../../src/provider/use-manager-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB;;;;sBAXlD,CAAC;;;;;;;;;;;;;;;;;;;;;kBAyBX,CAAC;mBACL,CAAH;kBAAoB,CAAC;oBAAsB,CAAC;oBAAsB,CAAC;kBAAoB,CAAC;;;;;;;;kBAoB6yD,CAAC;oBAAsB,CAAC;mBAAqB,CAAC;;;;;;;;mBAhCh5D,OAAO,EAAE;EA+B5C"}
1
+ {"version":3,"file":"use-manager-lifecycle.d.ts","sourceRoot":"","sources":["../../src/provider/use-manager-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB;;;;sBAXlD,CAAC;;;;;;;;;;;;;;;;;;;;;kBA0BsC,CAAC;mBAAqB,CAAC;kBAC9E,CAAD;oBACkB,CAAC;oBACV,CAAC;kBAAoB,CAAC;2BAA8C,CAAC;;;;;;;;kBAiBikE,CAAC;oBAAsB,CAAC;mBAAqB,CAAC;;;;;;;;mBAhC1pE,OAAO,EAAE;EA+B5C"}
@@ -100,6 +100,20 @@ export interface ClientToolContext {
100
100
  maximize: () => void;
101
101
  }
102
102
  export type ClientToolHandler = (parameters: Record<string, unknown>, context: ClientToolContext) => Promise<unknown>;
103
+ export interface RqmiiPromptOverrideGuardrail {
104
+ instructions: string;
105
+ name?: string;
106
+ }
107
+ export interface RqmiiPromptOverrideSection {
108
+ instructions: string;
109
+ }
110
+ export interface RqmiiPromptOverrides {
111
+ guardrails?: RqmiiPromptOverrideGuardrail[];
112
+ response_length?: RqmiiPromptOverrideSection;
113
+ output_format?: RqmiiPromptOverrideSection;
114
+ /** Forward-compatibility: unknown slots pass through untouched. */
115
+ [slot: string]: unknown;
116
+ }
103
117
  export interface InitializeSessionArgs {
104
118
  apiKey?: string;
105
119
  agentId?: string;
@@ -107,6 +121,7 @@ export interface InitializeSessionArgs {
107
121
  language?: string;
108
122
  clientTools?: Record<string, ClientToolHandler>;
109
123
  config?: Record<string, unknown>;
124
+ promptOverrides?: RqmiiPromptOverrides;
110
125
  }
111
126
  export interface JoinDesktopSessionArgs {
112
127
  uniqueId: string;
@@ -145,6 +160,7 @@ export interface RqmiiAgentRoomSessionInitialize {
145
160
  agentId?: string;
146
161
  language?: string;
147
162
  config?: Record<string, unknown>;
163
+ promptOverrides?: RqmiiPromptOverrides;
148
164
  }
149
165
  export interface RqmiiAgentRoomSessionJoinDesktop {
150
166
  mode: 'join_desktop';
@@ -191,6 +207,8 @@ export interface RqmiiAgentChatProps {
191
207
  onInitialized?: (data: unknown) => void;
192
208
  /** Optional config override passed during session initialization. */
193
209
  config?: Record<string, unknown>;
210
+ /** Optional prompt overrides for guardrails, response length, output format, etc. */
211
+ promptOverrides?: RqmiiPromptOverrides;
194
212
  /** Custom client tools registered after session initialization. */
195
213
  clientTools?: Record<string, ClientToolHandler>;
196
214
  /** Callback fired when the chat window is minimized or closed. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { RqmiiAgentChatProps, RqmiiAgentChatPreviewProps } from '../types';
2
- export declare function RqmiiAgentChat({ wsUrl, restUrl, apiKey, agentId, agent, language, defaultOpen, open, className, pcmOptions, debug, withCredentials, onError, onInitialized, config, clientTools, onMinimize, onOpen }: RqmiiAgentChatProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function RqmiiAgentChat({ wsUrl, restUrl, apiKey, agentId, agent, language, defaultOpen, open, className, pcmOptions, debug, withCredentials, onError, onInitialized, config, promptOverrides, clientTools, onMinimize, onOpen }: RqmiiAgentChatProps): import("react/jsx-runtime").JSX.Element;
3
3
  export declare function RqmiiAgentChatPreview({ agent, language, open, className, messages, onSendMessage, onClose }: RqmiiAgentChatPreviewProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=RqmiiAgentChat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RqmiiAgentChat.d.ts","sourceRoot":"","sources":["../../src/ui/RqmiiAgentChat.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAe,MAAM,UAAU,CAAC;AAoQ7F,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAmB,EAAE,IAAI,EAAE,SAAc,EAAE,UAAU,EAAE,KAAa,EAAE,eAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAkCvQ;AA8ID,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAW,EAAE,SAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,0BAA0B,2CA4BnJ"}
1
+ {"version":3,"file":"RqmiiAgentChat.d.ts","sourceRoot":"","sources":["../../src/ui/RqmiiAgentChat.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAe,MAAM,UAAU,CAAC;AAoQ7F,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAmB,EAAE,IAAI,EAAE,SAAc,EAAE,UAAU,EAAE,KAAa,EAAE,eAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAmCxR;AA+ID,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAW,EAAE,SAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,0BAA0B,2CA4BnJ"}