{#if flowModule.value}
{ forceReload++ reload(flowModule) }} {noEditor} bind:flowModule > selectAdvanced('suspend')} on:toggleSleep={() => selectAdvanced('sleep')} on:toggleMock={() => selectAdvanced('mock')} on:toggleRetry={() => selectAdvanced('retries')} on:toggleConcurrency={() => selectAdvanced('runtime')} on:toggleCache={() => selectAdvanced('cache')} on:toggleStopAfterIf={() => selectAdvanced('early-stop')} on:fork={async () => { const [module, state] = await fork(flowModule) flowModule = module $flowStateStore[module.id] = state }} on:reload={async () => { if (flowModule.value.type == 'script') { if (flowModule.value.hash != undefined) { flowModule.value.hash = await getLatestHashForScript(flowModule.value.path) } forceReload++ await reload(flowModule) } }} on:createScriptFromInlineScript={async () => { const [module, state] = await createScriptFromInlineScript( flowModule, $selectedId, $flowStateStore[flowModule.id].schema, $flowStore, $pathStore ) flowModule = module $flowStateStore[module.id] = state }} /> {#if flowModule.value.type === 'rawscript' && !noEditor}
{ acc[key] = obj.type === 'static' ? obj.value : undefined return acc }, {})} />
{/if}
{#if flowModule.value.type === 'rawscript'} {#if !noEditor} {#key flowModule.id} { selected = 'test' if ($selectedId == flowModule.id) { if (flowModule.value.type === 'rawscript') { flowModule.value.content = editor.getCode() } await reload(flowModule) modulePreview?.runTestWithStepArgs() } }} on:change={async (event) => { if (flowModule.value.type === 'rawscript') { flowModule.value.content = event.detail } await reload(flowModule) }} formatAction={() => { reload(flowModule) saveDraft() }} fixedOverflowWidgets={true} args={Object.entries(flowModule.value.input_transforms).reduce( (acc, [key, obj]) => { acc[key] = obj.type === 'static' ? obj.value : undefined return acc }, {} )} /> Step Input Test this step Advanced
{#if selected === 'inputs' && (flowModule.value.type == 'rawscript' || flowModule.value.type == 'script' || flowModule.value.type == 'flow')}
{:else if selected === 'test'} {:else if selected === 'advanced'} Retries {#if !$selectedId.includes('failure')} Runtime Cache Early Stop Suspend Sleep Mock Shared Directory {#if flowModule.value['language'] === 'python3' || flowModule.value['language'] === 'deno'} S3 {/if} {/if} {#if advancedSelected === 'runtime'} Concurrency Timeout Priority Lifetime {/if}
{#if advancedSelected === 'retries'}
If defined, upon error this step will be retried with a delay and a maximum number of attempts as defined below.
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'concurrency'}
Allowed concurrency within a given timeframe {#if flowModule.value.type == 'rawscript'} {:else} The concurrency limit of a workspace script is only settable in the script metadata itself. For hub scripts, this feature is non available yet. {/if}
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'timeout'}
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'priority'}
0} on:change={() => { if (flowModule.priority) { flowModule.priority = undefined } else { flowModule.priority = 100 } }} options={{ right: 'Enabled high priority flow step', rightTooltip: `Jobs scheduled from this step when the flow is executed are labeled as high priority and take precedence over the other jobs in the jobs queue. ${ !$enterpriseLicense ? 'This is a feature only available on enterprise edition.' : '' }` }} /> Setting priority is only available for enterprise edition and not available on the cloud.
{:else if advancedSelected === 'runtime' && advancedRuntimeSelected === 'lifetime'}
{:else if advancedSelected === 'cache'}
{:else if advancedSelected === 'early-stop'} {:else if advancedSelected === 'suspend'}
{:else if advancedSelected === 'sleep'}
{:else if advancedSelected === 'mock'}
{:else if advancedSelected === 'same_worker'}
If shared directory is set, will share a folder that will be mounted on `./shared` for each of them to pass data between each other.
{:else if advancedSelected === 's3'}

S3 snippets Read/Write object from/to S3 and leverage Polars and DuckDB to run efficient ETL processes.

{#if flowModule.value['language'] === 'deno'} {:else} {/if}
{/if}
{/if}
{:else} Incorrect flow module type {/if}