@brigadasos/nadeshiko-sdk 2.0.2-internal → 2.0.2
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.
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client.gen.d.ts.map +1 -1
- package/dist/core/auth.gen.d.ts.map +1 -1
- package/dist/core/bodySerializer.gen.d.ts.map +1 -1
- package/dist/core/params.gen.d.ts.map +1 -1
- package/dist/core/pathSerializer.gen.d.ts.map +1 -1
- package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
- package/dist/core/types.gen.d.ts.map +1 -1
- package/dist/core/utils.gen.d.ts.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.cjs +21 -920
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -931
- package/dist/index.js.map +4 -4
- package/dist/nadeshiko.gen.d.ts +1 -1321
- package/dist/nadeshiko.gen.d.ts.map +1 -1
- package/dist/paginate.d.ts.map +1 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/types.gen.d.ts.map +1 -1
- package/package.json +3 -4
- package/dist/internal/admin.gen.d.ts +0 -2
- package/dist/internal/admin.gen.d.ts.map +0 -1
- package/dist/internal/collections.gen.d.ts +0 -2
- package/dist/internal/collections.gen.d.ts.map +0 -1
- package/dist/internal/media.gen.d.ts +0 -2
- package/dist/internal/media.gen.d.ts.map +0 -1
- package/dist/internal/user.gen.d.ts +0 -2
- package/dist/internal/user.gen.d.ts.map +0 -1
- package/dist/internal.gen.d.ts +0 -5
- package/dist/internal.gen.d.ts.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../generated/
|
|
3
|
+
"sources": ["../../../generated/public/core/bodySerializer.gen.ts", "../../../generated/public/core/params.gen.ts", "../../../generated/public/core/serverSentEvents.gen.ts", "../../../generated/public/core/pathSerializer.gen.ts", "../../../generated/public/core/utils.gen.ts", "../../../generated/public/core/auth.gen.ts", "../../../generated/public/client/utils.gen.ts", "../../../generated/public/client/client.gen.ts", "../../../generated/public/client.gen.ts", "../../../generated/public/sdk.gen.ts", "../../../generated/public/retry.ts", "../../../generated/public/errors.ts", "../../../generated/public/nadeshiko.gen.ts", "../../../generated/public/paginate.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n ArrayStyle,\n ObjectStyle,\n SerializerOptions,\n} from './pathSerializer.gen';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean;\n array?: Partial<SerializerOptions<ArrayStyle>>;\n object?: Partial<SerializerOptions<ObjectStyle>>;\n};\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>;\n};\n\nconst serializeFormDataPair = (\n data: FormData,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else if (value instanceof Date) {\n data.append(key, value.toISOString());\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nconst serializeUrlSearchParamsPair = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): FormData => {\n const data = new FormData();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: <T>(body: T): string =>\n JSON.stringify(body, (_key, value) =>\n typeof value === 'bigint' ? value.toString() : value,\n ),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): string => {\n const data = new URLSearchParams();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data.toString();\n },\n};\n",
|
|
6
6
|
"// This file is auto-generated by @hey-api/openapi-ts\n\ntype Slot = 'body' | 'headers' | 'path' | 'query';\n\nexport type Field =\n | {\n in: Exclude<Slot, 'body'>;\n /**\n * Field name. This is the name we want the user to see and use.\n */\n key: string;\n /**\n * Field mapped name. This is the name we want to use in the request.\n * If omitted, we use the same value as `key`.\n */\n map?: string;\n }\n | {\n in: Extract<Slot, 'body'>;\n /**\n * Key isn't required for bodies.\n */\n key?: string;\n map?: string;\n }\n | {\n /**\n * Field name. This is the name we want the user to see and use.\n */\n key: string;\n /**\n * Field mapped name. This is the name we want to use in the request.\n * If `in` is omitted, `map` aliases `key` to the transport layer.\n */\n map: Slot;\n };\n\nexport interface Fields {\n allowExtra?: Partial<Record<Slot, boolean>>;\n args?: ReadonlyArray<Field>;\n}\n\nexport type FieldsConfig = ReadonlyArray<Field | Fields>;\n\nconst extraPrefixesMap: Record<string, Slot> = {\n $body_: 'body',\n $headers_: 'headers',\n $path_: 'path',\n $query_: 'query',\n};\nconst extraPrefixes = Object.entries(extraPrefixesMap);\n\ntype KeyMap = Map<\n string,\n | {\n in: Slot;\n map?: string;\n }\n | {\n in?: never;\n map: Slot;\n }\n>;\n\nconst buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {\n if (!map) {\n map = new Map();\n }\n\n for (const config of fields) {\n if ('in' in config) {\n if (config.key) {\n map.set(config.key, {\n in: config.in,\n map: config.map,\n });\n }\n } else if ('key' in config) {\n map.set(config.key, {\n map: config.map,\n });\n } else if (config.args) {\n buildKeyMap(config.args, map);\n }\n }\n\n return map;\n};\n\ninterface Params {\n body: unknown;\n headers: Record<string, unknown>;\n path: Record<string, unknown>;\n query: Record<string, unknown>;\n}\n\nconst stripEmptySlots = (params: Params) => {\n for (const [slot, value] of Object.entries(params)) {\n if (value && typeof value === 'object' && !Object.keys(value).length) {\n delete params[slot as Slot];\n }\n }\n};\n\nexport const buildClientParams = (\n args: ReadonlyArray<unknown>,\n fields: FieldsConfig,\n) => {\n const params: Params = {\n body: {},\n headers: {},\n path: {},\n query: {},\n };\n\n const map = buildKeyMap(fields);\n\n let config: FieldsConfig[number] | undefined;\n\n for (const [index, arg] of args.entries()) {\n if (fields[index]) {\n config = fields[index];\n }\n\n if (!config) {\n continue;\n }\n\n if ('in' in config) {\n if (config.key) {\n const field = map.get(config.key)!;\n const name = field.map || config.key;\n if (field.in) {\n (params[field.in] as Record<string, unknown>)[name] = arg;\n }\n } else {\n params.body = arg;\n }\n } else {\n for (const [key, value] of Object.entries(arg ?? {})) {\n const field = map.get(key);\n\n if (field) {\n if (field.in) {\n const name = field.map || key;\n (params[field.in] as Record<string, unknown>)[name] = value;\n } else {\n params[field.map] = value;\n }\n } else {\n const extra = extraPrefixes.find(([prefix]) =>\n key.startsWith(prefix),\n );\n\n if (extra) {\n const [prefix, slot] = extra;\n (params[slot] as Record<string, unknown>)[\n key.slice(prefix.length)\n ] = value;\n } else if ('allowExtra' in config && config.allowExtra) {\n for (const [slot, allowed] of Object.entries(config.allowExtra)) {\n if (allowed) {\n (params[slot as Slot] as Record<string, unknown>)[key] = value;\n break;\n }\n }\n }\n }\n }\n }\n }\n\n stripEmptySlots(params);\n\n return params;\n};\n",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Client, Options as Options2, TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { AddMediaToSeriesData, AddMediaToSeriesErrors, AddMediaToSeriesResponses, AddSegmentToCollectionData, AddSegmentToCollectionErrors, AddSegmentToCollectionResponses, AutocompleteMediaData, AutocompleteMediaErrors, AutocompleteMediaResponses, BatchUpdateAdminReportsData, BatchUpdateAdminReportsErrors, BatchUpdateAdminReportsResponses, ClearAdminImpersonationData, ClearAdminImpersonationErrors, ClearAdminImpersonationResponses, CreateCollectionData, CreateCollectionErrors, CreateCollectionResponses, CreateEpisodeData, CreateEpisodeErrors, CreateEpisodeResponses, CreateMediaData, CreateMediaErrors, CreateMediaResponses, CreateSegmentData, CreateSegmentErrors, CreateSegmentResponses, CreateSegmentsBatchData, CreateSegmentsBatchErrors, CreateSegmentsBatchResponses, CreateSeriesData, CreateSeriesErrors, CreateSeriesResponses, CreateUserReportData, CreateUserReportErrors, CreateUserReportResponses, DeleteCollectionData, DeleteCollectionErrors, DeleteCollectionResponses, DeleteEpisodeData, DeleteEpisodeErrors, DeleteEpisodeResponses, DeleteMediaData, DeleteMediaErrors, DeleteMediaResponses, DeleteSegmentData, DeleteSegmentErrors, DeleteSegmentResponses, DeleteSeriesData, DeleteSeriesErrors, DeleteSeriesResponses, DeleteUserActivityByDateData, DeleteUserActivityByDateErrors, DeleteUserActivityByDateResponses, DeleteUserActivityByIdData, DeleteUserActivityByIdErrors, DeleteUserActivityByIdResponses, DeleteUserActivityData, DeleteUserActivityErrors, DeleteUserActivityResponses, EnrollUserLabData, EnrollUserLabErrors, EnrollUserLabResponses, ExportUserDataData, ExportUserDataErrors, ExportUserDataResponses, GetAdminDashboardActivityData, GetAdminDashboardActivityErrors, GetAdminDashboardActivityResponses, GetAdminDashboardApiKeysData, GetAdminDashboardApiKeysErrors, GetAdminDashboardApiKeysResponses, GetAdminDashboardCollectionsData, GetAdminDashboardCollectionsErrors, GetAdminDashboardCollectionsResponses, GetAdminDashboardData, GetAdminDashboardErrors, GetAdminDashboardMediaData, GetAdminDashboardMediaErrors, GetAdminDashboardMediaResponses, GetAdminDashboardOverviewData, GetAdminDashboardOverviewErrors, GetAdminDashboardOverviewResponses, GetAdminDashboardResponses, GetAdminDashboardSystemData, GetAdminDashboardSystemErrors, GetAdminDashboardSystemResponses, GetAdminHealthData, GetAdminHealthErrors, GetAdminHealthResponses, GetAdminMediaAuditRunData, GetAdminMediaAuditRunErrors, GetAdminMediaAuditRunResponses, GetAdminQueueData, GetAdminQueueErrors, GetAdminQueueResponses, GetAnnouncementData, GetAnnouncementErrors, GetAnnouncementResponses, GetCharacterData, GetCharacterErrors, GetCharacterResponses, GetCollectionData, GetCollectionErrors, GetCollectionResponses, GetCollectionStatsData, GetCollectionStatsErrors, GetCollectionStatsResponses, GetEpisodeData, GetEpisodeErrors, GetEpisodeResponses, GetMediaData, GetMediaErrors, GetMediaResponses, GetSearchStatsData, GetSearchStatsErrors, GetSearchStatsResponses, GetSegmentByUuidData, GetSegmentByUuidErrors, GetSegmentByUuidResponses, GetSegmentContextData, GetSegmentContextErrors, GetSegmentContextResponses, GetSegmentData, GetSegmentErrors, GetSegmentResponses, GetSeiyuuData, GetSeiyuuErrors, GetSeiyuuResponses, GetSeriesData, GetSeriesErrors, GetSeriesResponses, GetUserActivityHeatmapData, GetUserActivityHeatmapErrors, GetUserActivityHeatmapResponses, GetUserActivityStatsData, GetUserActivityStatsErrors, GetUserActivityStatsResponses, GetUserPreferencesData, GetUserPreferencesErrors, GetUserPreferencesResponses, GetUserQuotaData, GetUserQuotaErrors, GetUserQuotaResponses, ImpersonateAdminUserData, ImpersonateAdminUserErrors, ImpersonateAdminUserResponses, ListAdminMediaAuditRunsData, ListAdminMediaAuditRunsErrors, ListAdminMediaAuditRunsResponses, ListAdminMediaAuditsData, ListAdminMediaAuditsErrors, ListAdminMediaAuditsResponses, ListAdminQueueFailedData, ListAdminQueueFailedErrors, ListAdminQueueFailedResponses, ListAdminQueueStatsData, ListAdminQueueStatsErrors, ListAdminQueueStatsResponses, ListAdminReportsData, ListAdminReportsErrors, ListAdminReportsResponses, ListCollectionsData, ListCollectionsErrors, ListCollectionsResponses, ListEpisodesData, ListEpisodesErrors, ListEpisodesResponses, ListMediaData, ListMediaErrors, ListMediaResponses, ListSegmentRevisionsData, ListSegmentRevisionsErrors, ListSegmentRevisionsResponses, ListSegmentsData, ListSegmentsErrors, ListSegmentsResponses, ListSeriesData, ListSeriesErrors, ListSeriesResponses, ListUserActivityData, ListUserActivityErrors, ListUserActivityResponses, ListUserLabsData, ListUserLabsErrors, ListUserLabsResponses, PurgeAdminQueueFailedData, PurgeAdminQueueFailedErrors, PurgeAdminQueueFailedResponses, RemoveMediaFromSeriesData, RemoveMediaFromSeriesErrors, RemoveMediaFromSeriesResponses, RemoveSegmentFromCollectionData, RemoveSegmentFromCollectionErrors, RemoveSegmentFromCollectionResponses, RetryAdminQueueFailedData, RetryAdminQueueFailedErrors, RetryAdminQueueFailedResponses, RunAdminMediaAuditData, RunAdminMediaAuditErrors, RunAdminMediaAuditResponses, SearchCollectionSegmentsData, SearchCollectionSegmentsErrors, SearchCollectionSegmentsResponses, SearchData, SearchErrors, SearchResponses, SearchWordsData, SearchWordsErrors, SearchWordsResponses, TrackUserActivityData, TrackUserActivityErrors, TrackUserActivityResponses, TriggerReindexData, TriggerReindexErrors, TriggerReindexResponses, UnenrollUserLabData, UnenrollUserLabErrors, UnenrollUserLabResponses, UpdateAdminMediaAuditData, UpdateAdminMediaAuditErrors, UpdateAdminMediaAuditResponses, UpdateAdminReportData, UpdateAdminReportErrors, UpdateAdminReportResponses, UpdateAnnouncementData, UpdateAnnouncementErrors, UpdateAnnouncementResponses, UpdateCollectionData, UpdateCollectionErrors, UpdateCollectionResponses, UpdateCollectionSegmentData, UpdateCollectionSegmentErrors, UpdateCollectionSegmentResponses, UpdateEpisodeData, UpdateEpisodeErrors, UpdateEpisodeResponses, UpdateMediaData, UpdateMediaErrors, UpdateMediaResponses, UpdateSegmentByUuidData, UpdateSegmentByUuidErrors, UpdateSegmentByUuidResponses, UpdateSegmentData, UpdateSegmentErrors, UpdateSegmentResponses, UpdateSeriesData, UpdateSeriesErrors, UpdateSeriesMediaData, UpdateSeriesMediaErrors, UpdateSeriesMediaResponses, UpdateSeriesResponses, UpdateUserPreferencesData, UpdateUserPreferencesErrors, UpdateUserPreferencesResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Search segments by query\n *\n * The primary search endpoint for finding Japanese segments and their translations across indexed media (anime, J-Drama).\n *\n * This endpoint uses Elasticsearch with advanced Japanese text analysis supporting multiple input types (romaji, kanji, kana) and providing intelligent field-based boosting.\n *\n * **Query Features**\n * - **Multi-language Support:** Search using Japanese (kanji/kana), Romaji, or English/Spanish\n * - **Boolean Operators:** `AND`, `OR`, `NOT` supported (e.g., `(cat OR dog) AND bird`)\n * - **Phrase Matching:** Use quotes for exact phrases (e.g., `\"good morning\"`), or pass `exactMatch: true` to the request body\n * - **Wildcards:** `te*t` format (leading wildcards not supported)\n * - **Smart Field Selection:** Automatically chooses optimal search fields based on input type\n *\n * **Input Type Handling**\n * | Input Type | Search Strategy |\n * |------------|-----------------|\n * | **Romaji** (`go`, `taberu`) | Boosts EN/ES translations, reading form (pronunciation), and base form |\n * | **Kanji** (`食べる`, `彼女`) | Searches content and base form (dictionary form). Ignores matches by reading (homophones). |\n * | **Kana** (`たべる`, `かのじょ`) | Standard search across content, base form, and reading form |\n * | **English/Spanish** | Direct translation search |\n *\n */\nexport const search = <ThrowOnError extends boolean = false>(options?: Options<SearchData, ThrowOnError>) => (options?.client ?? client).post<SearchResponses, SearchErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Get search statistics\n *\n * Returns statistics for search filters and category tabs without fetching segment rows.\n *\n * This endpoint is optimized for UI filter panels:\n * - `media` powers the media dropdown on the right side.\n * - `categories` powers category tabs below the search bar.\n *\n * The stats are scoped by query and category filters, but are not narrowed by a selected media/episode.\n *\n */\nexport const getSearchStats = <ThrowOnError extends boolean = false>(options?: Options<GetSearchStatsData, ThrowOnError>) => (options?.client ?? client).post<GetSearchStatsResponses, GetSearchStatsErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/search/stats',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Search by multiple words\n *\n * Searches for multiple words simultaneously and aggregates results by media.\n *\n * Unlike the main search endpoint, this returns a summary of matches per media rather than individual segments.\n *\n */\nexport const searchWords = <ThrowOnError extends boolean = false>(options: Options<SearchWordsData, ThrowOnError>) => (options.client ?? client).post<SearchWordsResponses, SearchWordsErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/search/words',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all media\n *\n * Returns a paginated list of media with full metadata, including cover/banner images, episode counts, and genres.\n * Supports filtering by category and text search.\n *\n */\nexport const listMedia = <ThrowOnError extends boolean = false>(options?: Options<ListMediaData, ThrowOnError>) => (options?.client ?? client).get<ListMediaResponses, ListMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media',\n ...options\n});\n\n/**\n * Create media\n *\n * Creates a new media entry in the database.\n *\n */\nexport const createMedia = <ThrowOnError extends boolean = false>(options: Options<CreateMediaData, ThrowOnError>) => (options.client ?? client).post<CreateMediaResponses, CreateMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Autocomplete media by name\n *\n * Returns a short list of media matching a name prefix or substring.\n * Results are ranked by exact match, then prefix match, then contains match,\n * and further sorted by name length.\n *\n */\nexport const autocompleteMedia = <ThrowOnError extends boolean = false>(options: Options<AutocompleteMediaData, ThrowOnError>) => (options.client ?? client).get<AutocompleteMediaResponses, AutocompleteMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/autocomplete',\n ...options\n});\n\n/**\n * Get segment by publicId\n *\n * Returns a specific segment by its publicId. A shortcut alternative to the nested `/media/{mediaId}/episodes/{episodeNumber}/segments/{id}` path.\n *\n * Pass `include[]=ratingAnalysis` and/or `include[]=posAnalysis` to receive raw analysis fields alongside the standard segment data.\n *\n */\nexport const getSegmentByUuid = <ThrowOnError extends boolean = false>(options: Options<GetSegmentByUuidData, ThrowOnError>) => (options.client ?? client).get<GetSegmentByUuidResponses, GetSegmentByUuidErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/segments/{uuid}',\n ...options\n});\n\n/**\n * Update segment by publicId\n *\n * Updates an existing segment identified by its publicId. Only provided fields will be updated.\n *\n */\nexport const updateSegmentByUuid = <ThrowOnError extends boolean = false>(options: Options<UpdateSegmentByUuidData, ThrowOnError>) => (options.client ?? client).patch<UpdateSegmentByUuidResponses, UpdateSegmentByUuidErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/segments/{uuid}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get surrounding context for a segment\n *\n * Retrieves segments surrounding a specific segment within an episode.\n * Returns segments both before and after the target, providing dialogue context for how a sentence is used.\n *\n */\nexport const getSegmentContext = <ThrowOnError extends boolean = false>(options: Options<GetSegmentContextData, ThrowOnError>) => (options.client ?? client).get<GetSegmentContextResponses, GetSegmentContextErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/segments/{uuid}/context',\n ...options\n});\n\n/**\n * List segment revision history\n *\n * Returns the revision history for a segment, ordered by most recent first.\n *\n */\nexport const listSegmentRevisions = <ThrowOnError extends boolean = false>(options: Options<ListSegmentRevisionsData, ThrowOnError>) => (options.client ?? client).get<ListSegmentRevisionsResponses, ListSegmentRevisionsErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/segments/{uuid}/revisions',\n ...options\n});\n\n/**\n * List all series\n *\n * Returns a paginated list of media series groupings.\n *\n */\nexport const listSeries = <ThrowOnError extends boolean = false>(options?: Options<ListSeriesData, ThrowOnError>) => (options?.client ?? client).get<ListSeriesResponses, ListSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series',\n ...options\n});\n\n/**\n * Create series\n *\n * Creates a new media series grouping.\n *\n */\nexport const createSeries = <ThrowOnError extends boolean = false>(options: Options<CreateSeriesData, ThrowOnError>) => (options.client ?? client).post<CreateSeriesResponses, CreateSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete series\n *\n * Deletes a series and all its media associations.\n *\n */\nexport const deleteSeries = <ThrowOnError extends boolean = false>(options: Options<DeleteSeriesData, ThrowOnError>) => (options.client ?? client).delete<DeleteSeriesResponses, DeleteSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}',\n ...options\n});\n\n/**\n * Get series details\n *\n * Returns a series with all media entries sorted by position.\n *\n */\nexport const getSeries = <ThrowOnError extends boolean = false>(options: Options<GetSeriesData, ThrowOnError>) => (options.client ?? client).get<GetSeriesResponses, GetSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}',\n ...options\n});\n\n/**\n * Update series metadata\n *\n * Updates series localized names.\n *\n */\nexport const updateSeries = <ThrowOnError extends boolean = false>(options: Options<UpdateSeriesData, ThrowOnError>) => (options.client ?? client).patch<UpdateSeriesResponses, UpdateSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Add media to series\n *\n * Adds a media entry to a series at a specific position.\n *\n */\nexport const addMediaToSeries = <ThrowOnError extends boolean = false>(options: Options<AddMediaToSeriesData, ThrowOnError>) => (options.client ?? client).post<AddMediaToSeriesResponses, AddMediaToSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}/media',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Remove media from series\n *\n * Removes a media entry from a series.\n *\n */\nexport const removeMediaFromSeries = <ThrowOnError extends boolean = false>(options: Options<RemoveMediaFromSeriesData, ThrowOnError>) => (options.client ?? client).delete<RemoveMediaFromSeriesResponses, RemoveMediaFromSeriesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}/media/{mediaId}',\n ...options\n});\n\n/**\n * Update media position in series\n *\n * Updates the position of a media entry in a series.\n *\n */\nexport const updateSeriesMedia = <ThrowOnError extends boolean = false>(options: Options<UpdateSeriesMediaData, ThrowOnError>) => (options.client ?? client).patch<UpdateSeriesMediaResponses, UpdateSeriesMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/series/{id}/media/{mediaId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get character details\n *\n * Returns a character with their voice actors (seiyuu) and all media appearances.\n *\n */\nexport const getCharacter = <ThrowOnError extends boolean = false>(options: Options<GetCharacterData, ThrowOnError>) => (options.client ?? client).get<GetCharacterResponses, GetCharacterErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/characters/{id}',\n ...options\n});\n\n/**\n * Get seiyuu details\n *\n * Returns a voice actor (seiyuu) with all characters they voiced and their media appearances.\n *\n */\nexport const getSeiyuu = <ThrowOnError extends boolean = false>(options: Options<GetSeiyuuData, ThrowOnError>) => (options.client ?? client).get<GetSeiyuuResponses, GetSeiyuuErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/seiyuu/{id}',\n ...options\n});\n\n/**\n * Delete media\n *\n * Soft-deletes a media entry by setting the `deletedAt` timestamp. The media remains in the database but is excluded from query results.\n *\n */\nexport const deleteMedia = <ThrowOnError extends boolean = false>(options: Options<DeleteMediaData, ThrowOnError>) => (options.client ?? client).delete<DeleteMediaResponses, DeleteMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{id}',\n ...options\n});\n\n/**\n * Get single media\n *\n * Returns a single media entry by its ID with full metadata.\n *\n */\nexport const getMedia = <ThrowOnError extends boolean = false>(options: Options<GetMediaData, ThrowOnError>) => (options.client ?? client).get<GetMediaResponses, GetMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{id}',\n ...options\n});\n\n/**\n * Update media\n *\n * Updates an existing media entry. Only provided fields will be updated.\n *\n */\nexport const updateMedia = <ThrowOnError extends boolean = false>(options: Options<UpdateMediaData, ThrowOnError>) => (options.client ?? client).patch<UpdateMediaResponses, UpdateMediaErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List episodes for a media\n *\n * Returns a paginated list of episodes for a specific media.\n *\n */\nexport const listEpisodes = <ThrowOnError extends boolean = false>(options: Options<ListEpisodesData, ThrowOnError>) => (options.client ?? client).get<ListEpisodesResponses, ListEpisodesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes',\n ...options\n});\n\n/**\n * Create episode\n *\n * Creates a new episode for a specific media.\n *\n */\nexport const createEpisode = <ThrowOnError extends boolean = false>(options: Options<CreateEpisodeData, ThrowOnError>) => (options.client ?? client).post<CreateEpisodeResponses, CreateEpisodeErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete episode\n *\n * Soft-deletes an episode. Segments are not cascade deleted — this only hides the episode from results.\n *\n */\nexport const deleteEpisode = <ThrowOnError extends boolean = false>(options: Options<DeleteEpisodeData, ThrowOnError>) => (options.client ?? client).delete<DeleteEpisodeResponses, DeleteEpisodeErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}',\n ...options\n});\n\n/**\n * Get single episode\n *\n * Returns a specific episode by media ID and episode number.\n *\n */\nexport const getEpisode = <ThrowOnError extends boolean = false>(options: Options<GetEpisodeData, ThrowOnError>) => (options.client ?? client).get<GetEpisodeResponses, GetEpisodeErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}',\n ...options\n});\n\n/**\n * Update episode\n *\n * Updates an existing episode. Only provided fields will be updated.\n *\n */\nexport const updateEpisode = <ThrowOnError extends boolean = false>(options: Options<UpdateEpisodeData, ThrowOnError>) => (options.client ?? client).patch<UpdateEpisodeResponses, UpdateEpisodeErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List segments for an episode\n *\n * Returns a paginated list of segments for a specific episode.\n *\n */\nexport const listSegments = <ThrowOnError extends boolean = false>(options: Options<ListSegmentsData, ThrowOnError>) => (options.client ?? client).get<ListSegmentsResponses, ListSegmentsErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments',\n ...options\n});\n\n/**\n * Create segment\n *\n * Creates a new segment for a specific episode.\n *\n */\nexport const createSegment = <ThrowOnError extends boolean = false>(options: Options<CreateSegmentData, ThrowOnError>) => (options.client ?? client).post<CreateSegmentResponses, CreateSegmentErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Batch create segments\n *\n * Creates multiple segments for a specific episode in a single request.\n * Duplicate UUIDs are silently skipped.\n *\n */\nexport const createSegmentsBatch = <ThrowOnError extends boolean = false>(options: Options<CreateSegmentsBatchData, ThrowOnError>) => (options.client ?? client).post<CreateSegmentsBatchResponses, CreateSegmentsBatchErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments/batch',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete segment\n *\n * Soft-deletes a segment by setting its status to DELETED.\n *\n */\nexport const deleteSegment = <ThrowOnError extends boolean = false>(options: Options<DeleteSegmentData, ThrowOnError>) => (options.client ?? client).delete<DeleteSegmentResponses, DeleteSegmentErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments/{id}',\n ...options\n});\n\n/**\n * Get single segment\n *\n * Returns a specific segment by its ID within the media/episode hierarchy.\n *\n */\nexport const getSegment = <ThrowOnError extends boolean = false>(options: Options<GetSegmentData, ThrowOnError>) => (options.client ?? client).get<GetSegmentResponses, GetSegmentErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments/{id}',\n ...options\n});\n\n/**\n * Update segment\n *\n * Updates an existing segment. Only provided fields will be updated.\n *\n */\nexport const updateSegment = <ThrowOnError extends boolean = false>(options: Options<UpdateSegmentData, ThrowOnError>) => (options.client ?? client).patch<UpdateSegmentResponses, UpdateSegmentErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get current monthly API quota\n *\n * Returns the API quota usage for the current billing period.\n *\n */\nexport const getUserQuota = <ThrowOnError extends boolean = false>(options?: Options<GetUserQuotaData, ThrowOnError>) => (options?.client ?? client).get<GetUserQuotaResponses, GetUserQuotaErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/quota',\n ...options\n});\n\n/**\n * Create report\n *\n * Submits a report for a segment or media entry.\n *\n */\nexport const createUserReport = <ThrowOnError extends boolean = false>(options: Options<CreateUserReportData, ThrowOnError>) => (options.client ?? client).post<CreateUserReportResponses, CreateUserReportErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/reports',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get user preferences\n *\n * Returns the authenticated user's full preferences object.\n *\n */\nexport const getUserPreferences = <ThrowOnError extends boolean = false>(options?: Options<GetUserPreferencesData, ThrowOnError>) => (options?.client ?? client).get<GetUserPreferencesResponses, GetUserPreferencesErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/preferences',\n ...options\n});\n\n/**\n * Update user preferences\n *\n * Deep-merges a partial preferences update into the user's existing preferences.\n * Only the provided keys are updated; all other keys are preserved.\n *\n */\nexport const updateUserPreferences = <ThrowOnError extends boolean = false>(options: Options<UpdateUserPreferencesData, ThrowOnError>) => (options.client ?? client).patch<UpdateUserPreferencesResponses, UpdateUserPreferencesErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/preferences',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Clear user activity\n *\n * Deletes the authenticated user's activity history. Optionally filter by activity type.\n *\n */\nexport const deleteUserActivity = <ThrowOnError extends boolean = false>(options?: Options<DeleteUserActivityData, ThrowOnError>) => (options?.client ?? client).delete<DeleteUserActivityResponses, DeleteUserActivityErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity',\n ...options\n});\n\n/**\n * List user activity\n *\n * Returns the authenticated user's activity history with cursor-based pagination.\n *\n */\nexport const listUserActivity = <ThrowOnError extends boolean = false>(options?: Options<ListUserActivityData, ThrowOnError>) => (options?.client ?? client).get<ListUserActivityResponses, ListUserActivityErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity',\n ...options\n});\n\n/**\n * Track user activity\n *\n * Records a user activity event (e.g. segment play). Fire-and-forget — always returns 204.\n *\n */\nexport const trackUserActivity = <ThrowOnError extends boolean = false>(options: Options<TrackUserActivityData, ThrowOnError>) => (options.client ?? client).post<TrackUserActivityResponses, TrackUserActivityErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Get activity heatmap data\n *\n * Returns daily activity counts for the authenticated user, grouped by date and activity type.\n * Each day contains per-type counts that can be summed or filtered client-side.\n *\n */\nexport const getUserActivityHeatmap = <ThrowOnError extends boolean = false>(options?: Options<GetUserActivityHeatmapData, ThrowOnError>) => (options?.client ?? client).get<GetUserActivityHeatmapResponses, GetUserActivityHeatmapErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity/heatmap',\n ...options\n});\n\n/**\n * Get user activity statistics\n *\n * Returns aggregate statistics about the authenticated user's activity:\n * total searches, exports, plays, and top media.\n *\n */\nexport const getUserActivityStats = <ThrowOnError extends boolean = false>(options?: Options<GetUserActivityStatsData, ThrowOnError>) => (options?.client ?? client).get<GetUserActivityStatsResponses, GetUserActivityStatsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity/stats',\n ...options\n});\n\n/**\n * Delete all activity for a specific date\n *\n * Deletes all activity records for the authenticated user on the given date.\n *\n */\nexport const deleteUserActivityByDate = <ThrowOnError extends boolean = false>(options: Options<DeleteUserActivityByDateData, ThrowOnError>) => (options.client ?? client).delete<DeleteUserActivityByDateResponses, DeleteUserActivityByDateErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity/date/{date}',\n ...options\n});\n\n/**\n * Delete activity record\n *\n * Deletes a single activity record by ID for the authenticated user.\n *\n */\nexport const deleteUserActivityById = <ThrowOnError extends boolean = false>(options: Options<DeleteUserActivityByIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteUserActivityByIdResponses, DeleteUserActivityByIdErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/activity/{id}',\n ...options\n});\n\n/**\n * Export all user data\n *\n * Returns a full JSON export of all user-related data for GDPR data portability.\n * Includes profile, preferences, activity history, collections, and reports.\n *\n */\nexport const exportUserData = <ThrowOnError extends boolean = false>(options?: Options<ExportUserDataData, ThrowOnError>) => (options?.client ?? client).get<ExportUserDataResponses, ExportUserDataErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/export',\n ...options\n});\n\n/**\n * List lab features with user opt-in status\n *\n * Returns all available lab features merged with the authenticated user's\n * opt-in status. Features gated by role are excluded if the user lacks\n * the required role.\n *\n */\nexport const listUserLabs = <ThrowOnError extends boolean = false>(options?: Options<ListUserLabsData, ThrowOnError>) => (options?.client ?? client).get<ListUserLabsResponses, ListUserLabsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/labs',\n ...options\n});\n\n/**\n * Unenroll from a lab feature\n *\n * Opts the authenticated user out of a lab feature.\n *\n */\nexport const unenrollUserLab = <ThrowOnError extends boolean = false>(options: Options<UnenrollUserLabData, ThrowOnError>) => (options.client ?? client).delete<UnenrollUserLabResponses, UnenrollUserLabErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/labs/{key}',\n ...options\n});\n\n/**\n * Enroll in a lab feature\n *\n * Opts the authenticated user into a lab feature. The user must be eligible\n * for the lab (correct role, in allowlist or rollout percentage).\n *\n */\nexport const enrollUserLab = <ThrowOnError extends boolean = false>(options: Options<EnrollUserLabData, ThrowOnError>) => (options.client ?? client).post<EnrollUserLabResponses, EnrollUserLabErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/user/labs/{key}',\n ...options\n});\n\n/**\n * List user's collections\n *\n * Returns all collections for the authenticated user. Can filter by visibility.\n *\n */\nexport const listCollections = <ThrowOnError extends boolean = false>(options?: Options<ListCollectionsData, ThrowOnError>) => (options?.client ?? client).get<ListCollectionsResponses, ListCollectionsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections',\n ...options\n});\n\n/**\n * Create collection\n *\n * Creates a new segment collection for the authenticated user.\n *\n */\nexport const createCollection = <ThrowOnError extends boolean = false>(options: Options<CreateCollectionData, ThrowOnError>) => (options.client ?? client).post<CreateCollectionResponses, CreateCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete collection\n *\n * Deletes a collection and all its segment entries. Requires collection ownership.\n *\n */\nexport const deleteCollection = <ThrowOnError extends boolean = false>(options: Options<DeleteCollectionData, ThrowOnError>) => (options.client ?? client).delete<DeleteCollectionResponses, DeleteCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}',\n ...options\n});\n\n/**\n * Get collection details\n *\n * Returns a collection with paginated segments and their search result data.\n *\n */\nexport const getCollection = <ThrowOnError extends boolean = false>(options: Options<GetCollectionData, ThrowOnError>) => (options.client ?? client).get<GetCollectionResponses, GetCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}',\n ...options\n});\n\n/**\n * Update collection metadata\n *\n * Updates collection name or visibility. Requires collection ownership.\n *\n */\nexport const updateCollection = <ThrowOnError extends boolean = false>(options: Options<UpdateCollectionData, ThrowOnError>) => (options.client ?? client).patch<UpdateCollectionResponses, UpdateCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Add segment to collection\n *\n * Adds a segment to a collection. Requires collection ownership.\n *\n */\nexport const addSegmentToCollection = <ThrowOnError extends boolean = false>(options: Options<AddSegmentToCollectionData, ThrowOnError>) => (options.client ?? client).post<AddSegmentToCollectionResponses, AddSegmentToCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Remove segment from collection\n *\n * Removes a segment from a collection. Requires collection ownership.\n *\n */\nexport const removeSegmentFromCollection = <ThrowOnError extends boolean = false>(options: Options<RemoveSegmentFromCollectionData, ThrowOnError>) => (options.client ?? client).delete<RemoveSegmentFromCollectionResponses, RemoveSegmentFromCollectionErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}/segments/{segmentId}',\n ...options\n});\n\n/**\n * Update segment in collection\n *\n * Updates the note or position of a segment in a collection. Requires collection ownership.\n *\n */\nexport const updateCollectionSegment = <ThrowOnError extends boolean = false>(options: Options<UpdateCollectionSegmentData, ThrowOnError>) => (options.client ?? client).patch<UpdateCollectionSegmentResponses, UpdateCollectionSegmentErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}/segments/{segmentId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Search collection segments\n *\n * Returns collection segments in search-response format with pagination.\n * Reshapes the collection data: extracts segment results, includes media, computes pagination.\n *\n */\nexport const searchCollectionSegments = <ThrowOnError extends boolean = false>(options: Options<SearchCollectionSegmentsData, ThrowOnError>) => (options.client ?? client).get<SearchCollectionSegmentsResponses, SearchCollectionSegmentsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}/search',\n ...options\n});\n\n/**\n * Get collection statistics\n *\n * Returns per-media segment counts and per-category counts for all segments in a collection.\n * Pages through all collection segments internally to compute statistics.\n *\n */\nexport const getCollectionStats = <ThrowOnError extends boolean = false>(options: Options<GetCollectionStatsData, ThrowOnError>) => (options.client ?? client).get<GetCollectionStatsResponses, GetCollectionStatsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/collections/{id}/stats',\n ...options\n});\n\n/**\n * Get dashboard statistics\n *\n * Returns at-a-glance statistics for the admin dashboard including media counts,\n * user counts, and system health information.\n *\n */\nexport const getAdminDashboard = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardResponses, GetAdminDashboardErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard',\n ...options\n});\n\n/**\n * Get dashboard overview statistics\n *\n * Returns key metrics and daily activity for the admin dashboard overview tab.\n *\n */\nexport const getAdminDashboardOverview = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardOverviewData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardOverviewResponses, GetAdminDashboardOverviewErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/overview',\n ...options\n});\n\n/**\n * Get media breakdown statistics\n *\n * Returns media breakdowns by category, format, status, genre, studio,\n * segment content ratings, segment statuses, and top media by interaction.\n *\n */\nexport const getAdminDashboardMedia = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardMediaData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardMediaResponses, GetAdminDashboardMediaErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/media',\n ...options\n});\n\n/**\n * Get activity analytics\n *\n * Returns time-series activity data by type, top searches, export trends,\n * and most exported media.\n *\n */\nexport const getAdminDashboardActivity = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardActivityData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardActivityResponses, GetAdminDashboardActivityErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/activity',\n ...options\n});\n\n/**\n * Get collection statistics\n *\n * Returns collection statistics by type and visibility, average collection size,\n * and top collections by segment count.\n *\n */\nexport const getAdminDashboardCollections = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardCollectionsData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardCollectionsResponses, GetAdminDashboardCollectionsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/collections',\n ...options\n});\n\n/**\n * Get API key usage statistics\n *\n * Returns all API keys with their current quota usage for the current billing period.\n *\n */\nexport const getAdminDashboardApiKeys = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardApiKeysData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardApiKeysResponses, GetAdminDashboardApiKeysErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/api-keys',\n ...options\n});\n\n/**\n * Get real-time system health\n *\n * Returns real-time system health including Elasticsearch and database status,\n * queue statistics, and index size.\n *\n */\nexport const getAdminDashboardSystem = <ThrowOnError extends boolean = false>(options?: Options<GetAdminDashboardSystemData, ThrowOnError>) => (options?.client ?? client).get<GetAdminDashboardSystemResponses, GetAdminDashboardSystemErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/dashboard/system',\n ...options\n});\n\n/**\n * Check system health\n *\n * Returns connectivity status and version information for all backend subsystems\n * (Elasticsearch, PostgreSQL, application).\n *\n */\nexport const getAdminHealth = <ThrowOnError extends boolean = false>(options?: Options<GetAdminHealthData, ThrowOnError>) => (options?.client ?? client).get<GetAdminHealthResponses, GetAdminHealthErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/health',\n ...options\n});\n\n/**\n * Reindex segments into Elasticsearch\n *\n * Reindexes segments from the PostgreSQL database into Elasticsearch.\n * Allows filtering by specific media entries and episodes.\n *\n * **Behavior:**\n * - If no filters provided, reindexes all segments\n * - If `media` is provided, reindexes segments from those media entries\n * - If a media item includes `episodes`, only those episodes are reindexed for that media\n *\n */\nexport const triggerReindex = <ThrowOnError extends boolean = false>(options?: Options<TriggerReindexData, ThrowOnError>) => (options?.client ?? client).post<TriggerReindexResponses, TriggerReindexErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/reindex',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Get queue statistics\n *\n * Returns statistics for all ES sync queues including pending and failed job counts.\n *\n */\nexport const listAdminQueueStats = <ThrowOnError extends boolean = false>(options?: Options<ListAdminQueueStatsData, ThrowOnError>) => (options?.client ?? client).get<ListAdminQueueStatsResponses, ListAdminQueueStatsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/queues/stats',\n ...options\n});\n\n/**\n * Get detailed queue information\n *\n * Returns live queue stats and queue metadata from PgBoss for a specific queue.\n *\n * **Queue names:**\n * - `es-sync-create` - Jobs to create new segments in Elasticsearch\n * - `es-sync-update` - Jobs to update existing segments\n * - `es-sync-delete` - Jobs to delete segments\n *\n */\nexport const getAdminQueue = <ThrowOnError extends boolean = false>(options: Options<GetAdminQueueData, ThrowOnError>) => (options.client ?? client).get<GetAdminQueueResponses, GetAdminQueueErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/queues/{queueName}',\n ...options\n});\n\n/**\n * Get failed jobs from a queue\n *\n * Returns jobs that have exceeded their retry limit and permanently failed.\n *\n */\nexport const listAdminQueueFailed = <ThrowOnError extends boolean = false>(options: Options<ListAdminQueueFailedData, ThrowOnError>) => (options.client ?? client).get<ListAdminQueueFailedResponses, ListAdminQueueFailedErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/queues/{queueName}/failed',\n ...options\n});\n\n/**\n * Retry failed jobs from a queue\n *\n * Re-enqueues all failed jobs from a specific queue for another attempt.\n *\n */\nexport const retryAdminQueueFailed = <ThrowOnError extends boolean = false>(options: Options<RetryAdminQueueFailedData, ThrowOnError>) => (options.client ?? client).post<RetryAdminQueueFailedResponses, RetryAdminQueueFailedErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/queues/{queueName}/retry',\n ...options\n});\n\n/**\n * Purge failed jobs from a queue\n *\n * Permanently deletes all failed jobs from a queue.\n * This does **not** re-sync the affected segments -- use the reindex endpoint for that.\n *\n */\nexport const purgeAdminQueueFailed = <ThrowOnError extends boolean = false>(options: Options<PurgeAdminQueueFailedData, ThrowOnError>) => (options.client ?? client).delete<PurgeAdminQueueFailedResponses, PurgeAdminQueueFailedErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/queues/{queueName}/purge',\n ...options\n});\n\n/**\n * Clear admin impersonation\n *\n * Clears the current impersonation session and related cookies.\n * This endpoint is only available in local environment.\n *\n */\nexport const clearAdminImpersonation = <ThrowOnError extends boolean = false>(options?: Options<ClearAdminImpersonationData, ThrowOnError>) => (options?.client ?? client).delete<ClearAdminImpersonationResponses, ClearAdminImpersonationErrors, ThrowOnError>({ url: '/v1/admin/impersonation', ...options });\n\n/**\n * Start admin impersonation\n *\n * Creates an impersonation session for the target user.\n * This endpoint is only available in local environment.\n *\n */\nexport const impersonateAdminUser = <ThrowOnError extends boolean = false>(options: Options<ImpersonateAdminUserData, ThrowOnError>) => (options.client ?? client).post<ImpersonateAdminUserResponses, ImpersonateAdminUserErrors, ThrowOnError>({\n url: '/v1/admin/impersonation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all reports\n *\n * Returns all reports with filtering and cursor pagination.\n * Supports filtering by source (USER/AUTO) to separate user reports from auto-check findings.\n *\n */\nexport const listAdminReports = <ThrowOnError extends boolean = false>(options?: Options<ListAdminReportsData, ThrowOnError>) => (options?.client ?? client).get<ListAdminReportsResponses, ListAdminReportsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/reports',\n ...options\n});\n\n/**\n * Batch update reports\n *\n * Updates the status (and optionally admin notes) of multiple reports at once.\n *\n */\nexport const batchUpdateAdminReports = <ThrowOnError extends boolean = false>(options: Options<BatchUpdateAdminReportsData, ThrowOnError>) => (options.client ?? client).patch<BatchUpdateAdminReportsResponses, BatchUpdateAdminReportsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/reports/batch',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Update report\n *\n * Updates the status and/or admin notes of a report.\n * Works for both USER and AUTO reports.\n *\n */\nexport const updateAdminReport = <ThrowOnError extends boolean = false>(options: Options<UpdateAdminReportData, ThrowOnError>) => (options.client ?? client).patch<UpdateAdminReportResponses, UpdateAdminReportErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/reports/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List all media audits\n *\n * Returns all audit definitions with current config, threshold schema, and latest run info.\n *\n */\nexport const listAdminMediaAudits = <ThrowOnError extends boolean = false>(options?: Options<ListAdminMediaAuditsData, ThrowOnError>) => (options?.client ?? client).get<ListAdminMediaAuditsResponses, ListAdminMediaAuditsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/media/audits',\n ...options\n});\n\n/**\n * Update media audit config\n *\n * Updates the threshold values or enabled status of an audit.\n *\n */\nexport const updateAdminMediaAudit = <ThrowOnError extends boolean = false>(options: Options<UpdateAdminMediaAuditData, ThrowOnError>) => (options.client ?? client).patch<UpdateAdminMediaAuditResponses, UpdateAdminMediaAuditErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/media/audits/{name}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Run media audit\n *\n * Triggers all enabled audits (or a specific one). Creates MediaAuditRun records and AUTO reports for any findings.\n *\n */\nexport const runAdminMediaAudit = <ThrowOnError extends boolean = false>(options: Options<RunAdminMediaAuditData, ThrowOnError>) => (options.client ?? client).post<RunAdminMediaAuditResponses, RunAdminMediaAuditErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/media/audits/{name}/run',\n ...options\n});\n\n/**\n * List past audit runs\n *\n * Returns past media audit runs with summary stats. Supports filtering by audit name and cursor pagination.\n *\n */\nexport const listAdminMediaAuditRuns = <ThrowOnError extends boolean = false>(options?: Options<ListAdminMediaAuditRunsData, ThrowOnError>) => (options?.client ?? client).get<ListAdminMediaAuditRunsResponses, ListAdminMediaAuditRunsErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/media/audits/runs',\n ...options\n});\n\n/**\n * Get audit run details\n *\n * Returns a specific media audit run record with its linked reports.\n *\n */\nexport const getAdminMediaAuditRun = <ThrowOnError extends boolean = false>(options: Options<GetAdminMediaAuditRunData, ThrowOnError>) => (options.client ?? client).get<GetAdminMediaAuditRunResponses, GetAdminMediaAuditRunErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/media/audits/runs/{id}',\n ...options\n});\n\n/**\n * Get current announcement\n *\n * Returns the current announcement if one is active. Public endpoint (no auth required).\n *\n */\nexport const getAnnouncement = <ThrowOnError extends boolean = false>(options?: Options<GetAnnouncementData, ThrowOnError>) => (options?.client ?? client).get<GetAnnouncementResponses, GetAnnouncementErrors, ThrowOnError>({ url: '/v1/admin/announcement', ...options });\n\n/**\n * Create or update announcement\n *\n * Upserts the site-wide announcement. Only one announcement exists at a time.\n *\n */\nexport const updateAnnouncement = <ThrowOnError extends boolean = false>(options: Options<UpdateAnnouncementData, ThrowOnError>) => (options.client ?? client).put<UpdateAnnouncementResponses, UpdateAnnouncementErrors, ThrowOnError>({\n security: [{\n in: 'cookie',\n name: 'nadeshiko.session_token',\n type: 'apiKey'\n }],\n url: '/v1/admin/announcement',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n",
|
|
15
15
|
"export interface RetryOptions {\n /** Number of retry attempts after the initial request. Default: 2 */\n maxRetries?: number;\n /** Initial delay in ms before first retry. Doubles with each attempt. Default: 500 */\n initialDelayMs?: number;\n /** Maximum delay cap in ms. Default: 30_000 */\n maxDelayMs?: number;\n /**\n * Request timeout in ms. Each attempt gets its own timeout.\n * Default: none (no timeout).\n */\n timeout?: number;\n}\n\nconst RETRYABLE_STATUS = new Set([408, 429, 500, 502, 503, 504]);\n\ntype FetchLike = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;\n\nfunction parseRetryAfter(value: string): number {\n const seconds = Number(value);\n if (!Number.isNaN(seconds)) return seconds * 1000;\n const date = new Date(value);\n if (!Number.isNaN(date.getTime())) return Math.max(0, date.getTime() - Date.now());\n return 1000;\n}\n\nfunction backoffDelay(attempt: number, initial: number, max: number): number {\n const jitter = Math.random() * 100;\n return Math.min(initial * 2 ** attempt + jitter, max);\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nexport function withRetry(\n fetchImpl: FetchLike = globalThis.fetch,\n options: RetryOptions = {},\n): FetchLike {\n const { maxRetries = 2, initialDelayMs = 500, maxDelayMs = 30_000, timeout } = options;\n\n return async function retryingFetch(\n input: RequestInfo | URL,\n init?: RequestInit,\n ): Promise<Response> {\n let attempt = 0;\n\n while (true) {\n let timedInit = init;\n\n if (timeout !== undefined && !init?.signal) {\n const controller = new AbortController();\n const timeoutId = setTimeout(\n () => controller.abort(new Error(`Request timed out after ${timeout}ms`)),\n timeout,\n );\n timedInit = { ...init, signal: controller.signal };\n\n let response: Response;\n try {\n response = await fetchImpl(input, timedInit);\n clearTimeout(timeoutId);\n } catch (networkError) {\n clearTimeout(timeoutId);\n if (attempt >= maxRetries) throw networkError;\n await sleep(backoffDelay(attempt, initialDelayMs, maxDelayMs));\n attempt++;\n continue;\n }\n\n if (!RETRYABLE_STATUS.has(response.status) || attempt >= maxRetries) {\n return response;\n }\n\n const retryAfter = response.headers.get('Retry-After');\n const waitMs = retryAfter\n ? parseRetryAfter(retryAfter)\n : backoffDelay(attempt, initialDelayMs, maxDelayMs);\n\n await sleep(waitMs);\n attempt++;\n continue;\n }\n\n let response: Response;\n try {\n response = await fetchImpl(input, timedInit);\n } catch (networkError) {\n if (attempt >= maxRetries) throw networkError;\n await sleep(backoffDelay(attempt, initialDelayMs, maxDelayMs));\n attempt++;\n continue;\n }\n\n if (!RETRYABLE_STATUS.has(response.status) || attempt >= maxRetries) {\n return response;\n }\n\n const retryAfter = response.headers.get('Retry-After');\n const waitMs = retryAfter\n ? parseRetryAfter(retryAfter)\n : backoffDelay(attempt, initialDelayMs, maxDelayMs);\n\n await sleep(waitMs);\n attempt++;\n }\n };\n}\n",
|
|
16
16
|
"// This file is auto-generated by scripts/generate.ts\nimport type { Error400, Error401, Error403, Error429, Error500, Error409, Error404 } from './types.gen';\n\n/** Union of all known API error codes. */\nexport type NadeshikoErrorCode = Error400['code'] | Error401['code'] | Error403['code'] | Error429['code'] | Error500['code'] | Error409['code'] | Error404['code'];\n\nexport interface NadeshikoProblemDetails {\n code: NadeshikoErrorCode;\n title: string;\n detail: string;\n type?: string;\n /** Trace ID for this specific error occurrence — include when reporting issues */\n instance?: string;\n status: number;\n /** Per-field validation messages, present when `code` is `'VALIDATION_FAILED'` */\n errors?: Record<string, string>;\n}\n\n/**\n * Thrown by the SDK when the API returns a non-2xx response.\n *\n * All fields from the RFC 7807 Problem Details response body are\n * available directly on the error instance.\n *\n * @example\n * ```ts\n * import { NadeshikoError } from '@brigadasos/nadeshiko-sdk';\n *\n * try {\n * const { data } = await client.search({ body: { query: { search: '猫' } } });\n * } catch (err) {\n * if (err instanceof NadeshikoError) {\n * console.error(err.code); // 'RATE_LIMIT_EXCEEDED'\n * console.error(err.status); // 429\n * console.error(err.traceId); // trace ID for support\n * }\n * }\n * ```\n */\nexport class NadeshikoError extends Error {\n readonly code: NadeshikoErrorCode;\n readonly title: string;\n readonly detail: string;\n readonly type?: string;\n readonly status: number;\n /** Trace ID from `instance` field — include when reporting issues */\n readonly traceId?: string;\n /** Per-field validation messages, present when `code === 'VALIDATION_FAILED'` */\n readonly errors?: Record<string, string>;\n\n constructor(body: NadeshikoProblemDetails) {\n super(body.detail || body.title || `API error ${body.status}`);\n this.name = 'NadeshikoError';\n this.code = body.code;\n this.title = body.title;\n this.detail = body.detail;\n this.type = body.type;\n this.status = body.status;\n this.traceId = body.instance;\n this.errors = body.errors;\n }\n}\n",
|
|
17
|
-
"// This file is auto-generated by scripts/generate.ts\n\nimport { createClient as createApiClient, createConfig, type Client } from './client';\nimport type { Auth } from './core/auth.gen';\nimport type { ClientOptions } from './types.gen';\nimport type * as Types from './types.gen';\nimport { search, getSearchStats, searchWords, listMedia, getSegmentByUuid, getSegmentContext, listSeries, getSeries, getMedia, listEpisodes, getEpisode, getSegment, createMedia, autocompleteMedia, updateSegmentByUuid, listSegmentRevisions, createSeries, updateSeries, deleteSeries, addMediaToSeries, updateSeriesMedia, removeMediaFromSeries, getCharacter, getSeiyuu, updateMedia, deleteMedia, createEpisode, updateEpisode, deleteEpisode, listSegments, createSegment, createSegmentsBatch, updateSegment, deleteSegment, getUserQuota, createUserReport, getUserPreferences, updateUserPreferences, listUserActivity, trackUserActivity, deleteUserActivity, getUserActivityHeatmap, getUserActivityStats, deleteUserActivityByDate, deleteUserActivityById, exportUserData, listUserLabs, enrollUserLab, unenrollUserLab, listCollections, createCollection, getCollection, updateCollection, deleteCollection, addSegmentToCollection, updateCollectionSegment, removeSegmentFromCollection, searchCollectionSegments, getCollectionStats, getAdminDashboard, getAdminDashboardOverview, getAdminDashboardMedia, getAdminDashboardActivity, getAdminDashboardCollections, getAdminDashboardApiKeys, getAdminDashboardSystem, getAdminHealth, triggerReindex, listAdminQueueStats, getAdminQueue, listAdminQueueFailed, retryAdminQueueFailed, purgeAdminQueueFailed, impersonateAdminUser, clearAdminImpersonation, listAdminReports, batchUpdateAdminReports, updateAdminReport, listAdminMediaAudits, updateAdminMediaAudit, runAdminMediaAudit, listAdminMediaAuditRuns, getAdminMediaAuditRun, getAnnouncement, updateAnnouncement, type Options } from './sdk.gen';\nimport { withRetry, type RetryOptions } from './retry';\nimport { NadeshikoError, type NadeshikoProblemDetails } from './errors';\n\ntype ApiKeyProvider = string | (() => string | undefined | Promise<string | undefined>);\n\nexport interface NadeshikoConfig {\n /**\n * API key for Bearer token authentication.\n * Used for API key protected endpoints.\n */\n apiKey?: ApiKeyProvider;\n /**\n * A function that returns the session token for cookie-based authentication.\n * Used for session-protected endpoints (e.g. /v1/user/* and /v1/collections/*).\n * Defaults to reading the `nadeshiko.session_token` cookie from `document.cookie`.\n */\n sessionToken?: () => string | undefined | Promise<string | undefined>;\n /** Base URL of the Nadeshiko API. Accepts `'LOCAL'`, `'DEVELOPMENT'`, `'PRODUCTION'`, or a custom URL string. */\n baseURL?: 'LOCAL' | 'DEVELOPMENT' | 'PRODUCTION' | string;\n /** @deprecated Use `baseURL` instead */\n baseUrl?: 'LOCAL' | 'DEVELOPMENT' | 'PRODUCTION' | string;\n /** Retry configuration for failed requests. Retries on network errors and 408/429/5xx responses. */\n retryOptions?: RetryOptions;\n}\n\nconst environments = {\n LOCAL: 'http://localhost:5000/api',\n DEVELOPMENT: 'https://api-dev.nadeshiko.co',\n PRODUCTION: 'https://api.nadeshiko.co',\n PROXY: '',\n} as const;\n\nexport type NadeshikoClient = {\n client: Client;\n search: {\n (options: Options<Types.SearchData, boolean> & { throwOnError: false }): Promise<{ data: Types.SearchResponse; response: Response; request: Request } | { error: Types.SearchErrors; response: Response; request: Request }>;\n (options?: Options<Types.SearchData, boolean>): Promise<{ data: Types.SearchResponse; response: Response; request: Request }>;\n };\n getSearchStats: {\n (options: Options<Types.GetSearchStatsData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSearchStatsResponse; response: Response; request: Request } | { error: Types.GetSearchStatsErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSearchStatsData, boolean>): Promise<{ data: Types.GetSearchStatsResponse; response: Response; request: Request }>;\n };\n searchWords: {\n (options: Options<Types.SearchWordsData, boolean> & { throwOnError: false }): Promise<{ data: Types.SearchWordsResponse; response: Response; request: Request } | { error: Types.SearchWordsErrors; response: Response; request: Request }>;\n (options?: Options<Types.SearchWordsData, boolean>): Promise<{ data: Types.SearchWordsResponse; response: Response; request: Request }>;\n };\n listMedia: {\n (options: Options<Types.ListMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListMediaResponse; response: Response; request: Request } | { error: Types.ListMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListMediaData, boolean>): Promise<{ data: Types.ListMediaResponse; response: Response; request: Request }>;\n };\n getSegmentByUuid: {\n (options: Options<Types.GetSegmentByUuidData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentByUuidResponse; response: Response; request: Request } | { error: Types.GetSegmentByUuidErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentByUuidData, boolean>): Promise<{ data: Types.GetSegmentByUuidResponse; response: Response; request: Request }>;\n };\n getSegmentContext: {\n (options: Options<Types.GetSegmentContextData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentContextResponse; response: Response; request: Request } | { error: Types.GetSegmentContextErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentContextData, boolean>): Promise<{ data: Types.GetSegmentContextResponse; response: Response; request: Request }>;\n };\n listSeries: {\n (options: Options<Types.ListSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListSeriesResponse; response: Response; request: Request } | { error: Types.ListSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListSeriesData, boolean>): Promise<{ data: Types.ListSeriesResponse; response: Response; request: Request }>;\n };\n getSeries: {\n (options: Options<Types.GetSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSeriesResponse; response: Response; request: Request } | { error: Types.GetSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSeriesData, boolean>): Promise<{ data: Types.GetSeriesResponse; response: Response; request: Request }>;\n };\n getMedia: {\n (options: Options<Types.GetMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetMediaResponse; response: Response; request: Request } | { error: Types.GetMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetMediaData, boolean>): Promise<{ data: Types.GetMediaResponse; response: Response; request: Request }>;\n };\n listEpisodes: {\n (options: Options<Types.ListEpisodesData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListEpisodesResponse; response: Response; request: Request } | { error: Types.ListEpisodesErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListEpisodesData, boolean>): Promise<{ data: Types.ListEpisodesResponse; response: Response; request: Request }>;\n };\n getEpisode: {\n (options: Options<Types.GetEpisodeData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetEpisodeResponse; response: Response; request: Request } | { error: Types.GetEpisodeErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetEpisodeData, boolean>): Promise<{ data: Types.GetEpisodeResponse; response: Response; request: Request }>;\n };\n getSegment: {\n (options: Options<Types.GetSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentResponse; response: Response; request: Request } | { error: Types.GetSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentData, boolean>): Promise<{ data: Types.GetSegmentResponse; response: Response; request: Request }>;\n };\n createMedia: {\n (options: Options<Types.CreateMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateMediaResponse; response: Response; request: Request } | { error: Types.CreateMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateMediaData, boolean>): Promise<{ data: Types.CreateMediaResponse; response: Response; request: Request }>;\n };\n autocompleteMedia: {\n (options: Options<Types.AutocompleteMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.AutocompleteMediaResponse; response: Response; request: Request } | { error: Types.AutocompleteMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.AutocompleteMediaData, boolean>): Promise<{ data: Types.AutocompleteMediaResponse; response: Response; request: Request }>;\n };\n updateSegmentByUuid: {\n (options: Options<Types.UpdateSegmentByUuidData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateSegmentByUuidResponse; response: Response; request: Request } | { error: Types.UpdateSegmentByUuidErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateSegmentByUuidData, boolean>): Promise<{ data: Types.UpdateSegmentByUuidResponse; response: Response; request: Request }>;\n };\n listSegmentRevisions: {\n (options: Options<Types.ListSegmentRevisionsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListSegmentRevisionsResponse; response: Response; request: Request } | { error: Types.ListSegmentRevisionsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListSegmentRevisionsData, boolean>): Promise<{ data: Types.ListSegmentRevisionsResponse; response: Response; request: Request }>;\n };\n createSeries: {\n (options: Options<Types.CreateSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateSeriesResponse; response: Response; request: Request } | { error: Types.CreateSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateSeriesData, boolean>): Promise<{ data: Types.CreateSeriesResponse; response: Response; request: Request }>;\n };\n updateSeries: {\n (options: Options<Types.UpdateSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateSeriesResponse; response: Response; request: Request } | { error: Types.UpdateSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateSeriesData, boolean>): Promise<{ data: Types.UpdateSeriesResponse; response: Response; request: Request }>;\n };\n deleteSeries: {\n (options: Options<Types.DeleteSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteSeriesResponse; response: Response; request: Request } | { error: Types.DeleteSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteSeriesData, boolean>): Promise<{ data: Types.DeleteSeriesResponse; response: Response; request: Request }>;\n };\n addMediaToSeries: {\n (options: Options<Types.AddMediaToSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.AddMediaToSeriesResponse; response: Response; request: Request } | { error: Types.AddMediaToSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.AddMediaToSeriesData, boolean>): Promise<{ data: Types.AddMediaToSeriesResponse; response: Response; request: Request }>;\n };\n updateSeriesMedia: {\n (options: Options<Types.UpdateSeriesMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateSeriesMediaResponse; response: Response; request: Request } | { error: Types.UpdateSeriesMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateSeriesMediaData, boolean>): Promise<{ data: Types.UpdateSeriesMediaResponse; response: Response; request: Request }>;\n };\n removeMediaFromSeries: {\n (options: Options<Types.RemoveMediaFromSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.RemoveMediaFromSeriesResponse; response: Response; request: Request } | { error: Types.RemoveMediaFromSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.RemoveMediaFromSeriesData, boolean>): Promise<{ data: Types.RemoveMediaFromSeriesResponse; response: Response; request: Request }>;\n };\n getCharacter: {\n (options: Options<Types.GetCharacterData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetCharacterResponse; response: Response; request: Request } | { error: Types.GetCharacterErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetCharacterData, boolean>): Promise<{ data: Types.GetCharacterResponse; response: Response; request: Request }>;\n };\n getSeiyuu: {\n (options: Options<Types.GetSeiyuuData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSeiyuuResponse; response: Response; request: Request } | { error: Types.GetSeiyuuErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSeiyuuData, boolean>): Promise<{ data: Types.GetSeiyuuResponse; response: Response; request: Request }>;\n };\n updateMedia: {\n (options: Options<Types.UpdateMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateMediaResponse; response: Response; request: Request } | { error: Types.UpdateMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateMediaData, boolean>): Promise<{ data: Types.UpdateMediaResponse; response: Response; request: Request }>;\n };\n deleteMedia: {\n (options: Options<Types.DeleteMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteMediaResponse; response: Response; request: Request } | { error: Types.DeleteMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteMediaData, boolean>): Promise<{ data: Types.DeleteMediaResponse; response: Response; request: Request }>;\n };\n createEpisode: {\n (options: Options<Types.CreateEpisodeData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateEpisodeResponse; response: Response; request: Request } | { error: Types.CreateEpisodeErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateEpisodeData, boolean>): Promise<{ data: Types.CreateEpisodeResponse; response: Response; request: Request }>;\n };\n updateEpisode: {\n (options: Options<Types.UpdateEpisodeData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateEpisodeResponse; response: Response; request: Request } | { error: Types.UpdateEpisodeErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateEpisodeData, boolean>): Promise<{ data: Types.UpdateEpisodeResponse; response: Response; request: Request }>;\n };\n deleteEpisode: {\n (options: Options<Types.DeleteEpisodeData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteEpisodeResponse; response: Response; request: Request } | { error: Types.DeleteEpisodeErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteEpisodeData, boolean>): Promise<{ data: Types.DeleteEpisodeResponse; response: Response; request: Request }>;\n };\n listSegments: {\n (options: Options<Types.ListSegmentsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListSegmentsResponse; response: Response; request: Request } | { error: Types.ListSegmentsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListSegmentsData, boolean>): Promise<{ data: Types.ListSegmentsResponse; response: Response; request: Request }>;\n };\n createSegment: {\n (options: Options<Types.CreateSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateSegmentResponse; response: Response; request: Request } | { error: Types.CreateSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateSegmentData, boolean>): Promise<{ data: Types.CreateSegmentResponse; response: Response; request: Request }>;\n };\n createSegmentsBatch: {\n (options: Options<Types.CreateSegmentsBatchData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateSegmentsBatchResponse; response: Response; request: Request } | { error: Types.CreateSegmentsBatchErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateSegmentsBatchData, boolean>): Promise<{ data: Types.CreateSegmentsBatchResponse; response: Response; request: Request }>;\n };\n updateSegment: {\n (options: Options<Types.UpdateSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateSegmentResponse; response: Response; request: Request } | { error: Types.UpdateSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateSegmentData, boolean>): Promise<{ data: Types.UpdateSegmentResponse; response: Response; request: Request }>;\n };\n deleteSegment: {\n (options: Options<Types.DeleteSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteSegmentResponse; response: Response; request: Request } | { error: Types.DeleteSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteSegmentData, boolean>): Promise<{ data: Types.DeleteSegmentResponse; response: Response; request: Request }>;\n };\n getUserQuota: {\n (options: Options<Types.GetUserQuotaData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetUserQuotaResponse; response: Response; request: Request } | { error: Types.GetUserQuotaErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetUserQuotaData, boolean>): Promise<{ data: Types.GetUserQuotaResponse; response: Response; request: Request }>;\n };\n createUserReport: {\n (options: Options<Types.CreateUserReportData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateUserReportResponse; response: Response; request: Request } | { error: Types.CreateUserReportErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateUserReportData, boolean>): Promise<{ data: Types.CreateUserReportResponse; response: Response; request: Request }>;\n };\n getUserPreferences: {\n (options: Options<Types.GetUserPreferencesData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetUserPreferencesResponse; response: Response; request: Request } | { error: Types.GetUserPreferencesErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetUserPreferencesData, boolean>): Promise<{ data: Types.GetUserPreferencesResponse; response: Response; request: Request }>;\n };\n updateUserPreferences: {\n (options: Options<Types.UpdateUserPreferencesData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateUserPreferencesResponse; response: Response; request: Request } | { error: Types.UpdateUserPreferencesErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateUserPreferencesData, boolean>): Promise<{ data: Types.UpdateUserPreferencesResponse; response: Response; request: Request }>;\n };\n listUserActivity: {\n (options: Options<Types.ListUserActivityData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListUserActivityResponse; response: Response; request: Request } | { error: Types.ListUserActivityErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListUserActivityData, boolean>): Promise<{ data: Types.ListUserActivityResponse; response: Response; request: Request }>;\n };\n trackUserActivity: {\n (options: Options<Types.TrackUserActivityData, boolean> & { throwOnError: false }): Promise<{ data: Types.TrackUserActivityResponse; response: Response; request: Request } | { error: Types.TrackUserActivityErrors; response: Response; request: Request }>;\n (options?: Options<Types.TrackUserActivityData, boolean>): Promise<{ data: Types.TrackUserActivityResponse; response: Response; request: Request }>;\n };\n deleteUserActivity: {\n (options: Options<Types.DeleteUserActivityData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteUserActivityResponse; response: Response; request: Request } | { error: Types.DeleteUserActivityErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteUserActivityData, boolean>): Promise<{ data: Types.DeleteUserActivityResponse; response: Response; request: Request }>;\n };\n getUserActivityHeatmap: {\n (options: Options<Types.GetUserActivityHeatmapData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetUserActivityHeatmapResponse; response: Response; request: Request } | { error: Types.GetUserActivityHeatmapErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetUserActivityHeatmapData, boolean>): Promise<{ data: Types.GetUserActivityHeatmapResponse; response: Response; request: Request }>;\n };\n getUserActivityStats: {\n (options: Options<Types.GetUserActivityStatsData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetUserActivityStatsResponse; response: Response; request: Request } | { error: Types.GetUserActivityStatsErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetUserActivityStatsData, boolean>): Promise<{ data: Types.GetUserActivityStatsResponse; response: Response; request: Request }>;\n };\n deleteUserActivityByDate: {\n (options: Options<Types.DeleteUserActivityByDateData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteUserActivityByDateResponse; response: Response; request: Request } | { error: Types.DeleteUserActivityByDateErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteUserActivityByDateData, boolean>): Promise<{ data: Types.DeleteUserActivityByDateResponse; response: Response; request: Request }>;\n };\n deleteUserActivityById: {\n (options: Options<Types.DeleteUserActivityByIdData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteUserActivityByIdResponse; response: Response; request: Request } | { error: Types.DeleteUserActivityByIdErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteUserActivityByIdData, boolean>): Promise<{ data: Types.DeleteUserActivityByIdResponse; response: Response; request: Request }>;\n };\n exportUserData: {\n (options: Options<Types.ExportUserDataData, boolean> & { throwOnError: false }): Promise<{ data: Types.ExportUserDataResponse; response: Response; request: Request } | { error: Types.ExportUserDataErrors; response: Response; request: Request }>;\n (options?: Options<Types.ExportUserDataData, boolean>): Promise<{ data: Types.ExportUserDataResponse; response: Response; request: Request }>;\n };\n listUserLabs: {\n (options: Options<Types.ListUserLabsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListUserLabsResponse; response: Response; request: Request } | { error: Types.ListUserLabsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListUserLabsData, boolean>): Promise<{ data: Types.ListUserLabsResponse; response: Response; request: Request }>;\n };\n enrollUserLab: {\n (options: Options<Types.EnrollUserLabData, boolean> & { throwOnError: false }): Promise<{ data: Types.EnrollUserLabResponse; response: Response; request: Request } | { error: Types.EnrollUserLabErrors; response: Response; request: Request }>;\n (options?: Options<Types.EnrollUserLabData, boolean>): Promise<{ data: Types.EnrollUserLabResponse; response: Response; request: Request }>;\n };\n unenrollUserLab: {\n (options: Options<Types.UnenrollUserLabData, boolean> & { throwOnError: false }): Promise<{ data: Types.UnenrollUserLabResponse; response: Response; request: Request } | { error: Types.UnenrollUserLabErrors; response: Response; request: Request }>;\n (options?: Options<Types.UnenrollUserLabData, boolean>): Promise<{ data: Types.UnenrollUserLabResponse; response: Response; request: Request }>;\n };\n listCollections: {\n (options: Options<Types.ListCollectionsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListCollectionsResponse; response: Response; request: Request } | { error: Types.ListCollectionsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListCollectionsData, boolean>): Promise<{ data: Types.ListCollectionsResponse; response: Response; request: Request }>;\n };\n createCollection: {\n (options: Options<Types.CreateCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.CreateCollectionResponse; response: Response; request: Request } | { error: Types.CreateCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.CreateCollectionData, boolean>): Promise<{ data: Types.CreateCollectionResponse; response: Response; request: Request }>;\n };\n getCollection: {\n (options: Options<Types.GetCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetCollectionResponse; response: Response; request: Request } | { error: Types.GetCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetCollectionData, boolean>): Promise<{ data: Types.GetCollectionResponse; response: Response; request: Request }>;\n };\n updateCollection: {\n (options: Options<Types.UpdateCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateCollectionResponse; response: Response; request: Request } | { error: Types.UpdateCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateCollectionData, boolean>): Promise<{ data: Types.UpdateCollectionResponse; response: Response; request: Request }>;\n };\n deleteCollection: {\n (options: Options<Types.DeleteCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.DeleteCollectionResponse; response: Response; request: Request } | { error: Types.DeleteCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.DeleteCollectionData, boolean>): Promise<{ data: Types.DeleteCollectionResponse; response: Response; request: Request }>;\n };\n addSegmentToCollection: {\n (options: Options<Types.AddSegmentToCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.AddSegmentToCollectionResponse; response: Response; request: Request } | { error: Types.AddSegmentToCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.AddSegmentToCollectionData, boolean>): Promise<{ data: Types.AddSegmentToCollectionResponse; response: Response; request: Request }>;\n };\n updateCollectionSegment: {\n (options: Options<Types.UpdateCollectionSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateCollectionSegmentResponse; response: Response; request: Request } | { error: Types.UpdateCollectionSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateCollectionSegmentData, boolean>): Promise<{ data: Types.UpdateCollectionSegmentResponse; response: Response; request: Request }>;\n };\n removeSegmentFromCollection: {\n (options: Options<Types.RemoveSegmentFromCollectionData, boolean> & { throwOnError: false }): Promise<{ data: Types.RemoveSegmentFromCollectionResponse; response: Response; request: Request } | { error: Types.RemoveSegmentFromCollectionErrors; response: Response; request: Request }>;\n (options?: Options<Types.RemoveSegmentFromCollectionData, boolean>): Promise<{ data: Types.RemoveSegmentFromCollectionResponse; response: Response; request: Request }>;\n };\n searchCollectionSegments: {\n (options: Options<Types.SearchCollectionSegmentsData, boolean> & { throwOnError: false }): Promise<{ data: Types.SearchCollectionSegmentsResponse; response: Response; request: Request } | { error: Types.SearchCollectionSegmentsErrors; response: Response; request: Request }>;\n (options?: Options<Types.SearchCollectionSegmentsData, boolean>): Promise<{ data: Types.SearchCollectionSegmentsResponse; response: Response; request: Request }>;\n };\n getCollectionStats: {\n (options: Options<Types.GetCollectionStatsData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetCollectionStatsResponse; response: Response; request: Request } | { error: Types.GetCollectionStatsErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetCollectionStatsData, boolean>): Promise<{ data: Types.GetCollectionStatsResponse; response: Response; request: Request }>;\n };\n getAdminDashboard: {\n (options: Options<Types.GetAdminDashboardData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardData, boolean>): Promise<{ data: Types.GetAdminDashboardResponse; response: Response; request: Request }>;\n };\n getAdminDashboardOverview: {\n (options: Options<Types.GetAdminDashboardOverviewData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardOverviewResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardOverviewErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardOverviewData, boolean>): Promise<{ data: Types.GetAdminDashboardOverviewResponse; response: Response; request: Request }>;\n };\n getAdminDashboardMedia: {\n (options: Options<Types.GetAdminDashboardMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardMediaResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardMediaData, boolean>): Promise<{ data: Types.GetAdminDashboardMediaResponse; response: Response; request: Request }>;\n };\n getAdminDashboardActivity: {\n (options: Options<Types.GetAdminDashboardActivityData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardActivityResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardActivityErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardActivityData, boolean>): Promise<{ data: Types.GetAdminDashboardActivityResponse; response: Response; request: Request }>;\n };\n getAdminDashboardCollections: {\n (options: Options<Types.GetAdminDashboardCollectionsData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardCollectionsResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardCollectionsErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardCollectionsData, boolean>): Promise<{ data: Types.GetAdminDashboardCollectionsResponse; response: Response; request: Request }>;\n };\n getAdminDashboardApiKeys: {\n (options: Options<Types.GetAdminDashboardApiKeysData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardApiKeysResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardApiKeysErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardApiKeysData, boolean>): Promise<{ data: Types.GetAdminDashboardApiKeysResponse; response: Response; request: Request }>;\n };\n getAdminDashboardSystem: {\n (options: Options<Types.GetAdminDashboardSystemData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminDashboardSystemResponse; response: Response; request: Request } | { error: Types.GetAdminDashboardSystemErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminDashboardSystemData, boolean>): Promise<{ data: Types.GetAdminDashboardSystemResponse; response: Response; request: Request }>;\n };\n getAdminHealth: {\n (options: Options<Types.GetAdminHealthData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminHealthResponse; response: Response; request: Request } | { error: Types.GetAdminHealthErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminHealthData, boolean>): Promise<{ data: Types.GetAdminHealthResponse; response: Response; request: Request }>;\n };\n triggerReindex: {\n (options: Options<Types.TriggerReindexData, boolean> & { throwOnError: false }): Promise<{ data: Types.TriggerReindexResponse; response: Response; request: Request } | { error: Types.TriggerReindexErrors; response: Response; request: Request }>;\n (options?: Options<Types.TriggerReindexData, boolean>): Promise<{ data: Types.TriggerReindexResponse; response: Response; request: Request }>;\n };\n listAdminQueueStats: {\n (options: Options<Types.ListAdminQueueStatsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListAdminQueueStatsResponse; response: Response; request: Request } | { error: Types.ListAdminQueueStatsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListAdminQueueStatsData, boolean>): Promise<{ data: Types.ListAdminQueueStatsResponse; response: Response; request: Request }>;\n };\n getAdminQueue: {\n (options: Options<Types.GetAdminQueueData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminQueueResponse; response: Response; request: Request } | { error: Types.GetAdminQueueErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminQueueData, boolean>): Promise<{ data: Types.GetAdminQueueResponse; response: Response; request: Request }>;\n };\n listAdminQueueFailed: {\n (options: Options<Types.ListAdminQueueFailedData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListAdminQueueFailedResponse; response: Response; request: Request } | { error: Types.ListAdminQueueFailedErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListAdminQueueFailedData, boolean>): Promise<{ data: Types.ListAdminQueueFailedResponse; response: Response; request: Request }>;\n };\n retryAdminQueueFailed: {\n (options: Options<Types.RetryAdminQueueFailedData, boolean> & { throwOnError: false }): Promise<{ data: Types.RetryAdminQueueFailedResponse; response: Response; request: Request } | { error: Types.RetryAdminQueueFailedErrors; response: Response; request: Request }>;\n (options?: Options<Types.RetryAdminQueueFailedData, boolean>): Promise<{ data: Types.RetryAdminQueueFailedResponse; response: Response; request: Request }>;\n };\n purgeAdminQueueFailed: {\n (options: Options<Types.PurgeAdminQueueFailedData, boolean> & { throwOnError: false }): Promise<{ data: Types.PurgeAdminQueueFailedResponse; response: Response; request: Request } | { error: Types.PurgeAdminQueueFailedErrors; response: Response; request: Request }>;\n (options?: Options<Types.PurgeAdminQueueFailedData, boolean>): Promise<{ data: Types.PurgeAdminQueueFailedResponse; response: Response; request: Request }>;\n };\n impersonateAdminUser: {\n (options: Options<Types.ImpersonateAdminUserData, boolean> & { throwOnError: false }): Promise<{ data: Types.ImpersonateAdminUserResponse; response: Response; request: Request } | { error: Types.ImpersonateAdminUserErrors; response: Response; request: Request }>;\n (options?: Options<Types.ImpersonateAdminUserData, boolean>): Promise<{ data: Types.ImpersonateAdminUserResponse; response: Response; request: Request }>;\n };\n clearAdminImpersonation: {\n (options: Options<Types.ClearAdminImpersonationData, boolean> & { throwOnError: false }): Promise<{ data: Types.ClearAdminImpersonationResponse; response: Response; request: Request } | { error: Types.ClearAdminImpersonationErrors; response: Response; request: Request }>;\n (options?: Options<Types.ClearAdminImpersonationData, boolean>): Promise<{ data: Types.ClearAdminImpersonationResponse; response: Response; request: Request }>;\n };\n listAdminReports: {\n (options: Options<Types.ListAdminReportsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListAdminReportsResponse; response: Response; request: Request } | { error: Types.ListAdminReportsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListAdminReportsData, boolean>): Promise<{ data: Types.ListAdminReportsResponse; response: Response; request: Request }>;\n };\n batchUpdateAdminReports: {\n (options: Options<Types.BatchUpdateAdminReportsData, boolean> & { throwOnError: false }): Promise<{ data: Types.BatchUpdateAdminReportsResponse; response: Response; request: Request } | { error: Types.BatchUpdateAdminReportsErrors; response: Response; request: Request }>;\n (options?: Options<Types.BatchUpdateAdminReportsData, boolean>): Promise<{ data: Types.BatchUpdateAdminReportsResponse; response: Response; request: Request }>;\n };\n updateAdminReport: {\n (options: Options<Types.UpdateAdminReportData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateAdminReportResponse; response: Response; request: Request } | { error: Types.UpdateAdminReportErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateAdminReportData, boolean>): Promise<{ data: Types.UpdateAdminReportResponse; response: Response; request: Request }>;\n };\n listAdminMediaAudits: {\n (options: Options<Types.ListAdminMediaAuditsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListAdminMediaAuditsResponse; response: Response; request: Request } | { error: Types.ListAdminMediaAuditsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListAdminMediaAuditsData, boolean>): Promise<{ data: Types.ListAdminMediaAuditsResponse; response: Response; request: Request }>;\n };\n updateAdminMediaAudit: {\n (options: Options<Types.UpdateAdminMediaAuditData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateAdminMediaAuditResponse; response: Response; request: Request } | { error: Types.UpdateAdminMediaAuditErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateAdminMediaAuditData, boolean>): Promise<{ data: Types.UpdateAdminMediaAuditResponse; response: Response; request: Request }>;\n };\n runAdminMediaAudit: {\n (options: Options<Types.RunAdminMediaAuditData, boolean> & { throwOnError: false }): Promise<{ data: Types.RunAdminMediaAuditResponse; response: Response; request: Request } | { error: Types.RunAdminMediaAuditErrors; response: Response; request: Request }>;\n (options?: Options<Types.RunAdminMediaAuditData, boolean>): Promise<{ data: Types.RunAdminMediaAuditResponse; response: Response; request: Request }>;\n };\n listAdminMediaAuditRuns: {\n (options: Options<Types.ListAdminMediaAuditRunsData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListAdminMediaAuditRunsResponse; response: Response; request: Request } | { error: Types.ListAdminMediaAuditRunsErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListAdminMediaAuditRunsData, boolean>): Promise<{ data: Types.ListAdminMediaAuditRunsResponse; response: Response; request: Request }>;\n };\n getAdminMediaAuditRun: {\n (options: Options<Types.GetAdminMediaAuditRunData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAdminMediaAuditRunResponse; response: Response; request: Request } | { error: Types.GetAdminMediaAuditRunErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAdminMediaAuditRunData, boolean>): Promise<{ data: Types.GetAdminMediaAuditRunResponse; response: Response; request: Request }>;\n };\n getAnnouncement: {\n (options: Options<Types.GetAnnouncementData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetAnnouncementResponse; response: Response; request: Request } | { error: Types.GetAnnouncementErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetAnnouncementData, boolean>): Promise<{ data: Types.GetAnnouncementResponse; response: Response; request: Request }>;\n };\n updateAnnouncement: {\n (options: Options<Types.UpdateAnnouncementData, boolean> & { throwOnError: false }): Promise<{ data: Types.UpdateAnnouncementResponse; response: Response; request: Request } | { error: Types.UpdateAnnouncementErrors; response: Response; request: Request }>;\n (options?: Options<Types.UpdateAnnouncementData, boolean>): Promise<{ data: Types.UpdateAnnouncementResponse; response: Response; request: Request }>;\n };\n };\n\nconst defaultSessionTokenGetter = (): string | undefined => {\n if (typeof document === 'undefined') return undefined;\n const match = document.cookie.match(/(?:^|;\\s*)nadeshiko\\.session_token=([^;]*)/);\n return match ? decodeURIComponent(match[1]) : undefined;\n};\n\n\nexport function createNadeshikoClient(config: NadeshikoConfig): NadeshikoClient {\n const rawBaseUrl = config.baseURL ?? config.baseUrl;\n const baseUrl = rawBaseUrl === undefined\n ? environments.PRODUCTION\n : (rawBaseUrl in environments\n ? environments[rawBaseUrl as keyof typeof environments]\n : rawBaseUrl);\n\n const getApiKey = async (): Promise<string | undefined> => {\n if (typeof config.apiKey === 'function') {\n return await config.apiKey();\n }\n return config.apiKey;\n };\n\n const getSessionToken = config.sessionToken ?? defaultSessionTokenGetter;\n\n const clientInstance = createApiClient(createConfig<ClientOptions>({\n baseUrl,\n fetch: withRetry(globalThis.fetch, config.retryOptions) as typeof fetch,\n auth: (auth: Auth) => {\n if (auth.in === 'cookie') {\n return getSessionToken();\n }\n return getApiKey();\n },\n }));\n\n clientInstance.interceptors.error.use((error) => {\n if (error && typeof error === 'object' && 'code' in error && typeof (error as any).code === 'string') {\n return new NadeshikoError(error as NadeshikoProblemDetails);\n }\n return error;\n });\n\n return {\n client: clientInstance,\n search: (options?: any) => search({ throwOnError: true, ...options, client: clientInstance }),\n getSearchStats: (options?: any) => getSearchStats({ throwOnError: true, ...options, client: clientInstance }),\n searchWords: (options?: any) => searchWords({ throwOnError: true, ...options, client: clientInstance }),\n listMedia: (options?: any) => listMedia({ throwOnError: true, ...options, client: clientInstance }),\n getSegmentByUuid: (options?: any) => getSegmentByUuid({ throwOnError: true, ...options, client: clientInstance }),\n getSegmentContext: (options?: any) => getSegmentContext({ throwOnError: true, ...options, client: clientInstance }),\n listSeries: (options?: any) => listSeries({ throwOnError: true, ...options, client: clientInstance }),\n getSeries: (options?: any) => getSeries({ throwOnError: true, ...options, client: clientInstance }),\n getMedia: (options?: any) => getMedia({ throwOnError: true, ...options, client: clientInstance }),\n listEpisodes: (options?: any) => listEpisodes({ throwOnError: true, ...options, client: clientInstance }),\n getEpisode: (options?: any) => getEpisode({ throwOnError: true, ...options, client: clientInstance }),\n getSegment: (options?: any) => getSegment({ throwOnError: true, ...options, client: clientInstance }),\n createMedia: (options?: any) => createMedia({ throwOnError: true, ...options, client: clientInstance }),\n autocompleteMedia: (options?: any) => autocompleteMedia({ throwOnError: true, ...options, client: clientInstance }),\n updateSegmentByUuid: (options?: any) => updateSegmentByUuid({ throwOnError: true, ...options, client: clientInstance }),\n listSegmentRevisions: (options?: any) => listSegmentRevisions({ throwOnError: true, ...options, client: clientInstance }),\n createSeries: (options?: any) => createSeries({ throwOnError: true, ...options, client: clientInstance }),\n updateSeries: (options?: any) => updateSeries({ throwOnError: true, ...options, client: clientInstance }),\n deleteSeries: (options?: any) => deleteSeries({ throwOnError: true, ...options, client: clientInstance }),\n addMediaToSeries: (options?: any) => addMediaToSeries({ throwOnError: true, ...options, client: clientInstance }),\n updateSeriesMedia: (options?: any) => updateSeriesMedia({ throwOnError: true, ...options, client: clientInstance }),\n removeMediaFromSeries: (options?: any) => removeMediaFromSeries({ throwOnError: true, ...options, client: clientInstance }),\n getCharacter: (options?: any) => getCharacter({ throwOnError: true, ...options, client: clientInstance }),\n getSeiyuu: (options?: any) => getSeiyuu({ throwOnError: true, ...options, client: clientInstance }),\n updateMedia: (options?: any) => updateMedia({ throwOnError: true, ...options, client: clientInstance }),\n deleteMedia: (options?: any) => deleteMedia({ throwOnError: true, ...options, client: clientInstance }),\n createEpisode: (options?: any) => createEpisode({ throwOnError: true, ...options, client: clientInstance }),\n updateEpisode: (options?: any) => updateEpisode({ throwOnError: true, ...options, client: clientInstance }),\n deleteEpisode: (options?: any) => deleteEpisode({ throwOnError: true, ...options, client: clientInstance }),\n listSegments: (options?: any) => listSegments({ throwOnError: true, ...options, client: clientInstance }),\n createSegment: (options?: any) => createSegment({ throwOnError: true, ...options, client: clientInstance }),\n createSegmentsBatch: (options?: any) => createSegmentsBatch({ throwOnError: true, ...options, client: clientInstance }),\n updateSegment: (options?: any) => updateSegment({ throwOnError: true, ...options, client: clientInstance }),\n deleteSegment: (options?: any) => deleteSegment({ throwOnError: true, ...options, client: clientInstance }),\n getUserQuota: (options?: any) => getUserQuota({ throwOnError: true, ...options, client: clientInstance }),\n createUserReport: (options?: any) => createUserReport({ throwOnError: true, ...options, client: clientInstance }),\n getUserPreferences: (options?: any) => getUserPreferences({ throwOnError: true, ...options, client: clientInstance }),\n updateUserPreferences: (options?: any) => updateUserPreferences({ throwOnError: true, ...options, client: clientInstance }),\n listUserActivity: (options?: any) => listUserActivity({ throwOnError: true, ...options, client: clientInstance }),\n trackUserActivity: (options?: any) => trackUserActivity({ throwOnError: true, ...options, client: clientInstance }),\n deleteUserActivity: (options?: any) => deleteUserActivity({ throwOnError: true, ...options, client: clientInstance }),\n getUserActivityHeatmap: (options?: any) => getUserActivityHeatmap({ throwOnError: true, ...options, client: clientInstance }),\n getUserActivityStats: (options?: any) => getUserActivityStats({ throwOnError: true, ...options, client: clientInstance }),\n deleteUserActivityByDate: (options?: any) => deleteUserActivityByDate({ throwOnError: true, ...options, client: clientInstance }),\n deleteUserActivityById: (options?: any) => deleteUserActivityById({ throwOnError: true, ...options, client: clientInstance }),\n exportUserData: (options?: any) => exportUserData({ throwOnError: true, ...options, client: clientInstance }),\n listUserLabs: (options?: any) => listUserLabs({ throwOnError: true, ...options, client: clientInstance }),\n enrollUserLab: (options?: any) => enrollUserLab({ throwOnError: true, ...options, client: clientInstance }),\n unenrollUserLab: (options?: any) => unenrollUserLab({ throwOnError: true, ...options, client: clientInstance }),\n listCollections: (options?: any) => listCollections({ throwOnError: true, ...options, client: clientInstance }),\n createCollection: (options?: any) => createCollection({ throwOnError: true, ...options, client: clientInstance }),\n getCollection: (options?: any) => getCollection({ throwOnError: true, ...options, client: clientInstance }),\n updateCollection: (options?: any) => updateCollection({ throwOnError: true, ...options, client: clientInstance }),\n deleteCollection: (options?: any) => deleteCollection({ throwOnError: true, ...options, client: clientInstance }),\n addSegmentToCollection: (options?: any) => addSegmentToCollection({ throwOnError: true, ...options, client: clientInstance }),\n updateCollectionSegment: (options?: any) => updateCollectionSegment({ throwOnError: true, ...options, client: clientInstance }),\n removeSegmentFromCollection: (options?: any) => removeSegmentFromCollection({ throwOnError: true, ...options, client: clientInstance }),\n searchCollectionSegments: (options?: any) => searchCollectionSegments({ throwOnError: true, ...options, client: clientInstance }),\n getCollectionStats: (options?: any) => getCollectionStats({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboard: (options?: any) => getAdminDashboard({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardOverview: (options?: any) => getAdminDashboardOverview({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardMedia: (options?: any) => getAdminDashboardMedia({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardActivity: (options?: any) => getAdminDashboardActivity({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardCollections: (options?: any) => getAdminDashboardCollections({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardApiKeys: (options?: any) => getAdminDashboardApiKeys({ throwOnError: true, ...options, client: clientInstance }),\n getAdminDashboardSystem: (options?: any) => getAdminDashboardSystem({ throwOnError: true, ...options, client: clientInstance }),\n getAdminHealth: (options?: any) => getAdminHealth({ throwOnError: true, ...options, client: clientInstance }),\n triggerReindex: (options?: any) => triggerReindex({ throwOnError: true, ...options, client: clientInstance }),\n listAdminQueueStats: (options?: any) => listAdminQueueStats({ throwOnError: true, ...options, client: clientInstance }),\n getAdminQueue: (options?: any) => getAdminQueue({ throwOnError: true, ...options, client: clientInstance }),\n listAdminQueueFailed: (options?: any) => listAdminQueueFailed({ throwOnError: true, ...options, client: clientInstance }),\n retryAdminQueueFailed: (options?: any) => retryAdminQueueFailed({ throwOnError: true, ...options, client: clientInstance }),\n purgeAdminQueueFailed: (options?: any) => purgeAdminQueueFailed({ throwOnError: true, ...options, client: clientInstance }),\n impersonateAdminUser: (options?: any) => impersonateAdminUser({ throwOnError: true, ...options, client: clientInstance }),\n clearAdminImpersonation: (options?: any) => clearAdminImpersonation({ throwOnError: true, ...options, client: clientInstance }),\n listAdminReports: (options?: any) => listAdminReports({ throwOnError: true, ...options, client: clientInstance }),\n batchUpdateAdminReports: (options?: any) => batchUpdateAdminReports({ throwOnError: true, ...options, client: clientInstance }),\n updateAdminReport: (options?: any) => updateAdminReport({ throwOnError: true, ...options, client: clientInstance }),\n listAdminMediaAudits: (options?: any) => listAdminMediaAudits({ throwOnError: true, ...options, client: clientInstance }),\n updateAdminMediaAudit: (options?: any) => updateAdminMediaAudit({ throwOnError: true, ...options, client: clientInstance }),\n runAdminMediaAudit: (options?: any) => runAdminMediaAudit({ throwOnError: true, ...options, client: clientInstance }),\n listAdminMediaAuditRuns: (options?: any) => listAdminMediaAuditRuns({ throwOnError: true, ...options, client: clientInstance }),\n getAdminMediaAuditRun: (options?: any) => getAdminMediaAuditRun({ throwOnError: true, ...options, client: clientInstance }),\n getAnnouncement: (options?: any) => getAnnouncement({ throwOnError: true, ...options, client: clientInstance }),\n updateAnnouncement: (options?: any) => updateAnnouncement({ throwOnError: true, ...options, client: clientInstance }),\n } as NadeshikoClient;\n}\n\n",
|
|
17
|
+
"// This file is auto-generated by scripts/generate.ts\n\nimport { createClient as createApiClient, createConfig, type Client } from './client';\nimport type { ClientOptions } from './types.gen';\nimport type * as Types from './types.gen';\nimport { search, getSearchStats, searchWords, listMedia, getSegmentByUuid, getSegmentContext, listSeries, getSeries, getMedia, listEpisodes, getEpisode, getSegment, type Options } from './sdk.gen';\nimport { withRetry, type RetryOptions } from './retry';\nimport { NadeshikoError, type NadeshikoProblemDetails } from './errors';\n\ntype ApiKeyProvider = string | (() => string | undefined | Promise<string | undefined>);\n\nexport interface NadeshikoConfig {\n /**\n * API key for Bearer token authentication.\n * Public SDK only supports API key authentication.\n */\n apiKey?: ApiKeyProvider;\n /** Base URL of the Nadeshiko API. Accepts `'LOCAL'`, `'DEVELOPMENT'`, `'PRODUCTION'`, or a custom URL string. */\n baseURL?: 'LOCAL' | 'DEVELOPMENT' | 'PRODUCTION' | string;\n /** @deprecated Use `baseURL` instead */\n baseUrl?: 'LOCAL' | 'DEVELOPMENT' | 'PRODUCTION' | string;\n /** Retry configuration for failed requests. Retries on network errors and 408/429/5xx responses. */\n retryOptions?: RetryOptions;\n}\n\nconst environments = {\n LOCAL: 'http://localhost:5000/api',\n DEVELOPMENT: 'https://api-dev.nadeshiko.co',\n PRODUCTION: 'https://api.nadeshiko.co',\n PROXY: '',\n} as const;\n\nexport type NadeshikoClient = {\n client: Client;\n search: {\n (options: Options<Types.SearchData, boolean> & { throwOnError: false }): Promise<{ data: Types.SearchResponse; response: Response; request: Request } | { error: Types.SearchErrors; response: Response; request: Request }>;\n (options?: Options<Types.SearchData, boolean>): Promise<{ data: Types.SearchResponse; response: Response; request: Request }>;\n };\n getSearchStats: {\n (options: Options<Types.GetSearchStatsData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSearchStatsResponse; response: Response; request: Request } | { error: Types.GetSearchStatsErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSearchStatsData, boolean>): Promise<{ data: Types.GetSearchStatsResponse; response: Response; request: Request }>;\n };\n searchWords: {\n (options: Options<Types.SearchWordsData, boolean> & { throwOnError: false }): Promise<{ data: Types.SearchWordsResponse; response: Response; request: Request } | { error: Types.SearchWordsErrors; response: Response; request: Request }>;\n (options?: Options<Types.SearchWordsData, boolean>): Promise<{ data: Types.SearchWordsResponse; response: Response; request: Request }>;\n };\n listMedia: {\n (options: Options<Types.ListMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListMediaResponse; response: Response; request: Request } | { error: Types.ListMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListMediaData, boolean>): Promise<{ data: Types.ListMediaResponse; response: Response; request: Request }>;\n };\n getSegmentByUuid: {\n (options: Options<Types.GetSegmentByUuidData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentByUuidResponse; response: Response; request: Request } | { error: Types.GetSegmentByUuidErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentByUuidData, boolean>): Promise<{ data: Types.GetSegmentByUuidResponse; response: Response; request: Request }>;\n };\n getSegmentContext: {\n (options: Options<Types.GetSegmentContextData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentContextResponse; response: Response; request: Request } | { error: Types.GetSegmentContextErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentContextData, boolean>): Promise<{ data: Types.GetSegmentContextResponse; response: Response; request: Request }>;\n };\n listSeries: {\n (options: Options<Types.ListSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListSeriesResponse; response: Response; request: Request } | { error: Types.ListSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListSeriesData, boolean>): Promise<{ data: Types.ListSeriesResponse; response: Response; request: Request }>;\n };\n getSeries: {\n (options: Options<Types.GetSeriesData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSeriesResponse; response: Response; request: Request } | { error: Types.GetSeriesErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSeriesData, boolean>): Promise<{ data: Types.GetSeriesResponse; response: Response; request: Request }>;\n };\n getMedia: {\n (options: Options<Types.GetMediaData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetMediaResponse; response: Response; request: Request } | { error: Types.GetMediaErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetMediaData, boolean>): Promise<{ data: Types.GetMediaResponse; response: Response; request: Request }>;\n };\n listEpisodes: {\n (options: Options<Types.ListEpisodesData, boolean> & { throwOnError: false }): Promise<{ data: Types.ListEpisodesResponse; response: Response; request: Request } | { error: Types.ListEpisodesErrors; response: Response; request: Request }>;\n (options?: Options<Types.ListEpisodesData, boolean>): Promise<{ data: Types.ListEpisodesResponse; response: Response; request: Request }>;\n };\n getEpisode: {\n (options: Options<Types.GetEpisodeData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetEpisodeResponse; response: Response; request: Request } | { error: Types.GetEpisodeErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetEpisodeData, boolean>): Promise<{ data: Types.GetEpisodeResponse; response: Response; request: Request }>;\n };\n getSegment: {\n (options: Options<Types.GetSegmentData, boolean> & { throwOnError: false }): Promise<{ data: Types.GetSegmentResponse; response: Response; request: Request } | { error: Types.GetSegmentErrors; response: Response; request: Request }>;\n (options?: Options<Types.GetSegmentData, boolean>): Promise<{ data: Types.GetSegmentResponse; response: Response; request: Request }>;\n };\n };\n\n\n\nexport function createNadeshikoClient(config: NadeshikoConfig): NadeshikoClient {\n const rawBaseUrl = config.baseURL ?? config.baseUrl;\n const baseUrl = rawBaseUrl === undefined\n ? environments.PRODUCTION\n : (rawBaseUrl in environments\n ? environments[rawBaseUrl as keyof typeof environments]\n : rawBaseUrl);\n\n const getApiKey = async (): Promise<string | undefined> => {\n if (typeof config.apiKey === 'function') {\n return await config.apiKey();\n }\n return config.apiKey;\n };\n\n\n const clientInstance = createApiClient(createConfig<ClientOptions>({\n baseUrl,\n fetch: withRetry(globalThis.fetch, config.retryOptions) as typeof fetch,\n auth: () => getApiKey(),\n }));\n\n clientInstance.interceptors.error.use((error) => {\n if (error && typeof error === 'object' && 'code' in error && typeof (error as any).code === 'string') {\n return new NadeshikoError(error as NadeshikoProblemDetails);\n }\n return error;\n });\n\n return {\n client: clientInstance,\n search: (options?: any) => search({ throwOnError: true, ...options, client: clientInstance }),\n getSearchStats: (options?: any) => getSearchStats({ throwOnError: true, ...options, client: clientInstance }),\n searchWords: (options?: any) => searchWords({ throwOnError: true, ...options, client: clientInstance }),\n listMedia: (options?: any) => listMedia({ throwOnError: true, ...options, client: clientInstance }),\n getSegmentByUuid: (options?: any) => getSegmentByUuid({ throwOnError: true, ...options, client: clientInstance }),\n getSegmentContext: (options?: any) => getSegmentContext({ throwOnError: true, ...options, client: clientInstance }),\n listSeries: (options?: any) => listSeries({ throwOnError: true, ...options, client: clientInstance }),\n getSeries: (options?: any) => getSeries({ throwOnError: true, ...options, client: clientInstance }),\n getMedia: (options?: any) => getMedia({ throwOnError: true, ...options, client: clientInstance }),\n listEpisodes: (options?: any) => listEpisodes({ throwOnError: true, ...options, client: clientInstance }),\n getEpisode: (options?: any) => getEpisode({ throwOnError: true, ...options, client: clientInstance }),\n getSegment: (options?: any) => getSegment({ throwOnError: true, ...options, client: clientInstance }),\n } as NadeshikoClient;\n}\n\n",
|
|
18
18
|
"export interface PaginationMeta {\n hasMore: boolean;\n cursor: string | null;\n}\n\n/**\n * Async generator that iterates through all pages of a paginated endpoint,\n * yielding individual items.\n *\n * @example\n * ```ts\n * for await (const segment of paginate(\n * (opts) => client.search(opts),\n * { body: { query: { search: '猫' } } },\n * (data) => ({ items: data.segments, pagination: data.pagination }),\n * )) {\n * console.log(segment);\n * }\n * ```\n */\nexport async function* paginate<TData, TItem>(\n fn: (options: any) => Promise<{ data: TData } | { error: unknown }>,\n options: Record<string, any>,\n extract: (data: TData) => { items: TItem[]; pagination: PaginationMeta },\n): AsyncGenerator<TItem, void, unknown> {\n let cursor: string | null = null;\n let first = true;\n\n while (true) {\n const callOptions = first ? options : patchCursor(options, cursor!);\n first = false;\n\n const result = await fn(callOptions);\n\n if ('error' in result && result.error !== undefined) {\n throw result.error;\n }\n\n const { items, pagination } = extract((result as { data: TData }).data);\n\n for (const item of items) {\n yield item;\n }\n\n if (!pagination.hasMore || pagination.cursor === null) break;\n cursor = pagination.cursor;\n }\n}\n\nfunction patchCursor(options: Record<string, any>, cursor: string): Record<string, any> {\n if (options.body !== undefined) {\n return { ...options, body: { ...options.body, cursor } };\n }\n if (options.query !== undefined) {\n return { ...options, query: { ...options.query, cursor } };\n }\n return { ...options, body: { cursor } };\n}\n"
|
|
19
19
|
],
|
|
20
|
-
"mappings": "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",
|
|
21
|
-
"debugId": "
|
|
20
|
+
"mappings": "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",
|
|
21
|
+
"debugId": "FD62861FCF89329B64756E2164756E21",
|
|
22
22
|
"names": []
|
|
23
23
|
}
|