@wave-av/sdk 2.0.1 → 2.0.2

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 (260) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +27 -23
  3. package/dist/audience.js +93 -0
  4. package/dist/audience.mjs +9 -0
  5. package/dist/camera-control.js +95 -0
  6. package/dist/camera-control.mjs +71 -0
  7. package/dist/captions-types.js +18 -0
  8. package/dist/captions-types.mjs +0 -0
  9. package/dist/captions.js +266 -0
  10. package/dist/captions.mjs +9 -0
  11. package/dist/chapters-types.js +18 -0
  12. package/dist/chapters-types.mjs +0 -0
  13. package/dist/chapters.js +280 -0
  14. package/dist/chapters.mjs +9 -0
  15. package/dist/chunk-362MRITF.mjs +46 -0
  16. package/dist/chunk-3ZLK4J3V.mjs +69 -0
  17. package/dist/chunk-4DG4OBRD.mjs +52 -0
  18. package/dist/chunk-4G7FMCMJ.mjs +68 -0
  19. package/dist/chunk-4KD5F6E3.mjs +0 -0
  20. package/dist/chunk-7M6XVUUK.mjs +241 -0
  21. package/dist/chunk-A344OOT7.mjs +243 -0
  22. package/dist/chunk-AI64YR5W.mjs +173 -0
  23. package/dist/chunk-C2GQ756E.mjs +57 -0
  24. package/dist/chunk-CO2VB72Z.mjs +255 -0
  25. package/dist/chunk-DWXWAILB.mjs +44 -0
  26. package/dist/chunk-FLEFYLDM.mjs +71 -0
  27. package/dist/chunk-H2YYTNUH.mjs +266 -0
  28. package/dist/chunk-IGDBED5P.mjs +246 -0
  29. package/dist/chunk-IL2SGWBC.mjs +0 -0
  30. package/dist/chunk-IVFZ5X4W.mjs +68 -0
  31. package/dist/chunk-JC32PG3T.mjs +114 -0
  32. package/dist/chunk-K5X42NLD.mjs +54 -0
  33. package/dist/chunk-KCEPNS2U.mjs +276 -0
  34. package/dist/chunk-LVOVF6XC.mjs +54 -0
  35. package/dist/chunk-M4Z33V3N.mjs +247 -0
  36. package/dist/chunk-M6FKIX75.mjs +0 -0
  37. package/dist/chunk-M744Z327.mjs +244 -0
  38. package/dist/chunk-MRFDPPFK.mjs +61 -0
  39. package/dist/chunk-MXU3Q23F.mjs +68 -0
  40. package/dist/chunk-NCVUZ746.mjs +60 -0
  41. package/dist/chunk-NLQVD2LF.mjs +210 -0
  42. package/dist/chunk-O6DOGYP5.mjs +238 -0
  43. package/dist/chunk-S25NY5GE.mjs +124 -0
  44. package/dist/chunk-TFHXBICQ.mjs +305 -0
  45. package/dist/chunk-TXWOA2VR.mjs +57 -0
  46. package/dist/chunk-UCDSNV22.mjs +63 -0
  47. package/dist/chunk-V5DWA5P4.mjs +279 -0
  48. package/dist/chunk-VLQQDYGP.mjs +173 -0
  49. package/dist/chunk-VPKZUXZW.mjs +53 -0
  50. package/dist/chunk-WS3PEFYJ.mjs +60 -0
  51. package/dist/chunk-XGAYMWRH.mjs +74 -0
  52. package/dist/chunk-XMM5J57W.mjs +0 -0
  53. package/dist/chunk-XWABBOSX.mjs +278 -0
  54. package/dist/chunk-Y6FXYEAI.mjs +10 -0
  55. package/dist/chunk-YBLXHI3M.mjs +257 -0
  56. package/dist/chunk-YEK26SSO.mjs +100 -0
  57. package/dist/chunk-YLCQKCZL.mjs +0 -0
  58. package/dist/chunk-YRKO4XI7.mjs +0 -0
  59. package/dist/chunk-ZJO7AP4Q.mjs +0 -0
  60. package/dist/client-types.js +18 -0
  61. package/dist/client-types.mjs +0 -0
  62. package/dist/client.js +311 -0
  63. package/dist/client.mjs +14 -0
  64. package/dist/clips-types.js +18 -0
  65. package/dist/clips-types.mjs +0 -0
  66. package/dist/clips.js +198 -0
  67. package/dist/clips.mjs +9 -0
  68. package/dist/cloud-switcher.js +80 -0
  69. package/dist/cloud-switcher.mjs +56 -0
  70. package/dist/collab-types.js +18 -0
  71. package/dist/collab-types.mjs +1 -0
  72. package/dist/collab.js +304 -0
  73. package/dist/collab.mjs +10 -0
  74. package/dist/connect.js +85 -0
  75. package/dist/connect.mjs +9 -0
  76. package/dist/creator.js +79 -0
  77. package/dist/creator.mjs +9 -0
  78. package/dist/desktop.js +77 -0
  79. package/dist/desktop.mjs +9 -0
  80. package/dist/distribution.js +88 -0
  81. package/dist/distribution.mjs +9 -0
  82. package/dist/drm.js +85 -0
  83. package/dist/drm.mjs +9 -0
  84. package/dist/edge.js +93 -0
  85. package/dist/edge.mjs +9 -0
  86. package/dist/editor-types.js +18 -0
  87. package/dist/editor-types.mjs +1 -0
  88. package/dist/editor.js +330 -0
  89. package/dist/editor.mjs +10 -0
  90. package/dist/fleet.js +149 -0
  91. package/dist/fleet.mjs +9 -0
  92. package/dist/ghost.js +139 -0
  93. package/dist/ghost.mjs +9 -0
  94. package/dist/index.js +0 -250
  95. package/dist/index.mjs +161 -5445
  96. package/dist/marketplace.js +82 -0
  97. package/dist/marketplace.mjs +9 -0
  98. package/dist/mesh.js +198 -0
  99. package/dist/mesh.mjs +9 -0
  100. package/dist/notifications.js +79 -0
  101. package/dist/notifications.mjs +9 -0
  102. package/dist/phone-types.js +18 -0
  103. package/dist/phone-types.mjs +0 -0
  104. package/dist/phone.js +269 -0
  105. package/dist/phone.mjs +9 -0
  106. package/dist/pipeline-types.js +18 -0
  107. package/dist/pipeline-types.mjs +0 -0
  108. package/dist/pipeline.js +263 -0
  109. package/dist/pipeline.mjs +9 -0
  110. package/dist/podcast.js +94 -0
  111. package/dist/podcast.mjs +9 -0
  112. package/dist/prism.js +82 -0
  113. package/dist/prism.mjs +9 -0
  114. package/dist/prompter.js +99 -0
  115. package/dist/prompter.mjs +76 -0
  116. package/dist/pulse.js +99 -0
  117. package/dist/pulse.mjs +9 -0
  118. package/dist/qr.js +71 -0
  119. package/dist/qr.mjs +9 -0
  120. package/dist/replay.js +62 -0
  121. package/dist/replay.mjs +38 -0
  122. package/dist/scene-types.js +18 -0
  123. package/dist/scene-types.mjs +1 -0
  124. package/dist/scene.js +271 -0
  125. package/dist/scene.mjs +10 -0
  126. package/dist/search-types.js +18 -0
  127. package/dist/search-types.mjs +1 -0
  128. package/dist/search.js +268 -0
  129. package/dist/search.mjs +10 -0
  130. package/dist/sentiment-types.js +18 -0
  131. package/dist/sentiment-types.mjs +0 -0
  132. package/dist/sentiment.js +235 -0
  133. package/dist/sentiment.mjs +9 -0
  134. package/dist/signage.js +93 -0
  135. package/dist/signage.mjs +9 -0
  136. package/dist/slides.js +78 -0
  137. package/dist/slides.mjs +9 -0
  138. package/dist/studio-ai-types.js +18 -0
  139. package/dist/studio-ai-types.mjs +1 -0
  140. package/dist/studio-ai.js +301 -0
  141. package/dist/studio-ai.mjs +10 -0
  142. package/dist/studio-types.js +18 -0
  143. package/dist/studio-types.mjs +1 -0
  144. package/dist/studio.js +303 -0
  145. package/dist/studio.mjs +10 -0
  146. package/dist/telemetry.js +124 -0
  147. package/dist/telemetry.mjs +15 -0
  148. package/dist/transcribe-types.js +18 -0
  149. package/dist/transcribe-types.mjs +1 -0
  150. package/dist/transcribe.js +282 -0
  151. package/dist/transcribe.mjs +10 -0
  152. package/dist/usb.js +69 -0
  153. package/dist/usb.mjs +9 -0
  154. package/dist/vault.js +96 -0
  155. package/dist/vault.mjs +9 -0
  156. package/dist/voice-types.js +18 -0
  157. package/dist/voice-types.mjs +0 -0
  158. package/dist/voice.js +272 -0
  159. package/dist/voice.mjs +9 -0
  160. package/dist/zoom.js +86 -0
  161. package/dist/zoom.mjs +9 -0
  162. package/package.json +3 -3
  163. package/dist/audience.d.ts +0 -104
  164. package/dist/audience.d.ts.map +0 -1
  165. package/dist/camera-control.d.ts +0 -54
  166. package/dist/camera-control.d.ts.map +0 -1
  167. package/dist/captions.d.ts +0 -362
  168. package/dist/captions.d.ts.map +0 -1
  169. package/dist/chapters.d.ts +0 -315
  170. package/dist/chapters.d.ts.map +0 -1
  171. package/dist/client.d.ts +0 -191
  172. package/dist/client.d.ts.map +0 -1
  173. package/dist/clips.d.ts +0 -258
  174. package/dist/clips.d.ts.map +0 -1
  175. package/dist/cloud-switcher.d.ts +0 -65
  176. package/dist/cloud-switcher.d.ts.map +0 -1
  177. package/dist/collab-types.d.ts +0 -204
  178. package/dist/collab-types.d.ts.map +0 -1
  179. package/dist/collab.d.ts +0 -226
  180. package/dist/collab.d.ts.map +0 -1
  181. package/dist/connect.d.ts +0 -88
  182. package/dist/connect.d.ts.map +0 -1
  183. package/dist/creator.d.ts +0 -109
  184. package/dist/creator.d.ts.map +0 -1
  185. package/dist/desktop.d.ts +0 -95
  186. package/dist/desktop.d.ts.map +0 -1
  187. package/dist/distribution.d.ts +0 -92
  188. package/dist/distribution.d.ts.map +0 -1
  189. package/dist/drm.d.ts +0 -87
  190. package/dist/drm.d.ts.map +0 -1
  191. package/dist/edge.d.ts +0 -112
  192. package/dist/edge.d.ts.map +0 -1
  193. package/dist/editor-types.d.ts +0 -236
  194. package/dist/editor-types.d.ts.map +0 -1
  195. package/dist/editor.d.ts +0 -206
  196. package/dist/editor.d.ts.map +0 -1
  197. package/dist/fleet.d.ts +0 -207
  198. package/dist/fleet.d.ts.map +0 -1
  199. package/dist/ghost.d.ts +0 -213
  200. package/dist/ghost.d.ts.map +0 -1
  201. package/dist/index.d.ts +0 -144
  202. package/dist/index.d.ts.map +0 -1
  203. package/dist/marketplace.d.ts +0 -90
  204. package/dist/marketplace.d.ts.map +0 -1
  205. package/dist/mesh.d.ts +0 -237
  206. package/dist/mesh.d.ts.map +0 -1
  207. package/dist/notifications.d.ts +0 -82
  208. package/dist/notifications.d.ts.map +0 -1
  209. package/dist/phone.d.ts +0 -369
  210. package/dist/phone.d.ts.map +0 -1
  211. package/dist/pipeline.d.ts +0 -409
  212. package/dist/pipeline.d.ts.map +0 -1
  213. package/dist/podcast.d.ts +0 -113
  214. package/dist/podcast.d.ts.map +0 -1
  215. package/dist/prism.d.ts +0 -132
  216. package/dist/prism.d.ts.map +0 -1
  217. package/dist/prompter.d.ts +0 -184
  218. package/dist/prompter.d.ts.map +0 -1
  219. package/dist/pulse.d.ts +0 -156
  220. package/dist/pulse.d.ts.map +0 -1
  221. package/dist/qr.d.ts +0 -82
  222. package/dist/qr.d.ts.map +0 -1
  223. package/dist/replay.d.ts +0 -52
  224. package/dist/replay.d.ts.map +0 -1
  225. package/dist/scene-types.d.ts +0 -190
  226. package/dist/scene-types.d.ts.map +0 -1
  227. package/dist/scene.d.ts +0 -213
  228. package/dist/scene.d.ts.map +0 -1
  229. package/dist/search-types.d.ts +0 -210
  230. package/dist/search-types.d.ts.map +0 -1
  231. package/dist/search.d.ts +0 -250
  232. package/dist/search.d.ts.map +0 -1
  233. package/dist/sentiment.d.ts +0 -378
  234. package/dist/sentiment.d.ts.map +0 -1
  235. package/dist/signage.d.ts +0 -101
  236. package/dist/signage.d.ts.map +0 -1
  237. package/dist/slides.d.ts +0 -68
  238. package/dist/slides.d.ts.map +0 -1
  239. package/dist/studio-ai-types.d.ts +0 -198
  240. package/dist/studio-ai-types.d.ts.map +0 -1
  241. package/dist/studio-ai.d.ts +0 -218
  242. package/dist/studio-ai.d.ts.map +0 -1
  243. package/dist/studio-types.d.ts +0 -267
  244. package/dist/studio-types.d.ts.map +0 -1
  245. package/dist/studio.d.ts +0 -234
  246. package/dist/studio.d.ts.map +0 -1
  247. package/dist/telemetry.d.ts +0 -76
  248. package/dist/telemetry.d.ts.map +0 -1
  249. package/dist/transcribe-types.d.ts +0 -153
  250. package/dist/transcribe-types.d.ts.map +0 -1
  251. package/dist/transcribe.d.ts +0 -218
  252. package/dist/transcribe.d.ts.map +0 -1
  253. package/dist/usb.d.ts +0 -64
  254. package/dist/usb.d.ts.map +0 -1
  255. package/dist/vault.d.ts +0 -121
  256. package/dist/vault.d.ts.map +0 -1
  257. package/dist/voice.d.ts +0 -307
  258. package/dist/voice.d.ts.map +0 -1
  259. package/dist/zoom.d.ts +0 -91
  260. package/dist/zoom.d.ts.map +0 -1
