@kromatv/sdk 0.1.40-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (987) hide show
  1. package/README.md +80 -0
  2. package/dist/cli.js +2523 -0
  3. package/package.json +78 -0
  4. package/rust/Cargo.toml +3 -0
  5. package/rust/kroma-db/Cargo.toml +27 -0
  6. package/rust/kroma-db/src/accounts/access_tokens.rs +197 -0
  7. package/rust/kroma-db/src/accounts/credentials.rs +97 -0
  8. package/rust/kroma-db/src/accounts/invites.rs +136 -0
  9. package/rust/kroma-db/src/accounts/preferences.rs +100 -0
  10. package/rust/kroma-db/src/accounts/resets.rs +202 -0
  11. package/rust/kroma-db/src/accounts/sessions.rs +182 -0
  12. package/rust/kroma-db/src/accounts/test_support.rs +14 -0
  13. package/rust/kroma-db/src/accounts/verifications.rs +185 -0
  14. package/rust/kroma-db/src/accounts.rs +244 -0
  15. package/rust/kroma-db/src/admin/metrics.rs +201 -0
  16. package/rust/kroma-db/src/admin/play_history.rs +361 -0
  17. package/rust/kroma-db/src/admin/play_sort.rs +113 -0
  18. package/rust/kroma-db/src/admin/stats.rs +108 -0
  19. package/rust/kroma-db/src/admin/test_support.rs +83 -0
  20. package/rust/kroma-db/src/admin/watch_stats.rs +458 -0
  21. package/rust/kroma-db/src/admin.rs +226 -0
  22. package/rust/kroma-db/src/audio_analysis.rs +253 -0
  23. package/rust/kroma-db/src/backup/module_stores.rs +204 -0
  24. package/rust/kroma-db/src/backup/rows.rs +155 -0
  25. package/rust/kroma-db/src/backup/test_support.rs +61 -0
  26. package/rust/kroma-db/src/backup.rs +306 -0
  27. package/rust/kroma-db/src/catalog_query/find_titles.rs +316 -0
  28. package/rust/kroma-db/src/catalog_query/test_support.rs +88 -0
  29. package/rust/kroma-db/src/catalog_query.rs +198 -0
  30. package/rust/kroma-db/src/chunked.rs +36 -0
  31. package/rust/kroma-db/src/core_tables.rs +99 -0
  32. package/rust/kroma-db/src/curated.rs +192 -0
  33. package/rust/kroma-db/src/downloaded_subs.rs +136 -0
  34. package/rust/kroma-db/src/downloads.rs +219 -0
  35. package/rust/kroma-db/src/grant/escapes/schema.rs +120 -0
  36. package/rust/kroma-db/src/grant/escapes/statements.rs +170 -0
  37. package/rust/kroma-db/src/grant/escapes.rs +141 -0
  38. package/rust/kroma-db/src/grant/tests.rs +255 -0
  39. package/rust/kroma-db/src/grant.rs +203 -0
  40. package/rust/kroma-db/src/home/genre_guard.rs +249 -0
  41. package/rust/kroma-db/src/home/hydration.rs +126 -0
  42. package/rust/kroma-db/src/home/test_support.rs +60 -0
  43. package/rust/kroma-db/src/home.rs +244 -0
  44. package/rust/kroma-db/src/hydrate.rs +296 -0
  45. package/rust/kroma-db/src/ingest/metadata.rs +648 -0
  46. package/rust/kroma-db/src/ingest/probe.rs +171 -0
  47. package/rust/kroma-db/src/ingest/probe_result.rs +178 -0
  48. package/rust/kroma-db/src/ingest/scanned_files.rs +235 -0
  49. package/rust/kroma-db/src/ingest/sync.rs +291 -0
  50. package/rust/kroma-db/src/ingest/test_support.rs +114 -0
  51. package/rust/kroma-db/src/ingest.rs +20 -0
  52. package/rust/kroma-db/src/jobs.rs +269 -0
  53. package/rust/kroma-db/src/lib.rs +97 -0
  54. package/rust/kroma-db/src/library.rs +66 -0
  55. package/rust/kroma-db/src/localize/items.rs +303 -0
  56. package/rust/kroma-db/src/localize/shows.rs +192 -0
  57. package/rust/kroma-db/src/localize/test_support.rs +91 -0
  58. package/rust/kroma-db/src/localize.rs +105 -0
  59. package/rust/kroma-db/src/markers.rs +203 -0
  60. package/rust/kroma-db/src/media/person.rs +213 -0
  61. package/rust/kroma-db/src/media/show_detail.rs +186 -0
  62. package/rust/kroma-db/src/media/shows.rs +202 -0
  63. package/rust/kroma-db/src/media/splash.rs +199 -0
  64. package/rust/kroma-db/src/media/test_support.rs +31 -0
  65. package/rust/kroma-db/src/media.rs +296 -0
  66. package/rust/kroma-db/src/metadata_core.rs +348 -0
  67. package/rust/kroma-db/src/notifications/digest.rs +143 -0
  68. package/rust/kroma-db/src/notifications/preferences.rs +138 -0
  69. package/rust/kroma-db/src/notifications/read_state.rs +167 -0
  70. package/rust/kroma-db/src/notifications/test_support.rs +50 -0
  71. package/rust/kroma-db/src/notifications.rs +232 -0
  72. package/rust/kroma-db/src/passkeys.rs +163 -0
  73. package/rust/kroma-db/src/pipeline/ops/drain.rs +266 -0
  74. package/rust/kroma-db/src/pipeline/ops/reconcile.rs +274 -0
  75. package/rust/kroma-db/src/pipeline/ops/test_support.rs +48 -0
  76. package/rust/kroma-db/src/pipeline/ops.rs +49 -0
  77. package/rust/kroma-db/src/pipeline/query/elements.rs +200 -0
  78. package/rust/kroma-db/src/pipeline/query/test_support.rs +23 -0
  79. package/rust/kroma-db/src/pipeline/query.rs +255 -0
  80. package/rust/kroma-db/src/pipeline/tests.rs +319 -0
  81. package/rust/kroma-db/src/pipeline.rs +26 -0
  82. package/rust/kroma-db/src/playback/continue_watching.rs +289 -0
  83. package/rust/kroma-db/src/playback/on_deck.rs +53 -0
  84. package/rust/kroma-db/src/playback/show_progress.rs +230 -0
  85. package/rust/kroma-db/src/playback/test_support.rs +55 -0
  86. package/rust/kroma-db/src/playback/up_next.rs +208 -0
  87. package/rust/kroma-db/src/playback/watch_state.rs +129 -0
  88. package/rust/kroma-db/src/playback.rs +196 -0
  89. package/rust/kroma-db/src/pool.rs +117 -0
  90. package/rust/kroma-db/src/push_subs.rs +323 -0
  91. package/rust/kroma-db/src/reports.rs +231 -0
  92. package/rust/kroma-db/src/requests/availability.rs +211 -0
  93. package/rust/kroma-db/src/requests/calendar.rs +221 -0
  94. package/rust/kroma-db/src/requests/gaps.rs +213 -0
  95. package/rust/kroma-db/src/requests/search_queue.rs +352 -0
  96. package/rust/kroma-db/src/requests/tests.rs +289 -0
  97. package/rust/kroma-db/src/requests/wanted.rs +351 -0
  98. package/rust/kroma-db/src/requests.rs +245 -0
  99. package/rust/kroma-db/src/rows.rs +190 -0
  100. package/rust/kroma-db/src/schema/ddl.rs +678 -0
  101. package/rust/kroma-db/src/schema/migrations.rs +261 -0
  102. package/rust/kroma-db/src/schema.rs +273 -0
  103. package/rust/kroma-db/src/suggest.rs +129 -0
  104. package/rust/kroma-db/src/taste.rs +77 -0
  105. package/rust/kroma-db/src/testing.rs +63 -0
  106. package/rust/kroma-db/src/tmdb_pin.rs +133 -0
  107. package/rust/kroma-db/src/translations.rs +569 -0
  108. package/rust/kroma-db/src/vectors/recommendations.rs +164 -0
  109. package/rust/kroma-db/src/vectors/search.rs +213 -0
  110. package/rust/kroma-db/src/vectors/test_support.rs +31 -0
  111. package/rust/kroma-db/src/vectors.rs +161 -0
  112. package/rust/kroma-domain/Cargo.toml +17 -0
  113. package/rust/kroma-domain/src/accounts.rs +181 -0
  114. package/rust/kroma-domain/src/admin.rs +197 -0
  115. package/rust/kroma-domain/src/cast.rs +178 -0
  116. package/rust/kroma-domain/src/crash.rs +48 -0
  117. package/rust/kroma-domain/src/jobs.rs +119 -0
  118. package/rust/kroma-domain/src/lib.rs +44 -0
  119. package/rust/kroma-domain/src/library.rs +21 -0
  120. package/rust/kroma-domain/src/matching/mod.rs +293 -0
  121. package/rust/kroma-domain/src/matching/normalize.rs +193 -0
  122. package/rust/kroma-domain/src/media.rs +297 -0
  123. package/rust/kroma-domain/src/metadata.rs +389 -0
  124. package/rust/kroma-domain/src/naming/marker.rs +215 -0
  125. package/rust/kroma-domain/src/naming/mod.rs +283 -0
  126. package/rust/kroma-domain/src/naming/title.rs +349 -0
  127. package/rust/kroma-domain/src/notifications/action.rs +50 -0
  128. package/rust/kroma-domain/src/notifications/event.rs +225 -0
  129. package/rust/kroma-domain/src/notifications/mod.rs +18 -0
  130. package/rust/kroma-domain/src/notifications/param.rs +90 -0
  131. package/rust/kroma-domain/src/notifications/spec.rs +178 -0
  132. package/rust/kroma-domain/src/notifications/view.rs +55 -0
  133. package/rust/kroma-domain/src/people.rs +286 -0
  134. package/rust/kroma-domain/src/pipeline.rs +114 -0
  135. package/rust/kroma-domain/src/playback.rs +39 -0
  136. package/rust/kroma-domain/src/push.rs +163 -0
  137. package/rust/kroma-domain/src/reports.rs +213 -0
  138. package/rust/kroma-domain/src/requests/discover.rs +102 -0
  139. package/rust/kroma-domain/src/requests/ledger.rs +129 -0
  140. package/rust/kroma-domain/src/requests/mod.rs +238 -0
  141. package/rust/kroma-domain/src/section.rs +44 -0
  142. package/rust/kroma-domain/src/slug.rs +165 -0
  143. package/rust/kroma-http/Cargo.toml +20 -0
  144. package/rust/kroma-http/examples/seam-bench.rs +73 -0
  145. package/rust/kroma-http/src/builder.rs +35 -0
  146. package/rust/kroma-http/src/config.rs +50 -0
  147. package/rust/kroma-http/src/curl.rs +131 -0
  148. package/rust/kroma-http/src/fetch.rs +226 -0
  149. package/rust/kroma-http/src/lib.rs +25 -0
  150. package/rust/kroma-http/src/loopback/mod.rs +220 -0
  151. package/rust/kroma-http/src/loopback/tcp.rs +182 -0
  152. package/rust/kroma-http/src/loopback/transport.rs +42 -0
  153. package/rust/kroma-http/src/response.rs +130 -0
  154. package/rust/kroma-module-host/Cargo.toml +36 -0
  155. package/rust/kroma-module-host/src/auth.rs +221 -0
  156. package/rust/kroma-module-host/src/host_ctx.rs +382 -0
  157. package/rust/kroma-module-host/src/host_token.rs +147 -0
  158. package/rust/kroma-module-host/src/lib.rs +141 -0
  159. package/rust/kroma-module-host/src/module.rs +115 -0
  160. package/rust/kroma-module-host/src/port.rs +163 -0
  161. package/rust/kroma-module-host/src/storage.rs +97 -0
  162. package/rust/kroma-module-host/src/test_serve.rs +33 -0
  163. package/rust/kroma-module-host/src/testing/log.rs +145 -0
  164. package/rust/kroma-module-host/src/testing/mod.rs +72 -0
  165. package/rust/kroma-module-host/src/testing/recording.rs +209 -0
  166. package/rust/kroma-module-host/src/testing/stub.rs +592 -0
  167. package/rust/kroma-module-macros/Cargo.toml +12 -0
  168. package/rust/kroma-module-macros/src/lib.rs +148 -0
  169. package/rust/kroma-module-manifest/Cargo.toml +15 -0
  170. package/rust/kroma-module-manifest/src/compat.rs +157 -0
  171. package/rust/kroma-module-manifest/src/embedded.rs +160 -0
  172. package/rust/kroma-module-manifest/src/event.rs +74 -0
  173. package/rust/kroma-module-manifest/src/lib.rs +57 -0
  174. package/rust/kroma-module-manifest/src/manifest.rs +548 -0
  175. package/rust/kroma-module-manifest/src/registry.rs +626 -0
  176. package/rust/kroma-module-runtime/Cargo.toml +33 -0
  177. package/rust/kroma-module-runtime/src/lib.rs +743 -0
  178. package/rust/kroma-module-sdk/Cargo.toml +49 -0
  179. package/rust/kroma-module-sdk/src/lib.rs +70 -0
  180. package/rust/kroma-primitives/Cargo.toml +12 -0
  181. package/rust/kroma-primitives/src/lib.rs +101 -0
  182. package/rust/kroma-testing/Cargo.toml +10 -0
  183. package/rust/kroma-testing/src/lib.rs +72 -0
  184. package/templates/base/README.md +14 -0
  185. package/templates/base/_gitignore +4 -0
  186. package/templates/base/icon.svg +1 -0
  187. package/templates/base/locales/en.json +7 -0
  188. package/templates/base/locales/fr.json +7 -0
  189. package/templates/server/.cargo/config.toml +2 -0
  190. package/templates/server/rust-toolchain.toml +3 -0
  191. package/templates/server/server/Cargo.toml +37 -0
  192. package/templates/server/server/src/bin/module.rs +6 -0
  193. package/templates/server/server/src/lib.rs +43 -0
  194. package/templates/ui/ui/src/__PAGE__.tsx +22 -0
  195. package/templates/ui/ui/src/module.tsx +17 -0
  196. package/templates/ui/ui/src/schemas.ts +6 -0
  197. package/tsconfig.module.json +110 -0
  198. package/types/client/src/api/accounts/client.d.ts +291 -0
  199. package/types/client/src/api/accounts/ids.d.ts +13 -0
  200. package/types/client/src/api/accounts/index.d.ts +6 -0
  201. package/types/client/src/api/accounts/passkeys.d.ts +79 -0
  202. package/types/client/src/api/accounts/quick-connect.d.ts +23 -0
  203. package/types/client/src/api/accounts/remembered.d.ts +66 -0
  204. package/types/client/src/api/accounts/rules.d.ts +9 -0
  205. package/types/client/src/api/accounts/schemas.d.ts +214 -0
  206. package/types/client/src/api/admin/backup.d.ts +22 -0
  207. package/types/client/src/api/admin/client.d.ts +407 -0
  208. package/types/client/src/api/admin/index.d.ts +7 -0
  209. package/types/client/src/api/admin/logs.d.ts +24 -0
  210. package/types/client/src/api/admin/metrics.d.ts +231 -0
  211. package/types/client/src/api/admin/notifications.d.ts +47 -0
  212. package/types/client/src/api/admin/settings.d.ts +50 -0
  213. package/types/client/src/api/admin/stats.d.ts +257 -0
  214. package/types/client/src/api/admin/users.d.ts +98 -0
  215. package/types/client/src/api/cast/client.d.ts +209 -0
  216. package/types/client/src/api/cast/ids.d.ts +4 -0
  217. package/types/client/src/api/cast/index.d.ts +3 -0
  218. package/types/client/src/api/cast/schemas.d.ts +565 -0
  219. package/types/client/src/api/diagnostics/client.d.ts +13 -0
  220. package/types/client/src/api/diagnostics/index.d.ts +2 -0
  221. package/types/client/src/api/diagnostics/schemas.d.ts +29 -0
  222. package/types/client/src/api/discover.d.ts +5 -0
  223. package/types/client/src/api/discover.web.d.ts +5 -0
  224. package/types/client/src/api/discovery/client.d.ts +115 -0
  225. package/types/client/src/api/discovery/index.d.ts +2 -0
  226. package/types/client/src/api/discovery/schemas.d.ts +175 -0
  227. package/types/client/src/api/events/index.d.ts +2 -0
  228. package/types/client/src/api/events/schemas.d.ts +371 -0
  229. package/types/client/src/api/events/socket.d.ts +42 -0
  230. package/types/client/src/api/handoff/client.d.ts +68 -0
  231. package/types/client/src/api/handoff/ids.d.ts +4 -0
  232. package/types/client/src/api/handoff/index.d.ts +3 -0
  233. package/types/client/src/api/handoff/schemas.d.ts +93 -0
  234. package/types/client/src/api/jobs/client.d.ts +96 -0
  235. package/types/client/src/api/jobs/ids.d.ts +5 -0
  236. package/types/client/src/api/jobs/index.d.ts +3 -0
  237. package/types/client/src/api/jobs/schemas.d.ts +168 -0
  238. package/types/client/src/api/library/client.d.ts +45 -0
  239. package/types/client/src/api/library/index.d.ts +2 -0
  240. package/types/client/src/api/library/schemas.d.ts +28 -0
  241. package/types/client/src/api/llm/client.d.ts +37 -0
  242. package/types/client/src/api/llm/ids.d.ts +3 -0
  243. package/types/client/src/api/llm/index.d.ts +3 -0
  244. package/types/client/src/api/llm/schemas.d.ts +74 -0
  245. package/types/client/src/api/media/artwork-scale.d.ts +18 -0
  246. package/types/client/src/api/media/artwork.d.ts +31 -0
  247. package/types/client/src/api/media/client.d.ts +2160 -0
  248. package/types/client/src/api/media/credits.d.ts +46 -0
  249. package/types/client/src/api/media/ids.d.ts +12 -0
  250. package/types/client/src/api/media/index.d.ts +7 -0
  251. package/types/client/src/api/media/rematch.d.ts +31 -0
  252. package/types/client/src/api/media/schemas.d.ts +1607 -0
  253. package/types/client/src/api/media/search.d.ts +1044 -0
  254. package/types/client/src/api/media/tracks.d.ts +152 -0
  255. package/types/client/src/api/modules/client.d.ts +38 -0
  256. package/types/client/src/api/modules/ids.d.ts +3 -0
  257. package/types/client/src/api/modules/index.d.ts +5 -0
  258. package/types/client/src/api/modules/module-api.d.ts +23 -0
  259. package/types/client/src/api/modules/schemas.d.ts +74 -0
  260. package/types/client/src/api/modules/store.d.ts +226 -0
  261. package/types/client/src/api/notifications/capability.d.ts +36 -0
  262. package/types/client/src/api/notifications/client.d.ts +79 -0
  263. package/types/client/src/api/notifications/ids.d.ts +3 -0
  264. package/types/client/src/api/notifications/index.d.ts +4 -0
  265. package/types/client/src/api/notifications/push.d.ts +18 -0
  266. package/types/client/src/api/notifications/schemas.d.ts +235 -0
  267. package/types/client/src/api/pipeline/client.d.ts +126 -0
  268. package/types/client/src/api/pipeline/index.d.ts +2 -0
  269. package/types/client/src/api/pipeline/schemas.d.ts +139 -0
  270. package/types/client/src/api/playback/client.d.ts +681 -0
  271. package/types/client/src/api/playback/ids.d.ts +3 -0
  272. package/types/client/src/api/playback/index.d.ts +3 -0
  273. package/types/client/src/api/playback/schemas.d.ts +38 -0
  274. package/types/client/src/api/reports/client.d.ts +117 -0
  275. package/types/client/src/api/reports/ids.d.ts +3 -0
  276. package/types/client/src/api/reports/index.d.ts +3 -0
  277. package/types/client/src/api/reports/schemas.d.ts +144 -0
  278. package/types/client/src/api/requests/acquisition.d.ts +240 -0
  279. package/types/client/src/api/requests/client.d.ts +301 -0
  280. package/types/client/src/api/requests/ids.d.ts +7 -0
  281. package/types/client/src/api/requests/index.d.ts +4 -0
  282. package/types/client/src/api/requests/schemas.d.ts +162 -0
  283. package/types/client/src/api/subtitles/client.d.ts +48 -0
  284. package/types/client/src/api/subtitles/ids.d.ts +5 -0
  285. package/types/client/src/api/subtitles/index.d.ts +3 -0
  286. package/types/client/src/api/subtitles/schemas.d.ts +78 -0
  287. package/types/client/src/core/client.d.ts +17 -0
  288. package/types/client/src/core/http/api-error.d.ts +36 -0
  289. package/types/client/src/core/http/body.d.ts +1 -0
  290. package/types/client/src/core/http/concurrency.d.ts +8 -0
  291. package/types/client/src/core/http/index.d.ts +6 -0
  292. package/types/client/src/core/http/path.d.ts +10 -0
  293. package/types/client/src/core/http/preconnect.d.ts +2 -0
  294. package/types/client/src/core/http/query.d.ts +9 -0
  295. package/types/client/src/core/http/request-context.d.ts +94 -0
  296. package/types/client/src/core/http/user-agent.d.ts +7 -0
  297. package/types/client/src/core/ids/ids.d.ts +13 -0
  298. package/types/client/src/core/ids/index.d.ts +1 -0
  299. package/types/client/src/core/index.d.ts +4 -0
  300. package/types/client/src/core/session/index.d.ts +3 -0
  301. package/types/client/src/core/session/locale.d.ts +6 -0
  302. package/types/client/src/core/session/storage.d.ts +32 -0
  303. package/types/client/src/core/session/token.d.ts +19 -0
  304. package/types/client/src/index.d.ts +3 -0
  305. package/types/client/src/kroma-client.d.ts +49 -0
  306. package/types/client/src/query/index.d.ts +35 -0
  307. package/types/core/src/airdate.d.ts +21 -0
  308. package/types/core/src/browse.d.ts +45 -0
  309. package/types/core/src/compat.d.ts +9 -0
  310. package/types/core/src/discover.d.ts +31 -0
  311. package/types/core/src/format.d.ts +63 -0
  312. package/types/core/src/genre-art.d.ts +21 -0
  313. package/types/core/src/genre-table.d.ts +117 -0
  314. package/types/core/src/genre.d.ts +42 -0
  315. package/types/core/src/handoff/beacon.d.ts +39 -0
  316. package/types/core/src/handoff/grant.d.ts +20 -0
  317. package/types/core/src/handoff/index.d.ts +8 -0
  318. package/types/core/src/handoff/nearby.d.ts +17 -0
  319. package/types/core/src/handoff/sources.d.ts +110 -0
  320. package/types/core/src/health-probe.d.ts +19 -0
  321. package/types/core/src/hevc/audio-support.d.ts +47 -0
  322. package/types/core/src/hevc/capabilities.d.ts +63 -0
  323. package/types/core/src/hevc/directplay.d.ts +70 -0
  324. package/types/core/src/hevc/engine.d.ts +29 -0
  325. package/types/core/src/hevc.d.ts +4 -0
  326. package/types/core/src/i18n.d.ts +2381 -0
  327. package/types/core/src/index.d.ts +25 -0
  328. package/types/core/src/intl.d.ts +28 -0
  329. package/types/core/src/lang-table.d.ts +11 -0
  330. package/types/core/src/lang.d.ts +59 -0
  331. package/types/core/src/local-ip.d.ts +2 -0
  332. package/types/core/src/locales/catalogs.d.ts +2 -0
  333. package/types/core/src/locales/catalogs.web.d.ts +3 -0
  334. package/types/core/src/locales/default-locale.d.ts +3 -0
  335. package/types/core/src/match.d.ts +14 -0
  336. package/types/core/src/notification-labels.d.ts +47 -0
  337. package/types/core/src/people.d.ts +33 -0
  338. package/types/core/src/permissions.d.ts +10 -0
  339. package/types/core/src/person-facts.d.ts +23 -0
  340. package/types/core/src/platform.d.ts +7 -0
  341. package/types/core/src/playback-buffer.d.ts +64 -0
  342. package/types/core/src/playback-stall.d.ts +86 -0
  343. package/types/core/src/player.d.ts +22 -0
  344. package/types/core/src/push-labels.d.ts +6 -0
  345. package/types/core/src/react/handoff-picker.d.ts +52 -0
  346. package/types/core/src/react/index.d.ts +6 -0
  347. package/types/core/src/react/lang-prefs.d.ts +35 -0
  348. package/types/core/src/react/nearby-tvs.d.ts +31 -0
  349. package/types/core/src/remote.d.ts +26 -0
  350. package/types/core/src/server-origin.d.ts +12 -0
  351. package/types/core/src/slug.d.ts +4 -0
  352. package/types/core/src/subtitles.d.ts +20 -0
  353. package/types/i18n/src/announce.d.ts +15 -0
  354. package/types/i18n/src/catalog-types.d.ts +7 -0
  355. package/types/i18n/src/chain.d.ts +22 -0
  356. package/types/i18n/src/define.d.ts +39 -0
  357. package/types/i18n/src/dev-overrides.d.ts +39 -0
  358. package/types/i18n/src/i18n.d.ts +61 -0
  359. package/types/i18n/src/index.d.ts +11 -0
  360. package/types/i18n/src/interpolate.d.ts +14 -0
  361. package/types/i18n/src/layout.d.ts +18 -0
  362. package/types/i18n/src/locales.d.ts +12 -0
  363. package/types/i18n/src/namespaces.d.ts +37 -0
  364. package/types/i18n/src/nest.d.ts +17 -0
  365. package/types/i18n/src/plural.d.ts +20 -0
  366. package/types/i18n/src/react/context.d.ts +37 -0
  367. package/types/i18n/src/react/index.d.ts +2 -0
  368. package/types/i18n/src/react/provider.d.ts +14 -0
  369. package/types/i18n/src/registry.d.ts +36 -0
  370. package/types/i18n/src/store.d.ts +46 -0
  371. package/types/i18n/src/types.d.ts +30 -0
  372. package/types/module-sdk/src/admin/context.d.ts +20 -0
  373. package/types/module-sdk/src/admin/denied.d.ts +1 -0
  374. package/types/module-sdk/src/admin/engines.d.ts +35 -0
  375. package/types/module-sdk/src/admin/hooks.d.ts +39 -0
  376. package/types/module-sdk/src/admin/page-states.d.ts +27 -0
  377. package/types/module-sdk/src/admin/settings.d.ts +9 -0
  378. package/types/module-sdk/src/bus.d.ts +8 -0
  379. package/types/module-sdk/src/contracts.d.ts +6 -0
  380. package/types/module-sdk/src/define.d.ts +38 -0
  381. package/types/module-sdk/src/events.d.ts +11 -0
  382. package/types/module-sdk/src/host.d.ts +32 -0
  383. package/types/module-sdk/src/icon.d.ts +1 -0
  384. package/types/module-sdk/src/index.d.ts +35 -0
  385. package/types/module-sdk/src/module.d.ts +83 -0
  386. package/types/module-sdk/src/registry.d.ts +63 -0
  387. package/types/module-sdk/src/scope.d.ts +23 -0
  388. package/types/module-sdk/src/shared.d.ts +21 -0
  389. package/types/module-sdk/src/slot.d.ts +34 -0
  390. package/types/module-sdk/src/types.d.ts +39 -0
  391. package/types/module-sdk/src/ui/table.d.ts +88 -0
  392. package/types/module-sdk/src/use-sorted-table.d.ts +56 -0
  393. package/types/registry/src/build.d.ts +16 -0
  394. package/types/registry/src/client.d.ts +23 -0
  395. package/types/registry/src/documents/index.d.ts +6 -0
  396. package/types/registry/src/documents/v1.d.ts +197 -0
  397. package/types/registry/src/index.d.ts +7 -0
  398. package/types/registry/src/manifest/index.d.ts +9 -0
  399. package/types/registry/src/manifest/v2.d.ts +182 -0
  400. package/types/registry/src/semver.d.ts +24 -0
  401. package/types/registry/src/sort.d.ts +2 -0
  402. package/types/registry/src/spec.d.ts +19 -0
  403. package/types/registry/src/text.d.ts +6 -0
  404. package/types/spatial-nav/src/descent.d.ts +9 -0
  405. package/types/spatial-nav/src/directions.d.ts +16 -0
  406. package/types/spatial-nav/src/fallback-focus.d.ts +5 -0
  407. package/types/spatial-nav/src/focus-owner.d.ts +16 -0
  408. package/types/spatial-nav/src/focus-tree.d.ts +63 -0
  409. package/types/spatial-nav/src/index.d.ts +4 -0
  410. package/types/spatial-nav/src/navigator.bench.d.ts +1 -0
  411. package/types/spatial-nav/src/react/configure-remote.d.ts +16 -0
  412. package/types/spatial-nav/src/react/default-focus.d.ts +15 -0
  413. package/types/spatial-nav/src/react/focus-queue.d.ts +16 -0
  414. package/types/spatial-nav/src/react/navigator-context.d.ts +19 -0
  415. package/types/spatial-nav/src/react/navigator-item.d.ts +28 -0
  416. package/types/spatial-nav/src/react/navigator-node.d.ts +27 -0
  417. package/types/spatial-nav/src/react/navigator-root.d.ts +19 -0
  418. package/types/spatial-nav/src/react/navigator-view.d.ts +18 -0
  419. package/types/spatial-nav/src/react/pointer-device.d.ts +14 -0
  420. package/types/spatial-nav/src/react/spatial-node.d.ts +27 -0
  421. package/types/spatial-nav/src/react/use-lock-navigator.d.ts +11 -0
  422. package/types/spatial-nav/src/react.d.ts +17 -0
  423. package/types/spatial-nav/src/resolve-move.d.ts +6 -0
  424. package/types/spatial-nav/src/spatial-navigator.d.ts +23 -0
  425. package/types/ui/src/assets/fonts.d.ts +4 -0
  426. package/types/ui/src/components/atoms/art-scrim/art-scrim.d.ts +21 -0
  427. package/types/ui/src/components/atoms/art-scrim/index.d.ts +1 -0
  428. package/types/ui/src/components/atoms/avatar/avatar.d.ts +43 -0
  429. package/types/ui/src/components/atoms/avatar/index.d.ts +1 -0
  430. package/types/ui/src/components/atoms/badge/badge.d.ts +116 -0
  431. package/types/ui/src/components/atoms/badge/index.d.ts +1 -0
  432. package/types/ui/src/components/atoms/box/box.d.ts +29 -0
  433. package/types/ui/src/components/atoms/box/index.d.ts +1 -0
  434. package/types/ui/src/components/atoms/button/button-variants.d.ts +216 -0
  435. package/types/ui/src/components/atoms/button/button.d.ts +37 -0
  436. package/types/ui/src/components/atoms/button/index.d.ts +1 -0
  437. package/types/ui/src/components/atoms/checkbox/checkbox.d.ts +62 -0
  438. package/types/ui/src/components/atoms/checkbox/index.d.ts +1 -0
  439. package/types/ui/src/components/atoms/chip/chip.d.ts +172 -0
  440. package/types/ui/src/components/atoms/chip/index.d.ts +1 -0
  441. package/types/ui/src/components/atoms/divider/divider.d.ts +13 -0
  442. package/types/ui/src/components/atoms/divider/index.d.ts +1 -0
  443. package/types/ui/src/components/atoms/expandable-text/expandable-text.d.ts +20 -0
  444. package/types/ui/src/components/atoms/expandable-text/index.d.ts +1 -0
  445. package/types/ui/src/components/atoms/focusable/focusable-a11y.d.ts +12 -0
  446. package/types/ui/src/components/atoms/focusable/focusable-delegate.d.ts +21 -0
  447. package/types/ui/src/components/atoms/focusable/focusable-forms.d.ts +62 -0
  448. package/types/ui/src/components/atoms/focusable/focusable-link.d.ts +7 -0
  449. package/types/ui/src/components/atoms/focusable/focusable-paint.d.ts +47 -0
  450. package/types/ui/src/components/atoms/focusable/focusable-types.d.ts +167 -0
  451. package/types/ui/src/components/atoms/focusable/focusable.d.ts +7 -0
  452. package/types/ui/src/components/atoms/focusable/index.d.ts +1 -0
  453. package/types/ui/src/components/atoms/focusable/touch-pressable.d.ts +35 -0
  454. package/types/ui/src/components/atoms/focusable/use-entry-focus.d.ts +9 -0
  455. package/types/ui/src/components/atoms/focusable/use-web-keys.d.ts +7 -0
  456. package/types/ui/src/components/atoms/frost/frost.d.ts +62 -0
  457. package/types/ui/src/components/atoms/frost/index.d.ts +1 -0
  458. package/types/ui/src/components/atoms/grid/grid.d.ts +28 -0
  459. package/types/ui/src/components/atoms/grid/index.d.ts +1 -0
  460. package/types/ui/src/components/atoms/ground/ground.d.ts +19 -0
  461. package/types/ui/src/components/atoms/ground/index.d.ts +1 -0
  462. package/types/ui/src/components/atoms/icon/icon.d.ts +4 -0
  463. package/types/ui/src/components/atoms/icon/index.d.ts +1 -0
  464. package/types/ui/src/components/atoms/icon-button/icon-button.d.ts +165 -0
  465. package/types/ui/src/components/atoms/icon-button/index.d.ts +1 -0
  466. package/types/ui/src/components/atoms/icon-well/icon-well.d.ts +46 -0
  467. package/types/ui/src/components/atoms/icon-well/index.d.ts +1 -0
  468. package/types/ui/src/components/atoms/img/img.d.ts +45 -0
  469. package/types/ui/src/components/atoms/img/index.d.ts +1 -0
  470. package/types/ui/src/components/atoms/img/native-layers.d.ts +28 -0
  471. package/types/ui/src/components/atoms/img/use-cross-fade.d.ts +9 -0
  472. package/types/ui/src/components/atoms/img/web-layers.d.ts +19 -0
  473. package/types/ui/src/components/atoms/index.d.ts +64 -0
  474. package/types/ui/src/components/atoms/kbd/index.d.ts +2 -0
  475. package/types/ui/src/components/atoms/kbd/kbd.d.ts +18 -0
  476. package/types/ui/src/components/atoms/logo/index.d.ts +1 -0
  477. package/types/ui/src/components/atoms/logo/logo.d.ts +11 -0
  478. package/types/ui/src/components/atoms/number-field/index.d.ts +1 -0
  479. package/types/ui/src/components/atoms/number-field/number-field.d.ts +11 -0
  480. package/types/ui/src/components/atoms/progress/index.d.ts +1 -0
  481. package/types/ui/src/components/atoms/progress/progress.d.ts +28 -0
  482. package/types/ui/src/components/atoms/progress-ring/index.d.ts +1 -0
  483. package/types/ui/src/components/atoms/progress-ring/progress-ring.d.ts +7 -0
  484. package/types/ui/src/components/atoms/radio/index.d.ts +1 -0
  485. package/types/ui/src/components/atoms/radio/radio.d.ts +76 -0
  486. package/types/ui/src/components/atoms/skeleton/card-skeleton.d.ts +6 -0
  487. package/types/ui/src/components/atoms/skeleton/index.d.ts +4 -0
  488. package/types/ui/src/components/atoms/skeleton/poster-skeleton.d.ts +7 -0
  489. package/types/ui/src/components/atoms/skeleton/skeleton.d.ts +20 -0
  490. package/types/ui/src/components/atoms/skeleton/table-skeleton.d.ts +6 -0
  491. package/types/ui/src/components/atoms/spinner/index.d.ts +1 -0
  492. package/types/ui/src/components/atoms/spinner/spinner.d.ts +14 -0
  493. package/types/ui/src/components/atoms/status-dot/index.d.ts +1 -0
  494. package/types/ui/src/components/atoms/status-dot/status-dot.d.ts +9 -0
  495. package/types/ui/src/components/atoms/surface/index.d.ts +1 -0
  496. package/types/ui/src/components/atoms/surface/surface.d.ts +56 -0
  497. package/types/ui/src/components/atoms/switch/index.d.ts +1 -0
  498. package/types/ui/src/components/atoms/switch/switch.d.ts +64 -0
  499. package/types/ui/src/components/atoms/text/index.d.ts +1 -0
  500. package/types/ui/src/components/atoms/text/text.d.ts +21 -0
  501. package/types/ui/src/components/atoms/text-area/index.d.ts +1 -0
  502. package/types/ui/src/components/atoms/text-area/text-area.d.ts +31 -0
  503. package/types/ui/src/components/atoms/text-field/index.d.ts +1 -0
  504. package/types/ui/src/components/atoms/text-field/text-field.d.ts +50 -0
  505. package/types/ui/src/components/atoms/watched-badge/index.d.ts +1 -0
  506. package/types/ui/src/components/atoms/watched-badge/watched-badge.d.ts +19 -0
  507. package/types/ui/src/components/atoms/wheel/index.d.ts +1 -0
  508. package/types/ui/src/components/atoms/wheel/wheel.d.ts +9 -0
  509. package/types/ui/src/components/common/if/if.d.ts +9 -0
  510. package/types/ui/src/components/common/if/index.d.ts +1 -0
  511. package/types/ui/src/components/common/index.d.ts +2 -0
  512. package/types/ui/src/components/molecules/add-tile/add-tile.d.ts +65 -0
  513. package/types/ui/src/components/molecules/add-tile/index.d.ts +2 -0
  514. package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-context.d.ts +20 -0
  515. package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-item.d.ts +13 -0
  516. package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-lens.d.ts +17 -0
  517. package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail.d.ts +46 -0
  518. package/types/ui/src/components/molecules/alphabet-rail/index.d.ts +2 -0
  519. package/types/ui/src/components/molecules/alphabet-rail/use-letter-scrub.d.ts +17 -0
  520. package/types/ui/src/components/molecules/back-button/back-button.d.ts +10 -0
  521. package/types/ui/src/components/molecules/back-button/index.d.ts +1 -0
  522. package/types/ui/src/components/molecules/button-group/button-group.d.ts +37 -0
  523. package/types/ui/src/components/molecules/button-group/index.d.ts +3 -0
  524. package/types/ui/src/components/molecules/callout/callout.d.ts +63 -0
  525. package/types/ui/src/components/molecules/callout/index.d.ts +1 -0
  526. package/types/ui/src/components/molecules/category-tile/category-tile.d.ts +65 -0
  527. package/types/ui/src/components/molecules/category-tile/index.d.ts +1 -0
  528. package/types/ui/src/components/molecules/choice-list/choice-list.d.ts +53 -0
  529. package/types/ui/src/components/molecules/choice-list/index.d.ts +1 -0
  530. package/types/ui/src/components/molecules/copy-button/copy-button.d.ts +19 -0
  531. package/types/ui/src/components/molecules/copy-button/index.d.ts +1 -0
  532. package/types/ui/src/components/molecules/data-field/data-field.d.ts +44 -0
  533. package/types/ui/src/components/molecules/data-field/index.d.ts +1 -0
  534. package/types/ui/src/components/molecules/disclosure/disclosure.d.ts +55 -0
  535. package/types/ui/src/components/molecules/disclosure/index.d.ts +1 -0
  536. package/types/ui/src/components/molecules/dropzone/dropzone-parts.d.ts +46 -0
  537. package/types/ui/src/components/molecules/dropzone/dropzone-sift.d.ts +6 -0
  538. package/types/ui/src/components/molecules/dropzone/dropzone.d.ts +21 -0
  539. package/types/ui/src/components/molecules/dropzone/dropzone.web.d.ts +11 -0
  540. package/types/ui/src/components/molecules/dropzone/index.d.ts +1 -0
  541. package/types/ui/src/components/molecules/empty-state/empty-state.d.ts +60 -0
  542. package/types/ui/src/components/molecules/empty-state/index.d.ts +1 -0
  543. package/types/ui/src/components/molecules/field/field.d.ts +56 -0
  544. package/types/ui/src/components/molecules/field/index.d.ts +1 -0
  545. package/types/ui/src/components/molecules/hint/hint.d.ts +23 -0
  546. package/types/ui/src/components/molecules/hint/index.d.ts +1 -0
  547. package/types/ui/src/components/molecules/index.d.ts +70 -0
  548. package/types/ui/src/components/molecules/input-group/index.d.ts +3 -0
  549. package/types/ui/src/components/molecules/input-group/input-group-context.d.ts +34 -0
  550. package/types/ui/src/components/molecules/input-group/input-group-parts.d.ts +31 -0
  551. package/types/ui/src/components/molecules/input-group/input-group.d.ts +38 -0
  552. package/types/ui/src/components/molecules/keypad/index.d.ts +1 -0
  553. package/types/ui/src/components/molecules/keypad/keypad.d.ts +44 -0
  554. package/types/ui/src/components/molecules/legend/index.d.ts +1 -0
  555. package/types/ui/src/components/molecules/legend/legend.d.ts +32 -0
  556. package/types/ui/src/components/molecules/list/index.d.ts +1 -0
  557. package/types/ui/src/components/molecules/list/list.d.ts +41 -0
  558. package/types/ui/src/components/molecules/list-row/index.d.ts +3 -0
  559. package/types/ui/src/components/molecules/list-row/list-group.d.ts +23 -0
  560. package/types/ui/src/components/molecules/list-row/list-row-context.d.ts +10 -0
  561. package/types/ui/src/components/molecules/list-row/list-row-parts.d.ts +28 -0
  562. package/types/ui/src/components/molecules/list-row/list-row-variants.d.ts +90 -0
  563. package/types/ui/src/components/molecules/list-row/list-row.d.ts +51 -0
  564. package/types/ui/src/components/molecules/media-card/index.d.ts +1 -0
  565. package/types/ui/src/components/molecules/media-card/media-card.d.ts +22 -0
  566. package/types/ui/src/components/molecules/nav-pill/index.d.ts +1 -0
  567. package/types/ui/src/components/molecules/nav-pill/nav-pill-context.d.ts +28 -0
  568. package/types/ui/src/components/molecules/nav-pill/nav-pill-item.d.ts +101 -0
  569. package/types/ui/src/components/molecules/nav-pill/nav-pill-lens.d.ts +8 -0
  570. package/types/ui/src/components/molecules/nav-pill/nav-pill.d.ts +55 -0
  571. package/types/ui/src/components/molecules/otp-field/index.d.ts +1 -0
  572. package/types/ui/src/components/molecules/otp-field/otp-field-context.d.ts +32 -0
  573. package/types/ui/src/components/molecules/otp-field/otp-field-parts.d.ts +18 -0
  574. package/types/ui/src/components/molecules/otp-field/otp-field-variants.d.ts +68 -0
  575. package/types/ui/src/components/molecules/otp-field/otp-field.d.ts +57 -0
  576. package/types/ui/src/components/molecules/page-header/index.d.ts +1 -0
  577. package/types/ui/src/components/molecules/page-header/page-header.d.ts +69 -0
  578. package/types/ui/src/components/molecules/pagination/index.d.ts +3 -0
  579. package/types/ui/src/components/molecules/pagination/pagination.d.ts +102 -0
  580. package/types/ui/src/components/molecules/pagination/paging.d.ts +24 -0
  581. package/types/ui/src/components/molecules/person-card/index.d.ts +1 -0
  582. package/types/ui/src/components/molecules/person-card/person-card.d.ts +58 -0
  583. package/types/ui/src/components/molecules/pin-field/index.d.ts +1 -0
  584. package/types/ui/src/components/molecules/pin-field/pin-field.d.ts +26 -0
  585. package/types/ui/src/components/molecules/poster-card/index.d.ts +1 -0
  586. package/types/ui/src/components/molecules/poster-card/poster-card.d.ts +22 -0
  587. package/types/ui/src/components/molecules/section/index.d.ts +1 -0
  588. package/types/ui/src/components/molecules/section/section.d.ts +54 -0
  589. package/types/ui/src/components/molecules/segment-group/index.d.ts +2 -0
  590. package/types/ui/src/components/molecules/segment-group/segment-group-context.d.ts +17 -0
  591. package/types/ui/src/components/molecules/segment-group/segment-group-item.d.ts +58 -0
  592. package/types/ui/src/components/molecules/segment-group/segment-group.d.ts +29 -0
  593. package/types/ui/src/components/molecules/select/index.d.ts +1 -0
  594. package/types/ui/src/components/molecules/select/select-context.d.ts +54 -0
  595. package/types/ui/src/components/molecules/select/select-item.d.ts +39 -0
  596. package/types/ui/src/components/molecules/select/select-options-dialog.d.ts +3 -0
  597. package/types/ui/src/components/molecules/select/select-options.d.ts +3 -0
  598. package/types/ui/src/components/molecules/select/select-selection.d.ts +24 -0
  599. package/types/ui/src/components/molecules/select/select-surface.d.ts +17 -0
  600. package/types/ui/src/components/molecules/select/select.d.ts +112 -0
  601. package/types/ui/src/components/molecules/stat-card/index.d.ts +1 -0
  602. package/types/ui/src/components/molecules/stat-card/stat-card.d.ts +46 -0
  603. package/types/ui/src/components/molecules/stepper/index.d.ts +1 -0
  604. package/types/ui/src/components/molecules/stepper/stepper-context.d.ts +44 -0
  605. package/types/ui/src/components/molecules/stepper/stepper-item.d.ts +110 -0
  606. package/types/ui/src/components/molecules/stepper/stepper-list.d.ts +12 -0
  607. package/types/ui/src/components/molecules/stepper/stepper.d.ts +97 -0
  608. package/types/ui/src/components/molecules/stepper/use-steps.d.ts +40 -0
  609. package/types/ui/src/components/molecules/theme-switch/index.d.ts +1 -0
  610. package/types/ui/src/components/molecules/theme-switch/theme-switch.d.ts +19 -0
  611. package/types/ui/src/components/molecules/timeline/index.d.ts +1 -0
  612. package/types/ui/src/components/molecules/timeline/timeline.d.ts +55 -0
  613. package/types/ui/src/components/molecules/tooltip/index.d.ts +1 -0
  614. package/types/ui/src/components/molecules/tooltip/tooltip.d.ts +9 -0
  615. package/types/ui/src/components/molecules/tooltip/tooltip.web.d.ts +4 -0
  616. package/types/ui/src/components/organisms/chart/chart-context.d.ts +38 -0
  617. package/types/ui/src/components/organisms/chart/chart-marks.d.ts +32 -0
  618. package/types/ui/src/components/organisms/chart/chart-parts.d.ts +41 -0
  619. package/types/ui/src/components/organisms/chart/chart-path.d.ts +28 -0
  620. package/types/ui/src/components/organisms/chart/chart-scale.d.ts +82 -0
  621. package/types/ui/src/components/organisms/chart/chart.d.ts +63 -0
  622. package/types/ui/src/components/organisms/chart/index.d.ts +5 -0
  623. package/types/ui/src/components/organisms/code-block/code-block.d.ts +23 -0
  624. package/types/ui/src/components/organisms/code-block/code-tokens.d.ts +15 -0
  625. package/types/ui/src/components/organisms/code-block/index.d.ts +1 -0
  626. package/types/ui/src/components/organisms/command/command-context.d.ts +31 -0
  627. package/types/ui/src/components/organisms/command/command-keys-types.d.ts +11 -0
  628. package/types/ui/src/components/organisms/command/command-keys.d.ts +3 -0
  629. package/types/ui/src/components/organisms/command/command-keys.web.d.ts +3 -0
  630. package/types/ui/src/components/organisms/command/command-list.d.ts +46 -0
  631. package/types/ui/src/components/organisms/command/command-parts.d.ts +24 -0
  632. package/types/ui/src/components/organisms/command/command-row.d.ts +15 -0
  633. package/types/ui/src/components/organisms/command/command.d.ts +45 -0
  634. package/types/ui/src/components/organisms/command/index.d.ts +7 -0
  635. package/types/ui/src/components/organisms/dialog/confirm-dialog/confirm-dialog.d.ts +12 -0
  636. package/types/ui/src/components/organisms/dialog/confirm-dialog/confirm.d.ts +16 -0
  637. package/types/ui/src/components/organisms/dialog/confirm-dialog/index.d.ts +2 -0
  638. package/types/ui/src/components/organisms/dialog/dialog-actions.d.ts +29 -0
  639. package/types/ui/src/components/organisms/dialog/dialog-parts.d.ts +20 -0
  640. package/types/ui/src/components/organisms/dialog/dialog.d.ts +55 -0
  641. package/types/ui/src/components/organisms/dialog/index.d.ts +3 -0
  642. package/types/ui/src/components/organisms/drawer/drawer-parts.d.ts +29 -0
  643. package/types/ui/src/components/organisms/drawer/drawer-slide.d.ts +20 -0
  644. package/types/ui/src/components/organisms/drawer/drawer.d.ts +64 -0
  645. package/types/ui/src/components/organisms/drawer/index.d.ts +2 -0
  646. package/types/ui/src/components/organisms/index.d.ts +31 -0
  647. package/types/ui/src/components/organisms/keyboard/index.d.ts +8 -0
  648. package/types/ui/src/components/organisms/keyboard/key.d.ts +57 -0
  649. package/types/ui/src/components/organisms/keyboard/keyboard-layouts.d.ts +27 -0
  650. package/types/ui/src/components/organisms/keyboard/search-keyboard/index.d.ts +1 -0
  651. package/types/ui/src/components/organisms/keyboard/search-keyboard/search-keyboard.d.ts +19 -0
  652. package/types/ui/src/components/organisms/keyboard/url-keyboard/index.d.ts +1 -0
  653. package/types/ui/src/components/organisms/keyboard/url-keyboard/url-keyboard.d.ts +20 -0
  654. package/types/ui/src/components/organisms/keyboard/use-physical-typing.d.ts +2 -0
  655. package/types/ui/src/components/organisms/kroma-intro/animations.d.ts +2 -0
  656. package/types/ui/src/components/organisms/kroma-intro/constants.d.ts +14 -0
  657. package/types/ui/src/components/organisms/kroma-intro/css-intro.d.ts +12 -0
  658. package/types/ui/src/components/organisms/kroma-intro/index.d.ts +3 -0
  659. package/types/ui/src/components/organisms/kroma-intro/intro-scene.d.ts +21 -0
  660. package/types/ui/src/components/organisms/kroma-intro/intro-shell.d.ts +10 -0
  661. package/types/ui/src/components/organisms/kroma-intro/kroma-intro.d.ts +3 -0
  662. package/types/ui/src/components/organisms/kroma-intro/kroma-intro.web.d.ts +33 -0
  663. package/types/ui/src/components/organisms/kroma-intro/use-intro-exit.d.ts +21 -0
  664. package/types/ui/src/components/organisms/kroma-intro/use-intro-keys.d.ts +19 -0
  665. package/types/ui/src/components/organisms/menu/index.d.ts +1 -0
  666. package/types/ui/src/components/organisms/menu/menu-context.d.ts +32 -0
  667. package/types/ui/src/components/organisms/menu/menu-item.d.ts +57 -0
  668. package/types/ui/src/components/organisms/menu/menu-surface-dialog.d.ts +25 -0
  669. package/types/ui/src/components/organisms/menu/menu-surface.d.ts +3 -0
  670. package/types/ui/src/components/organisms/menu/menu.d.ts +49 -0
  671. package/types/ui/src/components/organisms/nearby-tv-list/index.d.ts +2 -0
  672. package/types/ui/src/components/organisms/nearby-tv-list/nearby-tv-list.d.ts +12 -0
  673. package/types/ui/src/components/organisms/perf-hud/index.d.ts +1 -0
  674. package/types/ui/src/components/organisms/perf-hud/perf-chart.d.ts +5 -0
  675. package/types/ui/src/components/organisms/perf-hud/perf-hud.d.ts +4 -0
  676. package/types/ui/src/components/organisms/player/hooks/use-drag-track.d.ts +22 -0
  677. package/types/ui/src/components/organisms/player/hooks/use-grid-focus.d.ts +19 -0
  678. package/types/ui/src/components/organisms/player/hooks/use-idle-cursor.d.ts +7 -0
  679. package/types/ui/src/components/organisms/player/hooks/use-list-focus.d.ts +40 -0
  680. package/types/ui/src/components/organisms/player/hooks/use-player-credits.d.ts +22 -0
  681. package/types/ui/src/components/organisms/player/hooks/use-player-ending.d.ts +37 -0
  682. package/types/ui/src/components/organisms/player/hooks/use-player-keys.d.ts +8 -0
  683. package/types/ui/src/components/organisms/player/hooks/use-player-keys.web.d.ts +5 -0
  684. package/types/ui/src/components/organisms/player/hooks/use-player-nav.d.ts +58 -0
  685. package/types/ui/src/components/organisms/player/hooks/use-player-outro.d.ts +14 -0
  686. package/types/ui/src/components/organisms/player/hooks/use-seek-nudge.d.ts +8 -0
  687. package/types/ui/src/components/organisms/player/index.d.ts +22 -0
  688. package/types/ui/src/components/organisms/player/lib/audio-filter.d.ts +15 -0
  689. package/types/ui/src/components/organisms/player/lib/chapters.d.ts +16 -0
  690. package/types/ui/src/components/organisms/player/lib/chart-geometry.d.ts +46 -0
  691. package/types/ui/src/components/organisms/player/lib/fmt.d.ts +19 -0
  692. package/types/ui/src/components/organisms/player/lib/lean-stats.d.ts +34 -0
  693. package/types/ui/src/components/organisms/player/lib/metrics.d.ts +40 -0
  694. package/types/ui/src/components/organisms/player/lib/nav-keys.d.ts +19 -0
  695. package/types/ui/src/components/organisms/player/lib/nav.d.ts +38 -0
  696. package/types/ui/src/components/organisms/player/lib/panel-header.d.ts +12 -0
  697. package/types/ui/src/components/organisms/player/lib/panel-slide.d.ts +16 -0
  698. package/types/ui/src/components/organisms/player/lib/player-keys.d.ts +44 -0
  699. package/types/ui/src/components/organisms/player/lib/seek-track.d.ts +19 -0
  700. package/types/ui/src/components/organisms/player/lib/stage-card.d.ts +31 -0
  701. package/types/ui/src/components/organisms/player/lib/stage-ratio.d.ts +4 -0
  702. package/types/ui/src/components/organisms/player/lib/stage-ratio.web.d.ts +2 -0
  703. package/types/ui/src/components/organisms/player/lib/style.d.ts +40 -0
  704. package/types/ui/src/components/organisms/player/lib/styles.d.ts +3 -0
  705. package/types/ui/src/components/organisms/player/lib/subtitle-appearance.d.ts +53 -0
  706. package/types/ui/src/components/organisms/player/lib/subtitle-edge.d.ts +3 -0
  707. package/types/ui/src/components/organisms/player/lib/subtitle-edge.web.d.ts +3 -0
  708. package/types/ui/src/components/organisms/player/lib/surface-shrink.d.ts +17 -0
  709. package/types/ui/src/components/organisms/player/lib/virtual-focus.d.ts +2 -0
  710. package/types/ui/src/components/organisms/player/lib/virtual-focus.web.d.ts +3 -0
  711. package/types/ui/src/components/organisms/player/parts/control-cluster/control-cluster.d.ts +32 -0
  712. package/types/ui/src/components/organisms/player/parts/control-cluster/index.d.ts +1 -0
  713. package/types/ui/src/components/organisms/player/parts/credits-card/credits-card.d.ts +25 -0
  714. package/types/ui/src/components/organisms/player/parts/credits-card/index.d.ts +1 -0
  715. package/types/ui/src/components/organisms/player/parts/icons.d.ts +39 -0
  716. package/types/ui/src/components/organisms/player/parts/post-play/index.d.ts +1 -0
  717. package/types/ui/src/components/organisms/player/parts/post-play/post-play.d.ts +41 -0
  718. package/types/ui/src/components/organisms/player/parts/post-play/rise.d.ts +12 -0
  719. package/types/ui/src/components/organisms/player/parts/post-play/rise.web.d.ts +10 -0
  720. package/types/ui/src/components/organisms/player/parts/seek-bar/index.d.ts +1 -0
  721. package/types/ui/src/components/organisms/player/parts/seek-bar/seek-bar.d.ts +22 -0
  722. package/types/ui/src/components/organisms/player/parts/settings-panel/index.d.ts +1 -0
  723. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/audio-filter-panel.d.ts +11 -0
  724. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/audio-panel.d.ts +11 -0
  725. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/entries.d.ts +35 -0
  726. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/gen.d.ts +24 -0
  727. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/generate-wizard.d.ts +18 -0
  728. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/menu-list.d.ts +9 -0
  729. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/menu-row.d.ts +15 -0
  730. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/panel-style.d.ts +99 -0
  731. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/quality-panel.d.ts +16 -0
  732. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/report-panel.d.ts +8 -0
  733. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/select-row.d.ts +21 -0
  734. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/speed-panel.d.ts +10 -0
  735. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/sub-view.d.ts +16 -0
  736. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitle-appearance-panel.d.ts +14 -0
  737. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitle-appearance-parts.d.ts +27 -0
  738. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitles-panel.d.ts +18 -0
  739. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/title-bar.d.ts +9 -0
  740. package/types/ui/src/components/organisms/player/parts/settings-panel/settings/wizard-parts.d.ts +8 -0
  741. package/types/ui/src/components/organisms/player/parts/settings-panel/settings-panel.d.ts +40 -0
  742. package/types/ui/src/components/organisms/player/parts/skip-intro-button/index.d.ts +1 -0
  743. package/types/ui/src/components/organisms/player/parts/skip-intro-button/skip-intro-button.d.ts +22 -0
  744. package/types/ui/src/components/organisms/player/parts/stage/index.d.ts +1 -0
  745. package/types/ui/src/components/organisms/player/parts/stage/stage-overlay.d.ts +13 -0
  746. package/types/ui/src/components/organisms/player/parts/stage/stage.d.ts +30 -0
  747. package/types/ui/src/components/organisms/player/parts/stats-panel/index.d.ts +1 -0
  748. package/types/ui/src/components/organisms/player/parts/stats-panel/stats-chart.d.ts +16 -0
  749. package/types/ui/src/components/organisms/player/parts/stats-panel/stats-panel.d.ts +14 -0
  750. package/types/ui/src/components/organisms/player/parts/storyboard-thumb/index.d.ts +1 -0
  751. package/types/ui/src/components/organisms/player/parts/storyboard-thumb/storyboard-thumb.d.ts +4 -0
  752. package/types/ui/src/components/organisms/player/parts/subtitle-renderer/index.d.ts +1 -0
  753. package/types/ui/src/components/organisms/player/parts/subtitle-renderer/subtitle-renderer.d.ts +32 -0
  754. package/types/ui/src/components/organisms/player/parts/surface-radius.d.ts +9 -0
  755. package/types/ui/src/components/organisms/player/parts/top-bar/index.d.ts +1 -0
  756. package/types/ui/src/components/organisms/player/parts/top-bar/top-bar.d.ts +24 -0
  757. package/types/ui/src/components/organisms/player/parts/transport/index.d.ts +1 -0
  758. package/types/ui/src/components/organisms/player/parts/transport/transport.d.ts +19 -0
  759. package/types/ui/src/components/organisms/player/parts/up-next-card/index.d.ts +1 -0
  760. package/types/ui/src/components/organisms/player/parts/up-next-card/up-next-card.d.ts +37 -0
  761. package/types/ui/src/components/organisms/player/parts/up-next-sheet/index.d.ts +1 -0
  762. package/types/ui/src/components/organisms/player/parts/up-next-sheet/slide.d.ts +5 -0
  763. package/types/ui/src/components/organisms/player/parts/up-next-sheet/slide.web.d.ts +5 -0
  764. package/types/ui/src/components/organisms/player/parts/up-next-sheet/up-next-sheet.d.ts +17 -0
  765. package/types/ui/src/components/organisms/player/player-chrome-state.d.ts +11 -0
  766. package/types/ui/src/components/organisms/player/player-input.d.ts +16 -0
  767. package/types/ui/src/components/organisms/player/player-parts.d.ts +34 -0
  768. package/types/ui/src/components/organisms/player/player.d.ts +63 -0
  769. package/types/ui/src/components/organisms/player/types.d.ts +226 -0
  770. package/types/ui/src/components/organisms/rail/index.d.ts +1 -0
  771. package/types/ui/src/components/organisms/rail/rail-context.d.ts +7 -0
  772. package/types/ui/src/components/organisms/rail/rail-row.d.ts +22 -0
  773. package/types/ui/src/components/organisms/rail/rail.d.ts +63 -0
  774. package/types/ui/src/components/organisms/resizable/index.d.ts +8 -0
  775. package/types/ui/src/components/organisms/resizable/resizable-context.d.ts +39 -0
  776. package/types/ui/src/components/organisms/resizable/resizable-cursor.d.ts +3 -0
  777. package/types/ui/src/components/organisms/resizable/resizable-cursor.web.d.ts +4 -0
  778. package/types/ui/src/components/organisms/resizable/resizable-handle.d.ts +30 -0
  779. package/types/ui/src/components/organisms/resizable/resizable-keys-types.d.ts +11 -0
  780. package/types/ui/src/components/organisms/resizable/resizable-keys.d.ts +3 -0
  781. package/types/ui/src/components/organisms/resizable/resizable-keys.web.d.ts +3 -0
  782. package/types/ui/src/components/organisms/resizable/resizable-layout.d.ts +55 -0
  783. package/types/ui/src/components/organisms/resizable/resizable-panel.d.ts +55 -0
  784. package/types/ui/src/components/organisms/resizable/resizable-store.d.ts +18 -0
  785. package/types/ui/src/components/organisms/resizable/resizable.d.ts +59 -0
  786. package/types/ui/src/components/organisms/splash-backdrop/index.d.ts +2 -0
  787. package/types/ui/src/components/organisms/splash-backdrop/splash-backdrop.d.ts +22 -0
  788. package/types/ui/src/components/organisms/table/index.d.ts +1 -0
  789. package/types/ui/src/components/organisms/table/table-cell.d.ts +9 -0
  790. package/types/ui/src/components/organisms/table/table-columns.d.ts +32 -0
  791. package/types/ui/src/components/organisms/table/table-context.d.ts +17 -0
  792. package/types/ui/src/components/organisms/table/table-frame.d.ts +9 -0
  793. package/types/ui/src/components/organisms/table/table-place.d.ts +8 -0
  794. package/types/ui/src/components/organisms/table/table-row.d.ts +12 -0
  795. package/types/ui/src/components/organisms/table/table-sort-cell.d.ts +14 -0
  796. package/types/ui/src/components/organisms/table/table-sort.d.ts +38 -0
  797. package/types/ui/src/components/organisms/table/table.d.ts +65 -0
  798. package/types/ui/src/components/organisms/toast/index.d.ts +1 -0
  799. package/types/ui/src/components/organisms/toast/toast-card.d.ts +8 -0
  800. package/types/ui/src/components/organisms/toast/toast.d.ts +54 -0
  801. package/types/ui/src/components/organisms/virtual/clip.d.ts +25 -0
  802. package/types/ui/src/components/organisms/virtual/index.d.ts +2 -0
  803. package/types/ui/src/components/organisms/virtual/moving-strip.d.ts +16 -0
  804. package/types/ui/src/components/organisms/virtual/strip-motion.d.ts +4 -0
  805. package/types/ui/src/components/organisms/virtual/virtual-grid/grid-row.d.ts +25 -0
  806. package/types/ui/src/components/organisms/virtual/virtual-grid/grid-rows.d.ts +57 -0
  807. package/types/ui/src/components/organisms/virtual/virtual-grid/index.d.ts +1 -0
  808. package/types/ui/src/components/organisms/virtual/virtual-grid/use-wheel-rows.d.ts +8 -0
  809. package/types/ui/src/components/organisms/virtual/virtual-grid/virtual-grid.d.ts +54 -0
  810. package/types/ui/src/components/organisms/virtual/virtual-rail/edge-scroll.d.ts +38 -0
  811. package/types/ui/src/components/organisms/virtual/virtual-rail/index.d.ts +1 -0
  812. package/types/ui/src/components/organisms/virtual/virtual-rail/rail-edge.d.ts +11 -0
  813. package/types/ui/src/components/organisms/virtual/virtual-rail/use-key-grace.d.ts +6 -0
  814. package/types/ui/src/components/organisms/virtual/virtual-rail/virtual-rail.d.ts +19 -0
  815. package/types/ui/src/components/templates/index.d.ts +2 -0
  816. package/types/ui/src/components/templates/tv-stage/index.d.ts +1 -0
  817. package/types/ui/src/components/templates/tv-stage/tv-stage.d.ts +7 -0
  818. package/types/ui/src/core/atomic/index.d.ts +5 -0
  819. package/types/ui/src/core/atomic/inject.d.ts +3 -0
  820. package/types/ui/src/core/atomic/register.d.ts +13 -0
  821. package/types/ui/src/core/atomic/static-style.d.ts +8 -0
  822. package/types/ui/src/core/breakpoint-cascade.d.ts +45 -0
  823. package/types/ui/src/core/breakpoint.d.ts +21 -0
  824. package/types/ui/src/core/color.d.ts +21 -0
  825. package/types/ui/src/core/index.d.ts +20 -0
  826. package/types/ui/src/core/normalize.d.ts +21 -0
  827. package/types/ui/src/core/recipe.d.ts +21 -0
  828. package/types/ui/src/core/shorthand-resolve.d.ts +54 -0
  829. package/types/ui/src/core/shorthands.d.ts +187 -0
  830. package/types/ui/src/core/stabilise.d.ts +14 -0
  831. package/types/ui/src/core/states.d.ts +16 -0
  832. package/types/ui/src/core/styles.d.ts +59 -0
  833. package/types/ui/src/core/theme-create.d.ts +64 -0
  834. package/types/ui/src/core/theme-mode.d.ts +15 -0
  835. package/types/ui/src/core/theme.d.ts +72 -0
  836. package/types/ui/src/core/tokens/colors.d.ts +109 -0
  837. package/types/ui/src/core/tokens/css-palette.d.ts +19 -0
  838. package/types/ui/src/core/tokens/css-var.d.ts +8 -0
  839. package/types/ui/src/core/tokens/effects.d.ts +103 -0
  840. package/types/ui/src/core/tokens/index.d.ts +10 -0
  841. package/types/ui/src/core/tokens/layout.d.ts +94 -0
  842. package/types/ui/src/core/tokens/mobile.d.ts +91 -0
  843. package/types/ui/src/core/tokens/registry.d.ts +4 -0
  844. package/types/ui/src/core/tokens/typography.d.ts +232 -0
  845. package/types/ui/src/core/types.d.ts +122 -0
  846. package/types/ui/src/core/use-breakpoint.d.ts +16 -0
  847. package/types/ui/src/core/use-theme.d.ts +30 -0
  848. package/types/ui/src/core/web-style.d.ts +91 -0
  849. package/types/ui/src/index.d.ts +20 -0
  850. package/types/ui/src/kit.d.ts +74 -0
  851. package/types/ui/src/lib/a11y-props.d.ts +26 -0
  852. package/types/ui/src/lib/a11y.d.ts +8 -0
  853. package/types/ui/src/lib/anchor.d.ts +32 -0
  854. package/types/ui/src/lib/anchored-keys.d.ts +41 -0
  855. package/types/ui/src/lib/anchored-panel.d.ts +42 -0
  856. package/types/ui/src/lib/anchored-popup.d.ts +17 -0
  857. package/types/ui/src/lib/box-layers.d.ts +10 -0
  858. package/types/ui/src/lib/box-style.d.ts +16 -0
  859. package/types/ui/src/lib/caret.d.ts +8 -0
  860. package/types/ui/src/lib/classed.d.ts +3 -0
  861. package/types/ui/src/lib/cover-rect.d.ts +26 -0
  862. package/types/ui/src/lib/css.d.ts +19 -0
  863. package/types/ui/src/lib/css.web.d.ts +25 -0
  864. package/types/ui/src/lib/cursor.d.ts +17 -0
  865. package/types/ui/src/lib/dismiss-backdrop.d.ts +11 -0
  866. package/types/ui/src/lib/dom.d.ts +12 -0
  867. package/types/ui/src/lib/drag-select.d.ts +1 -0
  868. package/types/ui/src/lib/drag-select.web.d.ts +13 -0
  869. package/types/ui/src/lib/ease.d.ts +13 -0
  870. package/types/ui/src/lib/escape-guard.d.ts +1 -0
  871. package/types/ui/src/lib/expo-image-backend.d.ts +5 -0
  872. package/types/ui/src/lib/field-shell.d.ts +140 -0
  873. package/types/ui/src/lib/focus-entry.d.ts +20 -0
  874. package/types/ui/src/lib/focus-here.d.ts +11 -0
  875. package/types/ui/src/lib/focus-here.web.d.ts +7 -0
  876. package/types/ui/src/lib/focus-lift.d.ts +39 -0
  877. package/types/ui/src/lib/focus-nav.d.ts +3 -0
  878. package/types/ui/src/lib/focus-nav.web.d.ts +2 -0
  879. package/types/ui/src/lib/focus-platform.d.ts +30 -0
  880. package/types/ui/src/lib/focus-presence.d.ts +5 -0
  881. package/types/ui/src/lib/focus-remote.d.ts +39 -0
  882. package/types/ui/src/lib/focus-remote.web.d.ts +16 -0
  883. package/types/ui/src/lib/focus-report.d.ts +18 -0
  884. package/types/ui/src/lib/focus-root.d.ts +22 -0
  885. package/types/ui/src/lib/focus-root.web.d.ts +3 -0
  886. package/types/ui/src/lib/focus-scope.d.ts +59 -0
  887. package/types/ui/src/lib/focus-scroll.d.ts +69 -0
  888. package/types/ui/src/lib/focus-tab.d.ts +12 -0
  889. package/types/ui/src/lib/focus-transition.d.ts +11 -0
  890. package/types/ui/src/lib/focus-transition.web.d.ts +3 -0
  891. package/types/ui/src/lib/focus-types.d.ts +18 -0
  892. package/types/ui/src/lib/focus-visible.d.ts +21 -0
  893. package/types/ui/src/lib/form/index.d.ts +4 -0
  894. package/types/ui/src/lib/form/message.d.ts +10 -0
  895. package/types/ui/src/lib/form/standard-schema.d.ts +27 -0
  896. package/types/ui/src/lib/form/use-form.d.ts +59 -0
  897. package/types/ui/src/lib/fuzzy-search.d.ts +20 -0
  898. package/types/ui/src/lib/genre-icon.d.ts +4 -0
  899. package/types/ui/src/lib/glyph.d.ts +24 -0
  900. package/types/ui/src/lib/group-shape.d.ts +44 -0
  901. package/types/ui/src/lib/hover-passthrough.d.ts +9 -0
  902. package/types/ui/src/lib/icon-catalog.d.ts +19 -0
  903. package/types/ui/src/lib/icon-search.d.ts +18 -0
  904. package/types/ui/src/lib/icons/every-glyph.d.ts +4 -0
  905. package/types/ui/src/lib/icons/every-glyph.web.d.ts +4 -0
  906. package/types/ui/src/lib/icons/glyph-source.d.ts +3 -0
  907. package/types/ui/src/lib/icons/glyphs.d.ts +34 -0
  908. package/types/ui/src/lib/icons/library.d.ts +19 -0
  909. package/types/ui/src/lib/icons/stroke-prop.d.ts +2 -0
  910. package/types/ui/src/lib/icons/stroke-prop.web.d.ts +2 -0
  911. package/types/ui/src/lib/image-backend.d.ts +26 -0
  912. package/types/ui/src/lib/input-gate.d.ts +11 -0
  913. package/types/ui/src/lib/input-source.d.ts +3 -0
  914. package/types/ui/src/lib/landmark.d.ts +4 -0
  915. package/types/ui/src/lib/landmark.web.d.ts +4 -0
  916. package/types/ui/src/lib/lockup-paths.d.ts +10 -0
  917. package/types/ui/src/lib/loop.d.ts +15 -0
  918. package/types/ui/src/lib/loop.web.d.ts +5 -0
  919. package/types/ui/src/lib/modal-portal.d.ts +3 -0
  920. package/types/ui/src/lib/modal-portal.web.d.ts +8 -0
  921. package/types/ui/src/lib/name-of.d.ts +9 -0
  922. package/types/ui/src/lib/nav-style.d.ts +5 -0
  923. package/types/ui/src/lib/overlay-host.d.ts +23 -0
  924. package/types/ui/src/lib/part-context.d.ts +8 -0
  925. package/types/ui/src/lib/perf-memory.d.ts +12 -0
  926. package/types/ui/src/lib/perf-memory.web.d.ts +4 -0
  927. package/types/ui/src/lib/perf.d.ts +35 -0
  928. package/types/ui/src/lib/platform.d.ts +3 -0
  929. package/types/ui/src/lib/platform.web.d.ts +2 -0
  930. package/types/ui/src/lib/portal.d.ts +10 -0
  931. package/types/ui/src/lib/portal.web.d.ts +17 -0
  932. package/types/ui/src/lib/press-dip.d.ts +26 -0
  933. package/types/ui/src/lib/press-guard.d.ts +8 -0
  934. package/types/ui/src/lib/progress-motion.d.ts +11 -0
  935. package/types/ui/src/lib/progress-motion.web.d.ts +11 -0
  936. package/types/ui/src/lib/reduced-motion.d.ts +7 -0
  937. package/types/ui/src/lib/report-categories.d.ts +10 -0
  938. package/types/ui/src/lib/ring-room.d.ts +27 -0
  939. package/types/ui/src/lib/ring-scope.d.ts +6 -0
  940. package/types/ui/src/lib/ring.d.ts +27 -0
  941. package/types/ui/src/lib/sample-art.d.ts +9 -0
  942. package/types/ui/src/lib/scroll-lock.d.ts +1 -0
  943. package/types/ui/src/lib/scroll-lock.web.d.ts +6 -0
  944. package/types/ui/src/lib/shake.d.ts +8 -0
  945. package/types/ui/src/lib/shake.web.d.ts +4 -0
  946. package/types/ui/src/lib/slot.d.ts +36 -0
  947. package/types/ui/src/lib/sort-icon.d.ts +5 -0
  948. package/types/ui/src/lib/splash-motion.d.ts +25 -0
  949. package/types/ui/src/lib/splash-motion.web.d.ts +15 -0
  950. package/types/ui/src/lib/stable-callback.d.ts +9 -0
  951. package/types/ui/src/lib/surface-bands.d.ts +26 -0
  952. package/types/ui/src/lib/surface-presentation.d.ts +17 -0
  953. package/types/ui/src/lib/surface-shell.d.ts +21 -0
  954. package/types/ui/src/lib/svg.d.ts +1 -0
  955. package/types/ui/src/lib/svg.web.d.ts +17 -0
  956. package/types/ui/src/lib/theme-audio.d.ts +7 -0
  957. package/types/ui/src/lib/tv-remote.d.ts +11 -0
  958. package/types/ui/src/lib/use-complete-once.d.ts +12 -0
  959. package/types/ui/src/lib/use-controllable.d.ts +1 -0
  960. package/types/ui/src/lib/use-copy.d.ts +20 -0
  961. package/types/ui/src/lib/use-growing-count.d.ts +12 -0
  962. package/types/ui/src/lib/use-settled-value.d.ts +5 -0
  963. package/types/ui/src/lib/wheel-pan.d.ts +7 -0
  964. package/types/ui/src/lib/wheel-pan.web.d.ts +11 -0
  965. package/types/ui/src/lib/wheel-paths.d.ts +5 -0
  966. package/types/ui/src/services/aiSuggest.d.ts +15 -0
  967. package/types/ui/src/services/auth.d.ts +41 -0
  968. package/types/ui/src/services/cast-context.d.ts +33 -0
  969. package/types/ui/src/services/cast-events.d.ts +23 -0
  970. package/types/ui/src/services/cast-lan.d.ts +21 -0
  971. package/types/ui/src/services/cast-position.d.ts +14 -0
  972. package/types/ui/src/services/cast.d.ts +20 -0
  973. package/types/ui/src/services/format.d.ts +25 -0
  974. package/types/ui/src/services/i18n.d.ts +18 -0
  975. package/types/ui/src/services/locale.d.ts +18 -0
  976. package/types/ui/src/services/playback.d.ts +49 -0
  977. package/types/ui/src/services/storyboard.d.ts +33 -0
  978. package/types/ui/src/services/subtitleGenerations.d.ts +13 -0
  979. package/types/ui/src/services/themeAudio.d.ts +19 -0
  980. package/types/ui/src/services/themeAudio.native.d.ts +8 -0
  981. package/types/ui/src/ssr.d.ts +20 -0
  982. package/types/ui/src/styles/motion.d.ts +2 -0
  983. package/types/ui/src/styles/page.d.ts +2 -0
  984. package/types/ui/src/styles/reset.d.ts +2 -0
  985. package/types/ui/src/styles/sheet.d.ts +18 -0
  986. package/types/ui/src/testing.d.ts +27 -0
  987. package/types/ui/src/workbench-config.d.ts +9 -0
