@vertesia/workflow 0.52.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 (379) hide show
  1. package/package.json +5 -4
  2. package/src/activities/createDocumentFromOther.ts +1 -1
  3. package/src/activities/executeInteraction.ts +66 -39
  4. package/src/activities/extractDocumentText.ts +67 -51
  5. package/src/activities/generateEmbeddings.ts +1 -1
  6. package/src/activities/generateImageRendition.ts +35 -14
  7. package/src/activities/generateOrAssignContentType.ts +52 -26
  8. package/src/activities/getObjectFromStore.ts +1 -1
  9. package/src/activities/handleError.ts +25 -0
  10. package/src/activities/index-dsl.ts +1 -0
  11. package/src/activities/index.ts +0 -1
  12. package/src/activities/media/processPdfWithTextract.ts +4 -4
  13. package/src/activities/media/transcribeMediaWithGladia.ts +1 -1
  14. package/src/activities/setDocumentStatus.ts +1 -1
  15. package/src/conversion/TextractProcessor.ts +9 -9
  16. package/src/conversion/image.ts +8 -2
  17. package/src/conversion/markitdown.ts +41 -0
  18. package/src/conversion/mutool.ts +1 -1
  19. package/src/conversion/pandoc.test.ts +2 -2
  20. package/src/conversion/pandoc.ts +38 -42
  21. package/src/dsl/dsl-workflow.ts +80 -12
  22. package/src/dsl/validation.test.ts +2 -2
  23. package/src/dsl/vars.test.ts +1 -1
  24. package/src/dsl/vars.ts +6 -6
  25. package/src/dsl/workflow-exec-child.test.ts +14 -4
  26. package/src/dsl/workflow-fetch.test.ts +1 -1
  27. package/src/dsl/workflow-import.test.ts +1 -1
  28. package/src/dsl/workflow.test.ts +12 -2
  29. package/src/index.ts +1 -1
  30. package/src/iterative-generation/activities/extractToc.ts +1 -1
  31. package/src/iterative-generation/activities/generatePart.ts +2 -2
  32. package/src/iterative-generation/activities/generateToc.ts +1 -1
  33. package/src/iterative-generation/iterativeGenerationWorkflow.ts +1 -1
  34. package/src/iterative-generation/types.ts +4 -4
  35. package/src/iterative-generation/utils.ts +4 -4
  36. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -32
  37. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  38. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -72
  39. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  40. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -18
  41. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  42. package/lib/cjs/activities/chunkDocument.js +0 -84
  43. package/lib/cjs/activities/chunkDocument.js.map +0 -1
  44. package/lib/cjs/activities/createDocumentFromOther.js +0 -64
  45. package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
  46. package/lib/cjs/activities/executeInteraction.js +0 -140
  47. package/lib/cjs/activities/executeInteraction.js.map +0 -1
  48. package/lib/cjs/activities/extractDocumentText.js +0 -153
  49. package/lib/cjs/activities/extractDocumentText.js.map +0 -1
  50. package/lib/cjs/activities/generateDocumentProperties.js +0 -77
  51. package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
  52. package/lib/cjs/activities/generateEmbeddings.js +0 -248
  53. package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
  54. package/lib/cjs/activities/generateImageRendition.js +0 -147
  55. package/lib/cjs/activities/generateImageRendition.js.map +0 -1
  56. package/lib/cjs/activities/generateOrAssignContentType.js +0 -99
  57. package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
  58. package/lib/cjs/activities/getObjectFromStore.js +0 -20
  59. package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
  60. package/lib/cjs/activities/index-dsl.js +0 -37
  61. package/lib/cjs/activities/index-dsl.js.map +0 -1
  62. package/lib/cjs/activities/index.js +0 -22
  63. package/lib/cjs/activities/index.js.map +0 -1
  64. package/lib/cjs/activities/media/processPdfWithTextract.js +0 -102
  65. package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
  66. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -51
  67. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
  68. package/lib/cjs/activities/notifyWebhook.js +0 -34
  69. package/lib/cjs/activities/notifyWebhook.js.map +0 -1
  70. package/lib/cjs/activities/setDocumentStatus.js +0 -15
  71. package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
  72. package/lib/cjs/conversion/TextractProcessor.js +0 -417
  73. package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
  74. package/lib/cjs/conversion/image.js +0 -90
  75. package/lib/cjs/conversion/image.js.map +0 -1
  76. package/lib/cjs/conversion/mutool.js +0 -147
  77. package/lib/cjs/conversion/mutool.js.map +0 -1
  78. package/lib/cjs/conversion/pandoc.js +0 -39
  79. package/lib/cjs/conversion/pandoc.js.map +0 -1
  80. package/lib/cjs/dsl/conditions.js +0 -81
  81. package/lib/cjs/dsl/conditions.js.map +0 -1
  82. package/lib/cjs/dsl/dsl-workflow.js +0 -223
  83. package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
  84. package/lib/cjs/dsl/dslProxyActivities.js +0 -23
  85. package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
  86. package/lib/cjs/dsl/projections.js +0 -59
  87. package/lib/cjs/dsl/projections.js.map +0 -1
  88. package/lib/cjs/dsl/setup/ActivityContext.js +0 -120
  89. package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
  90. package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
  91. package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
  92. package/lib/cjs/dsl/setup/fetch/index.js +0 -16
  93. package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
  94. package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
  95. package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
  96. package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
  97. package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
  98. package/lib/cjs/dsl/validation.js +0 -122
  99. package/lib/cjs/dsl/validation.js.map +0 -1
  100. package/lib/cjs/dsl/vars.js +0 -341
  101. package/lib/cjs/dsl/vars.js.map +0 -1
  102. package/lib/cjs/dsl/walk.js +0 -100
  103. package/lib/cjs/dsl/walk.js.map +0 -1
  104. package/lib/cjs/dsl.js +0 -20
  105. package/lib/cjs/dsl.js.map +0 -1
  106. package/lib/cjs/errors.js +0 -48
  107. package/lib/cjs/errors.js.map +0 -1
  108. package/lib/cjs/index.js +0 -50
  109. package/lib/cjs/index.js.map +0 -1
  110. package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
  111. package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
  112. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -69
  113. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
  114. package/lib/cjs/iterative-generation/activities/generatePart.js +0 -73
  115. package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
  116. package/lib/cjs/iterative-generation/activities/generateToc.js +0 -91
  117. package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
  118. package/lib/cjs/iterative-generation/activities/index.js +0 -12
  119. package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
  120. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
  121. package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  122. package/lib/cjs/iterative-generation/types.js +0 -5
  123. package/lib/cjs/iterative-generation/types.js.map +0 -1
  124. package/lib/cjs/iterative-generation/utils.js +0 -121
  125. package/lib/cjs/iterative-generation/utils.js.map +0 -1
  126. package/lib/cjs/package.json +0 -3
  127. package/lib/cjs/result-types.js +0 -10
  128. package/lib/cjs/result-types.js.map +0 -1
  129. package/lib/cjs/system/notifyWebhookWorkflow.js +0 -47
  130. package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
  131. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -28
  132. package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  133. package/lib/cjs/utils/auth.js +0 -15
  134. package/lib/cjs/utils/auth.js.map +0 -1
  135. package/lib/cjs/utils/blobs.js +0 -69
  136. package/lib/cjs/utils/blobs.js.map +0 -1
  137. package/lib/cjs/utils/chunks.js +0 -14
  138. package/lib/cjs/utils/chunks.js.map +0 -1
  139. package/lib/cjs/utils/client.js +0 -26
  140. package/lib/cjs/utils/client.js.map +0 -1
  141. package/lib/cjs/utils/expand-vars.js +0 -33
  142. package/lib/cjs/utils/expand-vars.js.map +0 -1
  143. package/lib/cjs/utils/memory.js +0 -65
  144. package/lib/cjs/utils/memory.js.map +0 -1
  145. package/lib/cjs/utils/tokens.js +0 -38
  146. package/lib/cjs/utils/tokens.js.map +0 -1
  147. package/lib/cjs/vars.js +0 -20
  148. package/lib/cjs/vars.js.map +0 -1
  149. package/lib/cjs/workflows.js +0 -15
  150. package/lib/cjs/workflows.js.map +0 -1
  151. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -29
  152. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
  153. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -69
  154. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
  155. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -15
  156. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
  157. package/lib/esm/activities/chunkDocument.js +0 -81
  158. package/lib/esm/activities/chunkDocument.js.map +0 -1
  159. package/lib/esm/activities/createDocumentFromOther.js +0 -58
  160. package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
  161. package/lib/esm/activities/executeInteraction.js +0 -136
  162. package/lib/esm/activities/executeInteraction.js.map +0 -1
  163. package/lib/esm/activities/extractDocumentText.js +0 -150
  164. package/lib/esm/activities/extractDocumentText.js.map +0 -1
  165. package/lib/esm/activities/generateDocumentProperties.js +0 -74
  166. package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
  167. package/lib/esm/activities/generateEmbeddings.js +0 -245
  168. package/lib/esm/activities/generateEmbeddings.js.map +0 -1
  169. package/lib/esm/activities/generateImageRendition.js +0 -141
  170. package/lib/esm/activities/generateImageRendition.js.map +0 -1
  171. package/lib/esm/activities/generateOrAssignContentType.js +0 -96
  172. package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
  173. package/lib/esm/activities/getObjectFromStore.js +0 -17
  174. package/lib/esm/activities/getObjectFromStore.js.map +0 -1
  175. package/lib/esm/activities/index-dsl.js +0 -18
  176. package/lib/esm/activities/index-dsl.js.map +0 -1
  177. package/lib/esm/activities/index.js +0 -6
  178. package/lib/esm/activities/index.js.map +0 -1
  179. package/lib/esm/activities/media/processPdfWithTextract.js +0 -98
  180. package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
  181. package/lib/esm/activities/media/transcribeMediaWithGladia.js +0 -48
  182. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
  183. package/lib/esm/activities/notifyWebhook.js +0 -31
  184. package/lib/esm/activities/notifyWebhook.js.map +0 -1
  185. package/lib/esm/activities/setDocumentStatus.js +0 -12
  186. package/lib/esm/activities/setDocumentStatus.js.map +0 -1
  187. package/lib/esm/conversion/TextractProcessor.js +0 -410
  188. package/lib/esm/conversion/TextractProcessor.js.map +0 -1
  189. package/lib/esm/conversion/image.js +0 -84
  190. package/lib/esm/conversion/image.js.map +0 -1
  191. package/lib/esm/conversion/mutool.js +0 -139
  192. package/lib/esm/conversion/mutool.js.map +0 -1
  193. package/lib/esm/conversion/pandoc.js +0 -36
  194. package/lib/esm/conversion/pandoc.js.map +0 -1
  195. package/lib/esm/dsl/conditions.js +0 -75
  196. package/lib/esm/dsl/conditions.js.map +0 -1
  197. package/lib/esm/dsl/dsl-workflow.js +0 -216
  198. package/lib/esm/dsl/dsl-workflow.js.map +0 -1
  199. package/lib/esm/dsl/dslProxyActivities.js +0 -20
  200. package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
  201. package/lib/esm/dsl/projections.js +0 -55
  202. package/lib/esm/dsl/projections.js.map +0 -1
  203. package/lib/esm/dsl/setup/ActivityContext.js +0 -115
  204. package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
  205. package/lib/esm/dsl/setup/fetch/DataProvider.js +0 -47
  206. package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
  207. package/lib/esm/dsl/setup/fetch/index.js +0 -12
  208. package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
  209. package/lib/esm/dsl/setup/fetch/providers.js +0 -61
  210. package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
  211. package/lib/esm/dsl/test/test-child-workflow.js +0 -5
  212. package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
  213. package/lib/esm/dsl/validation.js +0 -118
  214. package/lib/esm/dsl/validation.js.map +0 -1
  215. package/lib/esm/dsl/vars.js +0 -335
  216. package/lib/esm/dsl/vars.js.map +0 -1
  217. package/lib/esm/dsl/walk.js +0 -96
  218. package/lib/esm/dsl/walk.js.map +0 -1
  219. package/lib/esm/dsl.js +0 -4
  220. package/lib/esm/dsl.js.map +0 -1
  221. package/lib/esm/errors.js +0 -41
  222. package/lib/esm/errors.js.map +0 -1
  223. package/lib/esm/index.js +0 -32
  224. package/lib/esm/index.js.map +0 -1
  225. package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
  226. package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
  227. package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -66
  228. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
  229. package/lib/esm/iterative-generation/activities/generatePart.js +0 -70
  230. package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
  231. package/lib/esm/iterative-generation/activities/generateToc.js +0 -88
  232. package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
  233. package/lib/esm/iterative-generation/activities/index.js +0 -5
  234. package/lib/esm/iterative-generation/activities/index.js.map +0 -1
  235. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
  236. package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
  237. package/lib/esm/iterative-generation/types.js +0 -2
  238. package/lib/esm/iterative-generation/types.js.map +0 -1
  239. package/lib/esm/iterative-generation/utils.js +0 -112
  240. package/lib/esm/iterative-generation/utils.js.map +0 -1
  241. package/lib/esm/result-types.js +0 -7
  242. package/lib/esm/result-types.js.map +0 -1
  243. package/lib/esm/system/notifyWebhookWorkflow.js +0 -44
  244. package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
  245. package/lib/esm/system/recalculateEmbeddingsWorkflow.js +0 -25
  246. package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
  247. package/lib/esm/utils/auth.js +0 -8
  248. package/lib/esm/utils/auth.js.map +0 -1
  249. package/lib/esm/utils/blobs.js +0 -58
  250. package/lib/esm/utils/blobs.js.map +0 -1
  251. package/lib/esm/utils/chunks.js +0 -9
  252. package/lib/esm/utils/chunks.js.map +0 -1
  253. package/lib/esm/utils/client.js +0 -23
  254. package/lib/esm/utils/client.js.map +0 -1
  255. package/lib/esm/utils/expand-vars.js +0 -30
  256. package/lib/esm/utils/expand-vars.js.map +0 -1
  257. package/lib/esm/utils/memory.js +0 -55
  258. package/lib/esm/utils/memory.js.map +0 -1
  259. package/lib/esm/utils/tokens.js +0 -34
  260. package/lib/esm/utils/tokens.js.map +0 -1
  261. package/lib/esm/vars.js +0 -4
  262. package/lib/esm/vars.js.map +0 -1
  263. package/lib/esm/workflows.js +0 -8
  264. package/lib/esm/workflows.js.map +0 -1
  265. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +0 -17
  266. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
  267. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +0 -39
  268. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
  269. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +0 -19
  270. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
  271. package/lib/types/activities/chunkDocument.d.ts +0 -33
  272. package/lib/types/activities/chunkDocument.d.ts.map +0 -1
  273. package/lib/types/activities/createDocumentFromOther.d.ts +0 -21
  274. package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
  275. package/lib/types/activities/executeInteraction.d.ts +0 -55
  276. package/lib/types/activities/executeInteraction.d.ts.map +0 -1
  277. package/lib/types/activities/extractDocumentText.d.ts +0 -10
  278. package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
  279. package/lib/types/activities/generateDocumentProperties.d.ts +0 -32
  280. package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
  281. package/lib/types/activities/generateEmbeddings.d.ts +0 -53
  282. package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
  283. package/lib/types/activities/generateImageRendition.d.ts +0 -15
  284. package/lib/types/activities/generateImageRendition.d.ts.map +0 -1
  285. package/lib/types/activities/generateOrAssignContentType.d.ts +0 -44
  286. package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
  287. package/lib/types/activities/getObjectFromStore.d.ts +0 -14
  288. package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
  289. package/lib/types/activities/index-dsl.d.ts +0 -17
  290. package/lib/types/activities/index-dsl.d.ts.map +0 -1
  291. package/lib/types/activities/index.d.ts +0 -6
  292. package/lib/types/activities/index.d.ts.map +0 -1
  293. package/lib/types/activities/media/processPdfWithTextract.d.ts +0 -26
  294. package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
  295. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +0 -14
  296. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
  297. package/lib/types/activities/notifyWebhook.d.ts +0 -16
  298. package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
  299. package/lib/types/activities/setDocumentStatus.d.ts +0 -15
  300. package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
  301. package/lib/types/conversion/TextractProcessor.d.ts +0 -45
  302. package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
  303. package/lib/types/conversion/image.d.ts +0 -11
  304. package/lib/types/conversion/image.d.ts.map +0 -1
  305. package/lib/types/conversion/mutool.d.ts +0 -19
  306. package/lib/types/conversion/mutool.d.ts.map +0 -1
  307. package/lib/types/conversion/pandoc.d.ts +0 -2
  308. package/lib/types/conversion/pandoc.d.ts.map +0 -1
  309. package/lib/types/dsl/conditions.d.ts +0 -2
  310. package/lib/types/dsl/conditions.d.ts.map +0 -1
  311. package/lib/types/dsl/dsl-workflow.d.ts +0 -5
  312. package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
  313. package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
  314. package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
  315. package/lib/types/dsl/projections.d.ts +0 -4
  316. package/lib/types/dsl/projections.d.ts.map +0 -1
  317. package/lib/types/dsl/setup/ActivityContext.d.ts +0 -17
  318. package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
  319. package/lib/types/dsl/setup/fetch/DataProvider.d.ts +0 -9
  320. package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
  321. package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
  322. package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
  323. package/lib/types/dsl/setup/fetch/providers.d.ts +0 -25
  324. package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
  325. package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
  326. package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
  327. package/lib/types/dsl/validation.d.ts +0 -4
  328. package/lib/types/dsl/validation.d.ts.map +0 -1
  329. package/lib/types/dsl/vars.d.ts +0 -48
  330. package/lib/types/dsl/vars.d.ts.map +0 -1
  331. package/lib/types/dsl/walk.d.ts +0 -18
  332. package/lib/types/dsl/walk.d.ts.map +0 -1
  333. package/lib/types/dsl.d.ts +0 -4
  334. package/lib/types/dsl.d.ts.map +0 -1
  335. package/lib/types/errors.d.ts +0 -22
  336. package/lib/types/errors.d.ts.map +0 -1
  337. package/lib/types/index.d.ts +0 -31
  338. package/lib/types/index.d.ts.map +0 -1
  339. package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
  340. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
  341. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
  342. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
  343. package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
  344. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
  345. package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
  346. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
  347. package/lib/types/iterative-generation/activities/index.d.ts +0 -5
  348. package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
  349. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
  350. package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
  351. package/lib/types/iterative-generation/types.d.ts +0 -79
  352. package/lib/types/iterative-generation/types.d.ts.map +0 -1
  353. package/lib/types/iterative-generation/utils.d.ts +0 -27
  354. package/lib/types/iterative-generation/utils.d.ts.map +0 -1
  355. package/lib/types/result-types.d.ts +0 -22
  356. package/lib/types/result-types.d.ts.map +0 -1
  357. package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -3
  358. package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
  359. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +0 -25
  360. package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
  361. package/lib/types/utils/auth.d.ts +0 -4
  362. package/lib/types/utils/auth.d.ts.map +0 -1
  363. package/lib/types/utils/blobs.d.ts +0 -8
  364. package/lib/types/utils/blobs.d.ts.map +0 -1
  365. package/lib/types/utils/chunks.d.ts +0 -9
  366. package/lib/types/utils/chunks.d.ts.map +0 -1
  367. package/lib/types/utils/client.d.ts +0 -7
  368. package/lib/types/utils/client.d.ts.map +0 -1
  369. package/lib/types/utils/expand-vars.d.ts +0 -8
  370. package/lib/types/utils/expand-vars.d.ts.map +0 -1
  371. package/lib/types/utils/memory.d.ts +0 -8
  372. package/lib/types/utils/memory.d.ts.map +0 -1
  373. package/lib/types/utils/tokens.d.ts +0 -11
  374. package/lib/types/utils/tokens.d.ts.map +0 -1
  375. package/lib/types/vars.d.ts +0 -3
  376. package/lib/types/vars.d.ts.map +0 -1
  377. package/lib/types/workflows.d.ts +0 -8
  378. package/lib/types/workflows.d.ts.map +0 -1
  379. package/lib/workflows-bundle.js +0 -20689
