@vertesia/workflow 0.77.0 → 0.78.0-dev-28b447d
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 +128 -120
- package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +8 -5
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +6 -10
- package/src/activities/advanced/updateDocumentFromInteractionRun.ts +4 -1
- package/src/activities/chunkDocument.ts +4 -1
- package/src/activities/executeInteraction.ts +16 -9
- package/src/activities/generateDocumentProperties.ts +13 -7
- package/src/activities/generateOrAssignContentType.ts +17 -11
- package/src/activities/index-dsl.ts +1 -1
- package/src/activities/notifyWebhook.test.ts +117 -19
- package/src/activities/notifyWebhook.ts +17 -4
- package/src/activities/rateLimiter.ts +41 -0
- package/src/conversion/image.ts +6 -3
- package/src/dsl/dsl-workflow.ts +80 -0
- package/src/dsl/setup/ActivityContext.ts +45 -12
- package/src/dsl/workflow-exec-child.test.ts +4 -3
- package/src/dsl/workflow-fetch.test.ts +1 -1
- package/src/dsl/workflow-import.test.ts +1 -1
- package/src/dsl/workflow.test.ts +2 -1
- package/src/errors.ts +13 -0
- package/src/index.ts +1 -1
- package/src/iterative-generation/activities/extractToc.ts +26 -12
- package/src/iterative-generation/activities/finalizeOutput.ts +52 -29
- package/src/iterative-generation/activities/generatePart.ts +66 -24
- package/src/iterative-generation/activities/generateToc.ts +85 -66
- package/src/iterative-generation/utils.ts +2 -2
- package/src/utils/blobs.ts +3 -1
- package/src/utils/client.ts +22 -8
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -32
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -72
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -18
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/chunkDocument.js +0 -84
- 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 -186
- 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 -78
- 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 -123
- 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/identifyTextSections.js +0 -48
- package/lib/cjs/activities/identifyTextSections.js.map +0 -1
- package/lib/cjs/activities/index-dsl.js +0 -43
- 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/processPdfWithTextract.js +0 -103
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -51
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/cjs/activities/notifyWebhook.js +0 -33
- package/lib/cjs/activities/notifyWebhook.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 -147
- 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 -277
- 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 -120
- 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 -49
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/index.js +0 -54
- 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 -69
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +0 -73
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +0 -91
- 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 -46
- 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 -61
- 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 -29
- 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 -55
- 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 -29
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -69
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -15
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/chunkDocument.js +0 -81
- 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 -182
- 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 -75
- 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 -120
- 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/identifyTextSections.js +0 -45
- package/lib/esm/activities/identifyTextSections.js.map +0 -1
- package/lib/esm/activities/index-dsl.js +0 -21
- 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/processPdfWithTextract.js +0 -99
- package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +0 -48
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/esm/activities/notifyWebhook.js +0 -30
- package/lib/esm/activities/notifyWebhook.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 -141
- 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 -270
- 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 -115
- 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 -42
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/index.js +0 -36
- 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 -66
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +0 -70
- package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +0 -88
- 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 -43
- 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 -51
- 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 -25
- 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 -46
- 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 -57
- 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/identifyTextSections.d.ts +0 -12
- package/lib/types/activities/identifyTextSections.d.ts.map +0 -1
- package/lib/types/activities/index-dsl.d.ts +0 -20
- 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/processPdfWithTextract.d.ts +0 -26
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +0 -14
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
- package/lib/types/activities/notifyWebhook.d.ts +0 -16
- package/lib/types/activities/notifyWebhook.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 -23
- package/lib/types/errors.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -35
- 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 -27
- 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 -7
- 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 -12
- 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 -12908
- package/src/activities/identifyTextSections.ts +0 -71
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Use textract to convert a pdf into a data structure of the following format:
|
|
3
|
-
* <document>
|
|
4
|
-
* <page number="n">
|
|
5
|
-
* <text/>
|
|
6
|
-
* <table/>
|
|
7
|
-
* <text/>
|
|
8
|
-
* <figure/>
|
|
9
|
-
* ...
|
|
10
|
-
* </page>
|
|
11
|
-
*/
|
|
12
|
-
import { fromWebToken } from "@aws-sdk/credential-providers";
|
|
13
|
-
import { SupportedIntegrations } from "@vertesia/common";
|
|
14
|
-
import { log } from "@temporalio/activity";
|
|
15
|
-
import { TextractProcessor } from "../../conversion/TextractProcessor.js";
|
|
16
|
-
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
17
|
-
import { DocumentNotFoundError } from "../../errors.js";
|
|
18
|
-
import { TextExtractionStatus } from "../../result-types.js";
|
|
19
|
-
import { fetchBlobAsBuffer, md5 } from "../../utils/blobs.js";
|
|
20
|
-
import { countTokens } from "../../utils/tokens.js";
|
|
21
|
-
export async function convertPdfToStructuredText(payload) {
|
|
22
|
-
const { params, client, objectId } = await setupActivity(payload);
|
|
23
|
-
const object = await client.objects.retrieve(objectId, "+text");
|
|
24
|
-
if (object.text && !params.force) {
|
|
25
|
-
return { hasText: true, objectId, status: TextExtractionStatus.skipped, message: "text already present and force not enabled" };
|
|
26
|
-
}
|
|
27
|
-
if (!object.content?.source) {
|
|
28
|
-
throw new DocumentNotFoundError(`No source found for object ${objectId}`);
|
|
29
|
-
}
|
|
30
|
-
const pdfUrl = await client.store.objects.getContentSource(objectId).then(res => res.source);
|
|
31
|
-
if (!pdfUrl) {
|
|
32
|
-
throw new DocumentNotFoundError(`Error fetching source ${object.content.source}`);
|
|
33
|
-
}
|
|
34
|
-
const project = await client.getProject();
|
|
35
|
-
const awsConfig = (await client.projects.integrations.retrieve(project.id, SupportedIntegrations.aws));
|
|
36
|
-
const credentials = await getS3AWSCredentials(awsConfig, payload.auth_token, project.id);
|
|
37
|
-
const processor = new TextractProcessor({
|
|
38
|
-
fileKey: objectId,
|
|
39
|
-
region: "us-west-2",
|
|
40
|
-
bucket: "cp-textract-tests",
|
|
41
|
-
credentials,
|
|
42
|
-
log: log,
|
|
43
|
-
detectImages: true,
|
|
44
|
-
includeConfidenceInTables: true,
|
|
45
|
-
});
|
|
46
|
-
try {
|
|
47
|
-
if (!object.content.source.startsWith("s3://")) {
|
|
48
|
-
const buf = await fetchBlobAsBuffer(client, object.content.source);
|
|
49
|
-
await processor.upload(buf);
|
|
50
|
-
}
|
|
51
|
-
const jobId = await processor.startAnalysis(objectId);
|
|
52
|
-
let jobStatus = await processor.checkJobStatus(jobId);
|
|
53
|
-
while (jobStatus === "IN_PROGRESS") {
|
|
54
|
-
await new Promise(resolve => setTimeout(resolve, 5000));
|
|
55
|
-
jobStatus = await processor.checkJobStatus(jobId);
|
|
56
|
-
}
|
|
57
|
-
if (jobStatus === "SUCCEEDED") {
|
|
58
|
-
log.info(`Job ${jobId} succeeded, saving results`, { jobId });
|
|
59
|
-
const fText = await processor.processResults(jobId);
|
|
60
|
-
const tokensData = countTokens(fText);
|
|
61
|
-
const etag = object.content.etag ?? md5(fText);
|
|
62
|
-
const updateData = {
|
|
63
|
-
text: fText,
|
|
64
|
-
text_etag: etag,
|
|
65
|
-
tokens: {
|
|
66
|
-
...tokensData,
|
|
67
|
-
etag: etag,
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
await client.objects.update(objectId, updateData);
|
|
71
|
-
console.log("Full text updated");
|
|
72
|
-
return { hasText: true, objectId, status: TextExtractionStatus.success, message: "Text extracted successfully" };
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
throw new Error(`Job failed with status: ${jobStatus}`);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
console.error("Error processing document:", error);
|
|
80
|
-
throw error;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
export async function getS3AWSCredentials(awsConfig, composableAuthToken, projectId) {
|
|
84
|
-
// fetch s3 role ARN
|
|
85
|
-
if (!awsConfig || !awsConfig.enabled) {
|
|
86
|
-
throw new DocumentNotFoundError("AWS integration is not enabled for this project");
|
|
87
|
-
}
|
|
88
|
-
if (!awsConfig.s3_role_arn) {
|
|
89
|
-
throw new DocumentNotFoundError("S3 Role ARN is not defined in AWS project integration");
|
|
90
|
-
}
|
|
91
|
-
log.info("Getting AWS credentials for Textract", { projectId, composableAuthToken, roleArn: awsConfig.s3_role_arn });
|
|
92
|
-
const credentials = fromWebToken({
|
|
93
|
-
webIdentityToken: composableAuthToken,
|
|
94
|
-
roleArn: awsConfig.s3_role_arn,
|
|
95
|
-
roleSessionName: `cp-project-textract-${projectId}`,
|
|
96
|
-
});
|
|
97
|
-
return credentials;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=processPdfWithTextract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processPdfWithTextract.js","sourceRoot":"","sources":["../../../../src/activities/media/processPdfWithTextract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { SupportedIntegrations } from "@vertesia/common";
|
|
2
|
-
import { activityInfo, CompleteAsyncError, log } from "@temporalio/activity";
|
|
3
|
-
import { FetchClient } from "@vertesia/api-fetch-client";
|
|
4
|
-
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
5
|
-
import { DocumentNotFoundError } from "../../errors.js";
|
|
6
|
-
import { TextExtractionStatus } from "../../index.js";
|
|
7
|
-
const GLADIA_URL = "https://api.gladia.io/v2";
|
|
8
|
-
export async function transcribeMedia(payload) {
|
|
9
|
-
const { params, client, objectId } = await setupActivity(payload);
|
|
10
|
-
const gladiaConfig = await client.projects.integrations.retrieve(payload.project_id, SupportedIntegrations.gladia);
|
|
11
|
-
if (!gladiaConfig || !gladiaConfig.enabled) {
|
|
12
|
-
throw new DocumentNotFoundError("Gladia integration not enabled");
|
|
13
|
-
}
|
|
14
|
-
const object = await client.objects.retrieve(objectId, "+text");
|
|
15
|
-
const gladiaClient = new FetchClient(gladiaConfig.url ?? GLADIA_URL);
|
|
16
|
-
gladiaClient.withHeaders({ "x-gladia-key": gladiaConfig.api_key });
|
|
17
|
-
if (object.text && !params.force) {
|
|
18
|
-
return { hasText: true, objectId, status: TextExtractionStatus.skipped, message: "text already present and force not enabled" };
|
|
19
|
-
}
|
|
20
|
-
if (!object.content?.source) {
|
|
21
|
-
throw new DocumentNotFoundError(`No source found for object ${objectId}`);
|
|
22
|
-
}
|
|
23
|
-
const mediaUrl = await client.store.objects.getContentSource(objectId).then(res => res.source);
|
|
24
|
-
if (!mediaUrl) {
|
|
25
|
-
throw new DocumentNotFoundError(`Error fetching source ${object.content.source}`);
|
|
26
|
-
}
|
|
27
|
-
const taskToken = Buffer.from(activityInfo().taskToken).toString('base64url');
|
|
28
|
-
const callbackUrl = generateCallbackUrlForGladia(client.store.baseUrl, payload.auth_token, taskToken, objectId);
|
|
29
|
-
log.info(`Transcribing media ${mediaUrl} with Gladia`, { objectId, callbackUrl });
|
|
30
|
-
const res = await gladiaClient.post("/transcription", {
|
|
31
|
-
payload: {
|
|
32
|
-
audio_url: mediaUrl,
|
|
33
|
-
callback_url: callbackUrl,
|
|
34
|
-
diarization_enhanced: true,
|
|
35
|
-
enable_code_switching: true,
|
|
36
|
-
subtitles: true,
|
|
37
|
-
subtitles_config: {
|
|
38
|
-
formats: ["vtt"],
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
log.info(`Transcription request sent to Gladia`, { objectId, res });
|
|
43
|
-
throw new CompleteAsyncError();
|
|
44
|
-
}
|
|
45
|
-
function generateCallbackUrlForGladia(baseUrl, authToken, taskToken, objectId) {
|
|
46
|
-
return `${baseUrl}/api/v1/webhooks/gladia/${objectId}?access_token=${authToken}&task_token=${taskToken}`;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=transcribeMediaWithGladia.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { log } from "@temporalio/activity";
|
|
2
|
-
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
3
|
-
import { WorkflowParamNotFoundError } from "../errors.js";
|
|
4
|
-
export async function notifyWebhook(payload) {
|
|
5
|
-
const { params } = await setupActivity(payload);
|
|
6
|
-
const { target_url, method, payload: requestPayload, headers } = params;
|
|
7
|
-
if (!target_url)
|
|
8
|
-
throw new WorkflowParamNotFoundError('target_url');
|
|
9
|
-
const body = method === 'POST' ? JSON.stringify({
|
|
10
|
-
...requestPayload,
|
|
11
|
-
}) : undefined;
|
|
12
|
-
log.info(`Notifying webhook at ${target_url}`);
|
|
13
|
-
const res = await fetch(target_url, {
|
|
14
|
-
method,
|
|
15
|
-
body,
|
|
16
|
-
headers: {
|
|
17
|
-
'Content-Type': 'application/json',
|
|
18
|
-
...headers
|
|
19
|
-
},
|
|
20
|
-
}).catch(err => {
|
|
21
|
-
log.warn(`Failed to notify webhook ${target_url}: ${err}`);
|
|
22
|
-
throw new Error(`Failed to notify webhook ${target_url}: ${err}`);
|
|
23
|
-
});
|
|
24
|
-
if (!res.ok) {
|
|
25
|
-
log.warn(`Failed to notify webhook ${target_url} - ${res.status}: ${res.statusText}`, { res });
|
|
26
|
-
throw new Error(`Failed to notify webhook ${target_url}: ${res.statusText}`);
|
|
27
|
-
}
|
|
28
|
-
return { status: res.status, message: res.statusText, url: res.url };
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=notifyWebhook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAe1D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAyD;IAEzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAsB,OAAO,CAAC,CAAC;IACrE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAEvE,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAEpE,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5C,GAAG,cAAc;KACpB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEd,GAAG,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;QAChC,MAAM;QACN,IAAI;QACJ,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO;SACb;KACJ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,4BAA4B,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,CAAC,4BAA4B,UAAU,MAAM,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;AAExE,CAAC"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { log } from "@temporalio/activity";
|
|
2
|
-
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
3
|
-
import { DocumentNotFoundError, WorkflowParamNotFoundError } from "../../errors.js";
|
|
4
|
-
import { saveBlobToTempFile } from "../../utils/blobs.js";
|
|
5
|
-
import { uploadRenditionPages, } from "../../utils/renditions.js";
|
|
6
|
-
export async function generateImageRendition(payload) {
|
|
7
|
-
const { client, objectId, params: originParams, } = await setupActivity(payload);
|
|
8
|
-
// Fix: Use maxHeightWidth if max_hw is not provided
|
|
9
|
-
const params = {
|
|
10
|
-
...originParams,
|
|
11
|
-
max_hw: originParams.max_hw || originParams.maxHeightWidth || 1596, // Default to 1596 if both are missing
|
|
12
|
-
format: originParams.format || originParams.format_output || "png", // Default to png if format is missing
|
|
13
|
-
};
|
|
14
|
-
log.info(`Generating image rendition for ${objectId}`, {
|
|
15
|
-
originParams,
|
|
16
|
-
params,
|
|
17
|
-
});
|
|
18
|
-
const inputObject = await client.objects.retrieve(objectId).catch((err) => {
|
|
19
|
-
log.error(`Failed to retrieve document ${objectId}`, { err });
|
|
20
|
-
if (err.message.includes("not found")) {
|
|
21
|
-
throw new DocumentNotFoundError(`Document ${objectId} not found`, [objectId]);
|
|
22
|
-
}
|
|
23
|
-
throw err;
|
|
24
|
-
});
|
|
25
|
-
if (!inputObject) {
|
|
26
|
-
log.error(`Document ${objectId} not found`);
|
|
27
|
-
throw new DocumentNotFoundError(`Document ${objectId} not found`, [objectId]);
|
|
28
|
-
}
|
|
29
|
-
if (!params.format) {
|
|
30
|
-
log.error(`Format not found`);
|
|
31
|
-
throw new WorkflowParamNotFoundError(`format`);
|
|
32
|
-
}
|
|
33
|
-
if (!inputObject.content?.source) {
|
|
34
|
-
log.error(`Document ${objectId} has no source`);
|
|
35
|
-
throw new DocumentNotFoundError(`Document ${objectId} has no source`, [objectId]);
|
|
36
|
-
}
|
|
37
|
-
if (!inputObject.content.type ||
|
|
38
|
-
!inputObject.content.type?.startsWith("image/")) {
|
|
39
|
-
log.error(`Document ${objectId} is not an image or a video: ${inputObject.content.type}`);
|
|
40
|
-
throw new DocumentNotFoundError(`Document ${objectId} is not an image or a video: ${inputObject.content.type}`, [objectId]);
|
|
41
|
-
}
|
|
42
|
-
//array of rendition files to upload
|
|
43
|
-
let renditionPages = [];
|
|
44
|
-
const imageFile = await saveBlobToTempFile(client, inputObject.content.source);
|
|
45
|
-
log.info(`Image ${objectId} copied to ${imageFile}`);
|
|
46
|
-
renditionPages.push(imageFile);
|
|
47
|
-
//IF no etag, log and use use object id as etag
|
|
48
|
-
if (!inputObject.content.etag) {
|
|
49
|
-
log.warn(`Document ${objectId} has no etag, using object id as etag`);
|
|
50
|
-
}
|
|
51
|
-
const contentEtag = inputObject.content.etag ?? inputObject.id;
|
|
52
|
-
const uploaded = await uploadRenditionPages(client, contentEtag, [imageFile], params);
|
|
53
|
-
if (!uploaded || !uploaded.length || !uploaded[0]) {
|
|
54
|
-
log.error(`Failed to upload rendition for ${objectId}`, { uploaded });
|
|
55
|
-
throw new Error(`Failed to upload rendition for ${objectId} - upload object is empty`);
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
uploads: uploaded.map((u) => u),
|
|
59
|
-
format: params.format,
|
|
60
|
-
status: "success",
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=generateImageRendition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateImageRendition.js","sourceRoot":"","sources":["../../../../src/activities/renditions/generateImageRendition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { log } from "@temporalio/activity";
|
|
2
|
-
import { exec } from "child_process";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
import os from "os";
|
|
5
|
-
import path from "path";
|
|
6
|
-
import { promisify } from "util";
|
|
7
|
-
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
8
|
-
import { DocumentNotFoundError, WorkflowParamNotFoundError } from "../../errors.js";
|
|
9
|
-
import { saveBlobToTempFile } from "../../utils/blobs.js";
|
|
10
|
-
import { uploadRenditionPages, } from "../../utils/renditions.js";
|
|
11
|
-
const execAsync = promisify(exec);
|
|
12
|
-
async function getVideoMetadata(videoPath) {
|
|
13
|
-
try {
|
|
14
|
-
const command = `ffprobe -v quiet -print_format json -show_format -show_streams "${videoPath}"`;
|
|
15
|
-
const { stdout } = await execAsync(command);
|
|
16
|
-
const metadata = JSON.parse(stdout);
|
|
17
|
-
const videoStream = metadata.streams.find((stream) => stream.codec_type === "video");
|
|
18
|
-
const duration = parseFloat(metadata.format.duration) || 0;
|
|
19
|
-
const width = videoStream?.width || 0;
|
|
20
|
-
const height = videoStream?.height || 0;
|
|
21
|
-
return { duration, width, height };
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
log.error(`Failed to get video metadata: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
25
|
-
throw new Error(`Failed to probe video metadata: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async function generateThumbnail(videoPath, outputDir, timestamp, maxSize) {
|
|
29
|
-
//pad timestamp to 5 digits as filename
|
|
30
|
-
const outputFile = path.join(outputDir, `thumb-${timestamp.toString().padStart(5, "0")}.jpg`);
|
|
31
|
-
// FFmpeg command to extract thumbnail at specific timestamp
|
|
32
|
-
// Use proper scale filter syntax: scale=w:h:force_original_aspect_ratio=decrease
|
|
33
|
-
const scaleFilter = `scale=${maxSize}:${maxSize}:force_original_aspect_ratio=decrease`;
|
|
34
|
-
const command = [
|
|
35
|
-
"ffmpeg",
|
|
36
|
-
"-y", // Overwrite output files
|
|
37
|
-
"-ss",
|
|
38
|
-
timestamp.toString(), // Seek to timestamp
|
|
39
|
-
"-i",
|
|
40
|
-
`"${videoPath}"`, // Input file
|
|
41
|
-
"-vframes",
|
|
42
|
-
"1", // Extract only 1 frame
|
|
43
|
-
"-vf",
|
|
44
|
-
`"${scaleFilter}"`, // Scale maintaining aspect ratio
|
|
45
|
-
"-q:v",
|
|
46
|
-
"2", // High quality
|
|
47
|
-
`"${outputFile}"`,
|
|
48
|
-
].join(" ");
|
|
49
|
-
log.info(`Generating thumbnail at ${timestamp}s`), { command };
|
|
50
|
-
try {
|
|
51
|
-
const { stderr } = await execAsync(command);
|
|
52
|
-
// Log any warnings from ffmpeg
|
|
53
|
-
if (stderr && !stderr.includes("frame=")) {
|
|
54
|
-
log.debug(`FFmpeg stderr for thumbnail at ${timestamp}s: ${stderr}`);
|
|
55
|
-
}
|
|
56
|
-
// Verify the file was created
|
|
57
|
-
if (fs.existsSync(outputFile)) {
|
|
58
|
-
log.debug(`Generated thumbnail at ${timestamp}s`);
|
|
59
|
-
return outputFile;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
log.warn(`Thumbnail not generated for timestamp ${timestamp}s`);
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
log.error(`Failed to generate thumbnail at ${timestamp}s: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export async function generateVideoRendition(payload) {
|
|
72
|
-
const { client, objectId, params: originParams, } = await setupActivity(payload);
|
|
73
|
-
// Fix: Use maxHeightWidth if max_hw is not provided
|
|
74
|
-
const params = {
|
|
75
|
-
...originParams,
|
|
76
|
-
max_hw: originParams.max_hw || originParams.maxHeightWidth || 1024, // Default to 1024 if both are missing
|
|
77
|
-
format: originParams.format || originParams.format_output || "png", // Default to png if format is missing
|
|
78
|
-
};
|
|
79
|
-
log.info(`Generating video rendition for ${objectId}`, {
|
|
80
|
-
originParams,
|
|
81
|
-
params,
|
|
82
|
-
});
|
|
83
|
-
const inputObject = await client.objects.retrieve(objectId).catch((err) => {
|
|
84
|
-
log.error(`Failed to retrieve document ${objectId}`, { err });
|
|
85
|
-
if (err.message.includes("not found")) {
|
|
86
|
-
throw new DocumentNotFoundError(`Document ${objectId} not found`, [
|
|
87
|
-
objectId,
|
|
88
|
-
]);
|
|
89
|
-
}
|
|
90
|
-
throw err;
|
|
91
|
-
});
|
|
92
|
-
if (!params.format) {
|
|
93
|
-
log.error(`Format not found`);
|
|
94
|
-
throw new WorkflowParamNotFoundError(`format`);
|
|
95
|
-
}
|
|
96
|
-
if (!inputObject.content?.source) {
|
|
97
|
-
log.error(`Document ${objectId} has no source`);
|
|
98
|
-
throw new DocumentNotFoundError(`Document ${objectId} has no source`, [
|
|
99
|
-
objectId,
|
|
100
|
-
]);
|
|
101
|
-
}
|
|
102
|
-
if (!inputObject.content.type ||
|
|
103
|
-
!inputObject.content.type?.startsWith("video/")) {
|
|
104
|
-
log.error(`Document ${objectId} is not a video: ${inputObject.content.type}`);
|
|
105
|
-
throw new DocumentNotFoundError(`Document ${objectId} is not a video: ${inputObject.content.type}`, [objectId]);
|
|
106
|
-
}
|
|
107
|
-
//array of rendition files to upload
|
|
108
|
-
let renditionPages = [];
|
|
109
|
-
const videoFile = await saveBlobToTempFile(client, inputObject.content.source);
|
|
110
|
-
const tempOutputDir = fs.mkdtempSync(path.join(os.tmpdir(), "video-rendition-"));
|
|
111
|
-
try {
|
|
112
|
-
// Get video metadata using command line ffprobe
|
|
113
|
-
const metadata = await getVideoMetadata(videoFile);
|
|
114
|
-
const duration = metadata.duration;
|
|
115
|
-
// Calculate optimal number of thumbnails based on video length
|
|
116
|
-
const calculateThumbnailCount = (videoDuration) => {
|
|
117
|
-
if (videoDuration <= 60)
|
|
118
|
-
return 3; // Short videos: 3 thumbnails
|
|
119
|
-
if (videoDuration <= 300)
|
|
120
|
-
return 5; // 5min videos: 5 thumbnails
|
|
121
|
-
if (videoDuration <= 600)
|
|
122
|
-
return 8; // 10min videos: 8 thumbnails
|
|
123
|
-
if (videoDuration <= 1800)
|
|
124
|
-
return 12; // 30min videos: 12 thumbnails
|
|
125
|
-
if (videoDuration <= 3600)
|
|
126
|
-
return 16; // 1hr videos: 16 thumbnails
|
|
127
|
-
return 20; // Longer videos: max 20 thumbnails
|
|
128
|
-
};
|
|
129
|
-
const thumbnailCount = calculateThumbnailCount(duration);
|
|
130
|
-
// Generate evenly spaced timestamps, avoiding very beginning and end
|
|
131
|
-
const timestamps = [];
|
|
132
|
-
const startOffset = Math.min(duration * 0.05, 5); // Skip first 5% or 5 seconds
|
|
133
|
-
const endOffset = Math.min(duration * 0.05, 5); // Skip last 5% or 5 seconds
|
|
134
|
-
const usableDuration = duration - startOffset - endOffset;
|
|
135
|
-
for (let i = 0; i < thumbnailCount; i++) {
|
|
136
|
-
const progress = (i + 1) / (thumbnailCount + 1); // Evenly distribute
|
|
137
|
-
const timestamp = startOffset + usableDuration * progress;
|
|
138
|
-
timestamps.push(Math.max(timestamp, 1));
|
|
139
|
-
}
|
|
140
|
-
log.info(`Generating ${thumbnailCount} thumbnails for ${duration}s video`, {
|
|
141
|
-
objectId,
|
|
142
|
-
duration,
|
|
143
|
-
thumbnailCount,
|
|
144
|
-
timestamps: timestamps.map((t) => Math.round(t)),
|
|
145
|
-
tempOutputDir,
|
|
146
|
-
});
|
|
147
|
-
// Generate thumbnails using command line ffmpeg
|
|
148
|
-
const generatedThumbnails = await Promise.all(timestamps.map(async (timestamp) => {
|
|
149
|
-
return await generateThumbnail(videoFile, tempOutputDir, timestamp, params.max_hw);
|
|
150
|
-
}));
|
|
151
|
-
if (generatedThumbnails.length === 0) {
|
|
152
|
-
log.info(`No thumbnails were generated for video ${objectId}`, {
|
|
153
|
-
objectId,
|
|
154
|
-
thumbnailCount,
|
|
155
|
-
tempOutputDir,
|
|
156
|
-
});
|
|
157
|
-
throw new Error(`No thumbnails were generated for video ${objectId}`);
|
|
158
|
-
}
|
|
159
|
-
renditionPages.push(...generatedThumbnails.filter((thumbnail) => thumbnail !== undefined));
|
|
160
|
-
log.info(`Successfully generated ${generatedThumbnails.length} thumbnails for ${objectId}`, {
|
|
161
|
-
objectId,
|
|
162
|
-
generatedCount: generatedThumbnails.length,
|
|
163
|
-
requestedCount: thumbnailCount,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
log.error(`Error generating thumbnails for video: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
168
|
-
throw new Error(`Failed to generate thumbnails for video: ${objectId}`);
|
|
169
|
-
}
|
|
170
|
-
finally {
|
|
171
|
-
// Clean up temporary video file
|
|
172
|
-
try {
|
|
173
|
-
if (fs.existsSync(videoFile)) {
|
|
174
|
-
fs.unlinkSync(videoFile);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
catch (cleanupError) {
|
|
178
|
-
log.warn(`Failed to cleanup temporary video file: ${videoFile}`);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
if (!inputObject.content?.etag) {
|
|
182
|
-
log.warn(`Document ${objectId} has no etag, using object id as etag`);
|
|
183
|
-
}
|
|
184
|
-
const etag = inputObject.content.etag ?? inputObject.id;
|
|
185
|
-
// Update the final upload call to handle multiple thumbnails
|
|
186
|
-
const uploaded = await uploadRenditionPages(client, etag, renditionPages, params);
|
|
187
|
-
return {
|
|
188
|
-
uploads: uploaded.map((u) => u),
|
|
189
|
-
format: params.format,
|
|
190
|
-
thumbnailCount: renditionPages.length,
|
|
191
|
-
status: "success",
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=generateVideoRendition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateVideoRendition.js","sourceRoot":"","sources":["../../../../src/activities/renditions/generateVideoRendition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEH,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAelC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC7C,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,mEAAmE,SAAS,GAAG,CAAC;QAChG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CACrC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,OAAO,CACjD,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAExC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACL,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9F,CAAC;QACF,MAAM,IAAI,KAAK,CACX,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,OAAe;IAEf,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CACxB,SAAS,EACT,SAAS,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CACvD,CAAC;IAEF,4DAA4D;IAC5D,iFAAiF;IACjF,MAAM,WAAW,GAAG,SAAS,OAAO,IAAI,OAAO,uCAAuC,CAAC;IAEvF,MAAM,OAAO,GAAG;QACZ,QAAQ;QACR,IAAI,EAAE,yBAAyB;QAC/B,KAAK;QACL,SAAS,CAAC,QAAQ,EAAE,EAAE,oBAAoB;QAC1C,IAAI;QACJ,IAAI,SAAS,GAAG,EAAE,aAAa;QAC/B,UAAU;QACV,GAAG,EAAE,uBAAuB;QAC5B,KAAK;QACL,IAAI,WAAW,GAAG,EAAE,iCAAiC;QACrD,MAAM;QACN,GAAG,EAAE,eAAe;QACpB,IAAI,UAAU,GAAG;KACpB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,GAAG,CAAC,IAAI,CAAC,2BAA2B,SAAS,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/D,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,+BAA+B;QAC/B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CACL,kCAAkC,SAAS,MAAM,MAAM,EAAE,CAC5D,CAAC;QACN,CAAC;QAED,8BAA8B;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,CAAC,CAAC;YAClD,OAAO,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,yCAAyC,SAAS,GAAG,CAAC,CAAC;YAChE,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACL,mCAAmC,SAAS,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC/G,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,OAAkE;IAElE,MAAM,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EAAE,YAAY,GACvB,GAAG,MAAM,aAAa,CAA+B,OAAO,CAAC,CAAC;IAE/D,oDAAoD;IACpD,MAAM,MAAM,GAAG;QACX,GAAG,YAAY;QACf,MAAM,EACF,YAAY,CAAC,MAAM,IAAK,YAAoB,CAAC,cAAc,IAAI,IAAI,EAAE,sCAAsC;QAC/G,MAAM,EACF,YAAY,CAAC,MAAM,IAAK,YAAoB,CAAC,aAAa,IAAI,KAAK,EAAE,sCAAsC;KAClH,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,kCAAkC,QAAQ,EAAE,EAAE;QACnD,YAAY;QACZ,MAAM;KACT,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACtE,GAAG,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,qBAAqB,CAAC,YAAY,QAAQ,YAAY,EAAE;gBAC9D,QAAQ;aACX,CAAC,CAAC;QACP,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9B,MAAM,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,YAAY,QAAQ,gBAAgB,CAAC,CAAC;QAChD,MAAM,IAAI,qBAAqB,CAAC,YAAY,QAAQ,gBAAgB,EAAE;YAClE,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,IACI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI;QACzB,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EACjD,CAAC;QACC,GAAG,CAAC,KAAK,CACL,YAAY,QAAQ,oBAAoB,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CACrE,CAAC;QACF,MAAM,IAAI,qBAAqB,CAC3B,YAAY,QAAQ,oBAAoB,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAClE,CAAC,QAAQ,CAAC,CACb,CAAC;IACN,CAAC;IAED,oCAAoC;IACpC,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACtC,MAAM,EACN,WAAW,CAAC,OAAO,CAAC,MAAM,CAC7B,CAAC;IACF,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAChC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAC7C,CAAC;IAEF,IAAI,CAAC;QACD,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEnC,+DAA+D;QAC/D,MAAM,uBAAuB,GAAG,CAAC,aAAqB,EAAU,EAAE;YAC9D,IAAI,aAAa,IAAI,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B;YAChE,IAAI,aAAa,IAAI,GAAG;gBAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B;YAChE,IAAI,aAAa,IAAI,GAAG;gBAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B;YACjE,IAAI,aAAa,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAC,CAAC,8BAA8B;YACpE,IAAI,aAAa,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAC,CAAC,4BAA4B;YAClE,OAAO,EAAE,CAAC,CAAC,mCAAmC;QAClD,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEzD,qEAAqE;QACrE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,6BAA6B;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;QAC5E,MAAM,cAAc,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;QAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB;YACrE,MAAM,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,GAAG,CAAC,IAAI,CACJ,cAAc,cAAc,mBAAmB,QAAQ,SAAS,EAChE;YACI,QAAQ;YACR,QAAQ;YACR,cAAc;YACd,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,aAAa;SAChB,CACJ,CAAC;QAEF,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC/B,OAAO,MAAM,iBAAiB,CAC1B,SAAS,EACT,aAAa,EACb,SAAS,EACT,MAAM,CAAC,MAAM,CAChB,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,0CAA0C,QAAQ,EAAE,EAAE;gBAC3D,QAAQ;gBACR,cAAc;gBACd,aAAa;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CACX,0CAA0C,QAAQ,EAAE,CACvD,CAAC;QACN,CAAC;QAED,cAAc,CAAC,IAAI,CACf,GAAG,mBAAmB,CAAC,MAAM,CACzB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CACzC,CACJ,CAAC;QACF,GAAG,CAAC,IAAI,CACJ,0BAA0B,mBAAmB,CAAC,MAAM,mBAAmB,QAAQ,EAAE,EACjF;YACI,QAAQ;YACR,cAAc,EAAE,mBAAmB,CAAC,MAAM;YAC1C,cAAc,EAAE,cAAc;SACjC,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACL,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACvG,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;YAAS,CAAC;QACP,gCAAgC;QAChC,IAAI,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,uCAAuC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC;IAExD,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,IAAI,EACJ,cAAc,EACd,MAAM,CACT,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,cAAc,CAAC,MAAM;QACrC,MAAM,EAAE,SAAS;KACpB,CAAC;AACN,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
2
|
-
/**
|
|
3
|
-
* We are using a union type for the status parameter since typescript enums breaks the workflow code generation
|
|
4
|
-
* @param objectId
|
|
5
|
-
* @param status
|
|
6
|
-
*/
|
|
7
|
-
export async function setDocumentStatus(payload) {
|
|
8
|
-
const { client, params, objectId } = await setupActivity(payload);
|
|
9
|
-
const res = await client.objects.update(objectId, { status: params.status });
|
|
10
|
-
return res.status;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=setDocumentStatus.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setDocumentStatus.js","sourceRoot":"","sources":["../../../src/activities/setDocumentStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAWhE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA6D;IACjG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAA0B,OAAO,CAAC,CAAC;IAE3F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,OAAO,GAAG,CAAC,MAAM,CAAC;AAEtB,CAAC"}
|