diff --git a/frontend/src/lib/components/FlowStatusViewerInner.svelte b/frontend/src/lib/components/FlowStatusViewerInner.svelte
index dc101fa520..51c2cb554a 100644
--- a/frontend/src/lib/components/FlowStatusViewerInner.svelte
+++ b/frontend/src/lib/components/FlowStatusViewerInner.svelte
@@ -1671,7 +1671,7 @@
{#if selected == 'logs' && render}
diff --git a/frontend/src/lib/components/copilot/StepGenQuick.svelte b/frontend/src/lib/components/copilot/StepGenQuick.svelte
index 5cb15839ba..6742f419e2 100644
--- a/frontend/src/lib/components/copilot/StepGenQuick.svelte
+++ b/frontend/src/lib/components/copilot/StepGenQuick.svelte
@@ -5,17 +5,27 @@
import { Wand2, Loader2 } from 'lucide-svelte'
import SearchItems from '../SearchItems.svelte'
import { emptyString } from '$lib/utils'
- import { createEventDispatcher, onMount } from 'svelte'
+ import { createEventDispatcher, onMount, untrack } from 'svelte'
- export let funcDesc: string
- export let trigger = false
- export let loading = false
- export let preFilter: string
- export let disableAi = false
+ let scripts: Script[] | undefined = $state(undefined)
+ interface Props {
+ funcDesc: string
+ trigger?: boolean
+ loading?: boolean
+ preFilter: string
+ disableAi?: boolean
+ filteredItems?: (Script & { marked?: string })[] | (Item & { marked?: string })[]
+ }
- let scripts: Script[] | undefined = undefined
- export let filteredItems: (Script & { marked?: string })[] | (Item & { marked?: string })[] = []
- $: prefilteredItems = scripts ?? []
+ let {
+ funcDesc = $bindable(),
+ trigger = false,
+ loading = false,
+ preFilter,
+ disableAi = false,
+ filteredItems = $bindable([])
+ }: Props = $props()
+ let prefilteredItems = $derived(scripts ?? [])
const dispatch = createEventDispatcher()
@@ -29,14 +39,18 @@
scripts = loadedScripts
}
- $: scripts == undefined && funcDesc?.length > 1 && loadScripts()
+ $effect(() => {
+ scripts == undefined && funcDesc?.length > 1 && untrack(() => loadScripts())
+ })
- let input: HTMLInputElement
+ let input: HTMLInputElement | undefined = $state()
- $: preFilter &&
- setTimeout(() => {
- input?.focus()
- }, 50)
+ $effect(() => {
+ preFilter &&
+ setTimeout(() => {
+ input?.focus()
+ }, 50)
+ })
onMount(() => {
input?.focus()
@@ -55,7 +69,7 @@
{
+ onkeydown={(e) => {
if (e.key === 'Escape') {
dispatch('escape')
}
diff --git a/frontend/src/lib/components/flows/map/FlowErrorHandlerItem.svelte b/frontend/src/lib/components/flows/map/FlowErrorHandlerItem.svelte
index 657f79f602..eca2a9bc91 100644
--- a/frontend/src/lib/components/flows/map/FlowErrorHandlerItem.svelte
+++ b/frontend/src/lib/components/flows/map/FlowErrorHandlerItem.svelte
@@ -14,10 +14,12 @@
import { aiModuleActionToBgColor } from '$lib/components/copilot/chat/flow/utils'
let {
small,
- clazz
+ clazz,
+ disableAi
}: {
small: boolean
clazz: string
+ disableAi?: boolean
} = $props()
const dispatch = createEventDispatcher<{
@@ -111,6 +113,7 @@
{:else}
{
diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte
index fd36ccf578..4d6df0ef00 100644
--- a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte
+++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte
@@ -363,6 +363,7 @@
class={`z-50 absolute inline-flex flex-col gap-2 top-3 left-1/2 -translate-x-1/2 flex-initial items-center transition-colors duration-[400ms] ease-linear bg-surface-100`}
>
void
+ disableAi?: boolean
}
let {
@@ -23,7 +24,8 @@
smallErrorHandler,
aiChatOpen,
showFlowAiButton,
- toggleAiChat
+ toggleAiChat,
+ disableAi
}: Props = $props()
const { selectedId, flowStore } = getContext('FlowEditorContext')
@@ -68,7 +70,7 @@
{/if}
-
+
{#snippet text()}
Error Handler
{/snippet}
diff --git a/frontend/src/lib/components/flows/map/InsertModuleButton.svelte b/frontend/src/lib/components/flows/map/InsertModuleButton.svelte
index affa5fed8e..d54444564e 100644
--- a/frontend/src/lib/components/flows/map/InsertModuleButton.svelte
+++ b/frontend/src/lib/components/flows/map/InsertModuleButton.svelte
@@ -21,6 +21,7 @@
iconSize?: number
clazz?: string
placement?: Placement
+ disableAi?: boolean
}
let {
@@ -29,7 +30,8 @@
kind = 'script',
iconSize = 12,
clazz = '',
- placement = 'bottom-center'
+ placement = 'bottom-center',
+ disableAi = false
}: Props = $props()
let floatingConfig: ComputeConfig = {
@@ -98,6 +100,7 @@ shouldUsePortal={true} -->
on:pickScript
allowTrigger={index == 0}
{kind}
+ {disableAi}
/>
{/snippet}
diff --git a/frontend/src/lib/components/graph/renderers/edges/BaseEdge.svelte b/frontend/src/lib/components/graph/renderers/edges/BaseEdge.svelte
index ffe4b76b6e..6217a65111 100644
--- a/frontend/src/lib/components/graph/renderers/edges/BaseEdge.svelte
+++ b/frontend/src/lib/components/graph/renderers/edges/BaseEdge.svelte
@@ -92,6 +92,7 @@
{
data?.eventHandlers.insert({
diff --git a/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte b/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
index aba2b181e5..2ea359f07a 100644
--- a/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
+++ b/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
@@ -38,6 +38,7 @@
{#if data.insertable && !data.hasPreprocessor}
{