@vertesia/workflow 0.51.0 → 0.54.0

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 (387) hide show
  1. package/package.json +9 -6
  2. package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +20 -1
  3. package/src/activities/chunkDocument.ts +62 -42
  4. package/src/activities/createDocumentFromOther.ts +2 -2
  5. package/src/activities/executeInteraction.ts +92 -47
  6. package/src/activities/extractDocumentText.ts +91 -54
  7. package/src/activities/generateDocumentProperties.ts +37 -16
  8. package/src/activities/generateEmbeddings.ts +91 -79
  9. package/src/activities/generateImageRendition.ts +127 -59
  10. package/src/activities/generateOrAssignContentType.ts +52 -32
  11. package/src/activities/getObjectFromStore.ts +1 -1
  12. package/src/activities/handleError.ts +25 -0
  13. package/src/activities/index-dsl.ts +1 -0
  14. package/src/activities/index.ts +0 -1
  15. package/src/activities/media/processPdfWithTextract.ts +4 -4
  16. package/src/activities/media/transcribeMediaWithGladia.ts +1 -1
  17. package/src/activities/notifyWebhook.ts +2 -2
  18. package/src/activities/setDocumentStatus.ts +1 -1
  19. package/src/conversion/TextractProcessor.ts +9 -9
  20. package/src/conversion/image.test.ts +110 -18
  21. package/src/conversion/image.ts +96 -15
  22. package/src/conversion/markitdown.ts +41 -0
  23. package/src/conversion/mutool.ts +1 -1
  24. package/src/conversion/pandoc.test.ts +8 -6
  25. package/src/conversion/pandoc.ts +38 -42
  26. package/src/dsl/dsl-workflow.ts +80 -12
  27. package/src/dsl/setup/ActivityContext.ts +57 -16
  28. package/src/dsl/validation.test.ts +2 -2
  29. package/src/dsl/vars.test.ts +1 -1
  30. package/src/dsl/vars.ts +6 -6
  31. package/src/dsl/workflow-exec-child.test.ts +14 -4
  32. package/src/dsl/workflow-fetch.test.ts +1 -1
  33. package/src/dsl/workflow-import.test.ts +1 -1
  34. package/src/dsl/workflow.test.ts +12 -2
  35. package/src/dsl.ts +1 -1
  36. package/src/errors.ts +27 -6
  37. package/src/index.ts +1 -1
  38. package/src/iterative-generation/activities/extractToc.ts +1 -1
  39. package/src/iterative-generation/activities/generatePart.ts +2 -2
  40. package/src/iterative-generation/activities/generateToc.ts +1 -1
  41. package/src/iterative-generation/iterativeGenerationWorkflow.ts +3 -2
  42. package/src/iterative-generation/types.ts +4 -4
  43. package/src/iterative-generation/utils.ts +4 -4
  44. package/src/system/notifyWebhookWorkflow.ts +2 -1
  45. package/src/system/recalculateEmbeddingsWorkflow.ts +2 -2
  46. package/src/utils/blobs.ts +11 -6
  47. package/src/utils/chunks.ts +17 -0
  48. package/src/utils/client.ts +4 -3
  49. package/src/utils/memory.ts +3 -8
  50. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -32
  51. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  52. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -66
  53. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  54. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -18
  55. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  56. package/lib/cjs/activities/chunkDocument.js +0 -79
  57. package/lib/cjs/activities/chunkDocument.js.map +0 -1
  58. package/lib/cjs/activities/createDocumentFromOther.js +0 -64
  59. package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
  60. package/lib/cjs/activities/executeInteraction.js +0 -134
  61. package/lib/cjs/activities/executeInteraction.js.map +0 -1
  62. package/lib/cjs/activities/extractDocumentText.js +0 -135
  63. package/lib/cjs/activities/extractDocumentText.js.map +0 -1
  64. package/lib/cjs/activities/generateDocumentProperties.js +0 -59
  65. package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
  66. package/lib/cjs/activities/generateEmbeddings.js +0 -292
  67. package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
  68. package/lib/cjs/activities/generateImageRendition.js +0 -104
  69. package/lib/cjs/activities/generateImageRendition.js.map +0 -1
  70. package/lib/cjs/activities/generateOrAssignContentType.js +0 -103
  71. package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
  72. package/lib/cjs/activities/getObjectFromStore.js +0 -20
  73. package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
  74. package/lib/cjs/activities/index-dsl.js +0 -37
  75. package/lib/cjs/activities/index-dsl.js.map +0 -1
  76. package/lib/cjs/activities/index.js +0 -22
  77. package/lib/cjs/activities/index.js.map +0 -1
  78. package/lib/cjs/activities/media/processPdfWithTextract.js +0 -102
  79. package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
  80. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -51
  81. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
  82. package/lib/cjs/activities/notifyWebhook.js +0 -34
  83. package/lib/cjs/activities/notifyWebhook.js.map +0 -1
  84. package/lib/cjs/activities/setDocumentStatus.js +0 -15
  85. package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
  86. package/lib/cjs/conversion/TextractProcessor.js +0 -417
  87. package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
  88. package/lib/cjs/conversion/image.js +0 -22
  89. package/lib/cjs/conversion/image.js.map +0 -1
  90. package/lib/cjs/conversion/mutool.js +0 -147
  91. package/lib/cjs/conversion/mutool.js.map +0 -1
  92. package/lib/cjs/conversion/pandoc.js +0 -39
  93. package/lib/cjs/conversion/pandoc.js.map +0 -1
  94. package/lib/cjs/dsl/conditions.js +0 -81
  95. package/lib/cjs/dsl/conditions.js.map +0 -1
  96. package/lib/cjs/dsl/dsl-workflow.js +0 -223
  97. package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
  98. package/lib/cjs/dsl/dslProxyActivities.js +0 -23
  99. package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
  100. package/lib/cjs/dsl/projections.js +0 -59
  101. package/lib/cjs/dsl/projections.js.map +0 -1
  102. package/lib/cjs/dsl/setup/ActivityContext.js +0 -96
  103. package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
  104. package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
  105. package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
  106. package/lib/cjs/dsl/setup/fetch/index.js +0 -16
  107. package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
  108. package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
  109. package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
  110. package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
  111. package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
  112. package/lib/cjs/dsl/validation.js +0 -122
  113. package/lib/cjs/dsl/validation.js.map +0 -1
  114. package/lib/cjs/dsl/vars.js +0 -341
  115. package/lib/cjs/dsl/vars.js.map +0 -1
  116. package/lib/cjs/dsl/walk.js +0 -100
  117. package/lib/cjs/dsl/walk.js.map +0 -1
  118. package/lib/cjs/dsl.js +0 -20
  119. package/lib/cjs/dsl.js.map +0 -1
  120. package/lib/cjs/errors.js +0 -36
  121. package/lib/cjs/errors.js.map +0 -1
  122. package/lib/cjs/index.js +0 -50
  123. package/lib/cjs/index.js.map +0 -1
  124. package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
  125. package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
  126. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -69
  127. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
  128. package/lib/cjs/iterative-generation/activities/generatePart.js +0 -73
  129. package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
  130. package/lib/cjs/iterative-generation/activities/generateToc.js +0 -91
  131. package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
  132. package/lib/cjs/iterative-generation/activities/index.js +0 -12
  133. package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
  134. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -55
  135. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  136. package/lib/cjs/iterative-generation/types.js +0 -5
  137. package/lib/cjs/iterative-generation/types.js.map +0 -1
  138. package/lib/cjs/iterative-generation/utils.js +0 -121
  139. package/lib/cjs/iterative-generation/utils.js.map +0 -1
  140. package/lib/cjs/package.json +0 -3
  141. package/lib/cjs/result-types.js +0 -10
  142. package/lib/cjs/result-types.js.map +0 -1
  143. package/lib/cjs/system/notifyWebhookWorkflow.js +0 -46
  144. package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
  145. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -28
  146. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  147. package/lib/cjs/utils/auth.js +0 -15
  148. package/lib/cjs/utils/auth.js.map +0 -1
  149. package/lib/cjs/utils/blobs.js +0 -63
  150. package/lib/cjs/utils/blobs.js.map +0 -1
  151. package/lib/cjs/utils/client.js +0 -25
  152. package/lib/cjs/utils/client.js.map +0 -1
  153. package/lib/cjs/utils/expand-vars.js +0 -33
  154. package/lib/cjs/utils/expand-vars.js.map +0 -1
  155. package/lib/cjs/utils/memory.js +0 -72
  156. package/lib/cjs/utils/memory.js.map +0 -1
  157. package/lib/cjs/utils/tokens.js +0 -38
  158. package/lib/cjs/utils/tokens.js.map +0 -1
  159. package/lib/cjs/vars.js +0 -20
  160. package/lib/cjs/vars.js.map +0 -1
  161. package/lib/cjs/workflows.js +0 -15
  162. package/lib/cjs/workflows.js.map +0 -1
  163. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -29
  164. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  165. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -63
  166. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  167. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -15
  168. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  169. package/lib/esm/activities/chunkDocument.js +0 -76
  170. package/lib/esm/activities/chunkDocument.js.map +0 -1
  171. package/lib/esm/activities/createDocumentFromOther.js +0 -58
  172. package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
  173. package/lib/esm/activities/executeInteraction.js +0 -130
  174. package/lib/esm/activities/executeInteraction.js.map +0 -1
  175. package/lib/esm/activities/extractDocumentText.js +0 -132
  176. package/lib/esm/activities/extractDocumentText.js.map +0 -1
  177. package/lib/esm/activities/generateDocumentProperties.js +0 -56
  178. package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
  179. package/lib/esm/activities/generateEmbeddings.js +0 -256
  180. package/lib/esm/activities/generateEmbeddings.js.map +0 -1
  181. package/lib/esm/activities/generateImageRendition.js +0 -98
  182. package/lib/esm/activities/generateImageRendition.js.map +0 -1
  183. package/lib/esm/activities/generateOrAssignContentType.js +0 -100
  184. package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
  185. package/lib/esm/activities/getObjectFromStore.js +0 -17
  186. package/lib/esm/activities/getObjectFromStore.js.map +0 -1
  187. package/lib/esm/activities/index-dsl.js +0 -18
  188. package/lib/esm/activities/index-dsl.js.map +0 -1
  189. package/lib/esm/activities/index.js +0 -6
  190. package/lib/esm/activities/index.js.map +0 -1
  191. package/lib/esm/activities/media/processPdfWithTextract.js +0 -98
  192. package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
  193. package/lib/esm/activities/media/transcribeMediaWithGladia.js +0 -48
  194. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
  195. package/lib/esm/activities/notifyWebhook.js +0 -31
  196. package/lib/esm/activities/notifyWebhook.js.map +0 -1
  197. package/lib/esm/activities/setDocumentStatus.js +0 -12
  198. package/lib/esm/activities/setDocumentStatus.js.map +0 -1
  199. package/lib/esm/conversion/TextractProcessor.js +0 -410
  200. package/lib/esm/conversion/TextractProcessor.js.map +0 -1
  201. package/lib/esm/conversion/image.js +0 -16
  202. package/lib/esm/conversion/image.js.map +0 -1
  203. package/lib/esm/conversion/mutool.js +0 -139
  204. package/lib/esm/conversion/mutool.js.map +0 -1
  205. package/lib/esm/conversion/pandoc.js +0 -36
  206. package/lib/esm/conversion/pandoc.js.map +0 -1
  207. package/lib/esm/dsl/conditions.js +0 -75
  208. package/lib/esm/dsl/conditions.js.map +0 -1
  209. package/lib/esm/dsl/dsl-workflow.js +0 -216
  210. package/lib/esm/dsl/dsl-workflow.js.map +0 -1
  211. package/lib/esm/dsl/dslProxyActivities.js +0 -20
  212. package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
  213. package/lib/esm/dsl/projections.js +0 -55
  214. package/lib/esm/dsl/projections.js.map +0 -1
  215. package/lib/esm/dsl/setup/ActivityContext.js +0 -91
  216. package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
  217. package/lib/esm/dsl/setup/fetch/DataProvider.js +0 -47
  218. package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
  219. package/lib/esm/dsl/setup/fetch/index.js +0 -12
  220. package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
  221. package/lib/esm/dsl/setup/fetch/providers.js +0 -61
  222. package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
  223. package/lib/esm/dsl/test/test-child-workflow.js +0 -5
  224. package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
  225. package/lib/esm/dsl/validation.js +0 -118
  226. package/lib/esm/dsl/validation.js.map +0 -1
  227. package/lib/esm/dsl/vars.js +0 -335
  228. package/lib/esm/dsl/vars.js.map +0 -1
  229. package/lib/esm/dsl/walk.js +0 -96
  230. package/lib/esm/dsl/walk.js.map +0 -1
  231. package/lib/esm/dsl.js +0 -4
  232. package/lib/esm/dsl.js.map +0 -1
  233. package/lib/esm/errors.js +0 -30
  234. package/lib/esm/errors.js.map +0 -1
  235. package/lib/esm/index.js +0 -32
  236. package/lib/esm/index.js.map +0 -1
  237. package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
  238. package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
  239. package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -66
  240. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
  241. package/lib/esm/iterative-generation/activities/generatePart.js +0 -70
  242. package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
  243. package/lib/esm/iterative-generation/activities/generateToc.js +0 -88
  244. package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
  245. package/lib/esm/iterative-generation/activities/index.js +0 -5
  246. package/lib/esm/iterative-generation/activities/index.js.map +0 -1
  247. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -52
  248. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  249. package/lib/esm/iterative-generation/types.js +0 -2
  250. package/lib/esm/iterative-generation/types.js.map +0 -1
  251. package/lib/esm/iterative-generation/utils.js +0 -112
  252. package/lib/esm/iterative-generation/utils.js.map +0 -1
  253. package/lib/esm/result-types.js +0 -7
  254. package/lib/esm/result-types.js.map +0 -1
  255. package/lib/esm/system/notifyWebhookWorkflow.js +0 -43
  256. package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
  257. package/lib/esm/system/recalculateEmbeddingsWorkflow.js +0 -25
  258. package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  259. package/lib/esm/utils/auth.js +0 -8
  260. package/lib/esm/utils/auth.js.map +0 -1
  261. package/lib/esm/utils/blobs.js +0 -52
  262. package/lib/esm/utils/blobs.js.map +0 -1
  263. package/lib/esm/utils/client.js +0 -22
  264. package/lib/esm/utils/client.js.map +0 -1
  265. package/lib/esm/utils/expand-vars.js +0 -30
  266. package/lib/esm/utils/expand-vars.js.map +0 -1
  267. package/lib/esm/utils/memory.js +0 -60
  268. package/lib/esm/utils/memory.js.map +0 -1
  269. package/lib/esm/utils/tokens.js +0 -34
  270. package/lib/esm/utils/tokens.js.map +0 -1
  271. package/lib/esm/vars.js +0 -4
  272. package/lib/esm/vars.js.map +0 -1
  273. package/lib/esm/workflows.js +0 -8
  274. package/lib/esm/workflows.js.map +0 -1
  275. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +0 -17
  276. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
  277. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +0 -29
  278. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
  279. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +0 -19
  280. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
  281. package/lib/types/activities/chunkDocument.d.ts +0 -18
  282. package/lib/types/activities/chunkDocument.d.ts.map +0 -1
  283. package/lib/types/activities/createDocumentFromOther.d.ts +0 -21
  284. package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
  285. package/lib/types/activities/executeInteraction.d.ts +0 -44
  286. package/lib/types/activities/executeInteraction.d.ts.map +0 -1
  287. package/lib/types/activities/extractDocumentText.d.ts +0 -10
  288. package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
  289. package/lib/types/activities/generateDocumentProperties.d.ts +0 -32
  290. package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
  291. package/lib/types/activities/generateEmbeddings.d.ts +0 -49
  292. package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
  293. package/lib/types/activities/generateImageRendition.d.ts +0 -17
  294. package/lib/types/activities/generateImageRendition.d.ts.map +0 -1
  295. package/lib/types/activities/generateOrAssignContentType.d.ts +0 -44
  296. package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
  297. package/lib/types/activities/getObjectFromStore.d.ts +0 -14
  298. package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
  299. package/lib/types/activities/index-dsl.d.ts +0 -17
  300. package/lib/types/activities/index-dsl.d.ts.map +0 -1
  301. package/lib/types/activities/index.d.ts +0 -6
  302. package/lib/types/activities/index.d.ts.map +0 -1
  303. package/lib/types/activities/media/processPdfWithTextract.d.ts +0 -26
  304. package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
  305. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +0 -14
  306. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
  307. package/lib/types/activities/notifyWebhook.d.ts +0 -17
  308. package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
  309. package/lib/types/activities/setDocumentStatus.d.ts +0 -15
  310. package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
  311. package/lib/types/conversion/TextractProcessor.d.ts +0 -45
  312. package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
  313. package/lib/types/conversion/image.d.ts +0 -9
  314. package/lib/types/conversion/image.d.ts.map +0 -1
  315. package/lib/types/conversion/mutool.d.ts +0 -19
  316. package/lib/types/conversion/mutool.d.ts.map +0 -1
  317. package/lib/types/conversion/pandoc.d.ts +0 -2
  318. package/lib/types/conversion/pandoc.d.ts.map +0 -1
  319. package/lib/types/dsl/conditions.d.ts +0 -2
  320. package/lib/types/dsl/conditions.d.ts.map +0 -1
  321. package/lib/types/dsl/dsl-workflow.d.ts +0 -5
  322. package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
  323. package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
  324. package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
  325. package/lib/types/dsl/projections.d.ts +0 -4
  326. package/lib/types/dsl/projections.d.ts.map +0 -1
  327. package/lib/types/dsl/setup/ActivityContext.d.ts +0 -14
  328. package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
  329. package/lib/types/dsl/setup/fetch/DataProvider.d.ts +0 -9
  330. package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
  331. package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
  332. package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
  333. package/lib/types/dsl/setup/fetch/providers.d.ts +0 -25
  334. package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
  335. package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
  336. package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
  337. package/lib/types/dsl/validation.d.ts +0 -4
  338. package/lib/types/dsl/validation.d.ts.map +0 -1
  339. package/lib/types/dsl/vars.d.ts +0 -48
  340. package/lib/types/dsl/vars.d.ts.map +0 -1
  341. package/lib/types/dsl/walk.d.ts +0 -18
  342. package/lib/types/dsl/walk.d.ts.map +0 -1
  343. package/lib/types/dsl.d.ts +0 -4
  344. package/lib/types/dsl.d.ts.map +0 -1
  345. package/lib/types/errors.d.ts +0 -16
  346. package/lib/types/errors.d.ts.map +0 -1
  347. package/lib/types/index.d.ts +0 -31
  348. package/lib/types/index.d.ts.map +0 -1
  349. package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
  350. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
  351. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
  352. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
  353. package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
  354. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
  355. package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
  356. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
  357. package/lib/types/iterative-generation/activities/index.d.ts +0 -5
  358. package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
  359. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
  360. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
  361. package/lib/types/iterative-generation/types.d.ts +0 -79
  362. package/lib/types/iterative-generation/types.d.ts.map +0 -1
  363. package/lib/types/iterative-generation/utils.d.ts +0 -27
  364. package/lib/types/iterative-generation/utils.d.ts.map +0 -1
  365. package/lib/types/result-types.d.ts +0 -22
  366. package/lib/types/result-types.d.ts.map +0 -1
  367. package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -3
  368. package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
  369. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +0 -40
  370. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
  371. package/lib/types/utils/auth.d.ts +0 -4
  372. package/lib/types/utils/auth.d.ts.map +0 -1
  373. package/lib/types/utils/blobs.d.ts +0 -8
  374. package/lib/types/utils/blobs.d.ts.map +0 -1
  375. package/lib/types/utils/client.d.ts +0 -7
  376. package/lib/types/utils/client.d.ts.map +0 -1
  377. package/lib/types/utils/expand-vars.d.ts +0 -8
  378. package/lib/types/utils/expand-vars.d.ts.map +0 -1
  379. package/lib/types/utils/memory.d.ts +0 -12
  380. package/lib/types/utils/memory.d.ts.map +0 -1
  381. package/lib/types/utils/tokens.d.ts +0 -11
  382. package/lib/types/utils/tokens.d.ts.map +0 -1
  383. package/lib/types/vars.d.ts +0 -3
  384. package/lib/types/vars.d.ts.map +0 -1
  385. package/lib/types/workflows.d.ts +0 -8
  386. package/lib/types/workflows.d.ts.map +0 -1
  387. package/lib/workflows-bundle.js +0 -19897
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/workflow",
3
- "version": "0.51.0",
3
+ "version": "0.54.0",
4
4
  "type": "module",
