@ichos/sdk 1.0.7 → 1.0.8

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 (78) hide show
  1. package/dist/api/resources/episodes/client/Client.d.ts +19 -0
  2. package/dist/api/resources/episodes/client/Client.d.ts.map +1 -1
  3. package/dist/api/resources/episodes/client/Client.js +77 -0
  4. package/dist/api/resources/episodes/client/Client.js.map +1 -1
  5. package/dist/api/resources/episodes/client/requests/EpisodeCreate.d.ts +1 -0
  6. package/dist/api/resources/episodes/client/requests/EpisodeCreate.d.ts.map +1 -1
  7. package/dist/api/resources/episodes/client/requests/EpisodeCreate.js.map +1 -1
  8. package/dist/api/resources/episodes/client/requests/EpisodeUpdate.d.ts +1 -0
  9. package/dist/api/resources/episodes/client/requests/EpisodeUpdate.d.ts.map +1 -1
  10. package/dist/api/resources/episodes/client/requests/EpisodeUpdate.js.map +1 -1
  11. package/dist/api/resources/episodes/client/requests/SearchEpisodesRequest.d.ts +23 -0
  12. package/dist/api/resources/episodes/client/requests/SearchEpisodesRequest.d.ts.map +1 -0
  13. package/dist/api/resources/episodes/client/requests/SearchEpisodesRequest.js +3 -0
  14. package/dist/api/resources/episodes/client/requests/SearchEpisodesRequest.js.map +1 -0
  15. package/dist/api/resources/episodes/client/requests/index.d.ts +1 -0
  16. package/dist/api/resources/episodes/client/requests/index.d.ts.map +1 -1
  17. package/dist/api/resources/podcasts/client/Client.d.ts +19 -0
  18. package/dist/api/resources/podcasts/client/Client.d.ts.map +1 -1
  19. package/dist/api/resources/podcasts/client/Client.js +77 -0
  20. package/dist/api/resources/podcasts/client/Client.js.map +1 -1
  21. package/dist/api/resources/podcasts/client/requests/PodcastCreate.d.ts +1 -0
  22. package/dist/api/resources/podcasts/client/requests/PodcastCreate.d.ts.map +1 -1
  23. package/dist/api/resources/podcasts/client/requests/PodcastCreate.js.map +1 -1
  24. package/dist/api/resources/podcasts/client/requests/PodcastUpdate.d.ts +1 -0
  25. package/dist/api/resources/podcasts/client/requests/PodcastUpdate.d.ts.map +1 -1
  26. package/dist/api/resources/podcasts/client/requests/PodcastUpdate.js.map +1 -1
  27. package/dist/api/resources/podcasts/client/requests/SearchPodcastsRequest.d.ts +23 -0
  28. package/dist/api/resources/podcasts/client/requests/SearchPodcastsRequest.d.ts.map +1 -0
  29. package/dist/api/resources/podcasts/client/requests/SearchPodcastsRequest.js +3 -0
  30. package/dist/api/resources/podcasts/client/requests/SearchPodcastsRequest.js.map +1 -0
  31. package/dist/api/resources/podcasts/client/requests/index.d.ts +1 -0
  32. package/dist/api/resources/podcasts/client/requests/index.d.ts.map +1 -1
  33. package/dist/api/types/Episode.d.ts +2 -1
  34. package/dist/api/types/Episode.d.ts.map +1 -1
  35. package/dist/api/types/Episode.js.map +1 -1
  36. package/dist/api/types/EpisodeCreatedResponseData.d.ts +2 -1
  37. package/dist/api/types/EpisodeCreatedResponseData.d.ts.map +1 -1
  38. package/dist/api/types/EpisodeCreatedResponseData.js.map +1 -1
  39. package/dist/api/types/EpisodeSearchParams.d.ts +21 -0
  40. package/dist/api/types/EpisodeSearchParams.d.ts.map +1 -0
  41. package/dist/api/types/EpisodeSearchParams.js +3 -0
  42. package/dist/api/types/EpisodeSearchParams.js.map +1 -0
  43. package/dist/api/types/Organization.d.ts +2 -0
  44. package/dist/api/types/Organization.d.ts.map +1 -1
  45. package/dist/api/types/Organization.js.map +1 -1
  46. package/dist/api/types/Podcast.d.ts +3 -0
  47. package/dist/api/types/Podcast.d.ts.map +1 -1
  48. package/dist/api/types/Podcast.js.map +1 -1
  49. package/dist/api/types/PodcastSearchParams.d.ts +21 -0
  50. package/dist/api/types/PodcastSearchParams.d.ts.map +1 -0
  51. package/dist/api/types/PodcastSearchParams.js +3 -0
  52. package/dist/api/types/PodcastSearchParams.js.map +1 -0
  53. package/dist/api/types/Segment.d.ts +2 -0
  54. package/dist/api/types/Segment.d.ts.map +1 -1
  55. package/dist/api/types/Segment.js.map +1 -1
  56. package/dist/api/types/index.d.ts +2 -0
  57. package/dist/api/types/index.d.ts.map +1 -1
  58. package/dist/api/types/index.js +2 -0
  59. package/dist/api/types/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/api/resources/episodes/client/Client.ts +110 -0
  62. package/src/api/resources/episodes/client/requests/EpisodeCreate.ts +1 -0
  63. package/src/api/resources/episodes/client/requests/EpisodeUpdate.ts +1 -0
  64. package/src/api/resources/episodes/client/requests/SearchEpisodesRequest.ts +24 -0
  65. package/src/api/resources/episodes/client/requests/index.ts +1 -0
  66. package/src/api/resources/podcasts/client/Client.ts +110 -0
  67. package/src/api/resources/podcasts/client/requests/PodcastCreate.ts +1 -0
  68. package/src/api/resources/podcasts/client/requests/PodcastUpdate.ts +1 -0
  69. package/src/api/resources/podcasts/client/requests/SearchPodcastsRequest.ts +24 -0
  70. package/src/api/resources/podcasts/client/requests/index.ts +1 -0
  71. package/src/api/types/Episode.ts +2 -1
  72. package/src/api/types/EpisodeCreatedResponseData.ts +2 -1
  73. package/src/api/types/EpisodeSearchParams.ts +23 -0
  74. package/src/api/types/Organization.ts +3 -0
  75. package/src/api/types/Podcast.ts +3 -0
  76. package/src/api/types/PodcastSearchParams.ts +23 -0
  77. package/src/api/types/Segment.ts +3 -0
  78. package/src/api/types/index.ts +2 -0
