@vertesia/workflow 1.2.0 → 1.3.0-dev.20260620.091720Z
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/README.md +1 -2
- package/lib/{types/activities → activities}/advanced/createDocumentTypeFromInteractionRun.d.ts +2 -2
- package/lib/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/advanced/createDocumentTypeFromInteractionRun.js +9 -9
- package/lib/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +2 -2
- package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/advanced/createOrUpdateDocumentFromInteractionRun.js +29 -22
- package/lib/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/advanced/updateDocumentFromInteractionRun.d.ts +1 -1
- package/lib/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -0
- package/lib/activities/advanced/updateDocumentFromInteractionRun.js +16 -0
- package/lib/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -0
- package/lib/{types/activities → activities}/chunkDocument.d.ts +3 -3
- package/lib/activities/chunkDocument.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/chunkDocument.js +38 -33
- package/lib/activities/chunkDocument.js.map +1 -0
- package/lib/{types/activities → activities}/createDocumentFromOther.d.ts +1 -1
- package/lib/activities/createDocumentFromOther.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/createDocumentFromOther.js +15 -13
- package/lib/activities/createDocumentFromOther.js.map +1 -0
- package/lib/{types/activities → activities}/executeInteraction.d.ts +19 -10
- package/lib/activities/executeInteraction.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/executeInteraction.js +97 -78
- package/lib/activities/executeInteraction.js.map +1 -0
- package/lib/{types/activities → activities}/executeRemoteActivity.d.ts +4 -4
- package/lib/activities/executeRemoteActivity.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/executeRemoteActivity.js +48 -23
- package/lib/activities/executeRemoteActivity.js.map +1 -0
- package/lib/{types/activities → activities}/extractDocumentText.d.ts +3 -3
- package/lib/activities/extractDocumentText.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/extractDocumentText.js +65 -52
- package/lib/activities/extractDocumentText.js.map +1 -0
- package/lib/{types/activities → activities}/generateDocumentProperties.d.ts +4 -4
- package/lib/activities/generateDocumentProperties.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateDocumentProperties.js +37 -33
- package/lib/activities/generateDocumentProperties.js.map +1 -0
- package/lib/{types/activities → activities}/generateEmbeddings.d.ts +3 -3
- package/lib/activities/generateEmbeddings.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateEmbeddings.js +80 -80
- package/lib/activities/generateEmbeddings.js.map +1 -0
- package/lib/{types/activities → activities}/generateOrAssignContentType.d.ts +4 -4
- package/lib/activities/generateOrAssignContentType.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/generateOrAssignContentType.js +51 -49
- package/lib/activities/generateOrAssignContentType.js.map +1 -0
- package/lib/{types/activities → activities}/getObjectFromStore.d.ts +1 -1
- package/lib/activities/getObjectFromStore.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/getObjectFromStore.js +4 -3
- package/lib/activities/getObjectFromStore.js.map +1 -0
- package/lib/{types/activities → activities}/handleError.d.ts +1 -1
- package/lib/activities/handleError.d.ts.map +1 -0
- package/lib/activities/handleError.js +37 -0
- package/lib/activities/handleError.js.map +1 -0
- package/lib/activities/index-dsl.d.ts +31 -0
- package/lib/activities/index-dsl.d.ts.map +1 -0
- package/lib/activities/index-dsl.js +29 -0
- package/lib/activities/index-dsl.js.map +1 -0
- package/lib/{types/activities → activities}/index.d.ts +1 -1
- package/lib/activities/index.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/index.js +1 -1
- package/lib/activities/index.js.map +1 -0
- package/lib/{types/activities → activities}/loadChildWorkflowSpec.d.ts +1 -1
- package/lib/activities/loadChildWorkflowSpec.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/loadChildWorkflowSpec.js +4 -2
- package/lib/activities/loadChildWorkflowSpec.js.map +1 -0
- package/lib/{types/activities → activities}/media/prepareAudio.d.ts +1 -1
- package/lib/activities/media/prepareAudio.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/prepareAudio.js +27 -23
- package/lib/activities/media/prepareAudio.js.map +1 -0
- package/lib/{types/activities → activities}/media/prepareVideo.d.ts +2 -2
- package/lib/activities/media/prepareVideo.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/prepareVideo.js +72 -54
- package/lib/activities/media/prepareVideo.js.map +1 -0
- package/lib/{types/activities → activities}/media/probeMediaStreams.d.ts +2 -3
- package/lib/activities/media/probeMediaStreams.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/probeMediaStreams.js +7 -5
- package/lib/activities/media/probeMediaStreams.js.map +1 -0
- package/lib/{types/activities → activities}/media/processPdfWithTextract.d.ts +3 -3
- package/lib/activities/media/processPdfWithTextract.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/processPdfWithTextract.js +43 -26
- package/lib/activities/media/processPdfWithTextract.js.map +1 -0
- package/lib/{types/activities → activities}/media/saveGladiaTranscription.d.ts +2 -2
- package/lib/activities/media/saveGladiaTranscription.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/saveGladiaTranscription.js +35 -25
- package/lib/activities/media/saveGladiaTranscription.js.map +1 -0
- package/lib/{types/activities → activities}/media/transcribeMediaWithGladia.d.ts +2 -2
- package/lib/activities/media/transcribeMediaWithGladia.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/media/transcribeMediaWithGladia.js +26 -21
- package/lib/activities/media/transcribeMediaWithGladia.js.map +1 -0
- package/lib/{types/activities → activities}/mergeChildArtifacts.d.ts +1 -1
- package/lib/activities/mergeChildArtifacts.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/mergeChildArtifacts.js +27 -26
- package/lib/activities/mergeChildArtifacts.js.map +1 -0
- package/lib/{types/activities → activities}/notifyWebhook.d.ts +6 -5
- package/lib/activities/notifyWebhook.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/notifyWebhook.js +20 -17
- package/lib/activities/notifyWebhook.js.map +1 -0
- package/lib/{types/activities → activities}/rateLimiter.d.ts +1 -1
- package/lib/activities/rateLimiter.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/rateLimiter.js +4 -3
- package/lib/activities/rateLimiter.js.map +1 -0
- package/lib/{types/activities → activities}/renditions/generateImageRendition.d.ts +3 -3
- package/lib/activities/renditions/generateImageRendition.d.ts.map +1 -0
- package/lib/activities/renditions/generateImageRendition.js +75 -0
- package/lib/activities/renditions/generateImageRendition.js.map +1 -0
- package/lib/{types/activities → activities}/renditions/generateVideoRendition.d.ts +3 -3
- package/lib/activities/renditions/generateVideoRendition.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/renditions/generateVideoRendition.js +51 -54
- package/lib/activities/renditions/generateVideoRendition.js.map +1 -0
- package/lib/{types/activities → activities}/resolveRemoteActivities.d.ts +3 -4
- package/lib/activities/resolveRemoteActivities.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/resolveRemoteActivities.js +16 -15
- package/lib/activities/resolveRemoteActivities.js.map +1 -0
- package/lib/{types/activities → activities}/setDocumentStatus.d.ts +1 -1
- package/lib/activities/setDocumentStatus.d.ts.map +1 -0
- package/lib/{esm/activities → activities}/setDocumentStatus.js +5 -3
- package/lib/activities/setDocumentStatus.js.map +1 -0
- package/lib/{types/bulk-import.d.ts → bulk-import.d.ts} +10 -1
- package/lib/bulk-import.d.ts.map +1 -0
- package/lib/bulk-import.js.map +1 -0
- package/lib/{types/conversion → conversion}/TextractProcessor.d.ts +7 -4
- package/lib/conversion/TextractProcessor.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/TextractProcessor.js +38 -38
- package/lib/conversion/TextractProcessor.js.map +1 -0
- package/lib/conversion/image.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/image.js +35 -35
- package/lib/conversion/image.js.map +1 -0
- package/lib/conversion/markitdown.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/markitdown.js +11 -11
- package/lib/conversion/markitdown.js.map +1 -0
- package/lib/conversion/mutool.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/mutool.js +19 -24
- package/lib/conversion/mutool.js.map +1 -0
- package/lib/conversion/pandoc.d.ts.map +1 -0
- package/lib/{esm/conversion → conversion}/pandoc.js +11 -11
- package/lib/conversion/pandoc.js.map +1 -0
- package/lib/dsl/conditions.d.ts +2 -0
- package/lib/dsl/conditions.d.ts.map +1 -0
- package/lib/dsl/conditions.js +90 -0
- package/lib/dsl/conditions.js.map +1 -0
- package/lib/{types/dsl → dsl}/dsl-workflow.d.ts +2 -2
- package/lib/dsl/dsl-workflow.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/dsl-workflow.js +93 -65
- package/lib/dsl/dsl-workflow.js.map +1 -0
- package/lib/dsl/dslProxyActivities.d.ts +7 -0
- package/lib/dsl/dslProxyActivities.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/dslProxyActivities.js +10 -1
- package/lib/dsl/dslProxyActivities.js.map +1 -0
- package/lib/dsl/projections.d.ts +4 -0
- package/lib/dsl/projections.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/projections.js +22 -8
- package/lib/dsl/projections.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/ActivityContext.d.ts +4 -4
- package/lib/dsl/setup/ActivityContext.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/ActivityContext.js +24 -27
- package/lib/dsl/setup/ActivityContext.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/fetch/DataProvider.d.ts +3 -3
- package/lib/dsl/setup/fetch/DataProvider.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/DataProvider.js +2 -1
- package/lib/dsl/setup/fetch/DataProvider.js.map +1 -0
- package/lib/dsl/setup/fetch/index.d.ts +6 -0
- package/lib/dsl/setup/fetch/index.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/index.js +1 -1
- package/lib/dsl/setup/fetch/index.js.map +1 -0
- package/lib/{types/dsl → dsl}/setup/fetch/providers.d.ts +6 -6
- package/lib/dsl/setup/fetch/providers.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/setup/fetch/providers.js +30 -16
- package/lib/dsl/setup/fetch/providers.js.map +1 -0
- package/lib/dsl/test/test-child-workflow.d.ts +4 -0
- package/lib/dsl/test/test-child-workflow.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/test/test-child-workflow.js +1 -1
- package/lib/dsl/test/test-child-workflow.js.map +1 -0
- package/lib/{types/dsl → dsl}/validation.d.ts +1 -1
- package/lib/dsl/validation.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/validation.js +8 -8
- package/lib/dsl/validation.js.map +1 -0
- package/lib/{types/dsl → dsl}/vars.d.ts +16 -16
- package/lib/dsl/vars.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/vars.js +20 -15
- package/lib/dsl/vars.js.map +1 -0
- package/lib/dsl/walk.d.ts +18 -0
- package/lib/dsl/walk.d.ts.map +1 -0
- package/lib/{esm/dsl → dsl}/walk.js +37 -16
- package/lib/dsl/walk.js.map +1 -0
- package/lib/dsl.d.ts +4 -0
- package/lib/dsl.d.ts.map +1 -0
- package/lib/dsl.js +4 -0
- package/lib/dsl.js.map +1 -0
- package/lib/{types/errors.d.ts → errors.d.ts} +2 -2
- package/lib/errors.d.ts.map +1 -0
- package/lib/{esm/errors.js → errors.js} +22 -17
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +36 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +37 -0
- package/lib/index.js.map +1 -0
- package/lib/result-types.d.ts.map +1 -0
- package/lib/result-types.js.map +1 -0
- package/lib/security/ssrf.d.ts.map +1 -0
- package/lib/security/ssrf.js.map +1 -0
- package/lib/system/notifyWebhookWorkflow.d.ts +8 -0
- package/lib/system/notifyWebhookWorkflow.d.ts.map +1 -0
- package/lib/{esm/system → system}/notifyWebhookWorkflow.js +13 -12
- package/lib/system/notifyWebhookWorkflow.js.map +1 -0
- package/lib/{types/system → system}/recalculateEmbeddingsWorkflow.d.ts +1 -1
- package/lib/system/recalculateEmbeddingsWorkflow.d.ts.map +1 -0
- package/lib/{esm/system → system}/recalculateEmbeddingsWorkflow.js +7 -7
- package/lib/system/recalculateEmbeddingsWorkflow.js.map +1 -0
- package/lib/utils/activity-info.d.ts +12 -0
- package/lib/utils/activity-info.d.ts.map +1 -0
- package/lib/utils/activity-info.js +15 -0
- package/lib/utils/activity-info.js.map +1 -0
- package/lib/{types/utils → utils}/auth.d.ts +1 -1
- package/lib/utils/auth.d.ts.map +1 -0
- package/lib/utils/auth.js.map +1 -0
- package/lib/{types/utils → utils}/blobs.d.ts +1 -1
- package/lib/utils/blobs.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/blobs.js +17 -16
- package/lib/utils/blobs.js.map +1 -0
- package/lib/utils/chunks.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/chunks.js +1 -1
- package/lib/utils/chunks.js.map +1 -0
- package/lib/utils/client.d.ts +8 -0
- package/lib/utils/client.d.ts.map +1 -0
- package/lib/utils/client.js +57 -0
- package/lib/utils/client.js.map +1 -0
- package/lib/{types/utils → utils}/expand-vars.d.ts +1 -1
- package/lib/utils/expand-vars.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/expand-vars.js +4 -1
- package/lib/utils/expand-vars.js.map +1 -0
- package/lib/{types/utils → utils}/renditions.d.ts +2 -2
- package/lib/utils/renditions.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/renditions.js +29 -18
- package/lib/utils/renditions.js.map +1 -0
- package/lib/{types/utils → utils}/storage.d.ts +2 -2
- package/lib/utils/storage.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/storage.js +13 -12
- package/lib/utils/storage.js.map +1 -0
- package/lib/{types/utils → utils}/text-preview-utils.d.ts +2 -2
- package/lib/utils/text-preview-utils.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/text-preview-utils.js +4 -4
- package/lib/utils/text-preview-utils.js.map +1 -0
- package/lib/{types/utils → utils}/tokens.d.ts +1 -1
- package/lib/utils/tokens.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/tokens.js +3 -3
- package/lib/utils/tokens.js.map +1 -0
- package/lib/vars.d.ts +3 -0
- package/lib/vars.d.ts.map +1 -0
- package/lib/vars.js +4 -0
- package/lib/vars.js.map +1 -0
- package/lib/workflows-bundle.js +6201 -3026
- package/lib/workflows.d.ts +7 -0
- package/lib/workflows.d.ts.map +1 -0
- package/lib/workflows.js +7 -0
- package/lib/workflows.js.map +1 -0
- package/package.json +49 -89
- package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +30 -17
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +51 -37
- package/src/activities/advanced/updateDocumentFromInteractionRun.ts +12 -11
- package/src/activities/chunkDocument.ts +87 -77
- package/src/activities/createDocumentFromOther.ts +19 -25
- package/src/activities/executeInteraction.test.ts +81 -8
- package/src/activities/executeInteraction.ts +147 -102
- package/src/activities/executeRemoteActivity.test.ts +61 -67
- package/src/activities/executeRemoteActivity.ts +56 -29
- package/src/activities/extractDocumentText.ts +75 -64
- package/src/activities/generateDocumentProperties.ts +69 -50
- package/src/activities/generateEmbeddings.test.ts +114 -0
- package/src/activities/generateEmbeddings.ts +113 -141
- package/src/activities/generateOrAssignContentType.ts +219 -231
- package/src/activities/getObjectFromStore.ts +11 -10
- package/src/activities/handleError.ts +23 -11
- package/src/activities/index-dsl.ts +30 -30
- package/src/activities/index.ts +1 -1
- package/src/activities/loadChildWorkflowSpec.ts +8 -3
- package/src/activities/media/prepareAudio.ts +47 -56
- package/src/activities/media/prepareVideo.ts +107 -122
- package/src/activities/media/probeMediaStreams.test.ts +11 -13
- package/src/activities/media/probeMediaStreams.ts +13 -15
- package/src/activities/media/processPdfWithTextract.ts +65 -46
- package/src/activities/media/saveGladiaTranscription.test.ts +122 -121
- package/src/activities/media/saveGladiaTranscription.ts +52 -26
- package/src/activities/media/transcribeMediaWithGladia.test.ts +173 -165
- package/src/activities/media/transcribeMediaWithGladia.ts +44 -28
- package/src/activities/mergeChildArtifacts.ts +36 -38
- package/src/activities/notifyWebhook.test.ts +223 -217
- package/src/activities/notifyWebhook.ts +67 -40
- package/src/activities/rateLimiter.ts +31 -30
- package/src/activities/renditions/generateImageRendition.ts +54 -64
- package/src/activities/renditions/generateVideoRendition.ts +87 -141
- package/src/activities/resolveRemoteActivities.test.ts +96 -88
- package/src/activities/resolveRemoteActivities.ts +32 -23
- package/src/activities/setDocumentStatus.ts +11 -7
- package/src/bulk-import.ts +11 -5
- package/src/conversion/TextractProcessor.ts +69 -71
- package/src/conversion/image.test.ts +31 -31
- package/src/conversion/image.ts +41 -38
- package/src/conversion/markitdown.ts +11 -11
- package/src/conversion/mutool.test.ts +77 -62
- package/src/conversion/mutool.ts +27 -49
- package/src/conversion/pandoc.test.ts +5 -6
- package/src/conversion/pandoc.ts +11 -11
- package/src/dsl/conditions.ts +35 -17
- package/src/dsl/dsl-workflow.test.ts +49 -39
- package/src/dsl/dsl-workflow.ts +200 -112
- package/src/dsl/dslProxyActivities.test.ts +23 -0
- package/src/dsl/dslProxyActivities.ts +46 -26
- package/src/dsl/ms.d.ts +34 -3
- package/src/dsl/projections.test.ts +108 -100
- package/src/dsl/projections.ts +46 -26
- package/src/dsl/setup/ActivityContext.test.ts +22 -23
- package/src/dsl/setup/ActivityContext.ts +41 -84
- package/src/dsl/setup/fetch/DataProvider.ts +11 -8
- package/src/dsl/setup/fetch/index.ts +6 -8
- package/src/dsl/setup/fetch/providers.ts +38 -24
- package/src/dsl/test/test-child-workflow.ts +3 -2
- package/src/dsl/validation.test.ts +232 -213
- package/src/dsl/validation.ts +17 -12
- package/src/dsl/vars.test.ts +143 -140
- package/src/dsl/vars.ts +61 -54
- package/src/dsl/walk.test.ts +61 -56
- package/src/dsl/walk.ts +61 -35
- package/src/dsl/workflow-exec-child.test.ts +77 -61
- package/src/dsl/workflow-fetch.test.ts +40 -38
- package/src/dsl/workflow-import.test.ts +27 -27
- package/src/dsl/workflow.test.ts +34 -33
- package/src/dsl.ts +3 -4
- package/src/errors.ts +31 -23
- package/src/index.ts +28 -33
- package/src/result-types.ts +6 -9
- package/src/system/notifyWebhookWorkflow.ts +23 -23
- package/src/system/recalculateEmbeddingsWorkflow.ts +14 -17
- package/src/utils/activity-info.ts +15 -0
- package/src/utils/auth.ts +1 -1
- package/src/utils/blobs.ts +19 -18
- package/src/utils/chunks.ts +7 -8
- package/src/utils/client.ts +45 -17
- package/src/utils/expand-vars.ts +9 -6
- package/src/utils/renditions.ts +68 -72
- package/src/utils/storage.ts +18 -22
- package/src/utils/text-preview-utils.ts +9 -19
- package/src/utils/tokens.ts +9 -11
- package/src/vars.ts +2 -2
- package/src/workflows.ts +3 -4
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +0 -33
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +0 -73
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +0 -19
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/cjs/activities/chunkDocument.js +0 -111
- package/lib/cjs/activities/chunkDocument.js.map +0 -1
- package/lib/cjs/activities/createDocumentFromOther.js +0 -64
- package/lib/cjs/activities/createDocumentFromOther.js.map +0 -1
- package/lib/cjs/activities/executeInteraction.js +0 -241
- package/lib/cjs/activities/executeInteraction.js.map +0 -1
- package/lib/cjs/activities/executeRemoteActivity.js +0 -126
- package/lib/cjs/activities/executeRemoteActivity.js.map +0 -1
- package/lib/cjs/activities/extractDocumentText.js +0 -196
- package/lib/cjs/activities/extractDocumentText.js.map +0 -1
- package/lib/cjs/activities/generateDocumentProperties.js +0 -109
- package/lib/cjs/activities/generateDocumentProperties.js.map +0 -1
- package/lib/cjs/activities/generateEmbeddings.js +0 -269
- package/lib/cjs/activities/generateEmbeddings.js.map +0 -1
- package/lib/cjs/activities/generateOrAssignContentType.js +0 -173
- package/lib/cjs/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/cjs/activities/getObjectFromStore.js +0 -31
- package/lib/cjs/activities/getObjectFromStore.js.map +0 -1
- package/lib/cjs/activities/handleError.js +0 -29
- package/lib/cjs/activities/handleError.js.map +0 -1
- package/lib/cjs/activities/index-dsl.js +0 -59
- package/lib/cjs/activities/index-dsl.js.map +0 -1
- package/lib/cjs/activities/index.js +0 -21
- package/lib/cjs/activities/index.js.map +0 -1
- package/lib/cjs/activities/loadChildWorkflowSpec.js +0 -15
- package/lib/cjs/activities/loadChildWorkflowSpec.js.map +0 -1
- package/lib/cjs/activities/media/prepareAudio.js +0 -240
- package/lib/cjs/activities/media/prepareAudio.js.map +0 -1
- package/lib/cjs/activities/media/prepareVideo.js +0 -432
- package/lib/cjs/activities/media/prepareVideo.js.map +0 -1
- package/lib/cjs/activities/media/probeMediaStreams.js +0 -49
- package/lib/cjs/activities/media/probeMediaStreams.js.map +0 -1
- package/lib/cjs/activities/media/processPdfWithTextract.js +0 -103
- package/lib/cjs/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/cjs/activities/media/saveGladiaTranscription.js +0 -103
- package/lib/cjs/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +0 -107
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/cjs/activities/mergeChildArtifacts.js +0 -150
- package/lib/cjs/activities/mergeChildArtifacts.js.map +0 -1
- package/lib/cjs/activities/notifyWebhook.js +0 -167
- package/lib/cjs/activities/notifyWebhook.js.map +0 -1
- package/lib/cjs/activities/rateLimiter.js +0 -30
- package/lib/cjs/activities/rateLimiter.js.map +0 -1
- package/lib/cjs/activities/renditions/generateImageRendition.js +0 -66
- package/lib/cjs/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/cjs/activities/renditions/generateVideoRendition.js +0 -200
- package/lib/cjs/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/cjs/activities/resolveRemoteActivities.js +0 -133
- package/lib/cjs/activities/resolveRemoteActivities.js.map +0 -1
- package/lib/cjs/activities/setDocumentStatus.js +0 -26
- package/lib/cjs/activities/setDocumentStatus.js.map +0 -1
- package/lib/cjs/bulk-import.js +0 -12
- package/lib/cjs/bulk-import.js.map +0 -1
- package/lib/cjs/conversion/TextractProcessor.js +0 -417
- package/lib/cjs/conversion/TextractProcessor.js.map +0 -1
- package/lib/cjs/conversion/image.js +0 -149
- package/lib/cjs/conversion/image.js.map +0 -1
- package/lib/cjs/conversion/markitdown.js +0 -42
- package/lib/cjs/conversion/markitdown.js.map +0 -1
- package/lib/cjs/conversion/mutool.js +0 -147
- package/lib/cjs/conversion/mutool.js.map +0 -1
- package/lib/cjs/conversion/pandoc.js +0 -39
- package/lib/cjs/conversion/pandoc.js.map +0 -1
- package/lib/cjs/dsl/conditions.js +0 -81
- package/lib/cjs/dsl/conditions.js.map +0 -1
- package/lib/cjs/dsl/dsl-workflow.js +0 -458
- package/lib/cjs/dsl/dsl-workflow.js.map +0 -1
- package/lib/cjs/dsl/dslProxyActivities.js +0 -23
- package/lib/cjs/dsl/dslProxyActivities.js.map +0 -1
- package/lib/cjs/dsl/projections.js +0 -59
- package/lib/cjs/dsl/projections.js.map +0 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +0 -188
- package/lib/cjs/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/DataProvider.js +0 -51
- package/lib/cjs/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/index.js +0 -16
- package/lib/cjs/dsl/setup/fetch/index.js.map +0 -1
- package/lib/cjs/dsl/setup/fetch/providers.js +0 -67
- package/lib/cjs/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/cjs/dsl/test/test-child-workflow.js +0 -10
- package/lib/cjs/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/cjs/dsl/validation.js +0 -122
- package/lib/cjs/dsl/validation.js.map +0 -1
- package/lib/cjs/dsl/vars.js +0 -341
- package/lib/cjs/dsl/vars.js.map +0 -1
- package/lib/cjs/dsl/walk.js +0 -100
- package/lib/cjs/dsl/walk.js.map +0 -1
- package/lib/cjs/dsl.js +0 -20
- package/lib/cjs/dsl.js.map +0 -1
- package/lib/cjs/errors.js +0 -89
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/index.js +0 -57
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/extractToc.js +0 -47
- package/lib/cjs/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js +0 -72
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +0 -78
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +0 -86
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/cjs/iterative-generation/activities/index.js +0 -12
- package/lib/cjs/iterative-generation/activities/index.js.map +0 -1
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js +0 -56
- package/lib/cjs/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/cjs/iterative-generation/types.js +0 -5
- package/lib/cjs/iterative-generation/types.js.map +0 -1
- package/lib/cjs/iterative-generation/utils.js +0 -121
- package/lib/cjs/iterative-generation/utils.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/result-types.js +0 -10
- package/lib/cjs/result-types.js.map +0 -1
- package/lib/cjs/security/ssrf.js +0 -34
- package/lib/cjs/security/ssrf.js.map +0 -1
- package/lib/cjs/system/notifyWebhookWorkflow.js +0 -53
- package/lib/cjs/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js +0 -33
- package/lib/cjs/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/cjs/utils/auth.js +0 -15
- package/lib/cjs/utils/auth.js.map +0 -1
- package/lib/cjs/utils/blobs.js +0 -64
- package/lib/cjs/utils/blobs.js.map +0 -1
- package/lib/cjs/utils/chunks.js +0 -14
- package/lib/cjs/utils/chunks.js.map +0 -1
- package/lib/cjs/utils/client.js +0 -31
- package/lib/cjs/utils/client.js.map +0 -1
- package/lib/cjs/utils/expand-vars.js +0 -33
- package/lib/cjs/utils/expand-vars.js.map +0 -1
- package/lib/cjs/utils/memory.js +0 -65
- package/lib/cjs/utils/memory.js.map +0 -1
- package/lib/cjs/utils/renditions.js +0 -92
- package/lib/cjs/utils/renditions.js.map +0 -1
- package/lib/cjs/utils/storage.js +0 -54
- package/lib/cjs/utils/storage.js.map +0 -1
- package/lib/cjs/utils/text-preview-utils.js +0 -43
- package/lib/cjs/utils/text-preview-utils.js.map +0 -1
- package/lib/cjs/utils/tokens.js +0 -38
- package/lib/cjs/utils/tokens.js.map +0 -1
- package/lib/cjs/vars.js +0 -20
- package/lib/cjs/vars.js.map +0 -1
- package/lib/cjs/workflows.js +0 -15
- package/lib/cjs/workflows.js.map +0 -1
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +0 -16
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +0 -1
- package/lib/esm/activities/chunkDocument.js.map +0 -1
- package/lib/esm/activities/createDocumentFromOther.js.map +0 -1
- package/lib/esm/activities/executeInteraction.js.map +0 -1
- package/lib/esm/activities/executeRemoteActivity.js.map +0 -1
- package/lib/esm/activities/extractDocumentText.js.map +0 -1
- package/lib/esm/activities/generateDocumentProperties.js.map +0 -1
- package/lib/esm/activities/generateEmbeddings.js.map +0 -1
- package/lib/esm/activities/generateOrAssignContentType.js.map +0 -1
- package/lib/esm/activities/getObjectFromStore.js.map +0 -1
- package/lib/esm/activities/handleError.js +0 -26
- package/lib/esm/activities/handleError.js.map +0 -1
- package/lib/esm/activities/index-dsl.js +0 -29
- package/lib/esm/activities/index-dsl.js.map +0 -1
- package/lib/esm/activities/index.js.map +0 -1
- package/lib/esm/activities/loadChildWorkflowSpec.js.map +0 -1
- package/lib/esm/activities/media/prepareAudio.js.map +0 -1
- package/lib/esm/activities/media/prepareVideo.js.map +0 -1
- package/lib/esm/activities/media/probeMediaStreams.js.map +0 -1
- package/lib/esm/activities/media/processPdfWithTextract.js.map +0 -1
- package/lib/esm/activities/media/saveGladiaTranscription.js.map +0 -1
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +0 -1
- package/lib/esm/activities/mergeChildArtifacts.js.map +0 -1
- package/lib/esm/activities/notifyWebhook.js.map +0 -1
- package/lib/esm/activities/rateLimiter.js.map +0 -1
- package/lib/esm/activities/renditions/generateImageRendition.js +0 -63
- package/lib/esm/activities/renditions/generateImageRendition.js.map +0 -1
- package/lib/esm/activities/renditions/generateVideoRendition.js.map +0 -1
- package/lib/esm/activities/resolveRemoteActivities.js.map +0 -1
- package/lib/esm/activities/setDocumentStatus.js.map +0 -1
- package/lib/esm/bulk-import.js.map +0 -1
- package/lib/esm/conversion/TextractProcessor.js.map +0 -1
- package/lib/esm/conversion/image.js.map +0 -1
- package/lib/esm/conversion/markitdown.js.map +0 -1
- package/lib/esm/conversion/mutool.js.map +0 -1
- package/lib/esm/conversion/pandoc.js.map +0 -1
- package/lib/esm/dsl/conditions.js +0 -75
- package/lib/esm/dsl/conditions.js.map +0 -1
- package/lib/esm/dsl/dsl-workflow.js.map +0 -1
- package/lib/esm/dsl/dslProxyActivities.js.map +0 -1
- package/lib/esm/dsl/projections.js.map +0 -1
- package/lib/esm/dsl/setup/ActivityContext.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/DataProvider.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/index.js.map +0 -1
- package/lib/esm/dsl/setup/fetch/providers.js.map +0 -1
- package/lib/esm/dsl/test/test-child-workflow.js.map +0 -1
- package/lib/esm/dsl/validation.js.map +0 -1
- package/lib/esm/dsl/vars.js.map +0 -1
- package/lib/esm/dsl/walk.js.map +0 -1
- package/lib/esm/dsl.js +0 -4
- package/lib/esm/dsl.js.map +0 -1
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/index.js +0 -39
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/iterative-generation/activities/extractToc.js +0 -44
- package/lib/esm/iterative-generation/activities/extractToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/finalizeOutput.js +0 -69
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +0 -75
- package/lib/esm/iterative-generation/activities/generatePart.js.map +0 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +0 -83
- package/lib/esm/iterative-generation/activities/generateToc.js.map +0 -1
- package/lib/esm/iterative-generation/activities/index.js +0 -5
- package/lib/esm/iterative-generation/activities/index.js.map +0 -1
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js +0 -53
- package/lib/esm/iterative-generation/iterativeGenerationWorkflow.js.map +0 -1
- package/lib/esm/iterative-generation/types.js +0 -2
- package/lib/esm/iterative-generation/types.js.map +0 -1
- package/lib/esm/iterative-generation/utils.js +0 -112
- package/lib/esm/iterative-generation/utils.js.map +0 -1
- package/lib/esm/result-types.js.map +0 -1
- package/lib/esm/security/ssrf.js.map +0 -1
- package/lib/esm/system/notifyWebhookWorkflow.js.map +0 -1
- package/lib/esm/system/recalculateEmbeddingsWorkflow.js.map +0 -1
- package/lib/esm/utils/auth.js.map +0 -1
- package/lib/esm/utils/blobs.js.map +0 -1
- package/lib/esm/utils/chunks.js.map +0 -1
- package/lib/esm/utils/client.js +0 -27
- package/lib/esm/utils/client.js.map +0 -1
- package/lib/esm/utils/expand-vars.js.map +0 -1
- package/lib/esm/utils/memory.js +0 -55
- package/lib/esm/utils/memory.js.map +0 -1
- package/lib/esm/utils/renditions.js.map +0 -1
- package/lib/esm/utils/storage.js.map +0 -1
- package/lib/esm/utils/text-preview-utils.js.map +0 -1
- package/lib/esm/utils/tokens.js.map +0 -1
- package/lib/esm/vars.js +0 -4
- package/lib/esm/vars.js.map +0 -1
- package/lib/esm/workflows.js +0 -8
- package/lib/esm/workflows.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +0 -1
- package/lib/types/activities/chunkDocument.d.ts.map +0 -1
- package/lib/types/activities/createDocumentFromOther.d.ts.map +0 -1
- package/lib/types/activities/executeInteraction.d.ts.map +0 -1
- package/lib/types/activities/executeRemoteActivity.d.ts.map +0 -1
- package/lib/types/activities/extractDocumentText.d.ts.map +0 -1
- package/lib/types/activities/generateDocumentProperties.d.ts.map +0 -1
- package/lib/types/activities/generateEmbeddings.d.ts.map +0 -1
- package/lib/types/activities/generateOrAssignContentType.d.ts.map +0 -1
- package/lib/types/activities/getObjectFromStore.d.ts.map +0 -1
- package/lib/types/activities/handleError.d.ts.map +0 -1
- package/lib/types/activities/index-dsl.d.ts +0 -31
- package/lib/types/activities/index-dsl.d.ts.map +0 -1
- package/lib/types/activities/index.d.ts.map +0 -1
- package/lib/types/activities/loadChildWorkflowSpec.d.ts.map +0 -1
- package/lib/types/activities/media/prepareAudio.d.ts.map +0 -1
- package/lib/types/activities/media/prepareVideo.d.ts.map +0 -1
- package/lib/types/activities/media/probeMediaStreams.d.ts.map +0 -1
- package/lib/types/activities/media/processPdfWithTextract.d.ts.map +0 -1
- package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +0 -1
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +0 -1
- package/lib/types/activities/mergeChildArtifacts.d.ts.map +0 -1
- package/lib/types/activities/notifyWebhook.d.ts.map +0 -1
- package/lib/types/activities/rateLimiter.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateImageRendition.d.ts.map +0 -1
- package/lib/types/activities/renditions/generateVideoRendition.d.ts.map +0 -1
- package/lib/types/activities/resolveRemoteActivities.d.ts.map +0 -1
- package/lib/types/activities/setDocumentStatus.d.ts.map +0 -1
- package/lib/types/bulk-import.d.ts.map +0 -1
- package/lib/types/conversion/TextractProcessor.d.ts.map +0 -1
- package/lib/types/conversion/image.d.ts.map +0 -1
- package/lib/types/conversion/markitdown.d.ts.map +0 -1
- package/lib/types/conversion/mutool.d.ts.map +0 -1
- package/lib/types/conversion/pandoc.d.ts.map +0 -1
- package/lib/types/dsl/conditions.d.ts +0 -2
- package/lib/types/dsl/conditions.d.ts.map +0 -1
- package/lib/types/dsl/dsl-workflow.d.ts.map +0 -1
- package/lib/types/dsl/dslProxyActivities.d.ts +0 -10
- package/lib/types/dsl/dslProxyActivities.d.ts.map +0 -1
- package/lib/types/dsl/projections.d.ts +0 -4
- package/lib/types/dsl/projections.d.ts.map +0 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/DataProvider.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/index.d.ts +0 -6
- package/lib/types/dsl/setup/fetch/index.d.ts.map +0 -1
- package/lib/types/dsl/setup/fetch/providers.d.ts.map +0 -1
- package/lib/types/dsl/test/test-child-workflow.d.ts +0 -4
- package/lib/types/dsl/test/test-child-workflow.d.ts.map +0 -1
- package/lib/types/dsl/validation.d.ts.map +0 -1
- package/lib/types/dsl/vars.d.ts.map +0 -1
- package/lib/types/dsl/walk.d.ts +0 -18
- package/lib/types/dsl/walk.d.ts.map +0 -1
- package/lib/types/dsl.d.ts +0 -4
- package/lib/types/dsl.d.ts.map +0 -1
- package/lib/types/errors.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -38
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/extractToc.d.ts +0 -10
- package/lib/types/iterative-generation/activities/extractToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts +0 -3
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generatePart.d.ts +0 -3
- package/lib/types/iterative-generation/activities/generatePart.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/generateToc.d.ts +0 -4
- package/lib/types/iterative-generation/activities/generateToc.d.ts.map +0 -1
- package/lib/types/iterative-generation/activities/index.d.ts +0 -5
- package/lib/types/iterative-generation/activities/index.d.ts.map +0 -1
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts +0 -3
- package/lib/types/iterative-generation/iterativeGenerationWorkflow.d.ts.map +0 -1
- package/lib/types/iterative-generation/types.d.ts +0 -79
- package/lib/types/iterative-generation/types.d.ts.map +0 -1
- package/lib/types/iterative-generation/utils.d.ts +0 -26
- package/lib/types/iterative-generation/utils.d.ts.map +0 -1
- package/lib/types/result-types.d.ts.map +0 -1
- package/lib/types/security/ssrf.d.ts.map +0 -1
- package/lib/types/system/notifyWebhookWorkflow.d.ts +0 -8
- package/lib/types/system/notifyWebhookWorkflow.d.ts.map +0 -1
- package/lib/types/system/recalculateEmbeddingsWorkflow.d.ts.map +0 -1
- package/lib/types/utils/auth.d.ts.map +0 -1
- package/lib/types/utils/blobs.d.ts.map +0 -1
- package/lib/types/utils/chunks.d.ts.map +0 -1
- package/lib/types/utils/client.d.ts +0 -8
- package/lib/types/utils/client.d.ts.map +0 -1
- package/lib/types/utils/expand-vars.d.ts.map +0 -1
- package/lib/types/utils/memory.d.ts +0 -8
- package/lib/types/utils/memory.d.ts.map +0 -1
- package/lib/types/utils/renditions.d.ts.map +0 -1
- package/lib/types/utils/storage.d.ts.map +0 -1
- package/lib/types/utils/text-preview-utils.d.ts.map +0 -1
- package/lib/types/utils/tokens.d.ts.map +0 -1
- package/lib/types/vars.d.ts +0 -3
- package/lib/types/vars.d.ts.map +0 -1
- package/lib/types/workflows.d.ts +0 -8
- package/lib/types/workflows.d.ts.map +0 -1
- package/src/iterative-generation/activities/extractToc.ts +0 -63
- package/src/iterative-generation/activities/finalizeOutput.ts +0 -100
- package/src/iterative-generation/activities/generatePart.ts +0 -123
- package/src/iterative-generation/activities/generateToc.ts +0 -116
- package/src/iterative-generation/activities/index.ts +0 -4
- package/src/iterative-generation/iterativeGenerationWorkflow.ts +0 -68
- package/src/iterative-generation/types.ts +0 -99
- package/src/iterative-generation/utils.ts +0 -126
- package/src/utils/memory.ts +0 -61
- /package/lib/{esm/bulk-import.js → bulk-import.js} +0 -0
- /package/lib/{types/conversion → conversion}/image.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/markitdown.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/mutool.d.ts +0 -0
- /package/lib/{types/conversion → conversion}/pandoc.d.ts +0 -0
- /package/lib/{types/result-types.d.ts → result-types.d.ts} +0 -0
- /package/lib/{esm/result-types.js → result-types.js} +0 -0
- /package/lib/{types/security → security}/ssrf.d.ts +0 -0
- /package/lib/{esm/security → security}/ssrf.js +0 -0
- /package/lib/{esm/utils → utils}/auth.js +0 -0
- /package/lib/{types/utils → utils}/chunks.d.ts +0 -0
|
@@ -1,69 +1,82 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { activityInfo, ApplicationFailure, log } from "@temporalio/activity";
|
|
3
|
-
import { VertesiaClient } from "@vertesia/client";
|
|
4
|
-
import { NodeStreamSource } from "@vertesia/client/node";
|
|
1
|
+
import { Readable } from 'node:stream';
|
|
5
2
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
type CompletionResult,
|
|
4
|
+
type HttpTimeoutOptions,
|
|
5
|
+
type JSONSchema,
|
|
6
|
+
LlumiverseError,
|
|
7
|
+
type ModelOptions,
|
|
8
|
+
} from '@llumiverse/common';
|
|
9
|
+
import { ApplicationFailure, activityInfo, log } from '@temporalio/activity';
|
|
10
|
+
import type { VertesiaClient } from '@vertesia/client';
|
|
11
|
+
import { NodeStreamSource } from '@vertesia/client/node';
|
|
12
|
+
import {
|
|
13
|
+
type DSLActivityExecutionPayload,
|
|
14
|
+
type DSLActivitySpec,
|
|
15
|
+
type ExecutionRun,
|
|
9
16
|
ExecutionRunStatus,
|
|
10
|
-
ExecutionRunWorkflow,
|
|
11
|
-
InteractionExecutionConfiguration,
|
|
12
|
-
RunSearchPayload,
|
|
13
|
-
} from
|
|
14
|
-
import { projectResult } from
|
|
15
|
-
import { setupActivity } from
|
|
16
|
-
import { ActivityParamInvalidError, ActivityParamNotFoundError, ResourceExhaustedError } from
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
type ExecutionRunWorkflow,
|
|
18
|
+
type InteractionExecutionConfiguration,
|
|
19
|
+
type RunSearchPayload,
|
|
20
|
+
} from '@vertesia/common';
|
|
21
|
+
import { projectResult } from '../dsl/projections.js';
|
|
22
|
+
import { setupActivity } from '../dsl/setup/ActivityContext.js';
|
|
23
|
+
import { ActivityParamInvalidError, ActivityParamNotFoundError, ResourceExhaustedError } from '../errors.js';
|
|
24
|
+
import { activityWorkflowExecution } from '../utils/activity-info.js';
|
|
25
|
+
import { type TruncateSpec, truncByMaxTokens } from '../utils/tokens.js';
|
|
19
26
|
|
|
20
27
|
//Example:
|
|
21
|
-
//@ts-
|
|
22
|
-
const
|
|
23
|
-
name:
|
|
24
|
-
import: [
|
|
28
|
+
//@ts-expect-error
|
|
29
|
+
const _JSON: DSLActivitySpec = {
|
|
30
|
+
name: 'executeInteraction',
|
|
31
|
+
import: ['defaultModel', 'guidlineId', 'docTypeId'],
|
|
25
32
|
params: {
|
|
26
|
-
defaultModel:
|
|
27
|
-
interactionName:
|
|
33
|
+
defaultModel: '${model}',
|
|
34
|
+
interactionName: 'GenerateSummary',
|
|
28
35
|
model: "${defaultModel ?? 'gpt4'}",
|
|
29
|
-
environment:
|
|
36
|
+
environment: '13456',
|
|
30
37
|
max_tokens: 100,
|
|
31
38
|
temperature: 0.5,
|
|
32
|
-
tags: [
|
|
33
|
-
result_schema:
|
|
39
|
+
tags: ['test'],
|
|
40
|
+
result_schema: '${docType.object_schema}',
|
|
34
41
|
prompt_data: {
|
|
35
|
-
documents:
|
|
36
|
-
guidline:
|
|
42
|
+
documents: '${documents}',
|
|
43
|
+
guidline: '${guidline.text}',
|
|
37
44
|
},
|
|
38
45
|
},
|
|
39
46
|
fetch: {
|
|
40
47
|
documents: {
|
|
41
|
-
type:
|
|
48
|
+
type: 'document',
|
|
42
49
|
query: {
|
|
43
|
-
id: { $in:
|
|
50
|
+
id: { $in: '${objectIds}' },
|
|
44
51
|
},
|
|
45
|
-
select:
|
|
52
|
+
select: '+text',
|
|
46
53
|
},
|
|
47
54
|
guidline: {
|
|
48
|
-
type:
|
|
55
|
+
type: 'document',
|
|
49
56
|
limit: 1,
|
|
50
57
|
query: {
|
|
51
|
-
id:
|
|
58
|
+
id: '${guidlineId}',
|
|
52
59
|
},
|
|
53
|
-
select:
|
|
54
|
-
on_not_found:
|
|
60
|
+
select: '+text',
|
|
61
|
+
on_not_found: 'throw',
|
|
55
62
|
},
|
|
56
63
|
docType: {
|
|
57
|
-
type:
|
|
64
|
+
type: 'document_type',
|
|
58
65
|
limit: 1,
|
|
59
66
|
query: {
|
|
60
|
-
id:
|
|
67
|
+
id: '${docTypeId}',
|
|
61
68
|
},
|
|
62
|
-
select:
|
|
69
|
+
select: '+object_schema',
|
|
63
70
|
},
|
|
64
71
|
},
|
|
65
72
|
};
|
|
66
73
|
export interface InteractionExecutionParams {
|
|
74
|
+
/**
|
|
75
|
+
* Execution configuration shared across workflow-driven interaction calls.
|
|
76
|
+
* Activity-level fields below override this object for backward compatibility.
|
|
77
|
+
*/
|
|
78
|
+
config?: InteractionExecutionConfiguration;
|
|
79
|
+
|
|
67
80
|
/**
|
|
68
81
|
* The environment to use. If not specified the project default environment will be used.
|
|
69
82
|
* If the latter is not specified an exception will be thrown.
|
|
@@ -79,7 +92,7 @@ export interface InteractionExecutionParams {
|
|
|
79
92
|
/**
|
|
80
93
|
* Request a JSON schema for the result
|
|
81
94
|
*/
|
|
82
|
-
result_schema?:
|
|
95
|
+
result_schema?: JSONSchema | null;
|
|
83
96
|
|
|
84
97
|
/** Wether to validate the result against the schema */
|
|
85
98
|
validate_result?: boolean;
|
|
@@ -99,6 +112,11 @@ export interface InteractionExecutionParams {
|
|
|
99
112
|
*/
|
|
100
113
|
model_options?: ModelOptions;
|
|
101
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Per-run HTTP timeouts for upstream LLM-provider calls.
|
|
117
|
+
*/
|
|
118
|
+
http_timeout?: HttpTimeoutOptions;
|
|
119
|
+
|
|
102
120
|
/**
|
|
103
121
|
* activity won't be retried if it fails due to resource exhaustion (429)
|
|
104
122
|
*/
|
|
@@ -113,18 +131,18 @@ export interface InteractionExecutionParams {
|
|
|
113
131
|
export interface ExecuteInteractionParams extends InteractionExecutionParams {
|
|
114
132
|
//TODO rename to interaction as in InteractionAsyncExecutionPayload
|
|
115
133
|
interactionName: string;
|
|
116
|
-
prompt_data: Record<string,
|
|
134
|
+
prompt_data: Record<string, unknown>;
|
|
117
135
|
/**
|
|
118
136
|
* Additional prompt data passed by the workflow configuration. This will be merged with prompt_data if any.
|
|
119
137
|
* You should use `import: ["static_prompt_data"]` to import the workflow prompt data as static_prompt_data param.
|
|
120
138
|
* Otherwise the workflow prompt data will be ignored.
|
|
121
139
|
*/
|
|
122
|
-
static_prompt_data?: Record<string,
|
|
140
|
+
static_prompt_data?: Record<string, unknown>;
|
|
123
141
|
truncate?: Record<string, TruncateSpec>;
|
|
124
142
|
}
|
|
125
143
|
|
|
126
144
|
export interface ExecuteInteraction extends DSLActivitySpec<ExecuteInteractionParams> {
|
|
127
|
-
name:
|
|
145
|
+
name: 'executeInteraction';
|
|
128
146
|
}
|
|
129
147
|
|
|
130
148
|
export async function executeInteraction(payload: DSLActivityExecutionPayload<ExecuteInteractionParams>) {
|
|
@@ -136,14 +154,17 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
|
|
|
136
154
|
}
|
|
137
155
|
|
|
138
156
|
if (!interactionName) {
|
|
139
|
-
log.error(
|
|
140
|
-
throw new ActivityParamNotFoundError(
|
|
157
|
+
log.error('Missing interactionName', { params });
|
|
158
|
+
throw new ActivityParamNotFoundError('interactionName', payload.activity);
|
|
141
159
|
}
|
|
142
160
|
|
|
143
161
|
if (params.truncate) {
|
|
144
162
|
const truncate = params.truncate;
|
|
145
163
|
for (const [key, value] of Object.entries(truncate)) {
|
|
146
|
-
|
|
164
|
+
const promptValue = prompt_data[key];
|
|
165
|
+
if (typeof promptValue === 'string') {
|
|
166
|
+
prompt_data[key] = truncByMaxTokens(promptValue, value);
|
|
167
|
+
}
|
|
147
168
|
}
|
|
148
169
|
}
|
|
149
170
|
|
|
@@ -159,35 +180,31 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
|
|
|
159
180
|
let completionResult: CompletionResult[] = res.result;
|
|
160
181
|
|
|
161
182
|
// Handle image uploads if the result contains base64 images
|
|
162
|
-
const imageResults = completionResult.filter(r => r.type ===
|
|
183
|
+
const imageResults = completionResult.filter((r) => r.type === 'image');
|
|
163
184
|
if (imageResults.length > 0) {
|
|
164
185
|
const uploadedImages = await Promise.all(
|
|
165
186
|
completionResult.map(async (item, index) => {
|
|
166
|
-
if (item.type ===
|
|
187
|
+
if (item.type === 'image') {
|
|
167
188
|
const image = item.value;
|
|
168
189
|
// Extract base64 data and create buffer
|
|
169
|
-
const base64Data = image.replace(/^data:image\/[a-z]+;base64,/,
|
|
190
|
+
const base64Data = image.replace(/^data:image\/[a-z]+;base64,/, '');
|
|
170
191
|
const buffer = Buffer.from(base64Data, 'base64');
|
|
171
192
|
|
|
172
193
|
// Generate filename
|
|
173
|
-
const { runId } =
|
|
194
|
+
const { runId } = activityWorkflowExecution();
|
|
174
195
|
const { activityId } = activityInfo();
|
|
175
196
|
const filename = `generated-image-${runId}-${activityId}-${index}.png`;
|
|
176
197
|
|
|
177
198
|
// Create a readable stream from the buffer
|
|
178
199
|
const stream = Readable.from(buffer);
|
|
179
200
|
|
|
180
|
-
const source = new NodeStreamSource(
|
|
181
|
-
stream,
|
|
182
|
-
filename,
|
|
183
|
-
"image/png",
|
|
184
|
-
);
|
|
201
|
+
const source = new NodeStreamSource(stream, filename, 'image/png');
|
|
185
202
|
|
|
186
203
|
const file = await client.files.uploadFile(source);
|
|
187
|
-
return { type:
|
|
204
|
+
return { type: 'image', value: file } as CompletionResult;
|
|
188
205
|
}
|
|
189
206
|
return item;
|
|
190
|
-
})
|
|
207
|
+
}),
|
|
191
208
|
);
|
|
192
209
|
completionResult = uploadedImages;
|
|
193
210
|
}
|
|
@@ -197,52 +214,60 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
|
|
|
197
214
|
status: res.status,
|
|
198
215
|
result: completionResult,
|
|
199
216
|
});
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
log.error(`Failed to execute interaction ${interactionName}`, { error });
|
|
203
|
-
if (
|
|
204
|
-
throw new ResourceExhaustedError(
|
|
205
|
-
} else if (
|
|
206
|
-
// 4xx HTTP errors (except retryable statuses) are permanent client errors
|
|
207
|
-
// (e.g. model not found, invalid request).
|
|
208
|
-
// Errors explicitly marked as non-retryable (e.g. LlumiverseError) also fall here.
|
|
209
|
-
// They will not be resolved by retrying.
|
|
210
|
-
throw ApplicationFailure.create({
|
|
211
|
-
message: `Interaction Execution failed ${interactionName}: ${error.message}`,
|
|
212
|
-
nonRetryable: true,
|
|
213
|
-
});
|
|
214
|
-
} else if (error.message.includes("Failed to validate merged prompt schema")) {
|
|
217
|
+
} catch (error: unknown) {
|
|
218
|
+
const executionError = toExecutionError(error);
|
|
219
|
+
log.error(`Failed to execute interaction ${interactionName}`, { error: executionError });
|
|
220
|
+
if (executionError.statusCode === 429 && params.exit_on_resource_exhaustion) {
|
|
221
|
+
throw new ResourceExhaustedError(executionError.statusCode, 'Resource exhausted - rate limit exceeded');
|
|
222
|
+
} else if (executionError.message.includes('Failed to validate merged prompt schema')) {
|
|
215
223
|
//issue with the input data, don't retry
|
|
216
|
-
throw new ActivityParamInvalidError(
|
|
217
|
-
} else if (
|
|
224
|
+
throw new ActivityParamInvalidError('prompt_data', payload.activity, executionError.message);
|
|
225
|
+
} else if (executionError.message.includes('modelId: Path `modelId` is required')) {
|
|
218
226
|
//issue with the input data, don't retry
|
|
219
|
-
throw new ActivityParamInvalidError(
|
|
227
|
+
throw new ActivityParamInvalidError('model', payload.activity, executionError.message);
|
|
220
228
|
}
|
|
221
|
-
|
|
229
|
+
|
|
222
230
|
// Check retryability from error object (set by executeInteractionFromActivity)
|
|
223
231
|
// or from LlumiverseError instance (direct driver errors in some paths)
|
|
224
|
-
const isRetryable =
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
232
|
+
const isRetryable =
|
|
233
|
+
executionError.retryable !== undefined
|
|
234
|
+
? executionError.retryable
|
|
235
|
+
: error instanceof LlumiverseError
|
|
236
|
+
? error.retryable !== false
|
|
237
|
+
: undefined;
|
|
238
|
+
|
|
228
239
|
if (isRetryable !== undefined) {
|
|
229
240
|
if (isRetryable) {
|
|
230
|
-
log.debug('Marking error as retryable', { interactionName, errorCode:
|
|
241
|
+
log.debug('Marking error as retryable', { interactionName, errorCode: executionError.errorCode });
|
|
231
242
|
throw ApplicationFailure.create({
|
|
232
|
-
message: `Interaction Execution failed ${interactionName}: ${
|
|
243
|
+
message: `Interaction Execution failed ${interactionName}: ${executionError.message}`,
|
|
233
244
|
nonRetryable: false,
|
|
234
245
|
});
|
|
235
246
|
} else {
|
|
236
|
-
log.debug('Marking error as non-retryable', { interactionName, errorCode:
|
|
247
|
+
log.debug('Marking error as non-retryable', { interactionName, errorCode: executionError.errorCode });
|
|
237
248
|
throw ApplicationFailure.create({
|
|
238
|
-
message: `Non-retryable Interaction Execution failed ${interactionName}: ${
|
|
249
|
+
message: `Non-retryable Interaction Execution failed ${interactionName}: ${executionError.message}`,
|
|
239
250
|
nonRetryable: true,
|
|
240
251
|
});
|
|
241
252
|
}
|
|
242
253
|
}
|
|
243
|
-
|
|
254
|
+
|
|
255
|
+
if (
|
|
256
|
+
is4xxNonRetryable(executionError.status) ||
|
|
257
|
+
is4xxNonRetryable(executionError.statusCode) ||
|
|
258
|
+
is4xxNonRetryable(executionError.code)
|
|
259
|
+
) {
|
|
260
|
+
// 4xx HTTP errors (except retryable statuses) are permanent client errors
|
|
261
|
+
// (e.g. model not found, invalid request). The explicit retryability
|
|
262
|
+
// flag above wins when a provider marks a 4xx as transient.
|
|
263
|
+
throw ApplicationFailure.create({
|
|
264
|
+
message: `Interaction Execution failed ${interactionName}: ${executionError.message}`,
|
|
265
|
+
nonRetryable: true,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
244
269
|
// Unknown retryability - rethrow as generic error (Temporal will use default retry policy)
|
|
245
|
-
throw new Error(`Interaction Execution failed ${interactionName}: ${
|
|
270
|
+
throw new Error(`Interaction Execution failed ${interactionName}: ${executionError.message}`);
|
|
246
271
|
}
|
|
247
272
|
}
|
|
248
273
|
|
|
@@ -250,38 +275,39 @@ export async function executeInteractionFromActivity(
|
|
|
250
275
|
client: VertesiaClient,
|
|
251
276
|
interactionName: string,
|
|
252
277
|
params: InteractionExecutionParams,
|
|
253
|
-
prompt_data:
|
|
278
|
+
prompt_data: Record<string, unknown>,
|
|
254
279
|
debug?: boolean,
|
|
255
280
|
) {
|
|
256
281
|
const userTags = params.tags;
|
|
257
282
|
const info = activityInfo();
|
|
258
|
-
const
|
|
259
|
-
|
|
283
|
+
const execution = activityWorkflowExecution(info);
|
|
284
|
+
const runId = execution.runId;
|
|
285
|
+
let tags = ['workflow'];
|
|
260
286
|
if (userTags) {
|
|
261
287
|
tags = tags.concat(userTags);
|
|
262
288
|
}
|
|
263
289
|
const workflow: ExecutionRunWorkflow = {
|
|
264
|
-
run_id:
|
|
265
|
-
workflow_id:
|
|
290
|
+
run_id: execution.runId,
|
|
291
|
+
workflow_id: execution.workflowId,
|
|
266
292
|
activity_type: info.activityType,
|
|
267
293
|
};
|
|
268
294
|
|
|
269
|
-
let previousStudioExecutionRun: ExecutionRun | undefined
|
|
295
|
+
let previousStudioExecutionRun: ExecutionRun | undefined;
|
|
270
296
|
if (params.include_previous_error) {
|
|
271
297
|
//retrieve last failed run if any
|
|
272
298
|
if (info.attempt > 1) {
|
|
273
|
-
log.info(
|
|
299
|
+
log.info('Retrying, searching for previous run', { prev_run_id: runId });
|
|
274
300
|
const payload: RunSearchPayload = {
|
|
275
301
|
query: { workflow_run_ids: [runId] },
|
|
276
302
|
limit: 1,
|
|
277
303
|
};
|
|
278
304
|
const previousRun = await client.runs.search(payload).then((res) => {
|
|
279
|
-
log.info(
|
|
305
|
+
log.info('Search results', { results: res });
|
|
280
306
|
return res ? (res[0] ?? undefined) : undefined;
|
|
281
307
|
});
|
|
282
308
|
|
|
283
309
|
if (previousRun) {
|
|
284
|
-
log.info(
|
|
310
|
+
log.info('Found previous run', { previousRun });
|
|
285
311
|
previousStudioExecutionRun = await client.runs.retrieve(previousRun.id);
|
|
286
312
|
}
|
|
287
313
|
}
|
|
@@ -290,11 +316,14 @@ export async function executeInteractionFromActivity(
|
|
|
290
316
|
log.info(`Found previous run error`, { error: previousStudioExecutionRun?.error });
|
|
291
317
|
}
|
|
292
318
|
|
|
319
|
+
const configDefaults = params.config ?? {};
|
|
293
320
|
const config: InteractionExecutionConfiguration = {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
321
|
+
...configDefaults,
|
|
322
|
+
environment: params.environment ?? configDefaults.environment,
|
|
323
|
+
model: params.model ?? configDefaults.model,
|
|
324
|
+
model_options: params.model_options ?? configDefaults.model_options,
|
|
325
|
+
http_timeout: params.http_timeout ?? configDefaults.http_timeout,
|
|
326
|
+
do_validate: params.validate_result ?? configDefaults.do_validate,
|
|
298
327
|
};
|
|
299
328
|
const data = {
|
|
300
329
|
...prompt_data,
|
|
@@ -325,15 +354,16 @@ export async function executeInteractionFromActivity(
|
|
|
325
354
|
|
|
326
355
|
if (res.error || res.status === ExecutionRunStatus.failed) {
|
|
327
356
|
log.error(`Error executing interaction ${interactionName}`, { error: res.error });
|
|
328
|
-
|
|
357
|
+
|
|
329
358
|
// Create error with retryability information
|
|
330
359
|
const errorMessage = `Interaction Execution failed ${interactionName}: ${res.error?.message || 'Unknown error'}`;
|
|
331
360
|
const error = new Error(errorMessage);
|
|
332
|
-
|
|
361
|
+
|
|
333
362
|
// Attach retryable property so the catch block can access it
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
363
|
+
const executionError = error as Error & { retryable?: boolean; errorCode?: string };
|
|
364
|
+
executionError.retryable = res.error?.retryable;
|
|
365
|
+
executionError.errorCode = res.error?.code;
|
|
366
|
+
|
|
337
367
|
throw error;
|
|
338
368
|
}
|
|
339
369
|
|
|
@@ -349,3 +379,18 @@ function is4xxNonRetryable(code: number | undefined): boolean {
|
|
|
349
379
|
if (code === undefined || typeof code !== 'number') return false;
|
|
350
380
|
return code >= 400 && code < 500 && code !== 412 && code !== 429;
|
|
351
381
|
}
|
|
382
|
+
|
|
383
|
+
interface ExecutionError extends Error {
|
|
384
|
+
status?: number;
|
|
385
|
+
statusCode?: number;
|
|
386
|
+
code?: number;
|
|
387
|
+
retryable?: boolean;
|
|
388
|
+
errorCode?: unknown;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
function toExecutionError(error: unknown): ExecutionError {
|
|
392
|
+
if (error instanceof Error) {
|
|
393
|
+
return error as ExecutionError;
|
|
394
|
+
}
|
|
395
|
+
return new Error(String(error)) as ExecutionError;
|
|
396
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { MockActivityEnvironment } from
|
|
2
|
-
import { ContentEventName, DSLActivityExecutionPayload } from
|
|
3
|
-
import { beforeAll, beforeEach, describe, expect, it, vi } from
|
|
4
|
-
import {
|
|
1
|
+
import { MockActivityEnvironment } from '@temporalio/testing';
|
|
2
|
+
import { ContentEventName, type DSLActivityExecutionPayload } from '@vertesia/common';
|
|
3
|
+
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { type ExecuteRemoteActivityParams, executeRemoteActivity } from './executeRemoteActivity.js';
|
|
5
5
|
|
|
6
|
-
vi.stubGlobal(
|
|
6
|
+
vi.stubGlobal('fetch', vi.fn());
|
|
7
7
|
|
|
8
|
-
vi.mock(
|
|
8
|
+
vi.mock('../utils/client.js', () => ({
|
|
9
9
|
getVertesiaClient: vi.fn().mockReturnValue({
|
|
10
10
|
apps: {
|
|
11
11
|
validateUrl: vi.fn().mockResolvedValue({ valid: true }),
|
|
@@ -27,122 +27,116 @@ beforeEach(() => {
|
|
|
27
27
|
const createPayload = (
|
|
28
28
|
overrides: Partial<ExecuteRemoteActivityParams> = {},
|
|
29
29
|
): DSLActivityExecutionPayload<ExecuteRemoteActivityParams> => {
|
|
30
|
-
const params
|
|
31
|
-
url:
|
|
32
|
-
activity_name:
|
|
33
|
-
params: { text:
|
|
34
|
-
app_install_id:
|
|
35
|
-
app_name:
|
|
30
|
+
const params = {
|
|
31
|
+
url: 'https://tool-server.test/api/activities/nlp',
|
|
32
|
+
activity_name: 'analyze_sentiment',
|
|
33
|
+
params: { text: 'Hello world' },
|
|
34
|
+
app_install_id: 'install-123',
|
|
35
|
+
app_name: 'nlp-app',
|
|
36
36
|
...overrides,
|
|
37
|
-
};
|
|
37
|
+
} satisfies ExecuteRemoteActivityParams;
|
|
38
38
|
return {
|
|
39
|
-
auth_token:
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
auth_token:
|
|
40
|
+
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwOi8vbW9jay10b2tlbi1zZXJ2ZXIiLCJzdWIiOiJ0ZXN0In0.sig',
|
|
41
|
+
account_id: 'acc-123',
|
|
42
|
+
project_id: 'proj-456',
|
|
42
43
|
params,
|
|
43
44
|
config: {
|
|
44
|
-
studio_url:
|
|
45
|
-
store_url:
|
|
45
|
+
studio_url: 'http://mock-studio',
|
|
46
|
+
store_url: 'http://mock-store',
|
|
46
47
|
},
|
|
47
|
-
workflow_name:
|
|
48
|
+
workflow_name: 'TestWorkflow',
|
|
48
49
|
event: ContentEventName.create,
|
|
49
50
|
objectIds: [],
|
|
50
51
|
vars: {},
|
|
51
|
-
activity: { name:
|
|
52
|
+
activity: { name: 'executeRemoteActivity', params: params as unknown as Record<string, unknown> },
|
|
52
53
|
};
|
|
53
54
|
};
|
|
54
55
|
|
|
55
|
-
describe(
|
|
56
|
-
it(
|
|
56
|
+
describe('executeRemoteActivity', () => {
|
|
57
|
+
it('should post correct payload and return result on success', async () => {
|
|
57
58
|
mockFetch.mockResolvedValueOnce(
|
|
58
|
-
new Response(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
),
|
|
59
|
+
new Response(JSON.stringify({ result: { score: 0.95 }, is_error: false }), {
|
|
60
|
+
status: 200,
|
|
61
|
+
headers: { 'Content-Type': 'application/json' },
|
|
62
|
+
}),
|
|
62
63
|
);
|
|
63
64
|
|
|
64
|
-
const result = await testEnv.run(executeRemoteActivity, createPayload());
|
|
65
|
+
const result: unknown = await testEnv.run(executeRemoteActivity, createPayload());
|
|
65
66
|
expect(result).toEqual({ score: 0.95 });
|
|
66
67
|
|
|
67
68
|
expect(mockFetch).toHaveBeenCalledOnce();
|
|
68
69
|
const [url, opts] = mockFetch.mock.calls[0];
|
|
69
|
-
expect(url).toBe(
|
|
70
|
-
expect(opts?.method).toBe(
|
|
70
|
+
expect(url).toBe('https://tool-server.test/api/activities/nlp');
|
|
71
|
+
expect(opts?.method).toBe('POST');
|
|
71
72
|
expect(opts?.headers).toMatchObject({
|
|
72
|
-
|
|
73
|
-
Accept:
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
Accept: 'application/json',
|
|
74
75
|
});
|
|
75
76
|
// Verify the auth header is forwarded
|
|
76
|
-
expect((opts?.headers as Record<string, string>)
|
|
77
|
+
expect((opts?.headers as Record<string, string>).Authorization).toMatch(/^Bearer /);
|
|
77
78
|
|
|
78
79
|
// Verify the body structure
|
|
79
80
|
const body = JSON.parse(opts?.body as string);
|
|
80
|
-
expect(body.activity_name).toBe(
|
|
81
|
-
expect(body.params).toEqual({ text:
|
|
82
|
-
expect(body.metadata.app_install_id).toBe(
|
|
83
|
-
expect(body.metadata.endpoints).toEqual({ studio:
|
|
81
|
+
expect(body.activity_name).toBe('analyze_sentiment');
|
|
82
|
+
expect(body.params).toEqual({ text: 'Hello world' });
|
|
83
|
+
expect(body.metadata.app_install_id).toBe('install-123');
|
|
84
|
+
expect(body.metadata.endpoints).toEqual({ studio: 'http://mock-studio', store: 'http://mock-store' });
|
|
84
85
|
// auth_token should NOT be in the payload (it's in the Authorization header)
|
|
85
86
|
expect(body.auth_token).toBeUndefined();
|
|
86
87
|
});
|
|
87
88
|
|
|
88
|
-
it(
|
|
89
|
+
it('should throw on HTTP error (4xx/5xx)', async () => {
|
|
89
90
|
mockFetch.mockResolvedValueOnce(
|
|
90
|
-
new Response(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
),
|
|
91
|
+
new Response(JSON.stringify({ error: 'Activity not found', is_error: true }), {
|
|
92
|
+
status: 404,
|
|
93
|
+
statusText: 'Not Found',
|
|
94
|
+
}),
|
|
94
95
|
);
|
|
95
96
|
|
|
96
97
|
await expect(testEnv.run(executeRemoteActivity, createPayload())).rejects.toThrow(
|
|
97
|
-
|
|
98
|
+
'Remote activity analyze_sentiment failed: Activity not found',
|
|
98
99
|
);
|
|
99
100
|
});
|
|
100
101
|
|
|
101
|
-
it(
|
|
102
|
-
mockFetch.mockRejectedValueOnce(new Error(
|
|
102
|
+
it('should throw on network error (for Temporal retry)', async () => {
|
|
103
|
+
mockFetch.mockRejectedValueOnce(new Error('Connection refused'));
|
|
103
104
|
|
|
104
105
|
await expect(testEnv.run(executeRemoteActivity, createPayload())).rejects.toThrow(
|
|
105
106
|
/Failed to reach remote activity endpoint/,
|
|
106
107
|
);
|
|
107
108
|
});
|
|
108
109
|
|
|
109
|
-
it(
|
|
110
|
-
mockFetch.mockResolvedValueOnce(
|
|
111
|
-
new Response("not json", { status: 200 }),
|
|
112
|
-
);
|
|
110
|
+
it('should throw on invalid JSON response', async () => {
|
|
111
|
+
mockFetch.mockResolvedValueOnce(new Response('not json', { status: 200 }));
|
|
113
112
|
|
|
114
|
-
await expect(testEnv.run(executeRemoteActivity, createPayload())).rejects.toThrow(
|
|
115
|
-
/returned invalid JSON/,
|
|
116
|
-
);
|
|
113
|
+
await expect(testEnv.run(executeRemoteActivity, createPayload())).rejects.toThrow(/returned invalid JSON/);
|
|
117
114
|
});
|
|
118
115
|
|
|
119
|
-
it(
|
|
116
|
+
it('should throw when response indicates is_error', async () => {
|
|
120
117
|
mockFetch.mockResolvedValueOnce(
|
|
121
|
-
new Response(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
),
|
|
118
|
+
new Response(JSON.stringify({ result: null, is_error: true, error: 'Something went wrong' }), {
|
|
119
|
+
status: 200,
|
|
120
|
+
headers: { 'Content-Type': 'application/json' },
|
|
121
|
+
}),
|
|
125
122
|
);
|
|
126
123
|
|
|
127
124
|
await expect(testEnv.run(executeRemoteActivity, createPayload())).rejects.toThrow(
|
|
128
|
-
|
|
125
|
+
'Remote activity analyze_sentiment: Something went wrong',
|
|
129
126
|
);
|
|
130
127
|
});
|
|
131
128
|
|
|
132
|
-
it(
|
|
129
|
+
it('should forward app_settings in metadata', async () => {
|
|
133
130
|
mockFetch.mockResolvedValueOnce(
|
|
134
|
-
new Response(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
),
|
|
131
|
+
new Response(JSON.stringify({ result: 'ok', is_error: false }), {
|
|
132
|
+
status: 200,
|
|
133
|
+
headers: { 'Content-Type': 'application/json' },
|
|
134
|
+
}),
|
|
138
135
|
);
|
|
139
136
|
|
|
140
|
-
await testEnv.run(
|
|
141
|
-
executeRemoteActivity,
|
|
142
|
-
createPayload({ app_settings: { api_key: "secret" } }),
|
|
143
|
-
);
|
|
137
|
+
await testEnv.run(executeRemoteActivity, createPayload({ app_settings: { api_key: 'secret' } }));
|
|
144
138
|
|
|
145
139
|
const body = JSON.parse(mockFetch.mock.calls[0][1]?.body as string);
|
|
146
|
-
expect(body.metadata.app_settings).toEqual({ api_key:
|
|
140
|
+
expect(body.metadata.app_settings).toEqual({ api_key: 'secret' });
|
|
147
141
|
});
|
|
148
142
|
});
|