transloadit 4.7.6 → 4.8.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/README.md +46 -19
- package/dist/alphalib/assembly-linter.js +1 -1
- package/dist/alphalib/assembly-linter.js.map +1 -1
- package/dist/alphalib/stepParsing.js +2 -2
- package/dist/alphalib/stepParsing.js.map +1 -1
- package/dist/alphalib/types/assemblyReplay.d.ts +2 -7860
- package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyReplayNotification.d.ts +2 -7860
- package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.d.ts +4807 -298
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.js +36 -1
- package/dist/alphalib/types/assemblyStatus.js.map +1 -1
- package/dist/alphalib/types/robots/_index.d.ts +903 -72620
- package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_index.js +62 -11
- package/dist/alphalib/types/robots/_index.js.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts +41 -10
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.js +89 -3
- package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.d.ts +33 -0
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.js +28 -5
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
- package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -1
- package/dist/alphalib/types/robots/assembly-savejson.js +8 -0
- package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -1
- package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-artwork.js +4 -5
- package/dist/alphalib/types/robots/audio-artwork.js.map +1 -1
- package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-concat.js +1 -2
- package/dist/alphalib/types/robots/audio-concat.js.map +1 -1
- package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-encode.js +1 -2
- package/dist/alphalib/types/robots/audio-encode.js.map +1 -1
- package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-loop.js +1 -2
- package/dist/alphalib/types/robots/audio-loop.js.map +1 -1
- package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-merge.js +1 -2
- package/dist/alphalib/types/robots/audio-merge.js.map +1 -1
- package/dist/alphalib/types/robots/audio-split.d.ts +2936 -0
- package/dist/alphalib/types/robots/audio-split.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-split.js +88 -0
- package/dist/alphalib/types/robots/audio-split.js.map +1 -0
- package/dist/alphalib/types/robots/audio-waveform.d.ts +92 -6
- package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-waveform.js +72 -6
- package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
- package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/azure-import.js +0 -1
- package/dist/alphalib/types/robots/azure-import.js.map +1 -1
- package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/azure-store.js +0 -1
- package/dist/alphalib/types/robots/azure-store.js.map +1 -1
- package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/backblaze-import.js +0 -1
- package/dist/alphalib/types/robots/backblaze-import.js.map +1 -1
- package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/backblaze-store.js +0 -1
- package/dist/alphalib/types/robots/backblaze-store.js.map +1 -1
- package/dist/alphalib/types/robots/box-import.d.ts +150 -0
- package/dist/alphalib/types/robots/box-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/box-import.js +63 -0
- package/dist/alphalib/types/robots/box-import.js.map +1 -0
- package/dist/alphalib/types/robots/box-store.d.ts +455 -0
- package/dist/alphalib/types/robots/box-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/box-store.js +66 -0
- package/dist/alphalib/types/robots/box-store.js.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-import.js +0 -1
- package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-store.js +0 -1
- package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-import.js +0 -1
- package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-store.js +0 -1
- package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-import.js +0 -1
- package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-store.js +0 -1
- package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -1
- package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-autorotate.js +8 -1
- package/dist/alphalib/types/robots/document-autorotate.js.map +1 -1
- package/dist/alphalib/types/robots/document-convert.d.ts +8 -8
- package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-convert.js +9 -3
- package/dist/alphalib/types/robots/document-convert.js.map +1 -1
- package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-merge.js +0 -1
- package/dist/alphalib/types/robots/document-merge.js.map +1 -1
- package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-ocr.js +0 -1
- package/dist/alphalib/types/robots/document-ocr.js.map +1 -1
- package/dist/alphalib/types/robots/document-optimize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-optimize.js +0 -1
- package/dist/alphalib/types/robots/document-optimize.js.map +1 -1
- package/dist/alphalib/types/robots/document-split.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-split.js +9 -1
- package/dist/alphalib/types/robots/document-split.js.map +1 -1
- package/dist/alphalib/types/robots/document-thumbs.d.ts +12 -0
- package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-thumbs.js +23 -4
- package/dist/alphalib/types/robots/document-thumbs.js.map +1 -1
- package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/dropbox-import.js +0 -1
- package/dist/alphalib/types/robots/dropbox-import.js.map +1 -1
- package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/dropbox-store.js +0 -1
- package/dist/alphalib/types/robots/dropbox-store.js.map +1 -1
- package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -1
- package/dist/alphalib/types/robots/edgly-deliver.js +8 -1
- package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -1
- package/dist/alphalib/types/robots/file-compress.d.ts +12 -0
- package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-compress.js +8 -1
- package/dist/alphalib/types/robots/file-compress.js.map +1 -1
- package/dist/alphalib/types/robots/file-decompress.d.ts +24 -0
- package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-decompress.js +30 -5
- package/dist/alphalib/types/robots/file-decompress.js.map +1 -1
- package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-filter.js +23 -6
- package/dist/alphalib/types/robots/file-filter.js.map +1 -1
- package/dist/alphalib/types/robots/file-hash.d.ts +24 -0
- package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-hash.js +23 -1
- package/dist/alphalib/types/robots/file-hash.js.map +1 -1
- package/dist/alphalib/types/robots/file-preview.d.ts +12 -0
- package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-preview.js +8 -1
- package/dist/alphalib/types/robots/file-preview.js.map +1 -1
- package/dist/alphalib/types/robots/file-read.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-read.js +9 -1
- package/dist/alphalib/types/robots/file-read.js.map +1 -1
- package/dist/alphalib/types/robots/file-serve.d.ts +12 -0
- package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-serve.js +38 -7
- package/dist/alphalib/types/robots/file-serve.js.map +1 -1
- package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-verify.js +0 -1
- package/dist/alphalib/types/robots/file-verify.js.map +1 -1
- package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-virusscan.js +5 -4
- package/dist/alphalib/types/robots/file-virusscan.js.map +1 -1
- package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-watermark.js +10 -0
- package/dist/alphalib/types/robots/file-watermark.js.map +1 -1
- package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ftp-import.js +0 -1
- package/dist/alphalib/types/robots/ftp-import.js.map +1 -1
- package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ftp-store.js +0 -1
- package/dist/alphalib/types/robots/ftp-store.js.map +1 -1
- package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-import.js +0 -1
- package/dist/alphalib/types/robots/google-import.js.map +1 -1
- package/dist/alphalib/types/robots/google-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-store.js +0 -1
- package/dist/alphalib/types/robots/google-store.js.map +1 -1
- package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/html-convert.js +0 -1
- package/dist/alphalib/types/robots/html-convert.js.map +1 -1
- package/dist/alphalib/types/robots/http-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/http-import.js +0 -1
- package/dist/alphalib/types/robots/http-import.js.map +1 -1
- package/dist/alphalib/types/robots/image-bgremove.d.ts +8 -8
- package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-bgremove.js +4 -2
- package/dist/alphalib/types/robots/image-bgremove.js.map +1 -1
- package/dist/alphalib/types/robots/image-copyrightdetect.d.ts +465 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.js +136 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.js.map +1 -0
- package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-describe.js +0 -1
- package/dist/alphalib/types/robots/image-describe.js.map +1 -1
- package/dist/alphalib/types/robots/image-enhance.d.ts +502 -0
- package/dist/alphalib/types/robots/image-enhance.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-enhance.js +146 -0
- package/dist/alphalib/types/robots/image-enhance.js.map +1 -0
- package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-facedetect.js +0 -1
- package/dist/alphalib/types/robots/image-facedetect.js.map +1 -1
- package/dist/alphalib/types/robots/image-generate.d.ts +4 -5
- package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-generate.js +62 -8
- package/dist/alphalib/types/robots/image-generate.js.map +1 -1
- package/dist/alphalib/types/robots/image-merge.d.ts +12 -12
- package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-merge.js +0 -1
- package/dist/alphalib/types/robots/image-merge.js.map +1 -1
- package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-ocr.js +0 -1
- package/dist/alphalib/types/robots/image-ocr.js.map +1 -1
- package/dist/alphalib/types/robots/image-optimize.d.ts +12 -0
- package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-optimize.js +16 -3
- package/dist/alphalib/types/robots/image-optimize.js.map +1 -1
- package/dist/alphalib/types/robots/image-resize.d.ts +20 -8
- package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-resize.js +37 -1
- package/dist/alphalib/types/robots/image-resize.js.map +1 -1
- package/dist/alphalib/types/robots/image-upscale.d.ts +447 -0
- package/dist/alphalib/types/robots/image-upscale.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-upscale.js +65 -0
- package/dist/alphalib/types/robots/image-upscale.js.map +1 -0
- package/dist/alphalib/types/robots/mega-import.d.ts +244 -0
- package/dist/alphalib/types/robots/mega-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/mega-import.js +84 -0
- package/dist/alphalib/types/robots/mega-import.js.map +1 -0
- package/dist/alphalib/types/robots/mega-store.d.ts +526 -0
- package/dist/alphalib/types/robots/mega-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/mega-store.js +82 -0
- package/dist/alphalib/types/robots/mega-store.js.map +1 -0
- package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -1
- package/dist/alphalib/types/robots/meta-read.js +8 -0
- package/dist/alphalib/types/robots/meta-read.js.map +1 -1
- package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -1
- package/dist/alphalib/types/robots/meta-write.js +0 -1
- package/dist/alphalib/types/robots/meta-write.js.map +1 -1
- package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/minio-import.js +0 -1
- package/dist/alphalib/types/robots/minio-import.js.map +1 -1
- package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/minio-store.js +0 -1
- package/dist/alphalib/types/robots/minio-store.js.map +1 -1
- package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/progress-simulate.js +13 -0
- package/dist/alphalib/types/robots/progress-simulate.js.map +1 -1
- package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-import.js +0 -1
- package/dist/alphalib/types/robots/s3-import.js.map +1 -1
- package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-store.js +0 -1
- package/dist/alphalib/types/robots/s3-store.js.map +1 -1
- package/dist/alphalib/types/robots/script-run.d.ts.map +1 -1
- package/dist/alphalib/types/robots/script-run.js +10 -1
- package/dist/alphalib/types/robots/script-run.js.map +1 -1
- package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/sftp-import.js +0 -1
- package/dist/alphalib/types/robots/sftp-import.js.map +1 -1
- package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/sftp-store.js +0 -1
- package/dist/alphalib/types/robots/sftp-store.js.map +1 -1
- package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -1
- package/dist/alphalib/types/robots/speech-transcribe.js +0 -1
- package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -1
- package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/supabase-import.js +0 -1
- package/dist/alphalib/types/robots/supabase-import.js.map +1 -1
- package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/supabase-store.js +0 -1
- package/dist/alphalib/types/robots/supabase-store.js.map +1 -1
- package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/swift-import.js +0 -1
- package/dist/alphalib/types/robots/swift-import.js.map +1 -1
- package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/swift-store.js +0 -1
- package/dist/alphalib/types/robots/swift-store.js.map +1 -1
- package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-speak.js +0 -1
- package/dist/alphalib/types/robots/text-speak.js.map +1 -1
- package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-translate.js +0 -1
- package/dist/alphalib/types/robots/text-translate.js.map +1 -1
- package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tigris-import.js +0 -1
- package/dist/alphalib/types/robots/tigris-import.js.map +1 -1
- package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tigris-store.js +0 -1
- package/dist/alphalib/types/robots/tigris-store.js.map +1 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.js +8 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -1
- package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tus-store.js +1 -14
- package/dist/alphalib/types/robots/tus-store.js.map +1 -1
- package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -1
- package/dist/alphalib/types/robots/upload-handle.js +0 -1
- package/dist/alphalib/types/robots/upload-handle.js.map +1 -1
- package/dist/alphalib/types/robots/video-adaptive.d.ts +32 -8
- package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-adaptive.js +22 -6
- package/dist/alphalib/types/robots/video-adaptive.js.map +1 -1
- package/dist/alphalib/types/robots/video-artwork.d.ts +2855 -0
- package/dist/alphalib/types/robots/video-artwork.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-artwork.js +66 -0
- package/dist/alphalib/types/robots/video-artwork.js.map +1 -0
- package/dist/alphalib/types/robots/video-concat.d.ts +36 -0
- package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-concat.js +30 -1
- package/dist/alphalib/types/robots/video-concat.js.map +1 -1
- package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-encode.js +0 -1
- package/dist/alphalib/types/robots/video-encode.js.map +1 -1
- package/dist/alphalib/types/robots/video-generate.d.ts +594 -0
- package/dist/alphalib/types/robots/video-generate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-generate.js +90 -0
- package/dist/alphalib/types/robots/video-generate.js.map +1 -0
- package/dist/alphalib/types/robots/video-merge.d.ts +24 -0
- package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-merge.js +33 -1
- package/dist/alphalib/types/robots/video-merge.js.map +1 -1
- package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-ondemand.js +3 -4
- package/dist/alphalib/types/robots/video-ondemand.js.map +1 -1
- package/dist/alphalib/types/robots/video-split.d.ts +2939 -0
- package/dist/alphalib/types/robots/video-split.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-split.js +78 -0
- package/dist/alphalib/types/robots/video-split.js.map +1 -0
- package/dist/alphalib/types/robots/video-subtitle.d.ts +52 -4
- package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-subtitle.js +61 -8
- package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.js +0 -1
- package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
- package/dist/alphalib/types/robots/vimeo-import.d.ts +4 -4
- package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/vimeo-import.js +0 -1
- package/dist/alphalib/types/robots/vimeo-import.js.map +1 -1
- package/dist/alphalib/types/robots/vimeo-store.d.ts +2 -2
- package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/vimeo-store.js +14 -3
- package/dist/alphalib/types/robots/vimeo-store.js.map +1 -1
- package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/wasabi-import.js +0 -1
- package/dist/alphalib/types/robots/wasabi-import.js.map +1 -1
- package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/wasabi-store.js +0 -1
- package/dist/alphalib/types/robots/wasabi-store.js.map +1 -1
- package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/youtube-store.js +4 -5
- package/dist/alphalib/types/robots/youtube-store.js.map +1 -1
- package/dist/alphalib/types/template.d.ts +41 -132175
- package/dist/alphalib/types/template.d.ts.map +1 -1
- package/dist/alphalib/types/template.js +16 -3
- package/dist/alphalib/types/template.js.map +1 -1
- package/dist/alphalib/types/templateCredential.d.ts +3 -3
- package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
- package/dist/alphalib/types/templateCredential.js +1 -0
- package/dist/alphalib/types/templateCredential.js.map +1 -1
- package/dist/alphalib/zodParseWithContext.d.ts.map +1 -1
- package/dist/alphalib/zodParseWithContext.js +15 -11
- package/dist/alphalib/zodParseWithContext.js.map +1 -1
- package/dist/cli/generateIntentDocs.d.ts +5 -1
- package/dist/cli/generateIntentDocs.d.ts.map +1 -1
- package/dist/cli/generateIntentDocs.js +25 -9
- package/dist/cli/generateIntentDocs.js.map +1 -1
- package/dist/cli/intentCommandSpecs.d.ts.map +1 -1
- package/dist/cli/intentCommandSpecs.js +4 -6
- package/dist/cli/intentCommandSpecs.js.map +1 -1
- package/dist/cli/intentRuntime.d.ts.map +1 -1
- package/dist/cli/intentRuntime.js +4 -4
- package/dist/cli/intentRuntime.js.map +1 -1
- package/dist/cli/semanticIntents/imageDescribe.d.ts +3 -1
- package/dist/cli/semanticIntents/imageDescribe.d.ts.map +1 -1
- package/dist/cli/semanticIntents/imageDescribe.js +1 -1
- package/dist/cli/semanticIntents/imageDescribe.js.map +1 -1
- package/dist/cli/semanticIntents/imageGenerate.d.ts +94 -0
- package/dist/cli/semanticIntents/imageGenerate.d.ts.map +1 -0
- package/dist/cli/semanticIntents/imageGenerate.js +215 -0
- package/dist/cli/semanticIntents/imageGenerate.js.map +1 -0
- package/dist/cli/semanticIntents/index.d.ts +3 -1
- package/dist/cli/semanticIntents/index.d.ts.map +1 -1
- package/dist/cli/semanticIntents/index.js +2 -0
- package/dist/cli/semanticIntents/index.js.map +1 -1
- package/dist/cli/semanticIntents/markdownPdf.js +1 -1
- package/dist/cli/semanticIntents/markdownPdf.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/robots.js +2 -2
- package/dist/robots.js.map +1 -1
- package/package.json +1 -1
- package/src/alphalib/assembly-linter.ts +1 -1
- package/src/alphalib/stepParsing.ts +2 -2
- package/src/alphalib/types/assemblyStatus.ts +41 -2
- package/src/alphalib/types/robots/_index.ts +211 -20
- package/src/alphalib/types/robots/_instructions-primitives.ts +93 -3
- package/src/alphalib/types/robots/ai-chat.ts +35 -5
- package/src/alphalib/types/robots/assembly-savejson.ts +8 -0
- package/src/alphalib/types/robots/audio-artwork.ts +4 -5
- package/src/alphalib/types/robots/audio-concat.ts +1 -2
- package/src/alphalib/types/robots/audio-encode.ts +1 -2
- package/src/alphalib/types/robots/audio-loop.ts +1 -2
- package/src/alphalib/types/robots/audio-merge.ts +1 -2
- package/src/alphalib/types/robots/audio-split.ts +130 -0
- package/src/alphalib/types/robots/audio-waveform.ts +90 -6
- package/src/alphalib/types/robots/azure-import.ts +0 -1
- package/src/alphalib/types/robots/azure-store.ts +0 -1
- package/src/alphalib/types/robots/backblaze-import.ts +0 -1
- package/src/alphalib/types/robots/backblaze-store.ts +0 -1
- package/src/alphalib/types/robots/box-import.ts +97 -0
- package/src/alphalib/types/robots/box-store.ts +94 -0
- package/src/alphalib/types/robots/cloudfiles-import.ts +0 -1
- package/src/alphalib/types/robots/cloudfiles-store.ts +0 -1
- package/src/alphalib/types/robots/cloudflare-import.ts +0 -1
- package/src/alphalib/types/robots/cloudflare-store.ts +0 -1
- package/src/alphalib/types/robots/digitalocean-import.ts +0 -1
- package/src/alphalib/types/robots/digitalocean-store.ts +0 -1
- package/src/alphalib/types/robots/document-autorotate.ts +8 -1
- package/src/alphalib/types/robots/document-convert.ts +10 -3
- package/src/alphalib/types/robots/document-merge.ts +0 -1
- package/src/alphalib/types/robots/document-ocr.ts +0 -1
- package/src/alphalib/types/robots/document-optimize.ts +0 -1
- package/src/alphalib/types/robots/document-split.ts +9 -1
- package/src/alphalib/types/robots/document-thumbs.ts +26 -4
- package/src/alphalib/types/robots/dropbox-import.ts +0 -1
- package/src/alphalib/types/robots/dropbox-store.ts +0 -1
- package/src/alphalib/types/robots/edgly-deliver.ts +8 -1
- package/src/alphalib/types/robots/file-compress.ts +8 -1
- package/src/alphalib/types/robots/file-decompress.ts +30 -5
- package/src/alphalib/types/robots/file-filter.ts +23 -6
- package/src/alphalib/types/robots/file-hash.ts +23 -1
- package/src/alphalib/types/robots/file-preview.ts +8 -1
- package/src/alphalib/types/robots/file-read.ts +9 -1
- package/src/alphalib/types/robots/file-serve.ts +39 -7
- package/src/alphalib/types/robots/file-verify.ts +0 -1
- package/src/alphalib/types/robots/file-virusscan.ts +6 -4
- package/src/alphalib/types/robots/file-watermark.ts +10 -0
- package/src/alphalib/types/robots/ftp-import.ts +0 -1
- package/src/alphalib/types/robots/ftp-store.ts +0 -1
- package/src/alphalib/types/robots/google-import.ts +0 -1
- package/src/alphalib/types/robots/google-store.ts +0 -1
- package/src/alphalib/types/robots/html-convert.ts +0 -1
- package/src/alphalib/types/robots/http-import.ts +0 -1
- package/src/alphalib/types/robots/image-bgremove.ts +4 -2
- package/src/alphalib/types/robots/image-copyrightdetect.ts +167 -0
- package/src/alphalib/types/robots/image-describe.ts +0 -1
- package/src/alphalib/types/robots/image-enhance.ts +185 -0
- package/src/alphalib/types/robots/image-facedetect.ts +0 -1
- package/src/alphalib/types/robots/image-generate.ts +74 -8
- package/src/alphalib/types/robots/image-merge.ts +0 -1
- package/src/alphalib/types/robots/image-ocr.ts +0 -1
- package/src/alphalib/types/robots/image-optimize.ts +16 -3
- package/src/alphalib/types/robots/image-resize.ts +37 -1
- package/src/alphalib/types/robots/image-upscale.ts +93 -0
- package/src/alphalib/types/robots/mega-import.ts +123 -0
- package/src/alphalib/types/robots/mega-store.ts +109 -0
- package/src/alphalib/types/robots/meta-read.ts +8 -0
- package/src/alphalib/types/robots/meta-write.ts +0 -1
- package/src/alphalib/types/robots/minio-import.ts +0 -1
- package/src/alphalib/types/robots/minio-store.ts +0 -1
- package/src/alphalib/types/robots/progress-simulate.ts +13 -0
- package/src/alphalib/types/robots/s3-import.ts +0 -1
- package/src/alphalib/types/robots/s3-store.ts +0 -1
- package/src/alphalib/types/robots/script-run.ts +11 -1
- package/src/alphalib/types/robots/sftp-import.ts +0 -1
- package/src/alphalib/types/robots/sftp-store.ts +0 -1
- package/src/alphalib/types/robots/speech-transcribe.ts +0 -1
- package/src/alphalib/types/robots/supabase-import.ts +0 -1
- package/src/alphalib/types/robots/supabase-store.ts +0 -1
- package/src/alphalib/types/robots/swift-import.ts +0 -1
- package/src/alphalib/types/robots/swift-store.ts +0 -1
- package/src/alphalib/types/robots/text-speak.ts +0 -1
- package/src/alphalib/types/robots/text-translate.ts +0 -1
- package/src/alphalib/types/robots/tigris-import.ts +0 -1
- package/src/alphalib/types/robots/tigris-store.ts +0 -1
- package/src/alphalib/types/robots/tlcdn-deliver.ts +8 -1
- package/src/alphalib/types/robots/tus-store.ts +1 -14
- package/src/alphalib/types/robots/upload-handle.ts +0 -1
- package/src/alphalib/types/robots/video-adaptive.ts +22 -6
- package/src/alphalib/types/robots/video-artwork.ts +100 -0
- package/src/alphalib/types/robots/video-concat.ts +30 -1
- package/src/alphalib/types/robots/video-encode.ts +0 -1
- package/src/alphalib/types/robots/video-generate.ts +120 -0
- package/src/alphalib/types/robots/video-merge.ts +33 -1
- package/src/alphalib/types/robots/video-ondemand.ts +3 -4
- package/src/alphalib/types/robots/video-split.ts +117 -0
- package/src/alphalib/types/robots/video-subtitle.ts +61 -8
- package/src/alphalib/types/robots/video-thumbs.ts +0 -1
- package/src/alphalib/types/robots/vimeo-import.ts +0 -1
- package/src/alphalib/types/robots/vimeo-store.ts +14 -3
- package/src/alphalib/types/robots/wasabi-import.ts +0 -1
- package/src/alphalib/types/robots/wasabi-store.ts +0 -1
- package/src/alphalib/types/robots/youtube-store.ts +4 -5
- package/src/alphalib/types/template.ts +47 -15
- package/src/alphalib/types/templateCredential.ts +1 -0
- package/src/alphalib/zodParseWithContext.ts +19 -12
- package/src/cli/generateIntentDocs.ts +28 -9
- package/src/cli/intentCommandSpecs.ts +4 -9
- package/src/cli/intentRuntime.ts +8 -3
- package/src/cli/semanticIntents/imageDescribe.ts +4 -1
- package/src/cli/semanticIntents/imageGenerate.ts +254 -0
- package/src/cli/semanticIntents/index.ts +6 -1
- package/src/cli/semanticIntents/markdownPdf.ts +1 -1
- package/src/robots.ts +2 -2
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import { stackVersions } from '../stackVersions.ts'
|
|
4
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
5
|
+
import {
|
|
6
|
+
interpolateRobot,
|
|
7
|
+
robotBase,
|
|
8
|
+
robotFFmpegVideo,
|
|
9
|
+
robotUse,
|
|
10
|
+
} from './_instructions-primitives.ts'
|
|
11
|
+
|
|
12
|
+
export const meta: RobotMetaInput = {
|
|
13
|
+
bytescount: 1,
|
|
14
|
+
discount_factor: 1,
|
|
15
|
+
discount_pct: 0,
|
|
16
|
+
example_code: {
|
|
17
|
+
steps: {
|
|
18
|
+
split: {
|
|
19
|
+
robot: '/video/split',
|
|
20
|
+
use: ':original',
|
|
21
|
+
ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
|
|
22
|
+
segments: [
|
|
23
|
+
{ from: 0, to: 30 },
|
|
24
|
+
{ from: 60, to: 90 },
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
example_code_description:
|
|
30
|
+
'Split a video into two segments, extracting the first 30 seconds and a segment from 1:00 to 1:30:',
|
|
31
|
+
minimum_charge: 0,
|
|
32
|
+
output_factor: 0.6,
|
|
33
|
+
override_lvl1: 'Video Encoding',
|
|
34
|
+
purpose_sentence: 'splits a video into multiple segments based on an array of from/to durations',
|
|
35
|
+
purpose_verb: 'split',
|
|
36
|
+
purpose_word: 'split',
|
|
37
|
+
purpose_words: 'Split video',
|
|
38
|
+
service_slug: 'video-encoding',
|
|
39
|
+
slot_count: 60,
|
|
40
|
+
title: 'Split video',
|
|
41
|
+
typical_file_size_mb: 80,
|
|
42
|
+
typical_file_type: 'video',
|
|
43
|
+
uses_tools: ['ffmpeg'],
|
|
44
|
+
name: 'VideoSplitRobot',
|
|
45
|
+
priceFactor: 1,
|
|
46
|
+
queueSlotCount: 60,
|
|
47
|
+
isAllowedForUrlTransform: false,
|
|
48
|
+
trackOutputFileSize: true,
|
|
49
|
+
isInternal: false,
|
|
50
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
51
|
+
stage: 'ga',
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const segmentSchema = z
|
|
55
|
+
.object({
|
|
56
|
+
from: z
|
|
57
|
+
.union([z.number(), z.string()])
|
|
58
|
+
.describe(
|
|
59
|
+
'Start time of the segment in seconds (e.g. `30`) or as a timecode string (e.g. `"00:00:30.000"`).',
|
|
60
|
+
),
|
|
61
|
+
to: z
|
|
62
|
+
.union([z.number(), z.string()])
|
|
63
|
+
.describe(
|
|
64
|
+
'End time of the segment in seconds (e.g. `60`) or as a timecode string (e.g. `"00:01:00.000"`).',
|
|
65
|
+
),
|
|
66
|
+
})
|
|
67
|
+
.strict()
|
|
68
|
+
|
|
69
|
+
export const robotVideoSplitInstructionsSchema = robotBase
|
|
70
|
+
.merge(robotUse)
|
|
71
|
+
.merge(robotFFmpegVideo)
|
|
72
|
+
.extend({
|
|
73
|
+
robot: z.literal('/video/split').describe(`
|
|
74
|
+
Splits a video into multiple segments based on an array of from/to durations. Each segment produces a separate output file. This is useful for cutting a video into parts, for example to insert ads later via [🤖/video/concat](/docs/robots/video-concat/).
|
|
75
|
+
`),
|
|
76
|
+
segments: z
|
|
77
|
+
.array(segmentSchema)
|
|
78
|
+
.min(1)
|
|
79
|
+
.describe(`
|
|
80
|
+
An array of objects, each specifying a segment to extract from the input video. Each object must have a \`from\` and \`to\` key indicating the start and end time of the segment.
|
|
81
|
+
|
|
82
|
+
Times can be specified as numbers (seconds) or as timecode strings (e.g. \`"00:01:30.000"\`).
|
|
83
|
+
`),
|
|
84
|
+
})
|
|
85
|
+
.strict()
|
|
86
|
+
|
|
87
|
+
export const robotVideoSplitInstructionsWithHiddenFieldsSchema =
|
|
88
|
+
robotVideoSplitInstructionsSchema.extend({
|
|
89
|
+
result: z
|
|
90
|
+
.union([z.literal('debug'), robotVideoSplitInstructionsSchema.shape.result])
|
|
91
|
+
.optional(),
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
export type RobotVideoSplitInstructions = z.infer<typeof robotVideoSplitInstructionsSchema>
|
|
95
|
+
export type RobotVideoSplitInstructionsWithHiddenFields = z.infer<
|
|
96
|
+
typeof robotVideoSplitInstructionsWithHiddenFieldsSchema
|
|
97
|
+
>
|
|
98
|
+
|
|
99
|
+
export const interpolatableRobotVideoSplitInstructionsSchema = interpolateRobot(
|
|
100
|
+
robotVideoSplitInstructionsSchema,
|
|
101
|
+
)
|
|
102
|
+
export type InterpolatableRobotVideoSplitInstructions =
|
|
103
|
+
InterpolatableRobotVideoSplitInstructionsInput
|
|
104
|
+
|
|
105
|
+
export type InterpolatableRobotVideoSplitInstructionsInput = z.input<
|
|
106
|
+
typeof interpolatableRobotVideoSplitInstructionsSchema
|
|
107
|
+
>
|
|
108
|
+
|
|
109
|
+
export const interpolatableRobotVideoSplitInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
110
|
+
robotVideoSplitInstructionsWithHiddenFieldsSchema,
|
|
111
|
+
)
|
|
112
|
+
export type InterpolatableRobotVideoSplitInstructionsWithHiddenFields = z.infer<
|
|
113
|
+
typeof interpolatableRobotVideoSplitInstructionsWithHiddenFieldsSchema
|
|
114
|
+
>
|
|
115
|
+
export type InterpolatableRobotVideoSplitInstructionsWithHiddenFieldsInput = z.input<
|
|
116
|
+
typeof interpolatableRobotVideoSplitInstructionsWithHiddenFieldsSchema
|
|
117
|
+
>
|
|
@@ -13,13 +13,12 @@ import {
|
|
|
13
13
|
} from './_instructions-primitives.ts'
|
|
14
14
|
|
|
15
15
|
export const meta: RobotMetaInput = {
|
|
16
|
-
allowed_for_url_transform: false,
|
|
17
16
|
bytescount: 1,
|
|
18
17
|
discount_factor: 1,
|
|
19
18
|
discount_pct: 0,
|
|
20
19
|
example_code: {
|
|
21
20
|
steps: {
|
|
22
|
-
|
|
21
|
+
add_english_subtitles: {
|
|
23
22
|
robot: '/video/subtitle',
|
|
24
23
|
use: {
|
|
25
24
|
steps: [
|
|
@@ -30,17 +29,39 @@ export const meta: RobotMetaInput = {
|
|
|
30
29
|
},
|
|
31
30
|
{
|
|
32
31
|
name: ':original',
|
|
33
|
-
fields: '
|
|
32
|
+
fields: 'input_srt_en',
|
|
34
33
|
as: 'subtitles',
|
|
35
34
|
},
|
|
36
35
|
],
|
|
37
36
|
},
|
|
37
|
+
language: 'eng',
|
|
38
|
+
name: 'English',
|
|
39
|
+
ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
|
|
40
|
+
},
|
|
41
|
+
add_german_subtitles: {
|
|
42
|
+
robot: '/video/subtitle',
|
|
43
|
+
use: {
|
|
44
|
+
steps: [
|
|
45
|
+
{
|
|
46
|
+
name: 'add_english_subtitles',
|
|
47
|
+
as: 'video',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: ':original',
|
|
51
|
+
fields: 'input_srt_de',
|
|
52
|
+
as: 'subtitles',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
language: 'deu',
|
|
57
|
+
name: 'Deutsch',
|
|
58
|
+
keep_subtitles: true,
|
|
38
59
|
ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
|
|
39
60
|
},
|
|
40
61
|
},
|
|
41
62
|
},
|
|
42
63
|
example_code_description:
|
|
43
|
-
'If you have
|
|
64
|
+
'If you have file input fields in a form — one for a video and one for each subtitle language (named `input_video`, `input_srt_en`, and `input_srt_de` via the HTML `name` attribute) — hereʼs how to add multiple subtitle streams with language tags to the video. Chain multiple `/video/subtitle` Steps with `keep_subtitles` set to `true` so each new stream is added alongside existing ones:',
|
|
44
65
|
minimum_charge: 0,
|
|
45
66
|
output_factor: 0.6,
|
|
46
67
|
override_lvl1: 'Video Encoding',
|
|
@@ -96,8 +117,11 @@ The font family to use. Also includes boldness and style of the font.
|
|
|
96
117
|
|
|
97
118
|
[Here](/docs/supported-formats/fonts/) is a list of all supported fonts.
|
|
98
119
|
`),
|
|
99
|
-
font_color:
|
|
100
|
-
|
|
120
|
+
font_color: z
|
|
121
|
+
.union([color_without_alpha, color_with_alpha])
|
|
122
|
+
.default('FFFFFF')
|
|
123
|
+
.describe(`
|
|
124
|
+
The color of the subtitle text in \`"rgb"\`, \`"rrggbb"\`, or \`"aarrggbb"\` format. If 8 hex digits are provided, the first two specify the alpha value of the color (\`"00"\` is fully opaque, \`"ff"\` is fully transparent).
|
|
101
125
|
`),
|
|
102
126
|
font_size: z
|
|
103
127
|
.number()
|
|
@@ -106,6 +130,28 @@ The color of the subtitle text. The first two hex digits specify the alpha value
|
|
|
106
130
|
.default(16)
|
|
107
131
|
.describe(`
|
|
108
132
|
Specifies the size of the text.
|
|
133
|
+
`),
|
|
134
|
+
bold: z
|
|
135
|
+
.boolean()
|
|
136
|
+
.default(false)
|
|
137
|
+
.describe(`
|
|
138
|
+
Specifies whether the subtitle text should be bold. Only applies to burned subtitles.
|
|
139
|
+
`),
|
|
140
|
+
italic: z
|
|
141
|
+
.boolean()
|
|
142
|
+
.default(false)
|
|
143
|
+
.describe(`
|
|
144
|
+
Specifies whether the subtitle text should be italic. Only applies to burned subtitles.
|
|
145
|
+
`),
|
|
146
|
+
outline_width: z
|
|
147
|
+
.number()
|
|
148
|
+
.int()
|
|
149
|
+
.min(0)
|
|
150
|
+
.max(10)
|
|
151
|
+
.optional()
|
|
152
|
+
.nullable()
|
|
153
|
+
.describe(`
|
|
154
|
+
Specifies the width of the text outline in pixels. Only applies to burned subtitles with \`"outline"\` or \`"box"\` border styles. If not specified, the default width is used.
|
|
109
155
|
`),
|
|
110
156
|
position: positionSchema.default('bottom').describe(`
|
|
111
157
|
Specifies the position of the subtitles.
|
|
@@ -115,13 +161,20 @@ Specifies the position of the subtitles.
|
|
|
115
161
|
.optional()
|
|
116
162
|
.nullable()
|
|
117
163
|
.describe(`
|
|
118
|
-
Specifies the language of the
|
|
164
|
+
Specifies the language of the subtitle stream using a three-letter language code (e.g. \`"eng"\`, \`"deu"\`, \`"spa"\`). Only used if the subtitles are external. When adding multiple subtitle streams, set a different language for each stream so that video players can offer language selection.
|
|
165
|
+
`),
|
|
166
|
+
name: z
|
|
167
|
+
.string()
|
|
168
|
+
.optional()
|
|
169
|
+
.nullable()
|
|
170
|
+
.describe(`
|
|
171
|
+
Specifies a human-readable name for the subtitle track (e.g. \`"English"\`, \`"Deutsch"\`, \`"Español"\`). Only used if the subtitles are external. This name is displayed in video player subtitle menus alongside the language.
|
|
119
172
|
`),
|
|
120
173
|
keep_subtitles: z
|
|
121
174
|
.boolean()
|
|
122
175
|
.default(false)
|
|
123
176
|
.describe(`
|
|
124
|
-
Specifies if existing subtitles in the input file should be kept or be replaced by the new subtitle. Only used if the subtitles are external.
|
|
177
|
+
Specifies if existing subtitles in the input file should be kept or be replaced by the new subtitle. Only used if the subtitles are external. Set this to \`true\` when chaining multiple \`/video/subtitle\` Steps to add several subtitle streams (e.g. different languages) to the same video.
|
|
125
178
|
`),
|
|
126
179
|
})
|
|
127
180
|
.strict()
|
|
@@ -4,10 +4,10 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
|
4
4
|
import { interpolateRobot, robotBase, robotUse, vimeoBase } from './_instructions-primitives.ts'
|
|
5
5
|
|
|
6
6
|
export const meta: RobotMetaInput = {
|
|
7
|
-
allowed_for_url_transform: true,
|
|
8
7
|
bytescount: 6,
|
|
9
8
|
discount_factor: 0.15000150001500018,
|
|
10
9
|
discount_pct: 84.99984999849998,
|
|
10
|
+
hideCredentialsWarning: true,
|
|
11
11
|
example_code: {
|
|
12
12
|
steps: {
|
|
13
13
|
exported: {
|
|
@@ -24,7 +24,7 @@ export const meta: RobotMetaInput = {
|
|
|
24
24
|
minimum_charge: 0,
|
|
25
25
|
output_factor: 1,
|
|
26
26
|
override_lvl1: 'File Exporting',
|
|
27
|
-
purpose_sentence: 'exports encoding results to
|
|
27
|
+
purpose_sentence: 'exports encoding results to Vimeo',
|
|
28
28
|
purpose_verb: 'export',
|
|
29
29
|
purpose_word: 'Vimeo',
|
|
30
30
|
purpose_words: 'Export files to Vimeo',
|
|
@@ -47,7 +47,18 @@ export const robotVimeoStoreInstructionsSchema = robotBase
|
|
|
47
47
|
.merge(robotUse)
|
|
48
48
|
.merge(vimeoBase)
|
|
49
49
|
.extend({
|
|
50
|
-
robot: z.literal('/vimeo/store')
|
|
50
|
+
robot: z.literal('/vimeo/store').describe(`
|
|
51
|
+
## Getting started
|
|
52
|
+
|
|
53
|
+
Since Vimeo works with OAuth, you will need to generate [Template Credentials](https://transloadit.com/c/template-credentials/) to use this <dfn>Robot</dfn>.
|
|
54
|
+
|
|
55
|
+
To change the \`title\` or \`description\` per video, we recommend to [inject variables into your Template](/docs/topics/templates/).
|
|
56
|
+
|
|
57
|
+
> [!Warning]
|
|
58
|
+
> Vimeo's API limits the number of concurrent uploads per minute based on your Vimeo account plan. To see how many videos can be uploaded at once based on your plan, click the following [link](https://developer.vimeo.com/guidelines/rate-limiting#table-1).
|
|
59
|
+
|
|
60
|
+
Note that this <dfn>Robot</dfn> only accepts videos.
|
|
61
|
+
`),
|
|
51
62
|
title: z.string().describe(`
|
|
52
63
|
The title of the video to be displayed on Vimeo.
|
|
53
64
|
`),
|
|
@@ -4,7 +4,6 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
|
4
4
|
import { interpolateRobot, robotBase, robotUse, wasabiBase } from './_instructions-primitives.ts'
|
|
5
5
|
|
|
6
6
|
export const meta: RobotMetaInput = {
|
|
7
|
-
allowed_for_url_transform: true,
|
|
8
7
|
bytescount: 6,
|
|
9
8
|
discount_factor: 0.15000150001500018,
|
|
10
9
|
discount_pct: 84.99984999849998,
|
|
@@ -4,10 +4,10 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
|
4
4
|
import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
|
|
5
5
|
|
|
6
6
|
export const meta: RobotMetaInput = {
|
|
7
|
-
allowed_for_url_transform: true,
|
|
8
7
|
bytescount: 6,
|
|
9
8
|
discount_factor: 0.15000150001500018,
|
|
10
9
|
discount_pct: 84.99984999849998,
|
|
10
|
+
hideCredentialsWarning: true,
|
|
11
11
|
example_code: {
|
|
12
12
|
steps: {
|
|
13
13
|
exported: {
|
|
@@ -49,15 +49,14 @@ export const robotYoutubeStoreInstructionsSchema = robotBase
|
|
|
49
49
|
.merge(robotUse)
|
|
50
50
|
.extend({
|
|
51
51
|
robot: z.literal('/youtube/store').describe(`
|
|
52
|
-
|
|
53
|
-
> This <dfn>Robot</dfn> only accepts videos.
|
|
54
|
-
|
|
55
|
-
## Installation
|
|
52
|
+
## Getting started
|
|
56
53
|
|
|
57
54
|
Since YouTube works with OAuth, you will need to generate [Template Credentials](/c/template-credentials/) to use this <dfn>Robot</dfn>.
|
|
58
55
|
|
|
59
56
|
To change the \`title\`, \`description\`, \`category\`, or \`keywords\` per video, we recommend to [inject variables into your Template](/docs/topics/templates/).
|
|
60
57
|
|
|
58
|
+
Note that this <dfn>Robot</dfn> only accepts videos.
|
|
59
|
+
|
|
61
60
|
## Adding a thumbnail image to your video
|
|
62
61
|
|
|
63
62
|
You can add a custom thumbnail to your video on YouTube by using our \`"as"\` syntax for the \`"use"\` parameter to supply both a video and an image to the step:
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
robotsSchema,
|
|
5
|
+
robotsWithHiddenBotsAndFieldsSchema,
|
|
6
|
+
} from './robots/_index.ts'
|
|
7
|
+
import type {
|
|
8
|
+
RobotsSchema,
|
|
9
|
+
RobotsWithHiddenBotsAndFields,
|
|
10
|
+
} from './robots/_index.ts'
|
|
4
11
|
import type { RobotUse } from './robots/_instructions-primitives.ts'
|
|
5
12
|
|
|
6
|
-
export
|
|
13
|
+
export type Step = RobotsSchema
|
|
14
|
+
export type StepInput = Step
|
|
15
|
+
export type StepInputWithUse = StepInput & RobotUse
|
|
16
|
+
export type Steps = Record<string, Step>
|
|
17
|
+
export type StepsInput = Steps
|
|
18
|
+
|
|
19
|
+
export const stepSchema: z.ZodType<Step> = z
|
|
7
20
|
.object({
|
|
8
21
|
// This is a hack to get nicer robot hover messages in editors.
|
|
9
22
|
robot: z
|
|
@@ -11,15 +24,17 @@ export const stepSchema = z
|
|
|
11
24
|
.describe('Identifier of the [robot](https://transloadit.com/docs/robots/) to execute'),
|
|
12
25
|
})
|
|
13
26
|
.and(robotsSchema)
|
|
14
|
-
export const stepsSchema
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export type StepInputWithUse = StepInput & RobotUse
|
|
18
|
-
export type Steps = z.infer<typeof stepsSchema>
|
|
19
|
-
export type StepsInput = z.input<typeof stepsSchema>
|
|
27
|
+
export const stepsSchema: z.ZodType<Steps> = z
|
|
28
|
+
.record(stepSchema)
|
|
29
|
+
.describe('Contains Assembly Instructions.')
|
|
20
30
|
export const optionalStepsSchema = stepsSchema.optional()
|
|
21
31
|
|
|
22
|
-
export
|
|
32
|
+
export type StepWithHiddenFields = RobotsWithHiddenBotsAndFields
|
|
33
|
+
export type StepWithHiddenFieldsInput = StepWithHiddenFields
|
|
34
|
+
export type StepsWithHiddenFields = Record<string, StepWithHiddenFields>
|
|
35
|
+
export type StepsWithHiddenFieldsInput = StepsWithHiddenFields
|
|
36
|
+
|
|
37
|
+
export const stepSchemaWithHiddenFields: z.ZodType<StepWithHiddenFields> = z
|
|
23
38
|
.object({
|
|
24
39
|
// This is a hack to get nicer robot hover messages in editors.
|
|
25
40
|
robot: z
|
|
@@ -27,13 +42,9 @@ export const stepSchemaWithHiddenFields = z
|
|
|
27
42
|
.describe('Identifier of the [robot](https://transloadit.com/docs/robots/) to execute'),
|
|
28
43
|
})
|
|
29
44
|
.and(robotsWithHiddenBotsAndFieldsSchema)
|
|
30
|
-
export const stepsSchemaWithHiddenFields = z
|
|
45
|
+
export const stepsSchemaWithHiddenFields: z.ZodType<StepsWithHiddenFields> = z
|
|
31
46
|
.record(stepSchemaWithHiddenFields)
|
|
32
47
|
.describe('Contains Assembly Instructions.')
|
|
33
|
-
export type StepWithHiddenFields = z.infer<typeof stepSchemaWithHiddenFields>
|
|
34
|
-
export type StepWithHiddenFieldsInput = z.input<typeof stepSchemaWithHiddenFields>
|
|
35
|
-
export type StepsWithHiddenFields = z.infer<typeof stepsSchemaWithHiddenFields>
|
|
36
|
-
export type StepsWithHiddenFieldsInput = z.input<typeof stepsSchemaWithHiddenFields>
|
|
37
48
|
const optionalStepsWithHiddenFieldsSchema = stepsSchemaWithHiddenFields.optional()
|
|
38
49
|
|
|
39
50
|
export const fieldsSchema = z
|
|
@@ -48,7 +59,27 @@ export const notifyUrlSchema = z
|
|
|
48
59
|
.optional()
|
|
49
60
|
.nullable()
|
|
50
61
|
.describe(
|
|
51
|
-
|
|
62
|
+
"Transloadit can send a Pingback to your server when the Assembly is completed. We'll send the Assembly status in a form url-encoded JSON string inside of a transloadit field in a multipart POST request to the URL supplied here. Use `notification_payload` to reduce the payload size (e.g. `without_uploads`, `without_results`); the same filtering applies to notification replays.",
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
export type NotificationPayloadFilter =
|
|
66
|
+
| 'without_result_meta_data'
|
|
67
|
+
| 'without_results'
|
|
68
|
+
| 'without_upload_meta_data'
|
|
69
|
+
| 'without_uploads'
|
|
70
|
+
|
|
71
|
+
export const notificationPayloadFilterValues = [
|
|
72
|
+
'without_result_meta_data',
|
|
73
|
+
'without_results',
|
|
74
|
+
'without_upload_meta_data',
|
|
75
|
+
'without_uploads',
|
|
76
|
+
] as const satisfies readonly NotificationPayloadFilter[]
|
|
77
|
+
|
|
78
|
+
export const notificationPayloadSchema = z
|
|
79
|
+
.array(z.enum(notificationPayloadFilterValues))
|
|
80
|
+
.optional()
|
|
81
|
+
.describe(
|
|
82
|
+
'Controls the size of the payload sent in Assembly notifications (both the initial notification and any notification replays). An empty array (default) sends the complete Assembly status. Add `"without_upload_meta_data"` to strip `meta` from files in `uploads`. Add `"without_result_meta_data"` to strip `meta` from files in `results`. Add `"without_uploads"` to strip `uploads` entirely. Add `"without_results"` to strip `results` entirely. Filtering is applied before serialization, so using these options reduces memory use and helps avoid oversized-payload or OOM failures on large assemblies.',
|
|
52
83
|
)
|
|
53
84
|
|
|
54
85
|
export const templateIdSchema = z
|
|
@@ -122,6 +153,7 @@ const assemblyInstructionsSharedShape = {
|
|
|
122
153
|
'Set this to false to disallow Overruling Templates at Runtime. If you set this to false then template_id and steps will be mutually exclusive and you may only supply one of those parameters. Recommended when deploying Transloadit in untrusted environments. This makes sense to set as part of a Template, rather than on the Assembly itself when creating it.',
|
|
123
154
|
),
|
|
124
155
|
notify_url: notifyUrlSchema,
|
|
156
|
+
notification_payload: notificationPayloadSchema,
|
|
125
157
|
fields: fieldsSchema,
|
|
126
158
|
quiet: z
|
|
127
159
|
.boolean()
|
|
@@ -227,14 +227,9 @@ export function zodParseWithContext<T extends z.ZodType>(
|
|
|
227
227
|
}
|
|
228
228
|
// Handle other specific error codes (only if not handled above)
|
|
229
229
|
else {
|
|
230
|
-
// Handle specific error codes for better messages
|
|
231
|
-
let received: string
|
|
232
|
-
let type: string
|
|
233
|
-
let bigType: string
|
|
234
|
-
|
|
235
230
|
switch (zodIssue.code) {
|
|
236
231
|
case 'invalid_type': {
|
|
237
|
-
received = zodIssue.received === 'undefined' ? 'missing' : zodIssue.received
|
|
232
|
+
const received = zodIssue.received === 'undefined' ? 'missing' : zodIssue.received
|
|
238
233
|
const actualValue = getByPath(obj, path)
|
|
239
234
|
const actualValueStr =
|
|
240
235
|
typeof actualValue === 'object' && actualValue !== null
|
|
@@ -254,14 +249,26 @@ export function zodParseWithContext<T extends z.ZodType>(
|
|
|
254
249
|
messages.push(zodIssue.message)
|
|
255
250
|
}
|
|
256
251
|
break
|
|
257
|
-
case 'too_small':
|
|
258
|
-
|
|
259
|
-
|
|
252
|
+
case 'too_small': {
|
|
253
|
+
messages.push(
|
|
254
|
+
zodIssue.type === 'string'
|
|
255
|
+
? `should have at least ${zodIssue.minimum} characters`
|
|
256
|
+
: zodIssue.type === 'array' || zodIssue.type === 'set'
|
|
257
|
+
? `should have at least ${zodIssue.minimum} items`
|
|
258
|
+
: `must be ${zodIssue.minimum} or greater`,
|
|
259
|
+
)
|
|
260
260
|
break
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
messages.push(
|
|
261
|
+
}
|
|
262
|
+
case 'too_big': {
|
|
263
|
+
messages.push(
|
|
264
|
+
zodIssue.type === 'string'
|
|
265
|
+
? `may have at most ${zodIssue.maximum} characters`
|
|
266
|
+
: zodIssue.type === 'array' || zodIssue.type === 'set'
|
|
267
|
+
? `may have at most ${zodIssue.maximum} items`
|
|
268
|
+
: `may not exceed ${zodIssue.maximum}`,
|
|
269
|
+
)
|
|
264
270
|
break
|
|
271
|
+
}
|
|
265
272
|
case 'custom':
|
|
266
273
|
messages.push(zodIssue.message)
|
|
267
274
|
break
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { mkdir, readFile, writeFile } from 'node:fs/promises'
|
|
2
2
|
import { dirname } from 'node:path'
|
|
3
|
+
import { pathToFileURL } from 'node:url'
|
|
3
4
|
import {
|
|
4
5
|
getConcurrencyOptionDocumentation,
|
|
5
6
|
getDeleteAfterProcessingOptionDocumentation,
|
|
@@ -127,7 +128,14 @@ function getBackendSummary(catalogDefinition: IntentDefinition): string {
|
|
|
127
128
|
function getUsage(definition: ResolvedIntentCommandDefinition): string {
|
|
128
129
|
const parts = ['npx transloadit', ...definition.paths]
|
|
129
130
|
if (definition.runnerKind !== 'no-input') {
|
|
130
|
-
|
|
131
|
+
if (
|
|
132
|
+
'inputPolicy' in definition.intentDefinition &&
|
|
133
|
+
definition.intentDefinition.inputPolicy.kind === 'optional'
|
|
134
|
+
) {
|
|
135
|
+
parts.push('[--input', '<path|dir|url|->]')
|
|
136
|
+
} else {
|
|
137
|
+
parts.push('--input', '<path|dir|url|->')
|
|
138
|
+
}
|
|
131
139
|
}
|
|
132
140
|
parts.push('[options]')
|
|
133
141
|
return parts.join(' ')
|
|
@@ -322,7 +330,7 @@ function renderAtAGlanceTable(definitions: ResolvedIntentCommandDefinition[]): s
|
|
|
322
330
|
)
|
|
323
331
|
}
|
|
324
332
|
|
|
325
|
-
function renderIntentDocsBody({
|
|
333
|
+
export function renderIntentDocsBody({
|
|
326
334
|
definitions,
|
|
327
335
|
headingLevel,
|
|
328
336
|
}: {
|
|
@@ -359,6 +367,15 @@ function renderIntentDocsBody({
|
|
|
359
367
|
return lines.join('\n').trim()
|
|
360
368
|
}
|
|
361
369
|
|
|
370
|
+
function isEntrypoint(): boolean {
|
|
371
|
+
const entrypoint = process.argv[1]
|
|
372
|
+
if (entrypoint == null) {
|
|
373
|
+
return false
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
return import.meta.url === pathToFileURL(entrypoint).href
|
|
377
|
+
}
|
|
378
|
+
|
|
362
379
|
function replaceGeneratedBlock({
|
|
363
380
|
endMarker,
|
|
364
381
|
markdown,
|
|
@@ -410,10 +427,12 @@ async function main(): Promise<void> {
|
|
|
410
427
|
await writeFile(readmeUrl, `${nextReadme}\n`)
|
|
411
428
|
}
|
|
412
429
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
430
|
+
if (isEntrypoint()) {
|
|
431
|
+
main().catch((error) => {
|
|
432
|
+
if (!(error instanceof Error)) {
|
|
433
|
+
throw new Error(`Was thrown a non-error: ${String(error)}`)
|
|
434
|
+
}
|
|
435
|
+
console.error(error)
|
|
436
|
+
process.exit(1)
|
|
437
|
+
})
|
|
438
|
+
}
|
|
@@ -37,10 +37,6 @@ import {
|
|
|
37
37
|
robotImageBgremoveInstructionsSchema,
|
|
38
38
|
meta as robotImageBgremoveMeta,
|
|
39
39
|
} from '../alphalib/types/robots/image-bgremove.ts'
|
|
40
|
-
import {
|
|
41
|
-
robotImageGenerateInstructionsSchema,
|
|
42
|
-
meta as robotImageGenerateMeta,
|
|
43
|
-
} from '../alphalib/types/robots/image-generate.ts'
|
|
44
40
|
import {
|
|
45
41
|
robotImageOptimizeInstructionsSchema,
|
|
46
42
|
meta as robotImageOptimizeMeta,
|
|
@@ -169,11 +165,10 @@ export function findIntentDefinitionByPaths(
|
|
|
169
165
|
}
|
|
170
166
|
|
|
171
167
|
export const intentCatalog = [
|
|
172
|
-
|
|
173
|
-
kind: '
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
schema: robotImageGenerateInstructionsSchema,
|
|
168
|
+
defineSemanticIntent({
|
|
169
|
+
kind: 'semantic',
|
|
170
|
+
paths: ['image', 'generate'],
|
|
171
|
+
semantic: 'image-generate',
|
|
177
172
|
}),
|
|
178
173
|
defineRobotIntent({
|
|
179
174
|
kind: 'robot',
|
package/src/cli/intentRuntime.ts
CHANGED
|
@@ -318,8 +318,9 @@ function createSingleStep(
|
|
|
318
318
|
function createDynamicIntentStep(
|
|
319
319
|
execution: IntentDynamicStepExecutionDefinition,
|
|
320
320
|
rawValues: Record<string, unknown>,
|
|
321
|
+
hasInputs: boolean,
|
|
321
322
|
): Record<string, unknown> {
|
|
322
|
-
return getSemanticIntentDescriptor(execution.handler).createStep(rawValues)
|
|
323
|
+
return getSemanticIntentDescriptor(execution.handler).createStep(rawValues, { hasInputs })
|
|
323
324
|
}
|
|
324
325
|
|
|
325
326
|
function requiresLocalInput(
|
|
@@ -367,7 +368,11 @@ async function executeIntentCommand({
|
|
|
367
368
|
rawValues,
|
|
368
369
|
createOptions.inputs.length > 0,
|
|
369
370
|
)
|
|
370
|
-
: createDynamicIntentStep(
|
|
371
|
+
: createDynamicIntentStep(
|
|
372
|
+
definition.execution,
|
|
373
|
+
rawValues,
|
|
374
|
+
createOptions.inputs.length > 0,
|
|
375
|
+
),
|
|
371
376
|
} as AssembliesCreateOptions['stepsData'],
|
|
372
377
|
}
|
|
373
378
|
|
|
@@ -563,7 +568,7 @@ abstract class GeneratedFileIntentCommandBase extends GeneratedIntentCommandBase
|
|
|
563
568
|
|
|
564
569
|
const execution = this.getIntentDefinition().execution
|
|
565
570
|
if (execution.kind === 'dynamic-step') {
|
|
566
|
-
createDynamicIntentStep(execution, rawValues)
|
|
571
|
+
createDynamicIntentStep(execution, rawValues, this.getProvidedInputCount() > 0)
|
|
567
572
|
}
|
|
568
573
|
|
|
569
574
|
return undefined
|
|
@@ -212,7 +212,10 @@ function buildDescribeAiChatMessages({
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
function createImageDescribeStep(
|
|
215
|
+
function createImageDescribeStep(
|
|
216
|
+
rawValues: Record<string, unknown>,
|
|
217
|
+
_context: { hasInputs: boolean },
|
|
218
|
+
): Record<string, unknown> {
|
|
216
219
|
const { fields, profile } = resolveImageDescribeRequest(rawValues)
|
|
217
220
|
if (fields.length === 1 && fields[0] === 'labels') {
|
|
218
221
|
return {
|