package/dist/voice.js ADDED
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/voice.ts
21
+ var voice_exports = {};
22
+ __export(voice_exports, {
23
+ VoiceAPI: () => VoiceAPI,
24
+ createVoiceAPI: () => createVoiceAPI
25
+ });
26
+ module.exports = __toCommonJS(voice_exports);
27
+ var VoiceAPI = class {
28
+ client;
29
+ basePath = "/v1/voice";
30
+ constructor(client) {
31
+ this.client = client;
32
+ }
33
+ // ==========================================================================
34
+ // Voices
35
+ // ==========================================================================
36
+ /**
37
+ * List available voices
38
+ *
39
+ * Requires: voice:read permission
40
+ */
41
+ async listVoices(params) {
42
+ const queryParams = {
43
+ ...params,
44
+ tags: params?.tags?.join(",")
45
+ };
46
+ return this.client.get(`${this.basePath}/voices`, {
47
+ params: queryParams
48
+ });
49
+ }
50
+ /**
51
+ * Get a voice by ID
52
+ *
53
+ * Requires: voice:read permission
54
+ */
55
+ async getVoice(voiceId) {
56
+ return this.client.get(`${this.basePath}/voices/${voiceId}`);
57
+ }
58
+ /**
59
+ * Get default voice settings for a voice
60
+ *
61
+ * Requires: voice:read permission
62
+ */
63
+ async getVoiceSettings(voiceId) {
64
+ return this.client.get(
65
+ `${this.basePath}/voices/${voiceId}/settings`
66
+ );
67
+ }
68
+ /**
69
+ * Update voice settings for a cloned voice
70
+ *
71
+ * Requires: voice:update permission
72
+ */
73
+ async updateVoiceSettings(voiceId, settings) {
74
+ return this.client.patch(
75
+ `${this.basePath}/voices/${voiceId}/settings`,
76
+ settings
77
+ );
78
+ }
79
+ /**
80
+ * Remove a cloned voice
81
+ *
82
+ * Requires: voice:remove permission (server-side RBAC enforced)
83
+ */
84
+ async removeVoice(voiceId) {
85
+ await this.client.delete(
86
+ `${this.basePath}/voices/${voiceId}`,
87
+ { method: "DELETE" }
88
+ );
89
+ }
90
+ // ==========================================================================
91
+ // Speech Synthesis
92
+ // ==========================================================================
93
+ /**
94
+ * Synthesize text to speech
95
+ *
96
+ * Requires: voice:synthesize permission
97
+ */
98
+ async synthesize(request) {
99
+ return this.client.post(
100
+ `${this.basePath}/synthesize`,
101
+ request
102
+ );
103
+ }
104
+ /**
105
+ * Get synthesis job status
106
+ *
107
+ * Requires: voice:read permission
108
+ */
109
+ async getSynthesis(synthesisId) {
110
+ return this.client.get(
111
+ `${this.basePath}/synthesize/${synthesisId}`
112
+ );
113
+ }
114
+ /**
115
+ * List synthesis jobs
116
+ *
117
+ * Requires: voice:read permission
118
+ */
119
+ async listSyntheses(params) {
120
+ return this.client.get(
121
+ `${this.basePath}/synthesize`,
122
+ { params }
123
+ );
124
+ }
125
+ /**
126
+ * Synthesize speech and stream the audio
127
+ *
128
+ * Requires: voice:synthesize permission
129
+ *
130
+ * @returns ReadableStream of audio data
131
+ */
132
+ async synthesizeStream(request) {
133
+ const response = await fetch(
134
+ `${this.client["config"].baseUrl}${this.basePath}/synthesize/stream`,
135
+ {
136
+ method: "POST",
137
+ headers: {
138
+ "Authorization": `Bearer ${this.client["config"].apiKey}`,
139
+ "Content-Type": "application/json",
140
+ "Accept": "audio/mpeg"
141
+ },
142
+ body: JSON.stringify(request)
143
+ }
144
+ );
145
+ if (!response.ok) {
146
+ throw new Error(`Synthesis stream failed: ${response.statusText}`);
147
+ }
148
+ if (!response.body) {
149
+ throw new Error("No response body");
150
+ }
151
+ return response.body;
152
+ }
153
+ /**
154
+ * Wait for synthesis to complete
155
+ */
156
+ async waitForSynthesis(synthesisId, options) {
157
+ const pollInterval = options?.pollInterval || 1e3;
158
+ const timeout = options?.timeout || 12e4;
159
+ const startTime = Date.now();
160
+ while (Date.now() - startTime < timeout) {
161
+ const synthesis = await this.getSynthesis(synthesisId);
162
+ if (options?.onProgress) {
163
+ options.onProgress(synthesis);
164
+ }
165
+ if (synthesis.status === "ready") {
166
+ return synthesis;
167
+ }
168
+ if (synthesis.status === "failed") {
169
+ throw new Error(`Synthesis failed: ${synthesis.error || "Unknown error"}`);
170
+ }
171
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
172
+ }
173
+ throw new Error(`Synthesis timed out after ${timeout}ms`);
174
+ }
175
+ // ==========================================================================
176
+ // Voice Cloning
177
+ // ==========================================================================
178
+ /**
179
+ * Start voice cloning job
180
+ *
181
+ * Requires: voice:clone permission
182
+ */
183
+ async cloneVoice(request) {
184
+ return this.client.post(
185
+ `${this.basePath}/clone`,
186
+ request
187
+ );
188
+ }
189
+ /**
190
+ * Get voice clone job status
191
+ *
192
+ * Requires: voice:read permission
193
+ */
194
+ async getCloneJob(jobId) {
195
+ return this.client.get(
196
+ `${this.basePath}/clone/${jobId}`
197
+ );
198
+ }
199
+ /**
200
+ * List voice clone jobs
201
+ *
202
+ * Requires: voice:read permission
203
+ */
204
+ async listCloneJobs(params) {
205
+ return this.client.get(
206
+ `${this.basePath}/clone`,
207
+ { params }
208
+ );
209
+ }
210
+ /**
211
+ * Cancel a voice clone job
212
+ *
213
+ * Requires: voice:clone permission
214
+ */
215
+ async cancelCloneJob(jobId) {
216
+ return this.client.post(
217
+ `${this.basePath}/clone/${jobId}/cancel`
218
+ );
219
+ }
220
+ /**
221
+ * Wait for voice cloning to complete
222
+ */
223
+ async waitForClone(jobId, options) {
224
+ const pollInterval = options?.pollInterval || 5e3;
225
+ const timeout = options?.timeout || 36e5;
226
+ const startTime = Date.now();
227
+ while (Date.now() - startTime < timeout) {
228
+ const job = await this.getCloneJob(jobId);
229
+ if (options?.onProgress) {
230
+ options.onProgress(job);
231
+ }
232
+ if (job.status === "ready") {
233
+ return job;
234
+ }
235
+ if (job.status === "failed") {
236
+ throw new Error(`Voice cloning failed: ${job.error || "Unknown error"}`);
237
+ }
238
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
239
+ }
240
+ throw new Error(`Voice cloning timed out after ${timeout}ms`);
241
+ }
242
+ // ==========================================================================
243
+ // Utilities
244
+ // ==========================================================================
245
+ /**
246
+ * Estimate synthesis cost
247
+ *
248
+ * Requires: voice:read permission
249
+ */
250
+ async estimateCost(text, voiceId) {
251
+ return this.client.post(`${this.basePath}/estimate`, {
252
+ text,
253
+ voice_id: voiceId
254
+ });
255
+ }
256
+ /**
257
+ * Get supported languages
258
+ *
259
+ * Requires: voice:read permission
260
+ */
261
+ async getSupportedLanguages() {
262
+ return this.client.get(`${this.basePath}/languages`);
263
+ }
264
+ };
265
+ function createVoiceAPI(client) {
266
+ return new VoiceAPI(client);
267
+ }
268
+ // Annotate the CommonJS export names for ESM import in node:
269
+ 0 && (module.exports = {
270
+ VoiceAPI,
271
+ createVoiceAPI
272
+ });
package/dist/voice.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ VoiceAPI,
3
+ createVoiceAPI
4
+ } from "./chunk-M4Z33V3N.mjs";
5
+ import "./chunk-Y6FXYEAI.mjs";
6
+ export {
7
+ VoiceAPI,
8
+ createVoiceAPI
9
+ };
package/dist/zoom.js ADDED
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/zoom.ts
21
+ var zoom_exports = {};
22
+ __export(zoom_exports, {
23
+ ZoomAPI: () => ZoomAPI,
24
+ createZoomAPI: () => createZoomAPI
25
+ });
26
+ module.exports = __toCommonJS(zoom_exports);
27
+ var ZoomAPI = class {
28
+ client;
29
+ basePath = "/v1/zoom";
30
+ constructor(client) {
31
+ this.client = client;
32
+ }
33
+ async createMeeting(request) {
34
+ return this.client.post(`${this.basePath}/meetings`, request);
35
+ }
36
+ async getMeeting(meetingId) {
37
+ return this.client.get(`${this.basePath}/meetings/${meetingId}`);
38
+ }
39
+ async endMeeting(meetingId) {
40
+ await this.client.post(`${this.basePath}/meetings/${meetingId}/end`);
41
+ }
42
+ async listMeetings(params) {
43
+ return this.client.get(`${this.basePath}/meetings`, {
44
+ params
45
+ });
46
+ }
47
+ async listRooms(params) {
48
+ return this.client.get(`${this.basePath}/rooms`, {
49
+ params
50
+ });
51
+ }
52
+ async getRoomStatus(roomId) {
53
+ return this.client.get(`${this.basePath}/rooms/${roomId}`);
54
+ }
55
+ async getRecording(recordingId) {
56
+ return this.client.get(`${this.basePath}/recordings/${recordingId}`);
57
+ }
58
+ async listRecordings(meetingId, params) {
59
+ const path = meetingId ? `${this.basePath}/meetings/${meetingId}/recordings` : `${this.basePath}/recordings`;
60
+ return this.client.get(path, {
61
+ params
62
+ });
63
+ }
64
+ async startRTMS(meetingId, config) {
65
+ return this.client.post(
66
+ `${this.basePath}/meetings/${meetingId}/rtms/start`,
67
+ config
68
+ );
69
+ }
70
+ async stopRTMS(meetingId) {
71
+ return this.client.post(`${this.basePath}/meetings/${meetingId}/rtms/stop`);
72
+ }
73
+ async getRTMSStatus(meetingId) {
74
+ return this.client.get(
75
+ `${this.basePath}/meetings/${meetingId}/rtms`
76
+ );
77
+ }
78
+ };
79
+ function createZoomAPI(client) {
80
+ return new ZoomAPI(client);
81
+ }
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ ZoomAPI,
85
+ createZoomAPI
86
+ });
package/dist/zoom.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ ZoomAPI,
3
+ createZoomAPI
4
+ } from "./chunk-MRFDPPFK.mjs";
5
+ import "./chunk-Y6FXYEAI.mjs";
6
+ export {
7
+ ZoomAPI,
8
+ createZoomAPI
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wave-av/sdk",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
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",
@@ -266,7 +266,7 @@
266
266
  },
