@wave-av/sdk 2.0.4 → 2.0.6
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 +105 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/billing-types.d.ts +39 -0
- package/dist/billing-types.d.ts.map +1 -0
- package/dist/billing-types.js +18 -0
- package/dist/billing-types.mjs +0 -0
- package/dist/billing.d.ts +69 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +139 -0
- package/dist/billing.mjs +9 -0
- package/dist/camera-control.d.ts +55 -0
- package/dist/camera-control.d.ts.map +1 -0
- package/dist/captions-types.d.ts +119 -0
- package/dist/captions-types.d.ts.map +1 -0
- package/dist/captions.d.ts +218 -0
- package/dist/captions.d.ts.map +1 -0
- package/dist/chapters-types.d.ts +87 -0
- package/dist/chapters-types.d.ts.map +1 -0
- package/dist/chapters.d.ts +207 -0
- package/dist/chapters.d.ts.map +1 -0
- package/dist/chunk-I3V47I4W.mjs +114 -0
- package/dist/client-types.d.ts +59 -0
- package/dist/client-types.d.ts.map +1 -0
- package/dist/client.d.ts +120 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clips-types.d.ts +31 -0
- package/dist/clips-types.d.ts.map +1 -0
- package/dist/clips.d.ts +230 -0
- package/dist/clips.d.ts.map +1 -0
- package/dist/cloud-switcher.d.ts +66 -0
- package/dist/cloud-switcher.d.ts.map +1 -0
- package/dist/collab-types.d.ts +205 -0
- package/dist/collab-types.d.ts.map +1 -0
- package/dist/collab.d.ts +227 -0
- package/dist/collab.d.ts.map +1 -0
- package/dist/connect.d.ts +89 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/creator.d.ts +110 -0
- package/dist/creator.d.ts.map +1 -0
- package/dist/desktop.d.ts +96 -0
- package/dist/desktop.d.ts.map +1 -0
- package/dist/distribution.d.ts +93 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/drm.d.ts +88 -0
- package/dist/drm.d.ts.map +1 -0
- package/dist/edge.d.ts +113 -0
- package/dist/edge.d.ts.map +1 -0
- package/dist/editor-types.d.ts +237 -0
- package/dist/editor-types.d.ts.map +1 -0
- package/dist/editor.d.ts +207 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/fleet.d.ts +208 -0
- package/dist/fleet.d.ts.map +1 -0
- package/dist/ghost.d.ts +214 -0
- package/dist/ghost.d.ts.map +1 -0
- package/dist/index.d.ts +131 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +114 -0
- package/dist/index.mjs +49 -43
- package/dist/marketplace.d.ts +91 -0
- package/dist/marketplace.d.ts.map +1 -0
- package/dist/mesh.d.ts +238 -0
- package/dist/mesh.d.ts.map +1 -0
- package/dist/notifications.d.ts +83 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/phone-types.d.ts +111 -0
- package/dist/phone-types.d.ts.map +1 -0
- package/dist/phone.d.ts +235 -0
- package/dist/phone.d.ts.map +1 -0
- package/dist/pipeline-types.d.ts +188 -0
- package/dist/pipeline-types.d.ts.map +1 -0
- package/dist/pipeline.d.ts +224 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/podcast.d.ts +114 -0
- package/dist/podcast.d.ts.map +1 -0
- package/dist/prism.d.ts +133 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prompter.d.ts +185 -0
- package/dist/prompter.d.ts.map +1 -0
- package/dist/pulse.d.ts +157 -0
- package/dist/pulse.d.ts.map +1 -0
- package/dist/qr.d.ts +83 -0
- package/dist/qr.d.ts.map +1 -0
- package/dist/replay.d.ts +53 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/scene-types.d.ts +191 -0
- package/dist/scene-types.d.ts.map +1 -0
- package/dist/scene.d.ts +214 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/search-types.d.ts +211 -0
- package/dist/search-types.d.ts.map +1 -0
- package/dist/search.d.ts +251 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/sentiment-types.d.ts +108 -0
- package/dist/sentiment-types.d.ts.map +1 -0
- package/dist/sentiment.d.ts +247 -0
- package/dist/sentiment.d.ts.map +1 -0
- package/dist/signage.d.ts +102 -0
- package/dist/signage.d.ts.map +1 -0
- package/dist/slides.d.ts +69 -0
- package/dist/slides.d.ts.map +1 -0
- package/dist/studio-ai-types.d.ts +199 -0
- package/dist/studio-ai-types.d.ts.map +1 -0
- package/dist/studio-ai.d.ts +219 -0
- package/dist/studio-ai.d.ts.map +1 -0
- package/dist/studio-types.d.ts +268 -0
- package/dist/studio-types.d.ts.map +1 -0
- package/dist/studio.d.ts +235 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/telemetry.d.ts +77 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/transcribe-types.d.ts +154 -0
- package/dist/transcribe-types.d.ts.map +1 -0
- package/dist/transcribe.d.ts +219 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/usb.d.ts +65 -0
- package/dist/usb.d.ts.map +1 -0
- package/dist/vault.d.ts +122 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/voice-types.d.ts +107 -0
- package/dist/voice-types.d.ts.map +1 -0
- package/dist/voice.d.ts +178 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/zoom.d.ts +92 -0
- package/dist/zoom.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Scene AI API
|
|
3
|
+
*
|
|
4
|
+
* AI-powered scene detection, analysis, and segmentation.
|
|
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
|
+
* Scene detection status
|
|
12
|
+
*/
|
|
13
|
+
export type SceneDetectionStatus = 'pending' | 'processing' | 'ready' | 'failed';
|
|
14
|
+
/**
|
|
15
|
+
* Scene type
|
|
16
|
+
*/
|
|
17
|
+
export type SceneType = 'intro' | 'outro' | 'transition' | 'main_content' | 'interview' | 'b_roll' | 'action' | 'dialogue' | 'montage' | 'credits' | 'advertisement' | 'unknown';
|
|
18
|
+
/**
|
|
19
|
+
* Shot type
|
|
20
|
+
*/
|
|
21
|
+
export type ShotType = 'wide' | 'medium' | 'close_up' | 'extreme_close_up' | 'establishing' | 'over_shoulder' | 'pov' | 'aerial' | 'tracking' | 'static';
|
|
22
|
+
/**
|
|
23
|
+
* Scene detection job
|
|
24
|
+
*/
|
|
25
|
+
export interface SceneDetection extends Timestamps {
|
|
26
|
+
id: string;
|
|
27
|
+
organization_id: string;
|
|
28
|
+
media_id: string;
|
|
29
|
+
media_type: 'video' | 'stream' | 'recording';
|
|
30
|
+
status: SceneDetectionStatus;
|
|
31
|
+
scene_count?: number;
|
|
32
|
+
shot_count?: number;
|
|
33
|
+
total_duration?: number;
|
|
34
|
+
processing_time?: number;
|
|
35
|
+
error?: string;
|
|
36
|
+
metadata?: Metadata;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Detected scene
|
|
40
|
+
*/
|
|
41
|
+
export interface Scene extends Timestamps {
|
|
42
|
+
id: string;
|
|
43
|
+
detection_id: string;
|
|
44
|
+
start_time: number;
|
|
45
|
+
end_time: number;
|
|
46
|
+
duration: number;
|
|
47
|
+
scene_type: SceneType;
|
|
48
|
+
confidence: number;
|
|
49
|
+
thumbnail_url?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
shots: Shot[];
|
|
52
|
+
labels: SceneLabel[];
|
|
53
|
+
visual_features: VisualFeatures;
|
|
54
|
+
audio_features?: AudioFeatures;
|
|
55
|
+
order: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Shot within a scene
|
|
59
|
+
*/
|
|
60
|
+
export interface Shot {
|
|
61
|
+
id: string;
|
|
62
|
+
start_time: number;
|
|
63
|
+
end_time: number;
|
|
64
|
+
duration: number;
|
|
65
|
+
shot_type: ShotType;
|
|
66
|
+
confidence: number;
|
|
67
|
+
thumbnail_url?: string;
|
|
68
|
+
motion_intensity: number;
|
|
69
|
+
dominant_colors: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Scene label
|
|
73
|
+
*/
|
|
74
|
+
export interface SceneLabel {
|
|
75
|
+
label: string;
|
|
76
|
+
confidence: number;
|
|
77
|
+
category: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Visual features
|
|
81
|
+
*/
|
|
82
|
+
export interface VisualFeatures {
|
|
83
|
+
dominant_colors: string[];
|
|
84
|
+
brightness: number;
|
|
85
|
+
contrast: number;
|
|
86
|
+
saturation: number;
|
|
87
|
+
motion_intensity: number;
|
|
88
|
+
faces_detected: number;
|
|
89
|
+
text_detected: boolean;
|
|
90
|
+
objects: string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Audio features
|
|
94
|
+
*/
|
|
95
|
+
export interface AudioFeatures {
|
|
96
|
+
has_speech: boolean;
|
|
97
|
+
has_music: boolean;
|
|
98
|
+
loudness: number;
|
|
99
|
+
silence_ratio: number;
|
|
100
|
+
speech_ratio: number;
|
|
101
|
+
music_ratio: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Scene boundary
|
|
105
|
+
*/
|
|
106
|
+
export interface SceneBoundary {
|
|
107
|
+
timestamp: number;
|
|
108
|
+
type: 'cut' | 'fade' | 'dissolve' | 'wipe' | 'other';
|
|
109
|
+
confidence: number;
|
|
110
|
+
before_thumbnail?: string;
|
|
111
|
+
after_thumbnail?: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Create scene detection request
|
|
115
|
+
*/
|
|
116
|
+
export interface CreateSceneDetectionRequest {
|
|
117
|
+
media_id: string;
|
|
118
|
+
media_type: 'video' | 'stream' | 'recording';
|
|
119
|
+
options?: {
|
|
120
|
+
/** Minimum scene duration in seconds */
|
|
121
|
+
min_scene_duration?: number;
|
|
122
|
+
/** Detection sensitivity (0-1) */
|
|
123
|
+
sensitivity?: number;
|
|
124
|
+
/** Enable shot detection */
|
|
125
|
+
detect_shots?: boolean;
|
|
126
|
+
/** Enable scene classification */
|
|
127
|
+
classify_scenes?: boolean;
|
|
128
|
+
/** Enable audio analysis */
|
|
129
|
+
analyze_audio?: boolean;
|
|
130
|
+
/** Generate thumbnails */
|
|
131
|
+
generate_thumbnails?: boolean;
|
|
132
|
+
/** Extract visual features */
|
|
133
|
+
extract_features?: boolean;
|
|
134
|
+
};
|
|
135
|
+
/** Webhook URL for completion */
|
|
136
|
+
webhook_url?: string;
|
|
137
|
+
metadata?: Metadata;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* List scene detections params
|
|
141
|
+
*/
|
|
142
|
+
export interface ListSceneDetectionsParams extends PaginationParams {
|
|
143
|
+
media_id?: string;
|
|
144
|
+
status?: SceneDetectionStatus;
|
|
145
|
+
created_after?: string;
|
|
146
|
+
created_before?: string;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Scene comparison result
|
|
150
|
+
*/
|
|
151
|
+
export interface SceneComparison {
|
|
152
|
+
source_scene_id: string;
|
|
153
|
+
target_scene_id: string;
|
|
154
|
+
similarity_score: number;
|
|
155
|
+
visual_similarity: number;
|
|
156
|
+
audio_similarity?: number;
|
|
157
|
+
duration_difference: number;
|
|
158
|
+
matched_labels: string[];
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Scene AI API client
|
|
162
|
+
*
|
|
163
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
164
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* import { WaveClient } from '@wave/sdk';
|
|
169
|
+
* import { SceneAPI } from '@wave/sdk/scene';
|
|
170
|
+
*
|
|
171
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
172
|
+
* const scene = new SceneAPI(client);
|
|
173
|
+
*
|
|
174
|
+
* // Detect scenes in a video
|
|
175
|
+
* const detection = await scene.detect({
|
|
176
|
+
* media_id: 'video_123',
|
|
177
|
+
* media_type: 'video',
|
|
178
|
+
* options: {
|
|
179
|
+
* detect_shots: true,
|
|
180
|
+
* classify_scenes: true,
|
|
181
|
+
* },
|
|
182
|
+
* });
|
|
183
|
+
*
|
|
184
|
+
* // Wait for processing
|
|
185
|
+
* const result = await scene.waitForReady(detection.id);
|
|
186
|
+
*
|
|
187
|
+
* // Get detected scenes
|
|
188
|
+
* const scenes = await scene.getScenes(detection.id);
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
//# sourceMappingURL=scene-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-types.d.ts","sourceRoot":"","sources":["../src/scene-types.ts"],"names":[],"mappings":"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"}
|
package/dist/scene.d.ts
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Scene AI API
|
|
3
|
+
*
|
|
4
|
+
* AI-powered scene detection, analysis, and segmentation.
|
|
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 } from './client';
|
|
10
|
+
import type { CreateSceneDetectionRequest, ListSceneDetectionsParams, Scene, SceneBoundary, SceneComparison, SceneDetection, SceneLabel, SceneType, Shot, ShotType } from './scene-types';
|
|
11
|
+
export * from './scene-types';
|
|
12
|
+
export declare class SceneAPI {
|
|
13
|
+
private readonly client;
|
|
14
|
+
private readonly basePath;
|
|
15
|
+
constructor(client: WaveClient);
|
|
16
|
+
/**
|
|
17
|
+
* Start scene detection
|
|
18
|
+
*
|
|
19
|
+
* Requires: scene:detect permission
|
|
20
|
+
*/
|
|
21
|
+
detect(request: CreateSceneDetectionRequest): Promise<SceneDetection>;
|
|
22
|
+
/**
|
|
23
|
+
* Get scene detection job
|
|
24
|
+
*
|
|
25
|
+
* Requires: scene:read permission
|
|
26
|
+
*/
|
|
27
|
+
getDetection(detectionId: string): Promise<SceneDetection>;
|
|
28
|
+
/**
|
|
29
|
+
* Remove scene detection
|
|
30
|
+
*
|
|
31
|
+
* Requires: scene:remove permission (server-side RBAC enforced)
|
|
32
|
+
*/
|
|
33
|
+
removeDetection(detectionId: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* List scene detections
|
|
36
|
+
*
|
|
37
|
+
* Requires: scene:read permission
|
|
38
|
+
*/
|
|
39
|
+
listDetections(params?: ListSceneDetectionsParams): Promise<PaginatedResponse<SceneDetection>>;
|
|
40
|
+
/**
|
|
41
|
+
* Get scenes for a detection
|
|
42
|
+
*
|
|
43
|
+
* Requires: scene:read permission
|
|
44
|
+
*/
|
|
45
|
+
getScenes(detectionId: string, params?: PaginationParams & {
|
|
46
|
+
scene_type?: SceneType;
|
|
47
|
+
min_duration?: number;
|
|
48
|
+
min_confidence?: number;
|
|
49
|
+
}): Promise<PaginatedResponse<Scene>>;
|
|
50
|
+
/**
|
|
51
|
+
* Get a specific scene
|
|
52
|
+
*
|
|
53
|
+
* Requires: scene:read permission
|
|
54
|
+
*/
|
|
55
|
+
getScene(detectionId: string, sceneId: string): Promise<Scene>;
|
|
56
|
+
/**
|
|
57
|
+
* Update scene metadata
|
|
58
|
+
*
|
|
59
|
+
* Requires: scene:update permission
|
|
60
|
+
*/
|
|
61
|
+
updateScene(detectionId: string, sceneId: string, updates: {
|
|
62
|
+
scene_type?: SceneType;
|
|
63
|
+
description?: string;
|
|
64
|
+
labels?: SceneLabel[];
|
|
65
|
+
}): Promise<Scene>;
|
|
66
|
+
/**
|
|
67
|
+
* Get scene at a specific timestamp
|
|
68
|
+
*
|
|
69
|
+
* Requires: scene:read permission
|
|
70
|
+
*/
|
|
71
|
+
getSceneAtTime(detectionId: string, timestamp: number): Promise<Scene | null>;
|
|
72
|
+
/**
|
|
73
|
+
* Get scene boundaries (transitions)
|
|
74
|
+
*
|
|
75
|
+
* Requires: scene:read permission
|
|
76
|
+
*/
|
|
77
|
+
getBoundaries(detectionId: string, params?: PaginationParams & {
|
|
78
|
+
type?: SceneBoundary['type'];
|
|
79
|
+
}): Promise<PaginatedResponse<SceneBoundary>>;
|
|
80
|
+
/**
|
|
81
|
+
* Detect scene boundaries only (without full analysis)
|
|
82
|
+
*
|
|
83
|
+
* Requires: scene:detect permission
|
|
84
|
+
*/
|
|
85
|
+
detectBoundaries(mediaId: string, mediaType: 'video' | 'stream' | 'recording', options?: {
|
|
86
|
+
sensitivity?: number;
|
|
87
|
+
min_gap?: number;
|
|
88
|
+
}): Promise<SceneBoundary[]>;
|
|
89
|
+
/**
|
|
90
|
+
* Get shots for a scene
|
|
91
|
+
*
|
|
92
|
+
* Requires: scene:read permission
|
|
93
|
+
*/
|
|
94
|
+
getShots(detectionId: string, sceneId: string, params?: PaginationParams): Promise<PaginatedResponse<Shot>>;
|
|
95
|
+
/**
|
|
96
|
+
* Get all shots for a detection
|
|
97
|
+
*
|
|
98
|
+
* Requires: scene:read permission
|
|
99
|
+
*/
|
|
100
|
+
getAllShots(detectionId: string, params?: PaginationParams & {
|
|
101
|
+
shot_type?: ShotType;
|
|
102
|
+
}): Promise<PaginatedResponse<Shot & {
|
|
103
|
+
scene_id: string;
|
|
104
|
+
}>>;
|
|
105
|
+
/**
|
|
106
|
+
* Get scene summary/statistics
|
|
107
|
+
*
|
|
108
|
+
* Requires: scene:read permission
|
|
109
|
+
*/
|
|
110
|
+
getSummary(detectionId: string): Promise<{
|
|
111
|
+
total_scenes: number;
|
|
112
|
+
total_shots: number;
|
|
113
|
+
scene_types: Record<SceneType, number>;
|
|
114
|
+
shot_types: Record<ShotType, number>;
|
|
115
|
+
average_scene_duration: number;
|
|
116
|
+
average_shot_duration: number;
|
|
117
|
+
dominant_colors: string[];
|
|
118
|
+
content_labels: Array<{
|
|
119
|
+
label: string;
|
|
120
|
+
count: number;
|
|
121
|
+
}>;
|
|
122
|
+
}>;
|
|
123
|
+
/**
|
|
124
|
+
* Get visual timeline
|
|
125
|
+
*
|
|
126
|
+
* Requires: scene:read permission
|
|
127
|
+
*/
|
|
128
|
+
getTimeline(detectionId: string, options?: {
|
|
129
|
+
resolution?: number;
|
|
130
|
+
include_shots?: boolean;
|
|
131
|
+
}): Promise<Array<{
|
|
132
|
+
timestamp: number;
|
|
133
|
+
scene_id: string;
|
|
134
|
+
scene_type: SceneType;
|
|
135
|
+
shot_id?: string;
|
|
136
|
+
shot_type?: ShotType;
|
|
137
|
+
thumbnail_url?: string;
|
|
138
|
+
}>>;
|
|
139
|
+
/**
|
|
140
|
+
* Compare scenes between detections
|
|
141
|
+
*
|
|
142
|
+
* Requires: scene:read permission
|
|
143
|
+
*/
|
|
144
|
+
compareScenes(sourceDetectionId: string, targetDetectionId: string, options?: {
|
|
145
|
+
min_similarity?: number;
|
|
146
|
+
}): Promise<SceneComparison[]>;
|
|
147
|
+
/**
|
|
148
|
+
* Find similar scenes across all content
|
|
149
|
+
*
|
|
150
|
+
* Requires: scene:read permission
|
|
151
|
+
*/
|
|
152
|
+
findSimilarScenes(detectionId: string, sceneId: string, options?: {
|
|
153
|
+
limit?: number;
|
|
154
|
+
min_similarity?: number;
|
|
155
|
+
}): Promise<Array<{
|
|
156
|
+
detection_id: string;
|
|
157
|
+
scene_id: string;
|
|
158
|
+
media_id: string;
|
|
159
|
+
similarity: number;
|
|
160
|
+
thumbnail_url?: string;
|
|
161
|
+
}>>;
|
|
162
|
+
/**
|
|
163
|
+
* Export scene data
|
|
164
|
+
*
|
|
165
|
+
* Requires: scene:read permission
|
|
166
|
+
*/
|
|
167
|
+
exportDetection(detectionId: string, format: 'json' | 'csv' | 'edl' | 'fcpxml'): Promise<{
|
|
168
|
+
url: string;
|
|
169
|
+
expires_at: string;
|
|
170
|
+
}>;
|
|
171
|
+
/**
|
|
172
|
+
* Generate scene thumbnails
|
|
173
|
+
*
|
|
174
|
+
* Requires: scene:update permission
|
|
175
|
+
*/
|
|
176
|
+
generateThumbnails(detectionId: string, options?: {
|
|
177
|
+
regenerate?: boolean;
|
|
178
|
+
format?: 'jpg' | 'png';
|
|
179
|
+
size?: string;
|
|
180
|
+
}): Promise<{
|
|
181
|
+
generated: number;
|
|
182
|
+
}>;
|
|
183
|
+
/**
|
|
184
|
+
* Wait for scene detection to complete
|
|
185
|
+
*/
|
|
186
|
+
waitForReady(detectionId: string, options?: {
|
|
187
|
+
pollInterval?: number;
|
|
188
|
+
timeout?: number;
|
|
189
|
+
onProgress?: (detection: SceneDetection) => void;
|
|
190
|
+
}): Promise<SceneDetection>;
|
|
191
|
+
/**
|
|
192
|
+
* Merge scenes
|
|
193
|
+
*
|
|
194
|
+
* Requires: scene:update permission
|
|
195
|
+
*/
|
|
196
|
+
mergeScenes(detectionId: string, sceneIds: string[], options?: {
|
|
197
|
+
scene_type?: SceneType;
|
|
198
|
+
description?: string;
|
|
199
|
+
}): Promise<Scene>;
|
|
200
|
+
/**
|
|
201
|
+
* Split scene at timestamp
|
|
202
|
+
*
|
|
203
|
+
* Requires: scene:update permission
|
|
204
|
+
*/
|
|
205
|
+
splitScene(detectionId: string, sceneId: string, splitTime: number): Promise<{
|
|
206
|
+
first: Scene;
|
|
207
|
+
second: Scene;
|
|
208
|
+
}>;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Create a Scene API instance
|
|
212
|
+
*/
|
|
213
|
+
export declare function createSceneAPI(client: WaveClient): SceneAPI;
|
|
214
|
+
//# sourceMappingURL=scene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,KAAK,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,IAAI,EACJ,QAAQ,EACT,MAAM,eAAe,CAAC;AAEvB,cAAc,eAAe,CAAC;AAE9B,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,MAAM,EAAE,UAAU;IAK9B;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3E;;;;OAIG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhE;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD;;;;OAIG;IACG,cAAc,CAClB,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAO7C;;;;OAIG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,gBAAgB,GAAG;QAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAOpC;;;;OAIG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpE;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;KACvB,GACA,OAAO,CAAC,KAAK,CAAC;IAOjB;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAenF;;;;OAIG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,GAC3D,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAO5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,EAC3C,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,aAAa,EAAE,CAAC;IAS3B;;;;OAIG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAOnC;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,gBAAgB,GAAG;QAAE,SAAS,CAAC,EAAE,QAAQ,CAAA;KAAE,GACnD,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK1D;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC;IAIF;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACzD,OAAO,CACR,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,SAAS,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CACH;IAMD;;;;OAIG;IACG,aAAa,CACjB,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,eAAe,EAAE,CAAC;IAQ7B;;;;OAIG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CACR,KAAK,CAAC;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CACH;IAOD;;;;OAIG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GACxC,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/C;;;;OAIG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAKjC;;OAEG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;KAClD,GACA,OAAO,CAAC,cAAc,CAAC;IA4B1B;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,SAAS,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,KAAK,CAAC;IAOjB;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,KAAK,CAAA;KAAE,CAAC;CAK5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAE3D"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Search API
|
|
3
|
+
*
|
|
4
|
+
* Search across media content using text, visual, and audio queries.
|
|
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 { Timestamps, Metadata } from './client';
|
|
10
|
+
/**
|
|
11
|
+
* Search result type
|
|
12
|
+
*/
|
|
13
|
+
export type SearchResultType = 'video' | 'audio' | 'clip' | 'stream' | 'transcript' | 'chapter';
|
|
14
|
+
/**
|
|
15
|
+
* Search mode
|
|
16
|
+
*/
|
|
17
|
+
export type SearchMode = 'text' | 'semantic' | 'visual' | 'audio' | 'multimodal';
|
|
18
|
+
/**
|
|
19
|
+
* Sort order
|
|
20
|
+
*/
|
|
21
|
+
export type SearchSortOrder = 'relevance' | 'created_at' | 'duration' | 'views' | 'engagement';
|
|
22
|
+
/**
|
|
23
|
+
* Search result
|
|
24
|
+
*/
|
|
25
|
+
export interface SearchResult {
|
|
26
|
+
id: string;
|
|
27
|
+
type: SearchResultType;
|
|
28
|
+
score: number;
|
|
29
|
+
title: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
thumbnail_url?: string;
|
|
32
|
+
preview_url?: string;
|
|
33
|
+
duration?: number;
|
|
34
|
+
timestamp?: number;
|
|
35
|
+
end_timestamp?: number;
|
|
36
|
+
highlights: SearchHighlight[];
|
|
37
|
+
metadata?: Metadata;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Search highlight
|
|
41
|
+
*/
|
|
42
|
+
export interface SearchHighlight {
|
|
43
|
+
field: string;
|
|
44
|
+
text: string;
|
|
45
|
+
ranges: Array<{
|
|
46
|
+
start: number;
|
|
47
|
+
end: number;
|
|
48
|
+
}>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Search facet
|
|
52
|
+
*/
|
|
53
|
+
export interface SearchFacet {
|
|
54
|
+
field: string;
|
|
55
|
+
values: Array<{
|
|
56
|
+
value: string;
|
|
57
|
+
count: number;
|
|
58
|
+
selected: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Search suggestion
|
|
63
|
+
*/
|
|
64
|
+
export interface SearchSuggestion {
|
|
65
|
+
text: string;
|
|
66
|
+
type: 'query' | 'content' | 'filter';
|
|
67
|
+
score: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Search request
|
|
71
|
+
*/
|
|
72
|
+
export interface SearchRequest {
|
|
73
|
+
/** Search query */
|
|
74
|
+
query: string;
|
|
75
|
+
/** Search mode */
|
|
76
|
+
mode?: SearchMode;
|
|
77
|
+
/** Result types to include */
|
|
78
|
+
types?: SearchResultType[];
|
|
79
|
+
/** Filters */
|
|
80
|
+
filters?: SearchFilters;
|
|
81
|
+
/** Sort order */
|
|
82
|
+
sort?: SearchSortOrder;
|
|
83
|
+
/** Sort direction */
|
|
84
|
+
order?: 'asc' | 'desc';
|
|
85
|
+
/** Include facets */
|
|
86
|
+
facets?: boolean;
|
|
87
|
+
/** Facet fields */
|
|
88
|
+
facet_fields?: string[];
|
|
89
|
+
/** Pagination */
|
|
90
|
+
limit?: number;
|
|
91
|
+
offset?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Search filters
|
|
95
|
+
*/
|
|
96
|
+
export interface SearchFilters {
|
|
97
|
+
/** Filter by organization */
|
|
98
|
+
organization_id?: string;
|
|
99
|
+
/** Filter by creator */
|
|
100
|
+
creator_id?: string;
|
|
101
|
+
/** Filter by tags */
|
|
102
|
+
tags?: string[];
|
|
103
|
+
/** Filter by language */
|
|
104
|
+
language?: string;
|
|
105
|
+
/** Filter by duration range (seconds) */
|
|
106
|
+
duration_min?: number;
|
|
107
|
+
duration_max?: number;
|
|
108
|
+
/** Filter by date range */
|
|
109
|
+
created_after?: string;
|
|
110
|
+
created_before?: string;
|
|
111
|
+
/** Filter by content rating */
|
|
112
|
+
content_rating?: string[];
|
|
113
|
+
/** Filter by visibility */
|
|
114
|
+
visibility?: 'public' | 'private' | 'unlisted';
|
|
115
|
+
/** Custom metadata filters */
|
|
116
|
+
metadata?: Record<string, string | number | boolean>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Search response
|
|
120
|
+
*/
|
|
121
|
+
export interface SearchResponse {
|
|
122
|
+
results: SearchResult[];
|
|
123
|
+
total: number;
|
|
124
|
+
has_more: boolean;
|
|
125
|
+
took_ms: number;
|
|
126
|
+
query_id: string;
|
|
127
|
+
suggestions?: SearchSuggestion[];
|
|
128
|
+
facets?: SearchFacet[];
|
|
129
|
+
spell_correction?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Visual search request
|
|
133
|
+
*/
|
|
134
|
+
export interface VisualSearchRequest {
|
|
135
|
+
/** Image URL to search with */
|
|
136
|
+
image_url?: string;
|
|
137
|
+
/** Base64 encoded image */
|
|
138
|
+
image_base64?: string;
|
|
139
|
+
/** Search for similar scenes */
|
|
140
|
+
scene_similarity?: boolean;
|
|
141
|
+
/** Search for objects */
|
|
142
|
+
object_detection?: boolean;
|
|
143
|
+
/** Search for faces */
|
|
144
|
+
face_detection?: boolean;
|
|
145
|
+
/** Search for text in images */
|
|
146
|
+
ocr?: boolean;
|
|
147
|
+
/** Filters */
|
|
148
|
+
filters?: SearchFilters;
|
|
149
|
+
limit?: number;
|
|
150
|
+
offset?: number;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Audio search request
|
|
154
|
+
*/
|
|
155
|
+
export interface AudioSearchRequest {
|
|
156
|
+
/** Audio URL to search with */
|
|
157
|
+
audio_url?: string;
|
|
158
|
+
/** Search for similar audio */
|
|
159
|
+
audio_similarity?: boolean;
|
|
160
|
+
/** Search for music */
|
|
161
|
+
music_detection?: boolean;
|
|
162
|
+
/** Search for speech */
|
|
163
|
+
speech_detection?: boolean;
|
|
164
|
+
/** Search for sound effects */
|
|
165
|
+
sound_effects?: boolean;
|
|
166
|
+
/** Filters */
|
|
167
|
+
filters?: SearchFilters;
|
|
168
|
+
limit?: number;
|
|
169
|
+
offset?: number;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Index status
|
|
173
|
+
*/
|
|
174
|
+
export interface IndexStatus extends Timestamps {
|
|
175
|
+
id: string;
|
|
176
|
+
media_id: string;
|
|
177
|
+
media_type: 'video' | 'audio' | 'clip' | 'stream';
|
|
178
|
+
status: 'pending' | 'indexing' | 'ready' | 'failed';
|
|
179
|
+
indexed_features: string[];
|
|
180
|
+
progress?: number;
|
|
181
|
+
error?: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Search API client
|
|
185
|
+
*
|
|
186
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
187
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* import { WaveClient } from '@wave/sdk';
|
|
192
|
+
* import { SearchAPI } from '@wave/sdk/search';
|
|
193
|
+
*
|
|
194
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
195
|
+
* const search = new SearchAPI(client);
|
|
196
|
+
*
|
|
197
|
+
* // Text search
|
|
198
|
+
* const results = await search.search({
|
|
199
|
+
* query: 'product demo',
|
|
200
|
+
* mode: 'semantic',
|
|
201
|
+
* types: ['video', 'clip'],
|
|
202
|
+
* });
|
|
203
|
+
*
|
|
204
|
+
* // Visual search
|
|
205
|
+
* const visualResults = await search.visualSearch({
|
|
206
|
+
* image_url: 'https://example.com/frame.jpg',
|
|
207
|
+
* scene_similarity: true,
|
|
208
|
+
* });
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
//# sourceMappingURL=search-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-types.d.ts","sourceRoot":"","sources":["../src/search-types.ts"],"names":[],"mappings":"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"}
|