@wave-av/sdk 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +27 -23
- package/dist/audience.js +93 -0
- package/dist/audience.mjs +9 -0
- package/dist/camera-control.js +95 -0
- package/dist/camera-control.mjs +71 -0
- package/dist/captions-types.js +18 -0
- package/dist/captions-types.mjs +0 -0
- package/dist/captions.js +266 -0
- package/dist/captions.mjs +9 -0
- package/dist/chapters-types.js +18 -0
- package/dist/chapters-types.mjs +0 -0
- package/dist/chapters.js +280 -0
- package/dist/chapters.mjs +9 -0
- package/dist/chunk-362MRITF.mjs +46 -0
- package/dist/chunk-3ZLK4J3V.mjs +69 -0
- package/dist/chunk-4DG4OBRD.mjs +52 -0
- package/dist/chunk-4G7FMCMJ.mjs +68 -0
- package/dist/chunk-4KD5F6E3.mjs +0 -0
- package/dist/chunk-7M6XVUUK.mjs +241 -0
- package/dist/chunk-A344OOT7.mjs +243 -0
- package/dist/chunk-AI64YR5W.mjs +173 -0
- package/dist/chunk-C2GQ756E.mjs +57 -0
- package/dist/chunk-CO2VB72Z.mjs +255 -0
- package/dist/chunk-DWXWAILB.mjs +44 -0
- package/dist/chunk-FLEFYLDM.mjs +71 -0
- package/dist/chunk-H2YYTNUH.mjs +266 -0
- package/dist/chunk-IGDBED5P.mjs +246 -0
- package/dist/chunk-IL2SGWBC.mjs +0 -0
- package/dist/chunk-IVFZ5X4W.mjs +68 -0
- package/dist/chunk-JC32PG3T.mjs +114 -0
- package/dist/chunk-K5X42NLD.mjs +54 -0
- package/dist/chunk-KCEPNS2U.mjs +276 -0
- package/dist/chunk-LVOVF6XC.mjs +54 -0
- package/dist/chunk-M4Z33V3N.mjs +247 -0
- package/dist/chunk-M6FKIX75.mjs +0 -0
- package/dist/chunk-M744Z327.mjs +244 -0
- package/dist/chunk-MRFDPPFK.mjs +61 -0
- package/dist/chunk-MXU3Q23F.mjs +68 -0
- package/dist/chunk-NCVUZ746.mjs +60 -0
- package/dist/chunk-NLQVD2LF.mjs +210 -0
- package/dist/chunk-O6DOGYP5.mjs +238 -0
- package/dist/chunk-S25NY5GE.mjs +124 -0
- package/dist/chunk-TFHXBICQ.mjs +305 -0
- package/dist/chunk-TXWOA2VR.mjs +57 -0
- package/dist/chunk-UCDSNV22.mjs +63 -0
- package/dist/chunk-V5DWA5P4.mjs +279 -0
- package/dist/chunk-VLQQDYGP.mjs +173 -0
- package/dist/chunk-VPKZUXZW.mjs +53 -0
- package/dist/chunk-WS3PEFYJ.mjs +60 -0
- package/dist/chunk-XGAYMWRH.mjs +74 -0
- package/dist/chunk-XMM5J57W.mjs +0 -0
- package/dist/chunk-XWABBOSX.mjs +278 -0
- package/dist/chunk-Y6FXYEAI.mjs +10 -0
- package/dist/chunk-YBLXHI3M.mjs +257 -0
- package/dist/chunk-YEK26SSO.mjs +100 -0
- package/dist/chunk-YLCQKCZL.mjs +0 -0
- package/dist/chunk-YRKO4XI7.mjs +0 -0
- package/dist/chunk-ZJO7AP4Q.mjs +0 -0
- package/dist/client-types.js +18 -0
- package/dist/client-types.mjs +0 -0
- package/dist/client.js +311 -0
- package/dist/client.mjs +14 -0
- package/dist/clips-types.js +18 -0
- package/dist/clips-types.mjs +0 -0
- package/dist/clips.js +198 -0
- package/dist/clips.mjs +9 -0
- package/dist/cloud-switcher.js +80 -0
- package/dist/cloud-switcher.mjs +56 -0
- package/dist/collab-types.js +18 -0
- package/dist/collab-types.mjs +1 -0
- package/dist/collab.js +304 -0
- package/dist/collab.mjs +10 -0
- package/dist/connect.js +85 -0
- package/dist/connect.mjs +9 -0
- package/dist/creator.js +79 -0
- package/dist/creator.mjs +9 -0
- package/dist/desktop.js +77 -0
- package/dist/desktop.mjs +9 -0
- package/dist/distribution.js +88 -0
- package/dist/distribution.mjs +9 -0
- package/dist/drm.js +85 -0
- package/dist/drm.mjs +9 -0
- package/dist/edge.js +93 -0
- package/dist/edge.mjs +9 -0
- package/dist/editor-types.js +18 -0
- package/dist/editor-types.mjs +1 -0
- package/dist/editor.js +330 -0
- package/dist/editor.mjs +10 -0
- package/dist/fleet.js +149 -0
- package/dist/fleet.mjs +9 -0
- package/dist/ghost.js +139 -0
- package/dist/ghost.mjs +9 -0
- package/dist/index.js +0 -250
- package/dist/index.mjs +161 -5445
- package/dist/marketplace.js +82 -0
- package/dist/marketplace.mjs +9 -0
- package/dist/mesh.js +198 -0
- package/dist/mesh.mjs +9 -0
- package/dist/notifications.js +79 -0
- package/dist/notifications.mjs +9 -0
- package/dist/phone-types.js +18 -0
- package/dist/phone-types.mjs +0 -0
- package/dist/phone.js +269 -0
- package/dist/phone.mjs +9 -0
- package/dist/pipeline-types.js +18 -0
- package/dist/pipeline-types.mjs +0 -0
- package/dist/pipeline.js +263 -0
- package/dist/pipeline.mjs +9 -0
- package/dist/podcast.js +94 -0
- package/dist/podcast.mjs +9 -0
- package/dist/prism.js +82 -0
- package/dist/prism.mjs +9 -0
- package/dist/prompter.js +99 -0
- package/dist/prompter.mjs +76 -0
- package/dist/pulse.js +99 -0
- package/dist/pulse.mjs +9 -0
- package/dist/qr.js +71 -0
- package/dist/qr.mjs +9 -0
- package/dist/replay.js +62 -0
- package/dist/replay.mjs +38 -0
- package/dist/scene-types.js +18 -0
- package/dist/scene-types.mjs +1 -0
- package/dist/scene.js +271 -0
- package/dist/scene.mjs +10 -0
- package/dist/search-types.js +18 -0
- package/dist/search-types.mjs +1 -0
- package/dist/search.js +268 -0
- package/dist/search.mjs +10 -0
- package/dist/sentiment-types.js +18 -0
- package/dist/sentiment-types.mjs +0 -0
- package/dist/sentiment.js +235 -0
- package/dist/sentiment.mjs +9 -0
- package/dist/signage.js +93 -0
- package/dist/signage.mjs +9 -0
- package/dist/slides.js +78 -0
- package/dist/slides.mjs +9 -0
- package/dist/studio-ai-types.js +18 -0
- package/dist/studio-ai-types.mjs +1 -0
- package/dist/studio-ai.js +301 -0
- package/dist/studio-ai.mjs +10 -0
- package/dist/studio-types.js +18 -0
- package/dist/studio-types.mjs +1 -0
- package/dist/studio.js +303 -0
- package/dist/studio.mjs +10 -0
- package/dist/telemetry.js +124 -0
- package/dist/telemetry.mjs +15 -0
- package/dist/transcribe-types.js +18 -0
- package/dist/transcribe-types.mjs +1 -0
- package/dist/transcribe.js +282 -0
- package/dist/transcribe.mjs +10 -0
- package/dist/usb.js +69 -0
- package/dist/usb.mjs +9 -0
- package/dist/vault.js +96 -0
- package/dist/vault.mjs +9 -0
- package/dist/voice-types.js +18 -0
- package/dist/voice-types.mjs +0 -0
- package/dist/voice.js +272 -0
- package/dist/voice.mjs +9 -0
- package/dist/zoom.js +86 -0
- package/dist/zoom.mjs +9 -0
- package/package.json +3 -3
- package/dist/audience.d.ts +0 -104
- package/dist/audience.d.ts.map +0 -1
- package/dist/camera-control.d.ts +0 -54
- package/dist/camera-control.d.ts.map +0 -1
- package/dist/captions.d.ts +0 -362
- package/dist/captions.d.ts.map +0 -1
- package/dist/chapters.d.ts +0 -315
- package/dist/chapters.d.ts.map +0 -1
- package/dist/client.d.ts +0 -191
- package/dist/client.d.ts.map +0 -1
- package/dist/clips.d.ts +0 -258
- package/dist/clips.d.ts.map +0 -1
- package/dist/cloud-switcher.d.ts +0 -65
- package/dist/cloud-switcher.d.ts.map +0 -1
- package/dist/collab-types.d.ts +0 -204
- package/dist/collab-types.d.ts.map +0 -1
- package/dist/collab.d.ts +0 -226
- package/dist/collab.d.ts.map +0 -1
- package/dist/connect.d.ts +0 -88
- package/dist/connect.d.ts.map +0 -1
- package/dist/creator.d.ts +0 -109
- package/dist/creator.d.ts.map +0 -1
- package/dist/desktop.d.ts +0 -95
- package/dist/desktop.d.ts.map +0 -1
- package/dist/distribution.d.ts +0 -92
- package/dist/distribution.d.ts.map +0 -1
- package/dist/drm.d.ts +0 -87
- package/dist/drm.d.ts.map +0 -1
- package/dist/edge.d.ts +0 -112
- package/dist/edge.d.ts.map +0 -1
- package/dist/editor-types.d.ts +0 -236
- package/dist/editor-types.d.ts.map +0 -1
- package/dist/editor.d.ts +0 -206
- package/dist/editor.d.ts.map +0 -1
- package/dist/fleet.d.ts +0 -207
- package/dist/fleet.d.ts.map +0 -1
- package/dist/ghost.d.ts +0 -213
- package/dist/ghost.d.ts.map +0 -1
- package/dist/index.d.ts +0 -144
- package/dist/index.d.ts.map +0 -1
- package/dist/marketplace.d.ts +0 -90
- package/dist/marketplace.d.ts.map +0 -1
- package/dist/mesh.d.ts +0 -237
- package/dist/mesh.d.ts.map +0 -1
- package/dist/notifications.d.ts +0 -82
- package/dist/notifications.d.ts.map +0 -1
- package/dist/phone.d.ts +0 -369
- package/dist/phone.d.ts.map +0 -1
- package/dist/pipeline.d.ts +0 -409
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/podcast.d.ts +0 -113
- package/dist/podcast.d.ts.map +0 -1
- package/dist/prism.d.ts +0 -132
- package/dist/prism.d.ts.map +0 -1
- package/dist/prompter.d.ts +0 -184
- package/dist/prompter.d.ts.map +0 -1
- package/dist/pulse.d.ts +0 -156
- package/dist/pulse.d.ts.map +0 -1
- package/dist/qr.d.ts +0 -82
- package/dist/qr.d.ts.map +0 -1
- package/dist/replay.d.ts +0 -52
- package/dist/replay.d.ts.map +0 -1
- package/dist/scene-types.d.ts +0 -190
- package/dist/scene-types.d.ts.map +0 -1
- package/dist/scene.d.ts +0 -213
- package/dist/scene.d.ts.map +0 -1
- package/dist/search-types.d.ts +0 -210
- package/dist/search-types.d.ts.map +0 -1
- package/dist/search.d.ts +0 -250
- package/dist/search.d.ts.map +0 -1
- package/dist/sentiment.d.ts +0 -378
- package/dist/sentiment.d.ts.map +0 -1
- package/dist/signage.d.ts +0 -101
- package/dist/signage.d.ts.map +0 -1
- package/dist/slides.d.ts +0 -68
- package/dist/slides.d.ts.map +0 -1
- package/dist/studio-ai-types.d.ts +0 -198
- package/dist/studio-ai-types.d.ts.map +0 -1
- package/dist/studio-ai.d.ts +0 -218
- package/dist/studio-ai.d.ts.map +0 -1
- package/dist/studio-types.d.ts +0 -267
- package/dist/studio-types.d.ts.map +0 -1
- package/dist/studio.d.ts +0 -234
- package/dist/studio.d.ts.map +0 -1
- package/dist/telemetry.d.ts +0 -76
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/transcribe-types.d.ts +0 -153
- package/dist/transcribe-types.d.ts.map +0 -1
- package/dist/transcribe.d.ts +0 -218
- package/dist/transcribe.d.ts.map +0 -1
- package/dist/usb.d.ts +0 -64
- package/dist/usb.d.ts.map +0 -1
- package/dist/vault.d.ts +0 -121
- package/dist/vault.d.ts.map +0 -1
- package/dist/voice.d.ts +0 -307
- package/dist/voice.d.ts.map +0 -1
- package/dist/zoom.d.ts +0 -91
- package/dist/zoom.d.ts.map +0 -1
package/dist/editor.d.ts
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WAVE SDK - Editor API
|
|
3
|
-
*
|
|
4
|
-
* Video editing capabilities including cuts, transitions, overlays, and effects.
|
|
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
|
-
export * from './editor-types';
|
|
11
|
-
import type { AddElementRequest, CreateProjectRequest, EditorProject, Effect, ListProjectsParams, RenderJob, RenderOptions, TimelineElement, Track, TrackType, Transition, UpdateProjectRequest } from './editor-types';
|
|
12
|
-
export declare class EditorAPI {
|
|
13
|
-
private readonly client;
|
|
14
|
-
private readonly basePath;
|
|
15
|
-
constructor(client: WaveClient);
|
|
16
|
-
/**
|
|
17
|
-
* Create a new editor project
|
|
18
|
-
*
|
|
19
|
-
* Requires: editor:create permission
|
|
20
|
-
*/
|
|
21
|
-
createProject(request: CreateProjectRequest): Promise<EditorProject>;
|
|
22
|
-
/**
|
|
23
|
-
* Get a project by ID
|
|
24
|
-
*
|
|
25
|
-
* Requires: editor:read permission
|
|
26
|
-
*/
|
|
27
|
-
getProject(projectId: string): Promise<EditorProject>;
|
|
28
|
-
/**
|
|
29
|
-
* Update a project
|
|
30
|
-
*
|
|
31
|
-
* Requires: editor:update permission
|
|
32
|
-
*/
|
|
33
|
-
updateProject(projectId: string, request: UpdateProjectRequest): Promise<EditorProject>;
|
|
34
|
-
/**
|
|
35
|
-
* Remove a project
|
|
36
|
-
*
|
|
37
|
-
* Requires: editor:remove permission (server-side RBAC enforced)
|
|
38
|
-
*/
|
|
39
|
-
removeProject(projectId: string): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* List projects
|
|
42
|
-
*
|
|
43
|
-
* Requires: editor:read permission
|
|
44
|
-
*/
|
|
45
|
-
listProjects(params?: ListProjectsParams): Promise<PaginatedResponse<EditorProject>>;
|
|
46
|
-
/**
|
|
47
|
-
* Duplicate a project
|
|
48
|
-
*
|
|
49
|
-
* Requires: editor:create permission
|
|
50
|
-
*/
|
|
51
|
-
duplicateProject(projectId: string, name?: string): Promise<EditorProject>;
|
|
52
|
-
/**
|
|
53
|
-
* Add a track to a project
|
|
54
|
-
*
|
|
55
|
-
* Requires: editor:update permission
|
|
56
|
-
*/
|
|
57
|
-
addTrack(projectId: string, track: {
|
|
58
|
-
name: string;
|
|
59
|
-
type: TrackType;
|
|
60
|
-
order?: number;
|
|
61
|
-
}): Promise<Track>;
|
|
62
|
-
/**
|
|
63
|
-
* Update a track
|
|
64
|
-
*
|
|
65
|
-
* Requires: editor:update permission
|
|
66
|
-
*/
|
|
67
|
-
updateTrack(projectId: string, trackId: string, updates: Partial<Pick<Track, 'name' | 'order' | 'locked' | 'muted' | 'visible'>>): Promise<Track>;
|
|
68
|
-
/**
|
|
69
|
-
* Remove a track
|
|
70
|
-
*
|
|
71
|
-
* Requires: editor:update permission (server-side RBAC enforced)
|
|
72
|
-
*/
|
|
73
|
-
removeTrack(projectId: string, trackId: string): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Add an element to a track
|
|
76
|
-
*
|
|
77
|
-
* Requires: editor:update permission
|
|
78
|
-
*/
|
|
79
|
-
addElement(projectId: string, element: AddElementRequest): Promise<TimelineElement>;
|
|
80
|
-
/**
|
|
81
|
-
* Update an element
|
|
82
|
-
*
|
|
83
|
-
* Requires: editor:update permission
|
|
84
|
-
*/
|
|
85
|
-
updateElement(projectId: string, elementId: string, updates: Partial<TimelineElement>): Promise<TimelineElement>;
|
|
86
|
-
/**
|
|
87
|
-
* Remove an element
|
|
88
|
-
*
|
|
89
|
-
* Requires: editor:update permission (server-side RBAC enforced)
|
|
90
|
-
*/
|
|
91
|
-
removeElement(projectId: string, elementId: string): Promise<void>;
|
|
92
|
-
/**
|
|
93
|
-
* Move an element to a different position
|
|
94
|
-
*
|
|
95
|
-
* Requires: editor:update permission
|
|
96
|
-
*/
|
|
97
|
-
moveElement(projectId: string, elementId: string, options: {
|
|
98
|
-
track_id?: string;
|
|
99
|
-
start_time: number;
|
|
100
|
-
}): Promise<TimelineElement>;
|
|
101
|
-
/**
|
|
102
|
-
* Trim an element
|
|
103
|
-
*
|
|
104
|
-
* Requires: editor:update permission
|
|
105
|
-
*/
|
|
106
|
-
trimElement(projectId: string, elementId: string, options: {
|
|
107
|
-
in_point?: number;
|
|
108
|
-
out_point?: number;
|
|
109
|
-
}): Promise<TimelineElement>;
|
|
110
|
-
/**
|
|
111
|
-
* Add a transition between elements
|
|
112
|
-
*
|
|
113
|
-
* Requires: editor:update permission
|
|
114
|
-
*/
|
|
115
|
-
addTransition(projectId: string, transition: Omit<Transition, 'id'>): Promise<Transition>;
|
|
116
|
-
/**
|
|
117
|
-
* Update a transition
|
|
118
|
-
*
|
|
119
|
-
* Requires: editor:update permission
|
|
120
|
-
*/
|
|
121
|
-
updateTransition(projectId: string, transitionId: string, updates: Partial<Transition>): Promise<Transition>;
|
|
122
|
-
/**
|
|
123
|
-
* Remove a transition
|
|
124
|
-
*
|
|
125
|
-
* Requires: editor:update permission (server-side RBAC enforced)
|
|
126
|
-
*/
|
|
127
|
-
removeTransition(projectId: string, transitionId: string): Promise<void>;
|
|
128
|
-
/**
|
|
129
|
-
* Add an effect to an element
|
|
130
|
-
*
|
|
131
|
-
* Requires: editor:update permission
|
|
132
|
-
*/
|
|
133
|
-
addEffect(projectId: string, effect: Omit<Effect, 'id'>): Promise<Effect>;
|
|
134
|
-
/**
|
|
135
|
-
* Update an effect
|
|
136
|
-
*
|
|
137
|
-
* Requires: editor:update permission
|
|
138
|
-
*/
|
|
139
|
-
updateEffect(projectId: string, effectId: string, updates: Partial<Effect>): Promise<Effect>;
|
|
140
|
-
/**
|
|
141
|
-
* Remove an effect
|
|
142
|
-
*
|
|
143
|
-
* Requires: editor:update permission (server-side RBAC enforced)
|
|
144
|
-
*/
|
|
145
|
-
removeEffect(projectId: string, effectId: string): Promise<void>;
|
|
146
|
-
/**
|
|
147
|
-
* Start rendering a project
|
|
148
|
-
*
|
|
149
|
-
* Requires: editor:render permission
|
|
150
|
-
*/
|
|
151
|
-
render(projectId: string, options?: RenderOptions): Promise<RenderJob>;
|
|
152
|
-
/**
|
|
153
|
-
* Get render job status
|
|
154
|
-
*
|
|
155
|
-
* Requires: editor:read permission
|
|
156
|
-
*/
|
|
157
|
-
getRenderJob(projectId: string, jobId: string): Promise<RenderJob>;
|
|
158
|
-
/**
|
|
159
|
-
* List render jobs for a project
|
|
160
|
-
*
|
|
161
|
-
* Requires: editor:read permission
|
|
162
|
-
*/
|
|
163
|
-
listRenderJobs(projectId: string, params?: PaginationParams): Promise<PaginatedResponse<RenderJob>>;
|
|
164
|
-
/**
|
|
165
|
-
* Cancel a render job
|
|
166
|
-
*
|
|
167
|
-
* Requires: editor:render permission
|
|
168
|
-
*/
|
|
169
|
-
cancelRenderJob(projectId: string, jobId: string): Promise<RenderJob>;
|
|
170
|
-
/**
|
|
171
|
-
* Wait for render to complete
|
|
172
|
-
*/
|
|
173
|
-
waitForRender(projectId: string, jobId: string, options?: {
|
|
174
|
-
pollInterval?: number;
|
|
175
|
-
timeout?: number;
|
|
176
|
-
onProgress?: (job: RenderJob) => void;
|
|
177
|
-
}): Promise<RenderJob>;
|
|
178
|
-
/**
|
|
179
|
-
* Generate a preview frame
|
|
180
|
-
*
|
|
181
|
-
* Requires: editor:read permission
|
|
182
|
-
*/
|
|
183
|
-
getPreviewFrame(projectId: string, time: number, options?: {
|
|
184
|
-
width?: number;
|
|
185
|
-
height?: number;
|
|
186
|
-
format?: 'png' | 'jpeg';
|
|
187
|
-
}): Promise<{
|
|
188
|
-
url: string;
|
|
189
|
-
expires_at: string;
|
|
190
|
-
}>;
|
|
191
|
-
/**
|
|
192
|
-
* Generate a preview video segment
|
|
193
|
-
*
|
|
194
|
-
* Requires: editor:read permission
|
|
195
|
-
*/
|
|
196
|
-
getPreviewSegment(projectId: string, startTime: number, endTime: number, options?: {
|
|
197
|
-
quality?: 'low' | 'medium';
|
|
198
|
-
}): Promise<{
|
|
199
|
-
url: string;
|
|
200
|
-
expires_at: string;
|
|
201
|
-
}>;
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Create an Editor API instance
|
|
205
|
-
*/
|
|
206
|
-
export declare function createEditorAPI(client: WaveClient): EditorAPI;
|
package/dist/editor.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet.d.ts
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WAVE SDK - Fleet API
|
|
3
|
-
*
|
|
4
|
-
* Device fleet management for Desktop Nodes. Register, monitor, and control
|
|
5
|
-
* nodes in your organization's streaming infrastructure.
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This is a client SDK. All authorization checks are performed server-side.
|
|
8
|
-
* The API will return 403 Forbidden if the user lacks required permissions.
|
|
9
|
-
*/
|
|
10
|
-
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps, Metadata } from "./client";
|
|
11
|
-
/**
|
|
12
|
-
* Node connection status
|
|
13
|
-
*/
|
|
14
|
-
export type NodeStatus = "online" | "offline" | "maintenance" | "updating";
|
|
15
|
-
/**
|
|
16
|
-
* Node health state
|
|
17
|
-
*/
|
|
18
|
-
export type NodeHealth = "healthy" | "degraded" | "critical";
|
|
19
|
-
/**
|
|
20
|
-
* Fleet node object
|
|
21
|
-
*/
|
|
22
|
-
export interface FleetNode extends Timestamps {
|
|
23
|
-
id: string;
|
|
24
|
-
organization_id: string;
|
|
25
|
-
name: string;
|
|
26
|
-
status: NodeStatus;
|
|
27
|
-
health: NodeHealth;
|
|
28
|
-
ip_address: string;
|
|
29
|
-
version: string;
|
|
30
|
-
os: string;
|
|
31
|
-
cpu_usage: number;
|
|
32
|
-
memory_usage: number;
|
|
33
|
-
gpu_usage: number;
|
|
34
|
-
device_count: number;
|
|
35
|
-
last_seen_at: string;
|
|
36
|
-
registered_at: string;
|
|
37
|
-
tags: string[];
|
|
38
|
-
metadata: Metadata;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Device attached to a node
|
|
42
|
-
*/
|
|
43
|
-
export interface NodeDevice {
|
|
44
|
-
id: string;
|
|
45
|
-
node_id: string;
|
|
46
|
-
name: string;
|
|
47
|
-
type: "camera" | "microphone" | "display" | "capture_card" | "ndi_source";
|
|
48
|
-
status: string;
|
|
49
|
-
driver_version: string;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Register a new node
|
|
53
|
-
*/
|
|
54
|
-
export interface RegisterNodeRequest {
|
|
55
|
-
name: string;
|
|
56
|
-
os: string;
|
|
57
|
-
version: string;
|
|
58
|
-
tags?: string[];
|
|
59
|
-
metadata?: Metadata;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Update a node
|
|
63
|
-
*/
|
|
64
|
-
export interface UpdateNodeRequest {
|
|
65
|
-
name?: string;
|
|
66
|
-
tags?: string[];
|
|
67
|
-
metadata?: Metadata;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* List nodes filters
|
|
71
|
-
*/
|
|
72
|
-
export interface ListNodesParams extends PaginationParams {
|
|
73
|
-
status?: NodeStatus;
|
|
74
|
-
health?: NodeHealth;
|
|
75
|
-
os?: string;
|
|
76
|
-
order_by?: "name" | "created_at" | "last_seen_at" | "cpu_usage";
|
|
77
|
-
order?: "asc" | "desc";
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Command to send to a node
|
|
81
|
-
*/
|
|
82
|
-
export interface NodeCommand {
|
|
83
|
-
type: "restart" | "update" | "shutdown" | "scan_devices" | "clear_cache";
|
|
84
|
-
params?: Record<string, unknown>;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Node resource metrics snapshot
|
|
88
|
-
*/
|
|
89
|
-
export interface NodeMetrics {
|
|
90
|
-
node_id: string;
|
|
91
|
-
cpu_usage: number;
|
|
92
|
-
memory_usage: number;
|
|
93
|
-
gpu_usage: number;
|
|
94
|
-
network_in_mbps: number;
|
|
95
|
-
network_out_mbps: number;
|
|
96
|
-
disk_usage: number;
|
|
97
|
-
uptime_seconds: number;
|
|
98
|
-
device_count: number;
|
|
99
|
-
active_bridges: number;
|
|
100
|
-
timestamp: string;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Fleet API client
|
|
104
|
-
*
|
|
105
|
-
* All operations require appropriate permissions. Authorization is enforced
|
|
106
|
-
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* ```typescript
|
|
110
|
-
* import { WaveClient } from '@wave/sdk';
|
|
111
|
-
* import { FleetAPI } from '@wave/sdk/fleet';
|
|
112
|
-
*
|
|
113
|
-
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
114
|
-
* const fleet = new FleetAPI(client);
|
|
115
|
-
*
|
|
116
|
-
* // List all online nodes
|
|
117
|
-
* const nodes = await fleet.list({ status: 'online' });
|
|
118
|
-
*
|
|
119
|
-
* // Register a new node
|
|
120
|
-
* const node = await fleet.register({
|
|
121
|
-
* name: 'Studio-Node-01',
|
|
122
|
-
* os: 'linux',
|
|
123
|
-
* version: '2.4.0',
|
|
124
|
-
* tags: ['studio-a'],
|
|
125
|
-
* });
|
|
126
|
-
*
|
|
127
|
-
* // Send a command to scan for devices
|
|
128
|
-
* await fleet.sendCommand(node.id, { type: 'scan_devices' });
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
export declare class FleetAPI {
|
|
132
|
-
private readonly client;
|
|
133
|
-
private readonly basePath;
|
|
134
|
-
constructor(client: WaveClient);
|
|
135
|
-
/**
|
|
136
|
-
* List fleet nodes with optional filters
|
|
137
|
-
*
|
|
138
|
-
* Requires: fleet:read permission
|
|
139
|
-
*/
|
|
140
|
-
list(params?: ListNodesParams): Promise<PaginatedResponse<FleetNode>>;
|
|
141
|
-
/**
|
|
142
|
-
* Get a node by ID
|
|
143
|
-
*
|
|
144
|
-
* Requires: fleet:read permission
|
|
145
|
-
*/
|
|
146
|
-
get(nodeId: string): Promise<FleetNode>;
|
|
147
|
-
/**
|
|
148
|
-
* Register a new node
|
|
149
|
-
*
|
|
150
|
-
* Requires: fleet:create permission
|
|
151
|
-
*/
|
|
152
|
-
register(request: RegisterNodeRequest): Promise<FleetNode>;
|
|
153
|
-
/**
|
|
154
|
-
* Update a node
|
|
155
|
-
*
|
|
156
|
-
* Requires: fleet:update permission
|
|
157
|
-
*/
|
|
158
|
-
update(nodeId: string, request: UpdateNodeRequest): Promise<FleetNode>;
|
|
159
|
-
/**
|
|
160
|
-
* Deregister (remove) a node
|
|
161
|
-
*
|
|
162
|
-
* Requires: fleet:remove permission (server-side RBAC enforced)
|
|
163
|
-
*/
|
|
164
|
-
deregister(nodeId: string): Promise<void>;
|
|
165
|
-
/**
|
|
166
|
-
* Get current health status of a node
|
|
167
|
-
*
|
|
168
|
-
* Requires: fleet:read permission
|
|
169
|
-
*/
|
|
170
|
-
getHealth(nodeId: string): Promise<{
|
|
171
|
-
health: NodeHealth;
|
|
172
|
-
details: Record<string, unknown>;
|
|
173
|
-
}>;
|
|
174
|
-
/**
|
|
175
|
-
* List devices attached to a node
|
|
176
|
-
*
|
|
177
|
-
* Requires: fleet:read permission
|
|
178
|
-
*/
|
|
179
|
-
listDevices(nodeId: string): Promise<NodeDevice[]>;
|
|
180
|
-
/**
|
|
181
|
-
* Send a command to a node
|
|
182
|
-
*
|
|
183
|
-
* Requires: fleet:command permission
|
|
184
|
-
*/
|
|
185
|
-
sendCommand(nodeId: string, command: NodeCommand): Promise<{
|
|
186
|
-
command_id: string;
|
|
187
|
-
status: string;
|
|
188
|
-
}>;
|
|
189
|
-
/**
|
|
190
|
-
* Get current resource metrics for a node
|
|
191
|
-
*
|
|
192
|
-
* Requires: fleet:read permission
|
|
193
|
-
*/
|
|
194
|
-
getMetrics(nodeId: string): Promise<NodeMetrics>;
|
|
195
|
-
/**
|
|
196
|
-
* Wait for a node to come online
|
|
197
|
-
*/
|
|
198
|
-
waitForOnline(nodeId: string, options?: {
|
|
199
|
-
pollInterval?: number;
|
|
200
|
-
timeout?: number;
|
|
201
|
-
onProgress?: (node: FleetNode) => void;
|
|
202
|
-
}): Promise<FleetNode>;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Create a Fleet API instance
|
|
206
|
-
*/
|
|
207
|
-
export declare function createFleetAPI(client: WaveClient): FleetAPI;
|
package/dist/fleet.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../src/fleet.ts"],"names":[],"mappings":"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"}
|
package/dist/ghost.d.ts
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WAVE SDK - Autopilot API (formerly Ghost Producer)
|
|
3
|
-
*
|
|
4
|
-
* AI-powered autonomous production directing. Start, control, and monitor
|
|
5
|
-
* autonomous or assisted directing sessions for live productions.
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This is a client SDK. All authorization checks are performed server-side.
|
|
8
|
-
* The API will return 403 Forbidden if the user lacks required permissions.
|
|
9
|
-
*/
|
|
10
|
-
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
11
|
-
/**
|
|
12
|
-
* Directing autonomy level
|
|
13
|
-
*/
|
|
14
|
-
export type DirectingMode = "autonomous" | "assisted" | "manual";
|
|
15
|
-
/**
|
|
16
|
-
* Production directing style preset
|
|
17
|
-
*/
|
|
18
|
-
export type DirectingStyle = "documentary" | "sports" | "talk_show" | "concert" | "conference" | "worship" | "custom";
|
|
19
|
-
/**
|
|
20
|
-
* Autopilot directing session
|
|
21
|
-
*/
|
|
22
|
-
export interface GhostSession extends Timestamps {
|
|
23
|
-
id: string;
|
|
24
|
-
production_id: string;
|
|
25
|
-
mode: DirectingMode;
|
|
26
|
-
style: DirectingStyle;
|
|
27
|
-
status: "active" | "paused" | "stopped";
|
|
28
|
-
confidence_threshold: number;
|
|
29
|
-
switch_interval_ms: number;
|
|
30
|
-
rules: DirectingRule[];
|
|
31
|
-
stats: DirectingStats;
|
|
32
|
-
started_at: string;
|
|
33
|
-
stopped_at?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Rule governing directing behavior
|
|
37
|
-
*/
|
|
38
|
-
export interface DirectingRule {
|
|
39
|
-
type: "speaker_priority" | "shot_variety" | "no_repeat" | "minimum_duration" | "audio_follow" | "custom";
|
|
40
|
-
params: Record<string, unknown>;
|
|
41
|
-
enabled: boolean;
|
|
42
|
-
priority: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Session directing statistics
|
|
46
|
-
*/
|
|
47
|
-
export interface DirectingStats {
|
|
48
|
-
total_switches: number;
|
|
49
|
-
auto_switches: number;
|
|
50
|
-
manual_overrides: number;
|
|
51
|
-
average_shot_duration_ms: number;
|
|
52
|
-
speaker_changes_detected: number;
|
|
53
|
-
audience_engagement_score: number;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* AI suggestion type
|
|
57
|
-
*/
|
|
58
|
-
export type AISuggestionType = "switch_source" | "change_layout" | "show_graphic" | "adjust_audio" | "start_recording";
|
|
59
|
-
/**
|
|
60
|
-
* AI-generated production suggestion
|
|
61
|
-
*/
|
|
62
|
-
export interface AISuggestion {
|
|
63
|
-
id: string;
|
|
64
|
-
session_id: string;
|
|
65
|
-
type: AISuggestionType;
|
|
66
|
-
confidence: number;
|
|
67
|
-
description: string;
|
|
68
|
-
action: Record<string, unknown>;
|
|
69
|
-
status: "pending" | "accepted" | "rejected" | "expired";
|
|
70
|
-
created_at: string;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Manual shot override
|
|
74
|
-
*/
|
|
75
|
-
export interface ShotOverride {
|
|
76
|
-
source_id: string;
|
|
77
|
-
duration_ms: number;
|
|
78
|
-
reason: string;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Start an Autopilot session
|
|
82
|
-
*/
|
|
83
|
-
export interface StartGhostRequest {
|
|
84
|
-
production_id: string;
|
|
85
|
-
mode: DirectingMode;
|
|
86
|
-
style: DirectingStyle;
|
|
87
|
-
confidence_threshold?: number;
|
|
88
|
-
switch_interval_ms?: number;
|
|
89
|
-
rules?: DirectingRule[];
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Update an Autopilot session
|
|
93
|
-
*/
|
|
94
|
-
export interface UpdateGhostRequest {
|
|
95
|
-
mode?: DirectingMode;
|
|
96
|
-
style?: DirectingStyle;
|
|
97
|
-
confidence_threshold?: number;
|
|
98
|
-
switch_interval_ms?: number;
|
|
99
|
-
rules?: DirectingRule[];
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Autopilot API client
|
|
103
|
-
*
|
|
104
|
-
* All operations require appropriate permissions. Authorization is enforced
|
|
105
|
-
* server-side - the API returns 403 if the authenticated user lacks access.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```typescript
|
|
109
|
-
* import { WaveClient } from '@wave/sdk';
|
|
110
|
-
* import { GhostAPI } from '@wave/sdk/ghost';
|
|
111
|
-
*
|
|
112
|
-
* const client = new WaveClient({ apiKey: 'your-api-key' });
|
|
113
|
-
* const ghost = new GhostAPI(client);
|
|
114
|
-
*
|
|
115
|
-
* // Start autonomous directing for a production
|
|
116
|
-
* const session = await ghost.start({
|
|
117
|
-
* production_id: 'prod_123',
|
|
118
|
-
* mode: 'autonomous',
|
|
119
|
-
* style: 'conference',
|
|
120
|
-
* confidence_threshold: 0.8,
|
|
121
|
-
* });
|
|
122
|
-
*
|
|
123
|
-
* // Check AI suggestions
|
|
124
|
-
* const suggestions = await ghost.listSuggestions('prod_123');
|
|
125
|
-
* for (const suggestion of suggestions.data) {
|
|
126
|
-
* if (suggestion.confidence > 0.9) {
|
|
127
|
-
* await ghost.acceptSuggestion('prod_123', suggestion.id);
|
|
128
|
-
* }
|
|
129
|
-
* }
|
|
130
|
-
*
|
|
131
|
-
* // Override with a manual shot
|
|
132
|
-
* await ghost.override('prod_123', {
|
|
133
|
-
* source_id: 'cam_2',
|
|
134
|
-
* duration_ms: 5000,
|
|
135
|
-
* reason: 'Speaker moved to stage left',
|
|
136
|
-
* });
|
|
137
|
-
* ```
|
|
138
|
-
*/
|
|
139
|
-
export declare class GhostAPI {
|
|
140
|
-
private readonly client;
|
|
141
|
-
private readonly basePath;
|
|
142
|
-
constructor(client: WaveClient);
|
|
143
|
-
/**
|
|
144
|
-
* Start an Autopilot directing session
|
|
145
|
-
*
|
|
146
|
-
* Requires: ghost:create permission
|
|
147
|
-
*/
|
|
148
|
-
start(request: StartGhostRequest): Promise<GhostSession>;
|
|
149
|
-
/**
|
|
150
|
-
* Get the current Autopilot session for a production
|
|
151
|
-
*
|
|
152
|
-
* Requires: ghost:read permission
|
|
153
|
-
*/
|
|
154
|
-
get(productionId: string): Promise<GhostSession>;
|
|
155
|
-
/**
|
|
156
|
-
* Update an Autopilot session
|
|
157
|
-
*
|
|
158
|
-
* Requires: ghost:update permission
|
|
159
|
-
*/
|
|
160
|
-
update(productionId: string, request: UpdateGhostRequest): Promise<GhostSession>;
|
|
161
|
-
/**
|
|
162
|
-
* Stop an Autopilot session
|
|
163
|
-
*
|
|
164
|
-
* Requires: ghost:stop permission
|
|
165
|
-
*/
|
|
166
|
-
stop(productionId: string): Promise<GhostSession>;
|
|
167
|
-
/**
|
|
168
|
-
* Pause an Autopilot session
|
|
169
|
-
*
|
|
170
|
-
* Requires: ghost:update permission
|
|
171
|
-
*/
|
|
172
|
-
pause(productionId: string): Promise<GhostSession>;
|
|
173
|
-
/**
|
|
174
|
-
* Resume a paused Autopilot session
|
|
175
|
-
*
|
|
176
|
-
* Requires: ghost:update permission
|
|
177
|
-
*/
|
|
178
|
-
resume(productionId: string): Promise<GhostSession>;
|
|
179
|
-
/**
|
|
180
|
-
* Override the current shot with a manual selection
|
|
181
|
-
*
|
|
182
|
-
* Requires: ghost:override permission
|
|
183
|
-
*/
|
|
184
|
-
override(productionId: string, override: ShotOverride): Promise<void>;
|
|
185
|
-
/**
|
|
186
|
-
* List AI suggestions for a production's Autopilot session
|
|
187
|
-
*
|
|
188
|
-
* Requires: ghost:read permission
|
|
189
|
-
*/
|
|
190
|
-
listSuggestions(productionId: string, params?: PaginationParams): Promise<PaginatedResponse<AISuggestion>>;
|
|
191
|
-
/**
|
|
192
|
-
* Accept an AI suggestion
|
|
193
|
-
*
|
|
194
|
-
* Requires: ghost:update permission
|
|
195
|
-
*/
|
|
196
|
-
acceptSuggestion(productionId: string, suggestionId: string): Promise<AISuggestion>;
|
|
197
|
-
/**
|
|
198
|
-
* Reject an AI suggestion
|
|
199
|
-
*
|
|
200
|
-
* Requires: ghost:update permission
|
|
201
|
-
*/
|
|
202
|
-
rejectSuggestion(productionId: string, suggestionId: string): Promise<AISuggestion>;
|
|
203
|
-
/**
|
|
204
|
-
* Get directing statistics for a production's Autopilot session
|
|
205
|
-
*
|
|
206
|
-
* Requires: ghost:read permission
|
|
207
|
-
*/
|
|
208
|
-
getStats(productionId: string): Promise<DirectingStats>;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Create an Autopilot API instance
|
|
212
|
-
*/
|
|
213
|
-
export declare function createGhostAPI(client: WaveClient): GhostAPI;
|
package/dist/ghost.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ghost.d.ts","sourceRoot":"","sources":["../src/ghost.ts"],"names":[],"mappings":"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"}
|