@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,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Signage API
|
|
3
|
+
*
|
|
4
|
+
* Digital signage display and playlist management.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export type DisplayStatus = "online" | "offline" | "playing" | "error";
|
|
8
|
+
export interface Display extends Timestamps {
|
|
9
|
+
id: string;
|
|
10
|
+
organization_id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
status: DisplayStatus;
|
|
13
|
+
resolution: string;
|
|
14
|
+
orientation: "landscape" | "portrait";
|
|
15
|
+
location?: string;
|
|
16
|
+
current_playlist_id?: string;
|
|
17
|
+
ip_address?: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
last_seen_at?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface Playlist extends Timestamps {
|
|
22
|
+
id: string;
|
|
23
|
+
organization_id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
items: PlaylistItem[];
|
|
26
|
+
loop: boolean;
|
|
27
|
+
duration_seconds: number;
|
|
28
|
+
}
|
|
29
|
+
export interface PlaylistItem {
|
|
30
|
+
id: string;
|
|
31
|
+
type: "image" | "video" | "stream" | "webpage" | "html";
|
|
32
|
+
content_url: string;
|
|
33
|
+
duration_seconds: number;
|
|
34
|
+
transition?: string;
|
|
35
|
+
sort_order: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ScheduleEntry {
|
|
38
|
+
id: string;
|
|
39
|
+
playlist_id: string;
|
|
40
|
+
display_ids: string[];
|
|
41
|
+
start_time: string;
|
|
42
|
+
end_time: string;
|
|
43
|
+
days_of_week: number[];
|
|
44
|
+
recurring: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface DisplayConfig {
|
|
47
|
+
brightness?: number;
|
|
48
|
+
volume?: number;
|
|
49
|
+
auto_sleep?: boolean;
|
|
50
|
+
sleep_start?: string;
|
|
51
|
+
sleep_end?: string;
|
|
52
|
+
rotation?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ListDisplaysParams extends PaginationParams {
|
|
55
|
+
status?: DisplayStatus;
|
|
56
|
+
location?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Digital signage display, playlist, and schedule management.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const display = await wave.signage.registerDisplay({ name: "Lobby Screen" });
|
|
64
|
+
* const playlist = await wave.signage.createPlaylist({ name: "Welcome", items: [...] });
|
|
65
|
+
* await wave.signage.assignPlaylist(display.id, playlist.id);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare class SignageAPI {
|
|
69
|
+
private readonly client;
|
|
70
|
+
private readonly basePath;
|
|
71
|
+
constructor(client: WaveClient);
|
|
72
|
+
listDisplays(params?: ListDisplaysParams): Promise<PaginatedResponse<Display>>;
|
|
73
|
+
getDisplay(displayId: string): Promise<Display>;
|
|
74
|
+
registerDisplay(request: {
|
|
75
|
+
name: string;
|
|
76
|
+
location?: string;
|
|
77
|
+
}): Promise<Display>;
|
|
78
|
+
updateDisplay(displayId: string, updates: {
|
|
79
|
+
name?: string;
|
|
80
|
+
location?: string;
|
|
81
|
+
}): Promise<Display>;
|
|
82
|
+
removeDisplay(displayId: string): Promise<void>;
|
|
83
|
+
createPlaylist(request: {
|
|
84
|
+
name: string;
|
|
85
|
+
items: Omit<PlaylistItem, "id">[];
|
|
86
|
+
loop?: boolean;
|
|
87
|
+
}): Promise<Playlist>;
|
|
88
|
+
updatePlaylist(playlistId: string, updates: Partial<{
|
|
89
|
+
name: string;
|
|
90
|
+
items: Omit<PlaylistItem, "id">[];
|
|
91
|
+
loop: boolean;
|
|
92
|
+
}>): Promise<Playlist>;
|
|
93
|
+
removePlaylist(playlistId: string): Promise<void>;
|
|
94
|
+
listPlaylists(params?: PaginationParams): Promise<PaginatedResponse<Playlist>>;
|
|
95
|
+
assignPlaylist(displayId: string, playlistId: string): Promise<void>;
|
|
96
|
+
scheduleContent(request: Omit<ScheduleEntry, "id">): Promise<ScheduleEntry>;
|
|
97
|
+
listSchedules(displayId?: string): Promise<ScheduleEntry[]>;
|
|
98
|
+
removeSchedule(scheduleId: string): Promise<void>;
|
|
99
|
+
configureDisplay(displayId: string, config: DisplayConfig): Promise<DisplayConfig>;
|
|
100
|
+
}
|
|
101
|
+
export declare function createSignageAPI(client: WaveClient): SignageAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signage.d.ts","sourceRoot":"","sources":["../src/signage.ts"],"names":[],"mappings":"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"}
|
package/dist/slides.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Slides API
|
|
3
|
+
*
|
|
4
|
+
* Presentation to video conversion with narration and transitions.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export type ConversionStatus = "pending" | "processing" | "ready" | "failed";
|
|
8
|
+
export type SlideFormat = "pptx" | "pdf" | "google_slides" | "keynote";
|
|
9
|
+
export type TransitionPreset = "none" | "fade" | "slide" | "zoom" | "morph";
|
|
10
|
+
export interface Conversion extends Timestamps {
|
|
11
|
+
id: string;
|
|
12
|
+
organization_id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
status: ConversionStatus;
|
|
15
|
+
input_format: SlideFormat;
|
|
16
|
+
input_url: string;
|
|
17
|
+
output_url?: string;
|
|
18
|
+
slide_count: number;
|
|
19
|
+
duration_seconds?: number;
|
|
20
|
+
resolution: string;
|
|
21
|
+
narration_enabled: boolean;
|
|
22
|
+
progress_percent: number;
|
|
23
|
+
error?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface SlideNarration {
|
|
26
|
+
slide_index: number;
|
|
27
|
+
text: string;
|
|
28
|
+
voice_id?: string;
|
|
29
|
+
duration_seconds?: number;
|
|
30
|
+
}
|
|
31
|
+
export interface ConvertRequest {
|
|
32
|
+
title: string;
|
|
33
|
+
input_url: string;
|
|
34
|
+
input_format: SlideFormat;
|
|
35
|
+
resolution?: string;
|
|
36
|
+
narration?: SlideNarration[];
|
|
37
|
+
transition?: TransitionPreset;
|
|
38
|
+
slide_duration_seconds?: number;
|
|
39
|
+
webhook_url?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Presentation-to-video conversion with narration and transitions.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const conversion = await wave.slides.convert({ title: "Q4 Review", input_url: "https://...", input_format: "pptx" });
|
|
47
|
+
* const ready = await wave.slides.waitForReady(conversion.id);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class SlidesAPI {
|
|
51
|
+
private readonly client;
|
|
52
|
+
private readonly basePath;
|
|
53
|
+
constructor(client: WaveClient);
|
|
54
|
+
convert(request: ConvertRequest): Promise<Conversion>;
|
|
55
|
+
get(conversionId: string): Promise<Conversion>;
|
|
56
|
+
list(params?: PaginationParams): Promise<PaginatedResponse<Conversion>>;
|
|
57
|
+
remove(conversionId: string): Promise<void>;
|
|
58
|
+
getProgress(conversionId: string): Promise<{
|
|
59
|
+
status: ConversionStatus;
|
|
60
|
+
progress_percent: number;
|
|
61
|
+
}>;
|
|
62
|
+
addNarration(conversionId: string, narrations: SlideNarration[]): Promise<Conversion>;
|
|
63
|
+
waitForReady(conversionId: string, options?: {
|
|
64
|
+
pollInterval?: number;
|
|
65
|
+
timeout?: number;
|
|
66
|
+
}): Promise<Conversion>;
|
|
67
|
+
}
|
|
68
|
+
export declare function createSlidesAPI(client: WaveClient): SlidesAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slides.d.ts","sourceRoot":"","sources":["../src/slides.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5F,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAC7B,MAAM,EAAE,UAAU;IAIxB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAGrD,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAG9C,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAKvE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,WAAW,CACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,MAAM,EAAE,gBAAgB,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAK5D,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAMrF,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CAAC,UAAU,CAAC;CAavB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAE7D"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Studio AI API
|
|
3
|
+
*
|
|
4
|
+
* AI-powered production assistance for live streaming and video production.
|
|
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
|
+
* AI assistant mode
|
|
12
|
+
*/
|
|
13
|
+
export type AssistantMode = 'auto_director' | 'graphics_operator' | 'audio_mixer' | 'replay_operator' | 'content_moderator' | 'engagement_manager';
|
|
14
|
+
/**
|
|
15
|
+
* AI suggestion priority
|
|
16
|
+
*/
|
|
17
|
+
export type SuggestionPriority = 'low' | 'medium' | 'high' | 'critical';
|
|
18
|
+
/**
|
|
19
|
+
* AI suggestion status
|
|
20
|
+
*/
|
|
21
|
+
export type SuggestionStatus = 'pending' | 'accepted' | 'rejected' | 'applied' | 'expired';
|
|
22
|
+
/**
|
|
23
|
+
* AI assistant
|
|
24
|
+
*/
|
|
25
|
+
export interface AIAssistant extends Timestamps {
|
|
26
|
+
id: string;
|
|
27
|
+
organization_id: string;
|
|
28
|
+
stream_id: string;
|
|
29
|
+
mode: AssistantMode;
|
|
30
|
+
status: 'active' | 'paused' | 'stopped';
|
|
31
|
+
config: AssistantConfig;
|
|
32
|
+
stats: AssistantStats;
|
|
33
|
+
metadata?: Metadata;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Assistant configuration
|
|
37
|
+
*/
|
|
38
|
+
export interface AssistantConfig {
|
|
39
|
+
/** Automation level (0-100) */
|
|
40
|
+
automation_level: number;
|
|
41
|
+
/** Enable auto-apply for suggestions */
|
|
42
|
+
auto_apply: boolean;
|
|
43
|
+
/** Auto-apply confidence threshold (0-1) */
|
|
44
|
+
confidence_threshold: number;
|
|
45
|
+
/** Mode-specific settings */
|
|
46
|
+
settings: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Assistant statistics
|
|
50
|
+
*/
|
|
51
|
+
export interface AssistantStats {
|
|
52
|
+
suggestions_made: number;
|
|
53
|
+
suggestions_accepted: number;
|
|
54
|
+
suggestions_rejected: number;
|
|
55
|
+
auto_applied: number;
|
|
56
|
+
average_confidence: number;
|
|
57
|
+
uptime_seconds: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* AI suggestion
|
|
61
|
+
*/
|
|
62
|
+
export interface AISuggestion extends Timestamps {
|
|
63
|
+
id: string;
|
|
64
|
+
assistant_id: string;
|
|
65
|
+
stream_id: string;
|
|
66
|
+
mode: AssistantMode;
|
|
67
|
+
type: string;
|
|
68
|
+
title: string;
|
|
69
|
+
description: string;
|
|
70
|
+
priority: SuggestionPriority;
|
|
71
|
+
status: SuggestionStatus;
|
|
72
|
+
confidence: number;
|
|
73
|
+
action: SuggestionAction;
|
|
74
|
+
preview_url?: string;
|
|
75
|
+
expires_at?: string;
|
|
76
|
+
applied_at?: string;
|
|
77
|
+
metadata?: Metadata;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Suggestion action
|
|
81
|
+
*/
|
|
82
|
+
export interface SuggestionAction {
|
|
83
|
+
type: string;
|
|
84
|
+
target?: string;
|
|
85
|
+
params: Record<string, unknown>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Auto-director scene recommendation
|
|
89
|
+
*/
|
|
90
|
+
export interface SceneRecommendation {
|
|
91
|
+
scene_id: string;
|
|
92
|
+
scene_name: string;
|
|
93
|
+
confidence: number;
|
|
94
|
+
reason: string;
|
|
95
|
+
triggers: string[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Graphics suggestion
|
|
99
|
+
*/
|
|
100
|
+
export interface GraphicsSuggestion {
|
|
101
|
+
graphic_type: 'lower_third' | 'full_screen' | 'overlay' | 'bug';
|
|
102
|
+
template_id?: string;
|
|
103
|
+
content: Record<string, string>;
|
|
104
|
+
duration?: number;
|
|
105
|
+
position?: {
|
|
106
|
+
x: number;
|
|
107
|
+
y: number;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Audio mix suggestion
|
|
112
|
+
*/
|
|
113
|
+
export interface AudioMixSuggestion {
|
|
114
|
+
source_id: string;
|
|
115
|
+
source_name: string;
|
|
116
|
+
action: 'raise' | 'lower' | 'mute' | 'unmute' | 'solo';
|
|
117
|
+
target_level?: number;
|
|
118
|
+
reason: string;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Content moderation alert
|
|
122
|
+
*/
|
|
123
|
+
export interface ModerationAlert {
|
|
124
|
+
type: 'inappropriate_content' | 'copyright' | 'spam' | 'hate_speech' | 'violence';
|
|
125
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
126
|
+
source: 'video' | 'audio' | 'chat';
|
|
127
|
+
description: string;
|
|
128
|
+
timestamp?: number;
|
|
129
|
+
frame_url?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Engagement insight
|
|
133
|
+
*/
|
|
134
|
+
export interface EngagementInsight {
|
|
135
|
+
type: 'peak_moment' | 'drop_off' | 'chat_spike' | 'reaction_surge';
|
|
136
|
+
metric: string;
|
|
137
|
+
value: number;
|
|
138
|
+
change: number;
|
|
139
|
+
timestamp: number;
|
|
140
|
+
suggestion?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Start assistant request
|
|
144
|
+
*/
|
|
145
|
+
export interface StartAssistantRequest {
|
|
146
|
+
stream_id: string;
|
|
147
|
+
mode: AssistantMode;
|
|
148
|
+
config?: Partial<AssistantConfig>;
|
|
149
|
+
metadata?: Metadata;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Update assistant request
|
|
153
|
+
*/
|
|
154
|
+
export interface UpdateAssistantRequest {
|
|
155
|
+
config?: Partial<AssistantConfig>;
|
|
156
|
+
status?: 'active' | 'paused';
|
|
157
|
+
metadata?: Metadata;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* List suggestions params
|
|
161
|
+
*/
|
|
162
|
+
export interface ListSuggestionsParams extends PaginationParams {
|
|
163
|
+
assistant_id?: string;
|
|
164
|
+
stream_id?: string;
|
|
165
|
+
mode?: AssistantMode;
|
|
166
|
+
status?: SuggestionStatus;
|
|
167
|
+
priority?: SuggestionPriority;
|
|
168
|
+
min_confidence?: number;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Studio AI API client
|
|
172
|
+
*
|
|
173
|
+
* All operations require appropriate permissions. Authorization is enforced
|
|
174
|
+
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* import { WaveClient } from '@wave/sdk';
|
|
179
|
+
* import { StudioAIAPI } from '@wave/sdk/studio-ai';
|
|
180
|
+
*
|
|
181
|
+
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
182
|
+
* const studioAI = new StudioAIAPI(client);
|
|
183
|
+
*
|
|
184
|
+
* // Start auto-director for a live stream
|
|
185
|
+
* const assistant = await studioAI.startAssistant({
|
|
186
|
+
* stream_id: 'stream_123',
|
|
187
|
+
* mode: 'auto_director',
|
|
188
|
+
* config: {
|
|
189
|
+
* automation_level: 50,
|
|
190
|
+
* auto_apply: false,
|
|
191
|
+
* confidence_threshold: 0.8,
|
|
192
|
+
* },
|
|
193
|
+
* });
|
|
194
|
+
*
|
|
195
|
+
* // Get scene recommendations
|
|
196
|
+
* const scenes = await studioAI.getSceneRecommendations(assistant.id);
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-ai-types.d.ts","sourceRoot":"","sources":["../src/studio-ai-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Studio AI API
|
|
3
|
+
*
|
|
4
|
+
* AI-powered production assistance for live streaming and video production.
|
|
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 { AIAssistant, AISuggestion, AssistantMode, AssistantStats, AudioMixSuggestion, EngagementInsight, GraphicsSuggestion, ListSuggestionsParams, ModerationAlert, SceneRecommendation, StartAssistantRequest, UpdateAssistantRequest } from './studio-ai-types';
|
|
11
|
+
export * from './studio-ai-types';
|
|
12
|
+
export declare class StudioAIAPI {
|
|
13
|
+
private readonly client;
|
|
14
|
+
private readonly basePath;
|
|
15
|
+
constructor(client: WaveClient);
|
|
16
|
+
/**
|
|
17
|
+
* Start an AI assistant
|
|
18
|
+
*
|
|
19
|
+
* Requires: studio-ai:create permission
|
|
20
|
+
*/
|
|
21
|
+
startAssistant(request: StartAssistantRequest): Promise<AIAssistant>;
|
|
22
|
+
/**
|
|
23
|
+
* Get an assistant by ID
|
|
24
|
+
*
|
|
25
|
+
* Requires: studio-ai:read permission
|
|
26
|
+
*/
|
|
27
|
+
getAssistant(assistantId: string): Promise<AIAssistant>;
|
|
28
|
+
/**
|
|
29
|
+
* Update an assistant
|
|
30
|
+
*
|
|
31
|
+
* Requires: studio-ai:update permission
|
|
32
|
+
*/
|
|
33
|
+
updateAssistant(assistantId: string, request: UpdateAssistantRequest): Promise<AIAssistant>;
|
|
34
|
+
/**
|
|
35
|
+
* Stop an assistant
|
|
36
|
+
*
|
|
37
|
+
* Requires: studio-ai:manage permission
|
|
38
|
+
*/
|
|
39
|
+
stopAssistant(assistantId: string): Promise<AIAssistant>;
|
|
40
|
+
/**
|
|
41
|
+
* Pause an assistant
|
|
42
|
+
*
|
|
43
|
+
* Requires: studio-ai:manage permission
|
|
44
|
+
*/
|
|
45
|
+
pauseAssistant(assistantId: string): Promise<AIAssistant>;
|
|
46
|
+
/**
|
|
47
|
+
* Resume an assistant
|
|
48
|
+
*
|
|
49
|
+
* Requires: studio-ai:manage permission
|
|
50
|
+
*/
|
|
51
|
+
resumeAssistant(assistantId: string): Promise<AIAssistant>;
|
|
52
|
+
/**
|
|
53
|
+
* List assistants
|
|
54
|
+
*
|
|
55
|
+
* Requires: studio-ai:read permission
|
|
56
|
+
*/
|
|
57
|
+
listAssistants(params?: PaginationParams & {
|
|
58
|
+
stream_id?: string;
|
|
59
|
+
mode?: AssistantMode;
|
|
60
|
+
status?: 'active' | 'paused' | 'stopped';
|
|
61
|
+
}): Promise<PaginatedResponse<AIAssistant>>;
|
|
62
|
+
/**
|
|
63
|
+
* Get assistant statistics
|
|
64
|
+
*
|
|
65
|
+
* Requires: studio-ai:read permission
|
|
66
|
+
*/
|
|
67
|
+
getAssistantStats(assistantId: string): Promise<AssistantStats>;
|
|
68
|
+
/**
|
|
69
|
+
* List suggestions
|
|
70
|
+
*
|
|
71
|
+
* Requires: studio-ai:read permission
|
|
72
|
+
*/
|
|
73
|
+
listSuggestions(params?: ListSuggestionsParams): Promise<PaginatedResponse<AISuggestion>>;
|
|
74
|
+
/**
|
|
75
|
+
* Get a suggestion by ID
|
|
76
|
+
*
|
|
77
|
+
* Requires: studio-ai:read permission
|
|
78
|
+
*/
|
|
79
|
+
getSuggestion(suggestionId: string): Promise<AISuggestion>;
|
|
80
|
+
/**
|
|
81
|
+
* Accept a suggestion
|
|
82
|
+
*
|
|
83
|
+
* Requires: studio-ai:apply permission
|
|
84
|
+
*/
|
|
85
|
+
acceptSuggestion(suggestionId: string): Promise<AISuggestion>;
|
|
86
|
+
/**
|
|
87
|
+
* Reject a suggestion
|
|
88
|
+
*
|
|
89
|
+
* Requires: studio-ai:apply permission
|
|
90
|
+
*/
|
|
91
|
+
rejectSuggestion(suggestionId: string, reason?: string): Promise<AISuggestion>;
|
|
92
|
+
/**
|
|
93
|
+
* Apply a suggestion immediately
|
|
94
|
+
*
|
|
95
|
+
* Requires: studio-ai:apply permission
|
|
96
|
+
*/
|
|
97
|
+
applySuggestion(suggestionId: string): Promise<AISuggestion>;
|
|
98
|
+
/**
|
|
99
|
+
* Get scene recommendations
|
|
100
|
+
*
|
|
101
|
+
* Requires: studio-ai:read permission
|
|
102
|
+
*/
|
|
103
|
+
getSceneRecommendations(assistantId: string): Promise<SceneRecommendation[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Set auto-director rules
|
|
106
|
+
*
|
|
107
|
+
* Requires: studio-ai:update permission
|
|
108
|
+
*/
|
|
109
|
+
setDirectorRules(assistantId: string, rules: Array<{
|
|
110
|
+
trigger: string;
|
|
111
|
+
condition: Record<string, unknown>;
|
|
112
|
+
action: {
|
|
113
|
+
scene_id: string;
|
|
114
|
+
duration?: number;
|
|
115
|
+
};
|
|
116
|
+
priority: number;
|
|
117
|
+
}>): Promise<{
|
|
118
|
+
rules_count: number;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Trigger manual scene switch via AI
|
|
122
|
+
*
|
|
123
|
+
* Requires: studio-ai:apply permission
|
|
124
|
+
*/
|
|
125
|
+
suggestSceneSwitch(assistantId: string, options?: {
|
|
126
|
+
reason?: string;
|
|
127
|
+
}): Promise<SceneRecommendation>;
|
|
128
|
+
/**
|
|
129
|
+
* Get graphics suggestions
|
|
130
|
+
*
|
|
131
|
+
* Requires: studio-ai:read permission
|
|
132
|
+
*/
|
|
133
|
+
getGraphicsSuggestions(assistantId: string): Promise<GraphicsSuggestion[]>;
|
|
134
|
+
/**
|
|
135
|
+
* Generate lower third for speaker
|
|
136
|
+
*
|
|
137
|
+
* Requires: studio-ai:apply permission
|
|
138
|
+
*/
|
|
139
|
+
generateLowerThird(assistantId: string, speakerInfo?: {
|
|
140
|
+
name?: string;
|
|
141
|
+
title?: string;
|
|
142
|
+
}): Promise<GraphicsSuggestion>;
|
|
143
|
+
/**
|
|
144
|
+
* Get audio mix suggestions
|
|
145
|
+
*
|
|
146
|
+
* Requires: studio-ai:read permission
|
|
147
|
+
*/
|
|
148
|
+
getAudioSuggestions(assistantId: string): Promise<AudioMixSuggestion[]>;
|
|
149
|
+
/**
|
|
150
|
+
* Auto-level audio sources
|
|
151
|
+
*
|
|
152
|
+
* Requires: studio-ai:apply permission
|
|
153
|
+
*/
|
|
154
|
+
autoLevelAudio(assistantId: string): Promise<{
|
|
155
|
+
adjustments: AudioMixSuggestion[];
|
|
156
|
+
}>;
|
|
157
|
+
/**
|
|
158
|
+
* Get moderation alerts
|
|
159
|
+
*
|
|
160
|
+
* Requires: studio-ai:read permission
|
|
161
|
+
*/
|
|
162
|
+
getModerationAlerts(assistantId: string, params?: PaginationParams & {
|
|
163
|
+
severity?: 'low' | 'medium' | 'high' | 'critical';
|
|
164
|
+
}): Promise<PaginatedResponse<ModerationAlert>>;
|
|
165
|
+
/**
|
|
166
|
+
* Dismiss a moderation alert
|
|
167
|
+
*
|
|
168
|
+
* Requires: studio-ai:apply permission
|
|
169
|
+
*/
|
|
170
|
+
dismissAlert(assistantId: string, alertId: string): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Set moderation sensitivity
|
|
173
|
+
*
|
|
174
|
+
* Requires: studio-ai:update permission
|
|
175
|
+
*/
|
|
176
|
+
setModerationSensitivity(assistantId: string, settings: {
|
|
177
|
+
inappropriate_content?: number;
|
|
178
|
+
copyright?: number;
|
|
179
|
+
spam?: number;
|
|
180
|
+
hate_speech?: number;
|
|
181
|
+
violence?: number;
|
|
182
|
+
}): Promise<{
|
|
183
|
+
updated: boolean;
|
|
184
|
+
}>;
|
|
185
|
+
/**
|
|
186
|
+
* Get engagement insights
|
|
187
|
+
*
|
|
188
|
+
* Requires: studio-ai:read permission
|
|
189
|
+
*/
|
|
190
|
+
getEngagementInsights(assistantId: string, params?: {
|
|
191
|
+
since?: string;
|
|
192
|
+
type?: EngagementInsight['type'];
|
|
193
|
+
}): Promise<EngagementInsight[]>;
|
|
194
|
+
/**
|
|
195
|
+
* Get optimal interaction times
|
|
196
|
+
*
|
|
197
|
+
* Requires: studio-ai:read permission
|
|
198
|
+
*/
|
|
199
|
+
getOptimalInteractionTimes(assistantId: string): Promise<Array<{
|
|
200
|
+
time: number;
|
|
201
|
+
reason: string;
|
|
202
|
+
engagement_score: number;
|
|
203
|
+
}>>;
|
|
204
|
+
/**
|
|
205
|
+
* Generate engagement suggestion
|
|
206
|
+
*
|
|
207
|
+
* Requires: studio-ai:apply permission
|
|
208
|
+
*/
|
|
209
|
+
generateEngagementAction(assistantId: string, type: 'poll' | 'question' | 'shoutout' | 'giveaway'): Promise<{
|
|
210
|
+
type: string;
|
|
211
|
+
content: Record<string, unknown>;
|
|
212
|
+
timing: string;
|
|
213
|
+
}>;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Create a Studio AI API instance
|
|
217
|
+
*/
|
|
218
|
+
export declare function createStudioAIAPI(client: WaveClient): StudioAIAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-ai.d.ts","sourceRoot":"","sources":["../src/studio-ai.ts"],"names":[],"mappings":"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"}
|