@vertesia/workflow 1.0.0-dev.20260203.130115Z → 1.0.0-dev.20260227.112605Z

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 (449) hide show
  1. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +33 -0
  2. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
  3. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +73 -0
  4. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
  5. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +19 -0
  6. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
  7. package/lib/cjs/activities/chunkDocument.js +113 -0
  8. package/lib/cjs/activities/chunkDocument.js.map +1 -0
  9. package/lib/cjs/activities/copyParentArtifacts.js +127 -0
  10. package/lib/cjs/activities/copyParentArtifacts.js.map +1 -0
  11. package/lib/cjs/activities/createDocumentFromOther.js +64 -0
  12. package/lib/cjs/activities/createDocumentFromOther.js.map +1 -0
  13. package/lib/cjs/activities/executeInteraction.js +221 -0
  14. package/lib/cjs/activities/executeInteraction.js.map +1 -0
  15. package/lib/cjs/activities/extractDocumentText.js +196 -0
  16. package/lib/cjs/activities/extractDocumentText.js.map +1 -0
  17. package/lib/cjs/activities/generateDocumentProperties.js +109 -0
  18. package/lib/cjs/activities/generateDocumentProperties.js.map +1 -0
  19. package/lib/cjs/activities/generateEmbeddings.js +267 -0
  20. package/lib/cjs/activities/generateEmbeddings.js.map +1 -0
  21. package/lib/cjs/activities/generateOrAssignContentType.js +173 -0
  22. package/lib/cjs/activities/generateOrAssignContentType.js.map +1 -0
  23. package/lib/cjs/activities/getObjectFromStore.js +20 -0
  24. package/lib/cjs/activities/getObjectFromStore.js.map +1 -0
  25. package/lib/cjs/activities/handleError.js +22 -0
  26. package/lib/cjs/activities/handleError.js.map +1 -0
  27. package/lib/cjs/activities/index-dsl.js +53 -0
  28. package/lib/cjs/activities/index-dsl.js.map +1 -0
  29. package/lib/cjs/activities/index.js +21 -0
  30. package/lib/cjs/activities/index.js.map +1 -0
  31. package/lib/cjs/activities/media/prepareAudio.js +239 -0
  32. package/lib/cjs/activities/media/prepareAudio.js.map +1 -0
  33. package/lib/cjs/activities/media/prepareVideo.js +429 -0
  34. package/lib/cjs/activities/media/prepareVideo.js.map +1 -0
  35. package/lib/cjs/activities/media/processPdfWithTextract.js +103 -0
  36. package/lib/cjs/activities/media/processPdfWithTextract.js.map +1 -0
  37. package/lib/cjs/activities/media/saveGladiaTranscription.js +95 -0
  38. package/lib/cjs/activities/media/saveGladiaTranscription.js.map +1 -0
  39. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +99 -0
  40. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -0
  41. package/lib/cjs/activities/mergeChildArtifacts.js +150 -0
  42. package/lib/cjs/activities/mergeChildArtifacts.js.map +1 -0
  43. package/lib/cjs/activities/notifyWebhook.js +167 -0
  44. package/lib/cjs/activities/notifyWebhook.js.map +1 -0
  45. package/lib/cjs/activities/rateLimiter.js +30 -0
  46. package/lib/cjs/activities/rateLimiter.js.map +1 -0
  47. package/lib/cjs/activities/renditions/generateImageRendition.js +66 -0
  48. package/lib/cjs/activities/renditions/generateImageRendition.js.map +1 -0
  49. package/lib/cjs/activities/renditions/generateVideoRendition.js +200 -0
  50. package/lib/cjs/activities/renditions/generateVideoRendition.js.map +1 -0
  51. package/lib/cjs/activities/setDocumentStatus.js +26 -0
  52. package/lib/cjs/activities/setDocumentStatus.js.map +1 -0
  53. package/lib/cjs/conversion/TextractProcessor.js +417 -0
  54. package/lib/cjs/conversion/TextractProcessor.js.map +1 -0
  55. package/lib/cjs/conversion/image.js +149 -0
  56. package/lib/cjs/conversion/image.js.map +1 -0
  57. package/lib/cjs/conversion/markitdown.js +42 -0
  58. package/lib/cjs/conversion/markitdown.js.map +1 -0
  59. package/lib/cjs/conversion/mutool.js +147 -0
  60. package/lib/cjs/conversion/mutool.js.map +1 -0
  61. package/lib/cjs/conversion/pandoc.js +39 -0
  62. package/lib/cjs/conversion/pandoc.js.map +1 -0
  63. package/lib/cjs/dsl/conditions.js +81 -0
  64. package/lib/cjs/dsl/conditions.js.map +1 -0
  65. package/lib/cjs/dsl/dsl-workflow.js +380 -0
  66. package/lib/cjs/dsl/dsl-workflow.js.map +1 -0
  67. package/lib/cjs/dsl/dslProxyActivities.js +23 -0
  68. package/lib/cjs/dsl/dslProxyActivities.js.map +1 -0
  69. package/lib/cjs/dsl/projections.js +59 -0
  70. package/lib/cjs/dsl/projections.js.map +1 -0
  71. package/lib/cjs/dsl/setup/ActivityContext.js +178 -0
  72. package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -0
  73. package/lib/cjs/dsl/setup/fetch/DataProvider.js +51 -0
  74. package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +1 -0
  75. package/lib/cjs/dsl/setup/fetch/index.js +16 -0
  76. package/lib/cjs/dsl/setup/fetch/index.js.map +1 -0
  77. package/lib/cjs/dsl/setup/fetch/providers.js +67 -0
  78. package/lib/cjs/dsl/setup/fetch/providers.js.map +1 -0
  79. package/lib/cjs/dsl/test/test-child-workflow.js +10 -0
  80. package/lib/cjs/dsl/test/test-child-workflow.js.map +1 -0
  81. package/lib/cjs/dsl/validation.js +122 -0
  82. package/lib/cjs/dsl/validation.js.map +1 -0
  83. package/lib/cjs/dsl/vars.js +341 -0
  84. package/lib/cjs/dsl/vars.js.map +1 -0
  85. package/lib/cjs/dsl/walk.js +100 -0
  86. package/lib/cjs/dsl/walk.js.map +1 -0
  87. package/lib/cjs/dsl.js +20 -0
  88. package/lib/cjs/dsl.js.map +1 -0
  89. package/lib/cjs/errors.js +89 -0
  90. package/lib/cjs/errors.js.map +1 -0
  91. package/lib/cjs/index.js +57 -0
  92. package/lib/cjs/index.js.map +1 -0
  93. package/lib/cjs/iterative-generation/activities/extractToc.js +47 -0
  94. package/lib/cjs/iterative-generation/activities/extractToc.js.map +1 -0
  95. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +72 -0
  96. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -0
  97. package/lib/cjs/iterative-generation/activities/generatePart.js +78 -0
  98. package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -0
  99. package/lib/cjs/iterative-generation/activities/generateToc.js +86 -0
  100. package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -0
  101. package/lib/cjs/iterative-generation/activities/index.js +12 -0
  102. package/lib/cjs/iterative-generation/activities/index.js.map +1 -0
  103. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +56 -0
  104. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +1 -0
  105. package/lib/cjs/iterative-generation/types.js +5 -0
  106. package/lib/cjs/iterative-generation/types.js.map +1 -0
  107. package/lib/cjs/iterative-generation/utils.js +121 -0
  108. package/lib/cjs/iterative-generation/utils.js.map +1 -0
  109. package/lib/cjs/package.json +3 -0
  110. package/lib/cjs/result-types.js +10 -0
  111. package/lib/cjs/result-types.js.map +1 -0
  112. package/lib/cjs/system/notifyWebhookWorkflow.js +53 -0
  113. package/lib/cjs/system/notifyWebhookWorkflow.js.map +1 -0
  114. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +33 -0
  115. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +1 -0
  116. package/lib/cjs/utils/auth.js +15 -0
  117. package/lib/cjs/utils/auth.js.map +1 -0
  118. package/lib/cjs/utils/blobs.js +64 -0
  119. package/lib/cjs/utils/blobs.js.map +1 -0
  120. package/lib/cjs/utils/chunks.js +14 -0
  121. package/lib/cjs/utils/chunks.js.map +1 -0
  122. package/lib/cjs/utils/client.js +31 -0
  123. package/lib/cjs/utils/client.js.map +1 -0
  124. package/lib/cjs/utils/expand-vars.js +33 -0
  125. package/lib/cjs/utils/expand-vars.js.map +1 -0
  126. package/lib/cjs/utils/memory.js +65 -0
  127. package/lib/cjs/utils/memory.js.map +1 -0
  128. package/lib/cjs/utils/renditions.js +92 -0
  129. package/lib/cjs/utils/renditions.js.map +1 -0
  130. package/lib/cjs/utils/storage.js +54 -0
  131. package/lib/cjs/utils/storage.js.map +1 -0
  132. package/lib/cjs/utils/text-preview-utils.js +43 -0
  133. package/lib/cjs/utils/text-preview-utils.js.map +1 -0
  134. package/lib/cjs/utils/tokens.js +38 -0
  135. package/lib/cjs/utils/tokens.js.map +1 -0
  136. package/lib/cjs/vars.js +20 -0
  137. package/lib/cjs/vars.js.map +1 -0
  138. package/lib/cjs/workflows.js +15 -0
  139. package/lib/cjs/workflows.js.map +1 -0
  140. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +30 -0
  141. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
  142. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +70 -0
  143. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
  144. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +16 -0
  145. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
  146. package/lib/esm/activities/chunkDocument.js +110 -0
  147. package/lib/esm/activities/chunkDocument.js.map +1 -0
  148. package/lib/esm/activities/copyParentArtifacts.js +124 -0
  149. package/lib/esm/activities/copyParentArtifacts.js.map +1 -0
  150. package/lib/esm/activities/createDocumentFromOther.js +58 -0
  151. package/lib/esm/activities/createDocumentFromOther.js.map +1 -0
  152. package/lib/esm/activities/executeInteraction.js +217 -0
  153. package/lib/esm/activities/executeInteraction.js.map +1 -0
  154. package/lib/esm/activities/extractDocumentText.js +193 -0
  155. package/lib/esm/activities/extractDocumentText.js.map +1 -0
  156. package/lib/esm/activities/generateDocumentProperties.js +106 -0
  157. package/lib/esm/activities/generateDocumentProperties.js.map +1 -0
  158. package/lib/esm/activities/generateEmbeddings.js +264 -0
  159. package/lib/esm/activities/generateEmbeddings.js.map +1 -0
  160. package/lib/esm/activities/generateOrAssignContentType.js +170 -0
  161. package/lib/esm/activities/generateOrAssignContentType.js.map +1 -0
  162. package/lib/esm/activities/getObjectFromStore.js +17 -0
  163. package/lib/esm/activities/getObjectFromStore.js.map +1 -0
  164. package/lib/esm/activities/handleError.js +19 -0
  165. package/lib/esm/activities/handleError.js.map +1 -0
  166. package/lib/esm/activities/index-dsl.js +26 -0
  167. package/lib/esm/activities/index-dsl.js.map +1 -0
  168. package/lib/esm/activities/index.js +5 -0
  169. package/lib/esm/activities/index.js.map +1 -0
  170. package/lib/esm/activities/media/prepareAudio.js +200 -0
  171. package/lib/esm/activities/media/prepareAudio.js.map +1 -0
  172. package/lib/esm/activities/media/prepareVideo.js +390 -0
  173. package/lib/esm/activities/media/prepareVideo.js.map +1 -0
  174. package/lib/esm/activities/media/processPdfWithTextract.js +99 -0
  175. package/lib/esm/activities/media/processPdfWithTextract.js.map +1 -0
  176. package/lib/esm/activities/media/saveGladiaTranscription.js +92 -0
  177. package/lib/esm/activities/media/saveGladiaTranscription.js.map +1 -0
  178. package/lib/esm/activities/media/transcribeMediaWithGladia.js +96 -0
  179. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -0
  180. package/lib/esm/activities/mergeChildArtifacts.js +147 -0
  181. package/lib/esm/activities/mergeChildArtifacts.js.map +1 -0
  182. package/lib/esm/activities/notifyWebhook.js +164 -0
  183. package/lib/esm/activities/notifyWebhook.js.map +1 -0
  184. package/lib/esm/activities/rateLimiter.js +27 -0
  185. package/lib/esm/activities/rateLimiter.js.map +1 -0
  186. package/lib/esm/activities/renditions/generateImageRendition.js +63 -0
  187. package/lib/esm/activities/renditions/generateImageRendition.js.map +1 -0
  188. package/lib/esm/activities/renditions/generateVideoRendition.js +194 -0
  189. package/lib/esm/activities/renditions/generateVideoRendition.js.map +1 -0
  190. package/lib/esm/activities/setDocumentStatus.js +23 -0
  191. package/lib/esm/activities/setDocumentStatus.js.map +1 -0
  192. package/lib/esm/conversion/TextractProcessor.js +410 -0
  193. package/lib/esm/conversion/TextractProcessor.js.map +1 -0
  194. package/lib/esm/conversion/image.js +143 -0
  195. package/lib/esm/conversion/image.js.map +1 -0
  196. package/lib/esm/conversion/markitdown.js +36 -0
  197. package/lib/esm/conversion/markitdown.js.map +1 -0
  198. package/lib/esm/conversion/mutool.js +139 -0
  199. package/lib/esm/conversion/mutool.js.map +1 -0
  200. package/lib/esm/conversion/pandoc.js +36 -0
  201. package/lib/esm/conversion/pandoc.js.map +1 -0
  202. package/lib/esm/dsl/conditions.js +75 -0
  203. package/lib/esm/dsl/conditions.js.map +1 -0
  204. package/lib/esm/dsl/dsl-workflow.js +373 -0
  205. package/lib/esm/dsl/dsl-workflow.js.map +1 -0
  206. package/lib/esm/dsl/dslProxyActivities.js +20 -0
  207. package/lib/esm/dsl/dslProxyActivities.js.map +1 -0
  208. package/lib/esm/dsl/projections.js +55 -0
  209. package/lib/esm/dsl/projections.js.map +1 -0
  210. package/lib/esm/dsl/setup/ActivityContext.js +173 -0
  211. package/lib/esm/dsl/setup/ActivityContext.js.map +1 -0
  212. package/lib/esm/dsl/setup/fetch/DataProvider.js +47 -0
  213. package/lib/esm/dsl/setup/fetch/DataProvider.js.map +1 -0
  214. package/lib/esm/dsl/setup/fetch/index.js +12 -0
  215. package/lib/esm/dsl/setup/fetch/index.js.map +1 -0
  216. package/lib/esm/dsl/setup/fetch/providers.js +61 -0
  217. package/lib/esm/dsl/setup/fetch/providers.js.map +1 -0
  218. package/lib/esm/dsl/test/test-child-workflow.js +5 -0
  219. package/lib/esm/dsl/test/test-child-workflow.js.map +1 -0
  220. package/lib/esm/dsl/validation.js +118 -0
  221. package/lib/esm/dsl/validation.js.map +1 -0
  222. package/lib/esm/dsl/vars.js +335 -0
  223. package/lib/esm/dsl/vars.js.map +1 -0
  224. package/lib/esm/dsl/walk.js +96 -0
  225. package/lib/esm/dsl/walk.js.map +1 -0
  226. package/lib/esm/dsl.js +4 -0
  227. package/lib/esm/dsl.js.map +1 -0
  228. package/lib/esm/errors.js +78 -0
  229. package/lib/esm/errors.js.map +1 -0
  230. package/lib/esm/index.js +39 -0
  231. package/lib/esm/index.js.map +1 -0
  232. package/lib/esm/iterative-generation/activities/extractToc.js +44 -0
  233. package/lib/esm/iterative-generation/activities/extractToc.js.map +1 -0
  234. package/lib/esm/iterative-generation/activities/finalizeOutput.js +69 -0
  235. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -0
  236. package/lib/esm/iterative-generation/activities/generatePart.js +75 -0
  237. package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -0
  238. package/lib/esm/iterative-generation/activities/generateToc.js +83 -0
  239. package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -0
  240. package/lib/esm/iterative-generation/activities/index.js +5 -0
  241. package/lib/esm/iterative-generation/activities/index.js.map +1 -0
  242. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +53 -0
  243. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +1 -0
  244. package/lib/esm/iterative-generation/types.js +2 -0
  245. package/lib/esm/iterative-generation/types.js.map +1 -0
  246. package/lib/esm/iterative-generation/utils.js +112 -0
  247. package/lib/esm/iterative-generation/utils.js.map +1 -0
  248. package/lib/esm/result-types.js +7 -0
  249. package/lib/esm/result-types.js.map +1 -0
  250. package/lib/esm/system/notifyWebhookWorkflow.js +50 -0
  251. package/lib/esm/system/notifyWebhookWorkflow.js.map +1 -0
  252. package/lib/esm/system/recalculateEmbeddingsWorkflow.js +30 -0
  253. package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +1 -0
  254. package/lib/esm/utils/auth.js +8 -0
  255. package/lib/esm/utils/auth.js.map +1 -0
  256. package/lib/esm/utils/blobs.js +54 -0
  257. package/lib/esm/utils/blobs.js.map +1 -0
  258. package/lib/esm/utils/chunks.js +9 -0
  259. package/lib/esm/utils/chunks.js.map +1 -0
  260. package/lib/esm/utils/client.js +27 -0
  261. package/lib/esm/utils/client.js.map +1 -0
  262. package/lib/esm/utils/expand-vars.js +30 -0
  263. package/lib/esm/utils/expand-vars.js.map +1 -0
  264. package/lib/esm/utils/memory.js +55 -0
  265. package/lib/esm/utils/memory.js.map +1 -0
  266. package/lib/esm/utils/renditions.js +84 -0
  267. package/lib/esm/utils/renditions.js.map +1 -0
  268. package/lib/esm/utils/storage.js +45 -0
  269. package/lib/esm/utils/storage.js.map +1 -0
  270. package/lib/esm/utils/text-preview-utils.js +38 -0
  271. package/lib/esm/utils/text-preview-utils.js.map +1 -0
  272. package/lib/esm/utils/tokens.js +34 -0
  273. package/lib/esm/utils/tokens.js.map +1 -0
  274. package/lib/esm/vars.js +4 -0
  275. package/lib/esm/vars.js.map +1 -0
  276. package/lib/esm/workflows.js +8 -0
  277. package/lib/esm/workflows.js.map +1 -0
  278. package/lib/tsconfig.tsbuildinfo +1 -0
  279. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +17 -0
  280. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -0
  281. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +39 -0
  282. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -0
  283. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +19 -0
  284. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -0
  285. package/lib/types/activities/chunkDocument.d.ts +33 -0
  286. package/lib/types/activities/chunkDocument.d.ts.map +1 -0
  287. package/lib/types/activities/copyParentArtifacts.d.ts +19 -0
  288. package/lib/types/activities/copyParentArtifacts.d.ts.map +1 -0
  289. package/lib/types/activities/createDocumentFromOther.d.ts +21 -0
  290. package/lib/types/activities/createDocumentFromOther.d.ts.map +1 -0
  291. package/lib/types/activities/executeInteraction.d.ts +61 -0
  292. package/lib/types/activities/executeInteraction.d.ts.map +1 -0
  293. package/lib/types/activities/extractDocumentText.d.ts +11 -0
  294. package/lib/types/activities/extractDocumentText.d.ts.map +1 -0
  295. package/lib/types/activities/generateDocumentProperties.d.ts +32 -0
  296. package/lib/types/activities/generateDocumentProperties.d.ts.map +1 -0
  297. package/lib/types/activities/generateEmbeddings.d.ts +53 -0
  298. package/lib/types/activities/generateEmbeddings.d.ts.map +1 -0
  299. package/lib/types/activities/generateOrAssignContentType.d.ts +44 -0
  300. package/lib/types/activities/generateOrAssignContentType.d.ts.map +1 -0
  301. package/lib/types/activities/getObjectFromStore.d.ts +14 -0
  302. package/lib/types/activities/getObjectFromStore.d.ts.map +1 -0
  303. package/lib/types/activities/handleError.d.ts +6 -0
  304. package/lib/types/activities/handleError.d.ts.map +1 -0
  305. package/lib/types/activities/index-dsl.d.ts +26 -0
  306. package/lib/types/activities/index-dsl.d.ts.map +1 -0
  307. package/lib/types/activities/index.d.ts +5 -0
  308. package/lib/types/activities/index.d.ts.map +1 -0
  309. package/lib/types/activities/media/prepareAudio.d.ts +25 -0
  310. package/lib/types/activities/media/prepareAudio.d.ts.map +1 -0
  311. package/lib/types/activities/media/prepareVideo.d.ts +30 -0
  312. package/lib/types/activities/media/prepareVideo.d.ts.map +1 -0
  313. package/lib/types/activities/media/processPdfWithTextract.d.ts +26 -0
  314. package/lib/types/activities/media/processPdfWithTextract.d.ts.map +1 -0
  315. package/lib/types/activities/media/saveGladiaTranscription.d.ts +15 -0
  316. package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +1 -0
  317. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +20 -0
  318. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
  319. package/lib/types/activities/mergeChildArtifacts.d.ts +24 -0
  320. package/lib/types/activities/mergeChildArtifacts.d.ts.map +1 -0
  321. package/lib/types/activities/notifyWebhook.d.ts +27 -0
  322. package/lib/types/activities/notifyWebhook.d.ts.map +1 -0
  323. package/lib/types/activities/rateLimiter.d.ts +11 -0
  324. package/lib/types/activities/rateLimiter.d.ts.map +1 -0
  325. package/lib/types/activities/renditions/generateImageRendition.d.ts +14 -0
  326. package/lib/types/activities/renditions/generateImageRendition.d.ts.map +1 -0
  327. package/lib/types/activities/renditions/generateVideoRendition.d.ts +15 -0
  328. package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +1 -0
  329. package/lib/types/activities/setDocumentStatus.d.ts +15 -0
  330. package/lib/types/activities/setDocumentStatus.d.ts.map +1 -0
  331. package/lib/types/conversion/TextractProcessor.d.ts +45 -0
  332. package/lib/types/conversion/TextractProcessor.d.ts.map +1 -0
  333. package/lib/types/conversion/image.d.ts +13 -0
  334. package/lib/types/conversion/image.d.ts.map +1 -0
  335. package/lib/types/conversion/markitdown.d.ts +2 -0
  336. package/lib/types/conversion/markitdown.d.ts.map +1 -0
  337. package/lib/types/conversion/mutool.d.ts +19 -0
  338. package/lib/types/conversion/mutool.d.ts.map +1 -0
  339. package/lib/types/conversion/pandoc.d.ts +2 -0
  340. package/lib/types/conversion/pandoc.d.ts.map +1 -0
  341. package/lib/types/dsl/conditions.d.ts +2 -0
  342. package/lib/types/dsl/conditions.d.ts.map +1 -0
  343. package/lib/types/dsl/dsl-workflow.d.ts +5 -0
  344. package/lib/types/dsl/dsl-workflow.d.ts.map +1 -0
  345. package/lib/types/dsl/dslProxyActivities.d.ts +10 -0
  346. package/lib/types/dsl/dslProxyActivities.d.ts.map +1 -0
  347. package/lib/types/dsl/projections.d.ts +4 -0
  348. package/lib/types/dsl/projections.d.ts.map +1 -0
  349. package/lib/types/dsl/setup/ActivityContext.d.ts +47 -0
  350. package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -0
  351. package/lib/types/dsl/setup/fetch/DataProvider.d.ts +9 -0
  352. package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +1 -0
  353. package/lib/types/dsl/setup/fetch/index.d.ts +6 -0
  354. package/lib/types/dsl/setup/fetch/index.d.ts.map +1 -0
  355. package/lib/types/dsl/setup/fetch/providers.d.ts +25 -0
  356. package/lib/types/dsl/setup/fetch/providers.d.ts.map +1 -0
  357. package/lib/types/dsl/test/test-child-workflow.d.ts +4 -0
  358. package/lib/types/dsl/test/test-child-workflow.d.ts.map +1 -0
  359. package/lib/types/dsl/validation.d.ts +4 -0
  360. package/lib/types/dsl/validation.d.ts.map +1 -0
  361. package/lib/types/dsl/vars.d.ts +48 -0
  362. package/lib/types/dsl/vars.d.ts.map +1 -0
  363. package/lib/types/dsl/walk.d.ts +18 -0
  364. package/lib/types/dsl/walk.d.ts.map +1 -0
  365. package/lib/types/dsl.d.ts +4 -0
  366. package/lib/types/dsl.d.ts.map +1 -0
  367. package/lib/types/errors.d.ts +41 -0
  368. package/lib/types/errors.d.ts.map +1 -0
  369. package/lib/types/index.d.ts +38 -0
  370. package/lib/types/index.d.ts.map +1 -0
  371. package/lib/types/iterative-generation/activities/extractToc.d.ts +10 -0
  372. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +1 -0
  373. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +3 -0
  374. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +1 -0
  375. package/lib/types/iterative-generation/activities/generatePart.d.ts +3 -0
  376. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +1 -0
  377. package/lib/types/iterative-generation/activities/generateToc.d.ts +4 -0
  378. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +1 -0
  379. package/lib/types/iterative-generation/activities/index.d.ts +5 -0
  380. package/lib/types/iterative-generation/activities/index.d.ts.map +1 -0
  381. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +3 -0
  382. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +1 -0
  383. package/lib/types/iterative-generation/types.d.ts +79 -0
  384. package/lib/types/iterative-generation/types.d.ts.map +1 -0
  385. package/lib/types/iterative-generation/utils.d.ts +26 -0
  386. package/lib/types/iterative-generation/utils.d.ts.map +1 -0
  387. package/lib/types/result-types.d.ts +26 -0
  388. package/lib/types/result-types.d.ts.map +1 -0
  389. package/lib/types/system/notifyWebhookWorkflow.d.ts +8 -0
  390. package/lib/types/system/notifyWebhookWorkflow.d.ts.map +1 -0
  391. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +25 -0
  392. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +1 -0
  393. package/lib/types/utils/auth.d.ts +4 -0
  394. package/lib/types/utils/auth.d.ts.map +1 -0
  395. package/lib/types/utils/blobs.d.ts +7 -0
  396. package/lib/types/utils/blobs.d.ts.map +1 -0
  397. package/lib/types/utils/chunks.d.ts +9 -0
  398. package/lib/types/utils/chunks.d.ts.map +1 -0
  399. package/lib/types/utils/client.d.ts +8 -0
  400. package/lib/types/utils/client.d.ts.map +1 -0
  401. package/lib/types/utils/expand-vars.d.ts +8 -0
  402. package/lib/types/utils/expand-vars.d.ts.map +1 -0
  403. package/lib/types/utils/memory.d.ts +8 -0
  404. package/lib/types/utils/memory.d.ts.map +1 -0
  405. package/lib/types/utils/renditions.d.ts +25 -0
  406. package/lib/types/utils/renditions.d.ts.map +1 -0
  407. package/lib/types/utils/storage.d.ts +16 -0
  408. package/lib/types/utils/storage.d.ts.map +1 -0
  409. package/lib/types/utils/text-preview-utils.d.ts +15 -0
  410. package/lib/types/utils/text-preview-utils.d.ts.map +1 -0
  411. package/lib/types/utils/tokens.d.ts +11 -0
  412. package/lib/types/utils/tokens.d.ts.map +1 -0
  413. package/lib/types/vars.d.ts +3 -0
  414. package/lib/types/vars.d.ts.map +1 -0
  415. package/lib/types/workflows.d.ts +8 -0
  416. package/lib/types/workflows.d.ts.map +1 -0
  417. package/lib/workflows-bundle.js +18083 -0
  418. package/package.json +6 -7
  419. package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +1 -1
  420. package/src/activities/chunkDocument.ts +35 -6
  421. package/src/activities/executeInteraction.ts +37 -5
  422. package/src/activities/extractDocumentText.ts +84 -28
  423. package/src/activities/generateDocumentProperties.ts +42 -15
  424. package/src/activities/generateEmbeddings.ts +9 -9
  425. package/src/activities/generateOrAssignContentType.ts +74 -24
  426. package/src/activities/index-dsl.ts +4 -3
  427. package/src/activities/media/saveGladiaTranscription.test.ts +406 -0
  428. package/src/activities/media/saveGladiaTranscription.ts +41 -26
  429. package/src/activities/media/transcribeMediaWithGladia.test.ts +583 -0
  430. package/src/activities/media/transcribeMediaWithGladia.ts +46 -25
  431. package/src/activities/notifyWebhook.test.ts +121 -8
  432. package/src/activities/notifyWebhook.ts +10 -2
  433. package/src/activities/renditions/generateImageRendition.ts +2 -2
  434. package/src/conversion/image.test.ts +1 -0
  435. package/src/conversion/image.ts +10 -10
  436. package/src/conversion/mutool.test.ts +1 -4
  437. package/src/conversion/pandoc.test.ts +1 -4
  438. package/src/dsl/dsl-workflow.ts +49 -9
  439. package/src/dsl/setup/ActivityContext.ts +73 -0
  440. package/src/dsl/workflow-exec-child.test.ts +12 -8
  441. package/src/dsl/workflow-fetch.test.ts +9 -6
  442. package/src/dsl/workflow-import.test.ts +10 -7
  443. package/src/dsl/workflow.test.ts +11 -8
  444. package/src/dsl.ts +1 -0
  445. package/src/errors.ts +14 -0
  446. package/src/index.ts +6 -5
  447. package/src/result-types.ts +5 -1
  448. package/src/utils/renditions.ts +11 -5
  449. package/src/utils/text-preview-utils.ts +62 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/workflow",
