@transloadit/zod 5.0.1 → 7.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 (199) hide show
  1. package/dist/v3/assemblyStatus.d.ts +682 -682
  2. package/dist/v3/assemblyStatus.d.ts.map +1 -1
  3. package/dist/v3/assemblyStatus.js +23 -14
  4. package/dist/v3/englishInteger.d.ts +3 -0
  5. package/dist/v3/englishInteger.d.ts.map +1 -0
  6. package/dist/v3/englishInteger.js +12 -0
  7. package/dist/v3/lib/zodInputSemantics.d.ts +3 -1
  8. package/dist/v3/lib/zodInputSemantics.d.ts.map +1 -1
  9. package/dist/v3/lib/zodInputSemantics.js +17 -0
  10. package/dist/v3/robots/_ai-models.d.ts.map +1 -1
  11. package/dist/v3/robots/_ai-models.js +2 -0
  12. package/dist/v3/robots/_google-image-seed.d.ts +8 -0
  13. package/dist/v3/robots/_google-image-seed.d.ts.map +1 -0
  14. package/dist/v3/robots/_google-image-seed.js +11 -0
  15. package/dist/v3/robots/_image-describe-output.d.ts +55 -0
  16. package/dist/v3/robots/_image-describe-output.d.ts.map +1 -0
  17. package/dist/v3/robots/_image-describe-output.js +15 -0
  18. package/dist/v3/robots/_image-facedetect-output.d.ts +30 -0
  19. package/dist/v3/robots/_image-facedetect-output.d.ts.map +1 -0
  20. package/dist/v3/robots/_image-facedetect-output.js +14 -0
  21. package/dist/v3/robots/_index.d.ts +582 -48
  22. package/dist/v3/robots/_index.d.ts.map +1 -1
  23. package/dist/v3/robots/_index.js +84 -80
  24. package/dist/v3/robots/_instructions-primitives.d.ts +84 -0
  25. package/dist/v3/robots/_instructions-primitives.d.ts.map +1 -1
  26. package/dist/v3/robots/_instructions-primitives.js +57 -16
  27. package/dist/v3/robots/_ocr-output.d.ts +75 -0
  28. package/dist/v3/robots/_ocr-output.d.ts.map +1 -0
  29. package/dist/v3/robots/_ocr-output.js +14 -0
  30. package/dist/v3/robots/ai-chat.d.ts +13 -13
  31. package/dist/v3/robots/ai-chat.d.ts.map +1 -1
  32. package/dist/v3/robots/audio-encode.d.ts.map +1 -1
  33. package/dist/v3/robots/audio-encode.js +8 -1
  34. package/dist/v3/robots/audio-split.d.ts.map +1 -1
  35. package/dist/v3/robots/audio-split.js +2 -0
  36. package/dist/v3/robots/digitalocean-store.d.ts +4 -4
  37. package/dist/v3/robots/digitalocean-store.js +1 -1
  38. package/dist/v3/robots/document-convert.d.ts +8 -6
  39. package/dist/v3/robots/document-convert.d.ts.map +1 -1
  40. package/dist/v3/robots/document-convert.js +5 -5
  41. package/dist/v3/robots/document-extract.d.ts +4 -4
  42. package/dist/v3/robots/document-ocr.d.ts +8 -8
  43. package/dist/v3/robots/google-import.d.ts +4 -6
  44. package/dist/v3/robots/google-import.d.ts.map +1 -1
  45. package/dist/v3/robots/google-import.js +5 -2
  46. package/dist/v3/robots/google-store.d.ts +32 -8
  47. package/dist/v3/robots/google-store.d.ts.map +1 -1
  48. package/dist/v3/robots/google-store.js +14 -14
  49. package/dist/v3/robots/http-import.d.ts.map +1 -1
  50. package/dist/v3/robots/http-import.js +4 -0
  51. package/dist/v3/robots/image-bgremove.d.ts +16 -16
  52. package/dist/v3/robots/image-describe.d.ts +17 -17
  53. package/dist/v3/robots/image-describe.d.ts.map +1 -1
  54. package/dist/v3/robots/image-describe.js +2 -1
  55. package/dist/v3/robots/image-facedetect.d.ts +9 -35
  56. package/dist/v3/robots/image-facedetect.d.ts.map +1 -1
  57. package/dist/v3/robots/image-facedetect.js +1 -11
  58. package/dist/v3/robots/image-generate.d.ts +20 -20
  59. package/dist/v3/robots/image-generate.d.ts.map +1 -1
  60. package/dist/v3/robots/image-generate.js +7 -2
  61. package/dist/v3/robots/image-ocr.d.ts +8 -8
  62. package/dist/v3/robots/image-resize.d.ts +4 -0
  63. package/dist/v3/robots/image-resize.d.ts.map +1 -1
  64. package/dist/v3/robots/image-resize.js +34 -6
  65. package/dist/v3/robots/image-upscale.d.ts +17 -12
  66. package/dist/v3/robots/image-upscale.d.ts.map +1 -1
  67. package/dist/v3/robots/image-upscale.js +14 -2
  68. package/dist/v3/robots/mega-store.d.ts +4 -4
  69. package/dist/v3/robots/mega-store.js +1 -1
  70. package/dist/v3/robots/s3-store.d.ts +8 -8
  71. package/dist/v3/robots/s3-store.d.ts.map +1 -1
  72. package/dist/v3/robots/s3-store.js +34 -18
  73. package/dist/v3/robots/speech-transcribe.d.ts +12 -12
  74. package/dist/v3/robots/text-speak.d.ts +8 -8
  75. package/dist/v3/robots/text-translate.d.ts +8 -8
  76. package/dist/v3/robots/video-adaptive.d.ts +16 -19
  77. package/dist/v3/robots/video-adaptive.d.ts.map +1 -1
  78. package/dist/v3/robots/video-adaptive.js +37 -3
  79. package/dist/v3/robots/video-concat.d.ts.map +1 -1
  80. package/dist/v3/robots/video-concat.js +7 -3
  81. package/dist/v3/robots/video-encode.d.ts.map +1 -1
  82. package/dist/v3/robots/video-encode.js +6 -0
  83. package/dist/v3/robots/video-generate.d.ts +20 -20
  84. package/dist/v3/robots/video-generate.js +1 -1
  85. package/dist/v3/robots/video-merge.d.ts.map +1 -1
  86. package/dist/v3/robots/video-merge.js +15 -1
  87. package/dist/v3/robots/video-split.d.ts.map +1 -1
  88. package/dist/v3/robots/video-split.js +2 -0
  89. package/dist/v3/robots/video-subtitle.d.ts +47 -4
  90. package/dist/v3/robots/video-subtitle.d.ts.map +1 -1
  91. package/dist/v3/robots/video-subtitle.js +59 -46
  92. package/dist/v3/robots/video-thumbs.d.ts +6 -0
  93. package/dist/v3/robots/video-thumbs.d.ts.map +1 -1
  94. package/dist/v3/robots/video-thumbs.js +15 -5
  95. package/dist/v3/robots/vimeo-import.d.ts.map +1 -1
  96. package/dist/v3/robots/vimeo-import.js +1 -1
  97. package/dist/v3/robots/youtube-store.d.ts +37 -20
  98. package/dist/v3/robots/youtube-store.d.ts.map +1 -1
  99. package/dist/v3/robots/youtube-store.js +17 -29
  100. package/dist/v3/youtubeCategories.d.ts +20 -0
  101. package/dist/v3/youtubeCategories.d.ts.map +1 -0
  102. package/dist/v3/youtubeCategories.js +20 -0
  103. package/dist/v4/assemblyStatus.d.ts +75 -1183
  104. package/dist/v4/assemblyStatus.d.ts.map +1 -1
  105. package/dist/v4/assemblyStatus.js +23 -14
  106. package/dist/v4/englishInteger.d.ts +3 -0
  107. package/dist/v4/englishInteger.d.ts.map +1 -0
  108. package/dist/v4/englishInteger.js +12 -0
  109. package/dist/v4/lib/zodInputSemantics.d.ts +3 -1
  110. package/dist/v4/lib/zodInputSemantics.d.ts.map +1 -1
  111. package/dist/v4/lib/zodInputSemantics.js +6 -0
  112. package/dist/v4/robots/_ai-models.d.ts.map +1 -1
  113. package/dist/v4/robots/_ai-models.js +2 -0
  114. package/dist/v4/robots/_google-image-seed.d.ts +8 -0
  115. package/dist/v4/robots/_google-image-seed.d.ts.map +1 -0
  116. package/dist/v4/robots/_google-image-seed.js +11 -0
  117. package/dist/v4/robots/_image-describe-output.d.ts +23 -0
  118. package/dist/v4/robots/_image-describe-output.d.ts.map +1 -0
  119. package/dist/v4/robots/_image-describe-output.js +15 -0
  120. package/dist/v4/robots/_image-facedetect-output.d.ts +14 -0
  121. package/dist/v4/robots/_image-facedetect-output.d.ts.map +1 -0
  122. package/dist/v4/robots/_image-facedetect-output.js +15 -0
  123. package/dist/v4/robots/_index.d.ts +582 -48
  124. package/dist/v4/robots/_index.d.ts.map +1 -1
  125. package/dist/v4/robots/_index.js +84 -80
  126. package/dist/v4/robots/_instructions-primitives.d.ts +18 -0
  127. package/dist/v4/robots/_instructions-primitives.d.ts.map +1 -1
  128. package/dist/v4/robots/_instructions-primitives.js +56 -15
  129. package/dist/v4/robots/_ocr-output.d.ts +29 -0
  130. package/dist/v4/robots/_ocr-output.d.ts.map +1 -0
  131. package/dist/v4/robots/_ocr-output.js +14 -0
  132. package/dist/v4/robots/ai-chat.d.ts +1 -1
  133. package/dist/v4/robots/ai-chat.d.ts.map +1 -1
  134. package/dist/v4/robots/audio-encode.d.ts.map +1 -1
  135. package/dist/v4/robots/audio-encode.js +8 -1
  136. package/dist/v4/robots/audio-split.d.ts.map +1 -1
  137. package/dist/v4/robots/audio-split.js +2 -0
  138. package/dist/v4/robots/digitalocean-store.d.ts +8 -8
  139. package/dist/v4/robots/digitalocean-store.js +1 -1
  140. package/dist/v4/robots/document-convert.d.ts +22 -8
  141. package/dist/v4/robots/document-convert.d.ts.map +1 -1
  142. package/dist/v4/robots/document-convert.js +5 -5
  143. package/dist/v4/robots/google-import.d.ts +4 -4
  144. package/dist/v4/robots/google-import.d.ts.map +1 -1
  145. package/dist/v4/robots/google-import.js +5 -2
  146. package/dist/v4/robots/google-store.d.ts +16 -4
  147. package/dist/v4/robots/google-store.d.ts.map +1 -1
  148. package/dist/v4/robots/google-store.js +14 -14
  149. package/dist/v4/robots/http-import.d.ts.map +1 -1
  150. package/dist/v4/robots/http-import.js +4 -0
  151. package/dist/v4/robots/image-describe.d.ts +1 -5
  152. package/dist/v4/robots/image-describe.d.ts.map +1 -1
  153. package/dist/v4/robots/image-describe.js +2 -1
  154. package/dist/v4/robots/image-facedetect.d.ts +1 -11
  155. package/dist/v4/robots/image-facedetect.d.ts.map +1 -1
  156. package/dist/v4/robots/image-facedetect.js +1 -12
  157. package/dist/v4/robots/image-generate.d.ts +0 -4
  158. package/dist/v4/robots/image-generate.d.ts.map +1 -1
  159. package/dist/v4/robots/image-generate.js +6 -2
  160. package/dist/v4/robots/image-resize.d.ts +4 -0
  161. package/dist/v4/robots/image-resize.d.ts.map +1 -1
  162. package/dist/v4/robots/image-resize.js +34 -6
  163. package/dist/v4/robots/image-upscale.d.ts +5 -0
  164. package/dist/v4/robots/image-upscale.d.ts.map +1 -1
  165. package/dist/v4/robots/image-upscale.js +14 -2
  166. package/dist/v4/robots/mega-store.d.ts +8 -8
  167. package/dist/v4/robots/mega-store.js +1 -1
  168. package/dist/v4/robots/s3-store.d.ts +20 -0
  169. package/dist/v4/robots/s3-store.d.ts.map +1 -1
  170. package/dist/v4/robots/s3-store.js +34 -18
  171. package/dist/v4/robots/video-adaptive.d.ts +16 -16
  172. package/dist/v4/robots/video-adaptive.d.ts.map +1 -1
  173. package/dist/v4/robots/video-adaptive.js +38 -5
  174. package/dist/v4/robots/video-concat.d.ts.map +1 -1
  175. package/dist/v4/robots/video-concat.js +7 -3
  176. package/dist/v4/robots/video-encode.d.ts.map +1 -1
  177. package/dist/v4/robots/video-encode.js +6 -0
  178. package/dist/v4/robots/video-generate.d.ts +0 -4
  179. package/dist/v4/robots/video-generate.d.ts.map +1 -1
  180. package/dist/v4/robots/video-generate.js +1 -1
  181. package/dist/v4/robots/video-merge.d.ts.map +1 -1
  182. package/dist/v4/robots/video-merge.js +15 -1
  183. package/dist/v4/robots/video-split.d.ts.map +1 -1
  184. package/dist/v4/robots/video-split.js +2 -0
  185. package/dist/v4/robots/video-subtitle.d.ts +31 -4
  186. package/dist/v4/robots/video-subtitle.d.ts.map +1 -1
  187. package/dist/v4/robots/video-subtitle.js +58 -46
  188. package/dist/v4/robots/video-thumbs.d.ts +6 -0
  189. package/dist/v4/robots/video-thumbs.d.ts.map +1 -1
  190. package/dist/v4/robots/video-thumbs.js +15 -5
  191. package/dist/v4/robots/vimeo-import.d.ts.map +1 -1
  192. package/dist/v4/robots/vimeo-import.js +1 -1
  193. package/dist/v4/robots/youtube-store.d.ts +25 -76
  194. package/dist/v4/robots/youtube-store.d.ts.map +1 -1
  195. package/dist/v4/robots/youtube-store.js +18 -29
  196. package/dist/v4/youtubeCategories.d.ts +20 -0
  197. package/dist/v4/youtubeCategories.d.ts.map +1 -0
  198. package/dist/v4/youtubeCategories.js +20 -0
  199. package/package.json +2 -2
