transloadit 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +11 -0
  3. package/dist/Transloadit.d.ts +1 -1
  4. package/dist/Transloadit.d.ts.map +1 -1
  5. package/dist/Transloadit.js.map +1 -1
  6. package/dist/alphalib/types/assemblyReplay.d.ts +32 -28
  7. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  8. package/dist/alphalib/types/assemblyReplayNotification.d.ts +32 -28
  9. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
  10. package/dist/alphalib/types/assemblyStatus.d.ts +1 -0
  11. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  12. package/dist/alphalib/types/assemblyStatus.js +12 -0
  13. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  14. package/dist/alphalib/types/robots/_index.d.ts +312 -288
  15. package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
  16. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +22 -22
  17. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  18. package/dist/alphalib/types/robots/_instructions-primitives.js +19 -10
  19. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  20. package/dist/alphalib/types/robots/assembly-savejson.d.ts +1 -1
  21. package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -1
  22. package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -1
  23. package/dist/alphalib/types/robots/audio-artwork.d.ts +20 -20
  24. package/dist/alphalib/types/robots/audio-concat.d.ts +20 -20
  25. package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -1
  26. package/dist/alphalib/types/robots/audio-concat.js +2 -2
  27. package/dist/alphalib/types/robots/audio-concat.js.map +1 -1
  28. package/dist/alphalib/types/robots/audio-encode.d.ts +20 -20
  29. package/dist/alphalib/types/robots/audio-encode.js +1 -1
  30. package/dist/alphalib/types/robots/audio-loop.d.ts +20 -20
  31. package/dist/alphalib/types/robots/audio-merge.d.ts +20 -20
  32. package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -1
  33. package/dist/alphalib/types/robots/audio-merge.js +1 -1
  34. package/dist/alphalib/types/robots/audio-merge.js.map +1 -1
  35. package/dist/alphalib/types/robots/audio-waveform.d.ts +20 -20
  36. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
  37. package/dist/alphalib/types/robots/audio-waveform.js +1 -1
  38. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
  39. package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -1
  40. package/dist/alphalib/types/robots/azure-import.js +1 -1
  41. package/dist/alphalib/types/robots/azure-import.js.map +1 -1
  42. package/dist/alphalib/types/robots/azure-store.js +1 -1
  43. package/dist/alphalib/types/robots/azure-store.js.map +1 -1
  44. package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -1
  45. package/dist/alphalib/types/robots/backblaze-import.js +1 -1
  46. package/dist/alphalib/types/robots/backblaze-import.js.map +1 -1
  47. package/dist/alphalib/types/robots/backblaze-store.js +1 -1
  48. package/dist/alphalib/types/robots/backblaze-store.js.map +1 -1
  49. package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -1
  50. package/dist/alphalib/types/robots/cloudfiles-import.js +1 -1
  51. package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -1
  52. package/dist/alphalib/types/robots/cloudfiles-store.js +1 -1
  53. package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -1
  54. package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -1
  55. package/dist/alphalib/types/robots/cloudflare-import.js +1 -1
  56. package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -1
  57. package/dist/alphalib/types/robots/cloudflare-store.js +1 -1
  58. package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -1
  59. package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -1
  60. package/dist/alphalib/types/robots/digitalocean-import.js +1 -1
  61. package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -1
  62. package/dist/alphalib/types/robots/digitalocean-store.js +1 -1
  63. package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -1
  64. package/dist/alphalib/types/robots/document-thumbs.js +1 -1
  65. package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -1
  66. package/dist/alphalib/types/robots/dropbox-import.js +1 -1
  67. package/dist/alphalib/types/robots/dropbox-import.js.map +1 -1
  68. package/dist/alphalib/types/robots/dropbox-store.js +1 -1
  69. package/dist/alphalib/types/robots/dropbox-store.js.map +1 -1
  70. package/dist/alphalib/types/robots/edgly-deliver.d.ts +1 -1
  71. package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -1
  72. package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -1
  73. package/dist/alphalib/types/robots/file-decompress.d.ts +12 -0
  74. package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -1
  75. package/dist/alphalib/types/robots/file-decompress.js +9 -0
  76. package/dist/alphalib/types/robots/file-decompress.js.map +1 -1
  77. package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -1
  78. package/dist/alphalib/types/robots/file-serve.js +33 -5
  79. package/dist/alphalib/types/robots/file-serve.js.map +1 -1
  80. package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -1
  81. package/dist/alphalib/types/robots/file-verify.js +1 -1
  82. package/dist/alphalib/types/robots/file-verify.js.map +1 -1
  83. package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -1
  84. package/dist/alphalib/types/robots/ftp-import.js +1 -1
  85. package/dist/alphalib/types/robots/ftp-import.js.map +1 -1
  86. package/dist/alphalib/types/robots/ftp-store.js +1 -1
  87. package/dist/alphalib/types/robots/ftp-store.js.map +1 -1
  88. package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
  89. package/dist/alphalib/types/robots/google-import.js +1 -1
  90. package/dist/alphalib/types/robots/google-import.js.map +1 -1
  91. package/dist/alphalib/types/robots/google-store.js +2 -2
  92. package/dist/alphalib/types/robots/google-store.js.map +1 -1
  93. package/dist/alphalib/types/robots/meta-read.d.ts +1 -1
  94. package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -1
  95. package/dist/alphalib/types/robots/meta-read.js +1 -1
  96. package/dist/alphalib/types/robots/meta-read.js.map +1 -1
  97. package/dist/alphalib/types/robots/meta-write.d.ts +20 -20
  98. package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -1
  99. package/dist/alphalib/types/robots/minio-import.js +1 -1
  100. package/dist/alphalib/types/robots/minio-import.js.map +1 -1
  101. package/dist/alphalib/types/robots/minio-store.js +1 -1
  102. package/dist/alphalib/types/robots/minio-store.js.map +1 -1
  103. package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -1
  104. package/dist/alphalib/types/robots/s3-import.js +1 -1
  105. package/dist/alphalib/types/robots/s3-import.js.map +1 -1
  106. package/dist/alphalib/types/robots/s3-store.d.ts +12 -0
  107. package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
  108. package/dist/alphalib/types/robots/s3-store.js +7 -1
  109. package/dist/alphalib/types/robots/s3-store.js.map +1 -1
  110. package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -1
  111. package/dist/alphalib/types/robots/sftp-import.js +1 -1
  112. package/dist/alphalib/types/robots/sftp-import.js.map +1 -1
  113. package/dist/alphalib/types/robots/sftp-store.js +1 -1
  114. package/dist/alphalib/types/robots/sftp-store.js.map +1 -1
  115. package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -1
  116. package/dist/alphalib/types/robots/supabase-import.js +1 -1
  117. package/dist/alphalib/types/robots/supabase-import.js.map +1 -1
  118. package/dist/alphalib/types/robots/supabase-store.js +1 -1
  119. package/dist/alphalib/types/robots/supabase-store.js.map +1 -1
  120. package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -1
  121. package/dist/alphalib/types/robots/swift-import.js +1 -1
  122. package/dist/alphalib/types/robots/swift-import.js.map +1 -1
  123. package/dist/alphalib/types/robots/swift-store.js +1 -1
  124. package/dist/alphalib/types/robots/swift-store.js.map +1 -1
  125. package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -1
  126. package/dist/alphalib/types/robots/tigris-import.js +2 -2
  127. package/dist/alphalib/types/robots/tigris-import.js.map +1 -1
  128. package/dist/alphalib/types/robots/tigris-store.js +2 -2
  129. package/dist/alphalib/types/robots/tigris-store.js.map +1 -1
  130. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts +1 -1
  131. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -1
  132. package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -1
  133. package/dist/alphalib/types/robots/video-adaptive.d.ts +20 -20
  134. package/dist/alphalib/types/robots/video-concat.d.ts +20 -20
  135. package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -1
  136. package/dist/alphalib/types/robots/video-concat.js +1 -1
  137. package/dist/alphalib/types/robots/video-concat.js.map +1 -1
  138. package/dist/alphalib/types/robots/video-encode.d.ts +20 -20
  139. package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
  140. package/dist/alphalib/types/robots/video-encode.js +49 -1
  141. package/dist/alphalib/types/robots/video-encode.js.map +1 -1
  142. package/dist/alphalib/types/robots/video-merge.d.ts +20 -20
  143. package/dist/alphalib/types/robots/video-ondemand.d.ts +28 -28
  144. package/dist/alphalib/types/robots/video-subtitle.d.ts +20 -20
  145. package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
  146. package/dist/alphalib/types/robots/video-subtitle.js +1 -1
  147. package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
  148. package/dist/alphalib/types/robots/video-thumbs.d.ts +20 -20
  149. package/dist/alphalib/types/robots/vimeo-import.js +1 -1
  150. package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -1
  151. package/dist/alphalib/types/robots/wasabi-import.js +2 -2
  152. package/dist/alphalib/types/robots/wasabi-import.js.map +1 -1
  153. package/dist/alphalib/types/robots/wasabi-store.js +1 -1
  154. package/dist/alphalib/types/robots/wasabi-store.js.map +1 -1
  155. package/dist/alphalib/types/template.d.ts +564 -516
  156. package/dist/alphalib/types/template.d.ts.map +1 -1
  157. package/dist/alphalib/zodParseWithContext.d.ts.map +1 -1
  158. package/dist/alphalib/zodParseWithContext.js +14 -10
  159. package/dist/alphalib/zodParseWithContext.js.map +1 -1
  160. package/dist/apiTypes.d.ts +1 -1
  161. package/dist/apiTypes.d.ts.map +1 -1
  162. package/dist/apiTypes.js.map +1 -1
  163. package/dist/cli.d.ts +7 -0
  164. package/dist/cli.d.ts.map +1 -0
  165. package/dist/cli.js +130 -0
  166. package/dist/cli.js.map +1 -0
  167. package/package.json +4 -3
  168. package/src/Transloadit.ts +1 -8
  169. package/src/alphalib/types/assemblyStatus.ts +18 -0
  170. package/src/alphalib/types/robots/_instructions-primitives.ts +26 -10
  171. package/src/alphalib/types/robots/assembly-savejson.ts +2 -2
  172. package/src/alphalib/types/robots/audio-concat.ts +3 -2
  173. package/src/alphalib/types/robots/audio-encode.ts +1 -1
  174. package/src/alphalib/types/robots/audio-merge.ts +2 -1
  175. package/src/alphalib/types/robots/audio-waveform.ts +2 -1
  176. package/src/alphalib/types/robots/azure-import.ts +2 -1
  177. package/src/alphalib/types/robots/azure-store.ts +1 -1
  178. package/src/alphalib/types/robots/backblaze-import.ts +2 -1
  179. package/src/alphalib/types/robots/backblaze-store.ts +1 -1
  180. package/src/alphalib/types/robots/cloudfiles-import.ts +2 -1
  181. package/src/alphalib/types/robots/cloudfiles-store.ts +1 -1
  182. package/src/alphalib/types/robots/cloudflare-import.ts +2 -1
  183. package/src/alphalib/types/robots/cloudflare-store.ts +1 -1
  184. package/src/alphalib/types/robots/digitalocean-import.ts +2 -1
  185. package/src/alphalib/types/robots/digitalocean-store.ts +1 -1
  186. package/src/alphalib/types/robots/document-thumbs.ts +1 -1
  187. package/src/alphalib/types/robots/dropbox-import.ts +2 -1
  188. package/src/alphalib/types/robots/dropbox-store.ts +1 -1
  189. package/src/alphalib/types/robots/edgly-deliver.ts +2 -2
  190. package/src/alphalib/types/robots/file-decompress.ts +9 -0
  191. package/src/alphalib/types/robots/file-serve.ts +33 -5
  192. package/src/alphalib/types/robots/file-verify.ts +2 -1
  193. package/src/alphalib/types/robots/ftp-import.ts +2 -1
  194. package/src/alphalib/types/robots/ftp-store.ts +1 -1
  195. package/src/alphalib/types/robots/google-import.ts +2 -1
  196. package/src/alphalib/types/robots/google-store.ts +2 -2
  197. package/src/alphalib/types/robots/meta-read.ts +3 -3
  198. package/src/alphalib/types/robots/minio-import.ts +2 -1
  199. package/src/alphalib/types/robots/minio-store.ts +1 -1
  200. package/src/alphalib/types/robots/s3-import.ts +2 -1
  201. package/src/alphalib/types/robots/s3-store.ts +7 -1
  202. package/src/alphalib/types/robots/sftp-import.ts +2 -1
  203. package/src/alphalib/types/robots/sftp-store.ts +1 -1
  204. package/src/alphalib/types/robots/supabase-import.ts +2 -1
  205. package/src/alphalib/types/robots/supabase-store.ts +1 -1
  206. package/src/alphalib/types/robots/swift-import.ts +2 -1
  207. package/src/alphalib/types/robots/swift-store.ts +1 -1
  208. package/src/alphalib/types/robots/tigris-import.ts +3 -2
  209. package/src/alphalib/types/robots/tigris-store.ts +2 -2
  210. package/src/alphalib/types/robots/tlcdn-deliver.ts +2 -2
  211. package/src/alphalib/types/robots/video-concat.ts +2 -1
  212. package/src/alphalib/types/robots/video-encode.ts +49 -1
  213. package/src/alphalib/types/robots/video-subtitle.ts +2 -1
  214. package/src/alphalib/types/robots/vimeo-import.ts +1 -1
  215. package/src/alphalib/types/robots/wasabi-import.ts +3 -2
  216. package/src/alphalib/types/robots/wasabi-store.ts +1 -1
  217. package/src/alphalib/zodParseWithContext.ts +18 -14
  218. package/src/apiTypes.ts +0 -5
  219. package/src/cli.ts +158 -0
