@@ -76,7 +76,13 @@ export function buildResolutionFromBlock(block: SerializedBlock): ExecutorStartR
7676 return null
7777 }
7878
79- const path = classifyStartBlockType ( type )
79+ const category = block . metadata ?. category
80+ const triggerModeEnabled = block . config ?. params ?. triggerMode === true
81+
82+ const path = classifyStartBlockType ( type , {
83+ category,
84+ triggerModeEnabled,
85+ } )
8086 if ( ! path ) {
8187 return null
8288 }
@@ -342,11 +348,11 @@ function buildManualTriggerOutput(
342348 finalInput : unknown ,
343349 workflowInput : unknown
344350) : NormalizedBlockOutput {
345- const finalObject = isPlainObject ( finalInput ) ? finalInput : undefined
351+ const finalObject = isPlainObject ( finalInput )
352+ ? ( finalInput as Record < string , unknown > )
353+ : undefined
346354
347- const output : NormalizedBlockOutput = finalObject
348- ? { ...( finalObject as Record < string , unknown > ) }
349- : { input : finalInput }
355+ const output : NormalizedBlockOutput = finalObject ? { ...finalObject } : { input : finalInput }
350356
351357 if ( ! Object . hasOwn ( output , 'input' ) ) {
352358 output . input = getRawInputCandidate ( workflowInput )
@@ -355,6 +361,24 @@ function buildManualTriggerOutput(
355361 return mergeFilesIntoOutput ( output , workflowInput )
356362}
357363
364+ function buildIntegrationTriggerOutput (
365+ finalInput : unknown ,
366+ workflowInput : unknown
367+ ) : NormalizedBlockOutput {
368+ const base : NormalizedBlockOutput = isPlainObject ( workflowInput )
369+ ? ( { ...( workflowInput as Record < string , unknown > ) } as NormalizedBlockOutput )
370+ : { }
371+
372+ if ( isPlainObject ( finalInput ) ) {
373+ Object . assign ( base , finalInput as Record < string , unknown > )
374+ base . input = { ...( finalInput as Record < string , unknown > ) }
375+ } else {
376+ base . input = finalInput
377+ }
378+
379+ return mergeFilesIntoOutput ( base , workflowInput )
380+ }
381+
358382function extractSubBlocks ( block : SerializedBlock ) : Record < string , unknown > | undefined {
359383 const metadata = block . metadata
360384 if ( ! metadata || typeof metadata !== 'object' ) {
@@ -398,6 +422,9 @@ export function buildStartBlockOutput(options: StartBlockOutputOptions): Normali
398422 case StartBlockPath . SPLIT_MANUAL :
399423 return buildManualTriggerOutput ( finalInput , workflowInput )
400424
425+ case StartBlockPath . EXTERNAL_TRIGGER :
426+ return buildIntegrationTriggerOutput ( finalInput , workflowInput )
427+
401428 case StartBlockPath . LEGACY_STARTER :
402429 return buildLegacyStarterOutput (
403430 finalInput ,
0 commit comments