@@ -3,6 +3,12 @@ import { stackVersions } from "../stackVersions.js";
3
3
  import { color_with_alpha, createProcessingExample, defineRobot, percentageSchema, resize_strategy, robotBase, robotFFmpeg, robotUse, robotVideoEncodingMeta, } from "./_instructions-primitives.js";
4
4
  /** Markup over the AI provider cost for smart thumbnail selection. */
5
5
  export const smartThumbnailMarkupPercent = 50;
6
+ /** Dedicated vision model so /ai/chat default upgrades do not change thumbnail analysis costs. */
7
+ export const smartThumbnailModel = 'openai/gpt-5.4-mini';
8
+ /** Maximum long-side dimension of scoring previews; returned thumbnails keep their output size. */
9
+ export const smartThumbnailAnalysisMaxSize = 512;
10
+ /** Frame ranking needs little reasoning compared with general-purpose chat. */
11
+ export const smartThumbnailReasoningEffort = 'low';
6
12
  const thumbnailCountSchema = z.number().int().min(1).max(999).default(8);
7
13
  const smartMaximumCandidatesSchema = z.number().int().min(2).max(100).default(20);
8
14
  const defaultThumbnailCount = thumbnailCountSchema.parse(undefined);
@@ -35,13 +41,15 @@ export const robotVideoThumbsInstructionsSchema = robotBase
35
41
  .merge(robotFFmpeg)
