transloadit 4.1.2 → 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.
Files changed (167) hide show
  1. package/dist/alphalib/mcache.d.ts +2 -2
  2. package/dist/alphalib/mcache.d.ts.map +1 -1
  3. package/dist/alphalib/mcache.js.map +1 -1
  4. package/dist/alphalib/types/assembliesGet.d.ts +4 -4
  5. package/dist/alphalib/types/assemblyReplay.d.ts +392 -178
  6. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  7. package/dist/alphalib/types/assemblyReplayNotification.d.ts +392 -178
  8. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
  9. package/dist/alphalib/types/assemblyStatus.d.ts +102 -102
  10. package/dist/alphalib/types/bill.d.ts +4 -4
  11. package/dist/alphalib/types/robots/_index.d.ts +3277 -932
  12. package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
  13. package/dist/alphalib/types/robots/_index.js +4 -0
  14. package/dist/alphalib/types/robots/_index.js.map +1 -1
  15. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +27 -16
  16. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  17. package/dist/alphalib/types/robots/_instructions-primitives.js +1 -0
  18. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  19. package/dist/alphalib/types/robots/ai-chat.d.ts +2096 -0
  20. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -0
  21. package/dist/alphalib/types/robots/ai-chat.js +223 -0
  22. package/dist/alphalib/types/robots/ai-chat.js.map +1 -0
  23. package/dist/alphalib/types/robots/assembly-savejson.d.ts +4 -4
  24. package/dist/alphalib/types/robots/audio-artwork.d.ts +16 -16
  25. package/dist/alphalib/types/robots/audio-concat.d.ts +16 -16
  26. package/dist/alphalib/types/robots/audio-encode.d.ts +16 -16
  27. package/dist/alphalib/types/robots/audio-loop.d.ts +16 -16
  28. package/dist/alphalib/types/robots/audio-merge.d.ts +16 -16
  29. package/dist/alphalib/types/robots/audio-waveform.d.ts +226 -21
  30. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
  31. package/dist/alphalib/types/robots/audio-waveform.js +134 -7
  32. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
  33. package/dist/alphalib/types/robots/azure-import.d.ts +8 -8
  34. package/dist/alphalib/types/robots/azure-store.d.ts +8 -8
  35. package/dist/alphalib/types/robots/backblaze-import.d.ts +8 -8
  36. package/dist/alphalib/types/robots/backblaze-store.d.ts +8 -8
  37. package/dist/alphalib/types/robots/cloudfiles-import.d.ts +8 -8
  38. package/dist/alphalib/types/robots/cloudfiles-store.d.ts +8 -8
  39. package/dist/alphalib/types/robots/cloudflare-import.d.ts +8 -8
  40. package/dist/alphalib/types/robots/cloudflare-store.d.ts +8 -8
  41. package/dist/alphalib/types/robots/digitalocean-import.d.ts +8 -8
  42. package/dist/alphalib/types/robots/digitalocean-store.d.ts +8 -8
  43. package/dist/alphalib/types/robots/document-autorotate.d.ts +8 -8
  44. package/dist/alphalib/types/robots/document-convert.d.ts +8 -8
  45. package/dist/alphalib/types/robots/document-merge.d.ts +8 -8
  46. package/dist/alphalib/types/robots/document-ocr.d.ts +8 -8
  47. package/dist/alphalib/types/robots/document-split.d.ts +8 -8
  48. package/dist/alphalib/types/robots/document-thumbs.d.ts +8 -8
  49. package/dist/alphalib/types/robots/dropbox-import.d.ts +8 -8
  50. package/dist/alphalib/types/robots/dropbox-store.d.ts +8 -8
  51. package/dist/alphalib/types/robots/edgly-deliver.d.ts +8 -8
  52. package/dist/alphalib/types/robots/file-compress.d.ts +12 -12
  53. package/dist/alphalib/types/robots/file-decompress.d.ts +8 -8
  54. package/dist/alphalib/types/robots/file-filter.d.ts +12 -12
  55. package/dist/alphalib/types/robots/file-hash.d.ts +8 -8
  56. package/dist/alphalib/types/robots/file-preview.d.ts +8 -8
  57. package/dist/alphalib/types/robots/file-read.d.ts +8 -8
  58. package/dist/alphalib/types/robots/file-serve.d.ts +8 -8
  59. package/dist/alphalib/types/robots/file-verify.d.ts +8 -8
  60. package/dist/alphalib/types/robots/file-virusscan.d.ts +8 -8
  61. package/dist/alphalib/types/robots/file-watermark.d.ts +8 -8
  62. package/dist/alphalib/types/robots/ftp-import.d.ts +8 -8
  63. package/dist/alphalib/types/robots/ftp-store.d.ts +8 -8
  64. package/dist/alphalib/types/robots/google-import.d.ts +8 -8
  65. package/dist/alphalib/types/robots/google-store.d.ts +8 -8
  66. package/dist/alphalib/types/robots/html-convert.d.ts +8 -8
  67. package/dist/alphalib/types/robots/http-import.d.ts +8 -8
  68. package/dist/alphalib/types/robots/image-bgremove.d.ts +20 -8
  69. package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -1
  70. package/dist/alphalib/types/robots/image-bgremove.js +4 -0
  71. package/dist/alphalib/types/robots/image-bgremove.js.map +1 -1
  72. package/dist/alphalib/types/robots/image-describe.d.ts +8 -8
  73. package/dist/alphalib/types/robots/image-facedetect.d.ts +8 -8
  74. package/dist/alphalib/types/robots/image-generate.d.ts +32 -29
  75. package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
  76. package/dist/alphalib/types/robots/image-generate.js +6 -3
  77. package/dist/alphalib/types/robots/image-generate.js.map +1 -1
  78. package/dist/alphalib/types/robots/image-merge.d.ts +8 -8
  79. package/dist/alphalib/types/robots/image-ocr.d.ts +8 -8
  80. package/dist/alphalib/types/robots/image-optimize.d.ts +16 -16
  81. package/dist/alphalib/types/robots/image-resize.d.ts +16 -16
  82. package/dist/alphalib/types/robots/meta-read.d.ts +8 -8
  83. package/dist/alphalib/types/robots/meta-write.d.ts +20 -24
  84. package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -1
  85. package/dist/alphalib/types/robots/meta-write.js +1 -2
  86. package/dist/alphalib/types/robots/meta-write.js.map +1 -1
  87. package/dist/alphalib/types/robots/minio-import.d.ts +8 -8
  88. package/dist/alphalib/types/robots/minio-store.d.ts +8 -8
  89. package/dist/alphalib/types/robots/progress-simulate.d.ts +4 -4
  90. package/dist/alphalib/types/robots/s3-import.d.ts +16 -16
  91. package/dist/alphalib/types/robots/s3-store.d.ts +12 -12
  92. package/dist/alphalib/types/robots/script-run.d.ts +8 -8
  93. package/dist/alphalib/types/robots/sftp-import.d.ts +8 -8
  94. package/dist/alphalib/types/robots/sftp-store.d.ts +8 -8
  95. package/dist/alphalib/types/robots/speech-transcribe.d.ts +8 -8
  96. package/dist/alphalib/types/robots/supabase-import.d.ts +8 -8
  97. package/dist/alphalib/types/robots/supabase-store.d.ts +8 -8
  98. package/dist/alphalib/types/robots/swift-import.d.ts +8 -8
  99. package/dist/alphalib/types/robots/swift-store.d.ts +8 -8
  100. package/dist/alphalib/types/robots/text-speak.d.ts +8 -8
  101. package/dist/alphalib/types/robots/text-translate.d.ts +16 -16
  102. package/dist/alphalib/types/robots/tigris-import.d.ts +8 -8
  103. package/dist/alphalib/types/robots/tigris-store.d.ts +8 -8
  104. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts +8 -8
  105. package/dist/alphalib/types/robots/tus-store.d.ts +8 -8
  106. package/dist/alphalib/types/robots/upload-handle.d.ts +8 -8
  107. package/dist/alphalib/types/robots/video-adaptive.d.ts +16 -16
  108. package/dist/alphalib/types/robots/video-concat.d.ts +16 -16
  109. package/dist/alphalib/types/robots/video-encode.d.ts +16 -16
  110. package/dist/alphalib/types/robots/video-merge.d.ts +16 -16
  111. package/dist/alphalib/types/robots/video-ondemand.d.ts +20 -20
  112. package/dist/alphalib/types/robots/video-subtitle.d.ts +24 -24
  113. package/dist/alphalib/types/robots/video-thumbs.d.ts +8 -8
  114. package/dist/alphalib/types/robots/vimeo-import.d.ts +8 -8
  115. package/dist/alphalib/types/robots/vimeo-store.d.ts +8 -8
  116. package/dist/alphalib/types/robots/wasabi-import.d.ts +8 -8
  117. package/dist/alphalib/types/robots/wasabi-store.d.ts +8 -8
  118. package/dist/alphalib/types/robots/youtube-store.d.ts +12 -12
  119. package/dist/alphalib/types/template.d.ts +6183 -2096
  120. package/dist/alphalib/types/template.d.ts.map +1 -1
  121. package/dist/alphalib/types/templateCredential.d.ts +11 -11
  122. package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
  123. package/dist/alphalib/types/templateCredential.js +1 -0
  124. package/dist/alphalib/types/templateCredential.js.map +1 -1
  125. package/dist/cli/OutputCtl.d.ts +2 -1
  126. package/dist/cli/OutputCtl.d.ts.map +1 -1
  127. package/dist/cli/OutputCtl.js +1 -1
  128. package/dist/cli/OutputCtl.js.map +1 -1
  129. package/dist/cli/commands/BaseCommand.d.ts +2 -1
  130. package/dist/cli/commands/BaseCommand.d.ts.map +1 -1
  131. package/dist/cli/commands/BaseCommand.js +1 -1
  132. package/dist/cli/commands/BaseCommand.js.map +1 -1
  133. package/dist/cli/commands/assemblies.d.ts +1 -1
  134. package/dist/cli/commands/assemblies.d.ts.map +1 -1
  135. package/dist/cli/commands/notifications.d.ts +0 -7
  136. package/dist/cli/commands/notifications.d.ts.map +1 -1
  137. package/dist/cli/commands/notifications.js +1 -1
  138. package/dist/cli/commands/notifications.js.map +1 -1
  139. package/dist/cli/commands/templates.d.ts +1 -9
  140. package/dist/cli/commands/templates.d.ts.map +1 -1
  141. package/dist/cli/commands/templates.js +1 -1
  142. package/dist/cli/commands/templates.js.map +1 -1
  143. package/dist/cli/helpers.d.ts +2 -2
  144. package/dist/cli/helpers.d.ts.map +1 -1
  145. package/dist/cli/helpers.js.map +1 -1
  146. package/dist/cli/types.d.ts +3 -77
  147. package/dist/cli/types.d.ts.map +1 -1
  148. package/dist/cli/types.js +2 -17
  149. package/dist/cli/types.js.map +1 -1
  150. package/package.json +16 -22
  151. package/src/alphalib/mcache.ts +4 -4
  152. package/src/alphalib/types/robots/_index.ts +14 -1
  153. package/src/alphalib/types/robots/_instructions-primitives.ts +21 -15
  154. package/src/alphalib/types/robots/ai-chat.ts +278 -0
  155. package/src/alphalib/types/robots/audio-waveform.ts +142 -9
  156. package/src/alphalib/types/robots/image-bgremove.ts +6 -0
  157. package/src/alphalib/types/robots/image-generate.ts +6 -3
  158. package/src/alphalib/types/robots/meta-write.ts +1 -2
  159. package/src/alphalib/types/templateCredential.ts +1 -0
  160. package/src/cli/OutputCtl.ts +1 -1
  161. package/src/cli/commands/BaseCommand.ts +1 -1
  162. package/src/cli/commands/assemblies.ts +1 -1
  163. package/src/cli/commands/notifications.ts +2 -2
  164. package/src/cli/commands/templates.ts +3 -3
  165. package/src/cli/helpers.ts +3 -3
  166. package/src/cli/types.ts +2 -115
  167. package/CHANGELOG.md +0 -257