@@ -205,6 +205,116 @@ export class EpisodesClient {
205
205
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/episodes");
206
206
  }
207
207
 
208
+ /**
209
+ * Search episodes in the authenticated organization.
210
+ *
211
+ * @param {Ichos.SearchEpisodesRequest} request
212
+ * @param {EpisodesClient.RequestOptions} requestOptions - Request-specific configuration.
213
+ *
214
+ * @throws {@link Ichos.UnauthorizedError}
215
+ * @throws {@link Ichos.ForbiddenError}
216
+ * @throws {@link Ichos.InternalServerError}
217
+ *
218
+ * @example
219
+ * await client.episodes.searchEpisodes({
220
+ * metadataJson: "{\"externalId\":\"123\",\"source\":\"crm\"}",
221
+ * metadataKey: "externalId",
222
+ * query: "launch"
223
+ * })
224
+ */
225
+ public searchEpisodes(
226
+ request: Ichos.SearchEpisodesRequest = {},
227
+ requestOptions?: EpisodesClient.RequestOptions,
228
+ ): core.HttpResponsePromise<Ichos.EpisodesResponse> {
229
+ return core.HttpResponsePromise.fromPromise(this.__searchEpisodes(request, requestOptions));
230
+ }
231
+
232
+ private async __searchEpisodes(
233
+ request: Ichos.SearchEpisodesRequest = {},
234
+ requestOptions?: EpisodesClient.RequestOptions,
235
+ ): Promise<core.WithRawResponse<Ichos.EpisodesResponse>> {
236
+ const { metadataJson, metadataKey, metadataValue, query, limit, offset } = request;
237
+ const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
238
+ if (metadataJson != null) {
239
+ _queryParams.metadataJson = metadataJson;
240
+ }
241
+
242
+ if (metadataKey != null) {
243
+ _queryParams.metadataKey = metadataKey;
244
+ }
245
+
246
+ if (metadataValue != null) {
247
+ _queryParams.metadataValue = metadataValue;
248
+ }
249
+
250
+ if (query != null) {
251
+ _queryParams.query = query;
252
+ }
253
+
254
+ if (limit != null) {
255
+ _queryParams.limit = limit.toString();
256
+ }
257
+
258
+ if (offset != null) {
259
+ _queryParams.offset = offset.toString();
260
+ }
261
+
262
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
263
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
264
+ _authRequest.headers,
265
+ this._options?.headers,
266
+ mergeOnlyDefinedHeaders({ "x-virtual-user": requestOptions?.virtualUser ?? this._options?.virtualUser }),
267
+ requestOptions?.headers,
268
+ );
269
+ const _response = await core.fetcher({
270
+ url: core.url.join(
271
+ (await core.Supplier.get(this._options.baseUrl)) ??
272
+ (await core.Supplier.get(this._options.environment)) ??
273
+ environments.IchosEnvironment.Default,
274
+ "v1/episodes/search",
275
+ ),
276
+ method: "GET",
277
+ headers: _headers,
278
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
279
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
280
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
281
+ abortSignal: requestOptions?.abortSignal,
282
+ fetchFn: this._options?.fetch,
283
+ logging: this._options.logging,
284
+ });
285
+ if (_response.ok) {
286
+ return { data: _response.body as Ichos.EpisodesResponse, rawResponse: _response.rawResponse };
287
+ }
288
+
289
+ if (_response.error.reason === "status-code") {
290
+ switch (_response.error.statusCode) {
291
+ case 401:
292
+ throw new Ichos.UnauthorizedError(
293
+ _response.error.body as Ichos.UnauthorizedErrorResponse,
294
+ _response.rawResponse,
295
+ );
296
+ case 403:
297
+ throw new Ichos.ForbiddenError(
298
+ _response.error.body as Ichos.UnauthenticatedErrorResponse,
299
+ _response.rawResponse,
300
+ );
301
+ case 500:
302
+ throw new Ichos.InternalServerError(
303
+ _response.error.body as Ichos.InternalServerErrorResponse,
304
+ _response.rawResponse,
305
+ );
306
+ default:
307
+ throw new errors.IchosError({
308
+ statusCode: _response.error.statusCode,
309
+ body: _response.error.body,
310
+ rawResponse: _response.rawResponse,
311
+ });
312
+ }
313
+ }
314
+
315
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/episodes/search");
316
+ }
317
+
208
318
  /**
209
319
  * Retrieve a single episode by ID.
210
320
  *
@@ -27,6 +27,7 @@ export interface EpisodeCreate {
27
27
  persons?: Ichos.Person[] | null;
28
28
  license?: string | null;
29
29
  status?: EpisodeCreate.Status;
30
+ metadata?: Ichos.Metadata | null;
30
31
  autoPublish?: boolean;
31
32
  coverOptions?: Ichos.CoverUploadOptions;
32
33
  audioOptions?: Ichos.AudioUploadOptions;
@@ -17,6 +17,7 @@ export interface EpisodeUpdate {
17
17
  adsEnabled?: boolean;
18
18
  explicit?: boolean;
19
19
  block?: boolean;
20
+ metadata?: Ichos.Metadata;
20
21
  pubDate?: string;
21
22
  season?: number;
22
23
  episode?: number;
@@ -0,0 +1,24 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+
3
+ /**
4
+ * @example
5
+ * {
6
+ * metadataJson: "{\"externalId\":\"123\",\"source\":\"crm\"}",
7
+ * metadataKey: "externalId",
8
+ * query: "launch"
9
+ * }
10
+ */
11
+ export interface SearchEpisodesRequest {
12
+ /** JSON object string to match against metadata (JSONB containment). */
13
+ metadataJson?: string;
14
+ /** Metadata key to filter by. */
15
+ metadataKey?: string;
16
+ /** Metadata value to filter by (string, number, boolean, or null). */
17
+ metadataValue?: string;
18
+ /** Search query string. Searches across episode fields and metadata. */
19
+ query?: string;
20
+ /** Max number of records to return. */
21
+ limit?: number;
22
+ /** Number of records to skip. */
23
+ offset?: number;
24
+ }
@@ -10,3 +10,4 @@ export type { LinkEpisodeAudioRequest } from "./LinkEpisodeAudioRequest.js";
10
10
  export type { ListPodcastEpisodesRequest } from "./ListPodcastEpisodesRequest.js";