36
42
  .extend({
37
43
  robot: z.literal('/video/thumbs').describe(`
38
- Set \`smart: true\` to select strong preview images with AI instead of taking frames only at regular intervals. The Robot scores candidate frames for clarity, brightness, composition, faces, expressions, action, and visual interest, then returns the best \`count\` frames in chronological order. Smart results include \`file.meta.smart_score\` and \`file.meta.smart_reasons\`. If AI scoring is unavailable, the Assembly continues with the candidate frames in fallback order. No AI credentials are required.
44
+ Set \`smart: true\` to select strong preview images with AI instead of taking frames only at regular intervals. The Robot scores candidate frames for clarity, brightness, composition, faces, expressions, action, and visual interest, then returns the best \`count\` frames in chronological order. Smart results include \`file.meta.smart_score\` and \`file.meta.smart_reasons\`. If AI scoring is unavailable, the Assembly continues with the candidate frames in fallback order and includes a warning. No AI credentials are required.
39
45
 
40
46
  ## AI pricing
41
47
 
42
- Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. The exact AI charge varies with the number of candidate frames, the internally selected model and provider pricing, and the image payload size.
48
+ Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. Smart selection uses the dedicated \`${smartThumbnailModel}\` vision model with \`${smartThumbnailReasoningEffort}\` reasoning, independently of the \`/ai/chat\` default. The exact AI charge varies with the number of candidate frames and provider pricing.
43
49
 
44
- \`smart_max_candidates\` is the main cost and latency control. The Robot analyzes up to three candidates per requested thumbnail, capped by \`smart_max_candidates\`, but never fewer than \`count\`. With the defaults of \`count: ${defaultThumbnailCount}\` and \`smart_max_candidates: ${defaultSmartMaximumCandidates}\`, it analyzes ${getSmartThumbnailCandidateCount(defaultThumbnailCount, defaultSmartMaximumCandidates)} frames and returns the best ${defaultThumbnailCount}. Lower the candidate limit to reduce AI cost and latency; raise it to give the AI more frames to choose from.
50
+ The AI scores preview copies capped at ${smartThumbnailAnalysisMaxSize} pixels on the long side, preserving aspect ratio and without enlarging smaller images. Returned thumbnails keep the requested output dimensions and format; larger outputs do not increase the scoring preview beyond this limit.
51
+
52
+ \`smart_max_candidates\` is the main cost and latency control. The Robot analyzes up to three candidates per requested thumbnail, capped by \`smart_max_candidates\`, but never fewer than \`count\`. With the defaults of \`count: ${defaultThumbnailCount}\` and \`smart_max_candidates: ${defaultSmartMaximumCandidates}\`, it analyzes ${getSmartThumbnailCandidateCount(defaultThumbnailCount, defaultSmartMaximumCandidates)} frames and returns the best ${defaultThumbnailCount}. Lower the candidate limit to reduce AI cost and latency. Raising it can enlarge the pool up to three times \`count\`; higher limits have no effect.
45
53
 
46
54
  > [!Note]
47
55
  > Use \`count\` with smart selection. To consistently extract exact timestamps with \`offsets\`, set \`smart: false\`.
@@ -123,17 +131,19 @@ The AI evaluates frames based on:
123
131
  - Action and motion (avoiding transition frames)
124
132
  - Overall visual interest
125
133
 
126
- Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. You do not need to provide AI credentials.
134
+ Regular \`/video/thumbs\` processing charges still apply. AI frame analysis uses a dedicated low-cost vision model with \`${smartThumbnailReasoningEffort}\` reasoning and preview copies capped at ${smartThumbnailAnalysisMaxSize} pixels on the long side. Returned thumbnails retain their requested dimensions and format. Analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. You do not need to provide AI credentials.
127
135
 
128
136
  Smart mode generates its own regularly spaced candidate timestamps; use \`smart: false\` with \`offsets\` when you need specified timestamps. Selected smart thumbnails are returned in chronological order, not score order. Inspect \`meta.thumb_offset\`, \`meta.smart_score\`, and \`meta.smart_reasons\` when evaluating the selection.
129
137
 
130
- If AI scoring fails, the Robot selects from the extracted candidates in chronological order and records a fallback reason. If no candidates can be extracted, it attempts standard thumbnail extraction. A completed Assembly does not guarantee a representative or publication-safe poster; check that outputs exist and apply your application’s review policy.
138
+ If AI scoring fails, the Robot selects extracted candidates in chronological order and records a fallback reason. With no candidates, it attempts standard extraction. Both fallbacks add an Assembly warning. A completed Assembly does not guarantee a representative or publication-safe poster; check that outputs exist and apply your application’s review policy.
131
139
  `),
132
140
  smart_max_candidates: smartMaximumCandidatesSchema.describe(`
133
141
  The maximum size of the candidate pool when \`smart\` is \`true\`. The Robot analyzes up to three candidates per requested thumbnail, capped by this value, but it will never analyze fewer candidates than the requested \`count\`.
134
142
 
135
143
  A higher number may yield better results but increases processing time and AI cost. With the defaults of \`count: ${defaultThumbnailCount}\` and \`smart_max_candidates: ${defaultSmartMaximumCandidates}\`, the Robot analyzes ${getSmartThumbnailCandidateCount(defaultThumbnailCount, defaultSmartMaximumCandidates)} frames and returns the best ${defaultThumbnailCount} in chronological order.
136
144
 
145
+ Raising this limit above three times \`count\` does not enlarge the pool. For example, \`count: 1\` analyzes at most three candidates.
146
+
137
147
  This parameter is only used when \`smart\` is \`true\`.
138
148
  `),
139
149
  })
