@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,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getRenditionsPath = getRenditionsPath;
|
|
7
|
+
exports.getRenditionPagePath = getRenditionPagePath;
|
|
8
|
+
exports.uploadRenditionPages = uploadRenditionPages;
|
|
9
|
+
const activity_1 = require("@temporalio/activity");
|
|
10
|
+
const node_1 = require("@vertesia/client/node");
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const p_limit_1 = __importDefault(require("p-limit"));
|
|
13
|
+
const image_js_1 = require("../conversion/image.js");
|
|
14
|
+
/**
|
|
15
|
+
* Get the path for all files for a rendition
|
|
16
|
+
* @param objectId
|
|
17
|
+
* @param params
|
|
18
|
+
* @param pageNumber
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
function getRenditionsPath(contentEtag, params) {
|
|
22
|
+
const path = `renditions/${contentEtag}/${params.max_hw}`;
|
|
23
|
+
return path;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get a specific page path for a rendition
|
|
27
|
+
*/
|
|
28
|
+
function getRenditionPagePath(contentEtag, params, pageNumber = 0) {
|
|
29
|
+
//if number, pad to 4 char
|
|
30
|
+
if (typeof pageNumber === "number") {
|
|
31
|
+
pageNumber = String(pageNumber).padStart(4, "0");
|
|
32
|
+
}
|
|
33
|
+
const path = getRenditionsPath(contentEtag, params);
|
|
34
|
+
const pagePath = `${path}/${pageNumber}.${params.format}`;
|
|
35
|
+
return pagePath;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Upload Rendition page to the cloud
|
|
39
|
+
*/
|
|
40
|
+
async function uploadRenditionPages(client, contentEtag, files, params, concurrency) {
|
|
41
|
+
activity_1.log.debug(`Uploading rendition for etag ${contentEtag} with ${files.length} pages (max_hw: ${params.max_hw}, format: ${params.format})`, { files });
|
|
42
|
+
const limit = (0, p_limit_1.default)(concurrency ?? 20);
|
|
43
|
+
const uploads = files.map((file, i) => limit(async () => {
|
|
44
|
+
const pageId = params.outputPath
|
|
45
|
+
? (files.length === 1
|
|
46
|
+
? params.outputPath
|
|
47
|
+
: `${params.outputPath}/${String(i).padStart(4, "0")}.${params.format}`)
|
|
48
|
+
: getRenditionPagePath(contentEtag, params, i);
|
|
49
|
+
let resizedImagePath = null;
|
|
50
|
+
try {
|
|
51
|
+
activity_1.log.debug(`Resizing image for ${contentEtag} page ${i}`, {
|
|
52
|
+
file,
|
|
53
|
+
params,
|
|
54
|
+
});
|
|
55
|
+
// Resize the image using ImageMagick
|
|
56
|
+
resizedImagePath = await (0, image_js_1.imageResizer)(file, params.max_hw, params.format);
|
|
57
|
+
// Create a read stream from the resized image file
|
|
58
|
+
const fileStream = fs_1.default.createReadStream(resizedImagePath);
|
|
59
|
+
const format = "image/" + params.format;
|
|
60
|
+
const fileId = pageId.split("/").pop() ?? pageId;
|
|
61
|
+
const source = new node_1.NodeStreamSource(fileStream, fileId, format, pageId);
|
|
62
|
+
activity_1.log.debug(`Uploading rendition for ${contentEtag} page ${i} with max_hw: ${params.max_hw} and format: ${params.format}`, {
|
|
63
|
+
resizedImagePath,
|
|
64
|
+
fileId,
|
|
65
|
+
format,
|
|
66
|
+
pageId,
|
|
67
|
+
});
|
|
68
|
+
const result = await client.files
|
|
69
|
+
.uploadFile(source)
|
|
70
|
+
.catch((err) => {
|
|
71
|
+
activity_1.log.error(`Failed to upload rendition for ${contentEtag} page ${i}`, {
|
|
72
|
+
error: err,
|
|
73
|
+
errorMessage: err.message,
|
|
74
|
+
stack: err.stack,
|
|
75
|
+
});
|
|
76
|
+
return Promise.reject(`Upload failed: ${err.message}`);
|
|
77
|
+
});
|
|
78
|
+
activity_1.log.debug(`Rendition uploaded for ${contentEtag} page ${i}`, {
|
|
79
|
+
result,
|
|
80
|
+
});
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
activity_1.log.error(`Failed to upload rendition for ${contentEtag} page ${i}`, {
|
|
85
|
+
error: err,
|
|
86
|
+
});
|
|
87
|
+
return Promise.reject(`Upload failed: ${err.message}`);
|
|
88
|
+
}
|
|
89
|
+
}));
|
|
90
|
+
return Promise.all(uploads);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=renditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renditions.js","sourceRoot":"","sources":["../../../src/utils/renditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.agentStoragePath = void 0;
|
|
7
|
+
exports.saveAgentArtifact = saveAgentArtifact;
|
|
8
|
+
exports.fetchAgentArtifact = fetchAgentArtifact;
|
|
9
|
+
const activity_1 = require("@temporalio/activity");
|
|
10
|
+
const workflow_1 = require("@temporalio/workflow");
|
|
11
|
+
const node_1 = require("@vertesia/client/node");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
const mime_1 = __importDefault(require("mime"));
|
|
14
|
+
const blobs_js_1 = require("../utils/blobs.js");
|
|
15
|
+
const agentStoragePath = (runId) => `agents/${runId}`;
|
|
16
|
+
exports.agentStoragePath = agentStoragePath;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* Save an artifact generated by an agent to cloud storage
|
|
20
|
+
*
|
|
21
|
+
* @param client
|
|
22
|
+
* @param name
|
|
23
|
+
* @param fileContent
|
|
24
|
+
* @param mimeType
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
async function saveAgentArtifact(client, name, fileContent, mimeType = "application/json") {
|
|
28
|
+
const { runId } = (0, activity_1.activityInfo)().workflowExecution;
|
|
29
|
+
const ext = mime_1.default.getExtension(mimeType);
|
|
30
|
+
if (!name) {
|
|
31
|
+
throw workflow_1.ApplicationFailure.nonRetryable(`Name is required`);
|
|
32
|
+
}
|
|
33
|
+
//create the file path and append extension if needed
|
|
34
|
+
const filePath = (0, exports.agentStoragePath)(runId) + "/" + name + (ext && !name.endsWith(ext) ? "." + ext : "");
|
|
35
|
+
try {
|
|
36
|
+
const source = new node_1.NodeStreamSource(fileContent, `${runId}-${(0, path_1.basename)(filePath)}`, mimeType, filePath);
|
|
37
|
+
return await client.files.uploadFile(source);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
activity_1.log.error(`Failed to save agent artifact for run ${runId}`, {
|
|
41
|
+
err,
|
|
42
|
+
file: filePath,
|
|
43
|
+
});
|
|
44
|
+
throw workflow_1.ApplicationFailure.nonRetryable(`Failed to save agent artifact for run ${runId}`, "SaveAgentArtifactError", {
|
|
45
|
+
error: err,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async function fetchAgentArtifact(client, name) {
|
|
50
|
+
const { runId } = (0, activity_1.activityInfo)().workflowExecution;
|
|
51
|
+
const filePath = (0, exports.agentStoragePath)(runId) + "/" + name;
|
|
52
|
+
return (0, blobs_js_1.fetchBlobAsBuffer)(client, filePath);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":";;;;;;AAsBA,8CA+BC;AAED,gDAIC;AA3DD,mDAAyD;AACzD,mDAA0D;AAE1D,gDAAyD;AACzD,+BAAgC;AAEhC,gDAAwB;AACxB,gDAAsD;AAG/C,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;AAAxD,QAAA,gBAAgB,oBAAwC;AAErE;;;;;;;;;GASG;AACI,KAAK,UAAU,iBAAiB,CACnC,MAAsB,EACtB,IAAY,EACZ,WAAqB,EACrB,WAAmB,kBAAkB;IAErC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAY,GAAE,CAAC,iBAAiB,CAAC;IACnD,MAAM,GAAG,GAAG,cAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,6BAAkB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEtG,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,uBAAgB,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvG,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,cAAG,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,EAAE;YACxD,GAAG;YACH,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,6BAAkB,CAAC,YAAY,CACjC,yCAAyC,KAAK,EAAE,EAChD,wBAAwB,EACxB;YACI,KAAK,EAAE,GAAG;SACb,CACJ,CAAC;IACN,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAAsB,EAAE,IAAY;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAY,GAAE,CAAC,iBAAiB,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACtD,OAAO,IAAA,4BAAiB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadTextPreviewToStorage = uploadTextPreviewToStorage;
|
|
4
|
+
exports.createFileSourceResult = createFileSourceResult;
|
|
5
|
+
exports.saveTextToObject = saveTextToObject;
|
|
6
|
+
const activity_1 = require("@temporalio/activity");
|
|
7
|
+
const node_1 = require("@vertesia/client/node");
|
|
8
|
+
const stream_1 = require("stream");
|
|
9
|
+
const result_types_js_1 = require("../result-types.js");
|
|
10
|
+
/**
|
|
11
|
+
* Uploads extracted text preview to cloud storage
|
|
12
|
+
*/
|
|
13
|
+
async function uploadTextPreviewToStorage(vertesia, text, storagePath, fileType) {
|
|
14
|
+
const source = new node_1.NodeStreamSource(stream_1.Readable.from(text), storagePath, 'text/markdown', storagePath);
|
|
15
|
+
const uploadedPath = await vertesia.files.uploadFile(source);
|
|
16
|
+
activity_1.log.info(`Uploaded ${fileType} preview text to ${uploadedPath}`);
|
|
17
|
+
return uploadedPath;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates the TextExtractionResult for file_source mode
|
|
21
|
+
*/
|
|
22
|
+
function createFileSourceResult(sourceUrl, storagePath, text) {
|
|
23
|
+
return {
|
|
24
|
+
hasText: !!text,
|
|
25
|
+
file: {
|
|
26
|
+
source_url: sourceUrl,
|
|
27
|
+
result_url: text && storagePath ? storagePath : undefined,
|
|
28
|
+
},
|
|
29
|
+
status: result_types_js_1.TextExtractionStatus.success,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Saves extracted text to an object in the object store
|
|
34
|
+
*/
|
|
35
|
+
async function saveTextToObject(vertesia, objectId, text) {
|
|
36
|
+
const object = await vertesia.objects.retrieve(objectId);
|
|
37
|
+
await vertesia.objects.update(objectId, {
|
|
38
|
+
text: text,
|
|
39
|
+
text_etag: object.content?.etag,
|
|
40
|
+
});
|
|
41
|
+
activity_1.log.info(`Saved text to object ${objectId}`);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=text-preview-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-preview-utils.js","sourceRoot":"","sources":["../../../src/utils/text-preview-utils.ts"],"names":[],"mappings":";;AASA,gEAkBC;AAKD,wDAaC;AAKD,4CAWC;AA7DD,mDAA2C;AAE3C,gDAAyD;AACzD,mCAAkC;AAClC,wDAAgF;AAEhF;;GAEG;AACI,KAAK,UAAU,0BAA0B,CAC5C,QAAwB,EACxB,IAAY,EACZ,WAAmB,EACnB,QAAgB;IAGhB,MAAM,MAAM,GAAG,IAAI,uBAAgB,CAC/B,iBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACnB,WAAW,EACX,eAAe,EACf,WAAW,CACd,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7D,cAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,oBAAoB,YAAY,EAAE,CAAC,CAAC;IAEjE,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAClC,SAAiB,EACjB,WAAmB,EACnB,IAAmB;IAEnB,OAAO;QACH,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,IAAI,EAAE;YACF,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC5D;QACD,MAAM,EAAE,sCAAoB,CAAC,OAAO;KACvC,CAAC;AACN,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAClC,QAAwB,EACxB,QAAgB,EAChB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpC,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI;KAClC,CAAC,CAAC;IACH,cAAG,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.truncByMaxTokens = truncByMaxTokens;
|
|
4
|
+
exports.countTokens = countTokens;
|
|
5
|
+
const tiktoken_1 = require("tiktoken");
|
|
6
|
+
function truncByMaxTokens(content, by) {
|
|
7
|
+
let encoding;
|
|
8
|
+
let maxTokens;
|
|
9
|
+
if (typeof by === 'number') {
|
|
10
|
+
maxTokens = by;
|
|
11
|
+
encoding = "cl100k_base";
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
maxTokens = by.max_tokens;
|
|
15
|
+
encoding = by.encoding || "cl100k_base";
|
|
16
|
+
}
|
|
17
|
+
const enc = (0, tiktoken_1.get_encoding)(encoding);
|
|
18
|
+
let tokens = enc.encode(content);
|
|
19
|
+
if (tokens.length > maxTokens) {
|
|
20
|
+
tokens = tokens.slice(0, maxTokens);
|
|
21
|
+
return new TextDecoder().decode(enc.decode(tokens));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return content;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function countTokens(text, encoding = 'cl100k_base') {
|
|
28
|
+
const encoder = (0, tiktoken_1.get_encoding)(encoding);
|
|
29
|
+
if (!encoder) {
|
|
30
|
+
throw new Error(`Unknown encoding ${encoding}`);
|
|
31
|
+
}
|
|
32
|
+
const tokens = encoder.encode(text);
|
|
33
|
+
return {
|
|
34
|
+
count: tokens.length,
|
|
35
|
+
encoding: encoding,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":";;AASA,4CAkBC;AAED,kCAcC;AA1CD,uCAA0D;AAQ1D,SAAgB,gBAAgB,CAAC,OAAe,EAAE,EAAgB;IAC9D,IAAI,QAA0B,CAAC;IAC/B,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,SAAS,GAAG,EAAE,CAAC;QACf,QAAQ,GAAG,aAAa,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC;QAC1B,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,aAAa,CAAC;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY,EAAE,WAA6B,aAAa;IAEhF,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO;QACH,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,QAAQ;KACrB,CAAC;AAEN,CAAC"}
|
package/lib/cjs/vars.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// exported as a named export /vars
|
|
18
|
+
__exportStar(require("./dsl/validation.js"), exports);
|
|
19
|
+
__exportStar(require("./dsl/vars.js"), exports);
|
|
20
|
+
//# sourceMappingURL=vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/vars.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAAmC;AACnC,sDAAoC;AACpC,gDAA8B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recalculateEmbeddingsWorkflow = exports.notifyWebhookWorkflow = exports.iterativeGenerationWorkflow = exports.dslWorkflow = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Export workflows to be registered on temporal workers
|
|
6
|
+
*/
|
|
7
|
+
var dsl_workflow_js_1 = require("./dsl/dsl-workflow.js");
|
|
8
|
+
Object.defineProperty(exports, "dslWorkflow", { enumerable: true, get: function () { return dsl_workflow_js_1.dslWorkflow; } });
|
|
9
|
+
var iterativeGenerationWorkflow_js_1 = require("./iterative-generation/iterativeGenerationWorkflow.js");
|
|
10
|
+
Object.defineProperty(exports, "iterativeGenerationWorkflow", { enumerable: true, get: function () { return iterativeGenerationWorkflow_js_1.iterativeGenerationWorkflow; } });
|
|
11
|
+
var notifyWebhookWorkflow_js_1 = require("./system/notifyWebhookWorkflow.js");
|
|
12
|
+
Object.defineProperty(exports, "notifyWebhookWorkflow", { enumerable: true, get: function () { return notifyWebhookWorkflow_js_1.notifyWebhookWorkflow; } });
|
|
13
|
+
var recalculateEmbeddingsWorkflow_js_1 = require("./system/recalculateEmbeddingsWorkflow.js");
|
|
14
|
+
Object.defineProperty(exports, "recalculateEmbeddingsWorkflow", { enumerable: true, get: function () { return recalculateEmbeddingsWorkflow_js_1.recalculateEmbeddingsWorkflow; } });
|
|
15
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/workflows.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yDAAoD;AAA3C,8GAAA,WAAW,OAAA;AACpB,wGAAoG;AAA3F,6IAAA,2BAA2B,OAAA;AACpC,8EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,8FAA0F;AAAjF,iJAAA,6BAA6B,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { log } from "@temporalio/activity";
|
|
2
|
+
import { InteractionOutput } from "@vertesia/client";
|
|
3
|
+
import { projectResult } from "../../dsl/projections.js";
|
|
4
|
+
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
5
|
+
import { ActivityParamNotFoundError } from "../../errors.js";
|
|
6
|
+
export async function createDocumentTypeFromInteractionRun(payload) {
|
|
7
|
+
const { params, client } = await setupActivity(payload);
|
|
8
|
+
if (!params.run) {
|
|
9
|
+
throw new ActivityParamNotFoundError("run", payload.activity);
|
|
10
|
+
}
|
|
11
|
+
const jsonResult = InteractionOutput.from(params.run.result).object();
|
|
12
|
+
if (!jsonResult.document_type) {
|
|
13
|
+
log.error("No name generated for type: " + JSON.stringify(jsonResult), jsonResult);
|
|
14
|
+
throw new Error("No name generated for type");
|
|
15
|
+
}
|
|
16
|
+
log.info("Generated schema for type", jsonResult.metadata_schema);
|
|
17
|
+
const typeData = {
|
|
18
|
+
name: jsonResult.document_type,
|
|
19
|
+
object_schema: jsonResult.metadata_schema,
|
|
20
|
+
is_chunkable: !!jsonResult.is_chunkable,
|
|
21
|
+
};
|
|
22
|
+
const type = await client.types.create(typeData);
|
|
23
|
+
if (params.updateObjectId) {
|
|
24
|
+
await client.objects.update(params.updateObjectId, {
|
|
25
|
+
type: type.id,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return projectResult(payload, params, type, { id: type.id, name: type.name });
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=createDocumentTypeFromInteractionRun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDocumentTypeFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/createDocumentTypeFromInteractionRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAmB7D,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,OAAgF;IACvI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAA6C,OAAO,CAAC,CAAC;IAEpG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAmC;QAC7C,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,aAAa,EAAE,UAAU,CAAC,eAAe;QACzC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY;KAC1C,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { log } from "@temporalio/activity";
|
|
2
|
+
import { ContentObjectStatus } from "@vertesia/common";
|
|
3
|
+
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
4
|
+
import { ActivityParamNotFoundError, DocumentNotFoundError } from "../../errors.js";
|
|
5
|
+
export async function createOrUpdateDocumentFromInteractionRun(payload) {
|
|
6
|
+
const { params, client } = await setupActivity(payload);
|
|
7
|
+
const runId = params.run_id;
|
|
8
|
+
const objectTypeName = params.object_type;
|
|
9
|
+
if (!runId) {
|
|
10
|
+
throw new ActivityParamNotFoundError("run_id", payload.activity);
|
|
11
|
+
}
|
|
12
|
+
if (!objectTypeName && !params.update_existing_id) {
|
|
13
|
+
throw new ActivityParamNotFoundError("object_type", payload.activity);
|
|
14
|
+
}
|
|
15
|
+
log.info("Creating document from interaction result", { runId, objectTypeName });
|
|
16
|
+
const run = await client.runs.retrieve(runId).catch((e) => {
|
|
17
|
+
throw new DocumentNotFoundError(`Error fetching run ${runId}: ${e.message}`);
|
|
18
|
+
});
|
|
19
|
+
const type = objectTypeName ?
|
|
20
|
+
await client.types.getTypeByName(objectTypeName).catch((e) => {
|
|
21
|
+
throw new DocumentNotFoundError(`Error fetching type ${objectTypeName}: ${e.message}`);
|
|
22
|
+
})
|
|
23
|
+
: undefined;
|
|
24
|
+
const result = run.result;
|
|
25
|
+
const inputData = run.parameters;
|
|
26
|
+
// Try to parse result as JSON, fallback to text if not valid JSON
|
|
27
|
+
let jsonResult = null;
|
|
28
|
+
try {
|
|
29
|
+
jsonResult = result.object();
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
log.info("Result is not valid JSON, will use text content instead", { error: e instanceof Error ? e.message : String(e) });
|
|
33
|
+
}
|
|
34
|
+
const name = jsonResult?.['name'] || jsonResult?.["title"] || inputData['name'] || params.fallback_name || undefined;
|
|
35
|
+
const docPayload = {
|
|
36
|
+
name,
|
|
37
|
+
parent: params.parent ?? undefined,
|
|
38
|
+
properties: jsonResult ? jsonResult : {},
|
|
39
|
+
text: !jsonResult ? result.text() : undefined,
|
|
40
|
+
type: type?.id,
|
|
41
|
+
status: ContentObjectStatus.completed,
|
|
42
|
+
generation_run_info: {
|
|
43
|
+
id: run.id,
|
|
44
|
+
date: new Date().toISOString(),
|
|
45
|
+
model: run.modelId ?? "",
|
|
46
|
+
target: jsonResult ? 'properties' : 'text'
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
if (params.update_text_from_property) {
|
|
50
|
+
const text = docPayload.properties[params.update_text_from_property];
|
|
51
|
+
if (text) {
|
|
52
|
+
docPayload.text = text;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//create or update the document
|
|
56
|
+
let newDoc = false;
|
|
57
|
+
let doc = undefined;
|
|
58
|
+
if (params.update_existing_id) {
|
|
59
|
+
log.info(`Updating existing document ${params.update_existing_id}`);
|
|
60
|
+
doc = await client.objects.update(params.update_existing_id, docPayload, { suppressWorkflows: true });
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
log.info(`Creating new document of type ${objectTypeName}`);
|
|
64
|
+
doc = await client.objects.create(docPayload);
|
|
65
|
+
newDoc = true;
|
|
66
|
+
}
|
|
67
|
+
log.info(`Document ${objectTypeName + ' '}${doc.id}(${doc.name}) ${newDoc ? 'created' : 'updated'}`);
|
|
68
|
+
return { id: doc.id, isNew: newDoc, type: name };
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=createOrUpdateDocumentFromInteractionRun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createOrUpdateDocumentFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InteractionOutput } from "@vertesia/client";
|
|
2
|
+
import { setupActivity } from "../../dsl/setup/ActivityContext.js";
|
|
3
|
+
import { ActivityParamNotFoundError } from "../../errors.js";
|
|
4
|
+
export async function updateDocumentFromInteractionRun(payload) {
|
|
5
|
+
const { params, client, objectId } = await setupActivity(payload);
|
|
6
|
+
if (!params.run) {
|
|
7
|
+
throw new ActivityParamNotFoundError("run", payload.activity);
|
|
8
|
+
}
|
|
9
|
+
const docProps = InteractionOutput.from(params.run.result).object();
|
|
10
|
+
if (!docProps) {
|
|
11
|
+
return { status: "failed", error: "no-props" };
|
|
12
|
+
}
|
|
13
|
+
await client.objects.update(objectId, docProps, { suppressWorkflows: true });
|
|
14
|
+
return { status: "success" };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=updateDocumentFromInteractionRun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateDocumentFromInteractionRun.js","sourceRoot":"","sources":["../../../../src/activities/advanced/updateDocumentFromInteractionRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAe7D,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,OAA4E;IAC/H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAyC,OAAO,CAAC,CAAC;IAE1G,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { log } from "@temporalio/activity";
|
|
2
|
+
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
3
|
+
import { executeInteractionFromActivity } from "./executeInteraction.js";
|
|
4
|
+
const INT_CHUNK_DOCUMENT = "sys:ChunkDocument";
|
|
5
|
+
export async function chunkDocument(payload) {
|
|
6
|
+
const { params, client, objectId } = await setupActivity(payload);
|
|
7
|
+
const { force } = params;
|
|
8
|
+
const interactionName = params.interactionName ?? INT_CHUNK_DOCUMENT;
|
|
9
|
+
log.info(`Object ${objectId} chunking started`);
|
|
10
|
+
const document = await client.objects.retrieve(objectId, "+text");
|
|
11
|
+
const type = document.type
|
|
12
|
+
? await client.types.catalog.resolve(document.type)
|
|
13
|
+
: undefined;
|
|
14
|
+
if (!type?.is_chunkable) {
|
|
15
|
+
log.warn('Type is not chunkable for object ID: ' + objectId);
|
|
16
|
+
return { id: objectId, status: "skipped", message: "type not chunkable" };
|
|
17
|
+
}
|
|
18
|
+
//check if text is present
|
|
19
|
+
if (!document.text) {
|
|
20
|
+
log.warn('No text found for object ID: ' + objectId);
|
|
21
|
+
return { id: objectId, status: "failed", message: "no text found" };
|
|
22
|
+
}
|
|
23
|
+
if (!force && document.parts && document.parts.length > 0 && document.parts_etag === document.text_etag) {
|
|
24
|
+
log.info('Document already chunked for object ID: ' + objectId);
|
|
25
|
+
return { id: objectId, status: "skipped", message: "document already chunked with correct etag" };
|
|
26
|
+
}
|
|
27
|
+
//instrument the text with line numbers
|
|
28
|
+
const lines = document.text.split('\n');
|
|
29
|
+
const instrumented = lines.map((l, i) => `{%${i}%}${l}`).join('\n');
|
|
30
|
+
const res = await executeInteractionFromActivity(client, interactionName, params, {
|
|
31
|
+
objectId: objectId,
|
|
32
|
+
content: instrumented
|
|
33
|
+
});
|
|
34
|
+
const jsonResult = res.result.object();
|
|
35
|
+
const parts = jsonResult.parts;
|
|
36
|
+
if (!parts || parts.length === 0) {
|
|
37
|
+
log.warn('No parts found for object ID: ' + objectId, res);
|
|
38
|
+
return { id: objectId, status: "failed", parts: [], message: "no parts found" };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Only create parts as document if the flag is set
|
|
42
|
+
*/
|
|
43
|
+
if (params.createParts) {
|
|
44
|
+
const partDocs = await Promise.all(parts.map(async (part, i) => {
|
|
45
|
+
const text = lines.filter((_l, i) => i >= part.line_number_start && i <= part.line_number_end).join('\n');
|
|
46
|
+
const location = () => {
|
|
47
|
+
let location = document.location;
|
|
48
|
+
if (location.endsWith('/')) {
|
|
49
|
+
location += document.name + "/" + part.type;
|
|
50
|
+
}
|
|
51
|
+
location += '/' + document.name + "/" + part.type;
|
|
52
|
+
return location;
|
|
53
|
+
};
|
|
54
|
+
const docPart = await client.objects.create({
|
|
55
|
+
name: part.name,
|
|
56
|
+
parent: objectId,
|
|
57
|
+
text: text,
|
|
58
|
+
location: location(),
|
|
59
|
+
properties: {
|
|
60
|
+
part_number: i + 1,
|
|
61
|
+
etag: document.text_etag,
|
|
62
|
+
source_line_start: part.line_number_start,
|
|
63
|
+
source_line_end: part.line_number_end,
|
|
64
|
+
title: part.name
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return docPart;
|
|
68
|
+
}));
|
|
69
|
+
//delete previous parts
|
|
70
|
+
if (document.parts && document.parts.length > 0) {
|
|
71
|
+
log.info('Deleting previous parts for object ID: ' + objectId, { parts: document.parts });
|
|
72
|
+
await Promise.all(document.parts.map(async (partId) => {
|
|
73
|
+
await client.objects.delete(partId);
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
await client.objects.update(objectId, {
|
|
77
|
+
parts: partDocs.map(p => p.id),
|
|
78
|
+
parts_etag: document.text_etag
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
log.info(`Object ${objectId} chunking completed`, { parts: document.parts });
|
|
82
|
+
return { id: objectId, status: "completed", parts: document.parts };
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=chunkDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunkDocument.js","sourceRoot":"","sources":["../../../src/activities/chunkDocument.ts"],"names":[],"mappings":"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"}
|