@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
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Chapters API
|
|
3
|
+
*
|
|
4
|
+
* Manage video chapters and smart chapter generation.
|
|
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
|
+
* Chapter status
|
|
12
|
+
*/
|
|
13
|
+
export type ChapterStatus = 'pending' | 'processing' | 'ready' | 'failed';
|
|
14
|
+
/**
|
|
15
|
+
* Chapter
|
|
16
|
+
*/
|
|
17
|
+
export interface Chapter extends Timestamps {
|
|
18
|
+
id: string;
|
|
19
|
+
media_id: string;
|
|
20
|
+
title: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
start_time: number;
|
|
23
|
+
end_time?: number;
|
|
24
|
+
thumbnail_url?: string;
|
|
25
|
+
order: number;
|
|
26
|
+
is_auto_generated: boolean;
|
|
27
|
+
confidence?: number;
|
|
28
|
+
metadata?: Metadata;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Chapter set (collection of chapters for a media)
|
|
32
|
+
*/
|
|
33
|
+
export interface ChapterSet extends Timestamps {
|
|
34
|
+
id: string;
|
|
35
|
+
organization_id: string;
|
|
36
|
+
media_id: string;
|
|
37
|
+
media_type: 'video' | 'audio' | 'stream';
|
|
38
|
+
name: string;
|
|
39
|
+
status: ChapterStatus;
|
|
40
|
+
is_default: boolean;
|
|
41
|
+
is_auto_generated: boolean;
|
|
42
|
+
chapters: Chapter[];
|
|
43
|
+
chapter_count: number;
|
|
44
|
+
error?: string;
|
|
45
|
+
metadata?: Metadata;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate chapters request
|
|
49
|
+
*/
|
|
50
|
+
export interface GenerateChaptersRequest {
|
|
51
|
+
media_id: string;
|
|
52
|
+
media_type: 'video' | 'audio' | 'stream';
|
|
53
|
+
name?: string;
|
|
54
|
+
/** Minimum chapter duration in seconds */
|
|
55
|
+
min_duration?: number;
|
|
56
|
+
/** Maximum number of chapters */
|
|
57
|
+
max_chapters?: number;
|
|
58
|
+
/** Detection method */
|
|
59
|
+
method?: 'scene' | 'topic' | 'combined';
|
|
60
|
+
/** Use transcript for topic detection */
|
|
61
|
+
use_transcript?: boolean;
|
|
62
|
+
/** Caption track ID if using transcript */
|
|
63
|
+
caption_track_id?: string;
|
|
64
|
+
/** Generate thumbnails for chapters */
|
|
65
|
+
generate_thumbnails?: boolean;
|
|
66
|
+
/** Set as default chapter set */
|
|
67
|
+
set_as_default?: boolean;
|
|
68
|
+
/** Webhook URL for completion */
|
|
69
|
+
webhook_url?: string;
|
|
70
|
+
metadata?: Metadata;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create chapter set request
|
|
74
|
+
*/
|
|
75
|
+
export interface CreateChapterSetRequest {
|
|
76
|
+
media_id: string;
|
|
77
|
+
media_type: 'video' | 'audio' | 'stream';
|
|
78
|
+
name: string;
|
|
79
|
+
chapters: CreateChapterRequest[];
|
|
80
|
+
set_as_default?: boolean;
|
|
81
|
+
metadata?: Metadata;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create chapter request
|
|
85
|
+
*/
|
|
86
|
+
export interface CreateChapterRequest {
|
|
87
|
+
title: string;
|
|
88
|
+
description?: string;
|
|
89
|
+
start_time: number;
|
|
90
|
+
end_time?: number;
|
|
91
|
+
thumbnail_url?: string;
|
|
92
|
+
metadata?: Metadata;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Update chapter request
|
|
96
|
+
*/
|
|
97
|
+
export interface UpdateChapterRequest {
|
|
98
|
+
title?: string;
|
|
99
|
+
description?: string;
|
|
100
|
+
start_time?: number;
|
|
101
|
+
end_time?: number;
|
|
102
|
+
thumbnail_url?: string;
|
|
103
|
+
order?: number;
|
|
104
|
+
metadata?: Metadata;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Update chapter set request
|
|
108
|
+
*/
|
|
109
|
+
export interface UpdateChapterSetRequest {
|
|
110
|
+
name?: string;
|
|
111
|
+
is_default?: boolean;
|
|
112
|
+
metadata?: Metadata;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* List chapter sets params
|
|
116
|
+
*/
|
|
117
|
+
export interface ListChapterSetsParams extends PaginationParams {
|
|
118
|
+
media_id?: string;
|
|
119
|
+
media_type?: 'video' | 'audio' | 'stream';
|
|
120
|
+
status?: ChapterStatus;
|
|
121
|
+
is_auto_generated?: boolean;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Chapters API client
|
|
125
|
+
*
|
|
126
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
127
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* import { WaveClient } from '@wave/sdk';
|
|
132
|
+
* import { ChaptersAPI } from '@wave/sdk/chapters';
|
|
133
|
+
*
|
|
134
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
135
|
+
* const chapters = new ChaptersAPI(client);
|
|
136
|
+
*
|
|
137
|
+
* // Generate chapters automatically
|
|
138
|
+
* const chapterSet = await chapters.generate({
|
|
139
|
+
* media_id: 'video_123',
|
|
140
|
+
* media_type: 'video',
|
|
141
|
+
* method: 'combined',
|
|
142
|
+
* generate_thumbnails: true,
|
|
143
|
+
* });
|
|
144
|
+
*
|
|
145
|
+
* // Wait for processing
|
|
146
|
+
* const ready = await chapters.waitForReady(chapterSet.id);
|
|
147
|
+
* console.log('Chapters:', ready.chapters);
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export declare class ChaptersAPI {
|
|
151
|
+
private readonly client;
|
|
152
|
+
private readonly basePath;
|
|
153
|
+
constructor(client: WaveClient);
|
|
154
|
+
/**
|
|
155
|
+
* Generate chapters using AI
|
|
156
|
+
*
|
|
157
|
+
* Requires: chapters:generate permission
|
|
158
|
+
*/
|
|
159
|
+
generate(request: GenerateChaptersRequest): Promise<ChapterSet>;
|
|
160
|
+
/**
|
|
161
|
+
* Create a chapter set manually
|
|
162
|
+
*
|
|
163
|
+
* Requires: chapters:create permission
|
|
164
|
+
*/
|
|
165
|
+
createSet(request: CreateChapterSetRequest): Promise<ChapterSet>;
|
|
166
|
+
/**
|
|
167
|
+
* Get a chapter set by ID
|
|
168
|
+
*
|
|
169
|
+
* Requires: chapters:read permission
|
|
170
|
+
*/
|
|
171
|
+
getSet(setId: string): Promise<ChapterSet>;
|
|
172
|
+
/**
|
|
173
|
+
* Update a chapter set
|
|
174
|
+
*
|
|
175
|
+
* Requires: chapters:update permission
|
|
176
|
+
*/
|
|
177
|
+
updateSet(setId: string, request: UpdateChapterSetRequest): Promise<ChapterSet>;
|
|
178
|
+
/**
|
|
179
|
+
* Remove a chapter set
|
|
180
|
+
*
|
|
181
|
+
* Requires: chapters:remove permission (canDelete verified server-side)
|
|
182
|
+
*/
|
|
183
|
+
removeSet(setId: string): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* List chapter sets
|
|
186
|
+
*
|
|
187
|
+
* Requires: chapters:read permission
|
|
188
|
+
*/
|
|
189
|
+
listSets(params?: ListChapterSetsParams): Promise<PaginatedResponse<ChapterSet>>;
|
|
190
|
+
/**
|
|
191
|
+
* Get the default chapter set for a media
|
|
192
|
+
*
|
|
193
|
+
* Requires: chapters:read permission
|
|
194
|
+
*/
|
|
195
|
+
getDefaultSet(mediaId: string, mediaType: 'video' | 'audio' | 'stream'): Promise<ChapterSet | null>;
|
|
196
|
+
/**
|
|
197
|
+
* Duplicate a chapter set
|
|
198
|
+
*
|
|
199
|
+
* Requires: chapters:create permission
|
|
200
|
+
*/
|
|
201
|
+
duplicateSet(setId: string, name?: string): Promise<ChapterSet>;
|
|
202
|
+
/**
|
|
203
|
+
* Add a chapter to a set
|
|
204
|
+
*
|
|
205
|
+
* Requires: chapters:update permission
|
|
206
|
+
*/
|
|
207
|
+
addChapter(setId: string, chapter: CreateChapterRequest): Promise<Chapter>;
|
|
208
|
+
/**
|
|
209
|
+
* Get a chapter by ID
|
|
210
|
+
*
|
|
211
|
+
* Requires: chapters:read permission
|
|
212
|
+
*/
|
|
213
|
+
getChapter(setId: string, chapterId: string): Promise<Chapter>;
|
|
214
|
+
/**
|
|
215
|
+
* Update a chapter
|
|
216
|
+
*
|
|
217
|
+
* Requires: chapters:update permission
|
|
218
|
+
*/
|
|
219
|
+
updateChapter(setId: string, chapterId: string, request: UpdateChapterRequest): Promise<Chapter>;
|
|
220
|
+
/**
|
|
221
|
+
* Remove a chapter
|
|
222
|
+
*
|
|
223
|
+
* Requires: chapters:update permission (server-side RBAC enforced)
|
|
224
|
+
*/
|
|
225
|
+
removeChapter(setId: string, chapterId: string): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Reorder chapters
|
|
228
|
+
*
|
|
229
|
+
* Requires: chapters:update permission
|
|
230
|
+
*/
|
|
231
|
+
reorderChapters(setId: string, chapterIds: string[]): Promise<ChapterSet>;
|
|
232
|
+
/**
|
|
233
|
+
* Bulk update chapters
|
|
234
|
+
*
|
|
235
|
+
* Requires: chapters:update permission
|
|
236
|
+
*/
|
|
237
|
+
bulkUpdateChapters(setId: string, updates: Array<{
|
|
238
|
+
id: string;
|
|
239
|
+
} & Partial<UpdateChapterRequest>>): Promise<{
|
|
240
|
+
updated: number;
|
|
241
|
+
}>;
|
|
242
|
+
/**
|
|
243
|
+
* Generate thumbnail for a chapter
|
|
244
|
+
*
|
|
245
|
+
* Requires: chapters:update permission
|
|
246
|
+
*/
|
|
247
|
+
generateThumbnail(setId: string, chapterId: string, options?: {
|
|
248
|
+
time?: number;
|
|
249
|
+
}): Promise<Chapter>;
|
|
250
|
+
/**
|
|
251
|
+
* Generate thumbnails for all chapters in a set
|
|
252
|
+
*
|
|
253
|
+
* Requires: chapters:update permission
|
|
254
|
+
*/
|
|
255
|
+
generateAllThumbnails(setId: string): Promise<{
|
|
256
|
+
generated: number;
|
|
257
|
+
}>;
|
|
258
|
+
/**
|
|
259
|
+
* Export chapters in various formats
|
|
260
|
+
*
|
|
261
|
+
* Requires: chapters:read permission
|
|
262
|
+
*/
|
|
263
|
+
exportChapters(setId: string, format: 'json' | 'youtube' | 'webvtt' | 'ffmpeg'): Promise<{
|
|
264
|
+
content: string;
|
|
265
|
+
format: string;
|
|
266
|
+
}>;
|
|
267
|
+
/**
|
|
268
|
+
* Import chapters from a format
|
|
269
|
+
*
|
|
270
|
+
* Requires: chapters:create permission
|
|
271
|
+
*/
|
|
272
|
+
importChapters(mediaId: string, mediaType: 'video' | 'audio' | 'stream', format: 'json' | 'youtube' | 'webvtt' | 'ffmpeg', content: string, options?: {
|
|
273
|
+
name?: string;
|
|
274
|
+
set_as_default?: boolean;
|
|
275
|
+
}): Promise<ChapterSet>;
|
|
276
|
+
/**
|
|
277
|
+
* Wait for chapter generation to complete
|
|
278
|
+
*/
|
|
279
|
+
waitForReady(setId: string, options?: {
|
|
280
|
+
pollInterval?: number;
|
|
281
|
+
timeout?: number;
|
|
282
|
+
onProgress?: (set: ChapterSet) => void;
|
|
283
|
+
}): Promise<ChapterSet>;
|
|
284
|
+
/**
|
|
285
|
+
* Get chapter at a specific time
|
|
286
|
+
*
|
|
287
|
+
* Requires: chapters:read permission
|
|
288
|
+
*/
|
|
289
|
+
getChapterAtTime(setId: string, time: number): Promise<Chapter | null>;
|
|
290
|
+
/**
|
|
291
|
+
* Merge chapters
|
|
292
|
+
*
|
|
293
|
+
* Requires: chapters:update permission
|
|
294
|
+
*/
|
|
295
|
+
mergeChapters(setId: string, chapterIds: string[], options?: {
|
|
296
|
+
title?: string;
|
|
297
|
+
description?: string;
|
|
298
|
+
}): Promise<Chapter>;
|
|
299
|
+
/**
|
|
300
|
+
* Split a chapter at a specific time
|
|
301
|
+
*
|
|
302
|
+
* Requires: chapters:update permission
|
|
303
|
+
*/
|
|
304
|
+
splitChapter(setId: string, chapterId: string, splitTime: number, options?: {
|
|
305
|
+
first_title?: string;
|
|
306
|
+
second_title?: string;
|
|
307
|
+
}): Promise<{
|
|
308
|
+
first: Chapter;
|
|
309
|
+
second: Chapter;
|
|
310
|
+
}>;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Create a Chapters API instance
|
|
314
|
+
*/
|
|
315
|
+
export declare function createChaptersAPI(client: WaveClient): ChaptersAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chapters.d.ts","sourceRoot":"","sources":["../src/chapters.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
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>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|