@@ -1 +1 @@
1
- {"version":3,"file":"vimeo-import.d.ts","sourceRoot":"","sources":["../../../src/v3/robots/vimeo-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAW1B,eAAO,MAAM,IAAI,EAAE,cAwBlB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCpC,CAAA;AAEX,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC7F,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAElG,eAAO,MAAM,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5D,CAAA;AACD,MAAM,MAAM,0CAA0C,GACpD,+CAA+C,CAAA;AAEjD,MAAM,MAAM,+CAA+C,GAAG,CAAC,CAAC,KAAK,CACnE,OAAO,gDAAgD,CACxD,CAAA;AAED,eAAO,MAAM,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY3D,CAAA;AAEJ,eAAO,MAAM,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5E,CAAA;AACD,MAAM,MAAM,0DAA0D,GAAG,CAAC,CAAC,KAAK,CAC9E,OAAO,gEAAgE,CACxE,CAAA;AACD,MAAM,MAAM,+DAA+D,GAAG,CAAC,CAAC,KAAK,CACnF,OAAO,gEAAgE,CACxE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,OAAO,gDAAgD,EACvD,OAAO,gEAAgE,CAKxE,CAAA"}
1
+ {"version":3,"file":"vimeo-import.d.ts","sourceRoot":"","sources":["../../../src/v3/robots/vimeo-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAW1B,eAAO,MAAM,IAAI,EAAE,cAwBlB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCpC,CAAA;AAEX,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC7F,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAElG,eAAO,MAAM,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5D,CAAA;AACD,MAAM,MAAM,0CAA0C,GACpD,+CAA+C,CAAA;AAEjD,MAAM,MAAM,+CAA+C,GAAG,CAAC,CAAC,KAAK,CACnE,OAAO,gDAAgD,CACxD,CAAA;AAED,eAAO,MAAM,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY3D,CAAA;AAEJ,eAAO,MAAM,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5E,CAAA;AACD,MAAM,MAAM,0DAA0D,GAAG,CAAC,CAAC,KAAK,CAC9E,OAAO,gEAAgE,CACxE,CAAA;AACD,MAAM,MAAM,+DAA+D,GAAG,CAAC,CAAC,KAAK,CACnF,OAAO,gEAAgE,CACxE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,OAAO,gDAAgD,EACvD,OAAO,gEAAgE,CAKxE,CAAA"}
@@ -58,7 +58,7 @@ You can also use an array of path strings here to import multiple paths in the s
58
58
  rendition: z
59
59
  .enum(['240p', '360p', '540p', '720p', '1080p', 'source'])
60
60
  .default('720p')
61
- .describe('The quality of the video to import.'),
61
+ .describe('The quality of the video to import. Use `source` for the original upload. Source availability depends on video permissions, your Vimeo account, the access token’s `video_files` scope, and whether Vimeo has retained the source file. The import fails with an error if the source file is unavailable.'),
62
62
  })
