@vertesia/workflow 0.81.0 → 0.81.2-dev.20260204.135023Z
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.
- package/package.json +6 -6
- package/src/activities/generateEmbeddings.ts +18 -185
- package/src/activities/notifyWebhook.test.ts +121 -8
- package/src/activities/notifyWebhook.ts +10 -2
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -33
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -73
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -19
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/chunkDocument.js +0 -85
- package/lib/cjs/activities/chunkDocument.js.map +0 -1
- package/lib/cjs/activities/createDocumentFromOther.js +0 -64
- package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
- package/lib/cjs/activities/executeInteraction.js +0 -194
- package/lib/cjs/activities/executeInteraction.js.map +0 -1
- package/lib/cjs/activities/extractDocumentText.js +0 -156
- package/lib/cjs/activities/extractDocumentText.js.map +0 -1
- package/lib/cjs/activities/generateDocumentProperties.js +0 -83
- package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
- package/lib/cjs/activities/generateEmbeddings.js +0 -358
- package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
- package/lib/cjs/activities/generateOrAssignContentType.js +0 -125
- package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/cjs/activities/getObjectFromStore.js +0 -20
- package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
- package/lib/cjs/activities/handleError.js +0 -22
- package/lib/cjs/activities/handleError.js.map +0 -1
- package/lib/cjs/activities/index-dsl.js +0 -47
- package/lib/cjs/activities/index-dsl.js.map +0 -1
- package/lib/cjs/activities/index.js +0 -21
- package/lib/cjs/activities/index.js.map +0 -1
- package/lib/cjs/activities/media/prepareVideo.js +0 -429
- package/lib/cjs/activities/media/prepareVideo.js.map +0 -1
- package/lib/cjs/activities/media/processPdfWithTextract.js +0 -103
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/cjs/activities/media/saveGladiaTranscription.js +0 -81
- package/lib/cjs/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -82
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/cjs/activities/notifyWebhook.js +0 -158
- package/lib/cjs/activities/notifyWebhook.js.map +0 -1
- package/lib/cjs/activities/rateLimiter.js +0 -30
- package/lib/cjs/activities/rateLimiter.js.map +0 -1
- package/lib/cjs/activities/renditions/generateImageRendition.js +0 -66
- package/lib/cjs/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/cjs/activities/renditions/generateVideoRendition.js +0 -200
- package/lib/cjs/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/cjs/activities/setDocumentStatus.js +0 -15
- package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
- package/lib/cjs/conversion/TextractProcessor.js +0 -417
- package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
- package/lib/cjs/conversion/image.js +0 -149
- package/lib/cjs/conversion/image.js.map +0 -1
- package/lib/cjs/conversion/markitdown.js +0 -42
- package/lib/cjs/conversion/markitdown.js.map +0 -1
- package/lib/cjs/conversion/mutool.js +0 -147
- package/lib/cjs/conversion/mutool.js.map +0 -1
- package/lib/cjs/conversion/pandoc.js +0 -39
- package/lib/cjs/conversion/pandoc.js.map +0 -1
- package/lib/cjs/dsl/conditions.js +0 -81
- package/lib/cjs/dsl/conditions.js.map +0 -1
- package/lib/cjs/dsl/dsl-workflow.js +0 -343
- package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
- package/lib/cjs/dsl/dslProxyActivities.js +0 -23
- package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
- package/lib/cjs/dsl/projections.js +0 -59
- package/lib/cjs/dsl/projections.js.map +0 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +0 -122
- package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
- package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/index.js +0 -16
- package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
- package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
- package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/cjs/dsl/validation.js +0 -122
- package/lib/cjs/dsl/validation.js.map +0 -1
- package/lib/cjs/dsl/vars.js +0 -341
- package/lib/cjs/dsl/vars.js.map +0 -1
- package/lib/cjs/dsl/walk.js +0 -100
- package/lib/cjs/dsl/walk.js.map +0 -1
- package/lib/cjs/dsl.js +0 -20
- package/lib/cjs/dsl.js.map +0 -1
- package/lib/cjs/errors.js +0 -70
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/index.js +0 -55
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
- package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -72
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +0 -78
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +0 -86
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/index.js +0 -12
- package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/cjs/iterative-generation/types.js +0 -5
- package/lib/cjs/iterative-generation/types.js.map +0 -1
- package/lib/cjs/iterative-generation/utils.js +0 -121
- package/lib/cjs/iterative-generation/utils.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/result-types.js +0 -10
- package/lib/cjs/result-types.js.map +0 -1
- package/lib/cjs/system/notifyWebhookWorkflow.js +0 -53
- package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -33
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/cjs/utils/auth.js +0 -15
- package/lib/cjs/utils/auth.js.map +0 -1
- package/lib/cjs/utils/blobs.js +0 -64
- package/lib/cjs/utils/blobs.js.map +0 -1
- package/lib/cjs/utils/chunks.js +0 -14
- package/lib/cjs/utils/chunks.js.map +0 -1
- package/lib/cjs/utils/client.js +0 -31
- package/lib/cjs/utils/client.js.map +0 -1
- package/lib/cjs/utils/expand-vars.js +0 -33
- package/lib/cjs/utils/expand-vars.js.map +0 -1
- package/lib/cjs/utils/memory.js +0 -65
- package/lib/cjs/utils/memory.js.map +0 -1
- package/lib/cjs/utils/renditions.js +0 -88
- package/lib/cjs/utils/renditions.js.map +0 -1
- package/lib/cjs/utils/storage.js +0 -54
- package/lib/cjs/utils/storage.js.map +0 -1
- package/lib/cjs/utils/tokens.js +0 -38
- package/lib/cjs/utils/tokens.js.map +0 -1
- package/lib/cjs/vars.js +0 -20
- package/lib/cjs/vars.js.map +0 -1
- package/lib/cjs/workflows.js +0 -15
- package/lib/cjs/workflows.js.map +0 -1
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -30
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -70
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -16
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/chunkDocument.js +0 -82
- package/lib/esm/activities/chunkDocument.js.map +0 -1
- package/lib/esm/activities/createDocumentFromOther.js +0 -58
- package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
- package/lib/esm/activities/executeInteraction.js +0 -190
- package/lib/esm/activities/executeInteraction.js.map +0 -1
- package/lib/esm/activities/extractDocumentText.js +0 -153
- package/lib/esm/activities/extractDocumentText.js.map +0 -1
- package/lib/esm/activities/generateDocumentProperties.js +0 -80
- package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
- package/lib/esm/activities/generateEmbeddings.js +0 -355
- package/lib/esm/activities/generateEmbeddings.js.map +0 -1
- package/lib/esm/activities/generateOrAssignContentType.js +0 -122
- package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/esm/activities/getObjectFromStore.js +0 -17
- package/lib/esm/activities/getObjectFromStore.js.map +0 -1
- package/lib/esm/activities/handleError.js +0 -19
- package/lib/esm/activities/handleError.js.map +0 -1
- package/lib/esm/activities/index-dsl.js +0 -23
- package/lib/esm/activities/index-dsl.js.map +0 -1
- package/lib/esm/activities/index.js +0 -5
- package/lib/esm/activities/index.js.map +0 -1
- package/lib/esm/activities/media/prepareVideo.js +0 -390
- package/lib/esm/activities/media/prepareVideo.js.map +0 -1
- package/lib/esm/activities/media/processPdfWithTextract.js +0 -99
- package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/esm/activities/media/saveGladiaTranscription.js +0 -78
- package/lib/esm/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +0 -79
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/esm/activities/notifyWebhook.js +0 -155
- package/lib/esm/activities/notifyWebhook.js.map +0 -1
- package/lib/esm/activities/rateLimiter.js +0 -27
- package/lib/esm/activities/rateLimiter.js.map +0 -1
- package/lib/esm/activities/renditions/generateImageRendition.js +0 -63
- package/lib/esm/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/esm/activities/renditions/generateVideoRendition.js +0 -194
- package/lib/esm/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/esm/activities/setDocumentStatus.js +0 -12
- package/lib/esm/activities/setDocumentStatus.js.map +0 -1
- package/lib/esm/conversion/TextractProcessor.js +0 -410
- package/lib/esm/conversion/TextractProcessor.js.map +0 -1
- package/lib/esm/conversion/image.js +0 -143
- package/lib/esm/conversion/image.js.map +0 -1
- package/lib/esm/conversion/markitdown.js +0 -36
- package/lib/esm/conversion/markitdown.js.map +0 -1
- package/lib/esm/conversion/mutool.js +0 -139
- package/lib/esm/conversion/mutool.js.map +0 -1
- package/lib/esm/conversion/pandoc.js +0 -36
- package/lib/esm/conversion/pandoc.js.map +0 -1
- package/lib/esm/dsl/conditions.js +0 -75
- package/lib/esm/dsl/conditions.js.map +0 -1
- package/lib/esm/dsl/dsl-workflow.js +0 -336
- package/lib/esm/dsl/dsl-workflow.js.map +0 -1
- package/lib/esm/dsl/dslProxyActivities.js +0 -20
- package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
- package/lib/esm/dsl/projections.js +0 -55
- package/lib/esm/dsl/projections.js.map +0 -1
- package/lib/esm/dsl/setup/ActivityContext.js +0 -117
- package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/DataProvider.js +0 -47
- package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/index.js +0 -12
- package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/providers.js +0 -61
- package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/esm/dsl/test/test-child-workflow.js +0 -5
- package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/esm/dsl/validation.js +0 -118
- package/lib/esm/dsl/validation.js.map +0 -1
- package/lib/esm/dsl/vars.js +0 -335
- package/lib/esm/dsl/vars.js.map +0 -1
- package/lib/esm/dsl/walk.js +0 -96
- package/lib/esm/dsl/walk.js.map +0 -1
- package/lib/esm/dsl.js +0 -4
- package/lib/esm/dsl.js.map +0 -1
- package/lib/esm/errors.js +0 -61
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/index.js +0 -37
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
- package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -69
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +0 -75
- package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +0 -83
- package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/index.js +0 -5
- package/lib/esm/iterative-generation/activities/index.js.map +0 -1
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/esm/iterative-generation/types.js +0 -2
- package/lib/esm/iterative-generation/types.js.map +0 -1
- package/lib/esm/iterative-generation/utils.js +0 -112
- package/lib/esm/iterative-generation/utils.js.map +0 -1
- package/lib/esm/result-types.js +0 -7
- package/lib/esm/result-types.js.map +0 -1
- package/lib/esm/system/notifyWebhookWorkflow.js +0 -50
- package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js +0 -30
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/esm/utils/auth.js +0 -8
- package/lib/esm/utils/auth.js.map +0 -1
- package/lib/esm/utils/blobs.js +0 -54
- package/lib/esm/utils/blobs.js.map +0 -1
- package/lib/esm/utils/chunks.js +0 -9
- package/lib/esm/utils/chunks.js.map +0 -1
- package/lib/esm/utils/client.js +0 -27
- package/lib/esm/utils/client.js.map +0 -1
- package/lib/esm/utils/expand-vars.js +0 -30
- package/lib/esm/utils/expand-vars.js.map +0 -1
- package/lib/esm/utils/memory.js +0 -55
- package/lib/esm/utils/memory.js.map +0 -1
- package/lib/esm/utils/renditions.js +0 -80
- package/lib/esm/utils/renditions.js.map +0 -1
- package/lib/esm/utils/storage.js +0 -45
- package/lib/esm/utils/storage.js.map +0 -1
- package/lib/esm/utils/tokens.js +0 -34
- package/lib/esm/utils/tokens.js.map +0 -1
- package/lib/esm/vars.js +0 -4
- package/lib/esm/vars.js.map +0 -1
- package/lib/esm/workflows.js +0 -8
- package/lib/esm/workflows.js.map +0 -1
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +0 -17
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +0 -39
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +0 -19
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/chunkDocument.d.ts +0 -33
- package/lib/types/activities/chunkDocument.d.ts.map +0 -1
- package/lib/types/activities/createDocumentFromOther.d.ts +0 -21
- package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
- package/lib/types/activities/executeInteraction.d.ts +0 -61
- package/lib/types/activities/executeInteraction.d.ts.map +0 -1
- package/lib/types/activities/extractDocumentText.d.ts +0 -10
- package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
- package/lib/types/activities/generateDocumentProperties.d.ts +0 -32
- package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
- package/lib/types/activities/generateEmbeddings.d.ts +0 -53
- package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
- package/lib/types/activities/generateOrAssignContentType.d.ts +0 -44
- package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
- package/lib/types/activities/getObjectFromStore.d.ts +0 -14
- package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
- package/lib/types/activities/handleError.d.ts +0 -6
- package/lib/types/activities/handleError.d.ts.map +0 -1
- package/lib/types/activities/index-dsl.d.ts +0 -23
- package/lib/types/activities/index-dsl.d.ts.map +0 -1
- package/lib/types/activities/index.d.ts +0 -5
- package/lib/types/activities/index.d.ts.map +0 -1
- package/lib/types/activities/media/prepareVideo.d.ts +0 -30
- package/lib/types/activities/media/prepareVideo.d.ts.map +0 -1
- package/lib/types/activities/media/processPdfWithTextract.d.ts +0 -26
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
- package/lib/types/activities/media/saveGladiaTranscription.d.ts +0 -14
- package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +0 -1
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +0 -19
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
- package/lib/types/activities/notifyWebhook.d.ts +0 -27
- package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
- package/lib/types/activities/rateLimiter.d.ts +0 -11
- package/lib/types/activities/rateLimiter.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateImageRendition.d.ts +0 -14
- package/lib/types/activities/renditions/generateImageRendition.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateVideoRendition.d.ts +0 -15
- package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +0 -1
- package/lib/types/activities/setDocumentStatus.d.ts +0 -15
- package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
- package/lib/types/conversion/TextractProcessor.d.ts +0 -45
- package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
- package/lib/types/conversion/image.d.ts +0 -13
- package/lib/types/conversion/image.d.ts.map +0 -1
- package/lib/types/conversion/markitdown.d.ts +0 -2
- package/lib/types/conversion/markitdown.d.ts.map +0 -1
- package/lib/types/conversion/mutool.d.ts +0 -19
- package/lib/types/conversion/mutool.d.ts.map +0 -1
- package/lib/types/conversion/pandoc.d.ts +0 -2
- package/lib/types/conversion/pandoc.d.ts.map +0 -1
- package/lib/types/dsl/conditions.d.ts +0 -2
- package/lib/types/dsl/conditions.d.ts.map +0 -1
- package/lib/types/dsl/dsl-workflow.d.ts +0 -5
- package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
- package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
- package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
- package/lib/types/dsl/projections.d.ts +0 -4
- package/lib/types/dsl/projections.d.ts.map +0 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts +0 -17
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts +0 -9
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
- package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/providers.d.ts +0 -25
- package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
- package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
- package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
- package/lib/types/dsl/validation.d.ts +0 -4
- package/lib/types/dsl/validation.d.ts.map +0 -1
- package/lib/types/dsl/vars.d.ts +0 -48
- package/lib/types/dsl/vars.d.ts.map +0 -1
- package/lib/types/dsl/walk.d.ts +0 -18
- package/lib/types/dsl/walk.d.ts.map +0 -1
- package/lib/types/dsl.d.ts +0 -4
- package/lib/types/dsl.d.ts.map +0 -1
- package/lib/types/errors.d.ts +0 -33
- package/lib/types/errors.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -36
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
- package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
- package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
- package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/index.d.ts +0 -5
- package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
- package/lib/types/iterative-generation/types.d.ts +0 -79
- package/lib/types/iterative-generation/types.d.ts.map +0 -1
- package/lib/types/iterative-generation/utils.d.ts +0 -26
- package/lib/types/iterative-generation/utils.d.ts.map +0 -1
- package/lib/types/result-types.d.ts +0 -22
- package/lib/types/result-types.d.ts.map +0 -1
- package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -8
- package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +0 -25
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
- package/lib/types/utils/auth.d.ts +0 -4
- package/lib/types/utils/auth.d.ts.map +0 -1
- package/lib/types/utils/blobs.d.ts +0 -7
- package/lib/types/utils/blobs.d.ts.map +0 -1
- package/lib/types/utils/chunks.d.ts +0 -9
- package/lib/types/utils/chunks.d.ts.map +0 -1
- package/lib/types/utils/client.d.ts +0 -8
- package/lib/types/utils/client.d.ts.map +0 -1
- package/lib/types/utils/expand-vars.d.ts +0 -8
- package/lib/types/utils/expand-vars.d.ts.map +0 -1
- package/lib/types/utils/memory.d.ts +0 -8
- package/lib/types/utils/memory.d.ts.map +0 -1
- package/lib/types/utils/renditions.d.ts +0 -23
- package/lib/types/utils/renditions.d.ts.map +0 -1
- package/lib/types/utils/storage.d.ts +0 -16
- package/lib/types/utils/storage.d.ts.map +0 -1
- package/lib/types/utils/tokens.d.ts +0 -11
- package/lib/types/utils/tokens.d.ts.map +0 -1
- package/lib/types/vars.d.ts +0 -3
- package/lib/types/vars.d.ts.map +0 -1
- package/lib/types/workflows.d.ts +0 -8
- package/lib/types/workflows.d.ts.map +0 -1
- package/lib/workflows-bundle.js +0 -16216
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/workflow",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.2-dev.20260204.135023Z",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Vertesia workflow DSL",
|
|
6
6
|
"main": "./lib/esm/index.js",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"tmp": "^0.2.4",
|
|
45
45
|
"tmp-promise": "^3.0.3",
|
|
46
46
|
"yaml": "^2.6.0",
|
|
47
|
-
"@llumiverse/common": "0.
|
|
48
|
-
"@vertesia/
|
|
49
|
-
"@vertesia/
|
|
50
|
-
"@vertesia/
|
|
51
|
-
"@vertesia/
|
|
47
|
+
"@llumiverse/common": "0.25.0-dev.20260204.110528Z",
|
|
48
|
+
"@vertesia/api-fetch-client": "0.81.2-dev.20260204.135023Z",
|
|
49
|
+
"@vertesia/memory": "0.81.2-dev.20260204.135023Z",
|
|
50
|
+
"@vertesia/client": "0.81.2-dev.20260204.135023Z",
|
|
51
|
+
"@vertesia/common": "0.81.2-dev.20260204.135023Z"
|
|
52
52
|
},
|
|
53
53
|
"ts_dual_module": {
|
|
54
54
|
"outDir": "lib",
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
} from "@vertesia/common";
|
|
12
12
|
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
13
13
|
import { DocumentNotFoundError } from "../errors.js";
|
|
14
|
-
import { fetchBlobAsBase64
|
|
15
|
-
import { DocPart
|
|
14
|
+
import { fetchBlobAsBase64 } from "../utils/blobs.js";
|
|
15
|
+
import { DocPart } from "../utils/chunks.js";
|
|
16
16
|
import { countTokens } from "../utils/tokens.js";
|
|
17
17
|
|
|
18
18
|
export interface GenerateEmbeddingsParams {
|
|
@@ -155,8 +155,7 @@ interface ExecuteGenerateEmbeddingsParams {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
async function generateTextEmbeddings(
|
|
158
|
-
{ document, client, type, config }: ExecuteGenerateEmbeddingsParams
|
|
159
|
-
parts?: DocPart[],
|
|
158
|
+
{ document, client, type, config }: ExecuteGenerateEmbeddingsParams
|
|
160
159
|
) {
|
|
161
160
|
|
|
162
161
|
if (!document) {
|
|
@@ -185,161 +184,32 @@ async function generateTextEmbeddings(
|
|
|
185
184
|
};
|
|
186
185
|
}
|
|
187
186
|
|
|
188
|
-
const { environment
|
|
187
|
+
const { environment } = config;
|
|
189
188
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
log.debug("Updating token count for document: " + document.id);
|
|
195
|
-
const tokensData = countTokens(document.text!);
|
|
196
|
-
await client.objects.update(document.id, {
|
|
197
|
-
tokens: {
|
|
198
|
-
...tokensData,
|
|
199
|
-
etag: document.text_etag ?? md5(document.text!),
|
|
200
|
-
},
|
|
201
|
-
});
|
|
202
|
-
document.tokens = {
|
|
203
|
-
...tokensData,
|
|
204
|
-
etag: document.text_etag ?? md5(document.text!),
|
|
205
|
-
};
|
|
189
|
+
// Count tokens if needed, do not rely on existing token count
|
|
190
|
+
let tokenCount : number | undefined = undefined;
|
|
191
|
+
if (type === SupportedEmbeddingTypes.text && document.text) {
|
|
192
|
+
tokenCount = countTokens(document.text).count;
|
|
206
193
|
}
|
|
207
194
|
|
|
208
195
|
const maxTokens = config.max_tokens ?? 8000;
|
|
209
196
|
|
|
210
197
|
//generate embeddings for the main doc if document isn't too large
|
|
211
|
-
//if too large, we'll just generate embeddings for the parts
|
|
212
|
-
//then we can generate embeddings for the main document by averaging the tensors
|
|
213
198
|
log.info(`Generating ${type} embeddings for document ${document.id}`);
|
|
214
199
|
if (
|
|
215
200
|
type === SupportedEmbeddingTypes.text &&
|
|
216
|
-
|
|
217
|
-
|
|
201
|
+
tokenCount !== undefined &&
|
|
202
|
+
tokenCount > maxTokens
|
|
218
203
|
) {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
return {
|
|
223
|
-
id: document.id,
|
|
224
|
-
status: "failed",
|
|
225
|
-
message: "no text found",
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
if (!partDefinitions || partDefinitions.length === 0) {
|
|
230
|
-
log.info(
|
|
231
|
-
"No parts found for document, skipping embeddings generation",
|
|
232
|
-
);
|
|
233
|
-
return {
|
|
234
|
-
id: document.id,
|
|
235
|
-
status: "failed",
|
|
236
|
-
message: "no parts found",
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
log.info("Generating embeddings for parts", {
|
|
241
|
-
parts: partDefinitions,
|
|
242
|
-
max_tokens: maxTokens,
|
|
243
|
-
});
|
|
244
|
-
const docParts = getContentParts(document.text, partDefinitions);
|
|
245
|
-
|
|
246
|
-
log.info(`Retrieved ${docParts.length} parts`);
|
|
247
|
-
const start = new Date().getTime();
|
|
248
|
-
const generatePartEmbeddings = async (
|
|
249
|
-
partContent: string,
|
|
250
|
-
i: number,
|
|
251
|
-
) => {
|
|
252
|
-
const localStart = new Date().getTime();
|
|
253
|
-
try {
|
|
254
|
-
log.info(`Generating embeddings for part ${i}`, {
|
|
255
|
-
text_len: partContent.length,
|
|
256
|
-
});
|
|
257
|
-
if (!partContent) {
|
|
258
|
-
return {
|
|
259
|
-
id: i,
|
|
260
|
-
number: i,
|
|
261
|
-
result: null,
|
|
262
|
-
status: "skipped",
|
|
263
|
-
message: "no text found",
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
const e = await generateEmbeddingsFromStudio(
|
|
268
|
-
partContent,
|
|
269
|
-
environment,
|
|
270
|
-
client,
|
|
271
|
-
model,
|
|
272
|
-
).catch((e) => {
|
|
273
|
-
log.error("Error generating embeddings for part " + i, {
|
|
274
|
-
text_length: partContent.length,
|
|
275
|
-
error: e,
|
|
276
|
-
});
|
|
277
|
-
return null;
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
if (!e || !e.values) {
|
|
281
|
-
return {
|
|
282
|
-
id: i,
|
|
283
|
-
number: i,
|
|
284
|
-
result: null,
|
|
285
|
-
message: "no embeddings generated",
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
if (e.values.length === 0) {
|
|
290
|
-
return {
|
|
291
|
-
id: i,
|
|
292
|
-
number: i,
|
|
293
|
-
result: null,
|
|
294
|
-
message: "no embeddings generated",
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
log.info(`Generated embeddings for part ${i}`, {
|
|
298
|
-
len: e.values.length,
|
|
299
|
-
duration: new Date().getTime() - localStart,
|
|
300
|
-
});
|
|
301
|
-
|
|
302
|
-
return { number: i, result: e };
|
|
303
|
-
} catch (err: any) {
|
|
304
|
-
log.info(
|
|
305
|
-
`Error generating ${type} embeddings for part ${i} of ${document.id}`,
|
|
306
|
-
{ error: err },
|
|
307
|
-
);
|
|
308
|
-
return {
|
|
309
|
-
number: i,
|
|
310
|
-
result: null,
|
|
311
|
-
message: "error generating embeddings",
|
|
312
|
-
error: err.message,
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
const partEmbeddings = await Promise.all(
|
|
318
|
-
docParts.map((part, i) => generatePartEmbeddings(part, i)),
|
|
319
|
-
);
|
|
320
|
-
const validPartEmbeddings = partEmbeddings
|
|
321
|
-
.filter((e) => e.result !== null)
|
|
322
|
-
.map((e) => e.result);
|
|
323
|
-
const averagedEmbedding = computeAttentionEmbedding(
|
|
324
|
-
validPartEmbeddings.map((e) => e.values),
|
|
325
|
-
);
|
|
326
|
-
log.info(
|
|
327
|
-
`Averaged embeddings for document ${document.id} in ${(new Date().getTime() - start) / 1000} seconds`,
|
|
328
|
-
{
|
|
329
|
-
len: averagedEmbedding.length,
|
|
330
|
-
count: validPartEmbeddings.length,
|
|
331
|
-
max_tokens: maxTokens,
|
|
332
|
-
},
|
|
204
|
+
//TODO: Review strategy for large documents
|
|
205
|
+
log.warn(
|
|
206
|
+
`Document too large for ${type} embeddings generation, skipping (${tokenCount} tokens)`,
|
|
333
207
|
);
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
}
|
|
339
|
-
log.info(`Object ${document.id} embedding set`, {
|
|
340
|
-
type,
|
|
341
|
-
len: averagedEmbedding.length,
|
|
342
|
-
});
|
|
208
|
+
return {
|
|
209
|
+
id: document.id,
|
|
210
|
+
status: "skipped",
|
|
211
|
+
message: `${type} embeddings generation, skipped for large document (${tokenCount} tokens)`,
|
|
212
|
+
}
|
|
343
213
|
} else {
|
|
344
214
|
log.info(`Generating ${type} embeddings for document`);
|
|
345
215
|
|
|
@@ -480,40 +350,3 @@ async function generateEmbeddingsFromStudio(
|
|
|
480
350
|
throw e;
|
|
481
351
|
});
|
|
482
352
|
}
|
|
483
|
-
|
|
484
|
-
//Simplified attention mechanism
|
|
485
|
-
// This is a naive implementation and should be replaced with a more sophisticated
|
|
486
|
-
// using tensorflow in a specific package
|
|
487
|
-
function computeAttentionEmbedding(chunkEmbeddings: number[][]): number[] {
|
|
488
|
-
if (chunkEmbeddings.length === 0) return [];
|
|
489
|
-
|
|
490
|
-
const start = new Date().getTime();
|
|
491
|
-
|
|
492
|
-
// Generate random attention weights
|
|
493
|
-
const attentionWeights = chunkEmbeddings.map(() => Math.random());
|
|
494
|
-
|
|
495
|
-
// Apply softmax to get attention scores
|
|
496
|
-
const expWeights = attentionWeights.map((w) => Math.exp(w));
|
|
497
|
-
const sumExpWeights = expWeights.reduce((sum, val) => sum + val, 0);
|
|
498
|
-
const attentionScores = expWeights.map((w) => w / sumExpWeights);
|
|
499
|
-
|
|
500
|
-
// Get embedding dimension
|
|
501
|
-
const embeddingDim = chunkEmbeddings[0].length;
|
|
502
|
-
|
|
503
|
-
// Initialize document embedding
|
|
504
|
-
const documentEmbedding = new Array(embeddingDim).fill(0);
|
|
505
|
-
|
|
506
|
-
// Weighted sum of embeddings
|
|
507
|
-
for (let i = 0; i < chunkEmbeddings.length; i++) {
|
|
508
|
-
for (let j = 0; j < embeddingDim; j++) {
|
|
509
|
-
documentEmbedding[j] += chunkEmbeddings[i][j] * attentionScores[i];
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
const duration = new Date().getTime() - start;
|
|
514
|
-
console.log(
|
|
515
|
-
`Computed document embedding in ${duration}ms for ${chunkEmbeddings.length} chunks`,
|
|
516
|
-
);
|
|
517
|
-
|
|
518
|
-
return documentEmbedding;
|
|
519
|
-
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MockActivityEnvironment,
|
|
3
3
|
} from "@temporalio/testing";
|
|
4
|
-
import { ContentEventName, DSLActivityExecutionPayload } from "@vertesia/common";
|
|
4
|
+
import { ApiVersions, ContentEventName, DSLActivityExecutionPayload, WebHookSpec } from "@vertesia/common";
|
|
5
5
|
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
|
6
|
-
import { notifyWebhook, NotifyWebhookParams } from "./notifyWebhook.js";
|
|
6
|
+
import { notifyWebhook, NotifyWebhookParams, WebhookNotificationPayload } from "./notifyWebhook.js";
|
|
7
7
|
|
|
8
8
|
// Mock fetch globally
|
|
9
9
|
vi.stubGlobal('fetch', vi.fn());
|
|
@@ -63,10 +63,15 @@ describe("Webhook should be notified", () => {
|
|
|
63
63
|
const payload = createTestPayload();
|
|
64
64
|
const res = await testEnv.run(notifyWebhook, payload);
|
|
65
65
|
|
|
66
|
-
// Verify fetch was called with correct parameters
|
|
66
|
+
// Verify fetch was called with correct parameters (old format wraps detail in result)
|
|
67
67
|
expect(mockFetch).toHaveBeenCalledWith(defaultParams.webhook, {
|
|
68
68
|
method: 'POST',
|
|
69
|
-
body: JSON.stringify({
|
|
69
|
+
body: JSON.stringify({
|
|
70
|
+
workflowId: 'wf_id',
|
|
71
|
+
runId: 'wf_run_id',
|
|
72
|
+
status: 'completed',
|
|
73
|
+
result: { message: 'Hello World' }
|
|
74
|
+
}),
|
|
70
75
|
headers: {
|
|
71
76
|
'Content-Type': 'application/json',
|
|
72
77
|
},
|
|
@@ -98,10 +103,15 @@ describe("Webhook should be notified", () => {
|
|
|
98
103
|
`Webhook Notification to ${defaultParams.webhook} failed with status: 500 Internal Server Error - Response: {"error": "Database connection failed", "code": "DB_ERROR"}`
|
|
99
104
|
);
|
|
100
105
|
|
|
101
|
-
// Verify fetch was called with correct parameters
|
|
106
|
+
// Verify fetch was called with correct parameters (old format wraps detail in result)
|
|
102
107
|
expect(mockFetch).toHaveBeenCalledWith(defaultParams.webhook, {
|
|
103
108
|
method: 'POST',
|
|
104
|
-
body: JSON.stringify({
|
|
109
|
+
body: JSON.stringify({
|
|
110
|
+
workflowId: 'wf_id',
|
|
111
|
+
runId: 'wf_run_id',
|
|
112
|
+
status: 'completed',
|
|
113
|
+
result: { message: 'Hello World' }
|
|
114
|
+
}),
|
|
105
115
|
headers: {
|
|
106
116
|
'Content-Type': 'application/json',
|
|
107
117
|
},
|
|
@@ -121,14 +131,117 @@ describe("Webhook should be notified", () => {
|
|
|
121
131
|
// Expect the function to throw the network error
|
|
122
132
|
await expect(testEnv.run(notifyWebhook, payload)).rejects.toThrow('Network request failed');
|
|
123
133
|
|
|
124
|
-
// Verify fetch was called with correct parameters
|
|
134
|
+
// Verify fetch was called with correct parameters (old format wraps detail in result)
|
|
125
135
|
expect(mockFetch).toHaveBeenCalledWith(defaultParams.webhook, {
|
|
126
136
|
method: 'POST',
|
|
127
|
-
body: JSON.stringify({
|
|
137
|
+
body: JSON.stringify({
|
|
138
|
+
workflowId: 'wf_id',
|
|
139
|
+
runId: 'wf_run_id',
|
|
140
|
+
status: 'completed',
|
|
141
|
+
result: { message: 'Hello World' }
|
|
142
|
+
}),
|
|
128
143
|
headers: {
|
|
129
144
|
'Content-Type': 'application/json',
|
|
130
145
|
},
|
|
131
146
|
});
|
|
132
147
|
});
|
|
133
148
|
|
|
149
|
+
it("test POST with undefined detail still sends body with workflow info (new format)", async () => {
|
|
150
|
+
// Mock successful response
|
|
151
|
+
const mockResponse = {
|
|
152
|
+
ok: true,
|
|
153
|
+
status: 200,
|
|
154
|
+
statusText: 'OK',
|
|
155
|
+
url: 'https://vertesia.test'
|
|
156
|
+
};
|
|
157
|
+
mockFetch.mockResolvedValueOnce(mockResponse as Response);
|
|
158
|
+
|
|
159
|
+
// Create webhook spec with version to use new format
|
|
160
|
+
const webhookSpec: WebHookSpec = {
|
|
161
|
+
url: 'https://vertesia.test',
|
|
162
|
+
version: ApiVersions.COMPLETION_RESULT_V1
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// Create payload with undefined detail (like workflow_failed events)
|
|
166
|
+
const payload = createTestPayload({
|
|
167
|
+
webhook: webhookSpec,
|
|
168
|
+
detail: undefined,
|
|
169
|
+
event_name: 'workflow_failed'
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
const res = await testEnv.run(notifyWebhook, payload);
|
|
173
|
+
|
|
174
|
+
// Verify fetch was called
|
|
175
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
176
|
+
const [_url, options] = mockFetch.mock.calls[0];
|
|
177
|
+
|
|
178
|
+
// Verify the body parameter is NOT undefined
|
|
179
|
+
expect(options?.body).toBeDefined();
|
|
180
|
+
|
|
181
|
+
// Verify the body contains workflow info
|
|
182
|
+
const bodyData = JSON.parse(options?.body as string) as WebhookNotificationPayload;
|
|
183
|
+
expect(bodyData.workflow_id).toBe('wf_id');
|
|
184
|
+
expect(bodyData.workflow_name).toBe('wfFuncName');
|
|
185
|
+
expect(bodyData.workflow_run_id).toBe('wf_run_id');
|
|
186
|
+
expect(bodyData.event_name).toBe('workflow_failed');
|
|
187
|
+
// detail should not be present when undefined (JSON.stringify omits it)
|
|
188
|
+
expect(bodyData.detail).toBeUndefined();
|
|
189
|
+
|
|
190
|
+
// Verify Content-Type header is set
|
|
191
|
+
const headers = options?.headers as Record<string, string>;
|
|
192
|
+
expect(headers['Content-Type']).toBe('application/json');
|
|
193
|
+
|
|
194
|
+
// Verify response
|
|
195
|
+
expect(res).toEqual({
|
|
196
|
+
status: 200,
|
|
197
|
+
message: 'OK',
|
|
198
|
+
url: webhookSpec.url
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
it("test POST with undefined detail still sends body with workflow info (old format)", async () => {
|
|
203
|
+
// Mock successful response
|
|
204
|
+
const mockResponse = {
|
|
205
|
+
ok: true,
|
|
206
|
+
status: 200,
|
|
207
|
+
statusText: 'OK',
|
|
208
|
+
url: 'https://vertesia.test'
|
|
209
|
+
};
|
|
210
|
+
mockFetch.mockResolvedValueOnce(mockResponse as Response);
|
|
211
|
+
|
|
212
|
+
// Create payload with string webhook (old format) and undefined detail
|
|
213
|
+
const payload = createTestPayload({
|
|
214
|
+
webhook: 'https://vertesia.test',
|
|
215
|
+
detail: undefined,
|
|
216
|
+
event_name: 'workflow_completed'
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
const res = await testEnv.run(notifyWebhook, payload);
|
|
220
|
+
|
|
221
|
+
// Verify fetch was called
|
|
222
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
223
|
+
const [_url, options] = mockFetch.mock.calls[0];
|
|
224
|
+
|
|
225
|
+
// Verify the body parameter is NOT undefined
|
|
226
|
+
expect(options?.body).toBeDefined();
|
|
227
|
+
|
|
228
|
+
// Verify the body contains workflow info in old format
|
|
229
|
+
const bodyData = JSON.parse(options?.body as string);
|
|
230
|
+
expect(bodyData.workflowId).toBe('wf_id');
|
|
231
|
+
expect(bodyData.runId).toBe('wf_run_id');
|
|
232
|
+
expect(bodyData.status).toBe('completed');
|
|
233
|
+
expect(bodyData.result).toBeNull(); // null when detail is undefined
|
|
234
|
+
|
|
235
|
+
// Verify Content-Type header is set
|
|
236
|
+
const headers = options?.headers as Record<string, string>;
|
|
237
|
+
expect(headers['Content-Type']).toBe('application/json');
|
|
238
|
+
|
|
239
|
+
// Verify response
|
|
240
|
+
expect(res).toEqual({
|
|
241
|
+
status: 200,
|
|
242
|
+
message: 'OK',
|
|
243
|
+
url: 'https://vertesia.test'
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
|
|
134
247
|
});
|
|
@@ -45,7 +45,7 @@ export async function notifyWebhook(payload: DSLActivityExecutionPayload<NotifyW
|
|
|
45
45
|
|
|
46
46
|
if (!target_url) throw new WorkflowParamNotFoundError('target_url');
|
|
47
47
|
|
|
48
|
-
const hasBody =
|
|
48
|
+
const hasBody = method === 'POST'; //body is sent only for POST, always includes workflow info
|
|
49
49
|
|
|
50
50
|
const headers = {
|
|
51
51
|
...defaultHeaders,
|
|
@@ -194,6 +194,14 @@ async function createOldRequestBody(payload: WorkflowExecutionBaseParams, params
|
|
|
194
194
|
result: result || null
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
|
+
} else {
|
|
198
|
+
// Always include workflow metadata in old format, even when detail is undefined
|
|
199
|
+
data = {
|
|
200
|
+
workflowId: params.workflow_id,
|
|
201
|
+
runId: params.workflow_run_id,
|
|
202
|
+
status: params.event_name === 'workflow_completed' ? 'completed' : params.event_name,
|
|
203
|
+
result: data || null
|
|
204
|
+
};
|
|
197
205
|
}
|
|
198
|
-
return JSON.stringify(data
|
|
206
|
+
return JSON.stringify(data);
|
|
199
207
|
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createDocumentTypeFromInteractionRun = createDocumentTypeFromInteractionRun;
|
|
4
|
-
const activity_1 = require("@temporalio/activity");
|
|
5
|
-
const client_1 = require("@vertesia/client");
|
|
6
|
-
const projections_js_1 = require("../../dsl/projections.js");
|
|
7
|
-
const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
|
|
8
|
-
const errors_js_1 = require("../../errors.js");
|
|
9
|
-
async function createDocumentTypeFromInteractionRun(payload) {
|
|
10
|
-
const { params, client } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
11
|
-
if (!params.run) {
|
|
12
|
-
throw new errors_js_1.ActivityParamNotFoundError("run", payload.activity);
|
|
13
|
-
}
|
|
14
|
-
const jsonResult = client_1.InteractionOutput.from(params.run.result).object();
|
|
15
|
-
if (!jsonResult.document_type) {
|
|
16
|
-
activity_1.log.error("No name generated for type: " + JSON.stringify(jsonResult), jsonResult);
|
|
17
|
-
throw new Error("No name generated for type");
|
|
18
|
-
}
|
|
19
|
-
activity_1.log.info("Generated schema for type", jsonResult.metadata_schema);
|
|
20
|
-
const typeData = {
|
|
21
|
-
name: jsonResult.document_type,
|
|
22
|
-
object_schema: jsonResult.metadata_schema,
|
|
23
|
-
is_chunkable: !!jsonResult.is_chunkable,
|
|
24
|
-
};
|
|
25
|
-
const type = await client.types.create(typeData);
|
|
26
|
-
if (params.updateObjectId) {
|
|
27
|
-
await client.objects.update(params.updateObjectId, {
|
|
28
|
-
type: type.id,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
return (0, projections_js_1.projectResult)(payload, params, type, { id: type.id, name: type.name });
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=createDocumentTypeFromInteractionRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createDocumentTypeFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/createDocumentTypeFromInteractionRun.ts"],"names":[],"mappings":";;AAwBA,oFA8BC;AAtDD,mDAA2C;AAC3C,6CAAqD;AAErD,6DAAyD;AACzD,2EAAmE;AACnE,+CAA6D;AAmBtD,KAAK,UAAU,oCAAoC,CAAC,OAAgF;IACvI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAa,EAA6C,OAAO,CAAC,CAAC;IAEpG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,sCAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,0BAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC5B,cAAG,CAAC,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,cAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAmC;QAC7C,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,aAAa,EAAE,UAAU,CAAC,eAAe;QACzC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY;KAC1C,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAA,8BAAa,EAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createOrUpdateDocumentFromInteractionRun = createOrUpdateDocumentFromInteractionRun;
|
|
4
|
-
const activity_1 = require("@temporalio/activity");
|
|
5
|
-
const common_1 = require("@vertesia/common");
|
|
6
|
-
const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
|
|
7
|
-
const errors_js_1 = require("../../errors.js");
|
|
8
|
-
async function createOrUpdateDocumentFromInteractionRun(payload) {
|
|
9
|
-
const { params, client } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
10
|
-
const runId = params.run_id;
|
|
11
|
-
const objectTypeName = params.object_type;
|
|
12
|
-
if (!runId) {
|
|
13
|
-
throw new errors_js_1.ActivityParamNotFoundError("run_id", payload.activity);
|
|
14
|
-
}
|
|
15
|
-
if (!objectTypeName && !params.update_existing_id) {
|
|
16
|
-
throw new errors_js_1.ActivityParamNotFoundError("object_type", payload.activity);
|
|
17
|
-
}
|
|
18
|
-
activity_1.log.info("Creating document from interaction result", { runId, objectTypeName });
|
|
19
|
-
const run = await client.runs.retrieve(runId).catch((e) => {
|
|
20
|
-
throw new errors_js_1.DocumentNotFoundError(`Error fetching run ${runId}: ${e.message}`);
|
|
21
|
-
});
|
|
22
|
-
const type = objectTypeName ?
|
|
23
|
-
await client.types.getTypeByName(objectTypeName).catch((e) => {
|
|
24
|
-
throw new errors_js_1.DocumentNotFoundError(`Error fetching type ${objectTypeName}: ${e.message}`);
|
|
25
|
-
})
|
|
26
|
-
: undefined;
|
|
27
|
-
const result = run.result;
|
|
28
|
-
const inputData = run.parameters;
|
|
29
|
-
// Try to parse result as JSON, fallback to text if not valid JSON
|
|
30
|
-
let jsonResult = null;
|
|
31
|
-
try {
|
|
32
|
-
jsonResult = result.object();
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
activity_1.log.info("Result is not valid JSON, will use text content instead", { error: e instanceof Error ? e.message : String(e) });
|
|
36
|
-
}
|
|
37
|
-
const name = jsonResult?.['name'] || jsonResult?.["title"] || inputData['name'] || params.fallback_name || undefined;
|
|
38
|
-
const docPayload = {
|
|
39
|
-
name,
|
|
40
|
-
parent: params.parent ?? undefined,
|
|
41
|
-
properties: jsonResult ? jsonResult : {},
|
|
42
|
-
text: !jsonResult ? result.text() : undefined,
|
|
43
|
-
type: type?.id,
|
|
44
|
-
status: common_1.ContentObjectStatus.completed,
|
|
45
|
-
generation_run_info: {
|
|
46
|
-
id: run.id,
|
|
47
|
-
date: new Date().toISOString(),
|
|
48
|
-
model: run.modelId,
|
|
49
|
-
target: jsonResult ? 'properties' : 'text'
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
if (params.update_text_from_property) {
|
|
53
|
-
const text = docPayload.properties[params.update_text_from_property];
|
|
54
|
-
if (text) {
|
|
55
|
-
docPayload.text = text;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//create or update the document
|
|
59
|
-
let newDoc = false;
|
|
60
|
-
let doc = undefined;
|
|
61
|
-
if (params.update_existing_id) {
|
|
62
|
-
activity_1.log.info(`Updating existing document ${params.update_existing_id}`);
|
|
63
|
-
doc = await client.objects.update(params.update_existing_id, docPayload);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
activity_1.log.info(`Creating new document of type ${objectTypeName}`);
|
|
67
|
-
doc = await client.objects.create(docPayload);
|
|
68
|
-
newDoc = true;
|
|
69
|
-
}
|
|
70
|
-
activity_1.log.info(`Document ${objectTypeName + ' '}${doc.id}(${doc.name}) ${newDoc ? 'created' : 'updated'}`);
|
|
71
|
-
return { id: doc.id, isNew: newDoc, type: name };
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=createOrUpdateDocumentFromInteractionRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createOrUpdateDocumentFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateDocumentFromInteractionRun = updateDocumentFromInteractionRun;
|
|
4
|
-
const client_1 = require("@vertesia/client");
|
|
5
|
-
const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
|
|
6
|
-
const errors_js_1 = require("../../errors.js");
|
|
7
|
-
async function updateDocumentFromInteractionRun(payload) {
|
|
8
|
-
const { params, client, objectId } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
9
|
-
if (!params.run) {
|
|
10
|
-
throw new errors_js_1.ActivityParamNotFoundError("run", payload.activity);
|
|
11
|
-
}
|
|
12
|
-
const docProps = client_1.InteractionOutput.from(params.run.result).object();
|
|
13
|
-
if (!docProps) {
|
|
14
|
-
return { status: "failed", error: "no-props" };
|
|
15
|
-
}
|
|
16
|
-
await client.objects.update(objectId, docProps);
|
|
17
|
-
return { status: "success" };
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=updateDocumentFromInteractionRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateDocumentFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/updateDocumentFromInteractionRun.ts"],"names":[],"mappings":";;AAkBA,4EAgBC;AAlCD,6CAAqD;AAErD,2EAAmE;AACnE,+CAA6D;AAetD,KAAK,UAAU,gCAAgC,CAAC,OAA4E;IAC/H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,kCAAa,EAAyC,OAAO,CAAC,CAAC;IAE1G,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,sCAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,0BAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEhD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|