267
267
  "repository": {
268
268
  "type": "git",
269
- "url": "https://github.com/wave-av/wave-surfer-connect.git",
269
+ "url": "https://github.com/wave-av/sdk.git",
270
270
  "directory": "packages/sdk-typescript"
271
271
  },
272
272
  "homepage": "https://docs.wave.online/sdk",
@@ -277,7 +277,7 @@
277
277
  "node": ">=18.0.0"
278
278
  },
279
279
  "peerDependencies": {
280
- "zod": "3.25.76",
280
+ "zod": "^3.22.0",
281
281
  "@opentelemetry/api": "^1.7.0"
282
282
  },
283
283
  "peerDependenciesMeta": {
@@ -1,104 +0,0 @@
1
- /**
2
- * WAVE SDK - Audience API
3
- *
4
- * Interactive audience engagement: polls, Q&A, reactions, and engagement metrics.
5
- */
6
- import type { WaveClient } from "./client";
7
- export type PollStatus = "draft" | "active" | "closed";
8
- export interface Poll {
9
- id: string;
10
- stream_id: string;
11
- question: string;
12
- options: PollOption[];
13
- status: PollStatus;
14
- total_votes: number;
15
- allow_multiple: boolean;
16
- show_results: boolean;
17
- duration_seconds?: number;
18
- created_at: string;
19
- updated_at: string;
20
- }
21
- export interface PollOption {
22
- id: string;
23
- text: string;
24
- vote_count: number;
25
- percentage: number;
26
- }
27
- export interface QASession {
28
- id: string;
29
- stream_id: string;
30
- status: "active" | "paused" | "closed";
31
- questions: Question[];
32
- allow_anonymous: boolean;
33
- moderated: boolean;
34
- created_at: string;
35
- }
36
- export interface Question {
37
- id: string;
38
- session_id: string;
39
- text: string;
40
- author: string;
41
- upvotes: number;
42
- answered: boolean;
43
- answer?: string;
44
- pinned: boolean;
45
- created_at: string;
46
- }
47
- export interface ReactionBurst {
48
- stream_id: string;
49
- type: "like" | "love" | "fire" | "clap" | "laugh" | "wow";
50
- count: number;
51
- timestamp: string;
52
- }
53
- export interface EngagementMetrics {
54
- stream_id: string;
55
- active_participants: number;
56
- chat_rate_per_minute: number;
57
- reaction_rate: number;
58
- poll_participation_rate: number;
59
- qa_questions: number;
60
- peak_engagement_at: string;
61
- }
62
- export interface CreatePollRequest {
63
- stream_id: string;
64
- question: string;
65
- options: string[];
66
- allow_multiple?: boolean;
67
- show_results?: boolean;
68
- duration_seconds?: number;
69
- }
70
- export interface CreateQARequest {
71
- stream_id: string;
72
- allow_anonymous?: boolean;
73
- moderated?: boolean;
74
- }
75
- /**
76
- * Interactive audience engagement: live polls, Q&A sessions, and reactions.
77
- *
78
- * @example
79
- * ```typescript
80
- * const poll = await wave.audience.createPoll({ stream_id: id, question: "Best feature?", options: ["A", "B", "C"] });
81
- * const metrics = await wave.audience.getEngagementMetrics(streamId);
82
- * ```
83
- */
84
- export declare class AudienceAPI {
85
- private readonly client;
86
- private readonly basePath;
87
- constructor(client: WaveClient);
88
- createPoll(request: CreatePollRequest): Promise<Poll>;
89
- getPoll(pollId: string): Promise<Poll>;
90
- closePoll(pollId: string): Promise<Poll>;
91
- getPollResults(pollId: string): Promise<Poll>;
92
- vote(pollId: string, optionIds: string[]): Promise<void>;
93
- createQA(request: CreateQARequest): Promise<QASession>;
94
- getQA(sessionId: string): Promise<QASession>;
95
- closeQA(sessionId: string): Promise<QASession>;
96
- submitQuestion(sessionId: string, text: string): Promise<Question>;
97
- answerQuestion(sessionId: string, questionId: string, answer: string): Promise<Question>;
98
- upvoteQuestion(sessionId: string, questionId: string): Promise<Question>;
99
- pinQuestion(sessionId: string, questionId: string): Promise<Question>;
100
- sendReaction(streamId: string, type: ReactionBurst["type"]): Promise<void>;
101
- getReactionMetrics(streamId: string): Promise<ReactionBurst[]>;
102
- getEngagementMetrics(streamId: string): Promise<EngagementMetrics>;
103
- }
104
- export declare function createAudienceAPI(client: WaveClient): AudienceAPI;
@@ -1 +0,0 @@
1
- {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"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"}
@@ -1,54 +0,0 @@
1
- /**
2
- * WAVE Camera Control SDK
3
- *
4
- * Discover and control cameras from any manufacturer.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { WaveClient } from './client';
9
- export interface ManagedCamera {
10
- readonly id: string;
11
- readonly name: string;
12
- readonly manufacturer: 'blackmagic' | 'sony' | 'canon' | 'ptzoptics' | 'other';
13
- readonly model: string | null;
14
- readonly ipAddress: string;
15
- readonly status: 'online' | 'offline' | 'error';
16
- readonly controlProtocol: string;
17
- }
18
- export interface CameraPreset {
19
- readonly id: string;
20
- readonly name: string;
21
- readonly slot: number;
22
- }
23
- export interface CameraControlParams {
24
- readonly iris?: number;
25
- readonly focus?: number;
26
- readonly zoom?: number;
27
- readonly whiteBalance?: {
28
- temperature: number;
29
- tint: number;
30
- };
31
- readonly gain?: number;
32
- readonly shutter?: number;
33
- readonly panTilt?: {
34
- pan: number;
35
- tilt: number;
36
- speed: number;
37
- };
38
- }
39
- export declare class CameraControlAPI {
40
- private readonly client;
41
- private readonly basePath;
42
- constructor(client: WaveClient);
43
- discover(): Promise<ManagedCamera[]>;
44
- list(): Promise<ManagedCamera[]>;
45
- get(cameraId: string): Promise<ManagedCamera>;
46
- control(cameraId: string, params: CameraControlParams): Promise<void>;
47
- autofocus(cameraId: string): Promise<void>;
48
- savePreset(cameraId: string, name: string, slot: number): Promise<CameraPreset>;
49
- recallPreset(cameraId: string, presetId: string): Promise<void>;
50
- listPresets(cameraId: string): Promise<CameraPreset[]>;
51
- startRecording(cameraId: string): Promise<void>;
52
- stopRecording(cameraId: string): Promise<void>;
53
- }
54
- export declare function createCameraControlAPI(client: WaveClient): CameraControlAPI;
@@ -1 +0,0 @@
1
- {"version":3,"file":"camera-control.d.ts","sourceRoot":"","sources":["../src/camera-control.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAE9B,MAAM,EAAE,UAAU;IAIxB,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAIpC,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAIhC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/E,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAE3E"}