@vertesia/workflow 0.77.0 → 0.78.0-dev-9372725

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 (409) hide show
  1. package/package.json +128 -120
  2. package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +8 -5
  3. package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +6 -10
  4. package/src/activities/advanced/updateDocumentFromInteractionRun.ts +4 -1
  5. package/src/activities/chunkDocument.ts +4 -1
  6. package/src/activities/executeInteraction.ts +16 -9
  7. package/src/activities/generateDocumentProperties.ts +13 -7
  8. package/src/activities/generateOrAssignContentType.ts +17 -11
  9. package/src/activities/index-dsl.ts +1 -1
  10. package/src/activities/notifyWebhook.test.ts +117 -19
  11. package/src/activities/notifyWebhook.ts +17 -4
  12. package/src/activities/rateLimiter.ts +41 -0
  13. package/src/conversion/image.ts +6 -3
  14. package/src/dsl/dsl-workflow.ts +80 -0
  15. package/src/dsl/setup/ActivityContext.ts +45 -12
  16. package/src/dsl/workflow-exec-child.test.ts +4 -3
  17. package/src/dsl/workflow-fetch.test.ts +1 -1
  18. package/src/dsl/workflow-import.test.ts +1 -1
  19. package/src/dsl/workflow.test.ts +2 -1
  20. package/src/errors.ts +13 -0
  21. package/src/index.ts +1 -1
  22. package/src/iterative-generation/activities/extractToc.ts +26 -12
  23. package/src/iterative-generation/activities/finalizeOutput.ts +52 -29
  24. package/src/iterative-generation/activities/generatePart.ts +66 -24
  25. package/src/iterative-generation/activities/generateToc.ts +85 -66
  26. package/src/iterative-generation/utils.ts +2 -2
  27. package/src/utils/blobs.ts +3 -1
  28. package/src/utils/client.ts +22 -8
  29. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -32
  30. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  31. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -72
  32. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  33. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -18
  34. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  35. package/lib/cjs/activities/chunkDocument.js +0 -84
  36. package/lib/cjs/activities/chunkDocument.js.map +0 -1
  37. package/lib/cjs/activities/createDocumentFromOther.js +0 -64
  38. package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
  39. package/lib/cjs/activities/executeInteraction.js +0 -186
  40. package/lib/cjs/activities/executeInteraction.js.map +0 -1
  41. package/lib/cjs/activities/extractDocumentText.js +0 -156
  42. package/lib/cjs/activities/extractDocumentText.js.map +0 -1
  43. package/lib/cjs/activities/generateDocumentProperties.js +0 -78
  44. package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
  45. package/lib/cjs/activities/generateEmbeddings.js +0 -358
  46. package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
  47. package/lib/cjs/activities/generateOrAssignContentType.js +0 -123
  48. package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
  49. package/lib/cjs/activities/getObjectFromStore.js +0 -20
  50. package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
  51. package/lib/cjs/activities/handleError.js +0 -22
  52. package/lib/cjs/activities/handleError.js.map +0 -1
  53. package/lib/cjs/activities/identifyTextSections.js +0 -48
  54. package/lib/cjs/activities/identifyTextSections.js.map +0 -1
  55. package/lib/cjs/activities/index-dsl.js +0 -43
  56. package/lib/cjs/activities/index-dsl.js.map +0 -1
  57. package/lib/cjs/activities/index.js +0 -21
  58. package/lib/cjs/activities/index.js.map +0 -1
  59. package/lib/cjs/activities/media/processPdfWithTextract.js +0 -103
  60. package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
  61. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -51
  62. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
  63. package/lib/cjs/activities/notifyWebhook.js +0 -33
  64. package/lib/cjs/activities/notifyWebhook.js.map +0 -1
  65. package/lib/cjs/activities/renditions/generateImageRendition.js +0 -66
  66. package/lib/cjs/activities/renditions/generateImageRendition.js.map +0 -1
  67. package/lib/cjs/activities/renditions/generateVideoRendition.js +0 -200
  68. package/lib/cjs/activities/renditions/generateVideoRendition.js.map +0 -1
  69. package/lib/cjs/activities/setDocumentStatus.js +0 -15
  70. package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
  71. package/lib/cjs/conversion/TextractProcessor.js +0 -417
  72. package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
  73. package/lib/cjs/conversion/image.js +0 -147
  74. package/lib/cjs/conversion/image.js.map +0 -1
  75. package/lib/cjs/conversion/markitdown.js +0 -42
  76. package/lib/cjs/conversion/markitdown.js.map +0 -1
  77. package/lib/cjs/conversion/mutool.js +0 -147
  78. package/lib/cjs/conversion/mutool.js.map +0 -1
  79. package/lib/cjs/conversion/pandoc.js +0 -39
  80. package/lib/cjs/conversion/pandoc.js.map +0 -1
  81. package/lib/cjs/dsl/conditions.js +0 -81
  82. package/lib/cjs/dsl/conditions.js.map +0 -1
  83. package/lib/cjs/dsl/dsl-workflow.js +0 -277
  84. package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
  85. package/lib/cjs/dsl/dslProxyActivities.js +0 -23
  86. package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
  87. package/lib/cjs/dsl/projections.js +0 -59
  88. package/lib/cjs/dsl/projections.js.map +0 -1
  89. package/lib/cjs/dsl/setup/ActivityContext.js +0 -120
  90. package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
  91. package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
  92. package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
  93. package/lib/cjs/dsl/setup/fetch/index.js +0 -16
  94. package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
  95. package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
  96. package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
  97. package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
  98. package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
  99. package/lib/cjs/dsl/validation.js +0 -122
  100. package/lib/cjs/dsl/validation.js.map +0 -1
  101. package/lib/cjs/dsl/vars.js +0 -341
  102. package/lib/cjs/dsl/vars.js.map +0 -1
  103. package/lib/cjs/dsl/walk.js +0 -100
  104. package/lib/cjs/dsl/walk.js.map +0 -1
  105. package/lib/cjs/dsl.js +0 -20
  106. package/lib/cjs/dsl.js.map +0 -1
  107. package/lib/cjs/errors.js +0 -49
  108. package/lib/cjs/errors.js.map +0 -1
  109. package/lib/cjs/index.js +0 -54
  110. package/lib/cjs/index.js.map +0 -1
  111. package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
  112. package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
  113. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -69
  114. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
  115. package/lib/cjs/iterative-generation/activities/generatePart.js +0 -73
  116. package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
  117. package/lib/cjs/iterative-generation/activities/generateToc.js +0 -91
  118. package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
  119. package/lib/cjs/iterative-generation/activities/index.js +0 -12
  120. package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
  121. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
  122. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  123. package/lib/cjs/iterative-generation/types.js +0 -5
  124. package/lib/cjs/iterative-generation/types.js.map +0 -1
  125. package/lib/cjs/iterative-generation/utils.js +0 -121
  126. package/lib/cjs/iterative-generation/utils.js.map +0 -1
  127. package/lib/cjs/package.json +0 -3
  128. package/lib/cjs/result-types.js +0 -10
  129. package/lib/cjs/result-types.js.map +0 -1
  130. package/lib/cjs/system/notifyWebhookWorkflow.js +0 -46
  131. package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
  132. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -33
  133. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  134. package/lib/cjs/utils/auth.js +0 -15
  135. package/lib/cjs/utils/auth.js.map +0 -1
  136. package/lib/cjs/utils/blobs.js +0 -61
  137. package/lib/cjs/utils/blobs.js.map +0 -1
  138. package/lib/cjs/utils/chunks.js +0 -14
  139. package/lib/cjs/utils/chunks.js.map +0 -1
  140. package/lib/cjs/utils/client.js +0 -29
  141. package/lib/cjs/utils/client.js.map +0 -1
  142. package/lib/cjs/utils/expand-vars.js +0 -33
  143. package/lib/cjs/utils/expand-vars.js.map +0 -1
  144. package/lib/cjs/utils/memory.js +0 -65
  145. package/lib/cjs/utils/memory.js.map +0 -1
  146. package/lib/cjs/utils/renditions.js +0 -88
  147. package/lib/cjs/utils/renditions.js.map +0 -1
  148. package/lib/cjs/utils/storage.js +0 -55
  149. package/lib/cjs/utils/storage.js.map +0 -1
  150. package/lib/cjs/utils/tokens.js +0 -38
  151. package/lib/cjs/utils/tokens.js.map +0 -1
  152. package/lib/cjs/vars.js +0 -20
  153. package/lib/cjs/vars.js.map +0 -1
  154. package/lib/cjs/workflows.js +0 -15
  155. package/lib/cjs/workflows.js.map +0 -1
  156. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -29
  157. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  158. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -69
  159. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  160. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -15
  161. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  162. package/lib/esm/activities/chunkDocument.js +0 -81
  163. package/lib/esm/activities/chunkDocument.js.map +0 -1
  164. package/lib/esm/activities/createDocumentFromOther.js +0 -58
  165. package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
  166. package/lib/esm/activities/executeInteraction.js +0 -182
  167. package/lib/esm/activities/executeInteraction.js.map +0 -1
  168. package/lib/esm/activities/extractDocumentText.js +0 -153
  169. package/lib/esm/activities/extractDocumentText.js.map +0 -1
  170. package/lib/esm/activities/generateDocumentProperties.js +0 -75
  171. package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
  172. package/lib/esm/activities/generateEmbeddings.js +0 -355
  173. package/lib/esm/activities/generateEmbeddings.js.map +0 -1
  174. package/lib/esm/activities/generateOrAssignContentType.js +0 -120
  175. package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
  176. package/lib/esm/activities/getObjectFromStore.js +0 -17
  177. package/lib/esm/activities/getObjectFromStore.js.map +0 -1
  178. package/lib/esm/activities/handleError.js +0 -19
  179. package/lib/esm/activities/handleError.js.map +0 -1
  180. package/lib/esm/activities/identifyTextSections.js +0 -45
  181. package/lib/esm/activities/identifyTextSections.js.map +0 -1
  182. package/lib/esm/activities/index-dsl.js +0 -21
  183. package/lib/esm/activities/index-dsl.js.map +0 -1
  184. package/lib/esm/activities/index.js +0 -5
  185. package/lib/esm/activities/index.js.map +0 -1
  186. package/lib/esm/activities/media/processPdfWithTextract.js +0 -99
  187. package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
  188. package/lib/esm/activities/media/transcribeMediaWithGladia.js +0 -48
  189. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
  190. package/lib/esm/activities/notifyWebhook.js +0 -30
  191. package/lib/esm/activities/notifyWebhook.js.map +0 -1
  192. package/lib/esm/activities/renditions/generateImageRendition.js +0 -63
  193. package/lib/esm/activities/renditions/generateImageRendition.js.map +0 -1
  194. package/lib/esm/activities/renditions/generateVideoRendition.js +0 -194
  195. package/lib/esm/activities/renditions/generateVideoRendition.js.map +0 -1
  196. package/lib/esm/activities/setDocumentStatus.js +0 -12
  197. package/lib/esm/activities/setDocumentStatus.js.map +0 -1
  198. package/lib/esm/conversion/TextractProcessor.js +0 -410
  199. package/lib/esm/conversion/TextractProcessor.js.map +0 -1
  200. package/lib/esm/conversion/image.js +0 -141
  201. package/lib/esm/conversion/image.js.map +0 -1
  202. package/lib/esm/conversion/markitdown.js +0 -36
  203. package/lib/esm/conversion/markitdown.js.map +0 -1
  204. package/lib/esm/conversion/mutool.js +0 -139
  205. package/lib/esm/conversion/mutool.js.map +0 -1
  206. package/lib/esm/conversion/pandoc.js +0 -36
  207. package/lib/esm/conversion/pandoc.js.map +0 -1
  208. package/lib/esm/dsl/conditions.js +0 -75
  209. package/lib/esm/dsl/conditions.js.map +0 -1
  210. package/lib/esm/dsl/dsl-workflow.js +0 -270
  211. package/lib/esm/dsl/dsl-workflow.js.map +0 -1
  212. package/lib/esm/dsl/dslProxyActivities.js +0 -20
  213. package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
  214. package/lib/esm/dsl/projections.js +0 -55
  215. package/lib/esm/dsl/projections.js.map +0 -1
  216. package/lib/esm/dsl/setup/ActivityContext.js +0 -115
  217. package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
  218. package/lib/esm/dsl/setup/fetch/DataProvider.js +0 -47
  219. package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
  220. package/lib/esm/dsl/setup/fetch/index.js +0 -12
  221. package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
  222. package/lib/esm/dsl/setup/fetch/providers.js +0 -61
  223. package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
  224. package/lib/esm/dsl/test/test-child-workflow.js +0 -5
  225. package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
  226. package/lib/esm/dsl/validation.js +0 -118
  227. package/lib/esm/dsl/validation.js.map +0 -1
  228. package/lib/esm/dsl/vars.js +0 -335
  229. package/lib/esm/dsl/vars.js.map +0 -1
  230. package/lib/esm/dsl/walk.js +0 -96
  231. package/lib/esm/dsl/walk.js.map +0 -1
  232. package/lib/esm/dsl.js +0 -4
  233. package/lib/esm/dsl.js.map +0 -1
  234. package/lib/esm/errors.js +0 -42
  235. package/lib/esm/errors.js.map +0 -1
  236. package/lib/esm/index.js +0 -36
  237. package/lib/esm/index.js.map +0 -1
  238. package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
  239. package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
  240. package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -66
  241. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
  242. package/lib/esm/iterative-generation/activities/generatePart.js +0 -70
  243. package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
  244. package/lib/esm/iterative-generation/activities/generateToc.js +0 -88
  245. package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
  246. package/lib/esm/iterative-generation/activities/index.js +0 -5
  247. package/lib/esm/iterative-generation/activities/index.js.map +0 -1
  248. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
  249. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  250. package/lib/esm/iterative-generation/types.js +0 -2
  251. package/lib/esm/iterative-generation/types.js.map +0 -1
  252. package/lib/esm/iterative-generation/utils.js +0 -112
  253. package/lib/esm/iterative-generation/utils.js.map +0 -1
  254. package/lib/esm/result-types.js +0 -7
  255. package/lib/esm/result-types.js.map +0 -1
  256. package/lib/esm/system/notifyWebhookWorkflow.js +0 -43
  257. package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
  258. package/lib/esm/system/recalculateEmbeddingsWorkflow.js +0 -30
  259. package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  260. package/lib/esm/utils/auth.js +0 -8
  261. package/lib/esm/utils/auth.js.map +0 -1
  262. package/lib/esm/utils/blobs.js +0 -51
  263. package/lib/esm/utils/blobs.js.map +0 -1
  264. package/lib/esm/utils/chunks.js +0 -9
  265. package/lib/esm/utils/chunks.js.map +0 -1
  266. package/lib/esm/utils/client.js +0 -25
  267. package/lib/esm/utils/client.js.map +0 -1
  268. package/lib/esm/utils/expand-vars.js +0 -30
  269. package/lib/esm/utils/expand-vars.js.map +0 -1
  270. package/lib/esm/utils/memory.js +0 -55
  271. package/lib/esm/utils/memory.js.map +0 -1
  272. package/lib/esm/utils/renditions.js +0 -80
  273. package/lib/esm/utils/renditions.js.map +0 -1
  274. package/lib/esm/utils/storage.js +0 -46
  275. package/lib/esm/utils/storage.js.map +0 -1
  276. package/lib/esm/utils/tokens.js +0 -34
  277. package/lib/esm/utils/tokens.js.map +0 -1
  278. package/lib/esm/vars.js +0 -4
  279. package/lib/esm/vars.js.map +0 -1
  280. package/lib/esm/workflows.js +0 -8
  281. package/lib/esm/workflows.js.map +0 -1
  282. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +0 -17
  283. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
  284. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +0 -39
  285. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
  286. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +0 -19
  287. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
  288. package/lib/types/activities/chunkDocument.d.ts +0 -33
  289. package/lib/types/activities/chunkDocument.d.ts.map +0 -1
  290. package/lib/types/activities/createDocumentFromOther.d.ts +0 -21
  291. package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
  292. package/lib/types/activities/executeInteraction.d.ts +0 -57
  293. package/lib/types/activities/executeInteraction.d.ts.map +0 -1
  294. package/lib/types/activities/extractDocumentText.d.ts +0 -10
  295. package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
  296. package/lib/types/activities/generateDocumentProperties.d.ts +0 -32
  297. package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
  298. package/lib/types/activities/generateEmbeddings.d.ts +0 -53
  299. package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
  300. package/lib/types/activities/generateOrAssignContentType.d.ts +0 -44
  301. package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
  302. package/lib/types/activities/getObjectFromStore.d.ts +0 -14
  303. package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
  304. package/lib/types/activities/handleError.d.ts +0 -6
  305. package/lib/types/activities/handleError.d.ts.map +0 -1
  306. package/lib/types/activities/identifyTextSections.d.ts +0 -12
  307. package/lib/types/activities/identifyTextSections.d.ts.map +0 -1
  308. package/lib/types/activities/index-dsl.d.ts +0 -20
  309. package/lib/types/activities/index-dsl.d.ts.map +0 -1
  310. package/lib/types/activities/index.d.ts +0 -5
  311. package/lib/types/activities/index.d.ts.map +0 -1
  312. package/lib/types/activities/media/processPdfWithTextract.d.ts +0 -26
  313. package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
  314. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +0 -14
  315. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
  316. package/lib/types/activities/notifyWebhook.d.ts +0 -16
  317. package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
  318. package/lib/types/activities/renditions/generateImageRendition.d.ts +0 -14
  319. package/lib/types/activities/renditions/generateImageRendition.d.ts.map +0 -1
  320. package/lib/types/activities/renditions/generateVideoRendition.d.ts +0 -15
  321. package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +0 -1
  322. package/lib/types/activities/setDocumentStatus.d.ts +0 -15
  323. package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
  324. package/lib/types/conversion/TextractProcessor.d.ts +0 -45
  325. package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
  326. package/lib/types/conversion/image.d.ts +0 -13
  327. package/lib/types/conversion/image.d.ts.map +0 -1
  328. package/lib/types/conversion/markitdown.d.ts +0 -2
  329. package/lib/types/conversion/markitdown.d.ts.map +0 -1
  330. package/lib/types/conversion/mutool.d.ts +0 -19
  331. package/lib/types/conversion/mutool.d.ts.map +0 -1
  332. package/lib/types/conversion/pandoc.d.ts +0 -2
  333. package/lib/types/conversion/pandoc.d.ts.map +0 -1
  334. package/lib/types/dsl/conditions.d.ts +0 -2
  335. package/lib/types/dsl/conditions.d.ts.map +0 -1
  336. package/lib/types/dsl/dsl-workflow.d.ts +0 -5
  337. package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
  338. package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
  339. package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
  340. package/lib/types/dsl/projections.d.ts +0 -4
  341. package/lib/types/dsl/projections.d.ts.map +0 -1
  342. package/lib/types/dsl/setup/ActivityContext.d.ts +0 -17
  343. package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
  344. package/lib/types/dsl/setup/fetch/DataProvider.d.ts +0 -9
  345. package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
  346. package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
  347. package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
  348. package/lib/types/dsl/setup/fetch/providers.d.ts +0 -25
  349. package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
  350. package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
  351. package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
  352. package/lib/types/dsl/validation.d.ts +0 -4
  353. package/lib/types/dsl/validation.d.ts.map +0 -1
  354. package/lib/types/dsl/vars.d.ts +0 -48
  355. package/lib/types/dsl/vars.d.ts.map +0 -1
  356. package/lib/types/dsl/walk.d.ts +0 -18
  357. package/lib/types/dsl/walk.d.ts.map +0 -1
  358. package/lib/types/dsl.d.ts +0 -4
  359. package/lib/types/dsl.d.ts.map +0 -1
  360. package/lib/types/errors.d.ts +0 -23
  361. package/lib/types/errors.d.ts.map +0 -1
  362. package/lib/types/index.d.ts +0 -35
  363. package/lib/types/index.d.ts.map +0 -1
  364. package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
  365. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
  366. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
  367. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
  368. package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
  369. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
  370. package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
  371. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
  372. package/lib/types/iterative-generation/activities/index.d.ts +0 -5
  373. package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
  374. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
  375. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
  376. package/lib/types/iterative-generation/types.d.ts +0 -79
  377. package/lib/types/iterative-generation/types.d.ts.map +0 -1
  378. package/lib/types/iterative-generation/utils.d.ts +0 -27
  379. package/lib/types/iterative-generation/utils.d.ts.map +0 -1
  380. package/lib/types/result-types.d.ts +0 -22
  381. package/lib/types/result-types.d.ts.map +0 -1
  382. package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -7
  383. package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
  384. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +0 -25
  385. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
  386. package/lib/types/utils/auth.d.ts +0 -4
  387. package/lib/types/utils/auth.d.ts.map +0 -1
  388. package/lib/types/utils/blobs.d.ts +0 -7
  389. package/lib/types/utils/blobs.d.ts.map +0 -1
  390. package/lib/types/utils/chunks.d.ts +0 -9
  391. package/lib/types/utils/chunks.d.ts.map +0 -1
  392. package/lib/types/utils/client.d.ts +0 -12
  393. package/lib/types/utils/client.d.ts.map +0 -1
  394. package/lib/types/utils/expand-vars.d.ts +0 -8
  395. package/lib/types/utils/expand-vars.d.ts.map +0 -1
  396. package/lib/types/utils/memory.d.ts +0 -8
  397. package/lib/types/utils/memory.d.ts.map +0 -1
  398. package/lib/types/utils/renditions.d.ts +0 -23
  399. package/lib/types/utils/renditions.d.ts.map +0 -1
  400. package/lib/types/utils/storage.d.ts +0 -16
  401. package/lib/types/utils/storage.d.ts.map +0 -1
  402. package/lib/types/utils/tokens.d.ts +0 -11
  403. package/lib/types/utils/tokens.d.ts.map +0 -1
  404. package/lib/types/vars.d.ts +0 -3
  405. package/lib/types/vars.d.ts.map +0 -1
  406. package/lib/types/workflows.d.ts +0 -8
  407. package/lib/types/workflows.d.ts.map +0 -1
  408. package/lib/workflows-bundle.js +0 -12908
  409. package/src/activities/identifyTextSections.ts +0 -71
