@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,90 @@
1
+ /**
2
+ * WAVE SDK - Marketplace API
3
+ *
4
+ * Template, plugin, and asset marketplace.
5
+ */
6
+ import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
7
+ export type ItemType = "template" | "plugin" | "graphic" | "transition" | "audio_effect" | "theme";
8
+ export type ItemStatus = "draft" | "review" | "published" | "rejected" | "deprecated";
9
+ export interface MarketplaceItem extends Timestamps {
10
+ id: string;
11
+ name: string;
12
+ description: string;
13
+ type: ItemType;
14
+ status: ItemStatus;
15
+ author_id: string;
16
+ author_name: string;
17
+ version: string;
18
+ price_cents: number;
19
+ downloads: number;
20
+ rating: number;
21
+ rating_count: number;
22
+ preview_url?: string;
23
+ thumbnail_url?: string;
24
+ tags?: string[];
25
+ category: string;
26
+ }
27
+ export interface InstalledItem {
28
+ id: string;
29
+ item_id: string;
30
+ organization_id: string;
31
+ version: string;
32
+ installed_at: string;
33
+ auto_update: boolean;
34
+ }
35
+ export interface Review extends Timestamps {
36
+ id: string;
37
+ item_id: string;
38
+ user_id: string;
39
+ rating: number;
40
+ comment: string;
41
+ }
42
+ export interface ListItemsParams extends PaginationParams {
43
+ type?: ItemType;
44
+ category?: string;
45
+ min_rating?: number;
46
+ max_price?: number;
47
+ search?: string;
48
+ order_by?: string;
49
+ order?: "asc" | "desc";
50
+ }
51
+ export interface PublishRequest {
52
+ name: string;
53
+ description: string;
54
+ type: ItemType;
55
+ price_cents?: number;
56
+ tags?: string[];
57
+ category: string;
58
+ file_url: string;
59
+ preview_url?: string;
60
+ thumbnail_url?: string;
61
+ }
62
+ /**
63
+ * Template, plugin, and asset marketplace for browsing, installing, and publishing.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const items = await wave.marketplace.list({ type: "template", category: "overlays" });
68
+ * await wave.marketplace.install(items.data[0].id);
69
+ * ```
70
+ */
71
+ export declare class MarketplaceAPI {
72
+ private readonly client;
73
+ private readonly basePath;
74
+ constructor(client: WaveClient);
75
+ list(params?: ListItemsParams): Promise<PaginatedResponse<MarketplaceItem>>;
76
+ get(itemId: string): Promise<MarketplaceItem>;
77
+ install(itemId: string): Promise<InstalledItem>;
78
+ uninstall(itemId: string): Promise<void>;
79
+ listInstalled(params?: PaginationParams): Promise<PaginatedResponse<InstalledItem>>;
80
+ publish(request: PublishRequest): Promise<MarketplaceItem>;
81
+ update(itemId: string, updates: Partial<PublishRequest>): Promise<MarketplaceItem>;
82
+ deprecate(itemId: string): Promise<void>;
83
+ getReviews(itemId: string, params?: PaginationParams): Promise<PaginatedResponse<Review>>;
84
+ addReview(itemId: string, review: {
85
+ rating: number;
86
+ comment: string;
87
+ }): Promise<Review>;
88
+ search(query: string, params?: ListItemsParams): Promise<PaginatedResponse<MarketplaceItem>>;
89
+ }
90
+ export declare function createMarketplaceAPI(client: WaveClient): MarketplaceAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../src/marketplace.ts"],"names":[],"mappings":"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"}
package/dist/mesh.d.ts ADDED
@@ -0,0 +1,237 @@
1
+ /**
2
+ * WAVE SDK - Mesh API
3
+ *
4
+ * Multi-region infrastructure failover. Manage regions, peers, failover
5
+ * policies, and replication across your global 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 } from "./client";
11
+ /**
12
+ * Region operational status
13
+ */
14
+ export type RegionStatus = "active" | "standby" | "draining" | "offline";
15
+ /**
16
+ * Failover strategy
17
+ */
18
+ export type FailoverStrategy = "automatic" | "manual" | "weighted";
19
+ /**
20
+ * Mesh region
21
+ */
22
+ export interface MeshRegion extends Timestamps {
23
+ id: string;
24
+ name: string;
25
+ provider: "aws" | "gcp" | "cloudflare" | "custom";
26
+ location: string;
27
+ status: RegionStatus;
28
+ latency_ms: number;
29
+ capacity_percent: number;
30
+ stream_count: number;
31
+ viewer_count: number;
32
+ is_primary: boolean;
33
+ }
34
+ /**
35
+ * Mesh peer connection between regions
36
+ */
37
+ export interface MeshPeer {
38
+ id: string;
39
+ region_id: string;
40
+ endpoint: string;
41
+ status: "connected" | "disconnected" | "syncing";
42
+ last_sync_at: string;
43
+ replication_lag_ms: number;
44
+ }
45
+ /**
46
+ * Failover policy
47
+ */
48
+ export interface FailoverPolicy extends Timestamps {
49
+ id: string;
50
+ organization_id: string;
51
+ name: string;
52
+ strategy: FailoverStrategy;
53
+ primary_region: string;
54
+ fallback_regions: string[];
55
+ health_check_interval_ms: number;
56
+ failover_threshold: number;
57
+ auto_failback: boolean;
58
+ }
59
+ /**
60
+ * Failover event record
61
+ */
62
+ export interface FailoverEvent {
63
+ id: string;
64
+ policy_id: string;
65
+ type: "failover" | "failback" | "manual_switch";
66
+ from_region: string;
67
+ to_region: string;
68
+ reason: string;
69
+ duration_ms: number;
70
+ timestamp: string;
71
+ }
72
+ /**
73
+ * Replication status between two regions
74
+ */
75
+ export interface ReplicationStatus {
76
+ source_region: string;
77
+ target_region: string;
78
+ status: "synced" | "lagging" | "stale";
79
+ lag_ms: number;
80
+ last_sync_at: string;
81
+ }
82
+ /**
83
+ * Full mesh topology snapshot
84
+ */
85
+ export interface MeshTopology {
86
+ regions: MeshRegion[];
87
+ peers: MeshPeer[];
88
+ policies: FailoverPolicy[];
89
+ }
90
+ /**
91
+ * Create a failover policy
92
+ */
93
+ export interface CreatePolicyRequest {
94
+ name: string;
95
+ strategy: FailoverStrategy;
96
+ primary_region: string;
97
+ fallback_regions: string[];
98
+ health_check_interval_ms?: number;
99
+ failover_threshold?: number;
100
+ auto_failback?: boolean;
101
+ }
102
+ /**
103
+ * List regions filters
104
+ */
105
+ export interface ListRegionsParams extends PaginationParams {
106
+ status?: RegionStatus;
107
+ provider?: "aws" | "gcp" | "cloudflare" | "custom";
108
+ }
109
+ /**
110
+ * Mesh API client
111
+ *
112
+ * All operations require appropriate permissions. Authorization is enforced
113
+ * server-side - the API returns 403 if the authenticated user lacks access.
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * import { WaveClient } from '@wave/sdk';
118
+ * import { MeshAPI } from '@wave/sdk/mesh';
119
+ *
120
+ * const client = new WaveClient({ apiKey: 'your-api-key' });
121
+ * const mesh = new MeshAPI(client);
122
+ *
123
+ * // Get the full mesh topology
124
+ * const topology = await mesh.getTopology();
125
+ * console.log('Regions:', topology.regions.length);
126
+ *
127
+ * // Create a failover policy
128
+ * const policy = await mesh.createPolicy({
129
+ * name: 'US West Failover',
130
+ * strategy: 'automatic',
131
+ * primary_region: 'us-west-2',
132
+ * fallback_regions: ['us-east-1', 'eu-west-1'],
133
+ * failover_threshold: 3,
134
+ * auto_failback: true,
135
+ * });
136
+ *
137
+ * // Trigger manual failover
138
+ * await mesh.triggerFailover(policy.id, 'us-east-1');
139
+ * ```
140
+ */
141
+ export declare class MeshAPI {
142
+ private readonly client;
143
+ private readonly basePath;
144
+ constructor(client: WaveClient);
145
+ /**
146
+ * List mesh regions with optional filters
147
+ *
148
+ * Requires: mesh:read permission
149
+ */
150
+ listRegions(params?: ListRegionsParams): Promise<PaginatedResponse<MeshRegion>>;
151
+ /**
152
+ * Get a region by ID
153
+ *
154
+ * Requires: mesh:read permission
155
+ */
156
+ getRegion(regionId: string): Promise<MeshRegion>;
157
+ /**
158
+ * Get health details for a region
159
+ *
160
+ * Requires: mesh:read permission
161
+ */
162
+ getRegionHealth(regionId: string): Promise<{
163
+ status: RegionStatus;
164
+ latency_ms: number;
165
+ details: Record<string, unknown>;
166
+ }>;
167
+ /**
168
+ * List mesh peers, optionally filtered by region
169
+ *
170
+ * Requires: mesh:read permission
171
+ */
172
+ listPeers(regionId?: string): Promise<MeshPeer[]>;
173
+ /**
174
+ * Add a peer to a region
175
+ *
176
+ * Requires: mesh:create permission
177
+ */
178
+ addPeer(regionId: string, endpoint: string): Promise<MeshPeer>;
179
+ /**
180
+ * Remove a peer
181
+ *
182
+ * Requires: mesh:remove permission (server-side RBAC enforced)
183
+ */
184
+ removePeer(peerId: string): Promise<void>;
185
+ /**
186
+ * Create a failover policy
187
+ *
188
+ * Requires: mesh:create permission
189
+ */
190
+ createPolicy(request: CreatePolicyRequest): Promise<FailoverPolicy>;
191
+ /**
192
+ * Update a failover policy
193
+ *
194
+ * Requires: mesh:update permission
195
+ */
196
+ updatePolicy(policyId: string, updates: Partial<CreatePolicyRequest>): Promise<FailoverPolicy>;
197
+ /**
198
+ * Remove a failover policy
199
+ *
200
+ * Requires: mesh:remove permission (server-side RBAC enforced)
201
+ */
202
+ removePolicy(policyId: string): Promise<void>;
203
+ /**
204
+ * List failover policies
205
+ *
206
+ * Requires: mesh:read permission
207
+ */
208
+ listPolicies(params?: PaginationParams): Promise<PaginatedResponse<FailoverPolicy>>;
209
+ /**
210
+ * Trigger a manual failover to a target region
211
+ *
212
+ * Requires: mesh:failover permission
213
+ */
214
+ triggerFailover(policyId: string, targetRegion: string): Promise<FailoverEvent>;
215
+ /**
216
+ * Get failover event history for a policy
217
+ *
218
+ * Requires: mesh:read permission
219
+ */
220
+ getFailoverHistory(policyId: string, params?: PaginationParams): Promise<PaginatedResponse<FailoverEvent>>;
221
+ /**
222
+ * Get replication status between regions
223
+ *
224
+ * Requires: mesh:read permission
225
+ */
226
+ getReplicationStatus(sourceRegion?: string, targetRegion?: string): Promise<ReplicationStatus[]>;
227
+ /**
228
+ * Get the full mesh topology (regions, peers, and policies)
229
+ *
230
+ * Requires: mesh:read permission
231
+ */
232
+ getTopology(): Promise<MeshTopology>;
233
+ }
234
+ /**
235
+ * Create a Mesh API instance
236
+ */
237
+ export declare function createMeshAPI(client: WaveClient): MeshAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../src/mesh.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM5F;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,eAAe,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;CACpD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;gBAE3B,MAAM,EAAE,UAAU;IAQ9B;;;;OAIG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAcrF;;;;OAIG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD;;;;OAIG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAY1F;;;;OAIG;IACG,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUvD;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOpE;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzE;;;;OAIG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAI1B;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;;OAIG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAUzF;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMrF;;;;OAIG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAW5C;;;;OAIG;IACG,oBAAoB,CACxB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAW/B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;CAG3C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * WAVE SDK - Notifications API
3
+ *
4
+ * User notification preferences, delivery channels, and notification management.
5
+ */
6
+ import type { WaveClient, PaginationParams, PaginatedResponse, Timestamps } from "./client";
7
+ export type NotificationChannel = "in_app" | "email" | "push" | "sms" | "slack" | "webhook";
8
+ export type NotificationStatus = "unread" | "read" | "archived";
9
+ export type NotificationPriority = "low" | "normal" | "high" | "urgent";
10
+ export interface Notification extends Timestamps {
11
+ id: string;
12
+ user_id: string;
13
+ type: string;
14
+ title: string;
15
+ body: string;
16
+ status: NotificationStatus;
17
+ priority: NotificationPriority;
18
+ channel: NotificationChannel;
19
+ action_url?: string;
20
+ metadata?: Record<string, unknown>;
21
+ read_at?: string;
22
+ }
23
+ export interface NotificationPreferences {
24
+ user_id: string;
25
+ channels: Record<NotificationChannel, boolean>;
26
+ categories: Record<string, {
27
+ enabled: boolean;
28
+ channels: NotificationChannel[];
29
+ }>;
30
+ quiet_hours?: {
31
+ start: string;
32
+ end: string;
33
+ timezone: string;
34
+ };
35
+ digest_frequency?: "realtime" | "hourly" | "daily" | "weekly";
36
+ }
37
+ export interface ListNotificationsParams extends PaginationParams {
38
+ status?: NotificationStatus;
39
+ type?: string;
40
+ priority?: NotificationPriority;
41
+ channel?: NotificationChannel;
42
+ since?: string;
43
+ }
44
+ /**
45
+ * User notification management: preferences, channels, read state, and delivery.
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const notifications = await wave.notifications.list({ status: 'unread' });
50
+ * await wave.notifications.markAsRead(notifications.data[0].id);
51
+ * await wave.notifications.markAllRead();
52
+ * const prefs = await wave.notifications.getPreferences();
53
+ * ```
54
+ */
55
+ export declare class NotificationsAPI {
56
+ private readonly client;
57
+ private readonly basePath;
58
+ constructor(client: WaveClient);
59
+ /** List notifications with optional filters. */
60
+ list(params?: ListNotificationsParams): Promise<PaginatedResponse<Notification>>;
61
+ /** Get a single notification by ID. */
62
+ get(notificationId: string): Promise<Notification>;
63
+ /** Mark a notification as read. */
64
+ markAsRead(notificationId: string): Promise<Notification>;
65
+ /** Mark all notifications as read. */
66
+ markAllRead(): Promise<{
67
+ updated: number;
68
+ }>;
69
+ /** Archive a notification. */
70
+ archive(notificationId: string): Promise<Notification>;
71
+ /** Delete a notification. */
72
+ remove(notificationId: string): Promise<void>;
73
+ /** Get unread count. */
74
+ getUnreadCount(): Promise<{
75
+ count: number;
76
+ }>;
77
+ /** Get notification preferences. */
78
+ getPreferences(): Promise<NotificationPreferences>;
79
+ /** Update notification preferences. */
80
+ updatePreferences(preferences: Partial<NotificationPreferences>): Promise<NotificationPreferences>;
81
+ }
82
+ export declare function createNotificationsAPI(client: WaveClient): NotificationsAPI;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}