63
63
  .strict();
64
64
  export const interpolatableRobotVimeoImportInstructionsSchema = interpolateRobot(robotVimeoImportInstructionsSchema);
@@ -1,4 +1,4 @@
1
- import type { RobotDefinition, RobotMetaInput, RobotSchemaVariantTypes } from './_instructions-primitives.ts';
1
+ import type { RobotDefinitionWithHiddenFields, RobotMetaInput, RobotSchemaVariantTypes } from './_instructions-primitives.ts';
2
2
  import { z } from 'zod/v3';
3
3
  export declare const meta: RobotMetaInput;
4
4
  export declare const robotYoutubeStoreInstructionsSchema: z.ZodObject<{
@@ -63,9 +63,9 @@ export declare const robotYoutubeStoreInstructionsSchema: z.ZodObject<{
63
63
  credentials: z.ZodString;
64
64
  title: z.ZodEffects<z.ZodString, string, string>;
65
65
  description: z.ZodString;
66
- category: z.ZodEffects<z.ZodEnum<["autos & vehicles", "comedy", "education", "entertainment", "film & animation", "gaming", "howto & style", "music", "news & politics", "people & blogs", "pets & animals", "science & technology", "sports", "travel & events"]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>;
66
+ category: z.ZodEffects<z.ZodEnum<["autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", ...("autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events")[]]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>;
67
67
  keywords: z.ZodString;
68
- visibility: z.ZodEnum<["public", "private", "unlisted"]>;
68
+ visibility: z.ZodDefault<z.ZodEnum<["public", "private", "unlisted"]>>;
69
69
  }, "strict", z.ZodTypeAny, {
70
70
  description: string;
71
71
  result: boolean;
@@ -101,7 +101,6 @@ export declare const robotYoutubeStoreInstructionsSchema: z.ZodObject<{
101
101
  robot: "/youtube/store";
102
102
  credentials: string;
103
103
  keywords: string;
104
- visibility: "private" | "public" | "unlisted";
105
104
  result?: boolean | undefined;
106
105
  use?: string | string[] | {
107
106
  name: string;
@@ -124,8 +123,14 @@ export declare const robotYoutubeStoreInstructionsSchema: z.ZodObject<{
124
123
  force_accept?: boolean | undefined;
125
124
  ignore_errors?: boolean | ("meta" | "execute")[] | undefined;
126
125
  category?: unknown;
126
+ visibility?: "private" | "public" | "unlisted" | undefined;
127
127
  }>;
128
- export declare const robotDefinition: RobotDefinition<typeof robotYoutubeStoreInstructionsSchema.shape>;
128
+ declare const hiddenFields: {
129
+ access_token: z.ZodOptional<z.ZodString>;
130
+ credentials: z.ZodOptional<z.ZodString>;
131
+ refresh_token: z.ZodOptional<z.ZodString>;
132
+ };
133
+ export declare const robotDefinition: RobotDefinitionWithHiddenFields<typeof robotYoutubeStoreInstructionsSchema.shape, typeof hiddenFields>;
129
134
  export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodObject<{
130
135
  interpolate: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">, z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">>]>>;
131
136
  output_meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodBoolean>, z.ZodBoolean, z.ZodArray<z.ZodString, "many">]>>;
@@ -182,14 +187,16 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
182
187
  group_by_original?: boolean | undefined;
183
188
  }>]>>;
184
189
  robot: z.ZodLiteral<"/youtube/store">;
185
- credentials: z.ZodString;
186
190
  title: z.ZodEffects<z.ZodString, string, string>;
187
191
  description: z.ZodString;
188
- category: z.ZodEffects<z.ZodEnum<["autos & vehicles", "comedy", "education", "entertainment", "film & animation", "gaming", "howto & style", "music", "news & politics", "people & blogs", "pets & animals", "science & technology", "sports", "travel & events"]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>;
192
+ category: z.ZodEffects<z.ZodEnum<["autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", ...("autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events")[]]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>;
189
193
  keywords: z.ZodString;
190
- visibility: z.ZodEnum<["public", "private", "unlisted"]>;
194
+ visibility: z.ZodDefault<z.ZodEnum<["public", "private", "unlisted"]>>;
191
195
  } & {
192
196
  result: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"debug">, z.ZodDefault<z.ZodBoolean>]>>;
