@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.
Files changed (99) hide show
  1. package/dist/audience.d.ts +104 -0
  2. package/dist/audience.d.ts.map +1 -0
  3. package/dist/camera-control.d.ts +54 -0
  4. package/dist/camera-control.d.ts.map +1 -0
  5. package/dist/captions.d.ts +362 -0
  6. package/dist/captions.d.ts.map +1 -0
  7. package/dist/chapters.d.ts +315 -0
  8. package/dist/chapters.d.ts.map +1 -0
  9. package/dist/client.d.ts +191 -0
  10. package/dist/client.d.ts.map +1 -0
  11. package/dist/clips.d.ts +258 -0
  12. package/dist/clips.d.ts.map +1 -0
  13. package/dist/cloud-switcher.d.ts +65 -0
  14. package/dist/cloud-switcher.d.ts.map +1 -0
  15. package/dist/collab-types.d.ts +204 -0
  16. package/dist/collab-types.d.ts.map +1 -0
  17. package/dist/collab.d.ts +226 -0
  18. package/dist/collab.d.ts.map +1 -0
  19. package/dist/connect.d.ts +88 -0
  20. package/dist/connect.d.ts.map +1 -0
  21. package/dist/creator.d.ts +109 -0
  22. package/dist/creator.d.ts.map +1 -0
  23. package/dist/desktop.d.ts +95 -0
  24. package/dist/desktop.d.ts.map +1 -0
  25. package/dist/distribution.d.ts +92 -0
  26. package/dist/distribution.d.ts.map +1 -0
  27. package/dist/drm.d.ts +87 -0
  28. package/dist/drm.d.ts.map +1 -0
  29. package/dist/edge.d.ts +112 -0
  30. package/dist/edge.d.ts.map +1 -0
  31. package/dist/editor-types.d.ts +236 -0
  32. package/dist/editor-types.d.ts.map +1 -0
  33. package/dist/editor.d.ts +206 -0
  34. package/dist/editor.d.ts.map +1 -0
  35. package/dist/fleet.d.ts +207 -0
  36. package/dist/fleet.d.ts.map +1 -0
  37. package/dist/ghost.d.ts +213 -0
  38. package/dist/ghost.d.ts.map +1 -0
  39. package/dist/index.d.ts +144 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/marketplace.d.ts +90 -0
  42. package/dist/marketplace.d.ts.map +1 -0
  43. package/dist/mesh.d.ts +237 -0
  44. package/dist/mesh.d.ts.map +1 -0
  45. package/dist/notifications.d.ts +82 -0
  46. package/dist/notifications.d.ts.map +1 -0
  47. package/dist/phone.d.ts +369 -0
  48. package/dist/phone.d.ts.map +1 -0
  49. package/dist/pipeline.d.ts +409 -0
  50. package/dist/pipeline.d.ts.map +1 -0
  51. package/dist/podcast.d.ts +113 -0
  52. package/dist/podcast.d.ts.map +1 -0
  53. package/dist/prism.d.ts +132 -0
  54. package/dist/prism.d.ts.map +1 -0
  55. package/dist/prompter.d.ts +184 -0
  56. package/dist/prompter.d.ts.map +1 -0
  57. package/dist/pulse.d.ts +156 -0
  58. package/dist/pulse.d.ts.map +1 -0
  59. package/dist/qr.d.ts +82 -0
  60. package/dist/qr.d.ts.map +1 -0
  61. package/dist/replay.d.ts +52 -0
  62. package/dist/replay.d.ts.map +1 -0
  63. package/dist/scene-types.d.ts +190 -0
  64. package/dist/scene-types.d.ts.map +1 -0
  65. package/dist/scene.d.ts +213 -0
  66. package/dist/scene.d.ts.map +1 -0
  67. package/dist/search-types.d.ts +210 -0
  68. package/dist/search-types.d.ts.map +1 -0
  69. package/dist/search.d.ts +250 -0
  70. package/dist/search.d.ts.map +1 -0
  71. package/dist/sentiment.d.ts +378 -0
  72. package/dist/sentiment.d.ts.map +1 -0
  73. package/dist/signage.d.ts +101 -0
  74. package/dist/signage.d.ts.map +1 -0
  75. package/dist/slides.d.ts +68 -0
  76. package/dist/slides.d.ts.map +1 -0
  77. package/dist/studio-ai-types.d.ts +198 -0
  78. package/dist/studio-ai-types.d.ts.map +1 -0
  79. package/dist/studio-ai.d.ts +218 -0
  80. package/dist/studio-ai.d.ts.map +1 -0
  81. package/dist/studio-types.d.ts +267 -0
  82. package/dist/studio-types.d.ts.map +1 -0
  83. package/dist/studio.d.ts +234 -0
  84. package/dist/studio.d.ts.map +1 -0
  85. package/dist/telemetry.d.ts +76 -0
  86. package/dist/telemetry.d.ts.map +1 -0
  87. package/dist/transcribe-types.d.ts +153 -0
  88. package/dist/transcribe-types.d.ts.map +1 -0
  89. package/dist/transcribe.d.ts +218 -0
  90. package/dist/transcribe.d.ts.map +1 -0
  91. package/dist/usb.d.ts +64 -0
  92. package/dist/usb.d.ts.map +1 -0
  93. package/dist/vault.d.ts +121 -0
  94. package/dist/vault.d.ts.map +1 -0
  95. package/dist/voice.d.ts +307 -0
  96. package/dist/voice.d.ts.map +1 -0
  97. package/dist/zoom.d.ts +91 -0
  98. package/dist/zoom.d.ts.map +1 -0
  99. package/package.json +1 -1
