@vertesia/workflow 1.3.0 → 1.4.0-dev.20260615.051508Z

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 (703) hide show
  1. package/README.md +1 -2
  2. package/lib/{types/activities → activities}/advanced/createDocumentTypeFromInteractionRun.d.ts +2 -2
  3. package/lib/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -0
  4. package/lib/{esm/activities → activities}/advanced/createDocumentTypeFromInteractionRun.js +9 -9
  5. package/lib/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
  6. package/lib/{types/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +2 -2
  7. package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -0
  8. package/lib/{esm/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.js +29 -22
  9. package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
  10. package/lib/{types/activities → activities}/advanced/updateDocumentFromInteractionRun.d.ts +1 -1
  11. package/lib/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -0
  12. package/lib/activities/advanced/updateDocumentFromInteractionRun.js +16 -0
  13. package/lib/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
  14. package/lib/{types/activities → activities}/chunkDocument.d.ts +3 -3
  15. package/lib/activities/chunkDocument.d.ts.map +1 -0
  16. package/lib/{esm/activities → activities}/chunkDocument.js +38 -33
  17. package/lib/activities/chunkDocument.js.map +1 -0
  18. package/lib/{types/activities → activities}/createDocumentFromOther.d.ts +1 -1
  19. package/lib/activities/createDocumentFromOther.d.ts.map +1 -0
  20. package/lib/{esm/activities → activities}/createDocumentFromOther.js +15 -13
  21. package/lib/activities/createDocumentFromOther.js.map +1 -0
  22. package/lib/{types/activities → activities}/executeInteraction.d.ts +19 -10
  23. package/lib/activities/executeInteraction.d.ts.map +1 -0
  24. package/lib/{esm/activities → activities}/executeInteraction.js +97 -78
  25. package/lib/activities/executeInteraction.js.map +1 -0
  26. package/lib/{types/activities → activities}/executeRemoteActivity.d.ts +4 -4
  27. package/lib/activities/executeRemoteActivity.d.ts.map +1 -0
  28. package/lib/{esm/activities → activities}/executeRemoteActivity.js +48 -23
  29. package/lib/activities/executeRemoteActivity.js.map +1 -0
  30. package/lib/{types/activities → activities}/extractDocumentText.d.ts +3 -3
  31. package/lib/activities/extractDocumentText.d.ts.map +1 -0
  32. package/lib/{esm/activities → activities}/extractDocumentText.js +65 -52
  33. package/lib/activities/extractDocumentText.js.map +1 -0
  34. package/lib/{types/activities → activities}/generateDocumentProperties.d.ts +4 -4
  35. package/lib/activities/generateDocumentProperties.d.ts.map +1 -0
  36. package/lib/{esm/activities → activities}/generateDocumentProperties.js +37 -33
  37. package/lib/activities/generateDocumentProperties.js.map +1 -0
  38. package/lib/{types/activities → activities}/generateEmbeddings.d.ts +3 -3
  39. package/lib/activities/generateEmbeddings.d.ts.map +1 -0
  40. package/lib/{esm/activities → activities}/generateEmbeddings.js +80 -80
  41. package/lib/activities/generateEmbeddings.js.map +1 -0
  42. package/lib/{types/activities → activities}/generateOrAssignContentType.d.ts +4 -4
  43. package/lib/activities/generateOrAssignContentType.d.ts.map +1 -0
  44. package/lib/{esm/activities → activities}/generateOrAssignContentType.js +51 -49
  45. package/lib/activities/generateOrAssignContentType.js.map +1 -0
  46. package/lib/{types/activities → activities}/getObjectFromStore.d.ts +1 -1
  47. package/lib/activities/getObjectFromStore.d.ts.map +1 -0
  48. package/lib/{esm/activities → activities}/getObjectFromStore.js +4 -3
  49. package/lib/activities/getObjectFromStore.js.map +1 -0
  50. package/lib/{types/activities → activities}/handleError.d.ts +1 -1
  51. package/lib/activities/handleError.d.ts.map +1 -0
  52. package/lib/activities/handleError.js +37 -0
  53. package/lib/activities/handleError.js.map +1 -0
  54. package/lib/activities/index-dsl.d.ts +31 -0
  55. package/lib/activities/index-dsl.d.ts.map +1 -0
  56. package/lib/activities/index-dsl.js +29 -0
  57. package/lib/activities/index-dsl.js.map +1 -0
  58. package/lib/{types/activities → activities}/index.d.ts +1 -1
  59. package/lib/activities/index.d.ts.map +1 -0
  60. package/lib/{esm/activities → activities}/index.js +1 -1
  61. package/lib/activities/index.js.map +1 -0
  62. package/lib/{types/activities → activities}/loadChildWorkflowSpec.d.ts +1 -1
  63. package/lib/activities/loadChildWorkflowSpec.d.ts.map +1 -0
  64. package/lib/{esm/activities → activities}/loadChildWorkflowSpec.js +4 -2
  65. package/lib/activities/loadChildWorkflowSpec.js.map +1 -0
  66. package/lib/{types/activities → activities}/media/prepareAudio.d.ts +1 -1
  67. package/lib/activities/media/prepareAudio.d.ts.map +1 -0
  68. package/lib/{esm/activities → activities}/media/prepareAudio.js +27 -23
  69. package/lib/activities/media/prepareAudio.js.map +1 -0
  70. package/lib/{types/activities → activities}/media/prepareVideo.d.ts +2 -2
  71. package/lib/activities/media/prepareVideo.d.ts.map +1 -0
  72. package/lib/{esm/activities → activities}/media/prepareVideo.js +72 -54
  73. package/lib/activities/media/prepareVideo.js.map +1 -0
  74. package/lib/{types/activities → activities}/media/probeMediaStreams.d.ts +2 -3
  75. package/lib/activities/media/probeMediaStreams.d.ts.map +1 -0
  76. package/lib/{esm/activities → activities}/media/probeMediaStreams.js +7 -5
  77. package/lib/activities/media/probeMediaStreams.js.map +1 -0
  78. package/lib/{types/activities → activities}/media/processPdfWithTextract.d.ts +3 -3
  79. package/lib/activities/media/processPdfWithTextract.d.ts.map +1 -0
  80. package/lib/{esm/activities → activities}/media/processPdfWithTextract.js +43 -26
  81. package/lib/activities/media/processPdfWithTextract.js.map +1 -0
  82. package/lib/{types/activities → activities}/media/saveGladiaTranscription.d.ts +2 -2
  83. package/lib/activities/media/saveGladiaTranscription.d.ts.map +1 -0
  84. package/lib/{esm/activities → activities}/media/saveGladiaTranscription.js +35 -25
  85. package/lib/activities/media/saveGladiaTranscription.js.map +1 -0
  86. package/lib/{types/activities → activities}/media/transcribeMediaWithGladia.d.ts +2 -2
  87. package/lib/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
  88. package/lib/{esm/activities → activities}/media/transcribeMediaWithGladia.js +26 -21
  89. package/lib/activities/media/transcribeMediaWithGladia.js.map +1 -0
  90. package/lib/{types/activities → activities}/mergeChildArtifacts.d.ts +1 -1
  91. package/lib/activities/mergeChildArtifacts.d.ts.map +1 -0
  92. package/lib/{esm/activities → activities}/mergeChildArtifacts.js +27 -26
  93. package/lib/activities/mergeChildArtifacts.js.map +1 -0
  94. package/lib/{types/activities → activities}/notifyWebhook.d.ts +6 -5
  95. package/lib/activities/notifyWebhook.d.ts.map +1 -0
  96. package/lib/{esm/activities → activities}/notifyWebhook.js +20 -17
  97. package/lib/activities/notifyWebhook.js.map +1 -0
  98. package/lib/{types/activities → activities}/rateLimiter.d.ts +1 -1
  99. package/lib/activities/rateLimiter.d.ts.map +1 -0
  100. package/lib/{esm/activities → activities}/rateLimiter.js +4 -3
  101. package/lib/activities/rateLimiter.js.map +1 -0
  102. package/lib/{types/activities → activities}/renditions/generateImageRendition.d.ts +3 -3
  103. package/lib/activities/renditions/generateImageRendition.d.ts.map +1 -0
  104. package/lib/activities/renditions/generateImageRendition.js +75 -0
  105. package/lib/activities/renditions/generateImageRendition.js.map +1 -0
  106. package/lib/{types/activities → activities}/renditions/generateVideoRendition.d.ts +3 -3
  107. package/lib/activities/renditions/generateVideoRendition.d.ts.map +1 -0
  108. package/lib/{esm/activities → activities}/renditions/generateVideoRendition.js +51 -54
  109. package/lib/activities/renditions/generateVideoRendition.js.map +1 -0
  110. package/lib/{types/activities → activities}/resolveRemoteActivities.d.ts +3 -4
  111. package/lib/activities/resolveRemoteActivities.d.ts.map +1 -0
  112. package/lib/{esm/activities → activities}/resolveRemoteActivities.js +16 -15
  113. package/lib/activities/resolveRemoteActivities.js.map +1 -0
  114. package/lib/{types/activities → activities}/setDocumentStatus.d.ts +1 -1
  115. package/lib/activities/setDocumentStatus.d.ts.map +1 -0
  116. package/lib/{esm/activities → activities}/setDocumentStatus.js +5 -3
  117. package/lib/activities/setDocumentStatus.js.map +1 -0
  118. package/lib/{types/bulk-import.d.ts → bulk-import.d.ts} +10 -1
  119. package/lib/bulk-import.d.ts.map +1 -0
  120. package/lib/bulk-import.js.map +1 -0
  121. package/lib/{types/conversion → conversion}/TextractProcessor.d.ts +7 -4
  122. package/lib/conversion/TextractProcessor.d.ts.map +1 -0
  123. package/lib/{esm/conversion → conversion}/TextractProcessor.js +38 -38
  124. package/lib/conversion/TextractProcessor.js.map +1 -0
  125. package/lib/conversion/image.d.ts.map +1 -0
  126. package/lib/{esm/conversion → conversion}/image.js +35 -35
  127. package/lib/conversion/image.js.map +1 -0
  128. package/lib/conversion/markitdown.d.ts.map +1 -0
  129. package/lib/{esm/conversion → conversion}/markitdown.js +11 -11
  130. package/lib/conversion/markitdown.js.map +1 -0
  131. package/lib/conversion/mutool.d.ts.map +1 -0
  132. package/lib/{esm/conversion → conversion}/mutool.js +19 -24
  133. package/lib/conversion/mutool.js.map +1 -0
  134. package/lib/conversion/pandoc.d.ts.map +1 -0
  135. package/lib/{esm/conversion → conversion}/pandoc.js +11 -11
  136. package/lib/conversion/pandoc.js.map +1 -0
  137. package/lib/dsl/conditions.d.ts +2 -0
  138. package/lib/dsl/conditions.d.ts.map +1 -0
  139. package/lib/dsl/conditions.js +90 -0
  140. package/lib/dsl/conditions.js.map +1 -0
  141. package/lib/{types/dsl → dsl}/dsl-workflow.d.ts +2 -2
  142. package/lib/dsl/dsl-workflow.d.ts.map +1 -0
  143. package/lib/{esm/dsl → dsl}/dsl-workflow.js +93 -65
  144. package/lib/dsl/dsl-workflow.js.map +1 -0
  145. package/lib/dsl/dslProxyActivities.d.ts +7 -0
  146. package/lib/dsl/dslProxyActivities.d.ts.map +1 -0
  147. package/lib/{esm/dsl → dsl}/dslProxyActivities.js +10 -1
  148. package/lib/dsl/dslProxyActivities.js.map +1 -0
  149. package/lib/dsl/projections.d.ts +4 -0
  150. package/lib/dsl/projections.d.ts.map +1 -0
  151. package/lib/{esm/dsl → dsl}/projections.js +22 -8
  152. package/lib/dsl/projections.js.map +1 -0
  153. package/lib/{types/dsl → dsl}/setup/ActivityContext.d.ts +4 -4
  154. package/lib/dsl/setup/ActivityContext.d.ts.map +1 -0
  155. package/lib/{esm/dsl → dsl}/setup/ActivityContext.js +22 -25
  156. package/lib/dsl/setup/ActivityContext.js.map +1 -0
  157. package/lib/{types/dsl → dsl}/setup/fetch/DataProvider.d.ts +3 -3
  158. package/lib/dsl/setup/fetch/DataProvider.d.ts.map +1 -0
  159. package/lib/{esm/dsl → dsl}/setup/fetch/DataProvider.js +2 -1
  160. package/lib/dsl/setup/fetch/DataProvider.js.map +1 -0
  161. package/lib/dsl/setup/fetch/index.d.ts +6 -0
  162. package/lib/dsl/setup/fetch/index.d.ts.map +1 -0
  163. package/lib/{esm/dsl → dsl}/setup/fetch/index.js +1 -1
  164. package/lib/dsl/setup/fetch/index.js.map +1 -0
  165. package/lib/{types/dsl → dsl}/setup/fetch/providers.d.ts +6 -6
  166. package/lib/dsl/setup/fetch/providers.d.ts.map +1 -0
  167. package/lib/{esm/dsl → dsl}/setup/fetch/providers.js +30 -16
  168. package/lib/dsl/setup/fetch/providers.js.map +1 -0
  169. package/lib/dsl/test/test-child-workflow.d.ts +4 -0
  170. package/lib/dsl/test/test-child-workflow.d.ts.map +1 -0
  171. package/lib/{esm/dsl → dsl}/test/test-child-workflow.js +1 -1
  172. package/lib/dsl/test/test-child-workflow.js.map +1 -0
  173. package/lib/{types/dsl → dsl}/validation.d.ts +1 -1
  174. package/lib/dsl/validation.d.ts.map +1 -0
  175. package/lib/{esm/dsl → dsl}/validation.js +8 -8
  176. package/lib/dsl/validation.js.map +1 -0
  177. package/lib/{types/dsl → dsl}/vars.d.ts +16 -16
  178. package/lib/dsl/vars.d.ts.map +1 -0
  179. package/lib/{esm/dsl → dsl}/vars.js +20 -15
  180. package/lib/dsl/vars.js.map +1 -0
  181. package/lib/dsl/walk.d.ts +18 -0
  182. package/lib/dsl/walk.d.ts.map +1 -0
  183. package/lib/{esm/dsl → dsl}/walk.js +37 -16
  184. package/lib/dsl/walk.js.map +1 -0
  185. package/lib/dsl.d.ts +4 -0
  186. package/lib/dsl.d.ts.map +1 -0
  187. package/lib/dsl.js +4 -0
  188. package/lib/dsl.js.map +1 -0
  189. package/lib/{types/errors.d.ts → errors.d.ts} +2 -2
  190. package/lib/errors.d.ts.map +1 -0
  191. package/lib/{esm/errors.js → errors.js} +22 -17
  192. package/lib/errors.js.map +1 -0
  193. package/lib/index.d.ts +36 -0
  194. package/lib/index.d.ts.map +1 -0
  195. package/lib/index.js +37 -0
  196. package/lib/index.js.map +1 -0
  197. package/lib/result-types.d.ts.map +1 -0
  198. package/lib/result-types.js.map +1 -0
  199. package/lib/security/ssrf.d.ts.map +1 -0
  200. package/lib/security/ssrf.js.map +1 -0
  201. package/lib/system/notifyWebhookWorkflow.d.ts +8 -0
  202. package/lib/system/notifyWebhookWorkflow.d.ts.map +1 -0
  203. package/lib/{esm/system → system}/notifyWebhookWorkflow.js +13 -12
  204. package/lib/system/notifyWebhookWorkflow.js.map +1 -0
  205. package/lib/{types/system → system}/recalculateEmbeddingsWorkflow.d.ts +1 -1
  206. package/lib/system/recalculateEmbeddingsWorkflow.d.ts.map +1 -0
  207. package/lib/{esm/system → system}/recalculateEmbeddingsWorkflow.js +7 -7
  208. package/lib/system/recalculateEmbeddingsWorkflow.js.map +1 -0
  209. package/lib/utils/activity-info.d.ts +12 -0
  210. package/lib/utils/activity-info.d.ts.map +1 -0
  211. package/lib/utils/activity-info.js +15 -0
  212. package/lib/utils/activity-info.js.map +1 -0
  213. package/lib/{types/utils → utils}/auth.d.ts +1 -1
  214. package/lib/utils/auth.d.ts.map +1 -0
  215. package/lib/utils/auth.js.map +1 -0
  216. package/lib/{types/utils → utils}/blobs.d.ts +1 -1
  217. package/lib/utils/blobs.d.ts.map +1 -0
  218. package/lib/{esm/utils → utils}/blobs.js +17 -16
  219. package/lib/utils/blobs.js.map +1 -0
  220. package/lib/utils/chunks.d.ts.map +1 -0
  221. package/lib/{esm/utils → utils}/chunks.js +1 -1
  222. package/lib/utils/chunks.js.map +1 -0
  223. package/lib/utils/client.d.ts +8 -0
  224. package/lib/utils/client.d.ts.map +1 -0
  225. package/lib/utils/client.js +64 -0
  226. package/lib/utils/client.js.map +1 -0
  227. package/lib/{types/utils → utils}/expand-vars.d.ts +1 -1
  228. package/lib/utils/expand-vars.d.ts.map +1 -0
  229. package/lib/{esm/utils → utils}/expand-vars.js +4 -1
  230. package/lib/utils/expand-vars.js.map +1 -0
  231. package/lib/{types/utils → utils}/renditions.d.ts +2 -2
  232. package/lib/utils/renditions.d.ts.map +1 -0
  233. package/lib/{esm/utils → utils}/renditions.js +29 -18
  234. package/lib/utils/renditions.js.map +1 -0
  235. package/lib/{types/utils → utils}/storage.d.ts +2 -2
  236. package/lib/utils/storage.d.ts.map +1 -0
  237. package/lib/{esm/utils → utils}/storage.js +13 -12
  238. package/lib/utils/storage.js.map +1 -0
  239. package/lib/{types/utils → utils}/text-preview-utils.d.ts +2 -2
  240. package/lib/utils/text-preview-utils.d.ts.map +1 -0
  241. package/lib/{esm/utils → utils}/text-preview-utils.js +4 -4
  242. package/lib/utils/text-preview-utils.js.map +1 -0
  243. package/lib/{types/utils → utils}/tokens.d.ts +1 -1
  244. package/lib/utils/tokens.d.ts.map +1 -0
  245. package/lib/{esm/utils → utils}/tokens.js +3 -3
  246. package/lib/utils/tokens.js.map +1 -0
  247. package/lib/vars.d.ts +3 -0
  248. package/lib/vars.d.ts.map +1 -0
  249. package/lib/vars.js +4 -0
  250. package/lib/vars.js.map +1 -0
  251. package/lib/workflows-bundle.js +5561 -2815
  252. package/lib/workflows.d.ts +7 -0
  253. package/lib/workflows.d.ts.map +1 -0
  254. package/lib/workflows.js +7 -0
  255. package/lib/workflows.js.map +1 -0
  256. package/package.json +47 -88
  257. package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +30 -17
  258. package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +51 -37
  259. package/src/activities/advanced/updateDocumentFromInteractionRun.ts +12 -11
  260. package/src/activities/chunkDocument.ts +87 -77
  261. package/src/activities/createDocumentFromOther.ts +19 -25
  262. package/src/activities/executeInteraction.test.ts +81 -8
  263. package/src/activities/executeInteraction.ts +147 -102
  264. package/src/activities/executeRemoteActivity.test.ts +61 -67
  265. package/src/activities/executeRemoteActivity.ts +56 -29
  266. package/src/activities/extractDocumentText.ts +75 -64
  267. package/src/activities/generateDocumentProperties.ts +69 -50
  268. package/src/activities/generateEmbeddings.test.ts +114 -0
  269. package/src/activities/generateEmbeddings.ts +113 -141
  270. package/src/activities/generateOrAssignContentType.ts +219 -231
  271. package/src/activities/getObjectFromStore.ts +11 -10
  272. package/src/activities/handleError.ts +23 -11
  273. package/src/activities/index-dsl.ts +30 -30
  274. package/src/activities/index.ts +1 -1
  275. package/src/activities/loadChildWorkflowSpec.ts +8 -3
  276. package/src/activities/media/prepareAudio.ts +47 -56
  277. package/src/activities/media/prepareVideo.ts +107 -122
  278. package/src/activities/media/probeMediaStreams.test.ts +11 -13
  279. package/src/activities/media/probeMediaStreams.ts +13 -15
  280. package/src/activities/media/processPdfWithTextract.ts +65 -46
  281. package/src/activities/media/saveGladiaTranscription.test.ts +122 -121
  282. package/src/activities/media/saveGladiaTranscription.ts +52 -26
  283. package/src/activities/media/transcribeMediaWithGladia.test.ts +173 -165
  284. package/src/activities/media/transcribeMediaWithGladia.ts +44 -28
  285. package/src/activities/mergeChildArtifacts.ts +36 -38
  286. package/src/activities/notifyWebhook.test.ts +223 -217
  287. package/src/activities/notifyWebhook.ts +67 -40
  288. package/src/activities/rateLimiter.ts +31 -30
  289. package/src/activities/renditions/generateImageRendition.ts +54 -64
  290. package/src/activities/renditions/generateVideoRendition.ts +87 -141
  291. package/src/activities/resolveRemoteActivities.test.ts +96 -88
  292. package/src/activities/resolveRemoteActivities.ts +32 -23
  293. package/src/activities/setDocumentStatus.ts +11 -7
  294. package/src/bulk-import.ts +11 -5
  295. package/src/conversion/TextractProcessor.ts +69 -71
  296. package/src/conversion/image.test.ts +31 -31
  297. package/src/conversion/image.ts +41 -38
  298. package/src/conversion/markitdown.ts +11 -11
  299. package/src/conversion/mutool.test.ts +77 -62
  300. package/src/conversion/mutool.ts +27 -49
  301. package/src/conversion/pandoc.test.ts +5 -6
  302. package/src/conversion/pandoc.ts +11 -11
  303. package/src/dsl/conditions.ts +35 -17
  304. package/src/dsl/dsl-workflow.test.ts +49 -39
  305. package/src/dsl/dsl-workflow.ts +200 -112
  306. package/src/dsl/dslProxyActivities.test.ts +23 -0
  307. package/src/dsl/dslProxyActivities.ts +46 -26
  308. package/src/dsl/ms.d.ts +34 -3
  309. package/src/dsl/projections.test.ts +108 -100
  310. package/src/dsl/projections.ts +46 -26
  311. package/src/dsl/setup/ActivityContext.test.ts +22 -23
  312. package/src/dsl/setup/ActivityContext.ts +39 -82
  313. package/src/dsl/setup/fetch/DataProvider.ts +11 -8
  314. package/src/dsl/setup/fetch/index.ts +6 -8
  315. package/src/dsl/setup/fetch/providers.ts +38 -24
  316. package/src/dsl/test/test-child-workflow.ts +3 -2
  317. package/src/dsl/validation.test.ts +232 -213
  318. package/src/dsl/validation.ts +17 -12
  319. package/src/dsl/vars.test.ts +143 -140
  320. package/src/dsl/vars.ts +61 -54
  321. package/src/dsl/walk.test.ts +61 -56
  322. package/src/dsl/walk.ts +61 -35
  323. package/src/dsl/workflow-exec-child.test.ts +77 -61
  324. package/src/dsl/workflow-fetch.test.ts +40 -38
  325. package/src/dsl/workflow-import.test.ts +27 -27
  326. package/src/dsl/workflow.test.ts +34 -33
  327. package/src/dsl.ts +3 -4
  328. package/src/errors.ts +31 -23
  329. package/src/index.ts +28 -33
  330. package/src/result-types.ts +6 -9
  331. package/src/system/notifyWebhookWorkflow.ts +23 -23
  332. package/src/system/recalculateEmbeddingsWorkflow.ts +14 -17
  333. package/src/utils/activity-info.ts +15 -0
  334. package/src/utils/auth.ts +1 -1
  335. package/src/utils/blobs.ts +19 -18
  336. package/src/utils/chunks.ts +7 -8
  337. package/src/utils/client.ts +57 -17
  338. package/src/utils/expand-vars.ts +9 -6
  339. package/src/utils/renditions.ts +68 -72
  340. package/src/utils/storage.ts +18 -22
  341. package/src/utils/text-preview-utils.ts +9 -19
  342. package/src/utils/tokens.ts +9 -11
  343. package/src/vars.ts +2 -2
  344. package/src/workflows.ts +3 -4
  345. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -33
  346. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  347. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -73
  348. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  349. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -19
  350. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  351. package/lib/cjs/activities/chunkDocument.js +0 -111
  352. package/lib/cjs/activities/chunkDocument.js.map +0 -1
  353. package/lib/cjs/activities/createDocumentFromOther.js +0 -64
  354. package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
  355. package/lib/cjs/activities/executeInteraction.js +0 -241
  356. package/lib/cjs/activities/executeInteraction.js.map +0 -1
  357. package/lib/cjs/activities/executeRemoteActivity.js +0 -126
  358. package/lib/cjs/activities/executeRemoteActivity.js.map +0 -1
  359. package/lib/cjs/activities/extractDocumentText.js +0 -196
  360. package/lib/cjs/activities/extractDocumentText.js.map +0 -1
  361. package/lib/cjs/activities/generateDocumentProperties.js +0 -109
  362. package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
  363. package/lib/cjs/activities/generateEmbeddings.js +0 -269
  364. package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
  365. package/lib/cjs/activities/generateOrAssignContentType.js +0 -173
  366. package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
  367. package/lib/cjs/activities/getObjectFromStore.js +0 -31
  368. package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
  369. package/lib/cjs/activities/handleError.js +0 -29
  370. package/lib/cjs/activities/handleError.js.map +0 -1
  371. package/lib/cjs/activities/index-dsl.js +0 -59
  372. package/lib/cjs/activities/index-dsl.js.map +0 -1
  373. package/lib/cjs/activities/index.js +0 -21
  374. package/lib/cjs/activities/index.js.map +0 -1
  375. package/lib/cjs/activities/loadChildWorkflowSpec.js +0 -15
  376. package/lib/cjs/activities/loadChildWorkflowSpec.js.map +0 -1
  377. package/lib/cjs/activities/media/prepareAudio.js +0 -240
  378. package/lib/cjs/activities/media/prepareAudio.js.map +0 -1
  379. package/lib/cjs/activities/media/prepareVideo.js +0 -432
  380. package/lib/cjs/activities/media/prepareVideo.js.map +0 -1
  381. package/lib/cjs/activities/media/probeMediaStreams.js +0 -49
  382. package/lib/cjs/activities/media/probeMediaStreams.js.map +0 -1
  383. package/lib/cjs/activities/media/processPdfWithTextract.js +0 -103
  384. package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
  385. package/lib/cjs/activities/media/saveGladiaTranscription.js +0 -103
  386. package/lib/cjs/activities/media/saveGladiaTranscription.js.map +0 -1
  387. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -107
  388. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
  389. package/lib/cjs/activities/mergeChildArtifacts.js +0 -150
  390. package/lib/cjs/activities/mergeChildArtifacts.js.map +0 -1
  391. package/lib/cjs/activities/notifyWebhook.js +0 -167
  392. package/lib/cjs/activities/notifyWebhook.js.map +0 -1
  393. package/lib/cjs/activities/rateLimiter.js +0 -30
  394. package/lib/cjs/activities/rateLimiter.js.map +0 -1
  395. package/lib/cjs/activities/renditions/generateImageRendition.js +0 -66
  396. package/lib/cjs/activities/renditions/generateImageRendition.js.map +0 -1
  397. package/lib/cjs/activities/renditions/generateVideoRendition.js +0 -200
  398. package/lib/cjs/activities/renditions/generateVideoRendition.js.map +0 -1
  399. package/lib/cjs/activities/resolveRemoteActivities.js +0 -133
  400. package/lib/cjs/activities/resolveRemoteActivities.js.map +0 -1
  401. package/lib/cjs/activities/setDocumentStatus.js +0 -26
  402. package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
  403. package/lib/cjs/bulk-import.js +0 -12
  404. package/lib/cjs/bulk-import.js.map +0 -1
  405. package/lib/cjs/conversion/TextractProcessor.js +0 -417
  406. package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
  407. package/lib/cjs/conversion/image.js +0 -149
  408. package/lib/cjs/conversion/image.js.map +0 -1
  409. package/lib/cjs/conversion/markitdown.js +0 -42
  410. package/lib/cjs/conversion/markitdown.js.map +0 -1
  411. package/lib/cjs/conversion/mutool.js +0 -147
  412. package/lib/cjs/conversion/mutool.js.map +0 -1
  413. package/lib/cjs/conversion/pandoc.js +0 -39
  414. package/lib/cjs/conversion/pandoc.js.map +0 -1
  415. package/lib/cjs/dsl/conditions.js +0 -81
  416. package/lib/cjs/dsl/conditions.js.map +0 -1
  417. package/lib/cjs/dsl/dsl-workflow.js +0 -458
  418. package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
  419. package/lib/cjs/dsl/dslProxyActivities.js +0 -23
  420. package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
  421. package/lib/cjs/dsl/projections.js +0 -59
  422. package/lib/cjs/dsl/projections.js.map +0 -1
  423. package/lib/cjs/dsl/setup/ActivityContext.js +0 -188
  424. package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
  425. package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
  426. package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
  427. package/lib/cjs/dsl/setup/fetch/index.js +0 -16
  428. package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
  429. package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
  430. package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
  431. package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
  432. package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
  433. package/lib/cjs/dsl/validation.js +0 -122
  434. package/lib/cjs/dsl/validation.js.map +0 -1
  435. package/lib/cjs/dsl/vars.js +0 -341
  436. package/lib/cjs/dsl/vars.js.map +0 -1
  437. package/lib/cjs/dsl/walk.js +0 -100
  438. package/lib/cjs/dsl/walk.js.map +0 -1
  439. package/lib/cjs/dsl.js +0 -20
  440. package/lib/cjs/dsl.js.map +0 -1
  441. package/lib/cjs/errors.js +0 -89
  442. package/lib/cjs/errors.js.map +0 -1
  443. package/lib/cjs/index.js +0 -57
  444. package/lib/cjs/index.js.map +0 -1
  445. package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
  446. package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
  447. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -72
  448. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
  449. package/lib/cjs/iterative-generation/activities/generatePart.js +0 -78
  450. package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
  451. package/lib/cjs/iterative-generation/activities/generateToc.js +0 -86
  452. package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
  453. package/lib/cjs/iterative-generation/activities/index.js +0 -12
  454. package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
  455. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
  456. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  457. package/lib/cjs/iterative-generation/types.js +0 -5
  458. package/lib/cjs/iterative-generation/types.js.map +0 -1
  459. package/lib/cjs/iterative-generation/utils.js +0 -121
  460. package/lib/cjs/iterative-generation/utils.js.map +0 -1
  461. package/lib/cjs/package.json +0 -3
  462. package/lib/cjs/result-types.js +0 -10
  463. package/lib/cjs/result-types.js.map +0 -1
  464. package/lib/cjs/security/ssrf.js +0 -34
  465. package/lib/cjs/security/ssrf.js.map +0 -1
  466. package/lib/cjs/system/notifyWebhookWorkflow.js +0 -53
  467. package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
  468. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -33
  469. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  470. package/lib/cjs/utils/auth.js +0 -15
  471. package/lib/cjs/utils/auth.js.map +0 -1
  472. package/lib/cjs/utils/blobs.js +0 -64
  473. package/lib/cjs/utils/blobs.js.map +0 -1
  474. package/lib/cjs/utils/chunks.js +0 -14
  475. package/lib/cjs/utils/chunks.js.map +0 -1
  476. package/lib/cjs/utils/client.js +0 -31
  477. package/lib/cjs/utils/client.js.map +0 -1
  478. package/lib/cjs/utils/expand-vars.js +0 -33
  479. package/lib/cjs/utils/expand-vars.js.map +0 -1
  480. package/lib/cjs/utils/memory.js +0 -65
  481. package/lib/cjs/utils/memory.js.map +0 -1
  482. package/lib/cjs/utils/renditions.js +0 -92
  483. package/lib/cjs/utils/renditions.js.map +0 -1
  484. package/lib/cjs/utils/storage.js +0 -54
  485. package/lib/cjs/utils/storage.js.map +0 -1
  486. package/lib/cjs/utils/text-preview-utils.js +0 -43
  487. package/lib/cjs/utils/text-preview-utils.js.map +0 -1
  488. package/lib/cjs/utils/tokens.js +0 -38
  489. package/lib/cjs/utils/tokens.js.map +0 -1
  490. package/lib/cjs/vars.js +0 -20
  491. package/lib/cjs/vars.js.map +0 -1
  492. package/lib/cjs/workflows.js +0 -15
  493. package/lib/cjs/workflows.js.map +0 -1
  494. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  495. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  496. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -16
  497. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  498. package/lib/esm/activities/chunkDocument.js.map +0 -1
  499. package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
  500. package/lib/esm/activities/executeInteraction.js.map +0 -1
  501. package/lib/esm/activities/executeRemoteActivity.js.map +0 -1
  502. package/lib/esm/activities/extractDocumentText.js.map +0 -1
  503. package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
  504. package/lib/esm/activities/generateEmbeddings.js.map +0 -1
  505. package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
  506. package/lib/esm/activities/getObjectFromStore.js.map +0 -1
  507. package/lib/esm/activities/handleError.js +0 -26
  508. package/lib/esm/activities/handleError.js.map +0 -1
  509. package/lib/esm/activities/index-dsl.js +0 -29
  510. package/lib/esm/activities/index-dsl.js.map +0 -1
  511. package/lib/esm/activities/index.js.map +0 -1
  512. package/lib/esm/activities/loadChildWorkflowSpec.js.map +0 -1
  513. package/lib/esm/activities/media/prepareAudio.js.map +0 -1
  514. package/lib/esm/activities/media/prepareVideo.js.map +0 -1
  515. package/lib/esm/activities/media/probeMediaStreams.js.map +0 -1
  516. package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
  517. package/lib/esm/activities/media/saveGladiaTranscription.js.map +0 -1
  518. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
  519. package/lib/esm/activities/mergeChildArtifacts.js.map +0 -1
  520. package/lib/esm/activities/notifyWebhook.js.map +0 -1
  521. package/lib/esm/activities/rateLimiter.js.map +0 -1
  522. package/lib/esm/activities/renditions/generateImageRendition.js +0 -63
  523. package/lib/esm/activities/renditions/generateImageRendition.js.map +0 -1
  524. package/lib/esm/activities/renditions/generateVideoRendition.js.map +0 -1
  525. package/lib/esm/activities/resolveRemoteActivities.js.map +0 -1
  526. package/lib/esm/activities/setDocumentStatus.js.map +0 -1
  527. package/lib/esm/bulk-import.js.map +0 -1
  528. package/lib/esm/conversion/TextractProcessor.js.map +0 -1
  529. package/lib/esm/conversion/image.js.map +0 -1
  530. package/lib/esm/conversion/markitdown.js.map +0 -1
  531. package/lib/esm/conversion/mutool.js.map +0 -1
  532. package/lib/esm/conversion/pandoc.js.map +0 -1
  533. package/lib/esm/dsl/conditions.js +0 -75
  534. package/lib/esm/dsl/conditions.js.map +0 -1
  535. package/lib/esm/dsl/dsl-workflow.js.map +0 -1
  536. package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
  537. package/lib/esm/dsl/projections.js.map +0 -1
  538. package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
  539. package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
  540. package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
  541. package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
  542. package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
  543. package/lib/esm/dsl/validation.js.map +0 -1
  544. package/lib/esm/dsl/vars.js.map +0 -1
  545. package/lib/esm/dsl/walk.js.map +0 -1
  546. package/lib/esm/dsl.js +0 -4
  547. package/lib/esm/dsl.js.map +0 -1
  548. package/lib/esm/errors.js.map +0 -1
  549. package/lib/esm/index.js +0 -39
  550. package/lib/esm/index.js.map +0 -1
  551. package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
  552. package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
  553. package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -69
  554. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
  555. package/lib/esm/iterative-generation/activities/generatePart.js +0 -75
  556. package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
  557. package/lib/esm/iterative-generation/activities/generateToc.js +0 -83
  558. package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
  559. package/lib/esm/iterative-generation/activities/index.js +0 -5
  560. package/lib/esm/iterative-generation/activities/index.js.map +0 -1
  561. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
  562. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  563. package/lib/esm/iterative-generation/types.js +0 -2
  564. package/lib/esm/iterative-generation/types.js.map +0 -1
  565. package/lib/esm/iterative-generation/utils.js +0 -112
  566. package/lib/esm/iterative-generation/utils.js.map +0 -1
  567. package/lib/esm/result-types.js.map +0 -1
  568. package/lib/esm/security/ssrf.js.map +0 -1
  569. package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
  570. package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  571. package/lib/esm/utils/auth.js.map +0 -1
  572. package/lib/esm/utils/blobs.js.map +0 -1
  573. package/lib/esm/utils/chunks.js.map +0 -1
  574. package/lib/esm/utils/client.js +0 -27
  575. package/lib/esm/utils/client.js.map +0 -1
  576. package/lib/esm/utils/expand-vars.js.map +0 -1
  577. package/lib/esm/utils/memory.js +0 -55
  578. package/lib/esm/utils/memory.js.map +0 -1
  579. package/lib/esm/utils/renditions.js.map +0 -1
  580. package/lib/esm/utils/storage.js.map +0 -1
  581. package/lib/esm/utils/text-preview-utils.js.map +0 -1
  582. package/lib/esm/utils/tokens.js.map +0 -1
  583. package/lib/esm/vars.js +0 -4
  584. package/lib/esm/vars.js.map +0 -1
  585. package/lib/esm/workflows.js +0 -8
  586. package/lib/esm/workflows.js.map +0 -1
  587. package/lib/tsconfig.tsbuildinfo +0 -1
  588. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
  589. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
  590. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
  591. package/lib/types/activities/chunkDocument.d.ts.map +0 -1
  592. package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
  593. package/lib/types/activities/executeInteraction.d.ts.map +0 -1
  594. package/lib/types/activities/executeRemoteActivity.d.ts.map +0 -1
  595. package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
  596. package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
  597. package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
  598. package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
  599. package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
  600. package/lib/types/activities/handleError.d.ts.map +0 -1
  601. package/lib/types/activities/index-dsl.d.ts +0 -31
  602. package/lib/types/activities/index-dsl.d.ts.map +0 -1
  603. package/lib/types/activities/index.d.ts.map +0 -1
  604. package/lib/types/activities/loadChildWorkflowSpec.d.ts.map +0 -1
  605. package/lib/types/activities/media/prepareAudio.d.ts.map +0 -1
  606. package/lib/types/activities/media/prepareVideo.d.ts.map +0 -1
  607. package/lib/types/activities/media/probeMediaStreams.d.ts.map +0 -1
  608. package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
  609. package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +0 -1
  610. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
  611. package/lib/types/activities/mergeChildArtifacts.d.ts.map +0 -1
  612. package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
  613. package/lib/types/activities/rateLimiter.d.ts.map +0 -1
  614. package/lib/types/activities/renditions/generateImageRendition.d.ts.map +0 -1
  615. package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +0 -1
  616. package/lib/types/activities/resolveRemoteActivities.d.ts.map +0 -1
  617. package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
  618. package/lib/types/bulk-import.d.ts.map +0 -1
  619. package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
  620. package/lib/types/conversion/image.d.ts.map +0 -1
  621. package/lib/types/conversion/markitdown.d.ts.map +0 -1
  622. package/lib/types/conversion/mutool.d.ts.map +0 -1
  623. package/lib/types/conversion/pandoc.d.ts.map +0 -1
  624. package/lib/types/dsl/conditions.d.ts +0 -2
  625. package/lib/types/dsl/conditions.d.ts.map +0 -1
  626. package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
  627. package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
  628. package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
  629. package/lib/types/dsl/projections.d.ts +0 -4
  630. package/lib/types/dsl/projections.d.ts.map +0 -1
  631. package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
  632. package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
  633. package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
  634. package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
  635. package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
  636. package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
  637. package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
  638. package/lib/types/dsl/validation.d.ts.map +0 -1
  639. package/lib/types/dsl/vars.d.ts.map +0 -1
  640. package/lib/types/dsl/walk.d.ts +0 -18
  641. package/lib/types/dsl/walk.d.ts.map +0 -1
  642. package/lib/types/dsl.d.ts +0 -4
  643. package/lib/types/dsl.d.ts.map +0 -1
  644. package/lib/types/errors.d.ts.map +0 -1
  645. package/lib/types/index.d.ts +0 -38
  646. package/lib/types/index.d.ts.map +0 -1
  647. package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
  648. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
  649. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
  650. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
  651. package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
  652. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
  653. package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
  654. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
  655. package/lib/types/iterative-generation/activities/index.d.ts +0 -5
  656. package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
  657. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
  658. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
  659. package/lib/types/iterative-generation/types.d.ts +0 -79
  660. package/lib/types/iterative-generation/types.d.ts.map +0 -1
  661. package/lib/types/iterative-generation/utils.d.ts +0 -26
  662. package/lib/types/iterative-generation/utils.d.ts.map +0 -1
  663. package/lib/types/result-types.d.ts.map +0 -1
  664. package/lib/types/security/ssrf.d.ts.map +0 -1
  665. package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -8
  666. package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
  667. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
  668. package/lib/types/utils/auth.d.ts.map +0 -1
  669. package/lib/types/utils/blobs.d.ts.map +0 -1
  670. package/lib/types/utils/chunks.d.ts.map +0 -1
  671. package/lib/types/utils/client.d.ts +0 -8
  672. package/lib/types/utils/client.d.ts.map +0 -1
  673. package/lib/types/utils/expand-vars.d.ts.map +0 -1
  674. package/lib/types/utils/memory.d.ts +0 -8
  675. package/lib/types/utils/memory.d.ts.map +0 -1
  676. package/lib/types/utils/renditions.d.ts.map +0 -1
  677. package/lib/types/utils/storage.d.ts.map +0 -1
  678. package/lib/types/utils/text-preview-utils.d.ts.map +0 -1
  679. package/lib/types/utils/tokens.d.ts.map +0 -1
  680. package/lib/types/vars.d.ts +0 -3
  681. package/lib/types/vars.d.ts.map +0 -1
  682. package/lib/types/workflows.d.ts +0 -8
  683. package/lib/types/workflows.d.ts.map +0 -1
  684. package/src/iterative-generation/activities/extractToc.ts +0 -63
  685. package/src/iterative-generation/activities/finalizeOutput.ts +0 -100
  686. package/src/iterative-generation/activities/generatePart.ts +0 -123
  687. package/src/iterative-generation/activities/generateToc.ts +0 -116
  688. package/src/iterative-generation/activities/index.ts +0 -4
  689. package/src/iterative-generation/iterativeGenerationWorkflow.ts +0 -68
  690. package/src/iterative-generation/types.ts +0 -99
  691. package/src/iterative-generation/utils.ts +0 -126
  692. package/src/utils/memory.ts +0 -61
  693. /package/lib/{esm/bulk-import.js → bulk-import.js} +0 -0
  694. /package/lib/{types/conversion → conversion}/image.d.ts +0 -0
  695. /package/lib/{types/conversion → conversion}/markitdown.d.ts +0 -0
  696. /package/lib/{types/conversion → conversion}/mutool.d.ts +0 -0
  697. /package/lib/{types/conversion → conversion}/pandoc.d.ts +0 -0
  698. /package/lib/{types/result-types.d.ts → result-types.d.ts} +0 -0
  699. /package/lib/{esm/result-types.js → result-types.js} +0 -0
  700. /package/lib/{types/security → security}/ssrf.d.ts +0 -0
  701. /package/lib/{esm/security → security}/ssrf.js +0 -0
  702. /package/lib/{esm/utils → utils}/auth.js +0 -0
  703. /package/lib/{types/utils → utils}/chunks.d.ts +0 -0
@@ -1,4 +1,8 @@
1
- import { DSLActivityExecutionPayload, DSLWorkflowSpec } from '@vertesia/common';
1
+ import {
2
+ type DSLActivityExecutionPayload,
3
+ type DSLWorkflowSpec,
4
+ withDSLWorkflowSpecDiscriminator,
5
+ } from '@vertesia/common';
2
6
  import { setupActivity } from '../dsl/setup/ActivityContext.js';
3
7
 
4
8
  export interface LoadChildWorkflowSpecParams {
@@ -12,10 +16,11 @@ export async function loadChildWorkflowSpec(
12
16
  const { workflowName } = params;
13
17
 
14
18
  const refs = await client.store.workflows.definitions.list();
15
- const ref = refs.find(r => r.name === workflowName);
19
+ const ref = refs.find((r) => r.name === workflowName);
16
20
  if (!ref) {
17
21
  throw new Error(`Workflow definition not found: ${workflowName}`);
18
22
  }
19
23
 
20
- return client.store.workflows.definitions.retrieve(ref.id) as Promise<DSLWorkflowSpec>;
24
+ const definition = await client.store.workflows.definitions.retrieve(ref.id);
25
+ return withDSLWorkflowSpecDiscriminator(definition);
21
26
  }
@@ -1,17 +1,24 @@
1
+ import { execFile as execFileCallback } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { promisify } from 'node:util';
1
6
  import { log } from '@temporalio/activity';
2
- import { DSLActivityExecutionPayload, DSLActivitySpec, AudioMetadata, AUDIO_RENDITION_NAME, ContentNature, Rendition } from '@vertesia/common';
3
- import { exec } from 'child_process';
4
- import fs from 'fs';
5
- import os from 'os';
6
- import path from 'path';
7
- import { promisify } from 'util';
7
+ import { RequestError } from '@vertesia/api-fetch-client';
8
+ import type { VertesiaClient } from '@vertesia/client';
9
+ import {
10
+ AUDIO_RENDITION_NAME,
11
+ type AudioMetadata,
12
+ ContentNature,
13
+ type DSLActivityExecutionPayload,
14
+ type DSLActivitySpec,
15
+ type Rendition,
16
+ } from '@vertesia/common';
8
17
  import { setupActivity } from '../../dsl/setup/ActivityContext.js';
9
18
  import { DocumentNotFoundError, InvalidContentTypeError } from '../../errors.js';
10
19
  import { saveBlobToTempFile } from '../../utils/blobs.js';
11
- import { VertesiaClient } from '@vertesia/client';
12
- import { RequestError } from '@vertesia/api-fetch-client';
13
20
 
14
- const execAsync = promisify(exec);
21
+ const execFileAsync = promisify(execFileCallback);
15
22
 
16
23
  // Default configuration constants
17
24
  const DEFAULT_AUDIO_BITRATE = '128k'; // Default audio bitrate for AAC encoding
@@ -71,13 +78,11 @@ export interface PrepareAudioResult {
71
78
  */
72
79
  async function getAudioMetadata(audioPath: string): Promise<AudioMetadataExtended> {
73
80
  try {
74
- const command = `ffprobe -v quiet -print_format json -show_format -show_streams "${audioPath}"`;
75
- const { stdout } = await execAsync(command);
76
- const metadata = JSON.parse(stdout) as FFProbeOutput;
81
+ const args = ['-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', audioPath];
82
+ const { stdout } = await execFileAsync('ffprobe', args);
83
+ const metadata = JSON.parse(stdout.toString()) as FFProbeOutput;
77
84
 
78
- const audioStream = metadata.streams.find(
79
- (stream) => stream.codec_type === 'audio',
80
- );
85
+ const audioStream = metadata.streams.find((stream) => stream.codec_type === 'audio');
81
86
 
82
87
  if (!audioStream) {
83
88
  throw new Error('No audio stream found in file');
@@ -91,12 +96,8 @@ async function getAudioMetadata(audioPath: string): Promise<AudioMetadataExtende
91
96
 
92
97
  return { duration, codec, bitrate, sampleRate, channels };
93
98
  } catch (error) {
94
- log.error(
95
- `Failed to get audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`,
96
- );
97
- throw new Error(
98
- `Failed to probe audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`,
99
- );
99
+ log.error(`Failed to get audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
100
+ throw new Error(`Failed to probe audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
100
101
  }
101
102
  }
102
103
 
@@ -112,22 +113,26 @@ async function generateAudioRendition(
112
113
  const outputFile = path.join(outputDir, 'audio.m4a');
113
114
 
114
115
  const command = [
115
- 'ffmpeg',
116
116
  '-y', // Overwrite output
117
- '-i', `"${audioPath}"`,
118
- '-c:a', 'aac', // AAC codec
119
- '-b:a', audioBitrate, // Audio bitrate
120
- '-movflags', '+faststart', // Enable streaming
121
- `"${outputFile}"`,
122
- ].join(' ');
123
-
124
- log.info('Generating web audio rendition (AAC M4A)', { command, audioBitrate });
117
+ '-i',
118
+ audioPath,
119
+ '-c:a',
120
+ 'aac', // AAC codec
121
+ '-b:a',
122
+ audioBitrate, // Audio bitrate
123
+ '-movflags',
124
+ '+faststart', // Enable streaming
125
+ outputFile,
126
+ ];
127
+
128
+ log.info('Generating web audio rendition (AAC M4A)', { command: 'ffmpeg', args: command, audioBitrate });
125
129
 
126
130
  try {
127
- const { stderr } = await execAsync(command, { maxBuffer: FFMPEG_MAX_BUFFER });
131
+ const { stderr } = await execFileAsync('ffmpeg', command, { maxBuffer: FFMPEG_MAX_BUFFER });
132
+ const stderrText = stderr.toString();
128
133
 
129
- if (stderr && !stderr.includes('frame=')) {
130
- log.debug(`FFmpeg stderr for audio rendition: ${stderr}`);
134
+ if (stderrText && !stderrText.includes('frame=')) {
135
+ log.debug(`FFmpeg stderr for audio rendition: ${stderrText}`);
131
136
  }
132
137
 
133
138
  // Verify output file was created
@@ -140,9 +145,7 @@ async function generateAudioRendition(
140
145
  return null;
141
146
  }
142
147
  } catch (error) {
143
- log.error(
144
- `Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`,
145
- );
148
+ log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
146
149
  return null;
147
150
  }
148
151
  }
@@ -197,11 +200,7 @@ async function uploadAudioAsRendition(
197
200
  export async function prepareAudio(
198
201
  payload: DSLActivityExecutionPayload<PrepareAudioParams>,
199
202
  ): Promise<PrepareAudioResult> {
200
- const {
201
- client,
202
- objectId,
203
- params,
204
- } = await setupActivity<PrepareAudioParams>(payload);
203
+ const { client, objectId, params } = await setupActivity<PrepareAudioParams>(payload);
205
204
 
206
205
  const audioBitrate = params.audioBitrate ?? DEFAULT_AUDIO_BITRATE;
207
206
 
@@ -221,14 +220,12 @@ export async function prepareAudio(
221
220
  throw new DocumentNotFoundError(`Document ${objectId} has no source`, [objectId]);
222
221
  }
223
222
 
224
- if (!inputObject.content.type ||
225
- (!inputObject.content.type.startsWith('audio/') && !inputObject.content.type.startsWith('video/'))) {
223
+ if (
224
+ !inputObject.content.type ||
225
+ (!inputObject.content.type.startsWith('audio/') && !inputObject.content.type.startsWith('video/'))
226
+ ) {
226
227
  log.error(`Document ${objectId} is not an audio file: ${inputObject.content.type}`);
227
- throw new InvalidContentTypeError(
228
- objectId,
229
- 'audio/* or video/*',
230
- inputObject.content.type || 'unknown',
231
- );
228
+ throw new InvalidContentTypeError(objectId, 'audio/* or video/*', inputObject.content.type || 'unknown');
232
229
  }
233
230
 
234
231
  // Download audio to temp file
@@ -242,11 +239,7 @@ export async function prepareAudio(
242
239
 
243
240
  // Step 2: Generate web audio rendition (AAC M4A)
244
241
  log.info('Generating web audio rendition');
245
- const renditionFile = await generateAudioRendition(
246
- audioFile,
247
- tempOutputDir,
248
- audioBitrate,
249
- );
242
+ const renditionFile = await generateAudioRendition(audioFile, tempOutputDir, audioBitrate);
250
243
 
251
244
  // Step 3: Upload generated rendition
252
245
  const renditions: Rendition[] = [];
@@ -307,9 +300,7 @@ export async function prepareAudio(
307
300
  }
308
301
 
309
302
  // Wrap unknown errors in Error
310
- throw new Error(
311
- `Failed to prepare audio ${objectId}: ${errorMessage}`,
312
- );
303
+ throw new Error(`Failed to prepare audio ${objectId}: ${errorMessage}`);
313
304
  } finally {
314
305
  // Clean up temporary files
315
306
  const cleanupPromises: Promise<void>[] = [];
@@ -1,17 +1,26 @@
1
+ import { execFile as execFileCallback } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { promisify } from 'node:util';
1
6
  import { ApplicationFailure, log } from '@temporalio/activity';
2
- import { DSLActivityExecutionPayload, DSLActivitySpec, VideoMetadata, VideoRendition, POSTER_RENDITION_NAME, AUDIO_RENDITION_NAME, WEB_VIDEO_RENDITION_NAME, ContentNature } from '@vertesia/common';
3
- import { exec } from 'child_process';
4
- import fs from 'fs';
5
- import os from 'os';
6
- import path from 'path';
7
- import { promisify } from 'util';
7
+ import { RequestError } from '@vertesia/api-fetch-client';
8
+ import type { VertesiaClient } from '@vertesia/client';
9
+ import {
10
+ AUDIO_RENDITION_NAME,
11
+ ContentNature,
12
+ type DSLActivityExecutionPayload,
13
+ type DSLActivitySpec,
14
+ POSTER_RENDITION_NAME,
15
+ type RenditionWithDimensions,
16
+ type VideoMetadata,
17
+ WEB_VIDEO_RENDITION_NAME,
18
+ } from '@vertesia/common';
8
19
  import { setupActivity } from '../../dsl/setup/ActivityContext.js';
9
20
  import { DocumentNotFoundError, InvalidContentTypeError } from '../../errors.js';
10
21
  import { saveBlobToTempFile } from '../../utils/blobs.js';
11
- import { VertesiaClient } from '@vertesia/client';
12
- import { RequestError } from '@vertesia/api-fetch-client';
13
22
 
14
- const execAsync = promisify(exec);
23
+ const execFileAsync = promisify(execFileCallback);
15
24
 
16
25
  // Default configuration constants
17
26
  const DEFAULT_MAX_RESOLUTION = 1920; // Max resolution for video rendition (produces 1080p)
@@ -75,13 +84,11 @@ interface FFProbeOutput {
75
84
  */
76
85
  async function getVideoMetadata(videoPath: string): Promise<VideoMetadataExtended> {
77
86
  try {
78
- const command = `ffprobe -v quiet -print_format json -show_format -show_streams "${videoPath}"`;
79
- const { stdout } = await execAsync(command);
80
- const metadata = JSON.parse(stdout) as FFProbeOutput;
87
+ const args = ['-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', videoPath];
88
+ const { stdout } = await execFileAsync('ffprobe', args);
89
+ const metadata = JSON.parse(stdout.toString()) as FFProbeOutput;
81
90
 
82
- const videoStream = metadata.streams.find(
83
- (stream) => stream.codec_type === 'video',
84
- );
91
+ const videoStream = metadata.streams.find((stream) => stream.codec_type === 'video');
85
92
 
86
93
  if (!videoStream) {
87
94
  throw ApplicationFailure.nonRetryable('No video stream found in file');
@@ -101,22 +108,16 @@ async function getVideoMetadata(videoPath: string): Promise<VideoMetadataExtende
101
108
  }
102
109
 
103
110
  // Check if video has an audio stream
104
- const audioStream = metadata.streams.find(
105
- (stream) => stream.codec_type === 'audio',
106
- );
111
+ const audioStream = metadata.streams.find((stream) => stream.codec_type === 'audio');
107
112
  const hasAudio = !!audioStream;
108
113
 
109
114
  return { duration, width, height, codec, bitrate, fps, hasAudio };
110
115
  } catch (error) {
111
- log.error(
112
- `Failed to get video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`,
113
- );
116
+ log.error(`Failed to get video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
114
117
  if (error instanceof ApplicationFailure) {
115
118
  throw error;
116
119
  }
117
- throw new Error(
118
- `Failed to probe video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`,
119
- );
120
+ throw new Error(`Failed to probe video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
120
121
  }
121
122
  }
122
123
 
@@ -170,7 +171,7 @@ export interface PrepareVideoMetadata {
170
171
  export interface PrepareVideoResult {
171
172
  objectId: string;
172
173
  metadata: PrepareVideoMetadata;
173
- renditions: VideoRendition[];
174
+ renditions: RenditionWithDimensions[];
174
175
  status: 'success';
175
176
  }
176
177
 
@@ -178,7 +179,7 @@ export interface PrepareVideoResult {
178
179
  * Generate a video rendition with resolution limited to maxResolution (e.g., 1080p)
179
180
  * Uses H.264 codec for broad compatibility
180
181
  */
181
- async function generateVideoRendition(
182
+ async function generateRenditionWithDimensions(
182
183
  videoPath: string,
183
184
  outputDir: string,
184
185
  metadata: VideoMetadataExtended,
@@ -189,35 +190,47 @@ async function generateVideoRendition(
189
190
  // Calculate scaled dimensions
190
191
  const dimensions = calculateScaledDimensions(metadata.width, metadata.height, maxResolution);
191
192
 
192
- log.info(`Video rendition dimensions: ${metadata.width}x${metadata.height} -> ${dimensions.width}x${dimensions.height}`);
193
+ log.info(
194
+ `Video rendition dimensions: ${metadata.width}x${metadata.height} -> ${dimensions.width}x${dimensions.height}`,
195
+ );
193
196
 
194
197
  // Combine scale with color space conversion for maximum web compatibility
195
198
  // format=yuv420p converts to 4:2:0 chroma subsampling (from ProRes 4:2:2 or higher)
196
199
  const videoFilters = `scale=${dimensions.width}:${dimensions.height},format=yuv420p`;
197
200
 
198
201
  const command = [
199
- 'ffmpeg',
200
202
  '-y', // Overwrite output
201
- '-i', `"${videoPath}"`,
202
- '-vf', `"${videoFilters}"`,
203
- '-c:v', 'libx264', // H.264 codec
204
- '-preset', 'medium', // Balance between speed and compression
205
- '-crf', VIDEO_CRF, // Constant Rate Factor (18-28, lower = better quality)
206
- '-pix_fmt', 'yuv420p', // Explicitly set pixel format for compatibility
207
- '-c:a', 'aac', // Audio codec
208
- '-b:a', AUDIO_BITRATE, // Audio bitrate
209
- '-movflags', '+faststart', // Enable streaming
210
- '-max_muxing_queue_size', '1024', // Prevent muxing issues
211
- `"${outputFile}"`,
212
- ].join(' ');
213
-
214
- log.info(`Generating ${maxResolution}p video rendition`, { command });
203
+ '-i',
204
+ videoPath,
205
+ '-vf',
206
+ videoFilters,
207
+ '-c:v',
208
+ 'libx264', // H.264 codec
209
+ '-preset',
210
+ 'medium', // Balance between speed and compression
211
+ '-crf',
212
+ VIDEO_CRF, // Constant Rate Factor (18-28, lower = better quality)
213
+ '-pix_fmt',
214
+ 'yuv420p', // Explicitly set pixel format for compatibility
215
+ '-c:a',
216
+ 'aac', // Audio codec
217
+ '-b:a',
218
+ AUDIO_BITRATE, // Audio bitrate
219
+ '-movflags',
220
+ '+faststart', // Enable streaming
221
+ '-max_muxing_queue_size',
222
+ '1024', // Prevent muxing issues
223
+ outputFile,
224
+ ];
225
+
226
+ log.info(`Generating ${maxResolution}p video rendition`, { command: 'ffmpeg', args: command });
215
227
 
216
228
  try {
217
- const { stderr } = await execAsync(command, { maxBuffer: FFMPEG_MAX_BUFFER });
229
+ const { stderr } = await execFileAsync('ffmpeg', command, { maxBuffer: FFMPEG_MAX_BUFFER });
230
+ const stderrText = stderr.toString();
218
231
 
219
- if (stderr && !stderr.includes('frame=')) {
220
- log.debug(`FFmpeg stderr for video rendition: ${stderr}`);
232
+ if (stderrText && !stderrText.includes('frame=')) {
233
+ log.debug(`FFmpeg stderr for video rendition: ${stderrText}`);
221
234
  }
222
235
 
223
236
  // Verify output file was created
@@ -234,9 +247,7 @@ async function generateVideoRendition(
234
247
  return null;
235
248
  }
236
249
  } catch (error) {
237
- log.error(
238
- `Failed to generate video rendition: ${error instanceof Error ? error.message : 'Unknown error'}`,
239
- );
250
+ log.error(`Failed to generate video rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
240
251
  return null;
241
252
  }
242
253
  }
@@ -244,29 +255,29 @@ async function generateVideoRendition(
244
255
  /**
245
256
  * Extract audio track from video as AAC audio file
246
257
  */
247
- async function generateAudioRendition(
248
- videoPath: string,
249
- outputDir: string,
250
- ): Promise<string | null> {
258
+ async function generateAudioRendition(videoPath: string, outputDir: string): Promise<string | null> {
251
259
  const outputFile = path.join(outputDir, 'audio.m4a');
252
260
 
253
261
  const command = [
254
- 'ffmpeg',
255
262
  '-y', // Overwrite output
256
- '-i', `"${videoPath}"`,
263
+ '-i',
264
+ videoPath,
257
265
  '-vn', // No video
258
- '-c:a', 'aac', // Audio codec
259
- '-b:a', AUDIO_BITRATE, // Audio bitrate
260
- `"${outputFile}"`,
261
- ].join(' ');
266
+ '-c:a',
267
+ 'aac', // Audio codec
268
+ '-b:a',
269
+ AUDIO_BITRATE, // Audio bitrate
270
+ outputFile,
271
+ ];
262
272
 
263
- log.info('Generating audio-only rendition', { command });
273
+ log.info('Generating audio-only rendition', { command: 'ffmpeg', args: command });
264
274
 
265
275
  try {
266
- const { stderr } = await execAsync(command, { maxBuffer: FFMPEG_MAX_BUFFER });
276
+ const { stderr } = await execFileAsync('ffmpeg', command, { maxBuffer: FFMPEG_MAX_BUFFER });
277
+ const stderrText = stderr.toString();
267
278
 
268
- if (stderr && !stderr.includes('frame=')) {
269
- log.debug(`FFmpeg stderr for audio rendition: ${stderr}`);
279
+ if (stderrText && !stderrText.includes('frame=')) {
280
+ log.debug(`FFmpeg stderr for audio rendition: ${stderrText}`);
270
281
  }
271
282
 
272
283
  // Verify output file was created
@@ -279,9 +290,7 @@ async function generateAudioRendition(
279
290
  return null;
280
291
  }
281
292
  } catch (error) {
282
- log.error(
283
- `Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`,
284
- );
293
+ log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
285
294
  return null;
286
295
  }
287
296
  }
@@ -305,23 +314,28 @@ async function generateScreenshot(
305
314
  const scaleFilter = `scale=${dimensions.width}:${dimensions.height}`;
306
315
 
307
316
  const command = [
308
- 'ffmpeg',
309
317
  '-y',
310
- '-ss', timestamp.toString(),
311
- '-i', `"${videoPath}"`,
312
- '-vframes', '1',
313
- '-vf', `"${scaleFilter}"`,
314
- '-q:v', JPEG_QUALITY, // High quality JPEG
315
- `"${outputFile}"`,
316
- ].join(' ');
317
-
318
- log.info(`Generating ${name} at ${timestamp}s`, { command });
318
+ '-ss',
319
+ timestamp.toString(),
320
+ '-i',
321
+ videoPath,
322
+ '-vframes',
323
+ '1',
324
+ '-vf',
325
+ scaleFilter,
326
+ '-q:v',
327
+ JPEG_QUALITY, // High quality JPEG
328
+ outputFile,
329
+ ];
330
+
331
+ log.info(`Generating ${name} at ${timestamp}s`, { command: 'ffmpeg', args: command });
319
332
 
320
333
  try {
321
- const { stderr } = await execAsync(command);
334
+ const { stderr } = await execFileAsync('ffmpeg', command);
335
+ const stderrText = stderr.toString();
322
336
 
323
- if (stderr && !stderr.includes('frame=')) {
324
- log.debug(`FFmpeg stderr for ${name}: ${stderr}`);
337
+ if (stderrText && !stderrText.includes('frame=')) {
338
+ log.debug(`FFmpeg stderr for ${name}: ${stderrText}`);
325
339
  }
326
340
 
327
341
  // Verify output file was created
@@ -338,9 +352,7 @@ async function generateScreenshot(
338
352
  return null;
339
353
  }
340
354
  } catch (error) {
341
- log.error(
342
- `Failed to generate ${name}: ${error instanceof Error ? error.message : 'Unknown error'}`,
343
- );
355
+ log.error(`Failed to generate ${name}: ${error instanceof Error ? error.message : 'Unknown error'}`);
344
356
  return null;
345
357
  }
346
358
  }
@@ -376,7 +388,7 @@ async function uploadMediaAsRendition(
376
388
  mimeType: string,
377
389
  etag: string,
378
390
  pathSegment: string,
379
- ): Promise<VideoRendition> {
391
+ ): Promise<RenditionWithDimensions> {
380
392
  const storagePath = `renditions/${etag}/${pathSegment}/${fileName}`;
381
393
  const uri = await uploadFile(client, result.file, mimeType, fileName, storagePath);
382
394
 
@@ -400,11 +412,7 @@ async function uploadMediaAsRendition(
400
412
  export async function prepareVideo(
401
413
  payload: DSLActivityExecutionPayload<PrepareVideoParams>,
402
414
  ): Promise<PrepareVideoResult> {
403
- const {
404
- client,
405
- objectId,
406
- params,
407
- } = await setupActivity<PrepareVideoParams>(payload);
415
+ const { client, objectId, params } = await setupActivity<PrepareVideoParams>(payload);
408
416
 
409
417
  const maxResolution = params.maxResolution ?? DEFAULT_MAX_RESOLUTION;
410
418
  const thumbnailSize = params.thumbnailSize ?? DEFAULT_THUMBNAIL_SIZE;
@@ -431,13 +439,9 @@ export async function prepareVideo(
431
439
  throw new DocumentNotFoundError(`Document ${objectId} has no source`, [objectId]);
432
440
  }
433
441
 
434
- if (!inputObject.content.type || !inputObject.content.type.startsWith('video/')) {
442
+ if (!inputObject.content.type?.startsWith('video/')) {
435
443
  log.error(`Document ${objectId} is not a video: ${inputObject.content.type}`);
436
- throw new InvalidContentTypeError(
437
- objectId,
438
- 'video/*',
439
- inputObject.content.type || 'unknown',
440
- );
444
+ throw new InvalidContentTypeError(objectId, 'video/*', inputObject.content.type || 'unknown');
441
445
  }
442
446
 
443
447
  // Download video to temp file
@@ -451,7 +455,7 @@ export async function prepareVideo(
451
455
 
452
456
  // Step 2: Generate video rendition
453
457
  log.info('Generating video rendition');
454
- const renditionResult = await generateVideoRendition(
458
+ const renditionResult = await generateRenditionWithDimensions(
455
459
  videoFile,
456
460
  tempOutputDir,
457
461
  metadata,
@@ -461,25 +465,14 @@ export async function prepareVideo(
461
465
  // Step 3 & 4: Generate thumbnail and poster in parallel
462
466
  log.info('Generating thumbnail and poster');
463
467
  const thumbnailTimestamp = Math.max(metadata.duration * THUMBNAIL_TIMESTAMP_RATIO, MIN_SCREENSHOT_TIMESTAMP);
464
- const posterTimestamp = Math.max(Math.min(metadata.duration * POSTER_TIMESTAMP_RATIO, POSTER_TIMESTAMP_MAX), MIN_SCREENSHOT_TIMESTAMP);
468
+ const posterTimestamp = Math.max(
469
+ Math.min(metadata.duration * POSTER_TIMESTAMP_RATIO, POSTER_TIMESTAMP_MAX),
470
+ MIN_SCREENSHOT_TIMESTAMP,
471
+ );
465
472
 
466
473
  const [thumbnailResult, posterResult] = await Promise.all([
467
- generateScreenshot(
468
- videoFile,
469
- tempOutputDir,
470
- thumbnailTimestamp,
471
- thumbnailSize,
472
- 'thumbnail',
473
- metadata,
474
- ),
475
- generateScreenshot(
476
- videoFile,
477
- tempOutputDir,
478
- posterTimestamp,
479
- posterSize,
480
- 'poster',
481
- metadata,
482
- ),
474
+ generateScreenshot(videoFile, tempOutputDir, thumbnailTimestamp, thumbnailSize, 'thumbnail', metadata),
475
+ generateScreenshot(videoFile, tempOutputDir, posterTimestamp, posterSize, 'poster', metadata),
483
476
  ]);
484
477
 
485
478
  // Step 5: Generate audio rendition (if video has audio and requested)
@@ -492,7 +485,7 @@ export async function prepareVideo(
492
485
  }
493
486
 
494
487
  // Step 6: Upload generated files
495
- const renditions: VideoRendition[] = [];
488
+ const renditions: RenditionWithDimensions[] = [];
496
489
  const etag = inputObject.content.etag ?? inputObject.id;
497
490
 
498
491
  if (renditionResult) {
@@ -511,13 +504,7 @@ export async function prepareVideo(
511
504
  if (thumbnailResult) {
512
505
  const fileName = 'thumbnail.jpg';
513
506
  const storagePath = `renditions/${etag}/${thumbnailSize}/${fileName}`;
514
- await uploadFile(
515
- client,
516
- thumbnailResult.file,
517
- 'image/jpeg',
518
- fileName,
519
- storagePath,
520
- );
507
+ await uploadFile(client, thumbnailResult.file, 'image/jpeg', fileName, storagePath);
521
508
  }
522
509
 
523
510
  if (posterResult) {
@@ -597,9 +584,7 @@ export async function prepareVideo(
597
584
  }
598
585
 
599
586
  // Wrap unknown errors in Error
600
- throw new Error(
601
- `Failed to prepare video ${objectId}: ${errorMessage}`,
602
- );
587
+ throw new Error(`Failed to prepare video ${objectId}: ${errorMessage}`);
603
588
  } finally {
604
589
  // Clean up temporary files
605
590
  const cleanupPromises: Promise<void>[] = [];