197
+ access_token: z.ZodOptional<z.ZodString>;
198
+ credentials: z.ZodOptional<z.ZodString>;
199
+ refresh_token: z.ZodOptional<z.ZodString>;
193
200
  }, "strict", z.ZodTypeAny, {
194
201
  description: string;
195
202
  title: string;
@@ -197,7 +204,6 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
197
204
  user_meta: Record<string, unknown>;
198
205
  force_accept: boolean;
199
206
  ignore_errors: string[];
200
- credentials: string;
201
207
  category: "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events";
202
208
  keywords: string;
203
209
  visibility: "private" | "public" | "unlisted";
@@ -219,13 +225,14 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
219
225
  interpolate?: boolean | Record<string, boolean> | undefined;
220
226
  output_meta?: boolean | string[] | Record<string, boolean> | undefined;
221
227
  queue?: "batch" | undefined;
228
+ credentials?: string | undefined;
229
+ access_token?: string | undefined;
230
+ refresh_token?: string | undefined;
222
231
  }, {
223
232
  description: string;
224
233
  title: string;
225
234
  robot: "/youtube/store";
226
- credentials: string;
227
235
  keywords: string;
228
- visibility: "private" | "public" | "unlisted";
229
236
  result?: boolean | "debug" | undefined;
230
237
  use?: string | string[] | {
231
238
  name: string;
@@ -247,7 +254,11 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
247
254
  queue?: "batch" | undefined;
248
255
  force_accept?: boolean | undefined;
249
256
  ignore_errors?: boolean | ("meta" | "execute")[] | undefined;
257
+ credentials?: string | undefined;
258
+ access_token?: string | undefined;
259
+ refresh_token?: string | undefined;
250
260
  category?: unknown;
261
+ visibility?: "private" | "public" | "unlisted" | undefined;
251
262
  }>, interpolatableRobotYoutubeStoreInstructionsSchema: z.ZodObject<{
252
263
  interpolate: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">, z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">>]>>;
253
264
  output_meta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodBoolean]>>, z.ZodUnion<[z.ZodString, z.ZodBoolean]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>]>>;
@@ -308,9 +319,9 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
308
319
  credentials: z.ZodString;
309
320
  title: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
310
321
  description: z.ZodString;
311
- category: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEnum<["autos & vehicles", "comedy", "education", "entertainment", "film & animation", "gaming", "howto & style", "music", "news & politics", "people & blogs", "pets & animals", "science & technology", "sports", "travel & events"]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>]>;
322
+ category: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEnum<["autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", ...("autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events")[]]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>]>;
312
323
  keywords: z.ZodString;
313
- visibility: z.ZodUnion<[z.ZodString, z.ZodEnum<["public", "private", "unlisted"]>]>;
324
+ visibility: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<["public", "private", "unlisted"]>]>>;
314
325
  }, "strict", z.ZodTypeAny, {
315
326
  description: string;
316
327
  result: string | boolean;
@@ -346,7 +357,6 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
346
357
  robot: "/youtube/store";
347
358
  credentials: string;
348
359
  keywords: string;
349
- visibility: string;
350
360
  result?: string | boolean | undefined;
351
361
  use?: string | string[] | {
352
362
  name: string;
@@ -369,6 +379,7 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
369
379
  force_accept?: string | boolean | undefined;
370
380
  ignore_errors?: string | boolean | ("meta" | "execute")[] | undefined;
371
381
  category?: unknown;
382
+ visibility?: string | undefined;
372
383
  }>, interpolatableRobotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodObject<{
373
384
  interpolate: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">, z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "true" | "false">>]>>;
374
385
  output_meta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodBoolean]>>, z.ZodUnion<[z.ZodString, z.ZodBoolean]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>]>>;