@@ -0,0 +1,184 @@
1
+ /**
2
+ * WAVE SDK - Prompter API
3
+ *
4
+ * AI-powered teleprompter for live streaming. Manage scripts,
5
+ * generate content via AI, track delivery analytics, and sync
6
+ * across devices.
7
+ *
8
+ * NOTE: This is a client SDK. All authorization checks are performed server-side.
9
+ * The API will return 403 Forbidden if the user lacks required permissions.
10
+ */
11
+ import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps, Metadata } from './client';
12
+ export type PrompterState = 'idle' | 'countdown' | 'active' | 'paused' | 'complete';
13
+ export type ScriptTone = 'casual' | 'professional' | 'educational' | 'motivational' | 'humorous';
14
+ export type SupportedLanguage = 'en' | 'es' | 'fr' | 'de' | 'pt' | 'ja' | 'ko' | 'zh' | 'ar' | 'hi';
15
+ export type BlockType = 'paragraph' | 'heading' | 'cue' | 'note' | 'divider';
16
+ export interface ScriptBlock {
17
+ id: string;
18
+ type: BlockType;
19
+ content: string;
20
+ metadata?: Metadata;
21
+ }
22
+ export interface ScriptContent {
23
+ blocks: ScriptBlock[];
24
+ }
25
+ export interface Script extends Timestamps {
26
+ id: string;
27
+ organization_id: string;
28
+ user_id: string;
29
+ title: string;
30
+ content: ScriptContent;
31
+ language: SupportedLanguage;
32
+ word_count: number;
33
+ is_template: boolean;
34
+ tags: string[];
35
+ metadata: Metadata;
36
+ }
37
+ export interface ScriptVersion {
38
+ id: string;
39
+ script_id: string;
40
+ content: ScriptContent;
41
+ version_number: number;
42
+ created_by: string;
43
+ diff_summary: string | null;
44
+ created_at: string;
45
+ }
46
+ export interface DeliverySession extends Timestamps {
47
+ id: string;
48
+ script_id: string;
49
+ stream_id: string | null;
50
+ user_id: string;
51
+ organization_id: string;
52
+ status: PrompterState;
53
+ started_at: string | null;
54
+ ended_at: string | null;
55
+ metadata: Metadata;
56
+ }
57
+ export interface DeliveryAnalytics {
58
+ id: string;
59
+ session_id: string;
60
+ wpm_avg: number | null;
61
+ wpm_segments: WpmSegment[];
62
+ filler_count: number;
63
+ filler_words: FillerWordEntry[];
64
+ duration_seconds: number | null;
65
+ completion_percent: number;
66
+ engagement_data: Metadata;
67
+ created_at: string;
68
+ }
69
+ export interface WpmSegment {
70
+ paragraphIndex: number;
71
+ wpm: number;
72
+ startTime: number;
73
+ endTime: number;
74
+ }
75
+ export interface FillerWordEntry {
76
+ word: string;
77
+ timestamp: number;
78
+ confidence: number;
79
+ }
80
+ export interface CreateScriptInput {
81
+ title: string;
82
+ content: ScriptContent;
83
+ language?: SupportedLanguage;
84
+ tags?: string[];
85
+ metadata?: Metadata;
86
+ }
87
+ export interface UpdateScriptInput {
88
+ title?: string;
89
+ content?: ScriptContent;
90
+ language?: SupportedLanguage;
91
+ tags?: string[];
92
+ metadata?: Metadata;
93
+ }
94
+ export interface GenerateScriptInput {
95
+ mode: 'topic' | 'outline' | 'improve';
96
+ topic?: string;
97
+ bullets?: string[];
98
+ existingContent?: string;
99
+ instructions?: string;
100
+ durationMinutes?: number;
101
+ tone?: ScriptTone;
102
+ }
103
+ export interface StartSessionInput {
104
+ scriptId: string;
105
+ streamId?: string;
106
+ countdownSeconds?: number;
107
+ }
108
+ export interface ListScriptsParams extends PaginationParams {
109
+ search?: string;
110
+ tags?: string[];
111
+ language?: SupportedLanguage;
112
+ includeTemplates?: boolean;
113
+ }
114
+ /**
115
+ * Create a prompter API instance from a WAVE client.
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * import { createClient } from '@wave/sdk';
120
+ * import { createPrompterApi } from '@wave/sdk/prompter';
121
+ *
122
+ * const wave = createClient({ apiKey: 'wave_...' });
123
+ * const prompter = createPrompterApi(wave);
124
+ *
125
+ * // Create a script
126
+ * const script = await prompter.scripts.create({
127
+ * title: 'Product Demo',
128
+ * content: { blocks: [{ id: '1', type: 'paragraph', content: 'Hello everyone...' }] },
129
+ * });
130
+ *
131
+ * // Generate a script via AI
132
+ * const generated = await prompter.generate({
133
+ * mode: 'topic',
134
+ * topic: 'Introduction to Kubernetes',
135
+ * durationMinutes: 5,
136
+ * tone: 'professional',
137
+ * });
138
+ *
139
+ * // Start a delivery session
140
+ * const session = await prompter.sessions.start({
141
+ * scriptId: script.id,
142
+ * streamId: 'stream_abc123',
143
+ * });
144
+ *
145
+ * // Get analytics after session
146
+ * const analytics = await prompter.sessions.analytics(session.id);
147
+ * ```
148
+ */
149
+ export declare function createPrompterApi(client: WaveClient): {
150
+ scripts: {
151
+ list(params?: ListScriptsParams): Promise<PaginatedResponse<Script>>;
152
+ get(scriptId: string): Promise<Script>;
153
+ create(input: CreateScriptInput): Promise<Script>;
154
+ update(scriptId: string, input: UpdateScriptInput): Promise<Script>;
155
+ delete(scriptId: string): Promise<void>;
156
+ versions(scriptId: string): Promise<ScriptVersion[]>;
157
+ restoreVersion(scriptId: string, versionNumber: number): Promise<Script>;
158
+ };
159
+ generate(input: GenerateScriptInput): Promise<ScriptContent>;
160
+ translate(scriptId: string, targetLanguage: SupportedLanguage): Promise<{
161
+ translatedContent: ScriptContent;
162
+ wordCount: number;
163
+ }>;
164
+ sessions: {
165
+ start(input: StartSessionInput): Promise<DeliverySession>;
166
+ get(sessionId: string): Promise<DeliverySession>;
167
+ pause(sessionId: string): Promise<DeliverySession>;
168
+ resume(sessionId: string): Promise<DeliverySession>;
169
+ end(sessionId: string): Promise<DeliverySession>;
170
+ analytics(sessionId: string): Promise<DeliveryAnalytics>;
171
+ list(params?: PaginationParams & {
172
+ scriptId?: string;
173
+ }): Promise<PaginatedResponse<DeliverySession>>;
174
+ };
175
+ templates: {
176
+ search(params?: ListScriptsParams): Promise<PaginatedResponse<Script>>;
177
+ use(templateId: string): Promise<{
178
+ scriptId: string;
179
+ }>;
180
+ };
181
+ usage: {
182
+ summary(periodStart: string, periodEnd: string): Promise<Record<string, number>>;
183
+ };
184
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../src/prompter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * WAVE SDK - Pulse Analytics API
3
+ *
4
+ * Analytics, metrics, and business intelligence for streams and viewers.
5
+ */
6
+ import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
7
+ export type TimeRange = "1h" | "6h" | "24h" | "7d" | "30d" | "90d" | "custom";
8
+ export type Granularity = "minute" | "hour" | "day" | "week" | "month";
9
+ export type MetricType = "viewers" | "streams" | "bandwidth" | "revenue" | "engagement" | "quality";
10
+ export interface QueryParams {
11
+ time_range: TimeRange;
12
+ start_date?: string;
13
+ end_date?: string;
14
+ granularity?: Granularity;
15
+ stream_id?: string;
16
+ group_by?: string;
17
+ [key: string]: string | number | boolean | undefined;
18
+ }
19
+ export interface StreamAnalytics {
20
+ stream_id: string;
21
+ title: string;
22
+ total_viewers: number;
23
+ peak_viewers: number;
24
+ average_duration_seconds: number;
25
+ total_watch_time_seconds: number;
26
+ unique_viewers: number;
27
+ average_bitrate_kbps: number;
28
+ buffering_ratio: number;
29
+ quality_score: number;
30
+ started_at: string;
31
+ ended_at?: string;
32
+ }
33
+ export interface ViewerAnalytics {
34
+ total_viewers: number;
35
+ unique_viewers: number;
36
+ peak_concurrent: number;
37
+ average_session_duration: number;
38
+ bounce_rate: number;
39
+ geography: GeoBreakdown[];
40
+ devices: DeviceBreakdown[];
41
+ protocols: ProtocolBreakdown[];
42
+ }
43
+ export interface GeoBreakdown {
44
+ country: string;
45
+ region?: string;
46
+ viewers: number;
47
+ percentage: number;
48
+ }
49
+ export interface DeviceBreakdown {
50
+ type: "desktop" | "mobile" | "tablet" | "tv" | "other";
51
+ viewers: number;
52
+ percentage: number;
53
+ }
54
+ export interface ProtocolBreakdown {
55
+ protocol: string;
56
+ viewers: number;
57
+ percentage: number;
58
+ }
59
+ export interface QualityMetrics {
60
+ average_bitrate_kbps: number;
61
+ buffering_ratio: number;
62
+ startup_time_ms: number;
63
+ rebuffering_events: number;
64
+ resolution_switches: number;
65
+ error_rate: number;
66
+ cdn_cache_hit_ratio: number;
67
+ }
68
+ export interface EngagementMetrics {
69
+ average_watch_time_seconds: number;
70
+ chat_messages: number;
71
+ reactions: number;
72
+ polls_participated: number;
73
+ peak_engagement_score: number;
74
+ drop_off_points: {
75
+ time_seconds: number;
76
+ drop_rate: number;
77
+ }[];
78
+ }
79
+ export interface RevenueMetrics {
80
+ total_revenue_cents: number;
81
+ subscription_revenue_cents: number;
82
+ tip_revenue_cents: number;
83
+ ad_revenue_cents: number;
84
+ mrr_cents: number;
85
+ churn_rate: number;
86
+ arpu_cents: number;
87
+ new_subscribers: number;
88
+ cancelled_subscribers: number;
89
+ }
90
+ export interface TimeSeriesPoint {
91
+ timestamp: string;
92
+ value: number;
93
+ }
94
+ export interface AnalyticsReport extends Timestamps {
95
+ id: string;
96
+ organization_id: string;
97
+ name: string;
98
+ type: string;
99
+ status: "generating" | "ready" | "failed";
100
+ time_range: TimeRange;
101
+ download_url?: string;
102
+ }
103
+ export interface Dashboard extends Timestamps {
104
+ id: string;
105
+ organization_id: string;
106
+ name: string;
107
+ widgets: DashboardWidget[];
108
+ is_default: boolean;
109
+ }
110
+ export interface DashboardWidget {
111
+ id: string;
112
+ type: "chart" | "number" | "table" | "map";
113
+ metric: MetricType;
114
+ config: Record<string, unknown>;
115
+ }
116
+ export interface CreateReportRequest {
117
+ name: string;
118
+ type: string;
119
+ time_range: TimeRange;
120
+ format?: "pdf" | "csv" | "json";
121
+ }
122
+ export interface CreateDashboardRequest {
123
+ name: string;
124
+ widgets?: DashboardWidget[];
125
+ is_default?: boolean;
126
+ }
127
+ /**
128
+ * Analytics and business intelligence for streams, viewers, quality, and revenue.
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const viewers = await wave.pulse.getViewerAnalytics({ time_range: '7d' });
133
+ * const revenue = await wave.pulse.getRevenueMetrics({ time_range: '30d' });
134
+ * const timeseries = await wave.pulse.getTimeSeries('viewers', { time_range: '24h', granularity: 'hour' });
135
+ * ```
136
+ */
137
+ export declare class PulseAPI {
138
+ private readonly client;
139
+ private readonly basePath;
140
+ constructor(client: WaveClient);
141
+ getStreamAnalytics(streamId: string, params?: QueryParams): Promise<StreamAnalytics>;
142
+ getViewerAnalytics(params?: QueryParams): Promise<ViewerAnalytics>;
143
+ getQualityMetrics(params?: QueryParams): Promise<QualityMetrics>;
144
+ getEngagementMetrics(params?: QueryParams): Promise<EngagementMetrics>;
145
+ getRevenueMetrics(params?: QueryParams): Promise<RevenueMetrics>;
146
+ getTimeSeries(metric: MetricType, params?: QueryParams): Promise<TimeSeriesPoint[]>;
147
+ createReport(request: CreateReportRequest): Promise<AnalyticsReport>;
148
+ getReport(reportId: string): Promise<AnalyticsReport>;
149
+ listReports(params?: PaginationParams): Promise<PaginatedResponse<AnalyticsReport>>;
150
+ listDashboards(params?: PaginationParams): Promise<PaginatedResponse<Dashboard>>;
151
+ createDashboard(request: CreateDashboardRequest): Promise<Dashboard>;
152
+ getDashboard(dashboardId: string): Promise<Dashboard>;
153
+ updateDashboard(dashboardId: string, updates: Partial<CreateDashboardRequest>): Promise<Dashboard>;
154
+ removeDashboard(dashboardId: string): Promise<void>;
155
+ }
156
+ export declare function createPulseAPI(client: WaveClient): PulseAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../src/pulse.ts"],"names":[],"mappings":"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"}
package/dist/qr.d.ts ADDED
@@ -0,0 +1,82 @@
1
+ /**
2
+ * WAVE SDK - QR API
3
+ *
4
+ * Dynamic QR code generation, tracking, and analytics.
5
+ */
6
+ import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
7
+ export type QRType = "url" | "stream" | "vcard" | "wifi" | "text" | "dynamic";
8
+ export interface QRCode extends Timestamps {
9
+ id: string;
10
+ organization_id: string;
11
+ type: QRType;
12
+ content: string;
13
+ short_url: string;
14
+ image_url: string;
15
+ scan_count: number;
16
+ status: "active" | "paused" | "expired";
17
+ style: QRStyle;
18
+ expires_at?: string;
19
+ }
20
+ export interface QRStyle {
21
+ foreground_color?: string;
22
+ background_color?: string;
23
+ logo_url?: string;
24
+ error_correction: "L" | "M" | "Q" | "H";
25
+ size_px?: number;
26
+ }
27
+ export interface QRAnalytics {
28
+ qr_id: string;
29
+ total_scans: number;
30
+ unique_scans: number;
31
+ scans_by_day: {
32
+ date: string;
33
+ count: number;
34
+ }[];
35
+ top_locations: {
36
+ country: string;
37
+ count: number;
38
+ }[];
39
+ devices: {
40
+ type: string;
41
+ count: number;
42
+ }[];
43
+ }
44
+ export interface CreateQRRequest {
45
+ type: QRType;
46
+ content: string;
47
+ style?: Partial<QRStyle>;
48
+ expires_at?: string;
49
+ }
50
+ /**
51
+ * Dynamic QR code generation, tracking, and scan analytics.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const qr = await wave.qr.create({ type: "url", content: "https://wave.online/stream/123" });
56
+ * const analytics = await wave.qr.getAnalytics(qr.id);
57
+ * ```
58
+ */
59
+ export declare class QrAPI {
60
+ private readonly client;
61
+ private readonly basePath;
62
+ constructor(client: WaveClient);
63
+ create(request: CreateQRRequest): Promise<QRCode>;
64
+ get(qrId: string): Promise<QRCode>;
65
+ update(qrId: string, updates: {
66
+ content?: string;
67
+ style?: Partial<QRStyle>;
68
+ status?: string;
69
+ expires_at?: string;
70
+ }): Promise<QRCode>;
71
+ remove(qrId: string): Promise<void>;
72
+ list(params?: PaginationParams): Promise<PaginatedResponse<QRCode>>;
73
+ getAnalytics(qrId: string, params?: {
74
+ start_date?: string;
75
+ end_date?: string;
76
+ }): Promise<QRAnalytics>;
77
+ createBatch(items: CreateQRRequest[]): Promise<QRCode[]>;
78
+ getImage(qrId: string, format?: "png" | "svg" | "pdf", size?: number): Promise<{
79
+ url: string;
80
+ }>;
81
+ }
82
+ export declare function createQrAPI(client: WaveClient): QrAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr.d.ts","sourceRoot":"","sources":["../src/qr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * WAVE Replay Engine SDK
3
+ *
4
+ * Mark POIs, review replays, export clips to social media.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { WaveClient } from './client';
9
+ export interface ReplaySession {
10
+ readonly id: string;
11
+ readonly switcherId: string | null;
12
+ readonly status: 'recording' | 'reviewing' | 'exporting' | 'completed';
13
+ readonly startedAt: string;
14
+ readonly endedAt: string | null;
15
+ }
16
+ export interface PointOfInterest {
17
+ readonly id: string;
18
+ readonly sessionId: string;
19
+ readonly timecode: string;
20
+ readonly label: string | null;
21
+ readonly createdAt: string;
22
+ }
23
+ export interface ReplayClip {
24
+ readonly id: string;
25
+ readonly sessionId: string;
26
+ readonly poiId: string;
27
+ readonly speed: number;
28
+ readonly exportStatus: 'pending' | 'processing' | 'completed' | 'failed';
29
+ readonly exportUrls: Record<string, string>;
30
+ }
31
+ export interface ExportClipOptions {
32
+ readonly poiId: string;
33
+ readonly cameraId?: string;
34
+ readonly speed?: number;
35
+ readonly orientation?: 'landscape' | 'vertical';
36
+ readonly stingerId?: string | null;
37
+ readonly platforms?: readonly ('tiktok' | 'youtube_shorts' | 'instagram_reels' | 'twitter')[];
38
+ readonly addCaptions?: boolean;
39
+ }
40
+ export declare class ReplayAPI {
41
+ private readonly client;
42
+ private readonly basePath;
43
+ constructor(client: WaveClient);
44
+ createSession(switcherId?: string): Promise<ReplaySession>;
45
+ getSession(sessionId: string): Promise<ReplaySession>;
46
+ markPOI(sessionId: string, label?: string): Promise<PointOfInterest>;
47
+ listPOIs(sessionId: string): Promise<PointOfInterest[]>;
48
+ exportClip(sessionId: string, options: ExportClipOptions): Promise<ReplayClip>;
49
+ getClip(sessionId: string, clipId: string): Promise<ReplayClip>;
50
+ listClips(sessionId: string): Promise<ReplayClip[]>;
51
+ }
52
+ export declare function createReplayAPI(client: WaveClient): ReplayAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9F,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,MAAM,EAAE,UAAU;IAIxB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIvD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI9E,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI/D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAG1D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAE7D"}