package/package.json CHANGED
@@ -1,128 +1,136 @@
1
1
  {
2
- "name": "@vertesia/workflow",
3
- "version": "0.77.0",
4
- "type": "module",
5
- "description": "Vertesia workflow DSL",
6
- "main": "./lib/esm/index.js",
7
- "files": [
8
- "lib",
9
- "src"
10
- ],
11
- "bin": {
12
- "bundle-workflows": "./bin/bundle-workflows.mjs"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/vertesia/composableai.git",
17
- "directory": "zeno/workflow"
18
- },
19
- "license": "Apache-2.0",
20
- "devDependencies": {
21
- "@smithy/types": "^3.7.2",
22
- "@temporalio/proto": "^1.11.5",
23
- "@temporalio/testing": "^1.11.5",
24
- "@temporalio/worker": "^1.11.5",
25
- "@types/jsonwebtoken": "^9.0.7",
26
- "@types/node": "^22.5.1",
27
- "@types/papaparse": "^5.3.15",
28
- "@types/tmp": "^0.2.6",
29
- "ts-dual-module": "^0.6.3",
30
- "vitest": "^3.0.9"
31
- },
32
- "dependencies": {
33
- "@aws-sdk/client-s3": "^3.693.0",
34
- "@aws-sdk/client-textract": "^3.693.0",
35
- "@aws-sdk/credential-providers": "^3.693.0",
36
- "@temporalio/activity": "^1.11.5",
37
- "@temporalio/workflow": "^1.11.5",
38
- "@types/json-schema": "^7.0.15",
39
- "fast-deep-equal": "^3.1.3",
40
- "jsonwebtoken": "^9.0.2",
41
- "mime": "^4.0.0",
42
- "ms": "3.0.0-canary.1",
43
- "node-web-stream-adapters": "^0.2.1",
44
- "p-limit": "^6.2.0",
45
- "papaparse": "^5.4.1",
46
- "seedrandom": "^3.0.5",
47
- "sharp": "^0.33.4",
48
- "tiktoken": "^1.0.15",
49
- "tmp": "^0.2.3",
50
- "tmp-promise": "^3.0.3",
51
- "yaml": "^2.6.0",
52
- "@llumiverse/common": "0.22.0",
53
- "@vertesia/common": "0.77.0",
54
- "@vertesia/client": "0.77.0",
55
- "@vertesia/api-fetch-client": "0.77.0",
56
- "@vertesia/memory": "0.48.0"
57
- },
58
- "ts_dual_module": {
59
- "outDir": "lib",
60
- "exports": {
61
- "activities": "./activities/index.js",
62
- "dsl-activities": "./activities/index-dsl.js",
63
- "workflows": "./workflows",
64
- "workflows-bundle": "./workflows-bundle.js",
65
- "vars": "./vars"
66
- }
67
- },
68
- "exports": {
69
- ".": {
70
- "types": "./lib/types/index.d.ts",
71
- "import": "./lib/esm/index.js",
72
- "require": "./lib/cjs/index.js"
2
+ "name": "@vertesia/workflow",
3
+ "version": "0.78.0-dev-9372725",
4
+ "type": "module",
5
+ "description": "Vertesia workflow DSL",
6
+ "main": "./lib/esm/index.js",
7
+ "files": [
8
+ "lib",
9
+ "src"
10
+ ],
11
+ "bin": {
12
+ "bundle-workflows": "./bin/bundle-workflows.mjs"
73
13
  },
74
- "./vars": {
75
- "types": "./lib/types/vars.d.ts",
76
- "import": "./lib/esm/vars.js",
77
- "require": "./lib/cjs/vars.js"
14
+ "scripts": {
15
+ "test": "vitest run",
16
+ "build": "pnpm exec tsmod build && node ./bin/bundle-workflows.mjs lib/esm/workflows.js lib/workflows-bundle.js",
17
+ "clean": "rm -rf ./lib tsconfig.tsbuildinfo"
78
18
  },
79
- "./activities": {
80
- "types": "./lib/types/activities/index.d.ts",
81
- "import": "./lib/esm/activities/index.js",
82
- "require": "./lib/cjs/activities/index.js"
19
+ "license": "Apache-2.0",
20
+ "devDependencies": {
21
+ "@smithy/types": "^3.7.2",
22
+ "@temporalio/proto": "^1.11.5",
23
+ "@temporalio/testing": "^1.11.5",
24
+ "@temporalio/worker": "^1.11.5",
25
+ "@types/jsonwebtoken": "^9.0.7",
26
+ "@types/node": "^22.5.1",
27
+ "@types/papaparse": "^5.3.15",
28
+ "@types/tmp": "^0.2.6",
29
+ "ts-dual-module": "^0.6.3",
30
+ "vitest": "^3.0.9"
83
31
  },
84
- "./dsl-activities": {
85
- "types": "./lib/types/activities/index-dsl.d.ts",
86
- "import": "./lib/esm/activities/index-dsl.js",
87
- "require": "./lib/cjs/activities/index-dsl.js"
32
+ "dependencies": {
33
+ "@aws-sdk/client-s3": "^3.693.0",
34
+ "@aws-sdk/client-textract": "^3.693.0",
35
+ "@aws-sdk/credential-providers": "^3.693.0",
36
+ "@llumiverse/common": "workspace:*",
37
+ "@temporalio/activity": "^1.11.5",
38
+ "@temporalio/workflow": "^1.11.5",
39
+ "@types/json-schema": "^7.0.15",
40
+ "@vertesia/api-fetch-client": "workspace:*",
41
+ "@vertesia/client": "workspace:*",
42
+ "@vertesia/common": "workspace:*",
43
+ "@vertesia/memory": "workspace:*",
44
+ "fast-deep-equal": "^3.1.3",
45
+ "jsonwebtoken": "^9.0.2",
46
+ "mime": "^4.0.0",
47
+ "ms": "3.0.0-canary.1",
48
+ "node-web-stream-adapters": "^0.2.1",
49
+ "p-limit": "^6.2.0",
50
+ "papaparse": "^5.4.1",
51
+ "seedrandom": "^3.0.5",
52
+ "sharp": "^0.33.4",
53
+ "tiktoken": "^1.0.15",
54
+ "tmp": "^0.2.4",
55
+ "tmp-promise": "^3.0.3",
56
+ "yaml": "^2.6.0"
88
57
  },
89
- "./workflows": {
90
- "types": "./lib/types/workflows.d.ts",
91
- "import": "./lib/esm/workflows.js",
92
- "require": "./lib/cjs/workflows.js"
58
+ "ts_dual_module": {
59
+ "outDir": "lib",
60
+ "exports": {
61
+ "activities": "./activities/index.js",
62
+ "dsl-activities": "./activities/index-dsl.js",
63
+ "workflows": "./workflows",
64
+ "workflows-bundle": "./workflows-bundle.js",
65
+ "vars": "./vars"
66
+ }
93
67
  },
94
- "./dsl": {
95
- "types": "./lib/types/dsl.d.ts",
96
- "import": "./lib/esm/dsl.js",
97
- "require": "./lib/cjs/dsl.js"
68
+ "exports": {
69
+ ".": {
70
+ "types": "./lib/types/index.d.ts",
71
+ "import": "./lib/esm/index.js",
72
+ "require": "./lib/cjs/index.js"
73
+ },
74
+ "./vars": {
75
+ "types": "./lib/types/vars.d.ts",
76
+ "import": "./lib/esm/vars.js",
77
+ "require": "./lib/cjs/vars.js"
78
+ },
79
+ "./activities": {
80
+ "types": "./lib/types/activities/index.d.ts",
81
+ "import": "./lib/esm/activities/index.js",
82
+ "require": "./lib/cjs/activities/index.js"
83
+ },
84
+ "./dsl-activities": {
85
+ "types": "./lib/types/activities/index-dsl.d.ts",
86
+ "import": "./lib/esm/activities/index-dsl.js",
87
+ "require": "./lib/cjs/activities/index-dsl.js"
88
+ },
89
+ "./workflows": {
90
+ "types": "./lib/types/workflows.d.ts",
91
+ "import": "./lib/esm/workflows.js",
92
+ "require": "./lib/cjs/workflows.js"
93
+ },
94
+ "./dsl": {
95
+ "types": "./lib/types/dsl.d.ts",
96
+ "import": "./lib/esm/dsl.js",
97
+ "require": "./lib/cjs/dsl.js"
98
+ },
99
+ "./workflows-bundle": {
100
+ "import": "./lib/workflows-bundle.js"
101
+ },
102
+ "./errors": {
103
+ "types": "./lib/types/errors.d.ts",
104
+ "import": "./lib/esm/errors.js",
105
+ "require": "./lib/cjs/errors.js"
106
+ }
98
107
  },
99
- "./workflows-bundle": {
100
- "import": "./lib/workflows-bundle.js"
101
- }
102
- },
103
- "types": "./lib/types/index.d.ts",
104
- "typesVersions": {
105
- "*": {
106
- "activities": [
107
- "./lib/types/activities/index.d.ts"
108
- ],
109
- "dsl-activities": [
110
- "./lib/types/activities/index-dsl.d.ts"
111
- ],
112
- "workflows": [
113
- "./lib/types/workflows.d.ts"
114
- ],
115
- "dsl": [
116
- "./lib/types/dsl.d.ts"
117
- ],
118
- "vars": [
119
- "./lib/types/dsl/vars.d.ts"
120
- ]
108
+ "repository": {
109
+ "type": "git",
110
+ "url": "https://github.com/vertesia/composableai.git",
111
+ "directory": "packages/workflow"
112
+ },
113
+ "types": "./lib/types/index.d.ts",
114
+ "typesVersions": {
115
+ "*": {
116
+ "activities": [
117
+ "./lib/types/activities/index.d.ts"
118
+ ],
119
+ "dsl-activities": [
120
+ "./lib/types/activities/index-dsl.d.ts"
121
+ ],
122
+ "workflows": [
123
+ "./lib/types/workflows.d.ts"
124
+ ],
125
+ "dsl": [
126
+ "./lib/types/dsl.d.ts"
127
+ ],
128
+ "vars": [
129
+ "./lib/types/dsl/vars.d.ts"
130
+ ],
131
+ "errors": [
132
+ "./lib/types/errors.d.ts"
133
+ ]
134
+ }
121
135
  }
122
- },
123
- "scripts": {
124
- "test": "vitest run",
125
- "build": "pnpm exec tsmod build && node ./bin/bundle-workflows.mjs lib/esm/workflows.js lib/workflows-bundle.js",
126
- "clean": "rm -rf ./lib tsconfig.tsbuildinfo"
127
- }
128
- }
136
+ }
@@ -3,6 +3,7 @@ import { log } from "@temporalio/activity";
3
3
  import { projectResult } from "../../dsl/projections.js";
4
4
  import { setupActivity } from "../../dsl/setup/ActivityContext.js";
5
5
  import { ActivityParamNotFoundError } from "../../errors.js";
6
+ import { parseCompletionResultsToJson } from "@llumiverse/common";
6
7
 
7
8
 
8
9
  export interface CreateDocumentTypeFromInteractionRunParams {
@@ -30,16 +31,18 @@ export async function createDocumentTypeFromInteractionRun(payload: DSLActivityE
30
31
 
31
32
  const genTypeRes = params.run.result;
32
33
 
33
- if (!genTypeRes.document_type) {
34
+ const jsonResult = parseCompletionResultsToJson(params.run.result);
35
+
36
+ if (!jsonResult.document_type) {
34
37
  log.error("No name generated for type: " + JSON.stringify(genTypeRes), genTypeRes);
35
38
  throw new Error("No name generated for type");
36
39
  }
37
40
 
38
- log.info("Generated schema for type", genTypeRes.metadata_schema);
41
+ log.info("Generated schema for type", jsonResult.metadata_schema);
39
42
  const typeData: CreateContentObjectTypePayload = {
40
- name: genTypeRes.document_type,
41
- object_schema: genTypeRes.metadata_schema,
42
- is_chunkable: !!genTypeRes.is_chunkable,
43
+ name: jsonResult.document_type,
44
+ object_schema: jsonResult.metadata_schema,
45
+ is_chunkable: !!jsonResult.is_chunkable,
43
46
  }
44
47
 
45
48
  const type = await client.types.create(typeData);
@@ -2,6 +2,7 @@ import { log } from "@temporalio/activity";
2
2
  import { ContentObjectStatus, DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../../dsl/setup/ActivityContext.js";
4
4
  import { ActivityParamNotFoundError, DocumentNotFoundError } from "../../errors.js";
5
+ import { parseCompletionResultsToJson, completionResultToString } from "@llumiverse/common";
5
6
 
6
7
  interface CreateOrUpdateObjectFromInteractionRunParams {
7
8
  /**
@@ -68,28 +69,23 @@ export async function createOrUpdateDocumentFromInteractionRun(payload: DSLActiv
68
69
 
69
70
 
70
71
  const result = run.result;
71
- const resultIsObject = typeof result === 'object';
72
+ const jsonResult = parseCompletionResultsToJson(run.result);
72
73
  const inputData = run.parameters;
73
74
 
74
- let name: string;
75
- if (resultIsObject) {
76
- name = result['name'] || result["title"] || inputData['name'] || params.fallback_name || 'Untitled';
77
- } else {
78
- name = inputData['name'] || params.fallback_name || 'Untitled';
79
- }
75
+ const name = jsonResult['name'] || jsonResult["title"] || inputData['name'] || params.fallback_name || 'Untitled';
80
76
 
81
77
  const docPayload = {
82
78
  name,
83
79
  parent: params.parent ?? undefined,
84
- properties: resultIsObject ? result : {},
85
- text: !resultIsObject ? result : undefined,
80
+ properties: jsonResult ? jsonResult : {},
81
+ text: !jsonResult ? result.map(completionResultToString).join('\n') : undefined,
86
82
  type: type?.id,
87
83
  status: ContentObjectStatus.completed,
88
84
  generation_run_info: {
89
85
  id: run.id,
90
86
  date: new Date().toISOString(),
91
87
  model: run.modelId,
92
- target: resultIsObject ? 'properties' : 'text'
88
+ target: jsonResult ? 'properties' : 'text'
93
89
  }
94
90
  };
95
91
 
@@ -1,6 +1,7 @@
1
1
  import { DSLActivityExecutionPayload, DSLActivitySpec, ExecutionRun } from "@vertesia/common";
2
2
  import { setupActivity } from "../../dsl/setup/ActivityContext.js";
3
3
  import { ActivityParamNotFoundError } from "../../errors.js";
4
+ import { parseCompletionResultsToJson } from "@llumiverse/common";
4
5
 
5
6
 
6
7
  export interface UpdateDocumentFromInteractionRunParams {
@@ -28,7 +29,9 @@ export async function updateDocumentFromInteractionRun(payload: DSLActivityExecu
28
29
  return { status: "failed", error: "no-props" };
29
30
  }
30
31
 
31
- await client.objects.update(objectId, docProps);
32
+ const jsonResult = parseCompletionResultsToJson(params.run.result);
33
+
34
+ await client.objects.update(objectId, jsonResult);
32
35
 
33
36
  return { status: "success" };
34
37
  }
@@ -3,6 +3,7 @@ import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
4
  import { DocPart } from "../utils/chunks.js";
5
5
  import { InteractionExecutionParams, executeInteractionFromActivity } from "./executeInteraction.js";
6
+ import { parseCompletionResultsToJson } from "@llumiverse/common";
6
7
 
7
8
  const INT_CHUNK_DOCUMENT = "sys:ChunkDocument"
8
9
 
@@ -82,7 +83,9 @@ export async function chunkDocument(payload: DSLActivityExecutionPayload<ChunkDo
82
83
  content: instrumented
83
84
  });
84
85
 
85
- const parts = res.result.parts as DocPart[];
86
+ const jsonResult = parseCompletionResultsToJson(res.result);
87
+
88
+ const parts = jsonResult.parts as DocPart[];
86
89
  if (!parts || parts.length === 0) {
87
90
  log.warn('No parts found for object ID: ' + objectId, res);
88
91
  return { id: objectId, status: "failed", parts: [], message: "no parts found" }
@@ -13,7 +13,7 @@ import {
13
13
  } from "@vertesia/common";
14
14
  import { projectResult } from "../dsl/projections.js";
15
15
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
16
- import { ActivityParamInvalidError, ActivityParamNotFoundError } from "../errors.js";
16
+ import { ActivityParamInvalidError, ActivityParamNotFoundError, ResourceExhaustedError } from "../errors.js";
17
17
  import { TruncateSpec, truncByMaxTokens } from "../utils/tokens.js";
18
18
  import { Readable } from "stream";
19
19
 
@@ -98,6 +98,11 @@ export interface InteractionExecutionParams {
98
98
  * Options to control generation
99
99
  */
100
100
  model_options?: ModelOptions;
101
+
102
+ /**
103
+ * activity won't be retried if it fails due to resource exhaustion (429)
104
+ */
105
+ exit_on_resource_exhaustion?: boolean;
101
106
  }
102
107
 
103
108
  /**
@@ -153,11 +158,11 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
153
158
 
154
159
  // Handle image uploads if the result contains base64 images
155
160
  if (res.output_modality === Modalities.image) {
156
- const images = res.result.images;
161
+ const images = res.result.filter((r: { type: string; }) => r.type === 'image');
157
162
  const uploadedImages = await Promise.all(
158
- images.map((image: string, index: number) => {
163
+ images.map((image: { value: string; }, index: number) => {
159
164
  // Extract base64 data and create buffer
160
- const base64Data = image.replace(/^data:image\/[a-z]+;base64,/, "");
165
+ const base64Data = image.value.replace(/^data:image\/[a-z]+;base64,/, "");
161
166
  const buffer = Buffer.from(base64Data, 'base64');
162
167
 
163
168
  // Generate filename
@@ -177,7 +182,7 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
177
182
  return client.files.uploadFile(source);
178
183
  })
179
184
  );
180
- res.result.images = uploadedImages;
185
+ res.result = uploadedImages.map(file => ({ type: "image", value: file }));
181
186
  }
182
187
 
183
188
  return projectResult(payload, params, res, {
@@ -187,15 +192,17 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
187
192
  });
188
193
 
189
194
  } catch (error: any) {
190
- log.error("Failed to execute interaction", { error });
191
- if (error.message.includes("Failed to validate merged prompt schema")) {
195
+ log.error(`Failed to execute interaction ${interactionName}`, { error });
196
+ if (error.statusCode === 429 && params.exit_on_resource_exhaustion) {
197
+ throw new ResourceExhaustedError(error.statusCode, "Resource exhausted - rate limit exceeded");
198
+ } else if (error.message.includes("Failed to validate merged prompt schema")) {
192
199
  //issue with the input data, don't retry
193
200
  throw new ActivityParamInvalidError("prompt_data", payload.activity, error.message);
194
201
  } else if (error.message.includes("modelId: Path `modelId` is required")) {
195
202
  //issue with the input data, don't retry
196
203
  throw new ActivityParamInvalidError("model", payload.activity, error.message);
197
204
  } else {
198
- throw error;
205
+ throw new Error(`Interaction Execution failed ${interactionName}: ${error.message}`);
199
206
  }
200
207
  }
201
208
  }
@@ -270,7 +277,7 @@ export async function executeInteractionFromActivity(
270
277
  })
271
278
  .catch((err) => {
272
279
  log.error(`Error executing interaction ${interactionName}`, { err });
273
- throw new Error(`Interaction Execution failed ${interactionName}: ${err.message}`);
280
+ throw err;
274
281
  });
275
282
 
276
283
  if (debug) {
@@ -1,8 +1,9 @@
1
1
  import { log } from "@temporalio/activity";
2
2
  import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
3
3
  import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
- import { TruncateSpec } from "../utils/tokens.js";
4
+ import { TruncateSpec, truncByMaxTokens } from "../utils/tokens.js";
5
5
  import { InteractionExecutionParams, executeInteractionFromActivity } from "./executeInteraction.js";
6
+ import { parseCompletionResultsToJson } from "@llumiverse/common";
6
7
 
7
8
  const INT_EXTRACT_INFORMATION = "sys:ExtractInformation";
8
9
  export interface GenerateDocumentPropertiesParams extends InteractionExecutionParams {
@@ -55,8 +56,12 @@ export async function generateDocumentProperties(
55
56
  return undefined;
56
57
  };
57
58
 
59
+ const content = doc.text
60
+ ? truncByMaxTokens(doc.text, params.truncate || 30000)
61
+ : undefined;
62
+
58
63
  const promptData = {
59
- content: doc.text ?? undefined,
64
+ content: content,
60
65
  image: getImageRef() ?? undefined,
61
66
  human_context: project?.configuration?.human_context ?? undefined,
62
67
  };
@@ -84,11 +89,12 @@ export async function generateDocumentProperties(
84
89
  return undefined;
85
90
  }
86
91
  let text = "";
87
- if (infoRes.result.title) {
88
- text += infoRes.result.title + "\n";
92
+ const jsonResult = parseCompletionResultsToJson(infoRes.result);
93
+ if (jsonResult.title) {
94
+ text += jsonResult.title + "\n";
89
95
  }
90
- if (infoRes.result.description) {
91
- text += infoRes.result.description;
96
+ if (jsonResult.description) {
97
+ text += jsonResult.description;
92
98
  }
93
99
  if (text) {
94
100
  return text;
@@ -100,7 +106,7 @@ export async function generateDocumentProperties(
100
106
  log.info(`Extracted information from object ${objectId} with type ${type.name}`, { runId: infoRes.id });
101
107
  await client.objects.update(doc.id, {
102
108
  properties: {
103
- ...infoRes.result,
109
+ ...parseCompletionResultsToJson(infoRes.result),
104
110
  etag: doc.text_etag,
105
111
  },
106
112
  text: getText(),
@@ -15,6 +15,7 @@ import {
15
15
  InteractionExecutionParams,
16
16
  executeInteractionFromActivity,
17
17
  } from "./executeInteraction.js";
18
+ import { parseCompletionResultsToJson } from "@llumiverse/common";
18
19
 
19
20
  const INT_SELECT_DOCUMENT_TYPE = "sys:SelectDocumentType";
20
21
  const INT_GENERATE_METADATA_MODEL = "sys:GenerateMetadataModel";
@@ -119,7 +120,7 @@ export async function generateOrAssignContentType(
119
120
 
120
121
  log.info(
121
122
  "Execute SelectDocumentType interaction on content with \nexisting types - passing full types: " +
122
- existing_types.filter((t) => !t.tags?.includes("system")),
123
+ existing_types.filter((t) => !t.tags?.includes("system")),
123
124
  );
124
125
 
125
126
  const res = await executeInteractionFromActivity(
@@ -133,12 +134,15 @@ export async function generateOrAssignContentType(
133
134
  },
134
135
  );
135
136
 
136
- log.info("Selected Content Type Result: " + JSON.stringify(res.result));
137
+ const jsonResult = parseCompletionResultsToJson(res.result);
138
+
139
+ log.info("Selected Content Type Result: " + JSON.stringify(jsonResult));
140
+
137
141
 
138
142
  //if type is not identified or not present in the database, generate a new type
139
143
  let selectedType: { id: string; name: string } | undefined = undefined;
140
144
 
141
- selectedType = types.find((t) => t.name === res.result.document_type);
145
+ selectedType = types.find((t) => t.name === jsonResult.document_type);
142
146
 
143
147
  if (!selectedType) {
144
148
  log.warn("Document type not identified: starting type generation");
@@ -153,7 +157,7 @@ export async function generateOrAssignContentType(
153
157
 
154
158
  if (!selectedType) {
155
159
  log.error("Type not found: ", res.result);
156
- throw new Error("Type not found: " + res.result.document_type);
160
+ throw new Error("Type not found: " + jsonResult.document_type);
157
161
  }
158
162
 
159
163
  //update object with selected type
@@ -193,18 +197,20 @@ async function generateNewType(
193
197
  },
194
198
  );
195
199
 
196
- if (!genTypeRes.result.document_type) {
200
+ const jsonResult = parseCompletionResultsToJson(genTypeRes.result);
201
+
202
+ if (!jsonResult.document_type) {
197
203
  log.error("No name generated for type", genTypeRes);
198
204
  throw new Error("No name generated for type");
199
205
  }
200
206
 
201
- log.info("Generated schema for type", genTypeRes.result.metadata_schema);
207
+ log.info("Generated schema for type", jsonResult.metadata_schema);
202
208
  const typeData: CreateContentObjectTypePayload = {
203
- name: genTypeRes.result.document_type,
204
- description: genTypeRes.result.document_type_description,
205
- object_schema: genTypeRes.result.metadata_schema,
206
- is_chunkable: genTypeRes.result.is_chunkable,
207
- table_layout: genTypeRes.result.table_layout,
209
+ name: jsonResult.document_type,
210
+ description: jsonResult.document_type_description,
211
+ object_schema: jsonResult.metadata_schema,
212
+ is_chunkable: jsonResult.is_chunkable,
213
+ table_layout: jsonResult.table_layout,
208
214
  };
209
215
 
210
216
  const type = await client.types.create(typeData);
@@ -17,4 +17,4 @@ export { convertPdfToStructuredText } from "./media/processPdfWithTextract.js";
17
17
  export { transcribeMedia } from "./media/transcribeMediaWithGladia.js";
18
18
  export { notifyWebhook } from "./notifyWebhook.js";
19
19
  export { setDocumentStatus } from "./setDocumentStatus.js";
20
- export { identifyTextSections } from "./identifyTextSections.js";
20
+ export { checkRateLimit } from "./rateLimiter.js";