11
11
  export type { PublishEpisodeRequest } from "./PublishEpisodeRequest.js";
12
12
  export type { PullEpisodeCoverFromUrlRequest } from "./PullEpisodeCoverFromUrlRequest.js";
13
+ export type { SearchEpisodesRequest } from "./SearchEpisodesRequest.js";
@@ -191,6 +191,116 @@ export class PodcastsClient {
191
191
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/podcasts");
192
192
  }
193
193
 
194
+ /**
195
+ * Search podcasts in the authenticated organization.
196
+ *
197
+ * @param {Ichos.SearchPodcastsRequest} request
198
+ * @param {PodcastsClient.RequestOptions} requestOptions - Request-specific configuration.
199
+ *
200
+ * @throws {@link Ichos.UnauthorizedError}
201
+ * @throws {@link Ichos.ForbiddenError}
202
+ * @throws {@link Ichos.InternalServerError}
203
+ *
204
+ * @example
205
+ * await client.podcasts.searchPodcasts({
206
+ * metadataJson: "{\"externalId\":\"123\",\"source\":\"crm\"}",
207
+ * metadataKey: "externalId",
208
+ * query: "tech"
209
+ * })
210
+ */
211
+ public searchPodcasts(
212
+ request: Ichos.SearchPodcastsRequest = {},
213
+ requestOptions?: PodcastsClient.RequestOptions,
214
+ ): core.HttpResponsePromise<Ichos.PodcastsResponse> {
215
+ return core.HttpResponsePromise.fromPromise(this.__searchPodcasts(request, requestOptions));
216
+ }
217
+
218
+ private async __searchPodcasts(
219
+ request: Ichos.SearchPodcastsRequest = {},
220
+ requestOptions?: PodcastsClient.RequestOptions,
221
+ ): Promise<core.WithRawResponse<Ichos.PodcastsResponse>> {
222
+ const { metadataJson, metadataKey, metadataValue, query, limit, offset } = request;
223
+ const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
224
+ if (metadataJson != null) {
225
+ _queryParams.metadataJson = metadataJson;
226
+ }
227
+
228
+ if (metadataKey != null) {
229
+ _queryParams.metadataKey = metadataKey;
230
+ }
231
+
232
+ if (metadataValue != null) {
233
+ _queryParams.metadataValue = metadataValue;
234
+ }
235
+
236
+ if (query != null) {
237
+ _queryParams.query = query;
238
+ }
239
+
240
+ if (limit != null) {
241
+ _queryParams.limit = limit.toString();
242
+ }
243
+
244
+ if (offset != null) {
245
+ _queryParams.offset = offset.toString();
246
+ }
247
+
248
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
249
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
250
+ _authRequest.headers,
251
+ this._options?.headers,
252
+ mergeOnlyDefinedHeaders({ "x-virtual-user": requestOptions?.virtualUser ?? this._options?.virtualUser }),
253
+ requestOptions?.headers,
254
+ );
255
+ const _response = await core.fetcher({
256
+ url: core.url.join(
257
+ (await core.Supplier.get(this._options.baseUrl)) ??
258
+ (await core.Supplier.get(this._options.environment)) ??
259
+ environments.IchosEnvironment.Default,
260
+ "v1/podcasts/search",
261
+ ),
262
+ method: "GET",
263
+ headers: _headers,
264
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
265
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
266
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
267
+ abortSignal: requestOptions?.abortSignal,
268
+ fetchFn: this._options?.fetch,
269
+ logging: this._options.logging,
270
+ });
271
+ if (_response.ok) {
272
+ return { data: _response.body as Ichos.PodcastsResponse, rawResponse: _response.rawResponse };
273
+ }
274
+
275
+ if (_response.error.reason === "status-code") {
276
+ switch (_response.error.statusCode) {
277
+ case 401:
278
+ throw new Ichos.UnauthorizedError(
279
+ _response.error.body as Ichos.UnauthorizedErrorResponse,
280
+ _response.rawResponse,
281
+ );
282
+ case 403:
283
+ throw new Ichos.ForbiddenError(
284
+ _response.error.body as Ichos.UnauthenticatedErrorResponse,
285
+ _response.rawResponse,
286
+ );
287
+ case 500:
288
+ throw new Ichos.InternalServerError(
289
+ _response.error.body as Ichos.InternalServerErrorResponse,
290
+ _response.rawResponse,
291
+ );
292
+ default:
293
+ throw new errors.IchosError({
294
+ statusCode: _response.error.statusCode,
295
+ body: _response.error.body,
296
+ rawResponse: _response.rawResponse,
297
+ });
298
+ }
299
+ }
300
+
301
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/podcasts/search");
302
+ }
303
+
194
304
  /**
195
305
  * Import a podcast from an RSS feed URL.
196
306
  *
@@ -51,6 +51,7 @@ export interface PodcastCreate {
51
51
  fundingUrl?: string | null;
52
52
  /** The text to display for the funding link. */
