@wave-av/sdk 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audience.d.ts +104 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/camera-control.d.ts +54 -0
- package/dist/camera-control.d.ts.map +1 -0
- package/dist/captions.d.ts +362 -0
- package/dist/captions.d.ts.map +1 -0
- package/dist/chapters.d.ts +315 -0
- package/dist/chapters.d.ts.map +1 -0
- package/dist/client.d.ts +191 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clips.d.ts +258 -0
- package/dist/clips.d.ts.map +1 -0
- package/dist/cloud-switcher.d.ts +65 -0
- package/dist/cloud-switcher.d.ts.map +1 -0
- package/dist/collab-types.d.ts +204 -0
- package/dist/collab-types.d.ts.map +1 -0
- package/dist/collab.d.ts +226 -0
- package/dist/collab.d.ts.map +1 -0
- package/dist/connect.d.ts +88 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/creator.d.ts +109 -0
- package/dist/creator.d.ts.map +1 -0
- package/dist/desktop.d.ts +95 -0
- package/dist/desktop.d.ts.map +1 -0
- package/dist/distribution.d.ts +92 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/drm.d.ts +87 -0
- package/dist/drm.d.ts.map +1 -0
- package/dist/edge.d.ts +112 -0
- package/dist/edge.d.ts.map +1 -0
- package/dist/editor-types.d.ts +236 -0
- package/dist/editor-types.d.ts.map +1 -0
- package/dist/editor.d.ts +206 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/fleet.d.ts +207 -0
- package/dist/fleet.d.ts.map +1 -0
- package/dist/ghost.d.ts +213 -0
- package/dist/ghost.d.ts.map +1 -0
- package/dist/index.d.ts +144 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/marketplace.d.ts +90 -0
- package/dist/marketplace.d.ts.map +1 -0
- package/dist/mesh.d.ts +237 -0
- package/dist/mesh.d.ts.map +1 -0
- package/dist/notifications.d.ts +82 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/phone.d.ts +369 -0
- package/dist/phone.d.ts.map +1 -0
- package/dist/pipeline.d.ts +409 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/podcast.d.ts +113 -0
- package/dist/podcast.d.ts.map +1 -0
- package/dist/prism.d.ts +132 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prompter.d.ts +184 -0
- package/dist/prompter.d.ts.map +1 -0
- package/dist/pulse.d.ts +156 -0
- package/dist/pulse.d.ts.map +1 -0
- package/dist/qr.d.ts +82 -0
- package/dist/qr.d.ts.map +1 -0
- package/dist/replay.d.ts +52 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/scene-types.d.ts +190 -0
- package/dist/scene-types.d.ts.map +1 -0
- package/dist/scene.d.ts +213 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/search-types.d.ts +210 -0
- package/dist/search-types.d.ts.map +1 -0
- package/dist/search.d.ts +250 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/sentiment.d.ts +378 -0
- package/dist/sentiment.d.ts.map +1 -0
- package/dist/signage.d.ts +101 -0
- package/dist/signage.d.ts.map +1 -0
- package/dist/slides.d.ts +68 -0
- package/dist/slides.d.ts.map +1 -0
- package/dist/studio-ai-types.d.ts +198 -0
- package/dist/studio-ai-types.d.ts.map +1 -0
- package/dist/studio-ai.d.ts +218 -0
- package/dist/studio-ai.d.ts.map +1 -0
- package/dist/studio-types.d.ts +267 -0
- package/dist/studio-types.d.ts.map +1 -0
- package/dist/studio.d.ts +234 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/telemetry.d.ts +76 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/transcribe-types.d.ts +153 -0
- package/dist/transcribe-types.d.ts.map +1 -0
- package/dist/transcribe.d.ts +218 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/usb.d.ts +64 -0
- package/dist/usb.d.ts.map +1 -0
- package/dist/vault.d.ts +121 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/voice.d.ts +307 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/zoom.d.ts +91 -0
- package/dist/zoom.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/collab.d.ts
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Collab API
|
|
3
|
+
*
|
|
4
|
+
* Real-time collaboration features for projects and media.
|
|
5
|
+
*
|
|
6
|
+
* NOTE: This is a client SDK. All authorization checks are performed server-side.
|
|
7
|
+
* The API will return 403 Forbidden if the user lacks required permissions.
|
|
8
|
+
*/
|
|
9
|
+
import type { WaveClient, PaginationParams, PaginatedResponse } from './client';
|
|
10
|
+
export * from './collab-types';
|
|
11
|
+
import type { Annotation, CollabRoom, Comment, CreateRoomRequest, InviteRequest, ListRoomsParams, Participant, ParticipantPermissions, ParticipantRole, UpdateRoomRequest } from './collab-types';
|
|
12
|
+
export declare class CollabAPI {
|
|
13
|
+
private readonly client;
|
|
14
|
+
private readonly basePath;
|
|
15
|
+
constructor(client: WaveClient);
|
|
16
|
+
/**
|
|
17
|
+
* Create a collaboration room
|
|
18
|
+
*
|
|
19
|
+
* Requires: collab:create permission
|
|
20
|
+
*/
|
|
21
|
+
createRoom(request: CreateRoomRequest): Promise<CollabRoom>;
|
|
22
|
+
/**
|
|
23
|
+
* Get a room by ID
|
|
24
|
+
*
|
|
25
|
+
* Requires: collab:read permission
|
|
26
|
+
*/
|
|
27
|
+
getRoom(roomId: string): Promise<CollabRoom>;
|
|
28
|
+
/**
|
|
29
|
+
* Update a room
|
|
30
|
+
*
|
|
31
|
+
* Requires: collab:update permission
|
|
32
|
+
*/
|
|
33
|
+
updateRoom(roomId: string, request: UpdateRoomRequest): Promise<CollabRoom>;
|
|
34
|
+
/**
|
|
35
|
+
* Close a room
|
|
36
|
+
*
|
|
37
|
+
* Requires: collab:manage permission
|
|
38
|
+
*/
|
|
39
|
+
closeRoom(roomId: string): Promise<CollabRoom>;
|
|
40
|
+
/**
|
|
41
|
+
* Archive a room
|
|
42
|
+
*
|
|
43
|
+
* Requires: collab:manage permission (server-side RBAC enforced)
|
|
44
|
+
*/
|
|
45
|
+
archiveRoom(roomId: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* List rooms
|
|
48
|
+
*
|
|
49
|
+
* Requires: collab:read permission
|
|
50
|
+
*/
|
|
51
|
+
listRooms(params?: ListRoomsParams): Promise<PaginatedResponse<CollabRoom>>;
|
|
52
|
+
/**
|
|
53
|
+
* Get join token for real-time connection
|
|
54
|
+
*
|
|
55
|
+
* Requires: collab:join permission
|
|
56
|
+
*/
|
|
57
|
+
getJoinToken(roomId: string, options?: {
|
|
58
|
+
display_name?: string;
|
|
59
|
+
avatar_url?: string;
|
|
60
|
+
}): Promise<{
|
|
61
|
+
token: string;
|
|
62
|
+
expires_at: string;
|
|
63
|
+
websocket_url: string;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* List participants in a room
|
|
67
|
+
*
|
|
68
|
+
* Requires: collab:read permission
|
|
69
|
+
*/
|
|
70
|
+
listParticipants(roomId: string, params?: PaginationParams): Promise<PaginatedResponse<Participant>>;
|
|
71
|
+
/**
|
|
72
|
+
* Get a participant
|
|
73
|
+
*
|
|
74
|
+
* Requires: collab:read permission
|
|
75
|
+
*/
|
|
76
|
+
getParticipant(roomId: string, participantId: string): Promise<Participant>;
|
|
77
|
+
/**
|
|
78
|
+
* Update a participant's role
|
|
79
|
+
*
|
|
80
|
+
* Requires: collab:manage permission
|
|
81
|
+
*/
|
|
82
|
+
updateParticipant(roomId: string, participantId: string, updates: {
|
|
83
|
+
role?: ParticipantRole;
|
|
84
|
+
permissions?: Partial<ParticipantPermissions>;
|
|
85
|
+
}): Promise<Participant>;
|
|
86
|
+
/**
|
|
87
|
+
* Remove a participant from a room
|
|
88
|
+
*
|
|
89
|
+
* Requires: collab:manage permission (server-side RBAC enforced)
|
|
90
|
+
*/
|
|
91
|
+
removeParticipant(roomId: string, participantId: string): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Invite users to a room
|
|
94
|
+
*
|
|
95
|
+
* Requires: collab:invite permission
|
|
96
|
+
*/
|
|
97
|
+
invite(roomId: string, invites: InviteRequest[]): Promise<{
|
|
98
|
+
sent: number;
|
|
99
|
+
failed: Array<{
|
|
100
|
+
email?: string;
|
|
101
|
+
user_id?: string;
|
|
102
|
+
error: string;
|
|
103
|
+
}>;
|
|
104
|
+
}>;
|
|
105
|
+
/**
|
|
106
|
+
* Add a comment
|
|
107
|
+
*
|
|
108
|
+
* Requires: collab:comment permission
|
|
109
|
+
*/
|
|
110
|
+
addComment(roomId: string, comment: {
|
|
111
|
+
content: string;
|
|
112
|
+
timestamp?: number;
|
|
113
|
+
element_id?: string;
|
|
114
|
+
position?: {
|
|
115
|
+
x: number;
|
|
116
|
+
y: number;
|
|
117
|
+
};
|
|
118
|
+
parent_id?: string;
|
|
119
|
+
}): Promise<Comment>;
|
|
120
|
+
/**
|
|
121
|
+
* List comments
|
|
122
|
+
*
|
|
123
|
+
* Requires: collab:read permission
|
|
124
|
+
*/
|
|
125
|
+
listComments(roomId: string, params?: PaginationParams & {
|
|
126
|
+
resolved?: boolean;
|
|
127
|
+
element_id?: string;
|
|
128
|
+
parent_id?: string;
|
|
129
|
+
}): Promise<PaginatedResponse<Comment>>;
|
|
130
|
+
/**
|
|
131
|
+
* Update a comment
|
|
132
|
+
*
|
|
133
|
+
* Requires: collab:comment permission (own comments) or collab:manage
|
|
134
|
+
*/
|
|
135
|
+
updateComment(roomId: string, commentId: string, updates: {
|
|
136
|
+
content?: string;
|
|
137
|
+
resolved?: boolean;
|
|
138
|
+
}): Promise<Comment>;
|
|
139
|
+
/**
|
|
140
|
+
* Remove a comment
|
|
141
|
+
*
|
|
142
|
+
* Requires: collab:comment permission (own) or collab:manage (server-side RBAC enforced)
|
|
143
|
+
*/
|
|
144
|
+
removeComment(roomId: string, commentId: string): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Add a reaction to a comment
|
|
147
|
+
*
|
|
148
|
+
* Requires: collab:comment permission
|
|
149
|
+
*/
|
|
150
|
+
addReaction(roomId: string, commentId: string, emoji: string): Promise<Comment>;
|
|
151
|
+
/**
|
|
152
|
+
* Remove a reaction from a comment
|
|
153
|
+
*
|
|
154
|
+
* Requires: collab:comment permission (server-side RBAC enforced)
|
|
155
|
+
*/
|
|
156
|
+
removeReaction(roomId: string, commentId: string, emoji: string): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Add an annotation
|
|
159
|
+
*
|
|
160
|
+
* Requires: collab:annotate permission
|
|
161
|
+
*/
|
|
162
|
+
addAnnotation(roomId: string, annotation: Omit<Annotation, 'id' | 'room_id' | 'user_id' | 'created_at' | 'updated_at'>): Promise<Annotation>;
|
|
163
|
+
/**
|
|
164
|
+
* List annotations
|
|
165
|
+
*
|
|
166
|
+
* Requires: collab:read permission
|
|
167
|
+
*/
|
|
168
|
+
listAnnotations(roomId: string, params?: PaginationParams & {
|
|
169
|
+
timestamp?: number;
|
|
170
|
+
user_id?: string;
|
|
171
|
+
}): Promise<PaginatedResponse<Annotation>>;
|
|
172
|
+
/**
|
|
173
|
+
* Update an annotation
|
|
174
|
+
*
|
|
175
|
+
* Requires: collab:annotate permission (own) or collab:manage
|
|
176
|
+
*/
|
|
177
|
+
updateAnnotation(roomId: string, annotationId: string, updates: Partial<Omit<Annotation, 'id' | 'room_id' | 'user_id' | 'created_at' | 'updated_at'>>): Promise<Annotation>;
|
|
178
|
+
/**
|
|
179
|
+
* Remove an annotation
|
|
180
|
+
*
|
|
181
|
+
* Requires: collab:annotate permission (own) or collab:manage (server-side RBAC enforced)
|
|
182
|
+
*/
|
|
183
|
+
removeAnnotation(roomId: string, annotationId: string): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* Clear all annotations
|
|
186
|
+
*
|
|
187
|
+
* Requires: collab:manage permission
|
|
188
|
+
*/
|
|
189
|
+
clearAnnotations(roomId: string): Promise<{
|
|
190
|
+
cleared: number;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Start recording the collaboration session
|
|
194
|
+
*
|
|
195
|
+
* Requires: collab:record permission
|
|
196
|
+
*/
|
|
197
|
+
startRecording(roomId: string): Promise<{
|
|
198
|
+
recording_id: string;
|
|
199
|
+
started_at: string;
|
|
200
|
+
}>;
|
|
201
|
+
/**
|
|
202
|
+
* Stop recording
|
|
203
|
+
*
|
|
204
|
+
* Requires: collab:record permission
|
|
205
|
+
*/
|
|
206
|
+
stopRecording(roomId: string): Promise<{
|
|
207
|
+
recording_id: string;
|
|
208
|
+
url: string;
|
|
209
|
+
duration: number;
|
|
210
|
+
}>;
|
|
211
|
+
/**
|
|
212
|
+
* Get recording status
|
|
213
|
+
*
|
|
214
|
+
* Requires: collab:read permission
|
|
215
|
+
*/
|
|
216
|
+
getRecordingStatus(roomId: string): Promise<{
|
|
217
|
+
recording: boolean;
|
|
218
|
+
recording_id?: string;
|
|
219
|
+
started_at?: string;
|
|
220
|
+
duration?: number;
|
|
221
|
+
}>;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create a Collab API instance
|
|
225
|
+
*/
|
|
226
|
+
export declare function createCollabAPI(client: WaveClient): CollabAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collab.d.ts","sourceRoot":"","sources":["../src/collab.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Connect API
|
|
3
|
+
*
|
|
4
|
+
* Third-party integration and webhook management.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export type IntegrationStatus = "active" | "inactive" | "error" | "pending_auth";
|
|
8
|
+
export type IntegrationType = "oauth" | "api_key" | "webhook" | "native";
|
|
9
|
+
export interface Integration extends Timestamps {
|
|
10
|
+
id: string;
|
|
11
|
+
organization_id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
type: IntegrationType;
|
|
14
|
+
provider: string;
|
|
15
|
+
status: IntegrationStatus;
|
|
16
|
+
config: Record<string, unknown>;
|
|
17
|
+
scopes: string[];
|
|
18
|
+
last_sync_at?: string;
|
|
19
|
+
error_message?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface WebhookEndpoint extends Timestamps {
|
|
22
|
+
id: string;
|
|
23
|
+
integration_id: string;
|
|
24
|
+
url: string;
|
|
25
|
+
events: string[];
|
|
26
|
+
status: "active" | "inactive";
|
|
27
|
+
secret: string;
|
|
28
|
+
}
|
|
29
|
+
export interface WebhookDelivery {
|
|
30
|
+
id: string;
|
|
31
|
+
webhook_id: string;
|
|
32
|
+
event: string;
|
|
33
|
+
status: "success" | "failed" | "pending";
|
|
34
|
+
status_code?: number;
|
|
35
|
+
response_time_ms?: number;
|
|
36
|
+
attempts: number;
|
|
37
|
+
next_retry_at?: string;
|
|
38
|
+
created_at: string;
|
|
39
|
+
}
|
|
40
|
+
export interface EnableIntegrationRequest {
|
|
41
|
+
provider: string;
|
|
42
|
+
type: IntegrationType;
|
|
43
|
+
config?: Record<string, unknown>;
|
|
44
|
+
scopes?: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface CreateWebhookRequest {
|
|
47
|
+
url: string;
|
|
48
|
+
events: string[];
|
|
49
|
+
}
|
|
50
|
+
export interface ListIntegrationsParams extends PaginationParams {
|
|
51
|
+
status?: IntegrationStatus;
|
|
52
|
+
provider?: string;
|
|
53
|
+
type?: IntegrationType;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Third-party integration management with OAuth, API keys, and webhooks.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* await wave.connect.enable({ provider: "slack", type: "oauth", scopes: ["chat:write"] });
|
|
61
|
+
* const webhook = await wave.connect.createWebhook(integrationId, { url: "https://...", events: ["stream.started"] });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class ConnectAPI {
|
|
65
|
+
private readonly client;
|
|
66
|
+
private readonly basePath;
|
|
67
|
+
constructor(client: WaveClient);
|
|
68
|
+
list(params?: ListIntegrationsParams): Promise<PaginatedResponse<Integration>>;
|
|
69
|
+
get(integrationId: string): Promise<Integration>;
|
|
70
|
+
enable(request: EnableIntegrationRequest): Promise<Integration>;
|
|
71
|
+
disable(integrationId: string): Promise<void>;
|
|
72
|
+
configure(integrationId: string, config: Record<string, unknown>): Promise<Integration>;
|
|
73
|
+
testConnection(integrationId: string): Promise<{
|
|
74
|
+
connected: boolean;
|
|
75
|
+
latency_ms: number;
|
|
76
|
+
error?: string;
|
|
77
|
+
}>;
|
|
78
|
+
listWebhooks(integrationId?: string): Promise<WebhookEndpoint[]>;
|
|
79
|
+
createWebhook(integrationId: string, request: CreateWebhookRequest): Promise<WebhookEndpoint>;
|
|
80
|
+
updateWebhook(webhookId: string, updates: {
|
|
81
|
+
url?: string;
|
|
82
|
+
events?: string[];
|
|
83
|
+
}): Promise<WebhookEndpoint>;
|
|
84
|
+
removeWebhook(webhookId: string): Promise<void>;
|
|
85
|
+
listDeliveries(webhookId: string, params?: PaginationParams): Promise<PaginatedResponse<WebhookDelivery>>;
|
|
86
|
+
retryDelivery(deliveryId: string): Promise<WebhookDelivery>;
|
|
87
|
+
}
|
|
88
|
+
export declare function createConnectAPI(client: WaveClient): ConnectAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Creator API
|
|
3
|
+
*
|
|
4
|
+
* Creator monetization, subscriptions, tips, and payouts.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export interface CreatorProfile extends Timestamps {
|
|
8
|
+
id: string;
|
|
9
|
+
user_id: string;
|
|
10
|
+
organization_id: string;
|
|
11
|
+
display_name: string;
|
|
12
|
+
bio?: string;
|
|
13
|
+
avatar_url?: string;
|
|
14
|
+
banner_url?: string;
|
|
15
|
+
subscriber_count: number;
|
|
16
|
+
follower_count: number;
|
|
17
|
+
total_revenue_cents: number;
|
|
18
|
+
verified: boolean;
|
|
19
|
+
tier: "starter" | "pro" | "partner";
|
|
20
|
+
}
|
|
21
|
+
export interface Subscription {
|
|
22
|
+
id: string;
|
|
23
|
+
creator_id: string;
|
|
24
|
+
subscriber_id: string;
|
|
25
|
+
tier: string;
|
|
26
|
+
price_cents: number;
|
|
27
|
+
status: "active" | "cancelled" | "past_due";
|
|
28
|
+
current_period_start: string;
|
|
29
|
+
current_period_end: string;
|
|
30
|
+
created_at: string;
|
|
31
|
+
}
|
|
32
|
+
export interface Tip {
|
|
33
|
+
id: string;
|
|
34
|
+
creator_id: string;
|
|
35
|
+
tipper_id: string;
|
|
36
|
+
amount_cents: number;
|
|
37
|
+
message?: string;
|
|
38
|
+
stream_id?: string;
|
|
39
|
+
created_at: string;
|
|
40
|
+
}
|
|
41
|
+
export interface Payout {
|
|
42
|
+
id: string;
|
|
43
|
+
creator_id: string;
|
|
44
|
+
amount_cents: number;
|
|
45
|
+
status: "pending" | "processing" | "completed" | "failed";
|
|
46
|
+
method: "bank_transfer" | "paypal" | "stripe";
|
|
47
|
+
requested_at: string;
|
|
48
|
+
completed_at?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface RevenueReport {
|
|
51
|
+
creator_id: string;
|
|
52
|
+
period: string;
|
|
53
|
+
total_cents: number;
|
|
54
|
+
subscription_cents: number;
|
|
55
|
+
tip_cents: number;
|
|
56
|
+
ad_cents: number;
|
|
57
|
+
platform_fee_cents: number;
|
|
58
|
+
net_cents: number;
|
|
59
|
+
}
|
|
60
|
+
export interface UpdateProfileRequest {
|
|
61
|
+
display_name?: string;
|
|
62
|
+
bio?: string;
|
|
63
|
+
avatar_url?: string;
|
|
64
|
+
banner_url?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ListSubscriptionsParams extends PaginationParams {
|
|
67
|
+
status?: string;
|
|
68
|
+
tier?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creator monetization: profiles, subscriptions, tips, and payouts.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const profile = await wave.creator.getProfile(creatorId);
|
|
76
|
+
* const revenue = await wave.creator.getRevenue(creatorId, { period: "month" });
|
|
77
|
+
* await wave.creator.requestPayout(creatorId, { amount_cents: 10000, method: "stripe" });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare class CreatorAPI {
|
|
81
|
+
private readonly client;
|
|
82
|
+
private readonly basePath;
|
|
83
|
+
constructor(client: WaveClient);
|
|
84
|
+
getProfile(creatorId: string): Promise<CreatorProfile>;
|
|
85
|
+
updateProfile(creatorId: string, request: UpdateProfileRequest): Promise<CreatorProfile>;
|
|
86
|
+
getRevenue(creatorId: string, params?: {
|
|
87
|
+
period?: string;
|
|
88
|
+
start_date?: string;
|
|
89
|
+
end_date?: string;
|
|
90
|
+
}): Promise<RevenueReport>;
|
|
91
|
+
listSubscriptions(creatorId: string, params?: ListSubscriptionsParams): Promise<PaginatedResponse<Subscription>>;
|
|
92
|
+
listTips(creatorId: string, params?: PaginationParams): Promise<PaginatedResponse<Tip>>;
|
|
93
|
+
createTipJar(creatorId: string, config: {
|
|
94
|
+
enabled: boolean;
|
|
95
|
+
min_amount_cents?: number;
|
|
96
|
+
suggested_amounts?: number[];
|
|
97
|
+
}): Promise<{
|
|
98
|
+
enabled: boolean;
|
|
99
|
+
}>;
|
|
100
|
+
listPayouts(creatorId: string, params?: PaginationParams): Promise<PaginatedResponse<Payout>>;
|
|
101
|
+
requestPayout(creatorId: string, request: {
|
|
102
|
+
amount_cents: number;
|
|
103
|
+
method: Payout["method"];
|
|
104
|
+
}): Promise<Payout>;
|
|
105
|
+
getAnalytics(creatorId: string, params?: {
|
|
106
|
+
period?: string;
|
|
107
|
+
}): Promise<Record<string, unknown>>;
|
|
108
|
+
}
|
|
109
|
+
export declare function createCreatorAPI(client: WaveClient): CreatorAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../src/creator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Desktop API
|
|
3
|
+
*
|
|
4
|
+
* Desktop Node application management and device enumeration.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient } from "./client";
|
|
7
|
+
export interface DesktopNodeInfo {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
os: "macos" | "windows" | "linux";
|
|
12
|
+
arch: "x64" | "arm64";
|
|
13
|
+
cpu_model: string;
|
|
14
|
+
memory_gb: number;
|
|
15
|
+
gpu_model?: string;
|
|
16
|
+
display_count: number;
|
|
17
|
+
usb_devices: LocalUSBDevice[];
|
|
18
|
+
}
|
|
19
|
+
export interface LocalUSBDevice {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
type: "camera" | "microphone" | "capture_card" | "other";
|
|
23
|
+
vendor_id: string;
|
|
24
|
+
product_id: string;
|
|
25
|
+
connected: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface NodePerformance {
|
|
28
|
+
cpu_usage: number;
|
|
29
|
+
memory_usage: number;
|
|
30
|
+
gpu_usage?: number;
|
|
31
|
+
disk_usage: number;
|
|
32
|
+
network_in_mbps: number;
|
|
33
|
+
network_out_mbps: number;
|
|
34
|
+
active_bridges: number;
|
|
35
|
+
uptime_seconds: number;
|
|
36
|
+
temperature_celsius?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface NodeLog {
|
|
39
|
+
id: string;
|
|
40
|
+
level: "debug" | "info" | "warn" | "error";
|
|
41
|
+
message: string;
|
|
42
|
+
source: string;
|
|
43
|
+
timestamp: string;
|
|
44
|
+
}
|
|
45
|
+
export type UpdateChannel = "stable" | "beta" | "canary";
|
|
46
|
+
export interface NodeConfig {
|
|
47
|
+
auto_start: boolean;
|
|
48
|
+
start_on_boot: boolean;
|
|
49
|
+
update_channel: UpdateChannel;
|
|
50
|
+
max_bridges: number;
|
|
51
|
+
gpu_acceleration: boolean;
|
|
52
|
+
log_level: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Desktop Node application management, device enumeration, and updates.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const info = await wave.desktop.getInfo(nodeId);
|
|
60
|
+
* const perf = await wave.desktop.getPerformance(nodeId);
|
|
61
|
+
* await wave.desktop.installUpdate(nodeId);
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class DesktopAPI {
|
|
65
|
+
private readonly client;
|
|
66
|
+
private readonly basePath;
|
|
67
|
+
constructor(client: WaveClient);
|
|
68
|
+
getInfo(nodeId: string): Promise<DesktopNodeInfo>;
|
|
69
|
+
getStatus(nodeId: string): Promise<{
|
|
70
|
+
status: string;
|
|
71
|
+
uptime_seconds: number;
|
|
72
|
+
active_bridges: number;
|
|
73
|
+
}>;
|
|
74
|
+
listDevices(nodeId: string): Promise<LocalUSBDevice[]>;
|
|
75
|
+
configure(nodeId: string, config: Partial<NodeConfig>): Promise<NodeConfig>;
|
|
76
|
+
getConfig(nodeId: string): Promise<NodeConfig>;
|
|
77
|
+
getLogs(nodeId: string, params?: {
|
|
78
|
+
level?: string;
|
|
79
|
+
since?: string;
|
|
80
|
+
limit?: number;
|
|
81
|
+
}): Promise<NodeLog[]>;
|
|
82
|
+
getPerformance(nodeId: string): Promise<NodePerformance>;
|
|
83
|
+
checkForUpdate(nodeId: string): Promise<{
|
|
84
|
+
available: boolean;
|
|
85
|
+
version?: string;
|
|
86
|
+
release_notes?: string;
|
|
87
|
+
}>;
|
|
88
|
+
installUpdate(nodeId: string): Promise<{
|
|
89
|
+
status: string;
|
|
90
|
+
}>;
|
|
91
|
+
restart(nodeId: string): Promise<{
|
|
92
|
+
status: string;
|
|
93
|
+
}>;
|
|
94
|
+
}
|
|
95
|
+
export declare function createDesktopAPI(client: WaveClient): DesktopAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../src/desktop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WAVE SDK - Distribution API
|
|
3
|
+
*
|
|
4
|
+
* Social media distribution, simulcasting, and scheduled publishing.
|
|
5
|
+
*/
|
|
6
|
+
import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
|
|
7
|
+
export type DestinationType = "youtube" | "twitch" | "facebook" | "linkedin" | "twitter" | "tiktok" | "instagram" | "custom_rtmp";
|
|
8
|
+
export type DestinationStatus = "connected" | "disconnected" | "streaming" | "error";
|
|
9
|
+
export interface Destination extends Timestamps {
|
|
10
|
+
id: string;
|
|
11
|
+
organization_id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
type: DestinationType;
|
|
14
|
+
status: DestinationStatus;
|
|
15
|
+
rtmp_url?: string;
|
|
16
|
+
stream_key_ref?: string;
|
|
17
|
+
platform_channel_id?: string;
|
|
18
|
+
auto_start: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface SimulcastSession {
|
|
21
|
+
id: string;
|
|
22
|
+
stream_id: string;
|
|
23
|
+
destinations: SimulcastTarget[];
|
|
24
|
+
status: "active" | "stopped";
|
|
25
|
+
started_at: string;
|
|
26
|
+
stopped_at?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface SimulcastTarget {
|
|
29
|
+
destination_id: string;
|
|
30
|
+
status: "streaming" | "error" | "pending";
|
|
31
|
+
viewer_count?: number;
|
|
32
|
+
error_message?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ScheduledPost extends Timestamps {
|
|
35
|
+
id: string;
|
|
36
|
+
organization_id: string;
|
|
37
|
+
title: string;
|
|
38
|
+
description: string;
|
|
39
|
+
platforms: DestinationType[];
|
|
40
|
+
media_url: string;
|
|
41
|
+
scheduled_at: string;
|
|
42
|
+
status: "scheduled" | "publishing" | "published" | "failed";
|
|
43
|
+
published_urls?: Record<string, string>;
|
|
44
|
+
}
|
|
45
|
+
export interface AddDestinationRequest {
|
|
46
|
+
name: string;
|
|
47
|
+
type: DestinationType;
|
|
48
|
+
rtmp_url?: string;
|
|
49
|
+
stream_key_ref?: string;
|
|
50
|
+
platform_channel_id?: string;
|
|
51
|
+
auto_start?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface ListDestinationsParams extends PaginationParams {
|
|
54
|
+
type?: DestinationType;
|
|
55
|
+
status?: DestinationStatus;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Social media simulcasting and scheduled content publishing.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* await wave.distribution.addDestination({ name: "YouTube", type: "youtube", auto_start: true });
|
|
63
|
+
* await wave.distribution.startSimulcast(streamId, [destId1, destId2]);
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare class DistributionAPI {
|
|
67
|
+
private readonly client;
|
|
68
|
+
private readonly basePath;
|
|
69
|
+
constructor(client: WaveClient);
|
|
70
|
+
listDestinations(params?: ListDestinationsParams): Promise<PaginatedResponse<Destination>>;
|
|
71
|
+
getDestination(destId: string): Promise<Destination>;
|
|
72
|
+
addDestination(request: AddDestinationRequest): Promise<Destination>;
|
|
73
|
+
updateDestination(destId: string, updates: Partial<AddDestinationRequest>): Promise<Destination>;
|
|
74
|
+
removeDestination(destId: string): Promise<void>;
|
|
75
|
+
startSimulcast(streamId: string, destinationIds: string[]): Promise<SimulcastSession>;
|
|
76
|
+
stopSimulcast(streamId: string): Promise<SimulcastSession>;
|
|
77
|
+
getSimulcastStatus(streamId: string): Promise<SimulcastSession>;
|
|
78
|
+
schedulePost(request: {
|
|
79
|
+
title: string;
|
|
80
|
+
description: string;
|
|
81
|
+
platforms: DestinationType[];
|
|
82
|
+
media_url: string;
|
|
83
|
+
scheduled_at: string;
|
|
84
|
+
}): Promise<ScheduledPost>;
|
|
85
|
+
listScheduledPosts(params?: PaginationParams): Promise<PaginatedResponse<ScheduledPost>>;
|
|
86
|
+
cancelScheduledPost(postId: string): Promise<void>;
|
|
87
|
+
getDistributionAnalytics(params?: {
|
|
88
|
+
time_range?: string;
|
|
89
|
+
destination_id?: string;
|
|
90
|
+
}): Promise<Record<string, unknown>>;
|
|
91
|
+
}
|
|
92
|
+
export declare function createDistributionAPI(client: WaveClient): DistributionAPI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"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"}
|