@vertesia/workflow 1.0.0-dev.20260128.144200 → 1.0.0-dev.20260225.024852Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +1 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
- package/lib/cjs/activities/chunkDocument.js +3 -1
- package/lib/cjs/activities/chunkDocument.js.map +1 -1
- package/lib/cjs/activities/extractDocumentText.js +56 -16
- package/lib/cjs/activities/extractDocumentText.js.map +1 -1
- package/lib/cjs/activities/generateDocumentProperties.js +4 -2
- package/lib/cjs/activities/generateDocumentProperties.js.map +1 -1
- package/lib/cjs/activities/generateEmbeddings.js +20 -10
- package/lib/cjs/activities/generateEmbeddings.js.map +1 -1
- package/lib/cjs/activities/generateOrAssignContentType.js +2 -2
- package/lib/cjs/activities/generateOrAssignContentType.js.map +1 -1
- package/lib/cjs/activities/index-dsl.js +7 -7
- package/lib/cjs/activities/index-dsl.js.map +1 -1
- package/lib/cjs/activities/media/saveGladiaTranscription.js +38 -24
- package/lib/cjs/activities/media/saveGladiaTranscription.js.map +1 -1
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +41 -24
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -1
- package/lib/cjs/activities/notifyWebhook.js +11 -2
- package/lib/cjs/activities/notifyWebhook.js.map +1 -1
- package/lib/cjs/activities/renditions/generateImageRendition.js +2 -2
- package/lib/cjs/activities/renditions/generateImageRendition.js.map +1 -1
- package/lib/cjs/activities/setDocumentStatus.js +13 -2
- package/lib/cjs/activities/setDocumentStatus.js.map +1 -1
- package/lib/cjs/conversion/image.js +10 -10
- package/lib/cjs/conversion/image.js.map +1 -1
- package/lib/cjs/dsl/dsl-workflow.js +44 -7
- package/lib/cjs/dsl/dsl-workflow.js.map +1 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +56 -0
- package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/cjs/errors.js +11 -1
- package/lib/cjs/errors.js.map +1 -1
- package/lib/cjs/index.js +6 -5
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/result-types.js.map +1 -1
- package/lib/cjs/utils/renditions.js +9 -5
- package/lib/cjs/utils/renditions.js.map +1 -1
- package/lib/cjs/utils/text-preview-utils.js +43 -0
- package/lib/cjs/utils/text-preview-utils.js.map +1 -0
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +1 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
- package/lib/esm/activities/chunkDocument.js +3 -1
- package/lib/esm/activities/chunkDocument.js.map +1 -1
- package/lib/esm/activities/extractDocumentText.js +56 -16
- package/lib/esm/activities/extractDocumentText.js.map +1 -1
- package/lib/esm/activities/generateDocumentProperties.js +4 -2
- package/lib/esm/activities/generateDocumentProperties.js.map +1 -1
- package/lib/esm/activities/generateEmbeddings.js +20 -10
- package/lib/esm/activities/generateEmbeddings.js.map +1 -1
- package/lib/esm/activities/generateOrAssignContentType.js +2 -2
- package/lib/esm/activities/generateOrAssignContentType.js.map +1 -1
- package/lib/esm/activities/index-dsl.js +3 -3
- package/lib/esm/activities/index-dsl.js.map +1 -1
- package/lib/esm/activities/media/saveGladiaTranscription.js +38 -24
- package/lib/esm/activities/media/saveGladiaTranscription.js.map +1 -1
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +41 -24
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -1
- package/lib/esm/activities/notifyWebhook.js +11 -2
- package/lib/esm/activities/notifyWebhook.js.map +1 -1
- package/lib/esm/activities/renditions/generateImageRendition.js +2 -2
- package/lib/esm/activities/renditions/generateImageRendition.js.map +1 -1
- package/lib/esm/activities/setDocumentStatus.js +13 -2
- package/lib/esm/activities/setDocumentStatus.js.map +1 -1
- package/lib/esm/conversion/image.js +10 -10
- package/lib/esm/conversion/image.js.map +1 -1
- package/lib/esm/dsl/dsl-workflow.js +44 -7
- package/lib/esm/dsl/dsl-workflow.js.map +1 -1
- package/lib/esm/dsl/setup/ActivityContext.js +57 -1
- package/lib/esm/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/esm/errors.js +9 -0
- package/lib/esm/errors.js.map +1 -1
- package/lib/esm/index.js +6 -5
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/result-types.js.map +1 -1
- package/lib/esm/utils/renditions.js +9 -5
- package/lib/esm/utils/renditions.js.map +1 -1
- package/lib/esm/utils/text-preview-utils.js +38 -0
- package/lib/esm/utils/text-preview-utils.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/activities/chunkDocument.d.ts.map +1 -1
- package/lib/types/activities/extractDocumentText.d.ts +1 -0
- package/lib/types/activities/extractDocumentText.d.ts.map +1 -1
- package/lib/types/activities/generateDocumentProperties.d.ts.map +1 -1
- package/lib/types/activities/generateEmbeddings.d.ts.map +1 -1
- package/lib/types/activities/index-dsl.d.ts +3 -3
- package/lib/types/activities/index-dsl.d.ts.map +1 -1
- package/lib/types/activities/media/saveGladiaTranscription.d.ts +1 -0
- package/lib/types/activities/media/saveGladiaTranscription.d.ts.map +1 -1
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts +1 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -1
- package/lib/types/activities/setDocumentStatus.d.ts +1 -1
- package/lib/types/activities/setDocumentStatus.d.ts.map +1 -1
- package/lib/types/dsl/dsl-workflow.d.ts.map +1 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts +32 -2
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -1
- package/lib/types/errors.d.ts +4 -0
- package/lib/types/errors.d.ts.map +1 -1
- package/lib/types/index.d.ts +6 -5
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/result-types.d.ts +5 -1
- package/lib/types/result-types.d.ts.map +1 -1
- package/lib/types/utils/renditions.d.ts +2 -0
- package/lib/types/utils/renditions.d.ts.map +1 -1
- package/lib/types/utils/text-preview-utils.d.ts +15 -0
- package/lib/types/utils/text-preview-utils.d.ts.map +1 -0
- package/lib/workflows-bundle.js +11747 -11141
- package/package.json +6 -7
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +1 -1
- package/src/activities/chunkDocument.ts +3 -1
- package/src/activities/extractDocumentText.ts +85 -26
- package/src/activities/generateDocumentProperties.ts +4 -2
- package/src/activities/generateEmbeddings.ts +22 -14
- package/src/activities/generateOrAssignContentType.ts +2 -2
- package/src/activities/index-dsl.ts +4 -3
- package/src/activities/media/saveGladiaTranscription.test.ts +406 -0
- package/src/activities/media/saveGladiaTranscription.ts +41 -26
- package/src/activities/media/transcribeMediaWithGladia.test.ts +583 -0
- package/src/activities/media/transcribeMediaWithGladia.ts +46 -25
- package/src/activities/notifyWebhook.test.ts +121 -8
- package/src/activities/notifyWebhook.ts +10 -2
- package/src/activities/renditions/generateImageRendition.ts +2 -2
- package/src/activities/setDocumentStatus.ts +12 -4
- package/src/conversion/image.test.ts +1 -0
- package/src/conversion/image.ts +10 -10
- package/src/dsl/dsl-workflow.ts +57 -9
- package/src/dsl/setup/ActivityContext.ts +73 -0
- package/src/dsl.ts +1 -0
- package/src/errors.ts +15 -0
- package/src/index.ts +6 -5
- package/src/result-types.ts +5 -1
- package/src/utils/renditions.ts +11 -5
- package/src/utils/text-preview-utils.ts +62 -0
|
@@ -3,6 +3,7 @@ export { createDocumentTypeFromInteractionRun } from "./advanced/createDocumentT
|
|
|
3
3
|
export { createOrUpdateDocumentFromInteractionRun } from "./advanced/createOrUpdateDocumentFromInteractionRun.js";
|
|
4
4
|
export { updateDocumentFromInteractionRun } from "./advanced/updateDocumentFromInteractionRun.js";
|
|
5
5
|
export { chunkDocument } from "./chunkDocument.js";
|
|
6
|
+
export { copyParentArtifacts } from "./copyParentArtifacts.js";
|
|
6
7
|
export { createPdfDocumentFromSource } from "./createDocumentFromOther.js";
|
|
7
8
|
export { executeInteraction } from "./executeInteraction.js";
|
|
8
9
|
export { extractDocumentText } from "./extractDocumentText.js";
|
|
@@ -11,15 +12,14 @@ export { generateEmbeddings } from "./generateEmbeddings.js";
|
|
|
11
12
|
export { generateOrAssignContentType } from "./generateOrAssignContentType.js";
|
|
12
13
|
export { getObjectFromStore } from "./getObjectFromStore.js";
|
|
13
14
|
export { handleDslError } from "./handleError.js";
|
|
14
|
-
export { prepareVideo } from "./media/prepareVideo.js";
|
|
15
15
|
export { prepareAudio } from "./media/prepareAudio.js";
|
|
16
|
+
export { prepareVideo } from "./media/prepareVideo.js";
|
|
16
17
|
export { convertPdfToStructuredText } from "./media/processPdfWithTextract.js";
|
|
17
18
|
export { saveGladiaTranscription } from "./media/saveGladiaTranscription.js";
|
|
18
19
|
export { transcribeMedia } from "./media/transcribeMediaWithGladia.js";
|
|
20
|
+
export { mergeChildArtifacts } from "./mergeChildArtifacts.js";
|
|
19
21
|
export { notifyWebhook } from "./notifyWebhook.js";
|
|
20
22
|
export { checkRateLimit } from "./rateLimiter.js";
|
|
21
|
-
export { copyParentArtifacts } from "./copyParentArtifacts.js";
|
|
22
|
-
export { mergeChildArtifacts } from "./mergeChildArtifacts.js";
|
|
23
23
|
export { generateImageRendition } from "./renditions/generateImageRendition.js";
|
|
24
24
|
export { generateVideoRendition } from "./renditions/generateVideoRendition.js";
|
|
25
25
|
export { setDocumentStatus } from "./setDocumentStatus.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-dsl.js","sourceRoot":"","sources":["../../../src/activities/index-dsl.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,oDAAoD,CAAC;AAC1G,OAAO,EAAE,wCAAwC,EAAE,MAAM,wDAAwD,CAAC;AAClH,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index-dsl.js","sourceRoot":"","sources":["../../../src/activities/index-dsl.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,oDAAoD,CAAC;AAC1G,OAAO,EAAE,wCAAwC,EAAE,MAAM,wDAAwD,CAAC;AAClH,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -9,60 +9,74 @@ const GLADIA_URL = "https://api.gladia.io/v2";
|
|
|
9
9
|
* This activity is called after transcribeMedia completes via webhook callback.
|
|
10
10
|
*/
|
|
11
11
|
export async function saveGladiaTranscription(payload) {
|
|
12
|
-
const
|
|
12
|
+
const context = await setupActivity(payload);
|
|
13
|
+
const { params, client, inputType } = context;
|
|
13
14
|
const gladiaConfig = await client.projects.integrations.retrieve(payload.project_id, SupportedIntegrations.gladia);
|
|
14
15
|
if (!gladiaConfig || !gladiaConfig.enabled) {
|
|
15
16
|
return {
|
|
16
17
|
hasText: false,
|
|
17
|
-
objectId,
|
|
18
|
+
objectId: inputType === 'objectIds' ? context.objectId : undefined,
|
|
18
19
|
status: TextExtractionStatus.error,
|
|
19
20
|
error: "Gladia integration not enabled",
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
const gladiaClient = new FetchClient(gladiaConfig.url ?? GLADIA_URL);
|
|
23
24
|
gladiaClient.withHeaders({ "x-gladia-key": gladiaConfig.api_key });
|
|
24
|
-
log.info(`Fetching transcription result from Gladia`, {
|
|
25
|
+
log.info(`Fetching transcription result from Gladia`, { transcriptionId: params.gladiaTranscriptionId });
|
|
25
26
|
const transcriptionResult = await gladiaClient.get(`/transcription/${params.gladiaTranscriptionId}`);
|
|
27
|
+
// Determine storage identifier based on input type
|
|
28
|
+
const storageId = inputType === 'objectIds' ? context.objectId : params.output_storage_path;
|
|
26
29
|
if (transcriptionResult.status === 'error') {
|
|
27
|
-
log.error(`Gladia transcription failed`, {
|
|
30
|
+
log.error(`Gladia transcription failed`, { error: transcriptionResult });
|
|
28
31
|
return {
|
|
29
32
|
hasText: false,
|
|
30
|
-
objectId,
|
|
33
|
+
objectId: inputType === 'objectIds' ? context.objectId : undefined,
|
|
34
|
+
file: inputType === 'files' ? {
|
|
35
|
+
source_url: context.file.url,
|
|
36
|
+
} : undefined,
|
|
31
37
|
status: TextExtractionStatus.error,
|
|
32
38
|
error: "Gladia transcription failed",
|
|
33
39
|
};
|
|
34
40
|
}
|
|
35
41
|
if (transcriptionResult.status !== 'done') {
|
|
36
|
-
log.warn(`Gladia transcription not ready`, {
|
|
42
|
+
log.warn(`Gladia transcription not ready`, { storageId, status: transcriptionResult.status });
|
|
37
43
|
return {
|
|
38
44
|
hasText: false,
|
|
39
|
-
objectId,
|
|
45
|
+
objectId: storageId,
|
|
40
46
|
status: TextExtractionStatus.error,
|
|
41
47
|
error: `Gladia transcription not ready: ${transcriptionResult.status}`,
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
|
-
const object = await client.objects.retrieve(objectId, "+text");
|
|
45
50
|
const segments = processUtterances(transcriptionResult.result.transcription.utterances);
|
|
46
51
|
const fullText = transcriptionResult.result.transcription.full_transcript;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
if (inputType === 'objectIds') {
|
|
53
|
+
// Object mode: save to object store
|
|
54
|
+
const objectId = context.objectId;
|
|
55
|
+
const object = await client.objects.retrieve(objectId, "+text");
|
|
56
|
+
await client.objects.update(objectId, {
|
|
57
|
+
text: fullText,
|
|
58
|
+
text_etag: object.content?.etag,
|
|
59
|
+
transcript: {
|
|
60
|
+
segments,
|
|
61
|
+
etag: object.content?.etag
|
|
62
|
+
},
|
|
63
|
+
metadata: {
|
|
64
|
+
...object.metadata,
|
|
65
|
+
duration: transcriptionResult.result.metadata.audio_duration,
|
|
66
|
+
languages: transcriptionResult.result.transcription.languages
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
log.info(`Saved transcription for object`, { objectId, textLength: fullText?.length, segmentCount: segments.length });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// File mode: don't save to object, just log
|
|
73
|
+
log.info(`Transcription completed (file mode, not saved to object)`, { storageId, textLength: fullText?.length, segmentCount: segments.length });
|
|
74
|
+
}
|
|
61
75
|
return {
|
|
62
76
|
hasText: (fullText?.length ?? 0) > 0,
|
|
63
|
-
objectId,
|
|
77
|
+
objectId: storageId,
|
|
64
78
|
status: TextExtractionStatus.success,
|
|
65
|
-
message: `Transcription saved with ${segments.length} segments`
|
|
79
|
+
message: `Transcription ${inputType === 'objectIds' ? 'saved' : 'completed'} with ${segments.length} segments`
|
|
66
80
|
};
|
|
67
81
|
}
|
|
68
82
|
function processUtterances(utterances) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveGladiaTranscription.js","sourceRoot":"","sources":["../../../../src/activities/media/saveGladiaTranscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAoF,qBAAqB,EAAoC,MAAM,kBAAkB,CAAC;AAC7K,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAwB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"saveGladiaTranscription.js","sourceRoot":"","sources":["../../../../src/activities/media/saveGladiaTranscription.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,44 +6,61 @@ import { DocumentNotFoundError } from "../../errors.js";
|
|
|
6
6
|
import { TextExtractionStatus } from "../../index.js";
|
|
7
7
|
const GLADIA_URL = "https://api.gladia.io/v2";
|
|
8
8
|
export async function transcribeMedia(payload) {
|
|
9
|
-
const
|
|
9
|
+
const context = await setupActivity(payload);
|
|
10
|
+
const { params, client, inputType } = context;
|
|
10
11
|
const gladiaConfig = await client.projects.integrations.retrieve(payload.project_id, SupportedIntegrations.gladia);
|
|
11
12
|
if (!gladiaConfig || !gladiaConfig.enabled) {
|
|
12
13
|
return {
|
|
13
14
|
hasText: false,
|
|
14
|
-
objectId,
|
|
15
|
+
objectId: inputType === 'objectIds' ? context.objectId : undefined,
|
|
15
16
|
status: TextExtractionStatus.error,
|
|
16
17
|
error: "Gladia integration not enabled",
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
const object = await client.objects.retrieve(objectId, "+text");
|
|
20
20
|
const gladiaClient = new FetchClient(gladiaConfig.url ?? GLADIA_URL);
|
|
21
21
|
gladiaClient.withHeaders({ "x-gladia-key": gladiaConfig.api_key });
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
let mediaSource;
|
|
23
|
+
let storageId;
|
|
24
|
+
if (inputType === 'objectIds') {
|
|
25
|
+
// Object mode: fetch from object store
|
|
26
|
+
const objectId = context.objectId;
|
|
27
|
+
const object = await client.objects.retrieve(objectId, "+text");
|
|
28
|
+
if (object.text && !params.force) {
|
|
29
|
+
return { hasText: true, objectId, status: TextExtractionStatus.skipped, message: "text already present and force not enabled" };
|
|
30
|
+
}
|
|
31
|
+
if (!object.content?.source) {
|
|
32
|
+
throw new DocumentNotFoundError(`No source found for object ${objectId}`);
|
|
33
|
+
}
|
|
34
|
+
// Check for audio rendition in video metadata (preferred for videos)
|
|
35
|
+
mediaSource = object.content.source;
|
|
36
|
+
if (object.metadata?.type === ContentNature.Video) {
|
|
37
|
+
const videoMetadata = object.metadata;
|
|
38
|
+
const audioRendition = videoMetadata.renditions?.find(r => r.name === AUDIO_RENDITION_NAME);
|
|
39
|
+
if (audioRendition?.content?.source) {
|
|
40
|
+
mediaSource = audioRendition.content.source;
|
|
41
|
+
log.info(`Found audio rendition for video object ${objectId}`, { mediaSource });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
storageId = objectId;
|
|
27
45
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (audioRendition?.content?.source) {
|
|
34
|
-
mediaSource = audioRendition.content.source;
|
|
35
|
-
log.info(`Found audio rendition for video object ${objectId}`, { mediaSource });
|
|
46
|
+
else {
|
|
47
|
+
// File mode: use file input
|
|
48
|
+
const file = context.file;
|
|
49
|
+
if (!params.output_storage_path) {
|
|
50
|
+
throw new DocumentNotFoundError("output_storage_path is required when using file input");
|
|
36
51
|
}
|
|
52
|
+
mediaSource = file.url;
|
|
53
|
+
storageId = params.output_storage_path;
|
|
37
54
|
}
|
|
38
55
|
// Get download URL for the media source
|
|
39
56
|
const { url: mediaUrl } = await client.files.getDownloadUrl(mediaSource);
|
|
40
57
|
if (!mediaUrl) {
|
|
41
58
|
throw new DocumentNotFoundError(`Error fetching media URL for ${mediaSource}`);
|
|
42
59
|
}
|
|
43
|
-
log.info(`Using media URL for transcription`, {
|
|
60
|
+
log.info(`Using media URL for transcription`, { storageId, mediaUrl: mediaSource });
|
|
44
61
|
const taskToken = Buffer.from(activityInfo().taskToken).toString('base64url');
|
|
45
|
-
const callbackUrl = generateCallbackUrlForGladia(client.store.baseUrl, taskToken
|
|
46
|
-
log.info(`Transcribing media ${mediaUrl} with Gladia`, {
|
|
62
|
+
const callbackUrl = generateCallbackUrlForGladia(client.store.baseUrl, taskToken);
|
|
63
|
+
log.info(`Transcribing media ${mediaUrl} with Gladia`, { storageId, callbackUrl });
|
|
47
64
|
try {
|
|
48
65
|
const res = await gladiaClient.post("/transcription", {
|
|
49
66
|
payload: {
|
|
@@ -57,23 +74,23 @@ export async function transcribeMedia(payload) {
|
|
|
57
74
|
}
|
|
58
75
|
}
|
|
59
76
|
});
|
|
60
|
-
log.info(`Transcription request sent to Gladia`, {
|
|
77
|
+
log.info(`Transcription request sent to Gladia`, { storageId, res });
|
|
61
78
|
}
|
|
62
79
|
catch (error) {
|
|
63
80
|
if (error instanceof RequestError && error.status === 422) {
|
|
64
81
|
return {
|
|
65
82
|
hasText: false,
|
|
66
|
-
objectId,
|
|
83
|
+
objectId: storageId,
|
|
67
84
|
status: TextExtractionStatus.error,
|
|
68
85
|
error: `Gladia transcription error: ${error.message}`,
|
|
69
86
|
};
|
|
70
87
|
}
|
|
71
|
-
log.error(`Error sending transcription request to Gladia for
|
|
88
|
+
log.error(`Error sending transcription request to Gladia for storage ${storageId}`, { error });
|
|
72
89
|
throw error;
|
|
73
90
|
}
|
|
74
91
|
throw new CompleteAsyncError();
|
|
75
92
|
}
|
|
76
|
-
function generateCallbackUrlForGladia(baseUrl, taskToken
|
|
77
|
-
return `${baseUrl}/webhooks/gladia
|
|
93
|
+
function generateCallbackUrlForGladia(baseUrl, taskToken) {
|
|
94
|
+
return `${baseUrl}/webhooks/gladia?task_token=${taskToken}`;
|
|
78
95
|
}
|
|
79
96
|
//# sourceMappingURL=transcribeMediaWithGladia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAqE,qBAAqB,EAAiB,MAAM,kBAAkB,CAAC;AAChL,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAwB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export async function notifyWebhook(payload) {
|
|
|
18
18
|
}
|
|
19
19
|
if (!target_url)
|
|
20
20
|
throw new WorkflowParamNotFoundError('target_url');
|
|
21
|
-
const hasBody =
|
|
21
|
+
const hasBody = method === 'POST'; //body is sent only for POST, always includes workflow info
|
|
22
22
|
const headers = {
|
|
23
23
|
...defaultHeaders,
|
|
24
24
|
};
|
|
@@ -150,6 +150,15 @@ async function createOldRequestBody(payload, params) {
|
|
|
150
150
|
}
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
|
-
|
|
153
|
+
else {
|
|
154
|
+
// Always include workflow metadata in old format, even when detail is undefined
|
|
155
|
+
data = {
|
|
156
|
+
workflowId: params.workflow_id,
|
|
157
|
+
runId: params.workflow_run_id,
|
|
158
|
+
status: params.event_name === 'workflow_completed' ? 'completed' : params.event_name,
|
|
159
|
+
result: data || null
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return JSON.stringify(data);
|
|
154
163
|
}
|
|
155
164
|
//# sourceMappingURL=notifyWebhook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAA0F,MAAM,kBAAkB,CAAC;AACvI,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA2B9D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAyD;IAEzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAsB,OAAO,CAAC,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAC3D,qDAAqD;IACrD,IAAI,UAAkB,EAAE,OAA2B,CAAC;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,UAAU,GAAG,OAAO,CAAC;IACzB,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAA0F,MAAM,kBAAkB,CAAC;AACvI,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA2B9D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAyD;IAEzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAsB,OAAO,CAAC,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAC3D,qDAAqD;IACrD,IAAI,UAAkB,EAAE,OAA2B,CAAC;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,UAAU,GAAG,OAAO,CAAC;IACzB,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,2DAA2D;IAE9F,MAAM,OAAO,GAAG;QACZ,GAAG,cAAc;KACpB,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpF,GAAG,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;QAChC,MAAM;QACN,IAAI;QACJ,OAAO;KACV,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,gDAAgD,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,CAAC,oBAAoB,UAAU,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAEvH,gDAAgD;QAChD,IAAI,YAAY,GAAG,2BAA2B,UAAU,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/G,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,IAAI,gBAAgB,YAAY,EAAE,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,kEAAkE;YAClE,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;AAExE,CAAC;AAID,yCAAyC;AACzC,6BAA6B;AAC7B,6EAA6E;AAC7E,sDAAsD;AACtD,yCAAyC;AAGzC,SAAS,eAAe,CAAC,YAAoB;IACzC,gFAAgF;IAChF,OAAO,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAoC,EAAE,MAA2B,EAAE,WAA+B;IAC/H,IAAI,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;QACtF,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACJ,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAoC,EAAE,MAA2B,EAAE,WAA+B;IACrI,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC;QACpD,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,IAAI;KACsB,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAoC,EAAE,MAA2B,EAAE,WAA+B;IAC7H,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,oBAAoB,IAAI,MAAM,CAAC,aAAa,KAAK,4BAA4B,EAAE,CAAC;QAC7H,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,8BAA8B;QAC/F,oEAAoE;QACpE,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,SAAS,0BAA0B,CAAC,OAAoC,EAAE,OAA2C;IACjH,6BAA6B;IAC7B,OAAO,IAAI,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAClH,CAAC;AAGD,yDAAyD;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCE;AAEF,YAAY;AACZ,KAAK,UAAU,oBAAoB,CAAC,OAAoC,EAAE,MAA2B;IACjG,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,oBAAoB,IAAI,MAAM,CAAC,aAAa,KAAK,4BAA4B,EAAE,CAAC;QAC7H,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,4CAA4C;QACtG,2IAA2I;QAC3I,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,2GAA2G;QAC3G,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,GAAG;YACH,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,KAAK,EAAE,MAAM,CAAC,eAAe;YAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YACpF,MAAM,EAAE;gBACJ,MAAM,EAAE,GAAG,CAAC,EAAE;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,MAAM,IAAI,IAAI;aACzB;SACJ,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,gFAAgF;QAChF,IAAI,GAAG;YACH,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,KAAK,EAAE,MAAM,CAAC,eAAe;YAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YACpF,MAAM,EAAE,IAAI,IAAI,IAAI;SACvB,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -11,7 +11,7 @@ export async function generateImageRendition(payload) {
|
|
|
11
11
|
max_hw: originParams.max_hw || originParams.maxHeightWidth || 1596, // Default to 1596 if both are missing
|
|
12
12
|
format: originParams.format || originParams.format_output || "png", // Default to png if format is missing
|
|
13
13
|
};
|
|
14
|
-
log.
|
|
14
|
+
log.debug(`Generating image rendition for ${objectId}`, {
|
|
15
15
|
originParams,
|
|
16
16
|
params,
|
|
17
17
|
});
|
|
@@ -42,7 +42,7 @@ export async function generateImageRendition(payload) {
|
|
|
42
42
|
//array of rendition files to upload
|
|
43
43
|
let renditionPages = [];
|
|
44
44
|
const imageFile = await saveBlobToTempFile(client, inputObject.content.source);
|
|
45
|
-
log.
|
|
45
|
+
log.debug(`Image ${objectId} copied to ${imageFile}`);
|
|
46
46
|
renditionPages.push(imageFile);
|
|
47
47
|
//IF no etag, log and use use object id as etag
|
|
48
48
|
if (!inputObject.content.etag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImageRendition.js","sourceRoot":"","sources":["../../../../src/activities/renditions/generateImageRendition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEH,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AASnC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,OAAkE;IAElE,MAAM,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EAAE,YAAY,GACvB,GAAG,MAAM,aAAa,CAA+B,OAAO,CAAC,CAAC;IAE/D,oDAAoD;IACpD,MAAM,MAAM,GAAG;QACX,GAAG,YAAY;QACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAK,YAAoB,CAAC,cAAc,IAAI,IAAI,EAAE,sCAAsC;QACnH,MAAM,EAAE,YAAY,CAAC,MAAM,IAAK,YAAoB,CAAC,aAAa,IAAI,KAAK,EAAE,sCAAsC;KACtH,CAAC;IAEF,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"generateImageRendition.js","sourceRoot":"","sources":["../../../../src/activities/renditions/generateImageRendition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { log } from "@temporalio/activity";
|
|
1
2
|
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
2
3
|
/**
|
|
3
4
|
* We are using a union type for the status parameter since typescript enums breaks the workflow code generation
|
|
@@ -6,7 +7,17 @@ import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
|
6
7
|
*/
|
|
7
8
|
export async function setDocumentStatus(payload) {
|
|
8
9
|
const { client, params, objectId } = await setupActivity(payload);
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
try {
|
|
11
|
+
const res = await client.objects.update(objectId, { status: params.status });
|
|
12
|
+
return res.status;
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
// If document was deleted, nothing to update - log warning and continue
|
|
16
|
+
if (err.status === 404 || err.name === 'ZenoClientNotFoundError') {
|
|
17
|
+
log.warn(`Document ${objectId} not found - may have been deleted. Skipping status update to '${params.status}'`);
|
|
18
|
+
return undefined; // Signal that document wasn't found
|
|
19
|
+
}
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
11
22
|
}
|
|
12
23
|
//# sourceMappingURL=setDocumentStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setDocumentStatus.js","sourceRoot":"","sources":["../../../src/activities/setDocumentStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setDocumentStatus.js","sourceRoot":"","sources":["../../../src/activities/setDocumentStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAWhE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA6D;IACjG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAA0B,OAAO,CAAC,CAAC;IAE3F,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,wEAAwE;QACxE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,kEAAkE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACjH,OAAO,SAAS,CAAC,CAAC,oCAAoC;QAC1D,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC"}
|
|
@@ -16,7 +16,7 @@ const execFile = promisify(execFileCallback);
|
|
|
16
16
|
* @returns Path to the resized image
|
|
17
17
|
*/
|
|
18
18
|
export async function imageResizer(inputPath, max_hw, format, progressive = true, colorspaceCorrection = true, colorspace = 'RGB') {
|
|
19
|
-
log.
|
|
19
|
+
log.debug(`[image-resizer] Resizing image: ${inputPath} to max_hw: ${max_hw}, format: ${format}, progressive: ${progressive}, colorspaceCorrection: ${colorspaceCorrection ? colorspace : 'disabled'}`);
|
|
20
20
|
const allowedFormats = ["jpg", "jpeg", "png", "webp"];
|
|
21
21
|
if (!format || format.trim() === "") {
|
|
22
22
|
throw new Error(`Invalid format: ${format}.Supported : ${allowedFormats.join(", ")}`);
|
|
@@ -48,18 +48,18 @@ export async function imageResizer(inputPath, max_hw, format, progressive = true
|
|
|
48
48
|
const lowerFormat = format.toLowerCase();
|
|
49
49
|
if (lowerFormat === "jpg" || lowerFormat === "jpeg") {
|
|
50
50
|
conversionOption = "-interlace JPEG";
|
|
51
|
-
log.
|
|
51
|
+
log.debug(`Enabling interlaced ${lowerFormat.toUpperCase()} format`);
|
|
52
52
|
}
|
|
53
53
|
else if (lowerFormat === "png") {
|
|
54
54
|
conversionOption = "-interlace PNG";
|
|
55
|
-
log.
|
|
55
|
+
log.debug(`Enabling interlaced ${lowerFormat.toUpperCase()} format`);
|
|
56
56
|
}
|
|
57
57
|
else if (lowerFormat === "gif") {
|
|
58
58
|
conversionOption = "-interlace GIF";
|
|
59
|
-
log.
|
|
59
|
+
log.debug(`Enabling interlaced ${lowerFormat.toUpperCase()} format`);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
log.
|
|
62
|
+
log.debug(`Resizing image using ImageMagick: ${inputPath} -> ${outputPath}`);
|
|
63
63
|
const command = `convert`;
|
|
64
64
|
let args = [inputPath];
|
|
65
65
|
// Add JPEG shrink-on-load optimization
|
|
@@ -74,26 +74,26 @@ export async function imageResizer(inputPath, max_hw, format, progressive = true
|
|
|
74
74
|
// Linear light, recommended default
|
|
75
75
|
// Convert from sRGB to linear RGB for processing
|
|
76
76
|
args.push("-colorspace", "RGB");
|
|
77
|
-
log.
|
|
77
|
+
log.debug("Using linear RGB colorspace for resize processing");
|
|
78
78
|
break;
|
|
79
79
|
case 'LAB':
|
|
80
80
|
// Perceptual linear light
|
|
81
81
|
// Use LAB colorspace which separates intensity from color
|
|
82
82
|
// Better for avoiding color clipping and distortion
|
|
83
83
|
args.push("-colorspace", "LAB");
|
|
84
|
-
log.
|
|
84
|
+
log.debug("Using LAB colorspace for resize processing");
|
|
85
85
|
break;
|
|
86
86
|
case 'LUV':
|
|
87
87
|
// Perceptual linear light
|
|
88
88
|
// Alternative to LAB with perceptually uniform color deltas
|
|
89
89
|
args.push("-colorspace", "LUV");
|
|
90
|
-
log.
|
|
90
|
+
log.debug("Using LUV colorspace for resize processing");
|
|
91
91
|
break;
|
|
92
92
|
case 'sigmoidal':
|
|
93
93
|
// Sigmoidal colorspace modification to reduce ringing artifacts
|
|
94
94
|
args.push("-colorspace", "RGB");
|
|
95
95
|
args.push("+sigmoidal-contrast", "6.5,50%");
|
|
96
|
-
log.
|
|
96
|
+
log.debug("Using sigmoidal contrast modification for resize processing");
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -121,7 +121,7 @@ export async function imageResizer(inputPath, max_hw, format, progressive = true
|
|
|
121
121
|
}
|
|
122
122
|
// Output path
|
|
123
123
|
args.push(outputPath);
|
|
124
|
-
log.
|
|
124
|
+
log.debug(`ImageMagick command: ${command} ${args.join(" ")}`);
|
|
125
125
|
const { stderr } = await execFile(command, args);
|
|
126
126
|
if (stderr) {
|
|
127
127
|
log.warn(`ImageMagick warning: ${stderr}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/conversion/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,cAAuB,IAAI,EAC3B,uBAAgC,IAAI,EACpC,aAAkD,KAAK;IAEvD,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/conversion/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,cAAuB,IAAI,EAC3B,uBAAgC,IAAI,EACpC,aAAkD,KAAK;IAEvD,GAAG,CAAC,KAAK,CAAC,mCAAmC,SAAS,eAAe,MAAM,aAAa,MAAM,kBAAkB,WAAW,2BAA2B,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAExM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,gBAAgB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,0BAA0B;IAC1B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC;QACD,6BAA6B;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,8BAA8B;QAC9B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,0DAA0D;QAC1D,IAAI,WAAW,EAAE,CAAC;YACd,0DAA0D;YAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAClD,gBAAgB,GAAG,iBAAiB,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,gBAAgB,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,gBAAgB,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,qCAAqC,SAAS,OAAO,UAAU,EAAE,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,SAAS,CAAA;QACzB,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvB,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QAE9D,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpB,2DAA2D;QAC3D,uCAAuC;QACvC,IAAI,oBAAoB,EAAE,CAAC;YACvB,QAAQ,UAAU,EAAE,CAAC;gBACjB,KAAK,KAAK;oBACN,oCAAoC;oBACpC,iDAAiD;oBACjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAChC,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBAC/D,MAAM;gBACV,KAAK,KAAK;oBACN,0BAA0B;oBAC1B,0DAA0D;oBAC1D,oDAAoD;oBACpD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAChC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBACxD,MAAM;gBACV,KAAK,KAAK;oBACN,0BAA0B;oBAC1B,4DAA4D;oBAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAChC,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBACxD,MAAM;gBACV,KAAK,WAAW;oBACZ,gEAAgE;oBAChE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;oBAC5C,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;oBACzE,MAAM;YACd,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;QAE7C,sCAAsC;QACtC,IAAI,oBAAoB,EAAE,CAAC;YACvB,QAAQ,UAAU,EAAE,CAAC;gBACjB,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACN,kCAAkC;oBAClC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACjC,MAAM;gBACV,KAAK,WAAW;oBACZ,0DAA0D;oBAC1D,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACjC,MAAM;YACd,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,cAAc;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtB,GAAG,CAAC,KAAK,CAAC,wBAAwB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,8BAA8B;QAC9B,MAAM,OAAO,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;AACL,CAAC"}
|
|
@@ -15,6 +15,17 @@ export async function dslWorkflow(payload) {
|
|
|
15
15
|
if (!definition) {
|
|
16
16
|
throw new WorkflowParamNotFoundError("workflow");
|
|
17
17
|
}
|
|
18
|
+
// Normalize input: convert legacy objectIds format to new input format
|
|
19
|
+
if (!payload.input && payload.objectIds) {
|
|
20
|
+
payload.input = {
|
|
21
|
+
inputType: 'objectIds',
|
|
22
|
+
objectIds: payload.objectIds
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// Validate that workflow has input
|
|
26
|
+
if (!payload.input && !payload.objectIds) {
|
|
27
|
+
throw new WorkflowParamNotFoundError("input", definition);
|
|
28
|
+
}
|
|
18
29
|
// the base payload will be used to create the activities payload
|
|
19
30
|
const basePayload = {
|
|
20
31
|
...payload,
|
|
@@ -38,12 +49,30 @@ export async function dslWorkflow(payload) {
|
|
|
38
49
|
});
|
|
39
50
|
const defaultProxy = proxyActivities(defaultOptions);
|
|
40
51
|
log.debug("Default activity proxy is ready");
|
|
41
|
-
//
|
|
52
|
+
// Merge default vars with the payload vars and add input variables
|
|
53
|
+
const inputType = payload.input?.inputType || 'objectIds';
|
|
54
|
+
// Extract objectIds and files based on input type
|
|
55
|
+
let objectIds = [];
|
|
56
|
+
let files = [];
|
|
57
|
+
if (payload.input) {
|
|
58
|
+
if (payload.input.inputType === 'objectIds') {
|
|
59
|
+
objectIds = payload.input.objectIds;
|
|
60
|
+
}
|
|
61
|
+
else if (payload.input.inputType === 'files') {
|
|
62
|
+
files = payload.input.files;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
42
65
|
const vars = new Vars({
|
|
43
66
|
...definition.vars,
|
|
44
67
|
...payload.vars,
|
|
45
|
-
|
|
46
|
-
|
|
68
|
+
// Add input type variables
|
|
69
|
+
inputType,
|
|
70
|
+
// Add objectIds variables (for objectIds input or backward compatibility)
|
|
71
|
+
objectIds,
|
|
72
|
+
objectId: objectIds[0],
|
|
73
|
+
// Add files variables (for files input)
|
|
74
|
+
files,
|
|
75
|
+
file: files[0],
|
|
47
76
|
});
|
|
48
77
|
log.info("Executing workflow", { payload });
|
|
49
78
|
// TODO(mhuang): remove patch when all workflows are migrated to v2
|
|
@@ -113,6 +142,10 @@ async function handleError(originalError, basePayload, defaultOptions) {
|
|
|
113
142
|
throw originalError;
|
|
114
143
|
}
|
|
115
144
|
async function startChildWorkflow(step, payload, vars, debug_mode) {
|
|
145
|
+
if (step.condition && !vars.match(step.condition)) {
|
|
146
|
+
log.info("Child workflow skipped: condition not satisfied", { workflow: step.name, condition: step.condition });
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
116
149
|
const resolvedVars = vars.resolve();
|
|
117
150
|
if (step.vars) {
|
|
118
151
|
// copy user vars (from step definition) to the resolved vars, resolving any expressions
|
|
@@ -145,6 +178,10 @@ async function startChildWorkflow(step, payload, vars, debug_mode) {
|
|
|
145
178
|
}
|
|
146
179
|
}
|
|
147
180
|
async function executeChildWorkflow(step, payload, vars, debug_mode) {
|
|
181
|
+
if (step.condition && !vars.match(step.condition)) {
|
|
182
|
+
log.info("Child workflow skipped: condition not satisfied", { workflow: step.name, condition: step.condition });
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
148
185
|
const resolvedVars = vars.resolve();
|
|
149
186
|
if (step.vars) {
|
|
150
187
|
// copy user vars (from step definition) to the resolved vars, resolving any expressions
|
|
@@ -230,7 +267,7 @@ async function runActivity(activity, basePayload, vars, defaultProxy, defaultOpt
|
|
|
230
267
|
}
|
|
231
268
|
const importParams = vars.createImportVars(activity.import);
|
|
232
269
|
const executionPayload = dslActivityPayload(basePayload, activity, importParams);
|
|
233
|
-
log.
|
|
270
|
+
log.debug("Executing activity: " + activity.name, { payload: executionPayload });
|
|
234
271
|
let proxy = defaultProxy;
|
|
235
272
|
if (activity.options) {
|
|
236
273
|
const options = computeActivityOptions(activity.options, defaultOptions);
|
|
@@ -259,14 +296,14 @@ async function runActivity(activity, basePayload, vars, defaultProxy, defaultOpt
|
|
|
259
296
|
"identifyTextSections",
|
|
260
297
|
];
|
|
261
298
|
if (activity.name && rateLimitedActivities.includes(activity.name)) {
|
|
262
|
-
log.
|
|
299
|
+
log.debug(`Applying rate limit for activity ${activity.name}`);
|
|
263
300
|
// Apply rate limiting logic here
|
|
264
301
|
// Check rate limit first - loop until no delay
|
|
265
302
|
const rateLimitParams = buildRateLimitParams(activity, executionPayload);
|
|
266
303
|
const rateLimitPayload = dslActivityPayload(basePayload, activity, rateLimitParams);
|
|
267
304
|
let rateLimitResult = await proxy.checkRateLimit(rateLimitPayload);
|
|
268
305
|
while (rateLimitResult.delayMs > 0) {
|
|
269
|
-
log.
|
|
306
|
+
log.debug(`Rate limit delay applied: ${rateLimitResult.delayMs}ms`);
|
|
270
307
|
await sleep(rateLimitResult.delayMs);
|
|
271
308
|
// Check again after sleeping
|
|
272
309
|
rateLimitResult = await proxy.checkRateLimit(rateLimitPayload);
|
|
@@ -278,7 +315,7 @@ async function runActivity(activity, basePayload, vars, defaultProxy, defaultOpt
|
|
|
278
315
|
log.info("Parallel execution not yet implemented");
|
|
279
316
|
}
|
|
280
317
|
else {
|
|
281
|
-
log.
|
|
318
|
+
log.debug("Executing activity: " + activity.name, { importParams });
|
|
282
319
|
const result = await fn(executionPayload);
|
|
283
320
|
if (activity.output) {
|
|
284
321
|
vars.setValue(activity.output, result);
|