{#if stepDetail && typeof stepDetail != 'string'} {#if stepDetail.value.type == 'script'}

Step Inputs

{#if stepDetail.value.path.startsWith('hub/')}

Code

{/if} {:else if stepDetail.value.type == 'rawscript'}

Step Inputs

Code

Lockfile

{#if stepDetail.value.lock}
{stepDetail.value.lock}
{:else}

There is no lock file for this script

{/if}
{/if} {/if}
{#if stepDetail == undefined}

Click on a step to see its details

{#if schema}

Flow Inputs

{/if}
{:else if stepDetail == 'Input'} {#if schema} {:else}

No input schema

{/if} {:else if stepDetail == 'Result'}

End of the flow

{:else if typeof stepDetail != 'string' && stepDetail.value}
{#if stepDetail.id && stepDetail.id != 'failure' && stepDetail.id != 'preprocessor'} {stepDetail.id} {/if} {#if stepDetail.summary} {stepDetail.summary} {:else if stepDetail.value.type == 'identity'} Identity {:else if stepDetail.value.type == 'forloopflow'} For loop {#if stepDetail.value.parallel}(parallel){/if} {#if stepDetail.value.skip_failures}(skip failures){/if} {#if stepDetail.value.squash}(squash){/if} {:else if stepDetail.value.type == 'branchall'} Run all branches {#if stepDetail.value.parallel}(parallel){/if} {:else if stepDetail.value.type == 'branchone'} Run one branch {:else if stepDetail.value.type == 'flow'} Inner flow {:else if stepDetail.value.type == 'whileloopflow'} While loop {#if stepDetail.value.skip_failures}(skip failures){/if} {#if stepDetail.value.squash}(squash){/if} {:else if stepDetail.id === 'failure'} Error handler {:else if stepDetail.id === 'preprocessor'} Preprocessor {:else if stepDetail.value.type == 'rawscript'} Inline {stepDetail.value.language} script {:else if stepDetail.value.type == 'script'} Workspace script {:else if stepDetail.value.type == 'aiagent'} AI Agent {/if}
{#if stepDetail.value.type == 'script'} {/if}
{#if stepDetail.value.type == 'identity'}

An identity step returns its inputs as outputs

{:else if stepDetail.value.type == 'rawscript'} {#if stepDetail.id !== 'preprocessor'}

Step Inputs

{/if}

Code

Lockfile

{#if stepDetail.value.lock}
{stepDetail.value.lock}
{:else}

There is no lockfile for this inline script

{/if}
{:else if stepDetail.value.type == 'script'} {#if stepDetail.id !== 'preprocessor'}

Step Inputs

{/if} {#if stepDetail.value.path.startsWith('hub/')}

Code

{:else} {/if} {:else if stepDetail.value.type == 'aiagent'}

Step Inputs

{:else if stepDetail.value.type == 'forloopflow'}

Iterator expression:

{#if stepDetail.value.iterator.type == 'static'} {:else} {/if}
{:else if stepDetail.value.type == 'whileloopflow'}
{#if stepDetail.stop_after_if}

Stop after if expr::

{/if}
{#if stepDetail.stop_after_all_iters_if}

Stop after all iters if expr::

{/if}
{:else if stepDetail.value.type == 'branchall'}

All branches will run, regardless of the inputs

{:else if stepDetail.value.type == 'branchone'}

Only one branch will run based on a predicate

Default branch

If none of the predicates' expressions evaluated in-order match, this branch is chosen

{#each stepDetail.value.branches as v, i}
Branch {i + 1} {v.summary}
{/each}
{:else if stepDetail.value.type == 'flow'}
{/if} {:else}

Step {stepDetail} selected

{/if}