5
5
  "description": "Composable prompts workflow dsl",
6
6
  "main": "./lib/esm/index.js",
@@ -19,14 +19,16 @@
19
19
  "license": "Apache-2.0",
20
20
  "devDependencies": {
21
21
  "@smithy/types": "^3.7.2",
22
+ "@temporalio/proto": "^1.11.5",
22
23
  "@temporalio/testing": "^1.11.5",
23
24
  "@temporalio/worker": "^1.11.5",
25
+ "@types/fluent-ffmpeg": "^2.1.27",
24
26
  "@types/jsonwebtoken": "^9.0.7",
25
27
  "@types/node": "^22.5.1",
26
28
  "@types/papaparse": "^5.3.15",
27
29
  "@types/tmp": "^0.2.6",
28
30
  "ts-dual-module": "^0.6.3",
29
- "vitest": "^2.1.9"
31
+ "vitest": "^3.0.9"
30
32
  },
31
33
  "dependencies": {
32
34
  "@aws-sdk/client-s3": "^3.693.0",
@@ -34,11 +36,11 @@
34
36
  "@aws-sdk/credential-providers": "^3.693.0",
35
37
  "@temporalio/activity": "^1.11.5",
36
38
  "@temporalio/workflow": "^1.11.5",
37
- "@tensorflow/tfjs-node": "^4.19.0",
38
39
  "@types/json-schema": "^7.0.15",
39
40
  "@vertesia/memory": "^0.43.0",
40
41
  "api-fetch-client": "^0.13.0",
41
42
  "fast-deep-equal": "^3.1.3",
43
+ "fluent-ffmpeg": "^2.1.3",
42
44
  "jsonwebtoken": "^9.0.2",
43
45
  "ms": "3.0.0-canary.1",
44
46
  "node-web-stream-adapters": "^0.2.1",
@@ -47,10 +49,11 @@
47
49
  "sharp": "^0.33.4",
48
50
  "tiktoken": "^1.0.15",
49
51
  "tmp": "^0.2.3",
52
+ "tmp-promise": "^3.0.3",
50
53
  "yaml": "^2.6.0",
51
- "@llumiverse/core": "0.15.0",
52
- "@vertesia/client": "0.51.0",
53
- "@vertesia/common": "0.51.0"
54
+ "@llumiverse/core": "0.17.0",
55
+ "@vertesia/client": "0.54.0",
56
+ "@vertesia/common": "0.54.0"
54
57
  },
