@vertesia/workflow 0.79.0 → 0.80.0-dev-20251118

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.
Files changed (144) hide show
  1. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js +3 -4
  2. package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -1
  3. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +10 -4
  4. package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
  5. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +3 -4
  6. package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -1
  7. package/lib/cjs/activities/chunkDocument.js +1 -2
  8. package/lib/cjs/activities/chunkDocument.js.map +1 -1
  9. package/lib/cjs/activities/executeInteraction.js +5 -4
  10. package/lib/cjs/activities/executeInteraction.js.map +1 -1
  11. package/lib/cjs/activities/generateDocumentProperties.js +2 -3
  12. package/lib/cjs/activities/generateDocumentProperties.js.map +1 -1
  13. package/lib/cjs/activities/generateOrAssignContentType.js +2 -3
  14. package/lib/cjs/activities/generateOrAssignContentType.js.map +1 -1
  15. package/lib/cjs/activities/index-dsl.js +3 -1
  16. package/lib/cjs/activities/index-dsl.js.map +1 -1
  17. package/lib/cjs/activities/media/prepareVideo.js +429 -0
  18. package/lib/cjs/activities/media/prepareVideo.js.map +1 -0
  19. package/lib/cjs/activities/media/transcribeMediaWithGladia.js +48 -15
  20. package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -1
  21. package/lib/cjs/activities/notifyWebhook.js +2 -1
  22. package/lib/cjs/activities/notifyWebhook.js.map +1 -1
  23. package/lib/cjs/dsl/dsl-workflow.js +6 -1
  24. package/lib/cjs/dsl/dsl-workflow.js.map +1 -1
  25. package/lib/cjs/dsl/setup/ActivityContext.js +7 -4
  26. package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -1
  27. package/lib/cjs/errors.js +14 -1
  28. package/lib/cjs/errors.js.map +1 -1
  29. package/lib/cjs/index.js +1 -0
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/iterative-generation/activities/extractToc.js +2 -2
  32. package/lib/cjs/iterative-generation/activities/extractToc.js.map +1 -1
  33. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +7 -4
  34. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -1
  35. package/lib/cjs/iterative-generation/activities/generatePart.js +18 -14
  36. package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -1
  37. package/lib/cjs/iterative-generation/activities/generateToc.js +46 -56
  38. package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -1
  39. package/lib/cjs/iterative-generation/utils.js.map +1 -1
  40. package/lib/cjs/utils/blobs.js +4 -1
  41. package/lib/cjs/utils/blobs.js.map +1 -1
  42. package/lib/cjs/utils/client.js +3 -1
  43. package/lib/cjs/utils/client.js.map +1 -1
  44. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +3 -4
  45. package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -1
  46. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +10 -4
  47. package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
  48. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +3 -4
  49. package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -1
  50. package/lib/esm/activities/chunkDocument.js +1 -2
  51. package/lib/esm/activities/chunkDocument.js.map +1 -1
  52. package/lib/esm/activities/executeInteraction.js +5 -4
  53. package/lib/esm/activities/executeInteraction.js.map +1 -1
  54. package/lib/esm/activities/generateDocumentProperties.js +2 -3
  55. package/lib/esm/activities/generateDocumentProperties.js.map +1 -1
  56. package/lib/esm/activities/generateOrAssignContentType.js +2 -3
  57. package/lib/esm/activities/generateOrAssignContentType.js.map +1 -1
  58. package/lib/esm/activities/index-dsl.js +1 -0
  59. package/lib/esm/activities/index-dsl.js.map +1 -1
  60. package/lib/esm/activities/media/prepareVideo.js +390 -0
  61. package/lib/esm/activities/media/prepareVideo.js.map +1 -0
  62. package/lib/esm/activities/media/transcribeMediaWithGladia.js +50 -17
  63. package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -1
  64. package/lib/esm/activities/notifyWebhook.js +2 -1
  65. package/lib/esm/activities/notifyWebhook.js.map +1 -1
  66. package/lib/esm/dsl/dsl-workflow.js +6 -1
  67. package/lib/esm/dsl/dsl-workflow.js.map +1 -1
  68. package/lib/esm/dsl/setup/ActivityContext.js +10 -7
  69. package/lib/esm/dsl/setup/ActivityContext.js.map +1 -1
  70. package/lib/esm/errors.js +12 -0
  71. package/lib/esm/errors.js.map +1 -1
  72. package/lib/esm/index.js +1 -0
  73. package/lib/esm/index.js.map +1 -1
  74. package/lib/esm/iterative-generation/activities/extractToc.js +3 -3
  75. package/lib/esm/iterative-generation/activities/extractToc.js.map +1 -1
  76. package/lib/esm/iterative-generation/activities/finalizeOutput.js +9 -6
  77. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -1
  78. package/lib/esm/iterative-generation/activities/generatePart.js +19 -15
  79. package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -1
  80. package/lib/esm/iterative-generation/activities/generateToc.js +46 -56
  81. package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -1
  82. package/lib/esm/iterative-generation/utils.js.map +1 -1
  83. package/lib/esm/utils/blobs.js +4 -1
  84. package/lib/esm/utils/blobs.js.map +1 -1
  85. package/lib/esm/utils/client.js +4 -2
  86. package/lib/esm/utils/client.js.map +1 -1
  87. package/lib/tsconfig.tsbuildinfo +1 -1
  88. package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -1
  89. package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -1
  90. package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -1
  91. package/lib/types/activities/chunkDocument.d.ts.map +1 -1
  92. package/lib/types/activities/executeInteraction.d.ts +1 -1
  93. package/lib/types/activities/executeInteraction.d.ts.map +1 -1
  94. package/lib/types/activities/generateDocumentProperties.d.ts.map +1 -1
  95. package/lib/types/activities/generateOrAssignContentType.d.ts.map +1 -1
  96. package/lib/types/activities/index-dsl.d.ts +1 -0
  97. package/lib/types/activities/index-dsl.d.ts.map +1 -1
  98. package/lib/types/activities/media/prepareVideo.d.ts +30 -0
  99. package/lib/types/activities/media/prepareVideo.d.ts.map +1 -0
  100. package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -1
  101. package/lib/types/dsl/dsl-workflow.d.ts.map +1 -1
  102. package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -1
  103. package/lib/types/errors.d.ts +6 -0
  104. package/lib/types/errors.d.ts.map +1 -1
  105. package/lib/types/index.d.ts +1 -0
  106. package/lib/types/index.d.ts.map +1 -1
  107. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +1 -1
  108. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +1 -1
  109. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +1 -1
  110. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +1 -1
  111. package/lib/types/iterative-generation/utils.d.ts +3 -4
  112. package/lib/types/iterative-generation/utils.d.ts.map +1 -1
  113. package/lib/types/utils/blobs.d.ts.map +1 -1
  114. package/lib/types/utils/client.d.ts +2 -6
  115. package/lib/types/utils/client.d.ts.map +1 -1
  116. package/lib/workflows-bundle.js +9494 -6518
  117. package/package.json +127 -127
  118. package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +4 -6
  119. package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +10 -4
  120. package/src/activities/advanced/updateDocumentFromInteractionRun.ts +3 -5
  121. package/src/activities/chunkDocument.ts +1 -2
  122. package/src/activities/executeInteraction.ts +13 -11
  123. package/src/activities/generateDocumentProperties.ts +2 -3
  124. package/src/activities/generateOrAssignContentType.ts +2 -3
  125. package/src/activities/index-dsl.ts +1 -0
  126. package/src/activities/media/prepareVideo.ts +622 -0
  127. package/src/activities/media/transcribeMediaWithGladia.ts +52 -21
  128. package/src/activities/notifyWebhook.test.ts +1 -1
  129. package/src/activities/notifyWebhook.ts +2 -1
  130. package/src/dsl/dsl-workflow.ts +7 -1
  131. package/src/dsl/setup/ActivityContext.ts +45 -12
  132. package/src/dsl/workflow-exec-child.test.ts +3 -3
  133. package/src/dsl/workflow-fetch.test.ts +1 -1
  134. package/src/dsl/workflow-import.test.ts +1 -1
  135. package/src/dsl/workflow.test.ts +1 -1
  136. package/src/errors.ts +15 -0
  137. package/src/index.ts +1 -0
  138. package/src/iterative-generation/activities/extractToc.ts +26 -12
  139. package/src/iterative-generation/activities/finalizeOutput.ts +52 -29
  140. package/src/iterative-generation/activities/generatePart.ts +65 -25
  141. package/src/iterative-generation/activities/generateToc.ts +79 -67
  142. package/src/iterative-generation/utils.ts +4 -5
  143. package/src/utils/blobs.ts +3 -1
  144. package/src/utils/client.ts +22 -8
