transloadit 4.7.6 → 4.8.1
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 +97 -22
- 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/bearerToken.d.ts +1 -0
- package/dist/bearerToken.d.ts.map +1 -1
- package/dist/bearerToken.js +5 -3
- package/dist/bearerToken.js.map +1 -1
- package/dist/cli/commands/BaseCommand.d.ts +0 -1
- package/dist/cli/commands/BaseCommand.d.ts.map +1 -1
- package/dist/cli/commands/BaseCommand.js +7 -9
- package/dist/cli/commands/BaseCommand.js.map +1 -1
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +49 -29
- package/dist/cli/commands/auth.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 +27 -9
- package/dist/cli/generateIntentDocs.js.map +1 -1
- package/dist/cli/helpers.d.ts +19 -4
- package/dist/cli/helpers.d.ts.map +1 -1
- package/dist/cli/helpers.js +232 -10
- package/dist/cli/helpers.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.d.ts +0 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -2
- package/dist/cli.js.map +1 -1
- 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/bearerToken.ts +14 -3
- package/src/cli/commands/BaseCommand.ts +7 -9
- package/src/cli/commands/auth.ts +66 -32
- package/src/cli/generateIntentDocs.ts +30 -9
- package/src/cli/helpers.ts +278 -13
- 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/cli.ts +3 -2
- 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
|
package/src/bearerToken.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type BearerTokenResponse = {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export type MintBearerTokenOptions = {
|
|
13
|
+
allowProcessEnvEndpointFallback?: boolean
|
|
13
14
|
endpoint?: string
|
|
14
15
|
aud?: BearerTokenAudience | string
|
|
15
16
|
/**
|
|
@@ -49,8 +50,15 @@ const isLoopbackHost = (hostname: string): boolean =>
|
|
|
49
50
|
|
|
50
51
|
type TokenBaseResult = { ok: true; baseUrl: URL } | { ok: false; error: string }
|
|
51
52
|
|
|
52
|
-
const normalizeTokenBaseEndpoint = (
|
|
53
|
-
|
|
53
|
+
const normalizeTokenBaseEndpoint = (
|
|
54
|
+
raw?: string,
|
|
55
|
+
allowProcessEnvEndpointFallback = true,
|
|
56
|
+
): TokenBaseResult => {
|
|
57
|
+
const baseRaw = (
|
|
58
|
+
raw ||
|
|
59
|
+
(allowProcessEnvEndpointFallback ? process.env.TRANSLOADIT_ENDPOINT : undefined) ||
|
|
60
|
+
'https://api2.transloadit.com'
|
|
61
|
+
).trim()
|
|
54
62
|
|
|
55
63
|
let url: URL
|
|
56
64
|
try {
|
|
@@ -118,7 +126,10 @@ export async function mintBearerTokenWithCredentials(
|
|
|
118
126
|
credentials: { authKey: string; authSecret: string },
|
|
119
127
|
options: MintBearerTokenOptions = {},
|
|
120
128
|
): Promise<MintBearerTokenResult> {
|
|
121
|
-
const endpointResult = normalizeTokenBaseEndpoint(
|
|
129
|
+
const endpointResult = normalizeTokenBaseEndpoint(
|
|
130
|
+
options.endpoint,
|
|
131
|
+
options.allowProcessEnvEndpointFallback,
|
|
132
|
+
)
|
|
122
133
|
if (!endpointResult.ok) {
|
|
123
134
|
return { ok: false, error: endpointResult.error }
|
|
124
135
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import 'dotenv/config'
|
|
2
|
-
import process from 'node:process'
|
|
3
1
|
import { Command, Option } from 'clipanion'
|
|
4
2
|
import { Transloadit as TransloaditClient } from '../../Transloadit.ts'
|
|
5
|
-
import {
|
|
3
|
+
import { buildMissingAuthMessage, resolveCliConfig } from '../helpers.ts'
|
|
6
4
|
import type { IOutputCtl } from '../OutputCtl.ts'
|
|
7
5
|
import OutputCtl, { LOG_LEVEL_DEFAULT, LOG_LEVEL_NAMES, parseLogLevel } from '../OutputCtl.ts'
|
|
8
6
|
|
|
@@ -17,7 +15,7 @@ abstract class BaseCommand extends Command {
|
|
|
17
15
|
|
|
18
16
|
endpoint = Option.String('--endpoint', {
|
|
19
17
|
description:
|
|
20
|
-
'API endpoint URL (default: https://api2.transloadit.com, or TRANSLOADIT_ENDPOINT env
|
|
18
|
+
'API endpoint URL (default: https://api2.transloadit.com, or TRANSLOADIT_ENDPOINT from the environment, .env, or ~/.transloadit/credentials)',
|
|
21
19
|
})
|
|
22
20
|
|
|
23
21
|
protected output!: IOutputCtl
|
|
@@ -32,16 +30,16 @@ abstract class BaseCommand extends Command {
|
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
protected setupClient(): boolean {
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
this.output.error(
|
|
33
|
+
const config = resolveCliConfig()
|
|
34
|
+
if (config.auth == null) {
|
|
35
|
+
this.output.error(config.loadError ?? buildMissingAuthMessage())
|
|
38
36
|
return false
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
const endpoint = this.endpoint ||
|
|
39
|
+
const endpoint = this.endpoint || config.endpoint
|
|
42
40
|
|
|
43
41
|
this.client = new TransloaditClient({
|
|
44
|
-
...
|
|
42
|
+
...config.auth,
|
|
45
43
|
...(endpoint && { endpoint }),
|
|
46
44
|
})
|
|
47
45
|
return true
|