@vertesia/workflow 1.5.0-dev.20260714.072725Z → 1.5.0-dev.20260722.120446Z

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 (58) hide show
  1. package/lib/activities/generateDocumentProperties.d.ts +54 -13
  2. package/lib/activities/generateDocumentProperties.d.ts.map +1 -1
  3. package/lib/activities/generateDocumentProperties.js +109 -34
  4. package/lib/activities/generateDocumentProperties.js.map +1 -1
  5. package/lib/activities/generateEmbeddings.d.ts.map +1 -1
  6. package/lib/activities/generateEmbeddings.js +14 -22
  7. package/lib/activities/generateEmbeddings.js.map +1 -1
  8. package/lib/activities/generateOrAssignContentType.d.ts +6 -16
  9. package/lib/activities/generateOrAssignContentType.d.ts.map +1 -1
  10. package/lib/activities/generateOrAssignContentType.js +70 -19
  11. package/lib/activities/generateOrAssignContentType.js.map +1 -1
  12. package/lib/activities/media/exec.d.ts +60 -0
  13. package/lib/activities/media/exec.d.ts.map +1 -0
  14. package/lib/activities/media/exec.js +212 -0
  15. package/lib/activities/media/exec.js.map +1 -0
  16. package/lib/activities/media/prepareAudio.d.ts.map +1 -1
  17. package/lib/activities/media/prepareAudio.js +7 -6
  18. package/lib/activities/media/prepareAudio.js.map +1 -1
  19. package/lib/activities/media/prepareVideo.d.ts +5 -0
  20. package/lib/activities/media/prepareVideo.d.ts.map +1 -1
  21. package/lib/activities/media/prepareVideo.js +37 -13
  22. package/lib/activities/media/prepareVideo.js.map +1 -1
  23. package/lib/activities/media/probeMediaStreams.d.ts.map +1 -1
  24. package/lib/activities/media/probeMediaStreams.js +7 -6
  25. package/lib/activities/media/probeMediaStreams.js.map +1 -1
  26. package/lib/activities/renditions/generateVideoRendition.d.ts.map +1 -1
  27. package/lib/activities/renditions/generateVideoRendition.js +7 -5
  28. package/lib/activities/renditions/generateVideoRendition.js.map +1 -1
  29. package/lib/dsl/dsl-workflow.js +3 -0
  30. package/lib/dsl/dsl-workflow.js.map +1 -1
  31. package/lib/dsl/dslProxyActivities.d.ts +1 -0
  32. package/lib/dsl/dslProxyActivities.d.ts.map +1 -1
  33. package/lib/dsl/dslProxyActivities.js +9 -0
  34. package/lib/dsl/dslProxyActivities.js.map +1 -1
  35. package/lib/errors.d.ts.map +1 -1
  36. package/lib/errors.js +5 -0
  37. package/lib/errors.js.map +1 -1
  38. package/lib/workflows-bundle.js +16111 -6668
  39. package/package.json +17 -16
  40. package/src/activities/generateDocumentProperties.test.ts +642 -0
  41. package/src/activities/generateDocumentProperties.ts +187 -43
  42. package/src/activities/generateEmbeddings.test.ts +114 -0
  43. package/src/activities/generateEmbeddings.ts +17 -24
  44. package/src/activities/generateOrAssignContentType.test.ts +196 -0
  45. package/src/activities/generateOrAssignContentType.ts +115 -30
  46. package/src/activities/media/exec.test.ts +194 -0
  47. package/src/activities/media/exec.ts +265 -0
  48. package/src/activities/media/prepareAudio.ts +12 -7
  49. package/src/activities/media/prepareVideo.test.ts +27 -0
  50. package/src/activities/media/prepareVideo.ts +54 -18
  51. package/src/activities/media/probeMediaStreams.test.ts +7 -8
  52. package/src/activities/media/probeMediaStreams.ts +11 -7
  53. package/src/activities/renditions/generateVideoRendition.ts +12 -6
  54. package/src/dsl/dsl-workflow.test.ts +4 -0
  55. package/src/dsl/dsl-workflow.ts +3 -0
  56. package/src/dsl/dslProxyActivities.test.ts +23 -0
  57. package/src/dsl/dslProxyActivities.ts +11 -0
  58. package/src/errors.ts +5 -0
@@ -1,5 +1,5 @@
1
1
  import { ApplicationFailure, log } from '@temporalio/activity';
2
- import { ImageRenditionFormat, } from '@vertesia/common';
2
+ import { ImageRenditionFormat, PDF_RENDITION_NAME, } from '@vertesia/common';
3
3
  import { setupActivity } from '../dsl/setup/ActivityContext.js';
4
4
  import { truncByMaxTokens } from '../utils/tokens.js';
5
5
  import { executeInteractionFromActivity } from './executeInteraction.js';
@@ -16,12 +16,23 @@ function toRetryableError(error) {
16
16
  }
17
17
  return new Error(String(error));
18
18
  }