@@ -0,0 +1,429 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.prepareVideo = prepareVideo;
40
+ const activity_1 = require("@temporalio/activity");
41
+ const common_1 = require("@vertesia/common");
42
+ const child_process_1 = require("child_process");
43
+ const fs_1 = __importDefault(require("fs"));
44
+ const os_1 = __importDefault(require("os"));
45
+ const path_1 = __importDefault(require("path"));
46
+ const util_1 = require("util");
47
+ const ActivityContext_js_1 = require("../../dsl/setup/ActivityContext.js");
48
+ const errors_js_1 = require("../../errors.js");
49
+ const blobs_js_1 = require("../../utils/blobs.js");
50
+ const api_fetch_client_1 = require("@vertesia/api-fetch-client");
51
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
52
+ // Default configuration constants
53
+ const DEFAULT_MAX_RESOLUTION = 1920; // Max resolution for video rendition (produces 1080p)
54
+ const DEFAULT_THUMBNAIL_SIZE = 256; // Thumbnail longest side in pixels
55
+ const DEFAULT_POSTER_SIZE = 1920; // Poster longest side in pixels
56
+ const DEFAULT_GENERATE_AUDIO = true; // Generate audio-only rendition by default
57
+ // Timestamp calculation constants for screenshots
58
+ const THUMBNAIL_TIMESTAMP_RATIO = 0.25; // Extract thumbnail at 25% of video duration
59
+ const POSTER_TIMESTAMP_RATIO = 0.05; // Extract poster at 5% of video duration
60
+ const POSTER_TIMESTAMP_MAX = 2; // Maximum poster timestamp in seconds
61
+ const MIN_SCREENSHOT_TIMESTAMP = 1; // Minimum timestamp for screenshots in seconds
62
+ // FFmpeg configuration constants
63
+ const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10; // 10MB buffer for ffmpeg output
64
+ const VIDEO_CRF = '23'; // Constant Rate Factor for video quality (18-28, lower = better)
65
+ const AUDIO_BITRATE = '128k'; // Audio bitrate for AAC encoding
66
+ const JPEG_QUALITY = '2'; // JPEG quality for screenshots (1-31, lower = better)
67
+ /**
68
+ * Extract comprehensive video metadata using ffprobe
69
+ */
70
+ async function getVideoMetadata(videoPath) {
71
+ try {
72
+ const command = `ffprobe -v quiet -print_format json -show_format -show_streams "${videoPath}"`;
73
+ const { stdout } = await execAsync(command);
74
+ const metadata = JSON.parse(stdout);
75
+ const videoStream = metadata.streams.find((stream) => stream.codec_type === 'video');
76
+ if (!videoStream) {
77
+ throw new Error('No video stream found in file');
78
+ }
79
+ const duration = parseFloat(metadata.format.duration ?? '0') || 0;
80
+ const width = videoStream.width || 0;
81
+ const height = videoStream.height || 0;
82
+ const codec = videoStream.codec_name || 'unknown';
83
+ const bitrate = parseInt(metadata.format.bit_rate ?? '0', 10) || 0;
84
+ // Calculate FPS from r_frame_rate (e.g., "30/1" or "24000/1001")
85
+ let fps = 0;
86
+ if (videoStream.r_frame_rate) {
87
+ const [num, den] = videoStream.r_frame_rate.split('/').map(Number);
88
+ fps = den > 0 ? num / den : 0;
89
+ }
90
+ // Check if video has an audio stream
91
+ const audioStream = metadata.streams.find((stream) => stream.codec_type === 'audio');
92
+ const hasAudio = !!audioStream;
93
+ return { duration, width, height, codec, bitrate, fps, hasAudio };
94
+ }
95
+ catch (error) {
96
+ activity_1.log.error(`Failed to get video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
97
+ throw new Error(`Failed to probe video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
98
+ }
99
+ }
100
+ /**
101
+ * Calculate scaled dimensions maintaining aspect ratio
102
+ * Scales based on longest side, ensuring dimensions are even (required for H.264)
103
+ */
104
+ function calculateScaledDimensions(width, height, maxResolution) {
105
+ const longestSide = Math.max(width, height);
106
+ let newWidth;
107
+ let newHeight;
108
+ if (longestSide > maxResolution) {
109
+ // Scale down if video is larger than max resolution
110
+ const scale = maxResolution / longestSide;
111
+ newWidth = Math.floor(width * scale);
112
+ newHeight = Math.floor(height * scale);
113
+ }
114
+ else {
115
+ // Keep original dimensions if video is smaller
116
+ newWidth = width;
117
+ newHeight = height;
118
+ }
119
+ // Ensure dimensions are divisible by 2 (required for H.264/image processing)
120
+ const adjustedWidth = newWidth % 2 === 0 ? newWidth : newWidth - 1;
121
+ const adjustedHeight = newHeight % 2 === 0 ? newHeight : newHeight - 1;
122
+ return { width: adjustedWidth, height: adjustedHeight };
123
+ }
124
+ /**
125
+ * Generate a video rendition with resolution limited to maxResolution (e.g., 1080p)
126
+ * Uses H.264 codec for broad compatibility
127
+ */
128
+ async function generateVideoRendition(videoPath, outputDir, metadata, maxResolution) {
129
+ const outputFile = path_1.default.join(outputDir, `rendition_${maxResolution}p.mp4`);
130
+ // Calculate scaled dimensions
131
+ const dimensions = calculateScaledDimensions(metadata.width, metadata.height, maxResolution);
132
+ activity_1.log.info(`Video rendition dimensions: ${metadata.width}x${metadata.height} -> ${dimensions.width}x${dimensions.height}`);
133
+ // Combine scale with color space conversion for maximum web compatibility
134
+ // format=yuv420p converts to 4:2:0 chroma subsampling (from ProRes 4:2:2 or higher)
135
+ const videoFilters = `scale=${dimensions.width}:${dimensions.height},format=yuv420p`;
136
+ const command = [
137
+ 'ffmpeg',
138
+ '-y', // Overwrite output
139
+ '-i', `"${videoPath}"`,
140
+ '-vf', `"${videoFilters}"`,
141
+ '-c:v', 'libx264', // H.264 codec
142
+ '-preset', 'medium', // Balance between speed and compression
143
+ '-crf', VIDEO_CRF, // Constant Rate Factor (18-28, lower = better quality)
144
+ '-pix_fmt', 'yuv420p', // Explicitly set pixel format for compatibility
145
+ '-c:a', 'aac', // Audio codec
146
+ '-b:a', AUDIO_BITRATE, // Audio bitrate
147
+ '-movflags', '+faststart', // Enable streaming
148
+ '-max_muxing_queue_size', '1024', // Prevent muxing issues
149
+ `"${outputFile}"`,
150
+ ].join(' ');
151
+ activity_1.log.info(`Generating ${maxResolution}p video rendition`, { command });
152
+ try {
153
+ const { stderr } = await execAsync(command, { maxBuffer: FFMPEG_MAX_BUFFER });
154
+ if (stderr && !stderr.includes('frame=')) {
155
+ activity_1.log.debug(`FFmpeg stderr for video rendition: ${stderr}`);
156
+ }
157
+ // Verify output file was created
158
+ try {
159
+ await fs_1.default.promises.access(outputFile, fs_1.default.constants.F_OK);
160
+ activity_1.log.info(`Generated ${maxResolution}p video rendition: ${outputFile}`);
161
+ return {
162
+ file: outputFile,
163
+ width: dimensions.width,
164
+ height: dimensions.height,
165
+ };
166
+ }
167
+ catch {
168
+ activity_1.log.warn(`Video rendition not generated`);
169
+ return null;
170
+ }
171
+ }
172
+ catch (error) {
173
+ activity_1.log.error(`Failed to generate video rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
174
+ return null;
175
+ }
176
+ }
177
+ /**
178
+ * Extract audio track from video as AAC audio file
179
+ */
180
+ async function generateAudioRendition(videoPath, outputDir) {
181
+ const outputFile = path_1.default.join(outputDir, 'audio.m4a');
182
+ const command = [
183
+ 'ffmpeg',
184
+ '-y', // Overwrite output
185
+ '-i', `"${videoPath}"`,
186
+ '-vn', // No video
187
+ '-c:a', 'aac', // Audio codec
188
+ '-b:a', AUDIO_BITRATE, // Audio bitrate
189
+ `"${outputFile}"`,
190
+ ].join(' ');
191
+ activity_1.log.info('Generating audio-only rendition', { command });
192
+ try {
193
+ const { stderr } = await execAsync(command, { maxBuffer: FFMPEG_MAX_BUFFER });
194
+ if (stderr && !stderr.includes('frame=')) {
195
+ activity_1.log.debug(`FFmpeg stderr for audio rendition: ${stderr}`);
196
+ }
197
+ // Verify output file was created
198
+ try {
199
+ await fs_1.default.promises.access(outputFile, fs_1.default.constants.F_OK);
200
+ activity_1.log.info(`Generated audio rendition: ${outputFile}`);
201
+ return outputFile;
202
+ }
203
+ catch {
204
+ activity_1.log.warn('Audio rendition not generated');
205
+ return null;
206
+ }
207
+ }
208
+ catch (error) {
209
+ activity_1.log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
210
+ return null;
211
+ }
212
+ }
213
+ /**
214
+ * Extract a screenshot frame from the video at a specific timestamp
215
+ */
216
+ async function generateScreenshot(videoPath, outputDir, timestamp, maxSize, name, metadata) {
217
+ const outputFile = path_1.default.join(outputDir, `${name}.jpg`);
218
+ // Calculate scaled dimensions
219
+ const dimensions = calculateScaledDimensions(metadata.width, metadata.height, maxSize);
220
+ const scaleFilter = `scale=${dimensions.width}:${dimensions.height}`;
221
+ const command = [
222
+ 'ffmpeg',
223
+ '-y',
224
+ '-ss', timestamp.toString(),
225
+ '-i', `"${videoPath}"`,
226
+ '-vframes', '1',
227
+ '-vf', `"${scaleFilter}"`,
228
+ '-q:v', JPEG_QUALITY, // High quality JPEG
229
+ `"${outputFile}"`,
230
+ ].join(' ');
231
+ activity_1.log.info(`Generating ${name} at ${timestamp}s`, { command });
232
+ try {
233
+ const { stderr } = await execAsync(command);
234
+ if (stderr && !stderr.includes('frame=')) {
235
+ activity_1.log.debug(`FFmpeg stderr for ${name}: ${stderr}`);
236
+ }
237
+ // Verify output file was created
238
+ try {
239
+ await fs_1.default.promises.access(outputFile, fs_1.default.constants.F_OK);
240
+ activity_1.log.info(`Generated ${name}: ${outputFile}`);
241
+ return {
242
+ file: outputFile,
243
+ width: dimensions.width,
244
+ height: dimensions.height,
245
+ };
246
+ }
247
+ catch {
248
+ activity_1.log.warn(`${name} not generated`);
249
+ return null;
250
+ }
251
+ }
252
+ catch (error) {
253
+ activity_1.log.error(`Failed to generate ${name}: ${error instanceof Error ? error.message : 'Unknown error'}`);
254
+ return null;
255
+ }
256
+ }
257
+ /**
258
+ * Upload a file to the storage and return its URI
259
+ */
260
+ async function uploadFile(client, filePath, mimeType, fileName, storagePath) {
261
+ const { NodeStreamSource } = await Promise.resolve().then(() => __importStar(require('@vertesia/client/node')));
262
+ const fileStream = fs_1.default.createReadStream(filePath);
263
+ const source = new NodeStreamSource(fileStream, fileName, mimeType, storagePath);
264
+ const result = await client.files.uploadFile(source);
265
+ activity_1.log.info(`Uploaded file to ${storagePath}`, { result });
266
+ return result;
267
+ }
268
+ /**
269
+ * Upload a media result and create a rendition entry
270
+ */
271
+ async function uploadMediaAsRendition(client, result, renditionName, fileName, mimeType, etag, pathSegment) {
272
+ const storagePath = `renditions/${etag}/${pathSegment}/${fileName}`;
273
+ const uri = await uploadFile(client, result.file, mimeType, fileName, storagePath);
274
+ return {
275
+ name: renditionName,
276
+ dimensions: {
277
+ width: result.width,
278
+ height: result.height,
279
+ },
280
+ content: {
281
+ source: uri,
282
+ type: mimeType,
283
+ name: fileName,
284
+ },
285
+ };
286
+ }
287
+ /**
288
+ * Main activity: Prepare video by extracting metadata and generating renditions
289
+ */
290
+ async function prepareVideo(payload) {
291
+ const { client, objectId, params, } = await (0, ActivityContext_js_1.setupActivity)(payload);
292
+ const maxResolution = params.maxResolution ?? DEFAULT_MAX_RESOLUTION;
293
+ const thumbnailSize = params.thumbnailSize ?? DEFAULT_THUMBNAIL_SIZE;
294
+ const posterSize = params.posterSize ?? DEFAULT_POSTER_SIZE;
295
+ const generateAudio = params.generateAudio ?? DEFAULT_GENERATE_AUDIO;
296
+ activity_1.log.info(`Preparing video for ${objectId}`, {
297
+ maxResolution,
298
+ thumbnailSize,
299
+ posterSize,
300
+ });
301
+ // Retrieve the content object
302
+ const inputObject = await client.objects.retrieve(objectId).catch((err) => {
303
+ activity_1.log.error(`Failed to retrieve document ${objectId}`, { err });
304
+ if (err instanceof api_fetch_client_1.RequestError && err.status === 404) {
305
+ throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} not found`, [objectId]);
306
+ }
307
+ throw err;
308
+ });
309
+ if (!inputObject.content?.source) {
310
+ activity_1.log.error(`Document ${objectId} has no source`);
311
+ throw new errors_js_1.DocumentNotFoundError(`Document ${objectId} has no source`, [objectId]);
312
+ }
313
+ if (!inputObject.content.type || !inputObject.content.type.startsWith('video/')) {
314
+ activity_1.log.error(`Document ${objectId} is not a video: ${inputObject.content.type}`);
315
+ throw new errors_js_1.InvalidContentTypeError(objectId, 'video/*', inputObject.content.type || 'unknown');
316
+ }
317
+ // Download video to temp file
318
+ const videoFile = await (0, blobs_js_1.saveBlobToTempFile)(client, inputObject.content.source);
319
+ const tempOutputDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'prepare-video-'));
320
+ try {
321
+ // Step 1: Extract video metadata
322
+ activity_1.log.info('Extracting video metadata');
323
+ const metadata = await getVideoMetadata(videoFile);
324
+ // Step 2: Generate video rendition
325
+ activity_1.log.info('Generating video rendition');
326
+ const renditionResult = await generateVideoRendition(videoFile, tempOutputDir, metadata, maxResolution);
327
+ // Step 3 & 4: Generate thumbnail and poster in parallel
328
+ activity_1.log.info('Generating thumbnail and poster');
329
+ const thumbnailTimestamp = Math.max(metadata.duration * THUMBNAIL_TIMESTAMP_RATIO, MIN_SCREENSHOT_TIMESTAMP);
330
+ const posterTimestamp = Math.max(Math.min(metadata.duration * POSTER_TIMESTAMP_RATIO, POSTER_TIMESTAMP_MAX), MIN_SCREENSHOT_TIMESTAMP);
331
+ const [thumbnailResult, posterResult] = await Promise.all([
332
+ generateScreenshot(videoFile, tempOutputDir, thumbnailTimestamp, thumbnailSize, 'thumbnail', metadata),
333
+ generateScreenshot(videoFile, tempOutputDir, posterTimestamp, posterSize, 'poster', metadata),
334
+ ]);
335
+ // Step 5: Generate audio rendition (if video has audio and requested)
336
+ let audioFile = null;
337
+ if (generateAudio && metadata.hasAudio) {
338
+ activity_1.log.info('Generating audio rendition');
339
+ audioFile = await generateAudioRendition(videoFile, tempOutputDir);
340
+ }
341
+ else if (generateAudio && !metadata.hasAudio) {
342
+ activity_1.log.info('Skipping audio rendition - video has no audio track');
343
+ }
344
+ // Step 6: Upload generated files
345
+ const renditions = [];
346
+ const etag = inputObject.content.etag ?? inputObject.id;
347
+ if (renditionResult) {
348
+ const videoRendition = await uploadMediaAsRendition(client, renditionResult, common_1.WEB_VIDEO_RENDITION_NAME, `${maxResolution}px.mp4`, 'video/mp4', etag, 'video');
349
+ renditions.push(videoRendition);
350
+ }
351
+ if (thumbnailResult) {
352
+ const fileName = 'thumbnail.jpg';
353
+ const storagePath = `renditions/${etag}/${thumbnailSize}/${fileName}`;
354
+ await uploadFile(client, thumbnailResult.file, 'image/jpeg', fileName, storagePath);
355
+ }
356
+ if (posterResult) {
357
+ const posterRendition = await uploadMediaAsRendition(client, posterResult, common_1.POSTER_RENDITION_NAME, 'poster.jpg', 'image/jpeg', etag, `${posterSize}`);
358
+ renditions.push(posterRendition);
359
+ }
360
+ if (audioFile) {
361
+ const audioRendition = await uploadMediaAsRendition(client, { file: audioFile, width: 0, height: 0 }, common_1.AUDIO_RENDITION_NAME, 'audio.m4a', 'audio/mp4', etag, 'audio');
362
+ renditions.push(audioRendition);
363
+ }
364
+ // Step 7: Update content object with metadata and renditions
365
+ const videoMetadata = {
366
+ type: common_1.ContentNature.Video,
367
+ duration: metadata.duration,
368
+ dimensions: {
369
+ width: metadata.width,
370
+ height: metadata.height,
371
+ },
372
+ renditions,
373
+ hasAudio: metadata.hasAudio,
374
+ generation_runs: inputObject.metadata?.generation_runs || [],
375
+ };
376
+ await client.objects.update(objectId, {
377
+ metadata: videoMetadata,
378
+ });
379
+ activity_1.log.info(`Successfully prepared video ${objectId}`, {
380
+ duration: metadata.duration,
381
+ dimensions: `${metadata.width}x${metadata.height}`,
382
+ codec: metadata.codec,
383
+ bitrate: metadata.bitrate,
384
+ fps: metadata.fps,
385
+ hasAudio: metadata.hasAudio,
386
+ renditionsGenerated: renditions.length,
387
+ });
388
+ return {
389
+ objectId,
390
+ metadata: {
391
+ duration: metadata.duration,
392
+ width: metadata.width,
393
+ height: metadata.height,
394
+ codec: metadata.codec,
395
+ bitrate: metadata.bitrate,
396
+ fps: metadata.fps,
397
+ hasAudio: metadata.hasAudio,
398
+ },
399
+ renditions: renditions,
400
+ status: 'success',
401
+ };
402
+ }
403
+ catch (error) {
404
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
405
+ activity_1.log.error(`Error preparing video: ${errorMessage}`, { error });
406
+ // Re-throw known errors as-is
407
+ if (error instanceof errors_js_1.DocumentNotFoundError || error instanceof errors_js_1.InvalidContentTypeError) {
408
+ throw error;
409
+ }
410
+ // Wrap unknown errors in Error
411
+ throw new Error(`Failed to prepare video ${objectId}: ${errorMessage}`);
412
+ }
413
+ finally {
414
+ // Clean up temporary files
415
+ const cleanupPromises = [];
416
+ if (videoFile) {
417
+ cleanupPromises.push(fs_1.default.promises.unlink(videoFile).catch((err) => {
418
+ activity_1.log.warn(`Failed to cleanup video file: ${videoFile}`, { err });
419
+ }));
420
+ }
421
+ if (tempOutputDir) {
422
+ cleanupPromises.push(fs_1.default.promises.rm(tempOutputDir, { recursive: true, force: true }).catch((err) => {
423
+ activity_1.log.warn(`Failed to cleanup temp directory: ${tempOutputDir}`, { err });
424
+ }));
425
+ }
426
+ await Promise.allSettled(cleanupPromises);
427
+ }
428
+ }
429
+ //# sourceMappingURL=prepareVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareVideo.js","sourceRoot":"","sources":["../../../../src/activities/media/prepareVideo.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,12 @@ async function transcribeMedia(payload) {
12
12
  const { params, client, objectId } = await (0, ActivityContext_js_1.setupActivity)(payload);