3
- "version": "1.0.0-dev.20260203.130115Z",
3
+ "version": "1.0.0-dev.20260227.112605Z",
4
4
  "type": "module",
5
5
  "description": "Vertesia workflow DSL",
6
6
  "main": "./lib/esm/index.js",
@@ -30,7 +30,6 @@
30
30
  "@aws-sdk/credential-providers": "^3.948.0",
31
31
  "@temporalio/activity": "^1.11.5",
32
32
  "@temporalio/workflow": "^1.11.5",
33
- "@types/json-schema": "^7.0.15",
34
33
  "fast-deep-equal": "^3.1.3",
35
34
  "jsonwebtoken": "^9.0.3",
36
35
  "mime": "^4.0.0",
@@ -44,11 +43,11 @@
44
43
  "tmp": "^0.2.4",
45
44
  "tmp-promise": "^3.0.3",
46
45
  "yaml": "^2.6.0",
47
- "@llumiverse/common": "1.0.0-dev.20260202.145450Z",
48
- "@vertesia/api-fetch-client": "1.0.0-dev.20260203.130115Z",
49
- "@vertesia/client": "1.0.0-dev.20260203.130115Z",
50
- "@vertesia/common": "1.0.0-dev.20260203.130115Z",
51
- "@vertesia/memory": "1.0.0-dev.20260203.130115Z"
46
+ "@llumiverse/common": "1.0.0-dev.20260224.234313Z",
47
+ "@vertesia/client": "1.0.0-dev.20260227.112605Z",
48
+ "@vertesia/common": "1.0.0-dev.20260227.112605Z",
49
+ "@vertesia/memory": "1.0.0-dev.20260227.112605Z",
50
+ "@vertesia/api-fetch-client": "1.0.0-dev.20260227.112605Z"
52
51
  },