package/src/cli.ts ADDED
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { realpathSync } from 'node:fs'
4
+ import path from 'node:path'
5
+ import process from 'node:process'
6
+ import { fileURLToPath } from 'node:url'
7
+ import type { ZodIssue } from 'zod'
8
+ import {
9
+ assemblyAuthInstructionsSchema,
10
+ assemblyInstructionsSchema,
11
+ } from './alphalib/types/template.ts'
12
+ import type { OptionalAuthParams } from './apiTypes.ts'
13
+ import { Transloadit } from './Transloadit.ts'
14
+
15
+ export async function readStdin(): Promise<string> {
16
+ if (process.stdin.isTTY) return ''
17
+
18
+ process.stdin.setEncoding('utf8')
19
+ let data = ''
20
+
21
+ for await (const chunk of process.stdin) {
22
+ data += chunk
23
+ }
24
+
25
+ return data
26
+ }
27
+
28
+ function fail(message: string): void {
29
+ console.error(message)
30
+ process.exitCode = 1
31
+ }
32
+
33
+ const cliParamsSchema = assemblyInstructionsSchema
34
+ .extend({ auth: assemblyAuthInstructionsSchema.partial().optional() })
35
+ .partial()
36
+ .passthrough()
37
+
38
+ function formatIssues(issues: ZodIssue[]): string {
39
+ return issues
40
+ .map((issue) => {
41
+ const path = issue.path.join('.') || '(root)'
42
+ return `${path}: ${issue.message}`
43
+ })
44
+ .join('; ')
45
+ }
46
+
47
+ export async function runSmartSig(providedInput?: string): Promise<void> {
48
+ const authKey = process.env.TRANSLOADIT_KEY || process.env.TRANSLOADIT_AUTH_KEY
49
+ const authSecret = process.env.TRANSLOADIT_SECRET || process.env.TRANSLOADIT_AUTH_SECRET
50
+
51
+ if (!authKey || !authSecret) {
52
+ fail(
53
+ 'Missing credentials. Please set TRANSLOADIT_KEY and TRANSLOADIT_SECRET environment variables.',
54
+ )
55
+ return
56
+ }
57
+
58
+ const rawInput = providedInput ?? (await readStdin())
59
+ const input = rawInput.trim()
60
+ let params: Record<string, unknown> = {}
61
+
62
+ if (input !== '') {
63
+ try {
64
+ const parsed = JSON.parse(input)
65
+ if (parsed == null || typeof parsed !== 'object' || Array.isArray(parsed)) {
66
+ fail('Invalid params provided via stdin. Expected a JSON object.')
67
+ return
68
+ }
69
+
70
+ const parsedResult = cliParamsSchema.safeParse(parsed)
71
+ if (!parsedResult.success) {
72
+ fail(`Invalid params: ${formatIssues(parsedResult.error.issues)}`)
73
+ return
74
+ }
75
+
76
+ const parsedParams = parsedResult.data as Record<string, unknown>
77
+ const existingAuth =
78
+ typeof parsedParams.auth === 'object' &&
79
+ parsedParams.auth != null &&
80
+ !Array.isArray(parsedParams.auth)
81
+ ? (parsedParams.auth as Record<string, unknown>)
82
+ : {}
83
+
84
+ params = {
85
+ ...parsedParams,
86
+ auth: {
87
+ ...existingAuth,
88
+ key: authKey,
89
+ },
90
+ }
91
+ } catch (error: unknown) {
92
+ fail(`Failed to parse JSON from stdin: ${(error as Error).message}`)
93
+ return
94
+ }
95
+ }
96
+
97
+ const client = new Transloadit({ authKey, authSecret })
98
+ const signature = client.calcSignature(params as OptionalAuthParams)
99
+ process.stdout.write(`${JSON.stringify(signature)}\n`)
100
+ }
101
+
102
+ export async function main(args = process.argv.slice(2)): Promise<void> {
103
+ const [command] = args
104
+
105
+ switch (command) {
106
+ case 'smart_sig': {
107
+ await runSmartSig()
108
+ break
109
+ }
110
+
111
+ case '-h':
112
+ case '--help':
113
+ case undefined: {
114
+ process.stdout.write(
115
+ [
116
+ 'Usage:',
117
+ ' npx transloadit smart_sig Read params JSON from stdin and output signed payload.',
118
+ '',
119
+ 'Environment variables:',
120
+ ' TRANSLOADIT_KEY, TRANSLOADIT_SECRET',
121
+ ].join('\n'),
122
+ )
123
+ if (command === undefined) process.exitCode = 1
124
+ break
125
+ }
126
+
127
+ default: {
128
+ fail(`Unknown command: ${command}`)
129
+ }
130
+ }
131
+ }
132
+
133
+ const currentFile = realpathSync(fileURLToPath(import.meta.url))
134
+
135
+ function resolveInvokedPath(invoked?: string): string | null {
136
+ if (invoked == null) return null
137
+ try {
138
+ return realpathSync(invoked)
139
+ } catch {
140
+ return path.resolve(invoked)
141
+ }
142
+ }
143
+
144
+ export function shouldRunCli(invoked?: string): boolean {
145
+ const resolved = resolveInvokedPath(invoked)
146
+ if (resolved == null) return false
147
+ return resolved === currentFile
148
+ }
149
+
150
+ export function runCliWhenExecuted(): void {
151
+ if (!shouldRunCli(process.argv[1])) return
152
+
153
+ void main().catch((error) => {
154
+ fail((error as Error).message)
155
+ })
156
+ }
157
+
158
+ runCliWhenExecuted()