sarvam-conv-ai-sdk 0.0.4 → 0.0.6

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/README.md CHANGED
@@ -157,7 +157,6 @@ The main class for managing conversational AI sessions.
157
157
  | startCallback | () => Promise\<void\> | No | Called when conversation starts |
158
158
  | endCallback | () => Promise\<void\> | No | Called when conversation ends |
159
159
  | baseUrl | string | No | Override base URL |
160
- | proxy | boolean | No | Enable proxy mode |
161
160
 
162
161
  #### Methods
163
162
 
@@ -305,7 +304,7 @@ try {
305
304
  const apiKey = import.meta.env.VITE_SARVAM_API_KEY;
306
305
 
307
306
  // Or use backend proxy
308
- const agent = new ConversationAgent({ proxy: true, baseUrl: '/api/proxy/' });
307
+ const agent = new ConversationAgent({ baseUrl: '/api/proxy/' });
309
308
  ```
310
309
 
311
310
  ## Examples
@@ -21,7 +21,6 @@ export declare class ConversationAgent {
21
21
  endCallback?: () => Promise<void>;
22
22
  textCallback?: (msg: ServerTextChunkMsg | ServerTextMsgType) => Promise<void>;
23
23
  baseUrl?: string;
24
- proxy?: boolean;
25
24
  platform?: Platform;
26
25
  });
27
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export class ConversationAgent {
12
12
  agent;
13
13
  constructor(options) {
14
14
  const interactionType = options.config.interaction_type;
15
+ const baseUrl = options.baseUrl || "https://apps.sarvam.ai/api/app-runtime/";
15
16
  // Factory logic: decide which agent to instantiate based on interaction_type
16
17
  if (interactionType === InteractionType.CALL) {
17
18
  // Create VoiceAgent for voice/call interactions
@@ -24,11 +25,11 @@ export class ConversationAgent {
24
25
  startCallback: options.startCallback,
25
26
  endCallback: options.endCallback,
26
27
  textCallback: options.textCallback,
27
- baseUrl: options.baseUrl,
28
28
  platform: options.platform,
29
+ baseUrl,
29
30
  });
30
31
  }
31
- else if (interactionType === InteractionType.TEXT) {
32
+ else if (interactionType === InteractionType.CHAT) {
32
33
  // Create TextAgent for text/chat interactions
33
34
  this.agent = new TextAgent({
34
35
  apiKey: options.apiKey,
@@ -37,13 +38,13 @@ export class ConversationAgent {
37
38
  startCallback: options.startCallback,
38
39
  endCallback: options.endCallback,
39
40
  textCallback: options.textCallback,
40
- baseUrl: options.baseUrl || "https://f7dae5ca1fb6.ngrok-free.app/",
41
41
  platform: options.platform,
42
+ baseUrl,
42
43
  });
43
44
  }
44
45
  else {
45
46
  throw new Error(`Unsupported interaction_type: ${interactionType}. ` +
46
- `Supported types are: ${InteractionType.CALL}, ${InteractionType.TEXT}`);
47
+ `Supported types are: ${InteractionType.CALL}, ${InteractionType.CHAT}`);
47
48
  }
48
49
  }
49
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
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
@@ -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,133 @@
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 native audio libraries.
6
+ *
7
+ * Required peer dependencies for bare React Native:
8
+ * - react-native-audio-recorder-player
9
+ * - react-native-fs
10
+ * - react-native-sound
11
+ *
12
+ * Install with:
13
+ * npm install react-native-audio-recorder-player react-native-fs react-native-sound
14
+ *
15
+ * For iOS, also run: cd ios && pod install
16
+ */
17
+ import { AsyncAudioInterface, AudioData } from "../types";
18
+ /**
19
+ * React Native Audio Interface for capturing microphone input and playing audio output.
20
+ * Uses react-native-audio-recorder-player for recording and react-native-sound for playback.
21
+ *
22
+ * Features:
23
+ * - Microphone capture with configurable sample rate
24
+ * - Audio buffering for smooth playback
25
+ * - Playback with seamless chunk transitions
26
+ * - Interrupt support for stopping ongoing playback
27
+ */
28
+ export declare class RNAudioInterface implements AsyncAudioInterface {
29
+ private audioRecorderPlayer;
30
+ private sound;
31
+ private nextSound;
32
+ private nextSoundTempFile;
33
+ private inputCallback;
34
+ private isRunning;
35
+ private audioQueue;
36
+ private isPlaying;
37
+ private sampleRate;
38
+ private recordingInterval;
39
+ private tempAudioFiles;
40
+ private isPreparingNext;
41
+ private audioBuffer;
42
+ private lastBufferTime;
43
+ private bufferTimeout;
44
+ private hasScheduledNext;
45
+ private currentRecordingPath;
46
+ private lastReadPosition;
47
+ private AudioRecorderPlayerClass;
48
+ private SoundClass;
49
+ private RNFS;
50
+ private Platform;
51
+ private PermissionsAndroid;
52
+ private readonly OVERLAP_MS;
53
+ private readonly MIN_BUFFER_SIZE;
54
+ private readonly BUFFER_FLUSH_DELAY_MS;
55
+ /**
56
+ * Create a new React Native audio interface
57
+ * @param sampleRate - Target sample rate for audio capture (default: 16000 Hz)
58
+ */
59
+ constructor(sampleRate?: number);
60
+ /**
61
+ * Request audio recording permissions.
62
+ */
63
+ private requestPermissions;
64
+ /**
65
+ * Start capturing audio from the microphone
66
+ * @param inputCallback - Callback to receive audio chunks
67
+ */
68
+ start(inputCallback: (audioData: AudioData, frameCount: number) => Promise<void>): Promise<void>;
69
+ /**
70
+ * Stop capturing audio and clean up resources
71
+ */
72
+ stop(): Promise<void>;
73
+ /**
74
+ * Output audio to the speakers
75
+ * Buffers small chunks together for smoother playback with reduced gaps.
76
+ * @param audio - Audio data in 16-bit PCM mono format
77
+ * @param sampleRate - Sample rate of the audio (default: 16000 Hz)
78
+ */
79
+ output(audio: AudioData, sampleRate?: number): Promise<void>;
80
+ /**
81
+ * Interrupt and stop all ongoing audio playback
82
+ */
83
+ interrupt(): void;
84
+ /**
85
+ * Flush buffered audio chunks to the playback queue.
86
+ */
87
+ private flushAudioBuffer;
88
+ /**
89
+ * Process the audio queue for playback with pre-loading for seamless transitions.
90
+ */
91
+ private processAudioQueue;
92
+ /**
93
+ * Play a sound file using react-native-sound.
94
+ */
95
+ private playSound;
96
+ /**
97
+ * Start the next prepared chunk (overlap technique).
98
+ */
99
+ private startNextChunk;
100
+ /**
101
+ * Pre-load the next audio chunk for seamless playback.
102
+ */
103
+ private prepareNextChunk;
104
+ /**
105
+ * Read audio file and extract PCM data.
106
+ */
107
+ private readAudioFile;
108
+ /**
109
+ * Convert base64 string to binary string.
110
+ */
111
+ private base64ToBinary;
112
+ /**
113
+ * Create a complete WAV file from PCM data.
114
+ */
115
+ private createWavFile;
116
+ /**
117
+ * Write a string to a DataView.
118
+ */
119
+ private writeString;
120
+ /**
121
+ * Convert ArrayBuffer to base64 string.
122
+ */
123
+ private arrayBufferToBase64;
124
+ /**
125
+ * Clean up a single temporary audio file.
126
+ */
127
+ private cleanupTempFile;
128
+ /**
129
+ * Clean up all temporary audio files.
130
+ */
131
+ private cleanupAllTempFiles;
132
+ }
133
+ //# 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;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAa1D;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,aAAa,CAA8E;IACnG,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,wBAAwB,CAAM;IACtC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,kBAAkB,CAAM;IAGhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IAE5C;;;OAGG;gBACS,UAAU,GAAE,MAAc;IA0CtC;;OAEG;YACW,kBAAkB;IA+BhC;;;OAGG;IACG,KAAK,CACT,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzE,OAAO,CAAC,IAAI,CAAC;IAsEhB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE3B;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCzE;;OAEG;IACH,SAAS,IAAI,IAAI;IAgDjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;YACW,iBAAiB;IAsD/B;;OAEG;IACH,OAAO,CAAC,SAAS;IAqDjB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8CtB;;OAEG;YACW,gBAAgB;IAyD9B;;OAEG;YACW,aAAa;IAgC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;YACW,eAAe;IAa7B;;OAEG;YACW,mBAAmB;CAalC"}