19
+ function getPdfRenditionContent(doc) {
20
+ const renditions = doc.metadata?.renditions;
21
+ if (!Array.isArray(renditions)) {
22
+ return undefined;
23
+ }
24
+ const pdfRendition = renditions.find((rendition) => typeof rendition === 'object' &&
25
+ rendition !== null &&
26
+ rendition.name === PDF_RENDITION_NAME &&
27
+ typeof rendition.content?.source === 'string');
28
+ return pdfRendition?.content;
29
+ }
19
30
  export async function generateOrAssignContentType(payload) {
20
31
  const context = await setupActivity(payload);
21
32
  const { params, client, objectId } = context;
22
33
  const interactionName = params.interactionNames?.selectDocumentType ?? INT_SELECT_DOCUMENT_TYPE;
23
34
  log.debug(`SelectDocumentType for object: ${objectId}`, { payload });
24
- const object = await client.objects.retrieve(objectId, '+text');
35
+ const object = await client.objects.retrieve(objectId, '+text +metadata +content');
25
36
  //Expects object.type to be null on first ingestion of content
26
37
  //User initiated Content Type change via the Composable UI,
27
38
  //sets object.type to null when they let Composable choose for them.
@@ -33,10 +44,11 @@ export async function generateOrAssignContentType(payload) {
33
44
  message: `Object already has a type: ${object.type.name}`,
34
45
  };
35
46
  }
