@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/client.d.ts DELETED
@@ -1,191 +0,0 @@
1
- /**
2
- * WAVE SDK - Base API Client
3
- *
4
- * Core HTTP client with authentication, rate limiting, and retry logic.
5
- */
6
- import { EventEmitter } from 'eventemitter3';
7
- import type { TelemetryConfig } from './telemetry';
8
- /**
9
- * SDK configuration options
10
- */
11
- export interface WaveClientConfig {
12
- /** API key for authentication */
13
- apiKey: string;
14
- /** Organization ID for tenant isolation */
15
- organizationId?: string;
16
- /** Base URL for the API (default: https://api.wave.online) */
17
- baseUrl?: string;
18
- /** Request timeout in milliseconds (default: 30000) */
19
- timeout?: number;
20
- /** Maximum retry attempts for failed requests (default: 3) */
21
- maxRetries?: number;
22
- /** Enable debug logging */
23
- debug?: boolean;
24
- /** Custom headers to include in all requests */
25
- customHeaders?: Record<string, string>;
26
- /** Optional telemetry configuration for OpenTelemetry integration */
27
- telemetry?: TelemetryConfig;
28
- }
29
- /**
30
- * Request options for individual API calls
31
- */
32
- export interface RequestOptions extends RequestInit {
33
- /** Skip retry logic for this request */
34
- noRetry?: boolean;
35
- /** Custom timeout for this request */
36
- timeout?: number;
37
- /** Query parameters */
38
- params?: Record<string, string | number | boolean | undefined>;
39
- }
40
- /**
41
- * API error response structure
42
- */
43
- export interface WaveAPIErrorResponse {
44
- error: {
45
- code: string;
46
- message: string;
47
- details?: Record<string, unknown>;
48
- };
49
- request_id?: string;
50
- }
51
- /**
52
- * WAVE SDK Error class
53
- */
54
- export declare class WaveError extends Error {
55
- readonly code: string;
56
- readonly statusCode: number;
57
- readonly requestId?: string;
58
- readonly details?: Record<string, unknown>;
59
- readonly retryable: boolean;
60
- constructor(message: string, code: string, statusCode: number, requestId?: string, details?: Record<string, unknown>);
61
- private isRetryable;
62
- }
63
- /**
64
- * Rate limit error with retry information
65
- */
66
- export declare class RateLimitError extends WaveError {
67
- readonly retryAfter: number;
68
- constructor(message: string, retryAfter: number, requestId?: string);
69
- }
70
- export interface WaveClientEvents {
71
- 'request.start': (url: string, method: string) => void;
72
- 'request.success': (url: string, method: string, duration: number) => void;
73
- 'request.error': (url: string, method: string, error: Error) => void;
74
- 'request.retry': (url: string, method: string, attempt: number, delay: number) => void;
75
- 'rate_limit.hit': (retryAfter: number) => void;
76
- }
77
- /**
78
- * WAVE API Base Client
79
- *
80
- * Handles authentication, rate limiting, and retry logic for all API requests.
81
- *
82
- * @example
83
- * ```typescript
84
- * const client = new WaveClient({
85
- * apiKey: process.env.WAVE_API_KEY!,
86
- * organizationId: 'org_123',
87
- * });
88
- *
89
- * // Make a request
90
- * const response = await client.get('/v1/clips');
91
- * ```
92
- */
93
- export declare class WaveClient extends EventEmitter<WaveClientEvents> {
94
- protected readonly config: Required<Omit<WaveClientConfig, 'customHeaders' | 'telemetry'>> & {
95
- customHeaders: Record<string, string>;
96
- telemetry?: TelemetryConfig;
97
- };
98
- constructor(config: WaveClientConfig);
99
- /**
100
- * Make a GET request
101
- */
102
- get<T>(path: string, options?: RequestOptions): Promise<T>;
103
- /**
104
- * Make a POST request
105
- */
106
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
107
- /**
108
- * Make a PUT request
109
- */
110
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
111
- /**
112
- * Make a PATCH request
113
- */
114
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
115
- /**
116
- * Make a DELETE request
117
- */
118
- delete<T>(path: string, options?: RequestOptions): Promise<T>;
119
- /**
120
- * Make an API request with retry logic
121
- */
122
- protected request<T>(path: string, options?: RequestOptions): Promise<T>;
123
- /**
124
- * Execute request with exponential backoff retry
125
- */
126
- private executeWithRetry;
127
- /**
128
- * Fetch with timeout
129
- */
130
- private fetchWithTimeout;
131
- /**
132
- * Build request headers
133
- */
134
- private buildHeaders;
135
- /**
136
- * Parse error response
137
- */
138
- private parseErrorResponse;
139
- /**
140
- * Parse Retry-After header
141
- */
142
- private parseRetryAfter;
143
- /**
144
- * Calculate exponential backoff delay
145
- */
146
- private calculateBackoff;
147
- /**
148
- * Sleep utility
149
- */
150
- private sleep;
151
- /**
152
- * Log debug message
153
- */
154
- protected log(message: string, ...args: unknown[]): void;
155
- }
156
- /**
157
- * Create a new WAVE client instance
158
- */
159
- export declare function createClient(config: WaveClientConfig): WaveClient;
160
- /**
161
- * Standard pagination parameters
162
- */
163
- export interface PaginationParams {
164
- limit?: number;
165
- offset?: number;
166
- cursor?: string;
167
- }
168
- /**
169
- * Standard paginated response
170
- */
171
- export interface PaginatedResponse<T> {
172
- data: T[];
173
- total: number;
174
- has_more: boolean;
175
- next_cursor?: string;
176
- }
177
- /**
178
- * Media types supported by WAVE
179
- */
180
- export type MediaType = 'video' | 'audio' | 'image';
181
- /**
182
- * Standard timestamp fields
183
- */
184
- export interface Timestamps {
185
- created_at: string;
186
- updated_at: string;
187
- }
188
- /**
189
- * Standard metadata object
190
- */
191
- export type Metadata = Record<string, string | number | boolean>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/clips.d.ts DELETED
@@ -1,258 +0,0 @@
1
- /**
2
- * WAVE SDK - Clips API
3
- *
4
- * Create, manage, and export video clips from streams and recordings.
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
- * Clip status
12
- */
13
- export type ClipStatus = 'pending' | 'processing' | 'ready' | 'failed' | 'deleted';
14
- /**
15
- * Clip export format
16
- */
17
- export type ClipExportFormat = 'mp4' | 'webm' | 'mov' | 'gif' | 'mp3' | 'wav';
18
- /**
19
- * Clip quality preset
20
- */
21
- export type ClipQualityPreset = 'low' | 'medium' | 'high' | 'source' | 'custom';
22
- /**
23
- * Clip source reference
24
- */
25
- export interface ClipSource {
26
- type: 'stream' | 'recording' | 'upload';
27
- id: string;
28
- start_time: number;
29
- end_time: number;
30
- }
31
- /**
32
- * Clip object
33
- */
34
- export interface Clip extends Timestamps {
35
- id: string;
36
- organization_id: string;
37
- title: string;
38
- description?: string;
39
- source: ClipSource;
40
- status: ClipStatus;
41
- duration: number;
42
- thumbnail_url?: string;
43
- playback_url?: string;
44
- download_url?: string;
45
- file_size?: number;
46
- width?: number;
47
- height?: number;
48
- frame_rate?: number;
49
- bitrate?: number;
50
- codec?: string;
51
- tags?: string[];
52
- metadata?: Metadata;
53
- error?: string;
54
- }
55
- /**
56
- * Create clip request
57
- */
58
- export interface CreateClipRequest {
59
- title: string;
60
- description?: string;
61
- source: ClipSource;
62
- quality?: ClipQualityPreset;
63
- format?: ClipExportFormat;
64
- tags?: string[];
65
- metadata?: Metadata;
66
- /** Enable AI-powered highlight detection */
67
- auto_highlights?: boolean;
68
- /** Webhook URL for status updates */
69
- webhook_url?: string;
70
- }
71
- /**
72
- * Update clip request
73
- */
74
- export interface UpdateClipRequest {
75
- title?: string;
76
- description?: string;
77
- tags?: string[];
78
- metadata?: Metadata;
79
- }
80
- /**
81
- * List clips filters
82
- */
83
- export interface ListClipsParams extends PaginationParams {
84
- status?: ClipStatus;
85
- source_type?: 'stream' | 'recording' | 'upload';
86
- source_id?: string;
87
- tags?: string[];
88
- created_after?: string;
89
- created_before?: string;
90
- order_by?: 'created_at' | 'duration' | 'title';
91
- order?: 'asc' | 'desc';
92
- }
93
- /**
94
- * Export clip request
95
- */
96
- export interface ExportClipRequest {
97
- format: ClipExportFormat;
98
- quality?: ClipQualityPreset;
99
- /** Custom resolution (e.g., "1920x1080") */
100
- resolution?: string;
101
- /** Custom bitrate in kbps */
102
- bitrate?: number;
103
- /** Include audio */
104
- include_audio?: boolean;
105
- /** Add watermark */
106
- watermark?: {
107
- image_url: string;
108
- position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center';
109
- opacity?: number;
110
- scale?: number;
111
- };
112
- }
113
- /**
114
- * Export job status
115
- */
116
- export interface ClipExport extends Timestamps {
117
- id: string;
118
- clip_id: string;
119
- status: 'pending' | 'processing' | 'ready' | 'failed';
120
- format: ClipExportFormat;
121
- download_url?: string;
122
- file_size?: number;
123
- expires_at?: string;
124
- error?: string;
125
- }
126
- /**
127
- * Auto-highlight result
128
- */
129
- export interface ClipHighlight {
130
- start_time: number;
131
- end_time: number;
132
- score: number;
133
- type: 'action' | 'speech' | 'emotion' | 'custom';
134
- label?: string;
135
- }
136
- /**
137
- * Clips API client
138
- *
139
- * All operations require appropriate permissions. Authorization is enforced
140
- * server-side - the API returns 403 if the authenticated user lacks access.
141
- *
142
- * @example
143
- * ```typescript
144
- * import { WaveClient } from '@wave/sdk';
145
- * import { ClipsAPI } from '@wave/sdk/clips';
146
- *
147
- * const client = new WaveClient({ apiKey: 'your-api-key' });
148
- * const clips = new ClipsAPI(client);
149
- *
150
- * // Create a clip from a stream
151
- * const clip = await clips.create({
152
- * title: 'Best Moment',
153
- * source: {
154
- * type: 'stream',
155
- * id: 'stream_123',
156
- * start_time: 120,
157
- * end_time: 150,
158
- * },
159
- * });
160
- *
161
- * // Wait for processing
162
- * const ready = await clips.waitForReady(clip.id);
163
- * console.log('Clip ready:', ready.playback_url);
164
- * ```
165
- */
166
- export declare class ClipsAPI {
167
- private readonly client;
168
- private readonly basePath;
169
- constructor(client: WaveClient);
170
- /**
171
- * Create a new clip
172
- *
173
- * Requires: clips:create permission
174
- */
175
- create(request: CreateClipRequest): Promise<Clip>;
176
- /**
177
- * Get a clip by ID
178
- *
179
- * Requires: clips:read permission
180
- */
181
- get(clipId: string): Promise<Clip>;
182
- /**
183
- * Update a clip
184
- *
185
- * Requires: clips:update permission
186
- */
187
- update(clipId: string, request: UpdateClipRequest): Promise<Clip>;
188
- /**
189
- * Remove a clip
190
- *
191
- * Requires: clips:remove permission (server-side RBAC enforced)
192
- */
193
- remove(clipId: string): Promise<void>;
194
- /**
195
- * List clips with optional filters
196
- *
197
- * Requires: clips:read permission
198
- */
199
- list(params?: ListClipsParams): Promise<PaginatedResponse<Clip>>;
200
- /**
201
- * Export a clip to a different format
202
- *
203
- * Requires: clips:export permission
204
- */
205
- exportClip(clipId: string, request: ExportClipRequest): Promise<ClipExport>;
206
- /**
207
- * Get export job status
208
- *
209
- * Requires: clips:read permission
210
- */
211
- getExport(clipId: string, exportId: string): Promise<ClipExport>;
212
- /**
213
- * List all exports for a clip
214
- *
215
- * Requires: clips:read permission
216
- */
217
- listExports(clipId: string, params?: PaginationParams): Promise<PaginatedResponse<ClipExport>>;
218
- /**
219
- * Detect highlights in source content
220
- *
221
- * Requires: clips:analyze permission
222
- */
223
- detectHighlights(sourceType: 'stream' | 'recording', sourceId: string, options?: {
224
- types?: ('action' | 'speech' | 'emotion')[];
225
- min_score?: number;
226
- max_results?: number;
227
- }): Promise<ClipHighlight[]>;
228
- /**
229
- * Generate clips from detected highlights
230
- *
231
- * Requires: clips:create permission
232
- */
233
- createFromHighlights(sourceType: 'stream' | 'recording', sourceId: string, options?: {
234
- min_score?: number;
235
- max_clips?: number;
236
- title_prefix?: string;
237
- tags?: string[];
238
- }): Promise<Clip[]>;
239
- /**
240
- * Wait for a clip to be ready
241
- */
242
- waitForReady(clipId: string, options?: {
243
- pollInterval?: number;
244
- timeout?: number;
245
- onProgress?: (clip: Clip) => void;
246
- }): Promise<Clip>;
247
- /**
248
- * Wait for an export to be ready
249
- */
250
- waitForExport(clipId: string, exportId: string, options?: {
251
- pollInterval?: number;
252
- timeout?: number;
253
- }): Promise<ClipExport>;
254
- }
255
- /**
256
- * Create a Clips API instance
257
- */
258
- export declare function createClipsAPI(client: WaveClient): ClipsAPI;
@@ -1 +0,0 @@
1
- {"version":3,"file":"clips.d.ts","sourceRoot":"","sources":["../src/clips.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * WAVE Cloud Switcher SDK
3
- *
4
- * Control cloud video switchers programmatically.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { WaveClient } from './client';
9
- export interface SwitcherInstance {
10
- readonly id: string;
11
- readonly name: string;
12
- readonly status: 'idle' | 'live' | 'error';
13
- readonly inputCount: number;
14
- readonly outputCount: number;
15
- readonly resolution: '720p' | '1080p' | '4k';
16
- readonly frameRate: 30 | 60;
17
- readonly tier: 'starter' | 'pro' | 'enterprise';
18
- readonly createdAt: string;
19
- }
20
- export interface SwitcherSource {
21
- readonly id: string;
22
- readonly type: 'webrtc' | 'srt' | 'ndi' | 'rtmp' | 'hls';
23
- readonly label: string;
24
- readonly status: 'connecting' | 'active' | 'error' | 'disconnected';
25
- }
26
- export interface TransitionOptions {
27
- readonly type: 'cut' | 'mix' | 'wipe' | 'dip' | 'dve';
28
- readonly durationMs?: number;
29
- readonly wipePattern?: string;
30
- }
31
- export interface CreateSwitcherOptions {
32
- readonly name: string;
33
- readonly resolution?: '720p' | '1080p' | '4k';
34
- readonly frameRate?: 30 | 60;
35
- }
36
- export interface AddSourceOptions {
37
- readonly type: 'webrtc' | 'srt' | 'ndi' | 'rtmp';
38
- readonly label: string;
39
- readonly config: Record<string, unknown>;
40
- }
41
- export interface AddOutputOptions {
42
- readonly type: 'rtmp' | 'srt' | 'hls' | 'recording';
43
- readonly config: Record<string, unknown>;
44
- }
45
- export declare class CloudSwitcherAPI {
46
- private readonly client;
47
- private readonly basePath;
48
- constructor(client: WaveClient);
49
- create(options: CreateSwitcherOptions): Promise<SwitcherInstance>;
50
- get(switcherId: string): Promise<SwitcherInstance>;
51
- list(): Promise<SwitcherInstance[]>;
52
- remove(switcherId: string): Promise<void>;
53
- addSource(switcherId: string, options: AddSourceOptions): Promise<SwitcherSource>;
54
- removeSource(switcherId: string, sourceId: string): Promise<void>;
55
- switchTo(switcherId: string, sourceId: string): Promise<void>;
56
- transition(switcherId: string, options: TransitionOptions): Promise<void>;
57
- addOutput(switcherId: string, options: AddOutputOptions): Promise<{
58
- id: string;
59
- }>;
60
- startStreaming(switcherId: string, outputId: string): Promise<void>;
61
- stopStreaming(switcherId: string, outputId: string): Promise<void>;
62
- startRecording(switcherId: string): Promise<void>;
63
- stopRecording(switcherId: string): Promise<void>;
64
- }
65
- export declare function createCloudSwitcherAPI(client: WaveClient): CloudSwitcherAPI;
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-switcher.d.ts","sourceRoot":"","sources":["../src/cloud-switcher.ts"],"names":[],"mappings":"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"}