@syra.fm/sdk 0.9.0 → 0.10.0

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 (53) hide show
  1. package/lib/commonjs/client.js +236 -7
  2. package/lib/commonjs/client.js.map +1 -1
  3. package/lib/commonjs/index.js +36 -0
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/live/components/CreateRoomSheet.js +5 -5
  6. package/lib/commonjs/live/components/CreateRoomSheet.js.map +1 -1
  7. package/lib/commonjs/live/components/RecordingsPanel.js +9 -9
  8. package/lib/commonjs/live/components/RecordingsPanel.js.map +1 -1
  9. package/lib/commonjs/live/validation.js +44 -15
  10. package/lib/commonjs/live/validation.js.map +1 -1
  11. package/lib/commonjs/schema.js +80 -9
  12. package/lib/commonjs/schema.js.map +1 -1
  13. package/lib/module/client.js +237 -8
  14. package/lib/module/client.js.map +1 -1
  15. package/lib/module/index.js +1 -1
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/live/components/CreateRoomSheet.js +5 -5
  18. package/lib/module/live/components/CreateRoomSheet.js.map +1 -1
  19. package/lib/module/live/components/RecordingsPanel.js +9 -9
  20. package/lib/module/live/components/RecordingsPanel.js.map +1 -1
  21. package/lib/module/live/validation.js +44 -15
  22. package/lib/module/live/validation.js.map +1 -1
  23. package/lib/module/schema.js +79 -8
  24. package/lib/module/schema.js.map +1 -1
  25. package/lib/typescript/commonjs/client.d.ts +159 -2
  26. package/lib/typescript/commonjs/client.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/index.d.ts +3 -3
  28. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  29. package/lib/typescript/commonjs/live/components/RoomCard.d.ts +1 -1
  30. package/lib/typescript/commonjs/live/components/RoomCard.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/live/validation.d.ts +17 -20
  32. package/lib/typescript/commonjs/live/validation.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/schema.d.ts +97 -7
  34. package/lib/typescript/commonjs/schema.d.ts.map +1 -1
  35. package/lib/typescript/module/client.d.ts +159 -2
  36. package/lib/typescript/module/client.d.ts.map +1 -1
  37. package/lib/typescript/module/index.d.ts +3 -3
  38. package/lib/typescript/module/index.d.ts.map +1 -1
  39. package/lib/typescript/module/live/components/RoomCard.d.ts +1 -1
  40. package/lib/typescript/module/live/components/RoomCard.d.ts.map +1 -1
  41. package/lib/typescript/module/live/validation.d.ts +17 -20
  42. package/lib/typescript/module/live/validation.d.ts.map +1 -1
  43. package/lib/typescript/module/schema.d.ts +97 -7
  44. package/lib/typescript/module/schema.d.ts.map +1 -1
  45. package/package.json +6 -4
  46. package/src/client.ts +418 -10
  47. package/src/index.ts +17 -0
  48. package/src/live/components/CreateRoomSheet.tsx +5 -5
  49. package/src/live/components/RecordingsPanel.tsx +9 -9
  50. package/src/live/components/RoomCard.tsx +1 -1
  51. package/src/live/validation.ts +41 -15
  52. package/src/schema.ts +90 -7
  53. package/src/client.test.ts +0 -632
@@ -10,9 +10,8 @@ export declare const ZPodcastQueueItem: z.ZodObject<{
10
10
  episodeId: z.ZodString;
11
11
  }, z.core.$loose>;
12
12
  export type PodcastQueueItem = z.infer<typeof ZPodcastQueueItem>;
