@wave-av/sdk 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audience.d.ts +104 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/camera-control.d.ts +54 -0
- package/dist/camera-control.d.ts.map +1 -0
- package/dist/captions.d.ts +362 -0
- package/dist/captions.d.ts.map +1 -0
- package/dist/chapters.d.ts +315 -0
- package/dist/chapters.d.ts.map +1 -0
- package/dist/client.d.ts +191 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clips.d.ts +258 -0
- package/dist/clips.d.ts.map +1 -0
- package/dist/cloud-switcher.d.ts +65 -0
- package/dist/cloud-switcher.d.ts.map +1 -0
- package/dist/collab-types.d.ts +204 -0
- package/dist/collab-types.d.ts.map +1 -0
- package/dist/collab.d.ts +226 -0
- package/dist/collab.d.ts.map +1 -0
- package/dist/connect.d.ts +88 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/creator.d.ts +109 -0
- package/dist/creator.d.ts.map +1 -0
- package/dist/desktop.d.ts +95 -0
- package/dist/desktop.d.ts.map +1 -0
- package/dist/distribution.d.ts +92 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/drm.d.ts +87 -0
- package/dist/drm.d.ts.map +1 -0
- package/dist/edge.d.ts +112 -0
- package/dist/edge.d.ts.map +1 -0
- package/dist/editor-types.d.ts +236 -0
- package/dist/editor-types.d.ts.map +1 -0
- package/dist/editor.d.ts +206 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/fleet.d.ts +207 -0
- package/dist/fleet.d.ts.map +1 -0
- package/dist/ghost.d.ts +213 -0
- package/dist/ghost.d.ts.map +1 -0
- package/dist/index.d.ts +144 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/marketplace.d.ts +90 -0
- package/dist/marketplace.d.ts.map +1 -0
- package/dist/mesh.d.ts +237 -0
- package/dist/mesh.d.ts.map +1 -0
- package/dist/notifications.d.ts +82 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/phone.d.ts +369 -0
- package/dist/phone.d.ts.map +1 -0
- package/dist/pipeline.d.ts +409 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/podcast.d.ts +113 -0
- package/dist/podcast.d.ts.map +1 -0
- package/dist/prism.d.ts +132 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prompter.d.ts +184 -0
- package/dist/prompter.d.ts.map +1 -0
- package/dist/pulse.d.ts +156 -0
- package/dist/pulse.d.ts.map +1 -0
- package/dist/qr.d.ts +82 -0
- package/dist/qr.d.ts.map +1 -0
- package/dist/replay.d.ts +52 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/scene-types.d.ts +190 -0
- package/dist/scene-types.d.ts.map +1 -0
- package/dist/scene.d.ts +213 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/search-types.d.ts +210 -0
- package/dist/search-types.d.ts.map +1 -0
- package/dist/search.d.ts +250 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/sentiment.d.ts +378 -0
- package/dist/sentiment.d.ts.map +1 -0
- package/dist/signage.d.ts +101 -0
- package/dist/signage.d.ts.map +1 -0
- package/dist/slides.d.ts +68 -0
- package/dist/slides.d.ts.map +1 -0
- package/dist/studio-ai-types.d.ts +198 -0
- package/dist/studio-ai-types.d.ts.map +1 -0
- package/dist/studio-ai.d.ts +218 -0
- package/dist/studio-ai.d.ts.map +1 -0
- package/dist/studio-types.d.ts +267 -0
- package/dist/studio-types.d.ts.map +1 -0
- package/dist/studio.d.ts +234 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/telemetry.d.ts +76 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/transcribe-types.d.ts +153 -0
- package/dist/transcribe-types.d.ts.map +1 -0
- package/dist/transcribe.d.ts +218 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/usb.d.ts +64 -0
- package/dist/usb.d.ts.map +1 -0
- package/dist/vault.d.ts +121 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/voice.d.ts +307 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/zoom.d.ts +91 -0
- package/dist/zoom.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/clips.d.ts
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clips.d.ts","sourceRoot":"","sources":["../src/clips.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-switcher.d.ts","sourceRoot":"","sources":["../src/cloud-switcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Collab API
|
|
3
|
+
*
|
|
4
|
+
* Real-time collaboration features for projects and media.
|
|
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 { PaginationParams, Timestamps, Metadata } from './client';
|
|
10
|
+
/**
|
|
11
|
+
* Collaboration room status
|
|
12
|
+
*/
|
|
13
|
+
export type RoomStatus = 'active' | 'closed' | 'archived';
|
|
14
|
+
/**
|
|
15
|
+
* Participant role in collaboration
|
|
16
|
+
*/
|
|
17
|
+
export type ParticipantRole = 'owner' | 'editor' | 'commenter' | 'viewer';
|
|
18
|
+
/**
|
|
19
|
+
* Presence status
|
|
20
|
+
*/
|
|
21
|
+
export type PresenceStatus = 'online' | 'away' | 'busy' | 'offline';
|
|
22
|
+
/**
|
|
23
|
+
* Collaboration room
|
|
24
|
+
*/
|
|
25
|
+
export interface CollabRoom extends Timestamps {
|
|
26
|
+
id: string;
|
|
27
|
+
organization_id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
resource_type: 'project' | 'clip' | 'document' | 'stream';
|
|
31
|
+
resource_id: string;
|
|
32
|
+
status: RoomStatus;
|
|
33
|
+
owner_id: string;
|
|
34
|
+
max_participants?: number;
|
|
35
|
+
participant_count: number;
|
|
36
|
+
allow_anonymous: boolean;
|
|
37
|
+
settings: RoomSettings;
|
|
38
|
+
metadata?: Metadata;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Room settings
|
|
42
|
+
*/
|
|
43
|
+
export interface RoomSettings {
|
|
44
|
+
voice_enabled: boolean;
|
|
45
|
+
video_enabled: boolean;
|
|
46
|
+
screen_share_enabled: boolean;
|
|
47
|
+
chat_enabled: boolean;
|
|
48
|
+
annotations_enabled: boolean;
|
|
49
|
+
playback_sync_enabled: boolean;
|
|
50
|
+
recording_enabled: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Room participant
|
|
54
|
+
*/
|
|
55
|
+
export interface Participant extends Timestamps {
|
|
56
|
+
id: string;
|
|
57
|
+
room_id: string;
|
|
58
|
+
user_id: string;
|
|
59
|
+
display_name: string;
|
|
60
|
+
avatar_url?: string;
|
|
61
|
+
role: ParticipantRole;
|
|
62
|
+
presence: PresenceStatus;
|
|
63
|
+
cursor_position?: CursorPosition;
|
|
64
|
+
selection?: Selection;
|
|
65
|
+
permissions: ParticipantPermissions;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Participant permissions
|
|
69
|
+
*/
|
|
70
|
+
export interface ParticipantPermissions {
|
|
71
|
+
can_edit: boolean;
|
|
72
|
+
can_comment: boolean;
|
|
73
|
+
can_invite: boolean;
|
|
74
|
+
can_export: boolean;
|
|
75
|
+
can_control_playback: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Cursor position for presence
|
|
79
|
+
*/
|
|
80
|
+
export interface CursorPosition {
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
element_id?: string;
|
|
84
|
+
timestamp: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Selection range
|
|
88
|
+
*/
|
|
89
|
+
export interface Selection {
|
|
90
|
+
start: number;
|
|
91
|
+
end: number;
|
|
92
|
+
element_id?: string;
|
|
93
|
+
type: 'text' | 'timeline' | 'range';
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Comment
|
|
97
|
+
*/
|
|
98
|
+
export interface Comment extends Timestamps {
|
|
99
|
+
id: string;
|
|
100
|
+
room_id: string;
|
|
101
|
+
user_id: string;
|
|
102
|
+
display_name: string;
|
|
103
|
+
avatar_url?: string;
|
|
104
|
+
content: string;
|
|
105
|
+
timestamp?: number;
|
|
106
|
+
element_id?: string;
|
|
107
|
+
position?: {
|
|
108
|
+
x: number;
|
|
109
|
+
y: number;
|
|
110
|
+
};
|
|
111
|
+
parent_id?: string;
|
|
112
|
+
resolved: boolean;
|
|
113
|
+
reactions: Reaction[];
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Reaction
|
|
117
|
+
*/
|
|
118
|
+
export interface Reaction {
|
|
119
|
+
emoji: string;
|
|
120
|
+
user_id: string;
|
|
121
|
+
created_at: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Annotation
|
|
125
|
+
*/
|
|
126
|
+
export interface Annotation extends Timestamps {
|
|
127
|
+
id: string;
|
|
128
|
+
room_id: string;
|
|
129
|
+
user_id: string;
|
|
130
|
+
type: 'drawing' | 'text' | 'shape' | 'arrow' | 'highlight';
|
|
131
|
+
timestamp?: number;
|
|
132
|
+
duration?: number;
|
|
133
|
+
data: Record<string, unknown>;
|
|
134
|
+
color: string;
|
|
135
|
+
visible: boolean;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create room request
|
|
139
|
+
*/
|
|
140
|
+
export interface CreateRoomRequest {
|
|
141
|
+
name: string;
|
|
142
|
+
description?: string;
|
|
143
|
+
resource_type: 'project' | 'clip' | 'document' | 'stream';
|
|
144
|
+
resource_id: string;
|
|
145
|
+
max_participants?: number;
|
|
146
|
+
allow_anonymous?: boolean;
|
|
147
|
+
settings?: Partial<RoomSettings>;
|
|
148
|
+
metadata?: Metadata;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Update room request
|
|
152
|
+
*/
|
|
153
|
+
export interface UpdateRoomRequest {
|
|
154
|
+
name?: string;
|
|
155
|
+
description?: string;
|
|
156
|
+
settings?: Partial<RoomSettings>;
|
|
157
|
+
metadata?: Metadata;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Invite request
|
|
161
|
+
*/
|
|
162
|
+
export interface InviteRequest {
|
|
163
|
+
email?: string;
|
|
164
|
+
user_id?: string;
|
|
165
|
+
role: ParticipantRole;
|
|
166
|
+
message?: string;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* List rooms params
|
|
170
|
+
*/
|
|
171
|
+
export interface ListRoomsParams extends PaginationParams {
|
|
172
|
+
status?: RoomStatus;
|
|
173
|
+
resource_type?: 'project' | 'clip' | 'document' | 'stream';
|
|
174
|
+
resource_id?: string;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Collab API client
|
|
178
|
+
*
|
|
179
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
180
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* import { WaveClient } from '@wave/sdk';
|
|
185
|
+
* import { CollabAPI } from '@wave/sdk/collab';
|
|
186
|
+
*
|
|
187
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
188
|
+
* const collab = new CollabAPI(client);
|
|
189
|
+
*
|
|
190
|
+
* // Create a collaboration room for a project
|
|
191
|
+
* const room = await collab.createRoom({
|
|
192
|
+
* name: 'Project Review',
|
|
193
|
+
* resource_type: 'project',
|
|
194
|
+
* resource_id: 'project_123',
|
|
195
|
+
* settings: {
|
|
196
|
+
* voice_enabled: true,
|
|
197
|
+
* annotations_enabled: true,
|
|
198
|
+
* },
|
|
199
|
+
* });
|
|
200
|
+
*
|
|
201
|
+
* // Get join token for real-time connection
|
|
202
|
+
* const token = await collab.getJoinToken(room.id);
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collab-types.d.ts","sourceRoot":"","sources":["../src/collab-types.ts"],"names":[],"mappings":"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"}
|