@wave-av/sdk 2.0.0 → 2.0.1
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/audience.d.ts +104 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/camera-control.d.ts +54 -0
- package/dist/camera-control.d.ts.map +1 -0
- package/dist/captions.d.ts +362 -0
- package/dist/captions.d.ts.map +1 -0
- package/dist/chapters.d.ts +315 -0
- package/dist/chapters.d.ts.map +1 -0
- package/dist/client.d.ts +191 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clips.d.ts +258 -0
- package/dist/clips.d.ts.map +1 -0
- package/dist/cloud-switcher.d.ts +65 -0
- package/dist/cloud-switcher.d.ts.map +1 -0
- package/dist/collab-types.d.ts +204 -0
- package/dist/collab-types.d.ts.map +1 -0
- package/dist/collab.d.ts +226 -0
- package/dist/collab.d.ts.map +1 -0
- package/dist/connect.d.ts +88 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/creator.d.ts +109 -0
- package/dist/creator.d.ts.map +1 -0
- package/dist/desktop.d.ts +95 -0
- package/dist/desktop.d.ts.map +1 -0
- package/dist/distribution.d.ts +92 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/drm.d.ts +87 -0
- package/dist/drm.d.ts.map +1 -0
- package/dist/edge.d.ts +112 -0
- package/dist/edge.d.ts.map +1 -0
- package/dist/editor-types.d.ts +236 -0
- package/dist/editor-types.d.ts.map +1 -0
- package/dist/editor.d.ts +206 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/fleet.d.ts +207 -0
- package/dist/fleet.d.ts.map +1 -0
- package/dist/ghost.d.ts +213 -0
- package/dist/ghost.d.ts.map +1 -0
- package/dist/index.d.ts +144 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/marketplace.d.ts +90 -0
- package/dist/marketplace.d.ts.map +1 -0
- package/dist/mesh.d.ts +237 -0
- package/dist/mesh.d.ts.map +1 -0
- package/dist/notifications.d.ts +82 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/phone.d.ts +369 -0
- package/dist/phone.d.ts.map +1 -0
- package/dist/pipeline.d.ts +409 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/podcast.d.ts +113 -0
- package/dist/podcast.d.ts.map +1 -0
- package/dist/prism.d.ts +132 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prompter.d.ts +184 -0
- package/dist/prompter.d.ts.map +1 -0
- package/dist/pulse.d.ts +156 -0
- package/dist/pulse.d.ts.map +1 -0
- package/dist/qr.d.ts +82 -0
- package/dist/qr.d.ts.map +1 -0
- package/dist/replay.d.ts +52 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/scene-types.d.ts +190 -0
- package/dist/scene-types.d.ts.map +1 -0
- package/dist/scene.d.ts +213 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/search-types.d.ts +210 -0
- package/dist/search-types.d.ts.map +1 -0
- package/dist/search.d.ts +250 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/sentiment.d.ts +378 -0
- package/dist/sentiment.d.ts.map +1 -0
- package/dist/signage.d.ts +101 -0
- package/dist/signage.d.ts.map +1 -0
- package/dist/slides.d.ts +68 -0
- package/dist/slides.d.ts.map +1 -0
- package/dist/studio-ai-types.d.ts +198 -0
- package/dist/studio-ai-types.d.ts.map +1 -0
- package/dist/studio-ai.d.ts +218 -0
- package/dist/studio-ai.d.ts.map +1 -0
- package/dist/studio-types.d.ts +267 -0
- package/dist/studio-types.d.ts.map +1 -0
- package/dist/studio.d.ts +234 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/telemetry.d.ts +76 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/transcribe-types.d.ts +153 -0
- package/dist/transcribe-types.d.ts.map +1 -0
- package/dist/transcribe.d.ts +218 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/usb.d.ts +64 -0
- package/dist/usb.d.ts.map +1 -0
- package/dist/vault.d.ts +121 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/voice.d.ts +307 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/zoom.d.ts +91 -0
- package/dist/zoom.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/voice.d.ts
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Voice API
|
|
3
|
+
*
|
|
4
|
+
* Text-to-speech and voice cloning capabilities.
|
|
5
|
+
*
|
|
6
|
+
* NOTE: This is a client SDK. All authorization checks are performed server-side.
|
|
7
|
+
* The API will return 403 Forbidden if the user lacks required permissions.
|
|
8
|
+
*/
|
|
9
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps, Metadata } from './client';
|
|
10
|
+
/**
|
|
11
|
+
* Voice model type
|
|
12
|
+
*/
|
|
13
|
+
export type VoiceModelType = 'standard' | 'neural' | 'cloned' | 'professional';
|
|
14
|
+
/**
|
|
15
|
+
* Voice gender
|
|
16
|
+
*/
|
|
17
|
+
export type VoiceGender = 'male' | 'female' | 'neutral';
|
|
18
|
+
/**
|
|
19
|
+
* Audio format
|
|
20
|
+
*/
|
|
21
|
+
export type AudioFormat = 'mp3' | 'wav' | 'ogg' | 'flac' | 'pcm';
|
|
22
|
+
/**
|
|
23
|
+
* Voice definition
|
|
24
|
+
*/
|
|
25
|
+
export interface Voice extends Timestamps {
|
|
26
|
+
id: string;
|
|
27
|
+
organization_id?: string;
|
|
28
|
+
name: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
model_type: VoiceModelType;
|
|
31
|
+
gender: VoiceGender;
|
|
32
|
+
language: string;
|
|
33
|
+
locale: string;
|
|
34
|
+
preview_url?: string;
|
|
35
|
+
is_public: boolean;
|
|
36
|
+
is_cloned: boolean;
|
|
37
|
+
tags?: string[];
|
|
38
|
+
metadata?: Metadata;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Speech synthesis request
|
|
42
|
+
*/
|
|
43
|
+
export interface SynthesizeRequest {
|
|
44
|
+
/** Text to convert to speech */
|
|
45
|
+
text: string;
|
|
46
|
+
/** Voice ID to use */
|
|
47
|
+
voice_id: string;
|
|
48
|
+
/** Audio output format */
|
|
49
|
+
format?: AudioFormat;
|
|
50
|
+
/** Sample rate in Hz */
|
|
51
|
+
sample_rate?: 16000 | 22050 | 24000 | 44100 | 48000;
|
|
52
|
+
/** Speaking speed (0.5 - 2.0) */
|
|
53
|
+
speed?: number;
|
|
54
|
+
/** Pitch adjustment (-20 to 20 semitones) */
|
|
55
|
+
pitch?: number;
|
|
56
|
+
/** Volume level (0.0 - 1.0) */
|
|
57
|
+
volume?: number;
|
|
58
|
+
/** Enable SSML parsing */
|
|
59
|
+
ssml?: boolean;
|
|
60
|
+
/** Stability (0.0 - 1.0, lower = more expressive) */
|
|
61
|
+
stability?: number;
|
|
62
|
+
/** Similarity boost (0.0 - 1.0) */
|
|
63
|
+
similarity_boost?: number;
|
|
64
|
+
/** Style exaggeration (0.0 - 1.0) */
|
|
65
|
+
style?: number;
|
|
66
|
+
/** Webhook URL for completion notification */
|
|
67
|
+
webhook_url?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Speech synthesis result
|
|
71
|
+
*/
|
|
72
|
+
export interface SynthesisResult extends Timestamps {
|
|
73
|
+
id: string;
|
|
74
|
+
organization_id: string;
|
|
75
|
+
voice_id: string;
|
|
76
|
+
status: 'pending' | 'processing' | 'ready' | 'failed';
|
|
77
|
+
text: string;
|
|
78
|
+
text_length: number;
|
|
79
|
+
audio_url?: string;
|
|
80
|
+
duration?: number;
|
|
81
|
+
format: AudioFormat;
|
|
82
|
+
sample_rate: number;
|
|
83
|
+
file_size?: number;
|
|
84
|
+
error?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Voice cloning request
|
|
88
|
+
*/
|
|
89
|
+
export interface CloneVoiceRequest {
|
|
90
|
+
name: string;
|
|
91
|
+
description?: string;
|
|
92
|
+
/** Audio sample URLs (minimum 1 minute of clean audio) */
|
|
93
|
+
sample_urls: string[];
|
|
94
|
+
/** Optional text transcripts for samples */
|
|
95
|
+
transcripts?: string[];
|
|
96
|
+
/** Target language */
|
|
97
|
+
language?: string;
|
|
98
|
+
/** Voice gender */
|
|
99
|
+
gender?: VoiceGender;
|
|
100
|
+
/** Additional training options */
|
|
101
|
+
options?: {
|
|
102
|
+
/** Remove background noise from samples */
|
|
103
|
+
denoise?: boolean;
|
|
104
|
+
/** Number of training epochs */
|
|
105
|
+
epochs?: number;
|
|
106
|
+
/** Fine-tuning quality */
|
|
107
|
+
quality?: 'standard' | 'high' | 'professional';
|
|
108
|
+
};
|
|
109
|
+
tags?: string[];
|
|
110
|
+
metadata?: Metadata;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Voice clone job
|
|
114
|
+
*/
|
|
115
|
+
export interface VoiceCloneJob extends Timestamps {
|
|
116
|
+
id: string;
|
|
117
|
+
organization_id: string;
|
|
118
|
+
voice_id?: string;
|
|
119
|
+
status: 'pending' | 'processing' | 'training' | 'ready' | 'failed';
|
|
120
|
+
progress: number;
|
|
121
|
+
name: string;
|
|
122
|
+
sample_count: number;
|
|
123
|
+
total_duration: number;
|
|
124
|
+
error?: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* List voices params
|
|
128
|
+
*/
|
|
129
|
+
export interface ListVoicesParams extends PaginationParams {
|
|
130
|
+
model_type?: VoiceModelType;
|
|
131
|
+
gender?: VoiceGender;
|
|
132
|
+
language?: string;
|
|
133
|
+
is_public?: boolean;
|
|
134
|
+
is_cloned?: boolean;
|
|
135
|
+
tags?: string[];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Voice settings
|
|
139
|
+
*/
|
|
140
|
+
export interface VoiceSettings {
|
|
141
|
+
stability: number;
|
|
142
|
+
similarity_boost: number;
|
|
143
|
+
style?: number;
|
|
144
|
+
use_speaker_boost?: boolean;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Voice API client
|
|
148
|
+
*
|
|
149
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
150
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* import { WaveClient } from '@wave/sdk';
|
|
155
|
+
* import { VoiceAPI } from '@wave/sdk/voice';
|
|
156
|
+
*
|
|
157
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
158
|
+
* const voice = new VoiceAPI(client);
|
|
159
|
+
*
|
|
160
|
+
* // List available voices
|
|
161
|
+
* const voices = await voice.listVoices({ language: 'en' });
|
|
162
|
+
*
|
|
163
|
+
* // Synthesize speech
|
|
164
|
+
* const result = await voice.synthesize({
|
|
165
|
+
* text: 'Hello, welcome to WAVE!',
|
|
166
|
+
* voice_id: voices.data[0].id,
|
|
167
|
+
* });
|
|
168
|
+
*
|
|
169
|
+
* // Wait for audio to be ready
|
|
170
|
+
* const audio = await voice.waitForSynthesis(result.id);
|
|
171
|
+
* console.log('Audio URL:', audio.audio_url);
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
export declare class VoiceAPI {
|
|
175
|
+
private readonly client;
|
|
176
|
+
private readonly basePath;
|
|
177
|
+
constructor(client: WaveClient);
|
|
178
|
+
/**
|
|
179
|
+
* List available voices
|
|
180
|
+
*
|
|
181
|
+
* Requires: voice:read permission
|
|
182
|
+
*/
|
|
183
|
+
listVoices(params?: ListVoicesParams): Promise<PaginatedResponse<Voice>>;
|
|
184
|
+
/**
|
|
185
|
+
* Get a voice by ID
|
|
186
|
+
*
|
|
187
|
+
* Requires: voice:read permission
|
|
188
|
+
*/
|
|
189
|
+
getVoice(voiceId: string): Promise<Voice>;
|
|
190
|
+
/**
|
|
191
|
+
* Get default voice settings for a voice
|
|
192
|
+
*
|
|
193
|
+
* Requires: voice:read permission
|
|
194
|
+
*/
|
|
195
|
+
getVoiceSettings(voiceId: string): Promise<VoiceSettings>;
|
|
196
|
+
/**
|
|
197
|
+
* Update voice settings for a cloned voice
|
|
198
|
+
*
|
|
199
|
+
* Requires: voice:update permission
|
|
200
|
+
*/
|
|
201
|
+
updateVoiceSettings(voiceId: string, settings: Partial<VoiceSettings>): Promise<VoiceSettings>;
|
|
202
|
+
/**
|
|
203
|
+
* Remove a cloned voice
|
|
204
|
+
*
|
|
205
|
+
* Requires: voice:remove permission (server-side RBAC enforced)
|
|
206
|
+
*/
|
|
207
|
+
removeVoice(voiceId: string): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Synthesize text to speech
|
|
210
|
+
*
|
|
211
|
+
* Requires: voice:synthesize permission
|
|
212
|
+
*/
|
|
213
|
+
synthesize(request: SynthesizeRequest): Promise<SynthesisResult>;
|
|
214
|
+
/**
|
|
215
|
+
* Get synthesis job status
|
|
216
|
+
*
|
|
217
|
+
* Requires: voice:read permission
|
|
218
|
+
*/
|
|
219
|
+
getSynthesis(synthesisId: string): Promise<SynthesisResult>;
|
|
220
|
+
/**
|
|
221
|
+
* List synthesis jobs
|
|
222
|
+
*
|
|
223
|
+
* Requires: voice:read permission
|
|
224
|
+
*/
|
|
225
|
+
listSyntheses(params?: PaginationParams & {
|
|
226
|
+
voice_id?: string;
|
|
227
|
+
status?: 'pending' | 'processing' | 'ready' | 'failed';
|
|
228
|
+
}): Promise<PaginatedResponse<SynthesisResult>>;
|
|
229
|
+
/**
|
|
230
|
+
* Synthesize speech and stream the audio
|
|
231
|
+
*
|
|
232
|
+
* Requires: voice:synthesize permission
|
|
233
|
+
*
|
|
234
|
+
* @returns ReadableStream of audio data
|
|
235
|
+
*/
|
|
236
|
+
synthesizeStream(request: Omit<SynthesizeRequest, 'webhook_url'>): Promise<ReadableStream<Uint8Array>>;
|
|
237
|
+
/**
|
|
238
|
+
* Wait for synthesis to complete
|
|
239
|
+
*/
|
|
240
|
+
waitForSynthesis(synthesisId: string, options?: {
|
|
241
|
+
pollInterval?: number;
|
|
242
|
+
timeout?: number;
|
|
243
|
+
onProgress?: (synthesis: SynthesisResult) => void;
|
|
244
|
+
}): Promise<SynthesisResult>;
|
|
245
|
+
/**
|
|
246
|
+
* Start voice cloning job
|
|
247
|
+
*
|
|
248
|
+
* Requires: voice:clone permission
|
|
249
|
+
*/
|
|
250
|
+
cloneVoice(request: CloneVoiceRequest): Promise<VoiceCloneJob>;
|
|
251
|
+
/**
|
|
252
|
+
* Get voice clone job status
|
|
253
|
+
*
|
|
254
|
+
* Requires: voice:read permission
|
|
255
|
+
*/
|
|
256
|
+
getCloneJob(jobId: string): Promise<VoiceCloneJob>;
|
|
257
|
+
/**
|
|
258
|
+
* List voice clone jobs
|
|
259
|
+
*
|
|
260
|
+
* Requires: voice:read permission
|
|
261
|
+
*/
|
|
262
|
+
listCloneJobs(params?: PaginationParams & {
|
|
263
|
+
status?: 'pending' | 'processing' | 'training' | 'ready' | 'failed';
|
|
264
|
+
}): Promise<PaginatedResponse<VoiceCloneJob>>;
|
|
265
|
+
/**
|
|
266
|
+
* Cancel a voice clone job
|
|
267
|
+
*
|
|
268
|
+
* Requires: voice:clone permission
|
|
269
|
+
*/
|
|
270
|
+
cancelCloneJob(jobId: string): Promise<VoiceCloneJob>;
|
|
271
|
+
/**
|
|
272
|
+
* Wait for voice cloning to complete
|
|
273
|
+
*/
|
|
274
|
+
waitForClone(jobId: string, options?: {
|
|
275
|
+
pollInterval?: number;
|
|
276
|
+
timeout?: number;
|
|
277
|
+
onProgress?: (job: VoiceCloneJob) => void;
|
|
278
|
+
}): Promise<VoiceCloneJob>;
|
|
279
|
+
/**
|
|
280
|
+
* Estimate synthesis cost
|
|
281
|
+
*
|
|
282
|
+
* Requires: voice:read permission
|
|
283
|
+
*/
|
|
284
|
+
estimateCost(text: string, voiceId: string): Promise<{
|
|
285
|
+
characters: number;
|
|
286
|
+
estimated_duration: number;
|
|
287
|
+
estimated_cost: number;
|
|
288
|
+
currency: string;
|
|
289
|
+
}>;
|
|
290
|
+
/**
|
|
291
|
+
* Get supported languages
|
|
292
|
+
*
|
|
293
|
+
* Requires: voice:read permission
|
|
294
|
+
*/
|
|
295
|
+
getSupportedLanguages(): Promise<Array<{
|
|
296
|
+
code: string;
|
|
297
|
+
name: string;
|
|
298
|
+
locales: Array<{
|
|
299
|
+
code: string;
|
|
300
|
+
name: string;
|
|
301
|
+
}>;
|
|
302
|
+
}>>;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Create a Voice API instance
|
|
306
|
+
*/
|
|
307
|
+
export declare function createVoiceAPI(client: WaveClient): VoiceAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"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"}
|
package/dist/zoom.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Zoom API
|
|
3
|
+
*
|
|
4
|
+
* Zoom meeting, Zoom Room, and RTMS integration.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export interface ZoomMeeting {
|
|
8
|
+
id: string;
|
|
9
|
+
topic: string;
|
|
10
|
+
type: "instant" | "scheduled" | "recurring";
|
|
11
|
+
status: "waiting" | "started" | "ended";
|
|
12
|
+
start_url: string;
|
|
13
|
+
join_url: string;
|
|
14
|
+
host_id: string;
|
|
15
|
+
duration_minutes: number;
|
|
16
|
+
participants_count: number;
|
|
17
|
+
recording_enabled: boolean;
|
|
18
|
+
rtms_enabled: boolean;
|
|
19
|
+
created_at: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ZoomRoom {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
location?: string;
|
|
25
|
+
status: "online" | "offline" | "in_meeting";
|
|
26
|
+
account_id: string;
|
|
27
|
+
device_ip?: string;
|
|
28
|
+
firmware_version?: string;
|
|
29
|
+
camera_count: number;
|
|
30
|
+
microphone_count: number;
|
|
31
|
+
}
|
|
32
|
+
export interface ZoomRecording extends Timestamps {
|
|
33
|
+
id: string;
|
|
34
|
+
meeting_id: string;
|
|
35
|
+
type: "cloud" | "rtms";
|
|
36
|
+
status: "processing" | "completed" | "failed";
|
|
37
|
+
file_url?: string;
|
|
38
|
+
duration_seconds: number;
|
|
39
|
+
file_size_bytes: number;
|
|
40
|
+
}
|
|
41
|
+
export interface CreateMeetingRequest {
|
|
42
|
+
topic: string;
|
|
43
|
+
type?: "instant" | "scheduled" | "recurring";
|
|
44
|
+
duration_minutes?: number;
|
|
45
|
+
start_time?: string;
|
|
46
|
+
recording_enabled?: boolean;
|
|
47
|
+
rtms_enabled?: boolean;
|
|
48
|
+
password?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface ListMeetingsParams extends PaginationParams {
|
|
51
|
+
status?: string;
|
|
52
|
+
type?: string;
|
|
53
|
+
host_id?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Zoom meeting, Zoom Room, and RTMS streaming integration.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const meeting = await wave.zoom.createMeeting({ topic: "Team Standup" });
|
|
61
|
+
* await wave.zoom.startRTMS(meeting.id, { stream_url: "rtmp://...", stream_key: "key" });
|
|
62
|
+
* const rooms = await wave.zoom.listRooms();
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare class ZoomAPI {
|
|
66
|
+
private readonly client;
|
|
67
|
+
private readonly basePath;
|
|
68
|
+
constructor(client: WaveClient);
|
|
69
|
+
createMeeting(request: CreateMeetingRequest): Promise<ZoomMeeting>;
|
|
70
|
+
getMeeting(meetingId: string): Promise<ZoomMeeting>;
|
|
71
|
+
endMeeting(meetingId: string): Promise<void>;
|
|
72
|
+
listMeetings(params?: ListMeetingsParams): Promise<PaginatedResponse<ZoomMeeting>>;
|
|
73
|
+
listRooms(params?: PaginationParams): Promise<PaginatedResponse<ZoomRoom>>;
|
|
74
|
+
getRoomStatus(roomId: string): Promise<ZoomRoom>;
|
|
75
|
+
getRecording(recordingId: string): Promise<ZoomRecording>;
|
|
76
|
+
listRecordings(meetingId?: string, params?: PaginationParams): Promise<PaginatedResponse<ZoomRecording>>;
|
|
77
|
+
startRTMS(meetingId: string, config: {
|
|
78
|
+
stream_url: string;
|
|
79
|
+
stream_key: string;
|
|
80
|
+
}): Promise<{
|
|
81
|
+
status: string;
|
|
82
|
+
}>;
|
|
83
|
+
stopRTMS(meetingId: string): Promise<{
|
|
84
|
+
status: string;
|
|
85
|
+
}>;
|
|
86
|
+
getRTMSStatus(meetingId: string): Promise<{
|
|
87
|
+
status: string;
|
|
88
|
+
stream_url?: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
export declare function createZoomAPI(client: WaveClient): ZoomAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../src/zoom.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wave-av/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Official WAVE SDK - 34 API modules covering streaming, production, device management, analytics, content, monetization, and more",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|