From f158f892f4f513bd227020c5476ace69fa125c89 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 25 Aug 2026 15:14:11 -0400 Subject: [PATCH] refac --- src/lib/components/chat/Chat.svelte | 16 ++++++----- src/lib/components/chat/MessageInput.svelte | 30 ++++++++++++++------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 8b55e56a89..9aa7ad720b 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -4034,13 +4034,17 @@ } }; - const oauthRedirectHandler = async (tool: { - id: string; - serverId: string; - authType?: string | null; - }) => { + const oauthRedirectHandler = async ( + tool: { + id: string; + serverId: string; + authType?: string | null; + }, + draft = getChatInputDraft() + ) => { + await tick(); saveSessionSelectedModels(); - await saveDraft(getChatInputDraft(), null, false); + await saveDraft(draft, null, false); initiateOAuthRedirect(tool); }; diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index bb65768366..12f8a261f7 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -179,11 +179,11 @@ !($_user?.permissions?.chat?.temporary_enforced ?? false))); export let prompt = ''; - export let files = []; + export let files: any[] = []; - export let selectedToolIds = []; - export let selectedSkillIds = []; - export let selectedFilterIds = []; + export let selectedToolIds: string[] = []; + export let selectedSkillIds: string[] = []; + export let selectedFilterIds: string[] = []; export let imageGenerationEnabled = false; export let webSearchEnabled = false; @@ -191,7 +191,12 @@ export let toolApprovalMode = 'full'; export let onToolApprovalModeChange: Function = () => {}; - export let pendingOAuthTools = []; + export let pendingOAuthTools: { + id: string; + name?: string; + serverId: string; + authType?: string | null; + }[] = []; export let oauthRedirectHandler: Function = () => {}; let showTerminalMenu = false; @@ -221,7 +226,8 @@ integrationsMenuCloseOnOutsideClick = true; } - $: onChange({ + let chatInputDraft: any; + $: chatInputDraft = { prompt, files: files .filter((file) => file.type !== 'image') @@ -239,7 +245,9 @@ webSearchEnabled, codeInterpreterEnabled, toolApprovalMode - }); + }; + + $: onChange(chatInputDraft); const inputVariableHandler = async (text: string): Promise => { inputVariables = extractInputVariables(text); @@ -2259,7 +2267,11 @@ bind:webSearchEnabled bind:imageGenerationEnabled bind:codeInterpreterEnabled - {oauthRedirectHandler} + oauthRedirectHandler={(tool: { + id: string; + serverId: string; + authType?: string | null; + }) => oauthRedirectHandler(tool, chatInputDraft)} {onWebSearchToggle} closeOnOutsideClick={integrationsMenuCloseOnOutsideClick} onShowValves={(e) => { @@ -2479,7 +2491,7 @@