@vertesia/workflow 0.78.0-dev-28b447d → 0.78.0-dev.1
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 +34 -0
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +67 -0
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +20 -0
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/cjs/activities/chunkDocument.js +86 -0
- package/lib/cjs/activities/chunkDocument.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 +189 -0
- package/lib/cjs/activities/executeInteraction.js.map +1 -0
- package/lib/cjs/activities/extractDocumentText.js +156 -0
- package/lib/cjs/activities/extractDocumentText.js.map +1 -0
- package/lib/cjs/activities/generateDocumentProperties.js +84 -0
- package/lib/cjs/activities/generateDocumentProperties.js.map +1 -0
- package/lib/cjs/activities/generateEmbeddings.js +358 -0
- package/lib/cjs/activities/generateEmbeddings.js.map +1 -0
- package/lib/cjs/activities/generateOrAssignContentType.js +126 -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 +43 -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/processPdfWithTextract.js +103 -0
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +51 -0
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/cjs/activities/notifyWebhook.js +45 -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 +15 -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 +338 -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 +123 -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 +57 -0
- package/lib/cjs/errors.js.map +1 -0
- package/lib/cjs/index.js +54 -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 +79 -0
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -0
- package/lib/cjs/iterative-generation/activities/generateToc.js +87 -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 +46 -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 +88 -0
- package/lib/cjs/utils/renditions.js.map +1 -0
- package/lib/cjs/utils/storage.js +55 -0
- package/lib/cjs/utils/storage.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 +31 -0
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +64 -0
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +17 -0
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/esm/activities/chunkDocument.js +83 -0
- package/lib/esm/activities/chunkDocument.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 +185 -0
- package/lib/esm/activities/executeInteraction.js.map +1 -0
- package/lib/esm/activities/extractDocumentText.js +153 -0
- package/lib/esm/activities/extractDocumentText.js.map +1 -0
- package/lib/esm/activities/generateDocumentProperties.js +81 -0
- package/lib/esm/activities/generateDocumentProperties.js.map +1 -0
- package/lib/esm/activities/generateEmbeddings.js +355 -0
- package/lib/esm/activities/generateEmbeddings.js.map +1 -0
- package/lib/esm/activities/generateOrAssignContentType.js +123 -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 +21 -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/processPdfWithTextract.js +99 -0
- package/lib/esm/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +48 -0
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/esm/activities/notifyWebhook.js +42 -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 +12 -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 +331 -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 +118 -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 +49 -0
- package/lib/esm/errors.js.map +1 -0
- package/lib/esm/index.js +36 -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 +76 -0
- package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -0
- package/lib/esm/iterative-generation/activities/generateToc.js +84 -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 +43 -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 +80 -0
- package/lib/esm/utils/renditions.js.map +1 -0
- package/lib/esm/utils/storage.js +46 -0
- package/lib/esm/utils/storage.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/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 +10 -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 +20 -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/processPdfWithTextract.d.ts +26 -0
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +1 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +14 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
- package/lib/types/activities/notifyWebhook.d.ts +16 -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 +17 -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 +27 -0
- package/lib/types/errors.d.ts.map +1 -0
- package/lib/types/index.d.ts +35 -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 +27 -0
- package/lib/types/iterative-generation/utils.d.ts.map +1 -0
- package/lib/types/result-types.d.ts +22 -0
- package/lib/types/result-types.d.ts.map +1 -0
- package/lib/types/system/notifyWebhookWorkflow.d.ts +7 -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 +23 -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/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 +13166 -0
- package/package.json +127 -127
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { log } from "@temporalio/workflow";
|
|
2
|
+
import { dslProxyActivities } from "../dsl/dslProxyActivities.js";
|
|
3
|
+
import { WF_NON_RETRYABLE_ERRORS } from "../errors.js";
|
|
4
|
+
const { notifyWebhook } = dslProxyActivities("notifyWebhookWorkflow", {
|
|
5
|
+
startToCloseTimeout: "5 minute",
|
|
6
|
+
retry: {
|
|
7
|
+
initialInterval: '5s',
|
|
8
|
+
backoffCoefficient: 2,
|
|
9
|
+
maximumAttempts: 5,
|
|
10
|
+
maximumInterval: 100 * 30 * 1000, //ms
|
|
11
|
+
nonRetryableErrorTypes: WF_NON_RETRYABLE_ERRORS,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
export async function notifyWebhookWorkflow(payload) {
|
|
15
|
+
const { objectIds, vars } = payload;
|
|
16
|
+
const notifications = [];
|
|
17
|
+
const endpoints = vars.endpoints ?? vars.webhooks ?? [];
|
|
18
|
+
const data = vars.data ?? vars.webhook_data ?? undefined;
|
|
19
|
+
const eventName = payload.event;
|
|
20
|
+
if (!endpoints.length) {
|
|
21
|
+
log.info(`No webhooks to notify`);
|
|
22
|
+
return { notifications: [], message: "No webhooks to notify" };
|
|
23
|
+
}
|
|
24
|
+
for (const ep of endpoints) {
|
|
25
|
+
const n = notifyWebhook(payload, {
|
|
26
|
+
target_url: ep,
|
|
27
|
+
method: 'POST',
|
|
28
|
+
payload: {
|
|
29
|
+
object_ids: objectIds,
|
|
30
|
+
event: eventName,
|
|
31
|
+
data
|
|
32
|
+
}
|
|
33
|
+
}).then(res => {
|
|
34
|
+
log.info(`Webhook notified at ${ep} with response code: ${res.status}`, { res });
|
|
35
|
+
return res;
|
|
36
|
+
});
|
|
37
|
+
notifications.push(n);
|
|
38
|
+
}
|
|
39
|
+
const res = await Promise.all(notifications);
|
|
40
|
+
log.info(`Webhooks notified`);
|
|
41
|
+
return { notifications: res, message: "Webhooks notified" };
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=notifyWebhookWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyWebhookWorkflow.js","sourceRoot":"","sources":["../../../src/system/notifyWebhookWorkflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,EACF,aAAa,EAChB,GAAG,kBAAkB,CAAoB,uBAAuB,EAAE;IAC/D,mBAAmB,EAAE,UAAU;IAC/B,KAAK,EAAE;QACH,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,CAAC;QACrB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI;QACtC,sBAAsB,EAAE,uBAAuB;KAClD;CACJ,CAAC,CAAC;AAQH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA8D;IAEtG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAK,IAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAK,IAAY,CAAC,YAAY,IAAI,SAAS,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAEhC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE;YAC7B,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,SAAS;gBAChB,IAAI;aACP;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE9B,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAEhE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SupportedEmbeddingTypes } from "@vertesia/common";
|
|
2
|
+
import { dslProxyActivities } from "../dsl/dslProxyActivities.js";
|
|
3
|
+
import { WF_NON_RETRYABLE_ERRORS } from "../errors.js";
|
|
4
|
+
const { generateEmbeddings, } = dslProxyActivities("recalculateEmbeddingsWorkflow", {
|
|
5
|
+
startToCloseTimeout: "5 minute",
|
|
6
|
+
retry: {
|
|
7
|
+
initialInterval: '10s',
|
|
8
|
+
backoffCoefficient: 2,
|
|
9
|
+
maximumAttempts: 10,
|
|
10
|
+
maximumInterval: 100 * 30 * 1000, //ms
|
|
11
|
+
nonRetryableErrorTypes: WF_NON_RETRYABLE_ERRORS,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
export async function recalculateEmbeddingsWorkflow(payload) {
|
|
15
|
+
const embeddings = [];
|
|
16
|
+
const payloadType = payload.vars?.type;
|
|
17
|
+
if (payloadType && !Object.values(SupportedEmbeddingTypes).includes(payloadType)) {
|
|
18
|
+
throw new Error("Embedding type must be text, image, or properties");
|
|
19
|
+
}
|
|
20
|
+
const types = payloadType ? [payloadType] : Object.values(SupportedEmbeddingTypes);
|
|
21
|
+
for (const type of types) {
|
|
22
|
+
embeddings.push(generateEmbeddings(payload, {
|
|
23
|
+
force: true,
|
|
24
|
+
type
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
const res = await Promise.all(embeddings);
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=recalculateEmbeddingsWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recalculateEmbeddingsWorkflow.js","sourceRoot":"","sources":["../../../src/system/recalculateEmbeddingsWorkflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA4B,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,EACF,kBAAkB,GACrB,GAAG,kBAAkB,CAAoB,+BAA+B,EAAE;IACvE,mBAAmB,EAAE,UAAU;IAC/B,KAAK,EAAE;QACH,eAAe,EAAE,KAAK;QACtB,kBAAkB,EAAE,CAAC;QACrB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI;QACtC,sBAAsB,EAAE,uBAAuB;KAClD;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAAiC;IAEjF,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,IAA+B,CAAC;IAElE,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEnF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACxC,KAAK,EAAE,IAAI;YACX,IAAI;SACP,CAAC,CAAC,CAAA;IACP,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1C,OAAO,GAAG,CAAC;AAEf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B,MAAM,UAAU,eAAe,CAAC,KAAa;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAqB,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC7C,OAAO,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import crypto from "crypto";
|
|
2
|
+
import { createWriteStream } from "fs";
|
|
3
|
+
import { Readable } from "stream";
|
|
4
|
+
import { pipeline } from "stream/promises";
|
|
5
|
+
import tmp from "tmp";
|
|
6
|
+
import { DocumentNotFoundError } from "../errors.js";
|
|
7
|
+
tmp.setGracefulCleanup();
|
|
8
|
+
export async function fetchBlobAsStream(client, blobUri) {
|
|
9
|
+
try {
|
|
10
|
+
return await client.files.downloadFile(blobUri);
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
if (err.message.includes("not found")) {
|
|
14
|
+
//TODO improve error handling with a fetch fail error class in the client
|
|
15
|
+
throw new DocumentNotFoundError(`Not found at ${blobUri}: ${err.message}`, []);
|
|
16
|
+
}
|
|
17
|
+
else if (err.message.includes("forbidden")) {
|
|
18
|
+
throw new DocumentNotFoundError(`Forbidden at ${blobUri}: ${err.message}`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw new Error(`Failed to download blob ${blobUri}: ${err.message}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export async function fetchBlobAsBuffer(client, blobUri) {
|
|
26
|
+
let stream = await fetchBlobAsStream(client, blobUri);
|
|
27
|
+
const buffers = [];
|
|
28
|
+
for await (const data of stream) {
|
|
29
|
+
buffers.push(data);
|
|
30
|
+
}
|
|
31
|
+
return Buffer.concat(buffers);
|
|
32
|
+
}
|
|
33
|
+
export async function fetchBlobAsBase64(client, blobUri) {
|
|
34
|
+
const buffer = await fetchBlobAsBuffer(client, blobUri);
|
|
35
|
+
return buffer.toString("base64");
|
|
36
|
+
}
|
|
37
|
+
async function saveBlobToFile(client, blobUri, toFile) {
|
|
38
|
+
const stream = await fetchBlobAsStream(client, blobUri);
|
|
39
|
+
const nodeReadable = Readable.from(stream);
|
|
40
|
+
const out = createWriteStream(toFile);
|
|
41
|
+
await pipeline(nodeReadable, out); // Ensures completion before continuing
|
|
42
|
+
}
|
|
43
|
+
export async function saveBlobToTempFile(client, blobUri, fileExt) {
|
|
44
|
+
const tmpFile = tmp.fileSync({
|
|
45
|
+
prefix: "vertesia-activity-",
|
|
46
|
+
postfix: fileExt ? "." + fileExt : "",
|
|
47
|
+
});
|
|
48
|
+
await saveBlobToFile(client, blobUri, tmpFile.name);
|
|
49
|
+
return tmpFile.name;
|
|
50
|
+
}
|
|
51
|
+
export function md5(contents) {
|
|
52
|
+
return crypto.createHash("md5").update(contents).digest("hex");
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=blobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../../src/utils/blobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const getContentPart = (content, part) => {
|
|
2
|
+
const lines = content.split('\n');
|
|
3
|
+
const text = lines.filter((_l, i) => i >= part.line_number_start && i <= part.line_number_end).join('\n');
|
|
4
|
+
return text;
|
|
5
|
+
};
|
|
6
|
+
export const getContentParts = (content, parts) => {
|
|
7
|
+
return parts.map(part => getContentPart(content, part));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=chunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks.js","sourceRoot":"","sources":["../../../src/utils/chunks.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,IAAa,EAAU,EAAE;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1G,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,KAAgB,EAAY,EAAE;IAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* get a zeno client for a given token
|
|
3
|
+
*/
|
|
4
|
+
import { decodeJWT, VertesiaClient, } from "@vertesia/client";
|
|
5
|
+
import { WorkflowParamNotFoundError } from "../errors.js";
|
|
6
|
+
export function getVertesiaClient(payload) {
|
|
7
|
+
return new VertesiaClient(getVertesiaClientOptions(payload));
|
|
8
|
+
}
|
|
9
|
+
export function getVertesiaClientOptions(payload) {
|
|
10
|
+
if (!payload.auth_token) {
|
|
11
|
+
throw new WorkflowParamNotFoundError("Authentication Token is missing from WorkflowExecutionPayload.authToken");
|
|
12
|
+
}
|
|
13
|
+
if (!payload.config?.studio_url) {
|
|
14
|
+
throw new WorkflowParamNotFoundError("Content Store URL is missing from WorkflowExecutionPayload.servers.storeUrl");
|
|
15
|
+
}
|
|
16
|
+
if (!payload.config?.store_url) {
|
|
17
|
+
throw new WorkflowParamNotFoundError("Content Store URL is missing from WorkflowExecutionPayload.servers.storeUrl");
|
|
18
|
+
}
|
|
19
|
+
const token = decodeJWT(payload.auth_token);
|
|
20
|
+
return {
|
|
21
|
+
serverUrl: payload.config.studio_url,
|
|
22
|
+
storeUrl: payload.config.store_url,
|
|
23
|
+
tokenServerUrl: token.iss,
|
|
24
|
+
apikey: payload.auth_token,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,SAAS,EACT,cAAc,GAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,OAAoC;IAClE,OAAO,IAAI,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,OAAoC;IAEpC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,0BAA0B,CAChC,yEAAyE,CAC5E,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,0BAA0B,CAChC,6EAA6E,CAChF,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAA0B,CAChC,6EAA6E,CAChF,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,OAAO;QACH,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;QACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QAClC,cAAc,EAAE,KAAK,CAAC,GAAG;QACzB,MAAM,EAAE,OAAO,CAAC,UAAU;KAC7B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const VARS_RX = /\${\s*([^}]+)\s*}/g;
|
|
2
|
+
/**
|
|
3
|
+
* Given an expression containing ${name} variables, replace them with the properties from the vars object.
|
|
4
|
+
* Nested property paths are also supported, e.g. ${section.name}
|
|
5
|
+
* @param expr
|
|
6
|
+
* @param vars
|
|
7
|
+
*/
|
|
8
|
+
export function expandVars(expr, vars) {
|
|
9
|
+
return expr.replace(VARS_RX, (_, name) => {
|
|
10
|
+
const path = name.split('.');
|
|
11
|
+
const value = resolveProp(vars, path);
|
|
12
|
+
if (value === undefined) {
|
|
13
|
+
return `${name}`; // return back the expression
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return String(value);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function resolveProp(object, path) {
|
|
21
|
+
let value = object;
|
|
22
|
+
for (const part of path) {
|
|
23
|
+
if (value === undefined) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
value = value[part];
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=expand-vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-vars.js","sourceRoot":"","sources":["../../../src/utils/expand-vars.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAyB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,6BAA6B;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,IAAc;IAC/C,IAAI,KAAK,GAAQ,MAAM,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { NodeStreamSource } from "@vertesia/client/node";
|
|
2
|
+
import { buildMemoryPack as _buildMemoryPack, loadMemoryPack as _loadMemoryPack } from "@vertesia/memory";
|
|
3
|
+
import { createReadStream, createWriteStream } from "fs";
|
|
4
|
+
import { rm } from "fs/promises";
|
|
5
|
+
import { webStreamToReadable } from "node-web-stream-adapters";
|
|
6
|
+
import { pipeline } from "stream/promises";
|
|
7
|
+
import tmp from "tmp";
|
|
8
|
+
import zlib from "zlib";
|
|
9
|
+
tmp.setGracefulCleanup();
|
|
10
|
+
export async function publishMemoryPack(client, file, name) {
|
|
11
|
+
const stream = createReadStream(file);
|
|
12
|
+
try {
|
|
13
|
+
const source = new NodeStreamSource(stream, name);
|
|
14
|
+
await client.files.uploadMemoryPack(source);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
stream.destroy();
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function buildMemoryPack(recipeFn) {
|
|
22
|
+
const tarFile = tmp.fileSync({
|
|
23
|
+
prefix: "composable-memory-pack-",
|
|
24
|
+
postfix: ".tar.gz",
|
|
25
|
+
});
|
|
26
|
+
return await _buildMemoryPack(recipeFn, {
|
|
27
|
+
out: tarFile.name,
|
|
28
|
+
gzip: true,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export async function buildAndPublishMemoryPack(client, name, recipeFn) {
|
|
32
|
+
const tarFile = await buildMemoryPack(recipeFn);
|
|
33
|
+
try {
|
|
34
|
+
await publishMemoryPack(client, tarFile, name);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
await rm(tarFile);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export async function fetchMemoryPack(client, name) {
|
|
41
|
+
const webStream = await client.files.downloadMemoryPack(name);
|
|
42
|
+
const tarFile = tmp.fileSync({
|
|
43
|
+
prefix: "composable-memory-pack-",
|
|
44
|
+
postfix: ".tar",
|
|
45
|
+
discardDescriptor: true,
|
|
46
|
+
});
|
|
47
|
+
const streamIn = webStreamToReadable(webStream);
|
|
48
|
+
const streamOut = createWriteStream(tarFile.name);
|
|
49
|
+
await pipeline(streamIn, zlib.createGunzip(), streamOut);
|
|
50
|
+
return tarFile.name;
|
|
51
|
+
}
|
|
52
|
+
export function loadMemoryPack(client, name) {
|
|
53
|
+
return fetchMemoryPack(client, name).then(file => _loadMemoryPack(file));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/utils/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAwB,eAAe,IAAI,gBAAgB,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChI,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,GAAG,CAAC,kBAAkB,EAAE,CAAC;AAGzB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAsB,EAAE,IAAY,EAAE,IAAY;IACtF,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA8D;IAChG,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,SAAS;KACrB,CAAC,CAAC;IACH,OAAO,MAAM,gBAAgB,CAAC,QAAQ,EAAE;QACpC,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,IAAI,EAAE,IAAI;KACb,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAsB,EAAE,IAAY,EAAE,QAA8D;IAChJ,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAsB,EAAE,IAAY;IACtE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,MAAM;QACf,iBAAiB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB,EAAE,IAAY;IAC/D,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { log } from "@temporalio/activity";
|
|
2
|
+
import { NodeStreamSource } from "@vertesia/client/node";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import pLimit from 'p-limit';
|
|
5
|
+
import { imageResizer } from "../conversion/image.js";
|
|
6
|
+
/**
|
|
7
|
+
* Get the path for all files for a rendition
|
|
8
|
+
* @param objectId
|
|
9
|
+
* @param params
|
|
10
|
+
* @param pageNumber
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
export function getRenditionsPath(contentEtag, params) {
|
|
14
|
+
const path = `renditions/${contentEtag}/${params.max_hw}`;
|
|
15
|
+
return path;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get a specific page path for a rendition
|
|
19
|
+
*/
|
|
20
|
+
export function getRenditionPagePath(contentEtag, params, pageNumber = 0) {
|
|
21
|
+
//if number, pad to 4 char
|
|
22
|
+
if (typeof pageNumber === "number") {
|
|
23
|
+
pageNumber = String(pageNumber).padStart(4, "0");
|
|
24
|
+
}
|
|
25
|
+
const path = getRenditionsPath(contentEtag, params);
|
|
26
|
+
const pagePath = `${path}/${pageNumber}.${params.format}`;
|
|
27
|
+
return pagePath;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Upload Rendition page to the cloud
|
|
31
|
+
*/
|
|
32
|
+
export async function uploadRenditionPages(client, contentEtag, files, params, concurrency) {
|
|
33
|
+
log.info(`Uploading rendition for etag ${contentEtag} with ${files.length} pages (max_hw: ${params.max_hw}, format: ${params.format})`, { files });
|
|
34
|
+
const limit = pLimit(concurrency ?? 20);
|
|
35
|
+
const uploads = files.map((file, i) => limit(async () => {
|
|
36
|
+
const pageId = getRenditionPagePath(contentEtag, params, i);
|
|
37
|
+
let resizedImagePath = null;
|
|
38
|
+
try {
|
|
39
|
+
log.info(`Resizing image for ${contentEtag} page ${i}`, {
|
|
40
|
+
file,
|
|
41
|
+
params,
|
|
42
|
+
});
|
|
43
|
+
// Resize the image using ImageMagick
|
|
44
|
+
resizedImagePath = await imageResizer(file, params.max_hw, params.format);
|
|
45
|
+
// Create a read stream from the resized image file
|
|
46
|
+
const fileStream = fs.createReadStream(resizedImagePath);
|
|
47
|
+
const format = "image/" + params.format;
|
|
48
|
+
const fileId = pageId.split("/").pop() ?? pageId;
|
|
49
|
+
const source = new NodeStreamSource(fileStream, fileId, format, pageId);
|
|
50
|
+
log.info(`Uploading rendition for ${contentEtag} page ${i} with max_hw: ${params.max_hw} and format: ${params.format}`, {
|
|
51
|
+
resizedImagePath,
|
|
52
|
+
fileId,
|
|
53
|
+
format,
|
|
54
|
+
pageId,
|
|
55
|
+
});
|
|
56
|
+
const result = await client.files
|
|
57
|
+
.uploadFile(source)
|
|
58
|
+
.catch((err) => {
|
|
59
|
+
log.error(`Failed to upload rendition for ${contentEtag} page ${i}`, {
|
|
60
|
+
error: err,
|
|
61
|
+
errorMessage: err.message,
|
|
62
|
+
stack: err.stack,
|
|
63
|
+
});
|
|
64
|
+
return Promise.reject(`Upload failed: ${err.message}`);
|
|
65
|
+
});
|
|
66
|
+
log.info(`Rendition uploaded for ${contentEtag} page ${i}`, {
|
|
67
|
+
result,
|
|
68
|
+
});
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
log.error(`Failed to upload rendition for ${contentEtag} page ${i}`, {
|
|
73
|
+
error: err,
|
|
74
|
+
});
|
|
75
|
+
return Promise.reject(`Upload failed: ${err.message}`);
|
|
76
|
+
}
|
|
77
|
+
}));
|
|
78
|
+
return Promise.all(uploads);
|
|
79
|
+
}
|
|
80
|
+
//# 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,46 @@
|
|
|
1
|
+
import { activityInfo, log } from "@temporalio/activity";
|
|
2
|
+
import { ApplicationFailure } from "@temporalio/workflow";
|
|
3
|
+
import { NodeStreamSource } from "@vertesia/client/node";
|
|
4
|
+
import { basename } from "path";
|
|
5
|
+
import mime from "mime";
|
|
6
|
+
import { fetchBlobAsBuffer } from "../utils/blobs.js";
|
|
7
|
+
export const agentStoragePath = (runId) => `agents/${runId}`;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* Save an artifact generated by an agent to cloud storage
|
|
11
|
+
*
|
|
12
|
+
* @param client
|
|
13
|
+
* @param name
|
|
14
|
+
* @param fileContent
|
|
15
|
+
* @param mimeType
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export async function saveAgentArtifact(client, name, fileContent, mimeType = "application/json") {
|
|
19
|
+
const { runId } = activityInfo().workflowExecution;
|
|
20
|
+
const ext = mime.getExtension(mimeType);
|
|
21
|
+
if (!name) {
|
|
22
|
+
throw ApplicationFailure.nonRetryable(`Name is required`);
|
|
23
|
+
}
|
|
24
|
+
//create the file path and append extension if needed
|
|
25
|
+
const filePath = agentStoragePath(runId) + "/" + name + (ext && !name.endsWith(ext) ? "." + ext : "");
|
|
26
|
+
log.info(`Storing agent artifact ${filePath} for run ${runId}`);
|
|
27
|
+
try {
|
|
28
|
+
const source = new NodeStreamSource(fileContent, `${runId}-${basename(filePath)}`, mimeType, filePath);
|
|
29
|
+
return await client.files.uploadFile(source);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
log.error(`Failed to save agent artifact for run ${runId}`, {
|
|
33
|
+
err,
|
|
34
|
+
file: filePath,
|
|
35
|
+
});
|
|
36
|
+
throw ApplicationFailure.nonRetryable(`Failed to save agent artifact for run ${runId}`, "SaveAgentArtifactError", {
|
|
37
|
+
error: err,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function fetchAgentArtifact(client, name) {
|
|
42
|
+
const { runId } = activityInfo().workflowExecution;
|
|
43
|
+
const filePath = agentStoragePath(runId) + "/" + name;
|
|
44
|
+
return fetchBlobAsBuffer(client, filePath);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;AAErE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAsB,EACtB,IAAY,EACZ,WAAqB,EACrB,WAAmB,kBAAkB;IAErC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,kBAAkB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,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;IACtG,GAAG,CAAC,IAAI,CAAC,0BAA0B,QAAQ,YAAY,KAAK,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,QAAQ,CAAC,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,GAAG,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,EAAE;YACxD,GAAG;YACH,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,kBAAkB,CAAC,YAAY,CACjC,yCAAyC,KAAK,EAAE,EAChD,wBAAwB,EACxB;YACI,KAAK,EAAE,GAAG;SACb,CACJ,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAsB,EAAE,IAAY;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACtD,OAAO,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { get_encoding } from "tiktoken";
|
|
2
|
+
export function truncByMaxTokens(content, by) {
|
|
3
|
+
let encoding;
|
|
4
|
+
let maxTokens;
|
|
5
|
+
if (typeof by === 'number') {
|
|
6
|
+
maxTokens = by;
|
|
7
|
+
encoding = "cl100k_base";
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
maxTokens = by.max_tokens;
|
|
11
|
+
encoding = by.encoding || "cl100k_base";
|
|
12
|
+
}
|
|
13
|
+
const enc = get_encoding(encoding);
|
|
14
|
+
let tokens = enc.encode(content);
|
|
15
|
+
if (tokens.length > maxTokens) {
|
|
16
|
+
tokens = tokens.slice(0, maxTokens);
|
|
17
|
+
return new TextDecoder().decode(enc.decode(tokens));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return content;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function countTokens(text, encoding = 'cl100k_base') {
|
|
24
|
+
const encoder = get_encoding(encoding);
|
|
25
|
+
if (!encoder) {
|
|
26
|
+
throw new Error(`Unknown encoding ${encoding}`);
|
|
27
|
+
}
|
|
28
|
+
const tokens = encoder.encode(text);
|
|
29
|
+
return {
|
|
30
|
+
count: tokens.length,
|
|
31
|
+
encoding: encoding,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAE,MAAM,UAAU,CAAC;AAQ1D,MAAM,UAAU,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,YAAY,CAAC,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,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,WAA6B,aAAa;IAEhF,MAAM,OAAO,GAAG,YAAY,CAAC,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/esm/vars.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/vars.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export workflows to be registered on temporal workers
|
|
3
|
+
*/
|
|
4
|
+
export { dslWorkflow } from "./dsl/dsl-workflow.js";
|
|
5
|
+
export { iterativeGenerationWorkflow } from "./iterative-generation/iterativeGenerationWorkflow.js";
|
|
6
|
+
export { notifyWebhookWorkflow } from "./system/notifyWebhookWorkflow.js";
|
|
7
|
+
export { recalculateEmbeddingsWorkflow } from "./system/recalculateEmbeddingsWorkflow.js";
|
|
8
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/workflows.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC"}
|