@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.
Files changed (99) hide show
  1. package/dist/audience.d.ts +104 -0
  2. package/dist/audience.d.ts.map +1 -0
  3. package/dist/camera-control.d.ts +54 -0
  4. package/dist/camera-control.d.ts.map +1 -0
  5. package/dist/captions.d.ts +362 -0
  6. package/dist/captions.d.ts.map +1 -0
  7. package/dist/chapters.d.ts +315 -0
  8. package/dist/chapters.d.ts.map +1 -0
  9. package/dist/client.d.ts +191 -0
  10. package/dist/client.d.ts.map +1 -0
  11. package/dist/clips.d.ts +258 -0
  12. package/dist/clips.d.ts.map +1 -0
  13. package/dist/cloud-switcher.d.ts +65 -0
  14. package/dist/cloud-switcher.d.ts.map +1 -0
  15. package/dist/collab-types.d.ts +204 -0
  16. package/dist/collab-types.d.ts.map +1 -0
  17. package/dist/collab.d.ts +226 -0
  18. package/dist/collab.d.ts.map +1 -0
  19. package/dist/connect.d.ts +88 -0
  20. package/dist/connect.d.ts.map +1 -0
  21. package/dist/creator.d.ts +109 -0
  22. package/dist/creator.d.ts.map +1 -0
  23. package/dist/desktop.d.ts +95 -0
  24. package/dist/desktop.d.ts.map +1 -0
  25. package/dist/distribution.d.ts +92 -0
  26. package/dist/distribution.d.ts.map +1 -0
  27. package/dist/drm.d.ts +87 -0
  28. package/dist/drm.d.ts.map +1 -0
  29. package/dist/edge.d.ts +112 -0
  30. package/dist/edge.d.ts.map +1 -0
  31. package/dist/editor-types.d.ts +236 -0
  32. package/dist/editor-types.d.ts.map +1 -0
  33. package/dist/editor.d.ts +206 -0
  34. package/dist/editor.d.ts.map +1 -0
  35. package/dist/fleet.d.ts +207 -0
  36. package/dist/fleet.d.ts.map +1 -0
  37. package/dist/ghost.d.ts +213 -0
  38. package/dist/ghost.d.ts.map +1 -0
  39. package/dist/index.d.ts +144 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/marketplace.d.ts +90 -0
  42. package/dist/marketplace.d.ts.map +1 -0
  43. package/dist/mesh.d.ts +237 -0
  44. package/dist/mesh.d.ts.map +1 -0
  45. package/dist/notifications.d.ts +82 -0
  46. package/dist/notifications.d.ts.map +1 -0
  47. package/dist/phone.d.ts +369 -0
  48. package/dist/phone.d.ts.map +1 -0
  49. package/dist/pipeline.d.ts +409 -0
  50. package/dist/pipeline.d.ts.map +1 -0
  51. package/dist/podcast.d.ts +113 -0
  52. package/dist/podcast.d.ts.map +1 -0
  53. package/dist/prism.d.ts +132 -0
  54. package/dist/prism.d.ts.map +1 -0
  55. package/dist/prompter.d.ts +184 -0
  56. package/dist/prompter.d.ts.map +1 -0
  57. package/dist/pulse.d.ts +156 -0
  58. package/dist/pulse.d.ts.map +1 -0
  59. package/dist/qr.d.ts +82 -0
  60. package/dist/qr.d.ts.map +1 -0
  61. package/dist/replay.d.ts +52 -0
  62. package/dist/replay.d.ts.map +1 -0
  63. package/dist/scene-types.d.ts +190 -0
  64. package/dist/scene-types.d.ts.map +1 -0
  65. package/dist/scene.d.ts +213 -0
  66. package/dist/scene.d.ts.map +1 -0
  67. package/dist/search-types.d.ts +210 -0
  68. package/dist/search-types.d.ts.map +1 -0
  69. package/dist/search.d.ts +250 -0
  70. package/dist/search.d.ts.map +1 -0
  71. package/dist/sentiment.d.ts +378 -0
  72. package/dist/sentiment.d.ts.map +1 -0
  73. package/dist/signage.d.ts +101 -0
  74. package/dist/signage.d.ts.map +1 -0
  75. package/dist/slides.d.ts +68 -0
  76. package/dist/slides.d.ts.map +1 -0
  77. package/dist/studio-ai-types.d.ts +198 -0
  78. package/dist/studio-ai-types.d.ts.map +1 -0
  79. package/dist/studio-ai.d.ts +218 -0
  80. package/dist/studio-ai.d.ts.map +1 -0
  81. package/dist/studio-types.d.ts +267 -0
  82. package/dist/studio-types.d.ts.map +1 -0
  83. package/dist/studio.d.ts +234 -0
  84. package/dist/studio.d.ts.map +1 -0
  85. package/dist/telemetry.d.ts +76 -0
  86. package/dist/telemetry.d.ts.map +1 -0
  87. package/dist/transcribe-types.d.ts +153 -0
  88. package/dist/transcribe-types.d.ts.map +1 -0
  89. package/dist/transcribe.d.ts +218 -0
  90. package/dist/transcribe.d.ts.map +1 -0
  91. package/dist/usb.d.ts +64 -0
  92. package/dist/usb.d.ts.map +1 -0
  93. package/dist/vault.d.ts +121 -0
  94. package/dist/vault.d.ts.map +1 -0
  95. package/dist/voice.d.ts +307 -0
  96. package/dist/voice.d.ts.map +1 -0
  97. package/dist/zoom.d.ts +91 -0
  98. package/dist/zoom.d.ts.map +1 -0
  99. package/package.json +1 -1
@@ -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.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",