@@ -1,136 +0,0 @@
1
- import { activityInfo, log } from "@temporalio/activity";
2
- import { ExecutionRunStatus } from "@vertesia/common";
3
- import { projectResult } from "../dsl/projections.js";
4
- import { setupActivity } from "../dsl/setup/ActivityContext.js";
5
- import { ActivityParamNotFound } from "../errors.js";
6
- import { truncByMaxTokens } from "../utils/tokens.js";
7
- //Example:
8
- //@ts-ignore
9
- const JSON = {
10
- name: 'executeInteraction',
11
- import: ["defaultModel", "guidlineId", "docTypeId"],
12
- params: {
13
- defaultModel: "${model}",
14
- interactionName: "GenerateSummary",
15
- model: "${defaultModel ?? 'gpt4'}",
16
- environment: "13456",
17
- max_tokens: 100,
18
- temperature: 0.5,
19
- tags: ["test"],
20
- result_schema: "${docType.object_schema}",
21
- prompt_data: {
22
- documents: "${documents}",
23
- guidline: "${guidline.text}"
24
- }
25
- },
26
- fetch: {
27
- documents: {
28
- type: "document",
29
- query: {
30
- id: { $in: "${objectIds}" },
31
- },
32
- select: "+text",
33
- },
34
- guidline: {
35
- type: "document",
36
- limit: 1,
37
- query: {
38
- id: "${guidlineId}",
39
- },
40
- select: "+text",
41
- on_not_found: "throw"
42
- },
43
- docType: {
44
- type: "document_type",
45
- limit: 1,
46
- query: {
47
- id: "${docTypeId}",
48
- },
49
- select: "+object_schema",
50
- }
51
- }
52
- };
53
- export async function executeInteraction(payload) {
54
- const { client, params } = await setupActivity(payload);
55
- const { interactionName, prompt_data, static_prompt_data: wf_prompt_data } = params;
56
- if (wf_prompt_data) {
57
- Object.assign(prompt_data, wf_prompt_data);
58
- }
59
- if (!interactionName) {
60
- log.error("Missing interactionName", { params });
61
- throw new ActivityParamNotFound("interactionName", payload.activity);
62
- }
63
- if (params.truncate) {
64
- const truncate = params.truncate;
65
- for (const [key, value] of Object.entries(truncate)) {
66
- prompt_data[key] = truncByMaxTokens(prompt_data[key], value);
67
- }
68
- }
69
- const res = await executeInteractionFromActivity(client, interactionName, params, prompt_data, payload.debug_mode);
70
- return projectResult(payload, params, res, {
71
- runId: res.id,
72
- status: res.status,
73
- result: res.result,
74
- });
75
- }
76
- export async function executeInteractionFromActivity(client, interactionName, params, prompt_data, debug) {
77
- const userTags = params.tags;
78
- const info = activityInfo();
79
- const runId = info.workflowExecution.runId;
80
- let tags = ["workflow", `tmpRunId:${runId}`]; //TODO use wf:wfName
81
- if (userTags) {
82
- tags = tags.concat(userTags);
83
- }
84
- let previousStudioExecutionRun = undefined;
85
- if (params.include_previous_error) {
86
- //retrieve last failed run if any
87
- if (info.attempt > 1) {
88
- log.info("Retrying, searching for previous run", { tags: ["tmpRunId:" + runId] });
89
- const payload = {
90
- query: { tags: ["tmpRunId:" + info.workflowExecution.runId] },
91
- limit: 1,
92
- };
93
- const previousRun = await client.runs.search(payload).then((res) => {
94
- log.info("Search results", { results: res });
95
- return res ? res[0] ?? undefined : undefined;
96
- });
97
- if (previousRun) {
98
- log.info("Found previous run", { previousRun });
99
- previousStudioExecutionRun = await client.runs.retrieve(previousRun.id);
100
- }
101
- }
102
- }
103
- if (debug && previousStudioExecutionRun?.error) {
104
- log.info(`Found previous run error`, { error: previousStudioExecutionRun?.error });
105
- }
106
- const config = {
107
- environment: params.environment,
108
- model: params.model,
109
- model_options: params.model_options,
110
- };
111
- const data = {
112
- ...prompt_data,
113
- previous_error: previousStudioExecutionRun?.error,
114
- };
115
- const result_schema = params.result_schema;
116
- log.debug(`About to execute interaction ${interactionName}`, { config, data, result_schema, tags });
117
- const res = await client.interactions.executeByName(interactionName, {
118
- config,
119
- data,
120
- result_schema,
121
- tags,
122
- stream: false,
123
- }).catch((err) => {
124
- log.error(`Error executing interaction ${interactionName}`, { err });
125
- throw new Error(`Interaction Execution failed ${interactionName}: ${err.message}`);
126
- });
127
- if (debug) {
128
- log.info(`Interaction executed ${interactionName}`, res);
129
- }
130
- if (res.error || res.status === ExecutionRunStatus.failed) {
131
- log.error(`Error executing interaction ${interactionName}`, { error: res.error });
132
- throw new Error(`Interaction Execution failed ${interactionName}: ${res.error}`);
133
- }
134
- return res;
135
- }
136
- //# sourceMappingURL=executeInteraction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executeInteraction.js","sourceRoot":"","sources":["../../../src/activities/executeInteraction.ts"],"names":[],"mappings":"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"}
@@ -1,150 +0,0 @@
1
- import { log } from "@temporalio/activity";
2
- import { mutoolPdfToText } from '../conversion/mutool.js';
3
- import { manyToMarkdown } from '../conversion/pandoc.js';
4
- import { setupActivity } from "../dsl/setup/ActivityContext.js";
5
- import { NoDocumentFound } from '../errors.js';
6
- import { TextExtractionStatus } from '../result-types.js';
7
- import { fetchBlobAsBuffer, md5 } from '../utils/blobs.js';
8
- import { countTokens } from '../utils/tokens.js';
9
- //@ts-ignore
10
- const JSON = {
11
- name: 'extractDocumentText',
12
- };
13
- ;
14
- export async function extractDocumentText(payload) {
15
- const { client, objectId } = await setupActivity(payload);
16
- const r = await client.objects.find({
17
- query: { _id: objectId },
18
- limit: 1,
19
- select: "+text"
20
- });
21
- const doc = r[0];
22
- if (!doc) {
23
- log.error(`Document ${objectId} not found`);
24
- throw new NoDocumentFound(`Document ${objectId} not found`, payload.objectIds);
25
- }
26
- log.info(`Extracting text for object ${doc.id}`);
27
- if (!doc.content?.type || !doc.content?.source) {
28
- if (doc.text) {
29
- return createResponse(doc, doc.text, TextExtractionStatus.skipped, "Text present and no source or type");
30
- }
31
- else {
32
- return createResponse(doc, "", TextExtractionStatus.error, "No source or type found");
33
- }
34
- }
35
- //skip if text already extracted and proper etag
36
- if (doc.text && doc.text.length > 0 && doc.text_etag === doc.content.etag) {
37
- return createResponse(doc, doc.text, TextExtractionStatus.skipped, "Text already extracted");
38
- }
39
- let fileBuffer;
40
- try {
41
- fileBuffer = await fetchBlobAsBuffer(client, doc.content.source);
42
- }
43
- catch (e) {
44
- log.error(`Error reading file: ${e}`);
45
- return createResponse(doc, "", TextExtractionStatus.error, e.message);
46
- }
47
- let txt;
48
- switch (doc.content.type) {
49
- case 'application/pdf':
50
- //if pdf is more than 2MB, use mutool
51
- txt = await mutoolPdfToText(fileBuffer);
52
- break;
53
- case 'text/plain':
54
- txt = fileBuffer.toString('utf8');
55
- break;
56
- //docx
57
- case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
58
- txt = await manyToMarkdown(fileBuffer, 'docx');
59
- break;
60
- //html
61
- case 'text/html':
62
- txt = await manyToMarkdown(fileBuffer, 'html');
63
- break;
64
- //opendocument
65
- case 'application/vnd.oasis.opendocument.text':
66
- txt = await manyToMarkdown(fileBuffer, 'odt');
67
- break;
68
- //rtf
69
- case 'application/rtf':
70
- txt = await manyToMarkdown(fileBuffer, 'rtf');
71
- break;
72
- //markdown
73
- case 'text/markdown':
74
- txt = fileBuffer.toString('utf8');
75
- break;
76
- //csv
77
- case 'text/csv':
78
- txt = fileBuffer.toString('utf8');
79
- break;
80
- //typescript
81
- case 'application/typescript':
82
- txt = fileBuffer.toString('utf8');
83
- break;
84
- //javascript
85
- case 'application/javascript':
86
- txt = fileBuffer.toString('utf8');
87
- break;
88
- //json
89
- case 'application/json':
90
- txt = fileBuffer.toString('utf8');
91
- break;
92
- default:
93
- if (sniffIfText(fileBuffer)) {
94
- txt = fileBuffer.toString('utf8'); //TODO: add charset detection
95
- break;
96
- }
97
- return createResponse(doc, doc.text ?? '', TextExtractionStatus.skipped, `Unsupported mime type: ${doc.content.type}`);
98
- }
99
- const tokensData = countTokens(txt);
100
- const etag = doc.content.etag ?? md5(txt);
101
- const updateData = {
102
- text: txt,
103
- text_etag: etag,
104
- tokens: {
105
- ...tokensData,
106
- etag: etag,
107
- }
108
- };
109
- await client.objects.update(doc.id, updateData);
110
- return createResponse(doc, txt, TextExtractionStatus.success);
111
- }
112
- function createResponse(doc, text, status, message) {
113
- return {
114
- status,
115
- message,
116
- tokens: doc.tokens,
117
- len: text.length,
118
- objectId: doc.id,
119
- hasText: !!text,
120
- };
121
- }
122
- function sniffIfText(buf) {
123
- // If file is too large, don't even try
124
- if (buf.length > 500 * 1024) {
125
- return false;
126
- }
127
- // Count binary/control characters
128
- let binaryCount = 0;
129
- const sampleSize = Math.min(buf.length, 1000); // Check first 1000 bytes
130
- for (let i = 0; i < sampleSize; i++) {
131
- // Count control characters (except common whitespace)
132
- const byte = buf[i];
133
- if ((byte < 32 && ![9, 10, 13].includes(byte)) || byte === 0) {
134
- binaryCount++;
135
- }
136
- }
137
- // If more than 10% binary/control chars, probably not text
138
- if (binaryCount / sampleSize > 0.1) {
139
- return false;
140
- }
141
- // Additional check for valid UTF-8 encoding
142
- try {
143
- const s = buf.toString('utf8');
144
- return s.length > 0 && !s.includes('\uFFFD'); // Replacement character
145
- }
146
- catch (e) {
147
- return false;
148
- }
149
- }
150
- //# sourceMappingURL=extractDocumentText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDocumentText.js","sourceRoot":"","sources":["../../../src/activities/extractDocumentText.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { log } from "@temporalio/activity";
2
- import { setupActivity } from "../dsl/setup/ActivityContext.js";
3
- import { executeInteractionFromActivity } from "./executeInteraction.js";
4
- const INT_EXTRACT_INFORMATION = "sys:ExtractInformation";
5
- export async function generateDocumentProperties(payload) {
6
- const context = await setupActivity(payload);
7
- const { params, client, objectId } = context;
8
- const interactionName = params.interactionName ?? INT_EXTRACT_INFORMATION;
9
- const project = await context.fetchProject();
10
- const doc = await client.objects.retrieve(objectId, "+text");
11
- const type = doc.type ? await client.types.retrieve(doc.type.id) : undefined;
12
- if (!doc?.text && !params.use_vision && !doc?.content?.type?.startsWith("image/")) {
13
- log.warn(`Object ${objectId} not found or text is empty`);
14
- return { status: "failed", error: "no-text" };
15
- }
16
- if (!type || !type.object_schema) {
17
- log.info(`Object ${objectId} has no schema`);
18
- return { document: objectId, status: "skipped", message: "no schema defined on type" };
19
- }
20
- const getImageRef = () => {
21
- if (doc.content?.type?.startsWith("image/")) {
22
- return "store:" + doc.id;
23
- }
24
- if (params.use_vision && doc.content?.type?.startsWith("application/pdf")) {
25
- return "store:" + doc.id;
26
- }
27
- log.info(`Object ${objectId} is not an image or pdf`);
28
- return undefined;
29
- };
30
- const promptData = {
31
- content: doc.text ?? undefined,
32
- image: getImageRef() ?? undefined,
33
- human_context: project?.configuration?.human_context ?? undefined,
34
- };
35
- log.info(` Extracting information from object ${objectId} with type ${type.name}`, payload.debug_mode ? { params } : undefined);
36
- const infoRes = await executeInteractionFromActivity(client, interactionName, {
37
- ...params,
38
- include_previous_error: true,
39
- result_schema: type.object_schema,
40
- }, promptData, payload.debug_mode ?? false);
41
- const getText = () => {
42
- if (doc.text) {
43
- return undefined;
44
- }
45
- let text = "";
46
- if (infoRes.result.title) {
47
- text += infoRes.result.title + "\n";
48
- }
49
- if (infoRes.result.description) {
50
- text += infoRes.result.description;
51
- }
52
- if (text) {
53
- return text;
54
- }
55
- else {
56
- return undefined;
57
- }
58
- };
59
- log.info(`Extracted information from object ${objectId} with type ${type.name}`, { runId: infoRes.id });
60
- await client.objects.update(doc.id, {
61
- properties: {
62
- ...infoRes.result,
63
- etag: doc.text_etag,
64
- },
65
- text: getText(),
66
- generation_run_info: {
67
- id: infoRes.id,
68
- date: new Date().toISOString(),
69
- model: infoRes.modelId,
70
- },
71
- });
72
- return { status: "completed" };
73
- }
74
- //# sourceMappingURL=generateDocumentProperties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateDocumentProperties.js","sourceRoot":"","sources":["../../../src/activities/generateDocumentProperties.ts"],"names":[],"mappings":"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"}
@@ -1,245 +0,0 @@
1
- import { log } from "@temporalio/activity";
2
- import { SupportedEmbeddingTypes } from "@vertesia/common";
3
- import { setupActivity } from "../dsl/setup/ActivityContext.js";
4
- import { NoDocumentFound } from '../errors.js';
5
- import { fetchBlobAsBase64, md5 } from "../utils/blobs.js";
6
- import { getContentParts } from "../utils/chunks.js";
7
- import { countTokens } from "../utils/tokens.js";
8
- export async function generateEmbeddings(payload) {
9
- const { params, client, objectId, fetchProject } = await setupActivity(payload);
10
- const { force, type } = params;
11
- const projectData = await fetchProject();
12
- const config = projectData?.configuration.embeddings[type];
13
- if (!projectData) {
14
- throw new NoDocumentFound('Project not found', [payload.project_id]);
15
- }
16
- if (!config) {
17
- throw new NoDocumentFound('Embeddings configuration not found', [objectId]);
18
- }
19
- if (!projectData) {
20
- throw new NoDocumentFound('Project not found', [payload.project_id]);
21
- }
22
- if (!projectData?.configuration.embeddings[type]?.enabled) {
23
- log.info(`Embeddings generation disabled for type ${type} on project: ${projectData.name} (${projectData.namespace})`, { config });
24
- return { id: objectId, status: "skipped", message: `Embeddings generation disabled for type ${type}` };
25
- }
26
- log.info(`${type} embedding generation starting for object ${objectId}`, { force, config });
27
- if (!config.environment) {
28
- throw new Error('No environment found in project configuration. Set environment in project configuration to generate embeddings.');
29
- }
30
- const document = await client.objects.retrieve(objectId, "+text +parts +embeddings +tokens +properties");
31
- if (!document) {
32
- throw new NoDocumentFound('Document not found', [objectId]);
33
- }
34
- if (!document.content) {
35
- throw new NoDocumentFound('Document content not found', [objectId]);
36
- }
37
- let res;
38
- switch (type) {
39
- case SupportedEmbeddingTypes.text:
40
- res = await generateTextEmbeddings({
41
- client,
42
- config,
43
- document,
44
- type
45
- });
46
- break;
47
- case SupportedEmbeddingTypes.properties:
48
- res = await generateTextEmbeddings({
49
- client,
50
- config,
51
- document,
52
- type,
53
- });
54
- break;
55
- case SupportedEmbeddingTypes.image:
56
- res = await generateImageEmbeddings({
57
- client,
58
- config,
59
- document,
60
- type
61
- });
62
- break;
63
- default:
64
- res = { id: objectId, status: "failed", message: `unsupported embedding type: ${type}` };
65
- }
66
- return res;
67
- }
68
- async function generateTextEmbeddings({ document, client, type, config }, parts) {
69
- // if (!force && document.embeddings[type]?.etag === (document.text_etag ?? md5(document.text))) {
70
- // return { id: objectId, status: "skipped", message: "embeddings already generated" }
71
- // }
72
- if (!document) {
73
- return { status: "error", message: "document is null or undefined" };
74
- }
75
- if (type !== SupportedEmbeddingTypes.text && type !== SupportedEmbeddingTypes.properties) {
76
- return { id: document.id, status: "failed", message: `unsupported embedding type: ${type}` };
77
- }
78
- if (type === SupportedEmbeddingTypes.text && !document.text) {
79
- return { id: document.id, status: "failed", message: "no text found" };
80
- }
81
- if (type === SupportedEmbeddingTypes.properties && !document?.properties) {
82
- return { id: document.id, status: "failed", message: "no properties found" };
83
- }
84
- const { environment, model } = config;
85
- const partDefinitions = parts ?? [];
86
- // Count tokens if not already done
87
- if (!document.tokens?.count && type === SupportedEmbeddingTypes.text) {
88
- log.debug('Updating token count for document: ' + document.id);
89
- const tokensData = countTokens(document.text);
90
- await client.objects.update(document.id, {
91
- tokens: {
92
- ...tokensData,
93
- etag: document.text_etag ?? md5(document.text)
94
- }
95
- });
96
- document.tokens = {
97
- ...tokensData,
98
- etag: document.text_etag ?? md5(document.text)
99
- };
100
- }
101
- const maxTokens = config.max_tokens ?? 8000;
102
- //generate embeddings for the main doc if document isn't too large
103
- //if too large, we'll just generate embeddings for the parts
104
- //then we can generate embeddings for the main document by averaging the tensors
105
- log.info(`Generating ${type} embeddings for document ${document.id}`);
106
- if (type === SupportedEmbeddingTypes.text && document.tokens?.count && document.tokens?.count > maxTokens) {
107
- log.info('Document too large, generating embeddings for parts');
108
- if (!document.text) {
109
- return { id: document.id, status: "failed", message: "no text found" };
110
- }
111
- if (!partDefinitions || partDefinitions.length === 0) {
112
- log.info('No parts found for document, skipping embeddings generation');
113
- return { id: document.id, status: "failed", message: "no parts found" };
114
- }
115
- log.info('Generating embeddings for parts', { parts: partDefinitions, max_tokens: maxTokens });
116
- const docParts = getContentParts(document.text, partDefinitions);
117
- log.info(`Retrieved ${docParts.length} parts`);
118
- const start = new Date().getTime();
119
- const generatePartEmbeddings = async (partContent, i) => {
120
- const localStart = new Date().getTime();
121
- try {
122
- log.info(`Generating embeddings for part ${i}`, { text_len: partContent.length });
123
- if (!partContent) {
124
- return { id: i, number: i, result: null, status: "skipped", message: "no text found" };
125
- }
126
- const e = await generateEmbeddingsFromStudio(partContent, environment, client, model).catch(e => {
127
- log.error('Error generating embeddings for part ' + i, { text_length: partContent.length, error: e });
128
- return null;
129
- });
130
- if (!e || !e.values) {
131
- return { id: i, number: i, result: null, message: "no embeddings generated" };
132
- }
133
- if (e.values.length === 0) {
134
- return { id: i, number: i, result: null, message: "no embeddings generated" };
135
- }
136
- log.info(`Generated embeddings for part ${i}`, { len: e.values.length, duration: new Date().getTime() - localStart });
137
- return { inumber: i, result: e };
138
- }
139
- catch (err) {
140
- log.info(`Error generating ${type} embeddings for part ${i} of ${document.id}`, { error: err });
141
- return { number: i, result: null, message: "error generating embeddings", error: err.message };
142
- }
143
- };
144
- const partEmbeddings = await Promise.all(docParts.map((part, i) => generatePartEmbeddings(part, i)));
145
- const validPartEmbeddings = partEmbeddings.filter(e => e.result !== null).map(e => e.result);
146
- const averagedEmbedding = computeAttentionEmbedding(validPartEmbeddings.map(e => e.values));
147
- log.info(`Averaged embeddings for document ${document.id} in ${(new Date().getTime() - start) / 1000} seconds`, { len: averagedEmbedding.length, count: validPartEmbeddings.length, max_tokens: maxTokens });
148
- await client.objects.setEmbedding(document.id, type, {
149
- values: averagedEmbedding,
150
- model: validPartEmbeddings[0].model,
151
- etag: document.text_etag
152
- });
153
- log.info(`Object ${document.id} embedding set`, { type, len: averagedEmbedding.length });
154
- }
155
- else {
156
- log.info(`Generating ${type} embeddings for document`);
157
- const res = await generateEmbeddingsFromStudio(JSON.stringify(document[type]), environment, client);
158
- if (!res || !res.values) {
159
- return { id: document.id, status: "failed", message: "no embeddings generated" };
160
- }
161
- log.info(`${type} embeddings generated for document ${document.id}`, { len: res.values.length });
162
- await client.objects.setEmbedding(document.id, type, {
163
- values: res.values,
164
- model: res.model,
165
- etag: document.text_etag
166
- });
167
- return { id: document.id, type, status: "completed", len: res.values.length };
168
- }
169
- }
170
- async function generateImageEmbeddings({ document, client, type, config }) {
171
- log.info('Generating image embeddings for document ' + document.id, { content: document.content });
172
- if (!document.content?.type?.startsWith('image/') && !document.content?.type?.includes('pdf')) {
173
- return { id: document.id, type, status: "failed", message: "content is not an image" };
174
- }
175
- const { environment, model } = config;
176
- const resRnd = await client.store.objects.getRendition(document.id, {
177
- format: "image/png",
178
- max_hw: 1024,
179
- generate_if_missing: true
180
- });
181
- if (resRnd.status === 'generating') {
182
- throw new Error("Rendition is generating, will retry later");
183
- }
184
- else if (resRnd.status === "failed" || !resRnd.rendition) {
185
- throw new NoDocumentFound("Rendition retrieval failed", [document.id]);
186
- }
187
- if (!resRnd.rendition.content.source) {
188
- throw new NoDocumentFound("No source found in rendition", [document.id]);
189
- }
190
- const image = await fetchBlobAsBase64(client, resRnd.rendition.content.source);
191
- const res = await client.environments.embeddings(environment, {
192
- image,
193
- model
194
- }).then(res => res).catch(e => {
195
- log.error('Error generating embeddings for image', { error: e });
196
- throw e;
197
- });
198
- if (!res || !res.values) {
199
- return { id: document.id, status: "failed", message: "no embeddings generated" };
200
- }
201
- await client.objects.setEmbedding(document.id, SupportedEmbeddingTypes.image, {
202
- values: res.values,
203
- model: res.model,
204
- etag: document.text_etag
205
- });
206
- return { id: document.id, type, status: "completed", len: res.values.length };
207
- }
208
- async function generateEmbeddingsFromStudio(text, env, client, model) {
209
- log.info(`Generating embeddings for text of ${text.length} chars with environment ${env}`);
210
- return client.environments.embeddings(env, {
211
- text,
212
- model
213
- }).then(res => res).catch(e => {
214
- log.error('Error generating embeddings for text', { error: e });
215
- throw e;
216
- });
217
- }
218
- //Simplified attention mechanism
219
- // This is a naive implementation and should be replaced with a more sophisticated
220
- // using tensorflow in a specific package
221
- function computeAttentionEmbedding(chunkEmbeddings) {
222
- if (chunkEmbeddings.length === 0)
223
- return [];
224
- const start = new Date().getTime();
225
- // Generate random attention weights
226
- const attentionWeights = chunkEmbeddings.map(() => Math.random());
227
- // Apply softmax to get attention scores
228
- const expWeights = attentionWeights.map(w => Math.exp(w));
229
- const sumExpWeights = expWeights.reduce((sum, val) => sum + val, 0);
230
- const attentionScores = expWeights.map(w => w / sumExpWeights);
231
- // Get embedding dimension
232
- const embeddingDim = chunkEmbeddings[0].length;
233
- // Initialize document embedding
234
- const documentEmbedding = new Array(embeddingDim).fill(0);
235
- // Weighted sum of embeddings
236
- for (let i = 0; i < chunkEmbeddings.length; i++) {
237
- for (let j = 0; j < embeddingDim; j++) {
238
- documentEmbedding[j] += chunkEmbeddings[i][j] * attentionScores[i];
239
- }
240
- }
241
- const duration = new Date().getTime() - start;
242
- console.log(`Computed document embedding in ${duration}ms for ${chunkEmbeddings.length} chunks`);
243
- return documentEmbedding;
244
- }
245
- //# sourceMappingURL=generateEmbeddings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateEmbeddings.js","sourceRoot":"","sources":["../../../src/activities/generateEmbeddings.ts"],"names":[],"mappings":"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"}