53
53
  fundingText?: string | null;
54
+ metadata?: Ichos.Metadata;
54
55
  }
55
56
 
56
57
  export namespace PodcastCreate {
@@ -52,6 +52,7 @@ export interface PodcastUpdate {
52
52
  fundingUrl?: string;
53
53
  /** The text to display for the funding link. */
54
54
  fundingText?: string;
55
+ metadata?: Ichos.Metadata;
55
56
  }
56
57
 
57
58
  export namespace PodcastUpdate {
@@ -0,0 +1,24 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+
3
+ /**
4
+ * @example
5
+ * {
6
+ * metadataJson: "{\"externalId\":\"123\",\"source\":\"crm\"}",
7
+ * metadataKey: "externalId",
8
+ * query: "tech"
9
+ * }
10
+ */
11
+ export interface SearchPodcastsRequest {
12
+ /** JSON object string to match against metadata (JSONB containment). */
13
+ metadataJson?: string;
14
+ /** Metadata key to filter by. */
15
+ metadataKey?: string;
16
+ /** Metadata value to filter by (string, number, boolean, or null). */
17
+ metadataValue?: string;
18
+ /** Search query string. Searches across podcast fields and metadata. */
19
+ query?: string;
20
+ /** Max number of records to return. */
21
+ limit?: number;
22
+ /** Number of records to skip. */
23
+ offset?: number;
24
+ }
@@ -9,4 +9,5 @@ export type { PodcastCreate } from "./PodcastCreate.js";
9
9
  export type { PodcastUpdate } from "./PodcastUpdate.js";
10
10
  export type { PublishPodcastRequest } from "./PublishPodcastRequest.js";
11
11
  export type { PullPodcastCoverFromUrlRequest } from "./PullPodcastCoverFromUrlRequest.js";
12
+ export type { SearchPodcastsRequest } from "./SearchPodcastsRequest.js";
12
13
  export type { ValidatePodcastRequest } from "./ValidatePodcastRequest.js";
@@ -14,7 +14,7 @@ export interface Episode {
14
14
  season: number | null;
15
15
  episode: number | null;
16
16
  episodeType: Episode.EpisodeType;
17
- coverKey: string | null;
17
+ coverUrl: string | null;
18
18
  transcripts: Ichos.EpisodeTranscript[] | null;
19
19
  chaptersUrl: string | null;
20
20
  persons: Ichos.Person[] | null;
@@ -24,6 +24,7 @@ export interface Episode {
24
24
  audioId: string | null;
25
25
  guid: string;
26
26
  slug: string;
27
+ metadata: Ichos.Metadata;
27
28
  url: string;
28
29
  createdAt: string;
29
30
  updatedAt: string;
@@ -14,7 +14,7 @@ export interface EpisodeCreatedResponseData {
14
14
  season: number | null;
15
15
  episode: number | null;
16
16
  episodeType: EpisodeCreatedResponseData.EpisodeType;
17
- coverKey: string | null;
17
+ coverUrl: string | null;
18
18
  transcripts: Ichos.EpisodeTranscript[] | null;
19
19
  chaptersUrl: string | null;
20
20
  persons: Ichos.Person[] | null;
@@ -24,6 +24,7 @@ export interface EpisodeCreatedResponseData {
24
24
  audioId: string | null;
25
25
  guid: string;
26
26
  slug: string;
27
+ metadata: Ichos.Metadata;
27
28
  url: string;
28
29
  createdAt: string;
29
30
  updatedAt: string;
@@ -0,0 +1,23 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+
3
+ export interface EpisodeSearchParams {
4
+ /** JSON object string to match against metadata (JSONB containment). */
5
+ metadataJson?: string;
6
+ /** Metadata key to filter by. */
7
+ metadataKey?: string;
8
+ /** Metadata value to filter by (string, number, boolean, or null). */
9
+ metadataValue?: EpisodeSearchParams.MetadataValue | null;
10
+ /** Search query string. Searches across episode fields and metadata. */
11
+ query?: string;
12
+ /** Max number of records to return. */
13
+ limit?: number;
14
+ /** Number of records to skip. */
15
+ offset?: number;
16
+ }
17
+
18
+ export namespace EpisodeSearchParams {
19
+ /**
20
+ * Metadata value to filter by (string, number, boolean, or null).
21
+ */
22
+ export type MetadataValue = string | number | boolean;
23
+ }
@@ -1,5 +1,7 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import type * as Ichos from "../index.js";
4
+
3
5
  export interface Organization {
4
6
  /** Unique identifier for the organization. */
5
7
  id: string;
@@ -7,6 +9,7 @@ export interface Organization {
7
9
  name: string;
8
10
  /** The status of the organization. */
9
11
  status: Organization.Status;
12
+ metadata: Ichos.Metadata;
10
13
  }
11
14
 
12
15
  export namespace Organization {
@@ -50,6 +50,9 @@ export interface Podcast {
50
50
  fundingText: string | null;
51
51
  rssUrl: string | null;
52
52
  pubDate: string;
53
+ metadata: Ichos.Metadata;
54
+ createdAt: string;
55
+ updatedAt: string;
53
56
  }
54
57
 
55
58
  export namespace Podcast {
@@ -0,0 +1,23 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+
3
+ export interface PodcastSearchParams {
4
+ /** JSON object string to match against metadata (JSONB containment). */
5
+ metadataJson?: string;
6
+ /** Metadata key to filter by. */
7
+ metadataKey?: string;
8
+ /** Metadata value to filter by (string, number, boolean, or null). */
9
+ metadataValue?: PodcastSearchParams.MetadataValue | null;
10
+ /** Search query string. Searches across podcast fields and metadata. */
11
+ query?: string;
12
+ /** Max number of records to return. */
13
+ limit?: number;
14
+ /** Number of records to skip. */
15
+ offset?: number;
16
+ }
17
+
18
+ export namespace PodcastSearchParams {
19
+ /**
20
+ * Metadata value to filter by (string, number, boolean, or null).
21
+ */
22
+ export type MetadataValue = string | number | boolean;
23
+ }
@@ -1,5 +1,7 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import type * as Ichos from "../index.js";
4
+
3
5
  export interface Segment {
4
6
  id: string;
5
7
  scope: Segment.Scope;
@@ -9,6 +11,7 @@ export interface Segment {
9
11
  virtualUserId?: string | null;
10
12
  podcastId?: string | null;
11
13
  audioId?: string | null;
14
+ metadata: Ichos.Metadata;
12
15
  createdAt: string;
13
16
  updatedAt: string;
14
17
  }
@@ -26,6 +26,7 @@ export * from "./Episode.js";
26
26
  export * from "./EpisodeCreatedResponseData.js";
27
27
  export * from "./EpisodeCreateResponse.js";
28
28
  export * from "./EpisodeResponse.js";
29
+ export * from "./EpisodeSearchParams.js";
29
30
  export * from "./EpisodesResponse.js";
30
31
  export * from "./EpisodeTranscript.js";
31
32
  export * from "./InternalServerErrorBody.js";
@@ -48,6 +49,7 @@ export * from "./Podcast.js";
48
49
  export * from "./PodcastImportCompletedPayload.js";
49
50
  export * from "./PodcastImportFailedPayload.js";
50
51
  export * from "./PodcastResponse.js";
52
+ export * from "./PodcastSearchParams.js";
51
53
  export * from "./PodcastsResponse.js";
52
54
  export * from "./PublishPodcastOutput.js";
53
55
  export * from "./RetrieveCoverResponse.js";