@@ -34,10 +34,13 @@ export const robotImageGenerateInstructionsSchema = robotBase
34
34
  .merge(robotUse)
35
35
  .extend({
36
36
  robot: z.literal('/image/generate'),
37
- model: z.string(),
37
+ model: z
38
+ .string()
39
+ .optional()
40
+ .describe('The AI model to use for image generation. Defaults to google/nano-banana.'),
38
41
  prompt: z.string().describe('The prompt describing the desired image content.'),
39
42
  format: z
40
- .enum(['jpeg', 'png', 'gif', 'webp', 'svg'])
43
+ .enum(['jpeg', 'jpg', 'png', 'gif', 'webp', 'svg'])
41
44
  .optional()
42
45
  .describe('Format of the generated image.'),
43
46
  seed: z.number().optional().describe('Seed for the random number generator.'),
@@ -69,7 +72,7 @@ export type RobotImageGenerateInstructionsWithHiddenFields = z.infer<
69
72
  >
70
73
 
71
74
  export const interpolatableRobotImageGenerateInstructionsSchema = interpolateRobot(
72
- robotImageGenerateInstructionsSchema,
75
+ robotImageGenerateInstructionsWithHiddenFieldsSchema,
73
76
  )
74
77
  export type InterpolatableRobotImageGenerateInstructions =
75
78
  InterpolatableRobotImageGenerateInstructionsInput
@@ -53,8 +53,7 @@ export const robotMetaWriteInstructionsSchema = robotBase
53
53
  **Note:** This <dfn>Robot</dfn> currently accepts images, videos and audio files.
54
54
  `),
55
55
  data_to_write: z
56
- .object({})
57
- .passthrough()
56
+ .record(z.unknown())
58
57
  .default({})
59
58
  .describe(`
60
59
  A key/value map defining the metadata to write into the file.
@@ -20,6 +20,7 @@ export const templateCredentialsSchema = z
20
20
  ),
21
21
  type: z
22
22
  .enum([
23
+ 'ai',
23
24
  'azure',
24
25
  'backblaze',
25
26
  'cloudflare',
@@ -2,7 +2,7 @@
2
2
  * Log levels following syslog severity (https://en.wikipedia.org/wiki/Syslog#Severity_level)
3
3
  * Lower numbers = more severe, higher numbers = more verbose
4
4
  */
5
- export const LOG_LEVEL = {
5
+ const LOG_LEVEL = {
6
6
  ERR: 3, // Error conditions
7
7
  WARN: 4, // Warning conditions
8
8
  NOTICE: 5, // Normal but significant (default)
@@ -6,7 +6,7 @@ import { getEnvCredentials } from '../helpers.ts'
6
6
  import type { IOutputCtl } from '../OutputCtl.ts'
7
7
  import OutputCtl, { LOG_LEVEL_DEFAULT, LOG_LEVEL_NAMES, parseLogLevel } from '../OutputCtl.ts'
8
8
 
9
- export abstract class BaseCommand extends Command {
9
+ abstract class BaseCommand extends Command {
10
10
  logLevelOption = Option.String('-l,--log-level', {
11
11
  description: `Log level: ${LOG_LEVEL_NAMES.join(', ')} or 3-8 (default: notice)`,
12
12
  })
@@ -36,7 +36,7 @@ export interface AssemblyGetOptions {
36
36
  assemblies: string[]
37
37
  }
38
38
 
39
- export interface AssemblyDeleteOptions {
39
+ interface AssemblyDeleteOptions {
40
40
  assemblies: string[]
41
41
  }
42
42
 
@@ -7,12 +7,12 @@ import { AuthenticatedCommand } from './BaseCommand.ts'
7
7
 
8
8
  // --- Types and business logic ---
9
9
 
10
- export interface NotificationsReplayOptions {
10
+ interface NotificationsReplayOptions {
11
11
  notify_url?: string
12
12
  assemblies: string[]
13
13
  }
14
14
 
15
- export async function replay(
15
+ async function replay(
16
16
  output: IOutputCtl,
17
17
  client: Transloadit,
18
18
  { notify_url, assemblies }: NotificationsReplayOptions,
@@ -33,11 +33,11 @@ export interface TemplateModifyOptions {
33
33
  file: string
34
34
  }
35
35
 
36
- export interface TemplateDeleteOptions {
36
+ interface TemplateDeleteOptions {
37
37
  templates: string[]
38
38
  }
39
39
 
40
- export interface TemplateListOptions {
40
+ interface TemplateListOptions {
41
41
  before?: string
42
42
  after?: string
43
43
  order?: 'asc' | 'desc'
@@ -162,7 +162,7 @@ const TemplateIdSchema = z.object({
162
162
  id: z.string(),
163
163
  })
164
164
 
165
- export function list(
165
+ function list(
166
166
  output: IOutputCtl,
167
167
  client: Transloadit,
168
168
  { before, after, order, sort, fields }: TemplateListOptions,
@@ -1,6 +1,5 @@
1
1
  import fs from 'node:fs'
2
2
  import type { Readable } from 'node:stream'
3
- import type { APIError } from './types.ts'
4
3
  import { isAPIError } from './types.ts'
5
4
 
6
5
  export function getEnvCredentials(): { authKey: string; authSecret: string } | null {
@@ -35,8 +34,9 @@ export function formatAPIError(err: unknown): string {
35
34
  return String(err)
36
35
  }
37
36
 
38
- // Re-export APIError type for convenience
39
- export type { APIError }
37
+ // Re-export APIError type for CLI consumers relying on deep imports.
38
+ /** @public */
39
+ export type { APIError } from './types.ts'
40
40
 
41
41
  export function zip<A, B>(listA: A[], listB: B[]): [A, B][]
42
42
  export function zip<T>(...lists: T[][]): T[][]
package/src/cli/types.ts CHANGED
@@ -1,23 +1,15 @@
1
1
  import { z } from 'zod'
2
2
  import type { Steps } from '../alphalib/types/template.ts'
3
3
  import { optionalStepsSchema } from '../alphalib/types/template.ts'
4
- import type { BillResponse, ListedTemplate, TemplateResponse } from '../apiTypes.ts'
5
- import type { AssemblyStatus, Transloadit } from '../Transloadit.ts'
6
- import type { IOutputCtl } from './OutputCtl.ts'
7
-
8
- // Re-export transloadit types for CLI use
9
- export type { AssemblyStatus, BillResponse, ListedTemplate, TemplateResponse }
10
- export type { Transloadit }
11
- export type { CreateAssemblyOptions } from '../Transloadit.ts'
12
4
 
13
5
  // Zod schemas for runtime validation
14
- export const APIErrorSchema = z.object({
6
+ const APIErrorSchema = z.object({
15
7
  error: z.string(),
16
8
  message: z.string(),
17
9
  })
18
10
  export type APIError = z.infer<typeof APIErrorSchema>
19
11
 
20
- export const TransloaditAPIErrorSchema = z.object({
12
+ const TransloaditAPIErrorSchema = z.object({
21
13
  error: z.string().optional(),
22
14
  message: z.string(),
23
15
  code: z.string().optional(),
@@ -54,98 +46,6 @@ export interface TemplateFile {
54
46
  data: TemplateFileData
55
47
  }
56
48
 
57
- // Template list item (from API)
58
- export interface TemplateListItem {
59
- id: string
60
- modified: string
61
- name?: string
62
- }
63
-
64
- // CLI Invocation types
65
- export interface BaseInvocation {
66
- error?: boolean
67
- message?: string
68
- mode: string
69
- action?: string
70
- logLevel?: number
71
- jsonMode?: boolean
72
- }
73
-
74
- export interface AssemblyInvocation extends BaseInvocation {
75
- mode: 'assemblies'
76
- action?: 'create' | 'get' | 'list' | 'delete' | 'replay'
77
- inputs: string[]
78
- output?: string
79
- recursive?: boolean
80
- watch?: boolean
81
- del?: boolean
82
- reprocessStale?: boolean
83
- steps?: string
84
- template?: string
85
- fields?: Record<string, string>
86
- assemblies?: string[]
87
- before?: string
88
- after?: string
89
- keywords?: string[]
90
- notify_url?: string
91
- reparse?: boolean
92
- }
93
-
94
- export interface TemplateInvocation extends BaseInvocation {
95
- mode: 'templates'
96
- action?: 'create' | 'get' | 'list' | 'delete' | 'modify' | 'sync'
97
- templates?: string[]
98
- template?: string
99
- name?: string
100
- file?: string
101
- files?: string[]
102
- before?: string
103
- after?: string
104
- order?: 'asc' | 'desc'
105
- sort?: string
106
- fields?: string[]
107
- recursive?: boolean
108
- }
109
-
110
- export interface BillInvocation extends BaseInvocation {
111
- mode: 'bills'
112
- action?: 'get'
113
- months: string[]
114
- }
115
-
116
- export interface NotificationInvocation extends BaseInvocation {
117
- mode: 'assembly-notifications'
118
- action?: 'list' | 'replay'
119
- assemblies?: string[]
120
- notify_url?: string
121
- type?: string
122
- assembly_id?: string
123
- pagesize?: number
124
- }
125
-
126
- export interface HelpInvocation extends BaseInvocation {
127
- mode: 'help' | 'version' | 'register'
128
- }
129
-
130
- export type Invocation =
131
- | AssemblyInvocation
132
- | TemplateInvocation
133
- | BillInvocation
134
- | NotificationInvocation
135
- | HelpInvocation
136
-
137
- // Command handler type
138
- export type CommandHandler<T extends BaseInvocation = BaseInvocation> = (
139
- output: IOutputCtl,
140
- client: Transloadit | undefined,
141
- invocation: T,
142
- ) => void | Promise<void>
143
-
144
- // Type guard for Error
145
- export function isError(value: unknown): value is Error {
146
- return value instanceof Error
147
- }
148
-
149
49
  // Helper to ensure error is Error type
150
50
  export function ensureError(value: unknown): Error {
151
51
  if (value instanceof Error) {
@@ -168,16 +68,3 @@ export function isTransloaditAPIError(value: unknown): value is TransloaditAPIEr
168
68
  export function isErrnoException(value: unknown): value is NodeJS.ErrnoException {
169
69
  return value instanceof Error && 'code' in value
170
70
  }
171
-
172
- // Safe array access helper
173
- export function safeGet<T>(arr: T[], index: number): T | undefined {
174
- return arr[index]
175
- }
176
-
177
- // Assert defined helper
178
- export function assertDefined<T>(value: T | undefined | null, message: string): T {
179
- if (value === undefined || value === null) {
180
- throw new Error(message)
181
- }
182
- return value
183
- }
package/CHANGELOG.md DELETED
@@ -1,257 +0,0 @@
1
- # Changelog
2
-
3
- You may also want to refer to [GitHub releases](https://github.com/transloadit/node-sdk/releases).
4
-
5
- ## Unreleased
6
-
7
- - TBD
8
-
9
- ## v4.1.2
10
-
11
- Released: 2025-12-08.
12
-
13
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.1.1...v4.1.2).
14
-
15
- - CLI accepts `TRANSLOADIT_AUTH_KEY`/`TRANSLOADIT_AUTH_SECRET` as aliases for `TRANSLOADIT_KEY`/`TRANSLOADIT_SECRET` when authenticating commands.
16
- - Internal: fix lint import ordering to keep CI green.
17
-
18
- ## v4.1.1
19
-
20
- Released: 2025-12-08.
21
-
22
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.1.0...v4.1.1).
23
-
24
- - CLI now accepts `TRANSLOADIT_AUTH_KEY`/`TRANSLOADIT_AUTH_SECRET` in addition to `TRANSLOADIT_KEY`/`TRANSLOADIT_SECRET` when authenticating commands.
25
-
26
- ## v4.1.0
27
-
28
- Released: 2025-12-08.
29
-
30
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.0.7...v4.1.0).
31
-
32
- - Add `signal` option to `createAssembly()` for cancelling in-flight HTTP requests and TUS uploads via `AbortController`
33
- - Add `signal` and `onPoll` options to `awaitAssemblyCompletion()` for cancellation and early termination (useful for custom progress reporting or superseding assemblies in watch mode)
34
- - Integrate transloadify CLI into the SDK, providing `assemblies`, `templates`, `bills`, and `assembly-notifications` commands
35
- - Add `--log-level (-l)` CLI option using syslog severity levels (err=3, warn=4, notice=5, info=6, debug=7, trace=8)
36
- - Add `--endpoint` CLI option for custom API endpoint (also reads `TRANSLOADIT_ENDPOINT` env var)
37
- - Add `--single-assembly` flag to `assemblies create` for passing multiple input files to a single assembly
38
- - Add `--concurrency` option to `assemblies create` to limit parallel processing (default: 5)
39
- - Fix file descriptor exhaustion by closing streams immediately and creating fresh ones on demand
40
- - Apply stricter biome lint rules (noExplicitAny, useAwait, noForEach, noNonNullAssertion)
41
-
42
- ## v4.0.7
43
-
44
- Released: 2025-11-26.
45
-
46
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.0.6...v4.0.7).
47
-
48
- - [x] Update schemas to match the latest API changes.
49
-
50
- ## v4.0.6
51
-
52
- Released: 2025-11-04.
53
-
54
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.0.5...v4.0.6).
55
-
56
- - [x] Re-export `AssemblyInstructions` and `AssemblyInstructionsInput` at the package entry to match the migration guide and TypeScript examples.
57
-
58
- ## v4.0.5
59
-
60
- Released: 2025-10-16.
61
-
62
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.0.1...v4.0.5).
63
-
64
- - [x] Add `smart_sig` CLI to return Smart CDN URLs via `getSignedSmartCDNUrl`, making it suitable as the cross-SDK reference implementation.
65
- - [x] Add `sig` CLI command for generating request signatures, including an `--algorithm` flag for choosing the HMAC digest.
66
- - [x] Ensure the CLI entrypoint executes when invoked through npm/yarn bin shims by resolving symlinks before bootstrapping.
67
- - [x] Harden validation and tests around CLI invocation paths.
68
-
69
- v4.0.2, v4.0.3, and v4.0.4 were broken releases
70
-
71
- ## v4.0.1
72
-
73
- Released: 2025-09-18.
74
-
75
- [Diff](https://github.com/transloadit/node-sdk/compare/v4.0.0...v4.0.1).
76
-
77
- - [x] Re-published v4.0.0 under v4.0.1 to fix release metadata. No functional changes.
78
-
79
- ## v4.0.0
80
-
81
- Released: 2025-09-18.
82
-
83
- [Diff](https://github.com/transloadit/node-sdk/compare/v3.0.2...v4.0.0).
84
-
85
- - [x] **Breaking:** Package is now pure ESM, requires Node.js 20+, and exports `{ Transloadit }` instead of a default client.
86
- - [x] **Breaking** `TransloaditError` removed in favor of a new, slightly different `ApiError`.
87
- - [x] Added end-to-end TypeScript typings for robots, assemblies, templates, and responses, so assembly instructions now autocomplete every robot and its supported parameters. Notably, Assembly instructions and statuses are validates against rich TypeScript types; migrate to the new `AssemblyInstructionsInput` types and `AssemblyStatus` in responses.
88
- - [x] New rich error stacktraces that aid in debugging issues.
89
- - [x] Added opt-in `validateResponses` safeguard and a `getSignedSmartCDNUrl` helper for generating signed Smart CDN URLs.
90
- - [x] Fix broken rate limiting #217
91
- - [x] Modernized tooling, tests, and examples (Vitest, Biome, TypeScript examples). See [MIGRATION.md](./MIGRATION.md) for a guided upgrade path.
92
-
93
- ## v3.0.2
94
-
95
- Released: 2021-04-06.
96
-
97
- [Diff](https://github.com/transloadit/node-sdk/compare/v3.0.1...v3.0.2).
98
-
99
- - [x] Generate assembly IDs on the client to avoid relying on server timing.
100
- - [x] Completed TypeScript surface for assembly responses by adding missing output properties.
101
-
102
- ## v3.0.1
103
-
104
- Released: 2021-03-31.
105
-
106
- [Diff](https://github.com/transloadit/node-sdk/compare/v3.0.0...v3.0.1).
107
-
108
- - [x] Fixed the published default export to match the actual runtime client.
109
-
110
- ## v3.0.0
111
-
112
- Released: 2021-03-16.
113
-
114
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.10...v3.0.0).
115
-
116
- - [x] Finalized the promise-based client by removing legacy wrappers and tightening trailing-slash validation.
117
- - [x] Expanded continuous testing, linting, and documentation coverage ahead of the stable v3 release.
118
- - [x] Improved `createAssembly` diagnostics by logging assembly IDs and exposing replayed assembly URLs.
119
-
120
- ## v2.0.10
121
-
122
- Released: 2020-02-25.
123
-
124
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.9...v2.0.10).
125
-
126
- - [x] Update dependencies, thank you @dagreatbrendino
127
-
128
- ## v2.0.9
129
-
130
- Released: 2018-12-06.
131
-
132
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.5...v2.0.9).
133
-
134
- - [x] Add more helpful message to assembly error (#73)
135
- - [x] Add Assembly ID to unknown errors
136
- - [x] Upgrade linting and fix newly found errors
137
-
138
- ## v2.0.7
139
-
140
- Released: 2018-12-06.
141
-
142
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.5...v2.0.7).
143
-
144
- - [x] Fix Transloadit-Client header test for once and all (#62)
145
- - [x] Fix bug causing progressCb to only be fired once
146
-
147
- ## v2.0.5
148
-
149
- Released: 2018-12-06.
150
-
151
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.4...v2.0.5).
152
-
153
- - [x] Make resize image example more usable irl
154
- - [x] Update Readme to include example for progressCb.
155
- - [x] Fix failing test due to version increase (#61)
156
- - [x] Update npm-run-all to lose event-stream dependency
157
-
158
- ## v2.0.4
159
-
160
- Released: 2018-11-05.
161
-
162
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.3...v2.0.4).
163
-
164
- - [x] Send transloadit-client header (#59)
165
-
166
- ## v2.0.3
167
-
168
- Released: 2018-10-29.
169
-
170
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.2...v2.0.3).
171
-
172
- - [x] When adding a stream that throws an error, do not send it to Transloadit
173
-
174
- ## v2.0.2
175
-
176
- Released: 2018-10-24.
177
-
178
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.1...v2.0.2).
179
-
180
- - [x] Fix bug: invoke callback when there are no tus files to upload
181
-
182
- ## v2.0.1
183
-
184
- Released: 2018-06-18.
185
-
186
- [Diff](https://github.com/transloadit/node-sdk/compare/v2.0.0...v2.0.1).
187
-
188
- - [x] Fix bug: invoke callback when waitforcompmletion is false
189
-
190
- ## v2.0.0
191
-
192
- Released: 2018-06-08.
193
-
194
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.11.0...v2.0.0).
195
-
196
- - [x] (MAJOR) Use of **tus** client to enable resumable uploads. (not strictly speaking breaking the api, but big enough of an implementation change to warant a major so you can take extra care things work well)
197
- - [x] Support Assembly Progress Callback (this supports progress during file uploads and assemby execution).
198
-
199
- ## v1.11.0
200
-
201
- Released: 2018-05-23.
202
-
203
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.10.2...v1.11.0).
204
-
205
- - [x] Add Assembly URL to error console logs for easier debugging. (Q: should the node sdk log to console at all? should it not just work with callbacks and the caller decides what to write to what medium?)
206
-
207
- ## v1.10.3
208
-
209
- Released: 2018-01-09.
210
-
211
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.10.1...v1.10.3).
212
-
213
- - [x] Remove unused region parameter (@tim-kos)
214
-
215
- ## v1.10.2
216
-
217
- Released: 2017-10-15.
218
-
219
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.10.0...v1.10.2).
220
-
221
- - [x] Update lib files (@ifedapoolarewaju)
222
-
223
- ## v1.10.1
224
-
225
- Released: 2017-10-02.
226
-
227
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.10.0...v1.10.1).
228
-
229
- - [x] fix: check path for only direct Readable instances (@ifedapoolarewaju)
230
-
231
- ## v1.10.0
232
-
233
- Released: 2017-09-28.
234
-
235
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.9.6...v1.10.0).
236
-
237
- - [x] Do not retry infinitely if there is an unrecoverable error. Fixes #47. (@tim-kos)
238
- - [x] Add the ability to wait for the encoding results of an assembly before the callback to createAssembly() is called (@tim-kos)
239
-
240
- ## v1.9.6
241
-
242
- Released: 2017-09-26.
243
-
244
- [Diff](https://github.com/transloadit/node-sdk/compare/v1.9.5...v1.9.6).
245
-
246
- - [x] Fix bug that threw `TypeError: Cannot read property 'body' of undefined` (https://github.com/transloadit/node-sdk/issues/48) (@kvz)
247
- - [x] Fix linting issues (@kvz)
248
- - [x] Refactor via invig.io (@kvz)
249
- - [x] Upgrade dependencies (@kvz)
250
-
251
- ## v1.9.5
252
-
253
- Released: 2017-09-26.
254
-
255
- [Diff](https://github.com/transloadit/node-sdk/compare/v0.0.22...1.9.5).
256
-
257
- - [x] Start tracking CHANGELOG.md