@@ -0,0 +1,2160 @@
1
+ import type { Query, RequestContext } from '../../core/client';
2
+ import type { ItemId, LibraryId, ShowId } from './ids';
3
+ import { MediaItem, Show, SplashEntry } from './schemas';
4
+ import { type HlsAudioFilter, StoryboardManifest } from './tracks';
5
+ /** What this device can decode, for the HLS master builder.
6
+ *
7
+ * `copyCodecs` names the audio and `videoCodecs` the video, letting the server
8
+ * override a stream copy it would play silent or black; omitted means no
9
+ * declaration, an empty array means none. `copyCodecs` is read only for a copy
10
+ * request, `videoCodecs` for every mode. `maxFrame` is the largest picture this
11
+ * decoder accepts: a bigger source is fitted inside the nearest rung under it.
12
+ * Both axes, because a scope frame breaks the width limit while clearing the
13
+ * height one. */
14
+ export interface HlsMasterDeclaration {
15
+ filter?: HlsAudioFilter;
16
+ copyCodecs?: string[];
17
+ videoCodecs?: string[];
18
+ maxFrame?: {
19
+ width: number;
20
+ height: number;
21
+ };
22
+ }
23
+ /** The `?copy=&video=&maxw=&maxh=` a stream request carries: what this device can
24
+ * decode, and the largest picture it accepts. An EMPTY codec list is itself a
25
+ * declaration ("decode none"), which is why it is not the same as no list. */
26
+ export declare function streamQuery({ copyCodecs, videoCodecs, maxFrame }: HlsMasterDeclaration): Query;
27
+ /** The catalogue: what the library holds, and the URLs that play it. */
28
+ export default function mediaApi(ctx: RequestContext): {
29
+ artwork: {
30
+ resolve: (url?: string | null, width?: number) => string | null;
31
+ posterUrl: (id: ItemId) => string;
32
+ showPosterUrl: (id: ShowId) => string;
33
+ posterFor: (x: {
34
+ id: ItemId;
35
+ metadata?: import("./credits").Metadata | null;
36
+ }, width?: number) => string;
37
+ showPosterFor: (x: Pick<Show, 'id' | 'metadata'>, width?: number) => string;
38
+ backdropFor: (x: {
39
+ metadata?: import("./credits").Metadata | null;
40
+ }, width?: number) => string | null;
41
+ themeFor: (x: {
42
+ metadata?: import("./credits").Metadata | null;
43
+ }) => string | null;
44
+ posterBlob: (item: Pick<MediaItem, 'id' | 'metadata'>) => Promise<Blob>;
45
+ };
46
+ rematch: {
47
+ candidates: (kind: import("./schemas").RematchKind, id: import("./ids").SubjectId, query?: string) => Promise<{
48
+ query: string;
49
+ year?: number | null | undefined;
50
+ currentTmdbId?: number | null | undefined;
51
+ pinned: boolean;
52
+ results: {
53
+ tmdbId: number;
54
+ title: string;
55
+ originalTitle?: string | null | undefined;
56
+ year?: number | null | undefined;
57
+ posterUrl?: string | null | undefined;
58
+ overview?: string | null | undefined;
59
+ rating?: number | null | undefined;
60
+ score: number;
61
+ current: boolean;
62
+ }[];
63
+ }>;
64
+ set: (kind: import("./schemas").RematchKind, id: import("./ids").SubjectId, tmdbId: number | null) => Promise<void>;
65
+ };
66
+ /** Server liveness + counts. Takes a `signal` so a client-side heartbeat can
67
+ * bound the probe with a short timeout. */
68
+ health: (opts?: {
69
+ signal?: AbortSignal;
70
+ }) => Promise<{
71
+ status: string;
72
+ name?: string | undefined;
73
+ instanceId?: string | undefined;
74
+ version: string;
75
+ ffprobe: boolean;
76
+ libraries: number;
77
+ items: number;
78
+ shows: number;
79
+ }>;
80
+ /** Anonymous sign-in splash: a small random sample of backdrop art with
81
+ * captions, art URLs resolved against the server base like every poster. */
82
+ splash: () => Promise<SplashEntry[]>;
83
+ libraries: () => Promise<{
84
+ id: string & import("zod").$brand<"LibraryId">;
85
+ name: string;
86
+ kind: "mixed" | "movies" | "shows";
87
+ path: string;
88
+ itemCount: number;
89
+ }[]>;
90
+ /** All playable items (movies + episodes). */
91
+ items: (library?: LibraryId) => Promise<{
92
+ container: string;
93
+ durationMs: number | null;
94
+ relPath: string | null;
95
+ video: {
96
+ codec: string;
97
+ width: number | null;
98
+ height: number | null;
99
+ hdr: boolean;
100
+ bitDepth: number | null;
101
+ } | null;
102
+ audio: {
103
+ index: number;
104
+ codec: string;
105
+ channels: number | null;
106
+ language: string | null;
107
+ title?: string | null | undefined;
108
+ default: boolean;
109
+ } | null;
110
+ audioTracks: {
111
+ index: number;
112
+ codec: string;
113
+ channels: number | null;
114
+ language: string | null;
115
+ title?: string | null | undefined;
116
+ default: boolean;
117
+ }[];
118
+ subtitles: {
119
+ language: string | null;
120
+ codec: string;
121
+ }[];
122
+ title: string;
123
+ year: number | null;
124
+ library: string & import("zod").$brand<"LibraryId">;
125
+ addedAt: string;
126
+ metadata?: {
127
+ provider: string;
128
+ tmdbId: number;
129
+ imdbId?: string | null | undefined;
130
+ title: string | null;
131
+ tagline?: string | null | undefined;
132
+ overview: string | null;
133
+ releaseDate?: string | null | undefined;
134
+ genres: string[];
135
+ tmdbGenreIds?: number[] | null | undefined;
136
+ rating?: number | null | undefined;
137
+ certification?: string | null | undefined;
138
+ posterUrl?: string | null | undefined;
139
+ backdropUrl?: string | null | undefined;
140
+ logoUrl?: string | null | undefined;
141
+ themeUrl?: string | null | undefined;
142
+ cast?: {
143
+ name: string;
144
+ tmdbId?: number | null | undefined;
145
+ profileUrl?: string | null | undefined;
146
+ character?: string | null | undefined;
147
+ }[] | null | undefined;
148
+ crew?: {
149
+ name: string;
150
+ tmdbId?: number | null | undefined;
151
+ profileUrl?: string | null | undefined;
152
+ job: string;
153
+ }[] | null | undefined;
154
+ tmdbUrl: string;
155
+ } | null | undefined;
156
+ id: string & import("zod").$brand<"ItemId">;
157
+ kind: "episode" | "movie" | "video";
158
+ showId: (string & import("zod").$brand<"ShowId">) | null;
159
+ showTitle: string | null;
160
+ season: number | null;
161
+ episode: number | null;
162
+ episodeEnd: number | null;
163
+ episodeTitle: string | null;
164
+ files: {
165
+ container: string;
166
+ durationMs: number | null;
167
+ relPath: string | null;
168
+ video: {
169
+ codec: string;
170
+ width: number | null;
171
+ height: number | null;
172
+ hdr: boolean;
173
+ bitDepth: number | null;
174
+ } | null;
175
+ audio: {
176
+ index: number;
177
+ codec: string;
178
+ channels: number | null;
179
+ language: string | null;
180
+ title?: string | null | undefined;
181
+ default: boolean;
182
+ } | null;
183
+ audioTracks: {
184
+ index: number;
185
+ codec: string;
186
+ channels: number | null;
187
+ language: string | null;
188
+ title?: string | null | undefined;
189
+ default: boolean;
190
+ }[];
191
+ subtitles: {
192
+ language: string | null;
193
+ codec: string;
194
+ }[];
195
+ id: string & import("zod").$brand<"MediaFileId">;
196
+ size: number | null;
197
+ edition?: string | null | undefined;
198
+ probed: boolean;
199
+ }[];
200
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
201
+ markers?: {
202
+ kind: "credits" | "intro";
203
+ startMs: number;
204
+ endMs: number;
205
+ }[] | null | undefined;
206
+ audioAnalysis?: {
207
+ lufsI: number;
208
+ lra: number;
209
+ truePeak: number;
210
+ dialogLufs?: number | null | undefined;
211
+ verdict: "highDynamics" | "ok" | "quietDialog";
212
+ } | null | undefined;
213
+ }[]>;
214
+ /** Movies only (excludes episodes). */
215
+ movies: (library?: LibraryId) => Promise<{
216
+ container: string;
217
+ durationMs: number | null;
218
+ relPath: string | null;
219
+ video: {
220
+ codec: string;
221
+ width: number | null;
222
+ height: number | null;
223
+ hdr: boolean;
224
+ bitDepth: number | null;
225
+ } | null;
226
+ audio: {
227
+ index: number;
228
+ codec: string;
229
+ channels: number | null;
230
+ language: string | null;
231
+ title?: string | null | undefined;
232
+ default: boolean;
233
+ } | null;
234
+ audioTracks: {
235
+ index: number;
236
+ codec: string;
237
+ channels: number | null;
238
+ language: string | null;
239
+ title?: string | null | undefined;
240
+ default: boolean;
241
+ }[];
242
+ subtitles: {
243
+ language: string | null;
244
+ codec: string;
245
+ }[];
246
+ title: string;
247
+ year: number | null;
248
+ library: string & import("zod").$brand<"LibraryId">;
249
+ addedAt: string;
250
+ metadata?: {
251
+ provider: string;
252
+ tmdbId: number;
253
+ imdbId?: string | null | undefined;
254
+ title: string | null;
255
+ tagline?: string | null | undefined;
256
+ overview: string | null;
257
+ releaseDate?: string | null | undefined;
258
+ genres: string[];
259
+ tmdbGenreIds?: number[] | null | undefined;
260
+ rating?: number | null | undefined;
261
+ certification?: string | null | undefined;
262
+ posterUrl?: string | null | undefined;
263
+ backdropUrl?: string | null | undefined;
264
+ logoUrl?: string | null | undefined;
265
+ themeUrl?: string | null | undefined;
266
+ cast?: {
267
+ name: string;
268
+ tmdbId?: number | null | undefined;
269
+ profileUrl?: string | null | undefined;
270
+ character?: string | null | undefined;
271
+ }[] | null | undefined;
272
+ crew?: {
273
+ name: string;
274
+ tmdbId?: number | null | undefined;
275
+ profileUrl?: string | null | undefined;
276
+ job: string;
277
+ }[] | null | undefined;
278
+ tmdbUrl: string;
279
+ } | null | undefined;
280
+ id: string & import("zod").$brand<"ItemId">;
281
+ kind: "episode" | "movie" | "video";
282
+ showId: (string & import("zod").$brand<"ShowId">) | null;
283
+ showTitle: string | null;
284
+ season: number | null;
285
+ episode: number | null;
286
+ episodeEnd: number | null;
287
+ episodeTitle: string | null;
288
+ files: {
289
+ container: string;
290
+ durationMs: number | null;
291
+ relPath: string | null;
292
+ video: {
293
+ codec: string;
294
+ width: number | null;
295
+ height: number | null;
296
+ hdr: boolean;
297
+ bitDepth: number | null;
298
+ } | null;
299
+ audio: {
300
+ index: number;
301
+ codec: string;
302
+ channels: number | null;
303
+ language: string | null;
304
+ title?: string | null | undefined;
305
+ default: boolean;
306
+ } | null;
307
+ audioTracks: {
308
+ index: number;
309
+ codec: string;
310
+ channels: number | null;
311
+ language: string | null;
312
+ title?: string | null | undefined;
313
+ default: boolean;
314
+ }[];
315
+ subtitles: {
316
+ language: string | null;
317
+ codec: string;
318
+ }[];
319
+ id: string & import("zod").$brand<"MediaFileId">;
320
+ size: number | null;
321
+ edition?: string | null | undefined;
322
+ probed: boolean;
323
+ }[];
324
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
325
+ markers?: {
326
+ kind: "credits" | "intro";
327
+ startMs: number;
328
+ endMs: number;
329
+ }[] | null | undefined;
330
+ audioAnalysis?: {
331
+ lufsI: number;
332
+ lra: number;
333
+ truePeak: number;
334
+ dialogLufs?: number | null | undefined;
335
+ verdict: "highDynamics" | "ok" | "quietDialog";
336
+ } | null | undefined;
337
+ }[]>;
338
+ /** TV shows (aggregates). */
339
+ shows: (library?: LibraryId) => Promise<{
340
+ title: string;
341
+ year: number | null;
342
+ library: string & import("zod").$brand<"LibraryId">;
343
+ video: {
344
+ codec: string;
345
+ width: number | null;
346
+ height: number | null;
347
+ hdr: boolean;
348
+ bitDepth: number | null;
349
+ } | null;
350
+ addedAt: string;
351
+ metadata?: {
352
+ provider: string;
353
+ tmdbId: number;
354
+ imdbId?: string | null | undefined;
355
+ title: string | null;
356
+ tagline?: string | null | undefined;
357
+ overview: string | null;
358
+ releaseDate?: string | null | undefined;
359
+ genres: string[];
360
+ tmdbGenreIds?: number[] | null | undefined;
361
+ rating?: number | null | undefined;
362
+ certification?: string | null | undefined;
363
+ posterUrl?: string | null | undefined;
364
+ backdropUrl?: string | null | undefined;
365
+ logoUrl?: string | null | undefined;
366
+ themeUrl?: string | null | undefined;
367
+ cast?: {
368
+ name: string;
369
+ tmdbId?: number | null | undefined;
370
+ profileUrl?: string | null | undefined;
371
+ character?: string | null | undefined;
372
+ }[] | null | undefined;
373
+ crew?: {
374
+ name: string;
375
+ tmdbId?: number | null | undefined;
376
+ profileUrl?: string | null | undefined;
377
+ job: string;
378
+ }[] | null | undefined;
379
+ tmdbUrl: string;
380
+ } | null | undefined;
381
+ id: string & import("zod").$brand<"ShowId">;
382
+ seasonCount: number;
383
+ episodeCount: number;
384
+ progress?: number | null | undefined;
385
+ }[]>;
386
+ /** One show with its seasons + episodes. */
387
+ show: (id: ShowId) => Promise<{
388
+ show: {
389
+ title: string;
390
+ year: number | null;
391
+ library: string & import("zod").$brand<"LibraryId">;
392
+ video: {
393
+ codec: string;
394
+ width: number | null;
395
+ height: number | null;
396
+ hdr: boolean;
397
+ bitDepth: number | null;
398
+ } | null;
399
+ addedAt: string;
400
+ metadata?: {
401
+ provider: string;
402
+ tmdbId: number;
403
+ imdbId?: string | null | undefined;
404
+ title: string | null;
405
+ tagline?: string | null | undefined;
406
+ overview: string | null;
407
+ releaseDate?: string | null | undefined;
408
+ genres: string[];
409
+ tmdbGenreIds?: number[] | null | undefined;
410
+ rating?: number | null | undefined;
411
+ certification?: string | null | undefined;
412
+ posterUrl?: string | null | undefined;
413
+ backdropUrl?: string | null | undefined;
414
+ logoUrl?: string | null | undefined;
415
+ themeUrl?: string | null | undefined;
416
+ cast?: {
417
+ name: string;
418
+ tmdbId?: number | null | undefined;
419
+ profileUrl?: string | null | undefined;
420
+ character?: string | null | undefined;
421
+ }[] | null | undefined;
422
+ crew?: {
423
+ name: string;
424
+ tmdbId?: number | null | undefined;
425
+ profileUrl?: string | null | undefined;
426
+ job: string;
427
+ }[] | null | undefined;
428
+ tmdbUrl: string;
429
+ } | null | undefined;
430
+ id: string & import("zod").$brand<"ShowId">;
431
+ seasonCount: number;
432
+ episodeCount: number;
433
+ progress?: number | null | undefined;
434
+ };
435
+ seasons: {
436
+ number: number;
437
+ episodes: {
438
+ container: string;
439
+ durationMs: number | null;
440
+ relPath: string | null;
441
+ video: {
442
+ codec: string;
443
+ width: number | null;
444
+ height: number | null;
445
+ hdr: boolean;
446
+ bitDepth: number | null;
447
+ } | null;
448
+ audio: {
449
+ index: number;
450
+ codec: string;
451
+ channels: number | null;
452
+ language: string | null;
453
+ title?: string | null | undefined;
454
+ default: boolean;
455
+ } | null;
456
+ audioTracks: {
457
+ index: number;
458
+ codec: string;
459
+ channels: number | null;
460
+ language: string | null;
461
+ title?: string | null | undefined;
462
+ default: boolean;
463
+ }[];
464
+ subtitles: {
465
+ language: string | null;
466
+ codec: string;
467
+ }[];
468
+ title: string;
469
+ year: number | null;
470
+ library: string & import("zod").$brand<"LibraryId">;
471
+ addedAt: string;
472
+ metadata?: {
473
+ provider: string;
474
+ tmdbId: number;
475
+ imdbId?: string | null | undefined;
476
+ title: string | null;
477
+ tagline?: string | null | undefined;
478
+ overview: string | null;
479
+ releaseDate?: string | null | undefined;
480
+ genres: string[];
481
+ tmdbGenreIds?: number[] | null | undefined;
482
+ rating?: number | null | undefined;
483
+ certification?: string | null | undefined;
484
+ posterUrl?: string | null | undefined;
485
+ backdropUrl?: string | null | undefined;
486
+ logoUrl?: string | null | undefined;
487
+ themeUrl?: string | null | undefined;
488
+ cast?: {
489
+ name: string;
490
+ tmdbId?: number | null | undefined;
491
+ profileUrl?: string | null | undefined;
492
+ character?: string | null | undefined;
493
+ }[] | null | undefined;
494
+ crew?: {
495
+ name: string;
496
+ tmdbId?: number | null | undefined;
497
+ profileUrl?: string | null | undefined;
498
+ job: string;
499
+ }[] | null | undefined;
500
+ tmdbUrl: string;
501
+ } | null | undefined;
502
+ id: string & import("zod").$brand<"ItemId">;
503
+ kind: "episode" | "movie" | "video";
504
+ showId: (string & import("zod").$brand<"ShowId">) | null;
505
+ showTitle: string | null;
506
+ season: number | null;
507
+ episode: number | null;
508
+ episodeEnd: number | null;
509
+ episodeTitle: string | null;
510
+ files: {
511
+ container: string;
512
+ durationMs: number | null;
513
+ relPath: string | null;
514
+ video: {
515
+ codec: string;
516
+ width: number | null;
517
+ height: number | null;
518
+ hdr: boolean;
519
+ bitDepth: number | null;
520
+ } | null;
521
+ audio: {
522
+ index: number;
523
+ codec: string;
524
+ channels: number | null;
525
+ language: string | null;
526
+ title?: string | null | undefined;
527
+ default: boolean;
528
+ } | null;
529
+ audioTracks: {
530
+ index: number;
531
+ codec: string;
532
+ channels: number | null;
533
+ language: string | null;
534
+ title?: string | null | undefined;
535
+ default: boolean;
536
+ }[];
537
+ subtitles: {
538
+ language: string | null;
539
+ codec: string;
540
+ }[];
541
+ id: string & import("zod").$brand<"MediaFileId">;
542
+ size: number | null;
543
+ edition?: string | null | undefined;
544
+ probed: boolean;
545
+ }[];
546
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
547
+ markers?: {
548
+ kind: "credits" | "intro";
549
+ startMs: number;
550
+ endMs: number;
551
+ }[] | null | undefined;
552
+ audioAnalysis?: {
553
+ lufsI: number;
554
+ lra: number;
555
+ truePeak: number;
556
+ dialogLufs?: number | null | undefined;
557
+ verdict: "highDynamics" | "ok" | "quietDialog";
558
+ } | null | undefined;
559
+ }[];
560
+ cast?: {
561
+ name: string;
562
+ tmdbId?: number | null | undefined;
563
+ profileUrl?: string | null | undefined;
564
+ character?: string | null | undefined;
565
+ }[] | null | undefined;
566
+ }[];
567
+ }>;
568
+ item: (id: ItemId) => Promise<{
569
+ container: string;
570
+ durationMs: number | null;
571
+ relPath: string | null;
572
+ video: {
573
+ codec: string;
574
+ width: number | null;
575
+ height: number | null;
576
+ hdr: boolean;
577
+ bitDepth: number | null;
578
+ } | null;
579
+ audio: {
580
+ index: number;
581
+ codec: string;
582
+ channels: number | null;
583
+ language: string | null;
584
+ title?: string | null | undefined;
585
+ default: boolean;
586
+ } | null;
587
+ audioTracks: {
588
+ index: number;
589
+ codec: string;
590
+ channels: number | null;
591
+ language: string | null;
592
+ title?: string | null | undefined;
593
+ default: boolean;
594
+ }[];
595
+ subtitles: {
596
+ language: string | null;
597
+ codec: string;
598
+ }[];
599
+ title: string;
600
+ year: number | null;
601
+ library: string & import("zod").$brand<"LibraryId">;
602
+ addedAt: string;
603
+ metadata?: {
604
+ provider: string;
605
+ tmdbId: number;
606
+ imdbId?: string | null | undefined;
607
+ title: string | null;
608
+ tagline?: string | null | undefined;
609
+ overview: string | null;
610
+ releaseDate?: string | null | undefined;
611
+ genres: string[];
612
+ tmdbGenreIds?: number[] | null | undefined;
613
+ rating?: number | null | undefined;
614
+ certification?: string | null | undefined;
615
+ posterUrl?: string | null | undefined;
616
+ backdropUrl?: string | null | undefined;
617
+ logoUrl?: string | null | undefined;
618
+ themeUrl?: string | null | undefined;
619
+ cast?: {
620
+ name: string;
621
+ tmdbId?: number | null | undefined;
622
+ profileUrl?: string | null | undefined;
623
+ character?: string | null | undefined;
624
+ }[] | null | undefined;
625
+ crew?: {
626
+ name: string;
627
+ tmdbId?: number | null | undefined;
628
+ profileUrl?: string | null | undefined;
629
+ job: string;
630
+ }[] | null | undefined;
631
+ tmdbUrl: string;
632
+ } | null | undefined;
633
+ id: string & import("zod").$brand<"ItemId">;
634
+ kind: "episode" | "movie" | "video";
635
+ showId: (string & import("zod").$brand<"ShowId">) | null;
636
+ showTitle: string | null;
637
+ season: number | null;
638
+ episode: number | null;
639
+ episodeEnd: number | null;
640
+ episodeTitle: string | null;
641
+ files: {
642
+ container: string;
643
+ durationMs: number | null;
644
+ relPath: string | null;
645
+ video: {
646
+ codec: string;
647
+ width: number | null;
648
+ height: number | null;
649
+ hdr: boolean;
650
+ bitDepth: number | null;
651
+ } | null;
652
+ audio: {
653
+ index: number;
654
+ codec: string;
655
+ channels: number | null;
656
+ language: string | null;
657
+ title?: string | null | undefined;
658
+ default: boolean;
659
+ } | null;
660
+ audioTracks: {
661
+ index: number;
662
+ codec: string;
663
+ channels: number | null;
664
+ language: string | null;
665
+ title?: string | null | undefined;
666
+ default: boolean;
667
+ }[];
668
+ subtitles: {
669
+ language: string | null;
670
+ codec: string;
671
+ }[];
672
+ id: string & import("zod").$brand<"MediaFileId">;
673
+ size: number | null;
674
+ edition?: string | null | undefined;
675
+ probed: boolean;
676
+ }[];
677
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
678
+ markers?: {
679
+ kind: "credits" | "intro";
680
+ startMs: number;
681
+ endMs: number;
682
+ }[] | null | undefined;
683
+ audioAnalysis?: {
684
+ lufsI: number;
685
+ lra: number;
686
+ truePeak: number;
687
+ dialogLufs?: number | null | undefined;
688
+ verdict: "highDynamics" | "ok" | "quietDialog";
689
+ } | null | undefined;
690
+ }>;
691
+ /** "More like this": content-embedding neighbours of a title (public). */
692
+ similar: (id: ItemId) => Promise<{
693
+ container: string;
694
+ durationMs: number | null;
695
+ relPath: string | null;
696
+ video: {
697
+ codec: string;
698
+ width: number | null;
699
+ height: number | null;
700
+ hdr: boolean;
701
+ bitDepth: number | null;
702
+ } | null;
703
+ audio: {
704
+ index: number;
705
+ codec: string;
706
+ channels: number | null;
707
+ language: string | null;
708
+ title?: string | null | undefined;
709
+ default: boolean;
710
+ } | null;
711
+ audioTracks: {
712
+ index: number;
713
+ codec: string;
714
+ channels: number | null;
715
+ language: string | null;
716
+ title?: string | null | undefined;
717
+ default: boolean;
718
+ }[];
719
+ subtitles: {
720
+ language: string | null;
721
+ codec: string;
722
+ }[];
723
+ title: string;
724
+ year: number | null;
725
+ library: string & import("zod").$brand<"LibraryId">;
726
+ addedAt: string;
727
+ metadata?: {
728
+ provider: string;
729
+ tmdbId: number;
730
+ imdbId?: string | null | undefined;
731
+ title: string | null;
732
+ tagline?: string | null | undefined;
733
+ overview: string | null;
734
+ releaseDate?: string | null | undefined;
735
+ genres: string[];
736
+ tmdbGenreIds?: number[] | null | undefined;
737
+ rating?: number | null | undefined;
738
+ certification?: string | null | undefined;
739
+ posterUrl?: string | null | undefined;
740
+ backdropUrl?: string | null | undefined;
741
+ logoUrl?: string | null | undefined;
742
+ themeUrl?: string | null | undefined;
743
+ cast?: {
744
+ name: string;
745
+ tmdbId?: number | null | undefined;
746
+ profileUrl?: string | null | undefined;
747
+ character?: string | null | undefined;
748
+ }[] | null | undefined;
749
+ crew?: {
750
+ name: string;
751
+ tmdbId?: number | null | undefined;
752
+ profileUrl?: string | null | undefined;
753
+ job: string;
754
+ }[] | null | undefined;
755
+ tmdbUrl: string;
756
+ } | null | undefined;
757
+ id: string & import("zod").$brand<"ItemId">;
758
+ kind: "episode" | "movie" | "video";
759
+ showId: (string & import("zod").$brand<"ShowId">) | null;
760
+ showTitle: string | null;
761
+ season: number | null;
762
+ episode: number | null;
763
+ episodeEnd: number | null;
764
+ episodeTitle: string | null;
765
+ files: {
766
+ container: string;
767
+ durationMs: number | null;
768
+ relPath: string | null;
769
+ video: {
770
+ codec: string;
771
+ width: number | null;
772
+ height: number | null;
773
+ hdr: boolean;
774
+ bitDepth: number | null;
775
+ } | null;
776
+ audio: {
777
+ index: number;
778
+ codec: string;
779
+ channels: number | null;
780
+ language: string | null;
781
+ title?: string | null | undefined;
782
+ default: boolean;
783
+ } | null;
784
+ audioTracks: {
785
+ index: number;
786
+ codec: string;
787
+ channels: number | null;
788
+ language: string | null;
789
+ title?: string | null | undefined;
790
+ default: boolean;
791
+ }[];
792
+ subtitles: {
793
+ language: string | null;
794
+ codec: string;
795
+ }[];
796
+ id: string & import("zod").$brand<"MediaFileId">;
797
+ size: number | null;
798
+ edition?: string | null | undefined;
799
+ probed: boolean;
800
+ }[];
801
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
802
+ markers?: {
803
+ kind: "credits" | "intro";
804
+ startMs: number;
805
+ endMs: number;
806
+ }[] | null | undefined;
807
+ audioAnalysis?: {
808
+ lufsI: number;
809
+ lra: number;
810
+ truePeak: number;
811
+ dialogLufs?: number | null | undefined;
812
+ verdict: "highDynamics" | "ok" | "quietDialog";
813
+ } | null | undefined;
814
+ }[]>;
815
+ /** Zero-shot themed row: titles matching a free-text phrase (e.g. "christmas
816
+ * movie", "action"), ranked by content-embedding similarity (public). */
817
+ themed: (query: string) => Promise<{
818
+ container: string;
819
+ durationMs: number | null;
820
+ relPath: string | null;
821
+ video: {
822
+ codec: string;
823
+ width: number | null;
824
+ height: number | null;
825
+ hdr: boolean;
826
+ bitDepth: number | null;
827
+ } | null;
828
+ audio: {
829
+ index: number;
830
+ codec: string;
831
+ channels: number | null;
832
+ language: string | null;
833
+ title?: string | null | undefined;
834
+ default: boolean;
835
+ } | null;
836
+ audioTracks: {
837
+ index: number;
838
+ codec: string;
839
+ channels: number | null;
840
+ language: string | null;
841
+ title?: string | null | undefined;
842
+ default: boolean;
843
+ }[];
844
+ subtitles: {
845
+ language: string | null;
846
+ codec: string;
847
+ }[];
848
+ title: string;
849
+ year: number | null;
850
+ library: string & import("zod").$brand<"LibraryId">;
851
+ addedAt: string;
852
+ metadata?: {
853
+ provider: string;
854
+ tmdbId: number;
855
+ imdbId?: string | null | undefined;
856
+ title: string | null;
857
+ tagline?: string | null | undefined;
858
+ overview: string | null;
859
+ releaseDate?: string | null | undefined;
860
+ genres: string[];
861
+ tmdbGenreIds?: number[] | null | undefined;
862
+ rating?: number | null | undefined;
863
+ certification?: string | null | undefined;
864
+ posterUrl?: string | null | undefined;
865
+ backdropUrl?: string | null | undefined;
866
+ logoUrl?: string | null | undefined;
867
+ themeUrl?: string | null | undefined;
868
+ cast?: {
869
+ name: string;
870
+ tmdbId?: number | null | undefined;
871
+ profileUrl?: string | null | undefined;
872
+ character?: string | null | undefined;
873
+ }[] | null | undefined;
874
+ crew?: {
875
+ name: string;
876
+ tmdbId?: number | null | undefined;
877
+ profileUrl?: string | null | undefined;
878
+ job: string;
879
+ }[] | null | undefined;
880
+ tmdbUrl: string;
881
+ } | null | undefined;
882
+ id: string & import("zod").$brand<"ItemId">;
883
+ kind: "episode" | "movie" | "video";
884
+ showId: (string & import("zod").$brand<"ShowId">) | null;
885
+ showTitle: string | null;
886
+ season: number | null;
887
+ episode: number | null;
888
+ episodeEnd: number | null;
889
+ episodeTitle: string | null;
890
+ files: {
891
+ container: string;
892
+ durationMs: number | null;
893
+ relPath: string | null;
894
+ video: {
895
+ codec: string;
896
+ width: number | null;
897
+ height: number | null;
898
+ hdr: boolean;
899
+ bitDepth: number | null;
900
+ } | null;
901
+ audio: {
902
+ index: number;
903
+ codec: string;
904
+ channels: number | null;
905
+ language: string | null;
906
+ title?: string | null | undefined;
907
+ default: boolean;
908
+ } | null;
909
+ audioTracks: {
910
+ index: number;
911
+ codec: string;
912
+ channels: number | null;
913
+ language: string | null;
914
+ title?: string | null | undefined;
915
+ default: boolean;
916
+ }[];
917
+ subtitles: {
918
+ language: string | null;
919
+ codec: string;
920
+ }[];
921
+ id: string & import("zod").$brand<"MediaFileId">;
922
+ size: number | null;
923
+ edition?: string | null | undefined;
924
+ probed: boolean;
925
+ }[];
926
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
927
+ markers?: {
928
+ kind: "credits" | "intro";
929
+ startMs: number;
930
+ endMs: number;
931
+ }[] | null | undefined;
932
+ audioAnalysis?: {
933
+ lufsI: number;
934
+ lra: number;
935
+ truePeak: number;
936
+ dialogLufs?: number | null | undefined;
937
+ verdict: "highDynamics" | "ok" | "quietDialog";
938
+ } | null | undefined;
939
+ }[]>;
940
+ /** The generated home screen (Bearer): an ordered, server-assembled list of
941
+ * section rails already localized and de-duplicated. Rendered generically. */
942
+ home: () => Promise<{
943
+ id: string;
944
+ title: string;
945
+ reason?: string | null | undefined;
946
+ items: ({
947
+ type: "movie";
948
+ item: {
949
+ container: string;
950
+ durationMs: number | null;
951
+ relPath: string | null;
952
+ video: {
953
+ codec: string;
954
+ width: number | null;
955
+ height: number | null;
956
+ hdr: boolean;
957
+ bitDepth: number | null;
958
+ } | null;
959
+ audio: {
960
+ index: number;
961
+ codec: string;
962
+ channels: number | null;
963
+ language: string | null;
964
+ title?: string | null | undefined;
965
+ default: boolean;
966
+ } | null;
967
+ audioTracks: {
968
+ index: number;
969
+ codec: string;
970
+ channels: number | null;
971
+ language: string | null;
972
+ title?: string | null | undefined;
973
+ default: boolean;
974
+ }[];
975
+ subtitles: {
976
+ language: string | null;
977
+ codec: string;
978
+ }[];
979
+ title: string;
980
+ year: number | null;
981
+ library: string & import("zod").$brand<"LibraryId">;
982
+ addedAt: string;
983
+ metadata?: {
984
+ provider: string;
985
+ tmdbId: number;
986
+ imdbId?: string | null | undefined;
987
+ title: string | null;
988
+ tagline?: string | null | undefined;
989
+ overview: string | null;
990
+ releaseDate?: string | null | undefined;
991
+ genres: string[];
992
+ tmdbGenreIds?: number[] | null | undefined;
993
+ rating?: number | null | undefined;
994
+ certification?: string | null | undefined;
995
+ posterUrl?: string | null | undefined;
996
+ backdropUrl?: string | null | undefined;
997
+ logoUrl?: string | null | undefined;
998
+ themeUrl?: string | null | undefined;
999
+ cast?: {
1000
+ name: string;
1001
+ tmdbId?: number | null | undefined;
1002
+ profileUrl?: string | null | undefined;
1003
+ character?: string | null | undefined;
1004
+ }[] | null | undefined;
1005
+ crew?: {
1006
+ name: string;
1007
+ tmdbId?: number | null | undefined;
1008
+ profileUrl?: string | null | undefined;
1009
+ job: string;
1010
+ }[] | null | undefined;
1011
+ tmdbUrl: string;
1012
+ } | null | undefined;
1013
+ id: string & import("zod").$brand<"ItemId">;
1014
+ kind: "episode" | "movie" | "video";
1015
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1016
+ showTitle: string | null;
1017
+ season: number | null;
1018
+ episode: number | null;
1019
+ episodeEnd: number | null;
1020
+ episodeTitle: string | null;
1021
+ files: {
1022
+ container: string;
1023
+ durationMs: number | null;
1024
+ relPath: string | null;
1025
+ video: {
1026
+ codec: string;
1027
+ width: number | null;
1028
+ height: number | null;
1029
+ hdr: boolean;
1030
+ bitDepth: number | null;
1031
+ } | null;
1032
+ audio: {
1033
+ index: number;
1034
+ codec: string;
1035
+ channels: number | null;
1036
+ language: string | null;
1037
+ title?: string | null | undefined;
1038
+ default: boolean;
1039
+ } | null;
1040
+ audioTracks: {
1041
+ index: number;
1042
+ codec: string;
1043
+ channels: number | null;
1044
+ language: string | null;
1045
+ title?: string | null | undefined;
1046
+ default: boolean;
1047
+ }[];
1048
+ subtitles: {
1049
+ language: string | null;
1050
+ codec: string;
1051
+ }[];
1052
+ id: string & import("zod").$brand<"MediaFileId">;
1053
+ size: number | null;
1054
+ edition?: string | null | undefined;
1055
+ probed: boolean;
1056
+ }[];
1057
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1058
+ markers?: {
1059
+ kind: "credits" | "intro";
1060
+ startMs: number;
1061
+ endMs: number;
1062
+ }[] | null | undefined;
1063
+ audioAnalysis?: {
1064
+ lufsI: number;
1065
+ lra: number;
1066
+ truePeak: number;
1067
+ dialogLufs?: number | null | undefined;
1068
+ verdict: "highDynamics" | "ok" | "quietDialog";
1069
+ } | null | undefined;
1070
+ };
1071
+ } | {
1072
+ type: "show";
1073
+ show: {
1074
+ title: string;
1075
+ year: number | null;
1076
+ library: string & import("zod").$brand<"LibraryId">;
1077
+ video: {
1078
+ codec: string;
1079
+ width: number | null;
1080
+ height: number | null;
1081
+ hdr: boolean;
1082
+ bitDepth: number | null;
1083
+ } | null;
1084
+ addedAt: string;
1085
+ metadata?: {
1086
+ provider: string;
1087
+ tmdbId: number;
1088
+ imdbId?: string | null | undefined;
1089
+ title: string | null;
1090
+ tagline?: string | null | undefined;
1091
+ overview: string | null;
1092
+ releaseDate?: string | null | undefined;
1093
+ genres: string[];
1094
+ tmdbGenreIds?: number[] | null | undefined;
1095
+ rating?: number | null | undefined;
1096
+ certification?: string | null | undefined;
1097
+ posterUrl?: string | null | undefined;
1098
+ backdropUrl?: string | null | undefined;
1099
+ logoUrl?: string | null | undefined;
1100
+ themeUrl?: string | null | undefined;
1101
+ cast?: {
1102
+ name: string;
1103
+ tmdbId?: number | null | undefined;
1104
+ profileUrl?: string | null | undefined;
1105
+ character?: string | null | undefined;
1106
+ }[] | null | undefined;
1107
+ crew?: {
1108
+ name: string;
1109
+ tmdbId?: number | null | undefined;
1110
+ profileUrl?: string | null | undefined;
1111
+ job: string;
1112
+ }[] | null | undefined;
1113
+ tmdbUrl: string;
1114
+ } | null | undefined;
1115
+ id: string & import("zod").$brand<"ShowId">;
1116
+ seasonCount: number;
1117
+ episodeCount: number;
1118
+ progress?: number | null | undefined;
1119
+ };
1120
+ })[];
1121
+ }[]>;
1122
+ /** Today's "En vedette" hero for the caller (Bearer): one movie or show
1123
+ * picked server-side with a deterministic daily rotation. `null` only when
1124
+ * the catalogue is empty; clients keep a local fallback for that case. */
1125
+ featured: () => Promise<{
1126
+ type: "movie";
1127
+ item: {
1128
+ container: string;
1129
+ durationMs: number | null;
1130
+ relPath: string | null;
1131
+ video: {
1132
+ codec: string;
1133
+ width: number | null;
1134
+ height: number | null;
1135
+ hdr: boolean;
1136
+ bitDepth: number | null;
1137
+ } | null;
1138
+ audio: {
1139
+ index: number;
1140
+ codec: string;
1141
+ channels: number | null;
1142
+ language: string | null;
1143
+ title?: string | null | undefined;
1144
+ default: boolean;
1145
+ } | null;
1146
+ audioTracks: {
1147
+ index: number;
1148
+ codec: string;
1149
+ channels: number | null;
1150
+ language: string | null;
1151
+ title?: string | null | undefined;
1152
+ default: boolean;
1153
+ }[];
1154
+ subtitles: {
1155
+ language: string | null;
1156
+ codec: string;
1157
+ }[];
1158
+ title: string;
1159
+ year: number | null;
1160
+ library: string & import("zod").$brand<"LibraryId">;
1161
+ addedAt: string;
1162
+ metadata?: {
1163
+ provider: string;
1164
+ tmdbId: number;
1165
+ imdbId?: string | null | undefined;
1166
+ title: string | null;
1167
+ tagline?: string | null | undefined;
1168
+ overview: string | null;
1169
+ releaseDate?: string | null | undefined;
1170
+ genres: string[];
1171
+ tmdbGenreIds?: number[] | null | undefined;
1172
+ rating?: number | null | undefined;
1173
+ certification?: string | null | undefined;
1174
+ posterUrl?: string | null | undefined;
1175
+ backdropUrl?: string | null | undefined;
1176
+ logoUrl?: string | null | undefined;
1177
+ themeUrl?: string | null | undefined;
1178
+ cast?: {
1179
+ name: string;
1180
+ tmdbId?: number | null | undefined;
1181
+ profileUrl?: string | null | undefined;
1182
+ character?: string | null | undefined;
1183
+ }[] | null | undefined;
1184
+ crew?: {
1185
+ name: string;
1186
+ tmdbId?: number | null | undefined;
1187
+ profileUrl?: string | null | undefined;
1188
+ job: string;
1189
+ }[] | null | undefined;
1190
+ tmdbUrl: string;
1191
+ } | null | undefined;
1192
+ id: string & import("zod").$brand<"ItemId">;
1193
+ kind: "episode" | "movie" | "video";
1194
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1195
+ showTitle: string | null;
1196
+ season: number | null;
1197
+ episode: number | null;
1198
+ episodeEnd: number | null;
1199
+ episodeTitle: string | null;
1200
+ files: {
1201
+ container: string;
1202
+ durationMs: number | null;
1203
+ relPath: string | null;
1204
+ video: {
1205
+ codec: string;
1206
+ width: number | null;
1207
+ height: number | null;
1208
+ hdr: boolean;
1209
+ bitDepth: number | null;
1210
+ } | null;
1211
+ audio: {
1212
+ index: number;
1213
+ codec: string;
1214
+ channels: number | null;
1215
+ language: string | null;
1216
+ title?: string | null | undefined;
1217
+ default: boolean;
1218
+ } | null;
1219
+ audioTracks: {
1220
+ index: number;
1221
+ codec: string;
1222
+ channels: number | null;
1223
+ language: string | null;
1224
+ title?: string | null | undefined;
1225
+ default: boolean;
1226
+ }[];
1227
+ subtitles: {
1228
+ language: string | null;
1229
+ codec: string;
1230
+ }[];
1231
+ id: string & import("zod").$brand<"MediaFileId">;
1232
+ size: number | null;
1233
+ edition?: string | null | undefined;
1234
+ probed: boolean;
1235
+ }[];
1236
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1237
+ markers?: {
1238
+ kind: "credits" | "intro";
1239
+ startMs: number;
1240
+ endMs: number;
1241
+ }[] | null | undefined;
1242
+ audioAnalysis?: {
1243
+ lufsI: number;
1244
+ lra: number;
1245
+ truePeak: number;
1246
+ dialogLufs?: number | null | undefined;
1247
+ verdict: "highDynamics" | "ok" | "quietDialog";
1248
+ } | null | undefined;
1249
+ };
1250
+ } | {
1251
+ type: "show";
1252
+ show: {
1253
+ title: string;
1254
+ year: number | null;
1255
+ library: string & import("zod").$brand<"LibraryId">;
1256
+ video: {
1257
+ codec: string;
1258
+ width: number | null;
1259
+ height: number | null;
1260
+ hdr: boolean;
1261
+ bitDepth: number | null;
1262
+ } | null;
1263
+ addedAt: string;
1264
+ metadata?: {
1265
+ provider: string;
1266
+ tmdbId: number;
1267
+ imdbId?: string | null | undefined;
1268
+ title: string | null;
1269
+ tagline?: string | null | undefined;
1270
+ overview: string | null;
1271
+ releaseDate?: string | null | undefined;
1272
+ genres: string[];
1273
+ tmdbGenreIds?: number[] | null | undefined;
1274
+ rating?: number | null | undefined;
1275
+ certification?: string | null | undefined;
1276
+ posterUrl?: string | null | undefined;
1277
+ backdropUrl?: string | null | undefined;
1278
+ logoUrl?: string | null | undefined;
1279
+ themeUrl?: string | null | undefined;
1280
+ cast?: {
1281
+ name: string;
1282
+ tmdbId?: number | null | undefined;
1283
+ profileUrl?: string | null | undefined;
1284
+ character?: string | null | undefined;
1285
+ }[] | null | undefined;
1286
+ crew?: {
1287
+ name: string;
1288
+ tmdbId?: number | null | undefined;
1289
+ profileUrl?: string | null | undefined;
1290
+ job: string;
1291
+ }[] | null | undefined;
1292
+ tmdbUrl: string;
1293
+ } | null | undefined;
1294
+ id: string & import("zod").$brand<"ShowId">;
1295
+ seasonCount: number;
1296
+ episodeCount: number;
1297
+ progress?: number | null | undefined;
1298
+ };
1299
+ } | null>;
1300
+ /** AI-curated suggestions for one title's detail page (Bearer). Generated
1301
+ * lazily and cached server-side, so the first call for a title answers `null`
1302
+ * and the caller polls; an arriving section may have empty `items` when the
1303
+ * model found nothing worth showing. */
1304
+ aiSuggest: (id: ItemId) => Promise<{
1305
+ id: string;
1306
+ title: string;
1307
+ reason?: string | null | undefined;
1308
+ items: ({
1309
+ type: "movie";
1310
+ item: {
1311
+ container: string;
1312
+ durationMs: number | null;
1313
+ relPath: string | null;
1314
+ video: {
1315
+ codec: string;
1316
+ width: number | null;
1317
+ height: number | null;
1318
+ hdr: boolean;
1319
+ bitDepth: number | null;
1320
+ } | null;
1321
+ audio: {
1322
+ index: number;
1323
+ codec: string;
1324
+ channels: number | null;
1325
+ language: string | null;
1326
+ title?: string | null | undefined;
1327
+ default: boolean;
1328
+ } | null;
1329
+ audioTracks: {
1330
+ index: number;
1331
+ codec: string;
1332
+ channels: number | null;
1333
+ language: string | null;
1334
+ title?: string | null | undefined;
1335
+ default: boolean;
1336
+ }[];
1337
+ subtitles: {
1338
+ language: string | null;
1339
+ codec: string;
1340
+ }[];
1341
+ title: string;
1342
+ year: number | null;
1343
+ library: string & import("zod").$brand<"LibraryId">;
1344
+ addedAt: string;
1345
+ metadata?: {
1346
+ provider: string;
1347
+ tmdbId: number;
1348
+ imdbId?: string | null | undefined;
1349
+ title: string | null;
1350
+ tagline?: string | null | undefined;
1351
+ overview: string | null;
1352
+ releaseDate?: string | null | undefined;
1353
+ genres: string[];
1354
+ tmdbGenreIds?: number[] | null | undefined;
1355
+ rating?: number | null | undefined;
1356
+ certification?: string | null | undefined;
1357
+ posterUrl?: string | null | undefined;
1358
+ backdropUrl?: string | null | undefined;
1359
+ logoUrl?: string | null | undefined;
1360
+ themeUrl?: string | null | undefined;
1361
+ cast?: {
1362
+ name: string;
1363
+ tmdbId?: number | null | undefined;
1364
+ profileUrl?: string | null | undefined;
1365
+ character?: string | null | undefined;
1366
+ }[] | null | undefined;
1367
+ crew?: {
1368
+ name: string;
1369
+ tmdbId?: number | null | undefined;
1370
+ profileUrl?: string | null | undefined;
1371
+ job: string;
1372
+ }[] | null | undefined;
1373
+ tmdbUrl: string;
1374
+ } | null | undefined;
1375
+ id: string & import("zod").$brand<"ItemId">;
1376
+ kind: "episode" | "movie" | "video";
1377
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1378
+ showTitle: string | null;
1379
+ season: number | null;
1380
+ episode: number | null;
1381
+ episodeEnd: number | null;
1382
+ episodeTitle: string | null;
1383
+ files: {
1384
+ container: string;
1385
+ durationMs: number | null;
1386
+ relPath: string | null;
1387
+ video: {
1388
+ codec: string;
1389
+ width: number | null;
1390
+ height: number | null;
1391
+ hdr: boolean;
1392
+ bitDepth: number | null;
1393
+ } | null;
1394
+ audio: {
1395
+ index: number;
1396
+ codec: string;
1397
+ channels: number | null;
1398
+ language: string | null;
1399
+ title?: string | null | undefined;
1400
+ default: boolean;
1401
+ } | null;
1402
+ audioTracks: {
1403
+ index: number;
1404
+ codec: string;
1405
+ channels: number | null;
1406
+ language: string | null;
1407
+ title?: string | null | undefined;
1408
+ default: boolean;
1409
+ }[];
1410
+ subtitles: {
1411
+ language: string | null;
1412
+ codec: string;
1413
+ }[];
1414
+ id: string & import("zod").$brand<"MediaFileId">;
1415
+ size: number | null;
1416
+ edition?: string | null | undefined;
1417
+ probed: boolean;
1418
+ }[];
1419
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1420
+ markers?: {
1421
+ kind: "credits" | "intro";
1422
+ startMs: number;
1423
+ endMs: number;
1424
+ }[] | null | undefined;
1425
+ audioAnalysis?: {
1426
+ lufsI: number;
1427
+ lra: number;
1428
+ truePeak: number;
1429
+ dialogLufs?: number | null | undefined;
1430
+ verdict: "highDynamics" | "ok" | "quietDialog";
1431
+ } | null | undefined;
1432
+ };
1433
+ } | {
1434
+ type: "show";
1435
+ show: {
1436
+ title: string;
1437
+ year: number | null;
1438
+ library: string & import("zod").$brand<"LibraryId">;
1439
+ video: {
1440
+ codec: string;
1441
+ width: number | null;
1442
+ height: number | null;
1443
+ hdr: boolean;
1444
+ bitDepth: number | null;
1445
+ } | null;
1446
+ addedAt: string;
1447
+ metadata?: {
1448
+ provider: string;
1449
+ tmdbId: number;
1450
+ imdbId?: string | null | undefined;
1451
+ title: string | null;
1452
+ tagline?: string | null | undefined;
1453
+ overview: string | null;
1454
+ releaseDate?: string | null | undefined;
1455
+ genres: string[];
1456
+ tmdbGenreIds?: number[] | null | undefined;
1457
+ rating?: number | null | undefined;
1458
+ certification?: string | null | undefined;
1459
+ posterUrl?: string | null | undefined;
1460
+ backdropUrl?: string | null | undefined;
1461
+ logoUrl?: string | null | undefined;
1462
+ themeUrl?: string | null | undefined;
1463
+ cast?: {
1464
+ name: string;
1465
+ tmdbId?: number | null | undefined;
1466
+ profileUrl?: string | null | undefined;
1467
+ character?: string | null | undefined;
1468
+ }[] | null | undefined;
1469
+ crew?: {
1470
+ name: string;
1471
+ tmdbId?: number | null | undefined;
1472
+ profileUrl?: string | null | undefined;
1473
+ job: string;
1474
+ }[] | null | undefined;
1475
+ tmdbUrl: string;
1476
+ } | null | undefined;
1477
+ id: string & import("zod").$brand<"ShowId">;
1478
+ seasonCount: number;
1479
+ episodeCount: number;
1480
+ progress?: number | null | undefined;
1481
+ };
1482
+ })[];
1483
+ } | null>;
1484
+ /** Full-text catalogue search (movies, shows, episodes). Server-side
1485
+ * field-weighted, typo-tolerant ranking well suited to imperfect voice
1486
+ * transcripts. `limit` caps results (the server clamps to 60). */
1487
+ search: (query: string, opts?: {
1488
+ library?: LibraryId;
1489
+ limit?: number;
1490
+ }) => Promise<{
1491
+ query: string;
1492
+ results: ({
1493
+ type: "movie";
1494
+ item: {
1495
+ container: string;
1496
+ durationMs: number | null;
1497
+ relPath: string | null;
1498
+ video: {
1499
+ codec: string;
1500
+ width: number | null;
1501
+ height: number | null;
1502
+ hdr: boolean;
1503
+ bitDepth: number | null;
1504
+ } | null;
1505
+ audio: {
1506
+ index: number;
1507
+ codec: string;
1508
+ channels: number | null;
1509
+ language: string | null;
1510
+ title?: string | null | undefined;
1511
+ default: boolean;
1512
+ } | null;
1513
+ audioTracks: {
1514
+ index: number;
1515
+ codec: string;
1516
+ channels: number | null;
1517
+ language: string | null;
1518
+ title?: string | null | undefined;
1519
+ default: boolean;
1520
+ }[];
1521
+ subtitles: {
1522
+ language: string | null;
1523
+ codec: string;
1524
+ }[];
1525
+ title: string;
1526
+ year: number | null;
1527
+ library: string & import("zod").$brand<"LibraryId">;
1528
+ addedAt: string;
1529
+ metadata?: {
1530
+ provider: string;
1531
+ tmdbId: number;
1532
+ imdbId?: string | null | undefined;
1533
+ title: string | null;
1534
+ tagline?: string | null | undefined;
1535
+ overview: string | null;
1536
+ releaseDate?: string | null | undefined;
1537
+ genres: string[];
1538
+ tmdbGenreIds?: number[] | null | undefined;
1539
+ rating?: number | null | undefined;
1540
+ certification?: string | null | undefined;
1541
+ posterUrl?: string | null | undefined;
1542
+ backdropUrl?: string | null | undefined;
1543
+ logoUrl?: string | null | undefined;
1544
+ themeUrl?: string | null | undefined;
1545
+ cast?: {
1546
+ name: string;
1547
+ tmdbId?: number | null | undefined;
1548
+ profileUrl?: string | null | undefined;
1549
+ character?: string | null | undefined;
1550
+ }[] | null | undefined;
1551
+ crew?: {
1552
+ name: string;
1553
+ tmdbId?: number | null | undefined;
1554
+ profileUrl?: string | null | undefined;
1555
+ job: string;
1556
+ }[] | null | undefined;
1557
+ tmdbUrl: string;
1558
+ } | null | undefined;
1559
+ id: string & import("zod").$brand<"ItemId">;
1560
+ kind: "episode" | "movie" | "video";
1561
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1562
+ showTitle: string | null;
1563
+ season: number | null;
1564
+ episode: number | null;
1565
+ episodeEnd: number | null;
1566
+ episodeTitle: string | null;
1567
+ files: {
1568
+ container: string;
1569
+ durationMs: number | null;
1570
+ relPath: string | null;
1571
+ video: {
1572
+ codec: string;
1573
+ width: number | null;
1574
+ height: number | null;
1575
+ hdr: boolean;
1576
+ bitDepth: number | null;
1577
+ } | null;
1578
+ audio: {
1579
+ index: number;
1580
+ codec: string;
1581
+ channels: number | null;
1582
+ language: string | null;
1583
+ title?: string | null | undefined;
1584
+ default: boolean;
1585
+ } | null;
1586
+ audioTracks: {
1587
+ index: number;
1588
+ codec: string;
1589
+ channels: number | null;
1590
+ language: string | null;
1591
+ title?: string | null | undefined;
1592
+ default: boolean;
1593
+ }[];
1594
+ subtitles: {
1595
+ language: string | null;
1596
+ codec: string;
1597
+ }[];
1598
+ id: string & import("zod").$brand<"MediaFileId">;
1599
+ size: number | null;
1600
+ edition?: string | null | undefined;
1601
+ probed: boolean;
1602
+ }[];
1603
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1604
+ markers?: {
1605
+ kind: "credits" | "intro";
1606
+ startMs: number;
1607
+ endMs: number;
1608
+ }[] | null | undefined;
1609
+ audioAnalysis?: {
1610
+ lufsI: number;
1611
+ lra: number;
1612
+ truePeak: number;
1613
+ dialogLufs?: number | null | undefined;
1614
+ verdict: "highDynamics" | "ok" | "quietDialog";
1615
+ } | null | undefined;
1616
+ };
1617
+ } | {
1618
+ type: "show";
1619
+ show: {
1620
+ title: string;
1621
+ year: number | null;
1622
+ library: string & import("zod").$brand<"LibraryId">;
1623
+ video: {
1624
+ codec: string;
1625
+ width: number | null;
1626
+ height: number | null;
1627
+ hdr: boolean;
1628
+ bitDepth: number | null;
1629
+ } | null;
1630
+ addedAt: string;
1631
+ metadata?: {
1632
+ provider: string;
1633
+ tmdbId: number;
1634
+ imdbId?: string | null | undefined;
1635
+ title: string | null;
1636
+ tagline?: string | null | undefined;
1637
+ overview: string | null;
1638
+ releaseDate?: string | null | undefined;
1639
+ genres: string[];
1640
+ tmdbGenreIds?: number[] | null | undefined;
1641
+ rating?: number | null | undefined;
1642
+ certification?: string | null | undefined;
1643
+ posterUrl?: string | null | undefined;
1644
+ backdropUrl?: string | null | undefined;
1645
+ logoUrl?: string | null | undefined;
1646
+ themeUrl?: string | null | undefined;
1647
+ cast?: {
1648
+ name: string;
1649
+ tmdbId?: number | null | undefined;
1650
+ profileUrl?: string | null | undefined;
1651
+ character?: string | null | undefined;
1652
+ }[] | null | undefined;
1653
+ crew?: {
1654
+ name: string;
1655
+ tmdbId?: number | null | undefined;
1656
+ profileUrl?: string | null | undefined;
1657
+ job: string;
1658
+ }[] | null | undefined;
1659
+ tmdbUrl: string;
1660
+ } | null | undefined;
1661
+ id: string & import("zod").$brand<"ShowId">;
1662
+ seasonCount: number;
1663
+ episodeCount: number;
1664
+ progress?: number | null | undefined;
1665
+ };
1666
+ } | {
1667
+ type: "episode";
1668
+ item: {
1669
+ container: string;
1670
+ durationMs: number | null;
1671
+ relPath: string | null;
1672
+ video: {
1673
+ codec: string;
1674
+ width: number | null;
1675
+ height: number | null;
1676
+ hdr: boolean;
1677
+ bitDepth: number | null;
1678
+ } | null;
1679
+ audio: {
1680
+ index: number;
1681
+ codec: string;
1682
+ channels: number | null;
1683
+ language: string | null;
1684
+ title?: string | null | undefined;
1685
+ default: boolean;
1686
+ } | null;
1687
+ audioTracks: {
1688
+ index: number;
1689
+ codec: string;
1690
+ channels: number | null;
1691
+ language: string | null;
1692
+ title?: string | null | undefined;
1693
+ default: boolean;
1694
+ }[];
1695
+ subtitles: {
1696
+ language: string | null;
1697
+ codec: string;
1698
+ }[];
1699
+ title: string;
1700
+ year: number | null;
1701
+ library: string & import("zod").$brand<"LibraryId">;
1702
+ addedAt: string;
1703
+ metadata?: {
1704
+ provider: string;
1705
+ tmdbId: number;
1706
+ imdbId?: string | null | undefined;
1707
+ title: string | null;
1708
+ tagline?: string | null | undefined;
1709
+ overview: string | null;
1710
+ releaseDate?: string | null | undefined;
1711
+ genres: string[];
1712
+ tmdbGenreIds?: number[] | null | undefined;
1713
+ rating?: number | null | undefined;
1714
+ certification?: string | null | undefined;
1715
+ posterUrl?: string | null | undefined;
1716
+ backdropUrl?: string | null | undefined;
1717
+ logoUrl?: string | null | undefined;
1718
+ themeUrl?: string | null | undefined;
1719
+ cast?: {
1720
+ name: string;
1721
+ tmdbId?: number | null | undefined;
1722
+ profileUrl?: string | null | undefined;
1723
+ character?: string | null | undefined;
1724
+ }[] | null | undefined;
1725
+ crew?: {
1726
+ name: string;
1727
+ tmdbId?: number | null | undefined;
1728
+ profileUrl?: string | null | undefined;
1729
+ job: string;
1730
+ }[] | null | undefined;
1731
+ tmdbUrl: string;
1732
+ } | null | undefined;
1733
+ id: string & import("zod").$brand<"ItemId">;
1734
+ kind: "episode" | "movie" | "video";
1735
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1736
+ showTitle: string | null;
1737
+ season: number | null;
1738
+ episode: number | null;
1739
+ episodeEnd: number | null;
1740
+ episodeTitle: string | null;
1741
+ files: {
1742
+ container: string;
1743
+ durationMs: number | null;
1744
+ relPath: string | null;
1745
+ video: {
1746
+ codec: string;
1747
+ width: number | null;
1748
+ height: number | null;
1749
+ hdr: boolean;
1750
+ bitDepth: number | null;
1751
+ } | null;
1752
+ audio: {
1753
+ index: number;
1754
+ codec: string;
1755
+ channels: number | null;
1756
+ language: string | null;
1757
+ title?: string | null | undefined;
1758
+ default: boolean;
1759
+ } | null;
1760
+ audioTracks: {
1761
+ index: number;
1762
+ codec: string;
1763
+ channels: number | null;
1764
+ language: string | null;
1765
+ title?: string | null | undefined;
1766
+ default: boolean;
1767
+ }[];
1768
+ subtitles: {
1769
+ language: string | null;
1770
+ codec: string;
1771
+ }[];
1772
+ id: string & import("zod").$brand<"MediaFileId">;
1773
+ size: number | null;
1774
+ edition?: string | null | undefined;
1775
+ probed: boolean;
1776
+ }[];
1777
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1778
+ markers?: {
1779
+ kind: "credits" | "intro";
1780
+ startMs: number;
1781
+ endMs: number;
1782
+ }[] | null | undefined;
1783
+ audioAnalysis?: {
1784
+ lufsI: number;
1785
+ lra: number;
1786
+ truePeak: number;
1787
+ dialogLufs?: number | null | undefined;
1788
+ verdict: "highDynamics" | "ok" | "quietDialog";
1789
+ } | null | undefined;
1790
+ };
1791
+ })[];
1792
+ }>;
1793
+ /** Every movie + show one person is credited in (cast or key crew),
1794
+ * best-known work first. `name` is a display name or the slug a person URL
1795
+ * carries; the server answers with the spelling the catalogue holds. */
1796
+ people: (name: string, opts?: {
1797
+ library?: LibraryId;
1798
+ }) => Promise<{
1799
+ name: string;
1800
+ results: ({
1801
+ type: "movie";
1802
+ item: {
1803
+ container: string;
1804
+ durationMs: number | null;
1805
+ relPath: string | null;
1806
+ video: {
1807
+ codec: string;
1808
+ width: number | null;
1809
+ height: number | null;
1810
+ hdr: boolean;
1811
+ bitDepth: number | null;
1812
+ } | null;
1813
+ audio: {
1814
+ index: number;
1815
+ codec: string;
1816
+ channels: number | null;
1817
+ language: string | null;
1818
+ title?: string | null | undefined;
1819
+ default: boolean;
1820
+ } | null;
1821
+ audioTracks: {
1822
+ index: number;
1823
+ codec: string;
1824
+ channels: number | null;
1825
+ language: string | null;
1826
+ title?: string | null | undefined;
1827
+ default: boolean;
1828
+ }[];
1829
+ subtitles: {
1830
+ language: string | null;
1831
+ codec: string;
1832
+ }[];
1833
+ title: string;
1834
+ year: number | null;
1835
+ library: string & import("zod").$brand<"LibraryId">;
1836
+ addedAt: string;
1837
+ metadata?: {
1838
+ provider: string;
1839
+ tmdbId: number;
1840
+ imdbId?: string | null | undefined;
1841
+ title: string | null;
1842
+ tagline?: string | null | undefined;
1843
+ overview: string | null;
1844
+ releaseDate?: string | null | undefined;
1845
+ genres: string[];
1846
+ tmdbGenreIds?: number[] | null | undefined;
1847
+ rating?: number | null | undefined;
1848
+ certification?: string | null | undefined;
1849
+ posterUrl?: string | null | undefined;
1850
+ backdropUrl?: string | null | undefined;
1851
+ logoUrl?: string | null | undefined;
1852
+ themeUrl?: string | null | undefined;
1853
+ cast?: {
1854
+ name: string;
1855
+ tmdbId?: number | null | undefined;
1856
+ profileUrl?: string | null | undefined;
1857
+ character?: string | null | undefined;
1858
+ }[] | null | undefined;
1859
+ crew?: {
1860
+ name: string;
1861
+ tmdbId?: number | null | undefined;
1862
+ profileUrl?: string | null | undefined;
1863
+ job: string;
1864
+ }[] | null | undefined;
1865
+ tmdbUrl: string;
1866
+ } | null | undefined;
1867
+ id: string & import("zod").$brand<"ItemId">;
1868
+ kind: "episode" | "movie" | "video";
1869
+ showId: (string & import("zod").$brand<"ShowId">) | null;
1870
+ showTitle: string | null;
1871
+ season: number | null;
1872
+ episode: number | null;
1873
+ episodeEnd: number | null;
1874
+ episodeTitle: string | null;
1875
+ files: {
1876
+ container: string;
1877
+ durationMs: number | null;
1878
+ relPath: string | null;
1879
+ video: {
1880
+ codec: string;
1881
+ width: number | null;
1882
+ height: number | null;
1883
+ hdr: boolean;
1884
+ bitDepth: number | null;
1885
+ } | null;
1886
+ audio: {
1887
+ index: number;
1888
+ codec: string;
1889
+ channels: number | null;
1890
+ language: string | null;
1891
+ title?: string | null | undefined;
1892
+ default: boolean;
1893
+ } | null;
1894
+ audioTracks: {
1895
+ index: number;
1896
+ codec: string;
1897
+ channels: number | null;
1898
+ language: string | null;
1899
+ title?: string | null | undefined;
1900
+ default: boolean;
1901
+ }[];
1902
+ subtitles: {
1903
+ language: string | null;
1904
+ codec: string;
1905
+ }[];
1906
+ id: string & import("zod").$brand<"MediaFileId">;
1907
+ size: number | null;
1908
+ edition?: string | null | undefined;
1909
+ probed: boolean;
1910
+ }[];
1911
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
1912
+ markers?: {
1913
+ kind: "credits" | "intro";
1914
+ startMs: number;
1915
+ endMs: number;
1916
+ }[] | null | undefined;
1917
+ audioAnalysis?: {
1918
+ lufsI: number;
1919
+ lra: number;
1920
+ truePeak: number;
1921
+ dialogLufs?: number | null | undefined;
1922
+ verdict: "highDynamics" | "ok" | "quietDialog";
1923
+ } | null | undefined;
1924
+ };
1925
+ } | {
1926
+ type: "show";
1927
+ show: {
1928
+ title: string;
1929
+ year: number | null;
1930
+ library: string & import("zod").$brand<"LibraryId">;
1931
+ video: {
1932
+ codec: string;
1933
+ width: number | null;
1934
+ height: number | null;
1935
+ hdr: boolean;
1936
+ bitDepth: number | null;
1937
+ } | null;
1938
+ addedAt: string;
1939
+ metadata?: {
1940
+ provider: string;
1941
+ tmdbId: number;
1942
+ imdbId?: string | null | undefined;
1943
+ title: string | null;
1944
+ tagline?: string | null | undefined;
1945
+ overview: string | null;
1946
+ releaseDate?: string | null | undefined;
1947
+ genres: string[];
1948
+ tmdbGenreIds?: number[] | null | undefined;
1949
+ rating?: number | null | undefined;
1950
+ certification?: string | null | undefined;
1951
+ posterUrl?: string | null | undefined;
1952
+ backdropUrl?: string | null | undefined;
1953
+ logoUrl?: string | null | undefined;
1954
+ themeUrl?: string | null | undefined;
1955
+ cast?: {
1956
+ name: string;
1957
+ tmdbId?: number | null | undefined;
1958
+ profileUrl?: string | null | undefined;
1959
+ character?: string | null | undefined;
1960
+ }[] | null | undefined;
1961
+ crew?: {
1962
+ name: string;
1963
+ tmdbId?: number | null | undefined;
1964
+ profileUrl?: string | null | undefined;
1965
+ job: string;
1966
+ }[] | null | undefined;
1967
+ tmdbUrl: string;
1968
+ } | null | undefined;
1969
+ id: string & import("zod").$brand<"ShowId">;
1970
+ seasonCount: number;
1971
+ episodeCount: number;
1972
+ progress?: number | null | undefined;
1973
+ };
1974
+ } | {
1975
+ type: "episode";
1976
+ item: {
1977
+ container: string;
1978
+ durationMs: number | null;
1979
+ relPath: string | null;
1980
+ video: {
1981
+ codec: string;
1982
+ width: number | null;
1983
+ height: number | null;
1984
+ hdr: boolean;
1985
+ bitDepth: number | null;
1986
+ } | null;
1987
+ audio: {
1988
+ index: number;
1989
+ codec: string;
1990
+ channels: number | null;
1991
+ language: string | null;
1992
+ title?: string | null | undefined;
1993
+ default: boolean;
1994
+ } | null;
1995
+ audioTracks: {
1996
+ index: number;
1997
+ codec: string;
1998
+ channels: number | null;
1999
+ language: string | null;
2000
+ title?: string | null | undefined;
2001
+ default: boolean;
2002
+ }[];
2003
+ subtitles: {
2004
+ language: string | null;
2005
+ codec: string;
2006
+ }[];
2007
+ title: string;
2008
+ year: number | null;
2009
+ library: string & import("zod").$brand<"LibraryId">;
2010
+ addedAt: string;
2011
+ metadata?: {
2012
+ provider: string;
2013
+ tmdbId: number;
2014
+ imdbId?: string | null | undefined;
2015
+ title: string | null;
2016
+ tagline?: string | null | undefined;
2017
+ overview: string | null;
2018
+ releaseDate?: string | null | undefined;
2019
+ genres: string[];
2020
+ tmdbGenreIds?: number[] | null | undefined;
2021
+ rating?: number | null | undefined;
2022
+ certification?: string | null | undefined;
2023
+ posterUrl?: string | null | undefined;
2024
+ backdropUrl?: string | null | undefined;
2025
+ logoUrl?: string | null | undefined;
2026
+ themeUrl?: string | null | undefined;
2027
+ cast?: {
2028
+ name: string;
2029
+ tmdbId?: number | null | undefined;
2030
+ profileUrl?: string | null | undefined;
2031
+ character?: string | null | undefined;
2032
+ }[] | null | undefined;
2033
+ crew?: {
2034
+ name: string;
2035
+ tmdbId?: number | null | undefined;
2036
+ profileUrl?: string | null | undefined;
2037
+ job: string;
2038
+ }[] | null | undefined;
2039
+ tmdbUrl: string;
2040
+ } | null | undefined;
2041
+ id: string & import("zod").$brand<"ItemId">;
2042
+ kind: "episode" | "movie" | "video";
2043
+ showId: (string & import("zod").$brand<"ShowId">) | null;
2044
+ showTitle: string | null;
2045
+ season: number | null;
2046
+ episode: number | null;
2047
+ episodeEnd: number | null;
2048
+ episodeTitle: string | null;
2049
+ files: {
2050
+ container: string;
2051
+ durationMs: number | null;
2052
+ relPath: string | null;
2053
+ video: {
2054
+ codec: string;
2055
+ width: number | null;
2056
+ height: number | null;
2057
+ hdr: boolean;
2058
+ bitDepth: number | null;
2059
+ } | null;
2060
+ audio: {
2061
+ index: number;
2062
+ codec: string;
2063
+ channels: number | null;
2064
+ language: string | null;
2065
+ title?: string | null | undefined;
2066
+ default: boolean;
2067
+ } | null;
2068
+ audioTracks: {
2069
+ index: number;
2070
+ codec: string;
2071
+ channels: number | null;
2072
+ language: string | null;
2073
+ title?: string | null | undefined;
2074
+ default: boolean;
2075
+ }[];
2076
+ subtitles: {
2077
+ language: string | null;
2078
+ codec: string;
2079
+ }[];
2080
+ id: string & import("zod").$brand<"MediaFileId">;
2081
+ size: number | null;
2082
+ edition?: string | null | undefined;
2083
+ probed: boolean;
2084
+ }[];
2085
+ defaultFileId?: (string & import("zod").$brand<"MediaFileId">) | null | undefined;
2086
+ markers?: {
2087
+ kind: "credits" | "intro";
2088
+ startMs: number;
2089
+ endMs: number;
2090
+ }[] | null | undefined;
2091
+ audioAnalysis?: {
2092
+ lufsI: number;
2093
+ lra: number;
2094
+ truePeak: number;
2095
+ dialogLufs?: number | null | undefined;
2096
+ verdict: "highDynamics" | "ok" | "quietDialog";
2097
+ } | null | undefined;
2098
+ };
2099
+ })[];
2100
+ }>;
2101
+ /** The person behind a credit: biography, birth, birthplace. */
2102
+ person: (name: string) => Promise<{
2103
+ name: string;
2104
+ person?: {
2105
+ tmdbId: number;
2106
+ name: string;
2107
+ biography?: string | null | undefined;
2108
+ birthday?: string | null | undefined;
2109
+ deathday?: string | null | undefined;
2110
+ placeOfBirth?: string | null | undefined;
2111
+ knownFor?: string | null | undefined;
2112
+ profileUrl?: string | null | undefined;
2113
+ tmdbUrl: string;
2114
+ } | null | undefined;
2115
+ credits: {
2116
+ tmdbId: number;
2117
+ title: string;
2118
+ mediaType: "movie" | "tv";
2119
+ year?: number | null | undefined;
2120
+ posterUrl?: string | null | undefined;
2121
+ backdropUrl?: string | null | undefined;
2122
+ overview?: string | null | undefined;
2123
+ character?: string | null | undefined;
2124
+ job?: string | null | undefined;
2125
+ }[];
2126
+ }>;
2127
+ scan: () => Promise<{
2128
+ runId: string & import("zod").$brand<"JobRunId">;
2129
+ }>;
2130
+ /** The last `tail` lines of the server log, as plain text. */
2131
+ logs: (tail?: number) => Promise<string>;
2132
+ /** URL of the server's recent log lines (text/plain). */
2133
+ logsUrl: (tail?: number) => string;
2134
+ /** Direct-play stream URL for a `<video>` src. Range requests are served. */
2135
+ streamUrl: (id: ItemId) => string;
2136
+ /** One-file offline download: video stream-copied, every audio track copied
2137
+ * or AAC-transcoded server-side. `copyCodecs`/`videoCodecs` must distinguish
2138
+ * omitted (no preference, full copy set) from an empty array (decode none,
2139
+ * transcode everything) - collapsing the two would hand a device Dolby/AV1
2140
+ * tracks it can't decode with no fallback once offline. */
2141
+ downloadUrl: (id: ItemId, copyCodecs?: string[], videoCodecs?: string[]) => string;
2142
+ /** HLS master playlist for one continuous remux, with the `audio` track muxed
2143
+ * in. `aac=true` transcodes it to stereo AAC for runtimes that can't decode the
2144
+ * source codec via MSE; `aac=false` stream-copies it. */
2145
+ hlsMasterUrl: (id: ItemId, aac?: boolean, startSec?: number, audio?: number, declaration?: HlsMasterDeclaration) => string;
2146
+ /** WebVTT URL for the n-th embedded subtitle track. The server extracts text
2147
+ * subtitles on demand. */
2148
+ subtitleUrl: (id: ItemId, index: number) => string;
2149
+ /** Manifest endpoint for an item's storyboard. */
2150
+ storyboardUrl: (id: ItemId) => string;
2151
+ /** The storyboard manifest. The server generates the sheet lazily, so this
2152
+ * answers `'pending'` (HTTP 202) while it is being built and `null` when the
2153
+ * item has no usable file or duration (404). */
2154
+ storyboard: (id: ItemId) => Promise<StoryboardManifest | 'pending' | null>;
2155
+ };
2156
+ declare module '../../core/client' {
2157
+ interface Domains {
2158
+ media: ReturnType<typeof mediaApi>;
2159
+ }
2160
+ }