rewind-mcp-server 0.10.0 → 1.0.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 (89) hide show
  1. package/dist/__tests__/helpers/build-client.d.ts +2 -0
  2. package/dist/__tests__/helpers/build-client.js +24 -0
  3. package/dist/__tests__/helpers/build-client.js.map +1 -0
  4. package/dist/__tests__/helpers.test.js +11 -0
  5. package/dist/__tests__/helpers.test.js.map +1 -1
  6. package/dist/__tests__/image-block.live.js +1 -1
  7. package/dist/__tests__/image-block.live.js.map +1 -1
  8. package/dist/__tests__/manifest-snapshot.test.js +1 -0
  9. package/dist/__tests__/manifest-snapshot.test.js.map +1 -1
  10. package/dist/__tests__/output-schema-attending.test.d.ts +1 -0
  11. package/dist/__tests__/output-schema-attending.test.js +353 -0
  12. package/dist/__tests__/output-schema-attending.test.js.map +1 -0
  13. package/dist/__tests__/output-schema-collecting.test.d.ts +1 -0
  14. package/dist/__tests__/output-schema-collecting.test.js +155 -0
  15. package/dist/__tests__/output-schema-collecting.test.js.map +1 -0
  16. package/dist/__tests__/output-schema-cross-domain.test.d.ts +1 -0
  17. package/dist/__tests__/output-schema-cross-domain.test.js +142 -0
  18. package/dist/__tests__/output-schema-cross-domain.test.js.map +1 -0
  19. package/dist/__tests__/output-schema-listening.test.d.ts +1 -0
  20. package/dist/__tests__/output-schema-listening.test.js +235 -0
  21. package/dist/__tests__/output-schema-listening.test.js.map +1 -0
  22. package/dist/__tests__/output-schema-reading.test.d.ts +1 -0
  23. package/dist/__tests__/output-schema-reading.test.js +181 -0
  24. package/dist/__tests__/output-schema-reading.test.js.map +1 -0
  25. package/dist/__tests__/output-schema-running.test.d.ts +1 -0
  26. package/dist/__tests__/output-schema-running.test.js +185 -0
  27. package/dist/__tests__/output-schema-running.test.js.map +1 -0
  28. package/dist/__tests__/output-schema-watching.test.d.ts +1 -0
  29. package/dist/__tests__/output-schema-watching.test.js +190 -0
  30. package/dist/__tests__/output-schema-watching.test.js.map +1 -0
  31. package/dist/__tests__/output-schema.live.d.ts +1 -0
  32. package/dist/__tests__/output-schema.live.js +180 -0
  33. package/dist/__tests__/output-schema.live.js.map +1 -0
  34. package/dist/__tests__/output-schema.test.d.ts +1 -0
  35. package/dist/__tests__/output-schema.test.js +38 -0
  36. package/dist/__tests__/output-schema.test.js.map +1 -0
  37. package/dist/__tests__/server.test.js +1 -1
  38. package/dist/server.js +10 -12
  39. package/dist/server.js.map +1 -1
  40. package/dist/tools/attending.js +9 -0
  41. package/dist/tools/attending.js.map +1 -1
  42. package/dist/tools/collecting.js +5 -0
  43. package/dist/tools/collecting.js.map +1 -1
  44. package/dist/tools/cross-domain.js +12 -1
  45. package/dist/tools/cross-domain.js.map +1 -1
  46. package/dist/tools/helpers.js +14 -9
  47. package/dist/tools/helpers.js.map +1 -1
  48. package/dist/tools/listening.js +12 -1
  49. package/dist/tools/listening.js.map +1 -1
  50. package/dist/tools/reading.js +8 -1
  51. package/dist/tools/reading.js.map +1 -1
  52. package/dist/tools/running.js +8 -0
  53. package/dist/tools/running.js.map +1 -1
  54. package/dist/tools/schemas/attending.d.ts +8225 -0
  55. package/dist/tools/schemas/attending.js +404 -0
  56. package/dist/tools/schemas/attending.js.map +1 -0
  57. package/dist/tools/schemas/collecting.d.ts +1011 -0
  58. package/dist/tools/schemas/collecting.js +108 -0
  59. package/dist/tools/schemas/collecting.js.map +1 -0
  60. package/dist/tools/schemas/cross-domain.d.ts +1001 -0
  61. package/dist/tools/schemas/cross-domain.js +107 -0
  62. package/dist/tools/schemas/cross-domain.js.map +1 -0
  63. package/dist/tools/schemas/listening.d.ts +4298 -0
  64. package/dist/tools/schemas/listening.js +255 -0
  65. package/dist/tools/schemas/listening.js.map +1 -0
  66. package/dist/tools/schemas/reading.d.ts +1421 -0
  67. package/dist/tools/schemas/reading.js +151 -0
  68. package/dist/tools/schemas/reading.js.map +1 -0
  69. package/dist/tools/schemas/running.d.ts +680 -0
  70. package/dist/tools/schemas/running.js +154 -0
  71. package/dist/tools/schemas/running.js.map +1 -0
  72. package/dist/tools/schemas/shared.d.ts +98 -0
  73. package/dist/tools/schemas/shared.js +74 -0
  74. package/dist/tools/schemas/shared.js.map +1 -0
  75. package/dist/tools/schemas/system.d.ts +57 -0
  76. package/dist/tools/schemas/system.js +22 -0
  77. package/dist/tools/schemas/system.js.map +1 -0
  78. package/dist/tools/schemas/watching.d.ts +1821 -0
  79. package/dist/tools/schemas/watching.js +167 -0
  80. package/dist/tools/schemas/watching.js.map +1 -0
  81. package/dist/tools/watching.js +8 -0
  82. package/dist/tools/watching.js.map +1 -1
  83. package/dist/ui-bundles.d.ts +10 -11
  84. package/dist/ui-bundles.js +20 -22
  85. package/dist/ui-bundles.js.map +1 -1
  86. package/package.json +5 -4
  87. package/dist/tools/debug.d.ts +0 -6
  88. package/dist/tools/debug.js +0 -26
  89. package/dist/tools/debug.js.map +0 -1