13
- export declare const ZRoom: z.ZodObject<{
14
- _id: z.ZodString;
15
- id: z.ZodOptional<z.ZodString>;
13
+ export declare const ZRoom: z.ZodPreprocess<z.ZodObject<{
14
+ id: z.ZodString;
16
15
  title: z.ZodString;
17
16
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
17
  ownerType: z.ZodDefault<z.ZodEnum<{
@@ -72,7 +71,7 @@ export declare const ZRoom: z.ZodObject<{
72
71
  recordingEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
73
72
  recordingEgressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
73
  createdAt: z.ZodString;
75
- }, z.core.$loose>;
74
+ }, z.core.$loose>>;
76
75
  export type Room = z.infer<typeof ZRoom>;
77
76
  export declare const ZRoomParticipant: z.ZodObject<{
78
77
  userId: z.ZodString;
@@ -104,8 +103,8 @@ export type HouseMember = z.infer<typeof ZHouseMember>;
104
103
  */
105
104
  export declare const ZHouseVisibility: z.ZodObject<{
106
105
  discovery: z.ZodDefault<z.ZodEnum<{
107
- listed: "listed";
108
106
  unlisted: "unlisted";
107
+ listed: "listed";
109
108
  hidden: "hidden";
110
109
  }>>;
111
110
  rooms: z.ZodDefault<z.ZodEnum<{
@@ -118,9 +117,8 @@ export declare const ZHouseVisibility: z.ZodObject<{
118
117
  }>>;
119
118
  }, z.core.$loose>;
120
119
  export type HouseVisibility = z.infer<typeof ZHouseVisibility>;
121
- export declare const ZHouse: z.ZodObject<{
122
- _id: z.ZodString;
123
- id: z.ZodOptional<z.ZodString>;
120
+ export declare const ZHouse: z.ZodPreprocess<z.ZodObject<{
121
+ id: z.ZodString;
124
122
  name: z.ZodString;
125
123
  description: z.ZodOptional<z.ZodString>;
126
124
  avatar: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -139,8 +137,8 @@ export declare const ZHouse: z.ZodObject<{
139
137
  createdBy: z.ZodString;
140
138
  visibility: z.ZodDefault<z.ZodObject<{
141
139
  discovery: z.ZodDefault<z.ZodEnum<{
142
- listed: "listed";
143
140
  unlisted: "unlisted";
141
+ listed: "listed";
144
142
  hidden: "hidden";
145
143
  }>>;
146
144
  rooms: z.ZodDefault<z.ZodEnum<{
@@ -154,7 +152,7 @@ export declare const ZHouse: z.ZodObject<{
154
152
  }, z.core.$loose>>;
155
153
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
154
  createdAt: z.ZodString;
157
- }, z.core.$loose>;
155
+ }, z.core.$loose>>;
158
156
  export type House = z.infer<typeof ZHouse>;
159
157
  export declare const ZRecurrence: z.ZodObject<{
160
158
  type: z.ZodEnum<{
@@ -192,9 +190,8 @@ export declare const ZSeriesEpisode: z.ZodObject<{
192
190
  episodeNumber: z.ZodNumber;
193
191
  }, z.core.$loose>;
194
192
  export type SeriesEpisode = z.infer<typeof ZSeriesEpisode>;
195
- export declare const ZSeries: z.ZodObject<{
196
- _id: z.ZodString;
197
- id: z.ZodOptional<z.ZodString>;
193
+ export declare const ZSeries: z.ZodPreprocess<z.ZodObject<{
194
+ id: z.ZodString;
198
195
  title: z.ZodString;
199
196
  description: z.ZodOptional<z.ZodString>;
200
197
  coverImage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -236,18 +233,18 @@ export declare const ZSeries: z.ZodObject<{
236
233
  nextEpisodeNumber: z.ZodDefault<z.ZodNumber>;
237
234
  isActive: z.ZodDefault<z.ZodBoolean>;
238
235
  createdAt: z.ZodString;
239
- }, z.core.$loose>;
236
+ }, z.core.$loose>>;
240
237
  export type Series = z.infer<typeof ZSeries>;
241
- export declare const ZRecording: z.ZodObject<{
242
- _id: z.ZodString;
238
+ export declare const ZRecording: z.ZodPreprocess<z.ZodObject<{
239
+ id: z.ZodString;
243
240
  roomId: z.ZodString;
244
241
  roomTitle: z.ZodString;
245
242
  host: z.ZodString;
246
243
  status: z.ZodEnum<{
247
- recording: "recording";
248
- processing: "processing";
249
244
  ready: "ready";
245
+ processing: "processing";
250
246
  failed: "failed";
247
+ recording: "recording";
251
248
  deleted: "deleted";
252
249
  }>;
253
250
  egressId: z.ZodString;
@@ -257,13 +254,13 @@ export declare const ZRecording: z.ZodObject<{
257
254
  startedAt: z.ZodString;
258
255
  stoppedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
256
  access: z.ZodDefault<z.ZodEnum<{
260
- participants: "participants";
261
257
  public: "public";
258
+ participants: "participants";
262
259
  }>>;
263
260
  participantIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
264
261
  expiresAt: z.ZodString;
265
262
  createdAt: z.ZodString;
266
- }, z.core.$loose>;
263
+ }, z.core.$loose>>;
267
264
  export type Recording = z.infer<typeof ZRecording>;
268
265
  export declare const ZStartStreamResponse: z.ZodObject<{
269
266
  ingressId: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/live/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/live/validation.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,12 @@ export type TrackSummary = z.infer<typeof trackSummarySchema>;
120
120
  * variant `url` is `/api/images/:id`); `imageSourceUrl` keeps the original
121
121
  * external artwork URL as an absolute fallback when re-hosting has not run yet.
122
122
  */
123
+ export declare const podcastVisibilitySchema: z.ZodEnum<{
124
+ private: "private";
125
+ unlisted: "unlisted";
126
+ public: "public";
127
+ }>;
128
+ export type PodcastVisibility = z.infer<typeof podcastVisibilitySchema>;
123
129
  export declare const podcastSummarySchema: z.ZodObject<{
124
130
  id: z.ZodString;
125
131
  title: z.ZodString;
@@ -165,6 +171,12 @@ export declare const podcastSummarySchema: z.ZodObject<{
165
171
  }, z.core.$strip>>;
166
172
  }, z.core.$strip>>;
167
173
  imageSourceUrl: z.ZodOptional<z.ZodString>;
174
+ visibility: z.ZodOptional<z.ZodEnum<{
175
+ private: "private";
176
+ unlisted: "unlisted";
177
+ public: "public";
178
+ }>>;
179
+ aiGenerated: z.ZodOptional<z.ZodBoolean>;
168
180
  }, z.core.$strip>;
169
181
  export type PodcastSummary = z.infer<typeof podcastSummarySchema>;
170
182
  /**
@@ -172,12 +184,28 @@ export type PodcastSummary = z.infer<typeof podcastSummarySchema>;
172
184
  * (`GET /api/podcasts/:id/episodes`, `GET /api/episodes/:id`) — just enough to
173
185
  * list an episode and stream its audio.
174
186
  *
175
- * `enclosureUrl` is the direct audio file URL (e.g.
176
- * `https://api.fastcast.ai/audio/<guid>.mp3`) and is REQUIRED: an episode with
177
- * no enclosure is unplayable, so a row missing it is treated as malformed and
178
- * dropped rather than surfaced as a dead entry. `enclosureType` /
179
- * `enclosureLength` describe that file (MIME type and byte length); `duration`
180
- * is the runtime in seconds and `pubDate` the ISO publish timestamp.
187
+ * ## `enclosureUrl` is OPTIONAL, and that is a bug fix rather than a loosening
188
+ *
189
+ * It used to be required, on the reasoning that "an episode with no enclosure is
190
+ * unplayable, so a row missing it is malformed". That reasoning holds only for
191
+ * RSS-mirrored episodes. A SYRA-HOSTED episode — everything created through
192
+ * `createPodcast`/`uploadEpisode`/the ingest ticket — has no enclosure at all:
193
+ * its audio lives at `audioSource.url`, a path on the Syra API. So the required
194
+ * field made this SDK silently DROP every Syra-hosted episode from
195
+ * `getPodcastEpisodes` and throw on one from `getEpisode` — the entire
196
+ * first-party catalogue, invisible, with no error to notice.
197
+ *
198
+ * The two are alternatives, not a required field and an optional one:
199
+ *
200
+ * enclosureUrl an ABSOLUTE external URL (RSS mirror)
201
+ * audioSource.url a PATH on the Syra API (Syra-hosted)
202
+ *
203
+ * `SyraClient.episodeAudioUrl` is the one place that resolves either into
204
+ * something playable, so no consumer has to know which kind it holds.
205
+ *
206
+ * `enclosureType` / `enclosureLength` describe the external file (MIME type and
207
+ * byte length); `duration` is the runtime in seconds and `pubDate` the ISO
208
+ * publish timestamp.
181
209
  *
182
210
  * Artwork mirrors the podcast SHOW: `image` is the re-hosted Syra image id
183
211
  * (resolved via `/api/images/:id`); `imageSizes` is the multi-resolution variant
@@ -185,16 +213,57 @@ export type PodcastSummary = z.infer<typeof podcastSummarySchema>;
185
213
  * original external artwork URL as an absolute fallback when re-hosting has not
186
214
  * run yet.
187
215
  */
216
+ /**
217
+ * Where a Syra-hosted episode's audio actually is.
218
+ *
219
+ * `url` is a PATH on the Syra API (`/api/podcasts/episodes/:id/audio`), not an
220
+ * absolute URL — resolve it with `SyraClient.episodeAudioUrl` rather than
221
+ * handing it to a player directly.
222
+ */
223
+ export declare const episodeAudioSourceSchema: z.ZodObject<{
224
+ url: z.ZodString;
225
+ format: z.ZodOptional<z.ZodString>;
226
+ bitrate: z.ZodOptional<z.ZodNumber>;
227
+ duration: z.ZodOptional<z.ZodNumber>;
228
+ }, z.core.$strip>;
229
+ export type EpisodeAudioSource = z.infer<typeof episodeAudioSourceSchema>;
230
+ /**
231
+ * An episode's processing state. `ready` is playable; `processing` is an episode
232
+ * whose audio is still being packaged (including one drafted but not yet
233
+ * ingested), and only its OWNER is shown those.
234
+ */
235
+ export declare const episodeStatusSchema: z.ZodEnum<{
236
+ ready: "ready";
237
+ processing: "processing";
238
+ failed: "failed";
239
+ unavailable: "unavailable";
240
+ }>;
241
+ export type EpisodeStatus = z.infer<typeof episodeStatusSchema>;
188
242
  export declare const episodeSummarySchema: z.ZodObject<{
189
243
  id: z.ZodString;
190
244
  podcastId: z.ZodString;
191
245
  title: z.ZodString;
192
246
  description: z.ZodOptional<z.ZodString>;
193
- enclosureUrl: z.ZodString;
247
+ enclosureUrl: z.ZodOptional<z.ZodString>;
194
248
  enclosureType: z.ZodOptional<z.ZodString>;
195
249
  enclosureLength: z.ZodOptional<z.ZodNumber>;
250
+ audioSource: z.ZodOptional<z.ZodObject<{
251
+ url: z.ZodString;
252
+ format: z.ZodOptional<z.ZodString>;
253
+ bitrate: z.ZodOptional<z.ZodNumber>;
254
+ duration: z.ZodOptional<z.ZodNumber>;
255
+ }, z.core.$strip>>;
196
256
  duration: z.ZodOptional<z.ZodNumber>;
197
257
  pubDate: z.ZodOptional<z.ZodString>;
258
+ season: z.ZodOptional<z.ZodNumber>;
259
+ episodeNumber: z.ZodOptional<z.ZodNumber>;
260
+ status: z.ZodOptional<z.ZodEnum<{
261
+ ready: "ready";
262
+ processing: "processing";
263
+ failed: "failed";
264
+ unavailable: "unavailable";
265
+ }>>;
266
+ aiGenerated: z.ZodOptional<z.ZodBoolean>;
198
267
  image: z.ZodOptional<z.ZodString>;
199
268
  imageSizes: z.ZodOptional<z.ZodObject<{
200
269
  small: z.ZodOptional<z.ZodObject<{
@@ -237,4 +306,25 @@ export declare const episodeSummarySchema: z.ZodObject<{
237
306
  imageSourceUrl: z.ZodOptional<z.ZodString>;
238
307
  }, z.core.$strip>;
239
308
  export type EpisodeSummary = z.infer<typeof episodeSummarySchema>;
309
+ /** What `createEpisodeDraft` hands back: the episode to fill, and the capability to fill it. */
310
+ export declare const episodeDraftSchema: z.ZodObject<{
311
+ episodeId: z.ZodString;
312
+ ingestTicket: z.ZodString;
313
+ expiresAt: z.ZodString;
314
+ }, z.core.$strip>;
315
+ export type EpisodeDraft = z.infer<typeof episodeDraftSchema>;
316
+ /** What `getEpisodeStream` hands back: a tokenized HLS URL with its own deadline. */
317
+ export declare const episodeStreamSchema: z.ZodObject<{
318
+ url: z.ZodString;
319
+ type: z.ZodString;
320
+ expiresAt: z.ZodOptional<z.ZodString>;
321
+ }, z.core.$strip>;
322
+ export type EpisodeStream = z.infer<typeof episodeStreamSchema>;
323
+ /** What the image upload endpoint hands back. */
324
+ export declare const uploadedImageSchema: z.ZodObject<{
325
+ id: z.ZodString;
326
+ primaryColor: z.ZodOptional<z.ZodString>;
327
+ secondaryColor: z.ZodOptional<z.ZodString>;
328
+ }, z.core.$strip>;
329
+ export type UploadedImage = z.infer<typeof uploadedImageSchema>;
240
330
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,mFAAmF;AACnF,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,mFAAmF;AACnF,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;;;;EAA4C,CAAC;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;EAA2D,CAAC;AAC5F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,gGAAgG;AAChG,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,qFAAqF;AACrF,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,iDAAiD;AACjD,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type TrackSummary, type PodcastSummary, type EpisodeSummary, type CoverArtSizes, type ArtworkSize } from './schema';
1
+ import { type TrackSummary, type PodcastSummary, type EpisodeSummary, type EpisodeDraft, type EpisodeStream, type UploadedImage, type PodcastVisibility, type CoverArtSizes, type ArtworkSize } from './schema';
2
2
  /** Default base URL of the public Syra API. */
3
3
  export declare const DEFAULT_SYRA_BASE_URL = "https://api.syra.fm";
4
4
  /** Default base URL of the Syra web app, used for deep links. */
@@ -15,9 +15,24 @@ export interface SyraClientOptions {
15
15
  /**
16
16
  * `fetch` implementation. Defaults to the global `fetch` (Node 18+, browsers,
17
17
  * React Native). Inject one (e.g. `node-fetch`) when no global is available.
18
- * This is the seam where an authenticated transport can be layered in later.
19
18
  */
20
19
  fetch?: typeof fetch;
20
+ /**
21
+ * Supplies the caller's Oxy access token. Called BEFORE EVERY REQUEST, never
22
+ * cached here, because an access token is short-lived and the host
23
+ * application is the only thing that knows when it was refreshed — an SDK
24
+ * holding its own copy is an SDK that starts sending an expired one.
25
+ *
26
+ * Returning `null`/`undefined` means "no session right now", which is a normal
27
+ * state and not an error: every PUBLIC read below still works without a token,
28
+ * exactly as it did before this existed. Only the authenticated methods refuse,
29
+ * and they say so by name.
30
+ *
31
+ * The token IS sent on public reads when it is available, which is
32
+ * deliberate — it is what lets an owner see their own private show and their
33
+ * own unpublished episodes through the same methods everyone else uses.
34
+ */
35
+ getAccessToken?: () => string | null | undefined | Promise<string | null | undefined>;
21
36
  }
22
37
  export interface SearchTracksOptions {
23
38
  /** Maximum number of tracks to request from the API (the page size). */
@@ -73,6 +88,83 @@ export interface EpisodeArtworkSource {
73
88
  imageSizes?: CoverArtSizes | null;
74
89
  imageSourceUrl?: string | null;
75
90
  }
91
+ /** The fields `createPodcast` accepts. Mirrors `POST /api/podcasts`. */
92
+ export interface CreatePodcastInput {
93
+ title: string;
94
+ description?: string;
95
+ author?: string;
96
+ /** An image id from {@link SyraClient.uploadPodcastImage}, not a URL. */
97
+ image?: string;
98
+ language?: string;
99
+ categories?: string[];
100
+ explicit?: boolean;
101
+ link?: string;
102
+ type?: 'episodic' | 'serial';
103
+ visibility?: PodcastVisibility;
104
+ /** The Alia series this show was generated from; records `provider: 'alia'` provenance. */
105
+ aliaSeriesId?: string;
106
+ /** Disclosure. Independent of {@link CreatePodcastInput.aliaSeriesId} — neither implies the other. */
107
+ aiGenerated?: boolean;
108
+ /** Hosts & Guests as Oxy user ids. Validated server-side; free text is refused. */
109
+ hosts?: string[];
110
+ guests?: string[];
111
+ }
112
+ /** The fields `updatePodcast` accepts. Every one is optional; omitted means unchanged. */
113
+ export interface UpdatePodcastInput {
114
+ title?: string;
115
+ description?: string;
116
+ author?: string;
117
+ image?: string;
118
+ language?: string;
119
+ categories?: string[];
120
+ explicit?: boolean;
121
+ link?: string;
122
+ type?: 'episodic' | 'serial';
123
+ visibility?: PodcastVisibility;
124
+ aiGenerated?: boolean;
125
+ }
126
+ /** The metadata `createEpisodeDraft` accepts — everything except the audio. */
127
+ export interface CreateEpisodeDraftInput {
128
+ title: string;
129
+ description?: string;
130
+ summary?: string;
131
+ season?: number;
132
+ episodeNumber?: number;
133
+ episodeType?: 'full' | 'trailer' | 'bonus';
134
+ explicit?: boolean;
135
+ aiGenerated?: boolean;
136
+ hosts?: string[];
137
+ guests?: string[];
138
+ }
139
+ /**
140
+ * The metadata the ingest step may set.
141
+ *
142
+ * Deliberately SMALLER than {@link CreateEpisodeDraftInput}, and it is not an
143
+ * oversight: the ticket is redeemed by a process with no user session, so the
144
+ * server accepts only what such a process can know by having produced the audio.
145
+ * Title, artwork, `explicit`, `episodeType`, credits and the AI disclosure were
146
+ * fixed at draft time by the authenticated user and are refused here.
147
+ */
148
+ export interface IngestEpisodeInput {
149
+ duration?: number;
150
+ season?: number;
151
+ episodeNumber?: number;
152
+ description?: string;
153
+ summary?: string;
154
+ }
155
+ /**
156
+ * An audio or image payload, in the shapes the three supported runtimes give you.
157
+ *
158
+ * `Blob`/`File` covers browsers and Node 18+. React Native's `FormData` accepts
159
+ * a `{ uri, name, type }` descriptor instead, which is not a `Blob` at all — it
160
+ * is named here so an RN caller does not have to cast, and so this SDK never has
161
+ * to import anything from React Native to support it.
162
+ */
163
+ export type UploadPayload = Blob | {
164
+ uri: string;
165
+ name?: string;
166
+ type?: string;
167
+ };
76
168
  export interface SyraClient {
77
169
  /**
78
170
  * Search the public catalog for tracks. Returns one paginated page: rows are
@@ -132,6 +224,71 @@ export interface SyraClient {
132
224
  * external artwork URL. Returns `undefined` when no artwork can be derived.
133
225
  */
134
226
  episodeImageUrl(source: EpisodeArtworkSource, size?: ArtworkSize): string | undefined;
227
+ /**
228
+ * Resolve an episode's PLAYABLE audio URL, whichever kind of episode it is.
229
+ *
230
+ * An RSS-mirrored episode carries an absolute `enclosureUrl`; a Syra-hosted one
231
+ * carries `audioSource.url`, a path on the API. This is the one place that
232
+ * knows the difference, so no consumer has to.
233
+ *
234
+ * `undefined` when the episode has no audio yet — a drafted episode awaiting
235
+ * ingest is a real, listable episode with nothing to play, and answering with
236
+ * a broken URL would be worse than answering with nothing.
237
+ */
238
+ episodeAudioUrl(episode: {
239
+ enclosureUrl?: string | null;
240
+ audioSource?: {
241
+ url?: string | null;
242
+ } | null;
243
+ }): string | undefined;
244
+ /** `GET /api/podcasts/mine` — every show the caller owns, in every state. */
245
+ listMyPodcasts(): Promise<PodcastSummary[]>;
246
+ /** `POST /api/podcasts` — create a Syra-hosted show. */
247
+ createPodcast(input: CreatePodcastInput): Promise<PodcastSummary>;
248
+ /** `PATCH /api/podcasts/:id` — edit a Syra-hosted show you own. */
249
+ updatePodcast(podcastId: string, input: UpdatePodcastInput): Promise<PodcastSummary>;
250
+ /**
251
+ * Change who may see a show. A named affordance over
252
+ * {@link SyraClient.updatePodcast}, because it is the one field with
253
+ * consequences a caller should not discover by reading a diff: making a show
254
+ * `private` withdraws it from every listing AND stops its episodes being
255
+ * transcoded, and publishing it again enqueues the transcodes that were
256
+ * deferred.
257
+ */
258
+ setPodcastVisibility(podcastId: string, visibility: PodcastVisibility): Promise<PodcastSummary>;
259
+ /**
260
+ * `POST /api/images/upload` — store cover art and get the image id back.
261
+ *
262
+ * The id is what {@link CreatePodcastInput.image} wants; a URL is not accepted
263
+ * there, because the API re-hosts artwork rather than hotlinking it.
264
+ */
265
+ uploadPodcastImage(image: UploadPayload, filename?: string): Promise<UploadedImage>;
266
+ /**
267
+ * `POST /api/podcasts/:id/episodes/draft` — reserve an episode now and get a
268
+ * single-use ticket to attach its audio later, from a process with no session.
269
+ *
270
+ * The returned ticket is a bearer capability with a deadline: it is good for
271
+ * ONE redemption against THIS episode, and it stops working if the show
272
+ * changes hands. Treat it as a secret.
273
+ */
274
+ createEpisodeDraft(podcastId: string, input: CreateEpisodeDraftInput): Promise<EpisodeDraft>;
275
+ /**
276
+ * `POST /api/podcasts/episodes/:id/ingest` — redeem a draft's ticket by
277
+ * attaching the audio.
278
+ *
279
+ * Takes the whole {@link EpisodeDraft} rather than a loose id and token, so the
280
+ * two cannot be paired up wrongly by a caller holding several drafts.
281
+ *
282
+ * Authenticated by the TICKET, not by the session — this is the one method here
283
+ * that works with no `getAccessToken` at all, which is the entire point of it.
284
+ */
285
+ ingestEpisode(draft: Pick<EpisodeDraft, 'episodeId' | 'ingestTicket'>, audio: UploadPayload, input?: IngestEpisodeInput, filename?: string): Promise<EpisodeSummary>;
286
+ /**
287
+ * `GET /api/podcasts/episodes/:id/stream` — a tokenized HLS URL for a
288
+ * Syra-hosted episode. Requires a session: the URL it returns embeds a stream
289
+ * token minted for the caller.
290
+ */
291
+ getEpisodeStream(episodeId: string): Promise<EpisodeStream>;
135
292
  }
136
293
  /**
137
294
  * Create a headless client for the public Syra API. Public reads only — there
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { createSyraClient, DEFAULT_SYRA_BASE_URL, DEFAULT_SYRA_WEB_BASE_URL, } from './client';
2
- export type { SyraClient, SyraClientOptions, SearchTracksOptions, SearchPodcastsOptions, PodcastEpisodesOptions, SearchPage, ArtworkSource, PodcastArtworkSource, EpisodeArtworkSource, } from './client';
3
- export { trackSummarySchema, podcastSummarySchema, episodeSummarySchema, coverArtSizesSchema, coverArtVariantSchema, } from './schema';
4
- export type { TrackSummary, PodcastSummary, EpisodeSummary, CoverArtSizes, CoverArtVariant, ArtworkSize, } from './schema';
2
+ export type { SyraClient, SyraClientOptions, SearchTracksOptions, SearchPodcastsOptions, PodcastEpisodesOptions, SearchPage, ArtworkSource, PodcastArtworkSource, EpisodeArtworkSource, CreatePodcastInput, UpdatePodcastInput, CreateEpisodeDraftInput, IngestEpisodeInput, UploadPayload, } from './client';
3
+ export { trackSummarySchema, podcastSummarySchema, podcastVisibilitySchema, episodeSummarySchema, episodeAudioSourceSchema, episodeStatusSchema, episodeDraftSchema, episodeStreamSchema, uploadedImageSchema, coverArtSizesSchema, coverArtVariantSchema, } from './schema';
4
+ export type { TrackSummary, PodcastSummary, PodcastVisibility, EpisodeSummary, EpisodeAudioSource, EpisodeStatus, EpisodeDraft, EpisodeStream, UploadedImage, CoverArtSizes, CoverArtVariant, ArtworkSize, } from './schema';
5
5
  export { SyraApiError } from './errors';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
3
  interface RoomCardProps {
4
4
  room: {
5
- _id: string;
5
+ id: string;
6
6
  title: string;
7
7
  status: 'scheduled' | 'live' | 'ended';
8
8
  type?: 'talk' | 'stage' | 'broadcast';
@@ -1 +1 @@
1
- {"version":3,"file":"RoomCard.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/RoomCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAgC,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+ElF,UAAU,aAAa;IACrB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;QACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgL5C,CAAC;AA+GF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"RoomCard.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/RoomCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAgC,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+ElF,UAAU,aAAa;IACrB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;QACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgL5C,CAAC;AA+GF,eAAe,QAAQ,CAAC"}
@@ -10,9 +10,8 @@ export declare const ZPodcastQueueItem: z.ZodObject<{
10
10
  episodeId: z.ZodString;
11
11
  }, z.core.$loose>;
12
12
  export type PodcastQueueItem = z.infer<typeof ZPodcastQueueItem>;
13
- export declare const ZRoom: z.ZodObject<{
14
- _id: z.ZodString;
15
- id: z.ZodOptional<z.ZodString>;
13
+ export declare const ZRoom: z.ZodPreprocess<z.ZodObject<{
14
+ id: z.ZodString;
16
15
  title: z.ZodString;
17
16
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
17
  ownerType: z.ZodDefault<z.ZodEnum<{
@@ -72,7 +71,7 @@ export declare const ZRoom: z.ZodObject<{
72
71
  recordingEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
73
72
  recordingEgressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
73
  createdAt: z.ZodString;
75
- }, z.core.$loose>;
74
+ }, z.core.$loose>>;
76
75
  export type Room = z.infer<typeof ZRoom>;
77
76
  export declare const ZRoomParticipant: z.ZodObject<{
78
77
  userId: z.ZodString;
@@ -104,8 +103,8 @@ export type HouseMember = z.infer<typeof ZHouseMember>;
104
103
  */
105
104
  export declare const ZHouseVisibility: z.ZodObject<{
106
105
  discovery: z.ZodDefault<z.ZodEnum<{
107
- listed: "listed";
108
106
  unlisted: "unlisted";
107
+ listed: "listed";
109
108
  hidden: "hidden";
110
109
  }>>;
111
110
  rooms: z.ZodDefault<z.ZodEnum<{
@@ -118,9 +117,8 @@ export declare const ZHouseVisibility: z.ZodObject<{
118
117
  }>>;
119
118
  }, z.core.$loose>;
120
119
  export type HouseVisibility = z.infer<typeof ZHouseVisibility>;
121
- export declare const ZHouse: z.ZodObject<{
122
- _id: z.ZodString;
123
- id: z.ZodOptional<z.ZodString>;
120
+ export declare const ZHouse: z.ZodPreprocess<z.ZodObject<{
121
+ id: z.ZodString;
124
122
  name: z.ZodString;
125
123
  description: z.ZodOptional<z.ZodString>;
126
124
  avatar: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -139,8 +137,8 @@ export declare const ZHouse: z.ZodObject<{
139
137
  createdBy: z.ZodString;
140
138
  visibility: z.ZodDefault<z.ZodObject<{
141
139
  discovery: z.ZodDefault<z.ZodEnum<{
142
- listed: "listed";
143
140
  unlisted: "unlisted";
141
+ listed: "listed";
144
142
  hidden: "hidden";
145
143
  }>>;
146
144
  rooms: z.ZodDefault<z.ZodEnum<{
@@ -154,7 +152,7 @@ export declare const ZHouse: z.ZodObject<{
154
152
  }, z.core.$loose>>;
155
153
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
154
  createdAt: z.ZodString;
157
- }, z.core.$loose>;
155
+ }, z.core.$loose>>;
158
156
  export type House = z.infer<typeof ZHouse>;
159
157
  export declare const ZRecurrence: z.ZodObject<{
160
158
  type: z.ZodEnum<{
@@ -192,9 +190,8 @@ export declare const ZSeriesEpisode: z.ZodObject<{
192
190
  episodeNumber: z.ZodNumber;
193
191
  }, z.core.$loose>;
194
192
  export type SeriesEpisode = z.infer<typeof ZSeriesEpisode>;
195
- export declare const ZSeries: z.ZodObject<{
196
- _id: z.ZodString;
197
- id: z.ZodOptional<z.ZodString>;
193
+ export declare const ZSeries: z.ZodPreprocess<z.ZodObject<{
194
+ id: z.ZodString;
198
195
  title: z.ZodString;
199
196
  description: z.ZodOptional<z.ZodString>;
200
197
  coverImage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -236,18 +233,18 @@ export declare const ZSeries: z.ZodObject<{
236
233
  nextEpisodeNumber: z.ZodDefault<z.ZodNumber>;
237
234
  isActive: z.ZodDefault<z.ZodBoolean>;
238
235
  createdAt: z.ZodString;
239
- }, z.core.$loose>;
236
+ }, z.core.$loose>>;
240
237
  export type Series = z.infer<typeof ZSeries>;
241
- export declare const ZRecording: z.ZodObject<{
242
- _id: z.ZodString;
238
+ export declare const ZRecording: z.ZodPreprocess<z.ZodObject<{
239
+ id: z.ZodString;
243
240
  roomId: z.ZodString;
244
241
  roomTitle: z.ZodString;
245
242
  host: z.ZodString;
246
243
  status: z.ZodEnum<{
247
- recording: "recording";
248
- processing: "processing";
249
244
  ready: "ready";
245
+ processing: "processing";
250
246
  failed: "failed";
247
+ recording: "recording";
251
248
  deleted: "deleted";
252
249
  }>;
253
250
  egressId: z.ZodString;
@@ -257,13 +254,13 @@ export declare const ZRecording: z.ZodObject<{
257
254
  startedAt: z.ZodString;
258
255
  stoppedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
256
  access: z.ZodDefault<z.ZodEnum<{
260
- participants: "participants";
261
257
  public: "public";
258
+ participants: "participants";
262
259
  }>>;
263
260
  participantIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
264
261
  expiresAt: z.ZodString;
265
262
  createdAt: z.ZodString;
266
- }, z.core.$loose>;
263
+ }, z.core.$loose>>;
267
264
  export type Recording = z.infer<typeof ZRecording>;
268
265
  export declare const ZStartStreamResponse: z.ZodObject<{
269
266
  ingressId: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/live/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/live/validation.ts"],"names":[],"mappings":"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"}