@@ -425,13 +436,15 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
425
436
  group_by_original?: boolean | undefined;
426
437
  }>]>>;
427
438
  robot: z.ZodLiteral<"/youtube/store">;
428
- credentials: z.ZodString;
429
439
  title: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
430
440
  description: z.ZodString;
431
- category: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEnum<["autos & vehicles", "comedy", "education", "entertainment", "film & animation", "gaming", "howto & style", "music", "news & politics", "people & blogs", "pets & animals", "science & technology", "sports", "travel & events"]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>]>;
441
+ category: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEnum<["autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", ...("autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events")[]]>, "autos & vehicles" | "comedy" | "education" | "entertainment" | "film & animation" | "gaming" | "howto & style" | "music" | "news & politics" | "people & blogs" | "pets & animals" | "science & technology" | "sports" | "travel & events", unknown>]>;
432
442
  keywords: z.ZodString;
433
- visibility: z.ZodUnion<[z.ZodString, z.ZodEnum<["public", "private", "unlisted"]>]>;
443
+ visibility: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<["public", "private", "unlisted"]>]>>;
434
444
  result: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<"debug">]>, z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>]>>;
445
+ access_token: z.ZodOptional<z.ZodString>;
446
+ credentials: z.ZodOptional<z.ZodString>;
447
+ refresh_token: z.ZodOptional<z.ZodString>;
435
448
  }, "strict", z.ZodTypeAny, {
436
449
  description: string;
437
450
  title: string;
@@ -439,7 +452,6 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
439
452
  user_meta: Record<string, unknown>;
440
453
  force_accept: string | boolean;
441
454
  ignore_errors: string | string[];
442
- credentials: string;
443
455
  category: string;
444
456
  keywords: string;
445
457
  visibility: string;
@@ -461,13 +473,14 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
461
473
  interpolate?: boolean | Record<string, boolean> | undefined;
462
474
  output_meta?: string | boolean | string[] | Record<string, string | boolean> | undefined;
463
475
  queue?: string | undefined;
476
+ credentials?: string | undefined;
477
+ access_token?: string | undefined;
478
+ refresh_token?: string | undefined;
464
479
  }, {
465
480
  description: string;
466
481
  title: string;
467
482
  robot: "/youtube/store";
468
- credentials: string;
469
483
  keywords: string;
470
- visibility: string;
471
484
  result?: string | boolean | undefined;
472
485
  use?: string | string[] | {
473
486
  name: string;
@@ -489,7 +502,11 @@ export declare const robotYoutubeStoreInstructionsWithHiddenFieldsSchema: z.ZodO
489
502
  queue?: string | undefined;
490
503
  force_accept?: string | boolean | undefined;
491
504
  ignore_errors?: string | boolean | ("meta" | "execute")[] | undefined;
505
+ credentials?: string | undefined;
506
+ access_token?: string | undefined;
507
+ refresh_token?: string | undefined;
492
508
  category?: unknown;
509
+ visibility?: string | undefined;
493
510
  }>;
494
511
  type Instructions = RobotSchemaVariantTypes<typeof robotDefinition>;
495
512
  export type RobotYoutubeStoreInstructions = Instructions['output'];
@@ -1 +1 @@
1
- {"version":3,"file":"youtube-store.d.ts","sourceRoot":"","sources":["../../../src/v3/robots/youtube-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAgD1B,eAAO,MAAM,IAAI,EAAE,cAiBlB,CAAA;AAED,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDrC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,mCAAmC,CAAC,KAAK,CACtC,CAAA;AAExD,eAAO,MACa,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACrD,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACjC,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAChF,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAClE,MAAM,MAAM,6CAA6C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACxF,MAAM,MAAM,2CAA2C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC7F,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAClG,MAAM,MAAM,2DAA2D,GACrE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,gEAAgE,GAC1E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
1
+ {"version":3,"file":"youtube-store.d.ts","sourceRoot":"","sources":["../../../src/v3/robots/youtube-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAoB1B,eAAO,MAAM,IAAI,EAAE,cAiBlB,CAAA;AAED,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDrC,CAAA;AAIX,QAAA,MAAM,YAAY;;;;CAIjB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,+BAA+B,CAC3D,OAAO,mCAAmC,CAAC,KAAK,EAChD,OAAO,YAAY,CACmE,CAAA;AAExF,eAAO,MACa,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACrD,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACjC,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAChF,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAClE,MAAM,MAAM,6CAA6C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACxF,MAAM,MAAM,2CAA2C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC7F,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAClG,MAAM,MAAM,2DAA2D,GACrE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,gEAAgE,GAC1E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
@@ -1,32 +1,10 @@
1
1
  import { z } from 'zod/v3';
2
- import { zodCodePointLength, zodWithJsonInputSchema } from "../lib/zodInputSemantics.js";
3
- import { createProcessingExample, defineRobot, robotBase, robotStoreMeta, robotUse, } from "./_instructions-primitives.js";
4
- const youtubeCategories = [
5
- 'autos & vehicles',
6
- 'comedy',
7
- 'education',
8
- 'entertainment',
9
- 'film & animation',
10
- 'gaming',
11
- 'howto & style',
12
- 'music',
13
- 'news & politics',
14
- 'people & blogs',
15
- 'pets & animals',
16
- 'science & technology',
17
- 'sports',
18
- 'travel & events',
19
- ];
20
- function asciiCaseInsensitiveLiteral(value) {
21
- return [...value]
22
- .map((character) => character >= 'a' && character <= 'z' ? `[${character}${character.toUpperCase()}]` : character)
23
- .join('');
24
- }
2
+ import { zodCaseInsensitiveEnum, zodCodePointLength } from "../lib/zodInputSemantics.js";
3
+ import { youtubeCategories } from "../youtubeCategories.js";
4
+ import { createProcessingExample, defineRobotWithHiddenFields, robotBase, robotStoreMeta, robotUse, } from "./_instructions-primitives.js";
25
5
  const youtubeCategoryValueSchema = z.enum(youtubeCategories);
26
- const youtubeCategoryInputSchema = z
27
- .string()
28
- .regex(new RegExp(`^(?:${youtubeCategories.map(asciiCaseInsensitiveLiteral).join('|')})$`, 'u'));
29
- const youtubeCategorySchema = zodWithJsonInputSchema(z.preprocess((value) => (typeof value === 'string' ? value.toLowerCase() : value), youtubeCategoryValueSchema), youtubeCategoryInputSchema);
6
+ // Preserve the existing SDK input type for this already-preprocessed field.
7
+ const youtubeCategorySchema = zodCaseInsensitiveEnum(youtubeCategoryValueSchema);
30
8
  export const meta = {
31
9
  ...robotStoreMeta,
32
10
  hideCredentialsWarning: true,
@@ -90,10 +68,20 @@ The category to which this video will be assigned.
90
68
  keywords: z.string().describe(`
91
69
  Tags used to describe the video, separated by commas. These tags will also be displayed on YouTube.
92
70
  `),
93
- visibility: z.enum(['public', 'private', 'unlisted']).describe(`
71
+ visibility: z
72
+ .enum(['public', 'private', 'unlisted'])
73
+ .default('public')
74
+ .describe(`
94
75
  Defines the visibility of the uploaded video.
95
76
  `),
96
77
  })
97
78
  .strict();
98
- export const robotDefinition = defineRobot(meta, robotYoutubeStoreInstructionsSchema);
79
+ // Credential alternatives stay optional while Templates and Assembly overrides are merged.
80
+ // YoutubeStoreRobot validates the resolved tokens after credential injection.
81
+ const hiddenFields = {
82
+ access_token: z.string().optional(),
83
+ credentials: robotYoutubeStoreInstructionsSchema.shape.credentials.optional(),
84
+ refresh_token: z.string().optional(),
85
+ };
86
+ export const robotDefinition = defineRobotWithHiddenFields(meta, robotYoutubeStoreInstructionsSchema, hiddenFields);
99
87
  export const { withHiddenFields: robotYoutubeStoreInstructionsWithHiddenFieldsSchema, interpolatable: interpolatableRobotYoutubeStoreInstructionsSchema, interpolatableWithHiddenFields: interpolatableRobotYoutubeStoreInstructionsWithHiddenFieldsSchema, } = robotDefinition;
@@ -0,0 +1,20 @@
1
+ /** YouTube upload categories shared by authored instructions and execution. */
2
+ export declare const youtubeCategoryIds: {
3
+ 'autos & vehicles': string;
4
+ comedy: string;
5
+ education: string;
6
+ entertainment: string;
7
+ 'film & animation': string;
8
+ gaming: string;
9
+ 'howto & style': string;
10
+ music: string;
11
+ 'news & politics': string;
12
+ 'people & blogs': string;
13
+ 'pets & animals': string;
14
+ 'science & technology': string;
15
+ sports: string;
16
+ 'travel & events': string;
17
+ };
18
+ /** Canonical category spellings; authoring and execution also accept case variants. */
19
+ export declare const youtubeCategories: [keyof typeof youtubeCategoryIds, ...(keyof typeof youtubeCategoryIds)[]];
20
+ //# sourceMappingURL=youtubeCategories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtubeCategories.d.ts","sourceRoot":"","sources":["../../src/v3/youtubeCategories.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAeG,CAAA;AAElC,uFAAuF;AAEvF,eAAO,MAAM,iBAAiB,EAAsC,CAClE,MAAM,OAAO,kBAAkB,EAC/B,GAAG,CAAC,MAAM,OAAO,kBAAkB,CAAC,EAAE,CACvC,CAAA"}
@@ -0,0 +1,20 @@
1
+ /** YouTube upload categories shared by authored instructions and execution. */
2
+ export const youtubeCategoryIds = {
3
+ 'autos & vehicles': '2',
4
+ comedy: '23',
5
+ education: '27',
6
+ entertainment: '24',
7
+ 'film & animation': '1',
8
+ gaming: '20',
9
+ 'howto & style': '26',
10
+ music: '10',
11
+ 'news & politics': '25',
12
+ 'people & blogs': '22',
13
+ 'pets & animals': '15',
14
+ 'science & technology': '28',
15
+ sports: '17',
16
+ 'travel & events': '19',
17
+ };
18
+ /** Canonical category spellings; authoring and execution also accept case variants. */
19
+ // Object.keys loses literal keys and nonemptiness, both guaranteed by the map above.
20
+ export const youtubeCategories = Object.keys(youtubeCategoryIds);