@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.
- package/dist/v3/assemblyStatus.d.ts +682 -682
- package/dist/v3/assemblyStatus.d.ts.map +1 -1
- package/dist/v3/assemblyStatus.js +23 -14
- package/dist/v3/englishInteger.d.ts +3 -0
- package/dist/v3/englishInteger.d.ts.map +1 -0
- package/dist/v3/englishInteger.js +12 -0
- package/dist/v3/lib/zodInputSemantics.d.ts +3 -1
- package/dist/v3/lib/zodInputSemantics.d.ts.map +1 -1
- package/dist/v3/lib/zodInputSemantics.js +17 -0
- package/dist/v3/robots/_ai-models.d.ts.map +1 -1
- package/dist/v3/robots/_ai-models.js +2 -0
- package/dist/v3/robots/_google-image-seed.d.ts +8 -0
- package/dist/v3/robots/_google-image-seed.d.ts.map +1 -0
- package/dist/v3/robots/_google-image-seed.js +11 -0
- package/dist/v3/robots/_image-describe-output.d.ts +55 -0
- package/dist/v3/robots/_image-describe-output.d.ts.map +1 -0
- package/dist/v3/robots/_image-describe-output.js +15 -0
- package/dist/v3/robots/_image-facedetect-output.d.ts +30 -0
- package/dist/v3/robots/_image-facedetect-output.d.ts.map +1 -0
- package/dist/v3/robots/_image-facedetect-output.js +14 -0
- package/dist/v3/robots/_index.d.ts +582 -48
- package/dist/v3/robots/_index.d.ts.map +1 -1
- package/dist/v3/robots/_index.js +84 -80
- package/dist/v3/robots/_instructions-primitives.d.ts +84 -0
- package/dist/v3/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/v3/robots/_instructions-primitives.js +57 -16
- package/dist/v3/robots/_ocr-output.d.ts +75 -0
- package/dist/v3/robots/_ocr-output.d.ts.map +1 -0
- package/dist/v3/robots/_ocr-output.js +14 -0
- package/dist/v3/robots/ai-chat.d.ts +13 -13
- package/dist/v3/robots/ai-chat.d.ts.map +1 -1
- package/dist/v3/robots/audio-encode.d.ts.map +1 -1
- package/dist/v3/robots/audio-encode.js +8 -1
- package/dist/v3/robots/audio-split.d.ts.map +1 -1
- package/dist/v3/robots/audio-split.js +2 -0
- package/dist/v3/robots/digitalocean-store.d.ts +4 -4
- package/dist/v3/robots/digitalocean-store.js +1 -1
- package/dist/v3/robots/document-convert.d.ts +8 -6
- package/dist/v3/robots/document-convert.d.ts.map +1 -1
- package/dist/v3/robots/document-convert.js +5 -5
- package/dist/v3/robots/document-extract.d.ts +4 -4
- package/dist/v3/robots/document-ocr.d.ts +8 -8
- package/dist/v3/robots/google-import.d.ts +4 -6
- package/dist/v3/robots/google-import.d.ts.map +1 -1
- package/dist/v3/robots/google-import.js +5 -2
- package/dist/v3/robots/google-store.d.ts +32 -8
- package/dist/v3/robots/google-store.d.ts.map +1 -1
- package/dist/v3/robots/google-store.js +14 -14
- package/dist/v3/robots/http-import.d.ts.map +1 -1
- package/dist/v3/robots/http-import.js +4 -0
- package/dist/v3/robots/image-bgremove.d.ts +16 -16
- package/dist/v3/robots/image-describe.d.ts +17 -17
- package/dist/v3/robots/image-describe.d.ts.map +1 -1
- package/dist/v3/robots/image-describe.js +2 -1
- package/dist/v3/robots/image-facedetect.d.ts +9 -35
- package/dist/v3/robots/image-facedetect.d.ts.map +1 -1
- package/dist/v3/robots/image-facedetect.js +1 -11
- package/dist/v3/robots/image-generate.d.ts +20 -20
- package/dist/v3/robots/image-generate.d.ts.map +1 -1
- package/dist/v3/robots/image-generate.js +7 -2
- package/dist/v3/robots/image-ocr.d.ts +8 -8
- package/dist/v3/robots/image-resize.d.ts +4 -0
- package/dist/v3/robots/image-resize.d.ts.map +1 -1
- package/dist/v3/robots/image-resize.js +34 -6
- package/dist/v3/robots/image-upscale.d.ts +17 -12
- package/dist/v3/robots/image-upscale.d.ts.map +1 -1
- package/dist/v3/robots/image-upscale.js +14 -2
- package/dist/v3/robots/mega-store.d.ts +4 -4
- package/dist/v3/robots/mega-store.js +1 -1
- package/dist/v3/robots/s3-store.d.ts +8 -8
- package/dist/v3/robots/s3-store.d.ts.map +1 -1
- package/dist/v3/robots/s3-store.js +34 -18
- package/dist/v3/robots/speech-transcribe.d.ts +12 -12
- package/dist/v3/robots/text-speak.d.ts +8 -8
- package/dist/v3/robots/text-translate.d.ts +8 -8
- package/dist/v3/robots/video-adaptive.d.ts +16 -19
- package/dist/v3/robots/video-adaptive.d.ts.map +1 -1
- package/dist/v3/robots/video-adaptive.js +37 -3
- package/dist/v3/robots/video-concat.d.ts.map +1 -1
- package/dist/v3/robots/video-concat.js +7 -3
- package/dist/v3/robots/video-encode.d.ts.map +1 -1
- package/dist/v3/robots/video-encode.js +6 -0
- package/dist/v3/robots/video-generate.d.ts +20 -20
- package/dist/v3/robots/video-generate.js +1 -1
- package/dist/v3/robots/video-merge.d.ts.map +1 -1
- package/dist/v3/robots/video-merge.js +15 -1
- package/dist/v3/robots/video-split.d.ts.map +1 -1
- package/dist/v3/robots/video-split.js +2 -0
- package/dist/v3/robots/video-subtitle.d.ts +47 -4
- package/dist/v3/robots/video-subtitle.d.ts.map +1 -1
- package/dist/v3/robots/video-subtitle.js +59 -46
- package/dist/v3/robots/video-thumbs.d.ts +6 -0
- package/dist/v3/robots/video-thumbs.d.ts.map +1 -1
- package/dist/v3/robots/video-thumbs.js +15 -5
- package/dist/v3/robots/vimeo-import.d.ts.map +1 -1
- package/dist/v3/robots/vimeo-import.js +1 -1
- package/dist/v3/robots/youtube-store.d.ts +37 -20
- package/dist/v3/robots/youtube-store.d.ts.map +1 -1
- package/dist/v3/robots/youtube-store.js +17 -29
- package/dist/v3/youtubeCategories.d.ts +20 -0
- package/dist/v3/youtubeCategories.d.ts.map +1 -0
- package/dist/v3/youtubeCategories.js +20 -0
- package/dist/v4/assemblyStatus.d.ts +75 -1183
- package/dist/v4/assemblyStatus.d.ts.map +1 -1
- package/dist/v4/assemblyStatus.js +23 -14
- package/dist/v4/englishInteger.d.ts +3 -0
- package/dist/v4/englishInteger.d.ts.map +1 -0
- package/dist/v4/englishInteger.js +12 -0
- package/dist/v4/lib/zodInputSemantics.d.ts +3 -1
- package/dist/v4/lib/zodInputSemantics.d.ts.map +1 -1
- package/dist/v4/lib/zodInputSemantics.js +6 -0
- package/dist/v4/robots/_ai-models.d.ts.map +1 -1
- package/dist/v4/robots/_ai-models.js +2 -0
- package/dist/v4/robots/_google-image-seed.d.ts +8 -0
- package/dist/v4/robots/_google-image-seed.d.ts.map +1 -0
- package/dist/v4/robots/_google-image-seed.js +11 -0
- package/dist/v4/robots/_image-describe-output.d.ts +23 -0
- package/dist/v4/robots/_image-describe-output.d.ts.map +1 -0
- package/dist/v4/robots/_image-describe-output.js +15 -0
- package/dist/v4/robots/_image-facedetect-output.d.ts +14 -0
- package/dist/v4/robots/_image-facedetect-output.d.ts.map +1 -0
- package/dist/v4/robots/_image-facedetect-output.js +15 -0
- package/dist/v4/robots/_index.d.ts +582 -48
- package/dist/v4/robots/_index.d.ts.map +1 -1
- package/dist/v4/robots/_index.js +84 -80
- package/dist/v4/robots/_instructions-primitives.d.ts +18 -0
- package/dist/v4/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/v4/robots/_instructions-primitives.js +56 -15
- package/dist/v4/robots/_ocr-output.d.ts +29 -0
- package/dist/v4/robots/_ocr-output.d.ts.map +1 -0
- package/dist/v4/robots/_ocr-output.js +14 -0
- package/dist/v4/robots/ai-chat.d.ts +1 -1
- package/dist/v4/robots/ai-chat.d.ts.map +1 -1
- package/dist/v4/robots/audio-encode.d.ts.map +1 -1
- package/dist/v4/robots/audio-encode.js +8 -1
- package/dist/v4/robots/audio-split.d.ts.map +1 -1
- package/dist/v4/robots/audio-split.js +2 -0
- package/dist/v4/robots/digitalocean-store.d.ts +8 -8
- package/dist/v4/robots/digitalocean-store.js +1 -1
- package/dist/v4/robots/document-convert.d.ts +22 -8
- package/dist/v4/robots/document-convert.d.ts.map +1 -1
- package/dist/v4/robots/document-convert.js +5 -5
- package/dist/v4/robots/google-import.d.ts +4 -4
- package/dist/v4/robots/google-import.d.ts.map +1 -1
- package/dist/v4/robots/google-import.js +5 -2
- package/dist/v4/robots/google-store.d.ts +16 -4
- package/dist/v4/robots/google-store.d.ts.map +1 -1
- package/dist/v4/robots/google-store.js +14 -14
- package/dist/v4/robots/http-import.d.ts.map +1 -1
- package/dist/v4/robots/http-import.js +4 -0
- package/dist/v4/robots/image-describe.d.ts +1 -5
- package/dist/v4/robots/image-describe.d.ts.map +1 -1
- package/dist/v4/robots/image-describe.js +2 -1
- package/dist/v4/robots/image-facedetect.d.ts +1 -11
- package/dist/v4/robots/image-facedetect.d.ts.map +1 -1
- package/dist/v4/robots/image-facedetect.js +1 -12
- package/dist/v4/robots/image-generate.d.ts +0 -4
- package/dist/v4/robots/image-generate.d.ts.map +1 -1
- package/dist/v4/robots/image-generate.js +6 -2
- package/dist/v4/robots/image-resize.d.ts +4 -0
- package/dist/v4/robots/image-resize.d.ts.map +1 -1
- package/dist/v4/robots/image-resize.js +34 -6
- package/dist/v4/robots/image-upscale.d.ts +5 -0
- package/dist/v4/robots/image-upscale.d.ts.map +1 -1
- package/dist/v4/robots/image-upscale.js +14 -2
- package/dist/v4/robots/mega-store.d.ts +8 -8
- package/dist/v4/robots/mega-store.js +1 -1
- package/dist/v4/robots/s3-store.d.ts +20 -0
- package/dist/v4/robots/s3-store.d.ts.map +1 -1
- package/dist/v4/robots/s3-store.js +34 -18
- package/dist/v4/robots/video-adaptive.d.ts +16 -16
- package/dist/v4/robots/video-adaptive.d.ts.map +1 -1
- package/dist/v4/robots/video-adaptive.js +38 -5
- package/dist/v4/robots/video-concat.d.ts.map +1 -1
- package/dist/v4/robots/video-concat.js +7 -3
- package/dist/v4/robots/video-encode.d.ts.map +1 -1
- package/dist/v4/robots/video-encode.js +6 -0
- package/dist/v4/robots/video-generate.d.ts +0 -4
- package/dist/v4/robots/video-generate.d.ts.map +1 -1
- package/dist/v4/robots/video-generate.js +1 -1
- package/dist/v4/robots/video-merge.d.ts.map +1 -1
- package/dist/v4/robots/video-merge.js +15 -1
- package/dist/v4/robots/video-split.d.ts.map +1 -1
- package/dist/v4/robots/video-split.js +2 -0
- package/dist/v4/robots/video-subtitle.d.ts +31 -4
- package/dist/v4/robots/video-subtitle.d.ts.map +1 -1
- package/dist/v4/robots/video-subtitle.js +58 -46
- package/dist/v4/robots/video-thumbs.d.ts +6 -0
- package/dist/v4/robots/video-thumbs.d.ts.map +1 -1
- package/dist/v4/robots/video-thumbs.js +15 -5
- package/dist/v4/robots/vimeo-import.d.ts.map +1 -1
- package/dist/v4/robots/vimeo-import.js +1 -1
- package/dist/v4/robots/youtube-store.d.ts +25 -76
- package/dist/v4/robots/youtube-store.d.ts.map +1 -1
- package/dist/v4/robots/youtube-store.js +18 -29
- package/dist/v4/youtubeCategories.d.ts +20 -0
- package/dist/v4/youtubeCategories.d.ts.map +1 -0
- package/dist/v4/youtubeCategories.js +20 -0
- 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
|
|
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
|
-
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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 {
|
|
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"
|
|
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
|
-
|
|
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"
|
|
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"
|
|
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"
|
|
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,
|
|
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 {
|
|
3
|
-
import {
|
|
4
|
-
|
|
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
|
-
|
|
27
|
-
|
|
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
|
|
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
|
-
|
|
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);
|