55
58
  "ts_dual_module": {
56
59
  "outDir": "lib",
@@ -1,5 +1,5 @@
1
- import { ContentObjectStatus, DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
2
1
  import { log } from "@temporalio/activity";
2
+ import { ContentObjectStatus, DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../../dsl/setup/ActivityContext.js";
4
4
  import { ActivityParamNotFound, NoDocumentFound } from "../../errors.js";
5
5
  interface CreateOrUpdateObjectFromInteractionRunParams {
@@ -19,9 +19,21 @@ interface CreateOrUpdateObjectFromInteractionRunParams {
19
19
  */
20
20
  update_existing_id?: string,
21
21
 
22
+ /**
23
+ * The name of the object to use. If not provided, the name will be generated from the interaction result
24
+ */
22
25
  fallback_name?: string, // a name to use if no one was generated by the interaction
23
26
 
27
+ /**
28
+ * The name of the parent object to use. If not provided, the document will be created at the root level
29
+ */
24
30
  parent?: string, // the parent object id
31
+
32
+ /**
33
+ * The name of the property to use for the text. If not provided, the text will be set to the result of the interaction
34
+ */
35
+ update_text_from_property?: string,
36
+
25
37
  }
26
38
 
27
39
  export interface CreateOrUpdateObjectFromInteractionRun extends DSLActivitySpec<CreateOrUpdateObjectFromInteractionRunParams> {
@@ -80,6 +92,13 @@ export async function createOrUpdateDocumentFromInteractionRun(payload: DSLActiv
80
92
  }
81
93
  };
82
94
 
95
+ if (params.update_text_from_property) {
96
+ const text = docPayload.properties[params.update_text_from_property];
97
+ if (text) {
98
+ docPayload.text = text;
99
+ }
100
+ }
101
+
83
102
  //create or update the document
84
103
  let newDoc: boolean = false;
85
104
  let doc = undefined;
@@ -1,18 +1,12 @@
1
- import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
2
1
  import { log } from "@temporalio/activity";
2
+ import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
+ import { DocPart } from "../utils/chunks.js";
4
5
  import { InteractionExecutionParams, executeInteractionFromActivity } from "./executeInteraction.js";
5
6
 
6
7
  const INT_CHUNK_DOCUMENT = "sys:ChunkDocument"
7
8
 
8
- interface DocPart {
9
9
 
10
- line_number_start: number
11
- line_number_end: number
12
- name: string
13
- type: string
14
-
15
- }
16
10
 
17
11
  export interface ChunkDocumentResult {
18
12
  id: string
@@ -22,9 +16,28 @@ export interface ChunkDocumentResult {
22
16
  }
23
17
 
24
18
  export interface ChunkDocumentParams extends InteractionExecutionParams {
19
+
20
+ /**
21
+ * If true, force chunking even if the document is already chunked
22
+ */
25
23
  force?: boolean;
24
+
25
+ /**
26
+ * The interaction name to use for chunking
27
+ * If not set, the default interaction will be used
28
+ */
26
29
  interactionName?: string;
30
+
31
+ /**
32
+ * The object type to use for the document parts
33
+ * If not set, the type of the document will be used
34
+ */
27
35
  docPartType?: string;
36
+
37
+ /**
38
+ * If true, create parts as document objects
39
+ */
40
+ createParts?: boolean;
28
41
  }
29
42
 
30
43
  export interface ChunkDocument extends DSLActivitySpec<ChunkDocumentParams> {
@@ -75,48 +88,55 @@ export async function chunkDocument(payload: DSLActivityExecutionPayload<ChunkDo
75
88
  return { id: objectId, status: "failed", parts: [], message: "no parts found" }
76
89
  }
77
90
 
78
- const partDocs = await Promise.all(parts.map(async (part, i) => {
79
91
 
80
- const text = lines.filter((_l, i) => i >= part.line_number_start && i <= part.line_number_end).join('\n');
92
+ /**
93
+ * Only create parts as document if the flag is set
94
+ */
95
+ if (params.createParts) {
96
+
97
+ const partDocs = await Promise.all(parts.map(async (part, i) => {
81
98
 
82
- const location = () => {
83
- let location = document.location;
84
- if (location.endsWith('/')) {
85
- location += document.name + "/" + part.type
99
+ const text = lines.filter((_l, i) => i >= part.line_number_start && i <= part.line_number_end).join('\n');
100
+
101
+ const location = () => {
102
+ let location = document.location;
103
+ if (location.endsWith('/')) {
104
+ location += document.name + "/" + part.type
105
+ }
106
+ location += '/' + document.name + "/" + part.type;
107
+ return location;
86
108
  }
87
- location += '/' + document.name + "/" + part.type;
88
- return location;
109
+
110
+ const docPart = await client.objects.create({
111
+ name: part.name,
112
+ parent: objectId,
113
+ text: text,
114
+ location: location(),
115
+ properties: {
116
+ part_number: i + 1,
117
+ etag: document.text_etag,
118
+ source_line_start: part.line_number_start,
119
+ source_line_end: part.line_number_end,
120
+ title: part.name
121
+ }
122
+ });
123
+ return docPart;
124
+ }));
125
+
126
+ //delete previous parts
127
+ if (document.parts && document.parts.length > 0) {
128
+ log.info('Deleting previous parts for object ID: ' + objectId, { parts: document.parts });
129
+ await Promise.all(document.parts.map(async (partId) => {
130
+ await client.objects.delete(partId);
131
+ }));
89
132
  }
90
133
 
91
- const docPart = await client.objects.create({
92
- name: part.name,
93
- parent: objectId,
94
- text: text,
95
- location: location(),
96
- properties: {
97
- part_number: i + 1,
98
- etag: document.text_etag,
99
- source_line_start: part.line_number_start,
100
- source_line_end: part.line_number_end,
101
- title: part.name
102
- }
134
+ await client.objects.update(objectId, {
135
+ parts: partDocs.map(p => p.id),
136
+ parts_etag: document.text_etag
103
137
  });
104
- return docPart;
105
- }));
106
-
107
- //delete previous parts
108
- if (document.parts && document.parts.length > 0) {
109
- log.info('Deleting previous parts for object ID: ' + objectId, { parts: document.parts });
110
- await Promise.all(document.parts.map(async (partId) => {
111
- await client.objects.delete(partId);
112
- }));
113
138
  }
114
139
 
115
- await client.objects.update(objectId, {
116
- parts: partDocs.map(p => p.id),
117
- parts_etag: document.text_etag
118
- });
119
-
120
140
  log.info(`Object ${objectId} chunking completed`, { parts: document.parts });
121
141
 
122
142
  return { id: objectId, status: "completed", parts: document.parts }
@@ -1,11 +1,11 @@
1
1
  import { log } from "@temporalio/activity";
2
+ import { NodeStreamSource } from "@vertesia/client/node";
2
3
  import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
4
  import fs from 'fs';
4
5
  import { pdfExtractPages } from "../conversion/mutool.js";
5
6
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
6
7
  import { NoDocumentFound } from "../errors.js";
7
8
  import { saveBlobToTempFile } from "../utils/blobs.js";
8
- import { NodeStreamSource } from "../utils/memory.js";
9
9
 
10
10
  interface CreatePdfDocumentFromSourceParams {
11
11
 
@@ -24,7 +24,7 @@ export interface CreatePdfDocumentFromSource extends DSLActivitySpec<CreatePdfDo
24
24
 
25
25
 
26
26
  /**
27
- * Create a new PDF by extrracting pages from a source PDF
27
+ * Create a new PDF by extracting pages from a source PDF
28
28
  * @returns
29
29
  */
30
30
  export async function createPdfDocumentFromSource(payload: DSLActivityExecutionPayload<CreatePdfDocumentFromSourceParams>) {
@@ -1,15 +1,23 @@
1
- import { VertesiaClient } from "@vertesia/client";
2
- import { DSLActivityExecutionPayload, DSLActivitySpec, ExecutionRun, ExecutionRunStatus, InteractionExecutionConfiguration, RunSearchPayload } from "@vertesia/common";
1
+ import { ModelOptions } from "@llumiverse/core";
3
2
  import { activityInfo, log } from "@temporalio/activity";
3
+ import { VertesiaClient } from "@vertesia/client";
4
+ import {
5
+ DSLActivityExecutionPayload,
6
+ DSLActivitySpec,
7
+ ExecutionRun,
8
+ ExecutionRunStatus,
9
+ InteractionExecutionConfiguration,
10
+ RunSearchPayload,
11
+ } from "@vertesia/common";
4
12
  import { projectResult } from "../dsl/projections.js";
5
13
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
14
+ import { ActivityParamInvalid, ActivityParamNotFound } from "../errors.js";
6
15
  import { TruncateSpec, truncByMaxTokens } from "../utils/tokens.js";
7
- import { ModelOptions } from "@llumiverse/core";
8
16
 
9
17
  //Example:
10
18
  //@ts-ignore
11
19
  const JSON: DSLActivitySpec = {
12
- name: 'executeInteraction',
20
+ name: "executeInteraction",
13
21
  import: ["defaultModel", "guidlineId", "docTypeId"],
14
22
  params: {
15
23
  defaultModel: "${model}",
@@ -22,8 +30,8 @@ const JSON: DSLActivitySpec = {
22
30
  result_schema: "${docType.object_schema}",
23
31
  prompt_data: {
24
32
  documents: "${documents}",
25
- guidline: "${guidline.text}"
26
- }
33
+ guidline: "${guidline.text}",
34
+ },
27
35
  },
28
36
  fetch: {
29
37
  documents: {
@@ -40,7 +48,7 @@ const JSON: DSLActivitySpec = {
40
48
  id: "${guidlineId}",
41
49
  },
42
50
  select: "+text",
43
- on_not_found: "throw"
51
+ on_not_found: "throw",
44
52
  },
45
53
  docType: {
46
54
  type: "document_type",
@@ -49,19 +57,19 @@ const JSON: DSLActivitySpec = {
49
57
  id: "${docTypeId}",
50
58
  },
51
59
  select: "+object_schema",
52
- }
53
- }
54
- }
60
+ },
61
+ },
62
+ };
55
63
  export interface InteractionExecutionParams {
56
64
  /**
57
65
  * The environment to use. If not specified the project default environment will be used.
58
- * If the latter is not specified an exeption will be thrown.
66
+ * If the latter is not specified an exception will be thrown.
59
67
  */
60
68
  environment?: string;
61
69
  /**
62
70
  * The model to use. If not specified the project default model will be used.
63
71
  * If the latter is not specified the default model of the environment will be used.
64
- * If the latter is not specified an exeption will be thrown.
72
+ * If the latter is not specified an exception will be thrown.
65
73
  */
66
74
  model?: string;
67
75
 
@@ -83,26 +91,43 @@ export interface InteractionExecutionParams {
83
91
  /**
84
92
  * Options to control generation
85
93
  */
86
- model_options?: ModelOptions;
94
+ model_options?: ModelOptions;
87
95
  }
88
96
 
89
-
97
+ /**
98
+ * TODO: must be kept in sync with InteractionAsyncExecutionPayload form @vertesia/common
99
+ * Also see the executeInteractionAsync endpoint on the server for how the client payload is sent to the workflow.
100
+ * (interaction is translated to interactionName)
101
+ */
90
102
  export interface ExecuteInteractionParams extends InteractionExecutionParams {
103
+ //TODO rename to interaction as in InteractionAsyncExecutionPayload
91
104
  interactionName: string;
92
105
  prompt_data: Record<string, any>;
93
- truncate?: Record<string, TruncateSpec>
106
+ /**
107
+ * Additional prompt data passed by the workflow configuration. This will be merged with prompt_data if any.
108
+ * You should use `import: ["static_prompt_data"]` to import the workflow prompt data as static_prompt_data param.
109
+ * Otherwise the workflow prompt data will be ignored.
110
+ */
111
+ static_prompt_data?: Record<string, any>;
112
+ truncate?: Record<string, TruncateSpec>;
94
113
  }
95
114
 
96
115
  export interface ExecuteInteraction extends DSLActivitySpec<ExecuteInteractionParams> {
97
- name: 'executeInteraction';
116
+ name: "executeInteraction";
98
117
  }
99
118
 
100
119
  export async function executeInteraction(payload: DSLActivityExecutionPayload<ExecuteInteractionParams>) {
101
- const {
102
- client, params
103
- } = await setupActivity<ExecuteInteractionParams>(payload);
120
+ const { client, params } = await setupActivity<ExecuteInteractionParams>(payload);
104
121
 
105
- const { interactionName, prompt_data } = params;
122
+ const { interactionName, prompt_data, static_prompt_data: wf_prompt_data } = params;
123
+ if (wf_prompt_data) {
124
+ Object.assign(prompt_data, wf_prompt_data);
125
+ }
126
+
127
+ if (!interactionName) {
128
+ log.error("Missing interactionName", { params });
129
+ throw new ActivityParamNotFound("interactionName", payload.activity);
130
+ }
106
131
 
107
132
  if (params.truncate) {
108
133
  const truncate = params.truncate;
@@ -111,17 +136,37 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
111
136
  }
112
137
  }
113
138
 
114
- const res = await executeInteractionFromActivity(client, interactionName, params, prompt_data, payload.debug_mode);
115
-
116
- return projectResult(payload, params, res, {
117
- runId: res.id,
118
- status: res.status,
119
- result: res.result,
120
- });
121
-
139
+ try {
140
+ const res = await executeInteractionFromActivity(
141
+ client,
142
+ interactionName,
143
+ params,
144
+ prompt_data,
145
+ payload.debug_mode,
146
+ );
147
+ return projectResult(payload, params, res, {
148
+ runId: res.id,
149
+ status: res.status,
150
+ result: res.result,
151
+ });
152
+ } catch (error: any) {
153
+ log.error("Failed to execute interaction", { error });
154
+ if (error.message.includes("Failed to validate merged prompt schema")) {
155
+ //issue with the input data, don't retry
156
+ throw new ActivityParamInvalid("prompt_data", payload.activity, error.message);
157
+ } else {
158
+ throw error;
159
+ }
160
+ }
122
161
  }
123
162
 
124
- export async function executeInteractionFromActivity(client: VertesiaClient, interactionName: string, params: InteractionExecutionParams, prompt_data: any, debug?: boolean) {
163
+ export async function executeInteractionFromActivity(
164
+ client: VertesiaClient,
165
+ interactionName: string,
166
+ params: InteractionExecutionParams,
167
+ prompt_data: any,
168
+ debug?: boolean,
169
+ ) {
125
170
  const userTags = params.tags;
126
171
  const info = activityInfo();
127
172
  const runId = info.workflowExecution.runId;
@@ -141,7 +186,7 @@ export async function executeInteractionFromActivity(client: VertesiaClient, int
141
186
  };
142
187
  const previousRun = await client.runs.search(payload).then((res) => {
143
188
  log.info("Search results", { results: res });
144
- return res ? res[0] ?? undefined : undefined
189
+ return res ? (res[0] ?? undefined) : undefined;
145
190
  });
146
191
 
147
192
  if (previousRun) {
@@ -158,28 +203,28 @@ export async function executeInteractionFromActivity(client: VertesiaClient, int
158
203
  environment: params.environment,
159
204
  model: params.model,
160
205
  model_options: params.model_options,
161
- }
206
+ };
162
207
  const data = {
163
208
  ...prompt_data,
164
209
  previous_error: previousStudioExecutionRun?.error,
165
- }
210
+ };
166
211
 
167
212
  const result_schema = params.result_schema;
168
213
 
169
- if (debug) {
170
- log.info(`About to execute interaction ${interactionName}`, { config, data, result_schema, tags });
171
- }
172
-
173
- const res = await client.interactions.executeByName(interactionName, {
174
- config,
175
- data,
176
- result_schema,
177
- tags,
178
- stream: false,
179
- }).catch((err) => {
180
- log.error(`Error executing interaction ${interactionName}`, { err });
181
- throw new Error(`Interaction Execution failed ${interactionName}: ${err.message}`);
182
- });
214
+ log.debug(`About to execute interaction ${interactionName}`, { config, data, result_schema, tags });
215
+
216
+ const res = await client.interactions
217
+ .executeByName(interactionName, {
218
+ config,
219
+ data,
220
+ result_schema,
221
+ tags,
222
+ stream: false,
223
+ })
224
+ .catch((err) => {
225
+ log.error(`Error executing interaction ${interactionName}`, { err });
226
+ throw new Error(`Interaction Execution failed ${interactionName}: ${err.message}`);
227
+ });
183
228
 
184
229
  if (debug) {
185
230
  log.info(`Interaction executed ${interactionName}`, res);
@@ -191,4 +236,4 @@ export async function executeInteractionFromActivity(client: VertesiaClient, int
191
236
  }
192
237
 
193
238
  return res;
194
- }
239
+ }