36
- if (!object ||
37
- (!object.text &&
38
- !object.content?.type?.startsWith('image/') &&
39
- !object.content?.type?.startsWith('application/pdf'))) {
47
+ const pdfRendition = getPdfRenditionContent(object);
48
+ const hasVisionSource = object.content?.type?.startsWith('image/') ||
49
+ object.content?.type?.startsWith('application/pdf') ||
50
+ !!pdfRendition?.type?.startsWith('application/pdf');
51
+ if (!object || (!object.text && !hasVisionSource)) {
40
52
  log.info(`Object ${objectId} not found or text is empty and not an image`, {
41
53
  object,
42
54
  });
@@ -46,9 +58,12 @@ export async function generateOrAssignContentType(payload) {
46
58
  schema: true,
47
59
  });
48
60
  //make a list of all existing types, and add hints if any
49
- const existing_types = types.filter((t) => !['DocumentPart', 'Rendition'].includes(t.name));
61
+ const existing_types = types.filter((t) => !['DocumentPart', 'Rendition'].includes(t.name) && t.status !== 'draft');
50
62
  const content = object.text ? truncByMaxTokens(object.text, params.truncate || 30000) : undefined;
51
63
  const getImage = async () => {
64
+ if (pdfRendition?.type?.startsWith('application/pdf')) {
65
+ return pdfRendition;
66
+ }
52
67
  if (object.content?.type?.includes('pdf') && object.text?.length && object.text?.length < 100) {
53
68
  return `store:${objectId}`;
54
69
  }
@@ -68,12 +83,35 @@ export async function generateOrAssignContentType(payload) {
68
83
  }
69
84
  };
70
85
  const fileRef = await getImage();
71
- log.info('Execute SelectDocumentType interaction on content with \nexisting types - passing full types: ' +
72
- existing_types.filter((t) => !t.tags?.includes('system')));
86
+ // Slim catalog for the selection prompt: names + identification guidance only, NO schemas
87
+ // (design intake-v2 §3). The full list (with schemas) is still used for matching and for
88
+ // new-type generation below.
89
+ const selectionCatalog = existing_types.map((t) => ({
90
+ id: t.id,
91
+ name: t.name,
92
+ description: t.description,
93
+ guidance: t.intake?.identification?.guidance,
94
+ distinguish_from: t.intake?.identification?.distinguish_from,
95
+ }));
96
+ // Closed-world output: constrain the result to the eligible type names + 'other', which
97
+ // removes the exact-string-match fragility on the model's answer.
98
+ const selectionResultSchema = {
99
+ type: 'object',
100
+ properties: {
101
+ document_type: {
102
+ type: 'string',
103
+ enum: [...existing_types.map((t) => t.name), 'other'],
104
+ description: "Name of the matching document type, or 'other' when none matches.",
105
+ },
106
+ },
107
+ required: ['document_type'],
108
+ };
109
+ log.info('Execute SelectDocumentType interaction on content with \nexisting types - passing slim catalog: ' +
110
+ existing_types.filter((t) => !t.tags?.includes('system')).map((t) => t.name));
73
111
  let res;
74
112
  try {
75
- res = await executeInteractionFromActivity(client, interactionName, params, {
76
- existing_types,
113
+ res = await executeInteractionFromActivity(client, interactionName, { ...params, result_schema: selectionResultSchema }, {
114
+ existing_types: selectionCatalog,
77
115
  content,
78
116
  image: fileRef,
79
117
  });
@@ -102,32 +140,45 @@ export async function generateOrAssignContentType(payload) {
102
140
  log.debug(`Selected Content Type Result: ${JSON.stringify(jsonResult)}`);
103
141
  //if type is not identified or not present in the database, generate a new type
104
142
  let selectedType;
105
- selectedType = types.find((t) => t.name === jsonResult.document_type);
143
+ const existingMatch = existing_types.find((t) => t.name === jsonResult.document_type);
144
+ if (existingMatch) {
145
+ selectedType = { id: existingMatch.id, name: existingMatch.name, isNew: false };
146
+ }
106
147
  if (!selectedType) {
107
148
  if (params.allowNewContentTypes === false) {
108
149
  // Type generation is disabled (handled separately, e.g. via the Studio Assistant), so
109
150
  // fall back to the project's default type (or sys:GenericDocument) rather than leaving
110
- // the document untyped.
151
+ // the document untyped. 'other' is the constrained schema's first-class no-match
152
+ // answer, not a selection defect — only warn on anything else.
153
+ if (jsonResult.document_type && jsonResult.document_type !== 'other') {
154
+ log.warn('Document type selection returned an ineligible or unknown type; assigning fallback', {
155
+ objectId,
156
+ selectedDocumentType: jsonResult.document_type,
157
+ eligibleTypes: existing_types.map((type) => type.name),
158
+ });
159
+ }
111
160
  selectedType = await resolveFallbackType(context, params.fallbackTypeId, jsonResult.document_type);
112
161
  }
113
162
  else {
114
163
  log.warn('Document type not identified: starting type generation');
115
164
  const newType = await generateNewType(context, existing_types, content, fileRef);
116
- selectedType = { id: newType.id, name: newType.name };
165
+ selectedType = { id: newType.id, name: newType.name, isNew: true };
117
166
  }
118
167
  }
119
168
  if (!selectedType) {
120
169
  log.error('Type not found: ', res.result);
121
170
  throw new Error(`Type not found: ${jsonResult.document_type}`);
122
171
  }
123
- //update object with selected type
172
+ // Update object with selected type. Suppress workflow triggers: this is an intake-internal
173
+ // self-write — type updates now emit dirty.type and match the StandardIntake trigger, so an
174
+ // unsuppressed write here would recursively re-run intake on every type assignment.
124
175
  await client.objects.update(objectId, {
125
176
  type: selectedType.id,
126
- });
177
+ }, { suppressWorkflows: true });
127
178
  return {
128
179
  id: selectedType.id,
129
180
  name: selectedType.name,
130
- isNew: !types.find((t) => t.name === selectedType.name),
181
+ isNew: selectedType.isNew,
131
182
  };
132
183
  }
133
184
  /**
@@ -142,7 +193,7 @@ async function resolveFallbackType(context, fallbackTypeId, selectedDocumentType
142
193
  fallbackTypeId,
143
194
  selectedDocumentType,
144
195
  });
145
- return { id: resolved.id ?? fallbackTypeId, name: resolved.name ?? fallbackTypeId };
196
+ return { id: resolved.id ?? fallbackTypeId, name: resolved.name ?? fallbackTypeId, isNew: false };
146
197
  }
147
198
  catch (error) {
148
199
  log.warn('Configured default content type not resolvable; using GenericDocument', {
@@ -152,7 +203,7 @@ async function resolveFallbackType(context, fallbackTypeId, selectedDocumentType
152
203
  }
153
204
  }
154
205
  log.info('Document type not identified; assigning GenericDocument fallback', { selectedDocumentType });
155
- return { id: GENERIC_DOCUMENT_TYPE_ID, name: GENERIC_DOCUMENT_TYPE_NAME };
206
+ return { id: GENERIC_DOCUMENT_TYPE_ID, name: GENERIC_DOCUMENT_TYPE_NAME, isNew: false };
156
207
  }
157
208
  async function generateNewType(context, existing_types, content, fileRef) {
158
209
  const { client, params } = context;
@@ -1 +1 @@
1
- {"version":3,"file":"generateOrAssignContentType.js","sourceRoot":"","sources":["../../src/activities/generateOrAssignContentType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateOrAssignContentType.js","sourceRoot":"","sources":["../../src/activities/generateOrAssignContentType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAMH,oBAAoB,EACpB,kBAAkB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAwB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAqB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAmC,MAAM,yBAAyB,CAAC;AAE1G,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AAEhE,kGAAkG;AAClG,gGAAgG;AAChG,mGAAmG;AACnG,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AACvD,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAkBrD,SAAS,gBAAgB,CAAC,KAAc;IACpC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAuB,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAmB,CAAC;AACtD,CAAC;AAkDD,SAAS,sBAAsB,CAAC,GAA4C;IACxE,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAChC,CAAC,SAAS,EAA0B,EAAE,CAClC,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QACjB,SAAgC,CAAC,IAAI,KAAK,kBAAkB;QAC7D,OAAQ,SAAgD,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAC5F,CAAC;IACF,OAAO,YAAY,EAAE,OAAO,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,OAAuE;IAEvE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAoC,OAAO,CAAC,CAAC;IAChF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7C,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,IAAI,wBAAwB,CAAC;IAEhG,GAAG,CAAC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAEnF,8DAA8D;IAC9D,2DAA2D;IAC3D,oEAAoE;IACpE,yEAAyE;IACzE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,UAAU,QAAQ,8CAA8C,CAAC,CAAC;QAC3E,OAAO;YACH,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;SAC5D,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,eAAe,GACjB,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC1C,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC;QACnD,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAExD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,UAAU,QAAQ,8CAA8C,EAAE;YACvE,MAAM;SACT,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,MAAM,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IACpH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElG,MAAM,QAAQ,GAAG,KAAK,IAAiD,EAAE;QACrE,IAAI,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpD,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;YAC5F,OAAO,SAAS,QAAQ,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,MAAM,EAAE,oBAAoB,CAAC,IAAI;YACjC,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACzD,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,iBAAiB,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,SAAS,QAAQ,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEjC,0FAA0F;IAC1F,yFAAyF;IACzF,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ;QAC5C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB;KAC/D,CAAC,CAAC,CAAC;IAEJ,wFAAwF;IACxF,kEAAkE;IAClE,MAAM,qBAAqB,GAAe;QACtC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,aAAa,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBACrD,WAAW,EAAE,mEAAmE;aACnF;SACJ;QACD,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC9B,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,kGAAkG;QAC9F,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACnF,CAAC;IAEF,IAAI,GAA+D,CAAC;IACpE,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,8BAA8B,CACtC,MAAM,EACN,eAAe,EACf,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,EACnD;YACI,cAAc,EAAE,gBAAgB;YAChC,OAAO;YACP,KAAK,EAAE,OAAO;SACjB,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAE5G,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5G,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,mCAAmC,cAAc,CAAC,OAAO,EAAE;oBACpE,YAAY,EAAE,KAAK;iBACtB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,iDAAiD,cAAc,CAAC,OAAO,EAAE;oBAClF,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,KAAK,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAA4B,CAAC;IAEjE,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEzE,+EAA+E;IAC/E,IAAI,YAAsE,CAAC;IAE3E,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC;IACtF,IAAI,aAAa,EAAE,CAAC;QAChB,YAAY,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACxC,sFAAsF;YACtF,uFAAuF;YACvF,iFAAiF;YACjF,+DAA+D;YAC/D,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,oFAAoF,EAAE;oBAC3F,QAAQ;oBACR,oBAAoB,EAAE,UAAU,CAAC,aAAa;oBAC9C,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACzD,CAAC,CAAC;YACP,CAAC;YACD,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QACvG,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjF,YAAY,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,2FAA2F;IAC3F,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CACvB,QAAQ,EACR;QACI,IAAI,EAAE,YAAY,CAAC,EAAE;KACxB,EACD,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC9B,CAAC;IAEF,OAAO;QACH,EAAE,EAAE,YAAY,CAAC,EAAE;QACnB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAC9B,OAA2D,EAC3D,cAAkC,EAClC,oBAA6B;IAE7B,IAAI,cAAc,IAAI,cAAc,KAAK,wBAAwB,EAAE,CAAC;QAChE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,sEAAsE,EAAE;gBAC7E,cAAc;gBACd,oBAAoB;aACvB,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,uEAAuE,EAAE;gBAC9E,cAAc;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,kEAAkE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACvG,OAAO,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,OAA2D,EAC3D,cAAuC,EACvC,OAAgB,EAChB,OAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,IAAI,2BAA2B,CAAC;IAEtG,IAAI,UAAsE,CAAC;IAC3E,IAAI,CAAC;QACD,UAAU,GAAG,MAAM,8BAA8B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE;YAC/E,cAAc;YACd,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS;YACjE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACvC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChD,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE;YAC9C,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,eAAe,CAAC,SAAS;SACvC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9G,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,oCAAoC,eAAe,CAAC,OAAO,EAAE;oBACtE,YAAY,EAAE,KAAK;iBACtB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,kDAAkD,eAAe,CAAC,OAAO,EAAE;oBACpF,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,KAAK,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAA+B,CAAC;IAE3E,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAmC;QAC7C,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,WAAW,EAAE,UAAU,CAAC,yBAAyB;QACjD,aAAa,EAAE,UAAU,CAAC,eAAe;QACzC,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,YAAY,EAAE,UAAU,CAAC,YAAY;KACxC,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { type ExecFileOptions } from 'node:child_process';
2
+ /** 10MB buffer for ffmpeg output. */
3
+ export declare const FFMPEG_MAX_BUFFER: number;
4
+ /**
5
+ * Anchor the child-process deadline at the moment the Activity starts, so every later command derives its timeout from a
6
+ * stable point regardless of how long input download took.
7
+ */
8
+ export declare function initializeActivityCommandDeadline(): number;
9
+ /**
10
+ * Execute media tooling with Temporal cancellation propagated to the child process.
11
+ *
12
+ * Temporal can begin a retry after an attempt times out while the original worker process is still running. Passing the
13
+ * Activity cancellation signal prevents an orphaned ffmpeg process from competing with its retry for CPU.
14
+ */
15
+ export declare function execActivityFile(command: string, args: string[], options?: ExecFileOptions): Promise<{
16
+ stdout: string;
17
+ stderr: string;
18
+ }>;
19
+ export interface ProgressAwareOptions {
20
+ /**
21
+ * Coarse upper bound on retained stdout/stderr, counted in UTF-16 code units (not UTF-8 bytes). ffmpeg output is
22
+ * ASCII-dominant so this closely tracks bytes; it only exists to keep captured output from growing without bound
23
+ * (older output is dropped — tail retained — rather than failing the command). Not a strict byte cap.
24
+ */
25
+ maxBuffer?: number;
26
+ stallTimeoutMs?: number;
27
+ }
28
+ export interface ProgressTracker {
29
+ /** Feed a raw output chunk; returns true when a monotonic progress field advanced past its previous maximum. */
30
+ observe(chunk: string): boolean;
31
+ }
32
+ /**
33
+ * Track ffmpeg forward progress across arbitrarily-chunked output.
34
+ *
35
+ * Node delivers stream data in arbitrary slices, so a marker such as `frame=42` can arrive split across two chunks. The
36
+ * tracker buffers partial records until a `\r`/`\n` delimiter completes them, then reports advancement only when the
37
+ * parsed frame count or media timestamp exceeds the previous maximum — repeated identical stats from a wedged encoder do
38
+ * not count as progress.
39
+ */
40
+ export declare function createFfmpegProgressTracker(): ProgressTracker;
41
+ /**
42
+ * Execute a long-running media command while enforcing a progress-stall watchdog on top of the Activity deadline and
43
+ * cancellation.
44
+ *
45
+ * The worker heartbeats every Activity on a fixed interval, so a wedged ffmpeg child that stops emitting progress would
46
+ * otherwise keep the Activity alive until its multi-hour Start-to-Close timeout. Watching ffmpeg's progress markers lets
47
+ * us terminate a stalled encode within `stallTimeoutMs` so Temporal retries it promptly (escalating to a faster preset
48
+ * on the next attempt). A stall is surfaced as a `killed` error so it propagates as an Activity failure via
49
+ * {@link rethrowIfActivityStopped} instead of being swallowed into a missing rendition.
50
+ */
51
+ export declare function execActivityFileWithProgress(command: string, args: string[], { maxBuffer, stallTimeoutMs }?: ProgressAwareOptions): Promise<{
52
+ stdout: string;
53
+ stderr: string;
54
+ }>;
55
+ /**
56
+ * Re-throw errors that represent the Activity being stopped (cancellation, Start-to-Close timeout, or a progress-stall
57
+ * kill) so they are not swallowed by rendition fallback handling. Genuine tool failures still return `null` upstream.
58
+ */
59
+ export declare function rethrowIfActivityStopped(error: unknown): void;
60
+ //# sourceMappingURL=exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/activities/media/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,oBAAoB,CAAC;AAM/F,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAkBlD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAS1D;AAUD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7C;AAED,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAgBD,MAAM,WAAW,eAAe;IAC5B,gHAAgH;IAChH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,eAAe,CAoC7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAC9C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,SAA6B,EAAE,cAAwC,EAAE,GAAE,oBAAyB,GACvG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA8F7C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAK7D"}
@@ -0,0 +1,212 @@
1
+ import { execFile as execFileCallback, spawn } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { Context } from '@temporalio/activity';
4
+ const execFileAsync = promisify(execFileCallback);
5
+ /** 10MB buffer for ffmpeg output. */
6
+ export const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10;
7
+ const MAX_COMMAND_TIMEOUT_MARGIN_MS = 60_000;
8
+ /** Terminate an ffmpeg child that makes no encoding progress for this long, so Temporal can retry it promptly. */
9
+ const FFMPEG_STALL_TIMEOUT_MS = 120_000;
10
+ // ffmpeg streams encoding progress as `frame=`/`time=` stats. We track the *advance* of these monotonic fields (rather
11
+ // than mere presence) so a wedged encoder that keeps re-emitting an identical status line is still detected as stalled.
12
+ const FFMPEG_TIME_PATTERN = /time=\s*(\d+):([0-5]?\d):([0-5]?\d(?:\.\d+)?)/;
13
+ const FFMPEG_FRAME_PATTERN = /frame=\s*(\d+)/;
14
+ // ffmpeg delimits stats snapshots with a carriage return, so the carry buffer normally stays tiny. These bounds are a
15
+ // defensive guard against an unterminated stream, retaining enough of a tail to reunite a marker split at the boundary.
16
+ const PROGRESS_CARRY_LIMIT = 64 * 1024;
17
+ const PROGRESS_CARRY_TAIL = 512;
18
+ const activityCommandDeadlines = new WeakMap();
19
+ /**
20
+ * Anchor the child-process deadline at the moment the Activity starts, so every later command derives its timeout from a
21
+ * stable point regardless of how long input download took.
22
+ */
23
+ export function initializeActivityCommandDeadline() {
24
+ const context = Context.current();
25
+ const existingDeadlineMs = activityCommandDeadlines.get(context);
26
+ if (existingDeadlineMs) {
27
+ return existingDeadlineMs;
28
+ }
29
+ const deadlineMs = Date.now() + context.info.startToCloseTimeoutMs;
30
+ activityCommandDeadlines.set(context, deadlineMs);
31
+ return deadlineMs;
32
+ }
33
+ function getActivityCommandTimeoutMs() {
34
+ const context = Context.current();
35
+ const { startToCloseTimeoutMs } = context.info;
36
+ const timeoutMarginMs = Math.min(MAX_COMMAND_TIMEOUT_MARGIN_MS, startToCloseTimeoutMs / 10);
37
+ const activityDeadlineMs = initializeActivityCommandDeadline();
38
+ return Math.max(1, activityDeadlineMs - Date.now() - timeoutMarginMs);
39
+ }
40
+ /**
41
+ * Execute media tooling with Temporal cancellation propagated to the child process.
42
+ *
43
+ * Temporal can begin a retry after an attempt times out while the original worker process is still running. Passing the
44
+ * Activity cancellation signal prevents an orphaned ffmpeg process from competing with its retry for CPU.
45
+ */
46
+ export async function execActivityFile(command, args, options = {}) {
47
+ const activityTimeoutMs = getActivityCommandTimeoutMs();
48
+ const configuredTimeoutMs = options.timeout && options.timeout > 0 ? options.timeout : activityTimeoutMs;
49
+ return (await execFileAsync(command, args, {
50
+ ...options,
51
+ encoding: 'utf8',
52
+ signal: Context.current().cancellationSignal,
53
+ timeout: Math.min(configuredTimeoutMs, activityTimeoutMs),
54
+ }));
55
+ }
56
+ function parseFfmpegTimeCentis(text) {
57
+ const match = FFMPEG_TIME_PATTERN.exec(text);
58
+ if (!match) {
59
+ return undefined;
60
+ }
61
+ const totalSeconds = Number(match[1]) * 3600 + Number(match[2]) * 60 + Number(match[3]);
62
+ return Number.isFinite(totalSeconds) ? Math.round(totalSeconds * 100) : undefined;
63
+ }
64
+ function parseFfmpegFrame(text) {
65
+ const match = FFMPEG_FRAME_PATTERN.exec(text);
66
+ return match ? Number(match[1]) : undefined;
67
+ }
68
+ /**
69
+ * Track ffmpeg forward progress across arbitrarily-chunked output.
70
+ *
71
+ * Node delivers stream data in arbitrary slices, so a marker such as `frame=42` can arrive split across two chunks. The
72
+ * tracker buffers partial records until a `\r`/`\n` delimiter completes them, then reports advancement only when the
73
+ * parsed frame count or media timestamp exceeds the previous maximum — repeated identical stats from a wedged encoder do
74
+ * not count as progress.
75
+ */
76
+ export function createFfmpegProgressTracker() {
77
+ let carry = '';
78
+ let maxTimeCentis = -1;
79
+ let maxFrame = -1;
80
+ const noteSegment = (segment) => {
81
+ let advanced = false;
82
+ const timeCentis = parseFfmpegTimeCentis(segment);
83
+ if (timeCentis !== undefined && timeCentis > maxTimeCentis) {
84
+ maxTimeCentis = timeCentis;
85
+ advanced = true;
86
+ }
87
+ const frame = parseFfmpegFrame(segment);
88
+ if (frame !== undefined && frame > maxFrame) {
89
+ maxFrame = frame;
90
+ advanced = true;
91
+ }
92
+ return advanced;
93
+ };
94
+ return {
95
+ observe(chunk) {
96
+ carry += chunk;
97
+ const segments = carry.split(/[\r\n]+/);
98
+ carry = segments.pop() ?? '';
99
+ let advanced = false;
100
+ for (const segment of segments) {
101
+ advanced = noteSegment(segment) || advanced;
102
+ }
103
+ if (carry.length > PROGRESS_CARRY_LIMIT) {
104
+ advanced = noteSegment(carry) || advanced;
105
+ carry = carry.slice(carry.length - PROGRESS_CARRY_TAIL);
106
+ }
107
+ return advanced;
108
+ },
109
+ };
110
+ }
111
+ /**
112
+ * Execute a long-running media command while enforcing a progress-stall watchdog on top of the Activity deadline and
113
+ * cancellation.
114
+ *
115
+ * The worker heartbeats every Activity on a fixed interval, so a wedged ffmpeg child that stops emitting progress would
116
+ * otherwise keep the Activity alive until its multi-hour Start-to-Close timeout. Watching ffmpeg's progress markers lets
117
+ * us terminate a stalled encode within `stallTimeoutMs` so Temporal retries it promptly (escalating to a faster preset
118
+ * on the next attempt). A stall is surfaced as a `killed` error so it propagates as an Activity failure via
119
+ * {@link rethrowIfActivityStopped} instead of being swallowed into a missing rendition.
120
+ */
121
+ export async function execActivityFileWithProgress(command, args, { maxBuffer = FFMPEG_MAX_BUFFER, stallTimeoutMs = FFMPEG_STALL_TIMEOUT_MS } = {}) {
122
+ const activityTimeoutMs = getActivityCommandTimeoutMs();
123
+ const stallWindowMs = Math.max(1, Math.min(stallTimeoutMs, activityTimeoutMs));
124
+ return await new Promise((resolve, reject) => {
125
+ const child = spawn(command, args, {
126
+ signal: Context.current().cancellationSignal,
127
+ timeout: activityTimeoutMs,
128
+ killSignal: 'SIGKILL',
129
+ });
130
+ let stdout = '';
131
+ let stderr = '';
132
+ let settled = false;
133
+ let stalled = false;
134
+ let stallTimer;
135
+ const armStallTimer = () => {
136
+ if (stallTimer) {
137
+ clearTimeout(stallTimer);
138
+ }
139
+ stallTimer = setTimeout(() => {
140
+ stalled = true;
141
+ child.kill('SIGKILL');
142
+ }, stallWindowMs);
143
+ // Never keep the event loop alive solely for the watchdog timer.
144
+ stallTimer.unref?.();
145
+ };
146
+ const append = (current, chunk) => {
147
+ const combined = current + chunk;
148
+ return combined.length > maxBuffer ? combined.slice(combined.length - maxBuffer) : combined;
149
+ };
150
+ // ffmpeg writes progress to stderr by default, but track both streams so the watchdog works regardless of where
151
+ // a given command reports it. Each stream keeps its own line buffer.
152
+ const stdoutProgress = createFfmpegProgressTracker();
153
+ const stderrProgress = createFfmpegProgressTracker();
154
+ child.stdout?.setEncoding('utf8');
155
+ child.stderr?.setEncoding('utf8');
156
+ child.stdout?.on('data', (chunk) => {
157
+ stdout = append(stdout, chunk);
158
+ if (stdoutProgress.observe(chunk)) {
159
+ armStallTimer();
160
+ }
161
+ });
162
+ child.stderr?.on('data', (chunk) => {
163
+ stderr = append(stderr, chunk);
164
+ if (stderrProgress.observe(chunk)) {
165
+ armStallTimer();
166
+ }
167
+ });
168
+ armStallTimer();
169
+ const settle = (finish) => {
170
+ if (settled) {
171
+ return;
172
+ }
173
+ settled = true;
174
+ if (stallTimer) {
175
+ clearTimeout(stallTimer);
176
+ }
177
+ finish();
178
+ };
179
+ child.on('error', (error) => settle(() => reject(error)));
180
+ child.on('close', (code, signal) => settle(() => {
181
+ if (stalled) {
182
+ const seconds = Math.round(stallWindowMs / 1000);
183
+ reject(Object.assign(new Error(`${command} made no progress for ${seconds}s and was terminated`), {
184
+ killed: true,
185
+ stalled: true,
186
+ }));
187
+ }
188
+ else if (code === 0) {
189
+ resolve({ stdout, stderr });
190
+ }
191
+ else {
192
+ const detail = signal ? `signal ${signal}` : `code ${code}`;
193
+ reject(Object.assign(new Error(`${command} exited with ${detail}: ${stderr.slice(-2000)}`), {
194
+ killed: child.killed || signal != null,
195
+ code,
196
+ signal,
197
+ }));
198
+ }
199
+ }));
200
+ });
201
+ }
202
+ /**
203
+ * Re-throw errors that represent the Activity being stopped (cancellation, Start-to-Close timeout, or a progress-stall
204
+ * kill) so they are not swallowed by rendition fallback handling. Genuine tool failures still return `null` upstream.
205
+ */
206
+ export function rethrowIfActivityStopped(error) {
207
+ const commandTimedOut = typeof error === 'object' && error !== null && 'killed' in error && error.killed === true;
208
+ if (Context.current().cancellationSignal.aborted || commandTimedOut) {
209
+ throw error;
210
+ }
211
+ }
212
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/activities/media/exec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareAudio.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"AAQA,OAAO,EAIH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,SAAS,EACjB,MAAM,kBAAkB,CAAC;AAW1B,MAAM,WAAW,kBAAkB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACrE,IAAI,EAAE,cAAc,CAAC;CACxB;AA4BD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;CACrB;AA2HD;;GAEG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,kBAAkB,CAAC,CA+H7B"}
1
+ {"version":3,"file":"prepareAudio.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,SAAS,EACjB,MAAM,kBAAkB,CAAC;AAc1B,MAAM,WAAW,kBAAkB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACrE,IAAI,EAAE,cAAc,CAAC;CACxB;AA4BD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;CACrB;AA6HD;;GAEG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,kBAAkB,CAAC,CAiI7B"}
@@ -1,25 +1,22 @@
1
- import { execFile as execFileCallback } from 'node:child_process';
2
1
  import fs from 'node:fs';
3
2
  import os from 'node:os';
4
3
  import path from 'node:path';
5
- import { promisify } from 'node:util';
6
4
  import { log } from '@temporalio/activity';
7
5
  import { RequestError } from '@vertesia/api-fetch-client';
8
6
  import { AUDIO_RENDITION_NAME, ContentNature, } from '@vertesia/common';
9
7
  import { setupActivity } from '../../dsl/setup/ActivityContext.js';
10
8
  import { DocumentNotFoundError, InvalidContentTypeError } from '../../errors.js';
11
9
  import { saveBlobToTempFile } from '../../utils/blobs.js';
12
- const execFileAsync = promisify(execFileCallback);
10
+ import { execActivityFile, execActivityFileWithProgress, initializeActivityCommandDeadline, rethrowIfActivityStopped, } from './exec.js';
13
11
  // Default configuration constants
14
12
  const DEFAULT_AUDIO_BITRATE = '128k'; // Default audio bitrate for AAC encoding
15
- const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10; // 10MB buffer for ffmpeg output
16
13
  /**
17
14
  * Extract comprehensive audio metadata using ffprobe
18
15
  */
19
16
  async function getAudioMetadata(audioPath) {
20
17
  try {
21
18
  const args = ['-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', audioPath];
22
- const { stdout } = await execFileAsync('ffprobe', args);
19
+ const { stdout } = await execActivityFile('ffprobe', args);
23
20
  const metadata = JSON.parse(stdout.toString());
24
21
  const audioStream = metadata.streams.find((stream) => stream.codec_type === 'audio');
25
22
  if (!audioStream) {
@@ -33,6 +30,7 @@ async function getAudioMetadata(audioPath) {
33
30
  return { duration, codec, bitrate, sampleRate, channels };
34
31
  }
35
32
  catch (error) {
33
+ rethrowIfActivityStopped(error);
36
34
  log.error(`Failed to get audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
37
35
  throw new Error(`Failed to probe audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
38
36
  }
@@ -57,7 +55,7 @@ async function generateAudioRendition(audioPath, outputDir, audioBitrate) {
57
55
  ];
58
56
  log.info('Generating web audio rendition (AAC M4A)', { command: 'ffmpeg', args: command, audioBitrate });
59
57
  try {
60
- const { stderr } = await execFileAsync('ffmpeg', command, { maxBuffer: FFMPEG_MAX_BUFFER });
58
+ const { stderr } = await execActivityFileWithProgress('ffmpeg', command);
61
59
  const stderrText = stderr.toString();
62
60
  if (stderrText && !stderrText.includes('frame=')) {
63
61
  log.debug(`FFmpeg stderr for audio rendition: ${stderrText}`);
@@ -74,6 +72,7 @@ async function generateAudioRendition(audioPath, outputDir, audioBitrate) {
74
72
  }
75
73
  }
76
74
  catch (error) {
75
+ rethrowIfActivityStopped(error);
77
76
  log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
78
77
  return null;
79
78
  }
@@ -108,6 +107,7 @@ async function uploadAudioAsRendition(client, audioFile, renditionName, fileName
108
107
  * Main activity: Prepare audio by extracting metadata and generating web rendition
109
108
  */
110
109
  export async function prepareAudio(payload) {
110
+ initializeActivityCommandDeadline();
111
111
  const { client, objectId, params } = await setupActivity(payload);
112
112
  const audioBitrate = params.audioBitrate ?? DEFAULT_AUDIO_BITRATE;
113
113
  log.info(`Preparing audio for ${objectId}`, { audioBitrate });
@@ -180,6 +180,7 @@ export async function prepareAudio(payload) {
180
180
  };
181
181
  }
182
182
  catch (error) {
183
+ rethrowIfActivityStopped(error);
183
184
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
184
185
  log.error(`Error preparing audio: ${errorMessage}`, { error });
185
186
  // Re-throw known errors as-is
@@ -1 +1 @@
1
- {"version":3,"file":"prepareAudio.js","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareAudio.js","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,12 @@ export interface PrepareVideoParams {
4
4
  thumbnailSize?: number;
5
5
  posterSize?: number;
6
6
  generateAudio?: boolean;
7
+ videoPreset?: VideoPreset;
8
+ skipTranscode?: boolean;
7
9
  }
10
+ export type VideoPreset = 'medium' | 'fast' | 'veryfast' | 'ultrafast';
11
+ export declare function shouldTranscodeVideo(skipTranscode?: boolean): boolean;
12
+ export declare function resolveVideoPreset(preset: VideoPreset, attempt: number): VideoPreset;
8
13
  export interface PrepareVideo extends DSLActivitySpec<PrepareVideoParams> {
9
14
  name: 'prepareVideo';
10
15
  }