@syra.fm/sdk 0.9.0 → 0.11.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 +247 -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 +248 -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 +171 -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 +171 -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 +430 -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
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","View","Text","StyleSheet","ScrollView","TouchableOpacity","ActivityIndicator","MaterialCommunityIcons","PanelHeader","useLiveConfig","LIVE_COLOR","jsx","_jsx","jsxs","_jsxs","formatDurationMs","ms","totalSecs","Math","floor","hours","mins","secs","formatDate","dateStr","date","Date","toLocaleDateString","undefined","month","day","year","RecordingsPanel","roomId","isHost","theme","onClose","onPlay","roomsService","toast","recordings","setRecordings","loading","setLoading","playingId","setPlayingId","loadRecordings","data","getRoomRecordings","handlePlay","recording","_id","result","getRecording","playbackUrl","error","handleToggleAccess","newAccess","access","success","updateRecordingAccess","prev","map","r","handleDelete","deleteRecording","filter","style","styles","container","children","title","onBack","flex","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","centered","color","colors","primary","length","name","size","textSecondary","emptyText","recordingCard","backgroundColor","card","borderColor","border","recordingHeader","recordingInfo","recordingTitle","text","numberOfLines","roomTitle","recordingMeta","recordingDate","startedAt","recordingDuration","durationMs","accessBadge","accessBadgeText","onPress","disabled","playButton","recordingActions","borderTopColor","actionButton","actionText","create","padding","paddingBottom","alignItems","justifyContent","paddingTop","gap","fontSize","fontWeight","borderRadius","borderWidth","marginBottom","overflow","flexDirection","flexWrap","paddingHorizontal","paddingVertical","width","height","borderTopWidth"],"sourceRoot":"../../../../src","sources":["live/components/RecordingsPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","View","Text","StyleSheet","ScrollView","TouchableOpacity","ActivityIndicator","MaterialCommunityIcons","PanelHeader","useLiveConfig","LIVE_COLOR","jsx","_jsx","jsxs","_jsxs","formatDurationMs","ms","totalSecs","Math","floor","hours","mins","secs","formatDate","dateStr","date","Date","toLocaleDateString","undefined","month","day","year","RecordingsPanel","roomId","isHost","theme","onClose","onPlay","roomsService","toast","recordings","setRecordings","loading","setLoading","playingId","setPlayingId","loadRecordings","data","getRoomRecordings","handlePlay","recording","id","result","getRecording","playbackUrl","error","handleToggleAccess","newAccess","access","success","updateRecordingAccess","prev","map","r","handleDelete","deleteRecording","filter","style","styles","container","children","title","onBack","flex","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","centered","color","colors","primary","length","name","size","textSecondary","emptyText","recordingCard","backgroundColor","card","borderColor","border","recordingHeader","recordingInfo","recordingTitle","text","numberOfLines","roomTitle","recordingMeta","recordingDate","startedAt","recordingDuration","durationMs","accessBadge","accessBadgeText","onPress","disabled","playButton","recordingActions","borderTopColor","actionButton","actionText","create","padding","paddingBottom","alignItems","justifyContent","paddingTop","gap","fontSize","fontWeight","borderRadius","borderWidth","marginBottom","overflow","flexDirection","flexWrap","paddingHorizontal","paddingVertical","width","height","borderTopWidth"],"sourceRoot":"../../../../src","sources":["live/components/RecordingsPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,38 @@
2
2
 
3
3
  import { z } from 'zod';
4
4
 
5
+ /**
6
+ * Accept a document whose identity arrives as `_id` and present it as `id`.
7
+ *
8
+ * The PostgreSQL migration made `id` REQUIRED on the four schemas below, which is
9
+ * correct against the ported backend — `_id` left the wire contract there. But the
10
+ * frontend deploys on its own path (`deploy-frontends.yml`, on `packages/frontend`
11
+ * and `packages/shared-types`) while the backend deploy is gated, so a merge to
12
+ * `main` ships the client half ALONE. It did: `GET /rooms` still answers `_id`,
13
+ * every room failed `ZRoom`, and `validateRooms` DROPS what it cannot parse — so
14
+ * the Live screen went empty in production with only a `console.warn` to say so.
15
+ *
16
+ * Normalising here rather than teaching call sites to read `room.id ?? room._id`
17
+ * is the architecture this repo already states: parse once at the API boundary and
18
+ * return typed data. One place, no UI knows, and it is correct against BOTH
19
+ * backends — so the cutover needs no coordinated client flip, which is the failure
20
+ * this comment exists because of.
21
+ *
22
+ * It can be deleted once no deployed Syra backend serves `_id`. Nothing breaks if
23
+ * it outlives that: a payload carrying only `id` passes through untouched.
24
+ */
25
+ function withMongoIdFallback(schema) {
26
+ return z.preprocess(value => {
27
+ if (value === null || typeof value !== 'object') return value;
28
+ const doc = value;
29
+ if (typeof doc['id'] === 'string' || typeof doc['_id'] !== 'string') return value;
30
+ return {
31
+ ...doc,
32
+ id: doc['_id']
33
+ };
34
+ }, schema);
35
+ }
36
+
5
37
  // --- Podcast queue ---