13
13
  const gladiaConfig = await client.projects.integrations.retrieve(payload.project_id, common_1.SupportedIntegrations.gladia);
14
14
  if (!gladiaConfig || !gladiaConfig.enabled) {
15
- throw new errors_js_1.DocumentNotFoundError("Gladia integration not enabled");
15
+ return {
16
+ hasText: false,
17
+ objectId,
18
+ status: index_js_1.TextExtractionStatus.error,
19
+ error: "Gladia integration not enabled",
20
+ };
16
21
  }
17
22
  const object = await client.objects.retrieve(objectId, "+text");
18
23
  const gladiaClient = new api_fetch_client_1.FetchClient(gladiaConfig.url ?? GLADIA_URL);
@@ -23,27 +28,55 @@ async function transcribeMedia(payload) {
23
28
  if (!object.content?.source) {
24
29
  throw new errors_js_1.DocumentNotFoundError(`No source found for object ${objectId}`);
25
30
  }
26
- const mediaUrl = await client.store.objects.getContentSource(objectId).then(res => res.source);
31
+ // Check for audio rendition in video metadata (preferred for videos)
32
+ let mediaSource = object.content.source;
33
+ if (object.metadata?.type === common_1.ContentNature.Video) {
34
+ const videoMetadata = object.metadata;
35
+ const audioRendition = videoMetadata.renditions?.find(r => r.name === common_1.AUDIO_RENDITION_NAME);
36
+ if (audioRendition?.content?.source) {
37
+ mediaSource = audioRendition.content.source;
38
+ activity_1.log.info(`Found audio rendition for video object ${objectId}`, { mediaSource });
39
+ }
40
+ }
41
+ // Get download URL for the media source
42
+ const { url: mediaUrl } = await client.files.getDownloadUrl(mediaSource);
27
43
  if (!mediaUrl) {
28
- throw new errors_js_1.DocumentNotFoundError(`Error fetching source ${object.content.source}`);
44
+ throw new errors_js_1.DocumentNotFoundError(`Error fetching media URL for ${mediaSource}`);
29
45
  }
46
+ activity_1.log.info(`Using media URL for transcription`, { objectId, mediaUrl: mediaSource });
30
47
  const taskToken = Buffer.from((0, activity_1.activityInfo)().taskToken).toString('base64url');
31
48
  const callbackUrl = generateCallbackUrlForGladia(client.store.baseUrl, payload.auth_token, taskToken, objectId);
32
49
  activity_1.log.info(`Transcribing media ${mediaUrl} with Gladia`, { objectId, callbackUrl });
33
- const res = await gladiaClient.post("/transcription", {
34
- payload: {
35
- audio_url: mediaUrl,
36
- callback_url: callbackUrl,
37
- diarization_enhanced: true,
38
- enable_code_switching: true,
39
- subtitles: true,
40
- subtitles_config: {
41
- formats: ["vtt"],
50
+ try {
51
+ const res = await gladiaClient.post("/transcription", {
52
+ payload: {
53
+ audio_url: mediaUrl,
54
+ callback_url: callbackUrl,
55
+ diarization_enhanced: true,
56
+ enable_code_switching: true,
57
+ subtitles: true,
58
+ subtitles_config: {
59
+ formats: ["vtt"],
60
+ }
42
61
  }
62
+ });
63
+ activity_1.log.info(`Transcription request sent to Gladia`, { objectId, res });
64
+ throw new activity_1.CompleteAsyncError();
65
+ }
66
+ catch (error) {
67
+ if (error instanceof api_fetch_client_1.RequestError && error.status === 422) {
68
+ return {
69
+ hasText: false,
70
+ objectId,
71
+ status: index_js_1.TextExtractionStatus.error,
72
+ error: `Gladia transcription error: ${error.message}`,
73
+ };
43
74
  }
44
- });
45
- activity_1.log.info(`Transcription request sent to Gladia`, { objectId, res });
46
- throw new activity_1.CompleteAsyncError();
75
+ else {
76
+ activity_1.log.error(`Error sending transcription request to Gladia for object ${objectId}`, { error });
77
+ throw error;
78
+ }
79
+ }
47
80
  }
48
81
  function generateCallbackUrlForGladia(baseUrl, authToken, taskToken, objectId) {
49
82
  return `${baseUrl}/api/v1/webhooks/gladia/${objectId}?access_token=${authToken}&task_token=${taskToken}`;
@@ -1 +1 @@
1
- {"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcribeMediaWithGladia.js","sourceRoot":"","sources":["../../../../src/activities/media/transcribeMediaWithGladia.ts"],"names":[],"mappings":"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"}
@@ -138,7 +138,8 @@ async function createOldRequestBody(payload, params) {
138
138
  let data = params.detail;
139
139
  if (data && data.run_id && params.event_name === "workflow_completed" && params.workflow_type === 'ExecuteInteractionWorkflow') {
140
140
  const client = getVersionedVertesiaClient(payload, null); //ensure client is using no specific version
141
- const run = await client.runs.retrieve(data.run_id);
141
+ // Important Note: we cannot use client.runs.retrieve since it will transform the run result to the new format because of InteractionOutput
142
+ const run = await client.runs.get(data.run_id);
142
143
  // since we use an unversioned client the run will be in old format so we don't need to tranform the result
143
144
  const result = run.result;
144
145
  data = {
@@ -1 +1 @@
1
- {"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifyWebhook.js","sourceRoot":"","sources":["../../../src/activities/notifyWebhook.ts"],"names":[],"mappings":";;AAgCA,sCAuDC;AAvFD,mDAA2C;AAC3C,6CAAkD;AAClD,6CAAuI;AACvI,wEAAgE;AAChE,4CAA0D;AAC1D,kDAA8D;AA2BvD,KAAK,UAAU,aAAa,CAAC,OAAyD;IAEzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAa,EAAsB,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,sCAA0B,CAAC,YAAY,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,4BAA4B;IAEhF,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,cAAG,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,cAAG,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,cAAG,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,cAAG,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,oBAAW,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,uBAAc,CAAC,IAAA,oCAAwB,EAAC,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;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC"}
@@ -190,7 +190,12 @@ async function executeChildWorkflow(step, payload, vars, debug_mode) {
190
190
  }
191
191
  }
192
192
  function buildRateLimitParams(activity, executionPayload) {
193
- const params = executionPayload.params;
193
+ // resolve payload params
194
+ const vars = new vars_js_1.Vars({
195
+ ...executionPayload.params, // imported params (doesn't contain expressions)
196
+ ...executionPayload.activity.params, // activity params (may contain expressions)
197
+ });
198
+ const params = vars.resolve();
194
199
  let interactionId;
195
200
  switch (activity.name) {
196
201
  case "executeInteraction":