@vertesia/workflow 1.0.0-dev.20260203.130115Z → 1.0.0-dev.20260225.024852Z
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/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +33 -0
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +73 -0
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +19 -0
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/chunkDocument.js +87 -0
- package/lib/cjs/activities/chunkDocument.js.map +1 -0
- package/lib/cjs/activities/copyParentArtifacts.js +127 -0
- package/lib/cjs/activities/copyParentArtifacts.js.map +1 -0
- package/lib/cjs/activities/createDocumentFromOther.js +64 -0
- package/lib/cjs/activities/createDocumentFromOther.js.map +1 -0
- package/lib/cjs/activities/executeInteraction.js +194 -0
- package/lib/cjs/activities/executeInteraction.js.map +1 -0
- package/lib/cjs/activities/extractDocumentText.js +196 -0
- package/lib/cjs/activities/extractDocumentText.js.map +1 -0
- package/lib/cjs/activities/generateDocumentProperties.js +85 -0
- package/lib/cjs/activities/generateDocumentProperties.js.map +1 -0
- package/lib/cjs/activities/generateEmbeddings.js +267 -0
- package/lib/cjs/activities/generateEmbeddings.js.map +1 -0
- package/lib/cjs/activities/generateOrAssignContentType.js +125 -0
- package/lib/cjs/activities/generateOrAssignContentType.js.map +1 -0
- package/lib/cjs/activities/getObjectFromStore.js +20 -0
- package/lib/cjs/activities/getObjectFromStore.js.map +1 -0
- package/lib/cjs/activities/handleError.js +22 -0
- package/lib/cjs/activities/handleError.js.map +1 -0
- package/lib/cjs/activities/index-dsl.js +53 -0
- package/lib/cjs/activities/index-dsl.js.map +1 -0
- package/lib/cjs/activities/index.js +21 -0
- package/lib/cjs/activities/index.js.map +1 -0
- package/lib/cjs/activities/media/prepareAudio.js +239 -0
- package/lib/cjs/activities/media/prepareAudio.js.map +1 -0
- package/lib/cjs/activities/media/prepareVideo.js +429 -0
- package/lib/cjs/activities/media/prepareVideo.js.map +1 -0
- package/lib/cjs/activities/media/processPdfWithTextract.js +103 -0
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/cjs/activities/media/saveGladiaTranscription.js +95 -0
- package/lib/cjs/activities/media/saveGladiaTranscription.js.map +1 -0
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +99 -0
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/cjs/activities/mergeChildArtifacts.js +150 -0
- package/lib/cjs/activities/mergeChildArtifacts.js.map +1 -0
- package/lib/cjs/activities/notifyWebhook.js +167 -0
- package/lib/cjs/activities/notifyWebhook.js.map +1 -0
- package/lib/cjs/activities/rateLimiter.js +30 -0
- package/lib/cjs/activities/rateLimiter.js.map +1 -0
- package/lib/cjs/activities/renditions/generateImageRendition.js +66 -0
- package/lib/cjs/activities/renditions/generateImageRendition.js.map +1 -0
- package/lib/cjs/activities/renditions/generateVideoRendition.js +200 -0
- package/lib/cjs/activities/renditions/generateVideoRendition.js.map +1 -0
- package/lib/cjs/activities/setDocumentStatus.js +26 -0
- package/lib/cjs/activities/setDocumentStatus.js.map +1 -0
- package/lib/cjs/conversion/TextractProcessor.js +417 -0
- package/lib/cjs/conversion/TextractProcessor.js.map +1 -0
- package/lib/cjs/conversion/image.js +149 -0
- package/lib/cjs/conversion/image.js.map +1 -0
- package/lib/cjs/conversion/markitdown.js +42 -0
- package/lib/cjs/conversion/markitdown.js.map +1 -0
- package/lib/cjs/conversion/mutool.js +147 -0
- package/lib/cjs/conversion/mutool.js.map +1 -0
- package/lib/cjs/conversion/pandoc.js +39 -0
- package/lib/cjs/conversion/pandoc.js.map +1 -0
- package/lib/cjs/dsl/conditions.js +81 -0
- package/lib/cjs/dsl/conditions.js.map +1 -0
- package/lib/cjs/dsl/dsl-workflow.js +380 -0
- package/lib/cjs/dsl/dsl-workflow.js.map +1 -0
- package/lib/cjs/dsl/dslProxyActivities.js +23 -0
- package/lib/cjs/dsl/dslProxyActivities.js.map +1 -0
- package/lib/cjs/dsl/projections.js +59 -0
- package/lib/cjs/dsl/projections.js.map +1 -0
- package/lib/cjs/dsl/setup/ActivityContext.js +178 -0
- package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -0
- package/lib/cjs/dsl/setup/fetch/DataProvider.js +51 -0
- package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +1 -0
- package/lib/cjs/dsl/setup/fetch/index.js +16 -0
- package/lib/cjs/dsl/setup/fetch/index.js.map +1 -0
- package/lib/cjs/dsl/setup/fetch/providers.js +67 -0
- package/lib/cjs/dsl/setup/fetch/providers.js.map +1 -0
- package/lib/cjs/dsl/test/test-child-workflow.js +10 -0
- package/lib/cjs/dsl/test/test-child-workflow.js.map +1 -0
- package/lib/cjs/dsl/validation.js +122 -0
- package/lib/cjs/dsl/validation.js.map +1 -0
- package/lib/cjs/dsl/vars.js +341 -0
- package/lib/cjs/dsl/vars.js.map +1 -0
- package/lib/cjs/dsl/walk.js +100 -0
- package/lib/cjs/dsl/walk.js.map +1 -0
- package/lib/cjs/dsl.js +20 -0
- package/lib/cjs/dsl.js.map +1 -0
- package/lib/cjs/errors.js +89 -0
- package/lib/cjs/errors.js.map +1 -0
- package/lib/cjs/index.js +57 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/extractToc.js +47 -0
- package/lib/cjs/iterative-generation/activities/extractToc.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js +72 -0
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/generatePart.js +78 -0
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/generateToc.js +86 -0
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/index.js +12 -0
- package/lib/cjs/iterative-generation/activities/index.js.map +1 -0
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +56 -0
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +1 -0
- package/lib/cjs/iterative-generation/types.js +5 -0
- package/lib/cjs/iterative-generation/types.js.map +1 -0
- package/lib/cjs/iterative-generation/utils.js +121 -0
- package/lib/cjs/iterative-generation/utils.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/result-types.js +10 -0
- package/lib/cjs/result-types.js.map +1 -0
- package/lib/cjs/system/notifyWebhookWorkflow.js +53 -0
- package/lib/cjs/system/notifyWebhookWorkflow.js.map +1 -0
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +33 -0
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +1 -0
- package/lib/cjs/utils/auth.js +15 -0
- package/lib/cjs/utils/auth.js.map +1 -0
- package/lib/cjs/utils/blobs.js +64 -0
- package/lib/cjs/utils/blobs.js.map +1 -0
- package/lib/cjs/utils/chunks.js +14 -0
- package/lib/cjs/utils/chunks.js.map +1 -0
- package/lib/cjs/utils/client.js +31 -0
- package/lib/cjs/utils/client.js.map +1 -0
- package/lib/cjs/utils/expand-vars.js +33 -0
- package/lib/cjs/utils/expand-vars.js.map +1 -0
- package/lib/cjs/utils/memory.js +65 -0
- package/lib/cjs/utils/memory.js.map +1 -0
- package/lib/cjs/utils/renditions.js +92 -0
- package/lib/cjs/utils/renditions.js.map +1 -0
- package/lib/cjs/utils/storage.js +54 -0
- package/lib/cjs/utils/storage.js.map +1 -0
- package/lib/cjs/utils/text-preview-utils.js +43 -0
- package/lib/cjs/utils/text-preview-utils.js.map +1 -0
- package/lib/cjs/utils/tokens.js +38 -0
- package/lib/cjs/utils/tokens.js.map +1 -0
- package/lib/cjs/vars.js +20 -0
- package/lib/cjs/vars.js.map +1 -0
- package/lib/cjs/workflows.js +15 -0
- package/lib/cjs/workflows.js.map +1 -0
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +30 -0
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +70 -0
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +16 -0
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/chunkDocument.js +84 -0
- package/lib/esm/activities/chunkDocument.js.map +1 -0
- package/lib/esm/activities/copyParentArtifacts.js +124 -0
- package/lib/esm/activities/copyParentArtifacts.js.map +1 -0
- package/lib/esm/activities/createDocumentFromOther.js +58 -0
- package/lib/esm/activities/createDocumentFromOther.js.map +1 -0
- package/lib/esm/activities/executeInteraction.js +190 -0
- package/lib/esm/activities/executeInteraction.js.map +1 -0
- package/lib/esm/activities/extractDocumentText.js +193 -0
- package/lib/esm/activities/extractDocumentText.js.map +1 -0
- package/lib/esm/activities/generateDocumentProperties.js +82 -0
- package/lib/esm/activities/generateDocumentProperties.js.map +1 -0
- package/lib/esm/activities/generateEmbeddings.js +264 -0
- package/lib/esm/activities/generateEmbeddings.js.map +1 -0
- package/lib/esm/activities/generateOrAssignContentType.js +122 -0
- package/lib/esm/activities/generateOrAssignContentType.js.map +1 -0
- package/lib/esm/activities/getObjectFromStore.js +17 -0
- package/lib/esm/activities/getObjectFromStore.js.map +1 -0
- package/lib/esm/activities/handleError.js +19 -0
- package/lib/esm/activities/handleError.js.map +1 -0
- package/lib/esm/activities/index-dsl.js +26 -0
- package/lib/esm/activities/index-dsl.js.map +1 -0
- package/lib/esm/activities/index.js +5 -0
- package/lib/esm/activities/index.js.map +1 -0
- package/lib/esm/activities/media/prepareAudio.js +200 -0
- package/lib/esm/activities/media/prepareAudio.js.map +1 -0
- package/lib/esm/activities/media/prepareVideo.js +390 -0
- package/lib/esm/activities/media/prepareVideo.js.map +1 -0
- package/lib/esm/activities/media/processPdfWithTextract.js +99 -0
- package/lib/esm/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/esm/activities/media/saveGladiaTranscription.js +92 -0
- package/lib/esm/activities/media/saveGladiaTranscription.js.map +1 -0
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +96 -0
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/esm/activities/mergeChildArtifacts.js +147 -0
- package/lib/esm/activities/mergeChildArtifacts.js.map +1 -0
- package/lib/esm/activities/notifyWebhook.js +164 -0
- package/lib/esm/activities/notifyWebhook.js.map +1 -0
- package/lib/esm/activities/rateLimiter.js +27 -0
- package/lib/esm/activities/rateLimiter.js.map +1 -0
- package/lib/esm/activities/renditions/generateImageRendition.js +63 -0
- package/lib/esm/activities/renditions/generateImageRendition.js.map +1 -0
- package/lib/esm/activities/renditions/generateVideoRendition.js +194 -0
- package/lib/esm/activities/renditions/generateVideoRendition.js.map +1 -0
- package/lib/esm/activities/setDocumentStatus.js +23 -0
- package/lib/esm/activities/setDocumentStatus.js.map +1 -0
- package/lib/esm/conversion/TextractProcessor.js +410 -0
- package/lib/esm/conversion/TextractProcessor.js.map +1 -0
- package/lib/esm/conversion/image.js +143 -0
- package/lib/esm/conversion/image.js.map +1 -0
- package/lib/esm/conversion/markitdown.js +36 -0
- package/lib/esm/conversion/markitdown.js.map +1 -0
- package/lib/esm/conversion/mutool.js +139 -0
- package/lib/esm/conversion/mutool.js.map +1 -0
- package/lib/esm/conversion/pandoc.js +36 -0
- package/lib/esm/conversion/pandoc.js.map +1 -0
- package/lib/esm/dsl/conditions.js +75 -0
- package/lib/esm/dsl/conditions.js.map +1 -0
- package/lib/esm/dsl/dsl-workflow.js +373 -0
- package/lib/esm/dsl/dsl-workflow.js.map +1 -0
- package/lib/esm/dsl/dslProxyActivities.js +20 -0
- package/lib/esm/dsl/dslProxyActivities.js.map +1 -0
- package/lib/esm/dsl/projections.js +55 -0
- package/lib/esm/dsl/projections.js.map +1 -0
- package/lib/esm/dsl/setup/ActivityContext.js +173 -0
- package/lib/esm/dsl/setup/ActivityContext.js.map +1 -0
- package/lib/esm/dsl/setup/fetch/DataProvider.js +47 -0
- package/lib/esm/dsl/setup/fetch/DataProvider.js.map +1 -0
- package/lib/esm/dsl/setup/fetch/index.js +12 -0
- package/lib/esm/dsl/setup/fetch/index.js.map +1 -0
- package/lib/esm/dsl/setup/fetch/providers.js +61 -0
- package/lib/esm/dsl/setup/fetch/providers.js.map +1 -0
- package/lib/esm/dsl/test/test-child-workflow.js +5 -0
- package/lib/esm/dsl/test/test-child-workflow.js.map +1 -0
- package/lib/esm/dsl/validation.js +118 -0
- package/lib/esm/dsl/validation.js.map +1 -0
- package/lib/esm/dsl/vars.js +335 -0
- package/lib/esm/dsl/vars.js.map +1 -0
- package/lib/esm/dsl/walk.js +96 -0
- package/lib/esm/dsl/walk.js.map +1 -0
- package/lib/esm/dsl.js +4 -0
- package/lib/esm/dsl.js.map +1 -0
- package/lib/esm/errors.js +78 -0
- package/lib/esm/errors.js.map +1 -0
- package/lib/esm/index.js +39 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/iterative-generation/activities/extractToc.js +44 -0
- package/lib/esm/iterative-generation/activities/extractToc.js.map +1 -0
- package/lib/esm/iterative-generation/activities/finalizeOutput.js +69 -0
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -0
- package/lib/esm/iterative-generation/activities/generatePart.js +75 -0
- package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -0
- package/lib/esm/iterative-generation/activities/generateToc.js +83 -0
- package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -0
- package/lib/esm/iterative-generation/activities/index.js +5 -0
- package/lib/esm/iterative-generation/activities/index.js.map +1 -0
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +53 -0
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +1 -0
- package/lib/esm/iterative-generation/types.js +2 -0
- package/lib/esm/iterative-generation/types.js.map +1 -0
- package/lib/esm/iterative-generation/utils.js +112 -0
- package/lib/esm/iterative-generation/utils.js.map +1 -0
- package/lib/esm/result-types.js +7 -0
- package/lib/esm/result-types.js.map +1 -0
- package/lib/esm/system/notifyWebhookWorkflow.js +50 -0
- package/lib/esm/system/notifyWebhookWorkflow.js.map +1 -0
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js +30 -0
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +1 -0
- package/lib/esm/utils/auth.js +8 -0
- package/lib/esm/utils/auth.js.map +1 -0
- package/lib/esm/utils/blobs.js +54 -0
- package/lib/esm/utils/blobs.js.map +1 -0
- package/lib/esm/utils/chunks.js +9 -0
- package/lib/esm/utils/chunks.js.map +1 -0
- package/lib/esm/utils/client.js +27 -0
- package/lib/esm/utils/client.js.map +1 -0
- package/lib/esm/utils/expand-vars.js +30 -0
- package/lib/esm/utils/expand-vars.js.map +1 -0
- package/lib/esm/utils/memory.js +55 -0
- package/lib/esm/utils/memory.js.map +1 -0
- package/lib/esm/utils/renditions.js +84 -0
- package/lib/esm/utils/renditions.js.map +1 -0
- package/lib/esm/utils/storage.js +45 -0
- package/lib/esm/utils/storage.js.map +1 -0
- package/lib/esm/utils/text-preview-utils.js +38 -0
- package/lib/esm/utils/text-preview-utils.js.map +1 -0
- package/lib/esm/utils/tokens.js +34 -0
- package/lib/esm/utils/tokens.js.map +1 -0
- package/lib/esm/vars.js +4 -0
- package/lib/esm/vars.js.map +1 -0
- package/lib/esm/workflows.js +8 -0
- package/lib/esm/workflows.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts +17 -0
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -0
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +39 -0
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts +19 -0
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/types/activities/chunkDocument.d.ts +33 -0
- package/lib/types/activities/chunkDocument.d.ts.map +1 -0
- package/lib/types/activities/copyParentArtifacts.d.ts +19 -0
- package/lib/types/activities/copyParentArtifacts.d.ts.map +1 -0
- package/lib/types/activities/createDocumentFromOther.d.ts +21 -0
- package/lib/types/activities/createDocumentFromOther.d.ts.map +1 -0
- package/lib/types/activities/executeInteraction.d.ts +61 -0
- package/lib/types/activities/executeInteraction.d.ts.map +1 -0
- package/lib/types/activities/extractDocumentText.d.ts +11 -0
- package/lib/types/activities/extractDocumentText.d.ts.map +1 -0
- package/lib/types/activities/generateDocumentProperties.d.ts +32 -0
- package/lib/types/activities/generateDocumentProperties.d.ts.map +1 -0
- package/lib/types/activities/generateEmbeddings.d.ts +53 -0
- package/lib/types/activities/generateEmbeddings.d.ts.map +1 -0
- package/lib/types/activities/generateOrAssignContentType.d.ts +44 -0
- package/lib/types/activities/generateOrAssignContentType.d.ts.map +1 -0
- package/lib/types/activities/getObjectFromStore.d.ts +14 -0
- package/lib/types/activities/getObjectFromStore.d.ts.map +1 -0
- package/lib/types/activities/handleError.d.ts +6 -0
- package/lib/types/activities/handleError.d.ts.map +1 -0
- package/lib/types/activities/index-dsl.d.ts +26 -0
- package/lib/types/activities/index-dsl.d.ts.map +1 -0
- package/lib/types/activities/index.d.ts +5 -0
- package/lib/types/activities/index.d.ts.map +1 -0
- package/lib/types/activities/media/prepareAudio.d.ts +25 -0
- package/lib/types/activities/media/prepareAudio.d.ts.map +1 -0
- package/lib/types/activities/media/prepareVideo.d.ts +30 -0
- package/lib/types/activities/media/prepareVideo.d.ts.map +1 -0
- package/lib/types/activities/media/processPdfWithTextract.d.ts +26 -0
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +1 -0
- package/lib/types/activities/media/saveGladiaTranscription.d.ts +15 -0
- package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +1 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +20 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
- package/lib/types/activities/mergeChildArtifacts.d.ts +24 -0
- package/lib/types/activities/mergeChildArtifacts.d.ts.map +1 -0
- package/lib/types/activities/notifyWebhook.d.ts +27 -0
- package/lib/types/activities/notifyWebhook.d.ts.map +1 -0
- package/lib/types/activities/rateLimiter.d.ts +11 -0
- package/lib/types/activities/rateLimiter.d.ts.map +1 -0
- package/lib/types/activities/renditions/generateImageRendition.d.ts +14 -0
- package/lib/types/activities/renditions/generateImageRendition.d.ts.map +1 -0
- package/lib/types/activities/renditions/generateVideoRendition.d.ts +15 -0
- package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +1 -0
- package/lib/types/activities/setDocumentStatus.d.ts +15 -0
- package/lib/types/activities/setDocumentStatus.d.ts.map +1 -0
- package/lib/types/conversion/TextractProcessor.d.ts +45 -0
- package/lib/types/conversion/TextractProcessor.d.ts.map +1 -0
- package/lib/types/conversion/image.d.ts +13 -0
- package/lib/types/conversion/image.d.ts.map +1 -0
- package/lib/types/conversion/markitdown.d.ts +2 -0
- package/lib/types/conversion/markitdown.d.ts.map +1 -0
- package/lib/types/conversion/mutool.d.ts +19 -0
- package/lib/types/conversion/mutool.d.ts.map +1 -0
- package/lib/types/conversion/pandoc.d.ts +2 -0
- package/lib/types/conversion/pandoc.d.ts.map +1 -0
- package/lib/types/dsl/conditions.d.ts +2 -0
- package/lib/types/dsl/conditions.d.ts.map +1 -0
- package/lib/types/dsl/dsl-workflow.d.ts +5 -0
- package/lib/types/dsl/dsl-workflow.d.ts.map +1 -0
- package/lib/types/dsl/dslProxyActivities.d.ts +10 -0
- package/lib/types/dsl/dslProxyActivities.d.ts.map +1 -0
- package/lib/types/dsl/projections.d.ts +4 -0
- package/lib/types/dsl/projections.d.ts.map +1 -0
- package/lib/types/dsl/setup/ActivityContext.d.ts +47 -0
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -0
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts +9 -0
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +1 -0
- package/lib/types/dsl/setup/fetch/index.d.ts +6 -0
- package/lib/types/dsl/setup/fetch/index.d.ts.map +1 -0
- package/lib/types/dsl/setup/fetch/providers.d.ts +25 -0
- package/lib/types/dsl/setup/fetch/providers.d.ts.map +1 -0
- package/lib/types/dsl/test/test-child-workflow.d.ts +4 -0
- package/lib/types/dsl/test/test-child-workflow.d.ts.map +1 -0
- package/lib/types/dsl/validation.d.ts +4 -0
- package/lib/types/dsl/validation.d.ts.map +1 -0
- package/lib/types/dsl/vars.d.ts +48 -0
- package/lib/types/dsl/vars.d.ts.map +1 -0
- package/lib/types/dsl/walk.d.ts +18 -0
- package/lib/types/dsl/walk.d.ts.map +1 -0
- package/lib/types/dsl.d.ts +4 -0
- package/lib/types/dsl.d.ts.map +1 -0
- package/lib/types/errors.d.ts +41 -0
- package/lib/types/errors.d.ts.map +1 -0
- package/lib/types/index.d.ts +38 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/iterative-generation/activities/extractToc.d.ts +10 -0
- package/lib/types/iterative-generation/activities/extractToc.d.ts.map +1 -0
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +3 -0
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +1 -0
- package/lib/types/iterative-generation/activities/generatePart.d.ts +3 -0
- package/lib/types/iterative-generation/activities/generatePart.d.ts.map +1 -0
- package/lib/types/iterative-generation/activities/generateToc.d.ts +4 -0
- package/lib/types/iterative-generation/activities/generateToc.d.ts.map +1 -0
- package/lib/types/iterative-generation/activities/index.d.ts +5 -0
- package/lib/types/iterative-generation/activities/index.d.ts.map +1 -0
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +3 -0
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +1 -0
- package/lib/types/iterative-generation/types.d.ts +79 -0
- package/lib/types/iterative-generation/types.d.ts.map +1 -0
- package/lib/types/iterative-generation/utils.d.ts +26 -0
- package/lib/types/iterative-generation/utils.d.ts.map +1 -0
- package/lib/types/result-types.d.ts +26 -0
- package/lib/types/result-types.d.ts.map +1 -0
- package/lib/types/system/notifyWebhookWorkflow.d.ts +8 -0
- package/lib/types/system/notifyWebhookWorkflow.d.ts.map +1 -0
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts +25 -0
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +1 -0
- package/lib/types/utils/auth.d.ts +4 -0
- package/lib/types/utils/auth.d.ts.map +1 -0
- package/lib/types/utils/blobs.d.ts +7 -0
- package/lib/types/utils/blobs.d.ts.map +1 -0
- package/lib/types/utils/chunks.d.ts +9 -0
- package/lib/types/utils/chunks.d.ts.map +1 -0
- package/lib/types/utils/client.d.ts +8 -0
- package/lib/types/utils/client.d.ts.map +1 -0
- package/lib/types/utils/expand-vars.d.ts +8 -0
- package/lib/types/utils/expand-vars.d.ts.map +1 -0
- package/lib/types/utils/memory.d.ts +8 -0
- package/lib/types/utils/memory.d.ts.map +1 -0
- package/lib/types/utils/renditions.d.ts +25 -0
- package/lib/types/utils/renditions.d.ts.map +1 -0
- package/lib/types/utils/storage.d.ts +16 -0
- package/lib/types/utils/storage.d.ts.map +1 -0
- package/lib/types/utils/text-preview-utils.d.ts +15 -0
- package/lib/types/utils/text-preview-utils.d.ts.map +1 -0
- package/lib/types/utils/tokens.d.ts +11 -0
- package/lib/types/utils/tokens.d.ts.map +1 -0
- package/lib/types/vars.d.ts +3 -0
- package/lib/types/vars.d.ts.map +1 -0
- package/lib/types/workflows.d.ts +8 -0
- package/lib/types/workflows.d.ts.map +1 -0
- package/lib/workflows-bundle.js +17846 -0
- package/package.json +6 -7
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +1 -1
- package/src/activities/chunkDocument.ts +3 -1
- package/src/activities/extractDocumentText.ts +84 -28
- package/src/activities/generateDocumentProperties.ts +4 -2
- package/src/activities/generateEmbeddings.ts +9 -9
- package/src/activities/generateOrAssignContentType.ts +2 -2
- package/src/activities/index-dsl.ts +4 -3
- package/src/activities/media/saveGladiaTranscription.test.ts +406 -0
- package/src/activities/media/saveGladiaTranscription.ts +41 -26
- package/src/activities/media/transcribeMediaWithGladia.test.ts +583 -0
- package/src/activities/media/transcribeMediaWithGladia.ts +46 -25
- package/src/activities/notifyWebhook.test.ts +121 -8
- package/src/activities/notifyWebhook.ts +10 -2
- package/src/activities/renditions/generateImageRendition.ts +2 -2
- package/src/conversion/image.test.ts +1 -0
- package/src/conversion/image.ts +10 -10
- package/src/dsl/dsl-workflow.ts +49 -9
- package/src/dsl/setup/ActivityContext.ts +73 -0
- package/src/dsl.ts +1 -0
- package/src/errors.ts +14 -0
- package/src/index.ts +6 -5
- package/src/result-types.ts +5 -1
- package/src/utils/renditions.ts +11 -5
- package/src/utils/text-preview-utils.ts +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveGladiaTranscription.js","sourceRoot":"","sources":["../../../../src/activities/media/saveGladiaTranscription.ts"],"names":[],"mappings":";;AAqBA,0DAiFC;AAtGD,mDAA2C;AAC3C,iEAAyD;AACzD,6CAA6K;AAC7K,2EAAmE;AACnE,2DAAmF;AAWnF,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C;;;GAGG;AACI,KAAK,UAAU,uBAAuB,CAAC,OAAmE;IAC7G,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAa,EAAgC,OAAO,CAAC,CAAC;IAC5E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,8BAAqB,CAAC,MAAM,CAAoC,CAAC;IACtJ,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO;YACH,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAClE,MAAM,EAAE,sCAAoB,CAAC,KAAK;YAClC,KAAK,EAAE,gCAAgC;SAC1C,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,8BAAW,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;IACrE,YAAY,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnE,cAAG,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEzG,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,qBAAqB,EAAE,CAA8B,CAAC;IAElI,mDAAmD;IACnD,MAAM,SAAS,GAAG,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAE5F,IAAI,mBAAmB,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACzC,cAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACzE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAClE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;gBAC1B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG;aAC/B,CAAC,CAAC,CAAC,SAAS;YACb,MAAM,EAAE,sCAAoB,CAAC,KAAK;YAClC,KAAK,EAAE,6BAA6B;SACvC,CAAC;IACN,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxC,cAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,OAAO;YACH,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,sCAAoB,CAAC,KAAK;YAClC,KAAK,EAAE,mCAAmC,mBAAmB,CAAC,MAAM,EAAE;SACzE,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;IAE1E,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC5B,oCAAoC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI;YAC/B,UAAU,EAAE;gBACR,QAAQ;gBACR,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI;aAC7B;YACD,QAAQ,EAAE;gBACN,GAAG,MAAM,CAAC,QAAQ;gBAClB,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc;gBAC5D,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS;aAC/B;SACrC,CAAC,CAAC;QAEH,cAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC;SAAM,CAAC;QACJ,4CAA4C;QAC5C,cAAG,CAAC,IAAI,CAAC,0DAA0D,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrJ,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACpC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,sCAAoB,CAAC,OAAO;QACpC,OAAO,EAAE,iBAAiB,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,SAAS,QAAQ,CAAC,MAAM,WAAW;KACjH,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6B;IACpD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACvB,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transcribeMedia = transcribeMedia;
|
|
4
|
+
const activity_1 = require("@temporalio/activity");
|
|
5
|
+
const api_fetch_client_1 = require("@vertesia/api-fetch-client");
|
|
6
|
+
const common_1 = require("@vertesia/common");
|
|
7
|
+
const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
|
|
8
|
+
const errors_js_1 = require("../../errors.js");
|
|
9
|
+
const index_js_1 = require("../../index.js");
|
|
10
|
+
const GLADIA_URL = "https://api.gladia.io/v2";
|
|
11
|
+
async function transcribeMedia(payload) {
|
|
12
|
+
const context = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
13
|
+
const { params, client, inputType } = context;
|
|
14
|
+
const gladiaConfig = await client.projects.integrations.retrieve(payload.project_id, common_1.SupportedIntegrations.gladia);
|
|
15
|
+
if (!gladiaConfig || !gladiaConfig.enabled) {
|
|
16
|
+
return {
|
|
17
|
+
hasText: false,
|
|
18
|
+
objectId: inputType === 'objectIds' ? context.objectId : undefined,
|
|
19
|
+
status: index_js_1.TextExtractionStatus.error,
|
|
20
|
+
error: "Gladia integration not enabled",
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const gladiaClient = new api_fetch_client_1.FetchClient(gladiaConfig.url ?? GLADIA_URL);
|
|
24
|
+
gladiaClient.withHeaders({ "x-gladia-key": gladiaConfig.api_key });
|
|
25
|
+
let mediaSource;
|
|
26
|
+
let storageId;
|
|
27
|
+
if (inputType === 'objectIds') {
|
|
28
|
+
// Object mode: fetch from object store
|
|
29
|
+
const objectId = context.objectId;
|
|
30
|
+
const object = await client.objects.retrieve(objectId, "+text");
|
|
31
|
+
if (object.text && !params.force) {
|
|
32
|
+
return { hasText: true, objectId, status: index_js_1.TextExtractionStatus.skipped, message: "text already present and force not enabled" };
|
|
33
|
+
}
|
|
34
|
+
if (!object.content?.source) {
|
|
35
|
+
throw new errors_js_1.DocumentNotFoundError(`No source found for object ${objectId}`);
|
|
36
|
+
}
|
|
37
|
+
// Check for audio rendition in video metadata (preferred for videos)
|
|
38
|
+
mediaSource = object.content.source;
|
|
39
|
+
if (object.metadata?.type === common_1.ContentNature.Video) {
|
|
40
|
+
const videoMetadata = object.metadata;
|
|
41
|
+
const audioRendition = videoMetadata.renditions?.find(r => r.name === common_1.AUDIO_RENDITION_NAME);
|
|
42
|
+
if (audioRendition?.content?.source) {
|
|
43
|
+
mediaSource = audioRendition.content.source;
|
|
44
|
+
activity_1.log.info(`Found audio rendition for video object ${objectId}`, { mediaSource });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
storageId = objectId;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// File mode: use file input
|
|
51
|
+
const file = context.file;
|
|
52
|
+
if (!params.output_storage_path) {
|
|
53
|
+
throw new errors_js_1.DocumentNotFoundError("output_storage_path is required when using file input");
|
|
54
|
+
}
|
|
55
|
+
mediaSource = file.url;
|
|
56
|
+
storageId = params.output_storage_path;
|
|
57
|
+
}
|
|
58
|
+
// Get download URL for the media source
|
|
59
|
+
const { url: mediaUrl } = await client.files.getDownloadUrl(mediaSource);
|
|
60
|
+
if (!mediaUrl) {
|
|
61
|
+
throw new errors_js_1.DocumentNotFoundError(`Error fetching media URL for ${mediaSource}`);
|
|
62
|
+
}
|
|
63
|
+
activity_1.log.info(`Using media URL for transcription`, { storageId, mediaUrl: mediaSource });
|
|
64
|
+
const taskToken = Buffer.from((0, activity_1.activityInfo)().taskToken).toString('base64url');
|
|
65
|
+
const callbackUrl = generateCallbackUrlForGladia(client.store.baseUrl, taskToken);
|
|
66
|
+
activity_1.log.info(`Transcribing media ${mediaUrl} with Gladia`, { storageId, callbackUrl });
|
|
67
|
+
try {
|
|
68
|
+
const res = await gladiaClient.post("/transcription", {
|
|
69
|
+
payload: {
|
|
70
|
+
audio_url: mediaUrl,
|
|
71
|
+
callback_url: callbackUrl,
|
|
72
|
+
diarization_enhanced: true,
|
|
73
|
+
enable_code_switching: true,
|
|
74
|
+
subtitles: true,
|
|
75
|
+
subtitles_config: {
|
|
76
|
+
formats: ["vtt"],
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
activity_1.log.info(`Transcription request sent to Gladia`, { storageId, res });
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (error instanceof api_fetch_client_1.RequestError && error.status === 422) {
|
|
84
|
+
return {
|
|
85
|
+
hasText: false,
|
|
86
|
+
objectId: storageId,
|
|
87
|
+
status: index_js_1.TextExtractionStatus.error,
|
|
88
|
+
error: `Gladia transcription error: ${error.message}`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
activity_1.log.error(`Error sending transcription request to Gladia for storage ${storageId}`, { error });
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
throw new activity_1.CompleteAsyncError();
|
|
95
|
+
}
|
|
96
|
+
function generateCallbackUrlForGladia(baseUrl, taskToken) {
|
|
97
|
+
return `${baseUrl}/webhooks/gladia?task_token=${taskToken}`;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=transcribeMediaWithGladia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeChildArtifacts = mergeChildArtifacts;
|
|
4
|
+
const activity_1 = require("@temporalio/activity");
|
|
5
|
+
const node_1 = require("@vertesia/client/node");
|
|
6
|
+
const stream_1 = require("stream");
|
|
7
|
+
const ActivityContext_js_1 = require("../dsl/setup/ActivityContext.js");
|
|
8
|
+
/**
|
|
9
|
+
* Directories to merge from child to parent.
|
|
10
|
+
* Only out/ and files/ are merged to avoid overwriting parent's scripts/skills.
|
|
11
|
+
*/
|
|
12
|
+
const MERGE_DIRECTORIES = ['out', 'files'];
|
|
13
|
+
/**
|
|
14
|
+
* Files that should never be merged.
|
|
15
|
+
*/
|
|
16
|
+
const EXCLUDED_FILES = ['conversation.json', 'tools.json'];
|
|
17
|
+
/**
|
|
18
|
+
* Merge artifacts from child workflow's agent space to parent workflow's agent space.
|
|
19
|
+
*
|
|
20
|
+
* Files are namespaced by child run ID to avoid conflicts:
|
|
21
|
+
* - Child's `files/output.json` → Parent's `files/{childRunId}/output.json`
|
|
22
|
+
* - Child's `out/report.pdf` → Parent's `out/{childRunId}/report.pdf`
|
|
23
|
+
*
|
|
24
|
+
* Returns the list of merged paths in the parent's space for the model to access.
|
|
25
|
+
*/
|
|
26
|
+
async function mergeChildArtifacts(payload) {
|
|
27
|
+
const { client, params } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
28
|
+
const childRunId = params.child_run_id;
|
|
29
|
+
const parentRunId = params.parent_run_id;
|
|
30
|
+
const directories = params.directories || MERGE_DIRECTORIES;
|
|
31
|
+
activity_1.log.info(`Merging artifacts from child ${childRunId} to parent ${parentRunId}`, { directories });
|
|
32
|
+
// List all files in child's agent space
|
|
33
|
+
const childFiles = await client.files.listArtifacts(childRunId);
|
|
34
|
+
if (childFiles.length === 0) {
|
|
35
|
+
activity_1.log.info("No artifacts in child agent space");
|
|
36
|
+
return { merged: 0, files: [] };
|
|
37
|
+
}
|
|
38
|
+
const mergedFiles = [];
|
|
39
|
+
for (const fullPath of childFiles) {
|
|
40
|
+
const relativePath = extractRelativePath(fullPath, childRunId);
|
|
41
|
+
if (!relativePath)
|
|
42
|
+
continue;
|
|
43
|
+
// Only merge specified directories
|
|
44
|
+
const dir = relativePath.split('/')[0];
|
|
45
|
+
if (!directories.includes(dir))
|
|
46
|
+
continue;
|
|
47
|
+
// Skip excluded files
|
|
48
|
+
const fileName = relativePath.split('/').pop() || '';
|
|
49
|
+
if (EXCLUDED_FILES.includes(fileName))
|
|
50
|
+
continue;
|
|
51
|
+
try {
|
|
52
|
+
// Create namespaced path: files/output.json -> files/{childRunId}/output.json
|
|
53
|
+
const namespacedPath = createNamespacedPath(relativePath, childRunId);
|
|
54
|
+
await copyArtifact(client, childRunId, parentRunId, relativePath, namespacedPath);
|
|
55
|
+
mergedFiles.push(namespacedPath);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
activity_1.log.warn(`Failed to merge ${relativePath}: ${err.message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
activity_1.log.info(`Merged ${mergedFiles.length} artifacts from child to parent`, { files: mergedFiles });
|
|
62
|
+
return { merged: mergedFiles.length, files: mergedFiles };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create a namespaced path by inserting the child run ID after the directory.
|
|
66
|
+
* files/output.json -> files/{childRunId}/output.json
|
|
67
|
+
* out/subdir/report.pdf -> out/{childRunId}/subdir/report.pdf
|
|
68
|
+
*/
|
|
69
|
+
function createNamespacedPath(relativePath, childRunId) {
|
|
70
|
+
const parts = relativePath.split('/');
|
|
71
|
+
if (parts.length < 2) {
|
|
72
|
+
// Single file at root (shouldn't happen, but handle it)
|
|
73
|
+
return `${childRunId}/${relativePath}`;
|
|
74
|
+
}
|
|
75
|
+
// Insert childRunId after the first directory
|
|
76
|
+
const dir = parts[0];
|
|
77
|
+
const rest = parts.slice(1).join('/');
|
|
78
|
+
return `${dir}/${childRunId}/${rest}`;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Extract relative path from full artifact storage path.
|
|
82
|
+
* Storage paths can be: "store_xxx/agents/{runId}/..." or "agents/{runId}/..."
|
|
83
|
+
*/
|
|
84
|
+
function extractRelativePath(fullPath, runId) {
|
|
85
|
+
// Look for the pattern: agents/{runId}/
|
|
86
|
+
const marker = `/agents/${runId}/`;
|
|
87
|
+
const idx = fullPath.lastIndexOf(marker);
|
|
88
|
+
if (idx >= 0) {
|
|
89
|
+
return fullPath.slice(idx + marker.length);
|
|
90
|
+
}
|
|
91
|
+
// Also try without leading slash
|
|
92
|
+
const legacyPrefix = `agents/${runId}/`;
|
|
93
|
+
if (fullPath.startsWith(legacyPrefix)) {
|
|
94
|
+
return fullPath.slice(legacyPrefix.length);
|
|
95
|
+
}
|
|
96
|
+
// If path contains the runId, try to extract after it
|
|
97
|
+
const runIdIdx = fullPath.indexOf(runId);
|
|
98
|
+
if (runIdIdx >= 0) {
|
|
99
|
+
const afterRunId = fullPath.slice(runIdIdx + runId.length);
|
|
100
|
+
if (afterRunId.startsWith('/')) {
|
|
101
|
+
return afterRunId.slice(1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Copy a single artifact from child to parent agent space with a new path
|
|
108
|
+
*/
|
|
109
|
+
async function copyArtifact(client, childRunId, parentRunId, sourcePath, destPath) {
|
|
110
|
+
// Download from child's agent space
|
|
111
|
+
const stream = await client.files.downloadArtifact(childRunId, sourcePath);
|
|
112
|
+
// Convert web stream to node stream for upload
|
|
113
|
+
const nodeStream = stream_1.Readable.fromWeb(stream);
|
|
114
|
+
// Determine mime type from extension
|
|
115
|
+
const mimeType = getMimeType(sourcePath);
|
|
116
|
+
const fileName = sourcePath.split('/').pop() || sourcePath;
|
|
117
|
+
// Upload to parent's agent space at the namespaced path
|
|
118
|
+
const source = new node_1.NodeStreamSource(nodeStream, fileName, mimeType);
|
|
119
|
+
await client.files.uploadArtifact(parentRunId, destPath, source);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get mime type from file extension
|
|
123
|
+
*/
|
|
124
|
+
function getMimeType(filePath) {
|
|
125
|
+
const ext = filePath.split('.').pop()?.toLowerCase();
|
|
126
|
+
const mimeTypes = {
|
|
127
|
+
'json': 'application/json',
|
|
128
|
+
'txt': 'text/plain',
|
|
129
|
+
'md': 'text/markdown',
|
|
130
|
+
'html': 'text/html',
|
|
131
|
+
'csv': 'text/csv',
|
|
132
|
+
'png': 'image/png',
|
|
133
|
+
'jpg': 'image/jpeg',
|
|
134
|
+
'jpeg': 'image/jpeg',
|
|
135
|
+
'gif': 'image/gif',
|
|
136
|
+
'svg': 'image/svg+xml',
|
|
137
|
+
'pdf': 'application/pdf',
|
|
138
|
+
'xml': 'application/xml',
|
|
139
|
+
'zip': 'application/zip',
|
|
140
|
+
'js': 'application/javascript',
|
|
141
|
+
'ts': 'application/typescript',
|
|
142
|
+
'py': 'text/x-python',
|
|
143
|
+
'sh': 'text/x-shellscript',
|
|
144
|
+
'bash': 'text/x-shellscript',
|
|
145
|
+
'yaml': 'text/yaml',
|
|
146
|
+
'yml': 'text/yaml',
|
|
147
|
+
};
|
|
148
|
+
return mimeTypes[ext || ''] || 'application/octet-stream';
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=mergeChildArtifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeChildArtifacts.js","sourceRoot":"","sources":["../../../src/activities/mergeChildArtifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.notifyWebhook = notifyWebhook;
|
|
4
|
+
const activity_1 = require("@temporalio/activity");
|
|
5
|
+
const client_1 = require("@vertesia/client");
|
|
6
|
+
const common_1 = require("@vertesia/common");
|
|
7
|
+
const ActivityContext_js_1 = require("../dsl/setup/ActivityContext.js");
|
|
8
|
+
const errors_js_1 = require("../errors.js");
|
|
9
|
+
const client_js_1 = require("../utils/client.js");
|
|
10
|
+
async function notifyWebhook(payload) {
|
|
11
|
+
const { params } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
12
|
+
const { webhook, method, headers: defaultHeaders } = params;
|
|
13
|
+
// resolve the url and the api version of the webhook
|
|
14
|
+
let target_url, version;
|
|
15
|
+
if (typeof webhook === 'string') {
|
|
16
|
+
target_url = webhook;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
target_url = webhook.url;
|
|
20
|
+
version = webhook.version;
|
|
21
|
+
}
|
|
22
|
+
if (!target_url)
|
|
23
|
+
throw new errors_js_1.WorkflowParamNotFoundError('target_url');
|
|
24
|
+
const hasBody = method === 'POST'; //body is sent only for POST, always includes workflow info
|
|
25
|
+
const headers = {
|
|
26
|
+
...defaultHeaders,
|
|
27
|
+
};
|
|
28
|
+
if (hasBody) {
|
|
29
|
+
headers['Content-Type'] = 'application/json';
|
|
30
|
+
}
|
|
31
|
+
const body = hasBody ? await createRequestBody(payload, params, version) : undefined;
|
|
32
|
+
activity_1.log.info(`Notifying webhook at ${target_url}`);
|
|
33
|
+
const res = await fetch(target_url, {
|
|
34
|
+
method,
|
|
35
|
+
body,
|
|
36
|
+
headers,
|
|
37
|
+
}).catch(err => {
|
|
38
|
+
activity_1.log.error(`An error occurred while notifying webhook at ${target_url}`, { err });
|
|
39
|
+
throw err;
|
|
40
|
+
});
|
|
41
|
+
if (!res.ok) {
|
|
42
|
+
activity_1.log.warn(`Webhook endpoint ${target_url} returned an error - ${res.status} ${res.statusText}`, { fetchResponse: res });
|
|
43
|
+
// Try to get response payload for error message
|
|
44
|
+
let errorMessage = `Webhook Notification to ${target_url} failed with status: ${res.status} ${res.statusText}`;
|
|
45
|
+
try {
|
|
46
|
+
const responseText = await res.text();
|
|
47
|
+
if (responseText) {
|
|
48
|
+
errorMessage += ` - Response: ${responseText}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (readError) {
|
|
52
|
+
// If we can't read the response, just use the basic error message
|
|
53
|
+
activity_1.log.debug('Could not read response body for error', { readError });
|
|
54
|
+
}
|
|
55
|
+
throw new Error(errorMessage);
|
|
56
|
+
}
|
|
57
|
+
return { status: res.status, message: res.statusText, url: res.url };
|
|
58
|
+
}
|
|
59
|
+
// --------------------------------------
|
|
60
|
+
// Data provider for webhooks
|
|
61
|
+
// this allows to customize the payload sent to the webhook depending on the
|
|
62
|
+
// type of workflow and the api version of the webhook
|
|
63
|
+
// --------------------------------------
|
|
64
|
+
function getWorkflowName(workflowType) {
|
|
65
|
+
// remove trailing Workflow or _Workflow case insensitive from the workflow type
|
|
66
|
+
return workflowType.replace(/_?workflow$/i, '');
|
|
67
|
+
}
|
|
68
|
+
async function createRequestBody(payload, params, api_version) {
|
|
69
|
+
if (api_version === undefined || Number(api_version) < common_1.ApiVersions.COMPLETION_RESULT_V1) {
|
|
70
|
+
return createOldRequestBody(payload, params);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return createLatestRequestBody(payload, params, api_version);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function createLatestRequestBody(payload, params, api_version) {
|
|
77
|
+
const data = await createEventData(payload, params, api_version);
|
|
78
|
+
return JSON.stringify({
|
|
79
|
+
workflow_id: params.workflow_id,
|
|
80
|
+
workflow_name: getWorkflowName(params.workflow_type),
|
|
81
|
+
workflow_run_id: params.workflow_run_id,
|
|
82
|
+
event_name: params.event_name,
|
|
83
|
+
detail: data,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async function createEventData(payload, params, api_version) {
|
|
87
|
+
const data = params.detail;
|
|
88
|
+
if (data && data.run_id && params.event_name === "workflow_completed" && params.workflow_type === 'ExecuteInteractionWorkflow') {
|
|
89
|
+
const client = getVersionedVertesiaClient(payload, api_version); //ensure client is initialized
|
|
90
|
+
// we replace the result property with the full execution run object
|
|
91
|
+
return await client.runs.retrieve(data.run_id);
|
|
92
|
+
}
|
|
93
|
+
return data;
|
|
94
|
+
}
|
|
95
|
+
function getVersionedVertesiaClient(payload, version) {
|
|
96
|
+
// set the api version header
|
|
97
|
+
return new client_1.VertesiaClient((0, client_js_1.getVertesiaClientOptions)(payload)).withApiVersion(version ? String(version) : null);
|
|
98
|
+
}
|
|
99
|
+
// ----------------- Compatibility code -----------------
|
|
100
|
+
/* Before 2025-10-08 the notifyWebhook POST body was in the format:
|
|
101
|
+
|
|
102
|
+
{
|
|
103
|
+
"workflowId": "generation:ExecuteInteractionWorkflow:WhatColor:ox8wu6t4",
|
|
104
|
+
"runId": "0199c2c6-818f-77eb-b931-c1ba8b9e5184",
|
|
105
|
+
"status": "completed",
|
|
106
|
+
"result": {
|
|
107
|
+
"run_id": "68e616274b0e9bb510462378",
|
|
108
|
+
"status": "completed",
|
|
109
|
+
"result": {"Color": "white"}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
After Versions.COMPLETION_RESULT_V1 (20250925) when the completion result interface changed we improved the
|
|
114
|
+
payload to the current format:
|
|
115
|
+
|
|
116
|
+
{
|
|
117
|
+
"workflow_id": "generation:ExecuteInteractionWorkflow:WhatColor:bdedqjqj6",
|
|
118
|
+
"workflow_name": "ExecuteInteraction",
|
|
119
|
+
"workflow_run_id": "0199c2d4-6b1d-7cf2-a1e5-4cac6778091e",
|
|
120
|
+
"event_name": "workflow_completed",
|
|
121
|
+
"detail": ExecutionRun
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
where ExecutionRun contains a result property with the new completion result format.
|
|
125
|
+
|
|
126
|
+
"result": [
|
|
127
|
+
{
|
|
128
|
+
"type": "json",
|
|
129
|
+
"value": {
|
|
130
|
+
"Color": "white"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
|
|
135
|
+
*/
|
|
136
|
+
//@ts-ignore
|
|
137
|
+
async function createOldRequestBody(payload, params) {
|
|
138
|
+
let data = params.detail;
|
|
139
|
+
if (data && data.run_id && params.event_name === "workflow_completed" && params.workflow_type === 'ExecuteInteractionWorkflow') {
|
|
140
|
+
const client = getVersionedVertesiaClient(payload, null); //ensure client is using no specific version
|
|
141
|
+
// Important Note: we cannot use client.runs.retrieve since it will transform the run result to the new format because of InteractionOutput
|
|
142
|
+
const run = await client.runs.get(data.run_id);
|
|
143
|
+
// since we use an unversioned client the run will be in old format so we don't need to tranform the result
|
|
144
|
+
const result = run.result;
|
|
145
|
+
data = {
|
|
146
|
+
workflowId: params.workflow_id,
|
|
147
|
+
runId: params.workflow_run_id,
|
|
148
|
+
status: params.event_name === 'workflow_completed' ? 'completed' : params.event_name,
|
|
149
|
+
result: {
|
|
150
|
+
run_id: run.id,
|
|
151
|
+
status: run.status,
|
|
152
|
+
result: result || null
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Always include workflow metadata in old format, even when detail is undefined
|
|
158
|
+
data = {
|
|
159
|
+
workflowId: params.workflow_id,
|
|
160
|
+
runId: params.workflow_run_id,
|
|
161
|
+
status: params.event_name === 'workflow_completed' ? 'completed' : params.event_name,
|
|
162
|
+
result: data || null
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
return JSON.stringify(data);
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=notifyWebhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkRateLimit = checkRateLimit;
|
|
4
|
+
const activity_1 = require("@temporalio/activity");
|
|
5
|
+
const ActivityContext_js_1 = require("../dsl/setup/ActivityContext.js");
|
|
6
|
+
async function checkRateLimit(payload) {
|
|
7
|
+
const { client, params } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
8
|
+
const { environmentId, modelId } = params;
|
|
9
|
+
const result = {
|
|
10
|
+
delayMs: 0,
|
|
11
|
+
};
|
|
12
|
+
try {
|
|
13
|
+
// Call the studio-server endpoint to get rate limit delay using the Vertesia client
|
|
14
|
+
const info = (0, activity_1.activityInfo)();
|
|
15
|
+
const requestPayload = {
|
|
16
|
+
interaction: params.interactionIdOrEndpoint,
|
|
17
|
+
workflow_run_id: info.workflowExecution.runId,
|
|
18
|
+
environment_id: environmentId,
|
|
19
|
+
model_id: modelId,
|
|
20
|
+
};
|
|
21
|
+
const response = await client.interactions.requestSlot(requestPayload);
|
|
22
|
+
result.delayMs = response.delay_ms;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
activity_1.log.warn('Failed to call rate limit API:', { error });
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rateLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/activities/rateLimiter.ts"],"names":[],"mappings":";;AAcA,wCA0BC;AAvCD,mDAAyD;AACzD,wEAAgE;AAYzD,KAAK,UAAU,cAAc,CAAC,OAAqD;IACxF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAa,EAAkB,OAAO,CAAC,CAAC;IACzE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE1C,MAAM,MAAM,GAAoB;QAC9B,OAAO,EAAE,CAAC;KACX,CAAA;IAED,IAAI,CAAC;QACH,oFAAoF;QACpF,MAAM,IAAI,GAAG,IAAA,uBAAY,GAAE,CAAC;QAC5B,MAAM,cAAc,GAA4B;YAC9C,WAAW,EAAE,MAAM,CAAC,uBAAuB;YAC3C,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK;YAC7C,cAAc,EAAE,aAAa;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateImageRendition = generateImageRendition;
|
|
4
|
+
const activity_1 = require("@temporalio/activity");
|
|
5
|
+
const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
|
|
6
|
+
const errors_js_1 = require("../../errors.js");
|
|
7
|
+
const blobs_js_1 = require("../../utils/blobs.js");
|
|
8
|
+
const renditions_js_1 = require("../../utils/renditions.js");
|
|
9
|
+
async function generateImageRendition(payload) {
|
|
10
|
+
const { client, objectId, params: originParams, } = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
11
|
+
// Fix: Use maxHeightWidth if max_hw is not provided
|
|
12
|
+
const params = {
|
|
13
|
+
...originParams,
|
|
14
|
+
max_hw: originParams.max_hw || originParams.maxHeightWidth || 1596, // Default to 1596 if both are missing
|
|
15
|
+
format: originParams.format || originParams.format_output || "png", // Default to png if format is missing
|
|
16
|
+
};
|
|
17
|
+
activity_1.log.debug(`Generating image rendition for ${objectId}`, {
|
|
18
|
+
originParams,
|
|
19
|
+
params,
|
|
20
|
+
});
|
|
21
|
+
const inputObject = await client.objects.retrieve(objectId).catch((err) => {
|
|
22
|
+
activity_1.log.error(`Failed to retrieve document ${objectId}`, { err });
|
|
23
|
+
if (err.message.includes("not found")) {
|
|
24
|
+
throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} not found`, [objectId]);
|
|
25
|
+
}
|
|
26
|
+
throw err;
|
|
27
|
+
});
|
|
28
|
+
if (!inputObject) {
|
|
29
|
+
activity_1.log.error(`Document ${objectId} not found`);
|
|
30
|
+
throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} not found`, [objectId]);
|
|
31
|
+
}
|
|
32
|
+
if (!params.format) {
|
|
33
|
+
activity_1.log.error(`Format not found`);
|
|
34
|
+
throw new errors_js_1.WorkflowParamNotFoundError(`format`);
|
|
35
|
+
}
|
|
36
|
+
if (!inputObject.content?.source) {
|
|
37
|
+
activity_1.log.error(`Document ${objectId} has no source`);
|
|
38
|
+
throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} has no source`, [objectId]);
|
|
39
|
+
}
|
|
40
|
+
if (!inputObject.content.type ||
|
|
41
|
+
!inputObject.content.type?.startsWith("image/")) {
|
|
42
|
+
activity_1.log.error(`Document ${objectId} is not an image or a video: ${inputObject.content.type}`);
|
|
43
|
+
throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} is not an image or a video: ${inputObject.content.type}`, [objectId]);
|
|
44
|
+
}
|
|
45
|
+
//array of rendition files to upload
|
|
46
|
+
let renditionPages = [];
|
|
47
|
+
const imageFile = await (0, blobs_js_1.saveBlobToTempFile)(client, inputObject.content.source);
|
|
48
|
+
activity_1.log.debug(`Image ${objectId} copied to ${imageFile}`);
|
|
49
|
+
renditionPages.push(imageFile);
|
|
50
|
+
//IF no etag, log and use use object id as etag
|
|
51
|
+
if (!inputObject.content.etag) {
|
|
52
|
+
activity_1.log.warn(`Document ${objectId} has no etag, using object id as etag`);
|
|
53
|
+
}
|
|
54
|
+
const contentEtag = inputObject.content.etag ?? inputObject.id;
|
|
55
|
+
const uploaded = await (0, renditions_js_1.uploadRenditionPages)(client, contentEtag, [imageFile], params);
|
|
56
|
+
if (!uploaded || !uploaded.length || !uploaded[0]) {
|
|
57
|
+
activity_1.log.error(`Failed to upload rendition for ${objectId}`, { uploaded });
|
|
58
|
+
throw new Error(`Failed to upload rendition for ${objectId} - upload object is empty`);
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
uploads: uploaded.map((u) => u),
|
|
62
|
+
format: params.format,
|
|
63
|
+
status: "success",
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=generateImageRendition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImageRendition.js","sourceRoot":"","sources":["../../../../src/activities/renditions/generateImageRendition.ts"],"names":[],"mappings":"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"}
|