6
38
 
7
39
  /**
@@ -16,9 +48,8 @@ export const ZPodcastQueueItem = z.object({
16
48
  }).passthrough();
17
49
  // --- Room (replaces Space) ---
18
50
 
19
- export const ZRoom = z.object({
20
- _id: z.string(),
21
- id: z.string().optional(),
51
+ export const ZRoom = withMongoIdFallback(z.object({
52
+ id: z.string(),
22
53
  title: z.string(),
23
54
  description: z.string().nullish(),
24
55
  // Ownership
@@ -68,7 +99,7 @@ export const ZRoom = z.object({
68
99
  recordingEnabled: z.boolean().optional().default(true),
69
100
  recordingEgressId: z.string().nullish(),
70
101
  createdAt: z.string()
71
- }).passthrough();
102
+ }).passthrough());
72
103
  // --- Room Participant ---
73
104
 
74
105
  export const ZRoomParticipant = z.object({
@@ -95,9 +126,8 @@ export const ZHouseVisibility = z.object({
95
126
  rooms: z.enum(['anyone', 'members']).default('anyone'),
96
127
  join: z.enum(['anyone', 'invite']).default('invite')
97
128
  }).passthrough();
98
- export const ZHouse = z.object({
99
- _id: z.string(),
100
- id: z.string().optional(),
129
+ export const ZHouse = withMongoIdFallback(z.object({
130
+ id: z.string(),
101
131
  name: z.string(),
102
132
  description: z.string().optional(),
103
133
  avatar: z.string().optional().nullable(),
@@ -114,7 +144,7 @@ export const ZHouse = z.object({
114
144
  }),
115
145
  tags: z.array(z.string()).optional(),
116
146
  createdAt: z.string()
117
- }).passthrough();
147
+ }).passthrough());
118
148
  // --- Series ---
119
149
 
120
150
  export const ZRecurrence = z.object({
@@ -137,9 +167,8 @@ export const ZSeriesEpisode = z.object({
137
167
  scheduledStart: z.string(),
138
168
  episodeNumber: z.number()
139
169
  }).passthrough();
140
- export const ZSeries = z.object({
141
- _id: z.string(),
142
- id: z.string().optional(),
170
+ export const ZSeries = withMongoIdFallback(z.object({
171
+ id: z.string(),
143
172
  title: z.string(),
144
173
  description: z.string().optional(),
145
174
  coverImage: z.string().optional().nullable(),
@@ -151,11 +180,11 @@ export const ZSeries = z.object({
151
180
  nextEpisodeNumber: z.number().default(1),
152
181
  isActive: z.boolean().default(true),
153
182
  createdAt: z.string()
154
- }).passthrough();
183
+ }).passthrough());
155
184
  // --- Recording ---
156
185
 
157
- export const ZRecording = z.object({
158
- _id: z.string(),
186
+ export const ZRecording = withMongoIdFallback(z.object({
187
+ id: z.string(),
159
188
  roomId: z.string(),
160
189
  roomTitle: z.string(),
161
190
  host: z.string(),
@@ -170,7 +199,7 @@ export const ZRecording = z.object({
170
199
  participantIds: z.array(z.string()).default([]),
171
200
  expiresAt: z.string(),
172
201
  createdAt: z.string()
173
- }).passthrough();
202
+ }).passthrough());
174
203
  // --- Stream responses ---
175
204
 
176
205
  export const ZStartStreamResponse = z.object({
@@ -1 +1 @@
1
- {"version":3,"names":["z","ZPodcastQueueItem","object","syraPodcastId","string","optional","episodeId","passthrough","ZRoom","_id","id","title","description","nullish","ownerType","enum","default","host","houseId","nullable","createdByAdmin","type","broadcastKind","status","scheduledStart","startedAt","endedAt","speakerPermission","participants","array","speakers","maxParticipants","number","topic","tags","archived","boolean","seriesId","stats","peakListeners","totalJoined","activeIngressId","activeStreamUrl","streamTitle","streamImage","streamDescription","rtmpUrl","rtmpStreamKey","streamStartedAt","streamDurationSec","podcastQueue","recordingEnabled","recordingEgressId","createdAt","ZRoomParticipant","userId","role","isMuted","joinedAt","ZHouseMember","ZHouseVisibility","discovery","rooms","join","ZHouse","name","avatar","coverImage","members","memberCount","createdBy","visibility","ZRecurrence","dayOfWeek","min","max","dayOfMonth","time","regex","timezone","ZRoomTemplate","titlePattern","ZSeriesEpisode","roomId","episodeNumber","ZSeries","recurrence","roomTemplate","episodes","nextEpisodeNumber","isActive","ZRecording","roomTitle","egressId","objectKey","fileSize","durationMs","stoppedAt","access","participantIds","expiresAt","ZStartStreamResponse","ingressId","url","ZGenerateStreamKeyResponse","streamKey","ZStreamInfo","image","ZRoomAttachment","validateRoom","data","result","safeParse","success","console","warn","error","issues","validateRooms","items","Array","isArray","valid","item","parsed","push","validateHouse","validateRecording","validateRecordings","validateSeries"],"sourceRoot":"../../../src","sources":["live/validation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["z","withMongoIdFallback","schema","preprocess","value","doc","id","ZPodcastQueueItem","object","syraPodcastId","string","optional","episodeId","passthrough","ZRoom","title","description","nullish","ownerType","enum","default","host","houseId","nullable","createdByAdmin","type","broadcastKind","status","scheduledStart","startedAt","endedAt","speakerPermission","participants","array","speakers","maxParticipants","number","topic","tags","archived","boolean","seriesId","stats","peakListeners","totalJoined","activeIngressId","activeStreamUrl","streamTitle","streamImage","streamDescription","rtmpUrl","rtmpStreamKey","streamStartedAt","streamDurationSec","podcastQueue","recordingEnabled","recordingEgressId","createdAt","ZRoomParticipant","userId","role","isMuted","joinedAt","ZHouseMember","ZHouseVisibility","discovery","rooms","join","ZHouse","name","avatar","coverImage","members","memberCount","createdBy","visibility","ZRecurrence","dayOfWeek","min","max","dayOfMonth","time","regex","timezone","ZRoomTemplate","titlePattern","ZSeriesEpisode","roomId","episodeNumber","ZSeries","recurrence","roomTemplate","episodes","nextEpisodeNumber","isActive","ZRecording","roomTitle","egressId","objectKey","fileSize","durationMs","stoppedAt","access","participantIds","expiresAt","ZStartStreamResponse","ingressId","url","ZGenerateStreamKeyResponse","streamKey","ZStreamInfo","image","ZRoomAttachment","validateRoom","data","result","safeParse","success","console","warn","error","issues","validateRooms","items","Array","isArray","valid","item","parsed","push","validateHouse","validateRecording","validateRecordings","validateSeries"],"sourceRoot":"../../../src","sources":["live/validation.ts"],"mappings":"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","ignoreList":[]}
@@ -55,6 +55,7 @@ export const trackSummarySchema = z.object({
55
55
  * variant `url` is `/api/images/:id`); `imageSourceUrl` keeps the original
56
56
  * external artwork URL as an absolute fallback when re-hosting has not run yet.
57
57
  */