@@ -0,0 +1,1821 @@
1
+ /**
2
+ * Output schemas for the watching-domain tools (issue #105, Phase 2).
3
+ *
4
+ * These schemas are the source of truth for the watching tools' return
5
+ * shapes: `watching.ts` derives its `RecentWatch` / `MovieDetail` /
6
+ * `BrowseMovie` / `Pagination` types from them via `z.infer`, so the
7
+ * declared schema and the TypeScript type cannot drift.
8
+ *
9
+ * Every object schema uses `.passthrough()` so the JSON Schema advertised
10
+ * to clients stays `additionalProperties`-open -- a field the Rewind API
11
+ * adds later does not break client-side validation. See schemas/shared.ts.
12
+ */
13
+ import { z } from 'zod';
14
+ /** A single watch event, as listed by get_recent_watches. */
15
+ export declare const recentWatchSchema: z.ZodObject<{
16
+ movie: z.ZodObject<{
17
+ id: z.ZodNumber;
18
+ title: z.ZodString;
19
+ year: z.ZodNullable<z.ZodNumber>;
20
+ director: z.ZodNullable<z.ZodString>;
21
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
22
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ image: z.ZodNullable<z.ZodObject<{
25
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
31
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
37
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ }, z.ZodTypeAny, "passthrough">>>;
43
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
44
+ id: z.ZodNumber;
45
+ title: z.ZodString;
46
+ year: z.ZodNullable<z.ZodNumber>;
47
+ director: z.ZodNullable<z.ZodString>;
48
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
49
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ image: z.ZodNullable<z.ZodObject<{
52
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
58
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
64
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
67
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
68
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
+ }, z.ZodTypeAny, "passthrough">>>;
70
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
71
+ id: z.ZodNumber;
72
+ title: z.ZodString;
73
+ year: z.ZodNullable<z.ZodNumber>;
74
+ director: z.ZodNullable<z.ZodString>;
75
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
76
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
78
+ image: z.ZodNullable<z.ZodObject<{
79
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
85
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
87
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
91
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
93
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
94
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
+ }, z.ZodTypeAny, "passthrough">>>;
97
+ }, z.ZodTypeAny, "passthrough">>;
98
+ watched_at: z.ZodString;
99
+ user_rating: z.ZodNullable<z.ZodNumber>;
100
+ rewatch: z.ZodBoolean;
101
+ source: z.ZodNullable<z.ZodString>;
102
+ review: z.ZodNullable<z.ZodString>;
103
+ review_url: z.ZodNullable<z.ZodString>;
104
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
105
+ movie: z.ZodObject<{
106
+ id: z.ZodNumber;
107
+ title: z.ZodString;
108
+ year: z.ZodNullable<z.ZodNumber>;
109
+ director: z.ZodNullable<z.ZodString>;
110
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
111
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ image: z.ZodNullable<z.ZodObject<{
114
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
116
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
117
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
118
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
120
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
123
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
124
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
126
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
127
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
128
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
129
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
130
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
131
+ }, z.ZodTypeAny, "passthrough">>>;
132
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
133
+ id: z.ZodNumber;
134
+ title: z.ZodString;
135
+ year: z.ZodNullable<z.ZodNumber>;
136
+ director: z.ZodNullable<z.ZodString>;
137
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
138
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
139
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
+ image: z.ZodNullable<z.ZodObject<{
141
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
142
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
143
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
144
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
145
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
146
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
147
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
148
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
149
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
150
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
151
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
152
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
153
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
156
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
158
+ }, z.ZodTypeAny, "passthrough">>>;
159
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
160
+ id: z.ZodNumber;
161
+ title: z.ZodString;
162
+ year: z.ZodNullable<z.ZodNumber>;
163
+ director: z.ZodNullable<z.ZodString>;
164
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
165
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
166
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
167
+ image: z.ZodNullable<z.ZodObject<{
168
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
172
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
174
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
175
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
177
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
179
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
180
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
182
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
183
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
184
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
185
+ }, z.ZodTypeAny, "passthrough">>>;
186
+ }, z.ZodTypeAny, "passthrough">>;
187
+ watched_at: z.ZodString;
188
+ user_rating: z.ZodNullable<z.ZodNumber>;
189
+ rewatch: z.ZodBoolean;
190
+ source: z.ZodNullable<z.ZodString>;
191
+ review: z.ZodNullable<z.ZodString>;
192
+ review_url: z.ZodNullable<z.ZodString>;
193
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
194
+ movie: z.ZodObject<{
195
+ id: z.ZodNumber;
196
+ title: z.ZodString;
197
+ year: z.ZodNullable<z.ZodNumber>;
198
+ director: z.ZodNullable<z.ZodString>;
199
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
200
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
201
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
202
+ image: z.ZodNullable<z.ZodObject<{
203
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
204
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
205
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
206
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
207
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
208
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
209
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
210
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
212
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
215
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
216
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
218
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
219
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
220
+ }, z.ZodTypeAny, "passthrough">>>;
221
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
222
+ id: z.ZodNumber;
223
+ title: z.ZodString;
224
+ year: z.ZodNullable<z.ZodNumber>;
225
+ director: z.ZodNullable<z.ZodString>;
226
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
227
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
228
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
229
+ image: z.ZodNullable<z.ZodObject<{
230
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
232
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
233
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
234
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
235
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
236
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
240
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
241
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
242
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
243
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
244
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
245
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
246
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
247
+ }, z.ZodTypeAny, "passthrough">>>;
248
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
249
+ id: z.ZodNumber;
250
+ title: z.ZodString;
251
+ year: z.ZodNullable<z.ZodNumber>;
252
+ director: z.ZodNullable<z.ZodString>;
253
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
254
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
255
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
256
+ image: z.ZodNullable<z.ZodObject<{
257
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
258
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
260
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
261
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
262
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
263
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
264
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
266
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
267
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
268
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
269
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
270
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
271
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
274
+ }, z.ZodTypeAny, "passthrough">>>;
275
+ }, z.ZodTypeAny, "passthrough">>;
276
+ watched_at: z.ZodString;
277
+ user_rating: z.ZodNullable<z.ZodNumber>;
278
+ rewatch: z.ZodBoolean;
279
+ source: z.ZodNullable<z.ZodString>;
280
+ review: z.ZodNullable<z.ZodString>;
281
+ review_url: z.ZodNullable<z.ZodString>;
282
+ }, z.ZodTypeAny, "passthrough">>;
283
+ /** A movie row in a browse_movies list. */
284
+ export declare const browseMovieSchema: z.ZodObject<{
285
+ id: z.ZodNumber;
286
+ title: z.ZodString;
287
+ year: z.ZodNullable<z.ZodNumber>;
288
+ director: z.ZodNullable<z.ZodString>;
289
+ genres: z.ZodArray<z.ZodString, "many">;
290
+ duration_min: z.ZodNullable<z.ZodNumber>;
291
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
292
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
293
+ image: z.ZodNullable<z.ZodObject<{
294
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
295
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
296
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
297
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
298
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
299
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
300
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
301
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
302
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
303
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
305
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
306
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
307
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
308
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
309
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
310
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
311
+ }, z.ZodTypeAny, "passthrough">>>;
312
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
313
+ id: z.ZodNumber;
314
+ title: z.ZodString;
315
+ year: z.ZodNullable<z.ZodNumber>;
316
+ director: z.ZodNullable<z.ZodString>;
317
+ genres: z.ZodArray<z.ZodString, "many">;
318
+ duration_min: z.ZodNullable<z.ZodNumber>;
319
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
320
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
321
+ image: z.ZodNullable<z.ZodObject<{
322
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
323
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
324
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
325
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
326
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
327
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
328
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
330
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
331
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
332
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
333
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
334
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
335
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
336
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
337
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
338
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
339
+ }, z.ZodTypeAny, "passthrough">>>;
340
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
341
+ id: z.ZodNumber;
342
+ title: z.ZodString;
343
+ year: z.ZodNullable<z.ZodNumber>;
344
+ director: z.ZodNullable<z.ZodString>;
345
+ genres: z.ZodArray<z.ZodString, "many">;
346
+ duration_min: z.ZodNullable<z.ZodNumber>;
347
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
348
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
349
+ image: z.ZodNullable<z.ZodObject<{
350
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
351
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
352
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
353
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
354
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
355
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
356
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
357
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
360
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
361
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
362
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
364
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
365
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
366
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
367
+ }, z.ZodTypeAny, "passthrough">>>;
368
+ }, z.ZodTypeAny, "passthrough">>;
369
+ /**
370
+ * outputSchema for get_recent_watches. The empty-state branch returns
371
+ * `{ items: [] }`, which satisfies the same schema -- no union needed.
372
+ */
373
+ export declare const recentWatchesOutputSchema: z.ZodObject<{
374
+ items: z.ZodArray<z.ZodObject<{
375
+ movie: z.ZodObject<{
376
+ id: z.ZodNumber;
377
+ title: z.ZodString;
378
+ year: z.ZodNullable<z.ZodNumber>;
379
+ director: z.ZodNullable<z.ZodString>;
380
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
381
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
382
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
383
+ image: z.ZodNullable<z.ZodObject<{
384
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
385
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
386
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
387
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
388
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
389
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
390
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
391
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
394
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
395
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
396
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
397
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
398
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
400
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
401
+ }, z.ZodTypeAny, "passthrough">>>;
402
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
403
+ id: z.ZodNumber;
404
+ title: z.ZodString;
405
+ year: z.ZodNullable<z.ZodNumber>;
406
+ director: z.ZodNullable<z.ZodString>;
407
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
408
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
409
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
410
+ image: z.ZodNullable<z.ZodObject<{
411
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
412
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
413
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
414
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
415
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
416
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
417
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
418
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
419
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
420
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
421
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
422
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
423
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
424
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
425
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
426
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
427
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
428
+ }, z.ZodTypeAny, "passthrough">>>;
429
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
430
+ id: z.ZodNumber;
431
+ title: z.ZodString;
432
+ year: z.ZodNullable<z.ZodNumber>;
433
+ director: z.ZodNullable<z.ZodString>;
434
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
435
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
436
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
437
+ image: z.ZodNullable<z.ZodObject<{
438
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
439
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
440
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
441
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
442
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
443
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
444
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
445
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
446
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
447
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
448
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
449
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
450
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
451
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
452
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
453
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
454
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
455
+ }, z.ZodTypeAny, "passthrough">>>;
456
+ }, z.ZodTypeAny, "passthrough">>;
457
+ watched_at: z.ZodString;
458
+ user_rating: z.ZodNullable<z.ZodNumber>;
459
+ rewatch: z.ZodBoolean;
460
+ source: z.ZodNullable<z.ZodString>;
461
+ review: z.ZodNullable<z.ZodString>;
462
+ review_url: z.ZodNullable<z.ZodString>;
463
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
464
+ movie: z.ZodObject<{
465
+ id: z.ZodNumber;
466
+ title: z.ZodString;
467
+ year: z.ZodNullable<z.ZodNumber>;
468
+ director: z.ZodNullable<z.ZodString>;
469
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
470
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
472
+ image: z.ZodNullable<z.ZodObject<{
473
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
474
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
475
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
476
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
477
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
478
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
479
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
480
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
481
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
482
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
483
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
484
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
485
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
486
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
487
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
488
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
489
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
490
+ }, z.ZodTypeAny, "passthrough">>>;
491
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
492
+ id: z.ZodNumber;
493
+ title: z.ZodString;
494
+ year: z.ZodNullable<z.ZodNumber>;
495
+ director: z.ZodNullable<z.ZodString>;
496
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
497
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
498
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
499
+ image: z.ZodNullable<z.ZodObject<{
500
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
501
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
502
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
503
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
504
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
505
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
506
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
507
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
508
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
509
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
510
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
511
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
512
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
513
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
514
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
515
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
516
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
517
+ }, z.ZodTypeAny, "passthrough">>>;
518
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
519
+ id: z.ZodNumber;
520
+ title: z.ZodString;
521
+ year: z.ZodNullable<z.ZodNumber>;
522
+ director: z.ZodNullable<z.ZodString>;
523
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
524
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
525
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
526
+ image: z.ZodNullable<z.ZodObject<{
527
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
528
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
529
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
530
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
531
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
532
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
533
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
534
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
535
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
536
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
537
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
538
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
539
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
540
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
541
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
542
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
543
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
544
+ }, z.ZodTypeAny, "passthrough">>>;
545
+ }, z.ZodTypeAny, "passthrough">>;
546
+ watched_at: z.ZodString;
547
+ user_rating: z.ZodNullable<z.ZodNumber>;
548
+ rewatch: z.ZodBoolean;
549
+ source: z.ZodNullable<z.ZodString>;
550
+ review: z.ZodNullable<z.ZodString>;
551
+ review_url: z.ZodNullable<z.ZodString>;
552
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
553
+ movie: z.ZodObject<{
554
+ id: z.ZodNumber;
555
+ title: z.ZodString;
556
+ year: z.ZodNullable<z.ZodNumber>;
557
+ director: z.ZodNullable<z.ZodString>;
558
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
559
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
560
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
561
+ image: z.ZodNullable<z.ZodObject<{
562
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
563
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
564
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
565
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
566
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
567
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
568
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
569
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
570
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
571
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
572
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
573
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
574
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
575
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
576
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
577
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
578
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
579
+ }, z.ZodTypeAny, "passthrough">>>;
580
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
581
+ id: z.ZodNumber;
582
+ title: z.ZodString;
583
+ year: z.ZodNullable<z.ZodNumber>;
584
+ director: z.ZodNullable<z.ZodString>;
585
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
586
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
587
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
588
+ image: z.ZodNullable<z.ZodObject<{
589
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
590
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
591
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
592
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
593
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
594
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
595
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
596
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
597
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
598
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
599
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
600
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
601
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
602
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
603
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
604
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
605
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
606
+ }, z.ZodTypeAny, "passthrough">>>;
607
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
608
+ id: z.ZodNumber;
609
+ title: z.ZodString;
610
+ year: z.ZodNullable<z.ZodNumber>;
611
+ director: z.ZodNullable<z.ZodString>;
612
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
613
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
614
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
615
+ image: z.ZodNullable<z.ZodObject<{
616
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
617
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
618
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
619
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
620
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
621
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
622
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
623
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
624
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
625
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
626
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
627
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
628
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
629
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
630
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
631
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
632
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
633
+ }, z.ZodTypeAny, "passthrough">>>;
634
+ }, z.ZodTypeAny, "passthrough">>;
635
+ watched_at: z.ZodString;
636
+ user_rating: z.ZodNullable<z.ZodNumber>;
637
+ rewatch: z.ZodBoolean;
638
+ source: z.ZodNullable<z.ZodString>;
639
+ review: z.ZodNullable<z.ZodString>;
640
+ review_url: z.ZodNullable<z.ZodString>;
641
+ }, z.ZodTypeAny, "passthrough">>, "many">;
642
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
643
+ items: z.ZodArray<z.ZodObject<{
644
+ movie: z.ZodObject<{
645
+ id: z.ZodNumber;
646
+ title: z.ZodString;
647
+ year: z.ZodNullable<z.ZodNumber>;
648
+ director: z.ZodNullable<z.ZodString>;
649
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
650
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
651
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
652
+ image: z.ZodNullable<z.ZodObject<{
653
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
654
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
655
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
656
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
657
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
658
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
659
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
660
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
661
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
662
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
663
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
664
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
665
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
666
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
667
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
668
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
669
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
670
+ }, z.ZodTypeAny, "passthrough">>>;
671
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
672
+ id: z.ZodNumber;
673
+ title: z.ZodString;
674
+ year: z.ZodNullable<z.ZodNumber>;
675
+ director: z.ZodNullable<z.ZodString>;
676
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
677
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
678
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
679
+ image: z.ZodNullable<z.ZodObject<{
680
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
681
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
682
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
683
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
684
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
685
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
686
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
687
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
688
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
689
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
690
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
691
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
692
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
693
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
694
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
695
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
696
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
697
+ }, z.ZodTypeAny, "passthrough">>>;
698
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
699
+ id: z.ZodNumber;
700
+ title: z.ZodString;
701
+ year: z.ZodNullable<z.ZodNumber>;
702
+ director: z.ZodNullable<z.ZodString>;
703
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
704
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
705
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
706
+ image: z.ZodNullable<z.ZodObject<{
707
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
708
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
709
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
710
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
711
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
712
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
713
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
714
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
715
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
716
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
717
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
718
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
719
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
720
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
721
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
722
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
723
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ }, z.ZodTypeAny, "passthrough">>>;
725
+ }, z.ZodTypeAny, "passthrough">>;
726
+ watched_at: z.ZodString;
727
+ user_rating: z.ZodNullable<z.ZodNumber>;
728
+ rewatch: z.ZodBoolean;
729
+ source: z.ZodNullable<z.ZodString>;
730
+ review: z.ZodNullable<z.ZodString>;
731
+ review_url: z.ZodNullable<z.ZodString>;
732
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
733
+ movie: z.ZodObject<{
734
+ id: z.ZodNumber;
735
+ title: z.ZodString;
736
+ year: z.ZodNullable<z.ZodNumber>;
737
+ director: z.ZodNullable<z.ZodString>;
738
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
739
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
740
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
741
+ image: z.ZodNullable<z.ZodObject<{
742
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
743
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
744
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
745
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
746
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
747
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
748
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
749
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
750
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
751
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
752
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
753
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
754
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
755
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
756
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
757
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
758
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
759
+ }, z.ZodTypeAny, "passthrough">>>;
760
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
761
+ id: z.ZodNumber;
762
+ title: z.ZodString;
763
+ year: z.ZodNullable<z.ZodNumber>;
764
+ director: z.ZodNullable<z.ZodString>;
765
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
766
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
767
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
768
+ image: z.ZodNullable<z.ZodObject<{
769
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
770
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
771
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
772
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
773
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
774
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
775
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
776
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
777
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
778
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
779
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
780
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
781
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
782
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
783
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
784
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ }, z.ZodTypeAny, "passthrough">>>;
787
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
788
+ id: z.ZodNumber;
789
+ title: z.ZodString;
790
+ year: z.ZodNullable<z.ZodNumber>;
791
+ director: z.ZodNullable<z.ZodString>;
792
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
793
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
794
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
795
+ image: z.ZodNullable<z.ZodObject<{
796
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
797
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
798
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
799
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
800
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
801
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
802
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
803
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
804
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
805
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
806
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
807
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
808
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
809
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
810
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
811
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
812
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
813
+ }, z.ZodTypeAny, "passthrough">>>;
814
+ }, z.ZodTypeAny, "passthrough">>;
815
+ watched_at: z.ZodString;
816
+ user_rating: z.ZodNullable<z.ZodNumber>;
817
+ rewatch: z.ZodBoolean;
818
+ source: z.ZodNullable<z.ZodString>;
819
+ review: z.ZodNullable<z.ZodString>;
820
+ review_url: z.ZodNullable<z.ZodString>;
821
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
822
+ movie: z.ZodObject<{
823
+ id: z.ZodNumber;
824
+ title: z.ZodString;
825
+ year: z.ZodNullable<z.ZodNumber>;
826
+ director: z.ZodNullable<z.ZodString>;
827
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
828
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
829
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
830
+ image: z.ZodNullable<z.ZodObject<{
831
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
832
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
833
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
834
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
835
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
836
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
837
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
838
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
839
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
840
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
841
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
842
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
843
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
844
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
845
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
846
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
847
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
848
+ }, z.ZodTypeAny, "passthrough">>>;
849
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
850
+ id: z.ZodNumber;
851
+ title: z.ZodString;
852
+ year: z.ZodNullable<z.ZodNumber>;
853
+ director: z.ZodNullable<z.ZodString>;
854
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
855
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
856
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
857
+ image: z.ZodNullable<z.ZodObject<{
858
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
859
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
860
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
861
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
862
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
863
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
864
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
865
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
866
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
867
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
868
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
869
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
870
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
871
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
872
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
873
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
874
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
875
+ }, z.ZodTypeAny, "passthrough">>>;
876
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
877
+ id: z.ZodNumber;
878
+ title: z.ZodString;
879
+ year: z.ZodNullable<z.ZodNumber>;
880
+ director: z.ZodNullable<z.ZodString>;
881
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
882
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
883
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
884
+ image: z.ZodNullable<z.ZodObject<{
885
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
886
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
887
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
888
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
889
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
890
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
891
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
892
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
893
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
894
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
895
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
896
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
897
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
898
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
899
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
900
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
901
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
902
+ }, z.ZodTypeAny, "passthrough">>>;
903
+ }, z.ZodTypeAny, "passthrough">>;
904
+ watched_at: z.ZodString;
905
+ user_rating: z.ZodNullable<z.ZodNumber>;
906
+ rewatch: z.ZodBoolean;
907
+ source: z.ZodNullable<z.ZodString>;
908
+ review: z.ZodNullable<z.ZodString>;
909
+ review_url: z.ZodNullable<z.ZodString>;
910
+ }, z.ZodTypeAny, "passthrough">>, "many">;
911
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
912
+ items: z.ZodArray<z.ZodObject<{
913
+ movie: z.ZodObject<{
914
+ id: z.ZodNumber;
915
+ title: z.ZodString;
916
+ year: z.ZodNullable<z.ZodNumber>;
917
+ director: z.ZodNullable<z.ZodString>;
918
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
919
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
920
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
921
+ image: z.ZodNullable<z.ZodObject<{
922
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
923
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
924
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
925
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
926
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
927
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
928
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
929
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
930
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
931
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
932
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
933
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
934
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
935
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
936
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
937
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
938
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
939
+ }, z.ZodTypeAny, "passthrough">>>;
940
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
941
+ id: z.ZodNumber;
942
+ title: z.ZodString;
943
+ year: z.ZodNullable<z.ZodNumber>;
944
+ director: z.ZodNullable<z.ZodString>;
945
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
946
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
947
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
948
+ image: z.ZodNullable<z.ZodObject<{
949
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
950
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
951
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
952
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
953
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
954
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
955
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
956
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
957
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
958
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
959
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
960
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
961
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
962
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
963
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
964
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
965
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
966
+ }, z.ZodTypeAny, "passthrough">>>;
967
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
968
+ id: z.ZodNumber;
969
+ title: z.ZodString;
970
+ year: z.ZodNullable<z.ZodNumber>;
971
+ director: z.ZodNullable<z.ZodString>;
972
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
973
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
974
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
975
+ image: z.ZodNullable<z.ZodObject<{
976
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
977
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
978
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
979
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
980
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
981
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
982
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
983
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
984
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
985
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
986
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
987
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
988
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
989
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
990
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
991
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
992
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
993
+ }, z.ZodTypeAny, "passthrough">>>;
994
+ }, z.ZodTypeAny, "passthrough">>;
995
+ watched_at: z.ZodString;
996
+ user_rating: z.ZodNullable<z.ZodNumber>;
997
+ rewatch: z.ZodBoolean;
998
+ source: z.ZodNullable<z.ZodString>;
999
+ review: z.ZodNullable<z.ZodString>;
1000
+ review_url: z.ZodNullable<z.ZodString>;
1001
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1002
+ movie: z.ZodObject<{
1003
+ id: z.ZodNumber;
1004
+ title: z.ZodString;
1005
+ year: z.ZodNullable<z.ZodNumber>;
1006
+ director: z.ZodNullable<z.ZodString>;
1007
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1008
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1009
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1010
+ image: z.ZodNullable<z.ZodObject<{
1011
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1012
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1013
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1014
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1015
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1016
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1017
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1018
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1019
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1020
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1021
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1022
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1023
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1024
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1025
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1026
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1027
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1028
+ }, z.ZodTypeAny, "passthrough">>>;
1029
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1030
+ id: z.ZodNumber;
1031
+ title: z.ZodString;
1032
+ year: z.ZodNullable<z.ZodNumber>;
1033
+ director: z.ZodNullable<z.ZodString>;
1034
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1035
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1036
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1037
+ image: z.ZodNullable<z.ZodObject<{
1038
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1039
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1040
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1041
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1042
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1043
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1044
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1045
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1046
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1047
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1048
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1049
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1050
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1051
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1052
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1053
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1054
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1055
+ }, z.ZodTypeAny, "passthrough">>>;
1056
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1057
+ id: z.ZodNumber;
1058
+ title: z.ZodString;
1059
+ year: z.ZodNullable<z.ZodNumber>;
1060
+ director: z.ZodNullable<z.ZodString>;
1061
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1062
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1063
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1064
+ image: z.ZodNullable<z.ZodObject<{
1065
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1066
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1067
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1068
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1069
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1070
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1071
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1072
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1073
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1074
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1075
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1076
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1077
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1078
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1079
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1080
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1081
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1082
+ }, z.ZodTypeAny, "passthrough">>>;
1083
+ }, z.ZodTypeAny, "passthrough">>;
1084
+ watched_at: z.ZodString;
1085
+ user_rating: z.ZodNullable<z.ZodNumber>;
1086
+ rewatch: z.ZodBoolean;
1087
+ source: z.ZodNullable<z.ZodString>;
1088
+ review: z.ZodNullable<z.ZodString>;
1089
+ review_url: z.ZodNullable<z.ZodString>;
1090
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1091
+ movie: z.ZodObject<{
1092
+ id: z.ZodNumber;
1093
+ title: z.ZodString;
1094
+ year: z.ZodNullable<z.ZodNumber>;
1095
+ director: z.ZodNullable<z.ZodString>;
1096
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1097
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1098
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1099
+ image: z.ZodNullable<z.ZodObject<{
1100
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1101
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1102
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1103
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1104
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1105
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1106
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1107
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1108
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1109
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1110
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1111
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1112
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1113
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1114
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1115
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1116
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1117
+ }, z.ZodTypeAny, "passthrough">>>;
1118
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1119
+ id: z.ZodNumber;
1120
+ title: z.ZodString;
1121
+ year: z.ZodNullable<z.ZodNumber>;
1122
+ director: z.ZodNullable<z.ZodString>;
1123
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1124
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1125
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1126
+ image: z.ZodNullable<z.ZodObject<{
1127
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1128
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1129
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1130
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1131
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1132
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1133
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1134
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1135
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1136
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1137
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1138
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1139
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1140
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1141
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1142
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1143
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1144
+ }, z.ZodTypeAny, "passthrough">>>;
1145
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1146
+ id: z.ZodNumber;
1147
+ title: z.ZodString;
1148
+ year: z.ZodNullable<z.ZodNumber>;
1149
+ director: z.ZodNullable<z.ZodString>;
1150
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1151
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1152
+ tagline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1153
+ image: z.ZodNullable<z.ZodObject<{
1154
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1155
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1156
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1157
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1158
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1159
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1160
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1161
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1162
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1163
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1164
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1165
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1166
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1167
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1168
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1169
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1170
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1171
+ }, z.ZodTypeAny, "passthrough">>>;
1172
+ }, z.ZodTypeAny, "passthrough">>;
1173
+ watched_at: z.ZodString;
1174
+ user_rating: z.ZodNullable<z.ZodNumber>;
1175
+ rewatch: z.ZodBoolean;
1176
+ source: z.ZodNullable<z.ZodString>;
1177
+ review: z.ZodNullable<z.ZodString>;
1178
+ review_url: z.ZodNullable<z.ZodString>;
1179
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1180
+ }, z.ZodTypeAny, "passthrough">>;
1181
+ /**
1182
+ * outputSchema for get_movie_details. The tool returns the raw
1183
+ * `/watching/movies/:id` API response unchanged, so this schema describes
1184
+ * that response shape directly, including its embedded watch history.
1185
+ */
1186
+ export declare const movieDetailsOutputSchema: z.ZodObject<{
1187
+ id: z.ZodNumber;
1188
+ title: z.ZodString;
1189
+ year: z.ZodNullable<z.ZodNumber>;
1190
+ director: z.ZodNullable<z.ZodString>;
1191
+ directors: z.ZodArray<z.ZodString, "many">;
1192
+ genres: z.ZodArray<z.ZodString, "many">;
1193
+ duration_min: z.ZodNullable<z.ZodNumber>;
1194
+ rating: z.ZodNullable<z.ZodString>;
1195
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1196
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1197
+ tagline: z.ZodNullable<z.ZodString>;
1198
+ summary: z.ZodNullable<z.ZodString>;
1199
+ imdb_id: z.ZodNullable<z.ZodString>;
1200
+ image: z.ZodNullable<z.ZodObject<{
1201
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1202
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1203
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1204
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1205
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1206
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1207
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1208
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1209
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1210
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1211
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1212
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1213
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1214
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1215
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1216
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1217
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1218
+ }, z.ZodTypeAny, "passthrough">>>;
1219
+ watch_history: z.ZodArray<z.ZodObject<{
1220
+ watched_at: z.ZodString;
1221
+ user_rating: z.ZodNullable<z.ZodNumber>;
1222
+ rewatch: z.ZodBoolean;
1223
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1224
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1225
+ source: z.ZodNullable<z.ZodString>;
1226
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1227
+ watched_at: z.ZodString;
1228
+ user_rating: z.ZodNullable<z.ZodNumber>;
1229
+ rewatch: z.ZodBoolean;
1230
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1231
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1232
+ source: z.ZodNullable<z.ZodString>;
1233
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1234
+ watched_at: z.ZodString;
1235
+ user_rating: z.ZodNullable<z.ZodNumber>;
1236
+ rewatch: z.ZodBoolean;
1237
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1238
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1239
+ source: z.ZodNullable<z.ZodString>;
1240
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1241
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1242
+ id: z.ZodNumber;
1243
+ title: z.ZodString;
1244
+ year: z.ZodNullable<z.ZodNumber>;
1245
+ director: z.ZodNullable<z.ZodString>;
1246
+ directors: z.ZodArray<z.ZodString, "many">;
1247
+ genres: z.ZodArray<z.ZodString, "many">;
1248
+ duration_min: z.ZodNullable<z.ZodNumber>;
1249
+ rating: z.ZodNullable<z.ZodString>;
1250
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1251
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1252
+ tagline: z.ZodNullable<z.ZodString>;
1253
+ summary: z.ZodNullable<z.ZodString>;
1254
+ imdb_id: z.ZodNullable<z.ZodString>;
1255
+ image: z.ZodNullable<z.ZodObject<{
1256
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1257
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1258
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1259
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1260
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1261
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1262
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1263
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1264
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1265
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1266
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1267
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1268
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1269
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1270
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1271
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1272
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1273
+ }, z.ZodTypeAny, "passthrough">>>;
1274
+ watch_history: z.ZodArray<z.ZodObject<{
1275
+ watched_at: z.ZodString;
1276
+ user_rating: z.ZodNullable<z.ZodNumber>;
1277
+ rewatch: z.ZodBoolean;
1278
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1279
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1280
+ source: z.ZodNullable<z.ZodString>;
1281
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1282
+ watched_at: z.ZodString;
1283
+ user_rating: z.ZodNullable<z.ZodNumber>;
1284
+ rewatch: z.ZodBoolean;
1285
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1286
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1287
+ source: z.ZodNullable<z.ZodString>;
1288
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1289
+ watched_at: z.ZodString;
1290
+ user_rating: z.ZodNullable<z.ZodNumber>;
1291
+ rewatch: z.ZodBoolean;
1292
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1293
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1294
+ source: z.ZodNullable<z.ZodString>;
1295
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1296
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1297
+ id: z.ZodNumber;
1298
+ title: z.ZodString;
1299
+ year: z.ZodNullable<z.ZodNumber>;
1300
+ director: z.ZodNullable<z.ZodString>;
1301
+ directors: z.ZodArray<z.ZodString, "many">;
1302
+ genres: z.ZodArray<z.ZodString, "many">;
1303
+ duration_min: z.ZodNullable<z.ZodNumber>;
1304
+ rating: z.ZodNullable<z.ZodString>;
1305
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1306
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1307
+ tagline: z.ZodNullable<z.ZodString>;
1308
+ summary: z.ZodNullable<z.ZodString>;
1309
+ imdb_id: z.ZodNullable<z.ZodString>;
1310
+ image: z.ZodNullable<z.ZodObject<{
1311
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1312
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1313
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1314
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1315
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1316
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1317
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1318
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1319
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1320
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1321
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1322
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1323
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1324
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1325
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1326
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1327
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1328
+ }, z.ZodTypeAny, "passthrough">>>;
1329
+ watch_history: z.ZodArray<z.ZodObject<{
1330
+ watched_at: z.ZodString;
1331
+ user_rating: z.ZodNullable<z.ZodNumber>;
1332
+ rewatch: z.ZodBoolean;
1333
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1334
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1335
+ source: z.ZodNullable<z.ZodString>;
1336
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1337
+ watched_at: z.ZodString;
1338
+ user_rating: z.ZodNullable<z.ZodNumber>;
1339
+ rewatch: z.ZodBoolean;
1340
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1341
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1342
+ source: z.ZodNullable<z.ZodString>;
1343
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1344
+ watched_at: z.ZodString;
1345
+ user_rating: z.ZodNullable<z.ZodNumber>;
1346
+ rewatch: z.ZodBoolean;
1347
+ review: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1348
+ review_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1349
+ source: z.ZodNullable<z.ZodString>;
1350
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1351
+ }, z.ZodTypeAny, "passthrough">>;
1352
+ /** outputSchema for get_watching_stats (flat stats object). */
1353
+ export declare const watchingStatsOutputSchema: z.ZodObject<{
1354
+ total_movies: z.ZodNumber;
1355
+ total_watch_time_hours: z.ZodNumber;
1356
+ movies_this_year: z.ZodNumber;
1357
+ avg_per_month: z.ZodNumber;
1358
+ top_genre: z.ZodNullable<z.ZodString>;
1359
+ top_decade: z.ZodNullable<z.ZodNumber>;
1360
+ top_director: z.ZodNullable<z.ZodString>;
1361
+ total_shows: z.ZodNumber;
1362
+ total_episodes_watched: z.ZodNumber;
1363
+ episodes_this_year: z.ZodNumber;
1364
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1365
+ total_movies: z.ZodNumber;
1366
+ total_watch_time_hours: z.ZodNumber;
1367
+ movies_this_year: z.ZodNumber;
1368
+ avg_per_month: z.ZodNumber;
1369
+ top_genre: z.ZodNullable<z.ZodString>;
1370
+ top_decade: z.ZodNullable<z.ZodNumber>;
1371
+ top_director: z.ZodNullable<z.ZodString>;
1372
+ total_shows: z.ZodNumber;
1373
+ total_episodes_watched: z.ZodNumber;
1374
+ episodes_this_year: z.ZodNumber;
1375
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1376
+ total_movies: z.ZodNumber;
1377
+ total_watch_time_hours: z.ZodNumber;
1378
+ movies_this_year: z.ZodNumber;
1379
+ avg_per_month: z.ZodNumber;
1380
+ top_genre: z.ZodNullable<z.ZodString>;
1381
+ top_decade: z.ZodNullable<z.ZodNumber>;
1382
+ top_director: z.ZodNullable<z.ZodString>;
1383
+ total_shows: z.ZodNumber;
1384
+ total_episodes_watched: z.ZodNumber;
1385
+ episodes_this_year: z.ZodNumber;
1386
+ }, z.ZodTypeAny, "passthrough">>;
1387
+ /**
1388
+ * outputSchema for browse_movies. Both the populated and empty-state
1389
+ * branches return `{ items, pagination }` -- the empty branch carries an
1390
+ * empty `items` array but the same pagination block.
1391
+ */
1392
+ export declare const browseMoviesOutputSchema: z.ZodObject<{
1393
+ items: z.ZodArray<z.ZodObject<{
1394
+ id: z.ZodNumber;
1395
+ title: z.ZodString;
1396
+ year: z.ZodNullable<z.ZodNumber>;
1397
+ director: z.ZodNullable<z.ZodString>;
1398
+ genres: z.ZodArray<z.ZodString, "many">;
1399
+ duration_min: z.ZodNullable<z.ZodNumber>;
1400
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1401
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1402
+ image: z.ZodNullable<z.ZodObject<{
1403
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1404
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1405
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1406
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1407
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1408
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1409
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1410
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1411
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1412
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1413
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1414
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1415
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1416
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1417
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1418
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1419
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1420
+ }, z.ZodTypeAny, "passthrough">>>;
1421
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1422
+ id: z.ZodNumber;
1423
+ title: z.ZodString;
1424
+ year: z.ZodNullable<z.ZodNumber>;
1425
+ director: z.ZodNullable<z.ZodString>;
1426
+ genres: z.ZodArray<z.ZodString, "many">;
1427
+ duration_min: z.ZodNullable<z.ZodNumber>;
1428
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1429
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1430
+ image: z.ZodNullable<z.ZodObject<{
1431
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1432
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1433
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1434
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1435
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1436
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1437
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1438
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1439
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1440
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1441
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1442
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1443
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1444
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1445
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1446
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1447
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1448
+ }, z.ZodTypeAny, "passthrough">>>;
1449
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1450
+ id: z.ZodNumber;
1451
+ title: z.ZodString;
1452
+ year: z.ZodNullable<z.ZodNumber>;
1453
+ director: z.ZodNullable<z.ZodString>;
1454
+ genres: z.ZodArray<z.ZodString, "many">;
1455
+ duration_min: z.ZodNullable<z.ZodNumber>;
1456
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1457
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1458
+ image: z.ZodNullable<z.ZodObject<{
1459
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1460
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1461
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1462
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1463
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1464
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1465
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1466
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1467
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1468
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1469
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1470
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1471
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1472
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1473
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1474
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1475
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1476
+ }, z.ZodTypeAny, "passthrough">>>;
1477
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1478
+ pagination: z.ZodObject<{
1479
+ page: z.ZodNumber;
1480
+ limit: z.ZodNumber;
1481
+ total: z.ZodNumber;
1482
+ total_pages: z.ZodNumber;
1483
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1484
+ page: z.ZodNumber;
1485
+ limit: z.ZodNumber;
1486
+ total: z.ZodNumber;
1487
+ total_pages: z.ZodNumber;
1488
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1489
+ page: z.ZodNumber;
1490
+ limit: z.ZodNumber;
1491
+ total: z.ZodNumber;
1492
+ total_pages: z.ZodNumber;
1493
+ }, z.ZodTypeAny, "passthrough">>;
1494
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1495
+ items: z.ZodArray<z.ZodObject<{
1496
+ id: z.ZodNumber;
1497
+ title: z.ZodString;
1498
+ year: z.ZodNullable<z.ZodNumber>;
1499
+ director: z.ZodNullable<z.ZodString>;
1500
+ genres: z.ZodArray<z.ZodString, "many">;
1501
+ duration_min: z.ZodNullable<z.ZodNumber>;
1502
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1503
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1504
+ image: z.ZodNullable<z.ZodObject<{
1505
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1506
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1507
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1508
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1509
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1510
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1511
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1512
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1513
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1514
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1515
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1516
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1517
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1518
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1519
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1520
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1521
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1522
+ }, z.ZodTypeAny, "passthrough">>>;
1523
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1524
+ id: z.ZodNumber;
1525
+ title: z.ZodString;
1526
+ year: z.ZodNullable<z.ZodNumber>;
1527
+ director: z.ZodNullable<z.ZodString>;
1528
+ genres: z.ZodArray<z.ZodString, "many">;
1529
+ duration_min: z.ZodNullable<z.ZodNumber>;
1530
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1531
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1532
+ image: z.ZodNullable<z.ZodObject<{
1533
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1534
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1535
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1536
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1537
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1538
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1539
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1540
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1541
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1542
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1543
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1544
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1545
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1546
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1547
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1548
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1549
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1550
+ }, z.ZodTypeAny, "passthrough">>>;
1551
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1552
+ id: z.ZodNumber;
1553
+ title: z.ZodString;
1554
+ year: z.ZodNullable<z.ZodNumber>;
1555
+ director: z.ZodNullable<z.ZodString>;
1556
+ genres: z.ZodArray<z.ZodString, "many">;
1557
+ duration_min: z.ZodNullable<z.ZodNumber>;
1558
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1559
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1560
+ image: z.ZodNullable<z.ZodObject<{
1561
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1562
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1563
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1564
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1565
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1566
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1567
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1568
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1569
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1570
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1571
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1572
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1573
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1574
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1575
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1576
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1577
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1578
+ }, z.ZodTypeAny, "passthrough">>>;
1579
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1580
+ pagination: z.ZodObject<{
1581
+ page: z.ZodNumber;
1582
+ limit: z.ZodNumber;
1583
+ total: z.ZodNumber;
1584
+ total_pages: z.ZodNumber;
1585
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1586
+ page: z.ZodNumber;
1587
+ limit: z.ZodNumber;
1588
+ total: z.ZodNumber;
1589
+ total_pages: z.ZodNumber;
1590
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1591
+ page: z.ZodNumber;
1592
+ limit: z.ZodNumber;
1593
+ total: z.ZodNumber;
1594
+ total_pages: z.ZodNumber;
1595
+ }, z.ZodTypeAny, "passthrough">>;
1596
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1597
+ items: z.ZodArray<z.ZodObject<{
1598
+ id: z.ZodNumber;
1599
+ title: z.ZodString;
1600
+ year: z.ZodNullable<z.ZodNumber>;
1601
+ director: z.ZodNullable<z.ZodString>;
1602
+ genres: z.ZodArray<z.ZodString, "many">;
1603
+ duration_min: z.ZodNullable<z.ZodNumber>;
1604
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1605
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1606
+ image: z.ZodNullable<z.ZodObject<{
1607
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1608
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1609
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1610
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1611
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1612
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1613
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1614
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1615
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1616
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1617
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1618
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1619
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1620
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1621
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1622
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1623
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1624
+ }, z.ZodTypeAny, "passthrough">>>;
1625
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1626
+ id: z.ZodNumber;
1627
+ title: z.ZodString;
1628
+ year: z.ZodNullable<z.ZodNumber>;
1629
+ director: z.ZodNullable<z.ZodString>;
1630
+ genres: z.ZodArray<z.ZodString, "many">;
1631
+ duration_min: z.ZodNullable<z.ZodNumber>;
1632
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1633
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1634
+ image: z.ZodNullable<z.ZodObject<{
1635
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1636
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1637
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1638
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1639
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1640
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1641
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1642
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1643
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1644
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1645
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1646
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1647
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1648
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1649
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1650
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1651
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1652
+ }, z.ZodTypeAny, "passthrough">>>;
1653
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1654
+ id: z.ZodNumber;
1655
+ title: z.ZodString;
1656
+ year: z.ZodNullable<z.ZodNumber>;
1657
+ director: z.ZodNullable<z.ZodString>;
1658
+ genres: z.ZodArray<z.ZodString, "many">;
1659
+ duration_min: z.ZodNullable<z.ZodNumber>;
1660
+ tmdb_id: z.ZodNullable<z.ZodNumber>;
1661
+ tmdb_rating: z.ZodNullable<z.ZodNumber>;
1662
+ image: z.ZodNullable<z.ZodObject<{
1663
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1664
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1665
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1666
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1667
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1668
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1669
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1670
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1671
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1672
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1673
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1674
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1675
+ cdn_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1676
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1677
+ thumbhash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1678
+ dominant_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1679
+ accent_color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1680
+ }, z.ZodTypeAny, "passthrough">>>;
1681
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1682
+ pagination: z.ZodObject<{
1683
+ page: z.ZodNumber;
1684
+ limit: z.ZodNumber;
1685
+ total: z.ZodNumber;
1686
+ total_pages: z.ZodNumber;
1687
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1688
+ page: z.ZodNumber;
1689
+ limit: z.ZodNumber;
1690
+ total: z.ZodNumber;
1691
+ total_pages: z.ZodNumber;
1692
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1693
+ page: z.ZodNumber;
1694
+ limit: z.ZodNumber;
1695
+ total: z.ZodNumber;
1696
+ total_pages: z.ZodNumber;
1697
+ }, z.ZodTypeAny, "passthrough">>;
1698
+ }, z.ZodTypeAny, "passthrough">>;
1699
+ /**
1700
+ * outputSchema for get_watching_genres. The empty-state branch returns
1701
+ * `{ items: [] }`, which satisfies the same schema.
1702
+ */
1703
+ export declare const watchingGenresOutputSchema: z.ZodObject<{
1704
+ items: z.ZodArray<z.ZodObject<{
1705
+ name: z.ZodString;
1706
+ count: z.ZodNumber;
1707
+ percentage: z.ZodNumber;
1708
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1709
+ name: z.ZodString;
1710
+ count: z.ZodNumber;
1711
+ percentage: z.ZodNumber;
1712
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1713
+ name: z.ZodString;
1714
+ count: z.ZodNumber;
1715
+ percentage: z.ZodNumber;
1716
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1717
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1718
+ items: z.ZodArray<z.ZodObject<{
1719
+ name: z.ZodString;
1720
+ count: z.ZodNumber;
1721
+ percentage: z.ZodNumber;
1722
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1723
+ name: z.ZodString;
1724
+ count: z.ZodNumber;
1725
+ percentage: z.ZodNumber;
1726
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1727
+ name: z.ZodString;
1728
+ count: z.ZodNumber;
1729
+ percentage: z.ZodNumber;
1730
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1731
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1732
+ items: z.ZodArray<z.ZodObject<{
1733
+ name: z.ZodString;
1734
+ count: z.ZodNumber;
1735
+ percentage: z.ZodNumber;
1736
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1737
+ name: z.ZodString;
1738
+ count: z.ZodNumber;
1739
+ percentage: z.ZodNumber;
1740
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1741
+ name: z.ZodString;
1742
+ count: z.ZodNumber;
1743
+ percentage: z.ZodNumber;
1744
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1745
+ }, z.ZodTypeAny, "passthrough">>;
1746
+ /**
1747
+ * outputSchema for get_watching_decades. The empty-state branch returns
1748
+ * `{ items: [] }`, which satisfies the same schema.
1749
+ */
1750
+ export declare const watchingDecadesOutputSchema: z.ZodObject<{
1751
+ items: z.ZodArray<z.ZodObject<{
1752
+ decade: z.ZodNumber;
1753
+ count: z.ZodNumber;
1754
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1755
+ decade: z.ZodNumber;
1756
+ count: z.ZodNumber;
1757
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1758
+ decade: z.ZodNumber;
1759
+ count: z.ZodNumber;
1760
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1761
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1762
+ items: z.ZodArray<z.ZodObject<{
1763
+ decade: z.ZodNumber;
1764
+ count: z.ZodNumber;
1765
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1766
+ decade: z.ZodNumber;
1767
+ count: z.ZodNumber;
1768
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1769
+ decade: z.ZodNumber;
1770
+ count: z.ZodNumber;
1771
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1772
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1773
+ items: z.ZodArray<z.ZodObject<{
1774
+ decade: z.ZodNumber;
1775
+ count: z.ZodNumber;
1776
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1777
+ decade: z.ZodNumber;
1778
+ count: z.ZodNumber;
1779
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1780
+ decade: z.ZodNumber;
1781
+ count: z.ZodNumber;
1782
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1783
+ }, z.ZodTypeAny, "passthrough">>;
1784
+ /**
1785
+ * outputSchema for get_watching_directors. The empty-state branch returns
1786
+ * `{ items: [] }`, which satisfies the same schema.
1787
+ */
1788
+ export declare const watchingDirectorsOutputSchema: z.ZodObject<{
1789
+ items: z.ZodArray<z.ZodObject<{
1790
+ name: z.ZodString;
1791
+ count: z.ZodNumber;
1792
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1793
+ name: z.ZodString;
1794
+ count: z.ZodNumber;
1795
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1796
+ name: z.ZodString;
1797
+ count: z.ZodNumber;
1798
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1799
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1800
+ items: z.ZodArray<z.ZodObject<{
1801
+ name: z.ZodString;
1802
+ count: z.ZodNumber;
1803
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1804
+ name: z.ZodString;
1805
+ count: z.ZodNumber;
1806
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1807
+ name: z.ZodString;
1808
+ count: z.ZodNumber;
1809
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1810
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1811
+ items: z.ZodArray<z.ZodObject<{
1812
+ name: z.ZodString;
1813
+ count: z.ZodNumber;
1814
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1815
+ name: z.ZodString;
1816
+ count: z.ZodNumber;
1817
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1818
+ name: z.ZodString;
1819
+ count: z.ZodNumber;
1820
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1821
+ }, z.ZodTypeAny, "passthrough">>;