53
52
  "ts_dual_module": {
54
53
  "outDir": "lib",
@@ -90,7 +90,7 @@ export async function createOrUpdateDocumentFromInteractionRun(payload: DSLActiv
90
90
  generation_run_info: {
91
91
  id: run.id,
92
92
  date: new Date().toISOString(),
93
- model: run.modelId,
93
+ model: run.modelId ?? "",
94
94
  target: jsonResult ? 'properties' : 'text'
95
95
  }
96
96
  };
@@ -1,4 +1,4 @@
1
- import { log } from "@temporalio/activity";
1
+ import { ApplicationFailure, log } from "@temporalio/activity";
2
2
  import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
4
  import { DocPart } from "../utils/chunks.js";
@@ -55,7 +55,9 @@ export async function chunkDocument(payload: DSLActivityExecutionPayload<ChunkDo
55
55
 
56
56
  const document = await client.objects.retrieve(objectId, "+text");
57
57
 
58
- const type = document.type ? await client.types.retrieve(document.type.id) : undefined;
58
+ const type = document.type
59
+ ? await client.types.catalog.resolve(document.type)
60
+ : undefined;
59
61
 
60
62
  if (!type?.is_chunkable) {
61
63
  log.warn('Type is not chunkable for object ID: ' + objectId);
@@ -77,10 +79,37 @@ export async function chunkDocument(payload: DSLActivityExecutionPayload<ChunkDo
77
79
  const lines = document.text.split('\n')
78
80
  const instrumented = lines.map((l, i) => `{%${i}%}${l}`).join('\n')
79
81
 
80
- const res = await executeInteractionFromActivity(client, interactionName, params, {
81
- objectId: objectId,
82
- content: instrumented
83
- });
82
+ let res;
83
+ try {
84
+ res = await executeInteractionFromActivity(client, interactionName, params, {
85
+ objectId: objectId,
86
+ content: instrumented
87
+ });
88
+ } catch (error: any) {
89
+ log.error(`Failed to chunk document ${objectId}`, { error, retryable: error.retryable });
90
+
91
+ // Check retryability and convert to ApplicationFailure for Temporal
92
+ const isRetryable = error.retryable !== undefined
93
+ ? error.retryable !== false
94
+ : undefined;
95
+
96
+ if (isRetryable !== undefined) {
97
+ if (isRetryable) {
98
+ throw ApplicationFailure.create({
99
+ message: `Document chunking failed for ${objectId}: ${error.message}`,
100
+ nonRetryable: false,
101
+ });
102
+ } else {
103
+ throw ApplicationFailure.create({
104
+ message: `Non-retryable document chunking failed for ${objectId}: ${error.message}`,
105
+ nonRetryable: true,
106
+ });
107
+ }
108
+ }
109
+
110
+ // Unknown retryability - rethrow
111
+ throw error;
112
+ }
84
113
 
85
114
  const jsonResult = res.result.object();
86
115
 
@@ -1,5 +1,5 @@
1
- import { CompletionResult, ModelOptions } from "@llumiverse/common";
2
- import { activityInfo, log } from "@temporalio/activity";
1
+ import { CompletionResult, ModelOptions, LlumiverseError } from "@llumiverse/common";
2
+ import { activityInfo, ApplicationFailure, log } from "@temporalio/activity";
3
3
  import { VertesiaClient } from "@vertesia/client";
4
4
  import { NodeStreamSource } from "@vertesia/client/node";
5
5
  import {
@@ -208,9 +208,32 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
208
208
  } else if (error.message.includes("modelId: Path `modelId` is required")) {
209
209
  //issue with the input data, don't retry
210
210
  throw new ActivityParamInvalidError("model", payload.activity, error.message);
211
- } else {
212
- throw new Error(`Interaction Execution failed ${interactionName}: ${error.message}`);
213
211
  }
212
+
213
+ // Check retryability from error object (set by executeInteractionFromActivity)
214
+ // or from LlumiverseError instance (direct driver errors in some paths)
215
+ const isRetryable = error.retryable !== undefined
216
+ ? error.retryable !== false // Treat undefined as retryable
217
+ : (error instanceof LlumiverseError ? error.retryable !== false : undefined);
218
+
219
+ if (isRetryable !== undefined) {
220
+ if (isRetryable) {
221
+ log.debug('Marking error as retryable', { interactionName, errorCode: error.errorCode });
222
+ throw ApplicationFailure.create({
223
+ message: `Interaction Execution failed ${interactionName}: ${error.message}`,
224
+ nonRetryable: false,
225
+ });
226
+ } else {
227
+ log.debug('Marking error as non-retryable', { interactionName, errorCode: error.errorCode });
228
+ throw ApplicationFailure.create({
229
+ message: `Non-retryable Interaction Execution failed ${interactionName}: ${error.message}`,
230
+ nonRetryable: true,
231
+ });
232
+ }
233
+ }
234
+
235
+ // Unknown retryability - rethrow as generic error (Temporal will use default retry policy)
236
+ throw new Error(`Interaction Execution failed ${interactionName}: ${error.message}`);
214
237
  }
215
238
  }
216
239
 
@@ -293,7 +316,16 @@ export async function executeInteractionFromActivity(
293
316
 
294
317
  if (res.error || res.status === ExecutionRunStatus.failed) {
295
318
  log.error(`Error executing interaction ${interactionName}`, { error: res.error });
296
- throw new Error(`Interaction Execution failed ${interactionName}: ${res.error}`);
319
+
320
+ // Create error with retryability information
321
+ const errorMessage = `Interaction Execution failed ${interactionName}: ${res.error?.message || 'Unknown error'}`;
322
+ const error = new Error(errorMessage);
323
+
324
+ // Attach retryable property so the catch block can access it
325
+ (error as any).retryable = res.error?.retryable;
326
+ (error as any).errorCode = res.error?.code;
327
+
328
+ throw error;
297
329
  }
298
330
 
299
331
  return res;
@@ -4,6 +4,7 @@ import {
4
4
  CreateContentObjectPayload,
5
5
  DSLActivityExecutionPayload,
6
6
  DSLActivitySpec,
7
+ WorkflowInputFile,
7
8
  } from "@vertesia/common";
8
9
  import { markdownWithMarkitdown } from "../conversion/markitdown.js";
9
10
  import { mutoolPdfToText } from "../conversion/mutool.js";
@@ -12,6 +13,10 @@ import { setupActivity } from "../dsl/setup/ActivityContext.js";
12
13
  import { DocumentNotFoundError } from "../errors.js";
13
14
  import { TextExtractionResult, TextExtractionStatus } from "../result-types.js";
14
15
  import { fetchBlobAsBuffer, md5 } from "../utils/blobs.js";
16
+ import {
17
+ createFileSourceResult,
18
+ uploadTextPreviewToStorage
19
+ } from "../utils/text-preview-utils.js";
15
20
  import { countTokens } from "../utils/tokens.js";
16
21
 
17
22
  //@ts-ignore
@@ -19,8 +24,9 @@ const JSON: DSLActivitySpec = {
19
24
  name: "extractDocumentText",
20
25
  };
21
26
 
22
- // doesn't have any own param
23
- export interface ExtractDocumentTextParams {}
27
+ export interface ExtractDocumentTextParams {
28
+ output_storage_path?: string;
29
+ }
24
30
  export interface ExtractDocumentText extends DSLActivitySpec<ExtractDocumentTextParams> {
25
31
  name: "extractDocumentText";
26
32
  projection?: never;
@@ -29,8 +35,27 @@ export interface ExtractDocumentText extends DSLActivitySpec<ExtractDocumentText
29
35
  export async function extractDocumentText(
30
36
  payload: DSLActivityExecutionPayload<ExtractDocumentTextParams>,
31
37
  ): Promise<TextExtractionResult> {
32
- const { client, objectId } = await setupActivity(payload);
38
+ const context = await setupActivity(payload);
39
+ const { client, inputType, params } = context;
40
+ const { output_storage_path } = params;
41
+
42
+ if (inputType === 'files') {
43
+ // File mode: extract from file source
44
+ if (!output_storage_path) {
45
+ throw new Error('output_storage_path is required when extracting text from file sources');
46
+ }
47
+ return extractFromFileSource(client, context.file, output_storage_path);
48
+ } else {
49
+ // Object mode: fetch from object store
50
+ return extractFromObject(client, context.objectId, context.objectIds || []);
51
+ }
52
+ }
33
53
 
54
+ async function extractFromObject(
55
+ client: any,
56
+ objectId: string,
57
+ objectIds: string[],
58
+ ): Promise<TextExtractionResult> {
34
59
  const r = await client.objects.find({
35
60
  query: { _id: objectId },
36
61
  limit: 1,
@@ -39,7 +64,7 @@ export async function extractDocumentText(
39
64
  const doc = r[0] as ContentObject;
40
65
  if (!doc) {
41
66
  log.error(`Document ${objectId} not found`);
42
- throw new DocumentNotFoundError(`Document ${objectId} not found`, payload.objectIds);
67
+ throw new DocumentNotFoundError(`Document ${objectId} not found`, objectIds);
43
68
  }
44
69
 
45
70
  log.info(`Extracting text for object ${doc.id}`);
@@ -65,10 +90,60 @@ export async function extractDocumentText(
65
90
  return createResponse(doc, "", TextExtractionStatus.error, e.message);
66
91
  }
67
92
 
68
- let txt: string;
93
+ const txt = await extractTextFromBuffer(fileBuffer, doc.content.type);
94
+ if (!txt) {
95
+ return createResponse(
96
+ doc,
97
+ doc.text ?? "",
98
+ TextExtractionStatus.skipped,
99
+ `Unsupported mime type: ${doc.content.type}`,
100
+ );
101
+ }
102
+
103
+ const tokensData = countTokens(txt);
104
+ const etag = doc.content.etag ?? md5(txt);
105
+
106
+ const updateData: CreateContentObjectPayload = {
107
+ text: txt,
108
+ text_etag: etag,
109
+ tokens: {
110
+ ...tokensData,
111
+ etag: etag,
112
+ },
113
+ };
114
+
115
+ await client.objects.update(doc.id, updateData);
116
+
117
+ return createResponse(doc, txt, TextExtractionStatus.success);
118
+ }
119
+
120
+ async function extractFromFileSource(
121
+ client: any,
122
+ input_file: WorkflowInputFile,
123
+ output_storage_path: string
124
+ ): Promise<TextExtractionResult> {
125
+ log.info(`Extracting text from ${input_file}`);
69
126
 
70
- // Normalize mime type by stripping charset and other parameters (e.g., "text/html; charset=UTF-8" -> "text/html")
71
- const mimeType = doc.content.type.split(';')[0].trim();
127
+ let fileBuffer: Buffer;
128
+ try {
129
+ fileBuffer = await fetchBlobAsBuffer(client, input_file.url);
130
+ } catch (e: any) {
131
+ log.error(`Error reading file: ${e}`);
132
+ return createFileSourceResult(input_file.url, output_storage_path, null);
133
+ }
134
+
135
+ const txt = await extractTextFromBuffer(fileBuffer, input_file.mimetype);
136
+
137
+ // Upload extracted text to storage
138
+ if (txt && output_storage_path) {
139
+ await uploadTextPreviewToStorage(client, txt, output_storage_path, "Document");
140
+ }
141
+
142
+ return createFileSourceResult(input_file.url, output_storage_path, txt);
143
+ }
144
+
145
+ async function extractTextFromBuffer(fileBuffer: Buffer, mimeType: string): Promise<string | null> {
146
+ let txt: string;
72
147
 
73
148
  switch (mimeType) {
74
149
  case "application/pdf":
@@ -134,29 +209,10 @@ export async function extractDocumentText(
134
209
  txt = fileBuffer.toString("utf8"); //TODO: add charset detection
135
210
  break;
136
211
  }
137
- return createResponse(
138
- doc,
139
- doc.text ?? "",
140
- TextExtractionStatus.skipped,
141
- `Unsupported mime type: ${doc.content.type}`,
142
- );
212
+ return null;
143
213
  }
144
214
 
145
- const tokensData = countTokens(txt);
146
- const etag = doc.content.etag ?? md5(txt);
147
-
148
- const updateData: CreateContentObjectPayload = {
149
- text: txt,
150
- text_etag: etag,
151
- tokens: {
152
- ...tokensData,
153
- etag: etag,
154
- },
155
- };
156
-
157
- await client.objects.update(doc.id, updateData);
158
-
159
- return createResponse(doc, txt, TextExtractionStatus.success);
215
+ return txt;
160
216
  }
161
217
 
162
218
  function createResponse(
@@ -1,4 +1,4 @@
1
- import { log } from "@temporalio/activity";
1
+ import { ApplicationFailure, log } from "@temporalio/activity";
2
2
  import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
4
  import { TruncateSpec, truncByMaxTokens } from "../utils/tokens.js";
@@ -30,7 +30,9 @@ export async function generateDocumentProperties(
30
30
  const project = await context.fetchProject();
31
31
 
32
32
  const doc = await client.objects.retrieve(objectId, "+text");
33
- const type = doc.type ? await client.types.retrieve(doc.type.id) : undefined;
33
+ const type = doc.type
34
+ ? await client.types.catalog.resolve(doc.type)
35
+ : undefined;
34
36
 
35
37
  if (!doc?.text && !params.use_vision && !doc?.content?.type?.startsWith("image/")) {
36
38
  log.warn(`Object ${objectId} not found or text is empty`);
@@ -70,18 +72,43 @@ export async function generateDocumentProperties(
70
72
  payload.debug_mode ? { params } : undefined,
71
73
  );
72
74
 
73
- const infoRes = await executeInteractionFromActivity(
74
- client,
75
- interactionName,
76
- {
77
- ...params,
78
- include_previous_error: true,
79
- result_schema: type.object_schema,
80
- validate_result: type.strict_mode,
81
- },
82
- promptData,
83
- payload.debug_mode ?? false,
84
- );
75
+ let infoRes;
76
+ try {
77
+ infoRes = await executeInteractionFromActivity(
78
+ client,
79
+ interactionName,
80
+ {
81
+ ...params,
82
+ include_previous_error: true,
83
+ result_schema: type.object_schema,
84
+ validate_result: type.strict_mode,
85
+ },
86
+ promptData,
87
+ payload.debug_mode ?? false,
88
+ );
89
+ } catch (error: any) {
90
+ log.error(`Failed to extract document properties for ${objectId}`, { error, retryable: error.retryable });
91
+
92
+ const isRetryable = error.retryable !== undefined
93
+ ? error.retryable !== false
94
+ : undefined;
95
+
96
+ if (isRetryable !== undefined) {
97
+ if (isRetryable) {
98
+ throw ApplicationFailure.create({
99
+ message: `Document property extraction failed for ${objectId}: ${error.message}`,
100
+ nonRetryable: false,
101
+ });
102
+ } else {
103
+ throw ApplicationFailure.create({
104
+ message: `Non-retryable document property extraction failed for ${objectId}: ${error.message}`,
105
+ nonRetryable: true,
106
+ });
107
+ }
108
+ }
109
+
110
+ throw error;
111
+ }
85
112
 
86
113
  const getText = () => {
87
114
  if (doc.text) {
@@ -112,7 +139,7 @@ export async function generateDocumentProperties(
112
139
  generation_run_info: {
113
140
  id: infoRes.id,
114
141
  date: new Date().toISOString(),
115
- model: infoRes.modelId,
142
+ model: infoRes.modelId ?? "",
116
143
  },
117
144
  }, { suppressWorkflows: true });
118
145
 
@@ -72,7 +72,7 @@ export async function generateEmbeddings(
72
72
  }
73
73
 
74
74
  if (!projectData?.configuration.embeddings[type]?.enabled) {
75
- log.info(
75
+ log.debug(
76
76
  `Embeddings generation disabled for type ${type} on project: ${projectData.name} (${projectData.namespace})`,
77
77
  { config },
78
78
  );
@@ -83,7 +83,7 @@ export async function generateEmbeddings(
83
83
  };
84
84
  }
85
85
 
86
- log.info(`${type} embedding generation starting for object ${objectId}`, {
86
+ log.debug(`${type} embedding generation starting for object ${objectId}`, {
87
87
  force,
88
88
  config,
89
89
  });
@@ -203,7 +203,7 @@ async function generateTextEmbeddings(
203
203
  // Skip if embeddings already exist with matching etag (unless force=true)
204
204
  const existingEmbedding = document.embeddings?.[type];
205
205
  if (!force && existingEmbedding?.etag && textEtag && existingEmbedding.etag === textEtag) {
206
- log.info(`Skipping ${type} embeddings for document ${document.id} - etag unchanged`);
206
+ log.debug(`Skipping ${type} embeddings for document ${document.id} - etag unchanged`);
207
207
  return {
208
208
  id: document.id,
209
209
  type,
@@ -221,7 +221,7 @@ async function generateTextEmbeddings(
221
221
  const maxTokens = config.max_tokens ?? 8000;
222
222
 
223
223
  //generate embeddings for the main doc if document isn't too large
224
- log.info(`Generating ${type} embeddings for document ${document.id}`);
224
+ log.debug(`Generating ${type} embeddings for document ${document.id}`);
225
225
  if (
226
226
  type === SupportedEmbeddingTypes.text &&
227
227
  tokenCount !== undefined &&
@@ -237,7 +237,7 @@ async function generateTextEmbeddings(
237
237
  message: `${type} embeddings generation, skipped for large document (${tokenCount} tokens)`,
238
238
  }
239
239
  } else {
240
- log.info(`Generating ${type} embeddings for document`);
240
+ log.debug(`Generating ${type} embeddings for document`);
241
241
 
242
242
  const res = await generateEmbeddingsFromStudio(
243
243
  JSON.stringify(document[type]),
@@ -252,7 +252,7 @@ async function generateTextEmbeddings(
252
252
  };
253
253
  }
254
254
 
255
- log.info(`${type} embeddings generated for document ${document.id}`, {
255
+ log.debug(`${type} embeddings generated for document ${document.id}`, {
256
256
  len: res.values.length,
257
257
  });
258
258
  await client.objects.setEmbedding(document.id, type, {
@@ -277,7 +277,7 @@ async function generateImageEmbeddings({
277
277
  config,
278
278
  force,
279
279
  }: ExecuteGenerateEmbeddingsParams) {
280
- log.info("Generating image embeddings for document " + document.id, {
280
+ log.debug("Generating image embeddings for document " + document.id, {
281
281
  content: document.content,
282
282
  });
283
283
  if (
@@ -298,7 +298,7 @@ async function generateImageEmbeddings({
298
298
  // Skip if embeddings already exist with matching etag (unless force=true)
299
299
  const existingEmbedding = document.embeddings?.[type];
300
300
  if (!force && existingEmbedding?.etag && contentEtag && existingEmbedding.etag === contentEtag) {
301
- log.info(`Skipping ${type} embeddings for document ${document.id} - content etag unchanged`);
301
+ log.debug(`Skipping ${type} embeddings for document ${document.id} - content etag unchanged`);
302
302
  return {
303
303
  id: document.id,
304
304
  type,
@@ -378,7 +378,7 @@ async function generateEmbeddingsFromStudio(
378
378
  client: VertesiaClient,
379
379
  model?: string,
380
380
  ): Promise<EmbeddingsResult> {
381
- log.info(
381
+ log.debug(
382
382
  `Generating embeddings for text of ${text.length} chars with environment ${env}`,
383
383
  );
384
384
 
@@ -1,4 +1,4 @@
1
- import { log } from "@temporalio/activity";
1
+ import { ApplicationFailure, log } from "@temporalio/activity";
2
2
  import {
3
3
  ContentObjectTypeItem,
4
4
  CreateContentObjectTypePayload,
@@ -52,7 +52,7 @@ export async function generateOrAssignContentType(
52
52
  const interactionName =
53
53
  params.interactionNames?.selectDocumentType ?? INT_SELECT_DOCUMENT_TYPE;
54
54
 
55
- log.info("SelectDocumentType for object: " + objectId, { payload });
55
+ log.debug("SelectDocumentType for object: " + objectId, { payload });
56
56
 
57
57
  const object = await client.objects.retrieve(objectId, "+text");
58
58
 
@@ -80,7 +80,7 @@ export async function generateOrAssignContentType(
80
80
  return { status: "failed", error: "no-text" };
81
81
  }
82
82
 
83
- const types = await client.types.list(undefined, {
83
+ const types = await client.types.catalog.list({
84
84
  schema: true,
85
85
  });
86
86
 
@@ -122,16 +122,41 @@ export async function generateOrAssignContentType(
122
122
  existing_types.filter((t) => !t.tags?.includes("system")),
123
123
  );
124
124
 
125
- const res = await executeInteractionFromActivity(
126
- client,
127
- interactionName,
128
- params,
129
- {
130
- existing_types,
131
- content,
132
- image: fileRef,
133
- },
134
- );
125
+ let res;
126
+ try {
127
+ res = await executeInteractionFromActivity(
128
+ client,
129
+ interactionName,
130
+ params,
131
+ {
132
+ existing_types,
133
+ content,
134
+ image: fileRef,
135
+ },
136
+ );
137
+ } catch (error: any) {
138
+ log.error(`Failed to select document type`, { error, retryable: error.retryable });
139
+
140
+ const isRetryable = error.retryable !== undefined
141
+ ? error.retryable !== false
142
+ : undefined;
143
+
144
+ if (isRetryable !== undefined) {
145
+ if (isRetryable) {
146
+ throw ApplicationFailure.create({
147
+ message: `Document type selection failed: ${error.message}`,
148
+ nonRetryable: false,
149
+ });
150
+ } else {
151
+ throw ApplicationFailure.create({
152
+ message: `Non-retryable document type selection failed: ${error.message}`,
153
+ nonRetryable: true,
154
+ });
155
+ }
156
+ }
157
+
158
+ throw error;
159
+ }
135
160
 
136
161
  const jsonResult = res.result.object();
137
162
 
@@ -184,17 +209,42 @@ async function generateNewType(
184
209
  params.interactionNames?.generateMetadataModel ??
185
210
  INT_GENERATE_METADATA_MODEL;
186
211
 
187
- const genTypeRes = await executeInteractionFromActivity(
188
- client,
189
- interactionName,
190
- params,
191
- {
192
- existing_types,
193
- content: content,
194
- human_context: project?.configuration?.human_context ?? undefined,
195
- image: fileRef ? fileRef : undefined,
196
- },
197
- );
212
+ let genTypeRes;
213
+ try {
214
+ genTypeRes = await executeInteractionFromActivity(
215
+ client,
216
+ interactionName,
217
+ params,
218
+ {
219
+ existing_types,
220
+ content: content,
221
+ human_context: project?.configuration?.human_context ?? undefined,
222
+ image: fileRef ? fileRef : undefined,
223
+ },
224
+ );
225
+ } catch (error: any) {
226
+ log.error(`Failed to generate new document type`, { error, retryable: error.retryable });
227
+
228
+ const isRetryable = error.retryable !== undefined
229
+ ? error.retryable !== false
230
+ : undefined;
231
+
232
+ if (isRetryable !== undefined) {
233
+ if (isRetryable) {
234
+ throw ApplicationFailure.create({
235
+ message: `Document type generation failed: ${error.message}`,
236
+ nonRetryable: false,
237
+ });
238
+ } else {
239
+ throw ApplicationFailure.create({
240
+ message: `Non-retryable document type generation failed: ${error.message}`,
241
+ nonRetryable: true,
242
+ });
243
+ }
244
+ }
245
+
246
+ throw error;
247
+ }
198
248
 
199
249
  const jsonResult = genTypeRes.result.object();
200
250
 
@@ -3,6 +3,7 @@ export { createDocumentTypeFromInteractionRun } from "./advanced/createDocumentT
3
3
  export { createOrUpdateDocumentFromInteractionRun } from "./advanced/createOrUpdateDocumentFromInteractionRun.js";
4
4
  export { updateDocumentFromInteractionRun } from "./advanced/updateDocumentFromInteractionRun.js";
5
5
  export { chunkDocument } from "./chunkDocument.js";
6
+ export { copyParentArtifacts } from "./copyParentArtifacts.js";
6
7
  export { createPdfDocumentFromSource } from "./createDocumentFromOther.js";
7
8
  export { executeInteraction } from "./executeInteraction.js";
8
9
  export { extractDocumentText } from "./extractDocumentText.js";
@@ -11,16 +12,16 @@ export { generateEmbeddings } from "./generateEmbeddings.js";
11
12
  export { generateOrAssignContentType } from "./generateOrAssignContentType.js";
12
13
  export { getObjectFromStore } from "./getObjectFromStore.js";
13
14
  export { handleDslError } from "./handleError.js";
14
- export { prepareVideo } from "./media/prepareVideo.js";
15
15
  export { prepareAudio } from "./media/prepareAudio.js";
16
+ export { prepareVideo } from "./media/prepareVideo.js";
16
17
  export { convertPdfToStructuredText } from "./media/processPdfWithTextract.js";
17
18
  export { saveGladiaTranscription } from "./media/saveGladiaTranscription.js";
18
19
  export { transcribeMedia } from "./media/transcribeMediaWithGladia.js";
19
20
  export type { TranscriptMediaResult } from "./media/transcribeMediaWithGladia.js";
21
+ export { mergeChildArtifacts } from "./mergeChildArtifacts.js";
20
22
  export { notifyWebhook } from "./notifyWebhook.js";
21
23
  export { checkRateLimit } from "./rateLimiter.js";
22
- export { copyParentArtifacts } from "./copyParentArtifacts.js";
23
- export { mergeChildArtifacts } from "./mergeChildArtifacts.js";
24
24
  export { generateImageRendition } from "./renditions/generateImageRendition.js";
25
25
  export { generateVideoRendition } from "./renditions/generateVideoRendition.js";
26
26
  export { setDocumentStatus } from "./setDocumentStatus.js";
27
+