58
+ export const podcastVisibilitySchema = z.enum(['private', 'unlisted', 'public']);
58
59
  export const podcastSummarySchema = z.object({
59
60
  id: z.string(),
60
61
  title: z.string(),
@@ -62,19 +63,44 @@ export const podcastSummarySchema = z.object({
62
63
  description: z.string().optional(),
63
64
  image: z.string().optional(),
64
65
  imageSizes: coverArtSizesSchema.optional(),
65
- imageSourceUrl: z.string().optional()
66
+ imageSourceUrl: z.string().optional(),
67
+ /**
68
+ * Who may see this show. OPTIONAL here although the API always sends it: a
69
+ * published SDK is installed against whatever version of the API a consumer
70
+ * happens to be pointing at, and requiring a field the previous release did
71
+ * not send would make this SDK reject every response from it.
72
+ */
73
+ visibility: podcastVisibilitySchema.optional(),
74
+ /** Disclosure: the show's content was machine-generated. Optional, same reason. */
75
+ aiGenerated: z.boolean().optional()
66
76
  });
67
77
  /**
68
78
  * The summary view of a podcast EPISODE returned by the public podcast endpoints
69
79
  * (`GET /api/podcasts/:id/episodes`, `GET /api/episodes/:id`) — just enough to
70
80
  * list an episode and stream its audio.
71
81
  *
72
- * `enclosureUrl` is the direct audio file URL (e.g.
73
- * `https://api.fastcast.ai/audio/<guid>.mp3`) and is REQUIRED: an episode with
74
- * no enclosure is unplayable, so a row missing it is treated as malformed and
75
- * dropped rather than surfaced as a dead entry. `enclosureType` /
76
- * `enclosureLength` describe that file (MIME type and byte length); `duration`
77
- * is the runtime in seconds and `pubDate` the ISO publish timestamp.
82
+ * ## `enclosureUrl` is OPTIONAL, and that is a bug fix rather than a loosening
83
+ *
84
+ * It used to be required, on the reasoning that "an episode with no enclosure is
85
+ * unplayable, so a row missing it is malformed". That reasoning holds only for
86
+ * RSS-mirrored episodes. A SYRA-HOSTED episode — everything created through
87
+ * `createPodcast`/`uploadEpisode`/the ingest ticket — has no enclosure at all:
88
+ * its audio lives at `audioSource.url`, a path on the Syra API. So the required
89
+ * field made this SDK silently DROP every Syra-hosted episode from
90
+ * `getPodcastEpisodes` and throw on one from `getEpisode` — the entire
91
+ * first-party catalogue, invisible, with no error to notice.
92
+ *
93
+ * The two are alternatives, not a required field and an optional one:
94
+ *
95
+ * enclosureUrl an ABSOLUTE external URL (RSS mirror)
96
+ * audioSource.url a PATH on the Syra API (Syra-hosted)
97
+ *
98
+ * `SyraClient.episodeAudioUrl` is the one place that resolves either into
99
+ * something playable, so no consumer has to know which kind it holds.
100
+ *
101
+ * `enclosureType` / `enclosureLength` describe the external file (MIME type and
102
+ * byte length); `duration` is the runtime in seconds and `pubDate` the ISO
103
+ * publish timestamp.
78
104
  *
79
105
  * Artwork mirrors the podcast SHOW: `image` is the re-hosted Syra image id
80
106
  * (resolved via `/api/images/:id`); `imageSizes` is the multi-resolution variant
@@ -82,18 +108,63 @@ export const podcastSummarySchema = z.object({
82
108
  * original external artwork URL as an absolute fallback when re-hosting has not
83
109
  * run yet.
84
110
  */
111
+ /**
112
+ * Where a Syra-hosted episode's audio actually is.
113
+ *
114
+ * `url` is a PATH on the Syra API (`/api/podcasts/episodes/:id/audio`), not an
115
+ * absolute URL — resolve it with `SyraClient.episodeAudioUrl` rather than
116
+ * handing it to a player directly.
117
+ */
118
+ export const episodeAudioSourceSchema = z.object({
119
+ url: z.string(),
120
+ format: z.string().optional(),
121
+ bitrate: z.number().optional(),
122
+ duration: z.number().optional()
123
+ });
124
+ /**
125
+ * An episode's processing state. `ready` is playable; `processing` is an episode
126
+ * whose audio is still being packaged (including one drafted but not yet
127
+ * ingested), and only its OWNER is shown those.
128
+ */
129
+ export const episodeStatusSchema = z.enum(['ready', 'processing', 'failed', 'unavailable']);
85
130
  export const episodeSummarySchema = z.object({
86
131
  id: z.string(),
87
132
  podcastId: z.string(),
88
133
  title: z.string(),
89
134
  description: z.string().optional(),
90
- enclosureUrl: z.string(),
135
+ /** ABSOLUTE, and present only for RSS-mirrored episodes — see the note above. */
136
+ enclosureUrl: z.string().optional(),
91
137
  enclosureType: z.string().optional(),
92
138
  enclosureLength: z.number().optional(),
139
+ /** A PATH on the Syra API, present for Syra-hosted episodes. */
140
+ audioSource: episodeAudioSourceSchema.optional(),
93
141
  duration: z.number().optional(),
94
142
  pubDate: z.string().optional(),
143
+ season: z.number().optional(),
144
+ episodeNumber: z.number().optional(),
145
+ status: episodeStatusSchema.optional(),
146
+ /** Disclosure: this episode's content was machine-generated. */
147
+ aiGenerated: z.boolean().optional(),
95
148
  image: z.string().optional(),
96
149
  imageSizes: coverArtSizesSchema.optional(),
97
150
  imageSourceUrl: z.string().optional()
98
151
  });
152
+ /** What `createEpisodeDraft` hands back: the episode to fill, and the capability to fill it. */
153
+ export const episodeDraftSchema = z.object({
154
+ episodeId: z.string(),
155
+ ingestTicket: z.string(),
156
+ expiresAt: z.string()
157
+ });
158
+ /** What `getEpisodeStream` hands back: a tokenized HLS URL with its own deadline. */
159
+ export const episodeStreamSchema = z.object({
160
+ url: z.string(),
161
+ type: z.string(),
162
+ expiresAt: z.string().optional()
163
+ });
164
+ /** What the image upload endpoint hands back. */
165
+ export const uploadedImageSchema = z.object({
166
+ id: z.string(),
167
+ primaryColor: z.string().optional(),
168
+ secondaryColor: z.string().optional()
169
+ });
99
170
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","coverArtVariantSchema","object","id","string","optional","url","width","number","height","coverArtSizesSchema","small","medium","large","xlarge","xxlarge","original","trackSummarySchema","title","artistId","artistName","albumId","albumName","duration","coverArt","coverArtSizes","previewAvailable","boolean","podcastSummarySchema","author","description","image","imageSizes","imageSourceUrl","episodeSummarySchema","podcastId","enclosureUrl","enclosureType","enclosureLength","pubDate"],"sourceRoot":"../../src","sources":["schema.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["z","coverArtVariantSchema","object","id","string","optional","url","width","number","height","coverArtSizesSchema","small","medium","large","xlarge","xxlarge","original","trackSummarySchema","title","artistId","artistName","albumId","albumName","duration","coverArt","coverArtSizes","previewAvailable","boolean","podcastVisibilitySchema","enum","podcastSummarySchema","author","description","image","imageSizes","imageSourceUrl","visibility","aiGenerated","episodeAudioSourceSchema","format","bitrate","episodeStatusSchema","episodeSummarySchema","podcastId","enclosureUrl","enclosureType","enclosureLength","audioSource","pubDate","season","episodeNumber","status","episodeDraftSchema","episodeId","ingestTicket","expiresAt","episodeStreamSchema","type","uploadedImageSchema","primaryColor","secondaryColor"],"sourceRoot":"../../src","sources":["schema.ts"],"mappings":"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","ignoreList":[]}
@@ -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,95 @@ 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
145
+ * episode. Artwork, `explicit`, `episodeType`, credits and the AI disclosure
146
+ * were fixed at draft time by the authenticated user and are refused here.
147
+ *
148
+ * `title` IS accepted, and it is the reason to reach for this at all: a draft is
149
+ * created before the content exists, so its title can only name the topic that
150
+ * was requested. Send the name the FINISHED episode earned and it replaces the
151
+ * draft's.
152
+ *
153
+ * Omitting it keeps whatever the draft said — an absent title never clears one,
154
+ * so a worker that has nothing better than the placeholder can still deliver
155
+ * the audio. A title that is empty or only whitespace is REFUSED (400) rather
156
+ * than stored, the same rule the authenticated endpoints apply; the ticket
157
+ * survives that refusal and can be redeemed again.
158
+ */
159
+ export interface IngestEpisodeInput {
160
+ title?: string;
161
+ duration?: number;
162
+ season?: number;
163
+ episodeNumber?: number;
164
+ description?: string;
165
+ summary?: string;
166
+ }
167
+ /**
168
+ * An audio or image payload, in the shapes the three supported runtimes give you.
169
+ *
170
+ * `Blob`/`File` covers browsers and Node 18+. React Native's `FormData` accepts
171
+ * a `{ uri, name, type }` descriptor instead, which is not a `Blob` at all — it
172
+ * is named here so an RN caller does not have to cast, and so this SDK never has
173
+ * to import anything from React Native to support it.
174
+ */
175
+ export type UploadPayload = Blob | {
176
+ uri: string;
177
+ name?: string;
178
+ type?: string;
179
+ };
76
180
  export interface SyraClient {
77
181
  /**
78
182
  * Search the public catalog for tracks. Returns one paginated page: rows are
@@ -132,6 +236,71 @@ export interface SyraClient {
132
236
  * external artwork URL. Returns `undefined` when no artwork can be derived.
133
237
  */
134
238
  episodeImageUrl(source: EpisodeArtworkSource, size?: ArtworkSize): string | undefined;
239
+ /**
240
+ * Resolve an episode's PLAYABLE audio URL, whichever kind of episode it is.
241
+ *
242
+ * An RSS-mirrored episode carries an absolute `enclosureUrl`; a Syra-hosted one
243
+ * carries `audioSource.url`, a path on the API. This is the one place that
244
+ * knows the difference, so no consumer has to.
245
+ *
246
+ * `undefined` when the episode has no audio yet — a drafted episode awaiting
247
+ * ingest is a real, listable episode with nothing to play, and answering with
248
+ * a broken URL would be worse than answering with nothing.
249
+ */
250
+ episodeAudioUrl(episode: {
251
+ enclosureUrl?: string | null;
252
+ audioSource?: {
253
+ url?: string | null;
254
+ } | null;
255
+ }): string | undefined;
256
+ /** `GET /api/podcasts/mine` — every show the caller owns, in every state. */
257
+ listMyPodcasts(): Promise<PodcastSummary[]>;
258
+ /** `POST /api/podcasts` — create a Syra-hosted show. */
259
+ createPodcast(input: CreatePodcastInput): Promise<PodcastSummary>;
260
+ /** `PATCH /api/podcasts/:id` — edit a Syra-hosted show you own. */
261
+ updatePodcast(podcastId: string, input: UpdatePodcastInput): Promise<PodcastSummary>;
262
+ /**
263
+ * Change who may see a show. A named affordance over
264
+ * {@link SyraClient.updatePodcast}, because it is the one field with
265
+ * consequences a caller should not discover by reading a diff: making a show
266
+ * `private` withdraws it from every listing AND stops its episodes being
267
+ * transcoded, and publishing it again enqueues the transcodes that were
268
+ * deferred.
269
+ */
270
+ setPodcastVisibility(podcastId: string, visibility: PodcastVisibility): Promise<PodcastSummary>;
271
+ /**
272
+ * `POST /api/images/upload` — store cover art and get the image id back.
273
+ *
274
+ * The id is what {@link CreatePodcastInput.image} wants; a URL is not accepted
275
+ * there, because the API re-hosts artwork rather than hotlinking it.
276
+ */
277
+ uploadPodcastImage(image: UploadPayload, filename?: string): Promise<UploadedImage>;
278
+ /**
279
+ * `POST /api/podcasts/:id/episodes/draft` — reserve an episode now and get a
280
+ * single-use ticket to attach its audio later, from a process with no session.
281
+ *
282
+ * The returned ticket is a bearer capability with a deadline: it is good for
283
+ * ONE redemption against THIS episode, and it stops working if the show
284
+ * changes hands. Treat it as a secret.
285
+ */
286
+ createEpisodeDraft(podcastId: string, input: CreateEpisodeDraftInput): Promise<EpisodeDraft>;
287
+ /**
288
+ * `POST /api/podcasts/episodes/:id/ingest` — redeem a draft's ticket by
289
+ * attaching the audio.
290
+ *
291
+ * Takes the whole {@link EpisodeDraft} rather than a loose id and token, so the
292
+ * two cannot be paired up wrongly by a caller holding several drafts.
293
+ *
294
+ * Authenticated by the TICKET, not by the session — this is the one method here
295
+ * that works with no `getAccessToken` at all, which is the entire point of it.
296
+ */
297
+ ingestEpisode(draft: Pick<EpisodeDraft, 'episodeId' | 'ingestTicket'>, audio: UploadPayload, input?: IngestEpisodeInput, filename?: string): Promise<EpisodeSummary>;
298
+ /**
299
+ * `GET /api/podcasts/episodes/:id/stream` — a tokenized HLS URL for a
300
+ * Syra-hosted episode. Requires a session: the URL it returns embeds a stream
301
+ * token minted for the caller.
302
+ */
303
+ getEpisodeStream(episodeId: string): Promise<EpisodeStream>;
135
304
  }
136
305
  /**
137
306
  * 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';