diff --git a/frontend/src/lib/components/DynamicInput.svelte b/frontend/src/lib/components/DynamicInput.svelte
index 9f6f3b8261..76395f397f 100644
--- a/frontend/src/lib/components/DynamicInput.svelte
+++ b/frontend/src/lib/components/DynamicInput.svelte
@@ -35,6 +35,9 @@
name: string
/** Workspace the helper script runs in; defaults to the nav workspace. */
workspace?: string
+ /** Reaches the fallback editor too, which is what renders when there is no
+ * `helperScript` — a caller disabling this argument means all of it. */
+ disabled?: boolean
}
let {
@@ -42,7 +45,8 @@
helperScript,
format,
otherArgs: otherArgs,
- workspace = undefined
+ workspace = undefined,
+ disabled = false
}: Props = $props()
let [inputType, entrypoint] = $derived(format.includes('-') ? format.split('-', 2) : [format, ''])
@@ -190,7 +194,7 @@
items={safeSelectItems(items || [])}
placeholder="Select items"
noItemsMsg={_items.status === 'loading' ? 'Loading...' : 'No items found'}
- disabled={_items.status === 'loading'}
+ disabled={disabled || _items.status === 'loading'}
/>
{:else if inputType === 'dynselect'}
@@ -222,7 +227,7 @@
{#await import('$lib/components/JsonEditor.svelte')}
{PLAN_MODE_MESSAGES.runFormRefused}
+ {/if}