@transloadit/node 4.1.3
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/LICENSE +21 -0
- package/README.md +701 -0
- package/dist/ApiError.d.ts +22 -0
- package/dist/ApiError.d.ts.map +1 -0
- package/dist/ApiError.js +33 -0
- package/dist/ApiError.js.map +1 -0
- package/dist/InconsistentResponseError.d.ts +4 -0
- package/dist/InconsistentResponseError.d.ts.map +1 -0
- package/dist/InconsistentResponseError.js +4 -0
- package/dist/InconsistentResponseError.js.map +1 -0
- package/dist/PaginationStream.d.ts +14 -0
- package/dist/PaginationStream.d.ts.map +1 -0
- package/dist/PaginationStream.js +36 -0
- package/dist/PaginationStream.js.map +1 -0
- package/dist/PollingTimeoutError.d.ts +5 -0
- package/dist/PollingTimeoutError.d.ts.map +1 -0
- package/dist/PollingTimeoutError.js +5 -0
- package/dist/PollingTimeoutError.js.map +1 -0
- package/dist/Transloadit.d.ts +250 -0
- package/dist/Transloadit.d.ts.map +1 -0
- package/dist/Transloadit.js +661 -0
- package/dist/Transloadit.js.map +1 -0
- package/dist/alphalib/lib/nativeGlobby.d.ts +14 -0
- package/dist/alphalib/lib/nativeGlobby.d.ts.map +1 -0
- package/dist/alphalib/lib/nativeGlobby.js +181 -0
- package/dist/alphalib/lib/nativeGlobby.js.map +1 -0
- package/dist/alphalib/mcache.d.ts +65 -0
- package/dist/alphalib/mcache.d.ts.map +1 -0
- package/dist/alphalib/mcache.js +135 -0
- package/dist/alphalib/mcache.js.map +1 -0
- package/dist/alphalib/tryCatch.d.ts +21 -0
- package/dist/alphalib/tryCatch.d.ts.map +1 -0
- package/dist/alphalib/tryCatch.js +17 -0
- package/dist/alphalib/tryCatch.js.map +1 -0
- package/dist/alphalib/types/assembliesGet.d.ts +62 -0
- package/dist/alphalib/types/assembliesGet.d.ts.map +1 -0
- package/dist/alphalib/types/assembliesGet.js +33 -0
- package/dist/alphalib/types/assembliesGet.js.map +1 -0
- package/dist/alphalib/types/assemblyReplay.d.ts +7858 -0
- package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -0
- package/dist/alphalib/types/assemblyReplay.js +15 -0
- package/dist/alphalib/types/assemblyReplay.js.map +1 -0
- package/dist/alphalib/types/assemblyReplayNotification.d.ts +7849 -0
- package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -0
- package/dist/alphalib/types/assemblyReplayNotification.js +13 -0
- package/dist/alphalib/types/assemblyReplayNotification.js.map +1 -0
- package/dist/alphalib/types/assemblyStatus.d.ts +71084 -0
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -0
- package/dist/alphalib/types/assemblyStatus.js +710 -0
- package/dist/alphalib/types/assemblyStatus.js.map +1 -0
- package/dist/alphalib/types/bill.d.ts +44 -0
- package/dist/alphalib/types/bill.d.ts.map +1 -0
- package/dist/alphalib/types/bill.js +8 -0
- package/dist/alphalib/types/bill.js.map +1 -0
- package/dist/alphalib/types/robots/_index.d.ts +76306 -0
- package/dist/alphalib/types/robots/_index.d.ts.map +1 -0
- package/dist/alphalib/types/robots/_index.js +354 -0
- package/dist/alphalib/types/robots/_index.js.map +1 -0
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts +3533 -0
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -0
- package/dist/alphalib/types/robots/_instructions-primitives.js +1491 -0
- package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -0
- package/dist/alphalib/types/robots/ai-chat.d.ts +2096 -0
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -0
- package/dist/alphalib/types/robots/ai-chat.js +223 -0
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -0
- package/dist/alphalib/types/robots/assembly-savejson.d.ts +52 -0
- package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -0
- package/dist/alphalib/types/robots/assembly-savejson.js +22 -0
- package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -0
- package/dist/alphalib/types/robots/audio-artwork.d.ts +2867 -0
- package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-artwork.js +73 -0
- package/dist/alphalib/types/robots/audio-artwork.js.map +1 -0
- package/dist/alphalib/types/robots/audio-concat.d.ts +2916 -0
- package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-concat.js +106 -0
- package/dist/alphalib/types/robots/audio-concat.js.map +1 -0
- package/dist/alphalib/types/robots/audio-encode.d.ts +2864 -0
- package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-encode.js +67 -0
- package/dist/alphalib/types/robots/audio-encode.js.map +1 -0
- package/dist/alphalib/types/robots/audio-loop.d.ts +2879 -0
- package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-loop.js +67 -0
- package/dist/alphalib/types/robots/audio-loop.js.map +1 -0
- package/dist/alphalib/types/robots/audio-merge.d.ts +2931 -0
- package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-merge.js +101 -0
- package/dist/alphalib/types/robots/audio-merge.js.map +1 -0
- package/dist/alphalib/types/robots/audio-waveform.d.ts +3131 -0
- package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-waveform.js +238 -0
- package/dist/alphalib/types/robots/audio-waveform.js.map +1 -0
- package/dist/alphalib/types/robots/azure-import.d.ts +210 -0
- package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/azure-import.js +73 -0
- package/dist/alphalib/types/robots/azure-import.js.map +1 -0
- package/dist/alphalib/types/robots/azure-store.d.ts +562 -0
- package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/azure-store.js +115 -0
- package/dist/alphalib/types/robots/azure-store.js.map +1 -0
- package/dist/alphalib/types/robots/backblaze-import.d.ts +210 -0
- package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/backblaze-import.js +81 -0
- package/dist/alphalib/types/robots/backblaze-import.js.map +1 -0
- package/dist/alphalib/types/robots/backblaze-store.d.ts +478 -0
- package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/backblaze-store.js +76 -0
- package/dist/alphalib/types/robots/backblaze-store.js.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-import.d.ts +234 -0
- package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-import.js +80 -0
- package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-store.d.ts +490 -0
- package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-store.js +70 -0
- package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -0
- package/dist/alphalib/types/robots/cloudflare-import.d.ts +234 -0
- package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/cloudflare-import.js +81 -0
- package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -0
- package/dist/alphalib/types/robots/cloudflare-store.d.ts +514 -0
- package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/cloudflare-store.js +86 -0
- package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -0
- package/dist/alphalib/types/robots/digitalocean-import.d.ts +234 -0
- package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/digitalocean-import.js +78 -0
- package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -0
- package/dist/alphalib/types/robots/digitalocean-store.d.ts +526 -0
- package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/digitalocean-store.js +91 -0
- package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -0
- package/dist/alphalib/types/robots/document-autorotate.d.ts +405 -0
- package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-autorotate.js +44 -0
- package/dist/alphalib/types/robots/document-autorotate.js.map +1 -0
- package/dist/alphalib/types/robots/document-convert.d.ts +513 -0
- package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-convert.js +273 -0
- package/dist/alphalib/types/robots/document-convert.js.map +1 -0
- package/dist/alphalib/types/robots/document-merge.d.ts +429 -0
- package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-merge.js +86 -0
- package/dist/alphalib/types/robots/document-merge.js.map +1 -0
- package/dist/alphalib/types/robots/document-ocr.d.ts +441 -0
- package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-ocr.js +86 -0
- package/dist/alphalib/types/robots/document-ocr.js.map +1 -0
- package/dist/alphalib/types/robots/document-split.d.ts +417 -0
- package/dist/alphalib/types/robots/document-split.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-split.js +48 -0
- package/dist/alphalib/types/robots/document-split.js.map +1 -0
- package/dist/alphalib/types/robots/document-thumbs.d.ts +592 -0
- package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -0
- package/dist/alphalib/types/robots/document-thumbs.js +196 -0
- package/dist/alphalib/types/robots/document-thumbs.js.map +1 -0
- package/dist/alphalib/types/robots/dropbox-import.d.ts +144 -0
- package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/dropbox-import.js +65 -0
- package/dist/alphalib/types/robots/dropbox-import.js.map +1 -0
- package/dist/alphalib/types/robots/dropbox-store.d.ts +449 -0
- package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/dropbox-store.js +68 -0
- package/dist/alphalib/types/robots/dropbox-store.js.map +1 -0
- package/dist/alphalib/types/robots/edgly-deliver.d.ts +100 -0
- package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -0
- package/dist/alphalib/types/robots/edgly-deliver.js +46 -0
- package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -0
- package/dist/alphalib/types/robots/file-compress.d.ts +477 -0
- package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-compress.js +139 -0
- package/dist/alphalib/types/robots/file-compress.js.map +1 -0
- package/dist/alphalib/types/robots/file-decompress.d.ts +404 -0
- package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-decompress.js +94 -0
- package/dist/alphalib/types/robots/file-decompress.js.map +1 -0
- package/dist/alphalib/types/robots/file-filter.d.ts +465 -0
- package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-filter.js +136 -0
- package/dist/alphalib/types/robots/file-filter.js.map +1 -0
- package/dist/alphalib/types/robots/file-hash.d.ts +417 -0
- package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-hash.js +59 -0
- package/dist/alphalib/types/robots/file-hash.js.map +1 -0
- package/dist/alphalib/types/robots/file-preview.d.ts +854 -0
- package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-preview.js +221 -0
- package/dist/alphalib/types/robots/file-preview.js.map +1 -0
- package/dist/alphalib/types/robots/file-read.d.ts +405 -0
- package/dist/alphalib/types/robots/file-read.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-read.js +44 -0
- package/dist/alphalib/types/robots/file-read.js.map +1 -0
- package/dist/alphalib/types/robots/file-serve.d.ts +418 -0
- package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-serve.js +99 -0
- package/dist/alphalib/types/robots/file-serve.js.map +1 -0
- package/dist/alphalib/types/robots/file-verify.d.ts +441 -0
- package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-verify.js +73 -0
- package/dist/alphalib/types/robots/file-verify.js.map +1 -0
- package/dist/alphalib/types/robots/file-virusscan.d.ts +435 -0
- package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-virusscan.js +82 -0
- package/dist/alphalib/types/robots/file-virusscan.js.map +1 -0
- package/dist/alphalib/types/robots/file-watermark.d.ts +417 -0
- package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -0
- package/dist/alphalib/types/robots/file-watermark.js +28 -0
- package/dist/alphalib/types/robots/file-watermark.js.map +1 -0
- package/dist/alphalib/types/robots/ftp-import.d.ts +198 -0
- package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/ftp-import.js +60 -0
- package/dist/alphalib/types/robots/ftp-import.js.map +1 -0
- package/dist/alphalib/types/robots/ftp-store.d.ts +532 -0
- package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/ftp-store.js +91 -0
- package/dist/alphalib/types/robots/ftp-store.js.map +1 -0
- package/dist/alphalib/types/robots/google-import.d.ts +174 -0
- package/dist/alphalib/types/robots/google-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/google-import.js +77 -0
- package/dist/alphalib/types/robots/google-import.js.map +1 -0
- package/dist/alphalib/types/robots/google-store.d.ts +476 -0
- package/dist/alphalib/types/robots/google-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/google-store.js +111 -0
- package/dist/alphalib/types/robots/google-store.js.map +1 -0
- package/dist/alphalib/types/robots/html-convert.d.ts +531 -0
- package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -0
- package/dist/alphalib/types/robots/html-convert.js +137 -0
- package/dist/alphalib/types/robots/html-convert.js.map +1 -0
- package/dist/alphalib/types/robots/http-import.d.ts +215 -0
- package/dist/alphalib/types/robots/http-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/http-import.js +135 -0
- package/dist/alphalib/types/robots/http-import.js.map +1 -0
- package/dist/alphalib/types/robots/image-bgremove.d.ts +453 -0
- package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-bgremove.js +65 -0
- package/dist/alphalib/types/robots/image-bgremove.js.map +1 -0
- package/dist/alphalib/types/robots/image-describe.d.ts +453 -0
- package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-describe.js +86 -0
- package/dist/alphalib/types/robots/image-describe.js.map +1 -0
- package/dist/alphalib/types/robots/image-facedetect.d.ts +477 -0
- package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-facedetect.js +151 -0
- package/dist/alphalib/types/robots/image-facedetect.js.map +1 -0
- package/dist/alphalib/types/robots/image-generate.d.ts +522 -0
- package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-generate.js +64 -0
- package/dist/alphalib/types/robots/image-generate.js.map +1 -0
- package/dist/alphalib/types/robots/image-merge.d.ts +477 -0
- package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-merge.js +92 -0
- package/dist/alphalib/types/robots/image-merge.js.map +1 -0
- package/dist/alphalib/types/robots/image-ocr.d.ts +441 -0
- package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-ocr.js +79 -0
- package/dist/alphalib/types/robots/image-ocr.js.map +1 -0
- package/dist/alphalib/types/robots/image-optimize.d.ts +453 -0
- package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-optimize.js +81 -0
- package/dist/alphalib/types/robots/image-optimize.js.map +1 -0
- package/dist/alphalib/types/robots/image-resize.d.ts +1758 -0
- package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-resize.js +602 -0
- package/dist/alphalib/types/robots/image-resize.js.map +1 -0
- package/dist/alphalib/types/robots/meta-read.d.ts +98 -0
- package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -0
- package/dist/alphalib/types/robots/meta-read.js +24 -0
- package/dist/alphalib/types/robots/meta-read.js.map +1 -0
- package/dist/alphalib/types/robots/meta-write.d.ts +2842 -0
- package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -0
- package/dist/alphalib/types/robots/meta-write.js +66 -0
- package/dist/alphalib/types/robots/meta-write.js.map +1 -0
- package/dist/alphalib/types/robots/minio-import.d.ts +234 -0
- package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/minio-import.js +81 -0
- package/dist/alphalib/types/robots/minio-import.js.map +1 -0
- package/dist/alphalib/types/robots/minio-store.d.ts +514 -0
- package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/minio-store.js +87 -0
- package/dist/alphalib/types/robots/minio-store.js.map +1 -0
- package/dist/alphalib/types/robots/progress-simulate.d.ts +229 -0
- package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/progress-simulate.js +25 -0
- package/dist/alphalib/types/robots/progress-simulate.js.map +1 -0
- package/dist/alphalib/types/robots/s3-import.d.ts +246 -0
- package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/s3-import.js +137 -0
- package/dist/alphalib/types/robots/s3-import.js.map +1 -0
- package/dist/alphalib/types/robots/s3-store.d.ts +593 -0
- package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/s3-store.js +169 -0
- package/dist/alphalib/types/robots/s3-store.js.map +1 -0
- package/dist/alphalib/types/robots/script-run.d.ts +423 -0
- package/dist/alphalib/types/robots/script-run.d.ts.map +1 -0
- package/dist/alphalib/types/robots/script-run.js +95 -0
- package/dist/alphalib/types/robots/script-run.js.map +1 -0
- package/dist/alphalib/types/robots/sftp-import.d.ts +192 -0
- package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/sftp-import.js +62 -0
- package/dist/alphalib/types/robots/sftp-import.js.map +1 -0
- package/dist/alphalib/types/robots/sftp-store.d.ts +520 -0
- package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/sftp-store.js +83 -0
- package/dist/alphalib/types/robots/sftp-store.js.map +1 -0
- package/dist/alphalib/types/robots/speech-transcribe.d.ts +465 -0
- package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -0
- package/dist/alphalib/types/robots/speech-transcribe.js +103 -0
- package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -0
- package/dist/alphalib/types/robots/supabase-import.d.ts +246 -0
- package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/supabase-import.js +83 -0
- package/dist/alphalib/types/robots/supabase-import.js.map +1 -0
- package/dist/alphalib/types/robots/supabase-store.d.ts +514 -0
- package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/supabase-store.js +77 -0
- package/dist/alphalib/types/robots/supabase-store.js.map +1 -0
- package/dist/alphalib/types/robots/swift-import.d.ts +246 -0
- package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/swift-import.js +81 -0
- package/dist/alphalib/types/robots/swift-import.js.map +1 -0
- package/dist/alphalib/types/robots/swift-store.d.ts +526 -0
- package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/swift-store.js +84 -0
- package/dist/alphalib/types/robots/swift-store.js.map +1 -0
- package/dist/alphalib/types/robots/text-speak.d.ts +465 -0
- package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -0
- package/dist/alphalib/types/robots/text-speak.js +119 -0
- package/dist/alphalib/types/robots/text-speak.js.map +1 -0
- package/dist/alphalib/types/robots/text-translate.d.ts +441 -0
- package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/text-translate.js +211 -0
- package/dist/alphalib/types/robots/text-translate.js.map +1 -0
- package/dist/alphalib/types/robots/tigris-import.d.ts +244 -0
- package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/tigris-import.js +85 -0
- package/dist/alphalib/types/robots/tigris-import.js.map +1 -0
- package/dist/alphalib/types/robots/tigris-store.d.ts +524 -0
- package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/tigris-store.js +91 -0
- package/dist/alphalib/types/robots/tigris-store.js.map +1 -0
- package/dist/alphalib/types/robots/tlcdn-deliver.d.ts +100 -0
- package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -0
- package/dist/alphalib/types/robots/tlcdn-deliver.js +46 -0
- package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -0
- package/dist/alphalib/types/robots/tus-store.d.ts +477 -0
- package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/tus-store.js +102 -0
- package/dist/alphalib/types/robots/tus-store.js.map +1 -0
- package/dist/alphalib/types/robots/upload-handle.d.ts +100 -0
- package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -0
- package/dist/alphalib/types/robots/upload-handle.js +66 -0
- package/dist/alphalib/types/robots/upload-handle.js.map +1 -0
- package/dist/alphalib/types/robots/video-adaptive.d.ts +2915 -0
- package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-adaptive.js +144 -0
- package/dist/alphalib/types/robots/video-adaptive.js.map +1 -0
- package/dist/alphalib/types/robots/video-concat.d.ts +2891 -0
- package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-concat.js +96 -0
- package/dist/alphalib/types/robots/video-concat.js.map +1 -0
- package/dist/alphalib/types/robots/video-encode.d.ts +3280 -0
- package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-encode.js +107 -0
- package/dist/alphalib/types/robots/video-encode.js.map +1 -0
- package/dist/alphalib/types/robots/video-merge.d.ts +2987 -0
- package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-merge.js +102 -0
- package/dist/alphalib/types/robots/video-merge.js.map +1 -0
- package/dist/alphalib/types/robots/video-ondemand.d.ts +4553 -0
- package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-ondemand.js +112 -0
- package/dist/alphalib/types/robots/video-ondemand.js.map +1 -0
- package/dist/alphalib/types/robots/video-subtitle.d.ts +2975 -0
- package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-subtitle.js +122 -0
- package/dist/alphalib/types/robots/video-subtitle.js.map +1 -0
- package/dist/alphalib/types/robots/video-thumbs.d.ts +2938 -0
- package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-thumbs.js +122 -0
- package/dist/alphalib/types/robots/video-thumbs.js.map +1 -0
- package/dist/alphalib/types/robots/vimeo-import.d.ts +189 -0
- package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/vimeo-import.js +92 -0
- package/dist/alphalib/types/robots/vimeo-import.js.map +1 -0
- package/dist/alphalib/types/robots/vimeo-store.d.ts +520 -0
- package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/vimeo-store.js +115 -0
- package/dist/alphalib/types/robots/vimeo-store.js.map +1 -0
- package/dist/alphalib/types/robots/wasabi-import.d.ts +244 -0
- package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/wasabi-import.js +85 -0
- package/dist/alphalib/types/robots/wasabi-import.js.map +1 -0
- package/dist/alphalib/types/robots/wasabi-store.d.ts +526 -0
- package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/wasabi-store.js +85 -0
- package/dist/alphalib/types/robots/wasabi-store.js.map +1 -0
- package/dist/alphalib/types/robots/youtube-store.d.ts +477 -0
- package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/youtube-store.js +122 -0
- package/dist/alphalib/types/robots/youtube-store.js.map +1 -0
- package/dist/alphalib/types/stackVersions.d.ts +13 -0
- package/dist/alphalib/types/stackVersions.d.ts.map +1 -0
- package/dist/alphalib/types/stackVersions.js +13 -0
- package/dist/alphalib/types/stackVersions.js.map +1 -0
- package/dist/alphalib/types/template.d.ts +131710 -0
- package/dist/alphalib/types/template.d.ts.map +1 -0
- package/dist/alphalib/types/template.js +218 -0
- package/dist/alphalib/types/template.js.map +1 -0
- package/dist/alphalib/types/templateCredential.d.ts +95 -0
- package/dist/alphalib/types/templateCredential.d.ts.map +1 -0
- package/dist/alphalib/types/templateCredential.js +57 -0
- package/dist/alphalib/types/templateCredential.js.map +1 -0
- package/dist/alphalib/zodParseWithContext.d.ts +17 -0
- package/dist/alphalib/zodParseWithContext.d.ts.map +1 -0
- package/dist/alphalib/zodParseWithContext.js +248 -0
- package/dist/alphalib/zodParseWithContext.js.map +1 -0
- package/dist/apiTypes.d.ts +112 -0
- package/dist/apiTypes.d.ts.map +1 -0
- package/dist/apiTypes.js +3 -0
- package/dist/apiTypes.js.map +1 -0
- package/dist/cli/OutputCtl.d.ts +47 -0
- package/dist/cli/OutputCtl.d.ts.map +1 -0
- package/dist/cli/OutputCtl.js +85 -0
- package/dist/cli/OutputCtl.js.map +1 -0
- package/dist/cli/commands/BaseCommand.d.ts +24 -0
- package/dist/cli/commands/BaseCommand.d.ts.map +1 -0
- package/dist/cli/commands/BaseCommand.js +52 -0
- package/dist/cli/commands/BaseCommand.js.map +1 -0
- package/dist/cli/commands/assemblies.d.ts +93 -0
- package/dist/cli/commands/assemblies.d.ts.map +1 -0
- package/dist/cli/commands/assemblies.js +1021 -0
- package/dist/cli/commands/assemblies.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +28 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +280 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/bills.d.ts +14 -0
- package/dist/cli/commands/bills.d.ts.map +1 -0
- package/dist/cli/commands/bills.js +69 -0
- package/dist/cli/commands/bills.js.map +1 -0
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +39 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/notifications.d.ts +9 -0
- package/dist/cli/commands/notifications.d.ts.map +1 -0
- package/dist/cli/commands/notifications.js +44 -0
- package/dist/cli/commands/notifications.js.map +1 -0
- package/dist/cli/commands/templates.d.ts +73 -0
- package/dist/cli/commands/templates.d.ts.map +1 -0
- package/dist/cli/commands/templates.js +428 -0
- package/dist/cli/commands/templates.js.map +1 -0
- package/dist/cli/helpers.d.ts +13 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +39 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/template-last-modified.d.ts +10 -0
- package/dist/cli/template-last-modified.d.ts.map +1 -0
- package/dist/cli/template-last-modified.js +134 -0
- package/dist/cli/template-last-modified.js.map +1 -0
- package/dist/cli/types.d.ts +78 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +49 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +41 -0
- package/dist/cli.js.map +1 -0
- package/dist/tus.d.ts +18 -0
- package/dist/tus.d.ts.map +1 -0
- package/dist/tus.js +122 -0
- package/dist/tus.js.map +1 -0
- package/package.json +92 -0
- package/src/ApiError.ts +49 -0
- package/src/InconsistentResponseError.ts +3 -0
- package/src/PaginationStream.ts +54 -0
- package/src/PollingTimeoutError.ts +5 -0
- package/src/Transloadit.ts +980 -0
- package/src/alphalib/lib/nativeGlobby.ts +244 -0
- package/src/alphalib/mcache.ts +184 -0
- package/src/alphalib/tryCatch.ts +30 -0
- package/src/alphalib/types/assembliesGet.ts +42 -0
- package/src/alphalib/types/assemblyReplay.ts +24 -0
- package/src/alphalib/types/assemblyReplayNotification.ts +16 -0
- package/src/alphalib/types/assemblyStatus.ts +794 -0
- package/src/alphalib/types/bill.ts +9 -0
- package/src/alphalib/types/robots/_index.ts +1201 -0
- package/src/alphalib/types/robots/_instructions-primitives.ts +1770 -0
- package/src/alphalib/types/robots/ai-chat.ts +278 -0
- package/src/alphalib/types/robots/assembly-savejson.ts +37 -0
- package/src/alphalib/types/robots/audio-artwork.ts +107 -0
- package/src/alphalib/types/robots/audio-concat.ts +142 -0
- package/src/alphalib/types/robots/audio-encode.ts +103 -0
- package/src/alphalib/types/robots/audio-loop.ts +102 -0
- package/src/alphalib/types/robots/audio-merge.ts +137 -0
- package/src/alphalib/types/robots/audio-waveform.ts +280 -0
- package/src/alphalib/types/robots/azure-import.ts +111 -0
- package/src/alphalib/types/robots/azure-store.ts +143 -0
- package/src/alphalib/types/robots/backblaze-import.ts +119 -0
- package/src/alphalib/types/robots/backblaze-store.ts +104 -0
- package/src/alphalib/types/robots/cloudfiles-import.ts +118 -0
- package/src/alphalib/types/robots/cloudfiles-store.ts +104 -0
- package/src/alphalib/types/robots/cloudflare-import.ts +121 -0
- package/src/alphalib/types/robots/cloudflare-store.ts +120 -0
- package/src/alphalib/types/robots/digitalocean-import.ts +118 -0
- package/src/alphalib/types/robots/digitalocean-store.ts +125 -0
- package/src/alphalib/types/robots/document-autorotate.ts +74 -0
- package/src/alphalib/types/robots/document-convert.ts +302 -0
- package/src/alphalib/types/robots/document-merge.ts +114 -0
- package/src/alphalib/types/robots/document-ocr.ts +120 -0
- package/src/alphalib/types/robots/document-split.ts +78 -0
- package/src/alphalib/types/robots/document-thumbs.ts +231 -0
- package/src/alphalib/types/robots/dropbox-import.ts +100 -0
- package/src/alphalib/types/robots/dropbox-store.ts +97 -0
- package/src/alphalib/types/robots/edgly-deliver.ts +73 -0
- package/src/alphalib/types/robots/file-compress.ts +167 -0
- package/src/alphalib/types/robots/file-decompress.ts +125 -0
- package/src/alphalib/types/robots/file-filter.ts +173 -0
- package/src/alphalib/types/robots/file-hash.ts +86 -0
- package/src/alphalib/types/robots/file-preview.ts +260 -0
- package/src/alphalib/types/robots/file-read.ts +71 -0
- package/src/alphalib/types/robots/file-serve.ts +128 -0
- package/src/alphalib/types/robots/file-verify.ts +102 -0
- package/src/alphalib/types/robots/file-virusscan.ts +113 -0
- package/src/alphalib/types/robots/file-watermark.ts +56 -0
- package/src/alphalib/types/robots/ftp-import.ts +95 -0
- package/src/alphalib/types/robots/ftp-store.ts +119 -0
- package/src/alphalib/types/robots/google-import.ts +115 -0
- package/src/alphalib/types/robots/google-store.ts +139 -0
- package/src/alphalib/types/robots/html-convert.ts +165 -0
- package/src/alphalib/types/robots/http-import.ts +168 -0
- package/src/alphalib/types/robots/image-bgremove.ts +95 -0
- package/src/alphalib/types/robots/image-describe.ts +121 -0
- package/src/alphalib/types/robots/image-facedetect.ts +187 -0
- package/src/alphalib/types/robots/image-generate.ts +92 -0
- package/src/alphalib/types/robots/image-merge.ts +127 -0
- package/src/alphalib/types/robots/image-ocr.ts +112 -0
- package/src/alphalib/types/robots/image-optimize.ts +114 -0
- package/src/alphalib/types/robots/image-resize.ts +653 -0
- package/src/alphalib/types/robots/meta-read.ts +44 -0
- package/src/alphalib/types/robots/meta-write.ts +93 -0
- package/src/alphalib/types/robots/minio-import.ts +120 -0
- package/src/alphalib/types/robots/minio-store.ts +115 -0
- package/src/alphalib/types/robots/progress-simulate.ts +40 -0
- package/src/alphalib/types/robots/s3-import.ts +175 -0
- package/src/alphalib/types/robots/s3-store.ts +198 -0
- package/src/alphalib/types/robots/script-run.ts +122 -0
- package/src/alphalib/types/robots/sftp-import.ts +92 -0
- package/src/alphalib/types/robots/sftp-store.ts +110 -0
- package/src/alphalib/types/robots/speech-transcribe.ts +139 -0
- package/src/alphalib/types/robots/supabase-import.ts +122 -0
- package/src/alphalib/types/robots/supabase-store.ts +105 -0
- package/src/alphalib/types/robots/swift-import.ts +120 -0
- package/src/alphalib/types/robots/swift-store.ts +112 -0
- package/src/alphalib/types/robots/text-speak.ts +152 -0
- package/src/alphalib/types/robots/text-translate.ts +245 -0
- package/src/alphalib/types/robots/tigris-import.ts +124 -0
- package/src/alphalib/types/robots/tigris-store.ts +119 -0
- package/src/alphalib/types/robots/tlcdn-deliver.ts +73 -0
- package/src/alphalib/types/robots/tus-store.ts +129 -0
- package/src/alphalib/types/robots/upload-handle.ts +95 -0
- package/src/alphalib/types/robots/video-adaptive.ts +179 -0
- package/src/alphalib/types/robots/video-concat.ts +130 -0
- package/src/alphalib/types/robots/video-encode.ts +141 -0
- package/src/alphalib/types/robots/video-merge.ts +138 -0
- package/src/alphalib/types/robots/video-ondemand.ts +161 -0
- package/src/alphalib/types/robots/video-subtitle.ts +159 -0
- package/src/alphalib/types/robots/video-thumbs.ts +158 -0
- package/src/alphalib/types/robots/vimeo-import.ts +126 -0
- package/src/alphalib/types/robots/vimeo-store.ts +143 -0
- package/src/alphalib/types/robots/wasabi-import.ts +124 -0
- package/src/alphalib/types/robots/wasabi-store.ts +113 -0
- package/src/alphalib/types/robots/youtube-store.ts +153 -0
- package/src/alphalib/types/stackVersions.ts +12 -0
- package/src/alphalib/types/template.ts +277 -0
- package/src/alphalib/types/templateCredential.ts +61 -0
- package/src/alphalib/zodParseWithContext.ts +306 -0
- package/src/apiTypes.ts +154 -0
- package/src/cli/OutputCtl.ts +115 -0
- package/src/cli/commands/BaseCommand.ts +71 -0
- package/src/cli/commands/assemblies.ts +1373 -0
- package/src/cli/commands/auth.ts +354 -0
- package/src/cli/commands/bills.ts +91 -0
- package/src/cli/commands/index.ts +65 -0
- package/src/cli/commands/notifications.ts +63 -0
- package/src/cli/commands/templates.ts +556 -0
- package/src/cli/helpers.ts +50 -0
- package/src/cli/template-last-modified.ts +156 -0
- package/src/cli/types.ts +70 -0
- package/src/cli.ts +44 -0
- package/src/tus.ts +168 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import { interpolateRobot, robotBase, robotUse, s3Base } from './_instructions-primitives.ts'
|
|
5
|
+
|
|
6
|
+
export const meta: RobotMetaInput = {
|
|
7
|
+
allowed_for_url_transform: true,
|
|
8
|
+
bytescount: 10,
|
|
9
|
+
discount_factor: 0.1,
|
|
10
|
+
discount_pct: 90,
|
|
11
|
+
example_code: {
|
|
12
|
+
steps: {
|
|
13
|
+
exported: {
|
|
14
|
+
robot: '/s3/store',
|
|
15
|
+
use: ':original',
|
|
16
|
+
credentials: 'YOUR_AWS_CREDENTIALS',
|
|
17
|
+
path: 'my_target_folder/${unique_prefix}/${file.url_name}',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
example_code_description: 'Export uploaded files to `my_target_folder` in an S3 bucket:',
|
|
22
|
+
has_small_icon: true,
|
|
23
|
+
minimum_charge: 0,
|
|
24
|
+
output_factor: 1,
|
|
25
|
+
override_lvl1: 'File Exporting',
|
|
26
|
+
purpose_sentence: 'exports encoding results to Amazon S3',
|
|
27
|
+
purpose_verb: 'export',
|
|
28
|
+
purpose_word: 'Amazon S3',
|
|
29
|
+
purpose_words: 'Export files to Amazon S3',
|
|
30
|
+
service_slug: 'file-exporting',
|
|
31
|
+
slot_count: 2,
|
|
32
|
+
title: 'Export files to Amazon S3',
|
|
33
|
+
typical_file_size_mb: 1.2,
|
|
34
|
+
typical_file_type: 'file',
|
|
35
|
+
name: 'S3StoreRobot',
|
|
36
|
+
priceFactor: 10,
|
|
37
|
+
queueSlotCount: 2,
|
|
38
|
+
isAllowedForUrlTransform: true,
|
|
39
|
+
trackOutputFileSize: false,
|
|
40
|
+
isInternal: false,
|
|
41
|
+
stage: 'ga',
|
|
42
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const robotS3StoreInstructionsSchema = robotBase
|
|
46
|
+
.merge(robotUse)
|
|
47
|
+
.merge(s3Base)
|
|
48
|
+
.extend({
|
|
49
|
+
robot: z.literal('/s3/store').describe(`
|
|
50
|
+
If you are new to Amazon S3, see our tutorial on [using your own S3 bucket](/docs/faq/how-to-set-up-an-amazon-s3-bucket/).
|
|
51
|
+
|
|
52
|
+
The URL to the result file in your S3 bucket will be returned in the <dfn>Assembly Status JSON</dfn>. If your S3 bucket has versioning enabled, the version ID of the file will be returned within \`meta.version_id\`
|
|
53
|
+
|
|
54
|
+
> [!Warning]
|
|
55
|
+
> **Avoid permission errors.** By default, \`acl\` is set to \`"public"\`. AWS S3 has a bucket setting called "Block new public ACLs and uploading public objects". Set this to <strong>False</strong> in your bucket if you intend to leave \`acl\` as \`"public"\`. Otherwise, you’ll receive permission errors in your Assemblies despite your S3 credentials being configured correctly.
|
|
56
|
+
|
|
57
|
+
> [!Warning]
|
|
58
|
+
> **Use DNS-compliant bucket names.** Your bucket name [must be DNS-compliant](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) and must not contain uppercase letters. Any non-alphanumeric characters in the file names will be replaced with an underscore, and spaces will be replaced with dashes. If your existing S3 bucket contains uppercase letters or is otherwise not DNS-compliant, rewrite the result URLs using the <dfn>Robot</dfn>’s \`url_prefix\` parameter.
|
|
59
|
+
|
|
60
|
+
<span id="minimum-s3-iam-permissions" aria-hidden="true"></span>
|
|
61
|
+
|
|
62
|
+
## Limit access
|
|
63
|
+
|
|
64
|
+
You will also need to add permissions to your bucket so that Transloadit can access it properly. Here is an example IAM policy that you can use. Following the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege), it contains the **minimum required permissions** to export a file to your S3 bucket using Transloadit. You may require more permissions (especially viewing permissions) depending on your application.
|
|
65
|
+
|
|
66
|
+
Please change \`{BUCKET_NAME}\` in the values for \`Sid\` and \`Resource\` accordingly. Also, this policy will grant the minimum required permissions to all your users. We advise you to create a separate Amazon IAM user, and use its User ARN (can be found in the "Summary" tab of a user [here](https://console.aws.amazon.com/iam/home#users)) for the \`Principal\` value. More information about this can be found [here](https://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html).
|
|
67
|
+
|
|
68
|
+
\`\`\`json
|
|
69
|
+
{
|
|
70
|
+
"Version": "2012-10-17",
|
|
71
|
+
"Statement": [
|
|
72
|
+
{
|
|
73
|
+
"Sid": "AllowTransloaditToStoreFilesIn{BUCKET_NAME}Bucket",
|
|
74
|
+
"Effect": "Allow",
|
|
75
|
+
"Action": ["s3:GetBucketLocation", "s3:ListBucket", "s3:PutObject", "s3:PutObjectAcl"],
|
|
76
|
+
"Resource": ["arn:aws:s3:::{BUCKET_NAME}", "arn:aws:s3:::{BUCKET_NAME}/*"]
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
The \`Sid\` value is just an identifier for you to recognize the rule later. You can name it anything you like.
|
|
83
|
+
|
|
84
|
+
The policy needs to be separated into two parts, because the \`ListBucket\` action requires permissions on the bucket while the other actions require permissions on the objects in the bucket. When targeting the objects there's a trailing slash and an asterisk in the \`Resource\` parameter, whereas when the policy targets the bucket, the slash and the asterisk are omitted.
|
|
85
|
+
|
|
86
|
+
Please note that if you give the <dfn>Robot</dfn>'s \`acl\` parameter a value of \`"bucket-default"\`, then you do not need the \`"s3:PutObjectAcl"\` permission in your bucket policy.
|
|
87
|
+
|
|
88
|
+
In order to build proper result URLs we need to know the region in which your S3 bucket resides. For this we require the \`GetBucketLocation\` permission. Figuring out your bucket's region this way will also slow down your Assemblies. To make this much faster and to also not require the \`GetBucketLocation\` permission, we have added the \`bucket_region\` parameter to the /s3/store and /s3/import Robots. We recommend using them at all times.
|
|
89
|
+
|
|
90
|
+
Please keep in mind that if you use bucket encryption you may also need to add \`"sts:*"\` and \`"kms:*"\` to the bucket policy. Please read [here](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) and [here](https://aws.amazon.com/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/) in case you run into trouble with our example bucket policy.
|
|
91
|
+
`),
|
|
92
|
+
path: z
|
|
93
|
+
.string()
|
|
94
|
+
.default('${unique_prefix}/${file.url_name}')
|
|
95
|
+
.describe(`
|
|
96
|
+
The path at which the file is to be stored. This may include any available [Assembly variables](/docs/topics/assembly-instructions/#assembly-variables). The path must not be a directory.
|
|
97
|
+
`),
|
|
98
|
+
url_prefix: z
|
|
99
|
+
.string()
|
|
100
|
+
.default('http://{bucket}.s3.amazonaws.com/')
|
|
101
|
+
.describe(`
|
|
102
|
+
The URL prefix used for the returned URL, such as \`"http://my.cdn.com/some/path/"\`.
|
|
103
|
+
`),
|
|
104
|
+
acl: z
|
|
105
|
+
.enum(['bucket-default', 'private', 'public', 'public-read'])
|
|
106
|
+
.default('public-read')
|
|
107
|
+
.describe(`
|
|
108
|
+
The permissions used for this file.
|
|
109
|
+
|
|
110
|
+
Please keep in mind that the default value \`"public-read"\` can lead to permission errors due to the \`"Block all public access"\` checkbox that is checked by default when creating a new Amazon S3 Bucket in the AWS console.
|
|
111
|
+
`),
|
|
112
|
+
check_integrity: z
|
|
113
|
+
.boolean()
|
|
114
|
+
.default(false)
|
|
115
|
+
.describe(`
|
|
116
|
+
Calculate and submit the file's checksum in order for S3 to verify its integrity after uploading, which can help with occasional file corruption issues.
|
|
117
|
+
|
|
118
|
+
Enabling this option adds to the overall execution time, as integrity checking can be CPU intensive, especially for larger files.
|
|
119
|
+
`),
|
|
120
|
+
headers: z
|
|
121
|
+
.record(z.string())
|
|
122
|
+
.default({ 'Content-Type': '${file.mime}' })
|
|
123
|
+
.describe(`
|
|
124
|
+
An object containing a list of headers to be set for this file on S3, such as \`{ FileURL: "\${file.url_name}" }\`. This can also include any available [Assembly Variables](/docs/topics/assembly-instructions/#assembly-variables). You can find a list of available headers [here](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html).
|
|
125
|
+
|
|
126
|
+
Object Metadata can be specified using \`x-amz-meta-*\` headers. Note that these headers [do not support non-ASCII metadata values](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#UserMetadata).
|
|
127
|
+
`),
|
|
128
|
+
tags: z
|
|
129
|
+
.record(z.string())
|
|
130
|
+
.default({})
|
|
131
|
+
.describe(`
|
|
132
|
+
Object tagging allows you to categorize storage. You can associate up to 10 tags with an object. Tags that are associated with an object must have unique tag keys.
|
|
133
|
+
`),
|
|
134
|
+
host: z
|
|
135
|
+
.string()
|
|
136
|
+
.default('s3.amazonaws.com')
|
|
137
|
+
.describe(`
|
|
138
|
+
The host of the storage service used. This only needs to be set when the storage service used is not Amazon S3, but has a compatible API (such as hosteurope.de). The default protocol used is HTTP, for anything else the protocol needs to be explicitly specified. For example, prefix the host with \`https://\` or \`s3://\` to use either respective protocol.
|
|
139
|
+
`),
|
|
140
|
+
no_vhost: z
|
|
141
|
+
.boolean()
|
|
142
|
+
.default(false)
|
|
143
|
+
.describe(`
|
|
144
|
+
Set to \`true\` if you use a custom host and run into access denied errors.
|
|
145
|
+
`),
|
|
146
|
+
sign_urls_for: z
|
|
147
|
+
.number()
|
|
148
|
+
.int()
|
|
149
|
+
.min(0)
|
|
150
|
+
.optional()
|
|
151
|
+
.describe(`
|
|
152
|
+
This parameter provides signed URLs in the result JSON (in the \`signed_url\` and \`signed_ssl_url\` properties). The number that you set this parameter to is the URL expiry time in seconds. If this parameter is not used, no URL signing is done.
|
|
153
|
+
`),
|
|
154
|
+
session_token: z
|
|
155
|
+
.string()
|
|
156
|
+
.optional()
|
|
157
|
+
.describe(`
|
|
158
|
+
The session token to use for the S3 store. This is only used if the credentials are from an IAM user with the \`sts:AssumeRole\` permission.
|
|
159
|
+
`),
|
|
160
|
+
})
|
|
161
|
+
.strict()
|
|
162
|
+
|
|
163
|
+
export const robotS3StoreInstructionsWithHiddenFieldsSchema = robotS3StoreInstructionsSchema.extend(
|
|
164
|
+
{
|
|
165
|
+
result: z.union([z.literal('debug'), robotS3StoreInstructionsSchema.shape.result]).optional(),
|
|
166
|
+
skip_region_lookup: z
|
|
167
|
+
.boolean()
|
|
168
|
+
.optional()
|
|
169
|
+
.describe(`
|
|
170
|
+
Internal parameter to skip region lookup for testing purposes.
|
|
171
|
+
`),
|
|
172
|
+
},
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
export type RobotS3StoreInstructions = z.infer<typeof robotS3StoreInstructionsSchema>
|
|
176
|
+
export type RobotS3StoreInstructionsInput = z.input<typeof robotS3StoreInstructionsSchema>
|
|
177
|
+
export type RobotS3StoreInstructionsWithHiddenFields = z.infer<
|
|
178
|
+
typeof robotS3StoreInstructionsWithHiddenFieldsSchema
|
|
179
|
+
>
|
|
180
|
+
|
|
181
|
+
export const interpolatableRobotS3StoreInstructionsSchema = interpolateRobot(
|
|
182
|
+
robotS3StoreInstructionsSchema,
|
|
183
|
+
)
|
|
184
|
+
export type InterpolatableRobotS3StoreInstructions = InterpolatableRobotS3StoreInstructionsInput
|
|
185
|
+
|
|
186
|
+
export type InterpolatableRobotS3StoreInstructionsInput = z.input<
|
|
187
|
+
typeof interpolatableRobotS3StoreInstructionsSchema
|
|
188
|
+
>
|
|
189
|
+
|
|
190
|
+
export const interpolatableRobotS3StoreInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
191
|
+
robotS3StoreInstructionsWithHiddenFieldsSchema,
|
|
192
|
+
)
|
|
193
|
+
export type InterpolatableRobotS3StoreInstructionsWithHiddenFields = z.infer<
|
|
194
|
+
typeof interpolatableRobotS3StoreInstructionsWithHiddenFieldsSchema
|
|
195
|
+
>
|
|
196
|
+
export type InterpolatableRobotS3StoreInstructionsWithHiddenFieldsInput = z.input<
|
|
197
|
+
typeof interpolatableRobotS3StoreInstructionsWithHiddenFieldsSchema
|
|
198
|
+
>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
|
|
5
|
+
|
|
6
|
+
export const meta: RobotMetaInput = {
|
|
7
|
+
allowed_for_url_transform: true,
|
|
8
|
+
bytescount: 10,
|
|
9
|
+
discount_factor: 0.1,
|
|
10
|
+
discount_pct: 90,
|
|
11
|
+
minimum_charge: 0,
|
|
12
|
+
output_factor: 1,
|
|
13
|
+
override_lvl1: 'Code Evaluation',
|
|
14
|
+
purpose_sentence: 'runs scripts in Assemblies',
|
|
15
|
+
purpose_verb: 'run',
|
|
16
|
+
purpose_word: 'script',
|
|
17
|
+
purpose_words: 'Run scripts in Assemblies',
|
|
18
|
+
service_slug: 'code-evaluation',
|
|
19
|
+
slot_count: 5,
|
|
20
|
+
title: 'Run Scripts',
|
|
21
|
+
typical_file_size_mb: 0.0001,
|
|
22
|
+
typical_file_type: 'file',
|
|
23
|
+
name: 'ScriptRunRobot',
|
|
24
|
+
priceFactor: 10,
|
|
25
|
+
queueSlotCount: 5,
|
|
26
|
+
isAllowedForUrlTransform: true,
|
|
27
|
+
trackOutputFileSize: false,
|
|
28
|
+
isInternal: false,
|
|
29
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
30
|
+
stage: 'ga',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const robotScriptRunInstructionsSchema = robotBase
|
|
34
|
+
.merge(robotUse)
|
|
35
|
+
.extend({
|
|
36
|
+
robot: z.literal('/script/run').describe(`
|
|
37
|
+
This <dfn>Robot</dfn> allows you to run arbitrary \`JavaScript\` as part of the <dfn>Assembly</dfn>
|
|
38
|
+
execution process. The <dfn>Robot</dfn> is invoked automatically when there are <dfn>Assembly
|
|
39
|
+
Instructions</dfn> containing \`\${...}\`:
|
|
40
|
+
|
|
41
|
+
\`\`\`json
|
|
42
|
+
{
|
|
43
|
+
"robot": "/image/resize",
|
|
44
|
+
"width": "\${Math.max(file.meta.width, file.meta.height)}"
|
|
45
|
+
}
|
|
46
|
+
\`\`\`
|
|
47
|
+
|
|
48
|
+
You can also invoke this <dfn>Robot</dfn> directly, leaving out the \`\${...}\`:
|
|
49
|
+
|
|
50
|
+
\`\`\`json
|
|
51
|
+
{
|
|
52
|
+
"robot": "/script/run",
|
|
53
|
+
"script": "Math.max(file.meta.width, file.meta.height)"
|
|
54
|
+
}
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
When accessing arrays, the syntax is the same as in any JavaScript program:
|
|
58
|
+
|
|
59
|
+
\`\`\`json
|
|
60
|
+
{
|
|
61
|
+
"robot": "/image/resize",
|
|
62
|
+
"width": "\${file.meta.faces[0].width * 2}"
|
|
63
|
+
}
|
|
64
|
+
\`\`\`
|
|
65
|
+
|
|
66
|
+
Compared to only accessing an <dfn>Assembly Variable</dfn>:
|
|
67
|
+
|
|
68
|
+
\`\`\`json
|
|
69
|
+
{
|
|
70
|
+
"robot": "/image/resize",
|
|
71
|
+
"width": "\${file.meta.faces[0].width}"
|
|
72
|
+
}
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
For more information, see [Dynamic Evaluation](/docs/topics/dynamic-evaluation/).
|
|
76
|
+
`),
|
|
77
|
+
script: z.string().describe(`
|
|
78
|
+
A string of JavaScript to evaluate. It has access to all JavaScript features available in a modern browser environment.
|
|
79
|
+
|
|
80
|
+
The script is expected to return a \`JSON.stringify\`-able value in the same tick, so no \`await\` or callbacks are allowed (yet).
|
|
81
|
+
|
|
82
|
+
If the script does not finish within 1000ms it times out with an error. The return value or error is exported as \`file.meta.result\`. If there was an error, \`file.meta.isError\` is \`true\`. Note that the <dfn>Assembly</dfn> will not crash in this case. If you need it to crash, you can check this value with a [🤖/file/filter](/docs/robots/file-filter/) <dfn>Step</dfn>, setting \`error_on_decline\` to \`true\`.
|
|
83
|
+
|
|
84
|
+
You can check whether evaluating this script was free by inspecting \`file.meta.isFree\`. It is recommended to do this during development as to not see sudden unexpected costs in production.
|
|
85
|
+
`),
|
|
86
|
+
})
|
|
87
|
+
.strict()
|
|
88
|
+
|
|
89
|
+
export const robotScriptRunInstructionsWithHiddenFieldsSchema =
|
|
90
|
+
robotScriptRunInstructionsSchema.extend({
|
|
91
|
+
result: z.union([z.literal('debug'), robotScriptRunInstructionsSchema.shape.result]).optional(),
|
|
92
|
+
contextJSON: z
|
|
93
|
+
.string()
|
|
94
|
+
.optional()
|
|
95
|
+
.describe(`
|
|
96
|
+
A JSON string that provides additional context data to the script. This will be parsed and made available to the script as a \`context\` variable. For example, if you pass \`'{"foo":{"bar":"baz"}}'\`, the script can access \`context.foo.bar\` to get the value \`"baz"\`.
|
|
97
|
+
`),
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
export type RobotScriptRunInstructions = z.infer<typeof robotScriptRunInstructionsSchema>
|
|
101
|
+
export type RobotScriptRunInstructionsWithHiddenFields = z.infer<
|
|
102
|
+
typeof robotScriptRunInstructionsWithHiddenFieldsSchema
|
|
103
|
+
>
|
|
104
|
+
|
|
105
|
+
export const interpolatableRobotScriptRunInstructionsSchema = interpolateRobot(
|
|
106
|
+
robotScriptRunInstructionsSchema,
|
|
107
|
+
)
|
|
108
|
+
export type InterpolatableRobotScriptRunInstructions = InterpolatableRobotScriptRunInstructionsInput
|
|
109
|
+
|
|
110
|
+
export type InterpolatableRobotScriptRunInstructionsInput = z.input<
|
|
111
|
+
typeof interpolatableRobotScriptRunInstructionsSchema
|
|
112
|
+
>
|
|
113
|
+
|
|
114
|
+
export const interpolatableRobotScriptRunInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
115
|
+
robotScriptRunInstructionsWithHiddenFieldsSchema,
|
|
116
|
+
)
|
|
117
|
+
export type InterpolatableRobotScriptRunInstructionsWithHiddenFields = z.infer<
|
|
118
|
+
typeof interpolatableRobotScriptRunInstructionsWithHiddenFieldsSchema
|
|
119
|
+
>
|
|
120
|
+
export type InterpolatableRobotScriptRunInstructionsWithHiddenFieldsInput = z.input<
|
|
121
|
+
typeof interpolatableRobotScriptRunInstructionsWithHiddenFieldsSchema
|
|
122
|
+
>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import { interpolateRobot, robotBase, robotImport, sftpBase } from './_instructions-primitives.ts'
|
|
5
|
+
|
|
6
|
+
export const meta: RobotMetaInput = {
|
|
7
|
+
allowed_for_url_transform: true,
|
|
8
|
+
bytescount: 10,
|
|
9
|
+
discount_factor: 0.1,
|
|
10
|
+
discount_pct: 90,
|
|
11
|
+
example_code: {
|
|
12
|
+
steps: {
|
|
13
|
+
imported: {
|
|
14
|
+
robot: '/sftp/import',
|
|
15
|
+
credentials: 'YOUR_SFTP_CREDENTIALS',
|
|
16
|
+
path: 'path/to/files/',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
example_code_description:
|
|
21
|
+
'Import files from the `path/to/files` directory and its subdirectories:',
|
|
22
|
+
minimum_charge: 0,
|
|
23
|
+
output_factor: 1,
|
|
24
|
+
override_lvl1: 'File Importing',
|
|
25
|
+
purpose_sentence:
|
|
26
|
+
'imports whole libraries of files from your SFTP servers into Transloadit. This Robot relies on public key authentication',
|
|
27
|
+
purpose_verb: 'import',
|
|
28
|
+
purpose_word: 'SFTP servers',
|
|
29
|
+
purpose_words: 'Import files from SFTP servers',
|
|
30
|
+
service_slug: 'file-importing',
|
|
31
|
+
slot_count: 20,
|
|
32
|
+
title: 'Import files from SFTP servers',
|
|
33
|
+
typical_file_size_mb: 1.2,
|
|
34
|
+
typical_file_type: 'file',
|
|
35
|
+
name: 'SftpImportRobot',
|
|
36
|
+
priceFactor: 6.6666,
|
|
37
|
+
queueSlotCount: 20,
|
|
38
|
+
isAllowedForUrlTransform: true,
|
|
39
|
+
trackOutputFileSize: false,
|
|
40
|
+
isInternal: false,
|
|
41
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: true,
|
|
42
|
+
stage: 'ga',
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const robotSftpImportInstructionsSchema = robotBase
|
|
46
|
+
.merge(robotImport)
|
|
47
|
+
.merge(sftpBase)
|
|
48
|
+
.extend({
|
|
49
|
+
robot: z.literal('/sftp/import'),
|
|
50
|
+
path: z.string().describe(`
|
|
51
|
+
The path on your SFTP server where to search for files.
|
|
52
|
+
`),
|
|
53
|
+
})
|
|
54
|
+
.strict()
|
|
55
|
+
|
|
56
|
+
export const robotSftpImportInstructionsWithHiddenFieldsSchema =
|
|
57
|
+
robotSftpImportInstructionsSchema.extend({
|
|
58
|
+
result: z
|
|
59
|
+
.union([z.literal('debug'), robotSftpImportInstructionsSchema.shape.result])
|
|
60
|
+
.optional(),
|
|
61
|
+
allowNetwork: z
|
|
62
|
+
.string()
|
|
63
|
+
.optional()
|
|
64
|
+
.describe(`
|
|
65
|
+
Network access permission for the SFTP connection. This is used to control which networks the SFTP robot can access.
|
|
66
|
+
`),
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
export type RobotSftpImportInstructions = z.infer<typeof robotSftpImportInstructionsSchema>
|
|
70
|
+
export type RobotSftpImportInstructionsWithHiddenFields = z.infer<
|
|
71
|
+
typeof robotSftpImportInstructionsWithHiddenFieldsSchema
|
|
72
|
+
>
|
|
73
|
+
|
|
74
|
+
export const interpolatableRobotSftpImportInstructionsSchema = interpolateRobot(
|
|
75
|
+
robotSftpImportInstructionsSchema,
|
|
76
|
+
)
|
|
77
|
+
export type InterpolatableRobotSftpImportInstructions =
|
|
78
|
+
InterpolatableRobotSftpImportInstructionsInput
|
|
79
|
+
|
|
80
|
+
export type InterpolatableRobotSftpImportInstructionsInput = z.input<
|
|
81
|
+
typeof interpolatableRobotSftpImportInstructionsSchema
|
|
82
|
+
>
|
|
83
|
+
|
|
84
|
+
export const interpolatableRobotSftpImportInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
85
|
+
robotSftpImportInstructionsWithHiddenFieldsSchema,
|
|
86
|
+
)
|
|
87
|
+
export type InterpolatableRobotSftpImportInstructionsWithHiddenFields = z.infer<
|
|
88
|
+
typeof interpolatableRobotSftpImportInstructionsWithHiddenFieldsSchema
|
|
89
|
+
>
|
|
90
|
+
export type InterpolatableRobotSftpImportInstructionsWithHiddenFieldsInput = z.input<
|
|
91
|
+
typeof interpolatableRobotSftpImportInstructionsWithHiddenFieldsSchema
|
|
92
|
+
>
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import { interpolateRobot, robotBase, robotUse, sftpBase } from './_instructions-primitives.ts'
|
|
5
|
+
|
|
6
|
+
export const meta: RobotMetaInput = {
|
|
7
|
+
allowed_for_url_transform: true,
|
|
8
|
+
bytescount: 6,
|
|
9
|
+
discount_factor: 0.15000150001500018,
|
|
10
|
+
discount_pct: 84.99984999849998,
|
|
11
|
+
example_code: {
|
|
12
|
+
steps: {
|
|
13
|
+
exported: {
|
|
14
|
+
robot: '/sftp/store',
|
|
15
|
+
use: ':original',
|
|
16
|
+
credentials: 'YOUR_SFTP_CREDENTIALS',
|
|
17
|
+
path: 'my_target_folder/${unique_prefix}/${file.url_name}',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
example_code_description: 'Export uploaded files to `my_target_folder` on an SFTP server:',
|
|
22
|
+
minimum_charge: 0,
|
|
23
|
+
output_factor: 1,
|
|
24
|
+
override_lvl1: 'File Exporting',
|
|
25
|
+
purpose_sentence: 'exports encoding results to your own SFTP server',
|
|
26
|
+
purpose_verb: 'export',
|
|
27
|
+
purpose_word: 'SFTP servers',
|
|
28
|
+
purpose_words: 'Export files to SFTP servers',
|
|
29
|
+
service_slug: 'file-exporting',
|
|
30
|
+
slot_count: 10,
|
|
31
|
+
title: 'Export files to SFTP servers',
|
|
32
|
+
typical_file_size_mb: 1.2,
|
|
33
|
+
typical_file_type: 'file',
|
|
34
|
+
name: 'SftpStoreRobot',
|
|
35
|
+
priceFactor: 6.6666,
|
|
36
|
+
queueSlotCount: 10,
|
|
37
|
+
isAllowedForUrlTransform: true,
|
|
38
|
+
trackOutputFileSize: false,
|
|
39
|
+
isInternal: false,
|
|
40
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
41
|
+
stage: 'ga',
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export const robotSftpStoreInstructionsSchema = robotBase
|
|
45
|
+
.merge(robotUse)
|
|
46
|
+
.merge(sftpBase)
|
|
47
|
+
.extend({
|
|
48
|
+
robot: z.literal('/sftp/store'),
|
|
49
|
+
path: z
|
|
50
|
+
.string()
|
|
51
|
+
.default('${unique_prefix}/${file.url_name}')
|
|
52
|
+
.describe(`
|
|
53
|
+
The path at which the file is to be stored. This may include any available [Assembly variables](/docs/topics/assembly-instructions/#assembly-variables).
|
|
54
|
+
`),
|
|
55
|
+
url_template: z
|
|
56
|
+
.string()
|
|
57
|
+
.default('http://host/path')
|
|
58
|
+
.describe(`
|
|
59
|
+
The URL of the file in the result JSON. This may include any of the following supported [Assembly variables](/docs/topics/assembly-instructions/#assembly-variables).
|
|
60
|
+
`),
|
|
61
|
+
ssl_url_template: z
|
|
62
|
+
.string()
|
|
63
|
+
.default('https://{HOST}/{PATH}')
|
|
64
|
+
.describe(`
|
|
65
|
+
The SSL URL of the file in the result JSON. The following [Assembly variables](/docs/topics/assembly-instructions/#assembly-variables) are supported.
|
|
66
|
+
`),
|
|
67
|
+
file_chmod: z
|
|
68
|
+
.string()
|
|
69
|
+
.regex(/([0-7]{3}|auto)/)
|
|
70
|
+
.default('auto')
|
|
71
|
+
.describe(`
|
|
72
|
+
This optional parameter controls how an uploaded file's permission bits are set. You can use any string format that the \`chmod\` command would accept, such as \`"755"\`. If you don't specify this option, the file's permission bits aren't changed at all, meaning it's up to your server's configuration (e.g. umask).
|
|
73
|
+
`),
|
|
74
|
+
})
|
|
75
|
+
.strict()
|
|
76
|
+
|
|
77
|
+
export const robotSftpStoreInstructionsWithHiddenFieldsSchema =
|
|
78
|
+
robotSftpStoreInstructionsSchema.extend({
|
|
79
|
+
result: z.union([z.literal('debug'), robotSftpStoreInstructionsSchema.shape.result]).optional(),
|
|
80
|
+
allowNetwork: z
|
|
81
|
+
.string()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe(`
|
|
84
|
+
Network access permission for the SFTP connection. This is used to control which networks the SFTP robot can access.
|
|
85
|
+
`),
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
export type RobotSftpStoreInstructions = z.infer<typeof robotSftpStoreInstructionsSchema>
|
|
89
|
+
export type RobotSftpStoreInstructionsWithHiddenFields = z.infer<
|
|
90
|
+
typeof robotSftpStoreInstructionsWithHiddenFieldsSchema
|
|
91
|
+
>
|
|
92
|
+
|
|
93
|
+
export const interpolatableRobotSftpStoreInstructionsSchema = interpolateRobot(
|
|
94
|
+
robotSftpStoreInstructionsSchema,
|
|
95
|
+
)
|
|
96
|
+
export type InterpolatableRobotSftpStoreInstructions = InterpolatableRobotSftpStoreInstructionsInput
|
|
97
|
+
|
|
98
|
+
export type InterpolatableRobotSftpStoreInstructionsInput = z.input<
|
|
99
|
+
typeof interpolatableRobotSftpStoreInstructionsSchema
|
|
100
|
+
>
|
|
101
|
+
|
|
102
|
+
export const interpolatableRobotSftpStoreInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
103
|
+
robotSftpStoreInstructionsWithHiddenFieldsSchema,
|
|
104
|
+
)
|
|
105
|
+
export type InterpolatableRobotSftpStoreInstructionsWithHiddenFields = z.infer<
|
|
106
|
+
typeof interpolatableRobotSftpStoreInstructionsWithHiddenFieldsSchema
|
|
107
|
+
>
|
|
108
|
+
export type InterpolatableRobotSftpStoreInstructionsWithHiddenFieldsInput = z.input<
|
|
109
|
+
typeof interpolatableRobotSftpStoreInstructionsWithHiddenFieldsSchema
|
|
110
|
+
>
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import {
|
|
5
|
+
aiProviderSchema,
|
|
6
|
+
granularitySchema,
|
|
7
|
+
interpolateRobot,
|
|
8
|
+
robotBase,
|
|
9
|
+
robotUse,
|
|
10
|
+
} from './_instructions-primitives.ts'
|
|
11
|
+
|
|
12
|
+
export const meta: RobotMetaInput = {
|
|
13
|
+
allowed_for_url_transform: true,
|
|
14
|
+
bytescount: 1,
|
|
15
|
+
discount_factor: 1,
|
|
16
|
+
discount_pct: 0,
|
|
17
|
+
example_code: {
|
|
18
|
+
steps: {
|
|
19
|
+
transcribed: {
|
|
20
|
+
robot: '/speech/transcribe',
|
|
21
|
+
use: ':original',
|
|
22
|
+
provider: 'aws',
|
|
23
|
+
source_language: 'fr-FR',
|
|
24
|
+
format: 'text',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
example_code_description:
|
|
29
|
+
'Transcribe speech in French from uploaded audio or video, and save it to a text file:',
|
|
30
|
+
extended_description: `
|
|
31
|
+
> [!Warning]
|
|
32
|
+
> Transloadit aims to be deterministic, but this <dfn>Robot</dfn> uses third-party AI services. The providers (AWS, GCP) will evolve their models over time, giving different responses for the same input media. Avoid relying on exact responses in your tests and application.
|
|
33
|
+
`,
|
|
34
|
+
minimum_charge: 1048576,
|
|
35
|
+
output_factor: 0.05,
|
|
36
|
+
override_lvl1: 'Artificial Intelligence',
|
|
37
|
+
purpose_sentence: 'transcribes speech in audio or video files',
|
|
38
|
+
purpose_verb: 'transcribe',
|
|
39
|
+
purpose_word: 'transcribe speech',
|
|
40
|
+
purpose_words: 'Transcribe speech in audio or video files',
|
|
41
|
+
service_slug: 'artificial-intelligence',
|
|
42
|
+
slot_count: 10,
|
|
43
|
+
title: 'Transcribe speech in audio or video files',
|
|
44
|
+
typical_file_size_mb: 2.4,
|
|
45
|
+
typical_file_type: 'audio or video file',
|
|
46
|
+
name: 'SpeechTranscribeRobot',
|
|
47
|
+
priceFactor: 1,
|
|
48
|
+
queueSlotCount: 10,
|
|
49
|
+
minimumChargeUsdPerSpeechTranscribeMinute: {
|
|
50
|
+
aws: 0.024,
|
|
51
|
+
gcp: 0.016,
|
|
52
|
+
},
|
|
53
|
+
isAllowedForUrlTransform: true,
|
|
54
|
+
trackOutputFileSize: true,
|
|
55
|
+
isInternal: false,
|
|
56
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
57
|
+
stage: 'ga',
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const robotSpeechTranscribeInstructionsSchema = robotBase
|
|
61
|
+
.merge(robotUse)
|
|
62
|
+
.extend({
|
|
63
|
+
robot: z.literal('/speech/transcribe').describe(`
|
|
64
|
+
You can use the text that we return in your application, or you can pass the text down to other <dfn>Robots</dfn> to filter audio or video files that contain (or do not contain) certain content, or burn the text into images or video for example.
|
|
65
|
+
|
|
66
|
+
Another common use case is automatically subtitling videos, or making audio searchable.
|
|
67
|
+
`),
|
|
68
|
+
provider: aiProviderSchema.describe(`
|
|
69
|
+
Which AI provider to leverage.
|
|
70
|
+
|
|
71
|
+
Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
|
|
72
|
+
`),
|
|
73
|
+
granularity: granularitySchema.describe(`
|
|
74
|
+
Whether to return a full response (\`"full"\`), or a flat list of descriptions (\`"list"\`).
|
|
75
|
+
`),
|
|
76
|
+
format: z
|
|
77
|
+
.enum(['json', 'meta', 'srt', 'meta', 'text', 'webvtt'])
|
|
78
|
+
.default('json')
|
|
79
|
+
.describe(`
|
|
80
|
+
Output format for the transcription.
|
|
81
|
+
|
|
82
|
+
- \`"text"\` outputs a plain text file that you can store and process.
|
|
83
|
+
- \`"json"\` outputs a JSON file containing timestamped words.
|
|
84
|
+
- \`"srt"\` and \`"webvtt"\` output subtitle files of those respective file types, which can be stored separately or used in other encoding <dfn>Steps</dfn>.
|
|
85
|
+
- \`"meta"\` does not return a file, but stores the data inside Transloadit's file object (under \`\${file.meta.transcription.text}\`) that's passed around between encoding <dfn>Steps</dfn>, so that you can use the values to burn the data into videos, filter on them, etc.
|
|
86
|
+
`),
|
|
87
|
+
// TODO determine the list of languages
|
|
88
|
+
source_language: z
|
|
89
|
+
.string()
|
|
90
|
+
.default('en-US')
|
|
91
|
+
.describe(`
|
|
92
|
+
The spoken language of the audio or video. This will also be the language of the transcribed text.
|
|
93
|
+
|
|
94
|
+
The language should be specified in the [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) format, such as \`"en-GB"\`, \`"de-DE"\` or \`"fr-FR"\`. Please also consult the list of supported languages for [the \`gcp\` provider](https://cloud.google.com/speech-to-text/docs/languages) and the [the \`aws\` provider](https://docs.aws.amazon.com/transcribe/latest/dg/what-is-transcribe.html).
|
|
95
|
+
`),
|
|
96
|
+
// TODO determine the list of languages
|
|
97
|
+
target_language: z
|
|
98
|
+
.string()
|
|
99
|
+
.default('en-US')
|
|
100
|
+
.describe(`
|
|
101
|
+
This will also be the language of the written text.
|
|
102
|
+
|
|
103
|
+
The language should be specified in the [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) format, such as \`"en-GB"\`, \`"de-DE"\` or \`"fr-FR"\`. Please consult the list of supported languages and voices.
|
|
104
|
+
`),
|
|
105
|
+
})
|
|
106
|
+
.strict()
|
|
107
|
+
|
|
108
|
+
export const robotSpeechTranscribeInstructionsWithHiddenFieldsSchema =
|
|
109
|
+
robotSpeechTranscribeInstructionsSchema.extend({
|
|
110
|
+
result: z
|
|
111
|
+
.union([z.literal('debug'), robotSpeechTranscribeInstructionsSchema.shape.result])
|
|
112
|
+
.optional(),
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
export type RobotSpeechTranscribeInstructions = z.infer<
|
|
116
|
+
typeof robotSpeechTranscribeInstructionsSchema
|
|
117
|
+
>
|
|
118
|
+
export type RobotSpeechTranscribeInstructionsWithHiddenFields = z.infer<
|
|
119
|
+
typeof robotSpeechTranscribeInstructionsWithHiddenFieldsSchema
|
|
120
|
+
>
|
|
121
|
+
|
|
122
|
+
export const interpolatableRobotSpeechTranscribeInstructionsSchema = interpolateRobot(
|
|
123
|
+
robotSpeechTranscribeInstructionsSchema,
|
|
124
|
+
)
|
|
125
|
+
export type InterpolatableRobotSpeechTranscribeInstructions =
|
|
126
|
+
InterpolatableRobotSpeechTranscribeInstructionsInput
|
|
127
|
+
|
|
128
|
+
export type InterpolatableRobotSpeechTranscribeInstructionsInput = z.input<
|
|
129
|
+
typeof interpolatableRobotSpeechTranscribeInstructionsSchema
|
|
130
|
+
>
|
|
131
|
+
|
|
132
|
+
export const interpolatableRobotSpeechTranscribeInstructionsWithHiddenFieldsSchema =
|
|
133
|
+
interpolateRobot(robotSpeechTranscribeInstructionsWithHiddenFieldsSchema)
|
|
134
|
+
export type InterpolatableRobotSpeechTranscribeInstructionsWithHiddenFields = z.infer<
|
|
135
|
+
typeof interpolatableRobotSpeechTranscribeInstructionsWithHiddenFieldsSchema
|
|
136
|
+
>
|
|
137
|
+
export type InterpolatableRobotSpeechTranscribeInstructionsWithHiddenFieldsInput = z.input<
|
|
138
|
+
typeof interpolatableRobotSpeechTranscribeInstructionsWithHiddenFieldsSchema
|
|
139
|
+
>
|