sarvam-conv-ai-sdk 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +25 -1
- package/dist/conversation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/react-native.d.ts +69 -0
- package/dist/interfaces/react-native.d.ts.map +1 -0
- package/dist/interfaces/react-native.js +225 -0
- package/dist/interfaces/react-native.js.map +1 -0
- package/dist/modules/socket-manager.d.ts +12 -3
- package/dist/modules/socket-manager.d.ts.map +1 -1
- package/dist/modules/socket-manager.js +65 -39
- package/dist/modules/socket-manager.js.map +1 -1
- package/dist/modules/voice-agent.d.ts +2 -1
- package/dist/modules/voice-agent.d.ts.map +1 -1
- package/dist/modules/voice-agent.js +4 -6
- package/dist/modules/voice-agent.js.map +1 -1
- package/dist/package.json +18 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/buffer.d.ts +1 -1
- package/dist/utils/buffer.d.ts.map +1 -1
- package/dist/utils/buffer.js +11 -3
- package/dist/utils/buffer.js.map +1 -1
- package/dist/utils/message.d.ts.map +1 -1
- package/dist/utils/message.js +5 -1
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/socket.d.ts +1 -1
- package/dist/utils/socket.d.ts.map +1 -1
- package/dist/utils/socket.js +19 -1
- package/dist/utils/socket.js.map +1 -1
- package/package.json +18 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/conversation.js
CHANGED
|
@@ -8,18 +8,42 @@
|
|
|
8
8
|
import { VoiceAgent } from "./modules/voice-agent";
|
|
9
9
|
import { TextAgent } from "./modules/text-agent";
|
|
10
10
|
import { InteractionType } from "./types";
|
|
11
|
+
/**
|
|
12
|
+
* Create audio interface based on platform
|
|
13
|
+
*/
|
|
14
|
+
function createAudioInterfaceForPlatform(platform) {
|
|
15
|
+
if (platform === "react-native") {
|
|
16
|
+
try {
|
|
17
|
+
// Dynamically import React Native audio interface
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
19
|
+
const { RNAudioInterface } = require("./interfaces/react-native");
|
|
20
|
+
console.log("ConversationAgent: Creating RNAudioInterface for react-native platform");
|
|
21
|
+
return new RNAudioInterface();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error("Failed to create RNAudioInterface:", error);
|
|
25
|
+
throw new Error("Failed to create React Native audio interface. " +
|
|
26
|
+
"Make sure react-native-audio-api is installed. " +
|
|
27
|
+
`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
11
32
|
export class ConversationAgent {
|
|
12
33
|
agent;
|
|
13
34
|
constructor(options) {
|
|
14
35
|
const interactionType = options.config.interaction_type;
|
|
15
36
|
const baseUrl = options.baseUrl || "https://apps.sarvam.ai/api/app-runtime/";
|
|
37
|
+
// Auto-create audio interface for react-native platform if not provided
|
|
38
|
+
const audioInterface = options.audioInterface ||
|
|
39
|
+
(interactionType === InteractionType.CALL ? createAudioInterfaceForPlatform(options.platform) : undefined);
|
|
16
40
|
// Factory logic: decide which agent to instantiate based on interaction_type
|
|
17
41
|
if (interactionType === InteractionType.CALL) {
|
|
18
42
|
// Create VoiceAgent for voice/call interactions
|
|
19
43
|
this.agent = new VoiceAgent({
|
|
20
44
|
apiKey: options.apiKey,
|
|
21
45
|
config: options.config,
|
|
22
|
-
audioInterface:
|
|
46
|
+
audioInterface: audioInterface,
|
|
23
47
|
audioCallback: options.audioCallback,
|
|
24
48
|
eventCallback: options.eventCallback,
|
|
25
49
|
startCallback: options.startCallback,
|
package/dist/conversation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAuB,eAAe,EAAY,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export { ConversationAgent, createConversation } from "./conversation";
|
|
|
2
2
|
export type { Platform } from "./types";
|
|
3
3
|
export type { AsyncAudioInterface, AudioData } from "./types";
|
|
4
4
|
export { BrowserAudioInterface } from "./interfaces/browser";
|
|
5
|
+
export { RNAudioInterface } from "./interfaces/react-native";
|
|
5
6
|
export * from "./types";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
export { ConversationAgent, createConversation } from "./conversation";
|
|
3
3
|
// Browser audio interfaces
|
|
4
4
|
export { BrowserAudioInterface } from "./interfaces/browser";
|
|
5
|
+
// React Native audio interface
|
|
6
|
+
// Note: This requires peer dependencies: react-native-audio-recorder-player, react-native-fs, react-native-sound
|
|
7
|
+
export { RNAudioInterface } from "./interfaces/react-native";
|
|
5
8
|
// Messages and types
|
|
6
9
|
export * from "./types";
|
|
7
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAqB;AACrB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,+BAA+B;AAC/B,iHAAiH;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,qBAAqB;AACrB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Native audio interface implementation for Sarvam Conversational AI SDK.
|
|
3
|
+
*
|
|
4
|
+
* This interface provides audio input/output capabilities for React Native applications
|
|
5
|
+
* using react-native-audio-api for both microphone capture and audio playback.
|
|
6
|
+
*
|
|
7
|
+
* Required peer dependency:
|
|
8
|
+
* - react-native-audio-api (requires React Native 0.75+)
|
|
9
|
+
*
|
|
10
|
+
* Install with:
|
|
11
|
+
* npm install react-native-audio-api
|
|
12
|
+
*
|
|
13
|
+
* For iOS, also run: cd ios && pod install
|
|
14
|
+
*/
|
|
15
|
+
import { AsyncAudioInterface, AudioData } from "../types";
|
|
16
|
+
/**
|
|
17
|
+
* React Native Audio Interface using react-native-audio-api.
|
|
18
|
+
* Provides real-time microphone capture and low-latency audio playback.
|
|
19
|
+
*
|
|
20
|
+
* Features:
|
|
21
|
+
* - Real-time microphone capture with configurable sample rate
|
|
22
|
+
* - Low-latency audio playback using Web Audio API compatible interface
|
|
23
|
+
* - Seamless chunk scheduling for gap-free playback
|
|
24
|
+
* - Interrupt support for stopping ongoing playback
|
|
25
|
+
*/
|
|
26
|
+
export declare class RNAudioInterface implements AsyncAudioInterface {
|
|
27
|
+
private audioContext;
|
|
28
|
+
private recorder;
|
|
29
|
+
private inputCallback;
|
|
30
|
+
private isRunning;
|
|
31
|
+
private nextPlaybackTime;
|
|
32
|
+
private playbackQueue;
|
|
33
|
+
private readonly BUFFER_THRESHOLD;
|
|
34
|
+
private sampleRate;
|
|
35
|
+
private bufferSize;
|
|
36
|
+
private AudioContextClass;
|
|
37
|
+
private AudioRecorderClass;
|
|
38
|
+
/**
|
|
39
|
+
* Create a new React Native audio interface
|
|
40
|
+
* @param sampleRate - Target sample rate for audio capture (default: 16000 Hz)
|
|
41
|
+
* @param bufferSize - Buffer size for audio capture (default: 512)
|
|
42
|
+
*/
|
|
43
|
+
constructor(sampleRate?: number, bufferSize?: number);
|
|
44
|
+
/**
|
|
45
|
+
* Start capturing audio from the microphone
|
|
46
|
+
* @param inputCallback - Callback to receive audio chunks
|
|
47
|
+
*/
|
|
48
|
+
start(inputCallback: (audioData: AudioData, frameCount: number) => Promise<void>): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Stop capturing audio and clean up resources
|
|
51
|
+
*/
|
|
52
|
+
stop(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Convert Int16 PCM audio data to Float32 format
|
|
55
|
+
* Creates a fresh copy to avoid React Native Buffer pool issues
|
|
56
|
+
*/
|
|
57
|
+
private int16ToFloat32;
|
|
58
|
+
/**
|
|
59
|
+
* Output audio to the speakers
|
|
60
|
+
* @param audio - Audio data in 16-bit PCM mono format
|
|
61
|
+
* @param sampleRate - Sample rate of the audio (default: 16000 Hz)
|
|
62
|
+
*/
|
|
63
|
+
output(audio: AudioData, sampleRate?: number): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Interrupt and stop all ongoing audio playback
|
|
66
|
+
*/
|
|
67
|
+
interrupt(): void;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=react-native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-native.d.ts","sourceRoot":"","sources":["../../src/interfaces/react-native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM1D;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,aAAa,CAEL;IAChB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,kBAAkB,CAAM;IAEhC;;;;OAIG;gBACS,UAAU,GAAE,MAAoB,EAAE,UAAU,GAAE,MAAoB;IAqB9E;;;OAGG;IACG,KAAK,CACT,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzE,OAAO,CAAC,IAAI,CAAC;IA4DhB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DzE;;OAEG;IACH,SAAS,IAAI,IAAI;CAalB"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Native audio interface implementation for Sarvam Conversational AI SDK.
|
|
3
|
+
*
|
|
4
|
+
* This interface provides audio input/output capabilities for React Native applications
|
|
5
|
+
* using react-native-audio-api for both microphone capture and audio playback.
|
|
6
|
+
*
|
|
7
|
+
* Required peer dependency:
|
|
8
|
+
* - react-native-audio-api (requires React Native 0.75+)
|
|
9
|
+
*
|
|
10
|
+
* Install with:
|
|
11
|
+
* npm install react-native-audio-api
|
|
12
|
+
*
|
|
13
|
+
* For iOS, also run: cd ios && pod install
|
|
14
|
+
*/
|
|
15
|
+
// Configuration constants
|
|
16
|
+
const SAMPLE_RATE = 16000;
|
|
17
|
+
const BUFFER_SIZE = 512;
|
|
18
|
+
/**
|
|
19
|
+
* React Native Audio Interface using react-native-audio-api.
|
|
20
|
+
* Provides real-time microphone capture and low-latency audio playback.
|
|
21
|
+
*
|
|
22
|
+
* Features:
|
|
23
|
+
* - Real-time microphone capture with configurable sample rate
|
|
24
|
+
* - Low-latency audio playback using Web Audio API compatible interface
|
|
25
|
+
* - Seamless chunk scheduling for gap-free playback
|
|
26
|
+
* - Interrupt support for stopping ongoing playback
|
|
27
|
+
*/
|
|
28
|
+
export class RNAudioInterface {
|
|
29
|
+
audioContext = null;
|
|
30
|
+
recorder = null;
|
|
31
|
+
inputCallback = null;
|
|
32
|
+
isRunning = false;
|
|
33
|
+
nextPlaybackTime = 0;
|
|
34
|
+
playbackQueue = [];
|
|
35
|
+
BUFFER_THRESHOLD = 0.1; // 100ms buffer (same as browser)
|
|
36
|
+
sampleRate;
|
|
37
|
+
bufferSize;
|
|
38
|
+
// Dependencies (loaded dynamically)
|
|
39
|
+
AudioContextClass;
|
|
40
|
+
AudioRecorderClass;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new React Native audio interface
|
|
43
|
+
* @param sampleRate - Target sample rate for audio capture (default: 16000 Hz)
|
|
44
|
+
* @param bufferSize - Buffer size for audio capture (default: 512)
|
|
45
|
+
*/
|
|
46
|
+
constructor(sampleRate = SAMPLE_RATE, bufferSize = BUFFER_SIZE) {
|
|
47
|
+
this.sampleRate = sampleRate;
|
|
48
|
+
this.bufferSize = bufferSize;
|
|
49
|
+
// Load React Native dependencies
|
|
50
|
+
try {
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
52
|
+
const AudioAPIModule = require("react-native-audio-api");
|
|
53
|
+
this.AudioContextClass = AudioAPIModule.AudioContext;
|
|
54
|
+
this.AudioRecorderClass = AudioAPIModule.AudioRecorder;
|
|
55
|
+
console.log("RNAudioInterface: react-native-audio-api loaded successfully");
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error("RNAudioInterface init error:", error);
|
|
59
|
+
throw new Error("Failed to load react-native-audio-api. " +
|
|
60
|
+
"Please install: npm install react-native-audio-api (requires React Native 0.75+). " +
|
|
61
|
+
`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Start capturing audio from the microphone
|
|
66
|
+
* @param inputCallback - Callback to receive audio chunks
|
|
67
|
+
*/
|
|
68
|
+
async start(inputCallback) {
|
|
69
|
+
console.log("RNAudioInterface: Starting...");
|
|
70
|
+
this.inputCallback = inputCallback;
|
|
71
|
+
this.isRunning = true;
|
|
72
|
+
// Initialize AudioContext for playback with explicit sample rate
|
|
73
|
+
this.audioContext = new this.AudioContextClass({ sampleRate: this.sampleRate });
|
|
74
|
+
this.nextPlaybackTime = 0;
|
|
75
|
+
console.log("RNAudioInterface: AudioContext created, sample rate:", this.audioContext.sampleRate);
|
|
76
|
+
// Initialize AudioRecorder for mic input
|
|
77
|
+
this.recorder = new this.AudioRecorderClass();
|
|
78
|
+
// Set up audio callback
|
|
79
|
+
const result = this.recorder.onAudioReady({
|
|
80
|
+
sampleRate: this.sampleRate,
|
|
81
|
+
bufferLength: this.bufferSize,
|
|
82
|
+
channelCount: 1,
|
|
83
|
+
}, (event) => {
|
|
84
|
+
if (!this.isRunning || !this.inputCallback) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
// Get Float32Array from the AudioBuffer
|
|
89
|
+
const audioBuffer = event.buffer;
|
|
90
|
+
const channelData = audioBuffer.getChannelData(0);
|
|
91
|
+
// Convert Float32 to Int16 PCM (same as browser)
|
|
92
|
+
const int16Data = new Int16Array(channelData.length);
|
|
93
|
+
for (let i = 0; i < channelData.length; i++) {
|
|
94
|
+
const s = Math.max(-1, Math.min(1, channelData[i]));
|
|
95
|
+
int16Data[i] = s < 0 ? s * 0x8000 : s * 0x7fff;
|
|
96
|
+
}
|
|
97
|
+
// Convert to Uint8Array for the SDK
|
|
98
|
+
const uint8Data = new Uint8Array(int16Data.buffer);
|
|
99
|
+
// Send to SDK
|
|
100
|
+
this.inputCallback(uint8Data, channelData.length);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
console.error("RNAudioInterface: Error processing audio:", error);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
if (result.status !== "success") {
|
|
107
|
+
throw new Error("Failed to set up audio callback");
|
|
108
|
+
}
|
|
109
|
+
// Start recording
|
|
110
|
+
this.recorder.start();
|
|
111
|
+
console.log("RNAudioInterface: Recording started");
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Stop capturing audio and clean up resources
|
|
115
|
+
*/
|
|
116
|
+
async stop() {
|
|
117
|
+
console.log("RNAudioInterface: Stopping...");
|
|
118
|
+
this.isRunning = false;
|
|
119
|
+
this.inputCallback = null;
|
|
120
|
+
if (this.recorder) {
|
|
121
|
+
this.recorder.clearOnAudioReady();
|
|
122
|
+
this.recorder.stop();
|
|
123
|
+
this.recorder = null;
|
|
124
|
+
}
|
|
125
|
+
// Stop all ongoing playback
|
|
126
|
+
this.interrupt();
|
|
127
|
+
if (this.audioContext) {
|
|
128
|
+
await this.audioContext.close();
|
|
129
|
+
this.audioContext = null;
|
|
130
|
+
}
|
|
131
|
+
this.nextPlaybackTime = 0;
|
|
132
|
+
console.log("RNAudioInterface: Stopped");
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Convert Int16 PCM audio data to Float32 format
|
|
136
|
+
* Creates a fresh copy to avoid React Native Buffer pool issues
|
|
137
|
+
*/
|
|
138
|
+
int16ToFloat32(uint8Array) {
|
|
139
|
+
// Create a fresh copy of the bytes to avoid Buffer pool issues
|
|
140
|
+
const freshBytes = new Uint8Array(uint8Array.length);
|
|
141
|
+
for (let i = 0; i < uint8Array.length; i++) {
|
|
142
|
+
freshBytes[i] = uint8Array[i];
|
|
143
|
+
}
|
|
144
|
+
// Now create Int16Array from the fresh buffer
|
|
145
|
+
const int16Array = new Int16Array(freshBytes.buffer);
|
|
146
|
+
const float32Array = new Float32Array(int16Array.length);
|
|
147
|
+
for (let i = 0; i < int16Array.length; i++) {
|
|
148
|
+
float32Array[i] =
|
|
149
|
+
int16Array[i] / (int16Array[i] < 0 ? 0x8000 : 0x7fff);
|
|
150
|
+
}
|
|
151
|
+
return float32Array;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Output audio to the speakers
|
|
155
|
+
* @param audio - Audio data in 16-bit PCM mono format
|
|
156
|
+
* @param sampleRate - Sample rate of the audio (default: 16000 Hz)
|
|
157
|
+
*/
|
|
158
|
+
async output(audio, sampleRate = 16000) {
|
|
159
|
+
if (!this.audioContext) {
|
|
160
|
+
console.warn("RNAudioInterface: Audio context not initialized");
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
// Convert Int16 PCM to Float32
|
|
165
|
+
const float32Audio = this.int16ToFloat32(audio);
|
|
166
|
+
// Skip if empty audio
|
|
167
|
+
if (float32Audio.length === 0) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
// Create audio buffer
|
|
171
|
+
const audioBuffer = this.audioContext.createBuffer(1, // mono
|
|
172
|
+
float32Audio.length, sampleRate);
|
|
173
|
+
// Copy data to buffer
|
|
174
|
+
const channelData = audioBuffer.getChannelData(0);
|
|
175
|
+
for (let i = 0; i < float32Audio.length; i++) {
|
|
176
|
+
channelData[i] = float32Audio[i];
|
|
177
|
+
}
|
|
178
|
+
// Create source node and connect
|
|
179
|
+
const source = this.audioContext.createBufferSource();
|
|
180
|
+
source.buffer = audioBuffer;
|
|
181
|
+
source.connect(this.audioContext.destination);
|
|
182
|
+
// Schedule playback to avoid gaps (same logic as browser)
|
|
183
|
+
const currentTime = this.audioContext.currentTime;
|
|
184
|
+
const bufferDuration = audioBuffer.duration;
|
|
185
|
+
// Initialize nextPlaybackTime if this is the first chunk or if we fell behind
|
|
186
|
+
if (this.nextPlaybackTime === 0 || this.nextPlaybackTime < currentTime) {
|
|
187
|
+
// Add small buffer to ensure smooth start
|
|
188
|
+
this.nextPlaybackTime = currentTime + this.BUFFER_THRESHOLD;
|
|
189
|
+
}
|
|
190
|
+
// Schedule this chunk to play at the designated time
|
|
191
|
+
source.start(this.nextPlaybackTime);
|
|
192
|
+
// Update next playback time for the following chunk
|
|
193
|
+
this.nextPlaybackTime += bufferDuration;
|
|
194
|
+
// Track for interrupt capability
|
|
195
|
+
this.playbackQueue.push(source);
|
|
196
|
+
source.onended = () => {
|
|
197
|
+
const index = this.playbackQueue.indexOf(source);
|
|
198
|
+
if (index > -1) {
|
|
199
|
+
this.playbackQueue.splice(index, 1);
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
console.error("RNAudioInterface: Playback error:", error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Interrupt and stop all ongoing audio playback
|
|
209
|
+
*/
|
|
210
|
+
interrupt() {
|
|
211
|
+
// Stop all queued playback sources
|
|
212
|
+
this.playbackQueue.forEach((source) => {
|
|
213
|
+
try {
|
|
214
|
+
source.stop();
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
// Ignore errors if already stopped
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
this.playbackQueue = [];
|
|
221
|
+
// Reset timing to start fresh
|
|
222
|
+
this.nextPlaybackTime = 0;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=react-native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-native.js","sourceRoot":"","sources":["../../src/interfaces/react-native.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,11 +105,16 @@ export declare abstract class SocketManager {
|
|
|
105
105
|
*/
|
|
106
106
|
protected constructUrl(): string;
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
108
|
+
* Helper to add query parameters to a URL string (React Native compatible)
|
|
109
109
|
*/
|
|
110
|
-
protected
|
|
110
|
+
protected addQueryParam(urlStr: string, key: string, value: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Add common user identifier params to URL string
|
|
113
|
+
*/
|
|
114
|
+
protected addUserIdentifierParamsToString(urlStr: string): string;
|
|
111
115
|
/**
|
|
112
116
|
* Append required query params for the WebSocket connect URL
|
|
117
|
+
* Note: user_identifier params are already added in getSignedUrl()
|
|
113
118
|
*/
|
|
114
119
|
protected augmentWsUrlWithParams(wsUrl: string): string;
|
|
115
120
|
/**
|
|
@@ -132,11 +137,15 @@ export declare abstract class SocketManager {
|
|
|
132
137
|
/**
|
|
133
138
|
* Hook for subclasses to modify the signed URL
|
|
134
139
|
*/
|
|
135
|
-
protected
|
|
140
|
+
protected modifySignedUrlString(url: string): string;
|
|
136
141
|
/**
|
|
137
142
|
* Flush send queue to WebSocket
|
|
138
143
|
*/
|
|
139
144
|
protected flushSendQueue(): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Check if we're running in a React Native environment.
|
|
147
|
+
*/
|
|
148
|
+
private isReactNative;
|
|
140
149
|
/**
|
|
141
150
|
* Main WebSocket loop for receiving and processing messages
|
|
142
151
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-manager.d.ts","sourceRoot":"","sources":["../../src/modules/socket-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAEL,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAQlB,8BAAsB,aAAa;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAG/B,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,SAAS,CAAC,YAAY,CAAC,EAAE,CACvB,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAM;IACnD,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAC9E,SAAS,CAAC,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;gBAE/D,OAAO,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,iBAAiB,CAAC;QAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,CACb,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAcD;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;IAED,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,EAEnC;IAED;;OAEG;IACH,SAAS,CAAC,UAAU,IAAI,OAAO;IAM/B;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"socket-manager.d.ts","sourceRoot":"","sources":["../../src/modules/socket-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,10 +69,12 @@ export class SocketManager {
|
|
|
69
69
|
// Get signed URL for secure WebSocket connection
|
|
70
70
|
const { signedUrl, referenceId } = await this.getSignedUrl();
|
|
71
71
|
this.reference_id = referenceId;
|
|
72
|
+
console.log("[SDK] Got signed URL:", signedUrl);
|
|
72
73
|
this.shouldStop = false;
|
|
73
74
|
this.disconnectedEvent = this.createEvent();
|
|
74
75
|
this.connectedEvent = this.createEvent();
|
|
75
76
|
const wsUrl = this.augmentWsUrlWithParams(signedUrl);
|
|
77
|
+
console.log("[SDK] Final WebSocket URL:", wsUrl);
|
|
76
78
|
// Start WebSocket loop in background (don't await - it only resolves when connection closes)
|
|
77
79
|
this.runWebSocketLoop(wsUrl);
|
|
78
80
|
if (this.startCallback) {
|
|
@@ -181,20 +183,26 @@ export class SocketManager {
|
|
|
181
183
|
return `${this.baseUrl}orgs/${this.config.org_id}/workspaces/${this.config.workspace_id}/apps/${this.config.app_id}/url`;
|
|
182
184
|
}
|
|
183
185
|
/**
|
|
184
|
-
*
|
|
186
|
+
* Helper to add query parameters to a URL string (React Native compatible)
|
|
185
187
|
*/
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
188
|
+
addQueryParam(urlStr, key, value) {
|
|
189
|
+
const separator = urlStr.includes("?") ? "&" : "?";
|
|
190
|
+
return `${urlStr}${separator}${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Add common user identifier params to URL string
|
|
194
|
+
*/
|
|
195
|
+
addUserIdentifierParamsToString(urlStr) {
|
|
196
|
+
let result = this.addQueryParam(urlStr, "user_identifier", this.config.user_identifier);
|
|
197
|
+
result = this.addQueryParam(result, "user_identifier_type", this.config.user_identifier_type);
|
|
198
|
+
return result;
|
|
189
199
|
}
|
|
190
200
|
/**
|
|
191
201
|
* Append required query params for the WebSocket connect URL
|
|
202
|
+
* Note: user_identifier params are already added in getSignedUrl()
|
|
192
203
|
*/
|
|
193
204
|
augmentWsUrlWithParams(wsUrl) {
|
|
194
|
-
|
|
195
|
-
this.addUserIdentifierParams(url);
|
|
196
|
-
url.searchParams.set("interaction_type", this.config.interaction_type);
|
|
197
|
-
return url.toString();
|
|
205
|
+
return this.addQueryParam(wsUrl, "interaction_type", this.config.interaction_type);
|
|
198
206
|
}
|
|
199
207
|
/**
|
|
200
208
|
* Get authenticated WebSocket URL and reference id from the API.
|
|
@@ -206,15 +214,14 @@ export class SocketManager {
|
|
|
206
214
|
* @throws Error if the HTTP request fails
|
|
207
215
|
*/
|
|
208
216
|
async getSignedUrl() {
|
|
209
|
-
|
|
210
|
-
const params = new URLSearchParams();
|
|
217
|
+
let requestUrl = this.constructUrl();
|
|
211
218
|
if (this.config.interaction_type) {
|
|
212
|
-
|
|
219
|
+
requestUrl = this.addQueryParam(requestUrl, "interaction_type", this.config.interaction_type);
|
|
213
220
|
}
|
|
214
221
|
if (this.config.version) {
|
|
215
|
-
|
|
222
|
+
requestUrl = this.addQueryParam(requestUrl, "version", String(this.config.version));
|
|
216
223
|
}
|
|
217
|
-
|
|
224
|
+
console.log("[SDK] Fetching signed URL from:", requestUrl);
|
|
218
225
|
// Build headers with CORS bypass for localhost when proxy is enabled
|
|
219
226
|
const headers = {
|
|
220
227
|
"X-API-Key": this.apiKey,
|
|
@@ -251,14 +258,12 @@ export class SocketManager {
|
|
|
251
258
|
}
|
|
252
259
|
const signedUrl = data.url;
|
|
253
260
|
const referenceId = data.reference_id;
|
|
254
|
-
//
|
|
255
|
-
|
|
256
|
-
modifiedUrl.searchParams.set("user_identifier", this.config.user_identifier);
|
|
257
|
-
modifiedUrl.searchParams.set("user_identifier_type", this.config.user_identifier_type);
|
|
261
|
+
// Add user identifier params to the signed URL
|
|
262
|
+
let modifiedUrl = this.addUserIdentifierParamsToString(signedUrl);
|
|
258
263
|
// Allow subclasses to modify the URL
|
|
259
|
-
this.
|
|
264
|
+
modifiedUrl = this.modifySignedUrlString(modifiedUrl);
|
|
260
265
|
return {
|
|
261
|
-
signedUrl: modifiedUrl
|
|
266
|
+
signedUrl: modifiedUrl,
|
|
262
267
|
referenceId,
|
|
263
268
|
};
|
|
264
269
|
}
|
|
@@ -271,8 +276,9 @@ export class SocketManager {
|
|
|
271
276
|
/**
|
|
272
277
|
* Hook for subclasses to modify the signed URL
|
|
273
278
|
*/
|
|
274
|
-
|
|
279
|
+
modifySignedUrlString(url) {
|
|
275
280
|
// Override in subclasses
|
|
281
|
+
return url;
|
|
276
282
|
}
|
|
277
283
|
/**
|
|
278
284
|
* Flush send queue to WebSocket
|
|
@@ -289,18 +295,26 @@ export class SocketManager {
|
|
|
289
295
|
this.ws.send(messageJson);
|
|
290
296
|
}
|
|
291
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Check if we're running in a React Native environment.
|
|
300
|
+
*/
|
|
301
|
+
isReactNative() {
|
|
302
|
+
return (typeof navigator !== "undefined" &&
|
|
303
|
+
navigator.product === "ReactNative");
|
|
304
|
+
}
|
|
292
305
|
/**
|
|
293
306
|
* Main WebSocket loop for receiving and processing messages
|
|
294
307
|
*/
|
|
295
308
|
async runWebSocketLoop(wsUrl) {
|
|
296
309
|
return new Promise((resolve, reject) => {
|
|
297
310
|
const WebSocketClass = getWebSocket();
|
|
298
|
-
//
|
|
299
|
-
|
|
300
|
-
const isBrowser =
|
|
311
|
+
// Detect environment
|
|
312
|
+
const isRN = this.isReactNative();
|
|
313
|
+
const isBrowser = !isRN &&
|
|
314
|
+
typeof window !== "undefined" &&
|
|
301
315
|
typeof window.WebSocket !== "undefined";
|
|
302
316
|
const wsOptions = {};
|
|
303
|
-
// In browser, don't pass empty wsOptions as it causes WebSocket subprotocol error
|
|
317
|
+
// In browser/RN, don't pass empty wsOptions as it causes WebSocket subprotocol error
|
|
304
318
|
// Only pass wsOptions if it has content (Node.js environment)
|
|
305
319
|
const ws = Object.keys(wsOptions).length > 0
|
|
306
320
|
? new WebSocketClass(wsUrl, wsOptions)
|
|
@@ -308,14 +322,11 @@ export class SocketManager {
|
|
|
308
322
|
this.ws = ws;
|
|
309
323
|
// WebSocket.OPEN = 1 (standard for both browser and Node.js)
|
|
310
324
|
const OPEN = 1;
|
|
311
|
-
if (isBrowser) {
|
|
312
|
-
// Browser WebSocket API
|
|
325
|
+
if (isBrowser || isRN) {
|
|
326
|
+
// Browser and React Native WebSocket API
|
|
313
327
|
ws.addEventListener("open", async () => {
|
|
314
328
|
try {
|
|
315
|
-
|
|
316
|
-
if (this.connectedEvent) {
|
|
317
|
-
this.connectedEvent.resolve();
|
|
318
|
-
}
|
|
329
|
+
console.log("[SDK] WebSocket opened, sending interaction start...");
|
|
319
330
|
// Send interaction start
|
|
320
331
|
await this.sendInteractionStart();
|
|
321
332
|
// Allow subclasses to perform post-connection setup
|
|
@@ -323,6 +334,7 @@ export class SocketManager {
|
|
|
323
334
|
// Start sending messages from queue
|
|
324
335
|
this.flushSendQueue();
|
|
325
336
|
setInterval(() => this.flushSendQueue(), 100);
|
|
337
|
+
// Note: connectedEvent will be resolved when we receive INTERACTION_CONNECTED
|
|
326
338
|
}
|
|
327
339
|
catch (error) {
|
|
328
340
|
reject(error);
|
|
@@ -342,6 +354,10 @@ export class SocketManager {
|
|
|
342
354
|
});
|
|
343
355
|
ws.addEventListener("error", (error) => {
|
|
344
356
|
console.error("WebSocket error:", error);
|
|
357
|
+
// In React Native, the error event may contain more details
|
|
358
|
+
if (isRN && error.message) {
|
|
359
|
+
console.error("WebSocket error message from React Native:", error.message);
|
|
360
|
+
}
|
|
345
361
|
reject(new Error("WebSocket connection error"));
|
|
346
362
|
});
|
|
347
363
|
ws.addEventListener("close", () => {
|
|
@@ -357,10 +373,7 @@ export class SocketManager {
|
|
|
357
373
|
// Node.js ws library
|
|
358
374
|
ws.on("open", async () => {
|
|
359
375
|
try {
|
|
360
|
-
|
|
361
|
-
if (this.connectedEvent) {
|
|
362
|
-
this.connectedEvent.resolve();
|
|
363
|
-
}
|
|
376
|
+
console.log("[SDK] WebSocket opened, sending interaction start...");
|
|
364
377
|
// Send interaction start
|
|
365
378
|
await this.sendInteractionStart();
|
|
366
379
|
// Allow subclasses to perform post-connection setup
|
|
@@ -368,6 +381,7 @@ export class SocketManager {
|
|
|
368
381
|
// Start sending messages from queue
|
|
369
382
|
this.flushSendQueue();
|
|
370
383
|
setInterval(() => this.flushSendQueue(), 100);
|
|
384
|
+
// Note: connectedEvent will be resolved when we receive INTERACTION_CONNECTED
|
|
371
385
|
}
|
|
372
386
|
catch (error) {
|
|
373
387
|
reject(error);
|
|
@@ -412,9 +426,11 @@ export class SocketManager {
|
|
|
412
426
|
throw new Error("WebSocket not connected");
|
|
413
427
|
}
|
|
414
428
|
const message = createStartInteractionMessageFromConfig(this.config);
|
|
429
|
+
console.log("[SDK] Sending INTERACTION_START message:", JSON.stringify(message, null, 2));
|
|
415
430
|
if (!this.isWsClosed()) {
|
|
416
431
|
const messageJson = JSON.stringify(message);
|
|
417
432
|
this.ws.send(messageJson);
|
|
433
|
+
console.log("[SDK] INTERACTION_START sent, waiting for INTERACTION_CONNECTED response...");
|
|
418
434
|
}
|
|
419
435
|
}
|
|
420
436
|
/**
|
|
@@ -423,6 +439,8 @@ export class SocketManager {
|
|
|
423
439
|
async routeMessage(message) {
|
|
424
440
|
try {
|
|
425
441
|
const parsed = parseServerMessage(message);
|
|
442
|
+
// Debug: Log all incoming message types
|
|
443
|
+
console.log("[SDK] Received message type:", parsed.type);
|
|
426
444
|
if (parsed.type === ServerMsgType.TEXT) {
|
|
427
445
|
await this.handleText(parsed);
|
|
428
446
|
}
|
|
@@ -433,15 +451,18 @@ export class SocketManager {
|
|
|
433
451
|
await this.handlePing(parsed);
|
|
434
452
|
}
|
|
435
453
|
else if (parsed.type === ServerMsgType.INTERACTION_CONNECTED) {
|
|
454
|
+
console.log("[SDK] INTERACTION_CONNECTED event received, calling handler");
|
|
436
455
|
await this.handleInteractionStartAcknowledgement(parsed);
|
|
437
456
|
}
|
|
438
457
|
else {
|
|
439
458
|
// Allow subclasses to handle additional message types
|
|
459
|
+
console.log("[SDK] Message routed to handleCustomMessage:", parsed.type);
|
|
440
460
|
await this.handleCustomMessage(parsed);
|
|
441
461
|
}
|
|
442
462
|
}
|
|
443
463
|
catch (error) {
|
|
444
464
|
console.error("Failed to parse server message:", error);
|
|
465
|
+
console.error("Raw message:", message);
|
|
445
466
|
}
|
|
446
467
|
}
|
|
447
468
|
/**
|
|
@@ -475,15 +496,20 @@ export class SocketManager {
|
|
|
475
496
|
* Handle interaction connected event from server
|
|
476
497
|
*/
|
|
477
498
|
async handleInteractionStartAcknowledgement(event) {
|
|
499
|
+
console.log("[SDK] ✅ INTERACTION_CONNECTED received from server!");
|
|
478
500
|
this.interactionId = event.interaction_id;
|
|
479
|
-
console.log(`Interaction started with ID: ${this.interactionId}\n` +
|
|
480
|
-
`Initial state: ${event.initial_state_name}\n` +
|
|
481
|
-
`Initial language: ${event.initial_language_name}\n` +
|
|
482
|
-
`Agent variables: ${JSON.stringify(event.agent_variables)}`);
|
|
483
|
-
// Consider the session ready;
|
|
501
|
+
console.log(`[SDK] Interaction started with ID: ${this.interactionId}\n` +
|
|
502
|
+
` Initial state: ${event.initial_state_name}\n` +
|
|
503
|
+
` Initial language: ${event.initial_language_name}\n` +
|
|
504
|
+
` Agent variables: ${JSON.stringify(event.agent_variables)}`);
|
|
505
|
+
// Consider the session ready; resolve connected event
|
|
484
506
|
if (this.connectedEvent) {
|
|
507
|
+
console.log("[SDK] Resolving connectedEvent promise");
|
|
485
508
|
this.connectedEvent.resolve();
|
|
486
509
|
}
|
|
510
|
+
else {
|
|
511
|
+
console.warn("[SDK] connectedEvent was not set!");
|
|
512
|
+
}
|
|
487
513
|
}
|
|
488
514
|
/**
|
|
489
515
|
* Handle interaction end message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-manager.js","sourceRoot":"","sources":["../../src/modules/socket-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"socket-manager.js","sourceRoot":"","sources":["../../src/modules/socket-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,9 +38,10 @@ export declare class VoiceAgent extends SocketManager {
|
|
|
38
38
|
/**
|
|
39
39
|
* Override to modify the signed URL with sample rate
|
|
40
40
|
*/
|
|
41
|
-
protected
|
|
41
|
+
protected modifySignedUrlString(url: string): string;
|
|
42
42
|
/**
|
|
43
43
|
* Override to set interaction type to "call"
|
|
44
|
+
* Note: user_identifier params are already added in getSignedUrl(), don't add again
|
|
44
45
|
*/
|
|
45
46
|
protected augmentWsUrlWithParams(wsUrl: string): string;
|
|
46
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-agent.d.ts","sourceRoot":"","sources":["../../src/modules/voice-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAWlB,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAA8C;IACpE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,OAAO,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,iBAAiB,CAAC;QAC1B,cAAc,CAAC,EAAE,mBAAmB,CAAC;QACrC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,CACb,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAmBD;;;;;OAKG;IACG,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD;;OAEG;IACH,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"voice-agent.d.ts","sourceRoot":"","sources":["../../src/modules/voice-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAWlB,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAA8C;IACpE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,OAAO,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,iBAAiB,CAAC;QAC1B,cAAc,CAAC,EAAE,mBAAmB,CAAC;QACrC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,CACb,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAmBD;;;;;OAKG;IACG,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIpD;;;OAGG;IACH,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvD;;OAEG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvC;;OAEG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBhD;;OAEG;cACa,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE;;OAEG;YACW,WAAW;IA0BzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -63,17 +63,15 @@ export class VoiceAgent extends SocketManager {
|
|
|
63
63
|
/**
|
|
64
64
|
* Override to modify the signed URL with sample rate
|
|
65
65
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
modifySignedUrlString(url) {
|
|
67
|
+
return this.addQueryParam(url, "sample_rate", String(this.config.sample_rate));
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Override to set interaction type to "call"
|
|
71
|
+
* Note: user_identifier params are already added in getSignedUrl(), don't add again
|
|
71
72
|
*/
|
|
72
73
|
augmentWsUrlWithParams(wsUrl) {
|
|
73
|
-
|
|
74
|
-
this.addUserIdentifierParams(url);
|
|
75
|
-
url.searchParams.set("interaction_type", "call");
|
|
76
|
-
return url.toString();
|
|
74
|
+
return this.addQueryParam(wsUrl, "interaction_type", "call");
|
|
77
75
|
}
|
|
78
76
|
/**
|
|
79
77
|
* Override to stop audio interface and queue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-agent.js","sourceRoot":"","sources":["../../src/modules/voice-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,OAAO,EACL,aAAa,EACb,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,UAAW,SAAQ,aAAa;IACnC,cAAc,CAAuB;IACrC,aAAa,CAA+C;IAC5D,UAAU,CAAa;IACvB,kBAAkB,GAAG,KAAK,CAAC;IAEnC,YAAY,OAaX;QACC,KAAK,CAAC;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,SAAqB;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,OAAO,GAAwB;YACnC,IAAI,EAAE,aAAa,CAAC,WAAW;YAC/B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC5B,YAAY,EAAE,WAAW;YACzB,MAAM,EAAE,aAAa,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACrC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CACT,uBAAuB,EACvB,SAAS,CAAC,MAAM,EAChB,uBAAuB,EACvB,WAAW,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACO,
|
|
1
|
+
{"version":3,"file":"voice-agent.js","sourceRoot":"","sources":["../../src/modules/voice-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,OAAO,EACL,aAAa,EACb,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,UAAW,SAAQ,aAAa;IACnC,cAAc,CAAuB;IACrC,aAAa,CAA+C;IAC5D,UAAU,CAAa;IACvB,kBAAkB,GAAG,KAAK,CAAC;IAEnC,YAAY,OAaX;QACC,KAAK,CAAC;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,SAAqB;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,OAAO,GAAwB;YACnC,IAAI,EAAE,aAAa,CAAC,WAAW;YAC/B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC5B,YAAY,EAAE,WAAW;YACzB,MAAM,EAAE,aAAa,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACrC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CACT,uBAAuB,EACvB,SAAS,CAAC,MAAM,EAChB,uBAAuB,EACvB,WAAW,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACO,qBAAqB,CAAC,GAAW;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACO,sBAAsB,CAAC,KAAa;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,MAAM;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,eAAe;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC;QAEf,oCAAoC;QACpC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAC7B,KAAK,EAAE,SAAqB,EAAE,WAAmB,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,mBAAmB,CAAC,OAAY;QAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAA8B,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,OAA0B,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,WAAW,CAAC,OAA0B,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,QAA6B;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CACV,0EAA0E,CAC3E,CAAC;oBACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACjC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9B,UAAU,EACV,QAAQ,CAAC,WAAW,IAAI,kBAAkB,CAC3C,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sarvam-conv-ai-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "TypeScript SDK for Sarvam Conversational AI",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -29,6 +29,23 @@
|
|
|
29
29
|
"node": ">=18.0.0",
|
|
30
30
|
"ws": "^8.18.0"
|
|
31
31
|
},
|
|
32
|
+
"peerDependenciesMeta": {
|
|
33
|
+
"ws": {
|
|
34
|
+
"optional": true
|
|
35
|
+
},
|
|
36
|
+
"react-native": {
|
|
37
|
+
"optional": true
|
|
38
|
+
},
|
|
39
|
+
"react-native-audio-recorder-player": {
|
|
40
|
+
"optional": true
|
|
41
|
+
},
|
|
42
|
+
"react-native-fs": {
|
|
43
|
+
"optional": true
|
|
44
|
+
},
|
|
45
|
+
"react-native-sound": {
|
|
46
|
+
"optional": true
|
|
47
|
+
}
|
|
48
|
+
},
|
|
32
49
|
"files": [
|
|
33
50
|
"dist",
|
|
34
51
|
"README.md",
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IACvB,QAAQ,cAAc;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,CAAC;AAC7D,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,aAAa;IAEvB,WAAW,6BAA6B;IACxC,KAAK,uBAAuB;IAC5B,IAAI,sBAAsB;IAC1B,UAAU,4BAA4B;IAGtC,IAAI,uBAAuB;IAG3B,eAAe,kCAAkC;IACjD,qBAAqB,wCAAwC;IAG7D,iBAAiB,mCAAmC;IACpD,eAAe,iCAAiC;IAChD,cAAc,gCAAgC;IAC9C,eAAe,iCAAiC;IAChD,eAAe,iCAAiC;IAChD,gBAAgB,kCAAkC;IAClD,QAAQ,0BAA0B;IAClC,SAAS,2BAA2B;CACrC;AAED;;GAEG;AACH,oBAAY,aAAa;IAEvB,WAAW,6BAA6B;IACxC,IAAI,sBAAsB;IAC1B,UAAU,4BAA4B;IACtC,KAAK,uBAAuB;IAG5B,iBAAiB,oCAAoC;IACrD,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IACjD,gBAAgB,mCAAmC;IAGnD,IAAI,uBAAuB;CAC5B;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAGD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IACvB,QAAQ,cAAc;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,CAAC;AAC7D,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,aAAa;IAEvB,WAAW,6BAA6B;IACxC,KAAK,uBAAuB;IAC5B,IAAI,sBAAsB;IAC1B,UAAU,4BAA4B;IAGtC,IAAI,uBAAuB;IAG3B,eAAe,kCAAkC;IACjD,qBAAqB,wCAAwC;IAG7D,iBAAiB,mCAAmC;IACpD,eAAe,iCAAiC;IAChD,cAAc,gCAAgC;IAC9C,eAAe,iCAAiC;IAChD,eAAe,iCAAiC;IAChD,gBAAgB,kCAAkC;IAClD,QAAQ,0BAA0B;IAClC,SAAS,2BAA2B;CACrC;AAED;;GAEG;AACH,oBAAY,aAAa;IAEvB,WAAW,6BAA6B;IACxC,IAAI,sBAAsB;IAC1B,UAAU,4BAA4B;IACtC,KAAK,uBAAuB;IAG5B,iBAAiB,oCAAoC;IACrD,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IACjD,gBAAgB,mCAAmC;IAGnD,IAAI,uBAAuB;CAC5B;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAGD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,CAAC"}
|
package/dist/utils/buffer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAqB7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GACvC,MAAM,CAgCR"}
|
package/dist/utils/buffer.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Decode base64 string to Uint8Array
|
|
3
|
-
* Works in both browser
|
|
3
|
+
* Works in both browser, Node.js, and React Native
|
|
4
4
|
*/
|
|
5
5
|
export function base64ToUint8Array(base64) {
|
|
6
6
|
if (typeof Buffer !== "undefined" && Buffer.from) {
|
|
7
|
-
// Node.js environment
|
|
8
|
-
|
|
7
|
+
// Node.js / React Native environment
|
|
8
|
+
// IMPORTANT: Buffer uses a shared pool, so we must copy to a fresh ArrayBuffer
|
|
9
|
+
// Otherwise, the .buffer property will point to the entire shared pool
|
|
10
|
+
const buffer = Buffer.from(base64, "base64");
|
|
11
|
+
// Create a fresh Uint8Array with its own ArrayBuffer
|
|
12
|
+
const freshArray = new Uint8Array(buffer.length);
|
|
13
|
+
for (let i = 0; i < buffer.length; i++) {
|
|
14
|
+
freshArray[i] = buffer[i];
|
|
15
|
+
}
|
|
16
|
+
return freshArray;
|
|
9
17
|
}
|
|
10
18
|
else {
|
|
11
19
|
// Browser environment - use atob
|
package/dist/utils/buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,
|
|
1
|
+
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,qCAAqC;QACrC,+EAA+E;QAC/E,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAwC;IAExC,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtB,CAAC;QACD,kCAAkC;QAClC,OAAQ,KAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,kCAAkC;IAClC,IAAI,UAAsB,CAAC;IAC3B,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QACvC,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,2BAA2B;QAC3B,UAAU,GAAG,IAAI,UAAU,CAAC,KAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,mCAAmC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,SAAS,EAET,iBAAiB,EAEjB,SAAS,EAEV,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iBAAiB,GACxB,yBAAyB,CAU3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,SAAS,EAET,iBAAiB,EAEjB,SAAS,EAEV,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iBAAiB,GACxB,yBAAyB,CAU3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CA0BvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAUvD"}
|
package/dist/utils/message.js
CHANGED
|
@@ -34,7 +34,11 @@ export function parseServerMessage(data) {
|
|
|
34
34
|
case ServerMsgType.PING:
|
|
35
35
|
return data;
|
|
36
36
|
default:
|
|
37
|
-
|
|
37
|
+
// Instead of throwing, log a warning and return the message
|
|
38
|
+
// This allows us to see what unknown message types are being sent
|
|
39
|
+
console.warn(`[SDK] Unknown server message type: ${data.type}`);
|
|
40
|
+
console.warn("[SDK] Full message:", JSON.stringify(data, null, 2));
|
|
41
|
+
return data;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,SAAS,EAET,aAAa,GACd,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,UAAU,uCAAuC,CACrD,MAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,iBAAiB;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAS;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,+CAA+C;IAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa,CAAC,UAAU,CAAC;QAC9B,KAAK,aAAa,CAAC,IAAI,CAAC;QACxB,KAAK,aAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,aAAa,CAAC,cAAc,CAAC;QAClC,KAAK,aAAa,CAAC,eAAe,CAAC;QACnC,KAAK,aAAa,CAAC,qBAAqB,CAAC;QACzC,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,IAAiB,CAAC;QAC3B;YACE,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,SAAS,EAET,aAAa,GACd,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,UAAU,uCAAuC,CACrD,MAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,iBAAiB;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAS;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,+CAA+C;IAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa,CAAC,UAAU,CAAC;QAC9B,KAAK,aAAa,CAAC,IAAI,CAAC;QACxB,KAAK,aAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,aAAa,CAAC,cAAc,CAAC;QAClC,KAAK,aAAa,CAAC,eAAe,CAAC;QACnC,KAAK,aAAa,CAAC,qBAAqB,CAAC;QACzC,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,IAAiB,CAAC;QAC3B;YACE,4DAA4D;YAC5D,kEAAkE;YAClE,OAAO,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,IAAiB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAS;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAiB,CAAC;AAC3B,CAAC"}
|
package/dist/utils/socket.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type WebSocketType = {
|
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
19
|
* Get the appropriate WebSocket implementation based on the environment.
|
|
20
|
-
* Uses native WebSocket in browsers, ws library in Node.js.
|
|
20
|
+
* Uses native WebSocket in browsers and React Native, ws library in Node.js.
|
|
21
21
|
*
|
|
22
22
|
* Note: The 'browser' field in package.json maps 'ws' to false,
|
|
23
23
|
* ensuring bundlers exclude ws from browser builds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5C,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;QACtE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;KACzD,CAAC;CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5C,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;QACtE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;KACzD,CAAC;CACH,CAAC;AAYF;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAqC5C"}
|
package/dist/utils/socket.js
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if we're running in a React Native environment.
|
|
3
|
+
*/
|
|
4
|
+
function isReactNative() {
|
|
5
|
+
return (typeof navigator !== "undefined" &&
|
|
6
|
+
navigator.product === "ReactNative");
|
|
7
|
+
}
|
|
1
8
|
/**
|
|
2
9
|
* Get the appropriate WebSocket implementation based on the environment.
|
|
3
|
-
* Uses native WebSocket in browsers, ws library in Node.js.
|
|
10
|
+
* Uses native WebSocket in browsers and React Native, ws library in Node.js.
|
|
4
11
|
*
|
|
5
12
|
* Note: The 'browser' field in package.json maps 'ws' to false,
|
|
6
13
|
* ensuring bundlers exclude ws from browser builds.
|
|
7
14
|
*/
|
|
8
15
|
export function getWebSocket() {
|
|
16
|
+
// React Native environment - use global WebSocket
|
|
17
|
+
// RN provides a WebSocket polyfill that works with the native network layer
|
|
18
|
+
if (isReactNative()) {
|
|
19
|
+
if (typeof global !== "undefined" && global.WebSocket) {
|
|
20
|
+
return global.WebSocket;
|
|
21
|
+
}
|
|
22
|
+
// Fallback to window.WebSocket in RN
|
|
23
|
+
if (typeof window !== "undefined" && window.WebSocket) {
|
|
24
|
+
return window.WebSocket;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
9
27
|
// Browser environment - use native WebSocket
|
|
10
28
|
if (typeof window !== "undefined" &&
|
|
11
29
|
typeof window.WebSocket !== "undefined") {
|
package/dist/utils/socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,6CAA6C;IAC7C,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,SAAS,KAAK,WAAW,EACvC,CAAC;QACD,OAAO,MAAM,CAAC,SAA0B,CAAC;IAC3C,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,EAAmB,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,CACL,OAAO,SAAS,KAAK,WAAW;QAChC,SAAS,CAAC,OAAO,KAAK,aAAa,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,kDAAkD;IAClD,4EAA4E;IAC5E,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAQ,MAAc,CAAC,SAA0B,CAAC;QACpD,CAAC;QACD,qCAAqC;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAQ,MAAc,CAAC,SAA0B,CAAC;QACpD,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,SAAS,KAAK,WAAW,EACvC,CAAC;QACD,OAAO,MAAM,CAAC,SAA0B,CAAC;IAC3C,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,EAAmB,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sarvam-conv-ai-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "TypeScript SDK for Sarvam Conversational AI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,6 +37,23 @@
|
|
|
37
37
|
"node": ">=18.0.0",
|
|
38
38
|
"ws": "^8.18.0"
|
|
39
39
|
},
|
|
40
|
+
"peerDependenciesMeta": {
|
|
41
|
+
"ws": {
|
|
42
|
+
"optional": true
|
|
43
|
+
},
|
|
44
|
+
"react-native": {
|
|
45
|
+
"optional": true
|
|
46
|
+
},
|
|
47
|
+
"react-native-audio-recorder-player": {
|
|
48
|
+
"optional": true
|
|
49
|
+
},
|
|
50
|
+
"react-native-fs": {
|
|
51
|
+
"optional": true
|
|
52
|
+
},
|
|
53
|
+
"react-native-sound": {
|
|
54
|
+
"optional": true
|
|
55
|
+
}
|
|
56
|
+
},
|
|
40
57
|
"devDependencies": {
|
|
41
58
|
"@types/node": "^18.19.0",
|
|
42
59
|
"@types/ws": "^8.5.10",
|